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, 49,
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 81|128,12, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
932 OPC_Scope, 8|128,12,
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 27, TARGET_VAL(ISD::SDIV),
1042 OPC_MoveChild0,
1043 OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
1044 OPC_RecordChild0,
1045 OPC_CheckPredicate, 37,
1046 OPC_MoveSibling1,
1047 OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
1048 OPC_RecordChild0,
1049 OPC_CheckPredicate, 37,
1050 OPC_MoveParent,
1051 OPC_MoveSibling1,
1052 OPC_CheckValueType, MVT::i32,
1053 OPC_MoveParent,
1054 OPC_CheckPatternPredicate6,
1055 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
1056 MVT::i64, 2, 0, 1,
1057 27, TARGET_VAL(ISD::SREM),
1058 OPC_MoveChild0,
1059 OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
1060 OPC_RecordChild0,
1061 OPC_CheckPredicate, 37,
1062 OPC_MoveSibling1,
1063 OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
1064 OPC_RecordChild0,
1065 OPC_CheckPredicate, 37,
1066 OPC_MoveParent,
1067 OPC_MoveSibling1,
1068 OPC_CheckValueType, MVT::i32,
1069 OPC_MoveParent,
1070 OPC_CheckPatternPredicate6,
1071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
1072 MVT::i64, 2, 0, 1,
1073 5|128,1, TARGET_VAL(ISD::ADD),
1074 OPC_Scope, 30,
1075 OPC_RecordChild0,
1076 OPC_MoveChild1,
1077 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1078 OPC_RecordChild0,
1079 OPC_RecordChild1,
1080 OPC_MoveChild1,
1081 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1082 OPC_CheckPredicate, 36,
1083 OPC_CheckTypeI64,
1084 OPC_MoveParent,
1085 OPC_MoveParent,
1086 OPC_MoveSibling1,
1087 OPC_CheckValueType, MVT::i32,
1088 OPC_MoveParent,
1089 OPC_CheckPatternPredicate6,
1090 OPC_EmitConvertToTarget2,
1091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1092 MVT::i64, 3, 1, 0, 3,
1093 30,
1094 OPC_MoveChild0,
1095 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1096 OPC_RecordChild0,
1097 OPC_RecordChild1,
1098 OPC_MoveChild1,
1099 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1100 OPC_CheckPredicate, 36,
1101 OPC_CheckTypeI64,
1102 OPC_MoveParent,
1103 OPC_MoveParent,
1104 OPC_RecordChild1,
1105 OPC_MoveSibling1,
1106 OPC_CheckValueType, MVT::i32,
1107 OPC_MoveParent,
1108 OPC_CheckPatternPredicate6,
1109 OPC_EmitConvertToTarget1,
1110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1111 MVT::i64, 3, 0, 2, 3,
1112 68,
1113 OPC_RecordChild0,
1114 OPC_RecordChild1,
1115 OPC_MoveChild1,
1116 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1117 OPC_Scope, 28,
1118 OPC_CheckPredicate, 50,
1119 OPC_MoveParent,
1120 OPC_MoveSibling1,
1121 OPC_CheckValueType, MVT::i32,
1122 OPC_MoveParent,
1123 OPC_CheckPatternPredicate6,
1124 OPC_EmitNodeXForm, 2, 1,
1125 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
1126 MVT::i64, 2, 0, 2,
1127 OPC_EmitNodeXForm, 3, 1,
1128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
1129 MVT::i64, 2, 3, 4,
1130 30,
1131 OPC_CheckPredicate, 51,
1132 OPC_MoveParent,
1133 OPC_MoveSibling1,
1134 OPC_CheckValueType, MVT::i32,
1135 OPC_MoveParent,
1136 OPC_CheckPatternPredicate6,
1137 OPC_EmitConvertToTarget1,
1138 OPC_EmitNodeXForm, 4, 2,
1139 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
1140 MVT::i64, 2, 0, 3,
1141 OPC_EmitConvertToTarget1,
1142 OPC_EmitNodeXForm, 5, 5,
1143 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
1144 MVT::i64, 2, 4, 6,
1145 0,
1146 0,
1147 97|128,8, TARGET_VAL(ISD::MUL),
1148 OPC_RecordChild0,
1149 OPC_Scope, 29,
1150 OPC_CheckChild1Integer, 14,
1151 OPC_CheckPredicate, 12,
1152 OPC_MoveSibling1,
1153 OPC_CheckValueType, MVT::i32,
1154 OPC_MoveParent,
1155 OPC_CheckPatternPredicate6,
1156 OPC_EmitInteger64, 2,
1157 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1158 MVT::i64, 3, 0, 0, 1,
1159 OPC_EmitInteger64, 2,
1160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1161 MVT::i64, 3, 2, 0, 3,
1162 29,
1163 OPC_CheckChild1Integer, 26,
1164 OPC_CheckPredicate, 12,
1165 OPC_MoveSibling1,
1166 OPC_CheckValueType, MVT::i32,
1167 OPC_MoveParent,
1168 OPC_CheckPatternPredicate6,
1169 OPC_EmitInteger64, 2,
1170 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1171 MVT::i64, 3, 0, 0, 1,
1172 OPC_EmitInteger64, 4,
1173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1174 MVT::i64, 3, 2, 0, 3,
1175 63,
1176 OPC_CheckChild1Integer, 50,
1177 OPC_CheckPredicate, 12,
1178 OPC_MoveSibling1,
1179 OPC_CheckValueType, MVT::i32,
1180 OPC_MoveParent,
1181 OPC_CheckPatternPredicate6,
1182 OPC_Scope, 20,
1183 OPC_EmitInteger64, 2,
1184 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1185 MVT::i64, 3, 0, 0, 1,
1186 OPC_EmitInteger64, 6,
1187 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1188 MVT::i64, 3, 2, 0, 3,
1189 30,
1190 OPC_EmitInteger64, 4,
1191 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1192 MVT::i64, 3, 0, 0, 1,
1193 OPC_EmitInteger64, 4,
1194 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1195 MVT::i64, 3, 0, 0, 3,
1196 OPC_EmitInteger64, 4,
1197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1198 MVT::i64, 3, 2, 4, 5,
1199 0,
1200 29,
1201 OPC_CheckChild1Integer, 98,
1202 OPC_CheckPredicate, 12,
1203 OPC_MoveSibling1,
1204 OPC_CheckValueType, MVT::i32,
1205 OPC_MoveParent,
1206 OPC_CheckPatternPredicate6,
1207 OPC_EmitInteger64, 2,
1208 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1209 MVT::i64, 3, 0, 0, 1,
1210 OPC_EmitInteger64, 8,
1211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1212 MVT::i64, 3, 2, 0, 3,
1213 29,
1214 OPC_CheckChild1Integer, 22,
1215 OPC_CheckPredicate, 12,
1216 OPC_MoveSibling1,
1217 OPC_CheckValueType, MVT::i32,
1218 OPC_MoveParent,
1219 OPC_CheckPatternPredicate6,
1220 OPC_EmitInteger64, 4,
1221 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1222 MVT::i64, 3, 0, 0, 1,
1223 OPC_EmitInteger64, 2,
1224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1225 MVT::i64, 3, 2, 0, 3,
1226 29,
1227 OPC_CheckChild1Integer, 42,
1228 OPC_CheckPredicate, 12,
1229 OPC_MoveSibling1,
1230 OPC_CheckValueType, MVT::i32,
1231 OPC_MoveParent,
1232 OPC_CheckPatternPredicate6,
1233 OPC_EmitInteger64, 4,
1234 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1235 MVT::i64, 3, 0, 0, 1,
1236 OPC_EmitInteger64, 4,
1237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1238 MVT::i64, 3, 2, 0, 3,
1239 29,
1240 OPC_CheckChild1Integer, 82,
1241 OPC_CheckPredicate, 12,
1242 OPC_MoveSibling1,
1243 OPC_CheckValueType, MVT::i32,
1244 OPC_MoveParent,
1245 OPC_CheckPatternPredicate6,
1246 OPC_EmitInteger64, 4,
1247 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1248 MVT::i64, 3, 0, 0, 1,
1249 OPC_EmitInteger64, 6,
1250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1251 MVT::i64, 3, 2, 0, 3,
1252 64,
1253 OPC_CheckChild1Integer, 34|128,1,
1254 OPC_CheckPredicate, 12,
1255 OPC_MoveSibling1,
1256 OPC_CheckValueType, MVT::i32,
1257 OPC_MoveParent,
1258 OPC_CheckPatternPredicate6,
1259 OPC_Scope, 20,
1260 OPC_EmitInteger64, 4,
1261 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1262 MVT::i64, 3, 0, 0, 1,
1263 OPC_EmitInteger64, 8,
1264 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1265 MVT::i64, 3, 2, 0, 3,
1266 30,
1267 OPC_EmitInteger64, 6,
1268 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1269 MVT::i64, 3, 0, 0, 1,
1270 OPC_EmitInteger64, 6,
1271 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1272 MVT::i64, 3, 0, 0, 3,
1273 OPC_EmitInteger64, 6,
1274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1275 MVT::i64, 3, 2, 4, 5,
1276 0,
1277 29,
1278 OPC_CheckChild1Integer, 38,
1279 OPC_CheckPredicate, 12,
1280 OPC_MoveSibling1,
1281 OPC_CheckValueType, MVT::i32,
1282 OPC_MoveParent,
1283 OPC_CheckPatternPredicate6,
1284 OPC_EmitInteger64, 6,
1285 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1286 MVT::i64, 3, 0, 0, 1,
1287 OPC_EmitInteger64, 2,
1288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1289 MVT::i64, 3, 2, 0, 3,
1290 29,
1291 OPC_CheckChild1Integer, 74,
1292 OPC_CheckPredicate, 12,
1293 OPC_MoveSibling1,
1294 OPC_CheckValueType, MVT::i32,
1295 OPC_MoveParent,
1296 OPC_CheckPatternPredicate6,
1297 OPC_EmitInteger64, 6,
1298 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1299 MVT::i64, 3, 0, 0, 1,
1300 OPC_EmitInteger64, 4,
1301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1302 MVT::i64, 3, 2, 0, 3,
1303 30,
1304 OPC_CheckChild1Integer, 18|128,1,
1305 OPC_CheckPredicate, 12,
1306 OPC_MoveSibling1,
1307 OPC_CheckValueType, MVT::i32,
1308 OPC_MoveParent,
1309 OPC_CheckPatternPredicate6,
1310 OPC_EmitInteger64, 6,
1311 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1312 MVT::i64, 3, 0, 0, 1,
1313 OPC_EmitInteger64, 6,
1314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1315 MVT::i64, 3, 2, 0, 3,
1316 30,
1317 OPC_CheckChild1Integer, 34|128,2,
1318 OPC_CheckPredicate, 12,
1319 OPC_MoveSibling1,
1320 OPC_CheckValueType, MVT::i32,
1321 OPC_MoveParent,
1322 OPC_CheckPatternPredicate6,
1323 OPC_EmitInteger64, 6,
1324 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1325 MVT::i64, 3, 0, 0, 1,
1326 OPC_EmitInteger64, 8,
1327 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1328 MVT::i64, 3, 2, 0, 3,
1329 29,
1330 OPC_CheckChild1Integer, 70,
1331 OPC_CheckPredicate, 12,
1332 OPC_MoveSibling1,
1333 OPC_CheckValueType, MVT::i32,
1334 OPC_MoveParent,
1335 OPC_CheckPatternPredicate6,
1336 OPC_EmitInteger64, 8,
1337 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1338 MVT::i64, 3, 0, 0, 1,
1339 OPC_EmitInteger64, 2,
1340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1341 MVT::i64, 3, 2, 0, 3,
1342 30,
1343 OPC_CheckChild1Integer, 10|128,1,
1344 OPC_CheckPredicate, 12,
1345 OPC_MoveSibling1,
1346 OPC_CheckValueType, MVT::i32,
1347 OPC_MoveParent,
1348 OPC_CheckPatternPredicate6,
1349 OPC_EmitInteger64, 8,
1350 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1351 MVT::i64, 3, 0, 0, 1,
1352 OPC_EmitInteger64, 4,
1353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1354 MVT::i64, 3, 2, 0, 3,
1355 30,
1356 OPC_CheckChild1Integer, 18|128,2,
1357 OPC_CheckPredicate, 12,
1358 OPC_MoveSibling1,
1359 OPC_CheckValueType, MVT::i32,
1360 OPC_MoveParent,
1361 OPC_CheckPatternPredicate6,
1362 OPC_EmitInteger64, 8,
1363 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1364 MVT::i64, 3, 0, 0, 1,
1365 OPC_EmitInteger64, 6,
1366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1367 MVT::i64, 3, 2, 0, 3,
1368 30,
1369 OPC_CheckChild1Integer, 34|128,4,
1370 OPC_CheckPredicate, 12,
1371 OPC_MoveSibling1,
1372 OPC_CheckValueType, MVT::i32,
1373 OPC_MoveParent,
1374 OPC_CheckPatternPredicate6,
1375 OPC_EmitInteger64, 8,
1376 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1377 MVT::i64, 3, 0, 0, 1,
1378 OPC_EmitInteger64, 8,
1379 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1380 MVT::i64, 3, 2, 0, 3,
1381 39,
1382 OPC_CheckChild1Integer, 18,
1383 OPC_CheckPredicate, 12,
1384 OPC_MoveSibling1,
1385 OPC_CheckValueType, MVT::i32,
1386 OPC_MoveParent,
1387 OPC_CheckPatternPredicate6,
1388 OPC_EmitInteger64, 2,
1389 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1390 MVT::i64, 3, 0, 0, 1,
1391 OPC_EmitInteger64, 2,
1392 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1393 MVT::i64, 3, 0, 0, 3,
1394 OPC_EmitInteger64, 2,
1395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1396 MVT::i64, 3, 2, 4, 5,
1397 73,
1398 OPC_CheckChild1Integer, 30,
1399 OPC_CheckPredicate, 12,
1400 OPC_MoveSibling1,
1401 OPC_CheckValueType, MVT::i32,
1402 OPC_MoveParent,
1403 OPC_CheckPatternPredicate6,
1404 OPC_Scope, 30,
1405 OPC_EmitInteger64, 2,
1406 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1407 MVT::i64, 3, 0, 0, 1,
1408 OPC_EmitInteger64, 2,
1409 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1410 MVT::i64, 3, 0, 0, 3,
1411 OPC_EmitInteger64, 4,
1412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1413 MVT::i64, 3, 2, 4, 5,
1414 30,
1415 OPC_EmitInteger64, 4,
1416 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1417 MVT::i64, 3, 0, 0, 1,
1418 OPC_EmitInteger64, 4,
1419 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1420 MVT::i64, 3, 0, 0, 3,
1421 OPC_EmitInteger64, 2,
1422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1423 MVT::i64, 3, 2, 4, 5,
1424 0,
1425 73,
1426 OPC_CheckChild1Integer, 54,
1427 OPC_CheckPredicate, 12,
1428 OPC_MoveSibling1,
1429 OPC_CheckValueType, MVT::i32,
1430 OPC_MoveParent,
1431 OPC_CheckPatternPredicate6,
1432 OPC_Scope, 30,
1433 OPC_EmitInteger64, 2,
1434 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1435 MVT::i64, 3, 0, 0, 1,
1436 OPC_EmitInteger64, 2,
1437 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1438 MVT::i64, 3, 0, 0, 3,
1439 OPC_EmitInteger64, 6,
1440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1441 MVT::i64, 3, 2, 4, 5,
1442 30,
1443 OPC_EmitInteger64, 6,
1444 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1445 MVT::i64, 3, 0, 0, 1,
1446 OPC_EmitInteger64, 6,
1447 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1448 MVT::i64, 3, 0, 0, 3,
1449 OPC_EmitInteger64, 2,
1450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1451 MVT::i64, 3, 2, 4, 5,
1452 0,
1453 73,
1454 OPC_CheckChild1Integer, 102,
1455 OPC_CheckPredicate, 12,
1456 OPC_MoveSibling1,
1457 OPC_CheckValueType, MVT::i32,
1458 OPC_MoveParent,
1459 OPC_CheckPatternPredicate6,
1460 OPC_Scope, 30,
1461 OPC_EmitInteger64, 2,
1462 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1463 MVT::i64, 3, 0, 0, 1,
1464 OPC_EmitInteger64, 2,
1465 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1466 MVT::i64, 3, 0, 0, 3,
1467 OPC_EmitInteger64, 8,
1468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1469 MVT::i64, 3, 2, 4, 5,
1470 30,
1471 OPC_EmitInteger64, 8,
1472 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1473 MVT::i64, 3, 0, 0, 1,
1474 OPC_EmitInteger64, 8,
1475 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1476 MVT::i64, 3, 0, 0, 3,
1477 OPC_EmitInteger64, 2,
1478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1479 MVT::i64, 3, 2, 4, 5,
1480 0,
1481 73,
1482 OPC_CheckChild1Integer, 90,
1483 OPC_CheckPredicate, 12,
1484 OPC_MoveSibling1,
1485 OPC_CheckValueType, MVT::i32,
1486 OPC_MoveParent,
1487 OPC_CheckPatternPredicate6,
1488 OPC_Scope, 30,
1489 OPC_EmitInteger64, 4,
1490 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1491 MVT::i64, 3, 0, 0, 1,
1492 OPC_EmitInteger64, 4,
1493 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1494 MVT::i64, 3, 0, 0, 3,
1495 OPC_EmitInteger64, 6,
1496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1497 MVT::i64, 3, 2, 4, 5,
1498 30,
1499 OPC_EmitInteger64, 6,
1500 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1501 MVT::i64, 3, 0, 0, 1,
1502 OPC_EmitInteger64, 6,
1503 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1504 MVT::i64, 3, 0, 0, 3,
1505 OPC_EmitInteger64, 4,
1506 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1507 MVT::i64, 3, 2, 4, 5,
1508 0,
1509 74,
1510 OPC_CheckChild1Integer, 42|128,1,
1511 OPC_CheckPredicate, 12,
1512 OPC_MoveSibling1,
1513 OPC_CheckValueType, MVT::i32,
1514 OPC_MoveParent,
1515 OPC_CheckPatternPredicate6,
1516 OPC_Scope, 30,
1517 OPC_EmitInteger64, 4,
1518 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1519 MVT::i64, 3, 0, 0, 1,
1520 OPC_EmitInteger64, 4,
1521 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1522 MVT::i64, 3, 0, 0, 3,
1523 OPC_EmitInteger64, 8,
1524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1525 MVT::i64, 3, 2, 4, 5,
1526 30,
1527 OPC_EmitInteger64, 8,
1528 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1529 MVT::i64, 3, 0, 0, 1,
1530 OPC_EmitInteger64, 8,
1531 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1532 MVT::i64, 3, 0, 0, 3,
1533 OPC_EmitInteger64, 4,
1534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1535 MVT::i64, 3, 2, 4, 5,
1536 0,
1537 74,
1538 OPC_CheckChild1Integer, 50|128,2,
1539 OPC_CheckPredicate, 12,
1540 OPC_MoveSibling1,
1541 OPC_CheckValueType, MVT::i32,
1542 OPC_MoveParent,
1543 OPC_CheckPatternPredicate6,
1544 OPC_Scope, 30,
1545 OPC_EmitInteger64, 6,
1546 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1547 MVT::i64, 3, 0, 0, 1,
1548 OPC_EmitInteger64, 6,
1549 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1550 MVT::i64, 3, 0, 0, 3,
1551 OPC_EmitInteger64, 8,
1552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1553 MVT::i64, 3, 2, 4, 5,
1554 30,
1555 OPC_EmitInteger64, 8,
1556 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1557 MVT::i64, 3, 0, 0, 1,
1558 OPC_EmitInteger64, 8,
1559 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1560 MVT::i64, 3, 0, 0, 3,
1561 OPC_EmitInteger64, 6,
1562 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1563 MVT::i64, 3, 2, 4, 5,
1564 0,
1565 40,
1566 OPC_CheckChild1Integer, 66|128,4,
1567 OPC_CheckPredicate, 12,
1568 OPC_MoveSibling1,
1569 OPC_CheckValueType, MVT::i32,
1570 OPC_MoveParent,
1571 OPC_CheckPatternPredicate6,
1572 OPC_EmitInteger64, 8,
1573 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1574 MVT::i64, 3, 0, 0, 1,
1575 OPC_EmitInteger64, 8,
1576 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1577 MVT::i64, 3, 0, 0, 3,
1578 OPC_EmitInteger64, 8,
1579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
1580 MVT::i64, 3, 2, 4, 5,
1581 36,
1582 OPC_RecordChild1,
1583 OPC_MoveChild1,
1584 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1585 OPC_CheckPredicate, 49,
1586 OPC_MoveParent,
1587 OPC_MoveSibling1,
1588 OPC_CheckValueType, MVT::i32,
1589 OPC_MoveParent,
1590 OPC_CheckPatternPredicate6,
1591 OPC_EmitConvertToTarget1,
1592 OPC_EmitNodeXForm, 0, 2,
1593 OPC_EmitNode1None, TARGET_VAL(LoongArch::ALSL_W),
1594 MVT::i64, 3, 0, 0, 3,
1595 OPC_EmitConvertToTarget1,
1596 OPC_EmitNodeXForm, 1, 5,
1597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
1598 MVT::i64, 2, 4, 6,
1599 0,
1600 23, TARGET_VAL(ISD::ROTR),
1601 OPC_RecordChild0,
1602 OPC_RecordChild1,
1603 OPC_MoveChild1,
1604 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1605 OPC_CheckPredicate, 26,
1606 OPC_CheckTypeI64,
1607 OPC_MoveParent,
1608 OPC_MoveSibling1,
1609 OPC_CheckValueType, MVT::i32,
1610 OPC_MoveParent,
1611 OPC_CheckPatternPredicate6,
1612 OPC_EmitConvertToTarget1,
1613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
1614 MVT::i64, 2, 0, 2,
1615 0,
1616 68,
1617 OPC_RecordChild0,
1618 OPC_MoveChild1,
1619 OPC_Scope, 24,
1620 OPC_CheckValueType, MVT::i8,
1621 OPC_MoveParent,
1622 OPC_SwitchType , 7, MVT::i64,
1623 OPC_CheckPatternPredicate7,
1624 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_B),
1625 MVT::i64, 1, 0,
1626 8, MVT::i32,
1627 OPC_CheckPatternPredicate, 8,
1628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_B),
1629 MVT::i32, 1, 0,
1630 0,
1631 24,
1632 OPC_CheckValueType, MVT::i16,
1633 OPC_MoveParent,
1634 OPC_SwitchType , 7, MVT::i64,
1635 OPC_CheckPatternPredicate7,
1636 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_H),
1637 MVT::i64, 1, 0,
1638 8, MVT::i32,
1639 OPC_CheckPatternPredicate, 8,
1640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::EXT_W_H),
1641 MVT::i32, 1, 0,
1642 0,
1643 13,
1644 OPC_CheckValueType, MVT::i32,
1645 OPC_MoveParent,
1646 OPC_CheckPatternPredicate6,
1647 OPC_EmitInteger64, 0,
1648 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
1649 MVT::i64, 2, 0, 1,
1650 0,
1651 0,
1652 110|128,1, TARGET_VAL(LoongArchISD::BSTRPICK),
1653 OPC_Scope, 125,
1654 OPC_MoveChild0,
1655 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
1656 OPC_Scope, 58,
1657 OPC_RecordChild0,
1658 OPC_MoveChild1,
1659 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1660 OPC_RecordChild0,
1661 OPC_RecordChild1,
1662 OPC_MoveChild1,
1663 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1664 OPC_CheckPredicate, 36,
1665 OPC_SwitchType , 19, MVT::i64,
1666 OPC_MoveParent,
1667 OPC_MoveParent,
1668 OPC_MoveParent,
1669 OPC_CheckChild1Integer, 62,
1670 OPC_CheckChild1TypeI64,
1671 OPC_CheckChild2Integer, 0,
1672 OPC_CheckTypeI64,
1673 OPC_CheckPatternPredicate6,
1674 OPC_EmitConvertToTarget2,
1675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1676 MVT::i64, 3, 1, 0, 3,
1677 20, MVT::i32,
1678 OPC_MoveParent,
1679 OPC_MoveParent,
1680 OPC_MoveParent,
1681 OPC_CheckChild1Integer, 62,
1682 OPC_CheckChild1TypeI64,
1683 OPC_CheckChild2Integer, 0,
1684 OPC_CheckTypeI32,
1685 OPC_CheckPatternPredicate, 10,
1686 OPC_EmitConvertToTarget2,
1687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1688 MVT::i32, 3, 1, 0, 3,
1689 0,
1690 59,
1691 OPC_MoveChild0,
1692 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1693 OPC_RecordChild0,
1694 OPC_RecordChild1,
1695 OPC_MoveChild1,
1696 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1697 OPC_CheckPredicate, 36,
1698 OPC_SwitchType , 20, MVT::i64,
1699 OPC_MoveParent,
1700 OPC_MoveParent,
1701 OPC_RecordChild1,
1702 OPC_MoveParent,
1703 OPC_CheckChild1Integer, 62,
1704 OPC_CheckChild1TypeI64,
1705 OPC_CheckChild2Integer, 0,
1706 OPC_CheckTypeI64,
1707 OPC_CheckPatternPredicate6,
1708 OPC_EmitConvertToTarget1,
1709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1710 MVT::i64, 3, 0, 2, 3,
1711 21, MVT::i32,
1712 OPC_MoveParent,
1713 OPC_MoveParent,
1714 OPC_RecordChild1,
1715 OPC_MoveParent,
1716 OPC_CheckChild1Integer, 62,
1717 OPC_CheckChild1TypeI64,
1718 OPC_CheckChild2Integer, 0,
1719 OPC_CheckTypeI32,
1720 OPC_CheckPatternPredicate, 10,
1721 OPC_EmitConvertToTarget1,
1722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_WU),
1723 MVT::i32, 3, 0, 2, 3,
1724 0,
1725 0,
1726 109,
1727 OPC_RecordChild0,
1728 OPC_RecordChild1,
1729 OPC_MoveChild1,
1730 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1731 OPC_Scope, 50,
1732 OPC_CheckPredicate, 26,
1733 OPC_SwitchType , 21, MVT::i64,
1734 OPC_MoveSibling2,
1735 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1736 OPC_RecordNode,
1737 OPC_CheckPredicate, 26,
1738 OPC_MoveParent,
1739 OPC_CheckTypeI64,
1740 OPC_CheckPatternPredicate, 15,
1741 OPC_EmitConvertToTarget1,
1742 OPC_EmitConvertToTarget2,
1743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_W),
1744 MVT::i64, 3, 0, 3, 4,
1745 21, MVT::i32,
1746 OPC_MoveSibling2,
1747 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1748 OPC_RecordNode,
1749 OPC_CheckPredicate, 26,
1750 OPC_MoveParent,
1751 OPC_CheckTypeI32,
1752 OPC_CheckPatternPredicate, 9,
1753 OPC_EmitConvertToTarget1,
1754 OPC_EmitConvertToTarget2,
1755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_W),
1756 MVT::i32, 3, 0, 3, 4,
1757 0,
1758 49,
1759 OPC_CheckPredicate, 29,
1760 OPC_SwitchType , 20, MVT::i64,
1761 OPC_MoveSibling2,
1762 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1763 OPC_RecordNode,
1764 OPC_CheckPredicate, 29,
1765 OPC_MoveParent,
1766 OPC_CheckTypeI64,
1767 OPC_CheckPatternPredicate6,
1768 OPC_EmitConvertToTarget1,
1769 OPC_EmitConvertToTarget2,
1770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_D),
1771 MVT::i64, 3, 0, 3, 4,
1772 21, MVT::i32,
1773 OPC_MoveSibling2,
1774 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1775 OPC_RecordNode,
1776 OPC_CheckPredicate, 29,
1777 OPC_MoveParent,
1778 OPC_CheckTypeI32,
1779 OPC_CheckPatternPredicate, 10,
1780 OPC_EmitConvertToTarget1,
1781 OPC_EmitConvertToTarget2,
1782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRPICK_D),
1783 MVT::i32, 3, 0, 3, 4,
1784 0,
1785 0,
1786 0,
1787 25|128,37, TARGET_VAL(ISD::OR),
1788 OPC_Scope, 101|128,6,
1789 OPC_MoveChild0,
1790 OPC_SwitchOpcode , 45|128,3, TARGET_VAL(ISD::SHL),
1791 OPC_RecordChild0,
1792 OPC_Scope, 85,
1793 OPC_CheckChild1Integer, 16,
1794 OPC_Scope, 40,
1795 OPC_CheckChild1TypeI32,
1796 OPC_MoveSibling1,
1797 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1798 OPC_RecordChild0,
1799 OPC_CheckChild1Integer, 48,
1800 OPC_CheckChild1TypeI32,
1801 OPC_MoveParent,
1802 OPC_SwitchType , 12, MVT::i64,
1803 OPC_CheckPatternPredicate, 15,
1804 OPC_EmitInteger64, 2,
1805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1806 MVT::i64, 3, 1, 0, 2,
1807 12, MVT::i32,
1808 OPC_CheckPatternPredicate, 9,
1809 OPC_EmitInteger32, 2,
1810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1811 MVT::i32, 3, 1, 0, 2,
1812 0,
1813 39,
1814 OPC_CheckChild1TypeI64,
1815 OPC_MoveSibling1,
1816 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1817 OPC_RecordChild0,
1818 OPC_CheckChild1Integer, 112,
1819 OPC_CheckChild1TypeI64,
1820 OPC_MoveParent,
1821 OPC_SwitchType , 11, MVT::i64,
1822 OPC_CheckPatternPredicate6,
1823 OPC_EmitInteger64, 2,
1824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1825 MVT::i64, 3, 1, 0, 2,
1826 12, MVT::i32,
1827 OPC_CheckPatternPredicate, 10,
1828 OPC_EmitInteger32, 2,
1829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1830 MVT::i32, 3, 1, 0, 2,
1831 0,
1832 0,
1833 85,
1834 OPC_CheckChild1Integer, 32,
1835 OPC_Scope, 40,
1836 OPC_CheckChild1TypeI32,
1837 OPC_MoveSibling1,
1838 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1839 OPC_RecordChild0,
1840 OPC_CheckChild1Integer, 32,
1841 OPC_CheckChild1TypeI32,
1842 OPC_MoveParent,
1843 OPC_SwitchType , 12, MVT::i64,
1844 OPC_CheckPatternPredicate, 15,
1845 OPC_EmitInteger64, 4,
1846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1847 MVT::i64, 3, 1, 0, 2,
1848 12, MVT::i32,
1849 OPC_CheckPatternPredicate, 9,
1850 OPC_EmitInteger32, 4,
1851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1852 MVT::i32, 3, 1, 0, 2,
1853 0,
1854 39,
1855 OPC_CheckChild1TypeI64,
1856 OPC_MoveSibling1,
1857 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1858 OPC_RecordChild0,
1859 OPC_CheckChild1Integer, 96,
1860 OPC_CheckChild1TypeI64,
1861 OPC_MoveParent,
1862 OPC_SwitchType , 11, MVT::i64,
1863 OPC_CheckPatternPredicate6,
1864 OPC_EmitInteger64, 4,
1865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1866 MVT::i64, 3, 1, 0, 2,
1867 12, MVT::i32,
1868 OPC_CheckPatternPredicate, 10,
1869 OPC_EmitInteger32, 4,
1870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1871 MVT::i32, 3, 1, 0, 2,
1872 0,
1873 0,
1874 85,
1875 OPC_CheckChild1Integer, 48,
1876 OPC_Scope, 40,
1877 OPC_CheckChild1TypeI32,
1878 OPC_MoveSibling1,
1879 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1880 OPC_RecordChild0,
1881 OPC_CheckChild1Integer, 16,
1882 OPC_CheckChild1TypeI32,
1883 OPC_MoveParent,
1884 OPC_SwitchType , 12, MVT::i64,
1885 OPC_CheckPatternPredicate, 15,
1886 OPC_EmitInteger64, 6,
1887 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1888 MVT::i64, 3, 1, 0, 2,
1889 12, MVT::i32,
1890 OPC_CheckPatternPredicate, 9,
1891 OPC_EmitInteger32, 6,
1892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
1893 MVT::i32, 3, 1, 0, 2,
1894 0,
1895 39,
1896 OPC_CheckChild1TypeI64,
1897 OPC_MoveSibling1,
1898 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1899 OPC_RecordChild0,
1900 OPC_CheckChild1Integer, 80,
1901 OPC_CheckChild1TypeI64,
1902 OPC_MoveParent,
1903 OPC_SwitchType , 11, MVT::i64,
1904 OPC_CheckPatternPredicate6,
1905 OPC_EmitInteger64, 6,
1906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1907 MVT::i64, 3, 1, 0, 2,
1908 12, MVT::i32,
1909 OPC_CheckPatternPredicate, 10,
1910 OPC_EmitInteger32, 6,
1911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1912 MVT::i32, 3, 1, 0, 2,
1913 0,
1914 0,
1915 41,
1916 OPC_CheckChild1Integer, 64,
1917 OPC_CheckChild1TypeI64,
1918 OPC_MoveSibling1,
1919 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1920 OPC_RecordChild0,
1921 OPC_CheckChild1Integer, 64,
1922 OPC_CheckChild1TypeI64,
1923 OPC_MoveParent,
1924 OPC_SwitchType , 11, MVT::i64,
1925 OPC_CheckPatternPredicate6,
1926 OPC_EmitInteger64, 8,
1927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1928 MVT::i64, 3, 1, 0, 2,
1929 12, MVT::i32,
1930 OPC_CheckPatternPredicate, 10,
1931 OPC_EmitInteger32, 8,
1932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1933 MVT::i32, 3, 1, 0, 2,
1934 0,
1935 41,
1936 OPC_CheckChild1Integer, 80,
1937 OPC_CheckChild1TypeI64,
1938 OPC_MoveSibling1,
1939 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1940 OPC_RecordChild0,
1941 OPC_CheckChild1Integer, 48,
1942 OPC_CheckChild1TypeI64,
1943 OPC_MoveParent,
1944 OPC_SwitchType , 11, MVT::i64,
1945 OPC_CheckPatternPredicate6,
1946 OPC_EmitInteger64, 10,
1947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1948 MVT::i64, 3, 1, 0, 2,
1949 12, MVT::i32,
1950 OPC_CheckPatternPredicate, 10,
1951 OPC_EmitInteger32, 10,
1952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1953 MVT::i32, 3, 1, 0, 2,
1954 0,
1955 41,
1956 OPC_CheckChild1Integer, 96,
1957 OPC_CheckChild1TypeI64,
1958 OPC_MoveSibling1,
1959 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1960 OPC_RecordChild0,
1961 OPC_CheckChild1Integer, 32,
1962 OPC_CheckChild1TypeI64,
1963 OPC_MoveParent,
1964 OPC_SwitchType , 11, MVT::i64,
1965 OPC_CheckPatternPredicate6,
1966 OPC_EmitInteger64, 12,
1967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1968 MVT::i64, 3, 1, 0, 2,
1969 12, MVT::i32,
1970 OPC_CheckPatternPredicate, 10,
1971 OPC_EmitInteger32, 12,
1972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1973 MVT::i32, 3, 1, 0, 2,
1974 0,
1975 41,
1976 OPC_CheckChild1Integer, 112,
1977 OPC_CheckChild1TypeI64,
1978 OPC_MoveSibling1,
1979 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
1980 OPC_RecordChild0,
1981 OPC_CheckChild1Integer, 16,
1982 OPC_CheckChild1TypeI64,
1983 OPC_MoveParent,
1984 OPC_SwitchType , 11, MVT::i64,
1985 OPC_CheckPatternPredicate6,
1986 OPC_EmitInteger64, 14,
1987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1988 MVT::i64, 3, 1, 0, 2,
1989 12, MVT::i32,
1990 OPC_CheckPatternPredicate, 10,
1991 OPC_EmitInteger32, 14,
1992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
1993 MVT::i32, 3, 1, 0, 2,
1994 0,
1995 0,
1996 45|128,3, TARGET_VAL(ISD::SRL),
1997 OPC_RecordChild0,
1998 OPC_Scope, 85,
1999 OPC_CheckChild1Integer, 48,
2000 OPC_Scope, 40,
2001 OPC_CheckChild1TypeI32,
2002 OPC_MoveSibling1,
2003 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2004 OPC_RecordChild0,
2005 OPC_CheckChild1Integer, 16,
2006 OPC_CheckChild1TypeI32,
2007 OPC_MoveParent,
2008 OPC_SwitchType , 12, MVT::i64,
2009 OPC_CheckPatternPredicate, 15,
2010 OPC_EmitInteger64, 2,
2011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2012 MVT::i64, 3, 0, 1, 2,
2013 12, MVT::i32,
2014 OPC_CheckPatternPredicate, 9,
2015 OPC_EmitInteger32, 2,
2016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2017 MVT::i32, 3, 0, 1, 2,
2018 0,
2019 39,
2020 OPC_CheckChild1TypeI64,
2021 OPC_MoveSibling1,
2022 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2023 OPC_RecordChild0,
2024 OPC_CheckChild1Integer, 80,
2025 OPC_CheckChild1TypeI64,
2026 OPC_MoveParent,
2027 OPC_SwitchType , 11, MVT::i64,
2028 OPC_CheckPatternPredicate6,
2029 OPC_EmitInteger64, 10,
2030 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2031 MVT::i64, 3, 0, 1, 2,
2032 12, MVT::i32,
2033 OPC_CheckPatternPredicate, 10,
2034 OPC_EmitInteger32, 10,
2035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2036 MVT::i32, 3, 0, 1, 2,
2037 0,
2038 0,
2039 85,
2040 OPC_CheckChild1Integer, 32,
2041 OPC_Scope, 40,
2042 OPC_CheckChild1TypeI32,
2043 OPC_MoveSibling1,
2044 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2045 OPC_RecordChild0,
2046 OPC_CheckChild1Integer, 32,
2047 OPC_CheckChild1TypeI32,
2048 OPC_MoveParent,
2049 OPC_SwitchType , 12, MVT::i64,
2050 OPC_CheckPatternPredicate, 15,
2051 OPC_EmitInteger64, 4,
2052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2053 MVT::i64, 3, 0, 1, 2,
2054 12, MVT::i32,
2055 OPC_CheckPatternPredicate, 9,
2056 OPC_EmitInteger32, 4,
2057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2058 MVT::i32, 3, 0, 1, 2,
2059 0,
2060 39,
2061 OPC_CheckChild1TypeI64,
2062 OPC_MoveSibling1,
2063 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2064 OPC_RecordChild0,
2065 OPC_CheckChild1Integer, 96,
2066 OPC_CheckChild1TypeI64,
2067 OPC_MoveParent,
2068 OPC_SwitchType , 11, MVT::i64,
2069 OPC_CheckPatternPredicate6,
2070 OPC_EmitInteger64, 12,
2071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2072 MVT::i64, 3, 0, 1, 2,
2073 12, MVT::i32,
2074 OPC_CheckPatternPredicate, 10,
2075 OPC_EmitInteger32, 12,
2076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2077 MVT::i32, 3, 0, 1, 2,
2078 0,
2079 0,
2080 85,
2081 OPC_CheckChild1Integer, 16,
2082 OPC_Scope, 40,
2083 OPC_CheckChild1TypeI32,
2084 OPC_MoveSibling1,
2085 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2086 OPC_RecordChild0,
2087 OPC_CheckChild1Integer, 48,
2088 OPC_CheckChild1TypeI32,
2089 OPC_MoveParent,
2090 OPC_SwitchType , 12, MVT::i64,
2091 OPC_CheckPatternPredicate, 15,
2092 OPC_EmitInteger64, 6,
2093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2094 MVT::i64, 3, 0, 1, 2,
2095 12, MVT::i32,
2096 OPC_CheckPatternPredicate, 9,
2097 OPC_EmitInteger32, 6,
2098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_W),
2099 MVT::i32, 3, 0, 1, 2,
2100 0,
2101 39,
2102 OPC_CheckChild1TypeI64,
2103 OPC_MoveSibling1,
2104 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2105 OPC_RecordChild0,
2106 OPC_CheckChild1Integer, 112,
2107 OPC_CheckChild1TypeI64,
2108 OPC_MoveParent,
2109 OPC_SwitchType , 11, MVT::i64,
2110 OPC_CheckPatternPredicate6,
2111 OPC_EmitInteger64, 14,
2112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2113 MVT::i64, 3, 0, 1, 2,
2114 12, MVT::i32,
2115 OPC_CheckPatternPredicate, 10,
2116 OPC_EmitInteger32, 14,
2117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2118 MVT::i32, 3, 0, 1, 2,
2119 0,
2120 0,
2121 41,
2122 OPC_CheckChild1Integer, 112,
2123 OPC_CheckChild1TypeI64,
2124 OPC_MoveSibling1,
2125 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2126 OPC_RecordChild0,
2127 OPC_CheckChild1Integer, 16,
2128 OPC_CheckChild1TypeI64,
2129 OPC_MoveParent,
2130 OPC_SwitchType , 11, MVT::i64,
2131 OPC_CheckPatternPredicate6,
2132 OPC_EmitInteger64, 2,
2133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2134 MVT::i64, 3, 0, 1, 2,
2135 12, MVT::i32,
2136 OPC_CheckPatternPredicate, 10,
2137 OPC_EmitInteger32, 2,
2138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2139 MVT::i32, 3, 0, 1, 2,
2140 0,
2141 41,
2142 OPC_CheckChild1Integer, 96,
2143 OPC_CheckChild1TypeI64,
2144 OPC_MoveSibling1,
2145 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2146 OPC_RecordChild0,
2147 OPC_CheckChild1Integer, 32,
2148 OPC_CheckChild1TypeI64,
2149 OPC_MoveParent,
2150 OPC_SwitchType , 11, MVT::i64,
2151 OPC_CheckPatternPredicate6,
2152 OPC_EmitInteger64, 4,
2153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2154 MVT::i64, 3, 0, 1, 2,
2155 12, MVT::i32,
2156 OPC_CheckPatternPredicate, 10,
2157 OPC_EmitInteger32, 4,
2158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2159 MVT::i32, 3, 0, 1, 2,
2160 0,
2161 41,
2162 OPC_CheckChild1Integer, 80,
2163 OPC_CheckChild1TypeI64,
2164 OPC_MoveSibling1,
2165 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2166 OPC_RecordChild0,
2167 OPC_CheckChild1Integer, 48,
2168 OPC_CheckChild1TypeI64,
2169 OPC_MoveParent,
2170 OPC_SwitchType , 11, MVT::i64,
2171 OPC_CheckPatternPredicate6,
2172 OPC_EmitInteger64, 6,
2173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2174 MVT::i64, 3, 0, 1, 2,
2175 12, MVT::i32,
2176 OPC_CheckPatternPredicate, 10,
2177 OPC_EmitInteger32, 6,
2178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2179 MVT::i32, 3, 0, 1, 2,
2180 0,
2181 41,
2182 OPC_CheckChild1Integer, 64,
2183 OPC_CheckChild1TypeI64,
2184 OPC_MoveSibling1,
2185 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2186 OPC_RecordChild0,
2187 OPC_CheckChild1Integer, 64,
2188 OPC_CheckChild1TypeI64,
2189 OPC_MoveParent,
2190 OPC_SwitchType , 11, MVT::i64,
2191 OPC_CheckPatternPredicate6,
2192 OPC_EmitInteger64, 8,
2193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2194 MVT::i64, 3, 0, 1, 2,
2195 12, MVT::i32,
2196 OPC_CheckPatternPredicate, 10,
2197 OPC_EmitInteger32, 8,
2198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BYTEPICK_D),
2199 MVT::i32, 3, 0, 1, 2,
2200 0,
2201 0,
2202 0,
2203 75,
2204 OPC_RecordChild0,
2205 OPC_Scope, 39,
2206 OPC_RecordChild1,
2207 OPC_MoveChild1,
2208 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2209 OPC_CheckPredicate, 11,
2210 OPC_MoveParent,
2211 OPC_CheckPredicate, 10,
2212 OPC_SwitchType , 12, MVT::i32,
2213 OPC_CheckPatternPredicate, 9,
2214 OPC_CheckComplexPat0, /*#*/0,
2215 OPC_EmitConvertToTarget1,
2216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
2217 MVT::i32, 2, 2, 3,
2218 11, MVT::i64,
2219 OPC_CheckPatternPredicate6,
2220 OPC_CheckComplexPat0, /*#*/0,
2221 OPC_EmitConvertToTarget1,
2222 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
2223 MVT::i64, 2, 2, 3,
2224 0,
2225 31,
2226 OPC_MoveChild1,
2227 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2228 OPC_RecordChild0,
2229 OPC_CheckChild1Integer, 3,
2230 OPC_MoveParent,
2231 OPC_SwitchType , 8, MVT::i64,
2232 OPC_CheckPatternPredicate7,
2233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2234 MVT::i64, 2, 0, 1,
2235 9, MVT::i32,
2236 OPC_CheckPatternPredicate, 8,
2237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2238 MVT::i32, 2, 0, 1,
2239 0,
2240 0,
2241 32,
2242 OPC_MoveChild0,
2243 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2244 OPC_RecordChild0,
2245 OPC_CheckChild1Integer, 3,
2246 OPC_MoveParent,
2247 OPC_RecordChild1,
2248 OPC_SwitchType , 8, MVT::i64,
2249 OPC_CheckPatternPredicate7,
2250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2251 MVT::i64, 2, 1, 0,
2252 9, MVT::i32,
2253 OPC_CheckPatternPredicate, 8,
2254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORN),
2255 MVT::i32, 2, 1, 0,
2256 0,
2257 30|128,1,
2258 OPC_RecordChild0,
2259 OPC_Scope, 57,
2260 OPC_RecordChild1,
2261 OPC_Scope, 32,
2262 OPC_MoveChild1,
2263 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2264 OPC_CheckPredicate, 41,
2265 OPC_MoveParent,
2266 OPC_SwitchType , 9, MVT::i64,
2267 OPC_CheckPatternPredicate7,
2268 OPC_EmitConvertToTarget1,
2269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORI),
2270 MVT::i64, 2, 0, 2,
2271 10, MVT::i32,
2272 OPC_CheckPatternPredicate, 8,
2273 OPC_EmitConvertToTarget1,
2274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ORI),
2275 MVT::i32, 2, 0, 2,
2276 0,
2277 9,
2278 OPC_CheckTypeI64,
2279 OPC_CheckPatternPredicate7,
2280 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
2281 MVT::i64, 2, 0, 1,
2282 10,
2283 OPC_CheckTypeI32,
2284 OPC_CheckPatternPredicate, 8,
2285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
2286 MVT::i32, 2, 0, 1,
2287 0,
2288 96,
2289 OPC_MoveChild1,
2290 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2291 OPC_MoveChild0,
2292 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2293 OPC_MoveChild0,
2294 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2295 OPC_CheckType, MVT::v4i32,
2296 OPC_MoveParent,
2297 OPC_CheckPredicate0,
2298 OPC_MoveSibling1,
2299 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2300 OPC_Scope, 44,
2301 OPC_RecordChild0,
2302 OPC_MoveChild1,
2303 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2304 OPC_MoveChild0,
2305 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2306 OPC_CheckType, MVT::v4i32,
2307 OPC_MoveParent,
2308 OPC_CheckPredicate3,
2309 OPC_MoveParent,
2310 OPC_SwitchType , 12, MVT::v2i64,
2311 OPC_MoveParent,
2312 OPC_MoveParent,
2313 OPC_CheckType, MVT::v2i64,
2314 OPC_CheckPatternPredicate1,
2315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2316 MVT::v2i64, 2, 0, 1,
2317 12, MVT::v4i64,
2318 OPC_MoveParent,
2319 OPC_MoveParent,
2320 OPC_CheckType, MVT::v4i64,
2321 OPC_CheckPatternPredicate0,
2322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2323 MVT::v4i64, 2, 0, 1,
2324 0,
2325 28,
2326 OPC_MoveChild0,
2327 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2328 OPC_MoveChild0,
2329 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2330 OPC_CheckType, MVT::v4i32,
2331 OPC_MoveParent,
2332 OPC_CheckPredicate3,
2333 OPC_MoveParent,
2334 OPC_RecordChild1,
2335 OPC_CheckType, MVT::v2i64,
2336 OPC_MoveParent,
2337 OPC_MoveParent,
2338 OPC_CheckType, MVT::v2i64,
2339 OPC_CheckPatternPredicate1,
2340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2341 MVT::v2i64, 2, 0, 1,
2342 0,
2343 0,
2344 82,
2345 OPC_MoveChild0,
2346 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2347 OPC_MoveChild0,
2348 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2349 OPC_MoveChild0,
2350 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2351 OPC_CheckType, MVT::v4i32,
2352 OPC_MoveParent,
2353 OPC_CheckPredicate0,
2354 OPC_MoveSibling1,
2355 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2356 OPC_Scope, 29,
2357 OPC_RecordChild0,
2358 OPC_MoveChild1,
2359 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2360 OPC_MoveChild0,
2361 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2362 OPC_CheckType, MVT::v4i32,
2363 OPC_MoveParent,
2364 OPC_CheckPredicate3,
2365 OPC_MoveParent,
2366 OPC_CheckType, MVT::v2i64,
2367 OPC_MoveParent,
2368 OPC_MoveParent,
2369 OPC_RecordChild1,
2370 OPC_CheckType, MVT::v2i64,
2371 OPC_CheckPatternPredicate1,
2372 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2373 MVT::v2i64, 2, 1, 0,
2374 29,
2375 OPC_MoveChild0,
2376 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2377 OPC_MoveChild0,
2378 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2379 OPC_CheckType, MVT::v4i32,
2380 OPC_MoveParent,
2381 OPC_CheckPredicate3,
2382 OPC_MoveParent,
2383 OPC_RecordChild1,
2384 OPC_CheckType, MVT::v2i64,
2385 OPC_MoveParent,
2386 OPC_MoveParent,
2387 OPC_RecordChild1,
2388 OPC_CheckType, MVT::v2i64,
2389 OPC_CheckPatternPredicate1,
2390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2391 MVT::v2i64, 2, 1, 0,
2392 0,
2393 49,
2394 OPC_RecordChild0,
2395 OPC_MoveChild1,
2396 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2397 OPC_MoveChild0,
2398 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2399 OPC_MoveChild0,
2400 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2401 OPC_CheckType, MVT::v4i32,
2402 OPC_MoveParent,
2403 OPC_CheckPredicate0,
2404 OPC_MoveSibling1,
2405 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2406 OPC_MoveChild0,
2407 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2408 OPC_MoveChild0,
2409 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2410 OPC_CheckType, MVT::v4i32,
2411 OPC_MoveParent,
2412 OPC_CheckPredicate3,
2413 OPC_MoveParent,
2414 OPC_RecordChild1,
2415 OPC_CheckType, MVT::v4i64,
2416 OPC_MoveParent,
2417 OPC_MoveParent,
2418 OPC_CheckType, MVT::v4i64,
2419 OPC_CheckPatternPredicate0,
2420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2421 MVT::v4i64, 2, 0, 1,
2422 82,
2423 OPC_MoveChild0,
2424 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2425 OPC_MoveChild0,
2426 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2427 OPC_MoveChild0,
2428 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2429 OPC_CheckType, MVT::v4i32,
2430 OPC_MoveParent,
2431 OPC_CheckPredicate0,
2432 OPC_MoveSibling1,
2433 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2434 OPC_Scope, 29,
2435 OPC_RecordChild0,
2436 OPC_MoveChild1,
2437 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2438 OPC_MoveChild0,
2439 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2440 OPC_CheckType, MVT::v4i32,
2441 OPC_MoveParent,
2442 OPC_CheckPredicate3,
2443 OPC_MoveParent,
2444 OPC_CheckType, MVT::v4i64,
2445 OPC_MoveParent,
2446 OPC_MoveParent,
2447 OPC_RecordChild1,
2448 OPC_CheckType, MVT::v4i64,
2449 OPC_CheckPatternPredicate0,
2450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2451 MVT::v4i64, 2, 1, 0,
2452 29,
2453 OPC_MoveChild0,
2454 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2455 OPC_MoveChild0,
2456 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2457 OPC_CheckType, MVT::v4i32,
2458 OPC_MoveParent,
2459 OPC_CheckPredicate3,
2460 OPC_MoveParent,
2461 OPC_RecordChild1,
2462 OPC_CheckType, MVT::v4i64,
2463 OPC_MoveParent,
2464 OPC_MoveParent,
2465 OPC_RecordChild1,
2466 OPC_CheckType, MVT::v4i64,
2467 OPC_CheckPatternPredicate0,
2468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2469 MVT::v4i64, 2, 1, 0,
2470 0,
2471 103|128,1,
2472 OPC_RecordChild0,
2473 OPC_MoveChild1,
2474 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2475 OPC_MoveChild0,
2476 OPC_SwitchOpcode , 39|128,1, TARGET_VAL(ISD::BITCAST),
2477 OPC_MoveChild0,
2478 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2479 OPC_CheckType, MVT::v4i32,
2480 OPC_MoveParent,
2481 OPC_CheckPredicate0,
2482 OPC_MoveSibling1,
2483 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2484 OPC_Scope, 1|128,1,
2485 OPC_RecordChild0,
2486 OPC_MoveChild1,
2487 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2488 OPC_Scope, 16,
2489 OPC_CheckPredicate7,
2490 OPC_MoveParent,
2491 OPC_CheckType, MVT::v16i8,
2492 OPC_MoveParent,
2493 OPC_MoveParent,
2494 OPC_CheckType, MVT::v16i8,
2495 OPC_CheckPatternPredicate1,
2496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
2497 MVT::v16i8, 2, 0, 1,
2498 17,
2499 OPC_CheckPredicate, 8,
2500 OPC_MoveParent,
2501 OPC_CheckType, MVT::v8i16,
2502 OPC_MoveParent,
2503 OPC_MoveParent,
2504 OPC_CheckType, MVT::v8i16,
2505 OPC_CheckPatternPredicate1,
2506 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
2507 MVT::v8i16, 2, 0, 1,
2508 16,
2509 OPC_CheckPredicate3,
2510 OPC_MoveParent,
2511 OPC_CheckType, MVT::v2i64,
2512 OPC_MoveParent,
2513 OPC_MoveParent,
2514 OPC_CheckType, MVT::v2i64,
2515 OPC_CheckPatternPredicate1,
2516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2517 MVT::v2i64, 2, 0, 1,
2518 16,
2519 OPC_CheckPredicate7,
2520 OPC_MoveParent,
2521 OPC_CheckType, MVT::v32i8,
2522 OPC_MoveParent,
2523 OPC_MoveParent,
2524 OPC_CheckType, MVT::v32i8,
2525 OPC_CheckPatternPredicate0,
2526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
2527 MVT::v32i8, 2, 0, 1,
2528 17,
2529 OPC_CheckPredicate, 8,
2530 OPC_MoveParent,
2531 OPC_CheckType, MVT::v16i16,
2532 OPC_MoveParent,
2533 OPC_MoveParent,
2534 OPC_CheckType, MVT::v16i16,
2535 OPC_CheckPatternPredicate0,
2536 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
2537 MVT::v16i16, 2, 0, 1,
2538 17,
2539 OPC_CheckPredicate, 9,
2540 OPC_MoveParent,
2541 OPC_CheckType, MVT::v8i32,
2542 OPC_MoveParent,
2543 OPC_MoveParent,
2544 OPC_CheckType, MVT::v8i32,
2545 OPC_CheckPatternPredicate0,
2546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
2547 MVT::v8i32, 2, 0, 1,
2548 16,
2549 OPC_CheckPredicate3,
2550 OPC_MoveParent,
2551 OPC_CheckType, MVT::v4i64,
2552 OPC_MoveParent,
2553 OPC_MoveParent,
2554 OPC_CheckType, MVT::v4i64,
2555 OPC_CheckPatternPredicate0,
2556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2557 MVT::v4i64, 2, 0, 1,
2558 0,
2559 21,
2560 OPC_MoveChild0,
2561 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2562 OPC_CheckPredicate7,
2563 OPC_MoveParent,
2564 OPC_RecordChild1,
2565 OPC_CheckType, MVT::v16i8,
2566 OPC_MoveParent,
2567 OPC_MoveParent,
2568 OPC_CheckType, MVT::v16i8,
2569 OPC_CheckPatternPredicate1,
2570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
2571 MVT::v16i8, 2, 0, 1,
2572 0,
2573 49, TARGET_VAL(ISD::BUILD_VECTOR),
2574 OPC_CheckPredicate0,
2575 OPC_MoveSibling1,
2576 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2577 OPC_RecordChild0,
2578 OPC_MoveChild1,
2579 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2580 OPC_MoveChild0,
2581 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2582 OPC_CheckType, MVT::v4i32,
2583 OPC_MoveParent,
2584 OPC_CheckPredicate3,
2585 OPC_MoveParent,
2586 OPC_SwitchType , 12, MVT::v2i64,
2587 OPC_MoveParent,
2588 OPC_MoveParent,
2589 OPC_CheckType, MVT::v2i64,
2590 OPC_CheckPatternPredicate1,
2591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2592 MVT::v2i64, 2, 0, 1,
2593 12, MVT::v4i64,
2594 OPC_MoveParent,
2595 OPC_MoveParent,
2596 OPC_CheckType, MVT::v4i64,
2597 OPC_CheckPatternPredicate0,
2598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
2599 MVT::v4i64, 2, 0, 1,
2600 0,
2601 0,
2602 68,
2603 OPC_MoveChild0,
2604 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2605 OPC_MoveChild0,
2606 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2607 OPC_MoveChild0,
2608 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2609 OPC_CheckType, MVT::v4i32,
2610 OPC_MoveParent,
2611 OPC_CheckPredicate0,
2612 OPC_MoveSibling1,
2613 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2614 OPC_Scope, 22,
2615 OPC_RecordChild0,
2616 OPC_MoveChild1,
2617 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2618 OPC_CheckPredicate7,
2619 OPC_MoveParent,
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 22,
2629 OPC_MoveChild0,
2630 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2631 OPC_CheckPredicate7,
2632 OPC_MoveParent,
2633 OPC_RecordChild1,
2634 OPC_CheckType, MVT::v16i8,
2635 OPC_MoveParent,
2636 OPC_MoveParent,
2637 OPC_RecordChild1,
2638 OPC_CheckType, MVT::v16i8,
2639 OPC_CheckPatternPredicate1,
2640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
2641 MVT::v16i8, 2, 1, 0,
2642 0,
2643 43,
2644 OPC_RecordChild0,
2645 OPC_MoveChild1,
2646 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2647 OPC_MoveChild0,
2648 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2649 OPC_MoveChild0,
2650 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2651 OPC_CheckType, MVT::v4i32,
2652 OPC_MoveParent,
2653 OPC_CheckPredicate0,
2654 OPC_MoveSibling1,
2655 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2656 OPC_MoveChild0,
2657 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2658 OPC_CheckPredicate, 8,
2659 OPC_MoveParent,
2660 OPC_RecordChild1,
2661 OPC_CheckType, MVT::v8i16,
2662 OPC_MoveParent,
2663 OPC_MoveParent,
2664 OPC_CheckType, MVT::v8i16,
2665 OPC_CheckPatternPredicate1,
2666 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
2667 MVT::v8i16, 2, 0, 1,
2668 70,
2669 OPC_MoveChild0,
2670 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2671 OPC_MoveChild0,
2672 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2673 OPC_MoveChild0,
2674 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2675 OPC_CheckType, MVT::v4i32,
2676 OPC_MoveParent,
2677 OPC_CheckPredicate0,
2678 OPC_MoveSibling1,
2679 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2680 OPC_Scope, 23,
2681 OPC_RecordChild0,
2682 OPC_MoveChild1,
2683 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2684 OPC_CheckPredicate, 8,
2685 OPC_MoveParent,
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 23,
2695 OPC_MoveChild0,
2696 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2697 OPC_CheckPredicate, 8,
2698 OPC_MoveParent,
2699 OPC_RecordChild1,
2700 OPC_CheckType, MVT::v8i16,
2701 OPC_MoveParent,
2702 OPC_MoveParent,
2703 OPC_RecordChild1,
2704 OPC_CheckType, MVT::v8i16,
2705 OPC_CheckPatternPredicate1,
2706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
2707 MVT::v8i16, 2, 1, 0,
2708 0,
2709 42,
2710 OPC_RecordChild0,
2711 OPC_MoveChild1,
2712 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2713 OPC_MoveChild0,
2714 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2715 OPC_CheckPredicate0,
2716 OPC_MoveSibling1,
2717 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2718 OPC_MoveChild0,
2719 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2720 OPC_MoveChild0,
2721 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2722 OPC_CheckType, MVT::v4i32,
2723 OPC_MoveParent,
2724 OPC_CheckPredicate3,
2725 OPC_MoveParent,
2726 OPC_RecordChild1,
2727 OPC_CheckType, MVT::v2i64,
2728 OPC_MoveParent,
2729 OPC_MoveParent,
2730 OPC_CheckType, MVT::v2i64,
2731 OPC_CheckPatternPredicate1,
2732 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2733 MVT::v2i64, 2, 0, 1,
2734 75,
2735 OPC_MoveChild0,
2736 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2737 OPC_MoveChild0,
2738 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2739 OPC_CheckPredicate0,
2740 OPC_MoveSibling1,
2741 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2742 OPC_Scope, 29,
2743 OPC_RecordChild0,
2744 OPC_MoveChild1,
2745 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2746 OPC_MoveChild0,
2747 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2748 OPC_CheckType, MVT::v4i32,
2749 OPC_MoveParent,
2750 OPC_CheckPredicate3,
2751 OPC_MoveParent,
2752 OPC_CheckType, MVT::v2i64,
2753 OPC_MoveParent,
2754 OPC_MoveParent,
2755 OPC_RecordChild1,
2756 OPC_CheckType, MVT::v2i64,
2757 OPC_CheckPatternPredicate1,
2758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2759 MVT::v2i64, 2, 1, 0,
2760 29,
2761 OPC_MoveChild0,
2762 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2763 OPC_MoveChild0,
2764 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2765 OPC_CheckType, MVT::v4i32,
2766 OPC_MoveParent,
2767 OPC_CheckPredicate3,
2768 OPC_MoveParent,
2769 OPC_RecordChild1,
2770 OPC_CheckType, MVT::v2i64,
2771 OPC_MoveParent,
2772 OPC_MoveParent,
2773 OPC_RecordChild1,
2774 OPC_CheckType, MVT::v2i64,
2775 OPC_CheckPatternPredicate1,
2776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2777 MVT::v2i64, 2, 1, 0,
2778 0,
2779 42,
2780 OPC_RecordChild0,
2781 OPC_MoveChild1,
2782 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2783 OPC_MoveChild0,
2784 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2785 OPC_MoveChild0,
2786 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2787 OPC_CheckType, MVT::v4i32,
2788 OPC_MoveParent,
2789 OPC_CheckPredicate0,
2790 OPC_MoveSibling1,
2791 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2792 OPC_MoveChild0,
2793 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2794 OPC_CheckPredicate3,
2795 OPC_MoveParent,
2796 OPC_RecordChild1,
2797 OPC_CheckType, MVT::v2i64,
2798 OPC_MoveParent,
2799 OPC_MoveParent,
2800 OPC_CheckType, MVT::v2i64,
2801 OPC_CheckPatternPredicate1,
2802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2803 MVT::v2i64, 2, 0, 1,
2804 68,
2805 OPC_MoveChild0,
2806 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2807 OPC_MoveChild0,
2808 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2809 OPC_MoveChild0,
2810 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2811 OPC_CheckType, MVT::v4i32,
2812 OPC_MoveParent,
2813 OPC_CheckPredicate0,
2814 OPC_MoveSibling1,
2815 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2816 OPC_Scope, 22,
2817 OPC_RecordChild0,
2818 OPC_MoveChild1,
2819 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2820 OPC_CheckPredicate3,
2821 OPC_MoveParent,
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 22,
2831 OPC_MoveChild0,
2832 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2833 OPC_CheckPredicate3,
2834 OPC_MoveParent,
2835 OPC_RecordChild1,
2836 OPC_CheckType, MVT::v2i64,
2837 OPC_MoveParent,
2838 OPC_MoveParent,
2839 OPC_RecordChild1,
2840 OPC_CheckType, MVT::v2i64,
2841 OPC_CheckPatternPredicate1,
2842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
2843 MVT::v2i64, 2, 1, 0,
2844 0,
2845 42,
2846 OPC_RecordChild0,
2847 OPC_MoveChild1,
2848 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2849 OPC_MoveChild0,
2850 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2851 OPC_MoveChild0,
2852 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2853 OPC_CheckType, MVT::v4i32,
2854 OPC_MoveParent,
2855 OPC_CheckPredicate0,
2856 OPC_MoveSibling1,
2857 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2858 OPC_MoveChild0,
2859 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2860 OPC_CheckPredicate7,
2861 OPC_MoveParent,
2862 OPC_RecordChild1,
2863 OPC_CheckType, MVT::v32i8,
2864 OPC_MoveParent,
2865 OPC_MoveParent,
2866 OPC_CheckType, MVT::v32i8,
2867 OPC_CheckPatternPredicate0,
2868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
2869 MVT::v32i8, 2, 0, 1,
2870 68,
2871 OPC_MoveChild0,
2872 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2873 OPC_MoveChild0,
2874 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2875 OPC_MoveChild0,
2876 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2877 OPC_CheckType, MVT::v4i32,
2878 OPC_MoveParent,
2879 OPC_CheckPredicate0,
2880 OPC_MoveSibling1,
2881 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2882 OPC_Scope, 22,
2883 OPC_RecordChild0,
2884 OPC_MoveChild1,
2885 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2886 OPC_CheckPredicate7,
2887 OPC_MoveParent,
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 22,
2897 OPC_MoveChild0,
2898 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2899 OPC_CheckPredicate7,
2900 OPC_MoveParent,
2901 OPC_RecordChild1,
2902 OPC_CheckType, MVT::v32i8,
2903 OPC_MoveParent,
2904 OPC_MoveParent,
2905 OPC_RecordChild1,
2906 OPC_CheckType, MVT::v32i8,
2907 OPC_CheckPatternPredicate0,
2908 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
2909 MVT::v32i8, 2, 1, 0,
2910 0,
2911 43,
2912 OPC_RecordChild0,
2913 OPC_MoveChild1,
2914 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2915 OPC_MoveChild0,
2916 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2917 OPC_MoveChild0,
2918 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2919 OPC_CheckType, MVT::v4i32,
2920 OPC_MoveParent,
2921 OPC_CheckPredicate0,
2922 OPC_MoveSibling1,
2923 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2924 OPC_MoveChild0,
2925 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2926 OPC_CheckPredicate, 8,
2927 OPC_MoveParent,
2928 OPC_RecordChild1,
2929 OPC_CheckType, MVT::v16i16,
2930 OPC_MoveParent,
2931 OPC_MoveParent,
2932 OPC_CheckType, MVT::v16i16,
2933 OPC_CheckPatternPredicate0,
2934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
2935 MVT::v16i16, 2, 0, 1,
2936 70,
2937 OPC_MoveChild0,
2938 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2939 OPC_MoveChild0,
2940 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2941 OPC_MoveChild0,
2942 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2943 OPC_CheckType, MVT::v4i32,
2944 OPC_MoveParent,
2945 OPC_CheckPredicate0,
2946 OPC_MoveSibling1,
2947 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2948 OPC_Scope, 23,
2949 OPC_RecordChild0,
2950 OPC_MoveChild1,
2951 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2952 OPC_CheckPredicate, 8,
2953 OPC_MoveParent,
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 23,
2963 OPC_MoveChild0,
2964 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2965 OPC_CheckPredicate, 8,
2966 OPC_MoveParent,
2967 OPC_RecordChild1,
2968 OPC_CheckType, MVT::v16i16,
2969 OPC_MoveParent,
2970 OPC_MoveParent,
2971 OPC_RecordChild1,
2972 OPC_CheckType, MVT::v16i16,
2973 OPC_CheckPatternPredicate0,
2974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
2975 MVT::v16i16, 2, 1, 0,
2976 0,
2977 43,
2978 OPC_RecordChild0,
2979 OPC_MoveChild1,
2980 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
2981 OPC_MoveChild0,
2982 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2983 OPC_MoveChild0,
2984 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2985 OPC_CheckType, MVT::v4i32,
2986 OPC_MoveParent,
2987 OPC_CheckPredicate0,
2988 OPC_MoveSibling1,
2989 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2990 OPC_MoveChild0,
2991 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2992 OPC_CheckPredicate, 9,
2993 OPC_MoveParent,
2994 OPC_RecordChild1,
2995 OPC_CheckType, MVT::v8i32,
2996 OPC_MoveParent,
2997 OPC_MoveParent,
2998 OPC_CheckType, MVT::v8i32,
2999 OPC_CheckPatternPredicate0,
3000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3001 MVT::v8i32, 2, 0, 1,
3002 70,
3003 OPC_MoveChild0,
3004 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3005 OPC_MoveChild0,
3006 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3007 OPC_MoveChild0,
3008 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3009 OPC_CheckType, MVT::v4i32,
3010 OPC_MoveParent,
3011 OPC_CheckPredicate0,
3012 OPC_MoveSibling1,
3013 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3014 OPC_Scope, 23,
3015 OPC_RecordChild0,
3016 OPC_MoveChild1,
3017 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3018 OPC_CheckPredicate, 9,
3019 OPC_MoveParent,
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 23,
3029 OPC_MoveChild0,
3030 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3031 OPC_CheckPredicate, 9,
3032 OPC_MoveParent,
3033 OPC_RecordChild1,
3034 OPC_CheckType, MVT::v8i32,
3035 OPC_MoveParent,
3036 OPC_MoveParent,
3037 OPC_RecordChild1,
3038 OPC_CheckType, MVT::v8i32,
3039 OPC_CheckPatternPredicate0,
3040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3041 MVT::v8i32, 2, 1, 0,
3042 0,
3043 42,
3044 OPC_RecordChild0,
3045 OPC_MoveChild1,
3046 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3047 OPC_MoveChild0,
3048 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3049 OPC_CheckPredicate0,
3050 OPC_MoveSibling1,
3051 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3052 OPC_MoveChild0,
3053 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3054 OPC_MoveChild0,
3055 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3056 OPC_CheckType, MVT::v4i32,
3057 OPC_MoveParent,
3058 OPC_CheckPredicate3,
3059 OPC_MoveParent,
3060 OPC_RecordChild1,
3061 OPC_CheckType, MVT::v4i64,
3062 OPC_MoveParent,
3063 OPC_MoveParent,
3064 OPC_CheckType, MVT::v4i64,
3065 OPC_CheckPatternPredicate0,
3066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3067 MVT::v4i64, 2, 0, 1,
3068 75,
3069 OPC_MoveChild0,
3070 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3071 OPC_MoveChild0,
3072 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3073 OPC_CheckPredicate0,
3074 OPC_MoveSibling1,
3075 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3076 OPC_Scope, 29,
3077 OPC_RecordChild0,
3078 OPC_MoveChild1,
3079 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3080 OPC_MoveChild0,
3081 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3082 OPC_CheckType, MVT::v4i32,
3083 OPC_MoveParent,
3084 OPC_CheckPredicate3,
3085 OPC_MoveParent,
3086 OPC_CheckType, MVT::v4i64,
3087 OPC_MoveParent,
3088 OPC_MoveParent,
3089 OPC_RecordChild1,
3090 OPC_CheckType, MVT::v4i64,
3091 OPC_CheckPatternPredicate0,
3092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3093 MVT::v4i64, 2, 1, 0,
3094 29,
3095 OPC_MoveChild0,
3096 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3097 OPC_MoveChild0,
3098 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3099 OPC_CheckType, MVT::v4i32,
3100 OPC_MoveParent,
3101 OPC_CheckPredicate3,
3102 OPC_MoveParent,
3103 OPC_RecordChild1,
3104 OPC_CheckType, MVT::v4i64,
3105 OPC_MoveParent,
3106 OPC_MoveParent,
3107 OPC_RecordChild1,
3108 OPC_CheckType, MVT::v4i64,
3109 OPC_CheckPatternPredicate0,
3110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3111 MVT::v4i64, 2, 1, 0,
3112 0,
3113 42,
3114 OPC_RecordChild0,
3115 OPC_MoveChild1,
3116 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3117 OPC_MoveChild0,
3118 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3119 OPC_MoveChild0,
3120 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3121 OPC_CheckType, MVT::v4i32,
3122 OPC_MoveParent,
3123 OPC_CheckPredicate0,
3124 OPC_MoveSibling1,
3125 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3126 OPC_MoveChild0,
3127 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3128 OPC_CheckPredicate3,
3129 OPC_MoveParent,
3130 OPC_RecordChild1,
3131 OPC_CheckType, MVT::v4i64,
3132 OPC_MoveParent,
3133 OPC_MoveParent,
3134 OPC_CheckType, MVT::v4i64,
3135 OPC_CheckPatternPredicate0,
3136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3137 MVT::v4i64, 2, 0, 1,
3138 68,
3139 OPC_MoveChild0,
3140 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3141 OPC_MoveChild0,
3142 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3143 OPC_MoveChild0,
3144 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3145 OPC_CheckType, MVT::v4i32,
3146 OPC_MoveParent,
3147 OPC_CheckPredicate0,
3148 OPC_MoveSibling1,
3149 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3150 OPC_Scope, 22,
3151 OPC_RecordChild0,
3152 OPC_MoveChild1,
3153 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3154 OPC_CheckPredicate3,
3155 OPC_MoveParent,
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 22,
3165 OPC_MoveChild0,
3166 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3167 OPC_CheckPredicate3,
3168 OPC_MoveParent,
3169 OPC_RecordChild1,
3170 OPC_CheckType, MVT::v4i64,
3171 OPC_MoveParent,
3172 OPC_MoveParent,
3173 OPC_RecordChild1,
3174 OPC_CheckType, MVT::v4i64,
3175 OPC_CheckPatternPredicate0,
3176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3177 MVT::v4i64, 2, 1, 0,
3178 0,
3179 59|128,1,
3180 OPC_RecordChild0,
3181 OPC_MoveChild1,
3182 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3183 OPC_MoveChild0,
3184 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3185 OPC_CheckPredicate0,
3186 OPC_MoveSibling1,
3187 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3188 OPC_Scope, 19|128,1,
3189 OPC_RecordChild0,
3190 OPC_MoveChild1,
3191 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3192 OPC_Scope, 16,
3193 OPC_CheckPredicate7,
3194 OPC_MoveParent,
3195 OPC_CheckType, MVT::v16i8,
3196 OPC_MoveParent,
3197 OPC_MoveParent,
3198 OPC_CheckType, MVT::v16i8,
3199 OPC_CheckPatternPredicate1,
3200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3201 MVT::v16i8, 2, 0, 1,
3202 17,
3203 OPC_CheckPredicate, 8,
3204 OPC_MoveParent,
3205 OPC_CheckType, MVT::v8i16,
3206 OPC_MoveParent,
3207 OPC_MoveParent,
3208 OPC_CheckType, MVT::v8i16,
3209 OPC_CheckPatternPredicate1,
3210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3211 MVT::v8i16, 2, 0, 1,
3212 17,
3213 OPC_CheckPredicate, 9,
3214 OPC_MoveParent,
3215 OPC_CheckType, MVT::v4i32,
3216 OPC_MoveParent,
3217 OPC_MoveParent,
3218 OPC_CheckType, MVT::v4i32,
3219 OPC_CheckPatternPredicate1,
3220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3221 MVT::v4i32, 2, 0, 1,
3222 16,
3223 OPC_CheckPredicate3,
3224 OPC_MoveParent,
3225 OPC_CheckType, MVT::v2i64,
3226 OPC_MoveParent,
3227 OPC_MoveParent,
3228 OPC_CheckType, MVT::v2i64,
3229 OPC_CheckPatternPredicate1,
3230 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3231 MVT::v2i64, 2, 0, 1,
3232 16,
3233 OPC_CheckPredicate7,
3234 OPC_MoveParent,
3235 OPC_CheckType, MVT::v32i8,
3236 OPC_MoveParent,
3237 OPC_MoveParent,
3238 OPC_CheckType, MVT::v32i8,
3239 OPC_CheckPatternPredicate0,
3240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3241 MVT::v32i8, 2, 0, 1,
3242 17,
3243 OPC_CheckPredicate, 8,
3244 OPC_MoveParent,
3245 OPC_CheckType, MVT::v16i16,
3246 OPC_MoveParent,
3247 OPC_MoveParent,
3248 OPC_CheckType, MVT::v16i16,
3249 OPC_CheckPatternPredicate0,
3250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3251 MVT::v16i16, 2, 0, 1,
3252 17,
3253 OPC_CheckPredicate, 9,
3254 OPC_MoveParent,
3255 OPC_CheckType, MVT::v8i32,
3256 OPC_MoveParent,
3257 OPC_MoveParent,
3258 OPC_CheckType, MVT::v8i32,
3259 OPC_CheckPatternPredicate0,
3260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3261 MVT::v8i32, 2, 0, 1,
3262 16,
3263 OPC_CheckPredicate3,
3264 OPC_MoveParent,
3265 OPC_CheckType, MVT::v4i64,
3266 OPC_MoveParent,
3267 OPC_MoveParent,
3268 OPC_CheckType, MVT::v4i64,
3269 OPC_CheckPatternPredicate0,
3270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3271 MVT::v4i64, 2, 0, 1,
3272 0,
3273 21,
3274 OPC_MoveChild0,
3275 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3276 OPC_CheckPredicate7,
3277 OPC_MoveParent,
3278 OPC_RecordChild1,
3279 OPC_CheckType, MVT::v16i8,
3280 OPC_MoveParent,
3281 OPC_MoveParent,
3282 OPC_CheckType, MVT::v16i8,
3283 OPC_CheckPatternPredicate1,
3284 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3285 MVT::v16i8, 2, 0, 1,
3286 0,
3287 61,
3288 OPC_MoveChild0,
3289 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3290 OPC_MoveChild0,
3291 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3292 OPC_CheckPredicate0,
3293 OPC_MoveSibling1,
3294 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3295 OPC_Scope, 22,
3296 OPC_RecordChild0,
3297 OPC_MoveChild1,
3298 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3299 OPC_CheckPredicate7,
3300 OPC_MoveParent,
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 22,
3310 OPC_MoveChild0,
3311 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3312 OPC_CheckPredicate7,
3313 OPC_MoveParent,
3314 OPC_RecordChild1,
3315 OPC_CheckType, MVT::v16i8,
3316 OPC_MoveParent,
3317 OPC_MoveParent,
3318 OPC_RecordChild1,
3319 OPC_CheckType, MVT::v16i8,
3320 OPC_CheckPatternPredicate1,
3321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3322 MVT::v16i8, 2, 1, 0,
3323 0,
3324 36,
3325 OPC_RecordChild0,
3326 OPC_MoveChild1,
3327 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3328 OPC_MoveChild0,
3329 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3330 OPC_CheckPredicate0,
3331 OPC_MoveSibling1,
3332 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3333 OPC_MoveChild0,
3334 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3335 OPC_CheckPredicate, 8,
3336 OPC_MoveParent,
3337 OPC_RecordChild1,
3338 OPC_CheckType, MVT::v8i16,
3339 OPC_MoveParent,
3340 OPC_MoveParent,
3341 OPC_CheckType, MVT::v8i16,
3342 OPC_CheckPatternPredicate1,
3343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3344 MVT::v8i16, 2, 0, 1,
3345 63,
3346 OPC_MoveChild0,
3347 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3348 OPC_MoveChild0,
3349 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3350 OPC_CheckPredicate0,
3351 OPC_MoveSibling1,
3352 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3353 OPC_Scope, 23,
3354 OPC_RecordChild0,
3355 OPC_MoveChild1,
3356 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3357 OPC_CheckPredicate, 8,
3358 OPC_MoveParent,
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 23,
3368 OPC_MoveChild0,
3369 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3370 OPC_CheckPredicate, 8,
3371 OPC_MoveParent,
3372 OPC_RecordChild1,
3373 OPC_CheckType, MVT::v8i16,
3374 OPC_MoveParent,
3375 OPC_MoveParent,
3376 OPC_RecordChild1,
3377 OPC_CheckType, MVT::v8i16,
3378 OPC_CheckPatternPredicate1,
3379 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3380 MVT::v8i16, 2, 1, 0,
3381 0,
3382 36,
3383 OPC_RecordChild0,
3384 OPC_MoveChild1,
3385 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3386 OPC_MoveChild0,
3387 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3388 OPC_CheckPredicate0,
3389 OPC_MoveSibling1,
3390 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3391 OPC_MoveChild0,
3392 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3393 OPC_CheckPredicate, 9,
3394 OPC_MoveParent,
3395 OPC_RecordChild1,
3396 OPC_CheckType, MVT::v4i32,
3397 OPC_MoveParent,
3398 OPC_MoveParent,
3399 OPC_CheckType, MVT::v4i32,
3400 OPC_CheckPatternPredicate1,
3401 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3402 MVT::v4i32, 2, 0, 1,
3403 63,
3404 OPC_MoveChild0,
3405 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3406 OPC_MoveChild0,
3407 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3408 OPC_CheckPredicate0,
3409 OPC_MoveSibling1,
3410 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3411 OPC_Scope, 23,
3412 OPC_RecordChild0,
3413 OPC_MoveChild1,
3414 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3415 OPC_CheckPredicate, 9,
3416 OPC_MoveParent,
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 23,
3426 OPC_MoveChild0,
3427 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3428 OPC_CheckPredicate, 9,
3429 OPC_MoveParent,
3430 OPC_RecordChild1,
3431 OPC_CheckType, MVT::v4i32,
3432 OPC_MoveParent,
3433 OPC_MoveParent,
3434 OPC_RecordChild1,
3435 OPC_CheckType, MVT::v4i32,
3436 OPC_CheckPatternPredicate1,
3437 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3438 MVT::v4i32, 2, 1, 0,
3439 0,
3440 35,
3441 OPC_RecordChild0,
3442 OPC_MoveChild1,
3443 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3444 OPC_MoveChild0,
3445 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3446 OPC_CheckPredicate0,
3447 OPC_MoveSibling1,
3448 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3449 OPC_MoveChild0,
3450 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3451 OPC_CheckPredicate3,
3452 OPC_MoveParent,
3453 OPC_RecordChild1,
3454 OPC_CheckType, MVT::v2i64,
3455 OPC_MoveParent,
3456 OPC_MoveParent,
3457 OPC_CheckType, MVT::v2i64,
3458 OPC_CheckPatternPredicate1,
3459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3460 MVT::v2i64, 2, 0, 1,
3461 61,
3462 OPC_MoveChild0,
3463 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3464 OPC_MoveChild0,
3465 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3466 OPC_CheckPredicate0,
3467 OPC_MoveSibling1,
3468 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3469 OPC_Scope, 22,
3470 OPC_RecordChild0,
3471 OPC_MoveChild1,
3472 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3473 OPC_CheckPredicate3,
3474 OPC_MoveParent,
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 22,
3484 OPC_MoveChild0,
3485 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3486 OPC_CheckPredicate3,
3487 OPC_MoveParent,
3488 OPC_RecordChild1,
3489 OPC_CheckType, MVT::v2i64,
3490 OPC_MoveParent,
3491 OPC_MoveParent,
3492 OPC_RecordChild1,
3493 OPC_CheckType, MVT::v2i64,
3494 OPC_CheckPatternPredicate1,
3495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3496 MVT::v2i64, 2, 1, 0,
3497 0,
3498 35,
3499 OPC_RecordChild0,
3500 OPC_MoveChild1,
3501 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3502 OPC_MoveChild0,
3503 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3504 OPC_CheckPredicate0,
3505 OPC_MoveSibling1,
3506 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3507 OPC_MoveChild0,
3508 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3509 OPC_CheckPredicate7,
3510 OPC_MoveParent,
3511 OPC_RecordChild1,
3512 OPC_CheckType, MVT::v32i8,
3513 OPC_MoveParent,
3514 OPC_MoveParent,
3515 OPC_CheckType, MVT::v32i8,
3516 OPC_CheckPatternPredicate0,
3517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3518 MVT::v32i8, 2, 0, 1,
3519 61,
3520 OPC_MoveChild0,
3521 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3522 OPC_MoveChild0,
3523 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3524 OPC_CheckPredicate0,
3525 OPC_MoveSibling1,
3526 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3527 OPC_Scope, 22,
3528 OPC_RecordChild0,
3529 OPC_MoveChild1,
3530 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3531 OPC_CheckPredicate7,
3532 OPC_MoveParent,
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 22,
3542 OPC_MoveChild0,
3543 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3544 OPC_CheckPredicate7,
3545 OPC_MoveParent,
3546 OPC_RecordChild1,
3547 OPC_CheckType, MVT::v32i8,
3548 OPC_MoveParent,
3549 OPC_MoveParent,
3550 OPC_RecordChild1,
3551 OPC_CheckType, MVT::v32i8,
3552 OPC_CheckPatternPredicate0,
3553 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3554 MVT::v32i8, 2, 1, 0,
3555 0,
3556 36,
3557 OPC_RecordChild0,
3558 OPC_MoveChild1,
3559 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3560 OPC_MoveChild0,
3561 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3562 OPC_CheckPredicate0,
3563 OPC_MoveSibling1,
3564 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3565 OPC_MoveChild0,
3566 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3567 OPC_CheckPredicate, 8,
3568 OPC_MoveParent,
3569 OPC_RecordChild1,
3570 OPC_CheckType, MVT::v16i16,
3571 OPC_MoveParent,
3572 OPC_MoveParent,
3573 OPC_CheckType, MVT::v16i16,
3574 OPC_CheckPatternPredicate0,
3575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3576 MVT::v16i16, 2, 0, 1,
3577 63,
3578 OPC_MoveChild0,
3579 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3580 OPC_MoveChild0,
3581 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3582 OPC_CheckPredicate0,
3583 OPC_MoveSibling1,
3584 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3585 OPC_Scope, 23,
3586 OPC_RecordChild0,
3587 OPC_MoveChild1,
3588 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3589 OPC_CheckPredicate, 8,
3590 OPC_MoveParent,
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 23,
3600 OPC_MoveChild0,
3601 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3602 OPC_CheckPredicate, 8,
3603 OPC_MoveParent,
3604 OPC_RecordChild1,
3605 OPC_CheckType, MVT::v16i16,
3606 OPC_MoveParent,
3607 OPC_MoveParent,
3608 OPC_RecordChild1,
3609 OPC_CheckType, MVT::v16i16,
3610 OPC_CheckPatternPredicate0,
3611 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3612 MVT::v16i16, 2, 1, 0,
3613 0,
3614 36,
3615 OPC_RecordChild0,
3616 OPC_MoveChild1,
3617 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3618 OPC_MoveChild0,
3619 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3620 OPC_CheckPredicate0,
3621 OPC_MoveSibling1,
3622 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3623 OPC_MoveChild0,
3624 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3625 OPC_CheckPredicate, 9,
3626 OPC_MoveParent,
3627 OPC_RecordChild1,
3628 OPC_CheckType, MVT::v8i32,
3629 OPC_MoveParent,
3630 OPC_MoveParent,
3631 OPC_CheckType, MVT::v8i32,
3632 OPC_CheckPatternPredicate0,
3633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3634 MVT::v8i32, 2, 0, 1,
3635 63,
3636 OPC_MoveChild0,
3637 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3638 OPC_MoveChild0,
3639 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3640 OPC_CheckPredicate0,
3641 OPC_MoveSibling1,
3642 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3643 OPC_Scope, 23,
3644 OPC_RecordChild0,
3645 OPC_MoveChild1,
3646 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3647 OPC_CheckPredicate, 9,
3648 OPC_MoveParent,
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 23,
3658 OPC_MoveChild0,
3659 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3660 OPC_CheckPredicate, 9,
3661 OPC_MoveParent,
3662 OPC_RecordChild1,
3663 OPC_CheckType, MVT::v8i32,
3664 OPC_MoveParent,
3665 OPC_MoveParent,
3666 OPC_RecordChild1,
3667 OPC_CheckType, MVT::v8i32,
3668 OPC_CheckPatternPredicate0,
3669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3670 MVT::v8i32, 2, 1, 0,
3671 0,
3672 35,
3673 OPC_RecordChild0,
3674 OPC_MoveChild1,
3675 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3676 OPC_MoveChild0,
3677 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3678 OPC_CheckPredicate0,
3679 OPC_MoveSibling1,
3680 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3681 OPC_MoveChild0,
3682 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3683 OPC_CheckPredicate3,
3684 OPC_MoveParent,
3685 OPC_RecordChild1,
3686 OPC_CheckType, MVT::v4i64,
3687 OPC_MoveParent,
3688 OPC_MoveParent,
3689 OPC_CheckType, MVT::v4i64,
3690 OPC_CheckPatternPredicate0,
3691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3692 MVT::v4i64, 2, 0, 1,
3693 61,
3694 OPC_MoveChild0,
3695 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3696 OPC_MoveChild0,
3697 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3698 OPC_CheckPredicate0,
3699 OPC_MoveSibling1,
3700 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3701 OPC_Scope, 22,
3702 OPC_RecordChild0,
3703 OPC_MoveChild1,
3704 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3705 OPC_CheckPredicate3,
3706 OPC_MoveParent,
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 22,
3716 OPC_MoveChild0,
3717 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3718 OPC_CheckPredicate3,
3719 OPC_MoveParent,
3720 OPC_RecordChild1,
3721 OPC_CheckType, MVT::v4i64,
3722 OPC_MoveParent,
3723 OPC_MoveParent,
3724 OPC_RecordChild1,
3725 OPC_CheckType, MVT::v4i64,
3726 OPC_CheckPatternPredicate0,
3727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3728 MVT::v4i64, 2, 1, 0,
3729 0,
3730 61,
3731 OPC_RecordChild0,
3732 OPC_MoveChild1,
3733 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3734 OPC_MoveChild0,
3735 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3736 OPC_MoveSibling1,
3737 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3738 OPC_Scope, 22,
3739 OPC_RecordChild0,
3740 OPC_MoveChild1,
3741 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3742 OPC_CheckPredicate, 9,
3743 OPC_MoveParent,
3744 OPC_CheckType, MVT::v4i32,
3745 OPC_MoveParent,
3746 OPC_MoveParent,
3747 OPC_CheckType, MVT::v4i32,
3748 OPC_CheckPatternPredicate1,
3749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3750 MVT::v4i32, 2, 0, 1,
3751 22,
3752 OPC_MoveChild0,
3753 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3754 OPC_CheckPredicate, 9,
3755 OPC_MoveParent,
3756 OPC_RecordChild1,
3757 OPC_CheckType, MVT::v4i32,
3758 OPC_MoveParent,
3759 OPC_MoveParent,
3760 OPC_CheckType, MVT::v4i32,
3761 OPC_CheckPatternPredicate1,
3762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3763 MVT::v4i32, 2, 0, 1,
3764 0,
3765 62,
3766 OPC_MoveChild0,
3767 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3768 OPC_MoveChild0,
3769 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3770 OPC_MoveSibling1,
3771 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3772 OPC_Scope, 23,
3773 OPC_RecordChild0,
3774 OPC_MoveChild1,
3775 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3776 OPC_CheckPredicate, 9,
3777 OPC_MoveParent,
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 23,
3787 OPC_MoveChild0,
3788 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3789 OPC_CheckPredicate, 9,
3790 OPC_MoveParent,
3791 OPC_RecordChild1,
3792 OPC_CheckType, MVT::v4i32,
3793 OPC_MoveParent,
3794 OPC_MoveParent,
3795 OPC_RecordChild1,
3796 OPC_CheckType, MVT::v4i32,
3797 OPC_CheckPatternPredicate1,
3798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3799 MVT::v4i32, 2, 1, 0,
3800 0,
3801 119,
3802 OPC_RecordChild0,
3803 OPC_MoveChild1,
3804 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3805 OPC_MoveChild0,
3806 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3807 OPC_MoveChild0,
3808 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3809 OPC_CheckType, MVT::v4i32,
3810 OPC_MoveParent,
3811 OPC_CheckPredicate0,
3812 OPC_MoveParent,
3813 OPC_RecordChild1,
3814 OPC_Scope, 13,
3815 OPC_CheckChild1Type, MVT::v16i8,
3816 OPC_MoveParent,
3817 OPC_CheckType, MVT::v16i8,
3818 OPC_CheckPatternPredicate1,
3819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3820 MVT::v16i8, 2, 0, 1,
3821 13,
3822 OPC_CheckChild1Type, MVT::v8i16,
3823 OPC_MoveParent,
3824 OPC_CheckType, MVT::v8i16,
3825 OPC_CheckPatternPredicate1,
3826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3827 MVT::v8i16, 2, 0, 1,
3828 13,
3829 OPC_CheckChild1Type, MVT::v2i64,
3830 OPC_MoveParent,
3831 OPC_CheckType, MVT::v2i64,
3832 OPC_CheckPatternPredicate1,
3833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3834 MVT::v2i64, 2, 0, 1,
3835 13,
3836 OPC_CheckChild1Type, MVT::v32i8,
3837 OPC_MoveParent,
3838 OPC_CheckType, MVT::v32i8,
3839 OPC_CheckPatternPredicate0,
3840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3841 MVT::v32i8, 2, 0, 1,
3842 13,
3843 OPC_CheckChild1Type, MVT::v16i16,
3844 OPC_MoveParent,
3845 OPC_CheckType, MVT::v16i16,
3846 OPC_CheckPatternPredicate0,
3847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3848 MVT::v16i16, 2, 0, 1,
3849 13,
3850 OPC_CheckChild1Type, MVT::v8i32,
3851 OPC_MoveParent,
3852 OPC_CheckType, MVT::v8i32,
3853 OPC_CheckPatternPredicate0,
3854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3855 MVT::v8i32, 2, 0, 1,
3856 13,
3857 OPC_CheckChild1Type, MVT::v4i64,
3858 OPC_MoveParent,
3859 OPC_CheckType, MVT::v4i64,
3860 OPC_CheckPatternPredicate0,
3861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3862 MVT::v4i64, 2, 0, 1,
3863 0,
3864 125,
3865 OPC_MoveChild0,
3866 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3867 OPC_MoveChild0,
3868 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3869 OPC_MoveChild0,
3870 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3871 OPC_CheckType, MVT::v4i32,
3872 OPC_MoveParent,
3873 OPC_CheckPredicate0,
3874 OPC_MoveParent,
3875 OPC_RecordChild1,
3876 OPC_Scope, 14,
3877 OPC_CheckChild1Type, MVT::v16i8,
3878 OPC_MoveParent,
3879 OPC_RecordChild1,
3880 OPC_CheckType, MVT::v16i8,
3881 OPC_CheckPatternPredicate1,
3882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3883 MVT::v16i8, 2, 1, 0,
3884 14,
3885 OPC_CheckChild1Type, MVT::v8i16,
3886 OPC_MoveParent,
3887 OPC_RecordChild1,
3888 OPC_CheckType, MVT::v8i16,
3889 OPC_CheckPatternPredicate1,
3890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3891 MVT::v8i16, 2, 1, 0,
3892 14,
3893 OPC_CheckChild1Type, MVT::v2i64,
3894 OPC_MoveParent,
3895 OPC_RecordChild1,
3896 OPC_CheckType, MVT::v2i64,
3897 OPC_CheckPatternPredicate1,
3898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3899 MVT::v2i64, 2, 1, 0,
3900 14,
3901 OPC_CheckChild1Type, MVT::v32i8,
3902 OPC_MoveParent,
3903 OPC_RecordChild1,
3904 OPC_CheckType, MVT::v32i8,
3905 OPC_CheckPatternPredicate0,
3906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3907 MVT::v32i8, 2, 1, 0,
3908 14,
3909 OPC_CheckChild1Type, MVT::v16i16,
3910 OPC_MoveParent,
3911 OPC_RecordChild1,
3912 OPC_CheckType, MVT::v16i16,
3913 OPC_CheckPatternPredicate0,
3914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3915 MVT::v16i16, 2, 1, 0,
3916 14,
3917 OPC_CheckChild1Type, MVT::v8i32,
3918 OPC_MoveParent,
3919 OPC_RecordChild1,
3920 OPC_CheckType, MVT::v8i32,
3921 OPC_CheckPatternPredicate0,
3922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3923 MVT::v8i32, 2, 1, 0,
3924 14,
3925 OPC_CheckChild1Type, MVT::v4i64,
3926 OPC_MoveParent,
3927 OPC_RecordChild1,
3928 OPC_CheckType, MVT::v4i64,
3929 OPC_CheckPatternPredicate0,
3930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3931 MVT::v4i64, 2, 1, 0,
3932 0,
3933 126,
3934 OPC_RecordChild0,
3935 OPC_MoveChild1,
3936 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
3937 OPC_MoveChild0,
3938 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3939 OPC_CheckPredicate0,
3940 OPC_MoveParent,
3941 OPC_RecordChild1,
3942 OPC_Scope, 13,
3943 OPC_CheckChild1Type, MVT::v16i8,
3944 OPC_MoveParent,
3945 OPC_CheckType, MVT::v16i8,
3946 OPC_CheckPatternPredicate1,
3947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
3948 MVT::v16i8, 2, 0, 1,
3949 13,
3950 OPC_CheckChild1Type, MVT::v8i16,
3951 OPC_MoveParent,
3952 OPC_CheckType, MVT::v8i16,
3953 OPC_CheckPatternPredicate1,
3954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
3955 MVT::v8i16, 2, 0, 1,
3956 13,
3957 OPC_CheckChild1Type, MVT::v4i32,
3958 OPC_MoveParent,
3959 OPC_CheckType, MVT::v4i32,
3960 OPC_CheckPatternPredicate1,
3961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
3962 MVT::v4i32, 2, 0, 1,
3963 13,
3964 OPC_CheckChild1Type, MVT::v2i64,
3965 OPC_MoveParent,
3966 OPC_CheckType, MVT::v2i64,
3967 OPC_CheckPatternPredicate1,
3968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
3969 MVT::v2i64, 2, 0, 1,
3970 13,
3971 OPC_CheckChild1Type, MVT::v32i8,
3972 OPC_MoveParent,
3973 OPC_CheckType, MVT::v32i8,
3974 OPC_CheckPatternPredicate0,
3975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
3976 MVT::v32i8, 2, 0, 1,
3977 13,
3978 OPC_CheckChild1Type, MVT::v16i16,
3979 OPC_MoveParent,
3980 OPC_CheckType, MVT::v16i16,
3981 OPC_CheckPatternPredicate0,
3982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
3983 MVT::v16i16, 2, 0, 1,
3984 13,
3985 OPC_CheckChild1Type, MVT::v8i32,
3986 OPC_MoveParent,
3987 OPC_CheckType, MVT::v8i32,
3988 OPC_CheckPatternPredicate0,
3989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
3990 MVT::v8i32, 2, 0, 1,
3991 13,
3992 OPC_CheckChild1Type, MVT::v4i64,
3993 OPC_MoveParent,
3994 OPC_CheckType, MVT::v4i64,
3995 OPC_CheckPatternPredicate0,
3996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
3997 MVT::v4i64, 2, 0, 1,
3998 0,
3999 5|128,1,
4000 OPC_MoveChild0,
4001 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4002 OPC_MoveChild0,
4003 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4004 OPC_CheckPredicate0,
4005 OPC_MoveParent,
4006 OPC_RecordChild1,
4007 OPC_Scope, 14,
4008 OPC_CheckChild1Type, MVT::v16i8,
4009 OPC_MoveParent,
4010 OPC_RecordChild1,
4011 OPC_CheckType, MVT::v16i8,
4012 OPC_CheckPatternPredicate1,
4013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
4014 MVT::v16i8, 2, 1, 0,
4015 14,
4016 OPC_CheckChild1Type, MVT::v8i16,
4017 OPC_MoveParent,
4018 OPC_RecordChild1,
4019 OPC_CheckType, MVT::v8i16,
4020 OPC_CheckPatternPredicate1,
4021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
4022 MVT::v8i16, 2, 1, 0,
4023 14,
4024 OPC_CheckChild1Type, MVT::v4i32,
4025 OPC_MoveParent,
4026 OPC_RecordChild1,
4027 OPC_CheckType, MVT::v4i32,
4028 OPC_CheckPatternPredicate1,
4029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
4030 MVT::v4i32, 2, 1, 0,
4031 14,
4032 OPC_CheckChild1Type, MVT::v2i64,
4033 OPC_MoveParent,
4034 OPC_RecordChild1,
4035 OPC_CheckType, MVT::v2i64,
4036 OPC_CheckPatternPredicate1,
4037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
4038 MVT::v2i64, 2, 1, 0,
4039 14,
4040 OPC_CheckChild1Type, MVT::v32i8,
4041 OPC_MoveParent,
4042 OPC_RecordChild1,
4043 OPC_CheckType, MVT::v32i8,
4044 OPC_CheckPatternPredicate0,
4045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
4046 MVT::v32i8, 2, 1, 0,
4047 14,
4048 OPC_CheckChild1Type, MVT::v16i16,
4049 OPC_MoveParent,
4050 OPC_RecordChild1,
4051 OPC_CheckType, MVT::v16i16,
4052 OPC_CheckPatternPredicate0,
4053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
4054 MVT::v16i16, 2, 1, 0,
4055 14,
4056 OPC_CheckChild1Type, MVT::v8i32,
4057 OPC_MoveParent,
4058 OPC_RecordChild1,
4059 OPC_CheckType, MVT::v8i32,
4060 OPC_CheckPatternPredicate0,
4061 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
4062 MVT::v8i32, 2, 1, 0,
4063 14,
4064 OPC_CheckChild1Type, MVT::v4i64,
4065 OPC_MoveParent,
4066 OPC_RecordChild1,
4067 OPC_CheckType, MVT::v4i64,
4068 OPC_CheckPatternPredicate0,
4069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
4070 MVT::v4i64, 2, 1, 0,
4071 0,
4072 24,
4073 OPC_RecordChild0,
4074 OPC_MoveChild1,
4075 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4076 OPC_MoveChild0,
4077 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4078 OPC_MoveParent,
4079 OPC_RecordChild1,
4080 OPC_CheckChild1Type, MVT::v4i32,
4081 OPC_MoveParent,
4082 OPC_CheckType, MVT::v4i32,
4083 OPC_CheckPatternPredicate1,
4084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
4085 MVT::v4i32, 2, 0, 1,
4086 24,
4087 OPC_MoveChild0,
4088 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4089 OPC_MoveChild0,
4090 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4091 OPC_MoveParent,
4092 OPC_RecordChild1,
4093 OPC_CheckChild1Type, MVT::v4i32,
4094 OPC_MoveParent,
4095 OPC_RecordChild1,
4096 OPC_CheckType, MVT::v4i32,
4097 OPC_CheckPatternPredicate1,
4098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
4099 MVT::v4i32, 2, 1, 0,
4100 36|128,4,
4101 OPC_RecordChild0,
4102 OPC_RecordChild1,
4103 OPC_SwitchType , 99, MVT::v16i8,
4104 OPC_Scope, 10,
4105 OPC_CheckPatternPredicate3,
4106 OPC_CheckComplexPat5, /*#*/1,
4107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4108 MVT::v16i8, 2, 0, 2,
4109 10,
4110 OPC_CheckPatternPredicate5,
4111 OPC_CheckComplexPat5, /*#*/1,
4112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4113 MVT::v16i8, 2, 0, 2,
4114 10,
4115 OPC_CheckPatternPredicate3,
4116 OPC_CheckComplexPat5, /*#*/0,
4117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4118 MVT::v16i8, 2, 1, 2,
4119 10,
4120 OPC_CheckPatternPredicate5,
4121 OPC_CheckComplexPat5, /*#*/0,
4122 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
4123 MVT::v16i8, 2, 1, 2,
4124 10,
4125 OPC_CheckPatternPredicate3,
4126 OPC_CheckComplexPat7, /*#*/1,
4127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4128 MVT::v16i8, 2, 0, 2,
4129 10,
4130 OPC_CheckPatternPredicate5,
4131 OPC_CheckComplexPat7, /*#*/1,
4132 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4133 MVT::v16i8, 2, 0, 2,
4134 10,
4135 OPC_CheckPatternPredicate3,
4136 OPC_CheckComplexPat7, /*#*/0,
4137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4138 MVT::v16i8, 2, 1, 2,
4139 10,
4140 OPC_CheckPatternPredicate5,
4141 OPC_CheckComplexPat7, /*#*/0,
4142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
4143 MVT::v16i8, 2, 1, 2,
4144 8,
4145 OPC_CheckPatternPredicate1,
4146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4147 MVT::v16i8, 2, 0, 1,
4148 0,
4149 55, MVT::v8i16,
4150 OPC_Scope, 10,
4151 OPC_CheckPatternPredicate3,
4152 OPC_CheckComplexPat5, /*#*/1,
4153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4154 MVT::v8i16, 2, 0, 2,
4155 10,
4156 OPC_CheckPatternPredicate5,
4157 OPC_CheckComplexPat5, /*#*/1,
4158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4159 MVT::v8i16, 2, 0, 2,
4160 10,
4161 OPC_CheckPatternPredicate3,
4162 OPC_CheckComplexPat5, /*#*/0,
4163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4164 MVT::v8i16, 2, 1, 2,
4165 10,
4166 OPC_CheckPatternPredicate5,
4167 OPC_CheckComplexPat5, /*#*/0,
4168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
4169 MVT::v8i16, 2, 1, 2,
4170 8,
4171 OPC_CheckPatternPredicate1,
4172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4173 MVT::v8i16, 2, 0, 1,
4174 0,
4175 55, MVT::v4i32,
4176 OPC_Scope, 10,
4177 OPC_CheckPatternPredicate3,
4178 OPC_CheckComplexPat5, /*#*/1,
4179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4180 MVT::v4i32, 2, 0, 2,
4181 10,
4182 OPC_CheckPatternPredicate5,
4183 OPC_CheckComplexPat5, /*#*/1,
4184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4185 MVT::v4i32, 2, 0, 2,
4186 10,
4187 OPC_CheckPatternPredicate3,
4188 OPC_CheckComplexPat5, /*#*/0,
4189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4190 MVT::v4i32, 2, 1, 2,
4191 10,
4192 OPC_CheckPatternPredicate5,
4193 OPC_CheckComplexPat5, /*#*/0,
4194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
4195 MVT::v4i32, 2, 1, 2,
4196 8,
4197 OPC_CheckPatternPredicate1,
4198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4199 MVT::v4i32, 2, 0, 1,
4200 0,
4201 55, MVT::v2i64,
4202 OPC_Scope, 10,
4203 OPC_CheckPatternPredicate3,
4204 OPC_CheckComplexPat5, /*#*/1,
4205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4206 MVT::v2i64, 2, 0, 2,
4207 10,
4208 OPC_CheckPatternPredicate5,
4209 OPC_CheckComplexPat5, /*#*/1,
4210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4211 MVT::v2i64, 2, 0, 2,
4212 10,
4213 OPC_CheckPatternPredicate3,
4214 OPC_CheckComplexPat5, /*#*/0,
4215 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4216 MVT::v2i64, 2, 1, 2,
4217 10,
4218 OPC_CheckPatternPredicate5,
4219 OPC_CheckComplexPat5, /*#*/0,
4220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
4221 MVT::v2i64, 2, 1, 2,
4222 8,
4223 OPC_CheckPatternPredicate1,
4224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
4225 MVT::v2i64, 2, 0, 1,
4226 0,
4227 99, MVT::v32i8,
4228 OPC_Scope, 10,
4229 OPC_CheckPatternPredicate2,
4230 OPC_CheckComplexPat5, /*#*/1,
4231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4232 MVT::v32i8, 2, 0, 2,
4233 10,
4234 OPC_CheckPatternPredicate4,
4235 OPC_CheckComplexPat5, /*#*/1,
4236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4237 MVT::v32i8, 2, 0, 2,
4238 10,
4239 OPC_CheckPatternPredicate2,
4240 OPC_CheckComplexPat5, /*#*/0,
4241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4242 MVT::v32i8, 2, 1, 2,
4243 10,
4244 OPC_CheckPatternPredicate4,
4245 OPC_CheckComplexPat5, /*#*/0,
4246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
4247 MVT::v32i8, 2, 1, 2,
4248 10,
4249 OPC_CheckPatternPredicate2,
4250 OPC_CheckComplexPat7, /*#*/1,
4251 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4252 MVT::v32i8, 2, 0, 2,
4253 10,
4254 OPC_CheckPatternPredicate4,
4255 OPC_CheckComplexPat7, /*#*/1,
4256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4257 MVT::v32i8, 2, 0, 2,
4258 10,
4259 OPC_CheckPatternPredicate2,
4260 OPC_CheckComplexPat7, /*#*/0,
4261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4262 MVT::v32i8, 2, 1, 2,
4263 10,
4264 OPC_CheckPatternPredicate4,
4265 OPC_CheckComplexPat7, /*#*/0,
4266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
4267 MVT::v32i8, 2, 1, 2,
4268 8,
4269 OPC_CheckPatternPredicate0,
4270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4271 MVT::v32i8, 2, 0, 1,
4272 0,
4273 55, MVT::v16i16,
4274 OPC_Scope, 10,
4275 OPC_CheckPatternPredicate2,
4276 OPC_CheckComplexPat5, /*#*/1,
4277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4278 MVT::v16i16, 2, 0, 2,
4279 10,
4280 OPC_CheckPatternPredicate4,
4281 OPC_CheckComplexPat5, /*#*/1,
4282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4283 MVT::v16i16, 2, 0, 2,
4284 10,
4285 OPC_CheckPatternPredicate2,
4286 OPC_CheckComplexPat5, /*#*/0,
4287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4288 MVT::v16i16, 2, 1, 2,
4289 10,
4290 OPC_CheckPatternPredicate4,
4291 OPC_CheckComplexPat5, /*#*/0,
4292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
4293 MVT::v16i16, 2, 1, 2,
4294 8,
4295 OPC_CheckPatternPredicate0,
4296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4297 MVT::v16i16, 2, 0, 1,
4298 0,
4299 55, MVT::v8i32,
4300 OPC_Scope, 10,
4301 OPC_CheckPatternPredicate2,
4302 OPC_CheckComplexPat5, /*#*/1,
4303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4304 MVT::v8i32, 2, 0, 2,
4305 10,
4306 OPC_CheckPatternPredicate4,
4307 OPC_CheckComplexPat5, /*#*/1,
4308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4309 MVT::v8i32, 2, 0, 2,
4310 10,
4311 OPC_CheckPatternPredicate2,
4312 OPC_CheckComplexPat5, /*#*/0,
4313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4314 MVT::v8i32, 2, 1, 2,
4315 10,
4316 OPC_CheckPatternPredicate4,
4317 OPC_CheckComplexPat5, /*#*/0,
4318 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
4319 MVT::v8i32, 2, 1, 2,
4320 8,
4321 OPC_CheckPatternPredicate0,
4322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4323 MVT::v8i32, 2, 0, 1,
4324 0,
4325 55, MVT::v4i64,
4326 OPC_Scope, 10,
4327 OPC_CheckPatternPredicate2,
4328 OPC_CheckComplexPat5, /*#*/1,
4329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4330 MVT::v4i64, 2, 0, 2,
4331 10,
4332 OPC_CheckPatternPredicate4,
4333 OPC_CheckComplexPat5, /*#*/1,
4334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4335 MVT::v4i64, 2, 0, 2,
4336 10,
4337 OPC_CheckPatternPredicate2,
4338 OPC_CheckComplexPat5, /*#*/0,
4339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4340 MVT::v4i64, 2, 1, 2,
4341 10,
4342 OPC_CheckPatternPredicate4,
4343 OPC_CheckComplexPat5, /*#*/0,
4344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
4345 MVT::v4i64, 2, 1, 2,
4346 8,
4347 OPC_CheckPatternPredicate0,
4348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
4349 MVT::v4i64, 2, 0, 1,
4350 0,
4351 0,
4352 0,
4353 56|128,38, TARGET_VAL(ISD::LOAD),
4354 OPC_RecordMemRef,
4355 OPC_RecordNode,
4356 OPC_Scope, 41|128,6,
4357 OPC_MoveChild1,
4358 OPC_SwitchOpcode , 15|128,3, TARGET_VAL(ISD::ADD),
4359 OPC_RecordChild0,
4360 OPC_RecordChild1,
4361 OPC_MoveChild1,
4362 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4363 OPC_Scope, 89|128,2,
4364 OPC_CheckPredicate, 11,
4365 OPC_MoveParent,
4366 OPC_CheckPredicate, 10,
4367 OPC_SwitchType , 68|128,1, MVT::i64,
4368 OPC_MoveParent,
4369 OPC_CheckPredicate6,
4370 OPC_CheckTypeI64,
4371 OPC_Scope, 17,
4372 OPC_CheckPredicate, 16,
4373 OPC_CheckPredicate, 13,
4374 OPC_CheckPatternPredicate7,
4375 OPC_CheckComplexPat0, /*#*/1,
4376 OPC_EmitMergeInputChains1_0,
4377 OPC_EmitConvertToTarget2,
4378 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4379 MVT::i64, 2, 3, 4,
4380 17,
4381 OPC_CheckPredicate, 17,
4382 OPC_CheckPredicate, 13,
4383 OPC_CheckPatternPredicate7,
4384 OPC_CheckComplexPat0, /*#*/1,
4385 OPC_EmitMergeInputChains1_0,
4386 OPC_EmitConvertToTarget2,
4387 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4388 MVT::i64, 2, 3, 4,
4389 17,
4390 OPC_CheckPredicate, 16,
4391 OPC_CheckPredicate, 14,
4392 OPC_CheckPatternPredicate7,
4393 OPC_CheckComplexPat0, /*#*/1,
4394 OPC_EmitMergeInputChains1_0,
4395 OPC_EmitConvertToTarget2,
4396 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4397 MVT::i64, 2, 3, 4,
4398 17,
4399 OPC_CheckPredicate, 17,
4400 OPC_CheckPredicate, 14,
4401 OPC_CheckPatternPredicate7,
4402 OPC_CheckComplexPat0, /*#*/1,
4403 OPC_EmitMergeInputChains1_0,
4404 OPC_EmitConvertToTarget2,
4405 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4406 MVT::i64, 2, 3, 4,
4407 15,
4408 OPC_CheckPredicate4,
4409 OPC_CheckPatternPredicate, 15,
4410 OPC_CheckComplexPat0, /*#*/1,
4411 OPC_EmitMergeInputChains1_0,
4412 OPC_EmitConvertToTarget2,
4413 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4414 MVT::i64, 2, 3, 4,
4415 36,
4416 OPC_CheckPredicate, 19,
4417 OPC_Scope, 15,
4418 OPC_CheckPredicate, 13,
4419 OPC_CheckPatternPredicate7,
4420 OPC_CheckComplexPat0, /*#*/1,
4421 OPC_EmitMergeInputChains1_0,
4422 OPC_EmitConvertToTarget2,
4423 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4424 MVT::i64, 2, 3, 4,
4425 15,
4426 OPC_CheckPredicate, 14,
4427 OPC_CheckPatternPredicate7,
4428 OPC_CheckComplexPat0, /*#*/1,
4429 OPC_EmitMergeInputChains1_0,
4430 OPC_EmitConvertToTarget2,
4431 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4432 MVT::i64, 2, 3, 4,
4433 0,
4434 16,
4435 OPC_CheckPredicate, 16,
4436 OPC_CheckPredicate5,
4437 OPC_CheckPatternPredicate6,
4438 OPC_CheckComplexPat0, /*#*/1,
4439 OPC_EmitMergeInputChains1_0,
4440 OPC_EmitConvertToTarget2,
4441 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4442 MVT::i64, 2, 3, 4,
4443 16,
4444 OPC_CheckPredicate, 17,
4445 OPC_CheckPredicate5,
4446 OPC_CheckPatternPredicate6,
4447 OPC_CheckComplexPat0, /*#*/1,
4448 OPC_EmitMergeInputChains1_0,
4449 OPC_EmitConvertToTarget2,
4450 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4451 MVT::i64, 2, 3, 4,
4452 16,
4453 OPC_CheckPredicate, 19,
4454 OPC_CheckPredicate5,
4455 OPC_CheckPatternPredicate6,
4456 OPC_CheckComplexPat0, /*#*/1,
4457 OPC_EmitMergeInputChains1_0,
4458 OPC_EmitConvertToTarget2,
4459 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
4460 MVT::i64, 2, 3, 4,
4461 14,
4462 OPC_CheckPredicate4,
4463 OPC_CheckPatternPredicate6,
4464 OPC_CheckComplexPat0, /*#*/1,
4465 OPC_EmitMergeInputChains1_0,
4466 OPC_EmitConvertToTarget2,
4467 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
4468 MVT::i64, 2, 3, 4,
4469 0,
4470 8|128,1, MVT::i32,
4471 OPC_MoveParent,
4472 OPC_CheckPredicate6,
4473 OPC_CheckTypeI32,
4474 OPC_Scope, 18,
4475 OPC_CheckPredicate, 16,
4476 OPC_CheckPredicate, 13,
4477 OPC_CheckPatternPredicate, 8,
4478 OPC_CheckComplexPat0, /*#*/1,
4479 OPC_EmitMergeInputChains1_0,
4480 OPC_EmitConvertToTarget2,
4481 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4482 MVT::i32, 2, 3, 4,
4483 18,
4484 OPC_CheckPredicate, 17,
4485 OPC_CheckPredicate, 13,
4486 OPC_CheckPatternPredicate, 8,
4487 OPC_CheckComplexPat0, /*#*/1,
4488 OPC_EmitMergeInputChains1_0,
4489 OPC_EmitConvertToTarget2,
4490 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4491 MVT::i32, 2, 3, 4,
4492 18,
4493 OPC_CheckPredicate, 16,
4494 OPC_CheckPredicate, 14,
4495 OPC_CheckPatternPredicate, 8,
4496 OPC_CheckComplexPat0, /*#*/1,
4497 OPC_EmitMergeInputChains1_0,
4498 OPC_EmitConvertToTarget2,
4499 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4500 MVT::i32, 2, 3, 4,
4501 18,
4502 OPC_CheckPredicate, 17,
4503 OPC_CheckPredicate, 14,
4504 OPC_CheckPatternPredicate, 8,
4505 OPC_CheckComplexPat0, /*#*/1,
4506 OPC_EmitMergeInputChains1_0,
4507 OPC_EmitConvertToTarget2,
4508 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4509 MVT::i32, 2, 3, 4,
4510 15,
4511 OPC_CheckPredicate4,
4512 OPC_CheckPatternPredicate, 9,
4513 OPC_CheckComplexPat0, /*#*/1,
4514 OPC_EmitMergeInputChains1_0,
4515 OPC_EmitConvertToTarget2,
4516 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4517 MVT::i32, 2, 3, 4,
4518 38,
4519 OPC_CheckPredicate, 19,
4520 OPC_Scope, 16,
4521 OPC_CheckPredicate, 13,
4522 OPC_CheckPatternPredicate, 8,
4523 OPC_CheckComplexPat0, /*#*/1,
4524 OPC_EmitMergeInputChains1_0,
4525 OPC_EmitConvertToTarget2,
4526 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4527 MVT::i32, 2, 3, 4,
4528 16,
4529 OPC_CheckPredicate, 14,
4530 OPC_CheckPatternPredicate, 8,
4531 OPC_CheckComplexPat0, /*#*/1,
4532 OPC_EmitMergeInputChains1_0,
4533 OPC_EmitConvertToTarget2,
4534 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4535 MVT::i32, 2, 3, 4,
4536 0,
4537 0,
4538 0,
4539 43,
4540 OPC_CheckPredicate, 38,
4541 OPC_MoveParent,
4542 OPC_CheckPredicate, 10,
4543 OPC_CheckTypeI64,
4544 OPC_MoveParent,
4545 OPC_CheckPredicate6,
4546 OPC_CheckTypeI64,
4547 OPC_Scope, 16,
4548 OPC_CheckPredicate, 16,
4549 OPC_CheckPredicate5,
4550 OPC_CheckPatternPredicate6,
4551 OPC_CheckComplexPat0, /*#*/1,
4552 OPC_EmitMergeInputChains1_0,
4553 OPC_EmitConvertToTarget2,
4554 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
4555 MVT::i64, 2, 3, 4,
4556 14,
4557 OPC_CheckPredicate4,
4558 OPC_CheckPatternPredicate6,
4559 OPC_CheckComplexPat0, /*#*/1,
4560 OPC_EmitMergeInputChains1_0,
4561 OPC_EmitConvertToTarget2,
4562 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
4563 MVT::i64, 2, 3, 4,
4564 0,
4565 0,
4566 15|128,3, TARGET_VAL(ISD::OR),
4567 OPC_RecordChild0,
4568 OPC_RecordChild1,
4569 OPC_MoveChild1,
4570 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4571 OPC_Scope, 89|128,2,
4572 OPC_CheckPredicate, 11,
4573 OPC_MoveParent,
4574 OPC_CheckPredicate, 10,
4575 OPC_SwitchType , 68|128,1, MVT::i64,
4576 OPC_MoveParent,
4577 OPC_CheckPredicate6,
4578 OPC_CheckTypeI64,
4579 OPC_Scope, 17,
4580 OPC_CheckPredicate, 16,
4581 OPC_CheckPredicate, 13,
4582 OPC_CheckPatternPredicate7,
4583 OPC_CheckComplexPat0, /*#*/1,
4584 OPC_EmitMergeInputChains1_0,
4585 OPC_EmitConvertToTarget2,
4586 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4587 MVT::i64, 2, 3, 4,
4588 17,
4589 OPC_CheckPredicate, 17,
4590 OPC_CheckPredicate, 13,
4591 OPC_CheckPatternPredicate7,
4592 OPC_CheckComplexPat0, /*#*/1,
4593 OPC_EmitMergeInputChains1_0,
4594 OPC_EmitConvertToTarget2,
4595 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4596 MVT::i64, 2, 3, 4,
4597 17,
4598 OPC_CheckPredicate, 16,
4599 OPC_CheckPredicate, 14,
4600 OPC_CheckPatternPredicate7,
4601 OPC_CheckComplexPat0, /*#*/1,
4602 OPC_EmitMergeInputChains1_0,
4603 OPC_EmitConvertToTarget2,
4604 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4605 MVT::i64, 2, 3, 4,
4606 17,
4607 OPC_CheckPredicate, 17,
4608 OPC_CheckPredicate, 14,
4609 OPC_CheckPatternPredicate7,
4610 OPC_CheckComplexPat0, /*#*/1,
4611 OPC_EmitMergeInputChains1_0,
4612 OPC_EmitConvertToTarget2,
4613 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4614 MVT::i64, 2, 3, 4,
4615 15,
4616 OPC_CheckPredicate4,
4617 OPC_CheckPatternPredicate, 15,
4618 OPC_CheckComplexPat0, /*#*/1,
4619 OPC_EmitMergeInputChains1_0,
4620 OPC_EmitConvertToTarget2,
4621 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4622 MVT::i64, 2, 3, 4,
4623 36,
4624 OPC_CheckPredicate, 19,
4625 OPC_Scope, 15,
4626 OPC_CheckPredicate, 13,
4627 OPC_CheckPatternPredicate7,
4628 OPC_CheckComplexPat0, /*#*/1,
4629 OPC_EmitMergeInputChains1_0,
4630 OPC_EmitConvertToTarget2,
4631 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4632 MVT::i64, 2, 3, 4,
4633 15,
4634 OPC_CheckPredicate, 14,
4635 OPC_CheckPatternPredicate7,
4636 OPC_CheckComplexPat0, /*#*/1,
4637 OPC_EmitMergeInputChains1_0,
4638 OPC_EmitConvertToTarget2,
4639 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4640 MVT::i64, 2, 3, 4,
4641 0,
4642 16,
4643 OPC_CheckPredicate, 16,
4644 OPC_CheckPredicate5,
4645 OPC_CheckPatternPredicate6,
4646 OPC_CheckComplexPat0, /*#*/1,
4647 OPC_EmitMergeInputChains1_0,
4648 OPC_EmitConvertToTarget2,
4649 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4650 MVT::i64, 2, 3, 4,
4651 16,
4652 OPC_CheckPredicate, 17,
4653 OPC_CheckPredicate5,
4654 OPC_CheckPatternPredicate6,
4655 OPC_CheckComplexPat0, /*#*/1,
4656 OPC_EmitMergeInputChains1_0,
4657 OPC_EmitConvertToTarget2,
4658 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4659 MVT::i64, 2, 3, 4,
4660 16,
4661 OPC_CheckPredicate, 19,
4662 OPC_CheckPredicate5,
4663 OPC_CheckPatternPredicate6,
4664 OPC_CheckComplexPat0, /*#*/1,
4665 OPC_EmitMergeInputChains1_0,
4666 OPC_EmitConvertToTarget2,
4667 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
4668 MVT::i64, 2, 3, 4,
4669 14,
4670 OPC_CheckPredicate4,
4671 OPC_CheckPatternPredicate6,
4672 OPC_CheckComplexPat0, /*#*/1,
4673 OPC_EmitMergeInputChains1_0,
4674 OPC_EmitConvertToTarget2,
4675 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
4676 MVT::i64, 2, 3, 4,
4677 0,
4678 8|128,1, MVT::i32,
4679 OPC_MoveParent,
4680 OPC_CheckPredicate6,
4681 OPC_CheckTypeI32,
4682 OPC_Scope, 18,
4683 OPC_CheckPredicate, 16,
4684 OPC_CheckPredicate, 13,
4685 OPC_CheckPatternPredicate, 8,
4686 OPC_CheckComplexPat0, /*#*/1,
4687 OPC_EmitMergeInputChains1_0,
4688 OPC_EmitConvertToTarget2,
4689 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4690 MVT::i32, 2, 3, 4,
4691 18,
4692 OPC_CheckPredicate, 17,
4693 OPC_CheckPredicate, 13,
4694 OPC_CheckPatternPredicate, 8,
4695 OPC_CheckComplexPat0, /*#*/1,
4696 OPC_EmitMergeInputChains1_0,
4697 OPC_EmitConvertToTarget2,
4698 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4699 MVT::i32, 2, 3, 4,
4700 18,
4701 OPC_CheckPredicate, 16,
4702 OPC_CheckPredicate, 14,
4703 OPC_CheckPatternPredicate, 8,
4704 OPC_CheckComplexPat0, /*#*/1,
4705 OPC_EmitMergeInputChains1_0,
4706 OPC_EmitConvertToTarget2,
4707 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4708 MVT::i32, 2, 3, 4,
4709 18,
4710 OPC_CheckPredicate, 17,
4711 OPC_CheckPredicate, 14,
4712 OPC_CheckPatternPredicate, 8,
4713 OPC_CheckComplexPat0, /*#*/1,
4714 OPC_EmitMergeInputChains1_0,
4715 OPC_EmitConvertToTarget2,
4716 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4717 MVT::i32, 2, 3, 4,
4718 15,
4719 OPC_CheckPredicate4,
4720 OPC_CheckPatternPredicate, 9,
4721 OPC_CheckComplexPat0, /*#*/1,
4722 OPC_EmitMergeInputChains1_0,
4723 OPC_EmitConvertToTarget2,
4724 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4725 MVT::i32, 2, 3, 4,
4726 38,
4727 OPC_CheckPredicate, 19,
4728 OPC_Scope, 16,
4729 OPC_CheckPredicate, 13,
4730 OPC_CheckPatternPredicate, 8,
4731 OPC_CheckComplexPat0, /*#*/1,
4732 OPC_EmitMergeInputChains1_0,
4733 OPC_EmitConvertToTarget2,
4734 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4735 MVT::i32, 2, 3, 4,
4736 16,
4737 OPC_CheckPredicate, 14,
4738 OPC_CheckPatternPredicate, 8,
4739 OPC_CheckComplexPat0, /*#*/1,
4740 OPC_EmitMergeInputChains1_0,
4741 OPC_EmitConvertToTarget2,
4742 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4743 MVT::i32, 2, 3, 4,
4744 0,
4745 0,
4746 0,
4747 43,
4748 OPC_CheckPredicate, 38,
4749 OPC_MoveParent,
4750 OPC_CheckPredicate, 10,
4751 OPC_CheckTypeI64,
4752 OPC_MoveParent,
4753 OPC_CheckPredicate6,
4754 OPC_CheckTypeI64,
4755 OPC_Scope, 16,
4756 OPC_CheckPredicate, 16,
4757 OPC_CheckPredicate5,
4758 OPC_CheckPatternPredicate6,
4759 OPC_CheckComplexPat0, /*#*/1,
4760 OPC_EmitMergeInputChains1_0,
4761 OPC_EmitConvertToTarget2,
4762 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
4763 MVT::i64, 2, 3, 4,
4764 14,
4765 OPC_CheckPredicate4,
4766 OPC_CheckPatternPredicate6,
4767 OPC_CheckComplexPat0, /*#*/1,
4768 OPC_EmitMergeInputChains1_0,
4769 OPC_EmitConvertToTarget2,
4770 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
4771 MVT::i64, 2, 3, 4,
4772 0,
4773 0,
4774 0,
4775 65|128,2,
4776 OPC_RecordChild1,
4777 OPC_CheckPredicate6,
4778 OPC_Scope, 35,
4779 OPC_CheckPredicate, 16,
4780 OPC_CheckPredicate, 13,
4781 OPC_SwitchType , 12, MVT::i64,
4782 OPC_CheckPatternPredicate7,
4783 OPC_CheckComplexPat4, /*#*/1,
4784 OPC_EmitMergeInputChains1_0,
4785 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4786 MVT::i64, 2, 2, 3,
4787 13, MVT::i32,
4788 OPC_CheckPatternPredicate, 8,
4789 OPC_CheckComplexPat4, /*#*/1,
4790 OPC_EmitMergeInputChains1_0,
4791 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4792 MVT::i32, 2, 2, 3,
4793 0,
4794 35,
4795 OPC_CheckPredicate, 17,
4796 OPC_CheckPredicate, 13,
4797 OPC_SwitchType , 12, MVT::i64,
4798 OPC_CheckPatternPredicate7,
4799 OPC_CheckComplexPat4, /*#*/1,
4800 OPC_EmitMergeInputChains1_0,
4801 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4802 MVT::i64, 2, 2, 3,
4803 13, MVT::i32,
4804 OPC_CheckPatternPredicate, 8,
4805 OPC_CheckComplexPat4, /*#*/1,
4806 OPC_EmitMergeInputChains1_0,
4807 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
4808 MVT::i32, 2, 2, 3,
4809 0,
4810 35,
4811 OPC_CheckPredicate, 16,
4812 OPC_CheckPredicate, 14,
4813 OPC_SwitchType , 12, MVT::i64,
4814 OPC_CheckPatternPredicate7,
4815 OPC_CheckComplexPat4, /*#*/1,
4816 OPC_EmitMergeInputChains1_0,
4817 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4818 MVT::i64, 2, 2, 3,
4819 13, MVT::i32,
4820 OPC_CheckPatternPredicate, 8,
4821 OPC_CheckComplexPat4, /*#*/1,
4822 OPC_EmitMergeInputChains1_0,
4823 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4824 MVT::i32, 2, 2, 3,
4825 0,
4826 35,
4827 OPC_CheckPredicate, 17,
4828 OPC_CheckPredicate, 14,
4829 OPC_SwitchType , 12, MVT::i64,
4830 OPC_CheckPatternPredicate7,
4831 OPC_CheckComplexPat4, /*#*/1,
4832 OPC_EmitMergeInputChains1_0,
4833 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4834 MVT::i64, 2, 2, 3,
4835 13, MVT::i32,
4836 OPC_CheckPatternPredicate, 8,
4837 OPC_CheckComplexPat4, /*#*/1,
4838 OPC_EmitMergeInputChains1_0,
4839 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
4840 MVT::i32, 2, 2, 3,
4841 0,
4842 33,
4843 OPC_CheckPredicate4,
4844 OPC_SwitchType , 13, MVT::i64,
4845 OPC_CheckPatternPredicate, 15,
4846 OPC_CheckComplexPat4, /*#*/1,
4847 OPC_EmitMergeInputChains1_0,
4848 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4849 MVT::i64, 2, 2, 3,
4850 13, MVT::i32,
4851 OPC_CheckPatternPredicate, 9,
4852 OPC_CheckComplexPat4, /*#*/1,
4853 OPC_EmitMergeInputChains1_0,
4854 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4855 MVT::i32, 2, 2, 3,
4856 0,
4857 72,
4858 OPC_CheckPredicate, 19,
4859 OPC_Scope, 33,
4860 OPC_CheckPredicate, 13,
4861 OPC_SwitchType , 12, MVT::i64,
4862 OPC_CheckPatternPredicate7,
4863 OPC_CheckComplexPat4, /*#*/1,
4864 OPC_EmitMergeInputChains1_0,
4865 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4866 MVT::i64, 2, 2, 3,
4867 13, MVT::i32,
4868 OPC_CheckPatternPredicate, 8,
4869 OPC_CheckComplexPat4, /*#*/1,
4870 OPC_EmitMergeInputChains1_0,
4871 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
4872 MVT::i32, 2, 2, 3,
4873 0,
4874 33,
4875 OPC_CheckPredicate, 14,
4876 OPC_SwitchType , 12, MVT::i64,
4877 OPC_CheckPatternPredicate7,
4878 OPC_CheckComplexPat4, /*#*/1,
4879 OPC_EmitMergeInputChains1_0,
4880 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4881 MVT::i64, 2, 2, 3,
4882 13, MVT::i32,
4883 OPC_CheckPatternPredicate, 8,
4884 OPC_CheckComplexPat4, /*#*/1,
4885 OPC_EmitMergeInputChains1_0,
4886 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
4887 MVT::i32, 2, 2, 3,
4888 0,
4889 0,
4890 16,
4891 OPC_CheckPredicate, 16,
4892 OPC_CheckPredicate5,
4893 OPC_CheckTypeI64,
4894 OPC_CheckPatternPredicate6,
4895 OPC_CheckComplexPat4, /*#*/1,
4896 OPC_EmitMergeInputChains1_0,
4897 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4898 MVT::i64, 2, 2, 3,
4899 16,
4900 OPC_CheckPredicate, 17,
4901 OPC_CheckPredicate5,
4902 OPC_CheckTypeI64,
4903 OPC_CheckPatternPredicate6,
4904 OPC_CheckComplexPat4, /*#*/1,
4905 OPC_EmitMergeInputChains1_0,
4906 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
4907 MVT::i64, 2, 2, 3,
4908 16,
4909 OPC_CheckPredicate, 19,
4910 OPC_CheckPredicate5,
4911 OPC_CheckTypeI64,
4912 OPC_CheckPatternPredicate6,
4913 OPC_CheckComplexPat4, /*#*/1,
4914 OPC_EmitMergeInputChains1_0,
4915 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
4916 MVT::i64, 2, 2, 3,
4917 14,
4918 OPC_CheckPredicate4,
4919 OPC_CheckTypeI64,
4920 OPC_CheckPatternPredicate6,
4921 OPC_CheckComplexPat4, /*#*/1,
4922 OPC_EmitMergeInputChains1_0,
4923 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
4924 MVT::i64, 2, 2, 3,
4925 0,
4926 84|128,2,
4927 OPC_MoveChild1,
4928 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4929 OPC_RecordChild0,
4930 OPC_RecordChild1,
4931 OPC_CheckTypeI64,
4932 OPC_MoveParent,
4933 OPC_CheckPredicate6,
4934 OPC_CheckTypeI64,
4935 OPC_Scope, 16,
4936 OPC_CheckPredicate, 17,
4937 OPC_CheckPredicate, 13,
4938 OPC_CheckPatternPredicate6,
4939 OPC_CheckComplexPat2, /*#*/1,
4940 OPC_EmitMergeInputChains1_0,
4941 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
4942 MVT::i64, 2, 3, 2,
4943 16,
4944 OPC_CheckPredicate, 16,
4945 OPC_CheckPredicate, 13,
4946 OPC_CheckPatternPredicate6,
4947 OPC_CheckComplexPat2, /*#*/1,
4948 OPC_EmitMergeInputChains1_0,
4949 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
4950 MVT::i64, 2, 3, 2,
4951 16,
4952 OPC_CheckPredicate, 19,
4953 OPC_CheckPredicate, 13,
4954 OPC_CheckPatternPredicate6,
4955 OPC_CheckComplexPat2, /*#*/1,
4956 OPC_EmitMergeInputChains1_0,
4957 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
4958 MVT::i64, 2, 3, 2,
4959 16,
4960 OPC_CheckPredicate, 17,
4961 OPC_CheckPredicate, 14,
4962 OPC_CheckPatternPredicate6,
4963 OPC_CheckComplexPat2, /*#*/1,
4964 OPC_EmitMergeInputChains1_0,
4965 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
4966 MVT::i64, 2, 3, 2,
4967 16,
4968 OPC_CheckPredicate, 16,
4969 OPC_CheckPredicate, 14,
4970 OPC_CheckPatternPredicate6,
4971 OPC_CheckComplexPat2, /*#*/1,
4972 OPC_EmitMergeInputChains1_0,
4973 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
4974 MVT::i64, 2, 3, 2,
4975 16,
4976 OPC_CheckPredicate, 19,
4977 OPC_CheckPredicate, 14,
4978 OPC_CheckPatternPredicate6,
4979 OPC_CheckComplexPat2, /*#*/1,
4980 OPC_EmitMergeInputChains1_0,
4981 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
4982 MVT::i64, 2, 3, 2,
4983 15,
4984 OPC_CheckPredicate, 17,
4985 OPC_CheckPredicate5,
4986 OPC_CheckPatternPredicate6,
4987 OPC_CheckComplexPat2, /*#*/1,
4988 OPC_EmitMergeInputChains1_0,
4989 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
4990 MVT::i64, 2, 3, 2,
4991 15,
4992 OPC_CheckPredicate, 16,
4993 OPC_CheckPredicate5,
4994 OPC_CheckPatternPredicate6,
4995 OPC_CheckComplexPat2, /*#*/1,
4996 OPC_EmitMergeInputChains1_0,
4997 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
4998 MVT::i64, 2, 3, 2,
4999 15,
5000 OPC_CheckPredicate, 19,
5001 OPC_CheckPredicate5,
5002 OPC_CheckPatternPredicate6,
5003 OPC_CheckComplexPat2, /*#*/1,
5004 OPC_EmitMergeInputChains1_0,
5005 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
5006 MVT::i64, 2, 3, 2,
5007 13,
5008 OPC_CheckPredicate4,
5009 OPC_CheckPatternPredicate6,
5010 OPC_CheckComplexPat2, /*#*/1,
5011 OPC_EmitMergeInputChains1_0,
5012 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5013 MVT::i64, 2, 3, 2,
5014 16,
5015 OPC_CheckPredicate, 17,
5016 OPC_CheckPredicate, 13,
5017 OPC_CheckPatternPredicate6,
5018 OPC_CheckComplexPat2, /*#*/2,
5019 OPC_EmitMergeInputChains1_0,
5020 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
5021 MVT::i64, 2, 3, 1,
5022 16,
5023 OPC_CheckPredicate, 16,
5024 OPC_CheckPredicate, 13,
5025 OPC_CheckPatternPredicate6,
5026 OPC_CheckComplexPat2, /*#*/2,
5027 OPC_EmitMergeInputChains1_0,
5028 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
5029 MVT::i64, 2, 3, 1,
5030 16,
5031 OPC_CheckPredicate, 19,
5032 OPC_CheckPredicate, 13,
5033 OPC_CheckPatternPredicate6,
5034 OPC_CheckComplexPat2, /*#*/2,
5035 OPC_EmitMergeInputChains1_0,
5036 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
5037 MVT::i64, 2, 3, 1,
5038 16,
5039 OPC_CheckPredicate, 17,
5040 OPC_CheckPredicate, 14,
5041 OPC_CheckPatternPredicate6,
5042 OPC_CheckComplexPat2, /*#*/2,
5043 OPC_EmitMergeInputChains1_0,
5044 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
5045 MVT::i64, 2, 3, 1,
5046 16,
5047 OPC_CheckPredicate, 16,
5048 OPC_CheckPredicate, 14,
5049 OPC_CheckPatternPredicate6,
5050 OPC_CheckComplexPat2, /*#*/2,
5051 OPC_EmitMergeInputChains1_0,
5052 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
5053 MVT::i64, 2, 3, 1,
5054 16,
5055 OPC_CheckPredicate, 19,
5056 OPC_CheckPredicate, 14,
5057 OPC_CheckPatternPredicate6,
5058 OPC_CheckComplexPat2, /*#*/2,
5059 OPC_EmitMergeInputChains1_0,
5060 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
5061 MVT::i64, 2, 3, 1,
5062 15,
5063 OPC_CheckPredicate, 17,
5064 OPC_CheckPredicate5,
5065 OPC_CheckPatternPredicate6,
5066 OPC_CheckComplexPat2, /*#*/2,
5067 OPC_EmitMergeInputChains1_0,
5068 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
5069 MVT::i64, 2, 3, 1,
5070 15,
5071 OPC_CheckPredicate, 16,
5072 OPC_CheckPredicate5,
5073 OPC_CheckPatternPredicate6,
5074 OPC_CheckComplexPat2, /*#*/2,
5075 OPC_EmitMergeInputChains1_0,
5076 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
5077 MVT::i64, 2, 3, 1,
5078 15,
5079 OPC_CheckPredicate, 19,
5080 OPC_CheckPredicate5,
5081 OPC_CheckPatternPredicate6,
5082 OPC_CheckComplexPat2, /*#*/2,
5083 OPC_EmitMergeInputChains1_0,
5084 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
5085 MVT::i64, 2, 3, 1,
5086 13,
5087 OPC_CheckPredicate4,
5088 OPC_CheckPatternPredicate6,
5089 OPC_CheckComplexPat2, /*#*/2,
5090 OPC_EmitMergeInputChains1_0,
5091 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5092 MVT::i64, 2, 3, 1,
5093 0,
5094 101|128,2,
5095 OPC_RecordChild1,
5096 OPC_CheckPredicate6,
5097 OPC_Scope, 39,
5098 OPC_CheckPredicate, 16,
5099 OPC_CheckPredicate, 13,
5100 OPC_SwitchType , 14, MVT::i64,
5101 OPC_CheckPatternPredicate7,
5102 OPC_CheckComplexPat0, /*#*/1,
5103 OPC_EmitMergeInputChains1_0,
5104 OPC_EmitInteger64, 0,
5105 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5106 MVT::i64, 2, 2, 3,
5107 15, MVT::i32,
5108 OPC_CheckPatternPredicate, 8,
5109 OPC_CheckComplexPat0, /*#*/1,
5110 OPC_EmitMergeInputChains1_0,
5111 OPC_EmitInteger32, 0,
5112 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5113 MVT::i32, 2, 2, 3,
5114 0,
5115 39,
5116 OPC_CheckPredicate, 17,
5117 OPC_CheckPredicate, 13,
5118 OPC_SwitchType , 14, MVT::i64,
5119 OPC_CheckPatternPredicate7,
5120 OPC_CheckComplexPat0, /*#*/1,
5121 OPC_EmitMergeInputChains1_0,
5122 OPC_EmitInteger64, 0,
5123 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5124 MVT::i64, 2, 2, 3,
5125 15, MVT::i32,
5126 OPC_CheckPatternPredicate, 8,
5127 OPC_CheckComplexPat0, /*#*/1,
5128 OPC_EmitMergeInputChains1_0,
5129 OPC_EmitInteger32, 0,
5130 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
5131 MVT::i32, 2, 2, 3,
5132 0,
5133 39,
5134 OPC_CheckPredicate, 16,
5135 OPC_CheckPredicate, 14,
5136 OPC_SwitchType , 14, MVT::i64,
5137 OPC_CheckPatternPredicate7,
5138 OPC_CheckComplexPat0, /*#*/1,
5139 OPC_EmitMergeInputChains1_0,
5140 OPC_EmitInteger64, 0,
5141 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5142 MVT::i64, 2, 2, 3,
5143 15, MVT::i32,
5144 OPC_CheckPatternPredicate, 8,
5145 OPC_CheckComplexPat0, /*#*/1,
5146 OPC_EmitMergeInputChains1_0,
5147 OPC_EmitInteger32, 0,
5148 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5149 MVT::i32, 2, 2, 3,
5150 0,
5151 39,
5152 OPC_CheckPredicate, 17,
5153 OPC_CheckPredicate, 14,
5154 OPC_SwitchType , 14, MVT::i64,
5155 OPC_CheckPatternPredicate7,
5156 OPC_CheckComplexPat0, /*#*/1,
5157 OPC_EmitMergeInputChains1_0,
5158 OPC_EmitInteger64, 0,
5159 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5160 MVT::i64, 2, 2, 3,
5161 15, MVT::i32,
5162 OPC_CheckPatternPredicate, 8,
5163 OPC_CheckComplexPat0, /*#*/1,
5164 OPC_EmitMergeInputChains1_0,
5165 OPC_EmitInteger32, 0,
5166 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
5167 MVT::i32, 2, 2, 3,
5168 0,
5169 37,
5170 OPC_CheckPredicate4,
5171 OPC_SwitchType , 15, MVT::i64,
5172 OPC_CheckPatternPredicate, 15,
5173 OPC_CheckComplexPat0, /*#*/1,
5174 OPC_EmitMergeInputChains1_0,
5175 OPC_EmitInteger64, 0,
5176 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5177 MVT::i64, 2, 2, 3,
5178 15, MVT::i32,
5179 OPC_CheckPatternPredicate, 9,
5180 OPC_CheckComplexPat0, /*#*/1,
5181 OPC_EmitMergeInputChains1_0,
5182 OPC_EmitInteger32, 0,
5183 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5184 MVT::i32, 2, 2, 3,
5185 0,
5186 80,
5187 OPC_CheckPredicate, 19,
5188 OPC_Scope, 37,
5189 OPC_CheckPredicate, 13,
5190 OPC_SwitchType , 14, MVT::i64,
5191 OPC_CheckPatternPredicate7,
5192 OPC_CheckComplexPat0, /*#*/1,
5193 OPC_EmitMergeInputChains1_0,
5194 OPC_EmitInteger64, 0,
5195 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
5196 MVT::i64, 2, 2, 3,
5197 15, MVT::i32,
5198 OPC_CheckPatternPredicate, 8,
5199 OPC_CheckComplexPat0, /*#*/1,
5200 OPC_EmitMergeInputChains1_0,
5201 OPC_EmitInteger32, 0,
5202 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
5203 MVT::i32, 2, 2, 3,
5204 0,
5205 37,
5206 OPC_CheckPredicate, 14,
5207 OPC_SwitchType , 14, MVT::i64,
5208 OPC_CheckPatternPredicate7,
5209 OPC_CheckComplexPat0, /*#*/1,
5210 OPC_EmitMergeInputChains1_0,
5211 OPC_EmitInteger64, 0,
5212 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
5213 MVT::i64, 2, 2, 3,
5214 15, MVT::i32,
5215 OPC_CheckPatternPredicate, 8,
5216 OPC_CheckComplexPat0, /*#*/1,
5217 OPC_EmitMergeInputChains1_0,
5218 OPC_EmitInteger32, 0,
5219 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
5220 MVT::i32, 2, 2, 3,
5221 0,
5222 0,
5223 18,
5224 OPC_CheckPredicate, 16,
5225 OPC_CheckPredicate5,
5226 OPC_CheckTypeI64,
5227 OPC_CheckPatternPredicate6,
5228 OPC_CheckComplexPat0, /*#*/1,
5229 OPC_EmitMergeInputChains1_0,
5230 OPC_EmitInteger64, 0,
5231 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5232 MVT::i64, 2, 2, 3,
5233 18,
5234 OPC_CheckPredicate, 17,
5235 OPC_CheckPredicate5,
5236 OPC_CheckTypeI64,
5237 OPC_CheckPatternPredicate6,
5238 OPC_CheckComplexPat0, /*#*/1,
5239 OPC_EmitMergeInputChains1_0,
5240 OPC_EmitInteger64, 0,
5241 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
5242 MVT::i64, 2, 2, 3,
5243 18,
5244 OPC_CheckPredicate, 19,
5245 OPC_CheckPredicate5,
5246 OPC_CheckTypeI64,
5247 OPC_CheckPatternPredicate6,
5248 OPC_CheckComplexPat0, /*#*/1,
5249 OPC_EmitMergeInputChains1_0,
5250 OPC_EmitInteger64, 0,
5251 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
5252 MVT::i64, 2, 2, 3,
5253 16,
5254 OPC_CheckPredicate4,
5255 OPC_CheckTypeI64,
5256 OPC_CheckPatternPredicate6,
5257 OPC_CheckComplexPat0, /*#*/1,
5258 OPC_EmitMergeInputChains1_0,
5259 OPC_EmitInteger64, 0,
5260 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
5261 MVT::i64, 2, 2, 3,
5262 0,
5263 63|128,1,
5264 OPC_MoveChild1,
5265 OPC_SwitchOpcode , 91, TARGET_VAL(ISD::ADD),
5266 OPC_RecordChild0,
5267 OPC_RecordChild1,
5268 OPC_MoveChild1,
5269 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5270 OPC_CheckPredicate, 11,
5271 OPC_MoveParent,
5272 OPC_CheckPredicate, 10,
5273 OPC_SwitchType , 37, MVT::i64,
5274 OPC_MoveParent,
5275 OPC_CheckPredicate6,
5276 OPC_CheckPredicate4,
5277 OPC_SwitchType , 14, MVT::f32,
5278 OPC_CheckPatternPredicate, 11,
5279 OPC_CheckComplexPat0, /*#*/1,
5280 OPC_EmitMergeInputChains1_0,
5281 OPC_EmitConvertToTarget2,
5282 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5283 MVT::f32, 2, 3, 4,
5284 14, MVT::f64,
5285 OPC_CheckPatternPredicate, 13,
5286 OPC_CheckComplexPat0, /*#*/1,
5287 OPC_EmitMergeInputChains1_0,
5288 OPC_EmitConvertToTarget2,
5289 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5290 MVT::f64, 2, 3, 4,
5291 0,
5292 37, MVT::i32,
5293 OPC_MoveParent,
5294 OPC_CheckPredicate6,
5295 OPC_CheckPredicate4,
5296 OPC_SwitchType , 14, MVT::f32,
5297 OPC_CheckPatternPredicate, 12,
5298 OPC_CheckComplexPat0, /*#*/1,
5299 OPC_EmitMergeInputChains1_0,
5300 OPC_EmitConvertToTarget2,
5301 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5302 MVT::f32, 2, 3, 4,
5303 14, MVT::f64,
5304 OPC_CheckPatternPredicate, 14,
5305 OPC_CheckComplexPat0, /*#*/1,
5306 OPC_EmitMergeInputChains1_0,
5307 OPC_EmitConvertToTarget2,
5308 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5309 MVT::f64, 2, 3, 4,
5310 0,
5311 0,
5312 91, TARGET_VAL(ISD::OR),
5313 OPC_RecordChild0,
5314 OPC_RecordChild1,
5315 OPC_MoveChild1,
5316 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5317 OPC_CheckPredicate, 11,
5318 OPC_MoveParent,
5319 OPC_CheckPredicate, 10,
5320 OPC_SwitchType , 37, MVT::i64,
5321 OPC_MoveParent,
5322 OPC_CheckPredicate6,
5323 OPC_CheckPredicate4,
5324 OPC_SwitchType , 14, MVT::f32,
5325 OPC_CheckPatternPredicate, 11,
5326 OPC_CheckComplexPat0, /*#*/1,
5327 OPC_EmitMergeInputChains1_0,
5328 OPC_EmitConvertToTarget2,
5329 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5330 MVT::f32, 2, 3, 4,
5331 14, MVT::f64,
5332 OPC_CheckPatternPredicate, 13,
5333 OPC_CheckComplexPat0, /*#*/1,
5334 OPC_EmitMergeInputChains1_0,
5335 OPC_EmitConvertToTarget2,
5336 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5337 MVT::f64, 2, 3, 4,
5338 0,
5339 37, MVT::i32,
5340 OPC_MoveParent,
5341 OPC_CheckPredicate6,
5342 OPC_CheckPredicate4,
5343 OPC_SwitchType , 14, MVT::f32,
5344 OPC_CheckPatternPredicate, 12,
5345 OPC_CheckComplexPat0, /*#*/1,
5346 OPC_EmitMergeInputChains1_0,
5347 OPC_EmitConvertToTarget2,
5348 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5349 MVT::f32, 2, 3, 4,
5350 14, MVT::f64,
5351 OPC_CheckPatternPredicate, 14,
5352 OPC_CheckComplexPat0, /*#*/1,
5353 OPC_EmitMergeInputChains1_0,
5354 OPC_EmitConvertToTarget2,
5355 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5356 MVT::f64, 2, 3, 4,
5357 0,
5358 0,
5359 0,
5360 35,
5361 OPC_RecordChild1,
5362 OPC_CheckPredicate6,
5363 OPC_CheckPredicate4,
5364 OPC_CheckType, MVT::f32,
5365 OPC_Scope, 13,
5366 OPC_CheckPatternPredicate, 11,
5367 OPC_CheckComplexPat4, /*#*/1,
5368 OPC_EmitMergeInputChains1_0,
5369 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5370 MVT::f32, 2, 2, 3,
5371 13,
5372 OPC_CheckPatternPredicate, 12,
5373 OPC_CheckComplexPat4, /*#*/1,
5374 OPC_EmitMergeInputChains1_0,
5375 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5376 MVT::f32, 2, 2, 3,
5377 0,
5378 48,
5379 OPC_MoveChild1,
5380 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5381 OPC_RecordChild0,
5382 OPC_RecordChild1,
5383 OPC_SwitchType , 18, MVT::i64,
5384 OPC_MoveParent,
5385 OPC_CheckPredicate6,
5386 OPC_CheckPredicate4,
5387 OPC_CheckType, MVT::f32,
5388 OPC_CheckPatternPredicate, 11,
5389 OPC_CheckComplexPat2, /*#*/1,
5390 OPC_EmitMergeInputChains1_0,
5391 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5392 MVT::f32, 2, 3, 2,
5393 18, MVT::i32,
5394 OPC_MoveParent,
5395 OPC_CheckPredicate6,
5396 OPC_CheckPredicate4,
5397 OPC_CheckType, MVT::f32,
5398 OPC_CheckPatternPredicate, 12,
5399 OPC_CheckComplexPat2, /*#*/1,
5400 OPC_EmitMergeInputChains1_0,
5401 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5402 MVT::f32, 2, 3, 2,
5403 0,
5404 35,
5405 OPC_RecordChild1,
5406 OPC_CheckPredicate6,
5407 OPC_CheckPredicate4,
5408 OPC_CheckType, MVT::f64,
5409 OPC_Scope, 13,
5410 OPC_CheckPatternPredicate, 13,
5411 OPC_CheckComplexPat4, /*#*/1,
5412 OPC_EmitMergeInputChains1_0,
5413 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5414 MVT::f64, 2, 2, 3,
5415 13,
5416 OPC_CheckPatternPredicate, 14,
5417 OPC_CheckComplexPat4, /*#*/1,
5418 OPC_EmitMergeInputChains1_0,
5419 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5420 MVT::f64, 2, 2, 3,
5421 0,
5422 112,
5423 OPC_MoveChild1,
5424 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5425 OPC_RecordChild0,
5426 OPC_RecordChild1,
5427 OPC_SwitchType , 50, MVT::i64,
5428 OPC_MoveParent,
5429 OPC_CheckPredicate6,
5430 OPC_CheckPredicate4,
5431 OPC_SwitchType , 28, MVT::f64,
5432 OPC_CheckPatternPredicate, 13,
5433 OPC_Scope, 11,
5434 OPC_CheckComplexPat2, /*#*/1,
5435 OPC_EmitMergeInputChains1_0,
5436 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5437 MVT::f64, 2, 3, 2,
5438 11,
5439 OPC_CheckComplexPat2, /*#*/2,
5440 OPC_EmitMergeInputChains1_0,
5441 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5442 MVT::f64, 2, 3, 1,
5443 0,
5444 13, MVT::f32,
5445 OPC_CheckPatternPredicate, 11,
5446 OPC_CheckComplexPat2, /*#*/2,
5447 OPC_EmitMergeInputChains1_0,
5448 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5449 MVT::f32, 2, 3, 1,
5450 0,
5451 50, MVT::i32,
5452 OPC_MoveParent,
5453 OPC_CheckPredicate6,
5454 OPC_CheckPredicate4,
5455 OPC_SwitchType , 28, MVT::f64,
5456 OPC_CheckPatternPredicate, 14,
5457 OPC_Scope, 11,
5458 OPC_CheckComplexPat2, /*#*/1,
5459 OPC_EmitMergeInputChains1_0,
5460 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5461 MVT::f64, 2, 3, 2,
5462 11,
5463 OPC_CheckComplexPat2, /*#*/2,
5464 OPC_EmitMergeInputChains1_0,
5465 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
5466 MVT::f64, 2, 3, 1,
5467 0,
5468 13, MVT::f32,
5469 OPC_CheckPatternPredicate, 12,
5470 OPC_CheckComplexPat2, /*#*/2,
5471 OPC_EmitMergeInputChains1_0,
5472 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
5473 MVT::f32, 2, 3, 1,
5474 0,
5475 0,
5476 77,
5477 OPC_RecordChild1,
5478 OPC_CheckPredicate6,
5479 OPC_CheckPredicate4,
5480 OPC_SwitchType , 34, MVT::f32,
5481 OPC_Scope, 15,
5482 OPC_CheckPatternPredicate, 11,
5483 OPC_CheckComplexPat0, /*#*/1,
5484 OPC_EmitMergeInputChains1_0,
5485 OPC_EmitInteger64, 0,
5486 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5487 MVT::f32, 2, 2, 3,
5488 15,
5489 OPC_CheckPatternPredicate, 12,
5490 OPC_CheckComplexPat0, /*#*/1,
5491 OPC_EmitMergeInputChains1_0,
5492 OPC_EmitInteger32, 0,
5493 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
5494 MVT::f32, 2, 2, 3,
5495 0,
5496 34, MVT::f64,
5497 OPC_Scope, 15,
5498 OPC_CheckPatternPredicate, 13,
5499 OPC_CheckComplexPat0, /*#*/1,
5500 OPC_EmitMergeInputChains1_0,
5501 OPC_EmitInteger64, 0,
5502 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5503 MVT::f64, 2, 2, 3,
5504 15,
5505 OPC_CheckPatternPredicate, 14,
5506 OPC_CheckComplexPat0, /*#*/1,
5507 OPC_EmitMergeInputChains1_0,
5508 OPC_EmitInteger32, 0,
5509 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
5510 MVT::f64, 2, 2, 3,
5511 0,
5512 0,
5513 75|128,4,
5514 OPC_MoveChild1,
5515 OPC_SwitchOpcode , 53|128,2, TARGET_VAL(ISD::ADD),
5516 OPC_RecordChild0,
5517 OPC_RecordChild1,
5518 OPC_Scope, 9|128,2,
5519 OPC_MoveChild1,
5520 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5521 OPC_CheckPredicate, 11,
5522 OPC_MoveParent,
5523 OPC_CheckPredicate, 10,
5524 OPC_SwitchType , 125, MVT::i64,
5525 OPC_MoveParent,
5526 OPC_CheckPredicate6,
5527 OPC_CheckPredicate4,
5528 OPC_SwitchType , 13, MVT::v16i8,
5529 OPC_CheckPatternPredicate3,
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::v16i8, 2, 3, 4,
5535 13, MVT::v8i16,
5536 OPC_CheckPatternPredicate3,
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::v8i16, 2, 3, 4,
5542 13, MVT::v4i32,
5543 OPC_CheckPatternPredicate3,
5544 OPC_CheckComplexPat0, /*#*/1,
5545 OPC_EmitMergeInputChains1_0,
5546 OPC_EmitConvertToTarget2,
5547 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5548 MVT::v4i32, 2, 3, 4,
5549 13, MVT::v2i64,
5550 OPC_CheckPatternPredicate3,
5551 OPC_CheckComplexPat0, /*#*/1,
5552 OPC_EmitMergeInputChains1_0,
5553 OPC_EmitConvertToTarget2,
5554 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5555 MVT::v2i64, 2, 3, 4,
5556 13, MVT::v32i8,
5557 OPC_CheckPatternPredicate2,
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::v32i8, 2, 3, 4,
5563 13, MVT::v16i16,
5564 OPC_CheckPatternPredicate2,
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::v16i16, 2, 3, 4,
5570 13, MVT::v8i32,
5571 OPC_CheckPatternPredicate2,
5572 OPC_CheckComplexPat0, /*#*/1,
5573 OPC_EmitMergeInputChains1_0,
5574 OPC_EmitConvertToTarget2,
5575 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5576 MVT::v8i32, 2, 3, 4,
5577 13, MVT::v4i64,
5578 OPC_CheckPatternPredicate2,
5579 OPC_CheckComplexPat0, /*#*/1,
5580 OPC_EmitMergeInputChains1_0,
5581 OPC_EmitConvertToTarget2,
5582 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5583 MVT::v4i64, 2, 3, 4,
5584 0,
5585 125, MVT::i32,
5586 OPC_MoveParent,
5587 OPC_CheckPredicate6,
5588 OPC_CheckPredicate4,
5589 OPC_SwitchType , 13, MVT::v16i8,
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::v16i8, 2, 3, 4,
5596 13, MVT::v8i16,
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::v8i16, 2, 3, 4,
5603 13, MVT::v4i32,
5604 OPC_CheckPatternPredicate5,
5605 OPC_CheckComplexPat0, /*#*/1,
5606 OPC_EmitMergeInputChains1_0,
5607 OPC_EmitConvertToTarget2,
5608 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5609 MVT::v4i32, 2, 3, 4,
5610 13, MVT::v2i64,
5611 OPC_CheckPatternPredicate5,
5612 OPC_CheckComplexPat0, /*#*/1,
5613 OPC_EmitMergeInputChains1_0,
5614 OPC_EmitConvertToTarget2,
5615 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5616 MVT::v2i64, 2, 3, 4,
5617 13, MVT::v32i8,
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::v32i8, 2, 3, 4,
5624 13, MVT::v16i16,
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::v16i16, 2, 3, 4,
5631 13, MVT::v8i32,
5632 OPC_CheckPatternPredicate4,
5633 OPC_CheckComplexPat0, /*#*/1,
5634 OPC_EmitMergeInputChains1_0,
5635 OPC_EmitConvertToTarget2,
5636 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5637 MVT::v8i32, 2, 3, 4,
5638 13, MVT::v4i64,
5639 OPC_CheckPatternPredicate4,
5640 OPC_CheckComplexPat0, /*#*/1,
5641 OPC_EmitMergeInputChains1_0,
5642 OPC_EmitConvertToTarget2,
5643 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5644 MVT::v4i64, 2, 3, 4,
5645 0,
5646 0,
5647 18,
5648 OPC_CheckTypeI64,
5649 OPC_MoveParent,
5650 OPC_CheckPredicate6,
5651 OPC_CheckPredicate4,
5652 OPC_CheckType, MVT::v16i8,
5653 OPC_CheckPatternPredicate3,
5654 OPC_CheckComplexPat2, /*#*/1,
5655 OPC_EmitMergeInputChains1_0,
5656 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5657 MVT::v16i8, 2, 3, 2,
5658 18,
5659 OPC_CheckTypeI32,
5660 OPC_MoveParent,
5661 OPC_CheckPredicate6,
5662 OPC_CheckPredicate4,
5663 OPC_CheckType, MVT::v16i8,
5664 OPC_CheckPatternPredicate5,
5665 OPC_CheckComplexPat2, /*#*/1,
5666 OPC_EmitMergeInputChains1_0,
5667 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5668 MVT::v16i8, 2, 3, 2,
5669 0,
5670 11|128,2, TARGET_VAL(ISD::OR),
5671 OPC_RecordChild0,
5672 OPC_RecordChild1,
5673 OPC_MoveChild1,
5674 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5675 OPC_CheckPredicate, 11,
5676 OPC_MoveParent,
5677 OPC_CheckPredicate, 10,
5678 OPC_SwitchType , 125, MVT::i64,
5679 OPC_MoveParent,
5680 OPC_CheckPredicate6,
5681 OPC_CheckPredicate4,
5682 OPC_SwitchType , 13, MVT::v16i8,
5683 OPC_CheckPatternPredicate3,
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::v16i8, 2, 3, 4,
5689 13, MVT::v8i16,
5690 OPC_CheckPatternPredicate3,
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::v8i16, 2, 3, 4,
5696 13, MVT::v4i32,
5697 OPC_CheckPatternPredicate3,
5698 OPC_CheckComplexPat0, /*#*/1,
5699 OPC_EmitMergeInputChains1_0,
5700 OPC_EmitConvertToTarget2,
5701 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5702 MVT::v4i32, 2, 3, 4,
5703 13, MVT::v2i64,
5704 OPC_CheckPatternPredicate3,
5705 OPC_CheckComplexPat0, /*#*/1,
5706 OPC_EmitMergeInputChains1_0,
5707 OPC_EmitConvertToTarget2,
5708 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5709 MVT::v2i64, 2, 3, 4,
5710 13, MVT::v32i8,
5711 OPC_CheckPatternPredicate2,
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::v32i8, 2, 3, 4,
5717 13, MVT::v16i16,
5718 OPC_CheckPatternPredicate2,
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::v16i16, 2, 3, 4,
5724 13, MVT::v8i32,
5725 OPC_CheckPatternPredicate2,
5726 OPC_CheckComplexPat0, /*#*/1,
5727 OPC_EmitMergeInputChains1_0,
5728 OPC_EmitConvertToTarget2,
5729 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5730 MVT::v8i32, 2, 3, 4,
5731 13, MVT::v4i64,
5732 OPC_CheckPatternPredicate2,
5733 OPC_CheckComplexPat0, /*#*/1,
5734 OPC_EmitMergeInputChains1_0,
5735 OPC_EmitConvertToTarget2,
5736 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5737 MVT::v4i64, 2, 3, 4,
5738 0,
5739 125, MVT::i32,
5740 OPC_MoveParent,
5741 OPC_CheckPredicate6,
5742 OPC_CheckPredicate4,
5743 OPC_SwitchType , 13, MVT::v16i8,
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::v16i8, 2, 3, 4,
5750 13, MVT::v8i16,
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::v8i16, 2, 3, 4,
5757 13, MVT::v4i32,
5758 OPC_CheckPatternPredicate5,
5759 OPC_CheckComplexPat0, /*#*/1,
5760 OPC_EmitMergeInputChains1_0,
5761 OPC_EmitConvertToTarget2,
5762 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5763 MVT::v4i32, 2, 3, 4,
5764 13, MVT::v2i64,
5765 OPC_CheckPatternPredicate5,
5766 OPC_CheckComplexPat0, /*#*/1,
5767 OPC_EmitMergeInputChains1_0,
5768 OPC_EmitConvertToTarget2,
5769 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5770 MVT::v2i64, 2, 3, 4,
5771 13, MVT::v32i8,
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::v32i8, 2, 3, 4,
5778 13, MVT::v16i16,
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::v16i16, 2, 3, 4,
5785 13, MVT::v8i32,
5786 OPC_CheckPatternPredicate4,
5787 OPC_CheckComplexPat0, /*#*/1,
5788 OPC_EmitMergeInputChains1_0,
5789 OPC_EmitConvertToTarget2,
5790 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5791 MVT::v8i32, 2, 3, 4,
5792 13, MVT::v4i64,
5793 OPC_CheckPatternPredicate4,
5794 OPC_CheckComplexPat0, /*#*/1,
5795 OPC_EmitMergeInputChains1_0,
5796 OPC_EmitConvertToTarget2,
5797 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5798 MVT::v4i64, 2, 3, 4,
5799 0,
5800 0,
5801 0,
5802 65,
5803 OPC_RecordChild1,
5804 OPC_CheckPredicate6,
5805 OPC_CheckPredicate4,
5806 OPC_SwitchType , 28, MVT::v16i8,
5807 OPC_Scope, 12,
5808 OPC_CheckPatternPredicate3,
5809 OPC_CheckComplexPat4, /*#*/1,
5810 OPC_EmitMergeInputChains1_0,
5811 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5812 MVT::v16i8, 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::v16i8, 2, 2, 3,
5819 0,
5820 28, MVT::v8i16,
5821 OPC_Scope, 12,
5822 OPC_CheckPatternPredicate3,
5823 OPC_CheckComplexPat4, /*#*/1,
5824 OPC_EmitMergeInputChains1_0,
5825 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5826 MVT::v8i16, 2, 2, 3,
5827 12,
5828 OPC_CheckPatternPredicate5,
5829 OPC_CheckComplexPat4, /*#*/1,
5830 OPC_EmitMergeInputChains1_0,
5831 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5832 MVT::v8i16, 2, 2, 3,
5833 0,
5834 0,
5835 46,
5836 OPC_MoveChild1,
5837 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5838 OPC_RecordChild0,
5839 OPC_RecordChild1,
5840 OPC_SwitchType , 17, MVT::i64,
5841 OPC_MoveParent,
5842 OPC_CheckPredicate6,
5843 OPC_CheckPredicate4,
5844 OPC_CheckType, MVT::v8i16,
5845 OPC_CheckPatternPredicate3,
5846 OPC_CheckComplexPat2, /*#*/1,
5847 OPC_EmitMergeInputChains1_0,
5848 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5849 MVT::v8i16, 2, 3, 2,
5850 17, MVT::i32,
5851 OPC_MoveParent,
5852 OPC_CheckPredicate6,
5853 OPC_CheckPredicate4,
5854 OPC_CheckType, MVT::v8i16,
5855 OPC_CheckPatternPredicate5,
5856 OPC_CheckComplexPat2, /*#*/1,
5857 OPC_EmitMergeInputChains1_0,
5858 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5859 MVT::v8i16, 2, 3, 2,
5860 0,
5861 33,
5862 OPC_RecordChild1,
5863 OPC_CheckPredicate6,
5864 OPC_CheckPredicate4,
5865 OPC_CheckType, MVT::v4i32,
5866 OPC_Scope, 12,
5867 OPC_CheckPatternPredicate3,
5868 OPC_CheckComplexPat4, /*#*/1,
5869 OPC_EmitMergeInputChains1_0,
5870 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5871 MVT::v4i32, 2, 2, 3,
5872 12,
5873 OPC_CheckPatternPredicate5,
5874 OPC_CheckComplexPat4, /*#*/1,
5875 OPC_EmitMergeInputChains1_0,
5876 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5877 MVT::v4i32, 2, 2, 3,
5878 0,
5879 46,
5880 OPC_MoveChild1,
5881 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5882 OPC_RecordChild0,
5883 OPC_RecordChild1,
5884 OPC_SwitchType , 17, MVT::i64,
5885 OPC_MoveParent,
5886 OPC_CheckPredicate6,
5887 OPC_CheckPredicate4,
5888 OPC_CheckType, MVT::v4i32,
5889 OPC_CheckPatternPredicate3,
5890 OPC_CheckComplexPat2, /*#*/1,
5891 OPC_EmitMergeInputChains1_0,
5892 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5893 MVT::v4i32, 2, 3, 2,
5894 17, MVT::i32,
5895 OPC_MoveParent,
5896 OPC_CheckPredicate6,
5897 OPC_CheckPredicate4,
5898 OPC_CheckType, MVT::v4i32,
5899 OPC_CheckPatternPredicate5,
5900 OPC_CheckComplexPat2, /*#*/1,
5901 OPC_EmitMergeInputChains1_0,
5902 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5903 MVT::v4i32, 2, 3, 2,
5904 0,
5905 33,
5906 OPC_RecordChild1,
5907 OPC_CheckPredicate6,
5908 OPC_CheckPredicate4,
5909 OPC_CheckType, MVT::v2i64,
5910 OPC_Scope, 12,
5911 OPC_CheckPatternPredicate3,
5912 OPC_CheckComplexPat4, /*#*/1,
5913 OPC_EmitMergeInputChains1_0,
5914 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5915 MVT::v2i64, 2, 2, 3,
5916 12,
5917 OPC_CheckPatternPredicate5,
5918 OPC_CheckComplexPat4, /*#*/1,
5919 OPC_EmitMergeInputChains1_0,
5920 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
5921 MVT::v2i64, 2, 2, 3,
5922 0,
5923 78,
5924 OPC_MoveChild1,
5925 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5926 OPC_RecordChild0,
5927 OPC_RecordChild1,
5928 OPC_SwitchType , 33, MVT::i64,
5929 OPC_MoveParent,
5930 OPC_CheckPredicate6,
5931 OPC_CheckPredicate4,
5932 OPC_SwitchType , 12, MVT::v2i64,
5933 OPC_CheckPatternPredicate3,
5934 OPC_CheckComplexPat2, /*#*/1,
5935 OPC_EmitMergeInputChains1_0,
5936 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5937 MVT::v2i64, 2, 3, 2,
5938 12, MVT::v32i8,
5939 OPC_CheckPatternPredicate2,
5940 OPC_CheckComplexPat2, /*#*/1,
5941 OPC_EmitMergeInputChains1_0,
5942 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
5943 MVT::v32i8, 2, 3, 2,
5944 0,
5945 33, MVT::i32,
5946 OPC_MoveParent,
5947 OPC_CheckPredicate6,
5948 OPC_CheckPredicate4,
5949 OPC_SwitchType , 12, MVT::v2i64,
5950 OPC_CheckPatternPredicate5,
5951 OPC_CheckComplexPat2, /*#*/1,
5952 OPC_EmitMergeInputChains1_0,
5953 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
5954 MVT::v2i64, 2, 3, 2,
5955 12, MVT::v32i8,
5956 OPC_CheckPatternPredicate4,
5957 OPC_CheckComplexPat2, /*#*/1,
5958 OPC_EmitMergeInputChains1_0,
5959 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
5960 MVT::v32i8, 2, 3, 2,
5961 0,
5962 0,
5963 65,
5964 OPC_RecordChild1,
5965 OPC_CheckPredicate6,
5966 OPC_CheckPredicate4,
5967 OPC_SwitchType , 28, MVT::v32i8,
5968 OPC_Scope, 12,
5969 OPC_CheckPatternPredicate2,
5970 OPC_CheckComplexPat4, /*#*/1,
5971 OPC_EmitMergeInputChains1_0,
5972 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5973 MVT::v32i8, 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::v32i8, 2, 2, 3,
5980 0,
5981 28, MVT::v16i16,
5982 OPC_Scope, 12,
5983 OPC_CheckPatternPredicate2,
5984 OPC_CheckComplexPat4, /*#*/1,
5985 OPC_EmitMergeInputChains1_0,
5986 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5987 MVT::v16i16, 2, 2, 3,
5988 12,
5989 OPC_CheckPatternPredicate4,
5990 OPC_CheckComplexPat4, /*#*/1,
5991 OPC_EmitMergeInputChains1_0,
5992 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
5993 MVT::v16i16, 2, 2, 3,
5994 0,
5995 0,
5996 46,
5997 OPC_MoveChild1,
5998 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
5999 OPC_RecordChild0,
6000 OPC_RecordChild1,
6001 OPC_SwitchType , 17, MVT::i64,
6002 OPC_MoveParent,
6003 OPC_CheckPredicate6,
6004 OPC_CheckPredicate4,
6005 OPC_CheckType, MVT::v16i16,
6006 OPC_CheckPatternPredicate2,
6007 OPC_CheckComplexPat2, /*#*/1,
6008 OPC_EmitMergeInputChains1_0,
6009 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6010 MVT::v16i16, 2, 3, 2,
6011 17, MVT::i32,
6012 OPC_MoveParent,
6013 OPC_CheckPredicate6,
6014 OPC_CheckPredicate4,
6015 OPC_CheckType, MVT::v16i16,
6016 OPC_CheckPatternPredicate4,
6017 OPC_CheckComplexPat2, /*#*/1,
6018 OPC_EmitMergeInputChains1_0,
6019 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6020 MVT::v16i16, 2, 3, 2,
6021 0,
6022 33,
6023 OPC_RecordChild1,
6024 OPC_CheckPredicate6,
6025 OPC_CheckPredicate4,
6026 OPC_CheckType, MVT::v8i32,
6027 OPC_Scope, 12,
6028 OPC_CheckPatternPredicate2,
6029 OPC_CheckComplexPat4, /*#*/1,
6030 OPC_EmitMergeInputChains1_0,
6031 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6032 MVT::v8i32, 2, 2, 3,
6033 12,
6034 OPC_CheckPatternPredicate4,
6035 OPC_CheckComplexPat4, /*#*/1,
6036 OPC_EmitMergeInputChains1_0,
6037 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6038 MVT::v8i32, 2, 2, 3,
6039 0,
6040 46,
6041 OPC_MoveChild1,
6042 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6043 OPC_RecordChild0,
6044 OPC_RecordChild1,
6045 OPC_SwitchType , 17, MVT::i64,
6046 OPC_MoveParent,
6047 OPC_CheckPredicate6,
6048 OPC_CheckPredicate4,
6049 OPC_CheckType, MVT::v8i32,
6050 OPC_CheckPatternPredicate2,
6051 OPC_CheckComplexPat2, /*#*/1,
6052 OPC_EmitMergeInputChains1_0,
6053 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6054 MVT::v8i32, 2, 3, 2,
6055 17, MVT::i32,
6056 OPC_MoveParent,
6057 OPC_CheckPredicate6,
6058 OPC_CheckPredicate4,
6059 OPC_CheckType, MVT::v8i32,
6060 OPC_CheckPatternPredicate4,
6061 OPC_CheckComplexPat2, /*#*/1,
6062 OPC_EmitMergeInputChains1_0,
6063 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6064 MVT::v8i32, 2, 3, 2,
6065 0,
6066 33,
6067 OPC_RecordChild1,
6068 OPC_CheckPredicate6,
6069 OPC_CheckPredicate4,
6070 OPC_CheckType, MVT::v4i64,
6071 OPC_Scope, 12,
6072 OPC_CheckPatternPredicate2,
6073 OPC_CheckComplexPat4, /*#*/1,
6074 OPC_EmitMergeInputChains1_0,
6075 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6076 MVT::v4i64, 2, 2, 3,
6077 12,
6078 OPC_CheckPatternPredicate4,
6079 OPC_CheckComplexPat4, /*#*/1,
6080 OPC_EmitMergeInputChains1_0,
6081 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6082 MVT::v4i64, 2, 2, 3,
6083 0,
6084 22|128,2,
6085 OPC_MoveChild1,
6086 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6087 OPC_RecordChild0,
6088 OPC_RecordChild1,
6089 OPC_SwitchType , 4|128,1, MVT::i64,
6090 OPC_MoveParent,
6091 OPC_CheckPredicate6,
6092 OPC_CheckPredicate4,
6093 OPC_SwitchType , 27, MVT::v4i64,
6094 OPC_CheckPatternPredicate2,
6095 OPC_Scope, 11,
6096 OPC_CheckComplexPat2, /*#*/1,
6097 OPC_EmitMergeInputChains1_0,
6098 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6099 MVT::v4i64, 2, 3, 2,
6100 11,
6101 OPC_CheckComplexPat2, /*#*/2,
6102 OPC_EmitMergeInputChains1_0,
6103 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6104 MVT::v4i64, 2, 3, 1,
6105 0,
6106 12, MVT::v16i8,
6107 OPC_CheckPatternPredicate3,
6108 OPC_CheckComplexPat2, /*#*/2,
6109 OPC_EmitMergeInputChains1_0,
6110 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6111 MVT::v16i8, 2, 3, 1,
6112 12, MVT::v8i16,
6113 OPC_CheckPatternPredicate3,
6114 OPC_CheckComplexPat2, /*#*/2,
6115 OPC_EmitMergeInputChains1_0,
6116 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6117 MVT::v8i16, 2, 3, 1,
6118 12, MVT::v4i32,
6119 OPC_CheckPatternPredicate3,
6120 OPC_CheckComplexPat2, /*#*/2,
6121 OPC_EmitMergeInputChains1_0,
6122 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6123 MVT::v4i32, 2, 3, 1,
6124 12, MVT::v2i64,
6125 OPC_CheckPatternPredicate3,
6126 OPC_CheckComplexPat2, /*#*/2,
6127 OPC_EmitMergeInputChains1_0,
6128 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6129 MVT::v2i64, 2, 3, 1,
6130 12, MVT::v32i8,
6131 OPC_CheckPatternPredicate2,
6132 OPC_CheckComplexPat2, /*#*/2,
6133 OPC_EmitMergeInputChains1_0,
6134 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6135 MVT::v32i8, 2, 3, 1,
6136 12, MVT::v16i16,
6137 OPC_CheckPatternPredicate2,
6138 OPC_CheckComplexPat2, /*#*/2,
6139 OPC_EmitMergeInputChains1_0,
6140 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6141 MVT::v16i16, 2, 3, 1,
6142 12, MVT::v8i32,
6143 OPC_CheckPatternPredicate2,
6144 OPC_CheckComplexPat2, /*#*/2,
6145 OPC_EmitMergeInputChains1_0,
6146 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6147 MVT::v8i32, 2, 3, 1,
6148 0,
6149 4|128,1, MVT::i32,
6150 OPC_MoveParent,
6151 OPC_CheckPredicate6,
6152 OPC_CheckPredicate4,
6153 OPC_SwitchType , 27, MVT::v4i64,
6154 OPC_CheckPatternPredicate4,
6155 OPC_Scope, 11,
6156 OPC_CheckComplexPat2, /*#*/1,
6157 OPC_EmitMergeInputChains1_0,
6158 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6159 MVT::v4i64, 2, 3, 2,
6160 11,
6161 OPC_CheckComplexPat2, /*#*/2,
6162 OPC_EmitMergeInputChains1_0,
6163 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6164 MVT::v4i64, 2, 3, 1,
6165 0,
6166 12, MVT::v16i8,
6167 OPC_CheckPatternPredicate5,
6168 OPC_CheckComplexPat2, /*#*/2,
6169 OPC_EmitMergeInputChains1_0,
6170 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6171 MVT::v16i8, 2, 3, 1,
6172 12, MVT::v8i16,
6173 OPC_CheckPatternPredicate5,
6174 OPC_CheckComplexPat2, /*#*/2,
6175 OPC_EmitMergeInputChains1_0,
6176 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6177 MVT::v8i16, 2, 3, 1,
6178 12, MVT::v4i32,
6179 OPC_CheckPatternPredicate5,
6180 OPC_CheckComplexPat2, /*#*/2,
6181 OPC_EmitMergeInputChains1_0,
6182 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6183 MVT::v4i32, 2, 3, 1,
6184 12, MVT::v2i64,
6185 OPC_CheckPatternPredicate5,
6186 OPC_CheckComplexPat2, /*#*/2,
6187 OPC_EmitMergeInputChains1_0,
6188 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6189 MVT::v2i64, 2, 3, 1,
6190 12, MVT::v32i8,
6191 OPC_CheckPatternPredicate4,
6192 OPC_CheckComplexPat2, /*#*/2,
6193 OPC_EmitMergeInputChains1_0,
6194 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6195 MVT::v32i8, 2, 3, 1,
6196 12, MVT::v16i16,
6197 OPC_CheckPatternPredicate4,
6198 OPC_CheckComplexPat2, /*#*/2,
6199 OPC_EmitMergeInputChains1_0,
6200 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6201 MVT::v16i16, 2, 3, 1,
6202 12, MVT::v8i32,
6203 OPC_CheckPatternPredicate4,
6204 OPC_CheckComplexPat2, /*#*/2,
6205 OPC_EmitMergeInputChains1_0,
6206 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6207 MVT::v8i32, 2, 3, 1,
6208 0,
6209 0,
6210 21|128,2,
6211 OPC_RecordChild1,
6212 OPC_CheckPredicate6,
6213 OPC_CheckPredicate4,
6214 OPC_SwitchType , 32, MVT::v16i8,
6215 OPC_Scope, 14,
6216 OPC_CheckPatternPredicate3,
6217 OPC_CheckComplexPat0, /*#*/1,
6218 OPC_EmitMergeInputChains1_0,
6219 OPC_EmitInteger64, 0,
6220 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6221 MVT::v16i8, 2, 2, 3,
6222 14,
6223 OPC_CheckPatternPredicate5,
6224 OPC_CheckComplexPat0, /*#*/1,
6225 OPC_EmitMergeInputChains1_0,
6226 OPC_EmitInteger32, 0,
6227 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6228 MVT::v16i8, 2, 2, 3,
6229 0,
6230 32, MVT::v8i16,
6231 OPC_Scope, 14,
6232 OPC_CheckPatternPredicate3,
6233 OPC_CheckComplexPat0, /*#*/1,
6234 OPC_EmitMergeInputChains1_0,
6235 OPC_EmitInteger64, 0,
6236 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6237 MVT::v8i16, 2, 2, 3,
6238 14,
6239 OPC_CheckPatternPredicate5,
6240 OPC_CheckComplexPat0, /*#*/1,
6241 OPC_EmitMergeInputChains1_0,
6242 OPC_EmitInteger32, 0,
6243 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6244 MVT::v8i16, 2, 2, 3,
6245 0,
6246 32, MVT::v4i32,
6247 OPC_Scope, 14,
6248 OPC_CheckPatternPredicate3,
6249 OPC_CheckComplexPat0, /*#*/1,
6250 OPC_EmitMergeInputChains1_0,
6251 OPC_EmitInteger64, 0,
6252 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6253 MVT::v4i32, 2, 2, 3,
6254 14,
6255 OPC_CheckPatternPredicate5,
6256 OPC_CheckComplexPat0, /*#*/1,
6257 OPC_EmitMergeInputChains1_0,
6258 OPC_EmitInteger32, 0,
6259 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6260 MVT::v4i32, 2, 2, 3,
6261 0,
6262 32, MVT::v2i64,
6263 OPC_Scope, 14,
6264 OPC_CheckPatternPredicate3,
6265 OPC_CheckComplexPat0, /*#*/1,
6266 OPC_EmitMergeInputChains1_0,
6267 OPC_EmitInteger64, 0,
6268 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6269 MVT::v2i64, 2, 2, 3,
6270 14,
6271 OPC_CheckPatternPredicate5,
6272 OPC_CheckComplexPat0, /*#*/1,
6273 OPC_EmitMergeInputChains1_0,
6274 OPC_EmitInteger32, 0,
6275 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6276 MVT::v2i64, 2, 2, 3,
6277 0,
6278 32, MVT::v32i8,
6279 OPC_Scope, 14,
6280 OPC_CheckPatternPredicate2,
6281 OPC_CheckComplexPat0, /*#*/1,
6282 OPC_EmitMergeInputChains1_0,
6283 OPC_EmitInteger64, 0,
6284 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6285 MVT::v32i8, 2, 2, 3,
6286 14,
6287 OPC_CheckPatternPredicate4,
6288 OPC_CheckComplexPat0, /*#*/1,
6289 OPC_EmitMergeInputChains1_0,
6290 OPC_EmitInteger32, 0,
6291 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6292 MVT::v32i8, 2, 2, 3,
6293 0,
6294 32, MVT::v16i16,
6295 OPC_Scope, 14,
6296 OPC_CheckPatternPredicate2,
6297 OPC_CheckComplexPat0, /*#*/1,
6298 OPC_EmitMergeInputChains1_0,
6299 OPC_EmitInteger64, 0,
6300 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6301 MVT::v16i16, 2, 2, 3,
6302 14,
6303 OPC_CheckPatternPredicate4,
6304 OPC_CheckComplexPat0, /*#*/1,
6305 OPC_EmitMergeInputChains1_0,
6306 OPC_EmitInteger32, 0,
6307 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6308 MVT::v16i16, 2, 2, 3,
6309 0,
6310 32, MVT::v8i32,
6311 OPC_Scope, 14,
6312 OPC_CheckPatternPredicate2,
6313 OPC_CheckComplexPat0, /*#*/1,
6314 OPC_EmitMergeInputChains1_0,
6315 OPC_EmitInteger64, 0,
6316 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6317 MVT::v8i32, 2, 2, 3,
6318 14,
6319 OPC_CheckPatternPredicate4,
6320 OPC_CheckComplexPat0, /*#*/1,
6321 OPC_EmitMergeInputChains1_0,
6322 OPC_EmitInteger32, 0,
6323 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6324 MVT::v8i32, 2, 2, 3,
6325 0,
6326 32, MVT::v4i64,
6327 OPC_Scope, 14,
6328 OPC_CheckPatternPredicate2,
6329 OPC_CheckComplexPat0, /*#*/1,
6330 OPC_EmitMergeInputChains1_0,
6331 OPC_EmitInteger64, 0,
6332 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6333 MVT::v4i64, 2, 2, 3,
6334 14,
6335 OPC_CheckPatternPredicate4,
6336 OPC_CheckComplexPat0, /*#*/1,
6337 OPC_EmitMergeInputChains1_0,
6338 OPC_EmitInteger32, 0,
6339 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6340 MVT::v4i64, 2, 2, 3,
6341 0,
6342 0,
6343 49|128,2,
6344 OPC_MoveChild1,
6345 OPC_SwitchOpcode , 19|128,1, TARGET_VAL(ISD::ADD),
6346 OPC_RecordChild0,
6347 OPC_RecordChild1,
6348 OPC_MoveChild1,
6349 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6350 OPC_CheckPredicate, 11,
6351 OPC_MoveParent,
6352 OPC_CheckPredicate, 10,
6353 OPC_SwitchType , 65, MVT::i64,
6354 OPC_MoveParent,
6355 OPC_CheckPredicate6,
6356 OPC_CheckPredicate4,
6357 OPC_SwitchType , 13, MVT::v4f32,
6358 OPC_CheckPatternPredicate3,
6359 OPC_CheckComplexPat0, /*#*/1,
6360 OPC_EmitMergeInputChains1_0,
6361 OPC_EmitConvertToTarget2,
6362 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6363 MVT::v4f32, 2, 3, 4,
6364 13, MVT::v2f64,
6365 OPC_CheckPatternPredicate3,
6366 OPC_CheckComplexPat0, /*#*/1,
6367 OPC_EmitMergeInputChains1_0,
6368 OPC_EmitConvertToTarget2,
6369 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6370 MVT::v2f64, 2, 3, 4,
6371 13, MVT::v8f32,
6372 OPC_CheckPatternPredicate2,
6373 OPC_CheckComplexPat0, /*#*/1,
6374 OPC_EmitMergeInputChains1_0,
6375 OPC_EmitConvertToTarget2,
6376 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6377 MVT::v8f32, 2, 3, 4,
6378 13, MVT::v4f64,
6379 OPC_CheckPatternPredicate2,
6380 OPC_CheckComplexPat0, /*#*/1,
6381 OPC_EmitMergeInputChains1_0,
6382 OPC_EmitConvertToTarget2,
6383 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6384 MVT::v4f64, 2, 3, 4,
6385 0,
6386 65, MVT::i32,
6387 OPC_MoveParent,
6388 OPC_CheckPredicate6,
6389 OPC_CheckPredicate4,
6390 OPC_SwitchType , 13, MVT::v4f32,
6391 OPC_CheckPatternPredicate5,
6392 OPC_CheckComplexPat0, /*#*/1,
6393 OPC_EmitMergeInputChains1_0,
6394 OPC_EmitConvertToTarget2,
6395 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6396 MVT::v4f32, 2, 3, 4,
6397 13, MVT::v2f64,
6398 OPC_CheckPatternPredicate5,
6399 OPC_CheckComplexPat0, /*#*/1,
6400 OPC_EmitMergeInputChains1_0,
6401 OPC_EmitConvertToTarget2,
6402 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6403 MVT::v2f64, 2, 3, 4,
6404 13, MVT::v8f32,
6405 OPC_CheckPatternPredicate4,
6406 OPC_CheckComplexPat0, /*#*/1,
6407 OPC_EmitMergeInputChains1_0,
6408 OPC_EmitConvertToTarget2,
6409 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6410 MVT::v8f32, 2, 3, 4,
6411 13, MVT::v4f64,
6412 OPC_CheckPatternPredicate4,
6413 OPC_CheckComplexPat0, /*#*/1,
6414 OPC_EmitMergeInputChains1_0,
6415 OPC_EmitConvertToTarget2,
6416 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6417 MVT::v4f64, 2, 3, 4,
6418 0,
6419 0,
6420 19|128,1, TARGET_VAL(ISD::OR),
6421 OPC_RecordChild0,
6422 OPC_RecordChild1,
6423 OPC_MoveChild1,
6424 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6425 OPC_CheckPredicate, 11,
6426 OPC_MoveParent,
6427 OPC_CheckPredicate, 10,
6428 OPC_SwitchType , 65, MVT::i64,
6429 OPC_MoveParent,
6430 OPC_CheckPredicate6,
6431 OPC_CheckPredicate4,
6432 OPC_SwitchType , 13, MVT::v4f32,
6433 OPC_CheckPatternPredicate3,
6434 OPC_CheckComplexPat0, /*#*/1,
6435 OPC_EmitMergeInputChains1_0,
6436 OPC_EmitConvertToTarget2,
6437 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6438 MVT::v4f32, 2, 3, 4,
6439 13, MVT::v2f64,
6440 OPC_CheckPatternPredicate3,
6441 OPC_CheckComplexPat0, /*#*/1,
6442 OPC_EmitMergeInputChains1_0,
6443 OPC_EmitConvertToTarget2,
6444 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6445 MVT::v2f64, 2, 3, 4,
6446 13, MVT::v8f32,
6447 OPC_CheckPatternPredicate2,
6448 OPC_CheckComplexPat0, /*#*/1,
6449 OPC_EmitMergeInputChains1_0,
6450 OPC_EmitConvertToTarget2,
6451 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6452 MVT::v8f32, 2, 3, 4,
6453 13, MVT::v4f64,
6454 OPC_CheckPatternPredicate2,
6455 OPC_CheckComplexPat0, /*#*/1,
6456 OPC_EmitMergeInputChains1_0,
6457 OPC_EmitConvertToTarget2,
6458 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6459 MVT::v4f64, 2, 3, 4,
6460 0,
6461 65, MVT::i32,
6462 OPC_MoveParent,
6463 OPC_CheckPredicate6,
6464 OPC_CheckPredicate4,
6465 OPC_SwitchType , 13, MVT::v4f32,
6466 OPC_CheckPatternPredicate5,
6467 OPC_CheckComplexPat0, /*#*/1,
6468 OPC_EmitMergeInputChains1_0,
6469 OPC_EmitConvertToTarget2,
6470 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6471 MVT::v4f32, 2, 3, 4,
6472 13, MVT::v2f64,
6473 OPC_CheckPatternPredicate5,
6474 OPC_CheckComplexPat0, /*#*/1,
6475 OPC_EmitMergeInputChains1_0,
6476 OPC_EmitConvertToTarget2,
6477 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6478 MVT::v2f64, 2, 3, 4,
6479 13, MVT::v8f32,
6480 OPC_CheckPatternPredicate4,
6481 OPC_CheckComplexPat0, /*#*/1,
6482 OPC_EmitMergeInputChains1_0,
6483 OPC_EmitConvertToTarget2,
6484 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6485 MVT::v8f32, 2, 3, 4,
6486 13, MVT::v4f64,
6487 OPC_CheckPatternPredicate4,
6488 OPC_CheckComplexPat0, /*#*/1,
6489 OPC_EmitMergeInputChains1_0,
6490 OPC_EmitConvertToTarget2,
6491 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6492 MVT::v4f64, 2, 3, 4,
6493 0,
6494 0,
6495 0,
6496 33,
6497 OPC_RecordChild1,
6498 OPC_CheckPredicate6,
6499 OPC_CheckPredicate4,
6500 OPC_CheckType, MVT::v4f32,
6501 OPC_Scope, 12,
6502 OPC_CheckPatternPredicate3,
6503 OPC_CheckComplexPat4, /*#*/1,
6504 OPC_EmitMergeInputChains1_0,
6505 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6506 MVT::v4f32, 2, 2, 3,
6507 12,
6508 OPC_CheckPatternPredicate5,
6509 OPC_CheckComplexPat4, /*#*/1,
6510 OPC_EmitMergeInputChains1_0,
6511 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6512 MVT::v4f32, 2, 2, 3,
6513 0,
6514 46,
6515 OPC_MoveChild1,
6516 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6517 OPC_RecordChild0,
6518 OPC_RecordChild1,
6519 OPC_SwitchType , 17, MVT::i64,
6520 OPC_MoveParent,
6521 OPC_CheckPredicate6,
6522 OPC_CheckPredicate4,
6523 OPC_CheckType, MVT::v4f32,
6524 OPC_CheckPatternPredicate3,
6525 OPC_CheckComplexPat2, /*#*/1,
6526 OPC_EmitMergeInputChains1_0,
6527 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6528 MVT::v4f32, 2, 3, 2,
6529 17, MVT::i32,
6530 OPC_MoveParent,
6531 OPC_CheckPredicate6,
6532 OPC_CheckPredicate4,
6533 OPC_CheckType, MVT::v4f32,
6534 OPC_CheckPatternPredicate5,
6535 OPC_CheckComplexPat2, /*#*/1,
6536 OPC_EmitMergeInputChains1_0,
6537 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6538 MVT::v4f32, 2, 3, 2,
6539 0,
6540 33,
6541 OPC_RecordChild1,
6542 OPC_CheckPredicate6,
6543 OPC_CheckPredicate4,
6544 OPC_CheckType, MVT::v2f64,
6545 OPC_Scope, 12,
6546 OPC_CheckPatternPredicate3,
6547 OPC_CheckComplexPat4, /*#*/1,
6548 OPC_EmitMergeInputChains1_0,
6549 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6550 MVT::v2f64, 2, 2, 3,
6551 12,
6552 OPC_CheckPatternPredicate5,
6553 OPC_CheckComplexPat4, /*#*/1,
6554 OPC_EmitMergeInputChains1_0,
6555 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6556 MVT::v2f64, 2, 2, 3,
6557 0,
6558 46,
6559 OPC_MoveChild1,
6560 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6561 OPC_RecordChild0,
6562 OPC_RecordChild1,
6563 OPC_SwitchType , 17, MVT::i64,
6564 OPC_MoveParent,
6565 OPC_CheckPredicate6,
6566 OPC_CheckPredicate4,
6567 OPC_CheckType, MVT::v2f64,
6568 OPC_CheckPatternPredicate3,
6569 OPC_CheckComplexPat2, /*#*/1,
6570 OPC_EmitMergeInputChains1_0,
6571 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6572 MVT::v2f64, 2, 3, 2,
6573 17, MVT::i32,
6574 OPC_MoveParent,
6575 OPC_CheckPredicate6,
6576 OPC_CheckPredicate4,
6577 OPC_CheckType, MVT::v2f64,
6578 OPC_CheckPatternPredicate5,
6579 OPC_CheckComplexPat2, /*#*/1,
6580 OPC_EmitMergeInputChains1_0,
6581 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6582 MVT::v2f64, 2, 3, 2,
6583 0,
6584 33,
6585 OPC_RecordChild1,
6586 OPC_CheckPredicate6,
6587 OPC_CheckPredicate4,
6588 OPC_CheckType, MVT::v8f32,
6589 OPC_Scope, 12,
6590 OPC_CheckPatternPredicate2,
6591 OPC_CheckComplexPat4, /*#*/1,
6592 OPC_EmitMergeInputChains1_0,
6593 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6594 MVT::v8f32, 2, 2, 3,
6595 12,
6596 OPC_CheckPatternPredicate4,
6597 OPC_CheckComplexPat4, /*#*/1,
6598 OPC_EmitMergeInputChains1_0,
6599 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6600 MVT::v8f32, 2, 2, 3,
6601 0,
6602 46,
6603 OPC_MoveChild1,
6604 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6605 OPC_RecordChild0,
6606 OPC_RecordChild1,
6607 OPC_SwitchType , 17, MVT::i64,
6608 OPC_MoveParent,
6609 OPC_CheckPredicate6,
6610 OPC_CheckPredicate4,
6611 OPC_CheckType, MVT::v8f32,
6612 OPC_CheckPatternPredicate2,
6613 OPC_CheckComplexPat2, /*#*/1,
6614 OPC_EmitMergeInputChains1_0,
6615 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6616 MVT::v8f32, 2, 3, 2,
6617 17, MVT::i32,
6618 OPC_MoveParent,
6619 OPC_CheckPredicate6,
6620 OPC_CheckPredicate4,
6621 OPC_CheckType, MVT::v8f32,
6622 OPC_CheckPatternPredicate4,
6623 OPC_CheckComplexPat2, /*#*/1,
6624 OPC_EmitMergeInputChains1_0,
6625 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6626 MVT::v8f32, 2, 3, 2,
6627 0,
6628 33,
6629 OPC_RecordChild1,
6630 OPC_CheckPredicate6,
6631 OPC_CheckPredicate4,
6632 OPC_CheckType, MVT::v4f64,
6633 OPC_Scope, 12,
6634 OPC_CheckPatternPredicate2,
6635 OPC_CheckComplexPat4, /*#*/1,
6636 OPC_EmitMergeInputChains1_0,
6637 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6638 MVT::v4f64, 2, 2, 3,
6639 12,
6640 OPC_CheckPatternPredicate4,
6641 OPC_CheckComplexPat4, /*#*/1,
6642 OPC_EmitMergeInputChains1_0,
6643 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6644 MVT::v4f64, 2, 2, 3,
6645 0,
6646 36|128,1,
6647 OPC_MoveChild1,
6648 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6649 OPC_RecordChild0,
6650 OPC_RecordChild1,
6651 OPC_SwitchType , 76, MVT::i64,
6652 OPC_MoveParent,
6653 OPC_CheckPredicate6,
6654 OPC_CheckPredicate4,
6655 OPC_SwitchType , 27, MVT::v4f64,
6656 OPC_CheckPatternPredicate2,
6657 OPC_Scope, 11,
6658 OPC_CheckComplexPat2, /*#*/1,
6659 OPC_EmitMergeInputChains1_0,
6660 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6661 MVT::v4f64, 2, 3, 2,
6662 11,
6663 OPC_CheckComplexPat2, /*#*/2,
6664 OPC_EmitMergeInputChains1_0,
6665 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6666 MVT::v4f64, 2, 3, 1,
6667 0,
6668 12, MVT::v4f32,
6669 OPC_CheckPatternPredicate3,
6670 OPC_CheckComplexPat2, /*#*/2,
6671 OPC_EmitMergeInputChains1_0,
6672 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6673 MVT::v4f32, 2, 3, 1,
6674 12, MVT::v2f64,
6675 OPC_CheckPatternPredicate3,
6676 OPC_CheckComplexPat2, /*#*/2,
6677 OPC_EmitMergeInputChains1_0,
6678 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6679 MVT::v2f64, 2, 3, 1,
6680 12, MVT::v8f32,
6681 OPC_CheckPatternPredicate2,
6682 OPC_CheckComplexPat2, /*#*/2,
6683 OPC_EmitMergeInputChains1_0,
6684 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6685 MVT::v8f32, 2, 3, 1,
6686 0,
6687 76, MVT::i32,
6688 OPC_MoveParent,
6689 OPC_CheckPredicate6,
6690 OPC_CheckPredicate4,
6691 OPC_SwitchType , 27, MVT::v4f64,
6692 OPC_CheckPatternPredicate4,
6693 OPC_Scope, 11,
6694 OPC_CheckComplexPat2, /*#*/1,
6695 OPC_EmitMergeInputChains1_0,
6696 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6697 MVT::v4f64, 2, 3, 2,
6698 11,
6699 OPC_CheckComplexPat2, /*#*/2,
6700 OPC_EmitMergeInputChains1_0,
6701 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6702 MVT::v4f64, 2, 3, 1,
6703 0,
6704 12, MVT::v4f32,
6705 OPC_CheckPatternPredicate5,
6706 OPC_CheckComplexPat2, /*#*/2,
6707 OPC_EmitMergeInputChains1_0,
6708 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6709 MVT::v4f32, 2, 3, 1,
6710 12, MVT::v2f64,
6711 OPC_CheckPatternPredicate5,
6712 OPC_CheckComplexPat2, /*#*/2,
6713 OPC_EmitMergeInputChains1_0,
6714 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
6715 MVT::v2f64, 2, 3, 1,
6716 12, MVT::v8f32,
6717 OPC_CheckPatternPredicate4,
6718 OPC_CheckComplexPat2, /*#*/2,
6719 OPC_EmitMergeInputChains1_0,
6720 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
6721 MVT::v8f32, 2, 3, 1,
6722 0,
6723 0,
6724 13|128,1,
6725 OPC_RecordChild1,
6726 OPC_CheckPredicate6,
6727 OPC_CheckPredicate4,
6728 OPC_SwitchType , 32, MVT::v4f32,
6729 OPC_Scope, 14,
6730 OPC_CheckPatternPredicate3,
6731 OPC_CheckComplexPat0, /*#*/1,
6732 OPC_EmitMergeInputChains1_0,
6733 OPC_EmitInteger64, 0,
6734 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6735 MVT::v4f32, 2, 2, 3,
6736 14,
6737 OPC_CheckPatternPredicate5,
6738 OPC_CheckComplexPat0, /*#*/1,
6739 OPC_EmitMergeInputChains1_0,
6740 OPC_EmitInteger32, 0,
6741 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6742 MVT::v4f32, 2, 2, 3,
6743 0,
6744 32, MVT::v2f64,
6745 OPC_Scope, 14,
6746 OPC_CheckPatternPredicate3,
6747 OPC_CheckComplexPat0, /*#*/1,
6748 OPC_EmitMergeInputChains1_0,
6749 OPC_EmitInteger64, 0,
6750 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6751 MVT::v2f64, 2, 2, 3,
6752 14,
6753 OPC_CheckPatternPredicate5,
6754 OPC_CheckComplexPat0, /*#*/1,
6755 OPC_EmitMergeInputChains1_0,
6756 OPC_EmitInteger32, 0,
6757 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
6758 MVT::v2f64, 2, 2, 3,
6759 0,
6760 32, MVT::v8f32,
6761 OPC_Scope, 14,
6762 OPC_CheckPatternPredicate2,
6763 OPC_CheckComplexPat0, /*#*/1,
6764 OPC_EmitMergeInputChains1_0,
6765 OPC_EmitInteger64, 0,
6766 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6767 MVT::v8f32, 2, 2, 3,
6768 14,
6769 OPC_CheckPatternPredicate4,
6770 OPC_CheckComplexPat0, /*#*/1,
6771 OPC_EmitMergeInputChains1_0,
6772 OPC_EmitInteger32, 0,
6773 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6774 MVT::v8f32, 2, 2, 3,
6775 0,
6776 32, MVT::v4f64,
6777 OPC_Scope, 14,
6778 OPC_CheckPatternPredicate2,
6779 OPC_CheckComplexPat0, /*#*/1,
6780 OPC_EmitMergeInputChains1_0,
6781 OPC_EmitInteger64, 0,
6782 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6783 MVT::v4f64, 2, 2, 3,
6784 14,
6785 OPC_CheckPatternPredicate4,
6786 OPC_CheckComplexPat0, /*#*/1,
6787 OPC_EmitMergeInputChains1_0,
6788 OPC_EmitInteger32, 0,
6789 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
6790 MVT::v4f64, 2, 2, 3,
6791 0,
6792 0,
6793 0,
6794 99|128,34, TARGET_VAL(ISD::STORE),
6795 OPC_RecordMemRef,
6796 OPC_RecordNode,
6797 OPC_RecordChild1,
6798 OPC_Scope, 53|128,4,
6799 OPC_CheckChild1TypeI64,
6800 OPC_Scope, 17|128,2,
6801 OPC_MoveChild2,
6802 OPC_SwitchOpcode , 3|128,1, TARGET_VAL(ISD::ADD),
6803 OPC_RecordChild0,
6804 OPC_RecordChild1,
6805 OPC_MoveChild1,
6806 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6807 OPC_Scope, 78,
6808 OPC_CheckPredicate, 11,
6809 OPC_MoveParent,
6810 OPC_CheckPredicate, 10,
6811 OPC_CheckTypeI64,
6812 OPC_MoveParent,
6813 OPC_CheckPredicate2,
6814 OPC_Scope, 52,
6815 OPC_CheckPredicate, 27,
6816 OPC_Scope, 15,
6817 OPC_CheckPredicate, 30,
6818 OPC_CheckPatternPredicate7,
6819 OPC_CheckComplexPat0, /*#*/2,
6820 OPC_EmitMergeInputChains1_0,
6821 OPC_EmitConvertToTarget3,
6822 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
6823 3, 1, 4, 5,
6824 15,
6825 OPC_CheckPredicate, 31,
6826 OPC_CheckPatternPredicate7,
6827 OPC_CheckComplexPat0, /*#*/2,
6828 OPC_EmitMergeInputChains1_0,
6829 OPC_EmitConvertToTarget3,
6830 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
6831 3, 1, 4, 5,
6832 15,
6833 OPC_CheckPredicate, 34,
6834 OPC_CheckPatternPredicate6,
6835 OPC_CheckComplexPat0, /*#*/2,
6836 OPC_EmitMergeInputChains1_0,
6837 OPC_EmitConvertToTarget3,
6838 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
6839 3, 1, 4, 5,
6840 0,
6841 14,
6842 OPC_CheckPredicate1,
6843 OPC_CheckPatternPredicate6,
6844 OPC_CheckComplexPat0, /*#*/2,
6845 OPC_EmitMergeInputChains1_0,
6846 OPC_EmitConvertToTarget3,
6847 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
6848 3, 1, 4, 5,
6849 0,
6850 43,
6851 OPC_CheckPredicate, 38,
6852 OPC_MoveParent,
6853 OPC_CheckPredicate, 10,
6854 OPC_CheckTypeI64,
6855 OPC_MoveParent,
6856 OPC_CheckPredicate2,
6857 OPC_Scope, 17,
6858 OPC_CheckPredicate, 27,
6859 OPC_CheckPredicate, 34,
6860 OPC_CheckPatternPredicate6,
6861 OPC_CheckComplexPat0, /*#*/2,
6862 OPC_EmitMergeInputChains1_0,
6863 OPC_EmitConvertToTarget3,
6864 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
6865 3, 1, 4, 5,
6866 14,
6867 OPC_CheckPredicate1,
6868 OPC_CheckPatternPredicate6,
6869 OPC_CheckComplexPat0, /*#*/2,
6870 OPC_EmitMergeInputChains1_0,
6871 OPC_EmitConvertToTarget3,
6872 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
6873 3, 1, 4, 5,
6874 0,
6875 0,
6876 3|128,1, TARGET_VAL(ISD::OR),
6877 OPC_RecordChild0,
6878 OPC_RecordChild1,
6879 OPC_MoveChild1,
6880 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6881 OPC_Scope, 78,
6882 OPC_CheckPredicate, 11,
6883 OPC_MoveParent,
6884 OPC_CheckPredicate, 10,
6885 OPC_CheckTypeI64,
6886 OPC_MoveParent,
6887 OPC_CheckPredicate2,
6888 OPC_Scope, 52,
6889 OPC_CheckPredicate, 27,
6890 OPC_Scope, 15,
6891 OPC_CheckPredicate, 30,
6892 OPC_CheckPatternPredicate7,
6893 OPC_CheckComplexPat0, /*#*/2,
6894 OPC_EmitMergeInputChains1_0,
6895 OPC_EmitConvertToTarget3,
6896 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
6897 3, 1, 4, 5,
6898 15,
6899 OPC_CheckPredicate, 31,
6900 OPC_CheckPatternPredicate7,
6901 OPC_CheckComplexPat0, /*#*/2,
6902 OPC_EmitMergeInputChains1_0,
6903 OPC_EmitConvertToTarget3,
6904 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
6905 3, 1, 4, 5,
6906 15,
6907 OPC_CheckPredicate, 34,
6908 OPC_CheckPatternPredicate6,
6909 OPC_CheckComplexPat0, /*#*/2,
6910 OPC_EmitMergeInputChains1_0,
6911 OPC_EmitConvertToTarget3,
6912 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
6913 3, 1, 4, 5,
6914 0,
6915 14,
6916 OPC_CheckPredicate1,
6917 OPC_CheckPatternPredicate6,
6918 OPC_CheckComplexPat0, /*#*/2,
6919 OPC_EmitMergeInputChains1_0,
6920 OPC_EmitConvertToTarget3,
6921 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
6922 3, 1, 4, 5,
6923 0,
6924 43,
6925 OPC_CheckPredicate, 38,
6926 OPC_MoveParent,
6927 OPC_CheckPredicate, 10,
6928 OPC_CheckTypeI64,
6929 OPC_MoveParent,
6930 OPC_CheckPredicate2,
6931 OPC_Scope, 17,
6932 OPC_CheckPredicate, 27,
6933 OPC_CheckPredicate, 34,
6934 OPC_CheckPatternPredicate6,
6935 OPC_CheckComplexPat0, /*#*/2,
6936 OPC_EmitMergeInputChains1_0,
6937 OPC_EmitConvertToTarget3,
6938 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
6939 3, 1, 4, 5,
6940 14,
6941 OPC_CheckPredicate1,
6942 OPC_CheckPatternPredicate6,
6943 OPC_CheckComplexPat0, /*#*/2,
6944 OPC_EmitMergeInputChains1_0,
6945 OPC_EmitConvertToTarget3,
6946 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
6947 3, 1, 4, 5,
6948 0,
6949 0,
6950 0,
6951 68,
6952 OPC_RecordChild2,
6953 OPC_CheckPredicate2,
6954 OPC_Scope, 49,
6955 OPC_CheckPredicate, 27,
6956 OPC_Scope, 14,
6957 OPC_CheckPredicate, 30,
6958 OPC_CheckPatternPredicate7,
6959 OPC_CheckComplexPat4, /*#*/2,
6960 OPC_EmitMergeInputChains1_0,
6961 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
6962 3, 1, 3, 4,
6963 14,
6964 OPC_CheckPredicate, 31,
6965 OPC_CheckPatternPredicate7,
6966 OPC_CheckComplexPat4, /*#*/2,
6967 OPC_EmitMergeInputChains1_0,
6968 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
6969 3, 1, 3, 4,
6970 14,
6971 OPC_CheckPredicate, 34,
6972 OPC_CheckPatternPredicate6,
6973 OPC_CheckComplexPat4, /*#*/2,
6974 OPC_EmitMergeInputChains1_0,
6975 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
6976 3, 1, 3, 4,
6977 0,
6978 13,
6979 OPC_CheckPredicate1,
6980 OPC_CheckPatternPredicate6,
6981 OPC_CheckComplexPat4, /*#*/2,
6982 OPC_EmitMergeInputChains1_0,
6983 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
6984 3, 1, 3, 4,
6985 0,
6986 11|128,1,
6987 OPC_MoveChild2,
6988 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6989 OPC_RecordChild0,
6990 OPC_RecordChild1,
6991 OPC_CheckTypeI64,
6992 OPC_MoveParent,
6993 OPC_CheckPredicate2,
6994 OPC_Scope, 49,
6995 OPC_CheckPredicate, 27,
6996 OPC_Scope, 14,
6997 OPC_CheckPredicate, 30,
6998 OPC_CheckPatternPredicate6,
6999 OPC_CheckComplexPat2, /*#*/2,
7000 OPC_EmitMergeInputChains1_0,
7001 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs,
7002 3, 1, 4, 3,
7003 14,
7004 OPC_CheckPredicate, 31,
7005 OPC_CheckPatternPredicate6,
7006 OPC_CheckComplexPat2, /*#*/2,
7007 OPC_EmitMergeInputChains1_0,
7008 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs,
7009 3, 1, 4, 3,
7010 14,
7011 OPC_CheckPredicate, 34,
7012 OPC_CheckPatternPredicate6,
7013 OPC_CheckComplexPat2, /*#*/2,
7014 OPC_EmitMergeInputChains1_0,
7015 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs,
7016 3, 1, 4, 3,
7017 0,
7018 13,
7019 OPC_CheckPredicate1,
7020 OPC_CheckPatternPredicate6,
7021 OPC_CheckComplexPat2, /*#*/2,
7022 OPC_EmitMergeInputChains1_0,
7023 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs,
7024 3, 1, 4, 3,
7025 49,
7026 OPC_CheckPredicate, 27,
7027 OPC_Scope, 14,
7028 OPC_CheckPredicate, 30,
7029 OPC_CheckPatternPredicate6,
7030 OPC_CheckComplexPat2, /*#*/3,
7031 OPC_EmitMergeInputChains1_0,
7032 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs,
7033 3, 1, 4, 2,
7034 14,
7035 OPC_CheckPredicate, 31,
7036 OPC_CheckPatternPredicate6,
7037 OPC_CheckComplexPat2, /*#*/3,
7038 OPC_EmitMergeInputChains1_0,
7039 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs,
7040 3, 1, 4, 2,
7041 14,
7042 OPC_CheckPredicate, 34,
7043 OPC_CheckPatternPredicate6,
7044 OPC_CheckComplexPat2, /*#*/3,
7045 OPC_EmitMergeInputChains1_0,
7046 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs,
7047 3, 1, 4, 2,
7048 0,
7049 13,
7050 OPC_CheckPredicate1,
7051 OPC_CheckPatternPredicate6,
7052 OPC_CheckComplexPat2, /*#*/3,
7053 OPC_EmitMergeInputChains1_0,
7054 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs,
7055 3, 1, 4, 2,
7056 0,
7057 76,
7058 OPC_RecordChild2,
7059 OPC_CheckPredicate2,
7060 OPC_Scope, 55,
7061 OPC_CheckPredicate, 27,
7062 OPC_Scope, 16,
7063 OPC_CheckPredicate, 30,
7064 OPC_CheckPatternPredicate7,
7065 OPC_CheckComplexPat0, /*#*/2,
7066 OPC_EmitMergeInputChains1_0,
7067 OPC_EmitInteger64, 0,
7068 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7069 3, 1, 3, 4,
7070 16,
7071 OPC_CheckPredicate, 31,
7072 OPC_CheckPatternPredicate7,
7073 OPC_CheckComplexPat0, /*#*/2,
7074 OPC_EmitMergeInputChains1_0,
7075 OPC_EmitInteger64, 0,
7076 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7077 3, 1, 3, 4,
7078 16,
7079 OPC_CheckPredicate, 34,
7080 OPC_CheckPatternPredicate6,
7081 OPC_CheckComplexPat0, /*#*/2,
7082 OPC_EmitMergeInputChains1_0,
7083 OPC_EmitInteger64, 0,
7084 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7085 3, 1, 3, 4,
7086 0,
7087 15,
7088 OPC_CheckPredicate1,
7089 OPC_CheckPatternPredicate6,
7090 OPC_CheckComplexPat0, /*#*/2,
7091 OPC_EmitMergeInputChains1_0,
7092 OPC_EmitInteger64, 0,
7093 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
7094 3, 1, 3, 4,
7095 0,
7096 0,
7097 15|128,2,
7098 OPC_CheckChild1TypeI32,
7099 OPC_Scope, 23|128,1,
7100 OPC_MoveChild2,
7101 OPC_SwitchOpcode , 71, TARGET_VAL(ISD::ADD),
7102 OPC_RecordChild0,
7103 OPC_RecordChild1,
7104 OPC_MoveChild1,
7105 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7106 OPC_CheckPredicate, 11,
7107 OPC_MoveParent,
7108 OPC_CheckPredicate, 10,
7109 OPC_CheckTypeI32,
7110 OPC_MoveParent,
7111 OPC_CheckPredicate2,
7112 OPC_Scope, 38,
7113 OPC_CheckPredicate, 27,
7114 OPC_Scope, 16,
7115 OPC_CheckPredicate, 30,
7116 OPC_CheckPatternPredicate, 8,
7117 OPC_CheckComplexPat0, /*#*/2,
7118 OPC_EmitMergeInputChains1_0,
7119 OPC_EmitConvertToTarget3,
7120 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7121 3, 1, 4, 5,
7122 16,
7123 OPC_CheckPredicate, 31,
7124 OPC_CheckPatternPredicate, 8,
7125 OPC_CheckComplexPat0, /*#*/2,
7126 OPC_EmitMergeInputChains1_0,
7127 OPC_EmitConvertToTarget3,
7128 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7129 3, 1, 4, 5,
7130 0,
7131 15,
7132 OPC_CheckPredicate1,
7133 OPC_CheckPatternPredicate, 9,
7134 OPC_CheckComplexPat0, /*#*/2,
7135 OPC_EmitMergeInputChains1_0,
7136 OPC_EmitConvertToTarget3,
7137 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7138 3, 1, 4, 5,
7139 0,
7140 71, TARGET_VAL(ISD::OR),
7141 OPC_RecordChild0,
7142 OPC_RecordChild1,
7143 OPC_MoveChild1,
7144 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7145 OPC_CheckPredicate, 11,
7146 OPC_MoveParent,
7147 OPC_CheckPredicate, 10,
7148 OPC_CheckTypeI32,
7149 OPC_MoveParent,
7150 OPC_CheckPredicate2,
7151 OPC_Scope, 38,
7152 OPC_CheckPredicate, 27,
7153 OPC_Scope, 16,
7154 OPC_CheckPredicate, 30,
7155 OPC_CheckPatternPredicate, 8,
7156 OPC_CheckComplexPat0, /*#*/2,
7157 OPC_EmitMergeInputChains1_0,
7158 OPC_EmitConvertToTarget3,
7159 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7160 3, 1, 4, 5,
7161 16,
7162 OPC_CheckPredicate, 31,
7163 OPC_CheckPatternPredicate, 8,
7164 OPC_CheckComplexPat0, /*#*/2,
7165 OPC_EmitMergeInputChains1_0,
7166 OPC_EmitConvertToTarget3,
7167 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7168 3, 1, 4, 5,
7169 0,
7170 15,
7171 OPC_CheckPredicate1,
7172 OPC_CheckPatternPredicate, 9,
7173 OPC_CheckComplexPat0, /*#*/2,
7174 OPC_EmitMergeInputChains1_0,
7175 OPC_EmitConvertToTarget3,
7176 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7177 3, 1, 4, 5,
7178 0,
7179 0,
7180 114,
7181 OPC_RecordChild2,
7182 OPC_CheckPredicate2,
7183 OPC_Scope, 36,
7184 OPC_CheckPredicate, 27,
7185 OPC_Scope, 15,
7186 OPC_CheckPredicate, 30,
7187 OPC_CheckPatternPredicate, 8,
7188 OPC_CheckComplexPat4, /*#*/2,
7189 OPC_EmitMergeInputChains1_0,
7190 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7191 3, 1, 3, 4,
7192 15,
7193 OPC_CheckPredicate, 31,
7194 OPC_CheckPatternPredicate, 8,
7195 OPC_CheckComplexPat4, /*#*/2,
7196 OPC_EmitMergeInputChains1_0,
7197 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7198 3, 1, 3, 4,
7199 0,
7200 14,
7201 OPC_CheckPredicate1,
7202 OPC_CheckPatternPredicate, 9,
7203 OPC_CheckComplexPat4, /*#*/2,
7204 OPC_EmitMergeInputChains1_0,
7205 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7206 3, 1, 3, 4,
7207 40,
7208 OPC_CheckPredicate, 27,
7209 OPC_Scope, 17,
7210 OPC_CheckPredicate, 30,
7211 OPC_CheckPatternPredicate, 8,
7212 OPC_CheckComplexPat0, /*#*/2,
7213 OPC_EmitMergeInputChains1_0,
7214 OPC_EmitInteger32, 0,
7215 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
7216 3, 1, 3, 4,
7217 17,
7218 OPC_CheckPredicate, 31,
7219 OPC_CheckPatternPredicate, 8,
7220 OPC_CheckComplexPat0, /*#*/2,
7221 OPC_EmitMergeInputChains1_0,
7222 OPC_EmitInteger32, 0,
7223 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
7224 3, 1, 3, 4,
7225 0,
7226 16,
7227 OPC_CheckPredicate1,
7228 OPC_CheckPatternPredicate, 9,
7229 OPC_CheckComplexPat0, /*#*/2,
7230 OPC_EmitMergeInputChains1_0,
7231 OPC_EmitInteger32, 0,
7232 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
7233 3, 1, 3, 4,
7234 0,
7235 0,
7236 7|128,2,
7237 OPC_CheckChild1Type, MVT::f32,
7238 OPC_Scope, 111,
7239 OPC_MoveChild2,
7240 OPC_SwitchOpcode , 51, TARGET_VAL(ISD::ADD),
7241 OPC_RecordChild0,
7242 OPC_RecordChild1,
7243 OPC_MoveChild1,
7244 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7245 OPC_CheckPredicate, 11,
7246 OPC_MoveParent,
7247 OPC_CheckPredicate, 10,
7248 OPC_SwitchType , 17, MVT::i64,
7249 OPC_MoveParent,
7250 OPC_CheckPredicate2,
7251 OPC_CheckPredicate1,
7252 OPC_CheckPatternPredicate, 11,
7253 OPC_CheckComplexPat0, /*#*/2,
7254 OPC_EmitMergeInputChains1_0,
7255 OPC_EmitConvertToTarget3,
7256 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7257 3, 1, 4, 5,
7258 17, MVT::i32,
7259 OPC_MoveParent,
7260 OPC_CheckPredicate2,
7261 OPC_CheckPredicate1,
7262 OPC_CheckPatternPredicate, 12,
7263 OPC_CheckComplexPat0, /*#*/2,
7264 OPC_EmitMergeInputChains1_0,
7265 OPC_EmitConvertToTarget3,
7266 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7267 3, 1, 4, 5,
7268 0,
7269 51, TARGET_VAL(ISD::OR),
7270 OPC_RecordChild0,
7271 OPC_RecordChild1,
7272 OPC_MoveChild1,
7273 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7274 OPC_CheckPredicate, 11,
7275 OPC_MoveParent,
7276 OPC_CheckPredicate, 10,
7277 OPC_SwitchType , 17, MVT::i64,
7278 OPC_MoveParent,
7279 OPC_CheckPredicate2,
7280 OPC_CheckPredicate1,
7281 OPC_CheckPatternPredicate, 11,
7282 OPC_CheckComplexPat0, /*#*/2,
7283 OPC_EmitMergeInputChains1_0,
7284 OPC_EmitConvertToTarget3,
7285 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7286 3, 1, 4, 5,
7287 17, MVT::i32,
7288 OPC_MoveParent,
7289 OPC_CheckPredicate2,
7290 OPC_CheckPredicate1,
7291 OPC_CheckPatternPredicate, 12,
7292 OPC_CheckComplexPat0, /*#*/2,
7293 OPC_EmitMergeInputChains1_0,
7294 OPC_EmitConvertToTarget3,
7295 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7296 3, 1, 4, 5,
7297 0,
7298 0,
7299 33,
7300 OPC_RecordChild2,
7301 OPC_CheckPredicate2,
7302 OPC_CheckPredicate1,
7303 OPC_Scope, 13,
7304 OPC_CheckPatternPredicate, 11,
7305 OPC_CheckComplexPat4, /*#*/2,
7306 OPC_EmitMergeInputChains1_0,
7307 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7308 3, 1, 3, 4,
7309 13,
7310 OPC_CheckPatternPredicate, 12,
7311 OPC_CheckComplexPat4, /*#*/2,
7312 OPC_EmitMergeInputChains1_0,
7313 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7314 3, 1, 3, 4,
7315 0,
7316 74,
7317 OPC_MoveChild2,
7318 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7319 OPC_RecordChild0,
7320 OPC_RecordChild1,
7321 OPC_SwitchType , 31, MVT::i64,
7322 OPC_MoveParent,
7323 OPC_CheckPredicate2,
7324 OPC_CheckPredicate1,
7325 OPC_CheckPatternPredicate, 11,
7326 OPC_Scope, 11,
7327 OPC_CheckComplexPat2, /*#*/2,
7328 OPC_EmitMergeInputChains1_0,
7329 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7330 3, 1, 4, 3,
7331 11,
7332 OPC_CheckComplexPat2, /*#*/3,
7333 OPC_EmitMergeInputChains1_0,
7334 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7335 3, 1, 4, 2,
7336 0,
7337 31, MVT::i32,
7338 OPC_MoveParent,
7339 OPC_CheckPredicate2,
7340 OPC_CheckPredicate1,
7341 OPC_CheckPatternPredicate, 12,
7342 OPC_Scope, 11,
7343 OPC_CheckComplexPat2, /*#*/2,
7344 OPC_EmitMergeInputChains1_0,
7345 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7346 3, 1, 4, 3,
7347 11,
7348 OPC_CheckComplexPat2, /*#*/3,
7349 OPC_EmitMergeInputChains1_0,
7350 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
7351 3, 1, 4, 2,
7352 0,
7353 0,
7354 37,
7355 OPC_RecordChild2,
7356 OPC_CheckPredicate2,
7357 OPC_CheckPredicate1,
7358 OPC_Scope, 15,
7359 OPC_CheckPatternPredicate, 11,
7360 OPC_CheckComplexPat0, /*#*/2,
7361 OPC_EmitMergeInputChains1_0,
7362 OPC_EmitInteger64, 0,
7363 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7364 3, 1, 3, 4,
7365 15,
7366 OPC_CheckPatternPredicate, 12,
7367 OPC_CheckComplexPat0, /*#*/2,
7368 OPC_EmitMergeInputChains1_0,
7369 OPC_EmitInteger32, 0,
7370 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
7371 3, 1, 3, 4,
7372 0,
7373 0,
7374 7|128,2,
7375 OPC_CheckChild1Type, MVT::f64,
7376 OPC_Scope, 111,
7377 OPC_MoveChild2,
7378 OPC_SwitchOpcode , 51, TARGET_VAL(ISD::ADD),
7379 OPC_RecordChild0,
7380 OPC_RecordChild1,
7381 OPC_MoveChild1,
7382 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7383 OPC_CheckPredicate, 11,
7384 OPC_MoveParent,
7385 OPC_CheckPredicate, 10,
7386 OPC_SwitchType , 17, MVT::i64,
7387 OPC_MoveParent,
7388 OPC_CheckPredicate2,
7389 OPC_CheckPredicate1,
7390 OPC_CheckPatternPredicate, 13,
7391 OPC_CheckComplexPat0, /*#*/2,
7392 OPC_EmitMergeInputChains1_0,
7393 OPC_EmitConvertToTarget3,
7394 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7395 3, 1, 4, 5,
7396 17, MVT::i32,
7397 OPC_MoveParent,
7398 OPC_CheckPredicate2,
7399 OPC_CheckPredicate1,
7400 OPC_CheckPatternPredicate, 14,
7401 OPC_CheckComplexPat0, /*#*/2,
7402 OPC_EmitMergeInputChains1_0,
7403 OPC_EmitConvertToTarget3,
7404 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7405 3, 1, 4, 5,
7406 0,
7407 51, TARGET_VAL(ISD::OR),
7408 OPC_RecordChild0,
7409 OPC_RecordChild1,
7410 OPC_MoveChild1,
7411 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7412 OPC_CheckPredicate, 11,
7413 OPC_MoveParent,
7414 OPC_CheckPredicate, 10,
7415 OPC_SwitchType , 17, MVT::i64,
7416 OPC_MoveParent,
7417 OPC_CheckPredicate2,
7418 OPC_CheckPredicate1,
7419 OPC_CheckPatternPredicate, 13,
7420 OPC_CheckComplexPat0, /*#*/2,
7421 OPC_EmitMergeInputChains1_0,
7422 OPC_EmitConvertToTarget3,
7423 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7424 3, 1, 4, 5,
7425 17, MVT::i32,
7426 OPC_MoveParent,
7427 OPC_CheckPredicate2,
7428 OPC_CheckPredicate1,
7429 OPC_CheckPatternPredicate, 14,
7430 OPC_CheckComplexPat0, /*#*/2,
7431 OPC_EmitMergeInputChains1_0,
7432 OPC_EmitConvertToTarget3,
7433 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7434 3, 1, 4, 5,
7435 0,
7436 0,
7437 33,
7438 OPC_RecordChild2,
7439 OPC_CheckPredicate2,
7440 OPC_CheckPredicate1,
7441 OPC_Scope, 13,
7442 OPC_CheckPatternPredicate, 13,
7443 OPC_CheckComplexPat4, /*#*/2,
7444 OPC_EmitMergeInputChains1_0,
7445 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7446 3, 1, 3, 4,
7447 13,
7448 OPC_CheckPatternPredicate, 14,
7449 OPC_CheckComplexPat4, /*#*/2,
7450 OPC_EmitMergeInputChains1_0,
7451 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7452 3, 1, 3, 4,
7453 0,
7454 74,
7455 OPC_MoveChild2,
7456 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7457 OPC_RecordChild0,
7458 OPC_RecordChild1,
7459 OPC_SwitchType , 31, MVT::i64,
7460 OPC_MoveParent,
7461 OPC_CheckPredicate2,
7462 OPC_CheckPredicate1,
7463 OPC_CheckPatternPredicate, 13,
7464 OPC_Scope, 11,
7465 OPC_CheckComplexPat2, /*#*/2,
7466 OPC_EmitMergeInputChains1_0,
7467 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7468 3, 1, 4, 3,
7469 11,
7470 OPC_CheckComplexPat2, /*#*/3,
7471 OPC_EmitMergeInputChains1_0,
7472 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7473 3, 1, 4, 2,
7474 0,
7475 31, MVT::i32,
7476 OPC_MoveParent,
7477 OPC_CheckPredicate2,
7478 OPC_CheckPredicate1,
7479 OPC_CheckPatternPredicate, 14,
7480 OPC_Scope, 11,
7481 OPC_CheckComplexPat2, /*#*/2,
7482 OPC_EmitMergeInputChains1_0,
7483 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7484 3, 1, 4, 3,
7485 11,
7486 OPC_CheckComplexPat2, /*#*/3,
7487 OPC_EmitMergeInputChains1_0,
7488 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
7489 3, 1, 4, 2,
7490 0,
7491 0,
7492 37,
7493 OPC_RecordChild2,
7494 OPC_CheckPredicate2,
7495 OPC_CheckPredicate1,
7496 OPC_Scope, 15,
7497 OPC_CheckPatternPredicate, 13,
7498 OPC_CheckComplexPat0, /*#*/2,
7499 OPC_EmitMergeInputChains1_0,
7500 OPC_EmitInteger64, 0,
7501 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7502 3, 1, 3, 4,
7503 15,
7504 OPC_CheckPatternPredicate, 14,
7505 OPC_CheckComplexPat0, /*#*/2,
7506 OPC_EmitMergeInputChains1_0,
7507 OPC_EmitInteger32, 0,
7508 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
7509 3, 1, 3, 4,
7510 0,
7511 0,
7512 5|128,2,
7513 OPC_CheckChild1Type, MVT::v16i8,
7514 OPC_Scope, 16|128,1,
7515 OPC_MoveChild2,
7516 OPC_SwitchOpcode , 86, TARGET_VAL(ISD::ADD),
7517 OPC_RecordChild0,
7518 OPC_RecordChild1,
7519 OPC_Scope, 47,
7520 OPC_MoveChild1,
7521 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7522 OPC_CheckPredicate, 11,
7523 OPC_MoveParent,
7524 OPC_CheckPredicate, 10,
7525 OPC_SwitchType , 16, MVT::i64,
7526 OPC_MoveParent,
7527 OPC_CheckPredicate2,
7528 OPC_CheckPredicate1,
7529 OPC_CheckPatternPredicate3,
7530 OPC_CheckComplexPat0, /*#*/2,
7531 OPC_EmitMergeInputChains1_0,
7532 OPC_EmitConvertToTarget3,
7533 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7534 3, 1, 4, 5,
7535 16, MVT::i32,
7536 OPC_MoveParent,
7537 OPC_CheckPredicate2,
7538 OPC_CheckPredicate1,
7539 OPC_CheckPatternPredicate5,
7540 OPC_CheckComplexPat0, /*#*/2,
7541 OPC_EmitMergeInputChains1_0,
7542 OPC_EmitConvertToTarget3,
7543 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7544 3, 1, 4, 5,
7545 0,
7546 16,
7547 OPC_CheckTypeI64,
7548 OPC_MoveParent,
7549 OPC_CheckPredicate2,
7550 OPC_CheckPredicate1,
7551 OPC_CheckPatternPredicate3,
7552 OPC_CheckComplexPat2, /*#*/2,
7553 OPC_EmitMergeInputChains1_0,
7554 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7555 3, 1, 4, 3,
7556 16,
7557 OPC_CheckTypeI32,
7558 OPC_MoveParent,
7559 OPC_CheckPredicate2,
7560 OPC_CheckPredicate1,
7561 OPC_CheckPatternPredicate5,
7562 OPC_CheckComplexPat2, /*#*/2,
7563 OPC_EmitMergeInputChains1_0,
7564 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7565 3, 1, 4, 3,
7566 0,
7567 49, TARGET_VAL(ISD::OR),
7568 OPC_RecordChild0,
7569 OPC_RecordChild1,
7570 OPC_MoveChild1,
7571 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7572 OPC_CheckPredicate, 11,
7573 OPC_MoveParent,
7574 OPC_CheckPredicate, 10,
7575 OPC_SwitchType , 16, MVT::i64,
7576 OPC_MoveParent,
7577 OPC_CheckPredicate2,
7578 OPC_CheckPredicate1,
7579 OPC_CheckPatternPredicate3,
7580 OPC_CheckComplexPat0, /*#*/2,
7581 OPC_EmitMergeInputChains1_0,
7582 OPC_EmitConvertToTarget3,
7583 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7584 3, 1, 4, 5,
7585 16, MVT::i32,
7586 OPC_MoveParent,
7587 OPC_CheckPredicate2,
7588 OPC_CheckPredicate1,
7589 OPC_CheckPatternPredicate5,
7590 OPC_CheckComplexPat0, /*#*/2,
7591 OPC_EmitMergeInputChains1_0,
7592 OPC_EmitConvertToTarget3,
7593 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7594 3, 1, 4, 5,
7595 0,
7596 0,
7597 31,
7598 OPC_RecordChild2,
7599 OPC_CheckPredicate2,
7600 OPC_CheckPredicate1,
7601 OPC_Scope, 12,
7602 OPC_CheckPatternPredicate3,
7603 OPC_CheckComplexPat4, /*#*/2,
7604 OPC_EmitMergeInputChains1_0,
7605 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7606 3, 1, 3, 4,
7607 12,
7608 OPC_CheckPatternPredicate5,
7609 OPC_CheckComplexPat4, /*#*/2,
7610 OPC_EmitMergeInputChains1_0,
7611 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7612 3, 1, 3, 4,
7613 0,
7614 42,
7615 OPC_MoveChild2,
7616 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7617 OPC_RecordChild0,
7618 OPC_RecordChild1,
7619 OPC_SwitchType , 15, MVT::i64,
7620 OPC_MoveParent,
7621 OPC_CheckPredicate2,
7622 OPC_CheckPredicate1,
7623 OPC_CheckPatternPredicate3,
7624 OPC_CheckComplexPat2, /*#*/3,
7625 OPC_EmitMergeInputChains1_0,
7626 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7627 3, 1, 4, 2,
7628 15, MVT::i32,
7629 OPC_MoveParent,
7630 OPC_CheckPredicate2,
7631 OPC_CheckPredicate1,
7632 OPC_CheckPatternPredicate5,
7633 OPC_CheckComplexPat2, /*#*/3,
7634 OPC_EmitMergeInputChains1_0,
7635 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7636 3, 1, 4, 2,
7637 0,
7638 35,
7639 OPC_RecordChild2,
7640 OPC_CheckPredicate2,
7641 OPC_CheckPredicate1,
7642 OPC_Scope, 14,
7643 OPC_CheckPatternPredicate3,
7644 OPC_CheckComplexPat0, /*#*/2,
7645 OPC_EmitMergeInputChains1_0,
7646 OPC_EmitInteger64, 0,
7647 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7648 3, 1, 3, 4,
7649 14,
7650 OPC_CheckPatternPredicate5,
7651 OPC_CheckComplexPat0, /*#*/2,
7652 OPC_EmitMergeInputChains1_0,
7653 OPC_EmitInteger32, 0,
7654 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7655 3, 1, 3, 4,
7656 0,
7657 0,
7658 125|128,1,
7659 OPC_CheckChild1Type, MVT::v8i16,
7660 OPC_Scope, 107,
7661 OPC_MoveChild2,
7662 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
7663 OPC_RecordChild0,
7664 OPC_RecordChild1,
7665 OPC_MoveChild1,
7666 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7667 OPC_CheckPredicate, 11,
7668 OPC_MoveParent,
7669 OPC_CheckPredicate, 10,
7670 OPC_SwitchType , 16, MVT::i64,
7671 OPC_MoveParent,
7672 OPC_CheckPredicate2,
7673 OPC_CheckPredicate1,
7674 OPC_CheckPatternPredicate3,
7675 OPC_CheckComplexPat0, /*#*/2,
7676 OPC_EmitMergeInputChains1_0,
7677 OPC_EmitConvertToTarget3,
7678 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7679 3, 1, 4, 5,
7680 16, MVT::i32,
7681 OPC_MoveParent,
7682 OPC_CheckPredicate2,
7683 OPC_CheckPredicate1,
7684 OPC_CheckPatternPredicate5,
7685 OPC_CheckComplexPat0, /*#*/2,
7686 OPC_EmitMergeInputChains1_0,
7687 OPC_EmitConvertToTarget3,
7688 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7689 3, 1, 4, 5,
7690 0,
7691 49, TARGET_VAL(ISD::OR),
7692 OPC_RecordChild0,
7693 OPC_RecordChild1,
7694 OPC_MoveChild1,
7695 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7696 OPC_CheckPredicate, 11,
7697 OPC_MoveParent,
7698 OPC_CheckPredicate, 10,
7699 OPC_SwitchType , 16, MVT::i64,
7700 OPC_MoveParent,
7701 OPC_CheckPredicate2,
7702 OPC_CheckPredicate1,
7703 OPC_CheckPatternPredicate3,
7704 OPC_CheckComplexPat0, /*#*/2,
7705 OPC_EmitMergeInputChains1_0,
7706 OPC_EmitConvertToTarget3,
7707 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7708 3, 1, 4, 5,
7709 16, MVT::i32,
7710 OPC_MoveParent,
7711 OPC_CheckPredicate2,
7712 OPC_CheckPredicate1,
7713 OPC_CheckPatternPredicate5,
7714 OPC_CheckComplexPat0, /*#*/2,
7715 OPC_EmitMergeInputChains1_0,
7716 OPC_EmitConvertToTarget3,
7717 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7718 3, 1, 4, 5,
7719 0,
7720 0,
7721 31,
7722 OPC_RecordChild2,
7723 OPC_CheckPredicate2,
7724 OPC_CheckPredicate1,
7725 OPC_Scope, 12,
7726 OPC_CheckPatternPredicate3,
7727 OPC_CheckComplexPat4, /*#*/2,
7728 OPC_EmitMergeInputChains1_0,
7729 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7730 3, 1, 3, 4,
7731 12,
7732 OPC_CheckPatternPredicate5,
7733 OPC_CheckComplexPat4, /*#*/2,
7734 OPC_EmitMergeInputChains1_0,
7735 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7736 3, 1, 3, 4,
7737 0,
7738 72,
7739 OPC_MoveChild2,
7740 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7741 OPC_RecordChild0,
7742 OPC_RecordChild1,
7743 OPC_SwitchType , 30, MVT::i64,
7744 OPC_MoveParent,
7745 OPC_CheckPredicate2,
7746 OPC_CheckPredicate1,
7747 OPC_CheckPatternPredicate3,
7748 OPC_Scope, 11,
7749 OPC_CheckComplexPat2, /*#*/2,
7750 OPC_EmitMergeInputChains1_0,
7751 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7752 3, 1, 4, 3,
7753 11,
7754 OPC_CheckComplexPat2, /*#*/3,
7755 OPC_EmitMergeInputChains1_0,
7756 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7757 3, 1, 4, 2,
7758 0,
7759 30, MVT::i32,
7760 OPC_MoveParent,
7761 OPC_CheckPredicate2,
7762 OPC_CheckPredicate1,
7763 OPC_CheckPatternPredicate5,
7764 OPC_Scope, 11,
7765 OPC_CheckComplexPat2, /*#*/2,
7766 OPC_EmitMergeInputChains1_0,
7767 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7768 3, 1, 4, 3,
7769 11,
7770 OPC_CheckComplexPat2, /*#*/3,
7771 OPC_EmitMergeInputChains1_0,
7772 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7773 3, 1, 4, 2,
7774 0,
7775 0,
7776 35,
7777 OPC_RecordChild2,
7778 OPC_CheckPredicate2,
7779 OPC_CheckPredicate1,
7780 OPC_Scope, 14,
7781 OPC_CheckPatternPredicate3,
7782 OPC_CheckComplexPat0, /*#*/2,
7783 OPC_EmitMergeInputChains1_0,
7784 OPC_EmitInteger64, 0,
7785 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7786 3, 1, 3, 4,
7787 14,
7788 OPC_CheckPatternPredicate5,
7789 OPC_CheckComplexPat0, /*#*/2,
7790 OPC_EmitMergeInputChains1_0,
7791 OPC_EmitInteger32, 0,
7792 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7793 3, 1, 3, 4,
7794 0,
7795 0,
7796 125|128,1,
7797 OPC_CheckChild1Type, MVT::v4i32,
7798 OPC_Scope, 107,
7799 OPC_MoveChild2,
7800 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
7801 OPC_RecordChild0,
7802 OPC_RecordChild1,
7803 OPC_MoveChild1,
7804 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7805 OPC_CheckPredicate, 11,
7806 OPC_MoveParent,
7807 OPC_CheckPredicate, 10,
7808 OPC_SwitchType , 16, MVT::i64,
7809 OPC_MoveParent,
7810 OPC_CheckPredicate2,
7811 OPC_CheckPredicate1,
7812 OPC_CheckPatternPredicate3,
7813 OPC_CheckComplexPat0, /*#*/2,
7814 OPC_EmitMergeInputChains1_0,
7815 OPC_EmitConvertToTarget3,
7816 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7817 3, 1, 4, 5,
7818 16, MVT::i32,
7819 OPC_MoveParent,
7820 OPC_CheckPredicate2,
7821 OPC_CheckPredicate1,
7822 OPC_CheckPatternPredicate5,
7823 OPC_CheckComplexPat0, /*#*/2,
7824 OPC_EmitMergeInputChains1_0,
7825 OPC_EmitConvertToTarget3,
7826 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7827 3, 1, 4, 5,
7828 0,
7829 49, TARGET_VAL(ISD::OR),
7830 OPC_RecordChild0,
7831 OPC_RecordChild1,
7832 OPC_MoveChild1,
7833 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7834 OPC_CheckPredicate, 11,
7835 OPC_MoveParent,
7836 OPC_CheckPredicate, 10,
7837 OPC_SwitchType , 16, MVT::i64,
7838 OPC_MoveParent,
7839 OPC_CheckPredicate2,
7840 OPC_CheckPredicate1,
7841 OPC_CheckPatternPredicate3,
7842 OPC_CheckComplexPat0, /*#*/2,
7843 OPC_EmitMergeInputChains1_0,
7844 OPC_EmitConvertToTarget3,
7845 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7846 3, 1, 4, 5,
7847 16, MVT::i32,
7848 OPC_MoveParent,
7849 OPC_CheckPredicate2,
7850 OPC_CheckPredicate1,
7851 OPC_CheckPatternPredicate5,
7852 OPC_CheckComplexPat0, /*#*/2,
7853 OPC_EmitMergeInputChains1_0,
7854 OPC_EmitConvertToTarget3,
7855 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7856 3, 1, 4, 5,
7857 0,
7858 0,
7859 31,
7860 OPC_RecordChild2,
7861 OPC_CheckPredicate2,
7862 OPC_CheckPredicate1,
7863 OPC_Scope, 12,
7864 OPC_CheckPatternPredicate3,
7865 OPC_CheckComplexPat4, /*#*/2,
7866 OPC_EmitMergeInputChains1_0,
7867 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7868 3, 1, 3, 4,
7869 12,
7870 OPC_CheckPatternPredicate5,
7871 OPC_CheckComplexPat4, /*#*/2,
7872 OPC_EmitMergeInputChains1_0,
7873 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7874 3, 1, 3, 4,
7875 0,
7876 72,
7877 OPC_MoveChild2,
7878 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7879 OPC_RecordChild0,
7880 OPC_RecordChild1,
7881 OPC_SwitchType , 30, MVT::i64,
7882 OPC_MoveParent,
7883 OPC_CheckPredicate2,
7884 OPC_CheckPredicate1,
7885 OPC_CheckPatternPredicate3,
7886 OPC_Scope, 11,
7887 OPC_CheckComplexPat2, /*#*/2,
7888 OPC_EmitMergeInputChains1_0,
7889 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7890 3, 1, 4, 3,
7891 11,
7892 OPC_CheckComplexPat2, /*#*/3,
7893 OPC_EmitMergeInputChains1_0,
7894 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7895 3, 1, 4, 2,
7896 0,
7897 30, MVT::i32,
7898 OPC_MoveParent,
7899 OPC_CheckPredicate2,
7900 OPC_CheckPredicate1,
7901 OPC_CheckPatternPredicate5,
7902 OPC_Scope, 11,
7903 OPC_CheckComplexPat2, /*#*/2,
7904 OPC_EmitMergeInputChains1_0,
7905 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7906 3, 1, 4, 3,
7907 11,
7908 OPC_CheckComplexPat2, /*#*/3,
7909 OPC_EmitMergeInputChains1_0,
7910 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
7911 3, 1, 4, 2,
7912 0,
7913 0,
7914 35,
7915 OPC_RecordChild2,
7916 OPC_CheckPredicate2,
7917 OPC_CheckPredicate1,
7918 OPC_Scope, 14,
7919 OPC_CheckPatternPredicate3,
7920 OPC_CheckComplexPat0, /*#*/2,
7921 OPC_EmitMergeInputChains1_0,
7922 OPC_EmitInteger64, 0,
7923 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7924 3, 1, 3, 4,
7925 14,
7926 OPC_CheckPatternPredicate5,
7927 OPC_CheckComplexPat0, /*#*/2,
7928 OPC_EmitMergeInputChains1_0,
7929 OPC_EmitInteger32, 0,
7930 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7931 3, 1, 3, 4,
7932 0,
7933 0,
7934 125|128,1,
7935 OPC_CheckChild1Type, MVT::v2i64,
7936 OPC_Scope, 107,
7937 OPC_MoveChild2,
7938 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
7939 OPC_RecordChild0,
7940 OPC_RecordChild1,
7941 OPC_MoveChild1,
7942 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7943 OPC_CheckPredicate, 11,
7944 OPC_MoveParent,
7945 OPC_CheckPredicate, 10,
7946 OPC_SwitchType , 16, MVT::i64,
7947 OPC_MoveParent,
7948 OPC_CheckPredicate2,
7949 OPC_CheckPredicate1,
7950 OPC_CheckPatternPredicate3,
7951 OPC_CheckComplexPat0, /*#*/2,
7952 OPC_EmitMergeInputChains1_0,
7953 OPC_EmitConvertToTarget3,
7954 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7955 3, 1, 4, 5,
7956 16, MVT::i32,
7957 OPC_MoveParent,
7958 OPC_CheckPredicate2,
7959 OPC_CheckPredicate1,
7960 OPC_CheckPatternPredicate5,
7961 OPC_CheckComplexPat0, /*#*/2,
7962 OPC_EmitMergeInputChains1_0,
7963 OPC_EmitConvertToTarget3,
7964 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7965 3, 1, 4, 5,
7966 0,
7967 49, TARGET_VAL(ISD::OR),
7968 OPC_RecordChild0,
7969 OPC_RecordChild1,
7970 OPC_MoveChild1,
7971 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7972 OPC_CheckPredicate, 11,
7973 OPC_MoveParent,
7974 OPC_CheckPredicate, 10,
7975 OPC_SwitchType , 16, MVT::i64,
7976 OPC_MoveParent,
7977 OPC_CheckPredicate2,
7978 OPC_CheckPredicate1,
7979 OPC_CheckPatternPredicate3,
7980 OPC_CheckComplexPat0, /*#*/2,
7981 OPC_EmitMergeInputChains1_0,
7982 OPC_EmitConvertToTarget3,
7983 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7984 3, 1, 4, 5,
7985 16, MVT::i32,
7986 OPC_MoveParent,
7987 OPC_CheckPredicate2,
7988 OPC_CheckPredicate1,
7989 OPC_CheckPatternPredicate5,
7990 OPC_CheckComplexPat0, /*#*/2,
7991 OPC_EmitMergeInputChains1_0,
7992 OPC_EmitConvertToTarget3,
7993 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
7994 3, 1, 4, 5,
7995 0,
7996 0,
7997 31,
7998 OPC_RecordChild2,
7999 OPC_CheckPredicate2,
8000 OPC_CheckPredicate1,
8001 OPC_Scope, 12,
8002 OPC_CheckPatternPredicate3,
8003 OPC_CheckComplexPat4, /*#*/2,
8004 OPC_EmitMergeInputChains1_0,
8005 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8006 3, 1, 3, 4,
8007 12,
8008 OPC_CheckPatternPredicate5,
8009 OPC_CheckComplexPat4, /*#*/2,
8010 OPC_EmitMergeInputChains1_0,
8011 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8012 3, 1, 3, 4,
8013 0,
8014 72,
8015 OPC_MoveChild2,
8016 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8017 OPC_RecordChild0,
8018 OPC_RecordChild1,
8019 OPC_SwitchType , 30, MVT::i64,
8020 OPC_MoveParent,
8021 OPC_CheckPredicate2,
8022 OPC_CheckPredicate1,
8023 OPC_CheckPatternPredicate3,
8024 OPC_Scope, 11,
8025 OPC_CheckComplexPat2, /*#*/2,
8026 OPC_EmitMergeInputChains1_0,
8027 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8028 3, 1, 4, 3,
8029 11,
8030 OPC_CheckComplexPat2, /*#*/3,
8031 OPC_EmitMergeInputChains1_0,
8032 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8033 3, 1, 4, 2,
8034 0,
8035 30, MVT::i32,
8036 OPC_MoveParent,
8037 OPC_CheckPredicate2,
8038 OPC_CheckPredicate1,
8039 OPC_CheckPatternPredicate5,
8040 OPC_Scope, 11,
8041 OPC_CheckComplexPat2, /*#*/2,
8042 OPC_EmitMergeInputChains1_0,
8043 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8044 3, 1, 4, 3,
8045 11,
8046 OPC_CheckComplexPat2, /*#*/3,
8047 OPC_EmitMergeInputChains1_0,
8048 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8049 3, 1, 4, 2,
8050 0,
8051 0,
8052 35,
8053 OPC_RecordChild2,
8054 OPC_CheckPredicate2,
8055 OPC_CheckPredicate1,
8056 OPC_Scope, 14,
8057 OPC_CheckPatternPredicate3,
8058 OPC_CheckComplexPat0, /*#*/2,
8059 OPC_EmitMergeInputChains1_0,
8060 OPC_EmitInteger64, 0,
8061 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8062 3, 1, 3, 4,
8063 14,
8064 OPC_CheckPatternPredicate5,
8065 OPC_CheckComplexPat0, /*#*/2,
8066 OPC_EmitMergeInputChains1_0,
8067 OPC_EmitInteger32, 0,
8068 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8069 3, 1, 3, 4,
8070 0,
8071 0,
8072 125|128,1,
8073 OPC_CheckChild1Type, MVT::v4f32,
8074 OPC_Scope, 107,
8075 OPC_MoveChild2,
8076 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8077 OPC_RecordChild0,
8078 OPC_RecordChild1,
8079 OPC_MoveChild1,
8080 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8081 OPC_CheckPredicate, 11,
8082 OPC_MoveParent,
8083 OPC_CheckPredicate, 10,
8084 OPC_SwitchType , 16, MVT::i64,
8085 OPC_MoveParent,
8086 OPC_CheckPredicate2,
8087 OPC_CheckPredicate1,
8088 OPC_CheckPatternPredicate3,
8089 OPC_CheckComplexPat0, /*#*/2,
8090 OPC_EmitMergeInputChains1_0,
8091 OPC_EmitConvertToTarget3,
8092 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8093 3, 1, 4, 5,
8094 16, MVT::i32,
8095 OPC_MoveParent,
8096 OPC_CheckPredicate2,
8097 OPC_CheckPredicate1,
8098 OPC_CheckPatternPredicate5,
8099 OPC_CheckComplexPat0, /*#*/2,
8100 OPC_EmitMergeInputChains1_0,
8101 OPC_EmitConvertToTarget3,
8102 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8103 3, 1, 4, 5,
8104 0,
8105 49, TARGET_VAL(ISD::OR),
8106 OPC_RecordChild0,
8107 OPC_RecordChild1,
8108 OPC_MoveChild1,
8109 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8110 OPC_CheckPredicate, 11,
8111 OPC_MoveParent,
8112 OPC_CheckPredicate, 10,
8113 OPC_SwitchType , 16, MVT::i64,
8114 OPC_MoveParent,
8115 OPC_CheckPredicate2,
8116 OPC_CheckPredicate1,
8117 OPC_CheckPatternPredicate3,
8118 OPC_CheckComplexPat0, /*#*/2,
8119 OPC_EmitMergeInputChains1_0,
8120 OPC_EmitConvertToTarget3,
8121 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8122 3, 1, 4, 5,
8123 16, MVT::i32,
8124 OPC_MoveParent,
8125 OPC_CheckPredicate2,
8126 OPC_CheckPredicate1,
8127 OPC_CheckPatternPredicate5,
8128 OPC_CheckComplexPat0, /*#*/2,
8129 OPC_EmitMergeInputChains1_0,
8130 OPC_EmitConvertToTarget3,
8131 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8132 3, 1, 4, 5,
8133 0,
8134 0,
8135 31,
8136 OPC_RecordChild2,
8137 OPC_CheckPredicate2,
8138 OPC_CheckPredicate1,
8139 OPC_Scope, 12,
8140 OPC_CheckPatternPredicate3,
8141 OPC_CheckComplexPat4, /*#*/2,
8142 OPC_EmitMergeInputChains1_0,
8143 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8144 3, 1, 3, 4,
8145 12,
8146 OPC_CheckPatternPredicate5,
8147 OPC_CheckComplexPat4, /*#*/2,
8148 OPC_EmitMergeInputChains1_0,
8149 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8150 3, 1, 3, 4,
8151 0,
8152 72,
8153 OPC_MoveChild2,
8154 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8155 OPC_RecordChild0,
8156 OPC_RecordChild1,
8157 OPC_SwitchType , 30, MVT::i64,
8158 OPC_MoveParent,
8159 OPC_CheckPredicate2,
8160 OPC_CheckPredicate1,
8161 OPC_CheckPatternPredicate3,
8162 OPC_Scope, 11,
8163 OPC_CheckComplexPat2, /*#*/2,
8164 OPC_EmitMergeInputChains1_0,
8165 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8166 3, 1, 4, 3,
8167 11,
8168 OPC_CheckComplexPat2, /*#*/3,
8169 OPC_EmitMergeInputChains1_0,
8170 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8171 3, 1, 4, 2,
8172 0,
8173 30, MVT::i32,
8174 OPC_MoveParent,
8175 OPC_CheckPredicate2,
8176 OPC_CheckPredicate1,
8177 OPC_CheckPatternPredicate5,
8178 OPC_Scope, 11,
8179 OPC_CheckComplexPat2, /*#*/2,
8180 OPC_EmitMergeInputChains1_0,
8181 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8182 3, 1, 4, 3,
8183 11,
8184 OPC_CheckComplexPat2, /*#*/3,
8185 OPC_EmitMergeInputChains1_0,
8186 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8187 3, 1, 4, 2,
8188 0,
8189 0,
8190 35,
8191 OPC_RecordChild2,
8192 OPC_CheckPredicate2,
8193 OPC_CheckPredicate1,
8194 OPC_Scope, 14,
8195 OPC_CheckPatternPredicate3,
8196 OPC_CheckComplexPat0, /*#*/2,
8197 OPC_EmitMergeInputChains1_0,
8198 OPC_EmitInteger64, 0,
8199 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8200 3, 1, 3, 4,
8201 14,
8202 OPC_CheckPatternPredicate5,
8203 OPC_CheckComplexPat0, /*#*/2,
8204 OPC_EmitMergeInputChains1_0,
8205 OPC_EmitInteger32, 0,
8206 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8207 3, 1, 3, 4,
8208 0,
8209 0,
8210 125|128,1,
8211 OPC_CheckChild1Type, MVT::v2f64,
8212 OPC_Scope, 107,
8213 OPC_MoveChild2,
8214 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8215 OPC_RecordChild0,
8216 OPC_RecordChild1,
8217 OPC_MoveChild1,
8218 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8219 OPC_CheckPredicate, 11,
8220 OPC_MoveParent,
8221 OPC_CheckPredicate, 10,
8222 OPC_SwitchType , 16, MVT::i64,
8223 OPC_MoveParent,
8224 OPC_CheckPredicate2,
8225 OPC_CheckPredicate1,
8226 OPC_CheckPatternPredicate3,
8227 OPC_CheckComplexPat0, /*#*/2,
8228 OPC_EmitMergeInputChains1_0,
8229 OPC_EmitConvertToTarget3,
8230 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8231 3, 1, 4, 5,
8232 16, MVT::i32,
8233 OPC_MoveParent,
8234 OPC_CheckPredicate2,
8235 OPC_CheckPredicate1,
8236 OPC_CheckPatternPredicate5,
8237 OPC_CheckComplexPat0, /*#*/2,
8238 OPC_EmitMergeInputChains1_0,
8239 OPC_EmitConvertToTarget3,
8240 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8241 3, 1, 4, 5,
8242 0,
8243 49, TARGET_VAL(ISD::OR),
8244 OPC_RecordChild0,
8245 OPC_RecordChild1,
8246 OPC_MoveChild1,
8247 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8248 OPC_CheckPredicate, 11,
8249 OPC_MoveParent,
8250 OPC_CheckPredicate, 10,
8251 OPC_SwitchType , 16, MVT::i64,
8252 OPC_MoveParent,
8253 OPC_CheckPredicate2,
8254 OPC_CheckPredicate1,
8255 OPC_CheckPatternPredicate3,
8256 OPC_CheckComplexPat0, /*#*/2,
8257 OPC_EmitMergeInputChains1_0,
8258 OPC_EmitConvertToTarget3,
8259 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8260 3, 1, 4, 5,
8261 16, MVT::i32,
8262 OPC_MoveParent,
8263 OPC_CheckPredicate2,
8264 OPC_CheckPredicate1,
8265 OPC_CheckPatternPredicate5,
8266 OPC_CheckComplexPat0, /*#*/2,
8267 OPC_EmitMergeInputChains1_0,
8268 OPC_EmitConvertToTarget3,
8269 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8270 3, 1, 4, 5,
8271 0,
8272 0,
8273 31,
8274 OPC_RecordChild2,
8275 OPC_CheckPredicate2,
8276 OPC_CheckPredicate1,
8277 OPC_Scope, 12,
8278 OPC_CheckPatternPredicate3,
8279 OPC_CheckComplexPat4, /*#*/2,
8280 OPC_EmitMergeInputChains1_0,
8281 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8282 3, 1, 3, 4,
8283 12,
8284 OPC_CheckPatternPredicate5,
8285 OPC_CheckComplexPat4, /*#*/2,
8286 OPC_EmitMergeInputChains1_0,
8287 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8288 3, 1, 3, 4,
8289 0,
8290 72,
8291 OPC_MoveChild2,
8292 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8293 OPC_RecordChild0,
8294 OPC_RecordChild1,
8295 OPC_SwitchType , 30, MVT::i64,
8296 OPC_MoveParent,
8297 OPC_CheckPredicate2,
8298 OPC_CheckPredicate1,
8299 OPC_CheckPatternPredicate3,
8300 OPC_Scope, 11,
8301 OPC_CheckComplexPat2, /*#*/2,
8302 OPC_EmitMergeInputChains1_0,
8303 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8304 3, 1, 4, 3,
8305 11,
8306 OPC_CheckComplexPat2, /*#*/3,
8307 OPC_EmitMergeInputChains1_0,
8308 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8309 3, 1, 4, 2,
8310 0,
8311 30, MVT::i32,
8312 OPC_MoveParent,
8313 OPC_CheckPredicate2,
8314 OPC_CheckPredicate1,
8315 OPC_CheckPatternPredicate5,
8316 OPC_Scope, 11,
8317 OPC_CheckComplexPat2, /*#*/2,
8318 OPC_EmitMergeInputChains1_0,
8319 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8320 3, 1, 4, 3,
8321 11,
8322 OPC_CheckComplexPat2, /*#*/3,
8323 OPC_EmitMergeInputChains1_0,
8324 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
8325 3, 1, 4, 2,
8326 0,
8327 0,
8328 35,
8329 OPC_RecordChild2,
8330 OPC_CheckPredicate2,
8331 OPC_CheckPredicate1,
8332 OPC_Scope, 14,
8333 OPC_CheckPatternPredicate3,
8334 OPC_CheckComplexPat0, /*#*/2,
8335 OPC_EmitMergeInputChains1_0,
8336 OPC_EmitInteger64, 0,
8337 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8338 3, 1, 3, 4,
8339 14,
8340 OPC_CheckPatternPredicate5,
8341 OPC_CheckComplexPat0, /*#*/2,
8342 OPC_EmitMergeInputChains1_0,
8343 OPC_EmitInteger32, 0,
8344 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
8345 3, 1, 3, 4,
8346 0,
8347 0,
8348 5|128,2,
8349 OPC_CheckChild1Type, MVT::v32i8,
8350 OPC_Scope, 16|128,1,
8351 OPC_MoveChild2,
8352 OPC_SwitchOpcode , 86, TARGET_VAL(ISD::ADD),
8353 OPC_RecordChild0,
8354 OPC_RecordChild1,
8355 OPC_Scope, 47,
8356 OPC_MoveChild1,
8357 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8358 OPC_CheckPredicate, 11,
8359 OPC_MoveParent,
8360 OPC_CheckPredicate, 10,
8361 OPC_SwitchType , 16, MVT::i64,
8362 OPC_MoveParent,
8363 OPC_CheckPredicate2,
8364 OPC_CheckPredicate1,
8365 OPC_CheckPatternPredicate2,
8366 OPC_CheckComplexPat0, /*#*/2,
8367 OPC_EmitMergeInputChains1_0,
8368 OPC_EmitConvertToTarget3,
8369 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8370 3, 1, 4, 5,
8371 16, MVT::i32,
8372 OPC_MoveParent,
8373 OPC_CheckPredicate2,
8374 OPC_CheckPredicate1,
8375 OPC_CheckPatternPredicate4,
8376 OPC_CheckComplexPat0, /*#*/2,
8377 OPC_EmitMergeInputChains1_0,
8378 OPC_EmitConvertToTarget3,
8379 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8380 3, 1, 4, 5,
8381 0,
8382 16,
8383 OPC_CheckTypeI64,
8384 OPC_MoveParent,
8385 OPC_CheckPredicate2,
8386 OPC_CheckPredicate1,
8387 OPC_CheckPatternPredicate2,
8388 OPC_CheckComplexPat2, /*#*/2,
8389 OPC_EmitMergeInputChains1_0,
8390 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8391 3, 1, 4, 3,
8392 16,
8393 OPC_CheckTypeI32,
8394 OPC_MoveParent,
8395 OPC_CheckPredicate2,
8396 OPC_CheckPredicate1,
8397 OPC_CheckPatternPredicate4,
8398 OPC_CheckComplexPat2, /*#*/2,
8399 OPC_EmitMergeInputChains1_0,
8400 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8401 3, 1, 4, 3,
8402 0,
8403 49, TARGET_VAL(ISD::OR),
8404 OPC_RecordChild0,
8405 OPC_RecordChild1,
8406 OPC_MoveChild1,
8407 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8408 OPC_CheckPredicate, 11,
8409 OPC_MoveParent,
8410 OPC_CheckPredicate, 10,
8411 OPC_SwitchType , 16, MVT::i64,
8412 OPC_MoveParent,
8413 OPC_CheckPredicate2,
8414 OPC_CheckPredicate1,
8415 OPC_CheckPatternPredicate2,
8416 OPC_CheckComplexPat0, /*#*/2,
8417 OPC_EmitMergeInputChains1_0,
8418 OPC_EmitConvertToTarget3,
8419 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8420 3, 1, 4, 5,
8421 16, MVT::i32,
8422 OPC_MoveParent,
8423 OPC_CheckPredicate2,
8424 OPC_CheckPredicate1,
8425 OPC_CheckPatternPredicate4,
8426 OPC_CheckComplexPat0, /*#*/2,
8427 OPC_EmitMergeInputChains1_0,
8428 OPC_EmitConvertToTarget3,
8429 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8430 3, 1, 4, 5,
8431 0,
8432 0,
8433 31,
8434 OPC_RecordChild2,
8435 OPC_CheckPredicate2,
8436 OPC_CheckPredicate1,
8437 OPC_Scope, 12,
8438 OPC_CheckPatternPredicate2,
8439 OPC_CheckComplexPat4, /*#*/2,
8440 OPC_EmitMergeInputChains1_0,
8441 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8442 3, 1, 3, 4,
8443 12,
8444 OPC_CheckPatternPredicate4,
8445 OPC_CheckComplexPat4, /*#*/2,
8446 OPC_EmitMergeInputChains1_0,
8447 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8448 3, 1, 3, 4,
8449 0,
8450 42,
8451 OPC_MoveChild2,
8452 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8453 OPC_RecordChild0,
8454 OPC_RecordChild1,
8455 OPC_SwitchType , 15, MVT::i64,
8456 OPC_MoveParent,
8457 OPC_CheckPredicate2,
8458 OPC_CheckPredicate1,
8459 OPC_CheckPatternPredicate2,
8460 OPC_CheckComplexPat2, /*#*/3,
8461 OPC_EmitMergeInputChains1_0,
8462 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8463 3, 1, 4, 2,
8464 15, MVT::i32,
8465 OPC_MoveParent,
8466 OPC_CheckPredicate2,
8467 OPC_CheckPredicate1,
8468 OPC_CheckPatternPredicate4,
8469 OPC_CheckComplexPat2, /*#*/3,
8470 OPC_EmitMergeInputChains1_0,
8471 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8472 3, 1, 4, 2,
8473 0,
8474 35,
8475 OPC_RecordChild2,
8476 OPC_CheckPredicate2,
8477 OPC_CheckPredicate1,
8478 OPC_Scope, 14,
8479 OPC_CheckPatternPredicate2,
8480 OPC_CheckComplexPat0, /*#*/2,
8481 OPC_EmitMergeInputChains1_0,
8482 OPC_EmitInteger64, 0,
8483 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8484 3, 1, 3, 4,
8485 14,
8486 OPC_CheckPatternPredicate4,
8487 OPC_CheckComplexPat0, /*#*/2,
8488 OPC_EmitMergeInputChains1_0,
8489 OPC_EmitInteger32, 0,
8490 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8491 3, 1, 3, 4,
8492 0,
8493 0,
8494 125|128,1,
8495 OPC_CheckChild1Type, MVT::v16i16,
8496 OPC_Scope, 107,
8497 OPC_MoveChild2,
8498 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8499 OPC_RecordChild0,
8500 OPC_RecordChild1,
8501 OPC_MoveChild1,
8502 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8503 OPC_CheckPredicate, 11,
8504 OPC_MoveParent,
8505 OPC_CheckPredicate, 10,
8506 OPC_SwitchType , 16, MVT::i64,
8507 OPC_MoveParent,
8508 OPC_CheckPredicate2,
8509 OPC_CheckPredicate1,
8510 OPC_CheckPatternPredicate2,
8511 OPC_CheckComplexPat0, /*#*/2,
8512 OPC_EmitMergeInputChains1_0,
8513 OPC_EmitConvertToTarget3,
8514 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8515 3, 1, 4, 5,
8516 16, MVT::i32,
8517 OPC_MoveParent,
8518 OPC_CheckPredicate2,
8519 OPC_CheckPredicate1,
8520 OPC_CheckPatternPredicate4,
8521 OPC_CheckComplexPat0, /*#*/2,
8522 OPC_EmitMergeInputChains1_0,
8523 OPC_EmitConvertToTarget3,
8524 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8525 3, 1, 4, 5,
8526 0,
8527 49, TARGET_VAL(ISD::OR),
8528 OPC_RecordChild0,
8529 OPC_RecordChild1,
8530 OPC_MoveChild1,
8531 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8532 OPC_CheckPredicate, 11,
8533 OPC_MoveParent,
8534 OPC_CheckPredicate, 10,
8535 OPC_SwitchType , 16, MVT::i64,
8536 OPC_MoveParent,
8537 OPC_CheckPredicate2,
8538 OPC_CheckPredicate1,
8539 OPC_CheckPatternPredicate2,
8540 OPC_CheckComplexPat0, /*#*/2,
8541 OPC_EmitMergeInputChains1_0,
8542 OPC_EmitConvertToTarget3,
8543 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8544 3, 1, 4, 5,
8545 16, MVT::i32,
8546 OPC_MoveParent,
8547 OPC_CheckPredicate2,
8548 OPC_CheckPredicate1,
8549 OPC_CheckPatternPredicate4,
8550 OPC_CheckComplexPat0, /*#*/2,
8551 OPC_EmitMergeInputChains1_0,
8552 OPC_EmitConvertToTarget3,
8553 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8554 3, 1, 4, 5,
8555 0,
8556 0,
8557 31,
8558 OPC_RecordChild2,
8559 OPC_CheckPredicate2,
8560 OPC_CheckPredicate1,
8561 OPC_Scope, 12,
8562 OPC_CheckPatternPredicate2,
8563 OPC_CheckComplexPat4, /*#*/2,
8564 OPC_EmitMergeInputChains1_0,
8565 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8566 3, 1, 3, 4,
8567 12,
8568 OPC_CheckPatternPredicate4,
8569 OPC_CheckComplexPat4, /*#*/2,
8570 OPC_EmitMergeInputChains1_0,
8571 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8572 3, 1, 3, 4,
8573 0,
8574 72,
8575 OPC_MoveChild2,
8576 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8577 OPC_RecordChild0,
8578 OPC_RecordChild1,
8579 OPC_SwitchType , 30, MVT::i64,
8580 OPC_MoveParent,
8581 OPC_CheckPredicate2,
8582 OPC_CheckPredicate1,
8583 OPC_CheckPatternPredicate2,
8584 OPC_Scope, 11,
8585 OPC_CheckComplexPat2, /*#*/2,
8586 OPC_EmitMergeInputChains1_0,
8587 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8588 3, 1, 4, 3,
8589 11,
8590 OPC_CheckComplexPat2, /*#*/3,
8591 OPC_EmitMergeInputChains1_0,
8592 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8593 3, 1, 4, 2,
8594 0,
8595 30, MVT::i32,
8596 OPC_MoveParent,
8597 OPC_CheckPredicate2,
8598 OPC_CheckPredicate1,
8599 OPC_CheckPatternPredicate4,
8600 OPC_Scope, 11,
8601 OPC_CheckComplexPat2, /*#*/2,
8602 OPC_EmitMergeInputChains1_0,
8603 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8604 3, 1, 4, 3,
8605 11,
8606 OPC_CheckComplexPat2, /*#*/3,
8607 OPC_EmitMergeInputChains1_0,
8608 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8609 3, 1, 4, 2,
8610 0,
8611 0,
8612 35,
8613 OPC_RecordChild2,
8614 OPC_CheckPredicate2,
8615 OPC_CheckPredicate1,
8616 OPC_Scope, 14,
8617 OPC_CheckPatternPredicate2,
8618 OPC_CheckComplexPat0, /*#*/2,
8619 OPC_EmitMergeInputChains1_0,
8620 OPC_EmitInteger64, 0,
8621 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8622 3, 1, 3, 4,
8623 14,
8624 OPC_CheckPatternPredicate4,
8625 OPC_CheckComplexPat0, /*#*/2,
8626 OPC_EmitMergeInputChains1_0,
8627 OPC_EmitInteger32, 0,
8628 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8629 3, 1, 3, 4,
8630 0,
8631 0,
8632 125|128,1,
8633 OPC_CheckChild1Type, MVT::v8i32,
8634 OPC_Scope, 107,
8635 OPC_MoveChild2,
8636 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8637 OPC_RecordChild0,
8638 OPC_RecordChild1,
8639 OPC_MoveChild1,
8640 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8641 OPC_CheckPredicate, 11,
8642 OPC_MoveParent,
8643 OPC_CheckPredicate, 10,
8644 OPC_SwitchType , 16, MVT::i64,
8645 OPC_MoveParent,
8646 OPC_CheckPredicate2,
8647 OPC_CheckPredicate1,
8648 OPC_CheckPatternPredicate2,
8649 OPC_CheckComplexPat0, /*#*/2,
8650 OPC_EmitMergeInputChains1_0,
8651 OPC_EmitConvertToTarget3,
8652 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8653 3, 1, 4, 5,
8654 16, MVT::i32,
8655 OPC_MoveParent,
8656 OPC_CheckPredicate2,
8657 OPC_CheckPredicate1,
8658 OPC_CheckPatternPredicate4,
8659 OPC_CheckComplexPat0, /*#*/2,
8660 OPC_EmitMergeInputChains1_0,
8661 OPC_EmitConvertToTarget3,
8662 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8663 3, 1, 4, 5,
8664 0,
8665 49, TARGET_VAL(ISD::OR),
8666 OPC_RecordChild0,
8667 OPC_RecordChild1,
8668 OPC_MoveChild1,
8669 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8670 OPC_CheckPredicate, 11,
8671 OPC_MoveParent,
8672 OPC_CheckPredicate, 10,
8673 OPC_SwitchType , 16, MVT::i64,
8674 OPC_MoveParent,
8675 OPC_CheckPredicate2,
8676 OPC_CheckPredicate1,
8677 OPC_CheckPatternPredicate2,
8678 OPC_CheckComplexPat0, /*#*/2,
8679 OPC_EmitMergeInputChains1_0,
8680 OPC_EmitConvertToTarget3,
8681 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8682 3, 1, 4, 5,
8683 16, MVT::i32,
8684 OPC_MoveParent,
8685 OPC_CheckPredicate2,
8686 OPC_CheckPredicate1,
8687 OPC_CheckPatternPredicate4,
8688 OPC_CheckComplexPat0, /*#*/2,
8689 OPC_EmitMergeInputChains1_0,
8690 OPC_EmitConvertToTarget3,
8691 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8692 3, 1, 4, 5,
8693 0,
8694 0,
8695 31,
8696 OPC_RecordChild2,
8697 OPC_CheckPredicate2,
8698 OPC_CheckPredicate1,
8699 OPC_Scope, 12,
8700 OPC_CheckPatternPredicate2,
8701 OPC_CheckComplexPat4, /*#*/2,
8702 OPC_EmitMergeInputChains1_0,
8703 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8704 3, 1, 3, 4,
8705 12,
8706 OPC_CheckPatternPredicate4,
8707 OPC_CheckComplexPat4, /*#*/2,
8708 OPC_EmitMergeInputChains1_0,
8709 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8710 3, 1, 3, 4,
8711 0,
8712 72,
8713 OPC_MoveChild2,
8714 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8715 OPC_RecordChild0,
8716 OPC_RecordChild1,
8717 OPC_SwitchType , 30, MVT::i64,
8718 OPC_MoveParent,
8719 OPC_CheckPredicate2,
8720 OPC_CheckPredicate1,
8721 OPC_CheckPatternPredicate2,
8722 OPC_Scope, 11,
8723 OPC_CheckComplexPat2, /*#*/2,
8724 OPC_EmitMergeInputChains1_0,
8725 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8726 3, 1, 4, 3,
8727 11,
8728 OPC_CheckComplexPat2, /*#*/3,
8729 OPC_EmitMergeInputChains1_0,
8730 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8731 3, 1, 4, 2,
8732 0,
8733 30, MVT::i32,
8734 OPC_MoveParent,
8735 OPC_CheckPredicate2,
8736 OPC_CheckPredicate1,
8737 OPC_CheckPatternPredicate4,
8738 OPC_Scope, 11,
8739 OPC_CheckComplexPat2, /*#*/2,
8740 OPC_EmitMergeInputChains1_0,
8741 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8742 3, 1, 4, 3,
8743 11,
8744 OPC_CheckComplexPat2, /*#*/3,
8745 OPC_EmitMergeInputChains1_0,
8746 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8747 3, 1, 4, 2,
8748 0,
8749 0,
8750 35,
8751 OPC_RecordChild2,
8752 OPC_CheckPredicate2,
8753 OPC_CheckPredicate1,
8754 OPC_Scope, 14,
8755 OPC_CheckPatternPredicate2,
8756 OPC_CheckComplexPat0, /*#*/2,
8757 OPC_EmitMergeInputChains1_0,
8758 OPC_EmitInteger64, 0,
8759 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8760 3, 1, 3, 4,
8761 14,
8762 OPC_CheckPatternPredicate4,
8763 OPC_CheckComplexPat0, /*#*/2,
8764 OPC_EmitMergeInputChains1_0,
8765 OPC_EmitInteger32, 0,
8766 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8767 3, 1, 3, 4,
8768 0,
8769 0,
8770 125|128,1,
8771 OPC_CheckChild1Type, MVT::v4i64,
8772 OPC_Scope, 107,
8773 OPC_MoveChild2,
8774 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8775 OPC_RecordChild0,
8776 OPC_RecordChild1,
8777 OPC_MoveChild1,
8778 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8779 OPC_CheckPredicate, 11,
8780 OPC_MoveParent,
8781 OPC_CheckPredicate, 10,
8782 OPC_SwitchType , 16, MVT::i64,
8783 OPC_MoveParent,
8784 OPC_CheckPredicate2,
8785 OPC_CheckPredicate1,
8786 OPC_CheckPatternPredicate2,
8787 OPC_CheckComplexPat0, /*#*/2,
8788 OPC_EmitMergeInputChains1_0,
8789 OPC_EmitConvertToTarget3,
8790 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8791 3, 1, 4, 5,
8792 16, MVT::i32,
8793 OPC_MoveParent,
8794 OPC_CheckPredicate2,
8795 OPC_CheckPredicate1,
8796 OPC_CheckPatternPredicate4,
8797 OPC_CheckComplexPat0, /*#*/2,
8798 OPC_EmitMergeInputChains1_0,
8799 OPC_EmitConvertToTarget3,
8800 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8801 3, 1, 4, 5,
8802 0,
8803 49, TARGET_VAL(ISD::OR),
8804 OPC_RecordChild0,
8805 OPC_RecordChild1,
8806 OPC_MoveChild1,
8807 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8808 OPC_CheckPredicate, 11,
8809 OPC_MoveParent,
8810 OPC_CheckPredicate, 10,
8811 OPC_SwitchType , 16, MVT::i64,
8812 OPC_MoveParent,
8813 OPC_CheckPredicate2,
8814 OPC_CheckPredicate1,
8815 OPC_CheckPatternPredicate2,
8816 OPC_CheckComplexPat0, /*#*/2,
8817 OPC_EmitMergeInputChains1_0,
8818 OPC_EmitConvertToTarget3,
8819 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8820 3, 1, 4, 5,
8821 16, MVT::i32,
8822 OPC_MoveParent,
8823 OPC_CheckPredicate2,
8824 OPC_CheckPredicate1,
8825 OPC_CheckPatternPredicate4,
8826 OPC_CheckComplexPat0, /*#*/2,
8827 OPC_EmitMergeInputChains1_0,
8828 OPC_EmitConvertToTarget3,
8829 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8830 3, 1, 4, 5,
8831 0,
8832 0,
8833 31,
8834 OPC_RecordChild2,
8835 OPC_CheckPredicate2,
8836 OPC_CheckPredicate1,
8837 OPC_Scope, 12,
8838 OPC_CheckPatternPredicate2,
8839 OPC_CheckComplexPat4, /*#*/2,
8840 OPC_EmitMergeInputChains1_0,
8841 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8842 3, 1, 3, 4,
8843 12,
8844 OPC_CheckPatternPredicate4,
8845 OPC_CheckComplexPat4, /*#*/2,
8846 OPC_EmitMergeInputChains1_0,
8847 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8848 3, 1, 3, 4,
8849 0,
8850 72,
8851 OPC_MoveChild2,
8852 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8853 OPC_RecordChild0,
8854 OPC_RecordChild1,
8855 OPC_SwitchType , 30, MVT::i64,
8856 OPC_MoveParent,
8857 OPC_CheckPredicate2,
8858 OPC_CheckPredicate1,
8859 OPC_CheckPatternPredicate2,
8860 OPC_Scope, 11,
8861 OPC_CheckComplexPat2, /*#*/2,
8862 OPC_EmitMergeInputChains1_0,
8863 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8864 3, 1, 4, 3,
8865 11,
8866 OPC_CheckComplexPat2, /*#*/3,
8867 OPC_EmitMergeInputChains1_0,
8868 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8869 3, 1, 4, 2,
8870 0,
8871 30, MVT::i32,
8872 OPC_MoveParent,
8873 OPC_CheckPredicate2,
8874 OPC_CheckPredicate1,
8875 OPC_CheckPatternPredicate4,
8876 OPC_Scope, 11,
8877 OPC_CheckComplexPat2, /*#*/2,
8878 OPC_EmitMergeInputChains1_0,
8879 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8880 3, 1, 4, 3,
8881 11,
8882 OPC_CheckComplexPat2, /*#*/3,
8883 OPC_EmitMergeInputChains1_0,
8884 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
8885 3, 1, 4, 2,
8886 0,
8887 0,
8888 35,
8889 OPC_RecordChild2,
8890 OPC_CheckPredicate2,
8891 OPC_CheckPredicate1,
8892 OPC_Scope, 14,
8893 OPC_CheckPatternPredicate2,
8894 OPC_CheckComplexPat0, /*#*/2,
8895 OPC_EmitMergeInputChains1_0,
8896 OPC_EmitInteger64, 0,
8897 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8898 3, 1, 3, 4,
8899 14,
8900 OPC_CheckPatternPredicate4,
8901 OPC_CheckComplexPat0, /*#*/2,
8902 OPC_EmitMergeInputChains1_0,
8903 OPC_EmitInteger32, 0,
8904 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8905 3, 1, 3, 4,
8906 0,
8907 0,
8908 125|128,1,
8909 OPC_CheckChild1Type, MVT::v8f32,
8910 OPC_Scope, 107,
8911 OPC_MoveChild2,
8912 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
8913 OPC_RecordChild0,
8914 OPC_RecordChild1,
8915 OPC_MoveChild1,
8916 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8917 OPC_CheckPredicate, 11,
8918 OPC_MoveParent,
8919 OPC_CheckPredicate, 10,
8920 OPC_SwitchType , 16, MVT::i64,
8921 OPC_MoveParent,
8922 OPC_CheckPredicate2,
8923 OPC_CheckPredicate1,
8924 OPC_CheckPatternPredicate2,
8925 OPC_CheckComplexPat0, /*#*/2,
8926 OPC_EmitMergeInputChains1_0,
8927 OPC_EmitConvertToTarget3,
8928 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8929 3, 1, 4, 5,
8930 16, MVT::i32,
8931 OPC_MoveParent,
8932 OPC_CheckPredicate2,
8933 OPC_CheckPredicate1,
8934 OPC_CheckPatternPredicate4,
8935 OPC_CheckComplexPat0, /*#*/2,
8936 OPC_EmitMergeInputChains1_0,
8937 OPC_EmitConvertToTarget3,
8938 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8939 3, 1, 4, 5,
8940 0,
8941 49, TARGET_VAL(ISD::OR),
8942 OPC_RecordChild0,
8943 OPC_RecordChild1,
8944 OPC_MoveChild1,
8945 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8946 OPC_CheckPredicate, 11,
8947 OPC_MoveParent,
8948 OPC_CheckPredicate, 10,
8949 OPC_SwitchType , 16, MVT::i64,
8950 OPC_MoveParent,
8951 OPC_CheckPredicate2,
8952 OPC_CheckPredicate1,
8953 OPC_CheckPatternPredicate2,
8954 OPC_CheckComplexPat0, /*#*/2,
8955 OPC_EmitMergeInputChains1_0,
8956 OPC_EmitConvertToTarget3,
8957 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8958 3, 1, 4, 5,
8959 16, MVT::i32,
8960 OPC_MoveParent,
8961 OPC_CheckPredicate2,
8962 OPC_CheckPredicate1,
8963 OPC_CheckPatternPredicate4,
8964 OPC_CheckComplexPat0, /*#*/2,
8965 OPC_EmitMergeInputChains1_0,
8966 OPC_EmitConvertToTarget3,
8967 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8968 3, 1, 4, 5,
8969 0,
8970 0,
8971 31,
8972 OPC_RecordChild2,
8973 OPC_CheckPredicate2,
8974 OPC_CheckPredicate1,
8975 OPC_Scope, 12,
8976 OPC_CheckPatternPredicate2,
8977 OPC_CheckComplexPat4, /*#*/2,
8978 OPC_EmitMergeInputChains1_0,
8979 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8980 3, 1, 3, 4,
8981 12,
8982 OPC_CheckPatternPredicate4,
8983 OPC_CheckComplexPat4, /*#*/2,
8984 OPC_EmitMergeInputChains1_0,
8985 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
8986 3, 1, 3, 4,
8987 0,
8988 72,
8989 OPC_MoveChild2,
8990 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8991 OPC_RecordChild0,
8992 OPC_RecordChild1,
8993 OPC_SwitchType , 30, MVT::i64,
8994 OPC_MoveParent,
8995 OPC_CheckPredicate2,
8996 OPC_CheckPredicate1,
8997 OPC_CheckPatternPredicate2,
8998 OPC_Scope, 11,
8999 OPC_CheckComplexPat2, /*#*/2,
9000 OPC_EmitMergeInputChains1_0,
9001 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9002 3, 1, 4, 3,
9003 11,
9004 OPC_CheckComplexPat2, /*#*/3,
9005 OPC_EmitMergeInputChains1_0,
9006 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9007 3, 1, 4, 2,
9008 0,
9009 30, MVT::i32,
9010 OPC_MoveParent,
9011 OPC_CheckPredicate2,
9012 OPC_CheckPredicate1,
9013 OPC_CheckPatternPredicate4,
9014 OPC_Scope, 11,
9015 OPC_CheckComplexPat2, /*#*/2,
9016 OPC_EmitMergeInputChains1_0,
9017 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9018 3, 1, 4, 3,
9019 11,
9020 OPC_CheckComplexPat2, /*#*/3,
9021 OPC_EmitMergeInputChains1_0,
9022 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9023 3, 1, 4, 2,
9024 0,
9025 0,
9026 35,
9027 OPC_RecordChild2,
9028 OPC_CheckPredicate2,
9029 OPC_CheckPredicate1,
9030 OPC_Scope, 14,
9031 OPC_CheckPatternPredicate2,
9032 OPC_CheckComplexPat0, /*#*/2,
9033 OPC_EmitMergeInputChains1_0,
9034 OPC_EmitInteger64, 0,
9035 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9036 3, 1, 3, 4,
9037 14,
9038 OPC_CheckPatternPredicate4,
9039 OPC_CheckComplexPat0, /*#*/2,
9040 OPC_EmitMergeInputChains1_0,
9041 OPC_EmitInteger32, 0,
9042 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9043 3, 1, 3, 4,
9044 0,
9045 0,
9046 125|128,1,
9047 OPC_CheckChild1Type, MVT::v4f64,
9048 OPC_Scope, 107,
9049 OPC_MoveChild2,
9050 OPC_SwitchOpcode , 49, TARGET_VAL(ISD::ADD),
9051 OPC_RecordChild0,
9052 OPC_RecordChild1,
9053 OPC_MoveChild1,
9054 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9055 OPC_CheckPredicate, 11,
9056 OPC_MoveParent,
9057 OPC_CheckPredicate, 10,
9058 OPC_SwitchType , 16, MVT::i64,
9059 OPC_MoveParent,
9060 OPC_CheckPredicate2,
9061 OPC_CheckPredicate1,
9062 OPC_CheckPatternPredicate2,
9063 OPC_CheckComplexPat0, /*#*/2,
9064 OPC_EmitMergeInputChains1_0,
9065 OPC_EmitConvertToTarget3,
9066 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9067 3, 1, 4, 5,
9068 16, MVT::i32,
9069 OPC_MoveParent,
9070 OPC_CheckPredicate2,
9071 OPC_CheckPredicate1,
9072 OPC_CheckPatternPredicate4,
9073 OPC_CheckComplexPat0, /*#*/2,
9074 OPC_EmitMergeInputChains1_0,
9075 OPC_EmitConvertToTarget3,
9076 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9077 3, 1, 4, 5,
9078 0,
9079 49, TARGET_VAL(ISD::OR),
9080 OPC_RecordChild0,
9081 OPC_RecordChild1,
9082 OPC_MoveChild1,
9083 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9084 OPC_CheckPredicate, 11,
9085 OPC_MoveParent,
9086 OPC_CheckPredicate, 10,
9087 OPC_SwitchType , 16, MVT::i64,
9088 OPC_MoveParent,
9089 OPC_CheckPredicate2,
9090 OPC_CheckPredicate1,
9091 OPC_CheckPatternPredicate2,
9092 OPC_CheckComplexPat0, /*#*/2,
9093 OPC_EmitMergeInputChains1_0,
9094 OPC_EmitConvertToTarget3,
9095 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9096 3, 1, 4, 5,
9097 16, MVT::i32,
9098 OPC_MoveParent,
9099 OPC_CheckPredicate2,
9100 OPC_CheckPredicate1,
9101 OPC_CheckPatternPredicate4,
9102 OPC_CheckComplexPat0, /*#*/2,
9103 OPC_EmitMergeInputChains1_0,
9104 OPC_EmitConvertToTarget3,
9105 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9106 3, 1, 4, 5,
9107 0,
9108 0,
9109 31,
9110 OPC_RecordChild2,
9111 OPC_CheckPredicate2,
9112 OPC_CheckPredicate1,
9113 OPC_Scope, 12,
9114 OPC_CheckPatternPredicate2,
9115 OPC_CheckComplexPat4, /*#*/2,
9116 OPC_EmitMergeInputChains1_0,
9117 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9118 3, 1, 3, 4,
9119 12,
9120 OPC_CheckPatternPredicate4,
9121 OPC_CheckComplexPat4, /*#*/2,
9122 OPC_EmitMergeInputChains1_0,
9123 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9124 3, 1, 3, 4,
9125 0,
9126 72,
9127 OPC_MoveChild2,
9128 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
9129 OPC_RecordChild0,
9130 OPC_RecordChild1,
9131 OPC_SwitchType , 30, MVT::i64,
9132 OPC_MoveParent,
9133 OPC_CheckPredicate2,
9134 OPC_CheckPredicate1,
9135 OPC_CheckPatternPredicate2,
9136 OPC_Scope, 11,
9137 OPC_CheckComplexPat2, /*#*/2,
9138 OPC_EmitMergeInputChains1_0,
9139 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9140 3, 1, 4, 3,
9141 11,
9142 OPC_CheckComplexPat2, /*#*/3,
9143 OPC_EmitMergeInputChains1_0,
9144 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9145 3, 1, 4, 2,
9146 0,
9147 30, MVT::i32,
9148 OPC_MoveParent,
9149 OPC_CheckPredicate2,
9150 OPC_CheckPredicate1,
9151 OPC_CheckPatternPredicate4,
9152 OPC_Scope, 11,
9153 OPC_CheckComplexPat2, /*#*/2,
9154 OPC_EmitMergeInputChains1_0,
9155 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9156 3, 1, 4, 3,
9157 11,
9158 OPC_CheckComplexPat2, /*#*/3,
9159 OPC_EmitMergeInputChains1_0,
9160 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
9161 3, 1, 4, 2,
9162 0,
9163 0,
9164 35,
9165 OPC_RecordChild2,
9166 OPC_CheckPredicate2,
9167 OPC_CheckPredicate1,
9168 OPC_Scope, 14,
9169 OPC_CheckPatternPredicate2,
9170 OPC_CheckComplexPat0, /*#*/2,
9171 OPC_EmitMergeInputChains1_0,
9172 OPC_EmitInteger64, 0,
9173 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9174 3, 1, 3, 4,
9175 14,
9176 OPC_CheckPatternPredicate4,
9177 OPC_CheckComplexPat0, /*#*/2,
9178 OPC_EmitMergeInputChains1_0,
9179 OPC_EmitInteger32, 0,
9180 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
9181 3, 1, 3, 4,
9182 0,
9183 0,
9184 0,
9185 106|128,4, TARGET_VAL(ISD::ATOMIC_LOAD),
9186 OPC_RecordMemRef,
9187 OPC_RecordNode,
9188 OPC_Scope, 65|128,2,
9189 OPC_MoveChild1,
9190 OPC_SwitchOpcode , 27|128,1, TARGET_VAL(ISD::ADD),
9191 OPC_RecordChild0,
9192 OPC_RecordChild1,
9193 OPC_MoveChild1,
9194 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9195 OPC_CheckPredicate, 11,
9196 OPC_MoveParent,
9197 OPC_CheckPredicate, 10,
9198 OPC_SwitchType , 67, MVT::i64,
9199 OPC_MoveParent,
9200 OPC_CheckTypeI64,
9201 OPC_Scope, 15,
9202 OPC_CheckPredicate, 13,
9203 OPC_CheckPatternPredicate7,
9204 OPC_CheckComplexPat0, /*#*/1,
9205 OPC_EmitMergeInputChains1_0,
9206 OPC_EmitConvertToTarget2,
9207 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9208 MVT::i64, 2, 3, 4,
9209 15,
9210 OPC_CheckPredicate, 14,
9211 OPC_CheckPatternPredicate7,
9212 OPC_CheckComplexPat0, /*#*/1,
9213 OPC_EmitMergeInputChains1_0,
9214 OPC_EmitConvertToTarget2,
9215 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9216 MVT::i64, 2, 3, 4,
9217 14,
9218 OPC_CheckPredicate5,
9219 OPC_CheckPatternPredicate7,
9220 OPC_CheckComplexPat0, /*#*/1,
9221 OPC_EmitMergeInputChains1_0,
9222 OPC_EmitConvertToTarget2,
9223 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9224 MVT::i64, 2, 3, 4,
9225 15,
9226 OPC_CheckPredicate, 15,
9227 OPC_CheckPatternPredicate6,
9228 OPC_CheckComplexPat0, /*#*/1,
9229 OPC_EmitMergeInputChains1_0,
9230 OPC_EmitConvertToTarget2,
9231 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9232 MVT::i64, 2, 3, 4,
9233 0,
9234 71, MVT::i32,
9235 OPC_MoveParent,
9236 OPC_CheckTypeI32,
9237 OPC_Scope, 16,
9238 OPC_CheckPredicate, 13,
9239 OPC_CheckPatternPredicate, 8,
9240 OPC_CheckComplexPat0, /*#*/1,
9241 OPC_EmitMergeInputChains1_0,
9242 OPC_EmitConvertToTarget2,
9243 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9244 MVT::i32, 2, 3, 4,
9245 16,
9246 OPC_CheckPredicate, 14,
9247 OPC_CheckPatternPredicate, 8,
9248 OPC_CheckComplexPat0, /*#*/1,
9249 OPC_EmitMergeInputChains1_0,
9250 OPC_EmitConvertToTarget2,
9251 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9252 MVT::i32, 2, 3, 4,
9253 15,
9254 OPC_CheckPredicate5,
9255 OPC_CheckPatternPredicate, 8,
9256 OPC_CheckComplexPat0, /*#*/1,
9257 OPC_EmitMergeInputChains1_0,
9258 OPC_EmitConvertToTarget2,
9259 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9260 MVT::i32, 2, 3, 4,
9261 16,
9262 OPC_CheckPredicate, 15,
9263 OPC_CheckPatternPredicate, 10,
9264 OPC_CheckComplexPat0, /*#*/1,
9265 OPC_EmitMergeInputChains1_0,
9266 OPC_EmitConvertToTarget2,
9267 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9268 MVT::i32, 2, 3, 4,
9269 0,
9270 0,
9271 27|128,1, TARGET_VAL(ISD::OR),
9272 OPC_RecordChild0,
9273 OPC_RecordChild1,
9274 OPC_MoveChild1,
9275 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9276 OPC_CheckPredicate, 11,
9277 OPC_MoveParent,
9278 OPC_CheckPredicate, 10,
9279 OPC_SwitchType , 67, MVT::i64,
9280 OPC_MoveParent,
9281 OPC_CheckTypeI64,
9282 OPC_Scope, 15,
9283 OPC_CheckPredicate, 13,
9284 OPC_CheckPatternPredicate7,
9285 OPC_CheckComplexPat0, /*#*/1,
9286 OPC_EmitMergeInputChains1_0,
9287 OPC_EmitConvertToTarget2,
9288 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9289 MVT::i64, 2, 3, 4,
9290 15,
9291 OPC_CheckPredicate, 14,
9292 OPC_CheckPatternPredicate7,
9293 OPC_CheckComplexPat0, /*#*/1,
9294 OPC_EmitMergeInputChains1_0,
9295 OPC_EmitConvertToTarget2,
9296 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9297 MVT::i64, 2, 3, 4,
9298 14,
9299 OPC_CheckPredicate5,
9300 OPC_CheckPatternPredicate7,
9301 OPC_CheckComplexPat0, /*#*/1,
9302 OPC_EmitMergeInputChains1_0,
9303 OPC_EmitConvertToTarget2,
9304 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9305 MVT::i64, 2, 3, 4,
9306 15,
9307 OPC_CheckPredicate, 15,
9308 OPC_CheckPatternPredicate6,
9309 OPC_CheckComplexPat0, /*#*/1,
9310 OPC_EmitMergeInputChains1_0,
9311 OPC_EmitConvertToTarget2,
9312 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9313 MVT::i64, 2, 3, 4,
9314 0,
9315 71, MVT::i32,
9316 OPC_MoveParent,
9317 OPC_CheckTypeI32,
9318 OPC_Scope, 16,
9319 OPC_CheckPredicate, 13,
9320 OPC_CheckPatternPredicate, 8,
9321 OPC_CheckComplexPat0, /*#*/1,
9322 OPC_EmitMergeInputChains1_0,
9323 OPC_EmitConvertToTarget2,
9324 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9325 MVT::i32, 2, 3, 4,
9326 16,
9327 OPC_CheckPredicate, 14,
9328 OPC_CheckPatternPredicate, 8,
9329 OPC_CheckComplexPat0, /*#*/1,
9330 OPC_EmitMergeInputChains1_0,
9331 OPC_EmitConvertToTarget2,
9332 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9333 MVT::i32, 2, 3, 4,
9334 15,
9335 OPC_CheckPredicate5,
9336 OPC_CheckPatternPredicate, 8,
9337 OPC_CheckComplexPat0, /*#*/1,
9338 OPC_EmitMergeInputChains1_0,
9339 OPC_EmitConvertToTarget2,
9340 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9341 MVT::i32, 2, 3, 4,
9342 16,
9343 OPC_CheckPredicate, 15,
9344 OPC_CheckPatternPredicate, 10,
9345 OPC_CheckComplexPat0, /*#*/1,
9346 OPC_EmitMergeInputChains1_0,
9347 OPC_EmitConvertToTarget2,
9348 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9349 MVT::i32, 2, 3, 4,
9350 0,
9351 0,
9352 0,
9353 33|128,2,
9354 OPC_RecordChild1,
9355 OPC_Scope, 33,
9356 OPC_CheckPredicate, 13,
9357 OPC_SwitchType , 12, MVT::i64,
9358 OPC_CheckPatternPredicate7,
9359 OPC_CheckComplexPat4, /*#*/1,
9360 OPC_EmitMergeInputChains1_0,
9361 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9362 MVT::i64, 2, 2, 3,
9363 13, MVT::i32,
9364 OPC_CheckPatternPredicate, 8,
9365 OPC_CheckComplexPat4, /*#*/1,
9366 OPC_EmitMergeInputChains1_0,
9367 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9368 MVT::i32, 2, 2, 3,
9369 0,
9370 33,
9371 OPC_CheckPredicate, 14,
9372 OPC_SwitchType , 12, MVT::i64,
9373 OPC_CheckPatternPredicate7,
9374 OPC_CheckComplexPat4, /*#*/1,
9375 OPC_EmitMergeInputChains1_0,
9376 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9377 MVT::i64, 2, 2, 3,
9378 13, MVT::i32,
9379 OPC_CheckPatternPredicate, 8,
9380 OPC_CheckComplexPat4, /*#*/1,
9381 OPC_EmitMergeInputChains1_0,
9382 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9383 MVT::i32, 2, 2, 3,
9384 0,
9385 32,
9386 OPC_CheckPredicate5,
9387 OPC_SwitchType , 12, MVT::i64,
9388 OPC_CheckPatternPredicate7,
9389 OPC_CheckComplexPat4, /*#*/1,
9390 OPC_EmitMergeInputChains1_0,
9391 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9392 MVT::i64, 2, 2, 3,
9393 13, MVT::i32,
9394 OPC_CheckPatternPredicate, 8,
9395 OPC_CheckComplexPat4, /*#*/1,
9396 OPC_EmitMergeInputChains1_0,
9397 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9398 MVT::i32, 2, 2, 3,
9399 0,
9400 33,
9401 OPC_CheckPredicate, 15,
9402 OPC_SwitchType , 12, MVT::i64,
9403 OPC_CheckPatternPredicate6,
9404 OPC_CheckComplexPat4, /*#*/1,
9405 OPC_EmitMergeInputChains1_0,
9406 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9407 MVT::i64, 2, 2, 3,
9408 13, MVT::i32,
9409 OPC_CheckPatternPredicate, 10,
9410 OPC_CheckComplexPat4, /*#*/1,
9411 OPC_EmitMergeInputChains1_0,
9412 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9413 MVT::i32, 2, 2, 3,
9414 0,
9415 37,
9416 OPC_CheckPredicate, 13,
9417 OPC_SwitchType , 14, MVT::i64,
9418 OPC_CheckPatternPredicate7,
9419 OPC_CheckComplexPat0, /*#*/1,
9420 OPC_EmitMergeInputChains1_0,
9421 OPC_EmitInteger64, 0,
9422 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9423 MVT::i64, 2, 2, 3,
9424 15, MVT::i32,
9425 OPC_CheckPatternPredicate, 8,
9426 OPC_CheckComplexPat0, /*#*/1,
9427 OPC_EmitMergeInputChains1_0,
9428 OPC_EmitInteger32, 0,
9429 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
9430 MVT::i32, 2, 2, 3,
9431 0,
9432 37,
9433 OPC_CheckPredicate, 14,
9434 OPC_SwitchType , 14, MVT::i64,
9435 OPC_CheckPatternPredicate7,
9436 OPC_CheckComplexPat0, /*#*/1,
9437 OPC_EmitMergeInputChains1_0,
9438 OPC_EmitInteger64, 0,
9439 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9440 MVT::i64, 2, 2, 3,
9441 15, MVT::i32,
9442 OPC_CheckPatternPredicate, 8,
9443 OPC_CheckComplexPat0, /*#*/1,
9444 OPC_EmitMergeInputChains1_0,
9445 OPC_EmitInteger32, 0,
9446 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
9447 MVT::i32, 2, 2, 3,
9448 0,
9449 36,
9450 OPC_CheckPredicate5,
9451 OPC_SwitchType , 14, MVT::i64,
9452 OPC_CheckPatternPredicate7,
9453 OPC_CheckComplexPat0, /*#*/1,
9454 OPC_EmitMergeInputChains1_0,
9455 OPC_EmitInteger64, 0,
9456 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9457 MVT::i64, 2, 2, 3,
9458 15, MVT::i32,
9459 OPC_CheckPatternPredicate, 8,
9460 OPC_CheckComplexPat0, /*#*/1,
9461 OPC_EmitMergeInputChains1_0,
9462 OPC_EmitInteger32, 0,
9463 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
9464 MVT::i32, 2, 2, 3,
9465 0,
9466 37,
9467 OPC_CheckPredicate, 15,
9468 OPC_SwitchType , 14, MVT::i64,
9469 OPC_CheckPatternPredicate6,
9470 OPC_CheckComplexPat0, /*#*/1,
9471 OPC_EmitMergeInputChains1_0,
9472 OPC_EmitInteger64, 0,
9473 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9474 MVT::i64, 2, 2, 3,
9475 15, MVT::i32,
9476 OPC_CheckPatternPredicate, 10,
9477 OPC_CheckComplexPat0, /*#*/1,
9478 OPC_EmitMergeInputChains1_0,
9479 OPC_EmitInteger32, 0,
9480 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
9481 MVT::i32, 2, 2, 3,
9482 0,
9483 0,
9484 0,
9485 11|128,5, TARGET_VAL(ISD::ATOMIC_STORE),
9486 OPC_RecordMemRef,
9487 OPC_RecordNode,
9488 OPC_RecordChild1,
9489 OPC_Scope, 94|128,2,
9490 OPC_CheckChild1TypeI64,
9491 OPC_Scope, 45|128,1,
9492 OPC_MoveChild2,
9493 OPC_SwitchOpcode , 82, TARGET_VAL(ISD::ADD),
9494 OPC_RecordChild0,
9495 OPC_RecordChild1,
9496 OPC_MoveChild1,
9497 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9498 OPC_CheckPredicate, 11,
9499 OPC_MoveParent,
9500 OPC_CheckPredicate, 10,
9501 OPC_CheckTypeI64,
9502 OPC_MoveParent,
9503 OPC_Scope, 15,
9504 OPC_CheckPredicate, 13,
9505 OPC_CheckPatternPredicate7,
9506 OPC_CheckComplexPat0, /*#*/2,
9507 OPC_EmitMergeInputChains1_0,
9508 OPC_EmitConvertToTarget3,
9509 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9510 3, 1, 4, 5,
9511 15,
9512 OPC_CheckPredicate, 14,
9513 OPC_CheckPatternPredicate7,
9514 OPC_CheckComplexPat0, /*#*/2,
9515 OPC_EmitMergeInputChains1_0,
9516 OPC_EmitConvertToTarget3,
9517 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9518 3, 1, 4, 5,
9519 16,
9520 OPC_CheckPredicate5,
9521 OPC_CheckPredicate, 28,
9522 OPC_CheckPatternPredicate6,
9523 OPC_CheckComplexPat0, /*#*/2,
9524 OPC_EmitMergeInputChains1_0,
9525 OPC_EmitConvertToTarget3,
9526 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9527 3, 1, 4, 5,
9528 17,
9529 OPC_CheckPredicate, 15,
9530 OPC_CheckPredicate, 28,
9531 OPC_CheckPatternPredicate6,
9532 OPC_CheckComplexPat0, /*#*/2,
9533 OPC_EmitMergeInputChains1_0,
9534 OPC_EmitConvertToTarget3,
9535 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9536 3, 1, 4, 5,
9537 0,
9538 82, TARGET_VAL(ISD::OR),
9539 OPC_RecordChild0,
9540 OPC_RecordChild1,
9541 OPC_MoveChild1,
9542 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9543 OPC_CheckPredicate, 11,
9544 OPC_MoveParent,
9545 OPC_CheckPredicate, 10,
9546 OPC_CheckTypeI64,
9547 OPC_MoveParent,
9548 OPC_Scope, 15,
9549 OPC_CheckPredicate, 13,
9550 OPC_CheckPatternPredicate7,
9551 OPC_CheckComplexPat0, /*#*/2,
9552 OPC_EmitMergeInputChains1_0,
9553 OPC_EmitConvertToTarget3,
9554 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9555 3, 1, 4, 5,
9556 15,
9557 OPC_CheckPredicate, 14,
9558 OPC_CheckPatternPredicate7,
9559 OPC_CheckComplexPat0, /*#*/2,
9560 OPC_EmitMergeInputChains1_0,
9561 OPC_EmitConvertToTarget3,
9562 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9563 3, 1, 4, 5,
9564 16,
9565 OPC_CheckPredicate5,
9566 OPC_CheckPredicate, 28,
9567 OPC_CheckPatternPredicate6,
9568 OPC_CheckComplexPat0, /*#*/2,
9569 OPC_EmitMergeInputChains1_0,
9570 OPC_EmitConvertToTarget3,
9571 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9572 3, 1, 4, 5,
9573 17,
9574 OPC_CheckPredicate, 15,
9575 OPC_CheckPredicate, 28,
9576 OPC_CheckPatternPredicate6,
9577 OPC_CheckComplexPat0, /*#*/2,
9578 OPC_EmitMergeInputChains1_0,
9579 OPC_EmitConvertToTarget3,
9580 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9581 3, 1, 4, 5,
9582 0,
9583 0,
9584 42|128,1,
9585 OPC_RecordChild2,
9586 OPC_Scope, 14,
9587 OPC_CheckPredicate, 13,
9588 OPC_CheckPatternPredicate7,
9589 OPC_CheckComplexPat4, /*#*/2,
9590 OPC_EmitMergeInputChains1_0,
9591 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9592 3, 1, 3, 4,
9593 14,
9594 OPC_CheckPredicate, 14,
9595 OPC_CheckPatternPredicate7,
9596 OPC_CheckComplexPat4, /*#*/2,
9597 OPC_EmitMergeInputChains1_0,
9598 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9599 3, 1, 3, 4,
9600 15,
9601 OPC_CheckPredicate5,
9602 OPC_CheckPredicate, 28,
9603 OPC_CheckPatternPredicate6,
9604 OPC_CheckComplexPat4, /*#*/2,
9605 OPC_EmitMergeInputChains1_0,
9606 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9607 3, 1, 3, 4,
9608 16,
9609 OPC_CheckPredicate, 15,
9610 OPC_CheckPredicate, 28,
9611 OPC_CheckPatternPredicate6,
9612 OPC_CheckComplexPat4, /*#*/2,
9613 OPC_EmitMergeInputChains1_0,
9614 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9615 3, 1, 3, 4,
9616 16,
9617 OPC_CheckPredicate, 13,
9618 OPC_CheckPatternPredicate7,
9619 OPC_CheckComplexPat0, /*#*/2,
9620 OPC_EmitMergeInputChains1_0,
9621 OPC_EmitInteger64, 0,
9622 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9623 3, 1, 3, 4,
9624 16,
9625 OPC_CheckPredicate, 14,
9626 OPC_CheckPatternPredicate7,
9627 OPC_CheckComplexPat0, /*#*/2,
9628 OPC_EmitMergeInputChains1_0,
9629 OPC_EmitInteger64, 0,
9630 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9631 3, 1, 3, 4,
9632 17,
9633 OPC_CheckPredicate5,
9634 OPC_CheckPredicate, 28,
9635 OPC_CheckPatternPredicate6,
9636 OPC_CheckComplexPat0, /*#*/2,
9637 OPC_EmitMergeInputChains1_0,
9638 OPC_EmitInteger64, 0,
9639 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9640 3, 1, 3, 4,
9641 18,
9642 OPC_CheckPredicate, 15,
9643 OPC_CheckPredicate, 28,
9644 OPC_CheckPatternPredicate6,
9645 OPC_CheckComplexPat0, /*#*/2,
9646 OPC_EmitMergeInputChains1_0,
9647 OPC_EmitInteger64, 0,
9648 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
9649 3, 1, 3, 4,
9650 32,
9651 OPC_CheckChild2TypeI64,
9652 OPC_Scope, 13,
9653 OPC_CheckPredicate5,
9654 OPC_CheckPredicate, 39,
9655 OPC_CheckPatternPredicate7,
9656 OPC_EmitMergeInputChains1_0,
9657 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs,
9658 MVT::i64, 2, 1, 2,
9659 14,
9660 OPC_CheckPredicate, 15,
9661 OPC_CheckPredicate, 39,
9662 OPC_CheckPatternPredicate6,
9663 OPC_EmitMergeInputChains1_0,
9664 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs,
9665 MVT::i64, 2, 1, 2,
9666 0,
9667 0,
9668 0,
9669 36|128,2,
9670 OPC_CheckChild1TypeI32,
9671 OPC_Scope, 15|128,1,
9672 OPC_MoveChild2,
9673 OPC_SwitchOpcode , 67, TARGET_VAL(ISD::ADD),
9674 OPC_RecordChild0,
9675 OPC_RecordChild1,
9676 OPC_MoveChild1,
9677 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9678 OPC_CheckPredicate, 11,
9679 OPC_MoveParent,
9680 OPC_CheckPredicate, 10,
9681 OPC_CheckTypeI32,
9682 OPC_MoveParent,
9683 OPC_Scope, 16,
9684 OPC_CheckPredicate, 13,
9685 OPC_CheckPatternPredicate, 8,
9686 OPC_CheckComplexPat0, /*#*/2,
9687 OPC_EmitMergeInputChains1_0,
9688 OPC_EmitConvertToTarget3,
9689 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9690 3, 1, 4, 5,
9691 16,
9692 OPC_CheckPredicate, 14,
9693 OPC_CheckPatternPredicate, 8,
9694 OPC_CheckComplexPat0, /*#*/2,
9695 OPC_EmitMergeInputChains1_0,
9696 OPC_EmitConvertToTarget3,
9697 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9698 3, 1, 4, 5,
9699 17,
9700 OPC_CheckPredicate5,
9701 OPC_CheckPredicate, 28,
9702 OPC_CheckPatternPredicate, 9,
9703 OPC_CheckComplexPat0, /*#*/2,
9704 OPC_EmitMergeInputChains1_0,
9705 OPC_EmitConvertToTarget3,
9706 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9707 3, 1, 4, 5,
9708 0,
9709 67, TARGET_VAL(ISD::OR),
9710 OPC_RecordChild0,
9711 OPC_RecordChild1,
9712 OPC_MoveChild1,
9713 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9714 OPC_CheckPredicate, 11,
9715 OPC_MoveParent,
9716 OPC_CheckPredicate, 10,
9717 OPC_CheckTypeI32,
9718 OPC_MoveParent,
9719 OPC_Scope, 16,
9720 OPC_CheckPredicate, 13,
9721 OPC_CheckPatternPredicate, 8,
9722 OPC_CheckComplexPat0, /*#*/2,
9723 OPC_EmitMergeInputChains1_0,
9724 OPC_EmitConvertToTarget3,
9725 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9726 3, 1, 4, 5,
9727 16,
9728 OPC_CheckPredicate, 14,
9729 OPC_CheckPatternPredicate, 8,
9730 OPC_CheckComplexPat0, /*#*/2,
9731 OPC_EmitMergeInputChains1_0,
9732 OPC_EmitConvertToTarget3,
9733 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9734 3, 1, 4, 5,
9735 17,
9736 OPC_CheckPredicate5,
9737 OPC_CheckPredicate, 28,
9738 OPC_CheckPatternPredicate, 9,
9739 OPC_CheckComplexPat0, /*#*/2,
9740 OPC_EmitMergeInputChains1_0,
9741 OPC_EmitConvertToTarget3,
9742 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9743 3, 1, 4, 5,
9744 0,
9745 0,
9746 14|128,1,
9747 OPC_RecordChild2,
9748 OPC_Scope, 15,
9749 OPC_CheckPredicate, 13,
9750 OPC_CheckPatternPredicate, 8,
9751 OPC_CheckComplexPat4, /*#*/2,
9752 OPC_EmitMergeInputChains1_0,
9753 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9754 3, 1, 3, 4,
9755 15,
9756 OPC_CheckPredicate, 14,
9757 OPC_CheckPatternPredicate, 8,
9758 OPC_CheckComplexPat4, /*#*/2,
9759 OPC_EmitMergeInputChains1_0,
9760 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9761 3, 1, 3, 4,
9762 16,
9763 OPC_CheckPredicate5,
9764 OPC_CheckPredicate, 28,
9765 OPC_CheckPatternPredicate, 9,
9766 OPC_CheckComplexPat4, /*#*/2,
9767 OPC_EmitMergeInputChains1_0,
9768 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9769 3, 1, 3, 4,
9770 17,
9771 OPC_CheckPredicate, 13,
9772 OPC_CheckPatternPredicate, 8,
9773 OPC_CheckComplexPat0, /*#*/2,
9774 OPC_EmitMergeInputChains1_0,
9775 OPC_EmitInteger32, 0,
9776 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
9777 3, 1, 3, 4,
9778 17,
9779 OPC_CheckPredicate, 14,
9780 OPC_CheckPatternPredicate, 8,
9781 OPC_CheckComplexPat0, /*#*/2,
9782 OPC_EmitMergeInputChains1_0,
9783 OPC_EmitInteger32, 0,
9784 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
9785 3, 1, 3, 4,
9786 36,
9787 OPC_CheckPredicate5,
9788 OPC_Scope, 17,
9789 OPC_CheckPredicate, 28,
9790 OPC_CheckPatternPredicate, 9,
9791 OPC_CheckComplexPat0, /*#*/2,
9792 OPC_EmitMergeInputChains1_0,
9793 OPC_EmitInteger32, 0,
9794 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
9795 3, 1, 3, 4,
9796 14,
9797 OPC_CheckChild2TypeI32,
9798 OPC_CheckPredicate, 39,
9799 OPC_CheckPatternPredicate, 8,
9800 OPC_EmitMergeInputChains1_0,
9801 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs,
9802 MVT::i32, 2, 1, 2,
9803 0,
9804 16,
9805 OPC_CheckChild2TypeI32,
9806 OPC_CheckPredicate, 15,
9807 OPC_CheckPredicate, 39,
9808 OPC_CheckPatternPredicate, 10,
9809 OPC_EmitMergeInputChains1_0,
9810 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs,
9811 MVT::i32, 2, 1, 2,
9812 0,
9813 0,
9814 0,
9815 43|128,9, TARGET_VAL(ISD::ADD),
9816 OPC_Scope, 119,
9817 OPC_RecordChild0,
9818 OPC_Scope, 39,
9819 OPC_RecordChild1,
9820 OPC_MoveChild1,
9821 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9822 OPC_CheckPredicate, 11,
9823 OPC_MoveParent,
9824 OPC_CheckPredicate, 10,
9825 OPC_SwitchType , 12, MVT::i32,
9826 OPC_CheckPatternPredicate, 9,
9827 OPC_CheckComplexPat0, /*#*/0,
9828 OPC_EmitConvertToTarget1,
9829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
9830 MVT::i32, 2, 2, 3,
9831 11, MVT::i64,
9832 OPC_CheckPatternPredicate6,
9833 OPC_CheckComplexPat0, /*#*/0,
9834 OPC_EmitConvertToTarget1,
9835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9836 MVT::i64, 2, 2, 3,
9837 0,
9838 75,
9839 OPC_MoveChild1,
9840 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
9841 OPC_RecordChild0,
9842 OPC_RecordChild1,
9843 OPC_MoveChild1,
9844 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9845 OPC_CheckPredicate, 36,
9846 OPC_SwitchType , 28, MVT::i64,
9847 OPC_MoveParent,
9848 OPC_MoveParent,
9849 OPC_CheckTypeI64,
9850 OPC_Scope, 11,
9851 OPC_CheckPatternPredicate, 15,
9852 OPC_EmitConvertToTarget2,
9853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9854 MVT::i64, 3, 1, 0, 3,
9855 10,
9856 OPC_CheckPatternPredicate6,
9857 OPC_EmitConvertToTarget2,
9858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9859 MVT::i64, 3, 1, 0, 3,
9860 0,
9861 29, MVT::i32,
9862 OPC_MoveParent,
9863 OPC_MoveParent,
9864 OPC_CheckTypeI32,
9865 OPC_Scope, 11,
9866 OPC_CheckPatternPredicate, 9,
9867 OPC_EmitConvertToTarget2,
9868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9869 MVT::i32, 3, 1, 0, 3,
9870 11,
9871 OPC_CheckPatternPredicate, 10,
9872 OPC_EmitConvertToTarget2,
9873 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9874 MVT::i32, 3, 1, 0, 3,
9875 0,
9876 0,
9877 0,
9878 77,
9879 OPC_MoveChild0,
9880 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
9881 OPC_RecordChild0,
9882 OPC_RecordChild1,
9883 OPC_MoveChild1,
9884 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9885 OPC_CheckPredicate, 36,
9886 OPC_SwitchType , 29, MVT::i64,
9887 OPC_MoveParent,
9888 OPC_MoveParent,
9889 OPC_RecordChild1,
9890 OPC_CheckTypeI64,
9891 OPC_Scope, 11,
9892 OPC_CheckPatternPredicate, 15,
9893 OPC_EmitConvertToTarget1,
9894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9895 MVT::i64, 3, 0, 2, 3,
9896 10,
9897 OPC_CheckPatternPredicate6,
9898 OPC_EmitConvertToTarget1,
9899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9900 MVT::i64, 3, 0, 2, 3,
9901 0,
9902 30, MVT::i32,
9903 OPC_MoveParent,
9904 OPC_MoveParent,
9905 OPC_RecordChild1,
9906 OPC_CheckTypeI32,
9907 OPC_Scope, 11,
9908 OPC_CheckPatternPredicate, 9,
9909 OPC_EmitConvertToTarget1,
9910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
9911 MVT::i32, 3, 0, 2, 3,
9912 11,
9913 OPC_CheckPatternPredicate, 10,
9914 OPC_EmitConvertToTarget1,
9915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_D),
9916 MVT::i32, 3, 0, 2, 3,
9917 0,
9918 0,
9919 41|128,6,
9920 OPC_RecordChild0,
9921 OPC_Scope, 66|128,5,
9922 OPC_RecordChild1,
9923 OPC_Scope, 6|128,2,
9924 OPC_MoveChild1,
9925 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9926 OPC_Scope, 56,
9927 OPC_CheckPredicate, 11,
9928 OPC_MoveParent,
9929 OPC_SwitchType , 23, MVT::i64,
9930 OPC_Scope, 10,
9931 OPC_CheckPatternPredicate, 15,
9932 OPC_EmitConvertToTarget1,
9933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
9934 MVT::i64, 2, 0, 2,
9935 9,
9936 OPC_CheckPatternPredicate6,
9937 OPC_EmitConvertToTarget1,
9938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9939 MVT::i64, 2, 0, 2,
9940 0,
9941 24, MVT::i32,
9942 OPC_Scope, 10,
9943 OPC_CheckPatternPredicate, 9,
9944 OPC_EmitConvertToTarget1,
9945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
9946 MVT::i32, 2, 0, 2,
9947 10,
9948 OPC_CheckPatternPredicate, 10,
9949 OPC_EmitConvertToTarget1,
9950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9951 MVT::i32, 2, 0, 2,
9952 0,
9953 0,
9954 32,
9955 OPC_CheckPredicate, 58,
9956 OPC_MoveParent,
9957 OPC_SwitchType , 11, MVT::i64,
9958 OPC_CheckPatternPredicate6,
9959 OPC_EmitNodeXForm, 6, 1,
9960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDU16I_D),
9961 MVT::i64, 2, 0, 2,
9962 12, MVT::i32,
9963 OPC_CheckPatternPredicate, 10,
9964 OPC_EmitNodeXForm, 6, 1,
9965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDU16I_D),
9966 MVT::i32, 2, 0, 2,
9967 0,
9968 52,
9969 OPC_CheckPredicate, 50,
9970 OPC_MoveParent,
9971 OPC_SwitchType , 21, MVT::i64,
9972 OPC_CheckPatternPredicate6,
9973 OPC_EmitNodeXForm, 2, 1,
9974 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
9975 MVT::i64, 2, 0, 2,
9976 OPC_EmitNodeXForm, 3, 1,
9977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9978 MVT::i64, 2, 3, 4,
9979 22, MVT::i32,
9980 OPC_CheckPatternPredicate, 10,
9981 OPC_EmitNodeXForm, 2, 1,
9982 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDU16I_D),
9983 MVT::i32, 2, 0, 2,
9984 OPC_EmitNodeXForm, 3, 1,
9985 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
9986 MVT::i32, 2, 3, 4,
9987 0,
9988 112,
9989 OPC_CheckPredicate, 51,
9990 OPC_MoveParent,
9991 OPC_SwitchType , 51, MVT::i64,
9992 OPC_Scope, 24,
9993 OPC_CheckPatternPredicate, 15,
9994 OPC_EmitConvertToTarget1,
9995 OPC_EmitNodeXForm, 4, 2,
9996 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
9997 MVT::i64, 2, 0, 3,
9998 OPC_EmitConvertToTarget1,
9999 OPC_EmitNodeXForm, 5, 5,
10000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
10001 MVT::i64, 2, 4, 6,
10002 23,
10003 OPC_CheckPatternPredicate6,
10004 OPC_EmitConvertToTarget1,
10005 OPC_EmitNodeXForm, 4, 2,
10006 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
10007 MVT::i64, 2, 0, 3,
10008 OPC_EmitConvertToTarget1,
10009 OPC_EmitNodeXForm, 5, 5,
10010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
10011 MVT::i64, 2, 4, 6,
10012 0,
10013 52, MVT::i32,
10014 OPC_Scope, 24,
10015 OPC_CheckPatternPredicate, 9,
10016 OPC_EmitConvertToTarget1,
10017 OPC_EmitNodeXForm, 4, 2,
10018 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
10019 MVT::i32, 2, 0, 3,
10020 OPC_EmitConvertToTarget1,
10021 OPC_EmitNodeXForm, 5, 5,
10022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
10023 MVT::i32, 2, 4, 6,
10024 24,
10025 OPC_CheckPatternPredicate, 10,
10026 OPC_EmitConvertToTarget1,
10027 OPC_EmitNodeXForm, 4, 2,
10028 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
10029 MVT::i32, 2, 0, 3,
10030 OPC_EmitConvertToTarget1,
10031 OPC_EmitNodeXForm, 5, 5,
10032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_D),
10033 MVT::i32, 2, 4, 6,
10034 0,
10035 0,
10036 0,
10037 22,
10038 OPC_CheckTypeI64,
10039 OPC_Scope, 9,
10040 OPC_CheckPatternPredicate, 15,
10041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_W),
10042 MVT::i64, 2, 0, 1,
10043 8,
10044 OPC_CheckPatternPredicate6,
10045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_D),
10046 MVT::i64, 2, 0, 1,
10047 0,
10048 23,
10049 OPC_CheckTypeI32,
10050 OPC_Scope, 9,
10051 OPC_CheckPatternPredicate, 9,
10052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_W),
10053 MVT::i32, 2, 0, 1,
10054 9,
10055 OPC_CheckPatternPredicate, 10,
10056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADD_D),
10057 MVT::i32, 2, 0, 1,
10058 0,
10059 48,
10060 OPC_CheckType, MVT::v16i8,
10061 OPC_Scope, 10,
10062 OPC_CheckPatternPredicate3,
10063 OPC_CheckComplexPat1, /*#*/1,
10064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10065 MVT::v16i8, 2, 0, 2,
10066 10,
10067 OPC_CheckPatternPredicate5,
10068 OPC_CheckComplexPat1, /*#*/1,
10069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10070 MVT::v16i8, 2, 0, 2,
10071 10,
10072 OPC_CheckPatternPredicate3,
10073 OPC_CheckComplexPat1, /*#*/0,
10074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10075 MVT::v16i8, 2, 1, 2,
10076 10,
10077 OPC_CheckPatternPredicate5,
10078 OPC_CheckComplexPat1, /*#*/0,
10079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
10080 MVT::v16i8, 2, 1, 2,
10081 0,
10082 48,
10083 OPC_CheckType, MVT::v8i16,
10084 OPC_Scope, 10,
10085 OPC_CheckPatternPredicate3,
10086 OPC_CheckComplexPat1, /*#*/1,
10087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10088 MVT::v8i16, 2, 0, 2,
10089 10,
10090 OPC_CheckPatternPredicate5,
10091 OPC_CheckComplexPat1, /*#*/1,
10092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10093 MVT::v8i16, 2, 0, 2,
10094 10,
10095 OPC_CheckPatternPredicate3,
10096 OPC_CheckComplexPat1, /*#*/0,
10097 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10098 MVT::v8i16, 2, 1, 2,
10099 10,
10100 OPC_CheckPatternPredicate5,
10101 OPC_CheckComplexPat1, /*#*/0,
10102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
10103 MVT::v8i16, 2, 1, 2,
10104 0,
10105 48,
10106 OPC_CheckType, MVT::v4i32,
10107 OPC_Scope, 10,
10108 OPC_CheckPatternPredicate3,
10109 OPC_CheckComplexPat1, /*#*/1,
10110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10111 MVT::v4i32, 2, 0, 2,
10112 10,
10113 OPC_CheckPatternPredicate5,
10114 OPC_CheckComplexPat1, /*#*/1,
10115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10116 MVT::v4i32, 2, 0, 2,
10117 10,
10118 OPC_CheckPatternPredicate3,
10119 OPC_CheckComplexPat1, /*#*/0,
10120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10121 MVT::v4i32, 2, 1, 2,
10122 10,
10123 OPC_CheckPatternPredicate5,
10124 OPC_CheckComplexPat1, /*#*/0,
10125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
10126 MVT::v4i32, 2, 1, 2,
10127 0,
10128 48,
10129 OPC_CheckType, MVT::v2i64,
10130 OPC_Scope, 10,
10131 OPC_CheckPatternPredicate3,
10132 OPC_CheckComplexPat1, /*#*/1,
10133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10134 MVT::v2i64, 2, 0, 2,
10135 10,
10136 OPC_CheckPatternPredicate5,
10137 OPC_CheckComplexPat1, /*#*/1,
10138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10139 MVT::v2i64, 2, 0, 2,
10140 10,
10141 OPC_CheckPatternPredicate3,
10142 OPC_CheckComplexPat1, /*#*/0,
10143 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10144 MVT::v2i64, 2, 1, 2,
10145 10,
10146 OPC_CheckPatternPredicate5,
10147 OPC_CheckComplexPat1, /*#*/0,
10148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
10149 MVT::v2i64, 2, 1, 2,
10150 0,
10151 48,
10152 OPC_CheckType, MVT::v32i8,
10153 OPC_Scope, 10,
10154 OPC_CheckPatternPredicate2,
10155 OPC_CheckComplexPat1, /*#*/1,
10156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10157 MVT::v32i8, 2, 0, 2,
10158 10,
10159 OPC_CheckPatternPredicate4,
10160 OPC_CheckComplexPat1, /*#*/1,
10161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10162 MVT::v32i8, 2, 0, 2,
10163 10,
10164 OPC_CheckPatternPredicate2,
10165 OPC_CheckComplexPat1, /*#*/0,
10166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10167 MVT::v32i8, 2, 1, 2,
10168 10,
10169 OPC_CheckPatternPredicate4,
10170 OPC_CheckComplexPat1, /*#*/0,
10171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10172 MVT::v32i8, 2, 1, 2,
10173 0,
10174 48,
10175 OPC_CheckType, MVT::v16i16,
10176 OPC_Scope, 10,
10177 OPC_CheckPatternPredicate2,
10178 OPC_CheckComplexPat1, /*#*/1,
10179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10180 MVT::v16i16, 2, 0, 2,
10181 10,
10182 OPC_CheckPatternPredicate4,
10183 OPC_CheckComplexPat1, /*#*/1,
10184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10185 MVT::v16i16, 2, 0, 2,
10186 10,
10187 OPC_CheckPatternPredicate2,
10188 OPC_CheckComplexPat1, /*#*/0,
10189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10190 MVT::v16i16, 2, 1, 2,
10191 10,
10192 OPC_CheckPatternPredicate4,
10193 OPC_CheckComplexPat1, /*#*/0,
10194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10195 MVT::v16i16, 2, 1, 2,
10196 0,
10197 48,
10198 OPC_CheckType, MVT::v8i32,
10199 OPC_Scope, 10,
10200 OPC_CheckPatternPredicate2,
10201 OPC_CheckComplexPat1, /*#*/1,
10202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10203 MVT::v8i32, 2, 0, 2,
10204 10,
10205 OPC_CheckPatternPredicate4,
10206 OPC_CheckComplexPat1, /*#*/1,
10207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10208 MVT::v8i32, 2, 0, 2,
10209 10,
10210 OPC_CheckPatternPredicate2,
10211 OPC_CheckComplexPat1, /*#*/0,
10212 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10213 MVT::v8i32, 2, 1, 2,
10214 10,
10215 OPC_CheckPatternPredicate4,
10216 OPC_CheckComplexPat1, /*#*/0,
10217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10218 MVT::v8i32, 2, 1, 2,
10219 0,
10220 48,
10221 OPC_CheckType, MVT::v4i64,
10222 OPC_Scope, 10,
10223 OPC_CheckPatternPredicate2,
10224 OPC_CheckComplexPat1, /*#*/1,
10225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10226 MVT::v4i64, 2, 0, 2,
10227 10,
10228 OPC_CheckPatternPredicate4,
10229 OPC_CheckComplexPat1, /*#*/1,
10230 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10231 MVT::v4i64, 2, 0, 2,
10232 10,
10233 OPC_CheckPatternPredicate2,
10234 OPC_CheckComplexPat1, /*#*/0,
10235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10236 MVT::v4i64, 2, 1, 2,
10237 10,
10238 OPC_CheckPatternPredicate4,
10239 OPC_CheckComplexPat1, /*#*/0,
10240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10241 MVT::v4i64, 2, 1, 2,
10242 0,
10243 0,
10244 97,
10245 OPC_MoveChild1,
10246 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10247 OPC_RecordChild0,
10248 OPC_RecordChild1,
10249 OPC_MoveParent,
10250 OPC_SwitchType , 9, MVT::v16i8,
10251 OPC_CheckPatternPredicate1,
10252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
10253 MVT::v16i8, 3, 0, 1, 2,
10254 9, MVT::v8i16,
10255 OPC_CheckPatternPredicate1,
10256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
10257 MVT::v8i16, 3, 0, 1, 2,
10258 9, MVT::v4i32,
10259 OPC_CheckPatternPredicate1,
10260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
10261 MVT::v4i32, 3, 0, 1, 2,
10262 9, MVT::v2i64,
10263 OPC_CheckPatternPredicate1,
10264 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
10265 MVT::v2i64, 3, 0, 1, 2,
10266 9, MVT::v32i8,
10267 OPC_CheckPatternPredicate0,
10268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
10269 MVT::v32i8, 3, 0, 1, 2,
10270 9, MVT::v16i16,
10271 OPC_CheckPatternPredicate0,
10272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
10273 MVT::v16i16, 3, 0, 1, 2,
10274 9, MVT::v8i32,
10275 OPC_CheckPatternPredicate0,
10276 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
10277 MVT::v8i32, 3, 0, 1, 2,
10278 9, MVT::v4i64,
10279 OPC_CheckPatternPredicate0,
10280 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
10281 MVT::v4i64, 3, 0, 1, 2,
10282 0,
10283 0,
10284 98,
10285 OPC_MoveChild0,
10286 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10287 OPC_RecordChild0,
10288 OPC_RecordChild1,
10289 OPC_MoveParent,
10290 OPC_RecordChild1,
10291 OPC_SwitchType , 9, MVT::v16i8,
10292 OPC_CheckPatternPredicate1,
10293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
10294 MVT::v16i8, 3, 2, 0, 1,
10295 9, MVT::v8i16,
10296 OPC_CheckPatternPredicate1,
10297 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
10298 MVT::v8i16, 3, 2, 0, 1,
10299 9, MVT::v4i32,
10300 OPC_CheckPatternPredicate1,
10301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
10302 MVT::v4i32, 3, 2, 0, 1,
10303 9, MVT::v2i64,
10304 OPC_CheckPatternPredicate1,
10305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
10306 MVT::v2i64, 3, 2, 0, 1,
10307 9, MVT::v32i8,
10308 OPC_CheckPatternPredicate0,
10309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
10310 MVT::v32i8, 3, 2, 0, 1,
10311 9, MVT::v16i16,
10312 OPC_CheckPatternPredicate0,
10313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
10314 MVT::v16i16, 3, 2, 0, 1,
10315 9, MVT::v8i32,
10316 OPC_CheckPatternPredicate0,
10317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
10318 MVT::v8i32, 3, 2, 0, 1,
10319 9, MVT::v4i64,
10320 OPC_CheckPatternPredicate0,
10321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
10322 MVT::v4i64, 3, 2, 0, 1,
10323 0,
10324 84,
10325 OPC_RecordChild0,
10326 OPC_RecordChild1,
10327 OPC_SwitchType , 8, MVT::v16i8,
10328 OPC_CheckPatternPredicate1,
10329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_B),
10330 MVT::v16i8, 2, 0, 1,
10331 8, MVT::v8i16,
10332 OPC_CheckPatternPredicate1,
10333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_H),
10334 MVT::v8i16, 2, 0, 1,
10335 8, MVT::v4i32,
10336 OPC_CheckPatternPredicate1,
10337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_W),
10338 MVT::v4i32, 2, 0, 1,
10339 8, MVT::v2i64,
10340 OPC_CheckPatternPredicate1,
10341 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_D),
10342 MVT::v2i64, 2, 0, 1,
10343 8, MVT::v32i8,
10344 OPC_CheckPatternPredicate0,
10345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_B),
10346 MVT::v32i8, 2, 0, 1,
10347 8, MVT::v16i16,
10348 OPC_CheckPatternPredicate0,
10349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_H),
10350 MVT::v16i16, 2, 0, 1,
10351 8, MVT::v8i32,
10352 OPC_CheckPatternPredicate0,
10353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_W),
10354 MVT::v8i32, 2, 0, 1,
10355 8, MVT::v4i64,
10356 OPC_CheckPatternPredicate0,
10357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_D),
10358 MVT::v4i64, 2, 0, 1,
10359 0,
10360 0,
10361 111|128,5, TARGET_VAL(ISD::INTRINSIC_VOID),
10362 OPC_RecordNode,
10363 OPC_Scope, 25,
10364 OPC_CheckChild1Integer, 60|128,88,
10365 OPC_RecordChild2,
10366 OPC_MoveChild2,
10367 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10368 OPC_MoveParent,
10369 OPC_RecordChild3,
10370 OPC_RecordChild4,
10371 OPC_MoveChild4,
10372 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10373 OPC_MoveParent,
10374 OPC_CheckPatternPredicate7,
10375 OPC_EmitMergeInputChains1_0,
10376 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
10377 3, 1, 2, 3,
10378 65,
10379 OPC_CheckChild1Integer, 38|128,111,
10380 OPC_RecordChild2,
10381 OPC_RecordChild3,
10382 OPC_Scope, 28,
10383 OPC_CheckChild3TypeI64,
10384 OPC_RecordChild4,
10385 OPC_MoveChild4,
10386 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10387 OPC_MoveSibling5,
10388 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10389 OPC_RecordNode,
10390 OPC_MoveParent,
10391 OPC_CheckPatternPredicate3,
10392 OPC_EmitMergeInputChains1_0,
10393 OPC_EmitNodeXForm, 7, 3,
10394 OPC_EmitNodeXForm, 7, 4,
10395 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_B),
10396 4, 1, 2, 5, 6,
10397 28,
10398 OPC_CheckChild3TypeI32,
10399 OPC_RecordChild4,
10400 OPC_MoveChild4,
10401 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10402 OPC_MoveSibling5,
10403 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10404 OPC_RecordNode,
10405 OPC_MoveParent,
10406 OPC_CheckPatternPredicate5,
10407 OPC_EmitMergeInputChains1_0,
10408 OPC_EmitNodeXForm, 7, 3,
10409 OPC_EmitNodeXForm, 7, 4,
10410 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_B),
10411 4, 1, 2, 5, 6,
10412 0,
10413 65,
10414 OPC_CheckChild1Integer, 42|128,111,
10415 OPC_RecordChild2,
10416 OPC_RecordChild3,
10417 OPC_Scope, 28,
10418 OPC_CheckChild3TypeI64,
10419 OPC_RecordChild4,
10420 OPC_MoveChild4,
10421 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10422 OPC_MoveSibling5,
10423 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10424 OPC_RecordNode,
10425 OPC_MoveParent,
10426 OPC_CheckPatternPredicate3,
10427 OPC_EmitMergeInputChains1_0,
10428 OPC_EmitNodeXForm, 7, 3,
10429 OPC_EmitNodeXForm, 7, 4,
10430 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_H),
10431 4, 1, 2, 5, 6,
10432 28,
10433 OPC_CheckChild3TypeI32,
10434 OPC_RecordChild4,
10435 OPC_MoveChild4,
10436 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10437 OPC_MoveSibling5,
10438 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10439 OPC_RecordNode,
10440 OPC_MoveParent,
10441 OPC_CheckPatternPredicate5,
10442 OPC_EmitMergeInputChains1_0,
10443 OPC_EmitNodeXForm, 7, 3,
10444 OPC_EmitNodeXForm, 7, 4,
10445 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_H),
10446 4, 1, 2, 5, 6,
10447 0,
10448 65,
10449 OPC_CheckChild1Integer, 44|128,111,
10450 OPC_RecordChild2,
10451 OPC_RecordChild3,
10452 OPC_Scope, 28,
10453 OPC_CheckChild3TypeI64,
10454 OPC_RecordChild4,
10455 OPC_MoveChild4,
10456 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10457 OPC_MoveSibling5,
10458 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10459 OPC_RecordNode,
10460 OPC_MoveParent,
10461 OPC_CheckPatternPredicate3,
10462 OPC_EmitMergeInputChains1_0,
10463 OPC_EmitNodeXForm, 7, 3,
10464 OPC_EmitNodeXForm, 7, 4,
10465 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_W),
10466 4, 1, 2, 5, 6,
10467 28,
10468 OPC_CheckChild3TypeI32,
10469 OPC_RecordChild4,
10470 OPC_MoveChild4,
10471 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10472 OPC_MoveSibling5,
10473 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10474 OPC_RecordNode,
10475 OPC_MoveParent,
10476 OPC_CheckPatternPredicate5,
10477 OPC_EmitMergeInputChains1_0,
10478 OPC_EmitNodeXForm, 7, 3,
10479 OPC_EmitNodeXForm, 7, 4,
10480 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_W),
10481 4, 1, 2, 5, 6,
10482 0,
10483 65,
10484 OPC_CheckChild1Integer, 40|128,111,
10485 OPC_RecordChild2,
10486 OPC_RecordChild3,
10487 OPC_Scope, 28,
10488 OPC_CheckChild3TypeI64,
10489 OPC_RecordChild4,
10490 OPC_MoveChild4,
10491 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10492 OPC_MoveSibling5,
10493 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10494 OPC_RecordNode,
10495 OPC_MoveParent,
10496 OPC_CheckPatternPredicate3,
10497 OPC_EmitMergeInputChains1_0,
10498 OPC_EmitNodeXForm, 7, 3,
10499 OPC_EmitNodeXForm, 7, 4,
10500 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_D),
10501 4, 1, 2, 5, 6,
10502 28,
10503 OPC_CheckChild3TypeI32,
10504 OPC_RecordChild4,
10505 OPC_MoveChild4,
10506 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10507 OPC_MoveSibling5,
10508 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10509 OPC_RecordNode,
10510 OPC_MoveParent,
10511 OPC_CheckPatternPredicate5,
10512 OPC_EmitMergeInputChains1_0,
10513 OPC_EmitNodeXForm, 7, 3,
10514 OPC_EmitNodeXForm, 7, 4,
10515 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_D),
10516 4, 1, 2, 5, 6,
10517 0,
10518 65,
10519 OPC_CheckChild1Integer, 2|128,100,
10520 OPC_RecordChild2,
10521 OPC_RecordChild3,
10522 OPC_Scope, 28,
10523 OPC_CheckChild3TypeI64,
10524 OPC_RecordChild4,
10525 OPC_MoveChild4,
10526 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10527 OPC_MoveSibling5,
10528 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10529 OPC_RecordNode,
10530 OPC_MoveParent,
10531 OPC_CheckPatternPredicate2,
10532 OPC_EmitMergeInputChains1_0,
10533 OPC_EmitNodeXForm, 7, 3,
10534 OPC_EmitNodeXForm, 7, 4,
10535 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_B),
10536 4, 1, 2, 5, 6,
10537 28,
10538 OPC_CheckChild3TypeI32,
10539 OPC_RecordChild4,
10540 OPC_MoveChild4,
10541 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10542 OPC_MoveSibling5,
10543 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10544 OPC_RecordNode,
10545 OPC_MoveParent,
10546 OPC_CheckPatternPredicate4,
10547 OPC_EmitMergeInputChains1_0,
10548 OPC_EmitNodeXForm, 7, 3,
10549 OPC_EmitNodeXForm, 7, 4,
10550 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_B),
10551 4, 1, 2, 5, 6,
10552 0,
10553 65,
10554 OPC_CheckChild1Integer, 6|128,100,
10555 OPC_RecordChild2,
10556 OPC_RecordChild3,
10557 OPC_Scope, 28,
10558 OPC_CheckChild3TypeI64,
10559 OPC_RecordChild4,
10560 OPC_MoveChild4,
10561 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10562 OPC_MoveSibling5,
10563 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10564 OPC_RecordNode,
10565 OPC_MoveParent,
10566 OPC_CheckPatternPredicate2,
10567 OPC_EmitMergeInputChains1_0,
10568 OPC_EmitNodeXForm, 7, 3,
10569 OPC_EmitNodeXForm, 7, 4,
10570 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_H),
10571 4, 1, 2, 5, 6,
10572 28,
10573 OPC_CheckChild3TypeI32,
10574 OPC_RecordChild4,
10575 OPC_MoveChild4,
10576 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10577 OPC_MoveSibling5,
10578 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10579 OPC_RecordNode,
10580 OPC_MoveParent,
10581 OPC_CheckPatternPredicate4,
10582 OPC_EmitMergeInputChains1_0,
10583 OPC_EmitNodeXForm, 7, 3,
10584 OPC_EmitNodeXForm, 7, 4,
10585 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_H),
10586 4, 1, 2, 5, 6,
10587 0,
10588 65,
10589 OPC_CheckChild1Integer, 8|128,100,
10590 OPC_RecordChild2,
10591 OPC_RecordChild3,
10592 OPC_Scope, 28,
10593 OPC_CheckChild3TypeI64,
10594 OPC_RecordChild4,
10595 OPC_MoveChild4,
10596 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10597 OPC_MoveSibling5,
10598 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10599 OPC_RecordNode,
10600 OPC_MoveParent,
10601 OPC_CheckPatternPredicate2,
10602 OPC_EmitMergeInputChains1_0,
10603 OPC_EmitNodeXForm, 7, 3,
10604 OPC_EmitNodeXForm, 7, 4,
10605 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_W),
10606 4, 1, 2, 5, 6,
10607 28,
10608 OPC_CheckChild3TypeI32,
10609 OPC_RecordChild4,
10610 OPC_MoveChild4,
10611 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10612 OPC_MoveSibling5,
10613 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10614 OPC_RecordNode,
10615 OPC_MoveParent,
10616 OPC_CheckPatternPredicate4,
10617 OPC_EmitMergeInputChains1_0,
10618 OPC_EmitNodeXForm, 7, 3,
10619 OPC_EmitNodeXForm, 7, 4,
10620 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_W),
10621 4, 1, 2, 5, 6,
10622 0,
10623 65,
10624 OPC_CheckChild1Integer, 4|128,100,
10625 OPC_RecordChild2,
10626 OPC_RecordChild3,
10627 OPC_Scope, 28,
10628 OPC_CheckChild3TypeI64,
10629 OPC_RecordChild4,
10630 OPC_MoveChild4,
10631 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10632 OPC_MoveSibling5,
10633 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10634 OPC_RecordNode,
10635 OPC_MoveParent,
10636 OPC_CheckPatternPredicate2,
10637 OPC_EmitMergeInputChains1_0,
10638 OPC_EmitNodeXForm, 7, 3,
10639 OPC_EmitNodeXForm, 7, 4,
10640 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_D),
10641 4, 1, 2, 5, 6,
10642 28,
10643 OPC_CheckChild3TypeI32,
10644 OPC_RecordChild4,
10645 OPC_MoveChild4,
10646 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10647 OPC_MoveSibling5,
10648 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10649 OPC_RecordNode,
10650 OPC_MoveParent,
10651 OPC_CheckPatternPredicate4,
10652 OPC_EmitMergeInputChains1_0,
10653 OPC_EmitNodeXForm, 7, 3,
10654 OPC_EmitNodeXForm, 7, 4,
10655 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_D),
10656 4, 1, 2, 5, 6,
10657 0,
10658 18,
10659 OPC_CheckChild1Integer, 68|128,100,
10660 OPC_RecordChild2,
10661 OPC_RecordChild3,
10662 OPC_MoveChild3,
10663 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10664 OPC_MoveParent,
10665 OPC_CheckPatternPredicate6,
10666 OPC_EmitMergeInputChains1_0,
10667 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::LDPTE),
10668 2, 1, 2,
10669 47,
10670 OPC_CheckChild1Integer, 36|128,111,
10671 OPC_RecordChild2,
10672 OPC_RecordChild3,
10673 OPC_Scope, 19,
10674 OPC_CheckChild3TypeI64,
10675 OPC_RecordChild4,
10676 OPC_MoveChild4,
10677 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10678 OPC_MoveParent,
10679 OPC_CheckPatternPredicate3,
10680 OPC_EmitMergeInputChains1_0,
10681 OPC_EmitNodeXForm, 7, 3,
10682 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VST),
10683 3, 1, 2, 4,
10684 19,
10685 OPC_CheckChild3TypeI32,
10686 OPC_RecordChild4,
10687 OPC_MoveChild4,
10688 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10689 OPC_MoveParent,
10690 OPC_CheckPatternPredicate5,
10691 OPC_EmitMergeInputChains1_0,
10692 OPC_EmitNodeXForm, 7, 3,
10693 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VST),
10694 3, 1, 2, 4,
10695 0,
10696 47,
10697 OPC_CheckChild1Integer, 0|128,100,
10698 OPC_RecordChild2,
10699 OPC_RecordChild3,
10700 OPC_Scope, 19,
10701 OPC_CheckChild3TypeI64,
10702 OPC_RecordChild4,
10703 OPC_MoveChild4,
10704 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10705 OPC_MoveParent,
10706 OPC_CheckPatternPredicate2,
10707 OPC_EmitMergeInputChains1_0,
10708 OPC_EmitNodeXForm, 7, 3,
10709 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVST),
10710 3, 1, 2, 4,
10711 19,
10712 OPC_CheckChild3TypeI32,
10713 OPC_RecordChild4,
10714 OPC_MoveChild4,
10715 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10716 OPC_MoveParent,
10717 OPC_CheckPatternPredicate4,
10718 OPC_EmitMergeInputChains1_0,
10719 OPC_EmitNodeXForm, 7, 3,
10720 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVST),
10721 3, 1, 2, 4,
10722 0,
10723 16,
10724 OPC_CheckChild1Integer, 62|128,88,
10725 OPC_RecordChild2,
10726 OPC_RecordChild3,
10727 OPC_RecordChild4,
10728 OPC_CheckPatternPredicate, 8,
10729 OPC_EmitMergeInputChains1_0,
10730 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
10731 3, 1, 2, 3,
10732 13,
10733 OPC_CheckChild1Integer, 56|128,88,
10734 OPC_RecordChild2,
10735 OPC_RecordChild3,
10736 OPC_CheckPatternPredicate6,
10737 OPC_EmitMergeInputChains1_0,
10738 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTLE_D),
10739 2, 1, 2,
10740 13,
10741 OPC_CheckChild1Integer, 54|128,88,
10742 OPC_RecordChild2,
10743 OPC_RecordChild3,
10744 OPC_CheckPatternPredicate6,
10745 OPC_EmitMergeInputChains1_0,
10746 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTGT_D),
10747 2, 1, 2,
10748 16,
10749 OPC_CheckChild1Integer, 46|128,111,
10750 OPC_RecordChild2,
10751 OPC_RecordChild3,
10752 OPC_CheckChild3TypeI64,
10753 OPC_RecordChild4,
10754 OPC_CheckPatternPredicate3,
10755 OPC_EmitMergeInputChains1_0,
10756 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTX),
10757 3, 1, 2, 3,
10758 16,
10759 OPC_CheckChild1Integer, 10|128,100,
10760 OPC_RecordChild2,
10761 OPC_RecordChild3,
10762 OPC_CheckChild3TypeI64,
10763 OPC_RecordChild4,
10764 OPC_CheckPatternPredicate2,
10765 OPC_EmitMergeInputChains1_0,
10766 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTX),
10767 3, 1, 2, 3,
10768 0,
10769 17|128,23, TARGET_VAL(ISD::BRCOND),
10770 OPC_RecordNode,
10771 OPC_Scope, 103|128,22,
10772 OPC_MoveChild1,
10773 OPC_SwitchOpcode , 101|128,9, TARGET_VAL(ISD::XOR),
10774 OPC_MoveChild0,
10775 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
10776 OPC_RecordChild0,
10777 OPC_Scope, 109|128,4,
10778 OPC_CheckChild0Type, MVT::f32,
10779 OPC_RecordChild1,
10780 OPC_Scope, 55,
10781 OPC_CheckChild2CondCode, ISD::SETOEQ,
10782 OPC_MoveParent,
10783 OPC_CheckChild1Integer, 3,
10784 OPC_SwitchType , 22, MVT::i64,
10785 OPC_MoveSibling2,
10786 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10787 OPC_RecordNode,
10788 OPC_MoveParent,
10789 OPC_CheckPatternPredicate, 11,
10790 OPC_EmitMergeInputChains1_0,
10791 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
10792 MVT::i64, 2, 1, 2,
10793 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10794 2, 4, 3,
10795 22, MVT::i32,
10796 OPC_MoveSibling2,
10797 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10798 OPC_RecordNode,
10799 OPC_MoveParent,
10800 OPC_CheckPatternPredicate, 12,
10801 OPC_EmitMergeInputChains1_0,
10802 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
10803 MVT::i32, 2, 1, 2,
10804 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10805 2, 4, 3,
10806 0,
10807 55,
10808 OPC_CheckChild2CondCode, ISD::SETOLT,
10809 OPC_MoveParent,
10810 OPC_CheckChild1Integer, 3,
10811 OPC_SwitchType , 22, MVT::i64,
10812 OPC_MoveSibling2,
10813 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10814 OPC_RecordNode,
10815 OPC_MoveParent,
10816 OPC_CheckPatternPredicate, 11,
10817 OPC_EmitMergeInputChains1_0,
10818 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
10819 MVT::i64, 2, 1, 2,
10820 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10821 2, 4, 3,
10822 22, MVT::i32,
10823 OPC_MoveSibling2,
10824 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10825 OPC_RecordNode,
10826 OPC_MoveParent,
10827 OPC_CheckPatternPredicate, 12,
10828 OPC_EmitMergeInputChains1_0,
10829 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
10830 MVT::i32, 2, 1, 2,
10831 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10832 2, 4, 3,
10833 0,
10834 55,
10835 OPC_CheckChild2CondCode, ISD::SETOLE,
10836 OPC_MoveParent,
10837 OPC_CheckChild1Integer, 3,
10838 OPC_SwitchType , 22, MVT::i64,
10839 OPC_MoveSibling2,
10840 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10841 OPC_RecordNode,
10842 OPC_MoveParent,
10843 OPC_CheckPatternPredicate, 11,
10844 OPC_EmitMergeInputChains1_0,
10845 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
10846 MVT::i64, 2, 1, 2,
10847 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10848 2, 4, 3,
10849 22, MVT::i32,
10850 OPC_MoveSibling2,
10851 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10852 OPC_RecordNode,
10853 OPC_MoveParent,
10854 OPC_CheckPatternPredicate, 12,
10855 OPC_EmitMergeInputChains1_0,
10856 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
10857 MVT::i32, 2, 1, 2,
10858 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10859 2, 4, 3,
10860 0,
10861 55,
10862 OPC_CheckChild2CondCode, ISD::SETONE,
10863 OPC_MoveParent,
10864 OPC_CheckChild1Integer, 3,
10865 OPC_SwitchType , 22, MVT::i64,
10866 OPC_MoveSibling2,
10867 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10868 OPC_RecordNode,
10869 OPC_MoveParent,
10870 OPC_CheckPatternPredicate, 11,
10871 OPC_EmitMergeInputChains1_0,
10872 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
10873 MVT::i64, 2, 1, 2,
10874 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10875 2, 4, 3,
10876 22, MVT::i32,
10877 OPC_MoveSibling2,
10878 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10879 OPC_RecordNode,
10880 OPC_MoveParent,
10881 OPC_CheckPatternPredicate, 12,
10882 OPC_EmitMergeInputChains1_0,
10883 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
10884 MVT::i32, 2, 1, 2,
10885 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10886 2, 4, 3,
10887 0,
10888 55,
10889 OPC_CheckChild2CondCode, ISD::SETO,
10890 OPC_MoveParent,
10891 OPC_CheckChild1Integer, 3,
10892 OPC_SwitchType , 22, MVT::i64,
10893 OPC_MoveSibling2,
10894 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10895 OPC_RecordNode,
10896 OPC_MoveParent,
10897 OPC_CheckPatternPredicate, 11,
10898 OPC_EmitMergeInputChains1_0,
10899 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
10900 MVT::i64, 2, 1, 2,
10901 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10902 2, 4, 3,
10903 22, MVT::i32,
10904 OPC_MoveSibling2,
10905 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10906 OPC_RecordNode,
10907 OPC_MoveParent,
10908 OPC_CheckPatternPredicate, 12,
10909 OPC_EmitMergeInputChains1_0,
10910 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
10911 MVT::i32, 2, 1, 2,
10912 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10913 2, 4, 3,
10914 0,
10915 55,
10916 OPC_CheckChild2CondCode, ISD::SETUEQ,
10917 OPC_MoveParent,
10918 OPC_CheckChild1Integer, 3,
10919 OPC_SwitchType , 22, MVT::i64,
10920 OPC_MoveSibling2,
10921 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10922 OPC_RecordNode,
10923 OPC_MoveParent,
10924 OPC_CheckPatternPredicate, 11,
10925 OPC_EmitMergeInputChains1_0,
10926 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
10927 MVT::i64, 2, 1, 2,
10928 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10929 2, 4, 3,
10930 22, MVT::i32,
10931 OPC_MoveSibling2,
10932 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10933 OPC_RecordNode,
10934 OPC_MoveParent,
10935 OPC_CheckPatternPredicate, 12,
10936 OPC_EmitMergeInputChains1_0,
10937 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
10938 MVT::i32, 2, 1, 2,
10939 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10940 2, 4, 3,
10941 0,
10942 55,
10943 OPC_CheckChild2CondCode, ISD::SETULT,
10944 OPC_MoveParent,
10945 OPC_CheckChild1Integer, 3,
10946 OPC_SwitchType , 22, MVT::i64,
10947 OPC_MoveSibling2,
10948 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10949 OPC_RecordNode,
10950 OPC_MoveParent,
10951 OPC_CheckPatternPredicate, 11,
10952 OPC_EmitMergeInputChains1_0,
10953 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
10954 MVT::i64, 2, 1, 2,
10955 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10956 2, 4, 3,
10957 22, MVT::i32,
10958 OPC_MoveSibling2,
10959 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10960 OPC_RecordNode,
10961 OPC_MoveParent,
10962 OPC_CheckPatternPredicate, 12,
10963 OPC_EmitMergeInputChains1_0,
10964 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
10965 MVT::i32, 2, 1, 2,
10966 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10967 2, 4, 3,
10968 0,
10969 55,
10970 OPC_CheckChild2CondCode, ISD::SETULE,
10971 OPC_MoveParent,
10972 OPC_CheckChild1Integer, 3,
10973 OPC_SwitchType , 22, MVT::i64,
10974 OPC_MoveSibling2,
10975 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10976 OPC_RecordNode,
10977 OPC_MoveParent,
10978 OPC_CheckPatternPredicate, 11,
10979 OPC_EmitMergeInputChains1_0,
10980 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
10981 MVT::i64, 2, 1, 2,
10982 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10983 2, 4, 3,
10984 22, MVT::i32,
10985 OPC_MoveSibling2,
10986 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10987 OPC_RecordNode,
10988 OPC_MoveParent,
10989 OPC_CheckPatternPredicate, 12,
10990 OPC_EmitMergeInputChains1_0,
10991 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
10992 MVT::i32, 2, 1, 2,
10993 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10994 2, 4, 3,
10995 0,
10996 55,
10997 OPC_CheckChild2CondCode, ISD::SETUNE,
10998 OPC_MoveParent,
10999 OPC_CheckChild1Integer, 3,
11000 OPC_SwitchType , 22, MVT::i64,
11001 OPC_MoveSibling2,
11002 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11003 OPC_RecordNode,
11004 OPC_MoveParent,
11005 OPC_CheckPatternPredicate, 11,
11006 OPC_EmitMergeInputChains1_0,
11007 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
11008 MVT::i64, 2, 1, 2,
11009 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11010 2, 4, 3,
11011 22, MVT::i32,
11012 OPC_MoveSibling2,
11013 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11014 OPC_RecordNode,
11015 OPC_MoveParent,
11016 OPC_CheckPatternPredicate, 12,
11017 OPC_EmitMergeInputChains1_0,
11018 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
11019 MVT::i32, 2, 1, 2,
11020 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11021 2, 4, 3,
11022 0,
11023 55,
11024 OPC_CheckChild2CondCode, ISD::SETUO,
11025 OPC_MoveParent,
11026 OPC_CheckChild1Integer, 3,
11027 OPC_SwitchType , 22, MVT::i64,
11028 OPC_MoveSibling2,
11029 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11030 OPC_RecordNode,
11031 OPC_MoveParent,
11032 OPC_CheckPatternPredicate, 11,
11033 OPC_EmitMergeInputChains1_0,
11034 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11035 MVT::i64, 2, 1, 2,
11036 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11037 2, 4, 3,
11038 22, MVT::i32,
11039 OPC_MoveSibling2,
11040 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11041 OPC_RecordNode,
11042 OPC_MoveParent,
11043 OPC_CheckPatternPredicate, 12,
11044 OPC_EmitMergeInputChains1_0,
11045 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11046 MVT::i32, 2, 1, 2,
11047 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11048 2, 4, 3,
11049 0,
11050 55,
11051 OPC_CheckChild2CondCode, ISD::SETLT,
11052 OPC_MoveParent,
11053 OPC_CheckChild1Integer, 3,
11054 OPC_SwitchType , 22, MVT::i64,
11055 OPC_MoveSibling2,
11056 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11057 OPC_RecordNode,
11058 OPC_MoveParent,
11059 OPC_CheckPatternPredicate, 11,
11060 OPC_EmitMergeInputChains1_0,
11061 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11062 MVT::i64, 2, 1, 2,
11063 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11064 2, 4, 3,
11065 22, MVT::i32,
11066 OPC_MoveSibling2,
11067 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11068 OPC_RecordNode,
11069 OPC_MoveParent,
11070 OPC_CheckPatternPredicate, 12,
11071 OPC_EmitMergeInputChains1_0,
11072 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11073 MVT::i32, 2, 1, 2,
11074 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11075 2, 4, 3,
11076 0,
11077 0,
11078 109|128,4,
11079 OPC_CheckChild0Type, MVT::f64,
11080 OPC_RecordChild1,
11081 OPC_Scope, 55,
11082 OPC_CheckChild2CondCode, ISD::SETOEQ,
11083 OPC_MoveParent,
11084 OPC_CheckChild1Integer, 3,
11085 OPC_SwitchType , 22, MVT::i64,
11086 OPC_MoveSibling2,
11087 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11088 OPC_RecordNode,
11089 OPC_MoveParent,
11090 OPC_CheckPatternPredicate, 13,
11091 OPC_EmitMergeInputChains1_0,
11092 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11093 MVT::i64, 2, 1, 2,
11094 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11095 2, 4, 3,
11096 22, MVT::i32,
11097 OPC_MoveSibling2,
11098 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11099 OPC_RecordNode,
11100 OPC_MoveParent,
11101 OPC_CheckPatternPredicate, 14,
11102 OPC_EmitMergeInputChains1_0,
11103 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11104 MVT::i32, 2, 1, 2,
11105 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11106 2, 4, 3,
11107 0,
11108 55,
11109 OPC_CheckChild2CondCode, ISD::SETOLT,
11110 OPC_MoveParent,
11111 OPC_CheckChild1Integer, 3,
11112 OPC_SwitchType , 22, MVT::i64,
11113 OPC_MoveSibling2,
11114 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11115 OPC_RecordNode,
11116 OPC_MoveParent,
11117 OPC_CheckPatternPredicate, 13,
11118 OPC_EmitMergeInputChains1_0,
11119 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11120 MVT::i64, 2, 1, 2,
11121 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11122 2, 4, 3,
11123 22, MVT::i32,
11124 OPC_MoveSibling2,
11125 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11126 OPC_RecordNode,
11127 OPC_MoveParent,
11128 OPC_CheckPatternPredicate, 14,
11129 OPC_EmitMergeInputChains1_0,
11130 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11131 MVT::i32, 2, 1, 2,
11132 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11133 2, 4, 3,
11134 0,
11135 55,
11136 OPC_CheckChild2CondCode, ISD::SETOLE,
11137 OPC_MoveParent,
11138 OPC_CheckChild1Integer, 3,
11139 OPC_SwitchType , 22, MVT::i64,
11140 OPC_MoveSibling2,
11141 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11142 OPC_RecordNode,
11143 OPC_MoveParent,
11144 OPC_CheckPatternPredicate, 13,
11145 OPC_EmitMergeInputChains1_0,
11146 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
11147 MVT::i64, 2, 1, 2,
11148 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11149 2, 4, 3,
11150 22, MVT::i32,
11151 OPC_MoveSibling2,
11152 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11153 OPC_RecordNode,
11154 OPC_MoveParent,
11155 OPC_CheckPatternPredicate, 14,
11156 OPC_EmitMergeInputChains1_0,
11157 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
11158 MVT::i32, 2, 1, 2,
11159 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11160 2, 4, 3,
11161 0,
11162 55,
11163 OPC_CheckChild2CondCode, ISD::SETONE,
11164 OPC_MoveParent,
11165 OPC_CheckChild1Integer, 3,
11166 OPC_SwitchType , 22, MVT::i64,
11167 OPC_MoveSibling2,
11168 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11169 OPC_RecordNode,
11170 OPC_MoveParent,
11171 OPC_CheckPatternPredicate, 13,
11172 OPC_EmitMergeInputChains1_0,
11173 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
11174 MVT::i64, 2, 1, 2,
11175 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11176 2, 4, 3,
11177 22, MVT::i32,
11178 OPC_MoveSibling2,
11179 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11180 OPC_RecordNode,
11181 OPC_MoveParent,
11182 OPC_CheckPatternPredicate, 14,
11183 OPC_EmitMergeInputChains1_0,
11184 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
11185 MVT::i32, 2, 1, 2,
11186 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11187 2, 4, 3,
11188 0,
11189 55,
11190 OPC_CheckChild2CondCode, ISD::SETO,
11191 OPC_MoveParent,
11192 OPC_CheckChild1Integer, 3,
11193 OPC_SwitchType , 22, MVT::i64,
11194 OPC_MoveSibling2,
11195 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11196 OPC_RecordNode,
11197 OPC_MoveParent,
11198 OPC_CheckPatternPredicate, 13,
11199 OPC_EmitMergeInputChains1_0,
11200 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
11201 MVT::i64, 2, 1, 2,
11202 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11203 2, 4, 3,
11204 22, MVT::i32,
11205 OPC_MoveSibling2,
11206 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11207 OPC_RecordNode,
11208 OPC_MoveParent,
11209 OPC_CheckPatternPredicate, 14,
11210 OPC_EmitMergeInputChains1_0,
11211 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
11212 MVT::i32, 2, 1, 2,
11213 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11214 2, 4, 3,
11215 0,
11216 55,
11217 OPC_CheckChild2CondCode, ISD::SETUEQ,
11218 OPC_MoveParent,
11219 OPC_CheckChild1Integer, 3,
11220 OPC_SwitchType , 22, MVT::i64,
11221 OPC_MoveSibling2,
11222 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11223 OPC_RecordNode,
11224 OPC_MoveParent,
11225 OPC_CheckPatternPredicate, 13,
11226 OPC_EmitMergeInputChains1_0,
11227 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
11228 MVT::i64, 2, 1, 2,
11229 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11230 2, 4, 3,
11231 22, MVT::i32,
11232 OPC_MoveSibling2,
11233 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11234 OPC_RecordNode,
11235 OPC_MoveParent,
11236 OPC_CheckPatternPredicate, 14,
11237 OPC_EmitMergeInputChains1_0,
11238 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
11239 MVT::i32, 2, 1, 2,
11240 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11241 2, 4, 3,
11242 0,
11243 55,
11244 OPC_CheckChild2CondCode, ISD::SETULT,
11245 OPC_MoveParent,
11246 OPC_CheckChild1Integer, 3,
11247 OPC_SwitchType , 22, MVT::i64,
11248 OPC_MoveSibling2,
11249 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11250 OPC_RecordNode,
11251 OPC_MoveParent,
11252 OPC_CheckPatternPredicate, 13,
11253 OPC_EmitMergeInputChains1_0,
11254 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
11255 MVT::i64, 2, 1, 2,
11256 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11257 2, 4, 3,
11258 22, MVT::i32,
11259 OPC_MoveSibling2,
11260 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11261 OPC_RecordNode,
11262 OPC_MoveParent,
11263 OPC_CheckPatternPredicate, 14,
11264 OPC_EmitMergeInputChains1_0,
11265 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
11266 MVT::i32, 2, 1, 2,
11267 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11268 2, 4, 3,
11269 0,
11270 55,
11271 OPC_CheckChild2CondCode, ISD::SETULE,
11272 OPC_MoveParent,
11273 OPC_CheckChild1Integer, 3,
11274 OPC_SwitchType , 22, MVT::i64,
11275 OPC_MoveSibling2,
11276 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11277 OPC_RecordNode,
11278 OPC_MoveParent,
11279 OPC_CheckPatternPredicate, 13,
11280 OPC_EmitMergeInputChains1_0,
11281 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
11282 MVT::i64, 2, 1, 2,
11283 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11284 2, 4, 3,
11285 22, MVT::i32,
11286 OPC_MoveSibling2,
11287 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11288 OPC_RecordNode,
11289 OPC_MoveParent,
11290 OPC_CheckPatternPredicate, 14,
11291 OPC_EmitMergeInputChains1_0,
11292 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
11293 MVT::i32, 2, 1, 2,
11294 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11295 2, 4, 3,
11296 0,
11297 55,
11298 OPC_CheckChild2CondCode, ISD::SETUNE,
11299 OPC_MoveParent,
11300 OPC_CheckChild1Integer, 3,
11301 OPC_SwitchType , 22, MVT::i64,
11302 OPC_MoveSibling2,
11303 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11304 OPC_RecordNode,
11305 OPC_MoveParent,
11306 OPC_CheckPatternPredicate, 13,
11307 OPC_EmitMergeInputChains1_0,
11308 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
11309 MVT::i64, 2, 1, 2,
11310 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11311 2, 4, 3,
11312 22, MVT::i32,
11313 OPC_MoveSibling2,
11314 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11315 OPC_RecordNode,
11316 OPC_MoveParent,
11317 OPC_CheckPatternPredicate, 14,
11318 OPC_EmitMergeInputChains1_0,
11319 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
11320 MVT::i32, 2, 1, 2,
11321 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11322 2, 4, 3,
11323 0,
11324 55,
11325 OPC_CheckChild2CondCode, ISD::SETUO,
11326 OPC_MoveParent,
11327 OPC_CheckChild1Integer, 3,
11328 OPC_SwitchType , 22, MVT::i64,
11329 OPC_MoveSibling2,
11330 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11331 OPC_RecordNode,
11332 OPC_MoveParent,
11333 OPC_CheckPatternPredicate, 13,
11334 OPC_EmitMergeInputChains1_0,
11335 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
11336 MVT::i64, 2, 1, 2,
11337 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11338 2, 4, 3,
11339 22, MVT::i32,
11340 OPC_MoveSibling2,
11341 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11342 OPC_RecordNode,
11343 OPC_MoveParent,
11344 OPC_CheckPatternPredicate, 14,
11345 OPC_EmitMergeInputChains1_0,
11346 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
11347 MVT::i32, 2, 1, 2,
11348 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11349 2, 4, 3,
11350 0,
11351 55,
11352 OPC_CheckChild2CondCode, ISD::SETLT,
11353 OPC_MoveParent,
11354 OPC_CheckChild1Integer, 3,
11355 OPC_SwitchType , 22, MVT::i64,
11356 OPC_MoveSibling2,
11357 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11358 OPC_RecordNode,
11359 OPC_MoveParent,
11360 OPC_CheckPatternPredicate, 13,
11361 OPC_EmitMergeInputChains1_0,
11362 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11363 MVT::i64, 2, 1, 2,
11364 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11365 2, 4, 3,
11366 22, MVT::i32,
11367 OPC_MoveSibling2,
11368 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11369 OPC_RecordNode,
11370 OPC_MoveParent,
11371 OPC_CheckPatternPredicate, 14,
11372 OPC_EmitMergeInputChains1_0,
11373 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11374 MVT::i32, 2, 1, 2,
11375 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11376 2, 4, 3,
11377 0,
11378 0,
11379 0,
11380 119|128,12, TARGET_VAL(ISD::SETCC),
11381 OPC_RecordChild0,
11382 OPC_Scope, 100|128,1,
11383 OPC_CheckChild0TypeI64,
11384 OPC_CheckTypeI64,
11385 OPC_Scope, 38,
11386 OPC_CheckChild1Integer, 0,
11387 OPC_Scope, 16,
11388 OPC_CheckChild2CondCode, ISD::SETEQ,
11389 OPC_MoveSibling2,
11390 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11391 OPC_RecordNode,
11392 OPC_MoveParent,
11393 OPC_CheckPatternPredicate7,
11394 OPC_EmitMergeInputChains1_0,
11395 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQZ),
11396 2, 1, 2,
11397 16,
11398 OPC_CheckChild2CondCode, ISD::SETNE,
11399 OPC_MoveSibling2,
11400 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11401 OPC_RecordNode,
11402 OPC_MoveParent,
11403 OPC_CheckPatternPredicate7,
11404 OPC_EmitMergeInputChains1_0,
11405 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
11406 2, 1, 2,
11407 0,
11408 55|128,1,
11409 OPC_RecordChild1,
11410 OPC_Scope, 17,
11411 OPC_CheckChild2CondCode, ISD::SETEQ,
11412 OPC_MoveSibling2,
11413 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11414 OPC_RecordNode,
11415 OPC_MoveParent,
11416 OPC_CheckPatternPredicate7,
11417 OPC_EmitMergeInputChains1_0,
11418 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
11419 3, 1, 2, 3,
11420 17,
11421 OPC_CheckChild2CondCode, ISD::SETNE,
11422 OPC_MoveSibling2,
11423 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11424 OPC_RecordNode,
11425 OPC_MoveParent,
11426 OPC_CheckPatternPredicate7,
11427 OPC_EmitMergeInputChains1_0,
11428 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
11429 3, 1, 2, 3,
11430 17,
11431 OPC_CheckChild2CondCode, ISD::SETLT,
11432 OPC_MoveSibling2,
11433 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11434 OPC_RecordNode,
11435 OPC_MoveParent,
11436 OPC_CheckPatternPredicate7,
11437 OPC_EmitMergeInputChains1_0,
11438 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11439 3, 1, 2, 3,
11440 17,
11441 OPC_CheckChild2CondCode, ISD::SETGE,
11442 OPC_MoveSibling2,
11443 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11444 OPC_RecordNode,
11445 OPC_MoveParent,
11446 OPC_CheckPatternPredicate7,
11447 OPC_EmitMergeInputChains1_0,
11448 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11449 3, 1, 2, 3,
11450 17,
11451 OPC_CheckChild2CondCode, ISD::SETULT,
11452 OPC_MoveSibling2,
11453 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11454 OPC_RecordNode,
11455 OPC_MoveParent,
11456 OPC_CheckPatternPredicate7,
11457 OPC_EmitMergeInputChains1_0,
11458 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11459 3, 1, 2, 3,
11460 17,
11461 OPC_CheckChild2CondCode, ISD::SETUGE,
11462 OPC_MoveSibling2,
11463 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11464 OPC_RecordNode,
11465 OPC_MoveParent,
11466 OPC_CheckPatternPredicate7,
11467 OPC_EmitMergeInputChains1_0,
11468 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11469 3, 1, 2, 3,
11470 17,
11471 OPC_CheckChild2CondCode, ISD::SETGT,
11472 OPC_MoveSibling2,
11473 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11474 OPC_RecordNode,
11475 OPC_MoveParent,
11476 OPC_CheckPatternPredicate7,
11477 OPC_EmitMergeInputChains1_0,
11478 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11479 3, 2, 1, 3,
11480 17,
11481 OPC_CheckChild2CondCode, ISD::SETLE,
11482 OPC_MoveSibling2,
11483 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11484 OPC_RecordNode,
11485 OPC_MoveParent,
11486 OPC_CheckPatternPredicate7,
11487 OPC_EmitMergeInputChains1_0,
11488 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11489 3, 2, 1, 3,
11490 17,
11491 OPC_CheckChild2CondCode, ISD::SETUGT,
11492 OPC_MoveSibling2,
11493 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11494 OPC_RecordNode,
11495 OPC_MoveParent,
11496 OPC_CheckPatternPredicate7,
11497 OPC_EmitMergeInputChains1_0,
11498 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11499 3, 2, 1, 3,
11500 17,
11501 OPC_CheckChild2CondCode, ISD::SETULE,
11502 OPC_MoveSibling2,
11503 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11504 OPC_RecordNode,
11505 OPC_MoveParent,
11506 OPC_CheckPatternPredicate7,
11507 OPC_EmitMergeInputChains1_0,
11508 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11509 3, 2, 1, 3,
11510 0,
11511 0,
11512 112|128,1,
11513 OPC_CheckChild0TypeI32,
11514 OPC_CheckTypeI32,
11515 OPC_Scope, 40,
11516 OPC_CheckChild1Integer, 0,
11517 OPC_Scope, 17,
11518 OPC_CheckChild2CondCode, ISD::SETEQ,
11519 OPC_MoveSibling2,
11520 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11521 OPC_RecordNode,
11522 OPC_MoveParent,
11523 OPC_CheckPatternPredicate, 8,
11524 OPC_EmitMergeInputChains1_0,
11525 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQZ),
11526 2, 1, 2,
11527 17,
11528 OPC_CheckChild2CondCode, ISD::SETNE,
11529 OPC_MoveSibling2,
11530 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11531 OPC_RecordNode,
11532 OPC_MoveParent,
11533 OPC_CheckPatternPredicate, 8,
11534 OPC_EmitMergeInputChains1_0,
11535 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
11536 2, 1, 2,
11537 0,
11538 65|128,1,
11539 OPC_RecordChild1,
11540 OPC_Scope, 18,
11541 OPC_CheckChild2CondCode, ISD::SETEQ,
11542 OPC_MoveSibling2,
11543 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11544 OPC_RecordNode,
11545 OPC_MoveParent,
11546 OPC_CheckPatternPredicate, 8,
11547 OPC_EmitMergeInputChains1_0,
11548 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
11549 3, 1, 2, 3,
11550 18,
11551 OPC_CheckChild2CondCode, ISD::SETNE,
11552 OPC_MoveSibling2,
11553 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11554 OPC_RecordNode,
11555 OPC_MoveParent,
11556 OPC_CheckPatternPredicate, 8,
11557 OPC_EmitMergeInputChains1_0,
11558 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
11559 3, 1, 2, 3,
11560 18,
11561 OPC_CheckChild2CondCode, ISD::SETLT,
11562 OPC_MoveSibling2,
11563 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11564 OPC_RecordNode,
11565 OPC_MoveParent,
11566 OPC_CheckPatternPredicate, 8,
11567 OPC_EmitMergeInputChains1_0,
11568 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11569 3, 1, 2, 3,
11570 18,
11571 OPC_CheckChild2CondCode, ISD::SETGE,
11572 OPC_MoveSibling2,
11573 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11574 OPC_RecordNode,
11575 OPC_MoveParent,
11576 OPC_CheckPatternPredicate, 8,
11577 OPC_EmitMergeInputChains1_0,
11578 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11579 3, 1, 2, 3,
11580 18,
11581 OPC_CheckChild2CondCode, ISD::SETULT,
11582 OPC_MoveSibling2,
11583 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11584 OPC_RecordNode,
11585 OPC_MoveParent,
11586 OPC_CheckPatternPredicate, 8,
11587 OPC_EmitMergeInputChains1_0,
11588 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11589 3, 1, 2, 3,
11590 18,
11591 OPC_CheckChild2CondCode, ISD::SETUGE,
11592 OPC_MoveSibling2,
11593 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11594 OPC_RecordNode,
11595 OPC_MoveParent,
11596 OPC_CheckPatternPredicate, 8,
11597 OPC_EmitMergeInputChains1_0,
11598 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11599 3, 1, 2, 3,
11600 18,
11601 OPC_CheckChild2CondCode, ISD::SETGT,
11602 OPC_MoveSibling2,
11603 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11604 OPC_RecordNode,
11605 OPC_MoveParent,
11606 OPC_CheckPatternPredicate, 8,
11607 OPC_EmitMergeInputChains1_0,
11608 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
11609 3, 2, 1, 3,
11610 18,
11611 OPC_CheckChild2CondCode, ISD::SETLE,
11612 OPC_MoveSibling2,
11613 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11614 OPC_RecordNode,
11615 OPC_MoveParent,
11616 OPC_CheckPatternPredicate, 8,
11617 OPC_EmitMergeInputChains1_0,
11618 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
11619 3, 2, 1, 3,
11620 18,
11621 OPC_CheckChild2CondCode, ISD::SETUGT,
11622 OPC_MoveSibling2,
11623 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11624 OPC_RecordNode,
11625 OPC_MoveParent,
11626 OPC_CheckPatternPredicate, 8,
11627 OPC_EmitMergeInputChains1_0,
11628 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
11629 3, 2, 1, 3,
11630 18,
11631 OPC_CheckChild2CondCode, ISD::SETULE,
11632 OPC_MoveSibling2,
11633 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11634 OPC_RecordNode,
11635 OPC_MoveParent,
11636 OPC_CheckPatternPredicate, 8,
11637 OPC_EmitMergeInputChains1_0,
11638 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
11639 3, 2, 1, 3,
11640 0,
11641 0,
11642 76|128,4,
11643 OPC_CheckChild0Type, MVT::f32,
11644 OPC_RecordChild1,
11645 OPC_Scope, 52,
11646 OPC_CheckChild2CondCode, ISD::SETOEQ,
11647 OPC_SwitchType , 22, MVT::i64,
11648 OPC_MoveSibling2,
11649 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11650 OPC_RecordNode,
11651 OPC_MoveParent,
11652 OPC_CheckPatternPredicate, 11,
11653 OPC_EmitMergeInputChains1_0,
11654 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
11655 MVT::i64, 2, 1, 2,
11656 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11657 2, 4, 3,
11658 22, MVT::i32,
11659 OPC_MoveSibling2,
11660 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11661 OPC_RecordNode,
11662 OPC_MoveParent,
11663 OPC_CheckPatternPredicate, 12,
11664 OPC_EmitMergeInputChains1_0,
11665 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
11666 MVT::i32, 2, 1, 2,
11667 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11668 2, 4, 3,
11669 0,
11670 52,
11671 OPC_CheckChild2CondCode, ISD::SETOLT,
11672 OPC_SwitchType , 22, MVT::i64,
11673 OPC_MoveSibling2,
11674 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11675 OPC_RecordNode,
11676 OPC_MoveParent,
11677 OPC_CheckPatternPredicate, 11,
11678 OPC_EmitMergeInputChains1_0,
11679 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11680 MVT::i64, 2, 1, 2,
11681 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11682 2, 4, 3,
11683 22, MVT::i32,
11684 OPC_MoveSibling2,
11685 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11686 OPC_RecordNode,
11687 OPC_MoveParent,
11688 OPC_CheckPatternPredicate, 12,
11689 OPC_EmitMergeInputChains1_0,
11690 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11691 MVT::i32, 2, 1, 2,
11692 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11693 2, 4, 3,
11694 0,
11695 52,
11696 OPC_CheckChild2CondCode, ISD::SETOLE,
11697 OPC_SwitchType , 22, MVT::i64,
11698 OPC_MoveSibling2,
11699 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11700 OPC_RecordNode,
11701 OPC_MoveParent,
11702 OPC_CheckPatternPredicate, 11,
11703 OPC_EmitMergeInputChains1_0,
11704 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
11705 MVT::i64, 2, 1, 2,
11706 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11707 2, 4, 3,
11708 22, MVT::i32,
11709 OPC_MoveSibling2,
11710 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11711 OPC_RecordNode,
11712 OPC_MoveParent,
11713 OPC_CheckPatternPredicate, 12,
11714 OPC_EmitMergeInputChains1_0,
11715 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
11716 MVT::i32, 2, 1, 2,
11717 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11718 2, 4, 3,
11719 0,
11720 52,
11721 OPC_CheckChild2CondCode, ISD::SETONE,
11722 OPC_SwitchType , 22, MVT::i64,
11723 OPC_MoveSibling2,
11724 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11725 OPC_RecordNode,
11726 OPC_MoveParent,
11727 OPC_CheckPatternPredicate, 11,
11728 OPC_EmitMergeInputChains1_0,
11729 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
11730 MVT::i64, 2, 1, 2,
11731 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11732 2, 4, 3,
11733 22, MVT::i32,
11734 OPC_MoveSibling2,
11735 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11736 OPC_RecordNode,
11737 OPC_MoveParent,
11738 OPC_CheckPatternPredicate, 12,
11739 OPC_EmitMergeInputChains1_0,
11740 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
11741 MVT::i32, 2, 1, 2,
11742 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11743 2, 4, 3,
11744 0,
11745 52,
11746 OPC_CheckChild2CondCode, ISD::SETO,
11747 OPC_SwitchType , 22, MVT::i64,
11748 OPC_MoveSibling2,
11749 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11750 OPC_RecordNode,
11751 OPC_MoveParent,
11752 OPC_CheckPatternPredicate, 11,
11753 OPC_EmitMergeInputChains1_0,
11754 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
11755 MVT::i64, 2, 1, 2,
11756 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11757 2, 4, 3,
11758 22, MVT::i32,
11759 OPC_MoveSibling2,
11760 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11761 OPC_RecordNode,
11762 OPC_MoveParent,
11763 OPC_CheckPatternPredicate, 12,
11764 OPC_EmitMergeInputChains1_0,
11765 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
11766 MVT::i32, 2, 1, 2,
11767 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11768 2, 4, 3,
11769 0,
11770 52,
11771 OPC_CheckChild2CondCode, ISD::SETUEQ,
11772 OPC_SwitchType , 22, MVT::i64,
11773 OPC_MoveSibling2,
11774 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11775 OPC_RecordNode,
11776 OPC_MoveParent,
11777 OPC_CheckPatternPredicate, 11,
11778 OPC_EmitMergeInputChains1_0,
11779 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
11780 MVT::i64, 2, 1, 2,
11781 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11782 2, 4, 3,
11783 22, MVT::i32,
11784 OPC_MoveSibling2,
11785 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11786 OPC_RecordNode,
11787 OPC_MoveParent,
11788 OPC_CheckPatternPredicate, 12,
11789 OPC_EmitMergeInputChains1_0,
11790 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
11791 MVT::i32, 2, 1, 2,
11792 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11793 2, 4, 3,
11794 0,
11795 52,
11796 OPC_CheckChild2CondCode, ISD::SETULT,
11797 OPC_SwitchType , 22, MVT::i64,
11798 OPC_MoveSibling2,
11799 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11800 OPC_RecordNode,
11801 OPC_MoveParent,
11802 OPC_CheckPatternPredicate, 11,
11803 OPC_EmitMergeInputChains1_0,
11804 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
11805 MVT::i64, 2, 1, 2,
11806 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11807 2, 4, 3,
11808 22, MVT::i32,
11809 OPC_MoveSibling2,
11810 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11811 OPC_RecordNode,
11812 OPC_MoveParent,
11813 OPC_CheckPatternPredicate, 12,
11814 OPC_EmitMergeInputChains1_0,
11815 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
11816 MVT::i32, 2, 1, 2,
11817 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11818 2, 4, 3,
11819 0,
11820 52,
11821 OPC_CheckChild2CondCode, ISD::SETULE,
11822 OPC_SwitchType , 22, MVT::i64,
11823 OPC_MoveSibling2,
11824 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11825 OPC_RecordNode,
11826 OPC_MoveParent,
11827 OPC_CheckPatternPredicate, 11,
11828 OPC_EmitMergeInputChains1_0,
11829 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
11830 MVT::i64, 2, 1, 2,
11831 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11832 2, 4, 3,
11833 22, MVT::i32,
11834 OPC_MoveSibling2,
11835 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11836 OPC_RecordNode,
11837 OPC_MoveParent,
11838 OPC_CheckPatternPredicate, 12,
11839 OPC_EmitMergeInputChains1_0,
11840 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
11841 MVT::i32, 2, 1, 2,
11842 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11843 2, 4, 3,
11844 0,
11845 52,
11846 OPC_CheckChild2CondCode, ISD::SETUNE,
11847 OPC_SwitchType , 22, MVT::i64,
11848 OPC_MoveSibling2,
11849 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11850 OPC_RecordNode,
11851 OPC_MoveParent,
11852 OPC_CheckPatternPredicate, 11,
11853 OPC_EmitMergeInputChains1_0,
11854 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
11855 MVT::i64, 2, 1, 2,
11856 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11857 2, 4, 3,
11858 22, MVT::i32,
11859 OPC_MoveSibling2,
11860 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11861 OPC_RecordNode,
11862 OPC_MoveParent,
11863 OPC_CheckPatternPredicate, 12,
11864 OPC_EmitMergeInputChains1_0,
11865 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
11866 MVT::i32, 2, 1, 2,
11867 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11868 2, 4, 3,
11869 0,
11870 52,
11871 OPC_CheckChild2CondCode, ISD::SETUO,
11872 OPC_SwitchType , 22, MVT::i64,
11873 OPC_MoveSibling2,
11874 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11875 OPC_RecordNode,
11876 OPC_MoveParent,
11877 OPC_CheckPatternPredicate, 11,
11878 OPC_EmitMergeInputChains1_0,
11879 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11880 MVT::i64, 2, 1, 2,
11881 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11882 2, 4, 3,
11883 22, MVT::i32,
11884 OPC_MoveSibling2,
11885 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11886 OPC_RecordNode,
11887 OPC_MoveParent,
11888 OPC_CheckPatternPredicate, 12,
11889 OPC_EmitMergeInputChains1_0,
11890 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
11891 MVT::i32, 2, 1, 2,
11892 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11893 2, 4, 3,
11894 0,
11895 52,
11896 OPC_CheckChild2CondCode, ISD::SETLT,
11897 OPC_SwitchType , 22, MVT::i64,
11898 OPC_MoveSibling2,
11899 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11900 OPC_RecordNode,
11901 OPC_MoveParent,
11902 OPC_CheckPatternPredicate, 11,
11903 OPC_EmitMergeInputChains1_0,
11904 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11905 MVT::i64, 2, 1, 2,
11906 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11907 2, 4, 3,
11908 22, MVT::i32,
11909 OPC_MoveSibling2,
11910 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11911 OPC_RecordNode,
11912 OPC_MoveParent,
11913 OPC_CheckPatternPredicate, 12,
11914 OPC_EmitMergeInputChains1_0,
11915 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
11916 MVT::i32, 2, 1, 2,
11917 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11918 2, 4, 3,
11919 0,
11920 0,
11921 76|128,4,
11922 OPC_CheckChild0Type, MVT::f64,
11923 OPC_RecordChild1,
11924 OPC_Scope, 52,
11925 OPC_CheckChild2CondCode, ISD::SETOEQ,
11926 OPC_SwitchType , 22, MVT::i64,
11927 OPC_MoveSibling2,
11928 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11929 OPC_RecordNode,
11930 OPC_MoveParent,
11931 OPC_CheckPatternPredicate, 13,
11932 OPC_EmitMergeInputChains1_0,
11933 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11934 MVT::i64, 2, 1, 2,
11935 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11936 2, 4, 3,
11937 22, MVT::i32,
11938 OPC_MoveSibling2,
11939 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11940 OPC_RecordNode,
11941 OPC_MoveParent,
11942 OPC_CheckPatternPredicate, 14,
11943 OPC_EmitMergeInputChains1_0,
11944 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
11945 MVT::i32, 2, 1, 2,
11946 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11947 2, 4, 3,
11948 0,
11949 52,
11950 OPC_CheckChild2CondCode, ISD::SETOLT,
11951 OPC_SwitchType , 22, MVT::i64,
11952 OPC_MoveSibling2,
11953 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11954 OPC_RecordNode,
11955 OPC_MoveParent,
11956 OPC_CheckPatternPredicate, 13,
11957 OPC_EmitMergeInputChains1_0,
11958 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11959 MVT::i64, 2, 1, 2,
11960 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11961 2, 4, 3,
11962 22, MVT::i32,
11963 OPC_MoveSibling2,
11964 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11965 OPC_RecordNode,
11966 OPC_MoveParent,
11967 OPC_CheckPatternPredicate, 14,
11968 OPC_EmitMergeInputChains1_0,
11969 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
11970 MVT::i32, 2, 1, 2,
11971 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11972 2, 4, 3,
11973 0,
11974 52,
11975 OPC_CheckChild2CondCode, ISD::SETOLE,
11976 OPC_SwitchType , 22, MVT::i64,
11977 OPC_MoveSibling2,
11978 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11979 OPC_RecordNode,
11980 OPC_MoveParent,
11981 OPC_CheckPatternPredicate, 13,
11982 OPC_EmitMergeInputChains1_0,
11983 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
11984 MVT::i64, 2, 1, 2,
11985 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11986 2, 4, 3,
11987 22, MVT::i32,
11988 OPC_MoveSibling2,
11989 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11990 OPC_RecordNode,
11991 OPC_MoveParent,
11992 OPC_CheckPatternPredicate, 14,
11993 OPC_EmitMergeInputChains1_0,
11994 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
11995 MVT::i32, 2, 1, 2,
11996 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11997 2, 4, 3,
11998 0,
11999 52,
12000 OPC_CheckChild2CondCode, ISD::SETONE,
12001 OPC_SwitchType , 22, MVT::i64,
12002 OPC_MoveSibling2,
12003 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12004 OPC_RecordNode,
12005 OPC_MoveParent,
12006 OPC_CheckPatternPredicate, 13,
12007 OPC_EmitMergeInputChains1_0,
12008 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
12009 MVT::i64, 2, 1, 2,
12010 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12011 2, 4, 3,
12012 22, MVT::i32,
12013 OPC_MoveSibling2,
12014 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12015 OPC_RecordNode,
12016 OPC_MoveParent,
12017 OPC_CheckPatternPredicate, 14,
12018 OPC_EmitMergeInputChains1_0,
12019 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
12020 MVT::i32, 2, 1, 2,
12021 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12022 2, 4, 3,
12023 0,
12024 52,
12025 OPC_CheckChild2CondCode, ISD::SETO,
12026 OPC_SwitchType , 22, MVT::i64,
12027 OPC_MoveSibling2,
12028 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12029 OPC_RecordNode,
12030 OPC_MoveParent,
12031 OPC_CheckPatternPredicate, 13,
12032 OPC_EmitMergeInputChains1_0,
12033 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
12034 MVT::i64, 2, 1, 2,
12035 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12036 2, 4, 3,
12037 22, MVT::i32,
12038 OPC_MoveSibling2,
12039 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12040 OPC_RecordNode,
12041 OPC_MoveParent,
12042 OPC_CheckPatternPredicate, 14,
12043 OPC_EmitMergeInputChains1_0,
12044 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
12045 MVT::i32, 2, 1, 2,
12046 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12047 2, 4, 3,
12048 0,
12049 52,
12050 OPC_CheckChild2CondCode, ISD::SETUEQ,
12051 OPC_SwitchType , 22, MVT::i64,
12052 OPC_MoveSibling2,
12053 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12054 OPC_RecordNode,
12055 OPC_MoveParent,
12056 OPC_CheckPatternPredicate, 13,
12057 OPC_EmitMergeInputChains1_0,
12058 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
12059 MVT::i64, 2, 1, 2,
12060 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12061 2, 4, 3,
12062 22, MVT::i32,
12063 OPC_MoveSibling2,
12064 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12065 OPC_RecordNode,
12066 OPC_MoveParent,
12067 OPC_CheckPatternPredicate, 14,
12068 OPC_EmitMergeInputChains1_0,
12069 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
12070 MVT::i32, 2, 1, 2,
12071 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12072 2, 4, 3,
12073 0,
12074 52,
12075 OPC_CheckChild2CondCode, ISD::SETULT,
12076 OPC_SwitchType , 22, MVT::i64,
12077 OPC_MoveSibling2,
12078 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12079 OPC_RecordNode,
12080 OPC_MoveParent,
12081 OPC_CheckPatternPredicate, 13,
12082 OPC_EmitMergeInputChains1_0,
12083 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
12084 MVT::i64, 2, 1, 2,
12085 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12086 2, 4, 3,
12087 22, MVT::i32,
12088 OPC_MoveSibling2,
12089 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12090 OPC_RecordNode,
12091 OPC_MoveParent,
12092 OPC_CheckPatternPredicate, 14,
12093 OPC_EmitMergeInputChains1_0,
12094 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
12095 MVT::i32, 2, 1, 2,
12096 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12097 2, 4, 3,
12098 0,
12099 52,
12100 OPC_CheckChild2CondCode, ISD::SETULE,
12101 OPC_SwitchType , 22, MVT::i64,
12102 OPC_MoveSibling2,
12103 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12104 OPC_RecordNode,
12105 OPC_MoveParent,
12106 OPC_CheckPatternPredicate, 13,
12107 OPC_EmitMergeInputChains1_0,
12108 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
12109 MVT::i64, 2, 1, 2,
12110 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12111 2, 4, 3,
12112 22, MVT::i32,
12113 OPC_MoveSibling2,
12114 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12115 OPC_RecordNode,
12116 OPC_MoveParent,
12117 OPC_CheckPatternPredicate, 14,
12118 OPC_EmitMergeInputChains1_0,
12119 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
12120 MVT::i32, 2, 1, 2,
12121 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12122 2, 4, 3,
12123 0,
12124 52,
12125 OPC_CheckChild2CondCode, ISD::SETUNE,
12126 OPC_SwitchType , 22, MVT::i64,
12127 OPC_MoveSibling2,
12128 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12129 OPC_RecordNode,
12130 OPC_MoveParent,
12131 OPC_CheckPatternPredicate, 13,
12132 OPC_EmitMergeInputChains1_0,
12133 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
12134 MVT::i64, 2, 1, 2,
12135 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12136 2, 4, 3,
12137 22, MVT::i32,
12138 OPC_MoveSibling2,
12139 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12140 OPC_RecordNode,
12141 OPC_MoveParent,
12142 OPC_CheckPatternPredicate, 14,
12143 OPC_EmitMergeInputChains1_0,
12144 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
12145 MVT::i32, 2, 1, 2,
12146 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12147 2, 4, 3,
12148 0,
12149 52,
12150 OPC_CheckChild2CondCode, ISD::SETUO,
12151 OPC_SwitchType , 22, MVT::i64,
12152 OPC_MoveSibling2,
12153 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12154 OPC_RecordNode,
12155 OPC_MoveParent,
12156 OPC_CheckPatternPredicate, 13,
12157 OPC_EmitMergeInputChains1_0,
12158 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
12159 MVT::i64, 2, 1, 2,
12160 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12161 2, 4, 3,
12162 22, MVT::i32,
12163 OPC_MoveSibling2,
12164 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12165 OPC_RecordNode,
12166 OPC_MoveParent,
12167 OPC_CheckPatternPredicate, 14,
12168 OPC_EmitMergeInputChains1_0,
12169 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
12170 MVT::i32, 2, 1, 2,
12171 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12172 2, 4, 3,
12173 0,
12174 52,
12175 OPC_CheckChild2CondCode, ISD::SETLT,
12176 OPC_SwitchType , 22, MVT::i64,
12177 OPC_MoveSibling2,
12178 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12179 OPC_RecordNode,
12180 OPC_MoveParent,
12181 OPC_CheckPatternPredicate, 13,
12182 OPC_EmitMergeInputChains1_0,
12183 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
12184 MVT::i64, 2, 1, 2,
12185 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12186 2, 4, 3,
12187 22, MVT::i32,
12188 OPC_MoveSibling2,
12189 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12190 OPC_RecordNode,
12191 OPC_MoveParent,
12192 OPC_CheckPatternPredicate, 14,
12193 OPC_EmitMergeInputChains1_0,
12194 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
12195 MVT::i32, 2, 1, 2,
12196 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
12197 2, 4, 3,
12198 0,
12199 0,
12200 0,
12201 0,
12202 36,
12203 OPC_RecordChild1,
12204 OPC_Scope, 15,
12205 OPC_CheckChild1TypeI64,
12206 OPC_RecordChild2,
12207 OPC_MoveChild2,
12208 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12209 OPC_MoveParent,
12210 OPC_CheckPatternPredicate7,
12211 OPC_EmitMergeInputChains1_0,
12212 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
12213 2, 1, 2,
12214 16,
12215 OPC_CheckChild1TypeI32,
12216 OPC_RecordChild2,
12217 OPC_MoveChild2,
12218 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
12219 OPC_MoveParent,
12220 OPC_CheckPatternPredicate, 8,
12221 OPC_EmitMergeInputChains1_0,
12222 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
12223 2, 1, 2,
12224 0,
12225 0,
12226 124|128,30, TARGET_VAL(ISD::XOR),
12227 OPC_Scope, 32,
12228 OPC_MoveChild0,
12229 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
12230 OPC_RecordChild0,
12231 OPC_RecordChild1,
12232 OPC_MoveParent,
12233 OPC_CheckChild1Integer, 3,
12234 OPC_SwitchType , 8, MVT::i64,
12235 OPC_CheckPatternPredicate7,
12236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12237 MVT::i64, 2, 0, 1,
12238 9, MVT::i32,
12239 OPC_CheckPatternPredicate, 8,
12240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12241 MVT::i32, 2, 0, 1,
12242 0,
12243 60|128,1,
12244 OPC_RecordChild0,
12245 OPC_Scope, 29,
12246 OPC_CheckChild1Integer, 3,
12247 OPC_SwitchType , 10, MVT::i64,
12248 OPC_CheckPatternPredicate7,
12249 OPC_EmitRegisterI64, LoongArch::R0,
12250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12251 MVT::i64, 2, 0, 1,
12252 11, MVT::i32,
12253 OPC_CheckPatternPredicate, 8,
12254 OPC_EmitRegisterI32, LoongArch::R0,
12255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::NOR),
12256 MVT::i32, 2, 0, 1,
12257 0,
12258 57,
12259 OPC_RecordChild1,
12260 OPC_Scope, 32,
12261 OPC_MoveChild1,
12262 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12263 OPC_CheckPredicate, 41,
12264 OPC_MoveParent,
12265 OPC_SwitchType , 9, MVT::i64,
12266 OPC_CheckPatternPredicate7,
12267 OPC_EmitConvertToTarget1,
12268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
12269 MVT::i64, 2, 0, 2,
12270 10, MVT::i32,
12271 OPC_CheckPatternPredicate, 8,
12272 OPC_EmitConvertToTarget1,
12273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
12274 MVT::i32, 2, 0, 2,
12275 0,
12276 9,
12277 OPC_CheckTypeI64,
12278 OPC_CheckPatternPredicate7,
12279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XOR),
12280 MVT::i64, 2, 0, 1,
12281 10,
12282 OPC_CheckTypeI32,
12283 OPC_CheckPatternPredicate, 8,
12284 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XOR),
12285 MVT::i32, 2, 0, 1,
12286 0,
12287 96,
12288 OPC_MoveChild1,
12289 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12290 OPC_MoveChild0,
12291 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12292 OPC_MoveChild0,
12293 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12294 OPC_CheckType, MVT::v4i32,
12295 OPC_MoveParent,
12296 OPC_CheckPredicate0,
12297 OPC_MoveSibling1,
12298 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12299 OPC_Scope, 44,
12300 OPC_RecordChild0,
12301 OPC_MoveChild1,
12302 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12303 OPC_MoveChild0,
12304 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12305 OPC_CheckType, MVT::v4i32,
12306 OPC_MoveParent,
12307 OPC_CheckPredicate3,
12308 OPC_MoveParent,
12309 OPC_SwitchType , 12, MVT::v2i64,
12310 OPC_MoveParent,
12311 OPC_MoveParent,
12312 OPC_CheckType, MVT::v2i64,
12313 OPC_CheckPatternPredicate1,
12314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12315 MVT::v2i64, 2, 0, 1,
12316 12, MVT::v4i64,
12317 OPC_MoveParent,
12318 OPC_MoveParent,
12319 OPC_CheckType, MVT::v4i64,
12320 OPC_CheckPatternPredicate0,
12321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12322 MVT::v4i64, 2, 0, 1,
12323 0,
12324 28,
12325 OPC_MoveChild0,
12326 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12327 OPC_MoveChild0,
12328 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12329 OPC_CheckType, MVT::v4i32,
12330 OPC_MoveParent,
12331 OPC_CheckPredicate3,
12332 OPC_MoveParent,
12333 OPC_RecordChild1,
12334 OPC_CheckType, MVT::v2i64,
12335 OPC_MoveParent,
12336 OPC_MoveParent,
12337 OPC_CheckType, MVT::v2i64,
12338 OPC_CheckPatternPredicate1,
12339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12340 MVT::v2i64, 2, 0, 1,
12341 0,
12342 0,
12343 82,
12344 OPC_MoveChild0,
12345 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12346 OPC_MoveChild0,
12347 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12348 OPC_MoveChild0,
12349 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12350 OPC_CheckType, MVT::v4i32,
12351 OPC_MoveParent,
12352 OPC_CheckPredicate0,
12353 OPC_MoveSibling1,
12354 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12355 OPC_Scope, 29,
12356 OPC_RecordChild0,
12357 OPC_MoveChild1,
12358 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12359 OPC_MoveChild0,
12360 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12361 OPC_CheckType, MVT::v4i32,
12362 OPC_MoveParent,
12363 OPC_CheckPredicate3,
12364 OPC_MoveParent,
12365 OPC_CheckType, MVT::v2i64,
12366 OPC_MoveParent,
12367 OPC_MoveParent,
12368 OPC_RecordChild1,
12369 OPC_CheckType, MVT::v2i64,
12370 OPC_CheckPatternPredicate1,
12371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12372 MVT::v2i64, 2, 1, 0,
12373 29,
12374 OPC_MoveChild0,
12375 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12376 OPC_MoveChild0,
12377 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12378 OPC_CheckType, MVT::v4i32,
12379 OPC_MoveParent,
12380 OPC_CheckPredicate3,
12381 OPC_MoveParent,
12382 OPC_RecordChild1,
12383 OPC_CheckType, MVT::v2i64,
12384 OPC_MoveParent,
12385 OPC_MoveParent,
12386 OPC_RecordChild1,
12387 OPC_CheckType, MVT::v2i64,
12388 OPC_CheckPatternPredicate1,
12389 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12390 MVT::v2i64, 2, 1, 0,
12391 0,
12392 49,
12393 OPC_RecordChild0,
12394 OPC_MoveChild1,
12395 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12396 OPC_MoveChild0,
12397 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12398 OPC_MoveChild0,
12399 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12400 OPC_CheckType, MVT::v4i32,
12401 OPC_MoveParent,
12402 OPC_CheckPredicate0,
12403 OPC_MoveSibling1,
12404 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12405 OPC_MoveChild0,
12406 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12407 OPC_MoveChild0,
12408 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12409 OPC_CheckType, MVT::v4i32,
12410 OPC_MoveParent,
12411 OPC_CheckPredicate3,
12412 OPC_MoveParent,
12413 OPC_RecordChild1,
12414 OPC_CheckType, MVT::v4i64,
12415 OPC_MoveParent,
12416 OPC_MoveParent,
12417 OPC_CheckType, MVT::v4i64,
12418 OPC_CheckPatternPredicate0,
12419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12420 MVT::v4i64, 2, 0, 1,
12421 82,
12422 OPC_MoveChild0,
12423 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12424 OPC_MoveChild0,
12425 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12426 OPC_MoveChild0,
12427 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12428 OPC_CheckType, MVT::v4i32,
12429 OPC_MoveParent,
12430 OPC_CheckPredicate0,
12431 OPC_MoveSibling1,
12432 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12433 OPC_Scope, 29,
12434 OPC_RecordChild0,
12435 OPC_MoveChild1,
12436 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12437 OPC_MoveChild0,
12438 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12439 OPC_CheckType, MVT::v4i32,
12440 OPC_MoveParent,
12441 OPC_CheckPredicate3,
12442 OPC_MoveParent,
12443 OPC_CheckType, MVT::v4i64,
12444 OPC_MoveParent,
12445 OPC_MoveParent,
12446 OPC_RecordChild1,
12447 OPC_CheckType, MVT::v4i64,
12448 OPC_CheckPatternPredicate0,
12449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12450 MVT::v4i64, 2, 1, 0,
12451 29,
12452 OPC_MoveChild0,
12453 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12454 OPC_MoveChild0,
12455 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12456 OPC_CheckType, MVT::v4i32,
12457 OPC_MoveParent,
12458 OPC_CheckPredicate3,
12459 OPC_MoveParent,
12460 OPC_RecordChild1,
12461 OPC_CheckType, MVT::v4i64,
12462 OPC_MoveParent,
12463 OPC_MoveParent,
12464 OPC_RecordChild1,
12465 OPC_CheckType, MVT::v4i64,
12466 OPC_CheckPatternPredicate0,
12467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12468 MVT::v4i64, 2, 1, 0,
12469 0,
12470 103|128,1,
12471 OPC_RecordChild0,
12472 OPC_MoveChild1,
12473 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12474 OPC_MoveChild0,
12475 OPC_SwitchOpcode , 39|128,1, TARGET_VAL(ISD::BITCAST),
12476 OPC_MoveChild0,
12477 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12478 OPC_CheckType, MVT::v4i32,
12479 OPC_MoveParent,
12480 OPC_CheckPredicate0,
12481 OPC_MoveSibling1,
12482 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12483 OPC_Scope, 1|128,1,
12484 OPC_RecordChild0,
12485 OPC_MoveChild1,
12486 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12487 OPC_Scope, 16,
12488 OPC_CheckPredicate7,
12489 OPC_MoveParent,
12490 OPC_CheckType, MVT::v16i8,
12491 OPC_MoveParent,
12492 OPC_MoveParent,
12493 OPC_CheckType, MVT::v16i8,
12494 OPC_CheckPatternPredicate1,
12495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12496 MVT::v16i8, 2, 0, 1,
12497 17,
12498 OPC_CheckPredicate, 8,
12499 OPC_MoveParent,
12500 OPC_CheckType, MVT::v8i16,
12501 OPC_MoveParent,
12502 OPC_MoveParent,
12503 OPC_CheckType, MVT::v8i16,
12504 OPC_CheckPatternPredicate1,
12505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12506 MVT::v8i16, 2, 0, 1,
12507 16,
12508 OPC_CheckPredicate3,
12509 OPC_MoveParent,
12510 OPC_CheckType, MVT::v2i64,
12511 OPC_MoveParent,
12512 OPC_MoveParent,
12513 OPC_CheckType, MVT::v2i64,
12514 OPC_CheckPatternPredicate1,
12515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12516 MVT::v2i64, 2, 0, 1,
12517 16,
12518 OPC_CheckPredicate7,
12519 OPC_MoveParent,
12520 OPC_CheckType, MVT::v32i8,
12521 OPC_MoveParent,
12522 OPC_MoveParent,
12523 OPC_CheckType, MVT::v32i8,
12524 OPC_CheckPatternPredicate0,
12525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12526 MVT::v32i8, 2, 0, 1,
12527 17,
12528 OPC_CheckPredicate, 8,
12529 OPC_MoveParent,
12530 OPC_CheckType, MVT::v16i16,
12531 OPC_MoveParent,
12532 OPC_MoveParent,
12533 OPC_CheckType, MVT::v16i16,
12534 OPC_CheckPatternPredicate0,
12535 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12536 MVT::v16i16, 2, 0, 1,
12537 17,
12538 OPC_CheckPredicate, 9,
12539 OPC_MoveParent,
12540 OPC_CheckType, MVT::v8i32,
12541 OPC_MoveParent,
12542 OPC_MoveParent,
12543 OPC_CheckType, MVT::v8i32,
12544 OPC_CheckPatternPredicate0,
12545 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
12546 MVT::v8i32, 2, 0, 1,
12547 16,
12548 OPC_CheckPredicate3,
12549 OPC_MoveParent,
12550 OPC_CheckType, MVT::v4i64,
12551 OPC_MoveParent,
12552 OPC_MoveParent,
12553 OPC_CheckType, MVT::v4i64,
12554 OPC_CheckPatternPredicate0,
12555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12556 MVT::v4i64, 2, 0, 1,
12557 0,
12558 21,
12559 OPC_MoveChild0,
12560 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12561 OPC_CheckPredicate7,
12562 OPC_MoveParent,
12563 OPC_RecordChild1,
12564 OPC_CheckType, MVT::v16i8,
12565 OPC_MoveParent,
12566 OPC_MoveParent,
12567 OPC_CheckType, MVT::v16i8,
12568 OPC_CheckPatternPredicate1,
12569 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12570 MVT::v16i8, 2, 0, 1,
12571 0,
12572 49, TARGET_VAL(ISD::BUILD_VECTOR),
12573 OPC_CheckPredicate0,
12574 OPC_MoveSibling1,
12575 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12576 OPC_RecordChild0,
12577 OPC_MoveChild1,
12578 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12579 OPC_MoveChild0,
12580 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12581 OPC_CheckType, MVT::v4i32,
12582 OPC_MoveParent,
12583 OPC_CheckPredicate3,
12584 OPC_MoveParent,
12585 OPC_SwitchType , 12, MVT::v2i64,
12586 OPC_MoveParent,
12587 OPC_MoveParent,
12588 OPC_CheckType, MVT::v2i64,
12589 OPC_CheckPatternPredicate1,
12590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12591 MVT::v2i64, 2, 0, 1,
12592 12, MVT::v4i64,
12593 OPC_MoveParent,
12594 OPC_MoveParent,
12595 OPC_CheckType, MVT::v4i64,
12596 OPC_CheckPatternPredicate0,
12597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12598 MVT::v4i64, 2, 0, 1,
12599 0,
12600 0,
12601 68,
12602 OPC_MoveChild0,
12603 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12604 OPC_MoveChild0,
12605 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12606 OPC_MoveChild0,
12607 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12608 OPC_CheckType, MVT::v4i32,
12609 OPC_MoveParent,
12610 OPC_CheckPredicate0,
12611 OPC_MoveSibling1,
12612 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12613 OPC_Scope, 22,
12614 OPC_RecordChild0,
12615 OPC_MoveChild1,
12616 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12617 OPC_CheckPredicate7,
12618 OPC_MoveParent,
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 22,
12628 OPC_MoveChild0,
12629 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12630 OPC_CheckPredicate7,
12631 OPC_MoveParent,
12632 OPC_RecordChild1,
12633 OPC_CheckType, MVT::v16i8,
12634 OPC_MoveParent,
12635 OPC_MoveParent,
12636 OPC_RecordChild1,
12637 OPC_CheckType, MVT::v16i8,
12638 OPC_CheckPatternPredicate1,
12639 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12640 MVT::v16i8, 2, 1, 0,
12641 0,
12642 43,
12643 OPC_RecordChild0,
12644 OPC_MoveChild1,
12645 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12646 OPC_MoveChild0,
12647 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12648 OPC_MoveChild0,
12649 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12650 OPC_CheckType, MVT::v4i32,
12651 OPC_MoveParent,
12652 OPC_CheckPredicate0,
12653 OPC_MoveSibling1,
12654 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12655 OPC_MoveChild0,
12656 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12657 OPC_CheckPredicate, 8,
12658 OPC_MoveParent,
12659 OPC_RecordChild1,
12660 OPC_CheckType, MVT::v8i16,
12661 OPC_MoveParent,
12662 OPC_MoveParent,
12663 OPC_CheckType, MVT::v8i16,
12664 OPC_CheckPatternPredicate1,
12665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12666 MVT::v8i16, 2, 0, 1,
12667 70,
12668 OPC_MoveChild0,
12669 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12670 OPC_MoveChild0,
12671 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12672 OPC_MoveChild0,
12673 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12674 OPC_CheckType, MVT::v4i32,
12675 OPC_MoveParent,
12676 OPC_CheckPredicate0,
12677 OPC_MoveSibling1,
12678 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12679 OPC_Scope, 23,
12680 OPC_RecordChild0,
12681 OPC_MoveChild1,
12682 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12683 OPC_CheckPredicate, 8,
12684 OPC_MoveParent,
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 23,
12694 OPC_MoveChild0,
12695 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12696 OPC_CheckPredicate, 8,
12697 OPC_MoveParent,
12698 OPC_RecordChild1,
12699 OPC_CheckType, MVT::v8i16,
12700 OPC_MoveParent,
12701 OPC_MoveParent,
12702 OPC_RecordChild1,
12703 OPC_CheckType, MVT::v8i16,
12704 OPC_CheckPatternPredicate1,
12705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12706 MVT::v8i16, 2, 1, 0,
12707 0,
12708 42,
12709 OPC_RecordChild0,
12710 OPC_MoveChild1,
12711 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12712 OPC_MoveChild0,
12713 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12714 OPC_CheckPredicate0,
12715 OPC_MoveSibling1,
12716 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12717 OPC_MoveChild0,
12718 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12719 OPC_MoveChild0,
12720 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12721 OPC_CheckType, MVT::v4i32,
12722 OPC_MoveParent,
12723 OPC_CheckPredicate3,
12724 OPC_MoveParent,
12725 OPC_RecordChild1,
12726 OPC_CheckType, MVT::v2i64,
12727 OPC_MoveParent,
12728 OPC_MoveParent,
12729 OPC_CheckType, MVT::v2i64,
12730 OPC_CheckPatternPredicate1,
12731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12732 MVT::v2i64, 2, 0, 1,
12733 75,
12734 OPC_MoveChild0,
12735 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12736 OPC_MoveChild0,
12737 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12738 OPC_CheckPredicate0,
12739 OPC_MoveSibling1,
12740 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12741 OPC_Scope, 29,
12742 OPC_RecordChild0,
12743 OPC_MoveChild1,
12744 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12745 OPC_MoveChild0,
12746 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12747 OPC_CheckType, MVT::v4i32,
12748 OPC_MoveParent,
12749 OPC_CheckPredicate3,
12750 OPC_MoveParent,
12751 OPC_CheckType, MVT::v2i64,
12752 OPC_MoveParent,
12753 OPC_MoveParent,
12754 OPC_RecordChild1,
12755 OPC_CheckType, MVT::v2i64,
12756 OPC_CheckPatternPredicate1,
12757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12758 MVT::v2i64, 2, 1, 0,
12759 29,
12760 OPC_MoveChild0,
12761 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12762 OPC_MoveChild0,
12763 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12764 OPC_CheckType, MVT::v4i32,
12765 OPC_MoveParent,
12766 OPC_CheckPredicate3,
12767 OPC_MoveParent,
12768 OPC_RecordChild1,
12769 OPC_CheckType, MVT::v2i64,
12770 OPC_MoveParent,
12771 OPC_MoveParent,
12772 OPC_RecordChild1,
12773 OPC_CheckType, MVT::v2i64,
12774 OPC_CheckPatternPredicate1,
12775 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12776 MVT::v2i64, 2, 1, 0,
12777 0,
12778 42,
12779 OPC_RecordChild0,
12780 OPC_MoveChild1,
12781 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12782 OPC_MoveChild0,
12783 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12784 OPC_MoveChild0,
12785 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12786 OPC_CheckType, MVT::v4i32,
12787 OPC_MoveParent,
12788 OPC_CheckPredicate0,
12789 OPC_MoveSibling1,
12790 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12791 OPC_MoveChild0,
12792 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12793 OPC_CheckPredicate3,
12794 OPC_MoveParent,
12795 OPC_RecordChild1,
12796 OPC_CheckType, MVT::v2i64,
12797 OPC_MoveParent,
12798 OPC_MoveParent,
12799 OPC_CheckType, MVT::v2i64,
12800 OPC_CheckPatternPredicate1,
12801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12802 MVT::v2i64, 2, 0, 1,
12803 68,
12804 OPC_MoveChild0,
12805 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12806 OPC_MoveChild0,
12807 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12808 OPC_MoveChild0,
12809 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12810 OPC_CheckType, MVT::v4i32,
12811 OPC_MoveParent,
12812 OPC_CheckPredicate0,
12813 OPC_MoveSibling1,
12814 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12815 OPC_Scope, 22,
12816 OPC_RecordChild0,
12817 OPC_MoveChild1,
12818 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12819 OPC_CheckPredicate3,
12820 OPC_MoveParent,
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 22,
12830 OPC_MoveChild0,
12831 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12832 OPC_CheckPredicate3,
12833 OPC_MoveParent,
12834 OPC_RecordChild1,
12835 OPC_CheckType, MVT::v2i64,
12836 OPC_MoveParent,
12837 OPC_MoveParent,
12838 OPC_RecordChild1,
12839 OPC_CheckType, MVT::v2i64,
12840 OPC_CheckPatternPredicate1,
12841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12842 MVT::v2i64, 2, 1, 0,
12843 0,
12844 42,
12845 OPC_RecordChild0,
12846 OPC_MoveChild1,
12847 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12848 OPC_MoveChild0,
12849 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12850 OPC_MoveChild0,
12851 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12852 OPC_CheckType, MVT::v4i32,
12853 OPC_MoveParent,
12854 OPC_CheckPredicate0,
12855 OPC_MoveSibling1,
12856 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12857 OPC_MoveChild0,
12858 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12859 OPC_CheckPredicate7,
12860 OPC_MoveParent,
12861 OPC_RecordChild1,
12862 OPC_CheckType, MVT::v32i8,
12863 OPC_MoveParent,
12864 OPC_MoveParent,
12865 OPC_CheckType, MVT::v32i8,
12866 OPC_CheckPatternPredicate0,
12867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12868 MVT::v32i8, 2, 0, 1,
12869 68,
12870 OPC_MoveChild0,
12871 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12872 OPC_MoveChild0,
12873 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12874 OPC_MoveChild0,
12875 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12876 OPC_CheckType, MVT::v4i32,
12877 OPC_MoveParent,
12878 OPC_CheckPredicate0,
12879 OPC_MoveSibling1,
12880 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12881 OPC_Scope, 22,
12882 OPC_RecordChild0,
12883 OPC_MoveChild1,
12884 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12885 OPC_CheckPredicate7,
12886 OPC_MoveParent,
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 22,
12896 OPC_MoveChild0,
12897 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12898 OPC_CheckPredicate7,
12899 OPC_MoveParent,
12900 OPC_RecordChild1,
12901 OPC_CheckType, MVT::v32i8,
12902 OPC_MoveParent,
12903 OPC_MoveParent,
12904 OPC_RecordChild1,
12905 OPC_CheckType, MVT::v32i8,
12906 OPC_CheckPatternPredicate0,
12907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12908 MVT::v32i8, 2, 1, 0,
12909 0,
12910 43,
12911 OPC_RecordChild0,
12912 OPC_MoveChild1,
12913 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12914 OPC_MoveChild0,
12915 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12916 OPC_MoveChild0,
12917 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12918 OPC_CheckType, MVT::v4i32,
12919 OPC_MoveParent,
12920 OPC_CheckPredicate0,
12921 OPC_MoveSibling1,
12922 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12923 OPC_MoveChild0,
12924 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12925 OPC_CheckPredicate, 8,
12926 OPC_MoveParent,
12927 OPC_RecordChild1,
12928 OPC_CheckType, MVT::v16i16,
12929 OPC_MoveParent,
12930 OPC_MoveParent,
12931 OPC_CheckType, MVT::v16i16,
12932 OPC_CheckPatternPredicate0,
12933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12934 MVT::v16i16, 2, 0, 1,
12935 70,
12936 OPC_MoveChild0,
12937 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12938 OPC_MoveChild0,
12939 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12940 OPC_MoveChild0,
12941 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12942 OPC_CheckType, MVT::v4i32,
12943 OPC_MoveParent,
12944 OPC_CheckPredicate0,
12945 OPC_MoveSibling1,
12946 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12947 OPC_Scope, 23,
12948 OPC_RecordChild0,
12949 OPC_MoveChild1,
12950 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12951 OPC_CheckPredicate, 8,
12952 OPC_MoveParent,
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 23,
12962 OPC_MoveChild0,
12963 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12964 OPC_CheckPredicate, 8,
12965 OPC_MoveParent,
12966 OPC_RecordChild1,
12967 OPC_CheckType, MVT::v16i16,
12968 OPC_MoveParent,
12969 OPC_MoveParent,
12970 OPC_RecordChild1,
12971 OPC_CheckType, MVT::v16i16,
12972 OPC_CheckPatternPredicate0,
12973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12974 MVT::v16i16, 2, 1, 0,
12975 0,
12976 43,
12977 OPC_RecordChild0,
12978 OPC_MoveChild1,
12979 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12980 OPC_MoveChild0,
12981 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12982 OPC_MoveChild0,
12983 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12984 OPC_CheckType, MVT::v4i32,
12985 OPC_MoveParent,
12986 OPC_CheckPredicate0,
12987 OPC_MoveSibling1,
12988 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12989 OPC_MoveChild0,
12990 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12991 OPC_CheckPredicate, 9,
12992 OPC_MoveParent,
12993 OPC_RecordChild1,
12994 OPC_CheckType, MVT::v8i32,
12995 OPC_MoveParent,
12996 OPC_MoveParent,
12997 OPC_CheckType, MVT::v8i32,
12998 OPC_CheckPatternPredicate0,
12999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13000 MVT::v8i32, 2, 0, 1,
13001 70,
13002 OPC_MoveChild0,
13003 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13004 OPC_MoveChild0,
13005 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13006 OPC_MoveChild0,
13007 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13008 OPC_CheckType, MVT::v4i32,
13009 OPC_MoveParent,
13010 OPC_CheckPredicate0,
13011 OPC_MoveSibling1,
13012 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13013 OPC_Scope, 23,
13014 OPC_RecordChild0,
13015 OPC_MoveChild1,
13016 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13017 OPC_CheckPredicate, 9,
13018 OPC_MoveParent,
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 23,
13028 OPC_MoveChild0,
13029 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13030 OPC_CheckPredicate, 9,
13031 OPC_MoveParent,
13032 OPC_RecordChild1,
13033 OPC_CheckType, MVT::v8i32,
13034 OPC_MoveParent,
13035 OPC_MoveParent,
13036 OPC_RecordChild1,
13037 OPC_CheckType, MVT::v8i32,
13038 OPC_CheckPatternPredicate0,
13039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13040 MVT::v8i32, 2, 1, 0,
13041 0,
13042 42,
13043 OPC_RecordChild0,
13044 OPC_MoveChild1,
13045 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13046 OPC_MoveChild0,
13047 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13048 OPC_CheckPredicate0,
13049 OPC_MoveSibling1,
13050 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13051 OPC_MoveChild0,
13052 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13053 OPC_MoveChild0,
13054 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13055 OPC_CheckType, MVT::v4i32,
13056 OPC_MoveParent,
13057 OPC_CheckPredicate3,
13058 OPC_MoveParent,
13059 OPC_RecordChild1,
13060 OPC_CheckType, MVT::v4i64,
13061 OPC_MoveParent,
13062 OPC_MoveParent,
13063 OPC_CheckType, MVT::v4i64,
13064 OPC_CheckPatternPredicate0,
13065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13066 MVT::v4i64, 2, 0, 1,
13067 75,
13068 OPC_MoveChild0,
13069 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13070 OPC_MoveChild0,
13071 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13072 OPC_CheckPredicate0,
13073 OPC_MoveSibling1,
13074 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13075 OPC_Scope, 29,
13076 OPC_RecordChild0,
13077 OPC_MoveChild1,
13078 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13079 OPC_MoveChild0,
13080 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13081 OPC_CheckType, MVT::v4i32,
13082 OPC_MoveParent,
13083 OPC_CheckPredicate3,
13084 OPC_MoveParent,
13085 OPC_CheckType, MVT::v4i64,
13086 OPC_MoveParent,
13087 OPC_MoveParent,
13088 OPC_RecordChild1,
13089 OPC_CheckType, MVT::v4i64,
13090 OPC_CheckPatternPredicate0,
13091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13092 MVT::v4i64, 2, 1, 0,
13093 29,
13094 OPC_MoveChild0,
13095 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13096 OPC_MoveChild0,
13097 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13098 OPC_CheckType, MVT::v4i32,
13099 OPC_MoveParent,
13100 OPC_CheckPredicate3,
13101 OPC_MoveParent,
13102 OPC_RecordChild1,
13103 OPC_CheckType, MVT::v4i64,
13104 OPC_MoveParent,
13105 OPC_MoveParent,
13106 OPC_RecordChild1,
13107 OPC_CheckType, MVT::v4i64,
13108 OPC_CheckPatternPredicate0,
13109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13110 MVT::v4i64, 2, 1, 0,
13111 0,
13112 42,
13113 OPC_RecordChild0,
13114 OPC_MoveChild1,
13115 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13116 OPC_MoveChild0,
13117 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13118 OPC_MoveChild0,
13119 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13120 OPC_CheckType, MVT::v4i32,
13121 OPC_MoveParent,
13122 OPC_CheckPredicate0,
13123 OPC_MoveSibling1,
13124 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13125 OPC_MoveChild0,
13126 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13127 OPC_CheckPredicate3,
13128 OPC_MoveParent,
13129 OPC_RecordChild1,
13130 OPC_CheckType, MVT::v4i64,
13131 OPC_MoveParent,
13132 OPC_MoveParent,
13133 OPC_CheckType, MVT::v4i64,
13134 OPC_CheckPatternPredicate0,
13135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13136 MVT::v4i64, 2, 0, 1,
13137 68,
13138 OPC_MoveChild0,
13139 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13140 OPC_MoveChild0,
13141 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13142 OPC_MoveChild0,
13143 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13144 OPC_CheckType, MVT::v4i32,
13145 OPC_MoveParent,
13146 OPC_CheckPredicate0,
13147 OPC_MoveSibling1,
13148 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13149 OPC_Scope, 22,
13150 OPC_RecordChild0,
13151 OPC_MoveChild1,
13152 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13153 OPC_CheckPredicate3,
13154 OPC_MoveParent,
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 22,
13164 OPC_MoveChild0,
13165 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13166 OPC_CheckPredicate3,
13167 OPC_MoveParent,
13168 OPC_RecordChild1,
13169 OPC_CheckType, MVT::v4i64,
13170 OPC_MoveParent,
13171 OPC_MoveParent,
13172 OPC_RecordChild1,
13173 OPC_CheckType, MVT::v4i64,
13174 OPC_CheckPatternPredicate0,
13175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13176 MVT::v4i64, 2, 1, 0,
13177 0,
13178 59|128,1,
13179 OPC_RecordChild0,
13180 OPC_MoveChild1,
13181 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13182 OPC_MoveChild0,
13183 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13184 OPC_CheckPredicate0,
13185 OPC_MoveSibling1,
13186 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13187 OPC_Scope, 19|128,1,
13188 OPC_RecordChild0,
13189 OPC_MoveChild1,
13190 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13191 OPC_Scope, 16,
13192 OPC_CheckPredicate7,
13193 OPC_MoveParent,
13194 OPC_CheckType, MVT::v16i8,
13195 OPC_MoveParent,
13196 OPC_MoveParent,
13197 OPC_CheckType, MVT::v16i8,
13198 OPC_CheckPatternPredicate1,
13199 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13200 MVT::v16i8, 2, 0, 1,
13201 17,
13202 OPC_CheckPredicate, 8,
13203 OPC_MoveParent,
13204 OPC_CheckType, MVT::v8i16,
13205 OPC_MoveParent,
13206 OPC_MoveParent,
13207 OPC_CheckType, MVT::v8i16,
13208 OPC_CheckPatternPredicate1,
13209 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13210 MVT::v8i16, 2, 0, 1,
13211 17,
13212 OPC_CheckPredicate, 9,
13213 OPC_MoveParent,
13214 OPC_CheckType, MVT::v4i32,
13215 OPC_MoveParent,
13216 OPC_MoveParent,
13217 OPC_CheckType, MVT::v4i32,
13218 OPC_CheckPatternPredicate1,
13219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13220 MVT::v4i32, 2, 0, 1,
13221 16,
13222 OPC_CheckPredicate3,
13223 OPC_MoveParent,
13224 OPC_CheckType, MVT::v2i64,
13225 OPC_MoveParent,
13226 OPC_MoveParent,
13227 OPC_CheckType, MVT::v2i64,
13228 OPC_CheckPatternPredicate1,
13229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13230 MVT::v2i64, 2, 0, 1,
13231 16,
13232 OPC_CheckPredicate7,
13233 OPC_MoveParent,
13234 OPC_CheckType, MVT::v32i8,
13235 OPC_MoveParent,
13236 OPC_MoveParent,
13237 OPC_CheckType, MVT::v32i8,
13238 OPC_CheckPatternPredicate0,
13239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13240 MVT::v32i8, 2, 0, 1,
13241 17,
13242 OPC_CheckPredicate, 8,
13243 OPC_MoveParent,
13244 OPC_CheckType, MVT::v16i16,
13245 OPC_MoveParent,
13246 OPC_MoveParent,
13247 OPC_CheckType, MVT::v16i16,
13248 OPC_CheckPatternPredicate0,
13249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13250 MVT::v16i16, 2, 0, 1,
13251 17,
13252 OPC_CheckPredicate, 9,
13253 OPC_MoveParent,
13254 OPC_CheckType, MVT::v8i32,
13255 OPC_MoveParent,
13256 OPC_MoveParent,
13257 OPC_CheckType, MVT::v8i32,
13258 OPC_CheckPatternPredicate0,
13259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13260 MVT::v8i32, 2, 0, 1,
13261 16,
13262 OPC_CheckPredicate3,
13263 OPC_MoveParent,
13264 OPC_CheckType, MVT::v4i64,
13265 OPC_MoveParent,
13266 OPC_MoveParent,
13267 OPC_CheckType, MVT::v4i64,
13268 OPC_CheckPatternPredicate0,
13269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13270 MVT::v4i64, 2, 0, 1,
13271 0,
13272 21,
13273 OPC_MoveChild0,
13274 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13275 OPC_CheckPredicate7,
13276 OPC_MoveParent,
13277 OPC_RecordChild1,
13278 OPC_CheckType, MVT::v16i8,
13279 OPC_MoveParent,
13280 OPC_MoveParent,
13281 OPC_CheckType, MVT::v16i8,
13282 OPC_CheckPatternPredicate1,
13283 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13284 MVT::v16i8, 2, 0, 1,
13285 0,
13286 61,
13287 OPC_MoveChild0,
13288 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13289 OPC_MoveChild0,
13290 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13291 OPC_CheckPredicate0,
13292 OPC_MoveSibling1,
13293 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13294 OPC_Scope, 22,
13295 OPC_RecordChild0,
13296 OPC_MoveChild1,
13297 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13298 OPC_CheckPredicate7,
13299 OPC_MoveParent,
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 22,
13309 OPC_MoveChild0,
13310 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13311 OPC_CheckPredicate7,
13312 OPC_MoveParent,
13313 OPC_RecordChild1,
13314 OPC_CheckType, MVT::v16i8,
13315 OPC_MoveParent,
13316 OPC_MoveParent,
13317 OPC_RecordChild1,
13318 OPC_CheckType, MVT::v16i8,
13319 OPC_CheckPatternPredicate1,
13320 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13321 MVT::v16i8, 2, 1, 0,
13322 0,
13323 36,
13324 OPC_RecordChild0,
13325 OPC_MoveChild1,
13326 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13327 OPC_MoveChild0,
13328 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13329 OPC_CheckPredicate0,
13330 OPC_MoveSibling1,
13331 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13332 OPC_MoveChild0,
13333 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13334 OPC_CheckPredicate, 8,
13335 OPC_MoveParent,
13336 OPC_RecordChild1,
13337 OPC_CheckType, MVT::v8i16,
13338 OPC_MoveParent,
13339 OPC_MoveParent,
13340 OPC_CheckType, MVT::v8i16,
13341 OPC_CheckPatternPredicate1,
13342 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13343 MVT::v8i16, 2, 0, 1,
13344 63,
13345 OPC_MoveChild0,
13346 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13347 OPC_MoveChild0,
13348 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13349 OPC_CheckPredicate0,
13350 OPC_MoveSibling1,
13351 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13352 OPC_Scope, 23,
13353 OPC_RecordChild0,
13354 OPC_MoveChild1,
13355 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13356 OPC_CheckPredicate, 8,
13357 OPC_MoveParent,
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 23,
13367 OPC_MoveChild0,
13368 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13369 OPC_CheckPredicate, 8,
13370 OPC_MoveParent,
13371 OPC_RecordChild1,
13372 OPC_CheckType, MVT::v8i16,
13373 OPC_MoveParent,
13374 OPC_MoveParent,
13375 OPC_RecordChild1,
13376 OPC_CheckType, MVT::v8i16,
13377 OPC_CheckPatternPredicate1,
13378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13379 MVT::v8i16, 2, 1, 0,
13380 0,
13381 36,
13382 OPC_RecordChild0,
13383 OPC_MoveChild1,
13384 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13385 OPC_MoveChild0,
13386 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13387 OPC_CheckPredicate0,
13388 OPC_MoveSibling1,
13389 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13390 OPC_MoveChild0,
13391 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13392 OPC_CheckPredicate, 9,
13393 OPC_MoveParent,
13394 OPC_RecordChild1,
13395 OPC_CheckType, MVT::v4i32,
13396 OPC_MoveParent,
13397 OPC_MoveParent,
13398 OPC_CheckType, MVT::v4i32,
13399 OPC_CheckPatternPredicate1,
13400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13401 MVT::v4i32, 2, 0, 1,
13402 63,
13403 OPC_MoveChild0,
13404 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13405 OPC_MoveChild0,
13406 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13407 OPC_CheckPredicate0,
13408 OPC_MoveSibling1,
13409 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13410 OPC_Scope, 23,
13411 OPC_RecordChild0,
13412 OPC_MoveChild1,
13413 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13414 OPC_CheckPredicate, 9,
13415 OPC_MoveParent,
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 23,
13425 OPC_MoveChild0,
13426 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13427 OPC_CheckPredicate, 9,
13428 OPC_MoveParent,
13429 OPC_RecordChild1,
13430 OPC_CheckType, MVT::v4i32,
13431 OPC_MoveParent,
13432 OPC_MoveParent,
13433 OPC_RecordChild1,
13434 OPC_CheckType, MVT::v4i32,
13435 OPC_CheckPatternPredicate1,
13436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13437 MVT::v4i32, 2, 1, 0,
13438 0,
13439 35,
13440 OPC_RecordChild0,
13441 OPC_MoveChild1,
13442 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13443 OPC_MoveChild0,
13444 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13445 OPC_CheckPredicate0,
13446 OPC_MoveSibling1,
13447 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13448 OPC_MoveChild0,
13449 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13450 OPC_CheckPredicate3,
13451 OPC_MoveParent,
13452 OPC_RecordChild1,
13453 OPC_CheckType, MVT::v2i64,
13454 OPC_MoveParent,
13455 OPC_MoveParent,
13456 OPC_CheckType, MVT::v2i64,
13457 OPC_CheckPatternPredicate1,
13458 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13459 MVT::v2i64, 2, 0, 1,
13460 61,
13461 OPC_MoveChild0,
13462 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13463 OPC_MoveChild0,
13464 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13465 OPC_CheckPredicate0,
13466 OPC_MoveSibling1,
13467 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13468 OPC_Scope, 22,
13469 OPC_RecordChild0,
13470 OPC_MoveChild1,
13471 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13472 OPC_CheckPredicate3,
13473 OPC_MoveParent,
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 22,
13483 OPC_MoveChild0,
13484 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13485 OPC_CheckPredicate3,
13486 OPC_MoveParent,
13487 OPC_RecordChild1,
13488 OPC_CheckType, MVT::v2i64,
13489 OPC_MoveParent,
13490 OPC_MoveParent,
13491 OPC_RecordChild1,
13492 OPC_CheckType, MVT::v2i64,
13493 OPC_CheckPatternPredicate1,
13494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13495 MVT::v2i64, 2, 1, 0,
13496 0,
13497 35,
13498 OPC_RecordChild0,
13499 OPC_MoveChild1,
13500 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13501 OPC_MoveChild0,
13502 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13503 OPC_CheckPredicate0,
13504 OPC_MoveSibling1,
13505 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13506 OPC_MoveChild0,
13507 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13508 OPC_CheckPredicate7,
13509 OPC_MoveParent,
13510 OPC_RecordChild1,
13511 OPC_CheckType, MVT::v32i8,
13512 OPC_MoveParent,
13513 OPC_MoveParent,
13514 OPC_CheckType, MVT::v32i8,
13515 OPC_CheckPatternPredicate0,
13516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13517 MVT::v32i8, 2, 0, 1,
13518 61,
13519 OPC_MoveChild0,
13520 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13521 OPC_MoveChild0,
13522 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13523 OPC_CheckPredicate0,
13524 OPC_MoveSibling1,
13525 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13526 OPC_Scope, 22,
13527 OPC_RecordChild0,
13528 OPC_MoveChild1,
13529 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13530 OPC_CheckPredicate7,
13531 OPC_MoveParent,
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 22,
13541 OPC_MoveChild0,
13542 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13543 OPC_CheckPredicate7,
13544 OPC_MoveParent,
13545 OPC_RecordChild1,
13546 OPC_CheckType, MVT::v32i8,
13547 OPC_MoveParent,
13548 OPC_MoveParent,
13549 OPC_RecordChild1,
13550 OPC_CheckType, MVT::v32i8,
13551 OPC_CheckPatternPredicate0,
13552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13553 MVT::v32i8, 2, 1, 0,
13554 0,
13555 36,
13556 OPC_RecordChild0,
13557 OPC_MoveChild1,
13558 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13559 OPC_MoveChild0,
13560 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13561 OPC_CheckPredicate0,
13562 OPC_MoveSibling1,
13563 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13564 OPC_MoveChild0,
13565 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13566 OPC_CheckPredicate, 8,
13567 OPC_MoveParent,
13568 OPC_RecordChild1,
13569 OPC_CheckType, MVT::v16i16,
13570 OPC_MoveParent,
13571 OPC_MoveParent,
13572 OPC_CheckType, MVT::v16i16,
13573 OPC_CheckPatternPredicate0,
13574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13575 MVT::v16i16, 2, 0, 1,
13576 63,
13577 OPC_MoveChild0,
13578 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13579 OPC_MoveChild0,
13580 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13581 OPC_CheckPredicate0,
13582 OPC_MoveSibling1,
13583 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13584 OPC_Scope, 23,
13585 OPC_RecordChild0,
13586 OPC_MoveChild1,
13587 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13588 OPC_CheckPredicate, 8,
13589 OPC_MoveParent,
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 23,
13599 OPC_MoveChild0,
13600 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13601 OPC_CheckPredicate, 8,
13602 OPC_MoveParent,
13603 OPC_RecordChild1,
13604 OPC_CheckType, MVT::v16i16,
13605 OPC_MoveParent,
13606 OPC_MoveParent,
13607 OPC_RecordChild1,
13608 OPC_CheckType, MVT::v16i16,
13609 OPC_CheckPatternPredicate0,
13610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13611 MVT::v16i16, 2, 1, 0,
13612 0,
13613 36,
13614 OPC_RecordChild0,
13615 OPC_MoveChild1,
13616 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13617 OPC_MoveChild0,
13618 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13619 OPC_CheckPredicate0,
13620 OPC_MoveSibling1,
13621 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13622 OPC_MoveChild0,
13623 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13624 OPC_CheckPredicate, 9,
13625 OPC_MoveParent,
13626 OPC_RecordChild1,
13627 OPC_CheckType, MVT::v8i32,
13628 OPC_MoveParent,
13629 OPC_MoveParent,
13630 OPC_CheckType, MVT::v8i32,
13631 OPC_CheckPatternPredicate0,
13632 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13633 MVT::v8i32, 2, 0, 1,
13634 63,
13635 OPC_MoveChild0,
13636 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13637 OPC_MoveChild0,
13638 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13639 OPC_CheckPredicate0,
13640 OPC_MoveSibling1,
13641 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13642 OPC_Scope, 23,
13643 OPC_RecordChild0,
13644 OPC_MoveChild1,
13645 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13646 OPC_CheckPredicate, 9,
13647 OPC_MoveParent,
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 23,
13657 OPC_MoveChild0,
13658 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13659 OPC_CheckPredicate, 9,
13660 OPC_MoveParent,
13661 OPC_RecordChild1,
13662 OPC_CheckType, MVT::v8i32,
13663 OPC_MoveParent,
13664 OPC_MoveParent,
13665 OPC_RecordChild1,
13666 OPC_CheckType, MVT::v8i32,
13667 OPC_CheckPatternPredicate0,
13668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13669 MVT::v8i32, 2, 1, 0,
13670 0,
13671 35,
13672 OPC_RecordChild0,
13673 OPC_MoveChild1,
13674 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13675 OPC_MoveChild0,
13676 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13677 OPC_CheckPredicate0,
13678 OPC_MoveSibling1,
13679 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13680 OPC_MoveChild0,
13681 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13682 OPC_CheckPredicate3,
13683 OPC_MoveParent,
13684 OPC_RecordChild1,
13685 OPC_CheckType, MVT::v4i64,
13686 OPC_MoveParent,
13687 OPC_MoveParent,
13688 OPC_CheckType, MVT::v4i64,
13689 OPC_CheckPatternPredicate0,
13690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13691 MVT::v4i64, 2, 0, 1,
13692 61,
13693 OPC_MoveChild0,
13694 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13695 OPC_MoveChild0,
13696 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13697 OPC_CheckPredicate0,
13698 OPC_MoveSibling1,
13699 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13700 OPC_Scope, 22,
13701 OPC_RecordChild0,
13702 OPC_MoveChild1,
13703 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13704 OPC_CheckPredicate3,
13705 OPC_MoveParent,
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 22,
13715 OPC_MoveChild0,
13716 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13717 OPC_CheckPredicate3,
13718 OPC_MoveParent,
13719 OPC_RecordChild1,
13720 OPC_CheckType, MVT::v4i64,
13721 OPC_MoveParent,
13722 OPC_MoveParent,
13723 OPC_RecordChild1,
13724 OPC_CheckType, MVT::v4i64,
13725 OPC_CheckPatternPredicate0,
13726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13727 MVT::v4i64, 2, 1, 0,
13728 0,
13729 61,
13730 OPC_RecordChild0,
13731 OPC_MoveChild1,
13732 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13733 OPC_MoveChild0,
13734 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13735 OPC_MoveSibling1,
13736 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13737 OPC_Scope, 22,
13738 OPC_RecordChild0,
13739 OPC_MoveChild1,
13740 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13741 OPC_CheckPredicate, 9,
13742 OPC_MoveParent,
13743 OPC_CheckType, MVT::v4i32,
13744 OPC_MoveParent,
13745 OPC_MoveParent,
13746 OPC_CheckType, MVT::v4i32,
13747 OPC_CheckPatternPredicate1,
13748 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13749 MVT::v4i32, 2, 0, 1,
13750 22,
13751 OPC_MoveChild0,
13752 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13753 OPC_CheckPredicate, 9,
13754 OPC_MoveParent,
13755 OPC_RecordChild1,
13756 OPC_CheckType, MVT::v4i32,
13757 OPC_MoveParent,
13758 OPC_MoveParent,
13759 OPC_CheckType, MVT::v4i32,
13760 OPC_CheckPatternPredicate1,
13761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13762 MVT::v4i32, 2, 0, 1,
13763 0,
13764 62,
13765 OPC_MoveChild0,
13766 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13767 OPC_MoveChild0,
13768 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13769 OPC_MoveSibling1,
13770 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
13771 OPC_Scope, 23,
13772 OPC_RecordChild0,
13773 OPC_MoveChild1,
13774 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13775 OPC_CheckPredicate, 9,
13776 OPC_MoveParent,
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 23,
13786 OPC_MoveChild0,
13787 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13788 OPC_CheckPredicate, 9,
13789 OPC_MoveParent,
13790 OPC_RecordChild1,
13791 OPC_CheckType, MVT::v4i32,
13792 OPC_MoveParent,
13793 OPC_MoveParent,
13794 OPC_RecordChild1,
13795 OPC_CheckType, MVT::v4i32,
13796 OPC_CheckPatternPredicate1,
13797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13798 MVT::v4i32, 2, 1, 0,
13799 0,
13800 119,
13801 OPC_RecordChild0,
13802 OPC_MoveChild1,
13803 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13804 OPC_MoveChild0,
13805 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13806 OPC_MoveChild0,
13807 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13808 OPC_CheckType, MVT::v4i32,
13809 OPC_MoveParent,
13810 OPC_CheckPredicate0,
13811 OPC_MoveParent,
13812 OPC_RecordChild1,
13813 OPC_Scope, 13,
13814 OPC_CheckChild1Type, MVT::v16i8,
13815 OPC_MoveParent,
13816 OPC_CheckType, MVT::v16i8,
13817 OPC_CheckPatternPredicate1,
13818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13819 MVT::v16i8, 2, 0, 1,
13820 13,
13821 OPC_CheckChild1Type, MVT::v8i16,
13822 OPC_MoveParent,
13823 OPC_CheckType, MVT::v8i16,
13824 OPC_CheckPatternPredicate1,
13825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13826 MVT::v8i16, 2, 0, 1,
13827 13,
13828 OPC_CheckChild1Type, MVT::v2i64,
13829 OPC_MoveParent,
13830 OPC_CheckType, MVT::v2i64,
13831 OPC_CheckPatternPredicate1,
13832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13833 MVT::v2i64, 2, 0, 1,
13834 13,
13835 OPC_CheckChild1Type, MVT::v32i8,
13836 OPC_MoveParent,
13837 OPC_CheckType, MVT::v32i8,
13838 OPC_CheckPatternPredicate0,
13839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13840 MVT::v32i8, 2, 0, 1,
13841 13,
13842 OPC_CheckChild1Type, MVT::v16i16,
13843 OPC_MoveParent,
13844 OPC_CheckType, MVT::v16i16,
13845 OPC_CheckPatternPredicate0,
13846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13847 MVT::v16i16, 2, 0, 1,
13848 13,
13849 OPC_CheckChild1Type, MVT::v8i32,
13850 OPC_MoveParent,
13851 OPC_CheckType, MVT::v8i32,
13852 OPC_CheckPatternPredicate0,
13853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13854 MVT::v8i32, 2, 0, 1,
13855 13,
13856 OPC_CheckChild1Type, MVT::v4i64,
13857 OPC_MoveParent,
13858 OPC_CheckType, MVT::v4i64,
13859 OPC_CheckPatternPredicate0,
13860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13861 MVT::v4i64, 2, 0, 1,
13862 0,
13863 49|128,1,
13864 OPC_MoveChild0,
13865 OPC_SwitchOpcode , 121, TARGET_VAL(ISD::SHL),
13866 OPC_MoveChild0,
13867 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
13868 OPC_MoveChild0,
13869 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13870 OPC_CheckType, MVT::v4i32,
13871 OPC_MoveParent,
13872 OPC_CheckPredicate0,
13873 OPC_MoveParent,
13874 OPC_RecordChild1,
13875 OPC_Scope, 14,
13876 OPC_CheckChild1Type, MVT::v16i8,
13877 OPC_MoveParent,
13878 OPC_RecordChild1,
13879 OPC_CheckType, MVT::v16i8,
13880 OPC_CheckPatternPredicate1,
13881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13882 MVT::v16i8, 2, 1, 0,
13883 14,
13884 OPC_CheckChild1Type, MVT::v8i16,
13885 OPC_MoveParent,
13886 OPC_RecordChild1,
13887 OPC_CheckType, MVT::v8i16,
13888 OPC_CheckPatternPredicate1,
13889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13890 MVT::v8i16, 2, 1, 0,
13891 14,
13892 OPC_CheckChild1Type, MVT::v2i64,
13893 OPC_MoveParent,
13894 OPC_RecordChild1,
13895 OPC_CheckType, MVT::v2i64,
13896 OPC_CheckPatternPredicate1,
13897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13898 MVT::v2i64, 2, 1, 0,
13899 14,
13900 OPC_CheckChild1Type, MVT::v32i8,
13901 OPC_MoveParent,
13902 OPC_RecordChild1,
13903 OPC_CheckType, MVT::v32i8,
13904 OPC_CheckPatternPredicate0,
13905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
13906 MVT::v32i8, 2, 1, 0,
13907 14,
13908 OPC_CheckChild1Type, MVT::v16i16,
13909 OPC_MoveParent,
13910 OPC_RecordChild1,
13911 OPC_CheckType, MVT::v16i16,
13912 OPC_CheckPatternPredicate0,
13913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
13914 MVT::v16i16, 2, 1, 0,
13915 14,
13916 OPC_CheckChild1Type, MVT::v8i32,
13917 OPC_MoveParent,
13918 OPC_RecordChild1,
13919 OPC_CheckType, MVT::v8i32,
13920 OPC_CheckPatternPredicate0,
13921 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
13922 MVT::v8i32, 2, 1, 0,
13923 14,
13924 OPC_CheckChild1Type, MVT::v4i64,
13925 OPC_MoveParent,
13926 OPC_RecordChild1,
13927 OPC_CheckType, MVT::v4i64,
13928 OPC_CheckPatternPredicate0,
13929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
13930 MVT::v4i64, 2, 1, 0,
13931 0,
13932 47, TARGET_VAL(ISD::OR),
13933 OPC_RecordChild0,
13934 OPC_RecordChild1,
13935 OPC_MoveSibling1,
13936 OPC_CheckImmAllOnesV,
13937 OPC_MoveParent,
13938 OPC_SwitchType , 8, MVT::v16i8,
13939 OPC_CheckPatternPredicate1,
13940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13941 MVT::v16i8, 2, 0, 1,
13942 8, MVT::v8i16,
13943 OPC_CheckPatternPredicate1,
13944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13945 MVT::v8i16, 2, 0, 1,
13946 8, MVT::v4i32,
13947 OPC_CheckPatternPredicate1,
13948 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13949 MVT::v4i32, 2, 0, 1,
13950 8, MVT::v2i64,
13951 OPC_CheckPatternPredicate1,
13952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
13953 MVT::v2i64, 2, 0, 1,
13954 0,
13955 0,
13956 70,
13957 OPC_RecordChild0,
13958 OPC_MoveChild1,
13959 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
13960 OPC_MoveChild0,
13961 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
13962 OPC_CheckPredicate0,
13963 OPC_MoveParent,
13964 OPC_RecordChild1,
13965 OPC_Scope, 13,
13966 OPC_CheckChild1Type, MVT::v16i8,
13967 OPC_MoveParent,
13968 OPC_CheckType, MVT::v16i8,
13969 OPC_CheckPatternPredicate1,
13970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
13971 MVT::v16i8, 2, 0, 1,
13972 13,
13973 OPC_CheckChild1Type, MVT::v8i16,
13974 OPC_MoveParent,
13975 OPC_CheckType, MVT::v8i16,
13976 OPC_CheckPatternPredicate1,
13977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
13978 MVT::v8i16, 2, 0, 1,
13979 13,
13980 OPC_CheckChild1Type, MVT::v4i32,
13981 OPC_MoveParent,
13982 OPC_CheckType, MVT::v4i32,
13983 OPC_CheckPatternPredicate1,
13984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
13985 MVT::v4i32, 2, 0, 1,
13986 13,
13987 OPC_CheckChild1Type, MVT::v2i64,
13988 OPC_MoveParent,
13989 OPC_CheckType, MVT::v2i64,
13990 OPC_CheckPatternPredicate1,
13991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
13992 MVT::v2i64, 2, 0, 1,
13993 0,
13994 51,
13995 OPC_MoveChild0,
13996 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
13997 OPC_RecordChild0,
13998 OPC_RecordChild1,
13999 OPC_MoveSibling1,
14000 OPC_CheckImmAllOnesV,
14001 OPC_MoveParent,
14002 OPC_SwitchType , 8, MVT::v32i8,
14003 OPC_CheckPatternPredicate0,
14004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
14005 MVT::v32i8, 2, 0, 1,
14006 8, MVT::v16i16,
14007 OPC_CheckPatternPredicate0,
14008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
14009 MVT::v16i16, 2, 0, 1,
14010 8, MVT::v8i32,
14011 OPC_CheckPatternPredicate0,
14012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
14013 MVT::v8i32, 2, 0, 1,
14014 8, MVT::v4i64,
14015 OPC_CheckPatternPredicate0,
14016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
14017 MVT::v4i64, 2, 0, 1,
14018 0,
14019 70,
14020 OPC_RecordChild0,
14021 OPC_MoveChild1,
14022 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14023 OPC_MoveChild0,
14024 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14025 OPC_CheckPredicate0,
14026 OPC_MoveParent,
14027 OPC_RecordChild1,
14028 OPC_Scope, 13,
14029 OPC_CheckChild1Type, MVT::v32i8,
14030 OPC_MoveParent,
14031 OPC_CheckType, MVT::v32i8,
14032 OPC_CheckPatternPredicate0,
14033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
14034 MVT::v32i8, 2, 0, 1,
14035 13,
14036 OPC_CheckChild1Type, MVT::v16i16,
14037 OPC_MoveParent,
14038 OPC_CheckType, MVT::v16i16,
14039 OPC_CheckPatternPredicate0,
14040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
14041 MVT::v16i16, 2, 0, 1,
14042 13,
14043 OPC_CheckChild1Type, MVT::v8i32,
14044 OPC_MoveParent,
14045 OPC_CheckType, MVT::v8i32,
14046 OPC_CheckPatternPredicate0,
14047 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
14048 MVT::v8i32, 2, 0, 1,
14049 13,
14050 OPC_CheckChild1Type, MVT::v4i64,
14051 OPC_MoveParent,
14052 OPC_CheckType, MVT::v4i64,
14053 OPC_CheckPatternPredicate0,
14054 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
14055 MVT::v4i64, 2, 0, 1,
14056 0,
14057 5|128,1,
14058 OPC_MoveChild0,
14059 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14060 OPC_MoveChild0,
14061 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14062 OPC_CheckPredicate0,
14063 OPC_MoveParent,
14064 OPC_RecordChild1,
14065 OPC_Scope, 14,
14066 OPC_CheckChild1Type, MVT::v16i8,
14067 OPC_MoveParent,
14068 OPC_RecordChild1,
14069 OPC_CheckType, MVT::v16i8,
14070 OPC_CheckPatternPredicate1,
14071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
14072 MVT::v16i8, 2, 1, 0,
14073 14,
14074 OPC_CheckChild1Type, MVT::v8i16,
14075 OPC_MoveParent,
14076 OPC_RecordChild1,
14077 OPC_CheckType, MVT::v8i16,
14078 OPC_CheckPatternPredicate1,
14079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
14080 MVT::v8i16, 2, 1, 0,
14081 14,
14082 OPC_CheckChild1Type, MVT::v4i32,
14083 OPC_MoveParent,
14084 OPC_RecordChild1,
14085 OPC_CheckType, MVT::v4i32,
14086 OPC_CheckPatternPredicate1,
14087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
14088 MVT::v4i32, 2, 1, 0,
14089 14,
14090 OPC_CheckChild1Type, MVT::v2i64,
14091 OPC_MoveParent,
14092 OPC_RecordChild1,
14093 OPC_CheckType, MVT::v2i64,
14094 OPC_CheckPatternPredicate1,
14095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
14096 MVT::v2i64, 2, 1, 0,
14097 14,
14098 OPC_CheckChild1Type, MVT::v32i8,
14099 OPC_MoveParent,
14100 OPC_RecordChild1,
14101 OPC_CheckType, MVT::v32i8,
14102 OPC_CheckPatternPredicate0,
14103 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
14104 MVT::v32i8, 2, 1, 0,
14105 14,
14106 OPC_CheckChild1Type, MVT::v16i16,
14107 OPC_MoveParent,
14108 OPC_RecordChild1,
14109 OPC_CheckType, MVT::v16i16,
14110 OPC_CheckPatternPredicate0,
14111 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
14112 MVT::v16i16, 2, 1, 0,
14113 14,
14114 OPC_CheckChild1Type, MVT::v8i32,
14115 OPC_MoveParent,
14116 OPC_RecordChild1,
14117 OPC_CheckType, MVT::v8i32,
14118 OPC_CheckPatternPredicate0,
14119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
14120 MVT::v8i32, 2, 1, 0,
14121 14,
14122 OPC_CheckChild1Type, MVT::v4i64,
14123 OPC_MoveParent,
14124 OPC_RecordChild1,
14125 OPC_CheckType, MVT::v4i64,
14126 OPC_CheckPatternPredicate0,
14127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
14128 MVT::v4i64, 2, 1, 0,
14129 0,
14130 24,
14131 OPC_RecordChild0,
14132 OPC_MoveChild1,
14133 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14134 OPC_MoveChild0,
14135 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14136 OPC_MoveParent,
14137 OPC_RecordChild1,
14138 OPC_CheckChild1Type, MVT::v4i32,
14139 OPC_MoveParent,
14140 OPC_CheckType, MVT::v4i32,
14141 OPC_CheckPatternPredicate1,
14142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
14143 MVT::v4i32, 2, 0, 1,
14144 24,
14145 OPC_MoveChild0,
14146 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14147 OPC_MoveChild0,
14148 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14149 OPC_MoveParent,
14150 OPC_RecordChild1,
14151 OPC_CheckChild1Type, MVT::v4i32,
14152 OPC_MoveParent,
14153 OPC_RecordChild1,
14154 OPC_CheckType, MVT::v4i32,
14155 OPC_CheckPatternPredicate1,
14156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
14157 MVT::v4i32, 2, 1, 0,
14158 36|128,4,
14159 OPC_RecordChild0,
14160 OPC_RecordChild1,
14161 OPC_SwitchType , 99, MVT::v16i8,
14162 OPC_Scope, 10,
14163 OPC_CheckPatternPredicate3,
14164 OPC_CheckComplexPat5, /*#*/1,
14165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14166 MVT::v16i8, 2, 0, 2,
14167 10,
14168 OPC_CheckPatternPredicate5,
14169 OPC_CheckComplexPat5, /*#*/1,
14170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14171 MVT::v16i8, 2, 0, 2,
14172 10,
14173 OPC_CheckPatternPredicate3,
14174 OPC_CheckComplexPat5, /*#*/0,
14175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14176 MVT::v16i8, 2, 1, 2,
14177 10,
14178 OPC_CheckPatternPredicate5,
14179 OPC_CheckComplexPat5, /*#*/0,
14180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
14181 MVT::v16i8, 2, 1, 2,
14182 10,
14183 OPC_CheckPatternPredicate3,
14184 OPC_CheckComplexPat7, /*#*/1,
14185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14186 MVT::v16i8, 2, 0, 2,
14187 10,
14188 OPC_CheckPatternPredicate5,
14189 OPC_CheckComplexPat7, /*#*/1,
14190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14191 MVT::v16i8, 2, 0, 2,
14192 10,
14193 OPC_CheckPatternPredicate3,
14194 OPC_CheckComplexPat7, /*#*/0,
14195 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14196 MVT::v16i8, 2, 1, 2,
14197 10,
14198 OPC_CheckPatternPredicate5,
14199 OPC_CheckComplexPat7, /*#*/0,
14200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
14201 MVT::v16i8, 2, 1, 2,
14202 8,
14203 OPC_CheckPatternPredicate1,
14204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14205 MVT::v16i8, 2, 0, 1,
14206 0,
14207 55, MVT::v8i16,
14208 OPC_Scope, 10,
14209 OPC_CheckPatternPredicate3,
14210 OPC_CheckComplexPat5, /*#*/1,
14211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14212 MVT::v8i16, 2, 0, 2,
14213 10,
14214 OPC_CheckPatternPredicate5,
14215 OPC_CheckComplexPat5, /*#*/1,
14216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14217 MVT::v8i16, 2, 0, 2,
14218 10,
14219 OPC_CheckPatternPredicate3,
14220 OPC_CheckComplexPat5, /*#*/0,
14221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14222 MVT::v8i16, 2, 1, 2,
14223 10,
14224 OPC_CheckPatternPredicate5,
14225 OPC_CheckComplexPat5, /*#*/0,
14226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
14227 MVT::v8i16, 2, 1, 2,
14228 8,
14229 OPC_CheckPatternPredicate1,
14230 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14231 MVT::v8i16, 2, 0, 1,
14232 0,
14233 55, MVT::v4i32,
14234 OPC_Scope, 10,
14235 OPC_CheckPatternPredicate3,
14236 OPC_CheckComplexPat5, /*#*/1,
14237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14238 MVT::v4i32, 2, 0, 2,
14239 10,
14240 OPC_CheckPatternPredicate5,
14241 OPC_CheckComplexPat5, /*#*/1,
14242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14243 MVT::v4i32, 2, 0, 2,
14244 10,
14245 OPC_CheckPatternPredicate3,
14246 OPC_CheckComplexPat5, /*#*/0,
14247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14248 MVT::v4i32, 2, 1, 2,
14249 10,
14250 OPC_CheckPatternPredicate5,
14251 OPC_CheckComplexPat5, /*#*/0,
14252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
14253 MVT::v4i32, 2, 1, 2,
14254 8,
14255 OPC_CheckPatternPredicate1,
14256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14257 MVT::v4i32, 2, 0, 1,
14258 0,
14259 55, MVT::v2i64,
14260 OPC_Scope, 10,
14261 OPC_CheckPatternPredicate3,
14262 OPC_CheckComplexPat5, /*#*/1,
14263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14264 MVT::v2i64, 2, 0, 2,
14265 10,
14266 OPC_CheckPatternPredicate5,
14267 OPC_CheckComplexPat5, /*#*/1,
14268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14269 MVT::v2i64, 2, 0, 2,
14270 10,
14271 OPC_CheckPatternPredicate3,
14272 OPC_CheckComplexPat5, /*#*/0,
14273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14274 MVT::v2i64, 2, 1, 2,
14275 10,
14276 OPC_CheckPatternPredicate5,
14277 OPC_CheckComplexPat5, /*#*/0,
14278 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
14279 MVT::v2i64, 2, 1, 2,
14280 8,
14281 OPC_CheckPatternPredicate1,
14282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
14283 MVT::v2i64, 2, 0, 1,
14284 0,
14285 99, MVT::v32i8,
14286 OPC_Scope, 10,
14287 OPC_CheckPatternPredicate2,
14288 OPC_CheckComplexPat5, /*#*/1,
14289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14290 MVT::v32i8, 2, 0, 2,
14291 10,
14292 OPC_CheckPatternPredicate4,
14293 OPC_CheckComplexPat5, /*#*/1,
14294 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14295 MVT::v32i8, 2, 0, 2,
14296 10,
14297 OPC_CheckPatternPredicate2,
14298 OPC_CheckComplexPat5, /*#*/0,
14299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14300 MVT::v32i8, 2, 1, 2,
14301 10,
14302 OPC_CheckPatternPredicate4,
14303 OPC_CheckComplexPat5, /*#*/0,
14304 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
14305 MVT::v32i8, 2, 1, 2,
14306 10,
14307 OPC_CheckPatternPredicate2,
14308 OPC_CheckComplexPat7, /*#*/1,
14309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14310 MVT::v32i8, 2, 0, 2,
14311 10,
14312 OPC_CheckPatternPredicate4,
14313 OPC_CheckComplexPat7, /*#*/1,
14314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14315 MVT::v32i8, 2, 0, 2,
14316 10,
14317 OPC_CheckPatternPredicate2,
14318 OPC_CheckComplexPat7, /*#*/0,
14319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14320 MVT::v32i8, 2, 1, 2,
14321 10,
14322 OPC_CheckPatternPredicate4,
14323 OPC_CheckComplexPat7, /*#*/0,
14324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
14325 MVT::v32i8, 2, 1, 2,
14326 8,
14327 OPC_CheckPatternPredicate0,
14328 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14329 MVT::v32i8, 2, 0, 1,
14330 0,
14331 55, MVT::v16i16,
14332 OPC_Scope, 10,
14333 OPC_CheckPatternPredicate2,
14334 OPC_CheckComplexPat5, /*#*/1,
14335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14336 MVT::v16i16, 2, 0, 2,
14337 10,
14338 OPC_CheckPatternPredicate4,
14339 OPC_CheckComplexPat5, /*#*/1,
14340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14341 MVT::v16i16, 2, 0, 2,
14342 10,
14343 OPC_CheckPatternPredicate2,
14344 OPC_CheckComplexPat5, /*#*/0,
14345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14346 MVT::v16i16, 2, 1, 2,
14347 10,
14348 OPC_CheckPatternPredicate4,
14349 OPC_CheckComplexPat5, /*#*/0,
14350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
14351 MVT::v16i16, 2, 1, 2,
14352 8,
14353 OPC_CheckPatternPredicate0,
14354 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14355 MVT::v16i16, 2, 0, 1,
14356 0,
14357 55, MVT::v8i32,
14358 OPC_Scope, 10,
14359 OPC_CheckPatternPredicate2,
14360 OPC_CheckComplexPat5, /*#*/1,
14361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14362 MVT::v8i32, 2, 0, 2,
14363 10,
14364 OPC_CheckPatternPredicate4,
14365 OPC_CheckComplexPat5, /*#*/1,
14366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14367 MVT::v8i32, 2, 0, 2,
14368 10,
14369 OPC_CheckPatternPredicate2,
14370 OPC_CheckComplexPat5, /*#*/0,
14371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14372 MVT::v8i32, 2, 1, 2,
14373 10,
14374 OPC_CheckPatternPredicate4,
14375 OPC_CheckComplexPat5, /*#*/0,
14376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
14377 MVT::v8i32, 2, 1, 2,
14378 8,
14379 OPC_CheckPatternPredicate0,
14380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14381 MVT::v8i32, 2, 0, 1,
14382 0,
14383 55, MVT::v4i64,
14384 OPC_Scope, 10,
14385 OPC_CheckPatternPredicate2,
14386 OPC_CheckComplexPat5, /*#*/1,
14387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14388 MVT::v4i64, 2, 0, 2,
14389 10,
14390 OPC_CheckPatternPredicate4,
14391 OPC_CheckComplexPat5, /*#*/1,
14392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14393 MVT::v4i64, 2, 0, 2,
14394 10,
14395 OPC_CheckPatternPredicate2,
14396 OPC_CheckComplexPat5, /*#*/0,
14397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14398 MVT::v4i64, 2, 1, 2,
14399 10,
14400 OPC_CheckPatternPredicate4,
14401 OPC_CheckComplexPat5, /*#*/0,
14402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
14403 MVT::v4i64, 2, 1, 2,
14404 8,
14405 OPC_CheckPatternPredicate0,
14406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
14407 MVT::v4i64, 2, 0, 1,
14408 0,
14409 0,
14410 0,
14411 124|128,34, TARGET_VAL(ISD::AND),
14412 OPC_Scope, 32,
14413 OPC_RecordChild0,
14414 OPC_MoveChild1,
14415 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14416 OPC_RecordChild0,
14417 OPC_CheckChild1Integer, 3,
14418 OPC_MoveParent,
14419 OPC_SwitchType , 8, MVT::i64,
14420 OPC_CheckPatternPredicate7,
14421 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14422 MVT::i64, 2, 0, 1,
14423 9, MVT::i32,
14424 OPC_CheckPatternPredicate, 8,
14425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14426 MVT::i32, 2, 0, 1,
14427 0,
14428 32,
14429 OPC_MoveChild0,
14430 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14431 OPC_RecordChild0,
14432 OPC_CheckChild1Integer, 3,
14433 OPC_MoveParent,
14434 OPC_RecordChild1,
14435 OPC_SwitchType , 8, MVT::i64,
14436 OPC_CheckPatternPredicate7,
14437 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14438 MVT::i64, 2, 1, 0,
14439 9, MVT::i32,
14440 OPC_CheckPatternPredicate, 8,
14441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDN),
14442 MVT::i32, 2, 1, 0,
14443 0,
14444 21|128,2,
14445 OPC_RecordChild0,
14446 OPC_Scope, 34|128,1,
14447 OPC_RecordChild1,
14448 OPC_Scope, 8|128,1,
14449 OPC_MoveChild1,
14450 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14451 OPC_Scope, 28,
14452 OPC_CheckPredicate, 41,
14453 OPC_MoveParent,
14454 OPC_SwitchType , 9, MVT::i64,
14455 OPC_CheckPatternPredicate7,
14456 OPC_EmitConvertToTarget1,
14457 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDI),
14458 MVT::i64, 2, 0, 2,
14459 10, MVT::i32,
14460 OPC_CheckPatternPredicate, 8,
14461 OPC_EmitConvertToTarget1,
14462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ANDI),
14463 MVT::i32, 2, 0, 2,
14464 0,
14465 100,
14466 OPC_CheckPredicate, 59,
14467 OPC_MoveParent,
14468 OPC_SwitchType , 45, MVT::i64,
14469 OPC_Scope, 21,
14470 OPC_CheckPatternPredicate, 15,
14471 OPC_EmitRegisterI64, LoongArch::R0,
14472 OPC_EmitConvertToTarget1,
14473 OPC_EmitNodeXForm, 8, 3,
14474 OPC_EmitConvertToTarget1,
14475 OPC_EmitNodeXForm, 9, 5,
14476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
14477 MVT::i64, 4, 0, 2, 4, 6,
14478 20,
14479 OPC_CheckPatternPredicate6,
14480 OPC_EmitRegisterI64, LoongArch::R0,
14481 OPC_EmitConvertToTarget1,
14482 OPC_EmitNodeXForm, 8, 3,
14483 OPC_EmitConvertToTarget1,
14484 OPC_EmitNodeXForm, 9, 5,
14485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
14486 MVT::i64, 4, 0, 2, 4, 6,
14487 0,
14488 46, MVT::i32,
14489 OPC_Scope, 21,
14490 OPC_CheckPatternPredicate, 9,
14491 OPC_EmitRegisterI32, LoongArch::R0,
14492 OPC_EmitConvertToTarget1,
14493 OPC_EmitNodeXForm, 8, 3,
14494 OPC_EmitConvertToTarget1,
14495 OPC_EmitNodeXForm, 9, 5,
14496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
14497 MVT::i32, 4, 0, 2, 4, 6,
14498 21,
14499 OPC_CheckPatternPredicate, 10,
14500 OPC_EmitRegisterI32, LoongArch::R0,
14501 OPC_EmitConvertToTarget1,
14502 OPC_EmitNodeXForm, 8, 3,
14503 OPC_EmitConvertToTarget1,
14504 OPC_EmitNodeXForm, 9, 5,
14505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
14506 MVT::i32, 4, 0, 2, 4, 6,
14507 0,
14508 0,
14509 0,
14510 9,
14511 OPC_CheckTypeI64,
14512 OPC_CheckPatternPredicate7,
14513 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::AND),
14514 MVT::i64, 2, 0, 1,
14515 10,
14516 OPC_CheckTypeI32,
14517 OPC_CheckPatternPredicate, 8,
14518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::AND),
14519 MVT::i32, 2, 0, 1,
14520 0,
14521 109,
14522 OPC_MoveChild1,
14523 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14524 OPC_MoveChild0,
14525 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14526 OPC_MoveChild0,
14527 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14528 OPC_MoveChild0,
14529 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14530 OPC_CheckType, MVT::v4i32,
14531 OPC_MoveParent,
14532 OPC_CheckPredicate0,
14533 OPC_MoveSibling1,
14534 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14535 OPC_Scope, 50,
14536 OPC_RecordChild0,
14537 OPC_MoveChild1,
14538 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14539 OPC_MoveChild0,
14540 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14541 OPC_CheckType, MVT::v4i32,
14542 OPC_MoveParent,
14543 OPC_CheckPredicate3,
14544 OPC_MoveParent,
14545 OPC_SwitchType , 15, MVT::v2i64,
14546 OPC_MoveParent,
14547 OPC_MoveSibling1,
14548 OPC_CheckImmAllOnesV,
14549 OPC_MoveParent,
14550 OPC_MoveParent,
14551 OPC_CheckType, MVT::v2i64,
14552 OPC_CheckPatternPredicate1,
14553 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14554 MVT::v2i64, 2, 0, 1,
14555 15, MVT::v4i64,
14556 OPC_MoveParent,
14557 OPC_MoveSibling1,
14558 OPC_CheckImmAllOnesV,
14559 OPC_MoveParent,
14560 OPC_MoveParent,
14561 OPC_CheckType, MVT::v4i64,
14562 OPC_CheckPatternPredicate0,
14563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14564 MVT::v4i64, 2, 0, 1,
14565 0,
14566 31,
14567 OPC_MoveChild0,
14568 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14569 OPC_MoveChild0,
14570 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14571 OPC_CheckType, MVT::v4i32,
14572 OPC_MoveParent,
14573 OPC_CheckPredicate3,
14574 OPC_MoveParent,
14575 OPC_RecordChild1,
14576 OPC_CheckType, MVT::v2i64,
14577 OPC_MoveParent,
14578 OPC_MoveSibling1,
14579 OPC_CheckImmAllOnesV,
14580 OPC_MoveParent,
14581 OPC_MoveParent,
14582 OPC_CheckType, MVT::v2i64,
14583 OPC_CheckPatternPredicate1,
14584 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14585 MVT::v2i64, 2, 0, 1,
14586 0,
14587 0,
14588 92,
14589 OPC_MoveChild0,
14590 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14591 OPC_MoveChild0,
14592 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14593 OPC_MoveChild0,
14594 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14595 OPC_MoveChild0,
14596 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14597 OPC_CheckType, MVT::v4i32,
14598 OPC_MoveParent,
14599 OPC_CheckPredicate0,
14600 OPC_MoveSibling1,
14601 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14602 OPC_Scope, 32,
14603 OPC_RecordChild0,
14604 OPC_MoveChild1,
14605 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14606 OPC_MoveChild0,
14607 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14608 OPC_CheckType, MVT::v4i32,
14609 OPC_MoveParent,
14610 OPC_CheckPredicate3,
14611 OPC_MoveParent,
14612 OPC_CheckType, MVT::v2i64,
14613 OPC_MoveParent,
14614 OPC_MoveSibling1,
14615 OPC_CheckImmAllOnesV,
14616 OPC_MoveParent,
14617 OPC_MoveParent,
14618 OPC_RecordChild1,
14619 OPC_CheckType, MVT::v2i64,
14620 OPC_CheckPatternPredicate1,
14621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14622 MVT::v2i64, 2, 1, 0,
14623 32,
14624 OPC_MoveChild0,
14625 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14626 OPC_MoveChild0,
14627 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14628 OPC_CheckType, MVT::v4i32,
14629 OPC_MoveParent,
14630 OPC_CheckPredicate3,
14631 OPC_MoveParent,
14632 OPC_RecordChild1,
14633 OPC_CheckType, MVT::v2i64,
14634 OPC_MoveParent,
14635 OPC_MoveSibling1,
14636 OPC_CheckImmAllOnesV,
14637 OPC_MoveParent,
14638 OPC_MoveParent,
14639 OPC_RecordChild1,
14640 OPC_CheckType, MVT::v2i64,
14641 OPC_CheckPatternPredicate1,
14642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14643 MVT::v2i64, 2, 1, 0,
14644 0,
14645 56,
14646 OPC_RecordChild0,
14647 OPC_MoveChild1,
14648 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14649 OPC_MoveChild0,
14650 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14651 OPC_MoveChild0,
14652 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14653 OPC_MoveChild0,
14654 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14655 OPC_CheckType, MVT::v4i32,
14656 OPC_MoveParent,
14657 OPC_CheckPredicate0,
14658 OPC_MoveSibling1,
14659 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14660 OPC_MoveChild0,
14661 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14662 OPC_MoveChild0,
14663 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14664 OPC_CheckType, MVT::v4i32,
14665 OPC_MoveParent,
14666 OPC_CheckPredicate3,
14667 OPC_MoveParent,
14668 OPC_RecordChild1,
14669 OPC_CheckType, MVT::v4i64,
14670 OPC_MoveParent,
14671 OPC_MoveSibling1,
14672 OPC_CheckImmAllOnesV,
14673 OPC_MoveParent,
14674 OPC_MoveParent,
14675 OPC_CheckType, MVT::v4i64,
14676 OPC_CheckPatternPredicate0,
14677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14678 MVT::v4i64, 2, 0, 1,
14679 92,
14680 OPC_MoveChild0,
14681 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14682 OPC_MoveChild0,
14683 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14684 OPC_MoveChild0,
14685 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14686 OPC_MoveChild0,
14687 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14688 OPC_CheckType, MVT::v4i32,
14689 OPC_MoveParent,
14690 OPC_CheckPredicate0,
14691 OPC_MoveSibling1,
14692 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14693 OPC_Scope, 32,
14694 OPC_RecordChild0,
14695 OPC_MoveChild1,
14696 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14697 OPC_MoveChild0,
14698 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14699 OPC_CheckType, MVT::v4i32,
14700 OPC_MoveParent,
14701 OPC_CheckPredicate3,
14702 OPC_MoveParent,
14703 OPC_CheckType, MVT::v4i64,
14704 OPC_MoveParent,
14705 OPC_MoveSibling1,
14706 OPC_CheckImmAllOnesV,
14707 OPC_MoveParent,
14708 OPC_MoveParent,
14709 OPC_RecordChild1,
14710 OPC_CheckType, MVT::v4i64,
14711 OPC_CheckPatternPredicate0,
14712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14713 MVT::v4i64, 2, 1, 0,
14714 32,
14715 OPC_MoveChild0,
14716 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14717 OPC_MoveChild0,
14718 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14719 OPC_CheckType, MVT::v4i32,
14720 OPC_MoveParent,
14721 OPC_CheckPredicate3,
14722 OPC_MoveParent,
14723 OPC_RecordChild1,
14724 OPC_CheckType, MVT::v4i64,
14725 OPC_MoveParent,
14726 OPC_MoveSibling1,
14727 OPC_CheckImmAllOnesV,
14728 OPC_MoveParent,
14729 OPC_MoveParent,
14730 OPC_RecordChild1,
14731 OPC_CheckType, MVT::v4i64,
14732 OPC_CheckPatternPredicate0,
14733 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14734 MVT::v4i64, 2, 1, 0,
14735 0,
14736 9|128,2,
14737 OPC_RecordChild0,
14738 OPC_MoveChild1,
14739 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14740 OPC_MoveChild0,
14741 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14742 OPC_MoveChild0,
14743 OPC_SwitchOpcode , 63|128,1, TARGET_VAL(ISD::BITCAST),
14744 OPC_MoveChild0,
14745 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14746 OPC_CheckType, MVT::v4i32,
14747 OPC_MoveParent,
14748 OPC_CheckPredicate0,
14749 OPC_MoveSibling1,
14750 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14751 OPC_Scope, 22|128,1,
14752 OPC_RecordChild0,
14753 OPC_MoveChild1,
14754 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14755 OPC_Scope, 19,
14756 OPC_CheckPredicate7,
14757 OPC_MoveParent,
14758 OPC_CheckType, MVT::v16i8,
14759 OPC_MoveParent,
14760 OPC_MoveSibling1,
14761 OPC_CheckImmAllOnesV,
14762 OPC_MoveParent,
14763 OPC_MoveParent,
14764 OPC_CheckType, MVT::v16i8,
14765 OPC_CheckPatternPredicate1,
14766 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14767 MVT::v16i8, 2, 0, 1,
14768 20,
14769 OPC_CheckPredicate, 8,
14770 OPC_MoveParent,
14771 OPC_CheckType, MVT::v8i16,
14772 OPC_MoveParent,
14773 OPC_MoveSibling1,
14774 OPC_CheckImmAllOnesV,
14775 OPC_MoveParent,
14776 OPC_MoveParent,
14777 OPC_CheckType, MVT::v8i16,
14778 OPC_CheckPatternPredicate1,
14779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
14780 MVT::v8i16, 2, 0, 1,
14781 19,
14782 OPC_CheckPredicate3,
14783 OPC_MoveParent,
14784 OPC_CheckType, MVT::v2i64,
14785 OPC_MoveParent,
14786 OPC_MoveSibling1,
14787 OPC_CheckImmAllOnesV,
14788 OPC_MoveParent,
14789 OPC_MoveParent,
14790 OPC_CheckType, MVT::v2i64,
14791 OPC_CheckPatternPredicate1,
14792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14793 MVT::v2i64, 2, 0, 1,
14794 19,
14795 OPC_CheckPredicate7,
14796 OPC_MoveParent,
14797 OPC_CheckType, MVT::v32i8,
14798 OPC_MoveParent,
14799 OPC_MoveSibling1,
14800 OPC_CheckImmAllOnesV,
14801 OPC_MoveParent,
14802 OPC_MoveParent,
14803 OPC_CheckType, MVT::v32i8,
14804 OPC_CheckPatternPredicate0,
14805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
14806 MVT::v32i8, 2, 0, 1,
14807 20,
14808 OPC_CheckPredicate, 8,
14809 OPC_MoveParent,
14810 OPC_CheckType, MVT::v16i16,
14811 OPC_MoveParent,
14812 OPC_MoveSibling1,
14813 OPC_CheckImmAllOnesV,
14814 OPC_MoveParent,
14815 OPC_MoveParent,
14816 OPC_CheckType, MVT::v16i16,
14817 OPC_CheckPatternPredicate0,
14818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
14819 MVT::v16i16, 2, 0, 1,
14820 20,
14821 OPC_CheckPredicate, 9,
14822 OPC_MoveParent,
14823 OPC_CheckType, MVT::v8i32,
14824 OPC_MoveParent,
14825 OPC_MoveSibling1,
14826 OPC_CheckImmAllOnesV,
14827 OPC_MoveParent,
14828 OPC_MoveParent,
14829 OPC_CheckType, MVT::v8i32,
14830 OPC_CheckPatternPredicate0,
14831 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
14832 MVT::v8i32, 2, 0, 1,
14833 19,
14834 OPC_CheckPredicate3,
14835 OPC_MoveParent,
14836 OPC_CheckType, MVT::v4i64,
14837 OPC_MoveParent,
14838 OPC_MoveSibling1,
14839 OPC_CheckImmAllOnesV,
14840 OPC_MoveParent,
14841 OPC_MoveParent,
14842 OPC_CheckType, MVT::v4i64,
14843 OPC_CheckPatternPredicate0,
14844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14845 MVT::v4i64, 2, 0, 1,
14846 0,
14847 24,
14848 OPC_MoveChild0,
14849 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14850 OPC_CheckPredicate7,
14851 OPC_MoveParent,
14852 OPC_RecordChild1,
14853 OPC_CheckType, MVT::v16i8,
14854 OPC_MoveParent,
14855 OPC_MoveSibling1,
14856 OPC_CheckImmAllOnesV,
14857 OPC_MoveParent,
14858 OPC_MoveParent,
14859 OPC_CheckType, MVT::v16i8,
14860 OPC_CheckPatternPredicate1,
14861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14862 MVT::v16i8, 2, 0, 1,
14863 0,
14864 55, TARGET_VAL(ISD::BUILD_VECTOR),
14865 OPC_CheckPredicate0,
14866 OPC_MoveSibling1,
14867 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14868 OPC_RecordChild0,
14869 OPC_MoveChild1,
14870 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14871 OPC_MoveChild0,
14872 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14873 OPC_CheckType, MVT::v4i32,
14874 OPC_MoveParent,
14875 OPC_CheckPredicate3,
14876 OPC_MoveParent,
14877 OPC_SwitchType , 15, MVT::v2i64,
14878 OPC_MoveParent,
14879 OPC_MoveSibling1,
14880 OPC_CheckImmAllOnesV,
14881 OPC_MoveParent,
14882 OPC_MoveParent,
14883 OPC_CheckType, MVT::v2i64,
14884 OPC_CheckPatternPredicate1,
14885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
14886 MVT::v2i64, 2, 0, 1,
14887 15, MVT::v4i64,
14888 OPC_MoveParent,
14889 OPC_MoveSibling1,
14890 OPC_CheckImmAllOnesV,
14891 OPC_MoveParent,
14892 OPC_MoveParent,
14893 OPC_CheckType, MVT::v4i64,
14894 OPC_CheckPatternPredicate0,
14895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
14896 MVT::v4i64, 2, 0, 1,
14897 0,
14898 0,
14899 78,
14900 OPC_MoveChild0,
14901 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14902 OPC_MoveChild0,
14903 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14904 OPC_MoveChild0,
14905 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14906 OPC_MoveChild0,
14907 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14908 OPC_CheckType, MVT::v4i32,
14909 OPC_MoveParent,
14910 OPC_CheckPredicate0,
14911 OPC_MoveSibling1,
14912 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14913 OPC_Scope, 25,
14914 OPC_RecordChild0,
14915 OPC_MoveChild1,
14916 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14917 OPC_CheckPredicate7,
14918 OPC_MoveParent,
14919 OPC_CheckType, MVT::v16i8,
14920 OPC_MoveParent,
14921 OPC_MoveSibling1,
14922 OPC_CheckImmAllOnesV,
14923 OPC_MoveParent,
14924 OPC_MoveParent,
14925 OPC_RecordChild1,
14926 OPC_CheckType, MVT::v16i8,
14927 OPC_CheckPatternPredicate1,
14928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14929 MVT::v16i8, 2, 1, 0,
14930 25,
14931 OPC_MoveChild0,
14932 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14933 OPC_CheckPredicate7,
14934 OPC_MoveParent,
14935 OPC_RecordChild1,
14936 OPC_CheckType, MVT::v16i8,
14937 OPC_MoveParent,
14938 OPC_MoveSibling1,
14939 OPC_CheckImmAllOnesV,
14940 OPC_MoveParent,
14941 OPC_MoveParent,
14942 OPC_RecordChild1,
14943 OPC_CheckType, MVT::v16i8,
14944 OPC_CheckPatternPredicate1,
14945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
14946 MVT::v16i8, 2, 1, 0,
14947 0,
14948 50,
14949 OPC_RecordChild0,
14950 OPC_MoveChild1,
14951 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14952 OPC_MoveChild0,
14953 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14954 OPC_MoveChild0,
14955 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14956 OPC_MoveChild0,
14957 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14958 OPC_CheckType, MVT::v4i32,
14959 OPC_MoveParent,
14960 OPC_CheckPredicate0,
14961 OPC_MoveSibling1,
14962 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14963 OPC_MoveChild0,
14964 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14965 OPC_CheckPredicate, 8,
14966 OPC_MoveParent,
14967 OPC_RecordChild1,
14968 OPC_CheckType, MVT::v8i16,
14969 OPC_MoveParent,
14970 OPC_MoveSibling1,
14971 OPC_CheckImmAllOnesV,
14972 OPC_MoveParent,
14973 OPC_MoveParent,
14974 OPC_CheckType, MVT::v8i16,
14975 OPC_CheckPatternPredicate1,
14976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
14977 MVT::v8i16, 2, 0, 1,
14978 80,
14979 OPC_MoveChild0,
14980 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
14981 OPC_MoveChild0,
14982 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
14983 OPC_MoveChild0,
14984 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
14985 OPC_MoveChild0,
14986 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14987 OPC_CheckType, MVT::v4i32,
14988 OPC_MoveParent,
14989 OPC_CheckPredicate0,
14990 OPC_MoveSibling1,
14991 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
14992 OPC_Scope, 26,
14993 OPC_RecordChild0,
14994 OPC_MoveChild1,
14995 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
14996 OPC_CheckPredicate, 8,
14997 OPC_MoveParent,
14998 OPC_CheckType, MVT::v8i16,
14999 OPC_MoveParent,
15000 OPC_MoveSibling1,
15001 OPC_CheckImmAllOnesV,
15002 OPC_MoveParent,
15003 OPC_MoveParent,
15004 OPC_RecordChild1,
15005 OPC_CheckType, MVT::v8i16,
15006 OPC_CheckPatternPredicate1,
15007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15008 MVT::v8i16, 2, 1, 0,
15009 26,
15010 OPC_MoveChild0,
15011 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15012 OPC_CheckPredicate, 8,
15013 OPC_MoveParent,
15014 OPC_RecordChild1,
15015 OPC_CheckType, MVT::v8i16,
15016 OPC_MoveParent,
15017 OPC_MoveSibling1,
15018 OPC_CheckImmAllOnesV,
15019 OPC_MoveParent,
15020 OPC_MoveParent,
15021 OPC_RecordChild1,
15022 OPC_CheckType, MVT::v8i16,
15023 OPC_CheckPatternPredicate1,
15024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15025 MVT::v8i16, 2, 1, 0,
15026 0,
15027 49,
15028 OPC_RecordChild0,
15029 OPC_MoveChild1,
15030 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15031 OPC_MoveChild0,
15032 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15033 OPC_MoveChild0,
15034 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15035 OPC_CheckPredicate0,
15036 OPC_MoveSibling1,
15037 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15038 OPC_MoveChild0,
15039 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15040 OPC_MoveChild0,
15041 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15042 OPC_CheckType, MVT::v4i32,
15043 OPC_MoveParent,
15044 OPC_CheckPredicate3,
15045 OPC_MoveParent,
15046 OPC_RecordChild1,
15047 OPC_CheckType, MVT::v2i64,
15048 OPC_MoveParent,
15049 OPC_MoveSibling1,
15050 OPC_CheckImmAllOnesV,
15051 OPC_MoveParent,
15052 OPC_MoveParent,
15053 OPC_CheckType, MVT::v2i64,
15054 OPC_CheckPatternPredicate1,
15055 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15056 MVT::v2i64, 2, 0, 1,
15057 85,
15058 OPC_MoveChild0,
15059 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15060 OPC_MoveChild0,
15061 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15062 OPC_MoveChild0,
15063 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15064 OPC_CheckPredicate0,
15065 OPC_MoveSibling1,
15066 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15067 OPC_Scope, 32,
15068 OPC_RecordChild0,
15069 OPC_MoveChild1,
15070 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15071 OPC_MoveChild0,
15072 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15073 OPC_CheckType, MVT::v4i32,
15074 OPC_MoveParent,
15075 OPC_CheckPredicate3,
15076 OPC_MoveParent,
15077 OPC_CheckType, MVT::v2i64,
15078 OPC_MoveParent,
15079 OPC_MoveSibling1,
15080 OPC_CheckImmAllOnesV,
15081 OPC_MoveParent,
15082 OPC_MoveParent,
15083 OPC_RecordChild1,
15084 OPC_CheckType, MVT::v2i64,
15085 OPC_CheckPatternPredicate1,
15086 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15087 MVT::v2i64, 2, 1, 0,
15088 32,
15089 OPC_MoveChild0,
15090 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15091 OPC_MoveChild0,
15092 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15093 OPC_CheckType, MVT::v4i32,
15094 OPC_MoveParent,
15095 OPC_CheckPredicate3,
15096 OPC_MoveParent,
15097 OPC_RecordChild1,
15098 OPC_CheckType, MVT::v2i64,
15099 OPC_MoveParent,
15100 OPC_MoveSibling1,
15101 OPC_CheckImmAllOnesV,
15102 OPC_MoveParent,
15103 OPC_MoveParent,
15104 OPC_RecordChild1,
15105 OPC_CheckType, MVT::v2i64,
15106 OPC_CheckPatternPredicate1,
15107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15108 MVT::v2i64, 2, 1, 0,
15109 0,
15110 49,
15111 OPC_RecordChild0,
15112 OPC_MoveChild1,
15113 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15114 OPC_MoveChild0,
15115 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15116 OPC_MoveChild0,
15117 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15118 OPC_MoveChild0,
15119 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15120 OPC_CheckType, MVT::v4i32,
15121 OPC_MoveParent,
15122 OPC_CheckPredicate0,
15123 OPC_MoveSibling1,
15124 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15125 OPC_MoveChild0,
15126 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15127 OPC_CheckPredicate3,
15128 OPC_MoveParent,
15129 OPC_RecordChild1,
15130 OPC_CheckType, MVT::v2i64,
15131 OPC_MoveParent,
15132 OPC_MoveSibling1,
15133 OPC_CheckImmAllOnesV,
15134 OPC_MoveParent,
15135 OPC_MoveParent,
15136 OPC_CheckType, MVT::v2i64,
15137 OPC_CheckPatternPredicate1,
15138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15139 MVT::v2i64, 2, 0, 1,
15140 78,
15141 OPC_MoveChild0,
15142 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15143 OPC_MoveChild0,
15144 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15145 OPC_MoveChild0,
15146 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15147 OPC_MoveChild0,
15148 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15149 OPC_CheckType, MVT::v4i32,
15150 OPC_MoveParent,
15151 OPC_CheckPredicate0,
15152 OPC_MoveSibling1,
15153 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15154 OPC_Scope, 25,
15155 OPC_RecordChild0,
15156 OPC_MoveChild1,
15157 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15158 OPC_CheckPredicate3,
15159 OPC_MoveParent,
15160 OPC_CheckType, MVT::v2i64,
15161 OPC_MoveParent,
15162 OPC_MoveSibling1,
15163 OPC_CheckImmAllOnesV,
15164 OPC_MoveParent,
15165 OPC_MoveParent,
15166 OPC_RecordChild1,
15167 OPC_CheckType, MVT::v2i64,
15168 OPC_CheckPatternPredicate1,
15169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15170 MVT::v2i64, 2, 1, 0,
15171 25,
15172 OPC_MoveChild0,
15173 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15174 OPC_CheckPredicate3,
15175 OPC_MoveParent,
15176 OPC_RecordChild1,
15177 OPC_CheckType, MVT::v2i64,
15178 OPC_MoveParent,
15179 OPC_MoveSibling1,
15180 OPC_CheckImmAllOnesV,
15181 OPC_MoveParent,
15182 OPC_MoveParent,
15183 OPC_RecordChild1,
15184 OPC_CheckType, MVT::v2i64,
15185 OPC_CheckPatternPredicate1,
15186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15187 MVT::v2i64, 2, 1, 0,
15188 0,
15189 49,
15190 OPC_RecordChild0,
15191 OPC_MoveChild1,
15192 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15193 OPC_MoveChild0,
15194 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15195 OPC_MoveChild0,
15196 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15197 OPC_MoveChild0,
15198 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15199 OPC_CheckType, MVT::v4i32,
15200 OPC_MoveParent,
15201 OPC_CheckPredicate0,
15202 OPC_MoveSibling1,
15203 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15204 OPC_MoveChild0,
15205 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15206 OPC_CheckPredicate7,
15207 OPC_MoveParent,
15208 OPC_RecordChild1,
15209 OPC_CheckType, MVT::v32i8,
15210 OPC_MoveParent,
15211 OPC_MoveSibling1,
15212 OPC_CheckImmAllOnesV,
15213 OPC_MoveParent,
15214 OPC_MoveParent,
15215 OPC_CheckType, MVT::v32i8,
15216 OPC_CheckPatternPredicate0,
15217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15218 MVT::v32i8, 2, 0, 1,
15219 78,
15220 OPC_MoveChild0,
15221 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15222 OPC_MoveChild0,
15223 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15224 OPC_MoveChild0,
15225 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15226 OPC_MoveChild0,
15227 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15228 OPC_CheckType, MVT::v4i32,
15229 OPC_MoveParent,
15230 OPC_CheckPredicate0,
15231 OPC_MoveSibling1,
15232 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15233 OPC_Scope, 25,
15234 OPC_RecordChild0,
15235 OPC_MoveChild1,
15236 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15237 OPC_CheckPredicate7,
15238 OPC_MoveParent,
15239 OPC_CheckType, MVT::v32i8,
15240 OPC_MoveParent,
15241 OPC_MoveSibling1,
15242 OPC_CheckImmAllOnesV,
15243 OPC_MoveParent,
15244 OPC_MoveParent,
15245 OPC_RecordChild1,
15246 OPC_CheckType, MVT::v32i8,
15247 OPC_CheckPatternPredicate0,
15248 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15249 MVT::v32i8, 2, 1, 0,
15250 25,
15251 OPC_MoveChild0,
15252 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15253 OPC_CheckPredicate7,
15254 OPC_MoveParent,
15255 OPC_RecordChild1,
15256 OPC_CheckType, MVT::v32i8,
15257 OPC_MoveParent,
15258 OPC_MoveSibling1,
15259 OPC_CheckImmAllOnesV,
15260 OPC_MoveParent,
15261 OPC_MoveParent,
15262 OPC_RecordChild1,
15263 OPC_CheckType, MVT::v32i8,
15264 OPC_CheckPatternPredicate0,
15265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15266 MVT::v32i8, 2, 1, 0,
15267 0,
15268 50,
15269 OPC_RecordChild0,
15270 OPC_MoveChild1,
15271 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15272 OPC_MoveChild0,
15273 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15274 OPC_MoveChild0,
15275 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15276 OPC_MoveChild0,
15277 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15278 OPC_CheckType, MVT::v4i32,
15279 OPC_MoveParent,
15280 OPC_CheckPredicate0,
15281 OPC_MoveSibling1,
15282 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15283 OPC_MoveChild0,
15284 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15285 OPC_CheckPredicate, 8,
15286 OPC_MoveParent,
15287 OPC_RecordChild1,
15288 OPC_CheckType, MVT::v16i16,
15289 OPC_MoveParent,
15290 OPC_MoveSibling1,
15291 OPC_CheckImmAllOnesV,
15292 OPC_MoveParent,
15293 OPC_MoveParent,
15294 OPC_CheckType, MVT::v16i16,
15295 OPC_CheckPatternPredicate0,
15296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15297 MVT::v16i16, 2, 0, 1,
15298 80,
15299 OPC_MoveChild0,
15300 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15301 OPC_MoveChild0,
15302 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15303 OPC_MoveChild0,
15304 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15305 OPC_MoveChild0,
15306 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15307 OPC_CheckType, MVT::v4i32,
15308 OPC_MoveParent,
15309 OPC_CheckPredicate0,
15310 OPC_MoveSibling1,
15311 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15312 OPC_Scope, 26,
15313 OPC_RecordChild0,
15314 OPC_MoveChild1,
15315 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15316 OPC_CheckPredicate, 8,
15317 OPC_MoveParent,
15318 OPC_CheckType, MVT::v16i16,
15319 OPC_MoveParent,
15320 OPC_MoveSibling1,
15321 OPC_CheckImmAllOnesV,
15322 OPC_MoveParent,
15323 OPC_MoveParent,
15324 OPC_RecordChild1,
15325 OPC_CheckType, MVT::v16i16,
15326 OPC_CheckPatternPredicate0,
15327 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15328 MVT::v16i16, 2, 1, 0,
15329 26,
15330 OPC_MoveChild0,
15331 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15332 OPC_CheckPredicate, 8,
15333 OPC_MoveParent,
15334 OPC_RecordChild1,
15335 OPC_CheckType, MVT::v16i16,
15336 OPC_MoveParent,
15337 OPC_MoveSibling1,
15338 OPC_CheckImmAllOnesV,
15339 OPC_MoveParent,
15340 OPC_MoveParent,
15341 OPC_RecordChild1,
15342 OPC_CheckType, MVT::v16i16,
15343 OPC_CheckPatternPredicate0,
15344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15345 MVT::v16i16, 2, 1, 0,
15346 0,
15347 50,
15348 OPC_RecordChild0,
15349 OPC_MoveChild1,
15350 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15351 OPC_MoveChild0,
15352 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15353 OPC_MoveChild0,
15354 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15355 OPC_MoveChild0,
15356 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15357 OPC_CheckType, MVT::v4i32,
15358 OPC_MoveParent,
15359 OPC_CheckPredicate0,
15360 OPC_MoveSibling1,
15361 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15362 OPC_MoveChild0,
15363 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15364 OPC_CheckPredicate, 9,
15365 OPC_MoveParent,
15366 OPC_RecordChild1,
15367 OPC_CheckType, MVT::v8i32,
15368 OPC_MoveParent,
15369 OPC_MoveSibling1,
15370 OPC_CheckImmAllOnesV,
15371 OPC_MoveParent,
15372 OPC_MoveParent,
15373 OPC_CheckType, MVT::v8i32,
15374 OPC_CheckPatternPredicate0,
15375 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15376 MVT::v8i32, 2, 0, 1,
15377 80,
15378 OPC_MoveChild0,
15379 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15380 OPC_MoveChild0,
15381 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15382 OPC_MoveChild0,
15383 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15384 OPC_MoveChild0,
15385 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15386 OPC_CheckType, MVT::v4i32,
15387 OPC_MoveParent,
15388 OPC_CheckPredicate0,
15389 OPC_MoveSibling1,
15390 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15391 OPC_Scope, 26,
15392 OPC_RecordChild0,
15393 OPC_MoveChild1,
15394 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15395 OPC_CheckPredicate, 9,
15396 OPC_MoveParent,
15397 OPC_CheckType, MVT::v8i32,
15398 OPC_MoveParent,
15399 OPC_MoveSibling1,
15400 OPC_CheckImmAllOnesV,
15401 OPC_MoveParent,
15402 OPC_MoveParent,
15403 OPC_RecordChild1,
15404 OPC_CheckType, MVT::v8i32,
15405 OPC_CheckPatternPredicate0,
15406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15407 MVT::v8i32, 2, 1, 0,
15408 26,
15409 OPC_MoveChild0,
15410 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15411 OPC_CheckPredicate, 9,
15412 OPC_MoveParent,
15413 OPC_RecordChild1,
15414 OPC_CheckType, MVT::v8i32,
15415 OPC_MoveParent,
15416 OPC_MoveSibling1,
15417 OPC_CheckImmAllOnesV,
15418 OPC_MoveParent,
15419 OPC_MoveParent,
15420 OPC_RecordChild1,
15421 OPC_CheckType, MVT::v8i32,
15422 OPC_CheckPatternPredicate0,
15423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15424 MVT::v8i32, 2, 1, 0,
15425 0,
15426 49,
15427 OPC_RecordChild0,
15428 OPC_MoveChild1,
15429 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15430 OPC_MoveChild0,
15431 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15432 OPC_MoveChild0,
15433 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15434 OPC_CheckPredicate0,
15435 OPC_MoveSibling1,
15436 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15437 OPC_MoveChild0,
15438 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15439 OPC_MoveChild0,
15440 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15441 OPC_CheckType, MVT::v4i32,
15442 OPC_MoveParent,
15443 OPC_CheckPredicate3,
15444 OPC_MoveParent,
15445 OPC_RecordChild1,
15446 OPC_CheckType, MVT::v4i64,
15447 OPC_MoveParent,
15448 OPC_MoveSibling1,
15449 OPC_CheckImmAllOnesV,
15450 OPC_MoveParent,
15451 OPC_MoveParent,
15452 OPC_CheckType, MVT::v4i64,
15453 OPC_CheckPatternPredicate0,
15454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15455 MVT::v4i64, 2, 0, 1,
15456 85,
15457 OPC_MoveChild0,
15458 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15459 OPC_MoveChild0,
15460 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15461 OPC_MoveChild0,
15462 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15463 OPC_CheckPredicate0,
15464 OPC_MoveSibling1,
15465 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15466 OPC_Scope, 32,
15467 OPC_RecordChild0,
15468 OPC_MoveChild1,
15469 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15470 OPC_MoveChild0,
15471 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15472 OPC_CheckType, MVT::v4i32,
15473 OPC_MoveParent,
15474 OPC_CheckPredicate3,
15475 OPC_MoveParent,
15476 OPC_CheckType, MVT::v4i64,
15477 OPC_MoveParent,
15478 OPC_MoveSibling1,
15479 OPC_CheckImmAllOnesV,
15480 OPC_MoveParent,
15481 OPC_MoveParent,
15482 OPC_RecordChild1,
15483 OPC_CheckType, MVT::v4i64,
15484 OPC_CheckPatternPredicate0,
15485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15486 MVT::v4i64, 2, 1, 0,
15487 32,
15488 OPC_MoveChild0,
15489 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15490 OPC_MoveChild0,
15491 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15492 OPC_CheckType, MVT::v4i32,
15493 OPC_MoveParent,
15494 OPC_CheckPredicate3,
15495 OPC_MoveParent,
15496 OPC_RecordChild1,
15497 OPC_CheckType, MVT::v4i64,
15498 OPC_MoveParent,
15499 OPC_MoveSibling1,
15500 OPC_CheckImmAllOnesV,
15501 OPC_MoveParent,
15502 OPC_MoveParent,
15503 OPC_RecordChild1,
15504 OPC_CheckType, MVT::v4i64,
15505 OPC_CheckPatternPredicate0,
15506 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15507 MVT::v4i64, 2, 1, 0,
15508 0,
15509 49,
15510 OPC_RecordChild0,
15511 OPC_MoveChild1,
15512 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15513 OPC_MoveChild0,
15514 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15515 OPC_MoveChild0,
15516 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15517 OPC_MoveChild0,
15518 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15519 OPC_CheckType, MVT::v4i32,
15520 OPC_MoveParent,
15521 OPC_CheckPredicate0,
15522 OPC_MoveSibling1,
15523 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15524 OPC_MoveChild0,
15525 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15526 OPC_CheckPredicate3,
15527 OPC_MoveParent,
15528 OPC_RecordChild1,
15529 OPC_CheckType, MVT::v4i64,
15530 OPC_MoveParent,
15531 OPC_MoveSibling1,
15532 OPC_CheckImmAllOnesV,
15533 OPC_MoveParent,
15534 OPC_MoveParent,
15535 OPC_CheckType, MVT::v4i64,
15536 OPC_CheckPatternPredicate0,
15537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15538 MVT::v4i64, 2, 0, 1,
15539 78,
15540 OPC_MoveChild0,
15541 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15542 OPC_MoveChild0,
15543 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15544 OPC_MoveChild0,
15545 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15546 OPC_MoveChild0,
15547 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15548 OPC_CheckType, MVT::v4i32,
15549 OPC_MoveParent,
15550 OPC_CheckPredicate0,
15551 OPC_MoveSibling1,
15552 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15553 OPC_Scope, 25,
15554 OPC_RecordChild0,
15555 OPC_MoveChild1,
15556 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15557 OPC_CheckPredicate3,
15558 OPC_MoveParent,
15559 OPC_CheckType, MVT::v4i64,
15560 OPC_MoveParent,
15561 OPC_MoveSibling1,
15562 OPC_CheckImmAllOnesV,
15563 OPC_MoveParent,
15564 OPC_MoveParent,
15565 OPC_RecordChild1,
15566 OPC_CheckType, MVT::v4i64,
15567 OPC_CheckPatternPredicate0,
15568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15569 MVT::v4i64, 2, 1, 0,
15570 25,
15571 OPC_MoveChild0,
15572 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15573 OPC_CheckPredicate3,
15574 OPC_MoveParent,
15575 OPC_RecordChild1,
15576 OPC_CheckType, MVT::v4i64,
15577 OPC_MoveParent,
15578 OPC_MoveSibling1,
15579 OPC_CheckImmAllOnesV,
15580 OPC_MoveParent,
15581 OPC_MoveParent,
15582 OPC_RecordChild1,
15583 OPC_CheckType, MVT::v4i64,
15584 OPC_CheckPatternPredicate0,
15585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15586 MVT::v4i64, 2, 1, 0,
15587 0,
15588 90|128,1,
15589 OPC_RecordChild0,
15590 OPC_MoveChild1,
15591 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15592 OPC_MoveChild0,
15593 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15594 OPC_MoveChild0,
15595 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15596 OPC_CheckPredicate0,
15597 OPC_MoveSibling1,
15598 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15599 OPC_Scope, 43|128,1,
15600 OPC_RecordChild0,
15601 OPC_MoveChild1,
15602 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15603 OPC_Scope, 19,
15604 OPC_CheckPredicate7,
15605 OPC_MoveParent,
15606 OPC_CheckType, MVT::v16i8,
15607 OPC_MoveParent,
15608 OPC_MoveSibling1,
15609 OPC_CheckImmAllOnesV,
15610 OPC_MoveParent,
15611 OPC_MoveParent,
15612 OPC_CheckType, MVT::v16i8,
15613 OPC_CheckPatternPredicate1,
15614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15615 MVT::v16i8, 2, 0, 1,
15616 20,
15617 OPC_CheckPredicate, 8,
15618 OPC_MoveParent,
15619 OPC_CheckType, MVT::v8i16,
15620 OPC_MoveParent,
15621 OPC_MoveSibling1,
15622 OPC_CheckImmAllOnesV,
15623 OPC_MoveParent,
15624 OPC_MoveParent,
15625 OPC_CheckType, MVT::v8i16,
15626 OPC_CheckPatternPredicate1,
15627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15628 MVT::v8i16, 2, 0, 1,
15629 20,
15630 OPC_CheckPredicate, 9,
15631 OPC_MoveParent,
15632 OPC_CheckType, MVT::v4i32,
15633 OPC_MoveParent,
15634 OPC_MoveSibling1,
15635 OPC_CheckImmAllOnesV,
15636 OPC_MoveParent,
15637 OPC_MoveParent,
15638 OPC_CheckType, MVT::v4i32,
15639 OPC_CheckPatternPredicate1,
15640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15641 MVT::v4i32, 2, 0, 1,
15642 19,
15643 OPC_CheckPredicate3,
15644 OPC_MoveParent,
15645 OPC_CheckType, MVT::v2i64,
15646 OPC_MoveParent,
15647 OPC_MoveSibling1,
15648 OPC_CheckImmAllOnesV,
15649 OPC_MoveParent,
15650 OPC_MoveParent,
15651 OPC_CheckType, MVT::v2i64,
15652 OPC_CheckPatternPredicate1,
15653 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15654 MVT::v2i64, 2, 0, 1,
15655 19,
15656 OPC_CheckPredicate7,
15657 OPC_MoveParent,
15658 OPC_CheckType, MVT::v32i8,
15659 OPC_MoveParent,
15660 OPC_MoveSibling1,
15661 OPC_CheckImmAllOnesV,
15662 OPC_MoveParent,
15663 OPC_MoveParent,
15664 OPC_CheckType, MVT::v32i8,
15665 OPC_CheckPatternPredicate0,
15666 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
15667 MVT::v32i8, 2, 0, 1,
15668 20,
15669 OPC_CheckPredicate, 8,
15670 OPC_MoveParent,
15671 OPC_CheckType, MVT::v16i16,
15672 OPC_MoveParent,
15673 OPC_MoveSibling1,
15674 OPC_CheckImmAllOnesV,
15675 OPC_MoveParent,
15676 OPC_MoveParent,
15677 OPC_CheckType, MVT::v16i16,
15678 OPC_CheckPatternPredicate0,
15679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
15680 MVT::v16i16, 2, 0, 1,
15681 20,
15682 OPC_CheckPredicate, 9,
15683 OPC_MoveParent,
15684 OPC_CheckType, MVT::v8i32,
15685 OPC_MoveParent,
15686 OPC_MoveSibling1,
15687 OPC_CheckImmAllOnesV,
15688 OPC_MoveParent,
15689 OPC_MoveParent,
15690 OPC_CheckType, MVT::v8i32,
15691 OPC_CheckPatternPredicate0,
15692 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
15693 MVT::v8i32, 2, 0, 1,
15694 19,
15695 OPC_CheckPredicate3,
15696 OPC_MoveParent,
15697 OPC_CheckType, MVT::v4i64,
15698 OPC_MoveParent,
15699 OPC_MoveSibling1,
15700 OPC_CheckImmAllOnesV,
15701 OPC_MoveParent,
15702 OPC_MoveParent,
15703 OPC_CheckType, MVT::v4i64,
15704 OPC_CheckPatternPredicate0,
15705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
15706 MVT::v4i64, 2, 0, 1,
15707 0,
15708 24,
15709 OPC_MoveChild0,
15710 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15711 OPC_CheckPredicate7,
15712 OPC_MoveParent,
15713 OPC_RecordChild1,
15714 OPC_CheckType, MVT::v16i8,
15715 OPC_MoveParent,
15716 OPC_MoveSibling1,
15717 OPC_CheckImmAllOnesV,
15718 OPC_MoveParent,
15719 OPC_MoveParent,
15720 OPC_CheckType, MVT::v16i8,
15721 OPC_CheckPatternPredicate1,
15722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15723 MVT::v16i8, 2, 0, 1,
15724 0,
15725 71,
15726 OPC_MoveChild0,
15727 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15728 OPC_MoveChild0,
15729 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15730 OPC_MoveChild0,
15731 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15732 OPC_CheckPredicate0,
15733 OPC_MoveSibling1,
15734 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15735 OPC_Scope, 25,
15736 OPC_RecordChild0,
15737 OPC_MoveChild1,
15738 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15739 OPC_CheckPredicate7,
15740 OPC_MoveParent,
15741 OPC_CheckType, MVT::v16i8,
15742 OPC_MoveParent,
15743 OPC_MoveSibling1,
15744 OPC_CheckImmAllOnesV,
15745 OPC_MoveParent,
15746 OPC_MoveParent,
15747 OPC_RecordChild1,
15748 OPC_CheckType, MVT::v16i8,
15749 OPC_CheckPatternPredicate1,
15750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15751 MVT::v16i8, 2, 1, 0,
15752 25,
15753 OPC_MoveChild0,
15754 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15755 OPC_CheckPredicate7,
15756 OPC_MoveParent,
15757 OPC_RecordChild1,
15758 OPC_CheckType, MVT::v16i8,
15759 OPC_MoveParent,
15760 OPC_MoveSibling1,
15761 OPC_CheckImmAllOnesV,
15762 OPC_MoveParent,
15763 OPC_MoveParent,
15764 OPC_RecordChild1,
15765 OPC_CheckType, MVT::v16i8,
15766 OPC_CheckPatternPredicate1,
15767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
15768 MVT::v16i8, 2, 1, 0,
15769 0,
15770 43,
15771 OPC_RecordChild0,
15772 OPC_MoveChild1,
15773 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15774 OPC_MoveChild0,
15775 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15776 OPC_MoveChild0,
15777 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15778 OPC_CheckPredicate0,
15779 OPC_MoveSibling1,
15780 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15781 OPC_MoveChild0,
15782 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15783 OPC_CheckPredicate, 8,
15784 OPC_MoveParent,
15785 OPC_RecordChild1,
15786 OPC_CheckType, MVT::v8i16,
15787 OPC_MoveParent,
15788 OPC_MoveSibling1,
15789 OPC_CheckImmAllOnesV,
15790 OPC_MoveParent,
15791 OPC_MoveParent,
15792 OPC_CheckType, MVT::v8i16,
15793 OPC_CheckPatternPredicate1,
15794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15795 MVT::v8i16, 2, 0, 1,
15796 73,
15797 OPC_MoveChild0,
15798 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15799 OPC_MoveChild0,
15800 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15801 OPC_MoveChild0,
15802 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15803 OPC_CheckPredicate0,
15804 OPC_MoveSibling1,
15805 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15806 OPC_Scope, 26,
15807 OPC_RecordChild0,
15808 OPC_MoveChild1,
15809 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15810 OPC_CheckPredicate, 8,
15811 OPC_MoveParent,
15812 OPC_CheckType, MVT::v8i16,
15813 OPC_MoveParent,
15814 OPC_MoveSibling1,
15815 OPC_CheckImmAllOnesV,
15816 OPC_MoveParent,
15817 OPC_MoveParent,
15818 OPC_RecordChild1,
15819 OPC_CheckType, MVT::v8i16,
15820 OPC_CheckPatternPredicate1,
15821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15822 MVT::v8i16, 2, 1, 0,
15823 26,
15824 OPC_MoveChild0,
15825 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15826 OPC_CheckPredicate, 8,
15827 OPC_MoveParent,
15828 OPC_RecordChild1,
15829 OPC_CheckType, MVT::v8i16,
15830 OPC_MoveParent,
15831 OPC_MoveSibling1,
15832 OPC_CheckImmAllOnesV,
15833 OPC_MoveParent,
15834 OPC_MoveParent,
15835 OPC_RecordChild1,
15836 OPC_CheckType, MVT::v8i16,
15837 OPC_CheckPatternPredicate1,
15838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
15839 MVT::v8i16, 2, 1, 0,
15840 0,
15841 43,
15842 OPC_RecordChild0,
15843 OPC_MoveChild1,
15844 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15845 OPC_MoveChild0,
15846 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15847 OPC_MoveChild0,
15848 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15849 OPC_CheckPredicate0,
15850 OPC_MoveSibling1,
15851 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15852 OPC_MoveChild0,
15853 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15854 OPC_CheckPredicate, 9,
15855 OPC_MoveParent,
15856 OPC_RecordChild1,
15857 OPC_CheckType, MVT::v4i32,
15858 OPC_MoveParent,
15859 OPC_MoveSibling1,
15860 OPC_CheckImmAllOnesV,
15861 OPC_MoveParent,
15862 OPC_MoveParent,
15863 OPC_CheckType, MVT::v4i32,
15864 OPC_CheckPatternPredicate1,
15865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15866 MVT::v4i32, 2, 0, 1,
15867 73,
15868 OPC_MoveChild0,
15869 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15870 OPC_MoveChild0,
15871 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15872 OPC_MoveChild0,
15873 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15874 OPC_CheckPredicate0,
15875 OPC_MoveSibling1,
15876 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15877 OPC_Scope, 26,
15878 OPC_RecordChild0,
15879 OPC_MoveChild1,
15880 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15881 OPC_CheckPredicate, 9,
15882 OPC_MoveParent,
15883 OPC_CheckType, MVT::v4i32,
15884 OPC_MoveParent,
15885 OPC_MoveSibling1,
15886 OPC_CheckImmAllOnesV,
15887 OPC_MoveParent,
15888 OPC_MoveParent,
15889 OPC_RecordChild1,
15890 OPC_CheckType, MVT::v4i32,
15891 OPC_CheckPatternPredicate1,
15892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15893 MVT::v4i32, 2, 1, 0,
15894 26,
15895 OPC_MoveChild0,
15896 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15897 OPC_CheckPredicate, 9,
15898 OPC_MoveParent,
15899 OPC_RecordChild1,
15900 OPC_CheckType, MVT::v4i32,
15901 OPC_MoveParent,
15902 OPC_MoveSibling1,
15903 OPC_CheckImmAllOnesV,
15904 OPC_MoveParent,
15905 OPC_MoveParent,
15906 OPC_RecordChild1,
15907 OPC_CheckType, MVT::v4i32,
15908 OPC_CheckPatternPredicate1,
15909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
15910 MVT::v4i32, 2, 1, 0,
15911 0,
15912 42,
15913 OPC_RecordChild0,
15914 OPC_MoveChild1,
15915 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15916 OPC_MoveChild0,
15917 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15918 OPC_MoveChild0,
15919 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15920 OPC_CheckPredicate0,
15921 OPC_MoveSibling1,
15922 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15923 OPC_MoveChild0,
15924 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15925 OPC_CheckPredicate3,
15926 OPC_MoveParent,
15927 OPC_RecordChild1,
15928 OPC_CheckType, MVT::v2i64,
15929 OPC_MoveParent,
15930 OPC_MoveSibling1,
15931 OPC_CheckImmAllOnesV,
15932 OPC_MoveParent,
15933 OPC_MoveParent,
15934 OPC_CheckType, MVT::v2i64,
15935 OPC_CheckPatternPredicate1,
15936 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15937 MVT::v2i64, 2, 0, 1,
15938 71,
15939 OPC_MoveChild0,
15940 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15941 OPC_MoveChild0,
15942 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15943 OPC_MoveChild0,
15944 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15945 OPC_CheckPredicate0,
15946 OPC_MoveSibling1,
15947 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15948 OPC_Scope, 25,
15949 OPC_RecordChild0,
15950 OPC_MoveChild1,
15951 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15952 OPC_CheckPredicate3,
15953 OPC_MoveParent,
15954 OPC_CheckType, MVT::v2i64,
15955 OPC_MoveParent,
15956 OPC_MoveSibling1,
15957 OPC_CheckImmAllOnesV,
15958 OPC_MoveParent,
15959 OPC_MoveParent,
15960 OPC_RecordChild1,
15961 OPC_CheckType, MVT::v2i64,
15962 OPC_CheckPatternPredicate1,
15963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15964 MVT::v2i64, 2, 1, 0,
15965 25,
15966 OPC_MoveChild0,
15967 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15968 OPC_CheckPredicate3,
15969 OPC_MoveParent,
15970 OPC_RecordChild1,
15971 OPC_CheckType, MVT::v2i64,
15972 OPC_MoveParent,
15973 OPC_MoveSibling1,
15974 OPC_CheckImmAllOnesV,
15975 OPC_MoveParent,
15976 OPC_MoveParent,
15977 OPC_RecordChild1,
15978 OPC_CheckType, MVT::v2i64,
15979 OPC_CheckPatternPredicate1,
15980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
15981 MVT::v2i64, 2, 1, 0,
15982 0,
15983 42,
15984 OPC_RecordChild0,
15985 OPC_MoveChild1,
15986 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
15987 OPC_MoveChild0,
15988 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15989 OPC_MoveChild0,
15990 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15991 OPC_CheckPredicate0,
15992 OPC_MoveSibling1,
15993 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15994 OPC_MoveChild0,
15995 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15996 OPC_CheckPredicate7,
15997 OPC_MoveParent,
15998 OPC_RecordChild1,
15999 OPC_CheckType, MVT::v32i8,
16000 OPC_MoveParent,
16001 OPC_MoveSibling1,
16002 OPC_CheckImmAllOnesV,
16003 OPC_MoveParent,
16004 OPC_MoveParent,
16005 OPC_CheckType, MVT::v32i8,
16006 OPC_CheckPatternPredicate0,
16007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16008 MVT::v32i8, 2, 0, 1,
16009 71,
16010 OPC_MoveChild0,
16011 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16012 OPC_MoveChild0,
16013 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16014 OPC_MoveChild0,
16015 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16016 OPC_CheckPredicate0,
16017 OPC_MoveSibling1,
16018 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16019 OPC_Scope, 25,
16020 OPC_RecordChild0,
16021 OPC_MoveChild1,
16022 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16023 OPC_CheckPredicate7,
16024 OPC_MoveParent,
16025 OPC_CheckType, MVT::v32i8,
16026 OPC_MoveParent,
16027 OPC_MoveSibling1,
16028 OPC_CheckImmAllOnesV,
16029 OPC_MoveParent,
16030 OPC_MoveParent,
16031 OPC_RecordChild1,
16032 OPC_CheckType, MVT::v32i8,
16033 OPC_CheckPatternPredicate0,
16034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16035 MVT::v32i8, 2, 1, 0,
16036 25,
16037 OPC_MoveChild0,
16038 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16039 OPC_CheckPredicate7,
16040 OPC_MoveParent,
16041 OPC_RecordChild1,
16042 OPC_CheckType, MVT::v32i8,
16043 OPC_MoveParent,
16044 OPC_MoveSibling1,
16045 OPC_CheckImmAllOnesV,
16046 OPC_MoveParent,
16047 OPC_MoveParent,
16048 OPC_RecordChild1,
16049 OPC_CheckType, MVT::v32i8,
16050 OPC_CheckPatternPredicate0,
16051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16052 MVT::v32i8, 2, 1, 0,
16053 0,
16054 43,
16055 OPC_RecordChild0,
16056 OPC_MoveChild1,
16057 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16058 OPC_MoveChild0,
16059 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16060 OPC_MoveChild0,
16061 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16062 OPC_CheckPredicate0,
16063 OPC_MoveSibling1,
16064 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16065 OPC_MoveChild0,
16066 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16067 OPC_CheckPredicate, 8,
16068 OPC_MoveParent,
16069 OPC_RecordChild1,
16070 OPC_CheckType, MVT::v16i16,
16071 OPC_MoveParent,
16072 OPC_MoveSibling1,
16073 OPC_CheckImmAllOnesV,
16074 OPC_MoveParent,
16075 OPC_MoveParent,
16076 OPC_CheckType, MVT::v16i16,
16077 OPC_CheckPatternPredicate0,
16078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16079 MVT::v16i16, 2, 0, 1,
16080 73,
16081 OPC_MoveChild0,
16082 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16083 OPC_MoveChild0,
16084 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16085 OPC_MoveChild0,
16086 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16087 OPC_CheckPredicate0,
16088 OPC_MoveSibling1,
16089 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16090 OPC_Scope, 26,
16091 OPC_RecordChild0,
16092 OPC_MoveChild1,
16093 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16094 OPC_CheckPredicate, 8,
16095 OPC_MoveParent,
16096 OPC_CheckType, MVT::v16i16,
16097 OPC_MoveParent,
16098 OPC_MoveSibling1,
16099 OPC_CheckImmAllOnesV,
16100 OPC_MoveParent,
16101 OPC_MoveParent,
16102 OPC_RecordChild1,
16103 OPC_CheckType, MVT::v16i16,
16104 OPC_CheckPatternPredicate0,
16105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16106 MVT::v16i16, 2, 1, 0,
16107 26,
16108 OPC_MoveChild0,
16109 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16110 OPC_CheckPredicate, 8,
16111 OPC_MoveParent,
16112 OPC_RecordChild1,
16113 OPC_CheckType, MVT::v16i16,
16114 OPC_MoveParent,
16115 OPC_MoveSibling1,
16116 OPC_CheckImmAllOnesV,
16117 OPC_MoveParent,
16118 OPC_MoveParent,
16119 OPC_RecordChild1,
16120 OPC_CheckType, MVT::v16i16,
16121 OPC_CheckPatternPredicate0,
16122 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16123 MVT::v16i16, 2, 1, 0,
16124 0,
16125 43,
16126 OPC_RecordChild0,
16127 OPC_MoveChild1,
16128 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16129 OPC_MoveChild0,
16130 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16131 OPC_MoveChild0,
16132 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16133 OPC_CheckPredicate0,
16134 OPC_MoveSibling1,
16135 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16136 OPC_MoveChild0,
16137 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16138 OPC_CheckPredicate, 9,
16139 OPC_MoveParent,
16140 OPC_RecordChild1,
16141 OPC_CheckType, MVT::v8i32,
16142 OPC_MoveParent,
16143 OPC_MoveSibling1,
16144 OPC_CheckImmAllOnesV,
16145 OPC_MoveParent,
16146 OPC_MoveParent,
16147 OPC_CheckType, MVT::v8i32,
16148 OPC_CheckPatternPredicate0,
16149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16150 MVT::v8i32, 2, 0, 1,
16151 73,
16152 OPC_MoveChild0,
16153 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16154 OPC_MoveChild0,
16155 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16156 OPC_MoveChild0,
16157 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16158 OPC_CheckPredicate0,
16159 OPC_MoveSibling1,
16160 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16161 OPC_Scope, 26,
16162 OPC_RecordChild0,
16163 OPC_MoveChild1,
16164 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16165 OPC_CheckPredicate, 9,
16166 OPC_MoveParent,
16167 OPC_CheckType, MVT::v8i32,
16168 OPC_MoveParent,
16169 OPC_MoveSibling1,
16170 OPC_CheckImmAllOnesV,
16171 OPC_MoveParent,
16172 OPC_MoveParent,
16173 OPC_RecordChild1,
16174 OPC_CheckType, MVT::v8i32,
16175 OPC_CheckPatternPredicate0,
16176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16177 MVT::v8i32, 2, 1, 0,
16178 26,
16179 OPC_MoveChild0,
16180 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16181 OPC_CheckPredicate, 9,
16182 OPC_MoveParent,
16183 OPC_RecordChild1,
16184 OPC_CheckType, MVT::v8i32,
16185 OPC_MoveParent,
16186 OPC_MoveSibling1,
16187 OPC_CheckImmAllOnesV,
16188 OPC_MoveParent,
16189 OPC_MoveParent,
16190 OPC_RecordChild1,
16191 OPC_CheckType, MVT::v8i32,
16192 OPC_CheckPatternPredicate0,
16193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16194 MVT::v8i32, 2, 1, 0,
16195 0,
16196 42,
16197 OPC_RecordChild0,
16198 OPC_MoveChild1,
16199 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16200 OPC_MoveChild0,
16201 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16202 OPC_MoveChild0,
16203 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16204 OPC_CheckPredicate0,
16205 OPC_MoveSibling1,
16206 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16207 OPC_MoveChild0,
16208 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16209 OPC_CheckPredicate3,
16210 OPC_MoveParent,
16211 OPC_RecordChild1,
16212 OPC_CheckType, MVT::v4i64,
16213 OPC_MoveParent,
16214 OPC_MoveSibling1,
16215 OPC_CheckImmAllOnesV,
16216 OPC_MoveParent,
16217 OPC_MoveParent,
16218 OPC_CheckType, MVT::v4i64,
16219 OPC_CheckPatternPredicate0,
16220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16221 MVT::v4i64, 2, 0, 1,
16222 71,
16223 OPC_MoveChild0,
16224 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16225 OPC_MoveChild0,
16226 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16227 OPC_MoveChild0,
16228 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16229 OPC_CheckPredicate0,
16230 OPC_MoveSibling1,
16231 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16232 OPC_Scope, 25,
16233 OPC_RecordChild0,
16234 OPC_MoveChild1,
16235 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16236 OPC_CheckPredicate3,
16237 OPC_MoveParent,
16238 OPC_CheckType, MVT::v4i64,
16239 OPC_MoveParent,
16240 OPC_MoveSibling1,
16241 OPC_CheckImmAllOnesV,
16242 OPC_MoveParent,
16243 OPC_MoveParent,
16244 OPC_RecordChild1,
16245 OPC_CheckType, MVT::v4i64,
16246 OPC_CheckPatternPredicate0,
16247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16248 MVT::v4i64, 2, 1, 0,
16249 25,
16250 OPC_MoveChild0,
16251 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16252 OPC_CheckPredicate3,
16253 OPC_MoveParent,
16254 OPC_RecordChild1,
16255 OPC_CheckType, MVT::v4i64,
16256 OPC_MoveParent,
16257 OPC_MoveSibling1,
16258 OPC_CheckImmAllOnesV,
16259 OPC_MoveParent,
16260 OPC_MoveParent,
16261 OPC_RecordChild1,
16262 OPC_CheckType, MVT::v4i64,
16263 OPC_CheckPatternPredicate0,
16264 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16265 MVT::v4i64, 2, 1, 0,
16266 0,
16267 71,
16268 OPC_RecordChild0,
16269 OPC_MoveChild1,
16270 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16271 OPC_MoveChild0,
16272 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16273 OPC_MoveChild0,
16274 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16275 OPC_MoveSibling1,
16276 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16277 OPC_Scope, 25,
16278 OPC_RecordChild0,
16279 OPC_MoveChild1,
16280 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16281 OPC_CheckPredicate, 9,
16282 OPC_MoveParent,
16283 OPC_CheckType, MVT::v4i32,
16284 OPC_MoveParent,
16285 OPC_MoveSibling1,
16286 OPC_CheckImmAllOnesV,
16287 OPC_MoveParent,
16288 OPC_MoveParent,
16289 OPC_CheckType, MVT::v4i32,
16290 OPC_CheckPatternPredicate1,
16291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16292 MVT::v4i32, 2, 0, 1,
16293 25,
16294 OPC_MoveChild0,
16295 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16296 OPC_CheckPredicate, 9,
16297 OPC_MoveParent,
16298 OPC_RecordChild1,
16299 OPC_CheckType, MVT::v4i32,
16300 OPC_MoveParent,
16301 OPC_MoveSibling1,
16302 OPC_CheckImmAllOnesV,
16303 OPC_MoveParent,
16304 OPC_MoveParent,
16305 OPC_CheckType, MVT::v4i32,
16306 OPC_CheckPatternPredicate1,
16307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16308 MVT::v4i32, 2, 0, 1,
16309 0,
16310 72,
16311 OPC_MoveChild0,
16312 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16313 OPC_MoveChild0,
16314 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16315 OPC_MoveChild0,
16316 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16317 OPC_MoveSibling1,
16318 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16319 OPC_Scope, 26,
16320 OPC_RecordChild0,
16321 OPC_MoveChild1,
16322 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16323 OPC_CheckPredicate, 9,
16324 OPC_MoveParent,
16325 OPC_CheckType, MVT::v4i32,
16326 OPC_MoveParent,
16327 OPC_MoveSibling1,
16328 OPC_CheckImmAllOnesV,
16329 OPC_MoveParent,
16330 OPC_MoveParent,
16331 OPC_RecordChild1,
16332 OPC_CheckType, MVT::v4i32,
16333 OPC_CheckPatternPredicate1,
16334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16335 MVT::v4i32, 2, 1, 0,
16336 26,
16337 OPC_MoveChild0,
16338 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16339 OPC_CheckPredicate, 9,
16340 OPC_MoveParent,
16341 OPC_RecordChild1,
16342 OPC_CheckType, MVT::v4i32,
16343 OPC_MoveParent,
16344 OPC_MoveSibling1,
16345 OPC_CheckImmAllOnesV,
16346 OPC_MoveParent,
16347 OPC_MoveParent,
16348 OPC_RecordChild1,
16349 OPC_CheckType, MVT::v4i32,
16350 OPC_CheckPatternPredicate1,
16351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16352 MVT::v4i32, 2, 1, 0,
16353 0,
16354 16|128,1,
16355 OPC_RecordChild0,
16356 OPC_MoveChild1,
16357 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16358 OPC_MoveChild0,
16359 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16360 OPC_MoveChild0,
16361 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16362 OPC_MoveChild0,
16363 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16364 OPC_CheckType, MVT::v4i32,
16365 OPC_MoveParent,
16366 OPC_CheckPredicate0,
16367 OPC_MoveParent,
16368 OPC_RecordChild1,
16369 OPC_Scope, 16,
16370 OPC_CheckChild1Type, MVT::v16i8,
16371 OPC_MoveSibling1,
16372 OPC_CheckImmAllOnesV,
16373 OPC_MoveParent,
16374 OPC_MoveParent,
16375 OPC_CheckType, MVT::v16i8,
16376 OPC_CheckPatternPredicate1,
16377 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16378 MVT::v16i8, 2, 0, 1,
16379 16,
16380 OPC_CheckChild1Type, MVT::v8i16,
16381 OPC_MoveSibling1,
16382 OPC_CheckImmAllOnesV,
16383 OPC_MoveParent,
16384 OPC_MoveParent,
16385 OPC_CheckType, MVT::v8i16,
16386 OPC_CheckPatternPredicate1,
16387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16388 MVT::v8i16, 2, 0, 1,
16389 16,
16390 OPC_CheckChild1Type, MVT::v2i64,
16391 OPC_MoveSibling1,
16392 OPC_CheckImmAllOnesV,
16393 OPC_MoveParent,
16394 OPC_MoveParent,
16395 OPC_CheckType, MVT::v2i64,
16396 OPC_CheckPatternPredicate1,
16397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16398 MVT::v2i64, 2, 0, 1,
16399 16,
16400 OPC_CheckChild1Type, MVT::v32i8,
16401 OPC_MoveSibling1,
16402 OPC_CheckImmAllOnesV,
16403 OPC_MoveParent,
16404 OPC_MoveParent,
16405 OPC_CheckType, MVT::v32i8,
16406 OPC_CheckPatternPredicate0,
16407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16408 MVT::v32i8, 2, 0, 1,
16409 16,
16410 OPC_CheckChild1Type, MVT::v16i16,
16411 OPC_MoveSibling1,
16412 OPC_CheckImmAllOnesV,
16413 OPC_MoveParent,
16414 OPC_MoveParent,
16415 OPC_CheckType, MVT::v16i16,
16416 OPC_CheckPatternPredicate0,
16417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16418 MVT::v16i16, 2, 0, 1,
16419 16,
16420 OPC_CheckChild1Type, MVT::v8i32,
16421 OPC_MoveSibling1,
16422 OPC_CheckImmAllOnesV,
16423 OPC_MoveParent,
16424 OPC_MoveParent,
16425 OPC_CheckType, MVT::v8i32,
16426 OPC_CheckPatternPredicate0,
16427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16428 MVT::v8i32, 2, 0, 1,
16429 16,
16430 OPC_CheckChild1Type, MVT::v4i64,
16431 OPC_MoveSibling1,
16432 OPC_CheckImmAllOnesV,
16433 OPC_MoveParent,
16434 OPC_MoveParent,
16435 OPC_CheckType, MVT::v4i64,
16436 OPC_CheckPatternPredicate0,
16437 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16438 MVT::v4i64, 2, 0, 1,
16439 0,
16440 22|128,1,
16441 OPC_MoveChild0,
16442 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16443 OPC_MoveChild0,
16444 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16445 OPC_MoveChild0,
16446 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16447 OPC_MoveChild0,
16448 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16449 OPC_CheckType, MVT::v4i32,
16450 OPC_MoveParent,
16451 OPC_CheckPredicate0,
16452 OPC_MoveParent,
16453 OPC_RecordChild1,
16454 OPC_Scope, 17,
16455 OPC_CheckChild1Type, MVT::v16i8,
16456 OPC_MoveSibling1,
16457 OPC_CheckImmAllOnesV,
16458 OPC_MoveParent,
16459 OPC_MoveParent,
16460 OPC_RecordChild1,
16461 OPC_CheckType, MVT::v16i8,
16462 OPC_CheckPatternPredicate1,
16463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16464 MVT::v16i8, 2, 1, 0,
16465 17,
16466 OPC_CheckChild1Type, MVT::v8i16,
16467 OPC_MoveSibling1,
16468 OPC_CheckImmAllOnesV,
16469 OPC_MoveParent,
16470 OPC_MoveParent,
16471 OPC_RecordChild1,
16472 OPC_CheckType, MVT::v8i16,
16473 OPC_CheckPatternPredicate1,
16474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16475 MVT::v8i16, 2, 1, 0,
16476 17,
16477 OPC_CheckChild1Type, MVT::v2i64,
16478 OPC_MoveSibling1,
16479 OPC_CheckImmAllOnesV,
16480 OPC_MoveParent,
16481 OPC_MoveParent,
16482 OPC_RecordChild1,
16483 OPC_CheckType, MVT::v2i64,
16484 OPC_CheckPatternPredicate1,
16485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16486 MVT::v2i64, 2, 1, 0,
16487 17,
16488 OPC_CheckChild1Type, MVT::v32i8,
16489 OPC_MoveSibling1,
16490 OPC_CheckImmAllOnesV,
16491 OPC_MoveParent,
16492 OPC_MoveParent,
16493 OPC_RecordChild1,
16494 OPC_CheckType, MVT::v32i8,
16495 OPC_CheckPatternPredicate0,
16496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16497 MVT::v32i8, 2, 1, 0,
16498 17,
16499 OPC_CheckChild1Type, MVT::v16i16,
16500 OPC_MoveSibling1,
16501 OPC_CheckImmAllOnesV,
16502 OPC_MoveParent,
16503 OPC_MoveParent,
16504 OPC_RecordChild1,
16505 OPC_CheckType, MVT::v16i16,
16506 OPC_CheckPatternPredicate0,
16507 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16508 MVT::v16i16, 2, 1, 0,
16509 17,
16510 OPC_CheckChild1Type, MVT::v8i32,
16511 OPC_MoveSibling1,
16512 OPC_CheckImmAllOnesV,
16513 OPC_MoveParent,
16514 OPC_MoveParent,
16515 OPC_RecordChild1,
16516 OPC_CheckType, MVT::v8i32,
16517 OPC_CheckPatternPredicate0,
16518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16519 MVT::v8i32, 2, 1, 0,
16520 17,
16521 OPC_CheckChild1Type, MVT::v4i64,
16522 OPC_MoveSibling1,
16523 OPC_CheckImmAllOnesV,
16524 OPC_MoveParent,
16525 OPC_MoveParent,
16526 OPC_RecordChild1,
16527 OPC_CheckType, MVT::v4i64,
16528 OPC_CheckPatternPredicate0,
16529 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16530 MVT::v4i64, 2, 1, 0,
16531 0,
16532 26|128,1,
16533 OPC_RecordChild0,
16534 OPC_MoveChild1,
16535 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16536 OPC_MoveChild0,
16537 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16538 OPC_MoveChild0,
16539 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16540 OPC_CheckPredicate0,
16541 OPC_MoveParent,
16542 OPC_RecordChild1,
16543 OPC_Scope, 16,
16544 OPC_CheckChild1Type, MVT::v16i8,
16545 OPC_MoveSibling1,
16546 OPC_CheckImmAllOnesV,
16547 OPC_MoveParent,
16548 OPC_MoveParent,
16549 OPC_CheckType, MVT::v16i8,
16550 OPC_CheckPatternPredicate1,
16551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16552 MVT::v16i8, 2, 0, 1,
16553 16,
16554 OPC_CheckChild1Type, MVT::v8i16,
16555 OPC_MoveSibling1,
16556 OPC_CheckImmAllOnesV,
16557 OPC_MoveParent,
16558 OPC_MoveParent,
16559 OPC_CheckType, MVT::v8i16,
16560 OPC_CheckPatternPredicate1,
16561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16562 MVT::v8i16, 2, 0, 1,
16563 16,
16564 OPC_CheckChild1Type, MVT::v4i32,
16565 OPC_MoveSibling1,
16566 OPC_CheckImmAllOnesV,
16567 OPC_MoveParent,
16568 OPC_MoveParent,
16569 OPC_CheckType, MVT::v4i32,
16570 OPC_CheckPatternPredicate1,
16571 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16572 MVT::v4i32, 2, 0, 1,
16573 16,
16574 OPC_CheckChild1Type, MVT::v2i64,
16575 OPC_MoveSibling1,
16576 OPC_CheckImmAllOnesV,
16577 OPC_MoveParent,
16578 OPC_MoveParent,
16579 OPC_CheckType, MVT::v2i64,
16580 OPC_CheckPatternPredicate1,
16581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16582 MVT::v2i64, 2, 0, 1,
16583 16,
16584 OPC_CheckChild1Type, MVT::v32i8,
16585 OPC_MoveSibling1,
16586 OPC_CheckImmAllOnesV,
16587 OPC_MoveParent,
16588 OPC_MoveParent,
16589 OPC_CheckType, MVT::v32i8,
16590 OPC_CheckPatternPredicate0,
16591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16592 MVT::v32i8, 2, 0, 1,
16593 16,
16594 OPC_CheckChild1Type, MVT::v16i16,
16595 OPC_MoveSibling1,
16596 OPC_CheckImmAllOnesV,
16597 OPC_MoveParent,
16598 OPC_MoveParent,
16599 OPC_CheckType, MVT::v16i16,
16600 OPC_CheckPatternPredicate0,
16601 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16602 MVT::v16i16, 2, 0, 1,
16603 16,
16604 OPC_CheckChild1Type, MVT::v8i32,
16605 OPC_MoveSibling1,
16606 OPC_CheckImmAllOnesV,
16607 OPC_MoveParent,
16608 OPC_MoveParent,
16609 OPC_CheckType, MVT::v8i32,
16610 OPC_CheckPatternPredicate0,
16611 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16612 MVT::v8i32, 2, 0, 1,
16613 16,
16614 OPC_CheckChild1Type, MVT::v4i64,
16615 OPC_MoveSibling1,
16616 OPC_CheckImmAllOnesV,
16617 OPC_MoveParent,
16618 OPC_MoveParent,
16619 OPC_CheckType, MVT::v4i64,
16620 OPC_CheckPatternPredicate0,
16621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16622 MVT::v4i64, 2, 0, 1,
16623 0,
16624 33|128,1,
16625 OPC_MoveChild0,
16626 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16627 OPC_MoveChild0,
16628 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16629 OPC_MoveChild0,
16630 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16631 OPC_CheckPredicate0,
16632 OPC_MoveParent,
16633 OPC_RecordChild1,
16634 OPC_Scope, 17,
16635 OPC_CheckChild1Type, MVT::v16i8,
16636 OPC_MoveSibling1,
16637 OPC_CheckImmAllOnesV,
16638 OPC_MoveParent,
16639 OPC_MoveParent,
16640 OPC_RecordChild1,
16641 OPC_CheckType, MVT::v16i8,
16642 OPC_CheckPatternPredicate1,
16643 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
16644 MVT::v16i8, 2, 1, 0,
16645 17,
16646 OPC_CheckChild1Type, MVT::v8i16,
16647 OPC_MoveSibling1,
16648 OPC_CheckImmAllOnesV,
16649 OPC_MoveParent,
16650 OPC_MoveParent,
16651 OPC_RecordChild1,
16652 OPC_CheckType, MVT::v8i16,
16653 OPC_CheckPatternPredicate1,
16654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
16655 MVT::v8i16, 2, 1, 0,
16656 17,
16657 OPC_CheckChild1Type, MVT::v4i32,
16658 OPC_MoveSibling1,
16659 OPC_CheckImmAllOnesV,
16660 OPC_MoveParent,
16661 OPC_MoveParent,
16662 OPC_RecordChild1,
16663 OPC_CheckType, MVT::v4i32,
16664 OPC_CheckPatternPredicate1,
16665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16666 MVT::v4i32, 2, 1, 0,
16667 17,
16668 OPC_CheckChild1Type, MVT::v2i64,
16669 OPC_MoveSibling1,
16670 OPC_CheckImmAllOnesV,
16671 OPC_MoveParent,
16672 OPC_MoveParent,
16673 OPC_RecordChild1,
16674 OPC_CheckType, MVT::v2i64,
16675 OPC_CheckPatternPredicate1,
16676 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
16677 MVT::v2i64, 2, 1, 0,
16678 17,
16679 OPC_CheckChild1Type, MVT::v32i8,
16680 OPC_MoveSibling1,
16681 OPC_CheckImmAllOnesV,
16682 OPC_MoveParent,
16683 OPC_MoveParent,
16684 OPC_RecordChild1,
16685 OPC_CheckType, MVT::v32i8,
16686 OPC_CheckPatternPredicate0,
16687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
16688 MVT::v32i8, 2, 1, 0,
16689 17,
16690 OPC_CheckChild1Type, MVT::v16i16,
16691 OPC_MoveSibling1,
16692 OPC_CheckImmAllOnesV,
16693 OPC_MoveParent,
16694 OPC_MoveParent,
16695 OPC_RecordChild1,
16696 OPC_CheckType, MVT::v16i16,
16697 OPC_CheckPatternPredicate0,
16698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
16699 MVT::v16i16, 2, 1, 0,
16700 17,
16701 OPC_CheckChild1Type, MVT::v8i32,
16702 OPC_MoveSibling1,
16703 OPC_CheckImmAllOnesV,
16704 OPC_MoveParent,
16705 OPC_MoveParent,
16706 OPC_RecordChild1,
16707 OPC_CheckType, MVT::v8i32,
16708 OPC_CheckPatternPredicate0,
16709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
16710 MVT::v8i32, 2, 1, 0,
16711 17,
16712 OPC_CheckChild1Type, MVT::v4i64,
16713 OPC_MoveSibling1,
16714 OPC_CheckImmAllOnesV,
16715 OPC_MoveParent,
16716 OPC_MoveParent,
16717 OPC_RecordChild1,
16718 OPC_CheckType, MVT::v4i64,
16719 OPC_CheckPatternPredicate0,
16720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
16721 MVT::v4i64, 2, 1, 0,
16722 0,
16723 31,
16724 OPC_RecordChild0,
16725 OPC_MoveChild1,
16726 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16727 OPC_MoveChild0,
16728 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16729 OPC_MoveChild0,
16730 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16731 OPC_MoveParent,
16732 OPC_RecordChild1,
16733 OPC_CheckChild1Type, MVT::v4i32,
16734 OPC_MoveSibling1,
16735 OPC_CheckImmAllOnesV,
16736 OPC_MoveParent,
16737 OPC_MoveParent,
16738 OPC_CheckType, MVT::v4i32,
16739 OPC_CheckPatternPredicate1,
16740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16741 MVT::v4i32, 2, 0, 1,
16742 31,
16743 OPC_MoveChild0,
16744 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
16745 OPC_MoveChild0,
16746 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16747 OPC_MoveChild0,
16748 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16749 OPC_MoveParent,
16750 OPC_RecordChild1,
16751 OPC_CheckChild1Type, MVT::v4i32,
16752 OPC_MoveSibling1,
16753 OPC_CheckImmAllOnesV,
16754 OPC_MoveParent,
16755 OPC_MoveParent,
16756 OPC_RecordChild1,
16757 OPC_CheckType, MVT::v4i32,
16758 OPC_CheckPatternPredicate1,
16759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
16760 MVT::v4i32, 2, 1, 0,
16761 36|128,4,
16762 OPC_RecordChild0,
16763 OPC_RecordChild1,
16764 OPC_SwitchType , 99, MVT::v16i8,
16765 OPC_Scope, 10,
16766 OPC_CheckPatternPredicate3,
16767 OPC_CheckComplexPat6, /*#*/1,
16768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16769 MVT::v16i8, 2, 0, 2,
16770 10,
16771 OPC_CheckPatternPredicate5,
16772 OPC_CheckComplexPat6, /*#*/1,
16773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16774 MVT::v16i8, 2, 0, 2,
16775 10,
16776 OPC_CheckPatternPredicate3,
16777 OPC_CheckComplexPat6, /*#*/0,
16778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16779 MVT::v16i8, 2, 1, 2,
16780 10,
16781 OPC_CheckPatternPredicate5,
16782 OPC_CheckComplexPat6, /*#*/0,
16783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
16784 MVT::v16i8, 2, 1, 2,
16785 10,
16786 OPC_CheckPatternPredicate3,
16787 OPC_CheckComplexPat7, /*#*/1,
16788 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16789 MVT::v16i8, 2, 0, 2,
16790 10,
16791 OPC_CheckPatternPredicate5,
16792 OPC_CheckComplexPat7, /*#*/1,
16793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16794 MVT::v16i8, 2, 0, 2,
16795 10,
16796 OPC_CheckPatternPredicate3,
16797 OPC_CheckComplexPat7, /*#*/0,
16798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16799 MVT::v16i8, 2, 1, 2,
16800 10,
16801 OPC_CheckPatternPredicate5,
16802 OPC_CheckComplexPat7, /*#*/0,
16803 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
16804 MVT::v16i8, 2, 1, 2,
16805 8,
16806 OPC_CheckPatternPredicate1,
16807 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16808 MVT::v16i8, 2, 0, 1,
16809 0,
16810 55, MVT::v8i16,
16811 OPC_Scope, 10,
16812 OPC_CheckPatternPredicate3,
16813 OPC_CheckComplexPat6, /*#*/1,
16814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16815 MVT::v8i16, 2, 0, 2,
16816 10,
16817 OPC_CheckPatternPredicate5,
16818 OPC_CheckComplexPat6, /*#*/1,
16819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16820 MVT::v8i16, 2, 0, 2,
16821 10,
16822 OPC_CheckPatternPredicate3,
16823 OPC_CheckComplexPat6, /*#*/0,
16824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16825 MVT::v8i16, 2, 1, 2,
16826 10,
16827 OPC_CheckPatternPredicate5,
16828 OPC_CheckComplexPat6, /*#*/0,
16829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
16830 MVT::v8i16, 2, 1, 2,
16831 8,
16832 OPC_CheckPatternPredicate1,
16833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16834 MVT::v8i16, 2, 0, 1,
16835 0,
16836 55, MVT::v4i32,
16837 OPC_Scope, 10,
16838 OPC_CheckPatternPredicate3,
16839 OPC_CheckComplexPat6, /*#*/1,
16840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16841 MVT::v4i32, 2, 0, 2,
16842 10,
16843 OPC_CheckPatternPredicate5,
16844 OPC_CheckComplexPat6, /*#*/1,
16845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16846 MVT::v4i32, 2, 0, 2,
16847 10,
16848 OPC_CheckPatternPredicate3,
16849 OPC_CheckComplexPat6, /*#*/0,
16850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16851 MVT::v4i32, 2, 1, 2,
16852 10,
16853 OPC_CheckPatternPredicate5,
16854 OPC_CheckComplexPat6, /*#*/0,
16855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
16856 MVT::v4i32, 2, 1, 2,
16857 8,
16858 OPC_CheckPatternPredicate1,
16859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16860 MVT::v4i32, 2, 0, 1,
16861 0,
16862 55, MVT::v2i64,
16863 OPC_Scope, 10,
16864 OPC_CheckPatternPredicate3,
16865 OPC_CheckComplexPat6, /*#*/1,
16866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16867 MVT::v2i64, 2, 0, 2,
16868 10,
16869 OPC_CheckPatternPredicate5,
16870 OPC_CheckComplexPat6, /*#*/1,
16871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16872 MVT::v2i64, 2, 0, 2,
16873 10,
16874 OPC_CheckPatternPredicate3,
16875 OPC_CheckComplexPat6, /*#*/0,
16876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16877 MVT::v2i64, 2, 1, 2,
16878 10,
16879 OPC_CheckPatternPredicate5,
16880 OPC_CheckComplexPat6, /*#*/0,
16881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
16882 MVT::v2i64, 2, 1, 2,
16883 8,
16884 OPC_CheckPatternPredicate1,
16885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
16886 MVT::v2i64, 2, 0, 1,
16887 0,
16888 99, MVT::v32i8,
16889 OPC_Scope, 10,
16890 OPC_CheckPatternPredicate2,
16891 OPC_CheckComplexPat6, /*#*/1,
16892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16893 MVT::v32i8, 2, 0, 2,
16894 10,
16895 OPC_CheckPatternPredicate4,
16896 OPC_CheckComplexPat6, /*#*/1,
16897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16898 MVT::v32i8, 2, 0, 2,
16899 10,
16900 OPC_CheckPatternPredicate2,
16901 OPC_CheckComplexPat6, /*#*/0,
16902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16903 MVT::v32i8, 2, 1, 2,
16904 10,
16905 OPC_CheckPatternPredicate4,
16906 OPC_CheckComplexPat6, /*#*/0,
16907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
16908 MVT::v32i8, 2, 1, 2,
16909 10,
16910 OPC_CheckPatternPredicate2,
16911 OPC_CheckComplexPat7, /*#*/1,
16912 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16913 MVT::v32i8, 2, 0, 2,
16914 10,
16915 OPC_CheckPatternPredicate4,
16916 OPC_CheckComplexPat7, /*#*/1,
16917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16918 MVT::v32i8, 2, 0, 2,
16919 10,
16920 OPC_CheckPatternPredicate2,
16921 OPC_CheckComplexPat7, /*#*/0,
16922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16923 MVT::v32i8, 2, 1, 2,
16924 10,
16925 OPC_CheckPatternPredicate4,
16926 OPC_CheckComplexPat7, /*#*/0,
16927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
16928 MVT::v32i8, 2, 1, 2,
16929 8,
16930 OPC_CheckPatternPredicate0,
16931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
16932 MVT::v32i8, 2, 0, 1,
16933 0,
16934 55, MVT::v16i16,
16935 OPC_Scope, 10,
16936 OPC_CheckPatternPredicate2,
16937 OPC_CheckComplexPat6, /*#*/1,
16938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16939 MVT::v16i16, 2, 0, 2,
16940 10,
16941 OPC_CheckPatternPredicate4,
16942 OPC_CheckComplexPat6, /*#*/1,
16943 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16944 MVT::v16i16, 2, 0, 2,
16945 10,
16946 OPC_CheckPatternPredicate2,
16947 OPC_CheckComplexPat6, /*#*/0,
16948 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16949 MVT::v16i16, 2, 1, 2,
16950 10,
16951 OPC_CheckPatternPredicate4,
16952 OPC_CheckComplexPat6, /*#*/0,
16953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
16954 MVT::v16i16, 2, 1, 2,
16955 8,
16956 OPC_CheckPatternPredicate0,
16957 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
16958 MVT::v16i16, 2, 0, 1,
16959 0,
16960 55, MVT::v8i32,
16961 OPC_Scope, 10,
16962 OPC_CheckPatternPredicate2,
16963 OPC_CheckComplexPat6, /*#*/1,
16964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16965 MVT::v8i32, 2, 0, 2,
16966 10,
16967 OPC_CheckPatternPredicate4,
16968 OPC_CheckComplexPat6, /*#*/1,
16969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16970 MVT::v8i32, 2, 0, 2,
16971 10,
16972 OPC_CheckPatternPredicate2,
16973 OPC_CheckComplexPat6, /*#*/0,
16974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16975 MVT::v8i32, 2, 1, 2,
16976 10,
16977 OPC_CheckPatternPredicate4,
16978 OPC_CheckComplexPat6, /*#*/0,
16979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
16980 MVT::v8i32, 2, 1, 2,
16981 8,
16982 OPC_CheckPatternPredicate0,
16983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
16984 MVT::v8i32, 2, 0, 1,
16985 0,
16986 55, MVT::v4i64,
16987 OPC_Scope, 10,
16988 OPC_CheckPatternPredicate2,
16989 OPC_CheckComplexPat6, /*#*/1,
16990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
16991 MVT::v4i64, 2, 0, 2,
16992 10,
16993 OPC_CheckPatternPredicate4,
16994 OPC_CheckComplexPat6, /*#*/1,
16995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
16996 MVT::v4i64, 2, 0, 2,
16997 10,
16998 OPC_CheckPatternPredicate2,
16999 OPC_CheckComplexPat6, /*#*/0,
17000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
17001 MVT::v4i64, 2, 1, 2,
17002 10,
17003 OPC_CheckPatternPredicate4,
17004 OPC_CheckComplexPat6, /*#*/0,
17005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
17006 MVT::v4i64, 2, 1, 2,
17007 8,
17008 OPC_CheckPatternPredicate0,
17009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
17010 MVT::v4i64, 2, 0, 1,
17011 0,
17012 0,
17013 0,
17014 69|128,1, TARGET_VAL(ISD::CTLZ),
17015 OPC_Scope, 56,
17016 OPC_MoveChild0,
17017 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17018 OPC_RecordChild0,
17019 OPC_CheckChild1Integer, 3,
17020 OPC_SwitchType , 21, MVT::i64,
17021 OPC_MoveParent,
17022 OPC_CheckTypeI64,
17023 OPC_Scope, 7,
17024 OPC_CheckPatternPredicate6,
17025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_D),
17026 MVT::i64, 1, 0,
17027 8,
17028 OPC_CheckPatternPredicate, 15,
17029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17030 MVT::i64, 1, 0,
17031 0,
17032 22, MVT::i32,
17033 OPC_MoveParent,
17034 OPC_CheckTypeI32,
17035 OPC_Scope, 8,
17036 OPC_CheckPatternPredicate, 10,
17037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_D),
17038 MVT::i32, 1, 0,
17039 8,
17040 OPC_CheckPatternPredicate, 9,
17041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17042 MVT::i32, 1, 0,
17043 0,
17044 0,
17045 8|128,1,
17046 OPC_RecordChild0,
17047 OPC_SwitchType , 20, MVT::i64,
17048 OPC_CheckChild0TypeI64,
17049 OPC_Scope, 7,
17050 OPC_CheckPatternPredicate6,
17051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_D),
17052 MVT::i64, 1, 0,
17053 8,
17054 OPC_CheckPatternPredicate, 15,
17055 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17056 MVT::i64, 1, 0,
17057 0,
17058 21, MVT::i32,
17059 OPC_CheckChild0TypeI32,
17060 OPC_Scope, 8,
17061 OPC_CheckPatternPredicate, 10,
17062 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_D),
17063 MVT::i32, 1, 0,
17064 8,
17065 OPC_CheckPatternPredicate, 9,
17066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17067 MVT::i32, 1, 0,
17068 0,
17069 9, MVT::v16i8,
17070 OPC_CheckChild0Type, MVT::v16i8,
17071 OPC_CheckPatternPredicate1,
17072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_B),
17073 MVT::v16i8, 1, 0,
17074 9, MVT::v8i16,
17075 OPC_CheckChild0Type, MVT::v8i16,
17076 OPC_CheckPatternPredicate1,
17077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_H),
17078 MVT::v8i16, 1, 0,
17079 9, MVT::v4i32,
17080 OPC_CheckChild0Type, MVT::v4i32,
17081 OPC_CheckPatternPredicate1,
17082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_W),
17083 MVT::v4i32, 1, 0,
17084 9, MVT::v2i64,
17085 OPC_CheckChild0Type, MVT::v2i64,
17086 OPC_CheckPatternPredicate1,
17087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_D),
17088 MVT::v2i64, 1, 0,
17089 9, MVT::v32i8,
17090 OPC_CheckChild0Type, MVT::v32i8,
17091 OPC_CheckPatternPredicate0,
17092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_B),
17093 MVT::v32i8, 1, 0,
17094 9, MVT::v16i16,
17095 OPC_CheckChild0Type, MVT::v16i16,
17096 OPC_CheckPatternPredicate0,
17097 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_H),
17098 MVT::v16i16, 1, 0,
17099 9, MVT::v8i32,
17100 OPC_CheckChild0Type, MVT::v8i32,
17101 OPC_CheckPatternPredicate0,
17102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_W),
17103 MVT::v8i32, 1, 0,
17104 9, MVT::v4i64,
17105 OPC_CheckChild0Type, MVT::v4i64,
17106 OPC_CheckPatternPredicate0,
17107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_D),
17108 MVT::v4i64, 1, 0,
17109 0,
17110 0,
17111 108, TARGET_VAL(ISD::CTTZ),
17112 OPC_Scope, 56,
17113 OPC_MoveChild0,
17114 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17115 OPC_RecordChild0,
17116 OPC_CheckChild1Integer, 3,
17117 OPC_SwitchType , 21, MVT::i64,
17118 OPC_MoveParent,
17119 OPC_CheckTypeI64,
17120 OPC_Scope, 7,
17121 OPC_CheckPatternPredicate6,
17122 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_D),
17123 MVT::i64, 1, 0,
17124 8,
17125 OPC_CheckPatternPredicate, 15,
17126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17127 MVT::i64, 1, 0,
17128 0,
17129 22, MVT::i32,
17130 OPC_MoveParent,
17131 OPC_CheckTypeI32,
17132 OPC_Scope, 8,
17133 OPC_CheckPatternPredicate, 10,
17134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_D),
17135 MVT::i32, 1, 0,
17136 8,
17137 OPC_CheckPatternPredicate, 9,
17138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17139 MVT::i32, 1, 0,
17140 0,
17141 0,
17142 48,
17143 OPC_RecordChild0,
17144 OPC_SwitchType , 20, MVT::i64,
17145 OPC_CheckChild0TypeI64,
17146 OPC_Scope, 7,
17147 OPC_CheckPatternPredicate6,
17148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_D),
17149 MVT::i64, 1, 0,
17150 8,
17151 OPC_CheckPatternPredicate, 15,
17152 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17153 MVT::i64, 1, 0,
17154 0,
17155 21, MVT::i32,
17156 OPC_CheckChild0TypeI32,
17157 OPC_Scope, 8,
17158 OPC_CheckPatternPredicate, 10,
17159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_D),
17160 MVT::i32, 1, 0,
17161 8,
17162 OPC_CheckPatternPredicate, 9,
17163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17164 MVT::i32, 1, 0,
17165 0,
17166 0,
17167 0,
17168 60, TARGET_VAL(LoongArchISD::CLZ_W),
17169 OPC_Scope, 32,
17170 OPC_MoveChild0,
17171 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17172 OPC_RecordChild0,
17173 OPC_CheckChild1Integer, 3,
17174 OPC_SwitchType , 9, MVT::i64,
17175 OPC_MoveParent,
17176 OPC_CheckTypeI64,
17177 OPC_CheckPatternPredicate6,
17178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17179 MVT::i64, 1, 0,
17180 10, MVT::i32,
17181 OPC_MoveParent,
17182 OPC_CheckTypeI32,
17183 OPC_CheckPatternPredicate, 10,
17184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLO_W),
17185 MVT::i32, 1, 0,
17186 0,
17187 24,
17188 OPC_RecordChild0,
17189 OPC_SwitchType , 8, MVT::i64,
17190 OPC_CheckChild0TypeI64,
17191 OPC_CheckPatternPredicate6,
17192 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17193 MVT::i64, 1, 0,
17194 9, MVT::i32,
17195 OPC_CheckChild0TypeI32,
17196 OPC_CheckPatternPredicate, 10,
17197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CLZ_W),
17198 MVT::i32, 1, 0,
17199 0,
17200 0,
17201 60, TARGET_VAL(LoongArchISD::CTZ_W),
17202 OPC_Scope, 32,
17203 OPC_MoveChild0,
17204 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
17205 OPC_RecordChild0,
17206 OPC_CheckChild1Integer, 3,
17207 OPC_SwitchType , 9, MVT::i64,
17208 OPC_MoveParent,
17209 OPC_CheckTypeI64,
17210 OPC_CheckPatternPredicate6,
17211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17212 MVT::i64, 1, 0,
17213 10, MVT::i32,
17214 OPC_MoveParent,
17215 OPC_CheckTypeI32,
17216 OPC_CheckPatternPredicate, 10,
17217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTO_W),
17218 MVT::i32, 1, 0,
17219 0,
17220 24,
17221 OPC_RecordChild0,
17222 OPC_SwitchType , 8, MVT::i64,
17223 OPC_CheckChild0TypeI64,
17224 OPC_CheckPatternPredicate6,
17225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17226 MVT::i64, 1, 0,
17227 9, MVT::i32,
17228 OPC_CheckChild0TypeI32,
17229 OPC_CheckPatternPredicate, 10,
17230 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::CTZ_W),
17231 MVT::i32, 1, 0,
17232 0,
17233 0,
17234 114, TARGET_VAL(LoongArchISD::BSTRINS),
17235 OPC_RecordChild0,
17236 OPC_RecordChild1,
17237 OPC_RecordChild2,
17238 OPC_MoveChild2,
17239 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17240 OPC_Scope, 52,
17241 OPC_CheckPredicate, 26,
17242 OPC_SwitchType , 22, MVT::i64,
17243 OPC_MoveSibling3,
17244 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17245 OPC_RecordNode,
17246 OPC_CheckPredicate, 26,
17247 OPC_MoveParent,
17248 OPC_CheckTypeI64,
17249 OPC_CheckPatternPredicate, 15,
17250 OPC_EmitConvertToTarget2,
17251 OPC_EmitConvertToTarget3,
17252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
17253 MVT::i64, 4, 0, 1, 4, 5,
17254 22, MVT::i32,
17255 OPC_MoveSibling3,
17256 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17257 OPC_RecordNode,
17258 OPC_CheckPredicate, 26,
17259 OPC_MoveParent,
17260 OPC_CheckTypeI32,
17261 OPC_CheckPatternPredicate, 9,
17262 OPC_EmitConvertToTarget2,
17263 OPC_EmitConvertToTarget3,
17264 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_W),
17265 MVT::i32, 4, 0, 1, 4, 5,
17266 0,
17267 51,
17268 OPC_CheckPredicate, 29,
17269 OPC_SwitchType , 21, MVT::i64,
17270 OPC_MoveSibling3,
17271 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17272 OPC_RecordNode,
17273 OPC_CheckPredicate, 29,
17274 OPC_MoveParent,
17275 OPC_CheckTypeI64,
17276 OPC_CheckPatternPredicate6,
17277 OPC_EmitConvertToTarget2,
17278 OPC_EmitConvertToTarget3,
17279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
17280 MVT::i64, 4, 0, 1, 4, 5,
17281 22, MVT::i32,
17282 OPC_MoveSibling3,
17283 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17284 OPC_RecordNode,
17285 OPC_CheckPredicate, 29,
17286 OPC_MoveParent,
17287 OPC_CheckTypeI32,
17288 OPC_CheckPatternPredicate, 10,
17289 OPC_EmitConvertToTarget2,
17290 OPC_EmitConvertToTarget3,
17291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BSTRINS_D),
17292 MVT::i32, 4, 0, 1, 4, 5,
17293 0,
17294 0,
17295 127, TARGET_VAL(ISD::ATOMIC_FENCE),
17296 OPC_RecordNode,
17297 OPC_Scope, 30,
17298 OPC_CheckChild1Integer, 8,
17299 OPC_MoveChild2,
17300 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17301 OPC_MoveParent,
17302 OPC_Scope, 9,
17303 OPC_CheckPatternPredicate7,
17304 OPC_EmitMergeInputChains1_0,
17305 OPC_EmitInteger64, 40,
17306 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17307 1, 1,
17308 10,
17309 OPC_CheckPatternPredicate, 8,
17310 OPC_EmitMergeInputChains1_0,
17311 OPC_EmitInteger32, 40,
17312 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17313 1, 1,
17314 0,
17315 30,
17316 OPC_CheckChild1Integer, 10,
17317 OPC_MoveChild2,
17318 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17319 OPC_MoveParent,
17320 OPC_Scope, 9,
17321 OPC_CheckPatternPredicate7,
17322 OPC_EmitMergeInputChains1_0,
17323 OPC_EmitInteger64, 36,
17324 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17325 1, 1,
17326 10,
17327 OPC_CheckPatternPredicate, 8,
17328 OPC_EmitMergeInputChains1_0,
17329 OPC_EmitInteger32, 36,
17330 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17331 1, 1,
17332 0,
17333 30,
17334 OPC_CheckChild1Integer, 12,
17335 OPC_MoveChild2,
17336 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17337 OPC_MoveParent,
17338 OPC_Scope, 9,
17339 OPC_CheckPatternPredicate7,
17340 OPC_EmitMergeInputChains1_0,
17341 OPC_EmitInteger64, 32,
17342 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17343 1, 1,
17344 10,
17345 OPC_CheckPatternPredicate, 8,
17346 OPC_EmitMergeInputChains1_0,
17347 OPC_EmitInteger32, 32,
17348 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17349 1, 1,
17350 0,
17351 30,
17352 OPC_CheckChild1Integer, 14,
17353 OPC_MoveChild2,
17354 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17355 OPC_MoveParent,
17356 OPC_Scope, 9,
17357 OPC_CheckPatternPredicate7,
17358 OPC_EmitMergeInputChains1_0,
17359 OPC_EmitInteger64, 32,
17360 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17361 1, 1,
17362 10,
17363 OPC_CheckPatternPredicate, 8,
17364 OPC_EmitMergeInputChains1_0,
17365 OPC_EmitInteger32, 32,
17366 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
17367 1, 1,
17368 0,
17369 0,
17370 117|128,6, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
17371 OPC_RecordNode,
17372 OPC_Scope, 25,
17373 OPC_CheckChild1Integer, 0|128,112,
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::PseudoMaskedAtomicSwap32),
17385 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17386 25,
17387 OPC_CheckChild1Integer, 104|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::PseudoMaskedAtomicLoadAdd32),
17399 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17400 25,
17401 OPC_CheckChild1Integer, 116|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::PseudoMaskedAtomicLoadSub32),
17413 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17414 25,
17415 OPC_CheckChild1Integer, 112|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_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32),
17427 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17428 28,
17429 OPC_CheckChild1Integer, 120|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::PseudoMaskedAtomicLoadUMax32), 0|OPFL_Chain,
17441 3, MVT::i64, MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17442 28,
17443 OPC_CheckChild1Integer, 124|128,111,
17444 OPC_RecordChild2,
17445 OPC_CheckChild2TypeI64,
17446 OPC_RecordChild3,
17447 OPC_RecordChild4,
17448 OPC_RecordChild5,
17449 OPC_MoveChild5,
17450 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17451 OPC_MoveParent,
17452 OPC_CheckPatternPredicate6,
17453 OPC_EmitMergeInputChains1_0,
17454 OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMin32), 0|OPFL_Chain,
17455 3, MVT::i64, MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
17456 27,
17457 OPC_CheckChild1Integer, 2|128,112,
17458 OPC_RecordChild2,
17459 OPC_CheckChild2TypeI64,
17460 OPC_RecordChild3,
17461 OPC_RecordChild4,
17462 OPC_RecordChild5,
17463 OPC_RecordChild6,
17464 OPC_MoveChild6,
17465 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17466 OPC_MoveParent,
17467 OPC_CheckPatternPredicate6,
17468 OPC_EmitMergeInputChains1_0,
17469 OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedCmpXchg32),
17470 MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5,
17471 30,
17472 OPC_CheckChild1Integer, 106|128,111,
17473 OPC_RecordChild2,
17474 OPC_CheckChild2TypeI64,
17475 OPC_RecordChild3,
17476 OPC_RecordChild4,
17477 OPC_RecordChild5,
17478 OPC_RecordChild6,
17479 OPC_MoveChild6,
17480 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17481 OPC_MoveParent,
17482 OPC_CheckPatternPredicate6,
17483 OPC_EmitMergeInputChains1_0,
17484 OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMax32), 0|OPFL_Chain,
17485 3, MVT::i64, MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5,
17486 30,
17487 OPC_CheckChild1Integer, 108|128,111,
17488 OPC_RecordChild2,
17489 OPC_CheckChild2TypeI64,
17490 OPC_RecordChild3,
17491 OPC_RecordChild4,
17492 OPC_RecordChild5,
17493 OPC_RecordChild6,
17494 OPC_MoveChild6,
17495 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17496 OPC_MoveParent,
17497 OPC_CheckPatternPredicate6,
17498 OPC_EmitMergeInputChains1_0,
17499 OPC_MorphNodeTo, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMin32), 0|OPFL_Chain,
17500 3, MVT::i64, MVT::i64, MVT::i64, 5, 1, 2, 3, 4, 5,
17501 26,
17502 OPC_CheckChild1Integer, 126|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::PseudoMaskedAtomicSwap32),
17514 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
17515 26,
17516 OPC_CheckChild1Integer, 102|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::PseudoMaskedAtomicLoadAdd32),
17528 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
17529 26,
17530 OPC_CheckChild1Integer, 114|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::PseudoMaskedAtomicLoadSub32),
17542 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
17543 26,
17544 OPC_CheckChild1Integer, 110|128,111,
17545 OPC_RecordChild2,
17546 OPC_CheckChild2TypeI32,
17547 OPC_RecordChild3,
17548 OPC_RecordChild4,
17549 OPC_RecordChild5,
17550 OPC_MoveChild5,
17551 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17552 OPC_MoveParent,
17553 OPC_CheckPatternPredicate, 9,
17554 OPC_EmitMergeInputChains1_0,
17555 OPC_MorphNodeTo2Chain, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32),
17556 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
17557 19,
17558 OPC_CheckChild1Integer, 66|128,100,
17559 OPC_RecordChild2,
17560 OPC_RecordChild3,
17561 OPC_MoveChild3,
17562 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17563 OPC_MoveParent,
17564 OPC_CheckPatternPredicate6,
17565 OPC_EmitMergeInputChains1_0,
17566 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::LDDIR),
17567 MVT::i64, 2, 1, 2,
17568 46,
17569 OPC_CheckChild1Integer, 26|128,105,
17570 OPC_RecordChild2,
17571 OPC_Scope, 19,
17572 OPC_CheckChild2TypeI64,
17573 OPC_RecordChild3,
17574 OPC_MoveChild3,
17575 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17576 OPC_MoveParent,
17577 OPC_CheckPatternPredicate3,
17578 OPC_EmitMergeInputChains1_0,
17579 OPC_EmitNodeXForm, 7, 2,
17580 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLD),
17581 MVT::v16i8, 2, 1, 3,
17582 19,
17583 OPC_CheckChild2TypeI32,
17584 OPC_RecordChild3,
17585 OPC_MoveChild3,
17586 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17587 OPC_MoveParent,
17588 OPC_CheckPatternPredicate5,
17589 OPC_EmitMergeInputChains1_0,
17590 OPC_EmitNodeXForm, 7, 2,
17591 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLD),
17592 MVT::v16i8, 2, 1, 3,
17593 0,
17594 46,
17595 OPC_CheckChild1Integer, 30|128,105,
17596 OPC_RecordChild2,
17597 OPC_Scope, 19,
17598 OPC_CheckChild2TypeI64,
17599 OPC_RecordChild3,
17600 OPC_MoveChild3,
17601 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17602 OPC_MoveParent,
17603 OPC_CheckPatternPredicate3,
17604 OPC_EmitMergeInputChains1_0,
17605 OPC_EmitNodeXForm, 7, 2,
17606 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_B),
17607 MVT::v16i8, 2, 1, 3,
17608 19,
17609 OPC_CheckChild2TypeI32,
17610 OPC_RecordChild3,
17611 OPC_MoveChild3,
17612 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17613 OPC_MoveParent,
17614 OPC_CheckPatternPredicate5,
17615 OPC_EmitMergeInputChains1_0,
17616 OPC_EmitNodeXForm, 7, 2,
17617 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_B),
17618 MVT::v16i8, 2, 1, 3,
17619 0,
17620 46,
17621 OPC_CheckChild1Integer, 34|128,105,
17622 OPC_RecordChild2,
17623 OPC_Scope, 19,
17624 OPC_CheckChild2TypeI64,
17625 OPC_RecordChild3,
17626 OPC_MoveChild3,
17627 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17628 OPC_MoveParent,
17629 OPC_CheckPatternPredicate3,
17630 OPC_EmitMergeInputChains1_0,
17631 OPC_EmitNodeXForm, 7, 2,
17632 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_H),
17633 MVT::v8i16, 2, 1, 3,
17634 19,
17635 OPC_CheckChild2TypeI32,
17636 OPC_RecordChild3,
17637 OPC_MoveChild3,
17638 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17639 OPC_MoveParent,
17640 OPC_CheckPatternPredicate5,
17641 OPC_EmitMergeInputChains1_0,
17642 OPC_EmitNodeXForm, 7, 2,
17643 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_H),
17644 MVT::v8i16, 2, 1, 3,
17645 0,
17646 46,
17647 OPC_CheckChild1Integer, 36|128,105,
17648 OPC_RecordChild2,
17649 OPC_Scope, 19,
17650 OPC_CheckChild2TypeI64,
17651 OPC_RecordChild3,
17652 OPC_MoveChild3,
17653 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17654 OPC_MoveParent,
17655 OPC_CheckPatternPredicate3,
17656 OPC_EmitMergeInputChains1_0,
17657 OPC_EmitNodeXForm, 7, 2,
17658 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_W),
17659 MVT::v4i32, 2, 1, 3,
17660 19,
17661 OPC_CheckChild2TypeI32,
17662 OPC_RecordChild3,
17663 OPC_MoveChild3,
17664 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17665 OPC_MoveParent,
17666 OPC_CheckPatternPredicate5,
17667 OPC_EmitMergeInputChains1_0,
17668 OPC_EmitNodeXForm, 7, 2,
17669 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_W),
17670 MVT::v4i32, 2, 1, 3,
17671 0,
17672 46,
17673 OPC_CheckChild1Integer, 32|128,105,
17674 OPC_RecordChild2,
17675 OPC_Scope, 19,
17676 OPC_CheckChild2TypeI64,
17677 OPC_RecordChild3,
17678 OPC_MoveChild3,
17679 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17680 OPC_MoveParent,
17681 OPC_CheckPatternPredicate3,
17682 OPC_EmitMergeInputChains1_0,
17683 OPC_EmitNodeXForm, 7, 2,
17684 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_D),
17685 MVT::v2i64, 2, 1, 3,
17686 19,
17687 OPC_CheckChild2TypeI32,
17688 OPC_RecordChild3,
17689 OPC_MoveChild3,
17690 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17691 OPC_MoveParent,
17692 OPC_CheckPatternPredicate5,
17693 OPC_EmitMergeInputChains1_0,
17694 OPC_EmitNodeXForm, 7, 2,
17695 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_D),
17696 MVT::v2i64, 2, 1, 3,
17697 0,
17698 46,
17699 OPC_CheckChild1Integer, 102|128,93,
17700 OPC_RecordChild2,
17701 OPC_Scope, 19,
17702 OPC_CheckChild2TypeI64,
17703 OPC_RecordChild3,
17704 OPC_MoveChild3,
17705 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17706 OPC_MoveParent,
17707 OPC_CheckPatternPredicate2,
17708 OPC_EmitMergeInputChains1_0,
17709 OPC_EmitNodeXForm, 7, 2,
17710 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLD),
17711 MVT::v32i8, 2, 1, 3,
17712 19,
17713 OPC_CheckChild2TypeI32,
17714 OPC_RecordChild3,
17715 OPC_MoveChild3,
17716 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17717 OPC_MoveParent,
17718 OPC_CheckPatternPredicate4,
17719 OPC_EmitMergeInputChains1_0,
17720 OPC_EmitNodeXForm, 7, 2,
17721 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLD),
17722 MVT::v32i8, 2, 1, 3,
17723 0,
17724 46,
17725 OPC_CheckChild1Integer, 106|128,93,
17726 OPC_RecordChild2,
17727 OPC_Scope, 19,
17728 OPC_CheckChild2TypeI64,
17729 OPC_RecordChild3,
17730 OPC_MoveChild3,
17731 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17732 OPC_MoveParent,
17733 OPC_CheckPatternPredicate2,
17734 OPC_EmitMergeInputChains1_0,
17735 OPC_EmitNodeXForm, 7, 2,
17736 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_B),
17737 MVT::v32i8, 2, 1, 3,
17738 19,
17739 OPC_CheckChild2TypeI32,
17740 OPC_RecordChild3,
17741 OPC_MoveChild3,
17742 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17743 OPC_MoveParent,
17744 OPC_CheckPatternPredicate4,
17745 OPC_EmitMergeInputChains1_0,
17746 OPC_EmitNodeXForm, 7, 2,
17747 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_B),
17748 MVT::v32i8, 2, 1, 3,
17749 0,
17750 46,
17751 OPC_CheckChild1Integer, 110|128,93,
17752 OPC_RecordChild2,
17753 OPC_Scope, 19,
17754 OPC_CheckChild2TypeI64,
17755 OPC_RecordChild3,
17756 OPC_MoveChild3,
17757 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17758 OPC_MoveParent,
17759 OPC_CheckPatternPredicate2,
17760 OPC_EmitMergeInputChains1_0,
17761 OPC_EmitNodeXForm, 7, 2,
17762 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_H),
17763 MVT::v16i16, 2, 1, 3,
17764 19,
17765 OPC_CheckChild2TypeI32,
17766 OPC_RecordChild3,
17767 OPC_MoveChild3,
17768 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17769 OPC_MoveParent,
17770 OPC_CheckPatternPredicate4,
17771 OPC_EmitMergeInputChains1_0,
17772 OPC_EmitNodeXForm, 7, 2,
17773 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_H),
17774 MVT::v16i16, 2, 1, 3,
17775 0,
17776 46,
17777 OPC_CheckChild1Integer, 112|128,93,
17778 OPC_RecordChild2,
17779 OPC_Scope, 19,
17780 OPC_CheckChild2TypeI64,
17781 OPC_RecordChild3,
17782 OPC_MoveChild3,
17783 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17784 OPC_MoveParent,
17785 OPC_CheckPatternPredicate2,
17786 OPC_EmitMergeInputChains1_0,
17787 OPC_EmitNodeXForm, 7, 2,
17788 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_W),
17789 MVT::v8i32, 2, 1, 3,
17790 19,
17791 OPC_CheckChild2TypeI32,
17792 OPC_RecordChild3,
17793 OPC_MoveChild3,
17794 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17795 OPC_MoveParent,
17796 OPC_CheckPatternPredicate4,
17797 OPC_EmitMergeInputChains1_0,
17798 OPC_EmitNodeXForm, 7, 2,
17799 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_W),
17800 MVT::v8i32, 2, 1, 3,
17801 0,
17802 46,
17803 OPC_CheckChild1Integer, 108|128,93,
17804 OPC_RecordChild2,
17805 OPC_Scope, 19,
17806 OPC_CheckChild2TypeI64,
17807 OPC_RecordChild3,
17808 OPC_MoveChild3,
17809 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17810 OPC_MoveParent,
17811 OPC_CheckPatternPredicate2,
17812 OPC_EmitMergeInputChains1_0,
17813 OPC_EmitNodeXForm, 7, 2,
17814 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_D),
17815 MVT::v4i64, 2, 1, 3,
17816 19,
17817 OPC_CheckChild2TypeI32,
17818 OPC_RecordChild3,
17819 OPC_MoveChild3,
17820 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17821 OPC_MoveParent,
17822 OPC_CheckPatternPredicate4,
17823 OPC_EmitMergeInputChains1_0,
17824 OPC_EmitNodeXForm, 7, 2,
17825 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_D),
17826 MVT::v4i64, 2, 1, 3,
17827 0,
17828 15,
17829 OPC_CheckChild1Integer, 38|128,105,
17830 OPC_RecordChild2,
17831 OPC_CheckChild2TypeI64,
17832 OPC_RecordChild3,
17833 OPC_CheckPatternPredicate3,
17834 OPC_EmitMergeInputChains1_0,
17835 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDX),
17836 MVT::v16i8, 2, 1, 2,
17837 15,
17838 OPC_CheckChild1Integer, 114|128,93,
17839 OPC_RecordChild2,
17840 OPC_CheckChild2TypeI64,
17841 OPC_RecordChild3,
17842 OPC_CheckPatternPredicate2,
17843 OPC_EmitMergeInputChains1_0,
17844 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDX),
17845 MVT::v32i8, 2, 1, 2,
17846 0,
17847 85|128,35|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
17848 OPC_Scope, 21,
17849 OPC_CheckChild0Integer, 76|128,107,
17850 OPC_RecordChild1,
17851 OPC_RecordChild2,
17852 OPC_MoveChild2,
17853 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17854 OPC_MoveParent,
17855 OPC_CheckPatternPredicate3,
17856 OPC_EmitNodeXForm, 7, 1,
17857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_D),
17858 MVT::i64, 2, 0, 2,
17859 21,
17860 OPC_CheckChild0Integer, 78|128,107,
17861 OPC_RecordChild1,
17862 OPC_RecordChild2,
17863 OPC_MoveChild2,
17864 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17865 OPC_MoveParent,
17866 OPC_CheckPatternPredicate3,
17867 OPC_EmitNodeXForm, 7, 1,
17868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_DU),
17869 MVT::i64, 2, 0, 2,
17870 21,
17871 OPC_CheckChild0Integer, 34|128,96,
17872 OPC_RecordChild1,
17873 OPC_RecordChild2,
17874 OPC_MoveChild2,
17875 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17876 OPC_MoveParent,
17877 OPC_CheckPatternPredicate2,
17878 OPC_EmitNodeXForm, 7, 1,
17879 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
17880 MVT::i64, 2, 0, 2,
17881 21,
17882 OPC_CheckChild0Integer, 36|128,96,
17883 OPC_RecordChild1,
17884 OPC_RecordChild2,
17885 OPC_MoveChild2,
17886 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17887 OPC_MoveParent,
17888 OPC_CheckPatternPredicate2,
17889 OPC_EmitNodeXForm, 7, 1,
17890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_DU),
17891 MVT::i64, 2, 0, 2,
17892 12,
17893 OPC_CheckChild0Integer, 98|128,88,
17894 OPC_RecordChild1,
17895 OPC_CheckPatternPredicate, 18,
17896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_S),
17897 MVT::f32, 1, 0,
17898 12,
17899 OPC_CheckChild0Integer, 102|128,88,
17900 OPC_RecordChild1,
17901 OPC_CheckPatternPredicate, 18,
17902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_S),
17903 MVT::f32, 1, 0,
17904 12,
17905 OPC_CheckChild0Integer, 96|128,88,
17906 OPC_RecordChild1,
17907 OPC_CheckPatternPredicate, 18,
17908 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_D),
17909 MVT::f64, 1, 0,
17910 12,
17911 OPC_CheckChild0Integer, 100|128,88,
17912 OPC_RecordChild1,
17913 OPC_CheckPatternPredicate, 18,
17914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_D),
17915 MVT::f64, 1, 0,
17916 33,
17917 OPC_CheckChild0Integer, 28|128,105,
17918 OPC_RecordChild1,
17919 OPC_MoveChild1,
17920 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17921 OPC_MoveParent,
17922 OPC_Scope, 10,
17923 OPC_CheckPatternPredicate3,
17924 OPC_EmitNodeXForm, 7, 0,
17925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VLDI),
17926 MVT::v2i64, 1, 1,
17927 10,
17928 OPC_CheckPatternPredicate5,
17929 OPC_EmitNodeXForm, 7, 0,
17930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VLDI),
17931 MVT::v2i64, 1, 1,
17932 0,
17933 33,
17934 OPC_CheckChild0Integer, 96|128,107,
17935 OPC_RecordChild1,
17936 OPC_MoveChild1,
17937 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17938 OPC_MoveParent,
17939 OPC_Scope, 10,
17940 OPC_CheckPatternPredicate3,
17941 OPC_EmitNodeXForm, 7, 0,
17942 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_B),
17943 MVT::v16i8, 1, 1,
17944 10,
17945 OPC_CheckPatternPredicate5,
17946 OPC_EmitNodeXForm, 7, 0,
17947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_B),
17948 MVT::v16i8, 1, 1,
17949 0,
17950 33,
17951 OPC_CheckChild0Integer, 100|128,107,
17952 OPC_RecordChild1,
17953 OPC_MoveChild1,
17954 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17955 OPC_MoveParent,
17956 OPC_Scope, 10,
17957 OPC_CheckPatternPredicate3,
17958 OPC_EmitNodeXForm, 7, 0,
17959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_H),
17960 MVT::v8i16, 1, 1,
17961 10,
17962 OPC_CheckPatternPredicate5,
17963 OPC_EmitNodeXForm, 7, 0,
17964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_H),
17965 MVT::v8i16, 1, 1,
17966 0,
17967 33,
17968 OPC_CheckChild0Integer, 102|128,107,
17969 OPC_RecordChild1,
17970 OPC_MoveChild1,
17971 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17972 OPC_MoveParent,
17973 OPC_Scope, 10,
17974 OPC_CheckPatternPredicate3,
17975 OPC_EmitNodeXForm, 7, 0,
17976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_W),
17977 MVT::v4i32, 1, 1,
17978 10,
17979 OPC_CheckPatternPredicate5,
17980 OPC_EmitNodeXForm, 7, 0,
17981 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_W),
17982 MVT::v4i32, 1, 1,
17983 0,
17984 33,
17985 OPC_CheckChild0Integer, 98|128,107,
17986 OPC_RecordChild1,
17987 OPC_MoveChild1,
17988 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
17989 OPC_MoveParent,
17990 OPC_Scope, 10,
17991 OPC_CheckPatternPredicate3,
17992 OPC_EmitNodeXForm, 7, 0,
17993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_D),
17994 MVT::v2i64, 1, 1,
17995 10,
17996 OPC_CheckPatternPredicate5,
17997 OPC_EmitNodeXForm, 7, 0,
17998 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_D),
17999 MVT::v2i64, 1, 1,
18000 0,
18001 36,
18002 OPC_CheckChild0Integer, 24|128,108,
18003 OPC_RecordChild1,
18004 OPC_RecordChild2,
18005 OPC_MoveChild2,
18006 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18007 OPC_MoveParent,
18008 OPC_Scope, 11,
18009 OPC_CheckPatternPredicate3,
18010 OPC_EmitNodeXForm, 7, 1,
18011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_B),
18012 MVT::v16i8, 2, 0, 2,
18013 11,
18014 OPC_CheckPatternPredicate5,
18015 OPC_EmitNodeXForm, 7, 1,
18016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_B),
18017 MVT::v16i8, 2, 0, 2,
18018 0,
18019 36,
18020 OPC_CheckChild0Integer, 26|128,108,
18021 OPC_RecordChild1,
18022 OPC_RecordChild2,
18023 OPC_MoveChild2,
18024 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18025 OPC_MoveParent,
18026 OPC_Scope, 11,
18027 OPC_CheckPatternPredicate3,
18028 OPC_EmitNodeXForm, 7, 1,
18029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_BU),
18030 MVT::v16i8, 2, 0, 2,
18031 11,
18032 OPC_CheckPatternPredicate5,
18033 OPC_EmitNodeXForm, 7, 1,
18034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_BU),
18035 MVT::v16i8, 2, 0, 2,
18036 0,
18037 36,
18038 OPC_CheckChild0Integer, 22|128,107,
18039 OPC_RecordChild1,
18040 OPC_RecordChild2,
18041 OPC_MoveChild2,
18042 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18043 OPC_MoveParent,
18044 OPC_Scope, 11,
18045 OPC_CheckPatternPredicate3,
18046 OPC_EmitNodeXForm, 7, 1,
18047 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
18048 MVT::v16i8, 2, 0, 2,
18049 11,
18050 OPC_CheckPatternPredicate5,
18051 OPC_EmitNodeXForm, 7, 1,
18052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
18053 MVT::v16i8, 2, 0, 2,
18054 0,
18055 36,
18056 OPC_CheckChild0Integer, 0|128,108,
18057 OPC_RecordChild1,
18058 OPC_RecordChild2,
18059 OPC_MoveChild2,
18060 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18061 OPC_MoveParent,
18062 OPC_Scope, 11,
18063 OPC_CheckPatternPredicate3,
18064 OPC_EmitNodeXForm, 7, 1,
18065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
18066 MVT::v16i8, 2, 0, 2,
18067 11,
18068 OPC_CheckPatternPredicate5,
18069 OPC_EmitNodeXForm, 7, 1,
18070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
18071 MVT::v16i8, 2, 0, 2,
18072 0,
18073 36,
18074 OPC_CheckChild0Integer, 4|128,109,
18075 OPC_RecordChild1,
18076 OPC_RecordChild2,
18077 OPC_MoveChild2,
18078 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18079 OPC_MoveParent,
18080 OPC_Scope, 11,
18081 OPC_CheckPatternPredicate3,
18082 OPC_EmitNodeXForm, 7, 1,
18083 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
18084 MVT::v8i16, 2, 0, 2,
18085 11,
18086 OPC_CheckPatternPredicate5,
18087 OPC_EmitNodeXForm, 7, 1,
18088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
18089 MVT::v8i16, 2, 0, 2,
18090 0,
18091 36,
18092 OPC_CheckChild0Integer, 6|128,109,
18093 OPC_RecordChild1,
18094 OPC_RecordChild2,
18095 OPC_MoveChild2,
18096 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18097 OPC_MoveParent,
18098 OPC_Scope, 11,
18099 OPC_CheckPatternPredicate3,
18100 OPC_EmitNodeXForm, 7, 1,
18101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
18102 MVT::v8i16, 2, 0, 2,
18103 11,
18104 OPC_CheckPatternPredicate5,
18105 OPC_EmitNodeXForm, 7, 1,
18106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
18107 MVT::v8i16, 2, 0, 2,
18108 0,
18109 36,
18110 OPC_CheckChild0Integer, 14|128,110,
18111 OPC_RecordChild1,
18112 OPC_RecordChild2,
18113 OPC_MoveChild2,
18114 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18115 OPC_MoveParent,
18116 OPC_Scope, 11,
18117 OPC_CheckPatternPredicate3,
18118 OPC_EmitNodeXForm, 7, 1,
18119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
18120 MVT::v16i8, 2, 0, 2,
18121 11,
18122 OPC_CheckPatternPredicate5,
18123 OPC_EmitNodeXForm, 7, 1,
18124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
18125 MVT::v16i8, 2, 0, 2,
18126 0,
18127 36,
18128 OPC_CheckChild0Integer, 82|128,109,
18129 OPC_RecordChild1,
18130 OPC_RecordChild2,
18131 OPC_MoveChild2,
18132 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18133 OPC_MoveParent,
18134 OPC_Scope, 11,
18135 OPC_CheckPatternPredicate3,
18136 OPC_EmitNodeXForm, 7, 1,
18137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
18138 MVT::v16i8, 2, 0, 2,
18139 11,
18140 OPC_CheckPatternPredicate5,
18141 OPC_EmitNodeXForm, 7, 1,
18142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
18143 MVT::v16i8, 2, 0, 2,
18144 0,
18145 36,
18146 OPC_CheckChild0Integer, 48|128,108,
18147 OPC_RecordChild1,
18148 OPC_RecordChild2,
18149 OPC_MoveChild2,
18150 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18151 OPC_MoveParent,
18152 OPC_Scope, 11,
18153 OPC_CheckPatternPredicate3,
18154 OPC_EmitNodeXForm, 7, 1,
18155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
18156 MVT::v16i8, 2, 0, 2,
18157 11,
18158 OPC_CheckPatternPredicate5,
18159 OPC_EmitNodeXForm, 7, 1,
18160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
18161 MVT::v16i8, 2, 0, 2,
18162 0,
18163 36,
18164 OPC_CheckChild0Integer, 96|128,108,
18165 OPC_RecordChild1,
18166 OPC_RecordChild2,
18167 OPC_MoveChild2,
18168 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18169 OPC_MoveParent,
18170 OPC_Scope, 11,
18171 OPC_CheckPatternPredicate3,
18172 OPC_EmitNodeXForm, 7, 1,
18173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
18174 MVT::v16i8, 2, 0, 2,
18175 11,
18176 OPC_CheckPatternPredicate5,
18177 OPC_EmitNodeXForm, 7, 1,
18178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
18179 MVT::v16i8, 2, 0, 2,
18180 0,
18181 36,
18182 OPC_CheckChild0Integer, 98|128,108,
18183 OPC_RecordChild1,
18184 OPC_RecordChild2,
18185 OPC_MoveChild2,
18186 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18187 OPC_MoveParent,
18188 OPC_Scope, 11,
18189 OPC_CheckPatternPredicate3,
18190 OPC_EmitNodeXForm, 7, 1,
18191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
18192 MVT::v16i8, 2, 0, 2,
18193 11,
18194 OPC_CheckPatternPredicate5,
18195 OPC_EmitNodeXForm, 7, 1,
18196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
18197 MVT::v16i8, 2, 0, 2,
18198 0,
18199 36,
18200 OPC_CheckChild0Integer, 28|128,109,
18201 OPC_RecordChild1,
18202 OPC_RecordChild2,
18203 OPC_MoveChild2,
18204 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18205 OPC_MoveParent,
18206 OPC_Scope, 11,
18207 OPC_CheckPatternPredicate3,
18208 OPC_EmitNodeXForm, 7, 1,
18209 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
18210 MVT::v16i8, 2, 0, 2,
18211 11,
18212 OPC_CheckPatternPredicate5,
18213 OPC_EmitNodeXForm, 7, 1,
18214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
18215 MVT::v16i8, 2, 0, 2,
18216 0,
18217 36,
18218 OPC_CheckChild0Integer, 30|128,109,
18219 OPC_RecordChild1,
18220 OPC_RecordChild2,
18221 OPC_MoveChild2,
18222 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18223 OPC_MoveParent,
18224 OPC_Scope, 11,
18225 OPC_CheckPatternPredicate3,
18226 OPC_EmitNodeXForm, 7, 1,
18227 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
18228 MVT::v16i8, 2, 0, 2,
18229 11,
18230 OPC_CheckPatternPredicate5,
18231 OPC_EmitNodeXForm, 7, 1,
18232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
18233 MVT::v16i8, 2, 0, 2,
18234 0,
18235 36,
18236 OPC_CheckChild0Integer, 112|128,107,
18237 OPC_RecordChild1,
18238 OPC_RecordChild2,
18239 OPC_MoveChild2,
18240 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18241 OPC_MoveParent,
18242 OPC_Scope, 11,
18243 OPC_CheckPatternPredicate3,
18244 OPC_EmitNodeXForm, 7, 1,
18245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
18246 MVT::v16i8, 2, 0, 2,
18247 11,
18248 OPC_CheckPatternPredicate5,
18249 OPC_EmitNodeXForm, 7, 1,
18250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
18251 MVT::v16i8, 2, 0, 2,
18252 0,
18253 36,
18254 OPC_CheckChild0Integer, 14|128,102,
18255 OPC_RecordChild1,
18256 OPC_RecordChild2,
18257 OPC_MoveChild2,
18258 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18259 OPC_MoveParent,
18260 OPC_Scope, 11,
18261 OPC_CheckPatternPredicate3,
18262 OPC_EmitNodeXForm, 7, 1,
18263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
18264 MVT::v16i8, 2, 0, 2,
18265 11,
18266 OPC_CheckPatternPredicate5,
18267 OPC_EmitNodeXForm, 7, 1,
18268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
18269 MVT::v16i8, 2, 0, 2,
18270 0,
18271 36,
18272 OPC_CheckChild0Integer, 16|128,102,
18273 OPC_RecordChild1,
18274 OPC_RecordChild2,
18275 OPC_MoveChild2,
18276 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18277 OPC_MoveParent,
18278 OPC_Scope, 11,
18279 OPC_CheckPatternPredicate3,
18280 OPC_EmitNodeXForm, 7, 1,
18281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
18282 MVT::v16i8, 2, 0, 2,
18283 11,
18284 OPC_CheckPatternPredicate5,
18285 OPC_EmitNodeXForm, 7, 1,
18286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
18287 MVT::v16i8, 2, 0, 2,
18288 0,
18289 36,
18290 OPC_CheckChild0Integer, 64|128,108,
18291 OPC_RecordChild1,
18292 OPC_RecordChild2,
18293 OPC_MoveChild2,
18294 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18295 OPC_MoveParent,
18296 OPC_Scope, 11,
18297 OPC_CheckPatternPredicate3,
18298 OPC_EmitNodeXForm, 7, 1,
18299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
18300 MVT::v16i8, 2, 0, 2,
18301 11,
18302 OPC_CheckPatternPredicate5,
18303 OPC_EmitNodeXForm, 7, 1,
18304 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
18305 MVT::v16i8, 2, 0, 2,
18306 0,
18307 36,
18308 OPC_CheckChild0Integer, 32|128,108,
18309 OPC_RecordChild1,
18310 OPC_RecordChild2,
18311 OPC_MoveChild2,
18312 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18313 OPC_MoveParent,
18314 OPC_Scope, 11,
18315 OPC_CheckPatternPredicate3,
18316 OPC_EmitNodeXForm, 7, 1,
18317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_H),
18318 MVT::v8i16, 2, 0, 2,
18319 11,
18320 OPC_CheckPatternPredicate5,
18321 OPC_EmitNodeXForm, 7, 1,
18322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_H),
18323 MVT::v8i16, 2, 0, 2,
18324 0,
18325 36,
18326 OPC_CheckChild0Integer, 34|128,108,
18327 OPC_RecordChild1,
18328 OPC_RecordChild2,
18329 OPC_MoveChild2,
18330 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18331 OPC_MoveParent,
18332 OPC_Scope, 11,
18333 OPC_CheckPatternPredicate3,
18334 OPC_EmitNodeXForm, 7, 1,
18335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_HU),
18336 MVT::v8i16, 2, 0, 2,
18337 11,
18338 OPC_CheckPatternPredicate5,
18339 OPC_EmitNodeXForm, 7, 1,
18340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_HU),
18341 MVT::v8i16, 2, 0, 2,
18342 0,
18343 36,
18344 OPC_CheckChild0Integer, 4|128,108,
18345 OPC_RecordChild1,
18346 OPC_RecordChild2,
18347 OPC_MoveChild2,
18348 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18349 OPC_MoveParent,
18350 OPC_Scope, 11,
18351 OPC_CheckPatternPredicate3,
18352 OPC_EmitNodeXForm, 7, 1,
18353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
18354 MVT::v8i16, 2, 0, 2,
18355 11,
18356 OPC_CheckPatternPredicate5,
18357 OPC_EmitNodeXForm, 7, 1,
18358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
18359 MVT::v8i16, 2, 0, 2,
18360 0,
18361 36,
18362 OPC_CheckChild0Integer, 8|128,109,
18363 OPC_RecordChild1,
18364 OPC_RecordChild2,
18365 OPC_MoveChild2,
18366 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18367 OPC_MoveParent,
18368 OPC_Scope, 11,
18369 OPC_CheckPatternPredicate3,
18370 OPC_EmitNodeXForm, 7, 1,
18371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
18372 MVT::v4i32, 2, 0, 2,
18373 11,
18374 OPC_CheckPatternPredicate5,
18375 OPC_EmitNodeXForm, 7, 1,
18376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
18377 MVT::v4i32, 2, 0, 2,
18378 0,
18379 36,
18380 OPC_CheckChild0Integer, 10|128,109,
18381 OPC_RecordChild1,
18382 OPC_RecordChild2,
18383 OPC_MoveChild2,
18384 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18385 OPC_MoveParent,
18386 OPC_Scope, 11,
18387 OPC_CheckPatternPredicate3,
18388 OPC_EmitNodeXForm, 7, 1,
18389 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
18390 MVT::v4i32, 2, 0, 2,
18391 11,
18392 OPC_CheckPatternPredicate5,
18393 OPC_EmitNodeXForm, 7, 1,
18394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
18395 MVT::v4i32, 2, 0, 2,
18396 0,
18397 36,
18398 OPC_CheckChild0Integer, 18|128,110,
18399 OPC_RecordChild1,
18400 OPC_RecordChild2,
18401 OPC_MoveChild2,
18402 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18403 OPC_MoveParent,
18404 OPC_Scope, 11,
18405 OPC_CheckPatternPredicate3,
18406 OPC_EmitNodeXForm, 7, 1,
18407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
18408 MVT::v8i16, 2, 0, 2,
18409 11,
18410 OPC_CheckPatternPredicate5,
18411 OPC_EmitNodeXForm, 7, 1,
18412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
18413 MVT::v8i16, 2, 0, 2,
18414 0,
18415 36,
18416 OPC_CheckChild0Integer, 86|128,109,
18417 OPC_RecordChild1,
18418 OPC_RecordChild2,
18419 OPC_MoveChild2,
18420 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18421 OPC_MoveParent,
18422 OPC_Scope, 11,
18423 OPC_CheckPatternPredicate3,
18424 OPC_EmitNodeXForm, 7, 1,
18425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
18426 MVT::v8i16, 2, 0, 2,
18427 11,
18428 OPC_CheckPatternPredicate5,
18429 OPC_EmitNodeXForm, 7, 1,
18430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
18431 MVT::v8i16, 2, 0, 2,
18432 0,
18433 36,
18434 OPC_CheckChild0Integer, 52|128,108,
18435 OPC_RecordChild1,
18436 OPC_RecordChild2,
18437 OPC_MoveChild2,
18438 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18439 OPC_MoveParent,
18440 OPC_Scope, 11,
18441 OPC_CheckPatternPredicate3,
18442 OPC_EmitNodeXForm, 7, 1,
18443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
18444 MVT::v8i16, 2, 0, 2,
18445 11,
18446 OPC_CheckPatternPredicate5,
18447 OPC_EmitNodeXForm, 7, 1,
18448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
18449 MVT::v8i16, 2, 0, 2,
18450 0,
18451 36,
18452 OPC_CheckChild0Integer, 104|128,108,
18453 OPC_RecordChild1,
18454 OPC_RecordChild2,
18455 OPC_MoveChild2,
18456 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18457 OPC_MoveParent,
18458 OPC_Scope, 11,
18459 OPC_CheckPatternPredicate3,
18460 OPC_EmitNodeXForm, 7, 1,
18461 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
18462 MVT::v8i16, 2, 0, 2,
18463 11,
18464 OPC_CheckPatternPredicate5,
18465 OPC_EmitNodeXForm, 7, 1,
18466 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
18467 MVT::v8i16, 2, 0, 2,
18468 0,
18469 36,
18470 OPC_CheckChild0Integer, 106|128,108,
18471 OPC_RecordChild1,
18472 OPC_RecordChild2,
18473 OPC_MoveChild2,
18474 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18475 OPC_MoveParent,
18476 OPC_Scope, 11,
18477 OPC_CheckPatternPredicate3,
18478 OPC_EmitNodeXForm, 7, 1,
18479 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
18480 MVT::v8i16, 2, 0, 2,
18481 11,
18482 OPC_CheckPatternPredicate5,
18483 OPC_EmitNodeXForm, 7, 1,
18484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
18485 MVT::v8i16, 2, 0, 2,
18486 0,
18487 36,
18488 OPC_CheckChild0Integer, 36|128,109,
18489 OPC_RecordChild1,
18490 OPC_RecordChild2,
18491 OPC_MoveChild2,
18492 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18493 OPC_MoveParent,
18494 OPC_Scope, 11,
18495 OPC_CheckPatternPredicate3,
18496 OPC_EmitNodeXForm, 7, 1,
18497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
18498 MVT::v8i16, 2, 0, 2,
18499 11,
18500 OPC_CheckPatternPredicate5,
18501 OPC_EmitNodeXForm, 7, 1,
18502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
18503 MVT::v8i16, 2, 0, 2,
18504 0,
18505 36,
18506 OPC_CheckChild0Integer, 38|128,109,
18507 OPC_RecordChild1,
18508 OPC_RecordChild2,
18509 OPC_MoveChild2,
18510 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18511 OPC_MoveParent,
18512 OPC_Scope, 11,
18513 OPC_CheckPatternPredicate3,
18514 OPC_EmitNodeXForm, 7, 1,
18515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
18516 MVT::v8i16, 2, 0, 2,
18517 11,
18518 OPC_CheckPatternPredicate5,
18519 OPC_EmitNodeXForm, 7, 1,
18520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
18521 MVT::v8i16, 2, 0, 2,
18522 0,
18523 36,
18524 OPC_CheckChild0Integer, 116|128,107,
18525 OPC_RecordChild1,
18526 OPC_RecordChild2,
18527 OPC_MoveChild2,
18528 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18529 OPC_MoveParent,
18530 OPC_Scope, 11,
18531 OPC_CheckPatternPredicate3,
18532 OPC_EmitNodeXForm, 7, 1,
18533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
18534 MVT::v8i16, 2, 0, 2,
18535 11,
18536 OPC_CheckPatternPredicate5,
18537 OPC_EmitNodeXForm, 7, 1,
18538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
18539 MVT::v8i16, 2, 0, 2,
18540 0,
18541 36,
18542 OPC_CheckChild0Integer, 68|128,108,
18543 OPC_RecordChild1,
18544 OPC_RecordChild2,
18545 OPC_MoveChild2,
18546 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18547 OPC_MoveParent,
18548 OPC_Scope, 11,
18549 OPC_CheckPatternPredicate3,
18550 OPC_EmitNodeXForm, 7, 1,
18551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
18552 MVT::v8i16, 2, 0, 2,
18553 11,
18554 OPC_CheckPatternPredicate5,
18555 OPC_EmitNodeXForm, 7, 1,
18556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
18557 MVT::v8i16, 2, 0, 2,
18558 0,
18559 36,
18560 OPC_CheckChild0Integer, 36|128,108,
18561 OPC_RecordChild1,
18562 OPC_RecordChild2,
18563 OPC_MoveChild2,
18564 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18565 OPC_MoveParent,
18566 OPC_Scope, 11,
18567 OPC_CheckPatternPredicate3,
18568 OPC_EmitNodeXForm, 7, 1,
18569 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_W),
18570 MVT::v4i32, 2, 0, 2,
18571 11,
18572 OPC_CheckPatternPredicate5,
18573 OPC_EmitNodeXForm, 7, 1,
18574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_W),
18575 MVT::v4i32, 2, 0, 2,
18576 0,
18577 36,
18578 OPC_CheckChild0Integer, 38|128,108,
18579 OPC_RecordChild1,
18580 OPC_RecordChild2,
18581 OPC_MoveChild2,
18582 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18583 OPC_MoveParent,
18584 OPC_Scope, 11,
18585 OPC_CheckPatternPredicate3,
18586 OPC_EmitNodeXForm, 7, 1,
18587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_WU),
18588 MVT::v4i32, 2, 0, 2,
18589 11,
18590 OPC_CheckPatternPredicate5,
18591 OPC_EmitNodeXForm, 7, 1,
18592 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_WU),
18593 MVT::v4i32, 2, 0, 2,
18594 0,
18595 36,
18596 OPC_CheckChild0Integer, 6|128,108,
18597 OPC_RecordChild1,
18598 OPC_RecordChild2,
18599 OPC_MoveChild2,
18600 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18601 OPC_MoveParent,
18602 OPC_Scope, 11,
18603 OPC_CheckPatternPredicate3,
18604 OPC_EmitNodeXForm, 7, 1,
18605 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
18606 MVT::v4i32, 2, 0, 2,
18607 11,
18608 OPC_CheckPatternPredicate5,
18609 OPC_EmitNodeXForm, 7, 1,
18610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
18611 MVT::v4i32, 2, 0, 2,
18612 0,
18613 36,
18614 OPC_CheckChild0Integer, 0|128,109,
18615 OPC_RecordChild1,
18616 OPC_RecordChild2,
18617 OPC_MoveChild2,
18618 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18619 OPC_MoveParent,
18620 OPC_Scope, 11,
18621 OPC_CheckPatternPredicate3,
18622 OPC_EmitNodeXForm, 7, 1,
18623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
18624 MVT::v2i64, 2, 0, 2,
18625 11,
18626 OPC_CheckPatternPredicate5,
18627 OPC_EmitNodeXForm, 7, 1,
18628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
18629 MVT::v2i64, 2, 0, 2,
18630 0,
18631 36,
18632 OPC_CheckChild0Integer, 2|128,109,
18633 OPC_RecordChild1,
18634 OPC_RecordChild2,
18635 OPC_MoveChild2,
18636 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18637 OPC_MoveParent,
18638 OPC_Scope, 11,
18639 OPC_CheckPatternPredicate3,
18640 OPC_EmitNodeXForm, 7, 1,
18641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
18642 MVT::v2i64, 2, 0, 2,
18643 11,
18644 OPC_CheckPatternPredicate5,
18645 OPC_EmitNodeXForm, 7, 1,
18646 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
18647 MVT::v2i64, 2, 0, 2,
18648 0,
18649 36,
18650 OPC_CheckChild0Integer, 20|128,110,
18651 OPC_RecordChild1,
18652 OPC_RecordChild2,
18653 OPC_MoveChild2,
18654 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18655 OPC_MoveParent,
18656 OPC_Scope, 11,
18657 OPC_CheckPatternPredicate3,
18658 OPC_EmitNodeXForm, 7, 1,
18659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
18660 MVT::v4i32, 2, 0, 2,
18661 11,
18662 OPC_CheckPatternPredicate5,
18663 OPC_EmitNodeXForm, 7, 1,
18664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
18665 MVT::v4i32, 2, 0, 2,
18666 0,
18667 36,
18668 OPC_CheckChild0Integer, 88|128,109,
18669 OPC_RecordChild1,
18670 OPC_RecordChild2,
18671 OPC_MoveChild2,
18672 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18673 OPC_MoveParent,
18674 OPC_Scope, 11,
18675 OPC_CheckPatternPredicate3,
18676 OPC_EmitNodeXForm, 7, 1,
18677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
18678 MVT::v4i32, 2, 0, 2,
18679 11,
18680 OPC_CheckPatternPredicate5,
18681 OPC_EmitNodeXForm, 7, 1,
18682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
18683 MVT::v4i32, 2, 0, 2,
18684 0,
18685 36,
18686 OPC_CheckChild0Integer, 54|128,108,
18687 OPC_RecordChild1,
18688 OPC_RecordChild2,
18689 OPC_MoveChild2,
18690 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18691 OPC_MoveParent,
18692 OPC_Scope, 11,
18693 OPC_CheckPatternPredicate3,
18694 OPC_EmitNodeXForm, 7, 1,
18695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
18696 MVT::v4i32, 2, 0, 2,
18697 11,
18698 OPC_CheckPatternPredicate5,
18699 OPC_EmitNodeXForm, 7, 1,
18700 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
18701 MVT::v4i32, 2, 0, 2,
18702 0,
18703 36,
18704 OPC_CheckChild0Integer, 108|128,108,
18705 OPC_RecordChild1,
18706 OPC_RecordChild2,
18707 OPC_MoveChild2,
18708 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18709 OPC_MoveParent,
18710 OPC_Scope, 11,
18711 OPC_CheckPatternPredicate3,
18712 OPC_EmitNodeXForm, 7, 1,
18713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
18714 MVT::v4i32, 2, 0, 2,
18715 11,
18716 OPC_CheckPatternPredicate5,
18717 OPC_EmitNodeXForm, 7, 1,
18718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
18719 MVT::v4i32, 2, 0, 2,
18720 0,
18721 36,
18722 OPC_CheckChild0Integer, 110|128,108,
18723 OPC_RecordChild1,
18724 OPC_RecordChild2,
18725 OPC_MoveChild2,
18726 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18727 OPC_MoveParent,
18728 OPC_Scope, 11,
18729 OPC_CheckPatternPredicate3,
18730 OPC_EmitNodeXForm, 7, 1,
18731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
18732 MVT::v4i32, 2, 0, 2,
18733 11,
18734 OPC_CheckPatternPredicate5,
18735 OPC_EmitNodeXForm, 7, 1,
18736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
18737 MVT::v4i32, 2, 0, 2,
18738 0,
18739 36,
18740 OPC_CheckChild0Integer, 40|128,109,
18741 OPC_RecordChild1,
18742 OPC_RecordChild2,
18743 OPC_MoveChild2,
18744 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18745 OPC_MoveParent,
18746 OPC_Scope, 11,
18747 OPC_CheckPatternPredicate3,
18748 OPC_EmitNodeXForm, 7, 1,
18749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
18750 MVT::v4i32, 2, 0, 2,
18751 11,
18752 OPC_CheckPatternPredicate5,
18753 OPC_EmitNodeXForm, 7, 1,
18754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
18755 MVT::v4i32, 2, 0, 2,
18756 0,
18757 36,
18758 OPC_CheckChild0Integer, 42|128,109,
18759 OPC_RecordChild1,
18760 OPC_RecordChild2,
18761 OPC_MoveChild2,
18762 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18763 OPC_MoveParent,
18764 OPC_Scope, 11,
18765 OPC_CheckPatternPredicate3,
18766 OPC_EmitNodeXForm, 7, 1,
18767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
18768 MVT::v4i32, 2, 0, 2,
18769 11,
18770 OPC_CheckPatternPredicate5,
18771 OPC_EmitNodeXForm, 7, 1,
18772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
18773 MVT::v4i32, 2, 0, 2,
18774 0,
18775 36,
18776 OPC_CheckChild0Integer, 118|128,107,
18777 OPC_RecordChild1,
18778 OPC_RecordChild2,
18779 OPC_MoveChild2,
18780 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18781 OPC_MoveParent,
18782 OPC_Scope, 11,
18783 OPC_CheckPatternPredicate3,
18784 OPC_EmitNodeXForm, 7, 1,
18785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
18786 MVT::v4i32, 2, 0, 2,
18787 11,
18788 OPC_CheckPatternPredicate5,
18789 OPC_EmitNodeXForm, 7, 1,
18790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
18791 MVT::v4i32, 2, 0, 2,
18792 0,
18793 36,
18794 OPC_CheckChild0Integer, 70|128,108,
18795 OPC_RecordChild1,
18796 OPC_RecordChild2,
18797 OPC_MoveChild2,
18798 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18799 OPC_MoveParent,
18800 OPC_Scope, 11,
18801 OPC_CheckPatternPredicate3,
18802 OPC_EmitNodeXForm, 7, 1,
18803 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
18804 MVT::v4i32, 2, 0, 2,
18805 11,
18806 OPC_CheckPatternPredicate5,
18807 OPC_EmitNodeXForm, 7, 1,
18808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
18809 MVT::v4i32, 2, 0, 2,
18810 0,
18811 36,
18812 OPC_CheckChild0Integer, 28|128,108,
18813 OPC_RecordChild1,
18814 OPC_RecordChild2,
18815 OPC_MoveChild2,
18816 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18817 OPC_MoveParent,
18818 OPC_Scope, 11,
18819 OPC_CheckPatternPredicate3,
18820 OPC_EmitNodeXForm, 7, 1,
18821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_D),
18822 MVT::v2i64, 2, 0, 2,
18823 11,
18824 OPC_CheckPatternPredicate5,
18825 OPC_EmitNodeXForm, 7, 1,
18826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_D),
18827 MVT::v2i64, 2, 0, 2,
18828 0,
18829 36,
18830 OPC_CheckChild0Integer, 30|128,108,
18831 OPC_RecordChild1,
18832 OPC_RecordChild2,
18833 OPC_MoveChild2,
18834 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18835 OPC_MoveParent,
18836 OPC_Scope, 11,
18837 OPC_CheckPatternPredicate3,
18838 OPC_EmitNodeXForm, 7, 1,
18839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_DU),
18840 MVT::v2i64, 2, 0, 2,
18841 11,
18842 OPC_CheckPatternPredicate5,
18843 OPC_EmitNodeXForm, 7, 1,
18844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_DU),
18845 MVT::v2i64, 2, 0, 2,
18846 0,
18847 36,
18848 OPC_CheckChild0Integer, 2|128,108,
18849 OPC_RecordChild1,
18850 OPC_RecordChild2,
18851 OPC_MoveChild2,
18852 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18853 OPC_MoveParent,
18854 OPC_Scope, 11,
18855 OPC_CheckPatternPredicate3,
18856 OPC_EmitNodeXForm, 7, 1,
18857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
18858 MVT::v2i64, 2, 0, 2,
18859 11,
18860 OPC_CheckPatternPredicate5,
18861 OPC_EmitNodeXForm, 7, 1,
18862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
18863 MVT::v2i64, 2, 0, 2,
18864 0,
18865 36,
18866 OPC_CheckChild0Integer, 16|128,110,
18867 OPC_RecordChild1,
18868 OPC_RecordChild2,
18869 OPC_MoveChild2,
18870 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18871 OPC_MoveParent,
18872 OPC_Scope, 11,
18873 OPC_CheckPatternPredicate3,
18874 OPC_EmitNodeXForm, 7, 1,
18875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
18876 MVT::v2i64, 2, 0, 2,
18877 11,
18878 OPC_CheckPatternPredicate5,
18879 OPC_EmitNodeXForm, 7, 1,
18880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
18881 MVT::v2i64, 2, 0, 2,
18882 0,
18883 36,
18884 OPC_CheckChild0Integer, 84|128,109,
18885 OPC_RecordChild1,
18886 OPC_RecordChild2,
18887 OPC_MoveChild2,
18888 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18889 OPC_MoveParent,
18890 OPC_Scope, 11,
18891 OPC_CheckPatternPredicate3,
18892 OPC_EmitNodeXForm, 7, 1,
18893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
18894 MVT::v2i64, 2, 0, 2,
18895 11,
18896 OPC_CheckPatternPredicate5,
18897 OPC_EmitNodeXForm, 7, 1,
18898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
18899 MVT::v2i64, 2, 0, 2,
18900 0,
18901 36,
18902 OPC_CheckChild0Integer, 50|128,108,
18903 OPC_RecordChild1,
18904 OPC_RecordChild2,
18905 OPC_MoveChild2,
18906 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18907 OPC_MoveParent,
18908 OPC_Scope, 11,
18909 OPC_CheckPatternPredicate3,
18910 OPC_EmitNodeXForm, 7, 1,
18911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
18912 MVT::v2i64, 2, 0, 2,
18913 11,
18914 OPC_CheckPatternPredicate5,
18915 OPC_EmitNodeXForm, 7, 1,
18916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
18917 MVT::v2i64, 2, 0, 2,
18918 0,
18919 36,
18920 OPC_CheckChild0Integer, 100|128,108,
18921 OPC_RecordChild1,
18922 OPC_RecordChild2,
18923 OPC_MoveChild2,
18924 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18925 OPC_MoveParent,
18926 OPC_Scope, 11,
18927 OPC_CheckPatternPredicate3,
18928 OPC_EmitNodeXForm, 7, 1,
18929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
18930 MVT::v2i64, 2, 0, 2,
18931 11,
18932 OPC_CheckPatternPredicate5,
18933 OPC_EmitNodeXForm, 7, 1,
18934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
18935 MVT::v2i64, 2, 0, 2,
18936 0,
18937 36,
18938 OPC_CheckChild0Integer, 102|128,108,
18939 OPC_RecordChild1,
18940 OPC_RecordChild2,
18941 OPC_MoveChild2,
18942 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18943 OPC_MoveParent,
18944 OPC_Scope, 11,
18945 OPC_CheckPatternPredicate3,
18946 OPC_EmitNodeXForm, 7, 1,
18947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
18948 MVT::v2i64, 2, 0, 2,
18949 11,
18950 OPC_CheckPatternPredicate5,
18951 OPC_EmitNodeXForm, 7, 1,
18952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
18953 MVT::v2i64, 2, 0, 2,
18954 0,
18955 36,
18956 OPC_CheckChild0Integer, 32|128,109,
18957 OPC_RecordChild1,
18958 OPC_RecordChild2,
18959 OPC_MoveChild2,
18960 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18961 OPC_MoveParent,
18962 OPC_Scope, 11,
18963 OPC_CheckPatternPredicate3,
18964 OPC_EmitNodeXForm, 7, 1,
18965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
18966 MVT::v2i64, 2, 0, 2,
18967 11,
18968 OPC_CheckPatternPredicate5,
18969 OPC_EmitNodeXForm, 7, 1,
18970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
18971 MVT::v2i64, 2, 0, 2,
18972 0,
18973 36,
18974 OPC_CheckChild0Integer, 34|128,109,
18975 OPC_RecordChild1,
18976 OPC_RecordChild2,
18977 OPC_MoveChild2,
18978 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18979 OPC_MoveParent,
18980 OPC_Scope, 11,
18981 OPC_CheckPatternPredicate3,
18982 OPC_EmitNodeXForm, 7, 1,
18983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
18984 MVT::v2i64, 2, 0, 2,
18985 11,
18986 OPC_CheckPatternPredicate5,
18987 OPC_EmitNodeXForm, 7, 1,
18988 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
18989 MVT::v2i64, 2, 0, 2,
18990 0,
18991 36,
18992 OPC_CheckChild0Integer, 114|128,107,
18993 OPC_RecordChild1,
18994 OPC_RecordChild2,
18995 OPC_MoveChild2,
18996 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
18997 OPC_MoveParent,
18998 OPC_Scope, 11,
18999 OPC_CheckPatternPredicate3,
19000 OPC_EmitNodeXForm, 7, 1,
19001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
19002 MVT::v2i64, 2, 0, 2,
19003 11,
19004 OPC_CheckPatternPredicate5,
19005 OPC_EmitNodeXForm, 7, 1,
19006 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
19007 MVT::v2i64, 2, 0, 2,
19008 0,
19009 39,
19010 OPC_CheckChild0Integer, 126|128,109,
19011 OPC_RecordChild1,
19012 OPC_RecordChild2,
19013 OPC_RecordChild3,
19014 OPC_MoveChild3,
19015 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19016 OPC_MoveParent,
19017 OPC_Scope, 12,
19018 OPC_CheckPatternPredicate3,
19019 OPC_EmitNodeXForm, 7, 2,
19020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_B_H),
19021 MVT::v16i8, 3, 0, 1, 3,
19022 12,
19023 OPC_CheckPatternPredicate5,
19024 OPC_EmitNodeXForm, 7, 2,
19025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_B_H),
19026 MVT::v16i8, 3, 0, 1, 3,
19027 0,
19028 39,
19029 OPC_CheckChild0Integer, 66|128,109,
19030 OPC_RecordChild1,
19031 OPC_RecordChild2,
19032 OPC_RecordChild3,
19033 OPC_MoveChild3,
19034 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19035 OPC_MoveParent,
19036 OPC_Scope, 12,
19037 OPC_CheckPatternPredicate3,
19038 OPC_EmitNodeXForm, 7, 2,
19039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_B_H),
19040 MVT::v16i8, 3, 0, 1, 3,
19041 12,
19042 OPC_CheckPatternPredicate5,
19043 OPC_EmitNodeXForm, 7, 2,
19044 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_B_H),
19045 MVT::v16i8, 3, 0, 1, 3,
19046 0,
19047 39,
19048 OPC_CheckChild0Integer, 28|128,110,
19049 OPC_RecordChild1,
19050 OPC_RecordChild2,
19051 OPC_RecordChild3,
19052 OPC_MoveChild3,
19053 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19054 OPC_MoveParent,
19055 OPC_Scope, 12,
19056 OPC_CheckPatternPredicate3,
19057 OPC_EmitNodeXForm, 7, 2,
19058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_B_H),
19059 MVT::v16i8, 3, 0, 1, 3,
19060 12,
19061 OPC_CheckPatternPredicate5,
19062 OPC_EmitNodeXForm, 7, 2,
19063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_B_H),
19064 MVT::v16i8, 3, 0, 1, 3,
19065 0,
19066 39,
19067 OPC_CheckChild0Integer, 96|128,109,
19068 OPC_RecordChild1,
19069 OPC_RecordChild2,
19070 OPC_RecordChild3,
19071 OPC_MoveChild3,
19072 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19073 OPC_MoveParent,
19074 OPC_Scope, 12,
19075 OPC_CheckPatternPredicate3,
19076 OPC_EmitNodeXForm, 7, 2,
19077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_B_H),
19078 MVT::v16i8, 3, 0, 1, 3,
19079 12,
19080 OPC_CheckPatternPredicate5,
19081 OPC_EmitNodeXForm, 7, 2,
19082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_B_H),
19083 MVT::v16i8, 3, 0, 1, 3,
19084 0,
19085 39,
19086 OPC_CheckChild0Integer, 104|128,110,
19087 OPC_RecordChild1,
19088 OPC_RecordChild2,
19089 OPC_RecordChild3,
19090 OPC_MoveChild3,
19091 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19092 OPC_MoveParent,
19093 OPC_Scope, 12,
19094 OPC_CheckPatternPredicate3,
19095 OPC_EmitNodeXForm, 7, 2,
19096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_B_H),
19097 MVT::v16i8, 3, 0, 1, 3,
19098 12,
19099 OPC_CheckPatternPredicate5,
19100 OPC_EmitNodeXForm, 7, 2,
19101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_B_H),
19102 MVT::v16i8, 3, 0, 1, 3,
19103 0,
19104 39,
19105 OPC_CheckChild0Integer, 48|128,110,
19106 OPC_RecordChild1,
19107 OPC_RecordChild2,
19108 OPC_RecordChild3,
19109 OPC_MoveChild3,
19110 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19111 OPC_MoveParent,
19112 OPC_Scope, 12,
19113 OPC_CheckPatternPredicate3,
19114 OPC_EmitNodeXForm, 7, 2,
19115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_B_H),
19116 MVT::v16i8, 3, 0, 1, 3,
19117 12,
19118 OPC_CheckPatternPredicate5,
19119 OPC_EmitNodeXForm, 7, 2,
19120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_B_H),
19121 MVT::v16i8, 3, 0, 1, 3,
19122 0,
19123 39,
19124 OPC_CheckChild0Integer, 106|128,110,
19125 OPC_RecordChild1,
19126 OPC_RecordChild2,
19127 OPC_RecordChild3,
19128 OPC_MoveChild3,
19129 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19130 OPC_MoveParent,
19131 OPC_Scope, 12,
19132 OPC_CheckPatternPredicate3,
19133 OPC_EmitNodeXForm, 7, 2,
19134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_BU_H),
19135 MVT::v16i8, 3, 0, 1, 3,
19136 12,
19137 OPC_CheckPatternPredicate5,
19138 OPC_EmitNodeXForm, 7, 2,
19139 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_BU_H),
19140 MVT::v16i8, 3, 0, 1, 3,
19141 0,
19142 39,
19143 OPC_CheckChild0Integer, 50|128,110,
19144 OPC_RecordChild1,
19145 OPC_RecordChild2,
19146 OPC_RecordChild3,
19147 OPC_MoveChild3,
19148 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19149 OPC_MoveParent,
19150 OPC_Scope, 12,
19151 OPC_CheckPatternPredicate3,
19152 OPC_EmitNodeXForm, 7, 2,
19153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_BU_H),
19154 MVT::v16i8, 3, 0, 1, 3,
19155 12,
19156 OPC_CheckPatternPredicate5,
19157 OPC_EmitNodeXForm, 7, 2,
19158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_BU_H),
19159 MVT::v16i8, 3, 0, 1, 3,
19160 0,
19161 39,
19162 OPC_CheckChild0Integer, 4|128,111,
19163 OPC_RecordChild1,
19164 OPC_RecordChild2,
19165 OPC_RecordChild3,
19166 OPC_MoveChild3,
19167 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19168 OPC_MoveParent,
19169 OPC_Scope, 12,
19170 OPC_CheckPatternPredicate3,
19171 OPC_EmitNodeXForm, 7, 2,
19172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_B_H),
19173 MVT::v16i8, 3, 0, 1, 3,
19174 12,
19175 OPC_CheckPatternPredicate5,
19176 OPC_EmitNodeXForm, 7, 2,
19177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_B_H),
19178 MVT::v16i8, 3, 0, 1, 3,
19179 0,
19180 39,
19181 OPC_CheckChild0Integer, 76|128,110,
19182 OPC_RecordChild1,
19183 OPC_RecordChild2,
19184 OPC_RecordChild3,
19185 OPC_MoveChild3,
19186 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19187 OPC_MoveParent,
19188 OPC_Scope, 12,
19189 OPC_CheckPatternPredicate3,
19190 OPC_EmitNodeXForm, 7, 2,
19191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_B_H),
19192 MVT::v16i8, 3, 0, 1, 3,
19193 12,
19194 OPC_CheckPatternPredicate5,
19195 OPC_EmitNodeXForm, 7, 2,
19196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_B_H),
19197 MVT::v16i8, 3, 0, 1, 3,
19198 0,
19199 39,
19200 OPC_CheckChild0Integer, 6|128,111,
19201 OPC_RecordChild1,
19202 OPC_RecordChild2,
19203 OPC_RecordChild3,
19204 OPC_MoveChild3,
19205 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19206 OPC_MoveParent,
19207 OPC_Scope, 12,
19208 OPC_CheckPatternPredicate3,
19209 OPC_EmitNodeXForm, 7, 2,
19210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_BU_H),
19211 MVT::v16i8, 3, 0, 1, 3,
19212 12,
19213 OPC_CheckPatternPredicate5,
19214 OPC_EmitNodeXForm, 7, 2,
19215 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_BU_H),
19216 MVT::v16i8, 3, 0, 1, 3,
19217 0,
19218 39,
19219 OPC_CheckChild0Integer, 78|128,110,
19220 OPC_RecordChild1,
19221 OPC_RecordChild2,
19222 OPC_RecordChild3,
19223 OPC_MoveChild3,
19224 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19225 OPC_MoveParent,
19226 OPC_Scope, 12,
19227 OPC_CheckPatternPredicate3,
19228 OPC_EmitNodeXForm, 7, 2,
19229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_BU_H),
19230 MVT::v16i8, 3, 0, 1, 3,
19231 12,
19232 OPC_CheckPatternPredicate5,
19233 OPC_EmitNodeXForm, 7, 2,
19234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_BU_H),
19235 MVT::v16i8, 3, 0, 1, 3,
19236 0,
19237 39,
19238 OPC_CheckChild0Integer, 28|128,104,
19239 OPC_RecordChild1,
19240 OPC_RecordChild2,
19241 OPC_RecordChild3,
19242 OPC_MoveChild3,
19243 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19244 OPC_MoveParent,
19245 OPC_Scope, 12,
19246 OPC_CheckPatternPredicate3,
19247 OPC_EmitNodeXForm, 7, 2,
19248 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_B),
19249 MVT::v16i8, 3, 0, 1, 3,
19250 12,
19251 OPC_CheckPatternPredicate5,
19252 OPC_EmitNodeXForm, 7, 2,
19253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_B),
19254 MVT::v16i8, 3, 0, 1, 3,
19255 0,
19256 39,
19257 OPC_CheckChild0Integer, 124|128,101,
19258 OPC_RecordChild1,
19259 OPC_RecordChild2,
19260 OPC_RecordChild3,
19261 OPC_MoveChild3,
19262 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19263 OPC_MoveParent,
19264 OPC_Scope, 12,
19265 OPC_CheckPatternPredicate3,
19266 OPC_EmitNodeXForm, 7, 2,
19267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
19268 MVT::v16i8, 3, 0, 1, 3,
19269 12,
19270 OPC_CheckPatternPredicate5,
19271 OPC_EmitNodeXForm, 7, 2,
19272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
19273 MVT::v16i8, 3, 0, 1, 3,
19274 0,
19275 39,
19276 OPC_CheckChild0Integer, 70|128,102,
19277 OPC_RecordChild1,
19278 OPC_RecordChild2,
19279 OPC_RecordChild3,
19280 OPC_MoveChild3,
19281 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19282 OPC_MoveParent,
19283 OPC_Scope, 12,
19284 OPC_CheckPatternPredicate3,
19285 OPC_EmitNodeXForm, 7, 2,
19286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
19287 MVT::v16i8, 3, 0, 1, 3,
19288 12,
19289 OPC_CheckPatternPredicate5,
19290 OPC_EmitNodeXForm, 7, 2,
19291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
19292 MVT::v16i8, 3, 0, 1, 3,
19293 0,
19294 39,
19295 OPC_CheckChild0Integer, 2|128,110,
19296 OPC_RecordChild1,
19297 OPC_RecordChild2,
19298 OPC_RecordChild3,
19299 OPC_MoveChild3,
19300 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19301 OPC_MoveParent,
19302 OPC_Scope, 12,
19303 OPC_CheckPatternPredicate3,
19304 OPC_EmitNodeXForm, 7, 2,
19305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_H_W),
19306 MVT::v8i16, 3, 0, 1, 3,
19307 12,
19308 OPC_CheckPatternPredicate5,
19309 OPC_EmitNodeXForm, 7, 2,
19310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_H_W),
19311 MVT::v8i16, 3, 0, 1, 3,
19312 0,
19313 39,
19314 OPC_CheckChild0Integer, 70|128,109,
19315 OPC_RecordChild1,
19316 OPC_RecordChild2,
19317 OPC_RecordChild3,
19318 OPC_MoveChild3,
19319 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19320 OPC_MoveParent,
19321 OPC_Scope, 12,
19322 OPC_CheckPatternPredicate3,
19323 OPC_EmitNodeXForm, 7, 2,
19324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_H_W),
19325 MVT::v8i16, 3, 0, 1, 3,
19326 12,
19327 OPC_CheckPatternPredicate5,
19328 OPC_EmitNodeXForm, 7, 2,
19329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_H_W),
19330 MVT::v8i16, 3, 0, 1, 3,
19331 0,
19332 39,
19333 OPC_CheckChild0Integer, 32|128,110,
19334 OPC_RecordChild1,
19335 OPC_RecordChild2,
19336 OPC_RecordChild3,
19337 OPC_MoveChild3,
19338 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19339 OPC_MoveParent,
19340 OPC_Scope, 12,
19341 OPC_CheckPatternPredicate3,
19342 OPC_EmitNodeXForm, 7, 2,
19343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_H_W),
19344 MVT::v8i16, 3, 0, 1, 3,
19345 12,
19346 OPC_CheckPatternPredicate5,
19347 OPC_EmitNodeXForm, 7, 2,
19348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_H_W),
19349 MVT::v8i16, 3, 0, 1, 3,
19350 0,
19351 39,
19352 OPC_CheckChild0Integer, 100|128,109,
19353 OPC_RecordChild1,
19354 OPC_RecordChild2,
19355 OPC_RecordChild3,
19356 OPC_MoveChild3,
19357 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19358 OPC_MoveParent,
19359 OPC_Scope, 12,
19360 OPC_CheckPatternPredicate3,
19361 OPC_EmitNodeXForm, 7, 2,
19362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_H_W),
19363 MVT::v8i16, 3, 0, 1, 3,
19364 12,
19365 OPC_CheckPatternPredicate5,
19366 OPC_EmitNodeXForm, 7, 2,
19367 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_H_W),
19368 MVT::v8i16, 3, 0, 1, 3,
19369 0,
19370 39,
19371 OPC_CheckChild0Integer, 112|128,110,
19372 OPC_RecordChild1,
19373 OPC_RecordChild2,
19374 OPC_RecordChild3,
19375 OPC_MoveChild3,
19376 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19377 OPC_MoveParent,
19378 OPC_Scope, 12,
19379 OPC_CheckPatternPredicate3,
19380 OPC_EmitNodeXForm, 7, 2,
19381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_H_W),
19382 MVT::v8i16, 3, 0, 1, 3,
19383 12,
19384 OPC_CheckPatternPredicate5,
19385 OPC_EmitNodeXForm, 7, 2,
19386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_H_W),
19387 MVT::v8i16, 3, 0, 1, 3,
19388 0,
19389 39,
19390 OPC_CheckChild0Integer, 56|128,110,
19391 OPC_RecordChild1,
19392 OPC_RecordChild2,
19393 OPC_RecordChild3,
19394 OPC_MoveChild3,
19395 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19396 OPC_MoveParent,
19397 OPC_Scope, 12,
19398 OPC_CheckPatternPredicate3,
19399 OPC_EmitNodeXForm, 7, 2,
19400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_H_W),
19401 MVT::v8i16, 3, 0, 1, 3,
19402 12,
19403 OPC_CheckPatternPredicate5,
19404 OPC_EmitNodeXForm, 7, 2,
19405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_H_W),
19406 MVT::v8i16, 3, 0, 1, 3,
19407 0,
19408 39,
19409 OPC_CheckChild0Integer, 114|128,110,
19410 OPC_RecordChild1,
19411 OPC_RecordChild2,
19412 OPC_RecordChild3,
19413 OPC_MoveChild3,
19414 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19415 OPC_MoveParent,
19416 OPC_Scope, 12,
19417 OPC_CheckPatternPredicate3,
19418 OPC_EmitNodeXForm, 7, 2,
19419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_HU_W),
19420 MVT::v8i16, 3, 0, 1, 3,
19421 12,
19422 OPC_CheckPatternPredicate5,
19423 OPC_EmitNodeXForm, 7, 2,
19424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_HU_W),
19425 MVT::v8i16, 3, 0, 1, 3,
19426 0,
19427 39,
19428 OPC_CheckChild0Integer, 58|128,110,
19429 OPC_RecordChild1,
19430 OPC_RecordChild2,
19431 OPC_RecordChild3,
19432 OPC_MoveChild3,
19433 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19434 OPC_MoveParent,
19435 OPC_Scope, 12,
19436 OPC_CheckPatternPredicate3,
19437 OPC_EmitNodeXForm, 7, 2,
19438 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_HU_W),
19439 MVT::v8i16, 3, 0, 1, 3,
19440 12,
19441 OPC_CheckPatternPredicate5,
19442 OPC_EmitNodeXForm, 7, 2,
19443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_HU_W),
19444 MVT::v8i16, 3, 0, 1, 3,
19445 0,
19446 39,
19447 OPC_CheckChild0Integer, 12|128,111,
19448 OPC_RecordChild1,
19449 OPC_RecordChild2,
19450 OPC_RecordChild3,
19451 OPC_MoveChild3,
19452 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19453 OPC_MoveParent,
19454 OPC_Scope, 12,
19455 OPC_CheckPatternPredicate3,
19456 OPC_EmitNodeXForm, 7, 2,
19457 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_H_W),
19458 MVT::v8i16, 3, 0, 1, 3,
19459 12,
19460 OPC_CheckPatternPredicate5,
19461 OPC_EmitNodeXForm, 7, 2,
19462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_H_W),
19463 MVT::v8i16, 3, 0, 1, 3,
19464 0,
19465 39,
19466 OPC_CheckChild0Integer, 84|128,110,
19467 OPC_RecordChild1,
19468 OPC_RecordChild2,
19469 OPC_RecordChild3,
19470 OPC_MoveChild3,
19471 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19472 OPC_MoveParent,
19473 OPC_Scope, 12,
19474 OPC_CheckPatternPredicate3,
19475 OPC_EmitNodeXForm, 7, 2,
19476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_H_W),
19477 MVT::v8i16, 3, 0, 1, 3,
19478 12,
19479 OPC_CheckPatternPredicate5,
19480 OPC_EmitNodeXForm, 7, 2,
19481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_H_W),
19482 MVT::v8i16, 3, 0, 1, 3,
19483 0,
19484 39,
19485 OPC_CheckChild0Integer, 14|128,111,
19486 OPC_RecordChild1,
19487 OPC_RecordChild2,
19488 OPC_RecordChild3,
19489 OPC_MoveChild3,
19490 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19491 OPC_MoveParent,
19492 OPC_Scope, 12,
19493 OPC_CheckPatternPredicate3,
19494 OPC_EmitNodeXForm, 7, 2,
19495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_HU_W),
19496 MVT::v8i16, 3, 0, 1, 3,
19497 12,
19498 OPC_CheckPatternPredicate5,
19499 OPC_EmitNodeXForm, 7, 2,
19500 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_HU_W),
19501 MVT::v8i16, 3, 0, 1, 3,
19502 0,
19503 39,
19504 OPC_CheckChild0Integer, 86|128,110,
19505 OPC_RecordChild1,
19506 OPC_RecordChild2,
19507 OPC_RecordChild3,
19508 OPC_MoveChild3,
19509 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19510 OPC_MoveParent,
19511 OPC_Scope, 12,
19512 OPC_CheckPatternPredicate3,
19513 OPC_EmitNodeXForm, 7, 2,
19514 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_HU_W),
19515 MVT::v8i16, 3, 0, 1, 3,
19516 12,
19517 OPC_CheckPatternPredicate5,
19518 OPC_EmitNodeXForm, 7, 2,
19519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_HU_W),
19520 MVT::v8i16, 3, 0, 1, 3,
19521 0,
19522 39,
19523 OPC_CheckChild0Integer, 30|128,104,
19524 OPC_RecordChild1,
19525 OPC_RecordChild2,
19526 OPC_RecordChild3,
19527 OPC_MoveChild3,
19528 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19529 OPC_MoveParent,
19530 OPC_Scope, 12,
19531 OPC_CheckPatternPredicate3,
19532 OPC_EmitNodeXForm, 7, 2,
19533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_H),
19534 MVT::v8i16, 3, 0, 1, 3,
19535 12,
19536 OPC_CheckPatternPredicate5,
19537 OPC_EmitNodeXForm, 7, 2,
19538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_H),
19539 MVT::v8i16, 3, 0, 1, 3,
19540 0,
19541 39,
19542 OPC_CheckChild0Integer, 74|128,102,
19543 OPC_RecordChild1,
19544 OPC_RecordChild2,
19545 OPC_RecordChild3,
19546 OPC_MoveChild3,
19547 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19548 OPC_MoveParent,
19549 OPC_Scope, 12,
19550 OPC_CheckPatternPredicate3,
19551 OPC_EmitNodeXForm, 7, 2,
19552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
19553 MVT::v8i16, 3, 0, 1, 3,
19554 12,
19555 OPC_CheckPatternPredicate5,
19556 OPC_EmitNodeXForm, 7, 2,
19557 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
19558 MVT::v8i16, 3, 0, 1, 3,
19559 0,
19560 39,
19561 OPC_CheckChild0Integer, 4|128,110,
19562 OPC_RecordChild1,
19563 OPC_RecordChild2,
19564 OPC_RecordChild3,
19565 OPC_MoveChild3,
19566 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19567 OPC_MoveParent,
19568 OPC_Scope, 12,
19569 OPC_CheckPatternPredicate3,
19570 OPC_EmitNodeXForm, 7, 2,
19571 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_W_D),
19572 MVT::v4i32, 3, 0, 1, 3,
19573 12,
19574 OPC_CheckPatternPredicate5,
19575 OPC_EmitNodeXForm, 7, 2,
19576 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_W_D),
19577 MVT::v4i32, 3, 0, 1, 3,
19578 0,
19579 39,
19580 OPC_CheckChild0Integer, 72|128,109,
19581 OPC_RecordChild1,
19582 OPC_RecordChild2,
19583 OPC_RecordChild3,
19584 OPC_MoveChild3,
19585 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19586 OPC_MoveParent,
19587 OPC_Scope, 12,
19588 OPC_CheckPatternPredicate3,
19589 OPC_EmitNodeXForm, 7, 2,
19590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_W_D),
19591 MVT::v4i32, 3, 0, 1, 3,
19592 12,
19593 OPC_CheckPatternPredicate5,
19594 OPC_EmitNodeXForm, 7, 2,
19595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_W_D),
19596 MVT::v4i32, 3, 0, 1, 3,
19597 0,
19598 39,
19599 OPC_CheckChild0Integer, 34|128,110,
19600 OPC_RecordChild1,
19601 OPC_RecordChild2,
19602 OPC_RecordChild3,
19603 OPC_MoveChild3,
19604 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19605 OPC_MoveParent,
19606 OPC_Scope, 12,
19607 OPC_CheckPatternPredicate3,
19608 OPC_EmitNodeXForm, 7, 2,
19609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_W_D),
19610 MVT::v4i32, 3, 0, 1, 3,
19611 12,
19612 OPC_CheckPatternPredicate5,
19613 OPC_EmitNodeXForm, 7, 2,
19614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_W_D),
19615 MVT::v4i32, 3, 0, 1, 3,
19616 0,
19617 39,
19618 OPC_CheckChild0Integer, 102|128,109,
19619 OPC_RecordChild1,
19620 OPC_RecordChild2,
19621 OPC_RecordChild3,
19622 OPC_MoveChild3,
19623 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19624 OPC_MoveParent,
19625 OPC_Scope, 12,
19626 OPC_CheckPatternPredicate3,
19627 OPC_EmitNodeXForm, 7, 2,
19628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_W_D),
19629 MVT::v4i32, 3, 0, 1, 3,
19630 12,
19631 OPC_CheckPatternPredicate5,
19632 OPC_EmitNodeXForm, 7, 2,
19633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_W_D),
19634 MVT::v4i32, 3, 0, 1, 3,
19635 0,
19636 39,
19637 OPC_CheckChild0Integer, 116|128,110,
19638 OPC_RecordChild1,
19639 OPC_RecordChild2,
19640 OPC_RecordChild3,
19641 OPC_MoveChild3,
19642 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19643 OPC_MoveParent,
19644 OPC_Scope, 12,
19645 OPC_CheckPatternPredicate3,
19646 OPC_EmitNodeXForm, 7, 2,
19647 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_W_D),
19648 MVT::v4i32, 3, 0, 1, 3,
19649 12,
19650 OPC_CheckPatternPredicate5,
19651 OPC_EmitNodeXForm, 7, 2,
19652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_W_D),
19653 MVT::v4i32, 3, 0, 1, 3,
19654 0,
19655 39,
19656 OPC_CheckChild0Integer, 60|128,110,
19657 OPC_RecordChild1,
19658 OPC_RecordChild2,
19659 OPC_RecordChild3,
19660 OPC_MoveChild3,
19661 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19662 OPC_MoveParent,
19663 OPC_Scope, 12,
19664 OPC_CheckPatternPredicate3,
19665 OPC_EmitNodeXForm, 7, 2,
19666 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_W_D),
19667 MVT::v4i32, 3, 0, 1, 3,
19668 12,
19669 OPC_CheckPatternPredicate5,
19670 OPC_EmitNodeXForm, 7, 2,
19671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_W_D),
19672 MVT::v4i32, 3, 0, 1, 3,
19673 0,
19674 39,
19675 OPC_CheckChild0Integer, 118|128,110,
19676 OPC_RecordChild1,
19677 OPC_RecordChild2,
19678 OPC_RecordChild3,
19679 OPC_MoveChild3,
19680 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19681 OPC_MoveParent,
19682 OPC_Scope, 12,
19683 OPC_CheckPatternPredicate3,
19684 OPC_EmitNodeXForm, 7, 2,
19685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_WU_D),
19686 MVT::v4i32, 3, 0, 1, 3,
19687 12,
19688 OPC_CheckPatternPredicate5,
19689 OPC_EmitNodeXForm, 7, 2,
19690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_WU_D),
19691 MVT::v4i32, 3, 0, 1, 3,
19692 0,
19693 39,
19694 OPC_CheckChild0Integer, 62|128,110,
19695 OPC_RecordChild1,
19696 OPC_RecordChild2,
19697 OPC_RecordChild3,
19698 OPC_MoveChild3,
19699 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19700 OPC_MoveParent,
19701 OPC_Scope, 12,
19702 OPC_CheckPatternPredicate3,
19703 OPC_EmitNodeXForm, 7, 2,
19704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_WU_D),
19705 MVT::v4i32, 3, 0, 1, 3,
19706 12,
19707 OPC_CheckPatternPredicate5,
19708 OPC_EmitNodeXForm, 7, 2,
19709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_WU_D),
19710 MVT::v4i32, 3, 0, 1, 3,
19711 0,
19712 39,
19713 OPC_CheckChild0Integer, 16|128,111,
19714 OPC_RecordChild1,
19715 OPC_RecordChild2,
19716 OPC_RecordChild3,
19717 OPC_MoveChild3,
19718 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19719 OPC_MoveParent,
19720 OPC_Scope, 12,
19721 OPC_CheckPatternPredicate3,
19722 OPC_EmitNodeXForm, 7, 2,
19723 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_W_D),
19724 MVT::v4i32, 3, 0, 1, 3,
19725 12,
19726 OPC_CheckPatternPredicate5,
19727 OPC_EmitNodeXForm, 7, 2,
19728 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_W_D),
19729 MVT::v4i32, 3, 0, 1, 3,
19730 0,
19731 39,
19732 OPC_CheckChild0Integer, 88|128,110,
19733 OPC_RecordChild1,
19734 OPC_RecordChild2,
19735 OPC_RecordChild3,
19736 OPC_MoveChild3,
19737 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19738 OPC_MoveParent,
19739 OPC_Scope, 12,
19740 OPC_CheckPatternPredicate3,
19741 OPC_EmitNodeXForm, 7, 2,
19742 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_W_D),
19743 MVT::v4i32, 3, 0, 1, 3,
19744 12,
19745 OPC_CheckPatternPredicate5,
19746 OPC_EmitNodeXForm, 7, 2,
19747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_W_D),
19748 MVT::v4i32, 3, 0, 1, 3,
19749 0,
19750 39,
19751 OPC_CheckChild0Integer, 18|128,111,
19752 OPC_RecordChild1,
19753 OPC_RecordChild2,
19754 OPC_RecordChild3,
19755 OPC_MoveChild3,
19756 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19757 OPC_MoveParent,
19758 OPC_Scope, 12,
19759 OPC_CheckPatternPredicate3,
19760 OPC_EmitNodeXForm, 7, 2,
19761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_WU_D),
19762 MVT::v4i32, 3, 0, 1, 3,
19763 12,
19764 OPC_CheckPatternPredicate5,
19765 OPC_EmitNodeXForm, 7, 2,
19766 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_WU_D),
19767 MVT::v4i32, 3, 0, 1, 3,
19768 0,
19769 39,
19770 OPC_CheckChild0Integer, 90|128,110,
19771 OPC_RecordChild1,
19772 OPC_RecordChild2,
19773 OPC_RecordChild3,
19774 OPC_MoveChild3,
19775 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19776 OPC_MoveParent,
19777 OPC_Scope, 12,
19778 OPC_CheckPatternPredicate3,
19779 OPC_EmitNodeXForm, 7, 2,
19780 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_WU_D),
19781 MVT::v4i32, 3, 0, 1, 3,
19782 12,
19783 OPC_CheckPatternPredicate5,
19784 OPC_EmitNodeXForm, 7, 2,
19785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_WU_D),
19786 MVT::v4i32, 3, 0, 1, 3,
19787 0,
19788 39,
19789 OPC_CheckChild0Integer, 54|128,107,
19790 OPC_RecordChild1,
19791 OPC_RecordChild2,
19792 OPC_RecordChild3,
19793 OPC_MoveChild3,
19794 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19795 OPC_MoveParent,
19796 OPC_Scope, 12,
19797 OPC_CheckPatternPredicate3,
19798 OPC_EmitNodeXForm, 7, 2,
19799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
19800 MVT::v4i32, 3, 0, 1, 3,
19801 12,
19802 OPC_CheckPatternPredicate5,
19803 OPC_EmitNodeXForm, 7, 2,
19804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
19805 MVT::v4i32, 3, 0, 1, 3,
19806 0,
19807 39,
19808 OPC_CheckChild0Integer, 76|128,102,
19809 OPC_RecordChild1,
19810 OPC_RecordChild2,
19811 OPC_RecordChild3,
19812 OPC_MoveChild3,
19813 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19814 OPC_MoveParent,
19815 OPC_Scope, 12,
19816 OPC_CheckPatternPredicate3,
19817 OPC_EmitNodeXForm, 7, 2,
19818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
19819 MVT::v4i32, 3, 0, 1, 3,
19820 12,
19821 OPC_CheckPatternPredicate5,
19822 OPC_EmitNodeXForm, 7, 2,
19823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
19824 MVT::v4i32, 3, 0, 1, 3,
19825 0,
19826 39,
19827 OPC_CheckChild0Integer, 0|128,110,
19828 OPC_RecordChild1,
19829 OPC_RecordChild2,
19830 OPC_RecordChild3,
19831 OPC_MoveChild3,
19832 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19833 OPC_MoveParent,
19834 OPC_Scope, 12,
19835 OPC_CheckPatternPredicate3,
19836 OPC_EmitNodeXForm, 7, 2,
19837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_D_Q),
19838 MVT::v2i64, 3, 0, 1, 3,
19839 12,
19840 OPC_CheckPatternPredicate5,
19841 OPC_EmitNodeXForm, 7, 2,
19842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_D_Q),
19843 MVT::v2i64, 3, 0, 1, 3,
19844 0,
19845 39,
19846 OPC_CheckChild0Integer, 68|128,109,
19847 OPC_RecordChild1,
19848 OPC_RecordChild2,
19849 OPC_RecordChild3,
19850 OPC_MoveChild3,
19851 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19852 OPC_MoveParent,
19853 OPC_Scope, 12,
19854 OPC_CheckPatternPredicate3,
19855 OPC_EmitNodeXForm, 7, 2,
19856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_D_Q),
19857 MVT::v2i64, 3, 0, 1, 3,
19858 12,
19859 OPC_CheckPatternPredicate5,
19860 OPC_EmitNodeXForm, 7, 2,
19861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_D_Q),
19862 MVT::v2i64, 3, 0, 1, 3,
19863 0,
19864 39,
19865 OPC_CheckChild0Integer, 30|128,110,
19866 OPC_RecordChild1,
19867 OPC_RecordChild2,
19868 OPC_RecordChild3,
19869 OPC_MoveChild3,
19870 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19871 OPC_MoveParent,
19872 OPC_Scope, 12,
19873 OPC_CheckPatternPredicate3,
19874 OPC_EmitNodeXForm, 7, 2,
19875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_D_Q),
19876 MVT::v2i64, 3, 0, 1, 3,
19877 12,
19878 OPC_CheckPatternPredicate5,
19879 OPC_EmitNodeXForm, 7, 2,
19880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_D_Q),
19881 MVT::v2i64, 3, 0, 1, 3,
19882 0,
19883 39,
19884 OPC_CheckChild0Integer, 98|128,109,
19885 OPC_RecordChild1,
19886 OPC_RecordChild2,
19887 OPC_RecordChild3,
19888 OPC_MoveChild3,
19889 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19890 OPC_MoveParent,
19891 OPC_Scope, 12,
19892 OPC_CheckPatternPredicate3,
19893 OPC_EmitNodeXForm, 7, 2,
19894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_D_Q),
19895 MVT::v2i64, 3, 0, 1, 3,
19896 12,
19897 OPC_CheckPatternPredicate5,
19898 OPC_EmitNodeXForm, 7, 2,
19899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_D_Q),
19900 MVT::v2i64, 3, 0, 1, 3,
19901 0,
19902 39,
19903 OPC_CheckChild0Integer, 108|128,110,
19904 OPC_RecordChild1,
19905 OPC_RecordChild2,
19906 OPC_RecordChild3,
19907 OPC_MoveChild3,
19908 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19909 OPC_MoveParent,
19910 OPC_Scope, 12,
19911 OPC_CheckPatternPredicate3,
19912 OPC_EmitNodeXForm, 7, 2,
19913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_D_Q),
19914 MVT::v2i64, 3, 0, 1, 3,
19915 12,
19916 OPC_CheckPatternPredicate5,
19917 OPC_EmitNodeXForm, 7, 2,
19918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_D_Q),
19919 MVT::v2i64, 3, 0, 1, 3,
19920 0,
19921 39,
19922 OPC_CheckChild0Integer, 52|128,110,
19923 OPC_RecordChild1,
19924 OPC_RecordChild2,
19925 OPC_RecordChild3,
19926 OPC_MoveChild3,
19927 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19928 OPC_MoveParent,
19929 OPC_Scope, 12,
19930 OPC_CheckPatternPredicate3,
19931 OPC_EmitNodeXForm, 7, 2,
19932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_D_Q),
19933 MVT::v2i64, 3, 0, 1, 3,
19934 12,
19935 OPC_CheckPatternPredicate5,
19936 OPC_EmitNodeXForm, 7, 2,
19937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_D_Q),
19938 MVT::v2i64, 3, 0, 1, 3,
19939 0,
19940 39,
19941 OPC_CheckChild0Integer, 110|128,110,
19942 OPC_RecordChild1,
19943 OPC_RecordChild2,
19944 OPC_RecordChild3,
19945 OPC_MoveChild3,
19946 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19947 OPC_MoveParent,
19948 OPC_Scope, 12,
19949 OPC_CheckPatternPredicate3,
19950 OPC_EmitNodeXForm, 7, 2,
19951 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_DU_Q),
19952 MVT::v2i64, 3, 0, 1, 3,
19953 12,
19954 OPC_CheckPatternPredicate5,
19955 OPC_EmitNodeXForm, 7, 2,
19956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_DU_Q),
19957 MVT::v2i64, 3, 0, 1, 3,
19958 0,
19959 39,
19960 OPC_CheckChild0Integer, 54|128,110,
19961 OPC_RecordChild1,
19962 OPC_RecordChild2,
19963 OPC_RecordChild3,
19964 OPC_MoveChild3,
19965 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19966 OPC_MoveParent,
19967 OPC_Scope, 12,
19968 OPC_CheckPatternPredicate3,
19969 OPC_EmitNodeXForm, 7, 2,
19970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_DU_Q),
19971 MVT::v2i64, 3, 0, 1, 3,
19972 12,
19973 OPC_CheckPatternPredicate5,
19974 OPC_EmitNodeXForm, 7, 2,
19975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_DU_Q),
19976 MVT::v2i64, 3, 0, 1, 3,
19977 0,
19978 39,
19979 OPC_CheckChild0Integer, 8|128,111,
19980 OPC_RecordChild1,
19981 OPC_RecordChild2,
19982 OPC_RecordChild3,
19983 OPC_MoveChild3,
19984 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
19985 OPC_MoveParent,
19986 OPC_Scope, 12,
19987 OPC_CheckPatternPredicate3,
19988 OPC_EmitNodeXForm, 7, 2,
19989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_D_Q),
19990 MVT::v2i64, 3, 0, 1, 3,
19991 12,
19992 OPC_CheckPatternPredicate5,
19993 OPC_EmitNodeXForm, 7, 2,
19994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_D_Q),
19995 MVT::v2i64, 3, 0, 1, 3,
19996 0,
19997 39,
19998 OPC_CheckChild0Integer, 80|128,110,
19999 OPC_RecordChild1,
20000 OPC_RecordChild2,
20001 OPC_RecordChild3,
20002 OPC_MoveChild3,
20003 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20004 OPC_MoveParent,
20005 OPC_Scope, 12,
20006 OPC_CheckPatternPredicate3,
20007 OPC_EmitNodeXForm, 7, 2,
20008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_D_Q),
20009 MVT::v2i64, 3, 0, 1, 3,
20010 12,
20011 OPC_CheckPatternPredicate5,
20012 OPC_EmitNodeXForm, 7, 2,
20013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_D_Q),
20014 MVT::v2i64, 3, 0, 1, 3,
20015 0,
20016 39,
20017 OPC_CheckChild0Integer, 10|128,111,
20018 OPC_RecordChild1,
20019 OPC_RecordChild2,
20020 OPC_RecordChild3,
20021 OPC_MoveChild3,
20022 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20023 OPC_MoveParent,
20024 OPC_Scope, 12,
20025 OPC_CheckPatternPredicate3,
20026 OPC_EmitNodeXForm, 7, 2,
20027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_DU_Q),
20028 MVT::v2i64, 3, 0, 1, 3,
20029 12,
20030 OPC_CheckPatternPredicate5,
20031 OPC_EmitNodeXForm, 7, 2,
20032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_DU_Q),
20033 MVT::v2i64, 3, 0, 1, 3,
20034 0,
20035 39,
20036 OPC_CheckChild0Integer, 82|128,110,
20037 OPC_RecordChild1,
20038 OPC_RecordChild2,
20039 OPC_RecordChild3,
20040 OPC_MoveChild3,
20041 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20042 OPC_MoveParent,
20043 OPC_Scope, 12,
20044 OPC_CheckPatternPredicate3,
20045 OPC_EmitNodeXForm, 7, 2,
20046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_DU_Q),
20047 MVT::v2i64, 3, 0, 1, 3,
20048 12,
20049 OPC_CheckPatternPredicate5,
20050 OPC_EmitNodeXForm, 7, 2,
20051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_DU_Q),
20052 MVT::v2i64, 3, 0, 1, 3,
20053 0,
20054 39,
20055 OPC_CheckChild0Integer, 66|128,108,
20056 OPC_RecordChild1,
20057 OPC_RecordChild2,
20058 OPC_RecordChild3,
20059 OPC_MoveChild3,
20060 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20061 OPC_MoveParent,
20062 OPC_Scope, 12,
20063 OPC_CheckPatternPredicate3,
20064 OPC_EmitNodeXForm, 7, 2,
20065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
20066 MVT::v2i64, 3, 0, 1, 3,
20067 12,
20068 OPC_CheckPatternPredicate5,
20069 OPC_EmitNodeXForm, 7, 2,
20070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
20071 MVT::v2i64, 3, 0, 1, 3,
20072 0,
20073 39,
20074 OPC_CheckChild0Integer, 72|128,102,
20075 OPC_RecordChild1,
20076 OPC_RecordChild2,
20077 OPC_RecordChild3,
20078 OPC_MoveChild3,
20079 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20080 OPC_MoveParent,
20081 OPC_Scope, 12,
20082 OPC_CheckPatternPredicate3,
20083 OPC_EmitNodeXForm, 7, 2,
20084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
20085 MVT::v2i64, 3, 0, 1, 3,
20086 12,
20087 OPC_CheckPatternPredicate5,
20088 OPC_EmitNodeXForm, 7, 2,
20089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
20090 MVT::v2i64, 3, 0, 1, 3,
20091 0,
20092 33,
20093 OPC_CheckChild0Integer, 104|128,93,
20094 OPC_RecordChild1,
20095 OPC_MoveChild1,
20096 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20097 OPC_MoveParent,
20098 OPC_Scope, 10,
20099 OPC_CheckPatternPredicate2,
20100 OPC_EmitNodeXForm, 7, 0,
20101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVLDI),
20102 MVT::v4i64, 1, 1,
20103 10,
20104 OPC_CheckPatternPredicate4,
20105 OPC_EmitNodeXForm, 7, 0,
20106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVLDI),
20107 MVT::v4i64, 1, 1,
20108 0,
20109 33,
20110 OPC_CheckChild0Integer, 58|128,96,
20111 OPC_RecordChild1,
20112 OPC_MoveChild1,
20113 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20114 OPC_MoveParent,
20115 OPC_Scope, 10,
20116 OPC_CheckPatternPredicate2,
20117 OPC_EmitNodeXForm, 7, 0,
20118 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_B),
20119 MVT::v32i8, 1, 1,
20120 10,
20121 OPC_CheckPatternPredicate4,
20122 OPC_EmitNodeXForm, 7, 0,
20123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_B),
20124 MVT::v32i8, 1, 1,
20125 0,
20126 33,
20127 OPC_CheckChild0Integer, 62|128,96,
20128 OPC_RecordChild1,
20129 OPC_MoveChild1,
20130 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20131 OPC_MoveParent,
20132 OPC_Scope, 10,
20133 OPC_CheckPatternPredicate2,
20134 OPC_EmitNodeXForm, 7, 0,
20135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_H),
20136 MVT::v16i16, 1, 1,
20137 10,
20138 OPC_CheckPatternPredicate4,
20139 OPC_EmitNodeXForm, 7, 0,
20140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_H),
20141 MVT::v16i16, 1, 1,
20142 0,
20143 33,
20144 OPC_CheckChild0Integer, 64|128,96,
20145 OPC_RecordChild1,
20146 OPC_MoveChild1,
20147 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20148 OPC_MoveParent,
20149 OPC_Scope, 10,
20150 OPC_CheckPatternPredicate2,
20151 OPC_EmitNodeXForm, 7, 0,
20152 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_W),
20153 MVT::v8i32, 1, 1,
20154 10,
20155 OPC_CheckPatternPredicate4,
20156 OPC_EmitNodeXForm, 7, 0,
20157 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_W),
20158 MVT::v8i32, 1, 1,
20159 0,
20160 33,
20161 OPC_CheckChild0Integer, 60|128,96,
20162 OPC_RecordChild1,
20163 OPC_MoveChild1,
20164 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20165 OPC_MoveParent,
20166 OPC_Scope, 10,
20167 OPC_CheckPatternPredicate2,
20168 OPC_EmitNodeXForm, 7, 0,
20169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_D),
20170 MVT::v4i64, 1, 1,
20171 10,
20172 OPC_CheckPatternPredicate4,
20173 OPC_EmitNodeXForm, 7, 0,
20174 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_D),
20175 MVT::v4i64, 1, 1,
20176 0,
20177 36,
20178 OPC_CheckChild0Integer, 116|128,96,
20179 OPC_RecordChild1,
20180 OPC_RecordChild2,
20181 OPC_MoveChild2,
20182 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20183 OPC_MoveParent,
20184 OPC_Scope, 11,
20185 OPC_CheckPatternPredicate2,
20186 OPC_EmitNodeXForm, 7, 1,
20187 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_B),
20188 MVT::v32i8, 2, 0, 2,
20189 11,
20190 OPC_CheckPatternPredicate4,
20191 OPC_EmitNodeXForm, 7, 1,
20192 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_B),
20193 MVT::v32i8, 2, 0, 2,
20194 0,
20195 36,
20196 OPC_CheckChild0Integer, 118|128,96,
20197 OPC_RecordChild1,
20198 OPC_RecordChild2,
20199 OPC_MoveChild2,
20200 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20201 OPC_MoveParent,
20202 OPC_Scope, 11,
20203 OPC_CheckPatternPredicate2,
20204 OPC_EmitNodeXForm, 7, 1,
20205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_BU),
20206 MVT::v32i8, 2, 0, 2,
20207 11,
20208 OPC_CheckPatternPredicate4,
20209 OPC_EmitNodeXForm, 7, 1,
20210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_BU),
20211 MVT::v32i8, 2, 0, 2,
20212 0,
20213 36,
20214 OPC_CheckChild0Integer, 98|128,95,
20215 OPC_RecordChild1,
20216 OPC_RecordChild2,
20217 OPC_MoveChild2,
20218 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20219 OPC_MoveParent,
20220 OPC_Scope, 11,
20221 OPC_CheckPatternPredicate2,
20222 OPC_EmitNodeXForm, 7, 1,
20223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
20224 MVT::v32i8, 2, 0, 2,
20225 11,
20226 OPC_CheckPatternPredicate4,
20227 OPC_EmitNodeXForm, 7, 1,
20228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
20229 MVT::v32i8, 2, 0, 2,
20230 0,
20231 36,
20232 OPC_CheckChild0Integer, 92|128,96,
20233 OPC_RecordChild1,
20234 OPC_RecordChild2,
20235 OPC_MoveChild2,
20236 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20237 OPC_MoveParent,
20238 OPC_Scope, 11,
20239 OPC_CheckPatternPredicate2,
20240 OPC_EmitNodeXForm, 7, 1,
20241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
20242 MVT::v32i8, 2, 0, 2,
20243 11,
20244 OPC_CheckPatternPredicate4,
20245 OPC_EmitNodeXForm, 7, 1,
20246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
20247 MVT::v32i8, 2, 0, 2,
20248 0,
20249 36,
20250 OPC_CheckChild0Integer, 96|128,97,
20251 OPC_RecordChild1,
20252 OPC_RecordChild2,
20253 OPC_MoveChild2,
20254 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20255 OPC_MoveParent,
20256 OPC_Scope, 11,
20257 OPC_CheckPatternPredicate2,
20258 OPC_EmitNodeXForm, 7, 1,
20259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
20260 MVT::v16i16, 2, 0, 2,
20261 11,
20262 OPC_CheckPatternPredicate4,
20263 OPC_EmitNodeXForm, 7, 1,
20264 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
20265 MVT::v16i16, 2, 0, 2,
20266 0,
20267 36,
20268 OPC_CheckChild0Integer, 98|128,97,
20269 OPC_RecordChild1,
20270 OPC_RecordChild2,
20271 OPC_MoveChild2,
20272 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20273 OPC_MoveParent,
20274 OPC_Scope, 11,
20275 OPC_CheckPatternPredicate2,
20276 OPC_EmitNodeXForm, 7, 1,
20277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
20278 MVT::v16i16, 2, 0, 2,
20279 11,
20280 OPC_CheckPatternPredicate4,
20281 OPC_EmitNodeXForm, 7, 1,
20282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
20283 MVT::v16i16, 2, 0, 2,
20284 0,
20285 36,
20286 OPC_CheckChild0Integer, 106|128,98,
20287 OPC_RecordChild1,
20288 OPC_RecordChild2,
20289 OPC_MoveChild2,
20290 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20291 OPC_MoveParent,
20292 OPC_Scope, 11,
20293 OPC_CheckPatternPredicate2,
20294 OPC_EmitNodeXForm, 7, 1,
20295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
20296 MVT::v32i8, 2, 0, 2,
20297 11,
20298 OPC_CheckPatternPredicate4,
20299 OPC_EmitNodeXForm, 7, 1,
20300 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
20301 MVT::v32i8, 2, 0, 2,
20302 0,
20303 36,
20304 OPC_CheckChild0Integer, 46|128,98,
20305 OPC_RecordChild1,
20306 OPC_RecordChild2,
20307 OPC_MoveChild2,
20308 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20309 OPC_MoveParent,
20310 OPC_Scope, 11,
20311 OPC_CheckPatternPredicate2,
20312 OPC_EmitNodeXForm, 7, 1,
20313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
20314 MVT::v32i8, 2, 0, 2,
20315 11,
20316 OPC_CheckPatternPredicate4,
20317 OPC_EmitNodeXForm, 7, 1,
20318 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
20319 MVT::v32i8, 2, 0, 2,
20320 0,
20321 36,
20322 OPC_CheckChild0Integer, 12|128,97,
20323 OPC_RecordChild1,
20324 OPC_RecordChild2,
20325 OPC_MoveChild2,
20326 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20327 OPC_MoveParent,
20328 OPC_Scope, 11,
20329 OPC_CheckPatternPredicate2,
20330 OPC_EmitNodeXForm, 7, 1,
20331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
20332 MVT::v32i8, 2, 0, 2,
20333 11,
20334 OPC_CheckPatternPredicate4,
20335 OPC_EmitNodeXForm, 7, 1,
20336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
20337 MVT::v32i8, 2, 0, 2,
20338 0,
20339 36,
20340 OPC_CheckChild0Integer, 60|128,97,
20341 OPC_RecordChild1,
20342 OPC_RecordChild2,
20343 OPC_MoveChild2,
20344 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20345 OPC_MoveParent,
20346 OPC_Scope, 11,
20347 OPC_CheckPatternPredicate2,
20348 OPC_EmitNodeXForm, 7, 1,
20349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
20350 MVT::v32i8, 2, 0, 2,
20351 11,
20352 OPC_CheckPatternPredicate4,
20353 OPC_EmitNodeXForm, 7, 1,
20354 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
20355 MVT::v32i8, 2, 0, 2,
20356 0,
20357 36,
20358 OPC_CheckChild0Integer, 62|128,97,
20359 OPC_RecordChild1,
20360 OPC_RecordChild2,
20361 OPC_MoveChild2,
20362 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20363 OPC_MoveParent,
20364 OPC_Scope, 11,
20365 OPC_CheckPatternPredicate2,
20366 OPC_EmitNodeXForm, 7, 1,
20367 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
20368 MVT::v32i8, 2, 0, 2,
20369 11,
20370 OPC_CheckPatternPredicate4,
20371 OPC_EmitNodeXForm, 7, 1,
20372 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
20373 MVT::v32i8, 2, 0, 2,
20374 0,
20375 36,
20376 OPC_CheckChild0Integer, 120|128,97,
20377 OPC_RecordChild1,
20378 OPC_RecordChild2,
20379 OPC_MoveChild2,
20380 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20381 OPC_MoveParent,
20382 OPC_Scope, 11,
20383 OPC_CheckPatternPredicate2,
20384 OPC_EmitNodeXForm, 7, 1,
20385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
20386 MVT::v32i8, 2, 0, 2,
20387 11,
20388 OPC_CheckPatternPredicate4,
20389 OPC_EmitNodeXForm, 7, 1,
20390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
20391 MVT::v32i8, 2, 0, 2,
20392 0,
20393 36,
20394 OPC_CheckChild0Integer, 122|128,97,
20395 OPC_RecordChild1,
20396 OPC_RecordChild2,
20397 OPC_MoveChild2,
20398 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20399 OPC_MoveParent,
20400 OPC_Scope, 11,
20401 OPC_CheckPatternPredicate2,
20402 OPC_EmitNodeXForm, 7, 1,
20403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
20404 MVT::v32i8, 2, 0, 2,
20405 11,
20406 OPC_CheckPatternPredicate4,
20407 OPC_EmitNodeXForm, 7, 1,
20408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
20409 MVT::v32i8, 2, 0, 2,
20410 0,
20411 36,
20412 OPC_CheckChild0Integer, 42|128,96,
20413 OPC_RecordChild1,
20414 OPC_RecordChild2,
20415 OPC_MoveChild2,
20416 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20417 OPC_MoveParent,
20418 OPC_Scope, 11,
20419 OPC_CheckPatternPredicate2,
20420 OPC_EmitNodeXForm, 7, 1,
20421 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
20422 MVT::v32i8, 2, 0, 2,
20423 11,
20424 OPC_CheckPatternPredicate4,
20425 OPC_EmitNodeXForm, 7, 1,
20426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
20427 MVT::v32i8, 2, 0, 2,
20428 0,
20429 36,
20430 OPC_CheckChild0Integer, 90|128,90,
20431 OPC_RecordChild1,
20432 OPC_RecordChild2,
20433 OPC_MoveChild2,
20434 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20435 OPC_MoveParent,
20436 OPC_Scope, 11,
20437 OPC_CheckPatternPredicate2,
20438 OPC_EmitNodeXForm, 7, 1,
20439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
20440 MVT::v32i8, 2, 0, 2,
20441 11,
20442 OPC_CheckPatternPredicate4,
20443 OPC_EmitNodeXForm, 7, 1,
20444 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
20445 MVT::v32i8, 2, 0, 2,
20446 0,
20447 36,
20448 OPC_CheckChild0Integer, 92|128,90,
20449 OPC_RecordChild1,
20450 OPC_RecordChild2,
20451 OPC_MoveChild2,
20452 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20453 OPC_MoveParent,
20454 OPC_Scope, 11,
20455 OPC_CheckPatternPredicate2,
20456 OPC_EmitNodeXForm, 7, 1,
20457 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
20458 MVT::v32i8, 2, 0, 2,
20459 11,
20460 OPC_CheckPatternPredicate4,
20461 OPC_EmitNodeXForm, 7, 1,
20462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
20463 MVT::v32i8, 2, 0, 2,
20464 0,
20465 36,
20466 OPC_CheckChild0Integer, 28|128,97,
20467 OPC_RecordChild1,
20468 OPC_RecordChild2,
20469 OPC_MoveChild2,
20470 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20471 OPC_MoveParent,
20472 OPC_Scope, 11,
20473 OPC_CheckPatternPredicate2,
20474 OPC_EmitNodeXForm, 7, 1,
20475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
20476 MVT::v32i8, 2, 0, 2,
20477 11,
20478 OPC_CheckPatternPredicate4,
20479 OPC_EmitNodeXForm, 7, 1,
20480 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
20481 MVT::v32i8, 2, 0, 2,
20482 0,
20483 36,
20484 OPC_CheckChild0Integer, 124|128,96,
20485 OPC_RecordChild1,
20486 OPC_RecordChild2,
20487 OPC_MoveChild2,
20488 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20489 OPC_MoveParent,
20490 OPC_Scope, 11,
20491 OPC_CheckPatternPredicate2,
20492 OPC_EmitNodeXForm, 7, 1,
20493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_H),
20494 MVT::v16i16, 2, 0, 2,
20495 11,
20496 OPC_CheckPatternPredicate4,
20497 OPC_EmitNodeXForm, 7, 1,
20498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_H),
20499 MVT::v16i16, 2, 0, 2,
20500 0,
20501 36,
20502 OPC_CheckChild0Integer, 126|128,96,
20503 OPC_RecordChild1,
20504 OPC_RecordChild2,
20505 OPC_MoveChild2,
20506 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20507 OPC_MoveParent,
20508 OPC_Scope, 11,
20509 OPC_CheckPatternPredicate2,
20510 OPC_EmitNodeXForm, 7, 1,
20511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_HU),
20512 MVT::v16i16, 2, 0, 2,
20513 11,
20514 OPC_CheckPatternPredicate4,
20515 OPC_EmitNodeXForm, 7, 1,
20516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_HU),
20517 MVT::v16i16, 2, 0, 2,
20518 0,
20519 36,
20520 OPC_CheckChild0Integer, 96|128,96,
20521 OPC_RecordChild1,
20522 OPC_RecordChild2,
20523 OPC_MoveChild2,
20524 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20525 OPC_MoveParent,
20526 OPC_Scope, 11,
20527 OPC_CheckPatternPredicate2,
20528 OPC_EmitNodeXForm, 7, 1,
20529 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
20530 MVT::v16i16, 2, 0, 2,
20531 11,
20532 OPC_CheckPatternPredicate4,
20533 OPC_EmitNodeXForm, 7, 1,
20534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
20535 MVT::v16i16, 2, 0, 2,
20536 0,
20537 36,
20538 OPC_CheckChild0Integer, 100|128,97,
20539 OPC_RecordChild1,
20540 OPC_RecordChild2,
20541 OPC_MoveChild2,
20542 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20543 OPC_MoveParent,
20544 OPC_Scope, 11,
20545 OPC_CheckPatternPredicate2,
20546 OPC_EmitNodeXForm, 7, 1,
20547 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
20548 MVT::v8i32, 2, 0, 2,
20549 11,
20550 OPC_CheckPatternPredicate4,
20551 OPC_EmitNodeXForm, 7, 1,
20552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
20553 MVT::v8i32, 2, 0, 2,
20554 0,
20555 36,
20556 OPC_CheckChild0Integer, 102|128,97,
20557 OPC_RecordChild1,
20558 OPC_RecordChild2,
20559 OPC_MoveChild2,
20560 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20561 OPC_MoveParent,
20562 OPC_Scope, 11,
20563 OPC_CheckPatternPredicate2,
20564 OPC_EmitNodeXForm, 7, 1,
20565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
20566 MVT::v8i32, 2, 0, 2,
20567 11,
20568 OPC_CheckPatternPredicate4,
20569 OPC_EmitNodeXForm, 7, 1,
20570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
20571 MVT::v8i32, 2, 0, 2,
20572 0,
20573 36,
20574 OPC_CheckChild0Integer, 110|128,98,
20575 OPC_RecordChild1,
20576 OPC_RecordChild2,
20577 OPC_MoveChild2,
20578 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20579 OPC_MoveParent,
20580 OPC_Scope, 11,
20581 OPC_CheckPatternPredicate2,
20582 OPC_EmitNodeXForm, 7, 1,
20583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
20584 MVT::v16i16, 2, 0, 2,
20585 11,
20586 OPC_CheckPatternPredicate4,
20587 OPC_EmitNodeXForm, 7, 1,
20588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
20589 MVT::v16i16, 2, 0, 2,
20590 0,
20591 36,
20592 OPC_CheckChild0Integer, 50|128,98,
20593 OPC_RecordChild1,
20594 OPC_RecordChild2,
20595 OPC_MoveChild2,
20596 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20597 OPC_MoveParent,
20598 OPC_Scope, 11,
20599 OPC_CheckPatternPredicate2,
20600 OPC_EmitNodeXForm, 7, 1,
20601 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
20602 MVT::v16i16, 2, 0, 2,
20603 11,
20604 OPC_CheckPatternPredicate4,
20605 OPC_EmitNodeXForm, 7, 1,
20606 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
20607 MVT::v16i16, 2, 0, 2,
20608 0,
20609 36,
20610 OPC_CheckChild0Integer, 16|128,97,
20611 OPC_RecordChild1,
20612 OPC_RecordChild2,
20613 OPC_MoveChild2,
20614 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20615 OPC_MoveParent,
20616 OPC_Scope, 11,
20617 OPC_CheckPatternPredicate2,
20618 OPC_EmitNodeXForm, 7, 1,
20619 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
20620 MVT::v16i16, 2, 0, 2,
20621 11,
20622 OPC_CheckPatternPredicate4,
20623 OPC_EmitNodeXForm, 7, 1,
20624 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
20625 MVT::v16i16, 2, 0, 2,
20626 0,
20627 36,
20628 OPC_CheckChild0Integer, 68|128,97,
20629 OPC_RecordChild1,
20630 OPC_RecordChild2,
20631 OPC_MoveChild2,
20632 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20633 OPC_MoveParent,
20634 OPC_Scope, 11,
20635 OPC_CheckPatternPredicate2,
20636 OPC_EmitNodeXForm, 7, 1,
20637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
20638 MVT::v16i16, 2, 0, 2,
20639 11,
20640 OPC_CheckPatternPredicate4,
20641 OPC_EmitNodeXForm, 7, 1,
20642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
20643 MVT::v16i16, 2, 0, 2,
20644 0,
20645 36,
20646 OPC_CheckChild0Integer, 70|128,97,
20647 OPC_RecordChild1,
20648 OPC_RecordChild2,
20649 OPC_MoveChild2,
20650 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20651 OPC_MoveParent,
20652 OPC_Scope, 11,
20653 OPC_CheckPatternPredicate2,
20654 OPC_EmitNodeXForm, 7, 1,
20655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
20656 MVT::v16i16, 2, 0, 2,
20657 11,
20658 OPC_CheckPatternPredicate4,
20659 OPC_EmitNodeXForm, 7, 1,
20660 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
20661 MVT::v16i16, 2, 0, 2,
20662 0,
20663 36,
20664 OPC_CheckChild0Integer, 0|128,98,
20665 OPC_RecordChild1,
20666 OPC_RecordChild2,
20667 OPC_MoveChild2,
20668 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20669 OPC_MoveParent,
20670 OPC_Scope, 11,
20671 OPC_CheckPatternPredicate2,
20672 OPC_EmitNodeXForm, 7, 1,
20673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
20674 MVT::v16i16, 2, 0, 2,
20675 11,
20676 OPC_CheckPatternPredicate4,
20677 OPC_EmitNodeXForm, 7, 1,
20678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
20679 MVT::v16i16, 2, 0, 2,
20680 0,
20681 36,
20682 OPC_CheckChild0Integer, 2|128,98,
20683 OPC_RecordChild1,
20684 OPC_RecordChild2,
20685 OPC_MoveChild2,
20686 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20687 OPC_MoveParent,
20688 OPC_Scope, 11,
20689 OPC_CheckPatternPredicate2,
20690 OPC_EmitNodeXForm, 7, 1,
20691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
20692 MVT::v16i16, 2, 0, 2,
20693 11,
20694 OPC_CheckPatternPredicate4,
20695 OPC_EmitNodeXForm, 7, 1,
20696 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
20697 MVT::v16i16, 2, 0, 2,
20698 0,
20699 36,
20700 OPC_CheckChild0Integer, 46|128,96,
20701 OPC_RecordChild1,
20702 OPC_RecordChild2,
20703 OPC_MoveChild2,
20704 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20705 OPC_MoveParent,
20706 OPC_Scope, 11,
20707 OPC_CheckPatternPredicate2,
20708 OPC_EmitNodeXForm, 7, 1,
20709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
20710 MVT::v16i16, 2, 0, 2,
20711 11,
20712 OPC_CheckPatternPredicate4,
20713 OPC_EmitNodeXForm, 7, 1,
20714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
20715 MVT::v16i16, 2, 0, 2,
20716 0,
20717 36,
20718 OPC_CheckChild0Integer, 32|128,97,
20719 OPC_RecordChild1,
20720 OPC_RecordChild2,
20721 OPC_MoveChild2,
20722 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20723 OPC_MoveParent,
20724 OPC_Scope, 11,
20725 OPC_CheckPatternPredicate2,
20726 OPC_EmitNodeXForm, 7, 1,
20727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
20728 MVT::v16i16, 2, 0, 2,
20729 11,
20730 OPC_CheckPatternPredicate4,
20731 OPC_EmitNodeXForm, 7, 1,
20732 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
20733 MVT::v16i16, 2, 0, 2,
20734 0,
20735 36,
20736 OPC_CheckChild0Integer, 0|128,97,
20737 OPC_RecordChild1,
20738 OPC_RecordChild2,
20739 OPC_MoveChild2,
20740 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20741 OPC_MoveParent,
20742 OPC_Scope, 11,
20743 OPC_CheckPatternPredicate2,
20744 OPC_EmitNodeXForm, 7, 1,
20745 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_W),
20746 MVT::v8i32, 2, 0, 2,
20747 11,
20748 OPC_CheckPatternPredicate4,
20749 OPC_EmitNodeXForm, 7, 1,
20750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_W),
20751 MVT::v8i32, 2, 0, 2,
20752 0,
20753 36,
20754 OPC_CheckChild0Integer, 2|128,97,
20755 OPC_RecordChild1,
20756 OPC_RecordChild2,
20757 OPC_MoveChild2,
20758 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20759 OPC_MoveParent,
20760 OPC_Scope, 11,
20761 OPC_CheckPatternPredicate2,
20762 OPC_EmitNodeXForm, 7, 1,
20763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_WU),
20764 MVT::v8i32, 2, 0, 2,
20765 11,
20766 OPC_CheckPatternPredicate4,
20767 OPC_EmitNodeXForm, 7, 1,
20768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_WU),
20769 MVT::v8i32, 2, 0, 2,
20770 0,
20771 36,
20772 OPC_CheckChild0Integer, 98|128,96,
20773 OPC_RecordChild1,
20774 OPC_RecordChild2,
20775 OPC_MoveChild2,
20776 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20777 OPC_MoveParent,
20778 OPC_Scope, 11,
20779 OPC_CheckPatternPredicate2,
20780 OPC_EmitNodeXForm, 7, 1,
20781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
20782 MVT::v8i32, 2, 0, 2,
20783 11,
20784 OPC_CheckPatternPredicate4,
20785 OPC_EmitNodeXForm, 7, 1,
20786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
20787 MVT::v8i32, 2, 0, 2,
20788 0,
20789 36,
20790 OPC_CheckChild0Integer, 92|128,97,
20791 OPC_RecordChild1,
20792 OPC_RecordChild2,
20793 OPC_MoveChild2,
20794 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20795 OPC_MoveParent,
20796 OPC_Scope, 11,
20797 OPC_CheckPatternPredicate2,
20798 OPC_EmitNodeXForm, 7, 1,
20799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
20800 MVT::v4i64, 2, 0, 2,
20801 11,
20802 OPC_CheckPatternPredicate4,
20803 OPC_EmitNodeXForm, 7, 1,
20804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
20805 MVT::v4i64, 2, 0, 2,
20806 0,
20807 36,
20808 OPC_CheckChild0Integer, 94|128,97,
20809 OPC_RecordChild1,
20810 OPC_RecordChild2,
20811 OPC_MoveChild2,
20812 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20813 OPC_MoveParent,
20814 OPC_Scope, 11,
20815 OPC_CheckPatternPredicate2,
20816 OPC_EmitNodeXForm, 7, 1,
20817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
20818 MVT::v4i64, 2, 0, 2,
20819 11,
20820 OPC_CheckPatternPredicate4,
20821 OPC_EmitNodeXForm, 7, 1,
20822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
20823 MVT::v4i64, 2, 0, 2,
20824 0,
20825 36,
20826 OPC_CheckChild0Integer, 112|128,98,
20827 OPC_RecordChild1,
20828 OPC_RecordChild2,
20829 OPC_MoveChild2,
20830 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20831 OPC_MoveParent,
20832 OPC_Scope, 11,
20833 OPC_CheckPatternPredicate2,
20834 OPC_EmitNodeXForm, 7, 1,
20835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
20836 MVT::v8i32, 2, 0, 2,
20837 11,
20838 OPC_CheckPatternPredicate4,
20839 OPC_EmitNodeXForm, 7, 1,
20840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
20841 MVT::v8i32, 2, 0, 2,
20842 0,
20843 36,
20844 OPC_CheckChild0Integer, 52|128,98,
20845 OPC_RecordChild1,
20846 OPC_RecordChild2,
20847 OPC_MoveChild2,
20848 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20849 OPC_MoveParent,
20850 OPC_Scope, 11,
20851 OPC_CheckPatternPredicate2,
20852 OPC_EmitNodeXForm, 7, 1,
20853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
20854 MVT::v8i32, 2, 0, 2,
20855 11,
20856 OPC_CheckPatternPredicate4,
20857 OPC_EmitNodeXForm, 7, 1,
20858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
20859 MVT::v8i32, 2, 0, 2,
20860 0,
20861 36,
20862 OPC_CheckChild0Integer, 18|128,97,
20863 OPC_RecordChild1,
20864 OPC_RecordChild2,
20865 OPC_MoveChild2,
20866 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20867 OPC_MoveParent,
20868 OPC_Scope, 11,
20869 OPC_CheckPatternPredicate2,
20870 OPC_EmitNodeXForm, 7, 1,
20871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
20872 MVT::v8i32, 2, 0, 2,
20873 11,
20874 OPC_CheckPatternPredicate4,
20875 OPC_EmitNodeXForm, 7, 1,
20876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
20877 MVT::v8i32, 2, 0, 2,
20878 0,
20879 36,
20880 OPC_CheckChild0Integer, 72|128,97,
20881 OPC_RecordChild1,
20882 OPC_RecordChild2,
20883 OPC_MoveChild2,
20884 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20885 OPC_MoveParent,
20886 OPC_Scope, 11,
20887 OPC_CheckPatternPredicate2,
20888 OPC_EmitNodeXForm, 7, 1,
20889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
20890 MVT::v8i32, 2, 0, 2,
20891 11,
20892 OPC_CheckPatternPredicate4,
20893 OPC_EmitNodeXForm, 7, 1,
20894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
20895 MVT::v8i32, 2, 0, 2,
20896 0,
20897 36,
20898 OPC_CheckChild0Integer, 74|128,97,
20899 OPC_RecordChild1,
20900 OPC_RecordChild2,
20901 OPC_MoveChild2,
20902 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20903 OPC_MoveParent,
20904 OPC_Scope, 11,
20905 OPC_CheckPatternPredicate2,
20906 OPC_EmitNodeXForm, 7, 1,
20907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
20908 MVT::v8i32, 2, 0, 2,
20909 11,
20910 OPC_CheckPatternPredicate4,
20911 OPC_EmitNodeXForm, 7, 1,
20912 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
20913 MVT::v8i32, 2, 0, 2,
20914 0,
20915 36,
20916 OPC_CheckChild0Integer, 4|128,98,
20917 OPC_RecordChild1,
20918 OPC_RecordChild2,
20919 OPC_MoveChild2,
20920 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20921 OPC_MoveParent,
20922 OPC_Scope, 11,
20923 OPC_CheckPatternPredicate2,
20924 OPC_EmitNodeXForm, 7, 1,
20925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
20926 MVT::v8i32, 2, 0, 2,
20927 11,
20928 OPC_CheckPatternPredicate4,
20929 OPC_EmitNodeXForm, 7, 1,
20930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
20931 MVT::v8i32, 2, 0, 2,
20932 0,
20933 36,
20934 OPC_CheckChild0Integer, 6|128,98,
20935 OPC_RecordChild1,
20936 OPC_RecordChild2,
20937 OPC_MoveChild2,
20938 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20939 OPC_MoveParent,
20940 OPC_Scope, 11,
20941 OPC_CheckPatternPredicate2,
20942 OPC_EmitNodeXForm, 7, 1,
20943 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
20944 MVT::v8i32, 2, 0, 2,
20945 11,
20946 OPC_CheckPatternPredicate4,
20947 OPC_EmitNodeXForm, 7, 1,
20948 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
20949 MVT::v8i32, 2, 0, 2,
20950 0,
20951 36,
20952 OPC_CheckChild0Integer, 48|128,96,
20953 OPC_RecordChild1,
20954 OPC_RecordChild2,
20955 OPC_MoveChild2,
20956 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20957 OPC_MoveParent,
20958 OPC_Scope, 11,
20959 OPC_CheckPatternPredicate2,
20960 OPC_EmitNodeXForm, 7, 1,
20961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
20962 MVT::v8i32, 2, 0, 2,
20963 11,
20964 OPC_CheckPatternPredicate4,
20965 OPC_EmitNodeXForm, 7, 1,
20966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
20967 MVT::v8i32, 2, 0, 2,
20968 0,
20969 36,
20970 OPC_CheckChild0Integer, 34|128,97,
20971 OPC_RecordChild1,
20972 OPC_RecordChild2,
20973 OPC_MoveChild2,
20974 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20975 OPC_MoveParent,
20976 OPC_Scope, 11,
20977 OPC_CheckPatternPredicate2,
20978 OPC_EmitNodeXForm, 7, 1,
20979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
20980 MVT::v8i32, 2, 0, 2,
20981 11,
20982 OPC_CheckPatternPredicate4,
20983 OPC_EmitNodeXForm, 7, 1,
20984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
20985 MVT::v8i32, 2, 0, 2,
20986 0,
20987 36,
20988 OPC_CheckChild0Integer, 30|128,96,
20989 OPC_RecordChild1,
20990 OPC_RecordChild2,
20991 OPC_MoveChild2,
20992 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20993 OPC_MoveParent,
20994 OPC_Scope, 11,
20995 OPC_CheckPatternPredicate2,
20996 OPC_EmitNodeXForm, 7, 1,
20997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
20998 MVT::v8i32, 2, 0, 2,
20999 11,
21000 OPC_CheckPatternPredicate4,
21001 OPC_EmitNodeXForm, 7, 1,
21002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
21003 MVT::v8i32, 2, 0, 2,
21004 0,
21005 36,
21006 OPC_CheckChild0Integer, 120|128,96,
21007 OPC_RecordChild1,
21008 OPC_RecordChild2,
21009 OPC_MoveChild2,
21010 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21011 OPC_MoveParent,
21012 OPC_Scope, 11,
21013 OPC_CheckPatternPredicate2,
21014 OPC_EmitNodeXForm, 7, 1,
21015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_D),
21016 MVT::v4i64, 2, 0, 2,
21017 11,
21018 OPC_CheckPatternPredicate4,
21019 OPC_EmitNodeXForm, 7, 1,
21020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_D),
21021 MVT::v4i64, 2, 0, 2,
21022 0,
21023 36,
21024 OPC_CheckChild0Integer, 122|128,96,
21025 OPC_RecordChild1,
21026 OPC_RecordChild2,
21027 OPC_MoveChild2,
21028 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21029 OPC_MoveParent,
21030 OPC_Scope, 11,
21031 OPC_CheckPatternPredicate2,
21032 OPC_EmitNodeXForm, 7, 1,
21033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_DU),
21034 MVT::v4i64, 2, 0, 2,
21035 11,
21036 OPC_CheckPatternPredicate4,
21037 OPC_EmitNodeXForm, 7, 1,
21038 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_DU),
21039 MVT::v4i64, 2, 0, 2,
21040 0,
21041 36,
21042 OPC_CheckChild0Integer, 94|128,96,
21043 OPC_RecordChild1,
21044 OPC_RecordChild2,
21045 OPC_MoveChild2,
21046 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21047 OPC_MoveParent,
21048 OPC_Scope, 11,
21049 OPC_CheckPatternPredicate2,
21050 OPC_EmitNodeXForm, 7, 1,
21051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
21052 MVT::v4i64, 2, 0, 2,
21053 11,
21054 OPC_CheckPatternPredicate4,
21055 OPC_EmitNodeXForm, 7, 1,
21056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
21057 MVT::v4i64, 2, 0, 2,
21058 0,
21059 36,
21060 OPC_CheckChild0Integer, 108|128,98,
21061 OPC_RecordChild1,
21062 OPC_RecordChild2,
21063 OPC_MoveChild2,
21064 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21065 OPC_MoveParent,
21066 OPC_Scope, 11,
21067 OPC_CheckPatternPredicate2,
21068 OPC_EmitNodeXForm, 7, 1,
21069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
21070 MVT::v4i64, 2, 0, 2,
21071 11,
21072 OPC_CheckPatternPredicate4,
21073 OPC_EmitNodeXForm, 7, 1,
21074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
21075 MVT::v4i64, 2, 0, 2,
21076 0,
21077 36,
21078 OPC_CheckChild0Integer, 48|128,98,
21079 OPC_RecordChild1,
21080 OPC_RecordChild2,
21081 OPC_MoveChild2,
21082 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21083 OPC_MoveParent,
21084 OPC_Scope, 11,
21085 OPC_CheckPatternPredicate2,
21086 OPC_EmitNodeXForm, 7, 1,
21087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
21088 MVT::v4i64, 2, 0, 2,
21089 11,
21090 OPC_CheckPatternPredicate4,
21091 OPC_EmitNodeXForm, 7, 1,
21092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
21093 MVT::v4i64, 2, 0, 2,
21094 0,
21095 36,
21096 OPC_CheckChild0Integer, 14|128,97,
21097 OPC_RecordChild1,
21098 OPC_RecordChild2,
21099 OPC_MoveChild2,
21100 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21101 OPC_MoveParent,
21102 OPC_Scope, 11,
21103 OPC_CheckPatternPredicate2,
21104 OPC_EmitNodeXForm, 7, 1,
21105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
21106 MVT::v4i64, 2, 0, 2,
21107 11,
21108 OPC_CheckPatternPredicate4,
21109 OPC_EmitNodeXForm, 7, 1,
21110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
21111 MVT::v4i64, 2, 0, 2,
21112 0,
21113 36,
21114 OPC_CheckChild0Integer, 64|128,97,
21115 OPC_RecordChild1,
21116 OPC_RecordChild2,
21117 OPC_MoveChild2,
21118 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21119 OPC_MoveParent,
21120 OPC_Scope, 11,
21121 OPC_CheckPatternPredicate2,
21122 OPC_EmitNodeXForm, 7, 1,
21123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
21124 MVT::v4i64, 2, 0, 2,
21125 11,
21126 OPC_CheckPatternPredicate4,
21127 OPC_EmitNodeXForm, 7, 1,
21128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
21129 MVT::v4i64, 2, 0, 2,
21130 0,
21131 36,
21132 OPC_CheckChild0Integer, 66|128,97,
21133 OPC_RecordChild1,
21134 OPC_RecordChild2,
21135 OPC_MoveChild2,
21136 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21137 OPC_MoveParent,
21138 OPC_Scope, 11,
21139 OPC_CheckPatternPredicate2,
21140 OPC_EmitNodeXForm, 7, 1,
21141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
21142 MVT::v4i64, 2, 0, 2,
21143 11,
21144 OPC_CheckPatternPredicate4,
21145 OPC_EmitNodeXForm, 7, 1,
21146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
21147 MVT::v4i64, 2, 0, 2,
21148 0,
21149 36,
21150 OPC_CheckChild0Integer, 124|128,97,
21151 OPC_RecordChild1,
21152 OPC_RecordChild2,
21153 OPC_MoveChild2,
21154 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21155 OPC_MoveParent,
21156 OPC_Scope, 11,
21157 OPC_CheckPatternPredicate2,
21158 OPC_EmitNodeXForm, 7, 1,
21159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
21160 MVT::v4i64, 2, 0, 2,
21161 11,
21162 OPC_CheckPatternPredicate4,
21163 OPC_EmitNodeXForm, 7, 1,
21164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
21165 MVT::v4i64, 2, 0, 2,
21166 0,
21167 36,
21168 OPC_CheckChild0Integer, 126|128,97,
21169 OPC_RecordChild1,
21170 OPC_RecordChild2,
21171 OPC_MoveChild2,
21172 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21173 OPC_MoveParent,
21174 OPC_Scope, 11,
21175 OPC_CheckPatternPredicate2,
21176 OPC_EmitNodeXForm, 7, 1,
21177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
21178 MVT::v4i64, 2, 0, 2,
21179 11,
21180 OPC_CheckPatternPredicate4,
21181 OPC_EmitNodeXForm, 7, 1,
21182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
21183 MVT::v4i64, 2, 0, 2,
21184 0,
21185 36,
21186 OPC_CheckChild0Integer, 44|128,96,
21187 OPC_RecordChild1,
21188 OPC_RecordChild2,
21189 OPC_MoveChild2,
21190 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21191 OPC_MoveParent,
21192 OPC_Scope, 11,
21193 OPC_CheckPatternPredicate2,
21194 OPC_EmitNodeXForm, 7, 1,
21195 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
21196 MVT::v4i64, 2, 0, 2,
21197 11,
21198 OPC_CheckPatternPredicate4,
21199 OPC_EmitNodeXForm, 7, 1,
21200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
21201 MVT::v4i64, 2, 0, 2,
21202 0,
21203 36,
21204 OPC_CheckChild0Integer, 4|128,96,
21205 OPC_RecordChild1,
21206 OPC_RecordChild2,
21207 OPC_MoveChild2,
21208 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21209 OPC_MoveParent,
21210 OPC_Scope, 11,
21211 OPC_CheckPatternPredicate2,
21212 OPC_EmitNodeXForm, 7, 1,
21213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
21214 MVT::v4i64, 2, 0, 2,
21215 11,
21216 OPC_CheckPatternPredicate4,
21217 OPC_EmitNodeXForm, 7, 1,
21218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
21219 MVT::v4i64, 2, 0, 2,
21220 0,
21221 36,
21222 OPC_CheckChild0Integer, 26|128,96,
21223 OPC_RecordChild1,
21224 OPC_RecordChild2,
21225 OPC_MoveChild2,
21226 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21227 OPC_MoveParent,
21228 OPC_Scope, 11,
21229 OPC_CheckPatternPredicate2,
21230 OPC_EmitNodeXForm, 7, 1,
21231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
21232 MVT::v4i64, 2, 0, 2,
21233 11,
21234 OPC_CheckPatternPredicate4,
21235 OPC_EmitNodeXForm, 7, 1,
21236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
21237 MVT::v4i64, 2, 0, 2,
21238 0,
21239 39,
21240 OPC_CheckChild0Integer, 90|128,98,
21241 OPC_RecordChild1,
21242 OPC_RecordChild2,
21243 OPC_RecordChild3,
21244 OPC_MoveChild3,
21245 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21246 OPC_MoveParent,
21247 OPC_Scope, 12,
21248 OPC_CheckPatternPredicate2,
21249 OPC_EmitNodeXForm, 7, 2,
21250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_B_H),
21251 MVT::v32i8, 3, 0, 1, 3,
21252 12,
21253 OPC_CheckPatternPredicate4,
21254 OPC_EmitNodeXForm, 7, 2,
21255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_B_H),
21256 MVT::v32i8, 3, 0, 1, 3,
21257 0,
21258 39,
21259 OPC_CheckChild0Integer, 30|128,98,
21260 OPC_RecordChild1,
21261 OPC_RecordChild2,
21262 OPC_RecordChild3,
21263 OPC_MoveChild3,
21264 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21265 OPC_MoveParent,
21266 OPC_Scope, 12,
21267 OPC_CheckPatternPredicate2,
21268 OPC_EmitNodeXForm, 7, 2,
21269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_B_H),
21270 MVT::v32i8, 3, 0, 1, 3,
21271 12,
21272 OPC_CheckPatternPredicate4,
21273 OPC_EmitNodeXForm, 7, 2,
21274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_B_H),
21275 MVT::v32i8, 3, 0, 1, 3,
21276 0,
21277 39,
21278 OPC_CheckChild0Integer, 120|128,98,
21279 OPC_RecordChild1,
21280 OPC_RecordChild2,
21281 OPC_RecordChild3,
21282 OPC_MoveChild3,
21283 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21284 OPC_MoveParent,
21285 OPC_Scope, 12,
21286 OPC_CheckPatternPredicate2,
21287 OPC_EmitNodeXForm, 7, 2,
21288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_B_H),
21289 MVT::v32i8, 3, 0, 1, 3,
21290 12,
21291 OPC_CheckPatternPredicate4,
21292 OPC_EmitNodeXForm, 7, 2,
21293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_B_H),
21294 MVT::v32i8, 3, 0, 1, 3,
21295 0,
21296 39,
21297 OPC_CheckChild0Integer, 60|128,98,
21298 OPC_RecordChild1,
21299 OPC_RecordChild2,
21300 OPC_RecordChild3,
21301 OPC_MoveChild3,
21302 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21303 OPC_MoveParent,
21304 OPC_Scope, 12,
21305 OPC_CheckPatternPredicate2,
21306 OPC_EmitNodeXForm, 7, 2,
21307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_B_H),
21308 MVT::v32i8, 3, 0, 1, 3,
21309 12,
21310 OPC_CheckPatternPredicate4,
21311 OPC_EmitNodeXForm, 7, 2,
21312 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_B_H),
21313 MVT::v32i8, 3, 0, 1, 3,
21314 0,
21315 39,
21316 OPC_CheckChild0Integer, 68|128,99,
21317 OPC_RecordChild1,
21318 OPC_RecordChild2,
21319 OPC_RecordChild3,
21320 OPC_MoveChild3,
21321 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21322 OPC_MoveParent,
21323 OPC_Scope, 12,
21324 OPC_CheckPatternPredicate2,
21325 OPC_EmitNodeXForm, 7, 2,
21326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_B_H),
21327 MVT::v32i8, 3, 0, 1, 3,
21328 12,
21329 OPC_CheckPatternPredicate4,
21330 OPC_EmitNodeXForm, 7, 2,
21331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_B_H),
21332 MVT::v32i8, 3, 0, 1, 3,
21333 0,
21334 39,
21335 OPC_CheckChild0Integer, 12|128,99,
21336 OPC_RecordChild1,
21337 OPC_RecordChild2,
21338 OPC_RecordChild3,
21339 OPC_MoveChild3,
21340 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21341 OPC_MoveParent,
21342 OPC_Scope, 12,
21343 OPC_CheckPatternPredicate2,
21344 OPC_EmitNodeXForm, 7, 2,
21345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_B_H),
21346 MVT::v32i8, 3, 0, 1, 3,
21347 12,
21348 OPC_CheckPatternPredicate4,
21349 OPC_EmitNodeXForm, 7, 2,
21350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_B_H),
21351 MVT::v32i8, 3, 0, 1, 3,
21352 0,
21353 39,
21354 OPC_CheckChild0Integer, 70|128,99,
21355 OPC_RecordChild1,
21356 OPC_RecordChild2,
21357 OPC_RecordChild3,
21358 OPC_MoveChild3,
21359 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21360 OPC_MoveParent,
21361 OPC_Scope, 12,
21362 OPC_CheckPatternPredicate2,
21363 OPC_EmitNodeXForm, 7, 2,
21364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_BU_H),
21365 MVT::v32i8, 3, 0, 1, 3,
21366 12,
21367 OPC_CheckPatternPredicate4,
21368 OPC_EmitNodeXForm, 7, 2,
21369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_BU_H),
21370 MVT::v32i8, 3, 0, 1, 3,
21371 0,
21372 39,
21373 OPC_CheckChild0Integer, 14|128,99,
21374 OPC_RecordChild1,
21375 OPC_RecordChild2,
21376 OPC_RecordChild3,
21377 OPC_MoveChild3,
21378 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21379 OPC_MoveParent,
21380 OPC_Scope, 12,
21381 OPC_CheckPatternPredicate2,
21382 OPC_EmitNodeXForm, 7, 2,
21383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_BU_H),
21384 MVT::v32i8, 3, 0, 1, 3,
21385 12,
21386 OPC_CheckPatternPredicate4,
21387 OPC_EmitNodeXForm, 7, 2,
21388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_BU_H),
21389 MVT::v32i8, 3, 0, 1, 3,
21390 0,
21391 39,
21392 OPC_CheckChild0Integer, 96|128,99,
21393 OPC_RecordChild1,
21394 OPC_RecordChild2,
21395 OPC_RecordChild3,
21396 OPC_MoveChild3,
21397 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21398 OPC_MoveParent,
21399 OPC_Scope, 12,
21400 OPC_CheckPatternPredicate2,
21401 OPC_EmitNodeXForm, 7, 2,
21402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_B_H),
21403 MVT::v32i8, 3, 0, 1, 3,
21404 12,
21405 OPC_CheckPatternPredicate4,
21406 OPC_EmitNodeXForm, 7, 2,
21407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_B_H),
21408 MVT::v32i8, 3, 0, 1, 3,
21409 0,
21410 39,
21411 OPC_CheckChild0Integer, 40|128,99,
21412 OPC_RecordChild1,
21413 OPC_RecordChild2,
21414 OPC_RecordChild3,
21415 OPC_MoveChild3,
21416 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21417 OPC_MoveParent,
21418 OPC_Scope, 12,
21419 OPC_CheckPatternPredicate2,
21420 OPC_EmitNodeXForm, 7, 2,
21421 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_B_H),
21422 MVT::v32i8, 3, 0, 1, 3,
21423 12,
21424 OPC_CheckPatternPredicate4,
21425 OPC_EmitNodeXForm, 7, 2,
21426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_B_H),
21427 MVT::v32i8, 3, 0, 1, 3,
21428 0,
21429 39,
21430 OPC_CheckChild0Integer, 98|128,99,
21431 OPC_RecordChild1,
21432 OPC_RecordChild2,
21433 OPC_RecordChild3,
21434 OPC_MoveChild3,
21435 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21436 OPC_MoveParent,
21437 OPC_Scope, 12,
21438 OPC_CheckPatternPredicate2,
21439 OPC_EmitNodeXForm, 7, 2,
21440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_BU_H),
21441 MVT::v32i8, 3, 0, 1, 3,
21442 12,
21443 OPC_CheckPatternPredicate4,
21444 OPC_EmitNodeXForm, 7, 2,
21445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_BU_H),
21446 MVT::v32i8, 3, 0, 1, 3,
21447 0,
21448 39,
21449 OPC_CheckChild0Integer, 42|128,99,
21450 OPC_RecordChild1,
21451 OPC_RecordChild2,
21452 OPC_RecordChild3,
21453 OPC_MoveChild3,
21454 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21455 OPC_MoveParent,
21456 OPC_Scope, 12,
21457 OPC_CheckPatternPredicate2,
21458 OPC_EmitNodeXForm, 7, 2,
21459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_BU_H),
21460 MVT::v32i8, 3, 0, 1, 3,
21461 12,
21462 OPC_CheckPatternPredicate4,
21463 OPC_EmitNodeXForm, 7, 2,
21464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_BU_H),
21465 MVT::v32i8, 3, 0, 1, 3,
21466 0,
21467 39,
21468 OPC_CheckChild0Integer, 104|128,92,
21469 OPC_RecordChild1,
21470 OPC_RecordChild2,
21471 OPC_RecordChild3,
21472 OPC_MoveChild3,
21473 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21474 OPC_MoveParent,
21475 OPC_Scope, 12,
21476 OPC_CheckPatternPredicate2,
21477 OPC_EmitNodeXForm, 7, 2,
21478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_B),
21479 MVT::v32i8, 3, 0, 1, 3,
21480 12,
21481 OPC_CheckPatternPredicate4,
21482 OPC_EmitNodeXForm, 7, 2,
21483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_B),
21484 MVT::v32i8, 3, 0, 1, 3,
21485 0,
21486 39,
21487 OPC_CheckChild0Integer, 72|128,90,
21488 OPC_RecordChild1,
21489 OPC_RecordChild2,
21490 OPC_RecordChild3,
21491 OPC_MoveChild3,
21492 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21493 OPC_MoveParent,
21494 OPC_Scope, 12,
21495 OPC_CheckPatternPredicate2,
21496 OPC_EmitNodeXForm, 7, 2,
21497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
21498 MVT::v32i8, 3, 0, 1, 3,
21499 12,
21500 OPC_CheckPatternPredicate4,
21501 OPC_EmitNodeXForm, 7, 2,
21502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
21503 MVT::v32i8, 3, 0, 1, 3,
21504 0,
21505 39,
21506 OPC_CheckChild0Integer, 18|128,91,
21507 OPC_RecordChild1,
21508 OPC_RecordChild2,
21509 OPC_RecordChild3,
21510 OPC_MoveChild3,
21511 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21512 OPC_MoveParent,
21513 OPC_Scope, 12,
21514 OPC_CheckPatternPredicate2,
21515 OPC_EmitNodeXForm, 7, 2,
21516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
21517 MVT::v32i8, 3, 0, 1, 3,
21518 12,
21519 OPC_CheckPatternPredicate4,
21520 OPC_EmitNodeXForm, 7, 2,
21521 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
21522 MVT::v32i8, 3, 0, 1, 3,
21523 0,
21524 39,
21525 OPC_CheckChild0Integer, 6|128,96,
21526 OPC_RecordChild1,
21527 OPC_RecordChild2,
21528 OPC_RecordChild3,
21529 OPC_MoveChild3,
21530 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21531 OPC_MoveParent,
21532 OPC_Scope, 12,
21533 OPC_CheckPatternPredicate2,
21534 OPC_EmitNodeXForm, 7, 2,
21535 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21536 MVT::v32i8, 3, 0, 1, 3,
21537 12,
21538 OPC_CheckPatternPredicate4,
21539 OPC_EmitNodeXForm, 7, 2,
21540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21541 MVT::v32i8, 3, 0, 1, 3,
21542 0,
21543 39,
21544 OPC_CheckChild0Integer, 94|128,98,
21545 OPC_RecordChild1,
21546 OPC_RecordChild2,
21547 OPC_RecordChild3,
21548 OPC_MoveChild3,
21549 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21550 OPC_MoveParent,
21551 OPC_Scope, 12,
21552 OPC_CheckPatternPredicate2,
21553 OPC_EmitNodeXForm, 7, 2,
21554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_H_W),
21555 MVT::v16i16, 3, 0, 1, 3,
21556 12,
21557 OPC_CheckPatternPredicate4,
21558 OPC_EmitNodeXForm, 7, 2,
21559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_H_W),
21560 MVT::v16i16, 3, 0, 1, 3,
21561 0,
21562 39,
21563 OPC_CheckChild0Integer, 34|128,98,
21564 OPC_RecordChild1,
21565 OPC_RecordChild2,
21566 OPC_RecordChild3,
21567 OPC_MoveChild3,
21568 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21569 OPC_MoveParent,
21570 OPC_Scope, 12,
21571 OPC_CheckPatternPredicate2,
21572 OPC_EmitNodeXForm, 7, 2,
21573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_H_W),
21574 MVT::v16i16, 3, 0, 1, 3,
21575 12,
21576 OPC_CheckPatternPredicate4,
21577 OPC_EmitNodeXForm, 7, 2,
21578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_H_W),
21579 MVT::v16i16, 3, 0, 1, 3,
21580 0,
21581 39,
21582 OPC_CheckChild0Integer, 124|128,98,
21583 OPC_RecordChild1,
21584 OPC_RecordChild2,
21585 OPC_RecordChild3,
21586 OPC_MoveChild3,
21587 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21588 OPC_MoveParent,
21589 OPC_Scope, 12,
21590 OPC_CheckPatternPredicate2,
21591 OPC_EmitNodeXForm, 7, 2,
21592 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_H_W),
21593 MVT::v16i16, 3, 0, 1, 3,
21594 12,
21595 OPC_CheckPatternPredicate4,
21596 OPC_EmitNodeXForm, 7, 2,
21597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_H_W),
21598 MVT::v16i16, 3, 0, 1, 3,
21599 0,
21600 39,
21601 OPC_CheckChild0Integer, 64|128,98,
21602 OPC_RecordChild1,
21603 OPC_RecordChild2,
21604 OPC_RecordChild3,
21605 OPC_MoveChild3,
21606 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21607 OPC_MoveParent,
21608 OPC_Scope, 12,
21609 OPC_CheckPatternPredicate2,
21610 OPC_EmitNodeXForm, 7, 2,
21611 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_H_W),
21612 MVT::v16i16, 3, 0, 1, 3,
21613 12,
21614 OPC_CheckPatternPredicate4,
21615 OPC_EmitNodeXForm, 7, 2,
21616 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_H_W),
21617 MVT::v16i16, 3, 0, 1, 3,
21618 0,
21619 39,
21620 OPC_CheckChild0Integer, 76|128,99,
21621 OPC_RecordChild1,
21622 OPC_RecordChild2,
21623 OPC_RecordChild3,
21624 OPC_MoveChild3,
21625 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21626 OPC_MoveParent,
21627 OPC_Scope, 12,
21628 OPC_CheckPatternPredicate2,
21629 OPC_EmitNodeXForm, 7, 2,
21630 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_H_W),
21631 MVT::v16i16, 3, 0, 1, 3,
21632 12,
21633 OPC_CheckPatternPredicate4,
21634 OPC_EmitNodeXForm, 7, 2,
21635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_H_W),
21636 MVT::v16i16, 3, 0, 1, 3,
21637 0,
21638 39,
21639 OPC_CheckChild0Integer, 20|128,99,
21640 OPC_RecordChild1,
21641 OPC_RecordChild2,
21642 OPC_RecordChild3,
21643 OPC_MoveChild3,
21644 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21645 OPC_MoveParent,
21646 OPC_Scope, 12,
21647 OPC_CheckPatternPredicate2,
21648 OPC_EmitNodeXForm, 7, 2,
21649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_H_W),
21650 MVT::v16i16, 3, 0, 1, 3,
21651 12,
21652 OPC_CheckPatternPredicate4,
21653 OPC_EmitNodeXForm, 7, 2,
21654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_H_W),
21655 MVT::v16i16, 3, 0, 1, 3,
21656 0,
21657 39,
21658 OPC_CheckChild0Integer, 78|128,99,
21659 OPC_RecordChild1,
21660 OPC_RecordChild2,
21661 OPC_RecordChild3,
21662 OPC_MoveChild3,
21663 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21664 OPC_MoveParent,
21665 OPC_Scope, 12,
21666 OPC_CheckPatternPredicate2,
21667 OPC_EmitNodeXForm, 7, 2,
21668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_HU_W),
21669 MVT::v16i16, 3, 0, 1, 3,
21670 12,
21671 OPC_CheckPatternPredicate4,
21672 OPC_EmitNodeXForm, 7, 2,
21673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_HU_W),
21674 MVT::v16i16, 3, 0, 1, 3,
21675 0,
21676 39,
21677 OPC_CheckChild0Integer, 22|128,99,
21678 OPC_RecordChild1,
21679 OPC_RecordChild2,
21680 OPC_RecordChild3,
21681 OPC_MoveChild3,
21682 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21683 OPC_MoveParent,
21684 OPC_Scope, 12,
21685 OPC_CheckPatternPredicate2,
21686 OPC_EmitNodeXForm, 7, 2,
21687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_HU_W),
21688 MVT::v16i16, 3, 0, 1, 3,
21689 12,
21690 OPC_CheckPatternPredicate4,
21691 OPC_EmitNodeXForm, 7, 2,
21692 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_HU_W),
21693 MVT::v16i16, 3, 0, 1, 3,
21694 0,
21695 39,
21696 OPC_CheckChild0Integer, 104|128,99,
21697 OPC_RecordChild1,
21698 OPC_RecordChild2,
21699 OPC_RecordChild3,
21700 OPC_MoveChild3,
21701 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21702 OPC_MoveParent,
21703 OPC_Scope, 12,
21704 OPC_CheckPatternPredicate2,
21705 OPC_EmitNodeXForm, 7, 2,
21706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_H_W),
21707 MVT::v16i16, 3, 0, 1, 3,
21708 12,
21709 OPC_CheckPatternPredicate4,
21710 OPC_EmitNodeXForm, 7, 2,
21711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_H_W),
21712 MVT::v16i16, 3, 0, 1, 3,
21713 0,
21714 39,
21715 OPC_CheckChild0Integer, 48|128,99,
21716 OPC_RecordChild1,
21717 OPC_RecordChild2,
21718 OPC_RecordChild3,
21719 OPC_MoveChild3,
21720 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21721 OPC_MoveParent,
21722 OPC_Scope, 12,
21723 OPC_CheckPatternPredicate2,
21724 OPC_EmitNodeXForm, 7, 2,
21725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_H_W),
21726 MVT::v16i16, 3, 0, 1, 3,
21727 12,
21728 OPC_CheckPatternPredicate4,
21729 OPC_EmitNodeXForm, 7, 2,
21730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_H_W),
21731 MVT::v16i16, 3, 0, 1, 3,
21732 0,
21733 39,
21734 OPC_CheckChild0Integer, 106|128,99,
21735 OPC_RecordChild1,
21736 OPC_RecordChild2,
21737 OPC_RecordChild3,
21738 OPC_MoveChild3,
21739 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21740 OPC_MoveParent,
21741 OPC_Scope, 12,
21742 OPC_CheckPatternPredicate2,
21743 OPC_EmitNodeXForm, 7, 2,
21744 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_HU_W),
21745 MVT::v16i16, 3, 0, 1, 3,
21746 12,
21747 OPC_CheckPatternPredicate4,
21748 OPC_EmitNodeXForm, 7, 2,
21749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_HU_W),
21750 MVT::v16i16, 3, 0, 1, 3,
21751 0,
21752 39,
21753 OPC_CheckChild0Integer, 50|128,99,
21754 OPC_RecordChild1,
21755 OPC_RecordChild2,
21756 OPC_RecordChild3,
21757 OPC_MoveChild3,
21758 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21759 OPC_MoveParent,
21760 OPC_Scope, 12,
21761 OPC_CheckPatternPredicate2,
21762 OPC_EmitNodeXForm, 7, 2,
21763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_HU_W),
21764 MVT::v16i16, 3, 0, 1, 3,
21765 12,
21766 OPC_CheckPatternPredicate4,
21767 OPC_EmitNodeXForm, 7, 2,
21768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_HU_W),
21769 MVT::v16i16, 3, 0, 1, 3,
21770 0,
21771 39,
21772 OPC_CheckChild0Integer, 106|128,92,
21773 OPC_RecordChild1,
21774 OPC_RecordChild2,
21775 OPC_RecordChild3,
21776 OPC_MoveChild3,
21777 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21778 OPC_MoveParent,
21779 OPC_Scope, 12,
21780 OPC_CheckPatternPredicate2,
21781 OPC_EmitNodeXForm, 7, 2,
21782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_H),
21783 MVT::v16i16, 3, 0, 1, 3,
21784 12,
21785 OPC_CheckPatternPredicate4,
21786 OPC_EmitNodeXForm, 7, 2,
21787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_H),
21788 MVT::v16i16, 3, 0, 1, 3,
21789 0,
21790 39,
21791 OPC_CheckChild0Integer, 22|128,91,
21792 OPC_RecordChild1,
21793 OPC_RecordChild2,
21794 OPC_RecordChild3,
21795 OPC_MoveChild3,
21796 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21797 OPC_MoveParent,
21798 OPC_Scope, 12,
21799 OPC_CheckPatternPredicate2,
21800 OPC_EmitNodeXForm, 7, 2,
21801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
21802 MVT::v16i16, 3, 0, 1, 3,
21803 12,
21804 OPC_CheckPatternPredicate4,
21805 OPC_EmitNodeXForm, 7, 2,
21806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
21807 MVT::v16i16, 3, 0, 1, 3,
21808 0,
21809 39,
21810 OPC_CheckChild0Integer, 96|128,98,
21811 OPC_RecordChild1,
21812 OPC_RecordChild2,
21813 OPC_RecordChild3,
21814 OPC_MoveChild3,
21815 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21816 OPC_MoveParent,
21817 OPC_Scope, 12,
21818 OPC_CheckPatternPredicate2,
21819 OPC_EmitNodeXForm, 7, 2,
21820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_W_D),
21821 MVT::v8i32, 3, 0, 1, 3,
21822 12,
21823 OPC_CheckPatternPredicate4,
21824 OPC_EmitNodeXForm, 7, 2,
21825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_W_D),
21826 MVT::v8i32, 3, 0, 1, 3,
21827 0,
21828 39,
21829 OPC_CheckChild0Integer, 36|128,98,
21830 OPC_RecordChild1,
21831 OPC_RecordChild2,
21832 OPC_RecordChild3,
21833 OPC_MoveChild3,
21834 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21835 OPC_MoveParent,
21836 OPC_Scope, 12,
21837 OPC_CheckPatternPredicate2,
21838 OPC_EmitNodeXForm, 7, 2,
21839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_W_D),
21840 MVT::v8i32, 3, 0, 1, 3,
21841 12,
21842 OPC_CheckPatternPredicate4,
21843 OPC_EmitNodeXForm, 7, 2,
21844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_W_D),
21845 MVT::v8i32, 3, 0, 1, 3,
21846 0,
21847 39,
21848 OPC_CheckChild0Integer, 126|128,98,
21849 OPC_RecordChild1,
21850 OPC_RecordChild2,
21851 OPC_RecordChild3,
21852 OPC_MoveChild3,
21853 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21854 OPC_MoveParent,
21855 OPC_Scope, 12,
21856 OPC_CheckPatternPredicate2,
21857 OPC_EmitNodeXForm, 7, 2,
21858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_W_D),
21859 MVT::v8i32, 3, 0, 1, 3,
21860 12,
21861 OPC_CheckPatternPredicate4,
21862 OPC_EmitNodeXForm, 7, 2,
21863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_W_D),
21864 MVT::v8i32, 3, 0, 1, 3,
21865 0,
21866 39,
21867 OPC_CheckChild0Integer, 66|128,98,
21868 OPC_RecordChild1,
21869 OPC_RecordChild2,
21870 OPC_RecordChild3,
21871 OPC_MoveChild3,
21872 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21873 OPC_MoveParent,
21874 OPC_Scope, 12,
21875 OPC_CheckPatternPredicate2,
21876 OPC_EmitNodeXForm, 7, 2,
21877 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_W_D),
21878 MVT::v8i32, 3, 0, 1, 3,
21879 12,
21880 OPC_CheckPatternPredicate4,
21881 OPC_EmitNodeXForm, 7, 2,
21882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_W_D),
21883 MVT::v8i32, 3, 0, 1, 3,
21884 0,
21885 39,
21886 OPC_CheckChild0Integer, 80|128,99,
21887 OPC_RecordChild1,
21888 OPC_RecordChild2,
21889 OPC_RecordChild3,
21890 OPC_MoveChild3,
21891 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21892 OPC_MoveParent,
21893 OPC_Scope, 12,
21894 OPC_CheckPatternPredicate2,
21895 OPC_EmitNodeXForm, 7, 2,
21896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_W_D),
21897 MVT::v8i32, 3, 0, 1, 3,
21898 12,
21899 OPC_CheckPatternPredicate4,
21900 OPC_EmitNodeXForm, 7, 2,
21901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_W_D),
21902 MVT::v8i32, 3, 0, 1, 3,
21903 0,
21904 39,
21905 OPC_CheckChild0Integer, 24|128,99,
21906 OPC_RecordChild1,
21907 OPC_RecordChild2,
21908 OPC_RecordChild3,
21909 OPC_MoveChild3,
21910 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21911 OPC_MoveParent,
21912 OPC_Scope, 12,
21913 OPC_CheckPatternPredicate2,
21914 OPC_EmitNodeXForm, 7, 2,
21915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_W_D),
21916 MVT::v8i32, 3, 0, 1, 3,
21917 12,
21918 OPC_CheckPatternPredicate4,
21919 OPC_EmitNodeXForm, 7, 2,
21920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_W_D),
21921 MVT::v8i32, 3, 0, 1, 3,
21922 0,
21923 39,
21924 OPC_CheckChild0Integer, 82|128,99,
21925 OPC_RecordChild1,
21926 OPC_RecordChild2,
21927 OPC_RecordChild3,
21928 OPC_MoveChild3,
21929 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21930 OPC_MoveParent,
21931 OPC_Scope, 12,
21932 OPC_CheckPatternPredicate2,
21933 OPC_EmitNodeXForm, 7, 2,
21934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_WU_D),
21935 MVT::v8i32, 3, 0, 1, 3,
21936 12,
21937 OPC_CheckPatternPredicate4,
21938 OPC_EmitNodeXForm, 7, 2,
21939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_WU_D),
21940 MVT::v8i32, 3, 0, 1, 3,
21941 0,
21942 39,
21943 OPC_CheckChild0Integer, 26|128,99,
21944 OPC_RecordChild1,
21945 OPC_RecordChild2,
21946 OPC_RecordChild3,
21947 OPC_MoveChild3,
21948 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21949 OPC_MoveParent,
21950 OPC_Scope, 12,
21951 OPC_CheckPatternPredicate2,
21952 OPC_EmitNodeXForm, 7, 2,
21953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_WU_D),
21954 MVT::v8i32, 3, 0, 1, 3,
21955 12,
21956 OPC_CheckPatternPredicate4,
21957 OPC_EmitNodeXForm, 7, 2,
21958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_WU_D),
21959 MVT::v8i32, 3, 0, 1, 3,
21960 0,
21961 39,
21962 OPC_CheckChild0Integer, 108|128,99,
21963 OPC_RecordChild1,
21964 OPC_RecordChild2,
21965 OPC_RecordChild3,
21966 OPC_MoveChild3,
21967 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21968 OPC_MoveParent,
21969 OPC_Scope, 12,
21970 OPC_CheckPatternPredicate2,
21971 OPC_EmitNodeXForm, 7, 2,
21972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_W_D),
21973 MVT::v8i32, 3, 0, 1, 3,
21974 12,
21975 OPC_CheckPatternPredicate4,
21976 OPC_EmitNodeXForm, 7, 2,
21977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_W_D),
21978 MVT::v8i32, 3, 0, 1, 3,
21979 0,
21980 39,
21981 OPC_CheckChild0Integer, 52|128,99,
21982 OPC_RecordChild1,
21983 OPC_RecordChild2,
21984 OPC_RecordChild3,
21985 OPC_MoveChild3,
21986 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21987 OPC_MoveParent,
21988 OPC_Scope, 12,
21989 OPC_CheckPatternPredicate2,
21990 OPC_EmitNodeXForm, 7, 2,
21991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_W_D),
21992 MVT::v8i32, 3, 0, 1, 3,
21993 12,
21994 OPC_CheckPatternPredicate4,
21995 OPC_EmitNodeXForm, 7, 2,
21996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_W_D),
21997 MVT::v8i32, 3, 0, 1, 3,
21998 0,
21999 39,
22000 OPC_CheckChild0Integer, 110|128,99,
22001 OPC_RecordChild1,
22002 OPC_RecordChild2,
22003 OPC_RecordChild3,
22004 OPC_MoveChild3,
22005 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22006 OPC_MoveParent,
22007 OPC_Scope, 12,
22008 OPC_CheckPatternPredicate2,
22009 OPC_EmitNodeXForm, 7, 2,
22010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_WU_D),
22011 MVT::v8i32, 3, 0, 1, 3,
22012 12,
22013 OPC_CheckPatternPredicate4,
22014 OPC_EmitNodeXForm, 7, 2,
22015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_WU_D),
22016 MVT::v8i32, 3, 0, 1, 3,
22017 0,
22018 39,
22019 OPC_CheckChild0Integer, 54|128,99,
22020 OPC_RecordChild1,
22021 OPC_RecordChild2,
22022 OPC_RecordChild3,
22023 OPC_MoveChild3,
22024 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22025 OPC_MoveParent,
22026 OPC_Scope, 12,
22027 OPC_CheckPatternPredicate2,
22028 OPC_EmitNodeXForm, 7, 2,
22029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_WU_D),
22030 MVT::v8i32, 3, 0, 1, 3,
22031 12,
22032 OPC_CheckPatternPredicate4,
22033 OPC_EmitNodeXForm, 7, 2,
22034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_WU_D),
22035 MVT::v8i32, 3, 0, 1, 3,
22036 0,
22037 39,
22038 OPC_CheckChild0Integer, 8|128,96,
22039 OPC_RecordChild1,
22040 OPC_RecordChild2,
22041 OPC_RecordChild3,
22042 OPC_MoveChild3,
22043 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22044 OPC_MoveParent,
22045 OPC_Scope, 12,
22046 OPC_CheckPatternPredicate2,
22047 OPC_EmitNodeXForm, 7, 2,
22048 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
22049 MVT::v8i32, 3, 0, 1, 3,
22050 12,
22051 OPC_CheckPatternPredicate4,
22052 OPC_EmitNodeXForm, 7, 2,
22053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
22054 MVT::v8i32, 3, 0, 1, 3,
22055 0,
22056 39,
22057 OPC_CheckChild0Integer, 24|128,91,
22058 OPC_RecordChild1,
22059 OPC_RecordChild2,
22060 OPC_RecordChild3,
22061 OPC_MoveChild3,
22062 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22063 OPC_MoveParent,
22064 OPC_Scope, 12,
22065 OPC_CheckPatternPredicate2,
22066 OPC_EmitNodeXForm, 7, 2,
22067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
22068 MVT::v8i32, 3, 0, 1, 3,
22069 12,
22070 OPC_CheckPatternPredicate4,
22071 OPC_EmitNodeXForm, 7, 2,
22072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
22073 MVT::v8i32, 3, 0, 1, 3,
22074 0,
22075 39,
22076 OPC_CheckChild0Integer, 100|128,93,
22077 OPC_RecordChild1,
22078 OPC_RecordChild2,
22079 OPC_RecordChild3,
22080 OPC_MoveChild3,
22081 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22082 OPC_MoveParent,
22083 OPC_Scope, 12,
22084 OPC_CheckPatternPredicate2,
22085 OPC_EmitNodeXForm, 7, 2,
22086 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
22087 MVT::v8i32, 3, 0, 1, 3,
22088 12,
22089 OPC_CheckPatternPredicate4,
22090 OPC_EmitNodeXForm, 7, 2,
22091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
22092 MVT::v8i32, 3, 0, 1, 3,
22093 0,
22094 39,
22095 OPC_CheckChild0Integer, 92|128,98,
22096 OPC_RecordChild1,
22097 OPC_RecordChild2,
22098 OPC_RecordChild3,
22099 OPC_MoveChild3,
22100 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22101 OPC_MoveParent,
22102 OPC_Scope, 12,
22103 OPC_CheckPatternPredicate2,
22104 OPC_EmitNodeXForm, 7, 2,
22105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_D_Q),
22106 MVT::v4i64, 3, 0, 1, 3,
22107 12,
22108 OPC_CheckPatternPredicate4,
22109 OPC_EmitNodeXForm, 7, 2,
22110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_D_Q),
22111 MVT::v4i64, 3, 0, 1, 3,
22112 0,
22113 39,
22114 OPC_CheckChild0Integer, 32|128,98,
22115 OPC_RecordChild1,
22116 OPC_RecordChild2,
22117 OPC_RecordChild3,
22118 OPC_MoveChild3,
22119 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22120 OPC_MoveParent,
22121 OPC_Scope, 12,
22122 OPC_CheckPatternPredicate2,
22123 OPC_EmitNodeXForm, 7, 2,
22124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_D_Q),
22125 MVT::v4i64, 3, 0, 1, 3,
22126 12,
22127 OPC_CheckPatternPredicate4,
22128 OPC_EmitNodeXForm, 7, 2,
22129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_D_Q),
22130 MVT::v4i64, 3, 0, 1, 3,
22131 0,
22132 39,
22133 OPC_CheckChild0Integer, 122|128,98,
22134 OPC_RecordChild1,
22135 OPC_RecordChild2,
22136 OPC_RecordChild3,
22137 OPC_MoveChild3,
22138 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22139 OPC_MoveParent,
22140 OPC_Scope, 12,
22141 OPC_CheckPatternPredicate2,
22142 OPC_EmitNodeXForm, 7, 2,
22143 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_D_Q),
22144 MVT::v4i64, 3, 0, 1, 3,
22145 12,
22146 OPC_CheckPatternPredicate4,
22147 OPC_EmitNodeXForm, 7, 2,
22148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_D_Q),
22149 MVT::v4i64, 3, 0, 1, 3,
22150 0,
22151 39,
22152 OPC_CheckChild0Integer, 62|128,98,
22153 OPC_RecordChild1,
22154 OPC_RecordChild2,
22155 OPC_RecordChild3,
22156 OPC_MoveChild3,
22157 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22158 OPC_MoveParent,
22159 OPC_Scope, 12,
22160 OPC_CheckPatternPredicate2,
22161 OPC_EmitNodeXForm, 7, 2,
22162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_D_Q),
22163 MVT::v4i64, 3, 0, 1, 3,
22164 12,
22165 OPC_CheckPatternPredicate4,
22166 OPC_EmitNodeXForm, 7, 2,
22167 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_D_Q),
22168 MVT::v4i64, 3, 0, 1, 3,
22169 0,
22170 39,
22171 OPC_CheckChild0Integer, 72|128,99,
22172 OPC_RecordChild1,
22173 OPC_RecordChild2,
22174 OPC_RecordChild3,
22175 OPC_MoveChild3,
22176 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22177 OPC_MoveParent,
22178 OPC_Scope, 12,
22179 OPC_CheckPatternPredicate2,
22180 OPC_EmitNodeXForm, 7, 2,
22181 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_D_Q),
22182 MVT::v4i64, 3, 0, 1, 3,
22183 12,
22184 OPC_CheckPatternPredicate4,
22185 OPC_EmitNodeXForm, 7, 2,
22186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_D_Q),
22187 MVT::v4i64, 3, 0, 1, 3,
22188 0,
22189 39,
22190 OPC_CheckChild0Integer, 16|128,99,
22191 OPC_RecordChild1,
22192 OPC_RecordChild2,
22193 OPC_RecordChild3,
22194 OPC_MoveChild3,
22195 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22196 OPC_MoveParent,
22197 OPC_Scope, 12,
22198 OPC_CheckPatternPredicate2,
22199 OPC_EmitNodeXForm, 7, 2,
22200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_D_Q),
22201 MVT::v4i64, 3, 0, 1, 3,
22202 12,
22203 OPC_CheckPatternPredicate4,
22204 OPC_EmitNodeXForm, 7, 2,
22205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_D_Q),
22206 MVT::v4i64, 3, 0, 1, 3,
22207 0,
22208 39,
22209 OPC_CheckChild0Integer, 74|128,99,
22210 OPC_RecordChild1,
22211 OPC_RecordChild2,
22212 OPC_RecordChild3,
22213 OPC_MoveChild3,
22214 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22215 OPC_MoveParent,
22216 OPC_Scope, 12,
22217 OPC_CheckPatternPredicate2,
22218 OPC_EmitNodeXForm, 7, 2,
22219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_DU_Q),
22220 MVT::v4i64, 3, 0, 1, 3,
22221 12,
22222 OPC_CheckPatternPredicate4,
22223 OPC_EmitNodeXForm, 7, 2,
22224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_DU_Q),
22225 MVT::v4i64, 3, 0, 1, 3,
22226 0,
22227 39,
22228 OPC_CheckChild0Integer, 18|128,99,
22229 OPC_RecordChild1,
22230 OPC_RecordChild2,
22231 OPC_RecordChild3,
22232 OPC_MoveChild3,
22233 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22234 OPC_MoveParent,
22235 OPC_Scope, 12,
22236 OPC_CheckPatternPredicate2,
22237 OPC_EmitNodeXForm, 7, 2,
22238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_DU_Q),
22239 MVT::v4i64, 3, 0, 1, 3,
22240 12,
22241 OPC_CheckPatternPredicate4,
22242 OPC_EmitNodeXForm, 7, 2,
22243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_DU_Q),
22244 MVT::v4i64, 3, 0, 1, 3,
22245 0,
22246 39,
22247 OPC_CheckChild0Integer, 100|128,99,
22248 OPC_RecordChild1,
22249 OPC_RecordChild2,
22250 OPC_RecordChild3,
22251 OPC_MoveChild3,
22252 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22253 OPC_MoveParent,
22254 OPC_Scope, 12,
22255 OPC_CheckPatternPredicate2,
22256 OPC_EmitNodeXForm, 7, 2,
22257 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_D_Q),
22258 MVT::v4i64, 3, 0, 1, 3,
22259 12,
22260 OPC_CheckPatternPredicate4,
22261 OPC_EmitNodeXForm, 7, 2,
22262 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_D_Q),
22263 MVT::v4i64, 3, 0, 1, 3,
22264 0,
22265 39,
22266 OPC_CheckChild0Integer, 44|128,99,
22267 OPC_RecordChild1,
22268 OPC_RecordChild2,
22269 OPC_RecordChild3,
22270 OPC_MoveChild3,
22271 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22272 OPC_MoveParent,
22273 OPC_Scope, 12,
22274 OPC_CheckPatternPredicate2,
22275 OPC_EmitNodeXForm, 7, 2,
22276 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_D_Q),
22277 MVT::v4i64, 3, 0, 1, 3,
22278 12,
22279 OPC_CheckPatternPredicate4,
22280 OPC_EmitNodeXForm, 7, 2,
22281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_D_Q),
22282 MVT::v4i64, 3, 0, 1, 3,
22283 0,
22284 39,
22285 OPC_CheckChild0Integer, 102|128,99,
22286 OPC_RecordChild1,
22287 OPC_RecordChild2,
22288 OPC_RecordChild3,
22289 OPC_MoveChild3,
22290 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22291 OPC_MoveParent,
22292 OPC_Scope, 12,
22293 OPC_CheckPatternPredicate2,
22294 OPC_EmitNodeXForm, 7, 2,
22295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_DU_Q),
22296 MVT::v4i64, 3, 0, 1, 3,
22297 12,
22298 OPC_CheckPatternPredicate4,
22299 OPC_EmitNodeXForm, 7, 2,
22300 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_DU_Q),
22301 MVT::v4i64, 3, 0, 1, 3,
22302 0,
22303 39,
22304 OPC_CheckChild0Integer, 46|128,99,
22305 OPC_RecordChild1,
22306 OPC_RecordChild2,
22307 OPC_RecordChild3,
22308 OPC_MoveChild3,
22309 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22310 OPC_MoveParent,
22311 OPC_Scope, 12,
22312 OPC_CheckPatternPredicate2,
22313 OPC_EmitNodeXForm, 7, 2,
22314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_DU_Q),
22315 MVT::v4i64, 3, 0, 1, 3,
22316 12,
22317 OPC_CheckPatternPredicate4,
22318 OPC_EmitNodeXForm, 7, 2,
22319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_DU_Q),
22320 MVT::v4i64, 3, 0, 1, 3,
22321 0,
22322 39,
22323 OPC_CheckChild0Integer, 30|128,97,
22324 OPC_RecordChild1,
22325 OPC_RecordChild2,
22326 OPC_RecordChild3,
22327 OPC_MoveChild3,
22328 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22329 OPC_MoveParent,
22330 OPC_Scope, 12,
22331 OPC_CheckPatternPredicate2,
22332 OPC_EmitNodeXForm, 7, 2,
22333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
22334 MVT::v4i64, 3, 0, 1, 3,
22335 12,
22336 OPC_CheckPatternPredicate4,
22337 OPC_EmitNodeXForm, 7, 2,
22338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
22339 MVT::v4i64, 3, 0, 1, 3,
22340 0,
22341 39,
22342 OPC_CheckChild0Integer, 20|128,91,
22343 OPC_RecordChild1,
22344 OPC_RecordChild2,
22345 OPC_RecordChild3,
22346 OPC_MoveChild3,
22347 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22348 OPC_MoveParent,
22349 OPC_Scope, 12,
22350 OPC_CheckPatternPredicate2,
22351 OPC_EmitNodeXForm, 7, 2,
22352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
22353 MVT::v4i64, 3, 0, 1, 3,
22354 12,
22355 OPC_CheckPatternPredicate4,
22356 OPC_EmitNodeXForm, 7, 2,
22357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
22358 MVT::v4i64, 3, 0, 1, 3,
22359 0,
22360 39,
22361 OPC_CheckChild0Integer, 98|128,93,
22362 OPC_RecordChild1,
22363 OPC_RecordChild2,
22364 OPC_RecordChild3,
22365 OPC_MoveChild3,
22366 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22367 OPC_MoveParent,
22368 OPC_Scope, 12,
22369 OPC_CheckPatternPredicate2,
22370 OPC_EmitNodeXForm, 7, 2,
22371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
22372 MVT::v4i64, 3, 0, 1, 3,
22373 12,
22374 OPC_CheckPatternPredicate4,
22375 OPC_EmitNodeXForm, 7, 2,
22376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
22377 MVT::v4i64, 3, 0, 1, 3,
22378 0,
22379 13,
22380 OPC_CheckChild0Integer, 8|128,108,
22381 OPC_RecordChild1,
22382 OPC_RecordChild2,
22383 OPC_CheckPatternPredicate1,
22384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_B),
22385 MVT::v16i8, 2, 0, 1,
22386 13,
22387 OPC_CheckChild0Integer, 10|128,108,
22388 OPC_RecordChild1,
22389 OPC_RecordChild2,
22390 OPC_CheckPatternPredicate1,
22391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_BU),
22392 MVT::v16i8, 2, 0, 1,
22393 13,
22394 OPC_CheckChild0Integer, 20|128,111,
22395 OPC_RecordChild1,
22396 OPC_RecordChild2,
22397 OPC_CheckPatternPredicate1,
22398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_B),
22399 MVT::v16i8, 2, 0, 1,
22400 13,
22401 OPC_CheckChild0Integer, 22|128,111,
22402 OPC_RecordChild1,
22403 OPC_RecordChild2,
22404 OPC_CheckPatternPredicate1,
22405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_BU),
22406 MVT::v16i8, 2, 0, 1,
22407 13,
22408 OPC_CheckChild0Integer, 102|128,104,
22409 OPC_RecordChild1,
22410 OPC_RecordChild2,
22411 OPC_CheckPatternPredicate1,
22412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_H_B),
22413 MVT::v8i16, 2, 0, 1,
22414 13,
22415 OPC_CheckChild0Integer, 104|128,104,
22416 OPC_RecordChild1,
22417 OPC_RecordChild2,
22418 OPC_CheckPatternPredicate1,
22419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_HU_BU),
22420 MVT::v8i16, 2, 0, 1,
22421 13,
22422 OPC_CheckChild0Integer, 118|128,104,
22423 OPC_RecordChild1,
22424 OPC_RecordChild2,
22425 OPC_CheckPatternPredicate1,
22426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_H_B),
22427 MVT::v8i16, 2, 0, 1,
22428 13,
22429 OPC_CheckChild0Integer, 120|128,104,
22430 OPC_RecordChild1,
22431 OPC_RecordChild2,
22432 OPC_CheckPatternPredicate1,
22433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_HU_BU),
22434 MVT::v8i16, 2, 0, 1,
22435 13,
22436 OPC_CheckChild0Integer, 10|128,101,
22437 OPC_RecordChild1,
22438 OPC_RecordChild2,
22439 OPC_CheckPatternPredicate1,
22440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_B),
22441 MVT::v8i16, 2, 0, 1,
22442 13,
22443 OPC_CheckChild0Integer, 34|128,101,
22444 OPC_RecordChild1,
22445 OPC_RecordChild2,
22446 OPC_CheckPatternPredicate1,
22447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_B),
22448 MVT::v8i16, 2, 0, 1,
22449 13,
22450 OPC_CheckChild0Integer, 70|128,111,
22451 OPC_RecordChild1,
22452 OPC_RecordChild2,
22453 OPC_CheckPatternPredicate1,
22454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_B),
22455 MVT::v8i16, 2, 0, 1,
22456 13,
22457 OPC_CheckChild0Integer, 86|128,111,
22458 OPC_RecordChild1,
22459 OPC_RecordChild2,
22460 OPC_CheckPatternPredicate1,
22461 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_B),
22462 MVT::v8i16, 2, 0, 1,
22463 13,
22464 OPC_CheckChild0Integer, 12|128,101,
22465 OPC_RecordChild1,
22466 OPC_RecordChild2,
22467 OPC_CheckPatternPredicate1,
22468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU),
22469 MVT::v8i16, 2, 0, 1,
22470 13,
22471 OPC_CheckChild0Integer, 36|128,101,
22472 OPC_RecordChild1,
22473 OPC_RecordChild2,
22474 OPC_CheckPatternPredicate1,
22475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU),
22476 MVT::v8i16, 2, 0, 1,
22477 13,
22478 OPC_CheckChild0Integer, 72|128,111,
22479 OPC_RecordChild1,
22480 OPC_RecordChild2,
22481 OPC_CheckPatternPredicate1,
22482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_BU),
22483 MVT::v8i16, 2, 0, 1,
22484 13,
22485 OPC_CheckChild0Integer, 88|128,111,
22486 OPC_RecordChild1,
22487 OPC_RecordChild2,
22488 OPC_CheckPatternPredicate1,
22489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_BU),
22490 MVT::v8i16, 2, 0, 1,
22491 13,
22492 OPC_CheckChild0Integer, 14|128,101,
22493 OPC_RecordChild1,
22494 OPC_RecordChild2,
22495 OPC_CheckPatternPredicate1,
22496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU_B),
22497 MVT::v8i16, 2, 0, 1,
22498 13,
22499 OPC_CheckChild0Integer, 38|128,101,
22500 OPC_RecordChild1,
22501 OPC_RecordChild2,
22502 OPC_CheckPatternPredicate1,
22503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU_B),
22504 MVT::v8i16, 2, 0, 1,
22505 13,
22506 OPC_CheckChild0Integer, 58|128,101,
22507 OPC_RecordChild1,
22508 OPC_RecordChild2,
22509 OPC_CheckPatternPredicate1,
22510 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_B),
22511 MVT::v16i8, 2, 0, 1,
22512 13,
22513 OPC_CheckChild0Integer, 60|128,101,
22514 OPC_RecordChild1,
22515 OPC_RecordChild2,
22516 OPC_CheckPatternPredicate1,
22517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_BU),
22518 MVT::v16i8, 2, 0, 1,
22519 13,
22520 OPC_CheckChild0Integer, 74|128,101,
22521 OPC_RecordChild1,
22522 OPC_RecordChild2,
22523 OPC_CheckPatternPredicate1,
22524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_B),
22525 MVT::v16i8, 2, 0, 1,
22526 13,
22527 OPC_CheckChild0Integer, 76|128,101,
22528 OPC_RecordChild1,
22529 OPC_RecordChild2,
22530 OPC_CheckPatternPredicate1,
22531 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_BU),
22532 MVT::v16i8, 2, 0, 1,
22533 13,
22534 OPC_CheckChild0Integer, 90|128,100,
22535 OPC_RecordChild1,
22536 OPC_RecordChild2,
22537 OPC_CheckPatternPredicate1,
22538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_B),
22539 MVT::v16i8, 2, 0, 1,
22540 13,
22541 OPC_CheckChild0Integer, 92|128,100,
22542 OPC_RecordChild1,
22543 OPC_RecordChild2,
22544 OPC_CheckPatternPredicate1,
22545 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_BU),
22546 MVT::v16i8, 2, 0, 1,
22547 13,
22548 OPC_CheckChild0Integer, 116|128,100,
22549 OPC_RecordChild1,
22550 OPC_RecordChild2,
22551 OPC_CheckPatternPredicate1,
22552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_B),
22553 MVT::v16i8, 2, 0, 1,
22554 13,
22555 OPC_CheckChild0Integer, 68|128,106,
22556 OPC_RecordChild1,
22557 OPC_RecordChild2,
22558 OPC_CheckPatternPredicate1,
22559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
22560 MVT::v16i8, 2, 0, 1,
22561 13,
22562 OPC_CheckChild0Integer, 70|128,106,
22563 OPC_RecordChild1,
22564 OPC_RecordChild2,
22565 OPC_CheckPatternPredicate1,
22566 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
22567 MVT::v16i8, 2, 0, 1,
22568 13,
22569 OPC_CheckChild0Integer, 98|128,106,
22570 OPC_RecordChild1,
22571 OPC_RecordChild2,
22572 OPC_CheckPatternPredicate1,
22573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_B),
22574 MVT::v8i16, 2, 0, 1,
22575 13,
22576 OPC_CheckChild0Integer, 122|128,106,
22577 OPC_RecordChild1,
22578 OPC_RecordChild2,
22579 OPC_CheckPatternPredicate1,
22580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_B),
22581 MVT::v8i16, 2, 0, 1,
22582 13,
22583 OPC_CheckChild0Integer, 100|128,106,
22584 OPC_RecordChild1,
22585 OPC_RecordChild2,
22586 OPC_CheckPatternPredicate1,
22587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU),
22588 MVT::v8i16, 2, 0, 1,
22589 13,
22590 OPC_CheckChild0Integer, 124|128,106,
22591 OPC_RecordChild1,
22592 OPC_RecordChild2,
22593 OPC_CheckPatternPredicate1,
22594 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU),
22595 MVT::v8i16, 2, 0, 1,
22596 13,
22597 OPC_CheckChild0Integer, 102|128,106,
22598 OPC_RecordChild1,
22599 OPC_RecordChild2,
22600 OPC_CheckPatternPredicate1,
22601 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU_B),
22602 MVT::v8i16, 2, 0, 1,
22603 13,
22604 OPC_CheckChild0Integer, 126|128,106,
22605 OPC_RecordChild1,
22606 OPC_RecordChild2,
22607 OPC_CheckPatternPredicate1,
22608 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU_B),
22609 MVT::v8i16, 2, 0, 1,
22610 13,
22611 OPC_CheckChild0Integer, 72|128,108,
22612 OPC_RecordChild1,
22613 OPC_RecordChild2,
22614 OPC_CheckPatternPredicate1,
22615 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_B),
22616 MVT::v16i8, 2, 0, 1,
22617 13,
22618 OPC_CheckChild0Integer, 56|128,101,
22619 OPC_RecordChild1,
22620 OPC_RecordChild2,
22621 OPC_CheckPatternPredicate1,
22622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
22623 MVT::v16i8, 2, 0, 1,
22624 13,
22625 OPC_CheckChild0Integer, 28|128,107,
22626 OPC_RecordChild1,
22627 OPC_RecordChild2,
22628 OPC_CheckPatternPredicate1,
22629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
22630 MVT::v16i8, 2, 0, 1,
22631 13,
22632 OPC_CheckChild0Integer, 120|128,107,
22633 OPC_RecordChild1,
22634 OPC_RecordChild2,
22635 OPC_CheckPatternPredicate1,
22636 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
22637 MVT::v16i8, 2, 0, 1,
22638 13,
22639 OPC_CheckChild0Integer, 6|128,110,
22640 OPC_RecordChild1,
22641 OPC_RecordChild2,
22642 OPC_CheckPatternPredicate1,
22643 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_B),
22644 MVT::v16i8, 2, 0, 1,
22645 13,
22646 OPC_CheckChild0Integer, 74|128,109,
22647 OPC_RecordChild1,
22648 OPC_RecordChild2,
22649 OPC_CheckPatternPredicate1,
22650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_B),
22651 MVT::v16i8, 2, 0, 1,
22652 13,
22653 OPC_CheckChild0Integer, 40|128,108,
22654 OPC_RecordChild1,
22655 OPC_RecordChild2,
22656 OPC_CheckPatternPredicate1,
22657 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
22658 MVT::v16i8, 2, 0, 1,
22659 13,
22660 OPC_CheckChild0Integer, 80|128,108,
22661 OPC_RecordChild1,
22662 OPC_RecordChild2,
22663 OPC_CheckPatternPredicate1,
22664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
22665 MVT::v16i8, 2, 0, 1,
22666 13,
22667 OPC_CheckChild0Integer, 82|128,108,
22668 OPC_RecordChild1,
22669 OPC_RecordChild2,
22670 OPC_CheckPatternPredicate1,
22671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
22672 MVT::v16i8, 2, 0, 1,
22673 13,
22674 OPC_CheckChild0Integer, 12|128,109,
22675 OPC_RecordChild1,
22676 OPC_RecordChild2,
22677 OPC_CheckPatternPredicate1,
22678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
22679 MVT::v16i8, 2, 0, 1,
22680 13,
22681 OPC_CheckChild0Integer, 14|128,109,
22682 OPC_RecordChild1,
22683 OPC_RecordChild2,
22684 OPC_CheckPatternPredicate1,
22685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
22686 MVT::v16i8, 2, 0, 1,
22687 13,
22688 OPC_CheckChild0Integer, 30|128,107,
22689 OPC_RecordChild1,
22690 OPC_RecordChild2,
22691 OPC_CheckPatternPredicate1,
22692 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_B),
22693 MVT::v16i8, 2, 0, 1,
22694 13,
22695 OPC_CheckChild0Integer, 38|128,107,
22696 OPC_RecordChild1,
22697 OPC_RecordChild2,
22698 OPC_CheckPatternPredicate1,
22699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_B),
22700 MVT::v16i8, 2, 0, 1,
22701 13,
22702 OPC_CheckChild0Integer, 56|128,107,
22703 OPC_RecordChild1,
22704 OPC_RecordChild2,
22705 OPC_CheckPatternPredicate1,
22706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_B),
22707 MVT::v16i8, 2, 0, 1,
22708 13,
22709 OPC_CheckChild0Integer, 64|128,107,
22710 OPC_RecordChild1,
22711 OPC_RecordChild2,
22712 OPC_CheckPatternPredicate1,
22713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_B),
22714 MVT::v16i8, 2, 0, 1,
22715 13,
22716 OPC_CheckChild0Integer, 10|128,105,
22717 OPC_RecordChild1,
22718 OPC_RecordChild2,
22719 OPC_CheckPatternPredicate1,
22720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_B),
22721 MVT::v16i8, 2, 0, 1,
22722 13,
22723 OPC_CheckChild0Integer, 2|128,105,
22724 OPC_RecordChild1,
22725 OPC_RecordChild2,
22726 OPC_CheckPatternPredicate1,
22727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_B),
22728 MVT::v16i8, 2, 0, 1,
22729 13,
22730 OPC_CheckChild0Integer, 16|128,108,
22731 OPC_RecordChild1,
22732 OPC_RecordChild2,
22733 OPC_CheckPatternPredicate1,
22734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_H),
22735 MVT::v8i16, 2, 0, 1,
22736 13,
22737 OPC_CheckChild0Integer, 18|128,108,
22738 OPC_RecordChild1,
22739 OPC_RecordChild2,
22740 OPC_CheckPatternPredicate1,
22741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_HU),
22742 MVT::v8i16, 2, 0, 1,
22743 13,
22744 OPC_CheckChild0Integer, 28|128,111,
22745 OPC_RecordChild1,
22746 OPC_RecordChild2,
22747 OPC_CheckPatternPredicate1,
22748 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_H),
22749 MVT::v8i16, 2, 0, 1,
22750 13,
22751 OPC_CheckChild0Integer, 30|128,111,
22752 OPC_RecordChild1,
22753 OPC_RecordChild2,
22754 OPC_CheckPatternPredicate1,
22755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_HU),
22756 MVT::v8i16, 2, 0, 1,
22757 13,
22758 OPC_CheckChild0Integer, 110|128,104,
22759 OPC_RecordChild1,
22760 OPC_RecordChild2,
22761 OPC_CheckPatternPredicate1,
22762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_W_H),
22763 MVT::v4i32, 2, 0, 1,
22764 13,
22765 OPC_CheckChild0Integer, 112|128,104,
22766 OPC_RecordChild1,
22767 OPC_RecordChild2,
22768 OPC_CheckPatternPredicate1,
22769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_WU_HU),
22770 MVT::v4i32, 2, 0, 1,
22771 13,
22772 OPC_CheckChild0Integer, 126|128,104,
22773 OPC_RecordChild1,
22774 OPC_RecordChild2,
22775 OPC_CheckPatternPredicate1,
22776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_W_H),
22777 MVT::v4i32, 2, 0, 1,
22778 13,
22779 OPC_CheckChild0Integer, 0|128,105,
22780 OPC_RecordChild1,
22781 OPC_RecordChild2,
22782 OPC_CheckPatternPredicate1,
22783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_WU_HU),
22784 MVT::v4i32, 2, 0, 1,
22785 13,
22786 OPC_CheckChild0Integer, 22|128,101,
22787 OPC_RecordChild1,
22788 OPC_RecordChild2,
22789 OPC_CheckPatternPredicate1,
22790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_H),
22791 MVT::v4i32, 2, 0, 1,
22792 13,
22793 OPC_CheckChild0Integer, 46|128,101,
22794 OPC_RecordChild1,
22795 OPC_RecordChild2,
22796 OPC_CheckPatternPredicate1,
22797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_H),
22798 MVT::v4i32, 2, 0, 1,
22799 13,
22800 OPC_CheckChild0Integer, 78|128,111,
22801 OPC_RecordChild1,
22802 OPC_RecordChild2,
22803 OPC_CheckPatternPredicate1,
22804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_H),
22805 MVT::v4i32, 2, 0, 1,
22806 13,
22807 OPC_CheckChild0Integer, 94|128,111,
22808 OPC_RecordChild1,
22809 OPC_RecordChild2,
22810 OPC_CheckPatternPredicate1,
22811 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_H),
22812 MVT::v4i32, 2, 0, 1,
22813 13,
22814 OPC_CheckChild0Integer, 24|128,101,
22815 OPC_RecordChild1,
22816 OPC_RecordChild2,
22817 OPC_CheckPatternPredicate1,
22818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU),
22819 MVT::v4i32, 2, 0, 1,
22820 13,
22821 OPC_CheckChild0Integer, 48|128,101,
22822 OPC_RecordChild1,
22823 OPC_RecordChild2,
22824 OPC_CheckPatternPredicate1,
22825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU),
22826 MVT::v4i32, 2, 0, 1,
22827 13,
22828 OPC_CheckChild0Integer, 80|128,111,
22829 OPC_RecordChild1,
22830 OPC_RecordChild2,
22831 OPC_CheckPatternPredicate1,
22832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_HU),
22833 MVT::v4i32, 2, 0, 1,
22834 13,
22835 OPC_CheckChild0Integer, 96|128,111,
22836 OPC_RecordChild1,
22837 OPC_RecordChild2,
22838 OPC_CheckPatternPredicate1,
22839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_HU),
22840 MVT::v4i32, 2, 0, 1,
22841 13,
22842 OPC_CheckChild0Integer, 26|128,101,
22843 OPC_RecordChild1,
22844 OPC_RecordChild2,
22845 OPC_CheckPatternPredicate1,
22846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU_H),
22847 MVT::v4i32, 2, 0, 1,
22848 13,
22849 OPC_CheckChild0Integer, 50|128,101,
22850 OPC_RecordChild1,
22851 OPC_RecordChild2,
22852 OPC_CheckPatternPredicate1,
22853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU_H),
22854 MVT::v4i32, 2, 0, 1,
22855 13,
22856 OPC_CheckChild0Integer, 66|128,101,
22857 OPC_RecordChild1,
22858 OPC_RecordChild2,
22859 OPC_CheckPatternPredicate1,
22860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_H),
22861 MVT::v8i16, 2, 0, 1,
22862 13,
22863 OPC_CheckChild0Integer, 68|128,101,
22864 OPC_RecordChild1,
22865 OPC_RecordChild2,
22866 OPC_CheckPatternPredicate1,
22867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_HU),
22868 MVT::v8i16, 2, 0, 1,
22869 13,
22870 OPC_CheckChild0Integer, 82|128,101,
22871 OPC_RecordChild1,
22872 OPC_RecordChild2,
22873 OPC_CheckPatternPredicate1,
22874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_H),
22875 MVT::v8i16, 2, 0, 1,
22876 13,
22877 OPC_CheckChild0Integer, 84|128,101,
22878 OPC_RecordChild1,
22879 OPC_RecordChild2,
22880 OPC_CheckPatternPredicate1,
22881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_HU),
22882 MVT::v8i16, 2, 0, 1,
22883 13,
22884 OPC_CheckChild0Integer, 98|128,100,
22885 OPC_RecordChild1,
22886 OPC_RecordChild2,
22887 OPC_CheckPatternPredicate1,
22888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_H),
22889 MVT::v8i16, 2, 0, 1,
22890 13,
22891 OPC_CheckChild0Integer, 100|128,100,
22892 OPC_RecordChild1,
22893 OPC_RecordChild2,
22894 OPC_CheckPatternPredicate1,
22895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_HU),
22896 MVT::v8i16, 2, 0, 1,
22897 13,
22898 OPC_CheckChild0Integer, 120|128,100,
22899 OPC_RecordChild1,
22900 OPC_RecordChild2,
22901 OPC_CheckPatternPredicate1,
22902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_H),
22903 MVT::v8i16, 2, 0, 1,
22904 13,
22905 OPC_CheckChild0Integer, 76|128,106,
22906 OPC_RecordChild1,
22907 OPC_RecordChild2,
22908 OPC_CheckPatternPredicate1,
22909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
22910 MVT::v8i16, 2, 0, 1,
22911 13,
22912 OPC_CheckChild0Integer, 78|128,106,
22913 OPC_RecordChild1,
22914 OPC_RecordChild2,
22915 OPC_CheckPatternPredicate1,
22916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
22917 MVT::v8i16, 2, 0, 1,
22918 13,
22919 OPC_CheckChild0Integer, 110|128,106,
22920 OPC_RecordChild1,
22921 OPC_RecordChild2,
22922 OPC_CheckPatternPredicate1,
22923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_H),
22924 MVT::v4i32, 2, 0, 1,
22925 13,
22926 OPC_CheckChild0Integer, 6|128,107,
22927 OPC_RecordChild1,
22928 OPC_RecordChild2,
22929 OPC_CheckPatternPredicate1,
22930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_H),
22931 MVT::v4i32, 2, 0, 1,
22932 13,
22933 OPC_CheckChild0Integer, 112|128,106,
22934 OPC_RecordChild1,
22935 OPC_RecordChild2,
22936 OPC_CheckPatternPredicate1,
22937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU),
22938 MVT::v4i32, 2, 0, 1,
22939 13,
22940 OPC_CheckChild0Integer, 8|128,107,
22941 OPC_RecordChild1,
22942 OPC_RecordChild2,
22943 OPC_CheckPatternPredicate1,
22944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU),
22945 MVT::v4i32, 2, 0, 1,
22946 13,
22947 OPC_CheckChild0Integer, 114|128,106,
22948 OPC_RecordChild1,
22949 OPC_RecordChild2,
22950 OPC_CheckPatternPredicate1,
22951 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU_H),
22952 MVT::v4i32, 2, 0, 1,
22953 13,
22954 OPC_CheckChild0Integer, 10|128,107,
22955 OPC_RecordChild1,
22956 OPC_RecordChild2,
22957 OPC_CheckPatternPredicate1,
22958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU_H),
22959 MVT::v4i32, 2, 0, 1,
22960 13,
22961 OPC_CheckChild0Integer, 76|128,108,
22962 OPC_RecordChild1,
22963 OPC_RecordChild2,
22964 OPC_CheckPatternPredicate1,
22965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_H),
22966 MVT::v8i16, 2, 0, 1,
22967 13,
22968 OPC_CheckChild0Integer, 124|128,107,
22969 OPC_RecordChild1,
22970 OPC_RecordChild2,
22971 OPC_CheckPatternPredicate1,
22972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
22973 MVT::v8i16, 2, 0, 1,
22974 13,
22975 OPC_CheckChild0Integer, 10|128,110,
22976 OPC_RecordChild1,
22977 OPC_RecordChild2,
22978 OPC_CheckPatternPredicate1,
22979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_H),
22980 MVT::v8i16, 2, 0, 1,
22981 13,
22982 OPC_CheckChild0Integer, 78|128,109,
22983 OPC_RecordChild1,
22984 OPC_RecordChild2,
22985 OPC_CheckPatternPredicate1,
22986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_H),
22987 MVT::v8i16, 2, 0, 1,
22988 13,
22989 OPC_CheckChild0Integer, 120|128,109,
22990 OPC_RecordChild1,
22991 OPC_RecordChild2,
22992 OPC_CheckPatternPredicate1,
22993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_B_H),
22994 MVT::v16i8, 2, 0, 1,
22995 13,
22996 OPC_CheckChild0Integer, 60|128,109,
22997 OPC_RecordChild1,
22998 OPC_RecordChild2,
22999 OPC_CheckPatternPredicate1,
23000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_B_H),
23001 MVT::v16i8, 2, 0, 1,
23002 13,
23003 OPC_CheckChild0Integer, 22|128,110,
23004 OPC_RecordChild1,
23005 OPC_RecordChild2,
23006 OPC_CheckPatternPredicate1,
23007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_B_H),
23008 MVT::v16i8, 2, 0, 1,
23009 13,
23010 OPC_CheckChild0Integer, 90|128,109,
23011 OPC_RecordChild1,
23012 OPC_RecordChild2,
23013 OPC_CheckPatternPredicate1,
23014 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_B_H),
23015 MVT::v16i8, 2, 0, 1,
23016 13,
23017 OPC_CheckChild0Integer, 92|128,110,
23018 OPC_RecordChild1,
23019 OPC_RecordChild2,
23020 OPC_CheckPatternPredicate1,
23021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_B_H),
23022 MVT::v16i8, 2, 0, 1,
23023 13,
23024 OPC_CheckChild0Integer, 36|128,110,
23025 OPC_RecordChild1,
23026 OPC_RecordChild2,
23027 OPC_CheckPatternPredicate1,
23028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_B_H),
23029 MVT::v16i8, 2, 0, 1,
23030 13,
23031 OPC_CheckChild0Integer, 94|128,110,
23032 OPC_RecordChild1,
23033 OPC_RecordChild2,
23034 OPC_CheckPatternPredicate1,
23035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_BU_H),
23036 MVT::v16i8, 2, 0, 1,
23037 13,
23038 OPC_CheckChild0Integer, 38|128,110,
23039 OPC_RecordChild1,
23040 OPC_RecordChild2,
23041 OPC_CheckPatternPredicate1,
23042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_BU_H),
23043 MVT::v16i8, 2, 0, 1,
23044 13,
23045 OPC_CheckChild0Integer, 120|128,110,
23046 OPC_RecordChild1,
23047 OPC_RecordChild2,
23048 OPC_CheckPatternPredicate1,
23049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_B_H),
23050 MVT::v16i8, 2, 0, 1,
23051 13,
23052 OPC_CheckChild0Integer, 64|128,110,
23053 OPC_RecordChild1,
23054 OPC_RecordChild2,
23055 OPC_CheckPatternPredicate1,
23056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_B_H),
23057 MVT::v16i8, 2, 0, 1,
23058 13,
23059 OPC_CheckChild0Integer, 122|128,110,
23060 OPC_RecordChild1,
23061 OPC_RecordChild2,
23062 OPC_CheckPatternPredicate1,
23063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_BU_H),
23064 MVT::v16i8, 2, 0, 1,
23065 13,
23066 OPC_CheckChild0Integer, 66|128,110,
23067 OPC_RecordChild1,
23068 OPC_RecordChild2,
23069 OPC_CheckPatternPredicate1,
23070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_BU_H),
23071 MVT::v16i8, 2, 0, 1,
23072 13,
23073 OPC_CheckChild0Integer, 44|128,108,
23074 OPC_RecordChild1,
23075 OPC_RecordChild2,
23076 OPC_CheckPatternPredicate1,
23077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
23078 MVT::v8i16, 2, 0, 1,
23079 13,
23080 OPC_CheckChild0Integer, 88|128,108,
23081 OPC_RecordChild1,
23082 OPC_RecordChild2,
23083 OPC_CheckPatternPredicate1,
23084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
23085 MVT::v8i16, 2, 0, 1,
23086 13,
23087 OPC_CheckChild0Integer, 90|128,108,
23088 OPC_RecordChild1,
23089 OPC_RecordChild2,
23090 OPC_CheckPatternPredicate1,
23091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
23092 MVT::v8i16, 2, 0, 1,
23093 13,
23094 OPC_CheckChild0Integer, 20|128,109,
23095 OPC_RecordChild1,
23096 OPC_RecordChild2,
23097 OPC_CheckPatternPredicate1,
23098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
23099 MVT::v8i16, 2, 0, 1,
23100 13,
23101 OPC_CheckChild0Integer, 22|128,109,
23102 OPC_RecordChild1,
23103 OPC_RecordChild2,
23104 OPC_CheckPatternPredicate1,
23105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
23106 MVT::v8i16, 2, 0, 1,
23107 13,
23108 OPC_CheckChild0Integer, 34|128,107,
23109 OPC_RecordChild1,
23110 OPC_RecordChild2,
23111 OPC_CheckPatternPredicate1,
23112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_H),
23113 MVT::v8i16, 2, 0, 1,
23114 13,
23115 OPC_CheckChild0Integer, 42|128,107,
23116 OPC_RecordChild1,
23117 OPC_RecordChild2,
23118 OPC_CheckPatternPredicate1,
23119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_H),
23120 MVT::v8i16, 2, 0, 1,
23121 13,
23122 OPC_CheckChild0Integer, 60|128,107,
23123 OPC_RecordChild1,
23124 OPC_RecordChild2,
23125 OPC_CheckPatternPredicate1,
23126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_H),
23127 MVT::v8i16, 2, 0, 1,
23128 13,
23129 OPC_CheckChild0Integer, 68|128,107,
23130 OPC_RecordChild1,
23131 OPC_RecordChild2,
23132 OPC_CheckPatternPredicate1,
23133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_H),
23134 MVT::v8i16, 2, 0, 1,
23135 13,
23136 OPC_CheckChild0Integer, 14|128,105,
23137 OPC_RecordChild1,
23138 OPC_RecordChild2,
23139 OPC_CheckPatternPredicate1,
23140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_H),
23141 MVT::v8i16, 2, 0, 1,
23142 13,
23143 OPC_CheckChild0Integer, 6|128,105,
23144 OPC_RecordChild1,
23145 OPC_RecordChild2,
23146 OPC_CheckPatternPredicate1,
23147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_H),
23148 MVT::v8i16, 2, 0, 1,
23149 13,
23150 OPC_CheckChild0Integer, 20|128,108,
23151 OPC_RecordChild1,
23152 OPC_RecordChild2,
23153 OPC_CheckPatternPredicate1,
23154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_W),
23155 MVT::v4i32, 2, 0, 1,
23156 13,
23157 OPC_CheckChild0Integer, 22|128,108,
23158 OPC_RecordChild1,
23159 OPC_RecordChild2,
23160 OPC_CheckPatternPredicate1,
23161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_WU),
23162 MVT::v4i32, 2, 0, 1,
23163 13,
23164 OPC_CheckChild0Integer, 32|128,111,
23165 OPC_RecordChild1,
23166 OPC_RecordChild2,
23167 OPC_CheckPatternPredicate1,
23168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_W),
23169 MVT::v4i32, 2, 0, 1,
23170 13,
23171 OPC_CheckChild0Integer, 34|128,111,
23172 OPC_RecordChild1,
23173 OPC_RecordChild2,
23174 OPC_CheckPatternPredicate1,
23175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_WU),
23176 MVT::v4i32, 2, 0, 1,
23177 13,
23178 OPC_CheckChild0Integer, 98|128,104,
23179 OPC_RecordChild1,
23180 OPC_RecordChild2,
23181 OPC_CheckPatternPredicate1,
23182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_D_W),
23183 MVT::v2i64, 2, 0, 1,
23184 13,
23185 OPC_CheckChild0Integer, 100|128,104,
23186 OPC_RecordChild1,
23187 OPC_RecordChild2,
23188 OPC_CheckPatternPredicate1,
23189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_DU_WU),
23190 MVT::v2i64, 2, 0, 1,
23191 13,
23192 OPC_CheckChild0Integer, 114|128,104,
23193 OPC_RecordChild1,
23194 OPC_RecordChild2,
23195 OPC_CheckPatternPredicate1,
23196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_D_W),
23197 MVT::v2i64, 2, 0, 1,
23198 13,
23199 OPC_CheckChild0Integer, 116|128,104,
23200 OPC_RecordChild1,
23201 OPC_RecordChild2,
23202 OPC_CheckPatternPredicate1,
23203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_DU_WU),
23204 MVT::v2i64, 2, 0, 1,
23205 13,
23206 OPC_CheckChild0Integer, 4|128,101,
23207 OPC_RecordChild1,
23208 OPC_RecordChild2,
23209 OPC_CheckPatternPredicate1,
23210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_W),
23211 MVT::v2i64, 2, 0, 1,
23212 13,
23213 OPC_CheckChild0Integer, 28|128,101,
23214 OPC_RecordChild1,
23215 OPC_RecordChild2,
23216 OPC_CheckPatternPredicate1,
23217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_W),
23218 MVT::v2i64, 2, 0, 1,
23219 13,
23220 OPC_CheckChild0Integer, 66|128,111,
23221 OPC_RecordChild1,
23222 OPC_RecordChild2,
23223 OPC_CheckPatternPredicate1,
23224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_W),
23225 MVT::v2i64, 2, 0, 1,
23226 13,
23227 OPC_CheckChild0Integer, 82|128,111,
23228 OPC_RecordChild1,
23229 OPC_RecordChild2,
23230 OPC_CheckPatternPredicate1,
23231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_W),
23232 MVT::v2i64, 2, 0, 1,
23233 13,
23234 OPC_CheckChild0Integer, 6|128,101,
23235 OPC_RecordChild1,
23236 OPC_RecordChild2,
23237 OPC_CheckPatternPredicate1,
23238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU),
23239 MVT::v2i64, 2, 0, 1,
23240 13,
23241 OPC_CheckChild0Integer, 30|128,101,
23242 OPC_RecordChild1,
23243 OPC_RecordChild2,
23244 OPC_CheckPatternPredicate1,
23245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU),
23246 MVT::v2i64, 2, 0, 1,
23247 13,
23248 OPC_CheckChild0Integer, 68|128,111,
23249 OPC_RecordChild1,
23250 OPC_RecordChild2,
23251 OPC_CheckPatternPredicate1,
23252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_WU),
23253 MVT::v2i64, 2, 0, 1,
23254 13,
23255 OPC_CheckChild0Integer, 84|128,111,
23256 OPC_RecordChild1,
23257 OPC_RecordChild2,
23258 OPC_CheckPatternPredicate1,
23259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_WU),
23260 MVT::v2i64, 2, 0, 1,
23261 13,
23262 OPC_CheckChild0Integer, 8|128,101,
23263 OPC_RecordChild1,
23264 OPC_RecordChild2,
23265 OPC_CheckPatternPredicate1,
23266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU_W),
23267 MVT::v2i64, 2, 0, 1,
23268 13,
23269 OPC_CheckChild0Integer, 32|128,101,
23270 OPC_RecordChild1,
23271 OPC_RecordChild2,
23272 OPC_CheckPatternPredicate1,
23273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU_W),
23274 MVT::v2i64, 2, 0, 1,
23275 13,
23276 OPC_CheckChild0Integer, 70|128,101,
23277 OPC_RecordChild1,
23278 OPC_RecordChild2,
23279 OPC_CheckPatternPredicate1,
23280 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_W),
23281 MVT::v4i32, 2, 0, 1,
23282 13,
23283 OPC_CheckChild0Integer, 72|128,101,
23284 OPC_RecordChild1,
23285 OPC_RecordChild2,
23286 OPC_CheckPatternPredicate1,
23287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_WU),
23288 MVT::v4i32, 2, 0, 1,
23289 13,
23290 OPC_CheckChild0Integer, 86|128,101,
23291 OPC_RecordChild1,
23292 OPC_RecordChild2,
23293 OPC_CheckPatternPredicate1,
23294 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_W),
23295 MVT::v4i32, 2, 0, 1,
23296 13,
23297 OPC_CheckChild0Integer, 88|128,101,
23298 OPC_RecordChild1,
23299 OPC_RecordChild2,
23300 OPC_CheckPatternPredicate1,
23301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_WU),
23302 MVT::v4i32, 2, 0, 1,
23303 13,
23304 OPC_CheckChild0Integer, 102|128,100,
23305 OPC_RecordChild1,
23306 OPC_RecordChild2,
23307 OPC_CheckPatternPredicate1,
23308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_W),
23309 MVT::v4i32, 2, 0, 1,
23310 13,
23311 OPC_CheckChild0Integer, 104|128,100,
23312 OPC_RecordChild1,
23313 OPC_RecordChild2,
23314 OPC_CheckPatternPredicate1,
23315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_WU),
23316 MVT::v4i32, 2, 0, 1,
23317 13,
23318 OPC_CheckChild0Integer, 122|128,100,
23319 OPC_RecordChild1,
23320 OPC_RecordChild2,
23321 OPC_CheckPatternPredicate1,
23322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_W),
23323 MVT::v4i32, 2, 0, 1,
23324 13,
23325 OPC_CheckChild0Integer, 80|128,106,
23326 OPC_RecordChild1,
23327 OPC_RecordChild2,
23328 OPC_CheckPatternPredicate1,
23329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
23330 MVT::v4i32, 2, 0, 1,
23331 13,
23332 OPC_CheckChild0Integer, 82|128,106,
23333 OPC_RecordChild1,
23334 OPC_RecordChild2,
23335 OPC_CheckPatternPredicate1,
23336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
23337 MVT::v4i32, 2, 0, 1,
23338 13,
23339 OPC_CheckChild0Integer, 92|128,106,
23340 OPC_RecordChild1,
23341 OPC_RecordChild2,
23342 OPC_CheckPatternPredicate1,
23343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_W),
23344 MVT::v2i64, 2, 0, 1,
23345 13,
23346 OPC_CheckChild0Integer, 116|128,106,
23347 OPC_RecordChild1,
23348 OPC_RecordChild2,
23349 OPC_CheckPatternPredicate1,
23350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_W),
23351 MVT::v2i64, 2, 0, 1,
23352 13,
23353 OPC_CheckChild0Integer, 94|128,106,
23354 OPC_RecordChild1,
23355 OPC_RecordChild2,
23356 OPC_CheckPatternPredicate1,
23357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU),
23358 MVT::v2i64, 2, 0, 1,
23359 13,
23360 OPC_CheckChild0Integer, 118|128,106,
23361 OPC_RecordChild1,
23362 OPC_RecordChild2,
23363 OPC_CheckPatternPredicate1,
23364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU),
23365 MVT::v2i64, 2, 0, 1,
23366 13,
23367 OPC_CheckChild0Integer, 96|128,106,
23368 OPC_RecordChild1,
23369 OPC_RecordChild2,
23370 OPC_CheckPatternPredicate1,
23371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU_W),
23372 MVT::v2i64, 2, 0, 1,
23373 13,
23374 OPC_CheckChild0Integer, 120|128,106,
23375 OPC_RecordChild1,
23376 OPC_RecordChild2,
23377 OPC_CheckPatternPredicate1,
23378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU_W),
23379 MVT::v2i64, 2, 0, 1,
23380 13,
23381 OPC_CheckChild0Integer, 78|128,108,
23382 OPC_RecordChild1,
23383 OPC_RecordChild2,
23384 OPC_CheckPatternPredicate1,
23385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_W),
23386 MVT::v4i32, 2, 0, 1,
23387 13,
23388 OPC_CheckChild0Integer, 126|128,107,
23389 OPC_RecordChild1,
23390 OPC_RecordChild2,
23391 OPC_CheckPatternPredicate1,
23392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
23393 MVT::v4i32, 2, 0, 1,
23394 13,
23395 OPC_CheckChild0Integer, 12|128,110,
23396 OPC_RecordChild1,
23397 OPC_RecordChild2,
23398 OPC_CheckPatternPredicate1,
23399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_W),
23400 MVT::v4i32, 2, 0, 1,
23401 13,
23402 OPC_CheckChild0Integer, 80|128,109,
23403 OPC_RecordChild1,
23404 OPC_RecordChild2,
23405 OPC_CheckPatternPredicate1,
23406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_W),
23407 MVT::v4i32, 2, 0, 1,
23408 13,
23409 OPC_CheckChild0Integer, 122|128,109,
23410 OPC_RecordChild1,
23411 OPC_RecordChild2,
23412 OPC_CheckPatternPredicate1,
23413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_H_W),
23414 MVT::v8i16, 2, 0, 1,
23415 13,
23416 OPC_CheckChild0Integer, 62|128,109,
23417 OPC_RecordChild1,
23418 OPC_RecordChild2,
23419 OPC_CheckPatternPredicate1,
23420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_H_W),
23421 MVT::v8i16, 2, 0, 1,
23422 13,
23423 OPC_CheckChild0Integer, 24|128,110,
23424 OPC_RecordChild1,
23425 OPC_RecordChild2,
23426 OPC_CheckPatternPredicate1,
23427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_H_W),
23428 MVT::v8i16, 2, 0, 1,
23429 13,
23430 OPC_CheckChild0Integer, 92|128,109,
23431 OPC_RecordChild1,
23432 OPC_RecordChild2,
23433 OPC_CheckPatternPredicate1,
23434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_H_W),
23435 MVT::v8i16, 2, 0, 1,
23436 13,
23437 OPC_CheckChild0Integer, 96|128,110,
23438 OPC_RecordChild1,
23439 OPC_RecordChild2,
23440 OPC_CheckPatternPredicate1,
23441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_H_W),
23442 MVT::v8i16, 2, 0, 1,
23443 13,
23444 OPC_CheckChild0Integer, 40|128,110,
23445 OPC_RecordChild1,
23446 OPC_RecordChild2,
23447 OPC_CheckPatternPredicate1,
23448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_H_W),
23449 MVT::v8i16, 2, 0, 1,
23450 13,
23451 OPC_CheckChild0Integer, 98|128,110,
23452 OPC_RecordChild1,
23453 OPC_RecordChild2,
23454 OPC_CheckPatternPredicate1,
23455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_HU_W),
23456 MVT::v8i16, 2, 0, 1,
23457 13,
23458 OPC_CheckChild0Integer, 42|128,110,
23459 OPC_RecordChild1,
23460 OPC_RecordChild2,
23461 OPC_CheckPatternPredicate1,
23462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_HU_W),
23463 MVT::v8i16, 2, 0, 1,
23464 13,
23465 OPC_CheckChild0Integer, 124|128,110,
23466 OPC_RecordChild1,
23467 OPC_RecordChild2,
23468 OPC_CheckPatternPredicate1,
23469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_H_W),
23470 MVT::v8i16, 2, 0, 1,
23471 13,
23472 OPC_CheckChild0Integer, 68|128,110,
23473 OPC_RecordChild1,
23474 OPC_RecordChild2,
23475 OPC_CheckPatternPredicate1,
23476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_H_W),
23477 MVT::v8i16, 2, 0, 1,
23478 13,
23479 OPC_CheckChild0Integer, 126|128,110,
23480 OPC_RecordChild1,
23481 OPC_RecordChild2,
23482 OPC_CheckPatternPredicate1,
23483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_HU_W),
23484 MVT::v8i16, 2, 0, 1,
23485 13,
23486 OPC_CheckChild0Integer, 70|128,110,
23487 OPC_RecordChild1,
23488 OPC_RecordChild2,
23489 OPC_CheckPatternPredicate1,
23490 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_HU_W),
23491 MVT::v8i16, 2, 0, 1,
23492 13,
23493 OPC_CheckChild0Integer, 46|128,108,
23494 OPC_RecordChild1,
23495 OPC_RecordChild2,
23496 OPC_CheckPatternPredicate1,
23497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
23498 MVT::v4i32, 2, 0, 1,
23499 13,
23500 OPC_CheckChild0Integer, 92|128,108,
23501 OPC_RecordChild1,
23502 OPC_RecordChild2,
23503 OPC_CheckPatternPredicate1,
23504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
23505 MVT::v4i32, 2, 0, 1,
23506 13,
23507 OPC_CheckChild0Integer, 94|128,108,
23508 OPC_RecordChild1,
23509 OPC_RecordChild2,
23510 OPC_CheckPatternPredicate1,
23511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
23512 MVT::v4i32, 2, 0, 1,
23513 13,
23514 OPC_CheckChild0Integer, 24|128,109,
23515 OPC_RecordChild1,
23516 OPC_RecordChild2,
23517 OPC_CheckPatternPredicate1,
23518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
23519 MVT::v4i32, 2, 0, 1,
23520 13,
23521 OPC_CheckChild0Integer, 26|128,109,
23522 OPC_RecordChild1,
23523 OPC_RecordChild2,
23524 OPC_CheckPatternPredicate1,
23525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
23526 MVT::v4i32, 2, 0, 1,
23527 13,
23528 OPC_CheckChild0Integer, 36|128,107,
23529 OPC_RecordChild1,
23530 OPC_RecordChild2,
23531 OPC_CheckPatternPredicate1,
23532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
23533 MVT::v4i32, 2, 0, 1,
23534 13,
23535 OPC_CheckChild0Integer, 44|128,107,
23536 OPC_RecordChild1,
23537 OPC_RecordChild2,
23538 OPC_CheckPatternPredicate1,
23539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
23540 MVT::v4i32, 2, 0, 1,
23541 13,
23542 OPC_CheckChild0Integer, 62|128,107,
23543 OPC_RecordChild1,
23544 OPC_RecordChild2,
23545 OPC_CheckPatternPredicate1,
23546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
23547 MVT::v4i32, 2, 0, 1,
23548 13,
23549 OPC_CheckChild0Integer, 70|128,107,
23550 OPC_RecordChild1,
23551 OPC_RecordChild2,
23552 OPC_CheckPatternPredicate1,
23553 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
23554 MVT::v4i32, 2, 0, 1,
23555 13,
23556 OPC_CheckChild0Integer, 16|128,105,
23557 OPC_RecordChild1,
23558 OPC_RecordChild2,
23559 OPC_CheckPatternPredicate1,
23560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
23561 MVT::v4i32, 2, 0, 1,
23562 13,
23563 OPC_CheckChild0Integer, 8|128,105,
23564 OPC_RecordChild1,
23565 OPC_RecordChild2,
23566 OPC_CheckPatternPredicate1,
23567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
23568 MVT::v4i32, 2, 0, 1,
23569 13,
23570 OPC_CheckChild0Integer, 112|128,100,
23571 OPC_RecordChild1,
23572 OPC_RecordChild2,
23573 OPC_CheckPatternPredicate1,
23574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_Q),
23575 MVT::v2i64, 2, 0, 1,
23576 13,
23577 OPC_CheckChild0Integer, 54|128,111,
23578 OPC_RecordChild1,
23579 OPC_RecordChild2,
23580 OPC_CheckPatternPredicate1,
23581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_Q),
23582 MVT::v2i64, 2, 0, 1,
23583 13,
23584 OPC_CheckChild0Integer, 12|128,108,
23585 OPC_RecordChild1,
23586 OPC_RecordChild2,
23587 OPC_CheckPatternPredicate1,
23588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_D),
23589 MVT::v2i64, 2, 0, 1,
23590 13,
23591 OPC_CheckChild0Integer, 14|128,108,
23592 OPC_RecordChild1,
23593 OPC_RecordChild2,
23594 OPC_CheckPatternPredicate1,
23595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_DU),
23596 MVT::v2i64, 2, 0, 1,
23597 13,
23598 OPC_CheckChild0Integer, 24|128,111,
23599 OPC_RecordChild1,
23600 OPC_RecordChild2,
23601 OPC_CheckPatternPredicate1,
23602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_D),
23603 MVT::v2i64, 2, 0, 1,
23604 13,
23605 OPC_CheckChild0Integer, 26|128,111,
23606 OPC_RecordChild1,
23607 OPC_RecordChild2,
23608 OPC_CheckPatternPredicate1,
23609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_DU),
23610 MVT::v2i64, 2, 0, 1,
23611 13,
23612 OPC_CheckChild0Integer, 106|128,104,
23613 OPC_RecordChild1,
23614 OPC_RecordChild2,
23615 OPC_CheckPatternPredicate1,
23616 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_Q_D),
23617 MVT::v2i64, 2, 0, 1,
23618 13,
23619 OPC_CheckChild0Integer, 108|128,104,
23620 OPC_RecordChild1,
23621 OPC_RecordChild2,
23622 OPC_CheckPatternPredicate1,
23623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_QU_DU),
23624 MVT::v2i64, 2, 0, 1,
23625 13,
23626 OPC_CheckChild0Integer, 122|128,104,
23627 OPC_RecordChild1,
23628 OPC_RecordChild2,
23629 OPC_CheckPatternPredicate1,
23630 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_Q_D),
23631 MVT::v2i64, 2, 0, 1,
23632 13,
23633 OPC_CheckChild0Integer, 124|128,104,
23634 OPC_RecordChild1,
23635 OPC_RecordChild2,
23636 OPC_CheckPatternPredicate1,
23637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_QU_DU),
23638 MVT::v2i64, 2, 0, 1,
23639 13,
23640 OPC_CheckChild0Integer, 16|128,101,
23641 OPC_RecordChild1,
23642 OPC_RecordChild2,
23643 OPC_CheckPatternPredicate1,
23644 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_D),
23645 MVT::v2i64, 2, 0, 1,
23646 13,
23647 OPC_CheckChild0Integer, 40|128,101,
23648 OPC_RecordChild1,
23649 OPC_RecordChild2,
23650 OPC_CheckPatternPredicate1,
23651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_D),
23652 MVT::v2i64, 2, 0, 1,
23653 13,
23654 OPC_CheckChild0Integer, 74|128,111,
23655 OPC_RecordChild1,
23656 OPC_RecordChild2,
23657 OPC_CheckPatternPredicate1,
23658 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_D),
23659 MVT::v2i64, 2, 0, 1,
23660 13,
23661 OPC_CheckChild0Integer, 90|128,111,
23662 OPC_RecordChild1,
23663 OPC_RecordChild2,
23664 OPC_CheckPatternPredicate1,
23665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_D),
23666 MVT::v2i64, 2, 0, 1,
23667 13,
23668 OPC_CheckChild0Integer, 18|128,101,
23669 OPC_RecordChild1,
23670 OPC_RecordChild2,
23671 OPC_CheckPatternPredicate1,
23672 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU),
23673 MVT::v2i64, 2, 0, 1,
23674 13,
23675 OPC_CheckChild0Integer, 42|128,101,
23676 OPC_RecordChild1,
23677 OPC_RecordChild2,
23678 OPC_CheckPatternPredicate1,
23679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU),
23680 MVT::v2i64, 2, 0, 1,
23681 13,
23682 OPC_CheckChild0Integer, 76|128,111,
23683 OPC_RecordChild1,
23684 OPC_RecordChild2,
23685 OPC_CheckPatternPredicate1,
23686 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_DU),
23687 MVT::v2i64, 2, 0, 1,
23688 13,
23689 OPC_CheckChild0Integer, 92|128,111,
23690 OPC_RecordChild1,
23691 OPC_RecordChild2,
23692 OPC_CheckPatternPredicate1,
23693 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_DU),
23694 MVT::v2i64, 2, 0, 1,
23695 13,
23696 OPC_CheckChild0Integer, 20|128,101,
23697 OPC_RecordChild1,
23698 OPC_RecordChild2,
23699 OPC_CheckPatternPredicate1,
23700 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU_D),
23701 MVT::v2i64, 2, 0, 1,
23702 13,
23703 OPC_CheckChild0Integer, 44|128,101,
23704 OPC_RecordChild1,
23705 OPC_RecordChild2,
23706 OPC_CheckPatternPredicate1,
23707 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU_D),
23708 MVT::v2i64, 2, 0, 1,
23709 13,
23710 OPC_CheckChild0Integer, 62|128,101,
23711 OPC_RecordChild1,
23712 OPC_RecordChild2,
23713 OPC_CheckPatternPredicate1,
23714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_D),
23715 MVT::v2i64, 2, 0, 1,
23716 13,
23717 OPC_CheckChild0Integer, 64|128,101,
23718 OPC_RecordChild1,
23719 OPC_RecordChild2,
23720 OPC_CheckPatternPredicate1,
23721 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_DU),
23722 MVT::v2i64, 2, 0, 1,
23723 13,
23724 OPC_CheckChild0Integer, 78|128,101,
23725 OPC_RecordChild1,
23726 OPC_RecordChild2,
23727 OPC_CheckPatternPredicate1,
23728 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_D),
23729 MVT::v2i64, 2, 0, 1,
23730 13,
23731 OPC_CheckChild0Integer, 80|128,101,
23732 OPC_RecordChild1,
23733 OPC_RecordChild2,
23734 OPC_CheckPatternPredicate1,
23735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_DU),
23736 MVT::v2i64, 2, 0, 1,
23737 13,
23738 OPC_CheckChild0Integer, 94|128,100,
23739 OPC_RecordChild1,
23740 OPC_RecordChild2,
23741 OPC_CheckPatternPredicate1,
23742 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_D),
23743 MVT::v2i64, 2, 0, 1,
23744 13,
23745 OPC_CheckChild0Integer, 96|128,100,
23746 OPC_RecordChild1,
23747 OPC_RecordChild2,
23748 OPC_CheckPatternPredicate1,
23749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_DU),
23750 MVT::v2i64, 2, 0, 1,
23751 13,
23752 OPC_CheckChild0Integer, 118|128,100,
23753 OPC_RecordChild1,
23754 OPC_RecordChild2,
23755 OPC_CheckPatternPredicate1,
23756 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_D),
23757 MVT::v2i64, 2, 0, 1,
23758 13,
23759 OPC_CheckChild0Integer, 72|128,106,
23760 OPC_RecordChild1,
23761 OPC_RecordChild2,
23762 OPC_CheckPatternPredicate1,
23763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
23764 MVT::v2i64, 2, 0, 1,
23765 13,
23766 OPC_CheckChild0Integer, 74|128,106,
23767 OPC_RecordChild1,
23768 OPC_RecordChild2,
23769 OPC_CheckPatternPredicate1,
23770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
23771 MVT::v2i64, 2, 0, 1,
23772 13,
23773 OPC_CheckChild0Integer, 104|128,106,
23774 OPC_RecordChild1,
23775 OPC_RecordChild2,
23776 OPC_CheckPatternPredicate1,
23777 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_D),
23778 MVT::v2i64, 2, 0, 1,
23779 13,
23780 OPC_CheckChild0Integer, 0|128,107,
23781 OPC_RecordChild1,
23782 OPC_RecordChild2,
23783 OPC_CheckPatternPredicate1,
23784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_D),
23785 MVT::v2i64, 2, 0, 1,
23786 13,
23787 OPC_CheckChild0Integer, 106|128,106,
23788 OPC_RecordChild1,
23789 OPC_RecordChild2,
23790 OPC_CheckPatternPredicate1,
23791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU),
23792 MVT::v2i64, 2, 0, 1,
23793 13,
23794 OPC_CheckChild0Integer, 2|128,107,
23795 OPC_RecordChild1,
23796 OPC_RecordChild2,
23797 OPC_CheckPatternPredicate1,
23798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU),
23799 MVT::v2i64, 2, 0, 1,
23800 13,
23801 OPC_CheckChild0Integer, 108|128,106,
23802 OPC_RecordChild1,
23803 OPC_RecordChild2,
23804 OPC_CheckPatternPredicate1,
23805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU_D),
23806 MVT::v2i64, 2, 0, 1,
23807 13,
23808 OPC_CheckChild0Integer, 4|128,107,
23809 OPC_RecordChild1,
23810 OPC_RecordChild2,
23811 OPC_CheckPatternPredicate1,
23812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU_D),
23813 MVT::v2i64, 2, 0, 1,
23814 13,
23815 OPC_CheckChild0Integer, 74|128,108,
23816 OPC_RecordChild1,
23817 OPC_RecordChild2,
23818 OPC_CheckPatternPredicate1,
23819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_D),
23820 MVT::v2i64, 2, 0, 1,
23821 13,
23822 OPC_CheckChild0Integer, 122|128,107,
23823 OPC_RecordChild1,
23824 OPC_RecordChild2,
23825 OPC_CheckPatternPredicate1,
23826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
23827 MVT::v2i64, 2, 0, 1,
23828 13,
23829 OPC_CheckChild0Integer, 8|128,110,
23830 OPC_RecordChild1,
23831 OPC_RecordChild2,
23832 OPC_CheckPatternPredicate1,
23833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_D),
23834 MVT::v2i64, 2, 0, 1,
23835 13,
23836 OPC_CheckChild0Integer, 76|128,109,
23837 OPC_RecordChild1,
23838 OPC_RecordChild2,
23839 OPC_CheckPatternPredicate1,
23840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_D),
23841 MVT::v2i64, 2, 0, 1,
23842 13,
23843 OPC_CheckChild0Integer, 124|128,109,
23844 OPC_RecordChild1,
23845 OPC_RecordChild2,
23846 OPC_CheckPatternPredicate1,
23847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_W_D),
23848 MVT::v4i32, 2, 0, 1,
23849 13,
23850 OPC_CheckChild0Integer, 64|128,109,
23851 OPC_RecordChild1,
23852 OPC_RecordChild2,
23853 OPC_CheckPatternPredicate1,
23854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_W_D),
23855 MVT::v4i32, 2, 0, 1,
23856 13,
23857 OPC_CheckChild0Integer, 26|128,110,
23858 OPC_RecordChild1,
23859 OPC_RecordChild2,
23860 OPC_CheckPatternPredicate1,
23861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_W_D),
23862 MVT::v4i32, 2, 0, 1,
23863 13,
23864 OPC_CheckChild0Integer, 94|128,109,
23865 OPC_RecordChild1,
23866 OPC_RecordChild2,
23867 OPC_CheckPatternPredicate1,
23868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_W_D),
23869 MVT::v4i32, 2, 0, 1,
23870 13,
23871 OPC_CheckChild0Integer, 100|128,110,
23872 OPC_RecordChild1,
23873 OPC_RecordChild2,
23874 OPC_CheckPatternPredicate1,
23875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_W_D),
23876 MVT::v4i32, 2, 0, 1,
23877 13,
23878 OPC_CheckChild0Integer, 44|128,110,
23879 OPC_RecordChild1,
23880 OPC_RecordChild2,
23881 OPC_CheckPatternPredicate1,
23882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_W_D),
23883 MVT::v4i32, 2, 0, 1,
23884 13,
23885 OPC_CheckChild0Integer, 102|128,110,
23886 OPC_RecordChild1,
23887 OPC_RecordChild2,
23888 OPC_CheckPatternPredicate1,
23889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_WU_D),
23890 MVT::v4i32, 2, 0, 1,
23891 13,
23892 OPC_CheckChild0Integer, 46|128,110,
23893 OPC_RecordChild1,
23894 OPC_RecordChild2,
23895 OPC_CheckPatternPredicate1,
23896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_WU_D),
23897 MVT::v4i32, 2, 0, 1,
23898 13,
23899 OPC_CheckChild0Integer, 0|128,111,
23900 OPC_RecordChild1,
23901 OPC_RecordChild2,
23902 OPC_CheckPatternPredicate1,
23903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_W_D),
23904 MVT::v4i32, 2, 0, 1,
23905 13,
23906 OPC_CheckChild0Integer, 72|128,110,
23907 OPC_RecordChild1,
23908 OPC_RecordChild2,
23909 OPC_CheckPatternPredicate1,
23910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_W_D),
23911 MVT::v4i32, 2, 0, 1,
23912 13,
23913 OPC_CheckChild0Integer, 2|128,111,
23914 OPC_RecordChild1,
23915 OPC_RecordChild2,
23916 OPC_CheckPatternPredicate1,
23917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_WU_D),
23918 MVT::v4i32, 2, 0, 1,
23919 13,
23920 OPC_CheckChild0Integer, 74|128,110,
23921 OPC_RecordChild1,
23922 OPC_RecordChild2,
23923 OPC_CheckPatternPredicate1,
23924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_WU_D),
23925 MVT::v4i32, 2, 0, 1,
23926 13,
23927 OPC_CheckChild0Integer, 42|128,108,
23928 OPC_RecordChild1,
23929 OPC_RecordChild2,
23930 OPC_CheckPatternPredicate1,
23931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
23932 MVT::v2i64, 2, 0, 1,
23933 13,
23934 OPC_CheckChild0Integer, 84|128,108,
23935 OPC_RecordChild1,
23936 OPC_RecordChild2,
23937 OPC_CheckPatternPredicate1,
23938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
23939 MVT::v2i64, 2, 0, 1,
23940 13,
23941 OPC_CheckChild0Integer, 86|128,108,
23942 OPC_RecordChild1,
23943 OPC_RecordChild2,
23944 OPC_CheckPatternPredicate1,
23945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
23946 MVT::v2i64, 2, 0, 1,
23947 13,
23948 OPC_CheckChild0Integer, 16|128,109,
23949 OPC_RecordChild1,
23950 OPC_RecordChild2,
23951 OPC_CheckPatternPredicate1,
23952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
23953 MVT::v2i64, 2, 0, 1,
23954 13,
23955 OPC_CheckChild0Integer, 18|128,109,
23956 OPC_RecordChild1,
23957 OPC_RecordChild2,
23958 OPC_CheckPatternPredicate1,
23959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
23960 MVT::v2i64, 2, 0, 1,
23961 13,
23962 OPC_CheckChild0Integer, 32|128,107,
23963 OPC_RecordChild1,
23964 OPC_RecordChild2,
23965 OPC_CheckPatternPredicate1,
23966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
23967 MVT::v2i64, 2, 0, 1,
23968 13,
23969 OPC_CheckChild0Integer, 40|128,107,
23970 OPC_RecordChild1,
23971 OPC_RecordChild2,
23972 OPC_CheckPatternPredicate1,
23973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
23974 MVT::v2i64, 2, 0, 1,
23975 13,
23976 OPC_CheckChild0Integer, 58|128,107,
23977 OPC_RecordChild1,
23978 OPC_RecordChild2,
23979 OPC_CheckPatternPredicate1,
23980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
23981 MVT::v2i64, 2, 0, 1,
23982 13,
23983 OPC_CheckChild0Integer, 66|128,107,
23984 OPC_RecordChild1,
23985 OPC_RecordChild2,
23986 OPC_CheckPatternPredicate1,
23987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
23988 MVT::v2i64, 2, 0, 1,
23989 13,
23990 OPC_CheckChild0Integer, 12|128,105,
23991 OPC_RecordChild1,
23992 OPC_RecordChild2,
23993 OPC_CheckPatternPredicate1,
23994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
23995 MVT::v2i64, 2, 0, 1,
23996 13,
23997 OPC_CheckChild0Integer, 4|128,105,
23998 OPC_RecordChild1,
23999 OPC_RecordChild2,
24000 OPC_CheckPatternPredicate1,
24001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
24002 MVT::v2i64, 2, 0, 1,
24003 15,
24004 OPC_CheckChild0Integer, 54|128,105,
24005 OPC_RecordChild1,
24006 OPC_RecordChild2,
24007 OPC_RecordChild3,
24008 OPC_CheckPatternPredicate1,
24009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_B),
24010 MVT::v8i16, 3, 0, 1, 2,
24011 15,
24012 OPC_CheckChild0Integer, 78|128,105,
24013 OPC_RecordChild1,
24014 OPC_RecordChild2,
24015 OPC_RecordChild3,
24016 OPC_CheckPatternPredicate1,
24017 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_B),
24018 MVT::v8i16, 3, 0, 1, 2,
24019 15,
24020 OPC_CheckChild0Integer, 56|128,105,
24021 OPC_RecordChild1,
24022 OPC_RecordChild2,
24023 OPC_RecordChild3,
24024 OPC_CheckPatternPredicate1,
24025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU),
24026 MVT::v8i16, 3, 0, 1, 2,
24027 15,
24028 OPC_CheckChild0Integer, 80|128,105,
24029 OPC_RecordChild1,
24030 OPC_RecordChild2,
24031 OPC_RecordChild3,
24032 OPC_CheckPatternPredicate1,
24033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU),
24034 MVT::v8i16, 3, 0, 1, 2,
24035 15,
24036 OPC_CheckChild0Integer, 58|128,105,
24037 OPC_RecordChild1,
24038 OPC_RecordChild2,
24039 OPC_RecordChild3,
24040 OPC_CheckPatternPredicate1,
24041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU_B),
24042 MVT::v8i16, 3, 0, 1, 2,
24043 15,
24044 OPC_CheckChild0Integer, 82|128,105,
24045 OPC_RecordChild1,
24046 OPC_RecordChild2,
24047 OPC_RecordChild3,
24048 OPC_CheckPatternPredicate1,
24049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU_B),
24050 MVT::v8i16, 3, 0, 1, 2,
24051 15,
24052 OPC_CheckChild0Integer, 66|128,105,
24053 OPC_RecordChild1,
24054 OPC_RecordChild2,
24055 OPC_RecordChild3,
24056 OPC_CheckPatternPredicate1,
24057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_H),
24058 MVT::v4i32, 3, 0, 1, 2,
24059 15,
24060 OPC_CheckChild0Integer, 90|128,105,
24061 OPC_RecordChild1,
24062 OPC_RecordChild2,
24063 OPC_RecordChild3,
24064 OPC_CheckPatternPredicate1,
24065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_H),
24066 MVT::v4i32, 3, 0, 1, 2,
24067 15,
24068 OPC_CheckChild0Integer, 68|128,105,
24069 OPC_RecordChild1,
24070 OPC_RecordChild2,
24071 OPC_RecordChild3,
24072 OPC_CheckPatternPredicate1,
24073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU),
24074 MVT::v4i32, 3, 0, 1, 2,
24075 15,
24076 OPC_CheckChild0Integer, 92|128,105,
24077 OPC_RecordChild1,
24078 OPC_RecordChild2,
24079 OPC_RecordChild3,
24080 OPC_CheckPatternPredicate1,
24081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU),
24082 MVT::v4i32, 3, 0, 1, 2,
24083 15,
24084 OPC_CheckChild0Integer, 70|128,105,
24085 OPC_RecordChild1,
24086 OPC_RecordChild2,
24087 OPC_RecordChild3,
24088 OPC_CheckPatternPredicate1,
24089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU_H),
24090 MVT::v4i32, 3, 0, 1, 2,
24091 15,
24092 OPC_CheckChild0Integer, 94|128,105,
24093 OPC_RecordChild1,
24094 OPC_RecordChild2,
24095 OPC_RecordChild3,
24096 OPC_CheckPatternPredicate1,
24097 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU_H),
24098 MVT::v4i32, 3, 0, 1, 2,
24099 15,
24100 OPC_CheckChild0Integer, 48|128,105,
24101 OPC_RecordChild1,
24102 OPC_RecordChild2,
24103 OPC_RecordChild3,
24104 OPC_CheckPatternPredicate1,
24105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_W),
24106 MVT::v2i64, 3, 0, 1, 2,
24107 15,
24108 OPC_CheckChild0Integer, 72|128,105,
24109 OPC_RecordChild1,
24110 OPC_RecordChild2,
24111 OPC_RecordChild3,
24112 OPC_CheckPatternPredicate1,
24113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_W),
24114 MVT::v2i64, 3, 0, 1, 2,
24115 15,
24116 OPC_CheckChild0Integer, 50|128,105,
24117 OPC_RecordChild1,
24118 OPC_RecordChild2,
24119 OPC_RecordChild3,
24120 OPC_CheckPatternPredicate1,
24121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU),
24122 MVT::v2i64, 3, 0, 1, 2,
24123 15,
24124 OPC_CheckChild0Integer, 74|128,105,
24125 OPC_RecordChild1,
24126 OPC_RecordChild2,
24127 OPC_RecordChild3,
24128 OPC_CheckPatternPredicate1,
24129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU),
24130 MVT::v2i64, 3, 0, 1, 2,
24131 15,
24132 OPC_CheckChild0Integer, 52|128,105,
24133 OPC_RecordChild1,
24134 OPC_RecordChild2,
24135 OPC_RecordChild3,
24136 OPC_CheckPatternPredicate1,
24137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU_W),
24138 MVT::v2i64, 3, 0, 1, 2,
24139 15,
24140 OPC_CheckChild0Integer, 76|128,105,
24141 OPC_RecordChild1,
24142 OPC_RecordChild2,
24143 OPC_RecordChild3,
24144 OPC_CheckPatternPredicate1,
24145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU_W),
24146 MVT::v2i64, 3, 0, 1, 2,
24147 15,
24148 OPC_CheckChild0Integer, 60|128,105,
24149 OPC_RecordChild1,
24150 OPC_RecordChild2,
24151 OPC_RecordChild3,
24152 OPC_CheckPatternPredicate1,
24153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_D),
24154 MVT::v2i64, 3, 0, 1, 2,
24155 15,
24156 OPC_CheckChild0Integer, 84|128,105,
24157 OPC_RecordChild1,
24158 OPC_RecordChild2,
24159 OPC_RecordChild3,
24160 OPC_CheckPatternPredicate1,
24161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_D),
24162 MVT::v2i64, 3, 0, 1, 2,
24163 15,
24164 OPC_CheckChild0Integer, 62|128,105,
24165 OPC_RecordChild1,
24166 OPC_RecordChild2,
24167 OPC_RecordChild3,
24168 OPC_CheckPatternPredicate1,
24169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU),
24170 MVT::v2i64, 3, 0, 1, 2,
24171 15,
24172 OPC_CheckChild0Integer, 86|128,105,
24173 OPC_RecordChild1,
24174 OPC_RecordChild2,
24175 OPC_RecordChild3,
24176 OPC_CheckPatternPredicate1,
24177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU),
24178 MVT::v2i64, 3, 0, 1, 2,
24179 15,
24180 OPC_CheckChild0Integer, 64|128,105,
24181 OPC_RecordChild1,
24182 OPC_RecordChild2,
24183 OPC_RecordChild3,
24184 OPC_CheckPatternPredicate1,
24185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU_D),
24186 MVT::v2i64, 3, 0, 1, 2,
24187 15,
24188 OPC_CheckChild0Integer, 88|128,105,
24189 OPC_RecordChild1,
24190 OPC_RecordChild2,
24191 OPC_RecordChild3,
24192 OPC_CheckPatternPredicate1,
24193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU_D),
24194 MVT::v2i64, 3, 0, 1, 2,
24195 11,
24196 OPC_CheckChild0Integer, 54|128,102,
24197 OPC_RecordChild1,
24198 OPC_CheckPatternPredicate1,
24199 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_H_B),
24200 MVT::v8i16, 1, 0,
24201 11,
24202 OPC_CheckChild0Integer, 56|128,102,
24203 OPC_RecordChild1,
24204 OPC_CheckPatternPredicate1,
24205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_HU_BU),
24206 MVT::v8i16, 1, 0,
24207 11,
24208 OPC_CheckChild0Integer, 50|128,106,
24209 OPC_RecordChild1,
24210 OPC_CheckPatternPredicate1,
24211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_B),
24212 MVT::v16i8, 1, 0,
24213 11,
24214 OPC_CheckChild0Integer, 48|128,106,
24215 OPC_RecordChild1,
24216 OPC_CheckPatternPredicate1,
24217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKGEZ_B),
24218 MVT::v16i8, 1, 0,
24219 11,
24220 OPC_CheckChild0Integer, 58|128,106,
24221 OPC_RecordChild1,
24222 OPC_CheckPatternPredicate1,
24223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKNZ_B),
24224 MVT::v16i8, 1, 0,
24225 11,
24226 OPC_CheckChild0Integer, 18|128,102,
24227 OPC_RecordChild1,
24228 OPC_CheckPatternPredicate1,
24229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_B),
24230 MVT::v16i8, 1, 0,
24231 11,
24232 OPC_CheckChild0Integer, 62|128,102,
24233 OPC_RecordChild1,
24234 OPC_CheckPatternPredicate1,
24235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_W_H),
24236 MVT::v4i32, 1, 0,
24237 11,
24238 OPC_CheckChild0Integer, 64|128,102,
24239 OPC_RecordChild1,
24240 OPC_CheckPatternPredicate1,
24241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_WU_HU),
24242 MVT::v4i32, 1, 0,
24243 11,
24244 OPC_CheckChild0Integer, 54|128,106,
24245 OPC_RecordChild1,
24246 OPC_CheckPatternPredicate1,
24247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_H),
24248 MVT::v8i16, 1, 0,
24249 11,
24250 OPC_CheckChild0Integer, 22|128,102,
24251 OPC_RecordChild1,
24252 OPC_CheckPatternPredicate1,
24253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_H),
24254 MVT::v8i16, 1, 0,
24255 11,
24256 OPC_CheckChild0Integer, 50|128,102,
24257 OPC_RecordChild1,
24258 OPC_CheckPatternPredicate1,
24259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_D_W),
24260 MVT::v2i64, 1, 0,
24261 11,
24262 OPC_CheckChild0Integer, 52|128,102,
24263 OPC_RecordChild1,
24264 OPC_CheckPatternPredicate1,
24265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_DU_WU),
24266 MVT::v2i64, 1, 0,
24267 11,
24268 OPC_CheckChild0Integer, 56|128,106,
24269 OPC_RecordChild1,
24270 OPC_CheckPatternPredicate1,
24271 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_W),
24272 MVT::v4i32, 1, 0,
24273 11,
24274 OPC_CheckChild0Integer, 24|128,102,
24275 OPC_RecordChild1,
24276 OPC_CheckPatternPredicate1,
24277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_W),
24278 MVT::v4i32, 1, 0,
24279 11,
24280 OPC_CheckChild0Integer, 58|128,102,
24281 OPC_RecordChild1,
24282 OPC_CheckPatternPredicate1,
24283 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_Q_D),
24284 MVT::v2i64, 1, 0,
24285 11,
24286 OPC_CheckChild0Integer, 60|128,102,
24287 OPC_RecordChild1,
24288 OPC_CheckPatternPredicate1,
24289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_QU_DU),
24290 MVT::v2i64, 1, 0,
24291 11,
24292 OPC_CheckChild0Integer, 52|128,106,
24293 OPC_RecordChild1,
24294 OPC_CheckPatternPredicate1,
24295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_D),
24296 MVT::v2i64, 1, 0,
24297 11,
24298 OPC_CheckChild0Integer, 66|128,102,
24299 OPC_RecordChild1,
24300 OPC_CheckPatternPredicate1,
24301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_Q_D),
24302 MVT::v2i64, 1, 0,
24303 11,
24304 OPC_CheckChild0Integer, 68|128,102,
24305 OPC_RecordChild1,
24306 OPC_CheckPatternPredicate1,
24307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_QU_DU),
24308 MVT::v2i64, 1, 0,
24309 11,
24310 OPC_CheckChild0Integer, 20|128,102,
24311 OPC_RecordChild1,
24312 OPC_CheckPatternPredicate1,
24313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_D),
24314 MVT::v2i64, 1, 0,
24315 15,
24316 OPC_CheckChild0Integer, 24|128,104,
24317 OPC_RecordChild1,
24318 OPC_RecordChild2,
24319 OPC_RecordChild3,
24320 OPC_CheckPatternPredicate1,
24321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_B),
24322 MVT::v16i8, 3, 0, 1, 2,
24323 15,
24324 OPC_CheckChild0Integer, 122|128,101,
24325 OPC_RecordChild1,
24326 OPC_RecordChild2,
24327 OPC_RecordChild3,
24328 OPC_CheckPatternPredicate1,
24329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
24330 MVT::v16i8, 3, 0, 1, 2,
24331 15,
24332 OPC_CheckChild0Integer, 56|128,108,
24333 OPC_RecordChild1,
24334 OPC_RecordChild2,
24335 OPC_RecordChild3,
24336 OPC_CheckPatternPredicate1,
24337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_B),
24338 MVT::v16i8, 3, 0, 1, 2,
24339 15,
24340 OPC_CheckChild0Integer, 26|128,104,
24341 OPC_RecordChild1,
24342 OPC_RecordChild2,
24343 OPC_RecordChild3,
24344 OPC_CheckPatternPredicate1,
24345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_H),
24346 MVT::v8i16, 3, 0, 1, 2,
24347 15,
24348 OPC_CheckChild0Integer, 60|128,108,
24349 OPC_RecordChild1,
24350 OPC_RecordChild2,
24351 OPC_RecordChild3,
24352 OPC_CheckPatternPredicate1,
24353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_H),
24354 MVT::v8i16, 3, 0, 1, 2,
24355 15,
24356 OPC_CheckChild0Integer, 62|128,108,
24357 OPC_RecordChild1,
24358 OPC_RecordChild2,
24359 OPC_RecordChild3,
24360 OPC_CheckPatternPredicate1,
24361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
24362 MVT::v4i32, 3, 0, 1, 2,
24363 15,
24364 OPC_CheckChild0Integer, 58|128,108,
24365 OPC_RecordChild1,
24366 OPC_RecordChild2,
24367 OPC_RecordChild3,
24368 OPC_CheckPatternPredicate1,
24369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
24370 MVT::v2i64, 3, 0, 1, 2,
24371 13,
24372 OPC_CheckChild0Integer, 46|128,103,
24373 OPC_RecordChild1,
24374 OPC_RecordChild2,
24375 OPC_CheckPatternPredicate1,
24376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_H_S),
24377 MVT::v8i16, 2, 0, 1,
24378 13,
24379 OPC_CheckChild0Integer, 88|128,102,
24380 OPC_RecordChild1,
24381 OPC_RecordChild2,
24382 OPC_CheckPatternPredicate1,
24383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_S),
24384 MVT::v4i32, 2, 0, 1,
24385 13,
24386 OPC_CheckChild0Integer, 124|128,102,
24387 OPC_RecordChild1,
24388 OPC_RecordChild2,
24389 OPC_CheckPatternPredicate1,
24390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
24391 MVT::v4i32, 2, 0, 1,
24392 13,
24393 OPC_CheckChild0Integer, 92|128,102,
24394 OPC_RecordChild1,
24395 OPC_RecordChild2,
24396 OPC_CheckPatternPredicate1,
24397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
24398 MVT::v4i32, 2, 0, 1,
24399 13,
24400 OPC_CheckChild0Integer, 112|128,102,
24401 OPC_RecordChild1,
24402 OPC_RecordChild2,
24403 OPC_CheckPatternPredicate1,
24404 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
24405 MVT::v4i32, 2, 0, 1,
24406 13,
24407 OPC_CheckChild0Integer, 100|128,102,
24408 OPC_RecordChild1,
24409 OPC_RecordChild2,
24410 OPC_CheckPatternPredicate1,
24411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
24412 MVT::v4i32, 2, 0, 1,
24413 13,
24414 OPC_CheckChild0Integer, 120|128,102,
24415 OPC_RecordChild1,
24416 OPC_RecordChild2,
24417 OPC_CheckPatternPredicate1,
24418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
24419 MVT::v4i32, 2, 0, 1,
24420 13,
24421 OPC_CheckChild0Integer, 96|128,102,
24422 OPC_RecordChild1,
24423 OPC_RecordChild2,
24424 OPC_CheckPatternPredicate1,
24425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
24426 MVT::v4i32, 2, 0, 1,
24427 13,
24428 OPC_CheckChild0Integer, 116|128,102,
24429 OPC_RecordChild1,
24430 OPC_RecordChild2,
24431 OPC_CheckPatternPredicate1,
24432 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
24433 MVT::v4i32, 2, 0, 1,
24434 13,
24435 OPC_CheckChild0Integer, 104|128,102,
24436 OPC_RecordChild1,
24437 OPC_RecordChild2,
24438 OPC_CheckPatternPredicate1,
24439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
24440 MVT::v4i32, 2, 0, 1,
24441 13,
24442 OPC_CheckChild0Integer, 108|128,102,
24443 OPC_RecordChild1,
24444 OPC_RecordChild2,
24445 OPC_CheckPatternPredicate1,
24446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
24447 MVT::v4i32, 2, 0, 1,
24448 13,
24449 OPC_CheckChild0Integer, 0|128,103,
24450 OPC_RecordChild1,
24451 OPC_RecordChild2,
24452 OPC_CheckPatternPredicate1,
24453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
24454 MVT::v4i32, 2, 0, 1,
24455 13,
24456 OPC_CheckChild0Integer, 4|128,103,
24457 OPC_RecordChild1,
24458 OPC_RecordChild2,
24459 OPC_CheckPatternPredicate1,
24460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_S),
24461 MVT::v4i32, 2, 0, 1,
24462 13,
24463 OPC_CheckChild0Integer, 40|128,103,
24464 OPC_RecordChild1,
24465 OPC_RecordChild2,
24466 OPC_CheckPatternPredicate1,
24467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_S),
24468 MVT::v4i32, 2, 0, 1,
24469 13,
24470 OPC_CheckChild0Integer, 8|128,103,
24471 OPC_RecordChild1,
24472 OPC_RecordChild2,
24473 OPC_CheckPatternPredicate1,
24474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_S),
24475 MVT::v4i32, 2, 0, 1,
24476 13,
24477 OPC_CheckChild0Integer, 28|128,103,
24478 OPC_RecordChild1,
24479 OPC_RecordChild2,
24480 OPC_CheckPatternPredicate1,
24481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_S),
24482 MVT::v4i32, 2, 0, 1,
24483 13,
24484 OPC_CheckChild0Integer, 16|128,103,
24485 OPC_RecordChild1,
24486 OPC_RecordChild2,
24487 OPC_CheckPatternPredicate1,
24488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_S),
24489 MVT::v4i32, 2, 0, 1,
24490 13,
24491 OPC_CheckChild0Integer, 36|128,103,
24492 OPC_RecordChild1,
24493 OPC_RecordChild2,
24494 OPC_CheckPatternPredicate1,
24495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_S),
24496 MVT::v4i32, 2, 0, 1,
24497 13,
24498 OPC_CheckChild0Integer, 12|128,103,
24499 OPC_RecordChild1,
24500 OPC_RecordChild2,
24501 OPC_CheckPatternPredicate1,
24502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_S),
24503 MVT::v4i32, 2, 0, 1,
24504 13,
24505 OPC_CheckChild0Integer, 32|128,103,
24506 OPC_RecordChild1,
24507 OPC_RecordChild2,
24508 OPC_CheckPatternPredicate1,
24509 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_S),
24510 MVT::v4i32, 2, 0, 1,
24511 13,
24512 OPC_CheckChild0Integer, 20|128,103,
24513 OPC_RecordChild1,
24514 OPC_RecordChild2,
24515 OPC_CheckPatternPredicate1,
24516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_S),
24517 MVT::v4i32, 2, 0, 1,
24518 13,
24519 OPC_CheckChild0Integer, 24|128,103,
24520 OPC_RecordChild1,
24521 OPC_RecordChild2,
24522 OPC_CheckPatternPredicate1,
24523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_S),
24524 MVT::v4i32, 2, 0, 1,
24525 13,
24526 OPC_CheckChild0Integer, 44|128,103,
24527 OPC_RecordChild1,
24528 OPC_RecordChild2,
24529 OPC_CheckPatternPredicate1,
24530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_S),
24531 MVT::v4i32, 2, 0, 1,
24532 13,
24533 OPC_CheckChild0Integer, 66|128,104,
24534 OPC_RecordChild1,
24535 OPC_RecordChild2,
24536 OPC_CheckPatternPredicate1,
24537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_D),
24538 MVT::v4i32, 2, 0, 1,
24539 13,
24540 OPC_CheckChild0Integer, 88|128,104,
24541 OPC_RecordChild1,
24542 OPC_RecordChild2,
24543 OPC_CheckPatternPredicate1,
24544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_D),
24545 MVT::v4i32, 2, 0, 1,
24546 13,
24547 OPC_CheckChild0Integer, 76|128,104,
24548 OPC_RecordChild1,
24549 OPC_RecordChild2,
24550 OPC_CheckPatternPredicate1,
24551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_D),
24552 MVT::v4i32, 2, 0, 1,
24553 13,
24554 OPC_CheckChild0Integer, 56|128,104,
24555 OPC_RecordChild1,
24556 OPC_RecordChild2,
24557 OPC_CheckPatternPredicate1,
24558 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_D),
24559 MVT::v4i32, 2, 0, 1,
24560 13,
24561 OPC_CheckChild0Integer, 44|128,104,
24562 OPC_RecordChild1,
24563 OPC_RecordChild2,
24564 OPC_CheckPatternPredicate1,
24565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_D),
24566 MVT::v4i32, 2, 0, 1,
24567 13,
24568 OPC_CheckChild0Integer, 86|128,102,
24569 OPC_RecordChild1,
24570 OPC_RecordChild2,
24571 OPC_CheckPatternPredicate1,
24572 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_D),
24573 MVT::v2i64, 2, 0, 1,
24574 13,
24575 OPC_CheckChild0Integer, 122|128,102,
24576 OPC_RecordChild1,
24577 OPC_RecordChild2,
24578 OPC_CheckPatternPredicate1,
24579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
24580 MVT::v2i64, 2, 0, 1,
24581 13,
24582 OPC_CheckChild0Integer, 90|128,102,
24583 OPC_RecordChild1,
24584 OPC_RecordChild2,
24585 OPC_CheckPatternPredicate1,
24586 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
24587 MVT::v2i64, 2, 0, 1,
24588 13,
24589 OPC_CheckChild0Integer, 110|128,102,
24590 OPC_RecordChild1,
24591 OPC_RecordChild2,
24592 OPC_CheckPatternPredicate1,
24593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
24594 MVT::v2i64, 2, 0, 1,
24595 13,
24596 OPC_CheckChild0Integer, 98|128,102,
24597 OPC_RecordChild1,
24598 OPC_RecordChild2,
24599 OPC_CheckPatternPredicate1,
24600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
24601 MVT::v2i64, 2, 0, 1,
24602 13,
24603 OPC_CheckChild0Integer, 118|128,102,
24604 OPC_RecordChild1,
24605 OPC_RecordChild2,
24606 OPC_CheckPatternPredicate1,
24607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
24608 MVT::v2i64, 2, 0, 1,
24609 13,
24610 OPC_CheckChild0Integer, 94|128,102,
24611 OPC_RecordChild1,
24612 OPC_RecordChild2,
24613 OPC_CheckPatternPredicate1,
24614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
24615 MVT::v2i64, 2, 0, 1,
24616 13,
24617 OPC_CheckChild0Integer, 114|128,102,
24618 OPC_RecordChild1,
24619 OPC_RecordChild2,
24620 OPC_CheckPatternPredicate1,
24621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
24622 MVT::v2i64, 2, 0, 1,
24623 13,
24624 OPC_CheckChild0Integer, 102|128,102,
24625 OPC_RecordChild1,
24626 OPC_RecordChild2,
24627 OPC_CheckPatternPredicate1,
24628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
24629 MVT::v2i64, 2, 0, 1,
24630 13,
24631 OPC_CheckChild0Integer, 106|128,102,
24632 OPC_RecordChild1,
24633 OPC_RecordChild2,
24634 OPC_CheckPatternPredicate1,
24635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
24636 MVT::v2i64, 2, 0, 1,
24637 13,
24638 OPC_CheckChild0Integer, 126|128,102,
24639 OPC_RecordChild1,
24640 OPC_RecordChild2,
24641 OPC_CheckPatternPredicate1,
24642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
24643 MVT::v2i64, 2, 0, 1,
24644 13,
24645 OPC_CheckChild0Integer, 2|128,103,
24646 OPC_RecordChild1,
24647 OPC_RecordChild2,
24648 OPC_CheckPatternPredicate1,
24649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_D),
24650 MVT::v2i64, 2, 0, 1,
24651 13,
24652 OPC_CheckChild0Integer, 38|128,103,
24653 OPC_RecordChild1,
24654 OPC_RecordChild2,
24655 OPC_CheckPatternPredicate1,
24656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_D),
24657 MVT::v2i64, 2, 0, 1,
24658 13,
24659 OPC_CheckChild0Integer, 6|128,103,
24660 OPC_RecordChild1,
24661 OPC_RecordChild2,
24662 OPC_CheckPatternPredicate1,
24663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_D),
24664 MVT::v2i64, 2, 0, 1,
24665 13,
24666 OPC_CheckChild0Integer, 26|128,103,
24667 OPC_RecordChild1,
24668 OPC_RecordChild2,
24669 OPC_CheckPatternPredicate1,
24670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_D),
24671 MVT::v2i64, 2, 0, 1,
24672 13,
24673 OPC_CheckChild0Integer, 14|128,103,
24674 OPC_RecordChild1,
24675 OPC_RecordChild2,
24676 OPC_CheckPatternPredicate1,
24677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_D),
24678 MVT::v2i64, 2, 0, 1,
24679 13,
24680 OPC_CheckChild0Integer, 34|128,103,
24681 OPC_RecordChild1,
24682 OPC_RecordChild2,
24683 OPC_CheckPatternPredicate1,
24684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_D),
24685 MVT::v2i64, 2, 0, 1,
24686 13,
24687 OPC_CheckChild0Integer, 10|128,103,
24688 OPC_RecordChild1,
24689 OPC_RecordChild2,
24690 OPC_CheckPatternPredicate1,
24691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_D),
24692 MVT::v2i64, 2, 0, 1,
24693 13,
24694 OPC_CheckChild0Integer, 30|128,103,
24695 OPC_RecordChild1,
24696 OPC_RecordChild2,
24697 OPC_CheckPatternPredicate1,
24698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_D),
24699 MVT::v2i64, 2, 0, 1,
24700 13,
24701 OPC_CheckChild0Integer, 18|128,103,
24702 OPC_RecordChild1,
24703 OPC_RecordChild2,
24704 OPC_CheckPatternPredicate1,
24705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_D),
24706 MVT::v2i64, 2, 0, 1,
24707 13,
24708 OPC_CheckChild0Integer, 22|128,103,
24709 OPC_RecordChild1,
24710 OPC_RecordChild2,
24711 OPC_CheckPatternPredicate1,
24712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_D),
24713 MVT::v2i64, 2, 0, 1,
24714 13,
24715 OPC_CheckChild0Integer, 42|128,103,
24716 OPC_RecordChild1,
24717 OPC_RecordChild2,
24718 OPC_CheckPatternPredicate1,
24719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_D),
24720 MVT::v2i64, 2, 0, 1,
24721 11,
24722 OPC_CheckChild0Integer, 84|128,102,
24723 OPC_RecordChild1,
24724 OPC_CheckPatternPredicate1,
24725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_S),
24726 MVT::v4i32, 1, 0,
24727 11,
24728 OPC_CheckChild0Integer, 68|128,104,
24729 OPC_RecordChild1,
24730 OPC_CheckPatternPredicate1,
24731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_S),
24732 MVT::v4i32, 1, 0,
24733 11,
24734 OPC_CheckChild0Integer, 90|128,104,
24735 OPC_RecordChild1,
24736 OPC_CheckPatternPredicate1,
24737 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
24738 MVT::v4i32, 1, 0,
24739 11,
24740 OPC_CheckChild0Integer, 78|128,104,
24741 OPC_RecordChild1,
24742 OPC_CheckPatternPredicate1,
24743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_S),
24744 MVT::v4i32, 1, 0,
24745 11,
24746 OPC_CheckChild0Integer, 58|128,104,
24747 OPC_RecordChild1,
24748 OPC_CheckPatternPredicate1,
24749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_S),
24750 MVT::v4i32, 1, 0,
24751 11,
24752 OPC_CheckChild0Integer, 46|128,104,
24753 OPC_RecordChild1,
24754 OPC_CheckPatternPredicate1,
24755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_S),
24756 MVT::v4i32, 1, 0,
24757 11,
24758 OPC_CheckChild0Integer, 92|128,104,
24759 OPC_RecordChild1,
24760 OPC_CheckPatternPredicate1,
24761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
24762 MVT::v4i32, 1, 0,
24763 11,
24764 OPC_CheckChild0Integer, 48|128,104,
24765 OPC_RecordChild1,
24766 OPC_CheckPatternPredicate1,
24767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_WU_S),
24768 MVT::v4i32, 1, 0,
24769 11,
24770 OPC_CheckChild0Integer, 72|128,104,
24771 OPC_RecordChild1,
24772 OPC_CheckPatternPredicate1,
24773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEL_L_S),
24774 MVT::v2i64, 1, 0,
24775 11,
24776 OPC_CheckChild0Integer, 70|128,104,
24777 OPC_RecordChild1,
24778 OPC_CheckPatternPredicate1,
24779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEH_L_S),
24780 MVT::v2i64, 1, 0,
24781 11,
24782 OPC_CheckChild0Integer, 96|128,104,
24783 OPC_RecordChild1,
24784 OPC_CheckPatternPredicate1,
24785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZL_L_S),
24786 MVT::v2i64, 1, 0,
24787 11,
24788 OPC_CheckChild0Integer, 94|128,104,
24789 OPC_RecordChild1,
24790 OPC_CheckPatternPredicate1,
24791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZH_L_S),
24792 MVT::v2i64, 1, 0,
24793 11,
24794 OPC_CheckChild0Integer, 82|128,104,
24795 OPC_RecordChild1,
24796 OPC_CheckPatternPredicate1,
24797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPL_L_S),
24798 MVT::v2i64, 1, 0,
24799 11,
24800 OPC_CheckChild0Integer, 80|128,104,
24801 OPC_RecordChild1,
24802 OPC_CheckPatternPredicate1,
24803 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPH_L_S),
24804 MVT::v2i64, 1, 0,
24805 11,
24806 OPC_CheckChild0Integer, 62|128,104,
24807 OPC_RecordChild1,
24808 OPC_CheckPatternPredicate1,
24809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRML_L_S),
24810 MVT::v2i64, 1, 0,
24811 11,
24812 OPC_CheckChild0Integer, 60|128,104,
24813 OPC_RecordChild1,
24814 OPC_CheckPatternPredicate1,
24815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRMH_L_S),
24816 MVT::v2i64, 1, 0,
24817 11,
24818 OPC_CheckChild0Integer, 52|128,104,
24819 OPC_RecordChild1,
24820 OPC_CheckPatternPredicate1,
24821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTL_L_S),
24822 MVT::v2i64, 1, 0,
24823 11,
24824 OPC_CheckChild0Integer, 50|128,104,
24825 OPC_RecordChild1,
24826 OPC_CheckPatternPredicate1,
24827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTH_L_S),
24828 MVT::v2i64, 1, 0,
24829 11,
24830 OPC_CheckChild0Integer, 82|128,102,
24831 OPC_RecordChild1,
24832 OPC_CheckPatternPredicate1,
24833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_D),
24834 MVT::v2i64, 1, 0,
24835 11,
24836 OPC_CheckChild0Integer, 64|128,104,
24837 OPC_RecordChild1,
24838 OPC_CheckPatternPredicate1,
24839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_L_D),
24840 MVT::v2i64, 1, 0,
24841 11,
24842 OPC_CheckChild0Integer, 84|128,104,
24843 OPC_RecordChild1,
24844 OPC_CheckPatternPredicate1,
24845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_L_D),
24846 MVT::v2i64, 1, 0,
24847 11,
24848 OPC_CheckChild0Integer, 74|128,104,
24849 OPC_RecordChild1,
24850 OPC_CheckPatternPredicate1,
24851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_L_D),
24852 MVT::v2i64, 1, 0,
24853 11,
24854 OPC_CheckChild0Integer, 54|128,104,
24855 OPC_RecordChild1,
24856 OPC_CheckPatternPredicate1,
24857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_L_D),
24858 MVT::v2i64, 1, 0,
24859 11,
24860 OPC_CheckChild0Integer, 40|128,104,
24861 OPC_RecordChild1,
24862 OPC_CheckPatternPredicate1,
24863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_L_D),
24864 MVT::v2i64, 1, 0,
24865 11,
24866 OPC_CheckChild0Integer, 86|128,104,
24867 OPC_RecordChild1,
24868 OPC_CheckPatternPredicate1,
24869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_LU_D),
24870 MVT::v2i64, 1, 0,
24871 11,
24872 OPC_CheckChild0Integer, 42|128,104,
24873 OPC_RecordChild1,
24874 OPC_CheckPatternPredicate1,
24875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_LU_D),
24876 MVT::v2i64, 1, 0,
24877 13,
24878 OPC_CheckChild0Integer, 100|128,96,
24879 OPC_RecordChild1,
24880 OPC_RecordChild2,
24881 OPC_CheckPatternPredicate0,
24882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_B),
24883 MVT::v32i8, 2, 0, 1,
24884 13,
24885 OPC_CheckChild0Integer, 102|128,96,
24886 OPC_RecordChild1,
24887 OPC_RecordChild2,
24888 OPC_CheckPatternPredicate0,
24889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_BU),
24890 MVT::v32i8, 2, 0, 1,
24891 13,
24892 OPC_CheckChild0Integer, 112|128,99,
24893 OPC_RecordChild1,
24894 OPC_RecordChild2,
24895 OPC_CheckPatternPredicate0,
24896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_B),
24897 MVT::v32i8, 2, 0, 1,
24898 13,
24899 OPC_CheckChild0Integer, 114|128,99,
24900 OPC_RecordChild1,
24901 OPC_RecordChild2,
24902 OPC_CheckPatternPredicate0,
24903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_BU),
24904 MVT::v32i8, 2, 0, 1,
24905 13,
24906 OPC_CheckChild0Integer, 50|128,93,
24907 OPC_RecordChild1,
24908 OPC_RecordChild2,
24909 OPC_CheckPatternPredicate0,
24910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_H_B),
24911 MVT::v16i16, 2, 0, 1,
24912 13,
24913 OPC_CheckChild0Integer, 52|128,93,
24914 OPC_RecordChild1,
24915 OPC_RecordChild2,
24916 OPC_CheckPatternPredicate0,
24917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_HU_BU),
24918 MVT::v16i16, 2, 0, 1,
24919 13,
24920 OPC_CheckChild0Integer, 66|128,93,
24921 OPC_RecordChild1,
24922 OPC_RecordChild2,
24923 OPC_CheckPatternPredicate0,
24924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_H_B),
24925 MVT::v16i16, 2, 0, 1,
24926 13,
24927 OPC_CheckChild0Integer, 68|128,93,
24928 OPC_RecordChild1,
24929 OPC_RecordChild2,
24930 OPC_CheckPatternPredicate0,
24931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_HU_BU),
24932 MVT::v16i16, 2, 0, 1,
24933 13,
24934 OPC_CheckChild0Integer, 86|128,89,
24935 OPC_RecordChild1,
24936 OPC_RecordChild2,
24937 OPC_CheckPatternPredicate0,
24938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_B),
24939 MVT::v16i16, 2, 0, 1,
24940 13,
24941 OPC_CheckChild0Integer, 110|128,89,
24942 OPC_RecordChild1,
24943 OPC_RecordChild2,
24944 OPC_CheckPatternPredicate0,
24945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_B),
24946 MVT::v16i16, 2, 0, 1,
24947 13,
24948 OPC_CheckChild0Integer, 34|128,100,
24949 OPC_RecordChild1,
24950 OPC_RecordChild2,
24951 OPC_CheckPatternPredicate0,
24952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_B),
24953 MVT::v16i16, 2, 0, 1,
24954 13,
24955 OPC_CheckChild0Integer, 50|128,100,
24956 OPC_RecordChild1,
24957 OPC_RecordChild2,
24958 OPC_CheckPatternPredicate0,
24959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_B),
24960 MVT::v16i16, 2, 0, 1,
24961 13,
24962 OPC_CheckChild0Integer, 88|128,89,
24963 OPC_RecordChild1,
24964 OPC_RecordChild2,
24965 OPC_CheckPatternPredicate0,
24966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU),
24967 MVT::v16i16, 2, 0, 1,
24968 13,
24969 OPC_CheckChild0Integer, 112|128,89,
24970 OPC_RecordChild1,
24971 OPC_RecordChild2,
24972 OPC_CheckPatternPredicate0,
24973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU),
24974 MVT::v16i16, 2, 0, 1,
24975 13,
24976 OPC_CheckChild0Integer, 36|128,100,
24977 OPC_RecordChild1,
24978 OPC_RecordChild2,
24979 OPC_CheckPatternPredicate0,
24980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_BU),
24981 MVT::v16i16, 2, 0, 1,
24982 13,
24983 OPC_CheckChild0Integer, 52|128,100,
24984 OPC_RecordChild1,
24985 OPC_RecordChild2,
24986 OPC_CheckPatternPredicate0,
24987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_BU),
24988 MVT::v16i16, 2, 0, 1,
24989 13,
24990 OPC_CheckChild0Integer, 90|128,89,
24991 OPC_RecordChild1,
24992 OPC_RecordChild2,
24993 OPC_CheckPatternPredicate0,
24994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU_B),
24995 MVT::v16i16, 2, 0, 1,
24996 13,
24997 OPC_CheckChild0Integer, 114|128,89,
24998 OPC_RecordChild1,
24999 OPC_RecordChild2,
25000 OPC_CheckPatternPredicate0,
25001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU_B),
25002 MVT::v16i16, 2, 0, 1,
25003 13,
25004 OPC_CheckChild0Integer, 6|128,90,
25005 OPC_RecordChild1,
25006 OPC_RecordChild2,
25007 OPC_CheckPatternPredicate0,
25008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_B),
25009 MVT::v32i8, 2, 0, 1,
25010 13,
25011 OPC_CheckChild0Integer, 8|128,90,
25012 OPC_RecordChild1,
25013 OPC_RecordChild2,
25014 OPC_CheckPatternPredicate0,
25015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_BU),
25016 MVT::v32i8, 2, 0, 1,
25017 13,
25018 OPC_CheckChild0Integer, 22|128,90,
25019 OPC_RecordChild1,
25020 OPC_RecordChild2,
25021 OPC_CheckPatternPredicate0,
25022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_B),
25023 MVT::v32i8, 2, 0, 1,
25024 13,
25025 OPC_CheckChild0Integer, 24|128,90,
25026 OPC_RecordChild1,
25027 OPC_RecordChild2,
25028 OPC_CheckPatternPredicate0,
25029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_BU),
25030 MVT::v32i8, 2, 0, 1,
25031 13,
25032 OPC_CheckChild0Integer, 38|128,89,
25033 OPC_RecordChild1,
25034 OPC_RecordChild2,
25035 OPC_CheckPatternPredicate0,
25036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_B),
25037 MVT::v32i8, 2, 0, 1,
25038 13,
25039 OPC_CheckChild0Integer, 40|128,89,
25040 OPC_RecordChild1,
25041 OPC_RecordChild2,
25042 OPC_CheckPatternPredicate0,
25043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_BU),
25044 MVT::v32i8, 2, 0, 1,
25045 13,
25046 OPC_CheckChild0Integer, 64|128,89,
25047 OPC_RecordChild1,
25048 OPC_RecordChild2,
25049 OPC_CheckPatternPredicate0,
25050 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_B),
25051 MVT::v32i8, 2, 0, 1,
25052 13,
25053 OPC_CheckChild0Integer, 16|128,95,
25054 OPC_RecordChild1,
25055 OPC_RecordChild2,
25056 OPC_CheckPatternPredicate0,
25057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
25058 MVT::v32i8, 2, 0, 1,
25059 13,
25060 OPC_CheckChild0Integer, 18|128,95,
25061 OPC_RecordChild1,
25062 OPC_RecordChild2,
25063 OPC_CheckPatternPredicate0,
25064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
25065 MVT::v32i8, 2, 0, 1,
25066 13,
25067 OPC_CheckChild0Integer, 46|128,95,
25068 OPC_RecordChild1,
25069 OPC_RecordChild2,
25070 OPC_CheckPatternPredicate0,
25071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_B),
25072 MVT::v16i16, 2, 0, 1,
25073 13,
25074 OPC_CheckChild0Integer, 70|128,95,
25075 OPC_RecordChild1,
25076 OPC_RecordChild2,
25077 OPC_CheckPatternPredicate0,
25078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_B),
25079 MVT::v16i16, 2, 0, 1,
25080 13,
25081 OPC_CheckChild0Integer, 48|128,95,
25082 OPC_RecordChild1,
25083 OPC_RecordChild2,
25084 OPC_CheckPatternPredicate0,
25085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU),
25086 MVT::v16i16, 2, 0, 1,
25087 13,
25088 OPC_CheckChild0Integer, 72|128,95,
25089 OPC_RecordChild1,
25090 OPC_RecordChild2,
25091 OPC_CheckPatternPredicate0,
25092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU),
25093 MVT::v16i16, 2, 0, 1,
25094 13,
25095 OPC_CheckChild0Integer, 50|128,95,
25096 OPC_RecordChild1,
25097 OPC_RecordChild2,
25098 OPC_CheckPatternPredicate0,
25099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU_B),
25100 MVT::v16i16, 2, 0, 1,
25101 13,
25102 OPC_CheckChild0Integer, 74|128,95,
25103 OPC_RecordChild1,
25104 OPC_RecordChild2,
25105 OPC_CheckPatternPredicate0,
25106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU_B),
25107 MVT::v16i16, 2, 0, 1,
25108 13,
25109 OPC_CheckChild0Integer, 36|128,97,
25110 OPC_RecordChild1,
25111 OPC_RecordChild2,
25112 OPC_CheckPatternPredicate0,
25113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_B),
25114 MVT::v32i8, 2, 0, 1,
25115 13,
25116 OPC_CheckChild0Integer, 4|128,90,
25117 OPC_RecordChild1,
25118 OPC_RecordChild2,
25119 OPC_CheckPatternPredicate0,
25120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
25121 MVT::v32i8, 2, 0, 1,
25122 13,
25123 OPC_CheckChild0Integer, 104|128,95,
25124 OPC_RecordChild1,
25125 OPC_RecordChild2,
25126 OPC_CheckPatternPredicate0,
25127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
25128 MVT::v32i8, 2, 0, 1,
25129 13,
25130 OPC_CheckChild0Integer, 84|128,96,
25131 OPC_RecordChild1,
25132 OPC_RecordChild2,
25133 OPC_CheckPatternPredicate0,
25134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
25135 MVT::v32i8, 2, 0, 1,
25136 13,
25137 OPC_CheckChild0Integer, 98|128,98,
25138 OPC_RecordChild1,
25139 OPC_RecordChild2,
25140 OPC_CheckPatternPredicate0,
25141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_B),
25142 MVT::v32i8, 2, 0, 1,
25143 13,
25144 OPC_CheckChild0Integer, 38|128,98,
25145 OPC_RecordChild1,
25146 OPC_RecordChild2,
25147 OPC_CheckPatternPredicate0,
25148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_B),
25149 MVT::v32i8, 2, 0, 1,
25150 13,
25151 OPC_CheckChild0Integer, 4|128,97,
25152 OPC_RecordChild1,
25153 OPC_RecordChild2,
25154 OPC_CheckPatternPredicate0,
25155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
25156 MVT::v32i8, 2, 0, 1,
25157 13,
25158 OPC_CheckChild0Integer, 44|128,97,
25159 OPC_RecordChild1,
25160 OPC_RecordChild2,
25161 OPC_CheckPatternPredicate0,
25162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
25163 MVT::v32i8, 2, 0, 1,
25164 13,
25165 OPC_CheckChild0Integer, 46|128,97,
25166 OPC_RecordChild1,
25167 OPC_RecordChild2,
25168 OPC_CheckPatternPredicate0,
25169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
25170 MVT::v32i8, 2, 0, 1,
25171 13,
25172 OPC_CheckChild0Integer, 104|128,97,
25173 OPC_RecordChild1,
25174 OPC_RecordChild2,
25175 OPC_CheckPatternPredicate0,
25176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
25177 MVT::v32i8, 2, 0, 1,
25178 13,
25179 OPC_CheckChild0Integer, 106|128,97,
25180 OPC_RecordChild1,
25181 OPC_RecordChild2,
25182 OPC_CheckPatternPredicate0,
25183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
25184 MVT::v32i8, 2, 0, 1,
25185 13,
25186 OPC_CheckChild0Integer, 106|128,95,
25187 OPC_RecordChild1,
25188 OPC_RecordChild2,
25189 OPC_CheckPatternPredicate0,
25190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_B),
25191 MVT::v32i8, 2, 0, 1,
25192 13,
25193 OPC_CheckChild0Integer, 114|128,95,
25194 OPC_RecordChild1,
25195 OPC_RecordChild2,
25196 OPC_CheckPatternPredicate0,
25197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_B),
25198 MVT::v32i8, 2, 0, 1,
25199 13,
25200 OPC_CheckChild0Integer, 10|128,96,
25201 OPC_RecordChild1,
25202 OPC_RecordChild2,
25203 OPC_CheckPatternPredicate0,
25204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_B),
25205 MVT::v32i8, 2, 0, 1,
25206 13,
25207 OPC_CheckChild0Integer, 18|128,96,
25208 OPC_RecordChild1,
25209 OPC_RecordChild2,
25210 OPC_CheckPatternPredicate0,
25211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_B),
25212 MVT::v32i8, 2, 0, 1,
25213 13,
25214 OPC_CheckChild0Integer, 86|128,93,
25215 OPC_RecordChild1,
25216 OPC_RecordChild2,
25217 OPC_CheckPatternPredicate0,
25218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_B),
25219 MVT::v32i8, 2, 0, 1,
25220 13,
25221 OPC_CheckChild0Integer, 78|128,93,
25222 OPC_RecordChild1,
25223 OPC_RecordChild2,
25224 OPC_CheckPatternPredicate0,
25225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_B),
25226 MVT::v32i8, 2, 0, 1,
25227 13,
25228 OPC_CheckChild0Integer, 108|128,96,
25229 OPC_RecordChild1,
25230 OPC_RecordChild2,
25231 OPC_CheckPatternPredicate0,
25232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_H),
25233 MVT::v16i16, 2, 0, 1,
25234 13,
25235 OPC_CheckChild0Integer, 110|128,96,
25236 OPC_RecordChild1,
25237 OPC_RecordChild2,
25238 OPC_CheckPatternPredicate0,
25239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_HU),
25240 MVT::v16i16, 2, 0, 1,
25241 13,
25242 OPC_CheckChild0Integer, 120|128,99,
25243 OPC_RecordChild1,
25244 OPC_RecordChild2,
25245 OPC_CheckPatternPredicate0,
25246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_H),
25247 MVT::v16i16, 2, 0, 1,
25248 13,
25249 OPC_CheckChild0Integer, 122|128,99,
25250 OPC_RecordChild1,
25251 OPC_RecordChild2,
25252 OPC_CheckPatternPredicate0,
25253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_HU),
25254 MVT::v16i16, 2, 0, 1,
25255 13,
25256 OPC_CheckChild0Integer, 58|128,93,
25257 OPC_RecordChild1,
25258 OPC_RecordChild2,
25259 OPC_CheckPatternPredicate0,
25260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_W_H),
25261 MVT::v8i32, 2, 0, 1,
25262 13,
25263 OPC_CheckChild0Integer, 60|128,93,
25264 OPC_RecordChild1,
25265 OPC_RecordChild2,
25266 OPC_CheckPatternPredicate0,
25267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_WU_HU),
25268 MVT::v8i32, 2, 0, 1,
25269 13,
25270 OPC_CheckChild0Integer, 74|128,93,
25271 OPC_RecordChild1,
25272 OPC_RecordChild2,
25273 OPC_CheckPatternPredicate0,
25274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_W_H),
25275 MVT::v8i32, 2, 0, 1,
25276 13,
25277 OPC_CheckChild0Integer, 76|128,93,
25278 OPC_RecordChild1,
25279 OPC_RecordChild2,
25280 OPC_CheckPatternPredicate0,
25281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_WU_HU),
25282 MVT::v8i32, 2, 0, 1,
25283 13,
25284 OPC_CheckChild0Integer, 98|128,89,
25285 OPC_RecordChild1,
25286 OPC_RecordChild2,
25287 OPC_CheckPatternPredicate0,
25288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_H),
25289 MVT::v8i32, 2, 0, 1,
25290 13,
25291 OPC_CheckChild0Integer, 122|128,89,
25292 OPC_RecordChild1,
25293 OPC_RecordChild2,
25294 OPC_CheckPatternPredicate0,
25295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_H),
25296 MVT::v8i32, 2, 0, 1,
25297 13,
25298 OPC_CheckChild0Integer, 42|128,100,
25299 OPC_RecordChild1,
25300 OPC_RecordChild2,
25301 OPC_CheckPatternPredicate0,
25302 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_H),
25303 MVT::v8i32, 2, 0, 1,
25304 13,
25305 OPC_CheckChild0Integer, 58|128,100,
25306 OPC_RecordChild1,
25307 OPC_RecordChild2,
25308 OPC_CheckPatternPredicate0,
25309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_H),
25310 MVT::v8i32, 2, 0, 1,
25311 13,
25312 OPC_CheckChild0Integer, 100|128,89,
25313 OPC_RecordChild1,
25314 OPC_RecordChild2,
25315 OPC_CheckPatternPredicate0,
25316 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU),
25317 MVT::v8i32, 2, 0, 1,
25318 13,
25319 OPC_CheckChild0Integer, 124|128,89,
25320 OPC_RecordChild1,
25321 OPC_RecordChild2,
25322 OPC_CheckPatternPredicate0,
25323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU),
25324 MVT::v8i32, 2, 0, 1,
25325 13,
25326 OPC_CheckChild0Integer, 44|128,100,
25327 OPC_RecordChild1,
25328 OPC_RecordChild2,
25329 OPC_CheckPatternPredicate0,
25330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_HU),
25331 MVT::v8i32, 2, 0, 1,
25332 13,
25333 OPC_CheckChild0Integer, 60|128,100,
25334 OPC_RecordChild1,
25335 OPC_RecordChild2,
25336 OPC_CheckPatternPredicate0,
25337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_HU),
25338 MVT::v8i32, 2, 0, 1,
25339 13,
25340 OPC_CheckChild0Integer, 102|128,89,
25341 OPC_RecordChild1,
25342 OPC_RecordChild2,
25343 OPC_CheckPatternPredicate0,
25344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU_H),
25345 MVT::v8i32, 2, 0, 1,
25346 13,
25347 OPC_CheckChild0Integer, 126|128,89,
25348 OPC_RecordChild1,
25349 OPC_RecordChild2,
25350 OPC_CheckPatternPredicate0,
25351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU_H),
25352 MVT::v8i32, 2, 0, 1,
25353 13,
25354 OPC_CheckChild0Integer, 14|128,90,
25355 OPC_RecordChild1,
25356 OPC_RecordChild2,
25357 OPC_CheckPatternPredicate0,
25358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_H),
25359 MVT::v16i16, 2, 0, 1,
25360 13,
25361 OPC_CheckChild0Integer, 16|128,90,
25362 OPC_RecordChild1,
25363 OPC_RecordChild2,
25364 OPC_CheckPatternPredicate0,
25365 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_HU),
25366 MVT::v16i16, 2, 0, 1,
25367 13,
25368 OPC_CheckChild0Integer, 30|128,90,
25369 OPC_RecordChild1,
25370 OPC_RecordChild2,
25371 OPC_CheckPatternPredicate0,
25372 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_H),
25373 MVT::v16i16, 2, 0, 1,
25374 13,
25375 OPC_CheckChild0Integer, 32|128,90,
25376 OPC_RecordChild1,
25377 OPC_RecordChild2,
25378 OPC_CheckPatternPredicate0,
25379 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_HU),
25380 MVT::v16i16, 2, 0, 1,
25381 13,
25382 OPC_CheckChild0Integer, 46|128,89,
25383 OPC_RecordChild1,
25384 OPC_RecordChild2,
25385 OPC_CheckPatternPredicate0,
25386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_H),
25387 MVT::v16i16, 2, 0, 1,
25388 13,
25389 OPC_CheckChild0Integer, 48|128,89,
25390 OPC_RecordChild1,
25391 OPC_RecordChild2,
25392 OPC_CheckPatternPredicate0,
25393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_HU),
25394 MVT::v16i16, 2, 0, 1,
25395 13,
25396 OPC_CheckChild0Integer, 68|128,89,
25397 OPC_RecordChild1,
25398 OPC_RecordChild2,
25399 OPC_CheckPatternPredicate0,
25400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_H),
25401 MVT::v16i16, 2, 0, 1,
25402 13,
25403 OPC_CheckChild0Integer, 24|128,95,
25404 OPC_RecordChild1,
25405 OPC_RecordChild2,
25406 OPC_CheckPatternPredicate0,
25407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
25408 MVT::v16i16, 2, 0, 1,
25409 13,
25410 OPC_CheckChild0Integer, 26|128,95,
25411 OPC_RecordChild1,
25412 OPC_RecordChild2,
25413 OPC_CheckPatternPredicate0,
25414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
25415 MVT::v16i16, 2, 0, 1,
25416 13,
25417 OPC_CheckChild0Integer, 58|128,95,
25418 OPC_RecordChild1,
25419 OPC_RecordChild2,
25420 OPC_CheckPatternPredicate0,
25421 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_H),
25422 MVT::v8i32, 2, 0, 1,
25423 13,
25424 OPC_CheckChild0Integer, 82|128,95,
25425 OPC_RecordChild1,
25426 OPC_RecordChild2,
25427 OPC_CheckPatternPredicate0,
25428 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_H),
25429 MVT::v8i32, 2, 0, 1,
25430 13,
25431 OPC_CheckChild0Integer, 60|128,95,
25432 OPC_RecordChild1,
25433 OPC_RecordChild2,
25434 OPC_CheckPatternPredicate0,
25435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU),
25436 MVT::v8i32, 2, 0, 1,
25437 13,
25438 OPC_CheckChild0Integer, 84|128,95,
25439 OPC_RecordChild1,
25440 OPC_RecordChild2,
25441 OPC_CheckPatternPredicate0,
25442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU),
25443 MVT::v8i32, 2, 0, 1,
25444 13,
25445 OPC_CheckChild0Integer, 62|128,95,
25446 OPC_RecordChild1,
25447 OPC_RecordChild2,
25448 OPC_CheckPatternPredicate0,
25449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU_H),
25450 MVT::v8i32, 2, 0, 1,
25451 13,
25452 OPC_CheckChild0Integer, 86|128,95,
25453 OPC_RecordChild1,
25454 OPC_RecordChild2,
25455 OPC_CheckPatternPredicate0,
25456 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU_H),
25457 MVT::v8i32, 2, 0, 1,
25458 13,
25459 OPC_CheckChild0Integer, 40|128,97,
25460 OPC_RecordChild1,
25461 OPC_RecordChild2,
25462 OPC_CheckPatternPredicate0,
25463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_H),
25464 MVT::v16i16, 2, 0, 1,
25465 13,
25466 OPC_CheckChild0Integer, 88|128,96,
25467 OPC_RecordChild1,
25468 OPC_RecordChild2,
25469 OPC_CheckPatternPredicate0,
25470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
25471 MVT::v16i16, 2, 0, 1,
25472 13,
25473 OPC_CheckChild0Integer, 102|128,98,
25474 OPC_RecordChild1,
25475 OPC_RecordChild2,
25476 OPC_CheckPatternPredicate0,
25477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_H),
25478 MVT::v16i16, 2, 0, 1,
25479 13,
25480 OPC_CheckChild0Integer, 42|128,98,
25481 OPC_RecordChild1,
25482 OPC_RecordChild2,
25483 OPC_CheckPatternPredicate0,
25484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_H),
25485 MVT::v16i16, 2, 0, 1,
25486 13,
25487 OPC_CheckChild0Integer, 84|128,98,
25488 OPC_RecordChild1,
25489 OPC_RecordChild2,
25490 OPC_CheckPatternPredicate0,
25491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_B_H),
25492 MVT::v32i8, 2, 0, 1,
25493 13,
25494 OPC_CheckChild0Integer, 24|128,98,
25495 OPC_RecordChild1,
25496 OPC_RecordChild2,
25497 OPC_CheckPatternPredicate0,
25498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_B_H),
25499 MVT::v32i8, 2, 0, 1,
25500 13,
25501 OPC_CheckChild0Integer, 114|128,98,
25502 OPC_RecordChild1,
25503 OPC_RecordChild2,
25504 OPC_CheckPatternPredicate0,
25505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_B_H),
25506 MVT::v32i8, 2, 0, 1,
25507 13,
25508 OPC_CheckChild0Integer, 54|128,98,
25509 OPC_RecordChild1,
25510 OPC_RecordChild2,
25511 OPC_CheckPatternPredicate0,
25512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_B_H),
25513 MVT::v32i8, 2, 0, 1,
25514 13,
25515 OPC_CheckChild0Integer, 56|128,99,
25516 OPC_RecordChild1,
25517 OPC_RecordChild2,
25518 OPC_CheckPatternPredicate0,
25519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_B_H),
25520 MVT::v32i8, 2, 0, 1,
25521 13,
25522 OPC_CheckChild0Integer, 0|128,99,
25523 OPC_RecordChild1,
25524 OPC_RecordChild2,
25525 OPC_CheckPatternPredicate0,
25526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_B_H),
25527 MVT::v32i8, 2, 0, 1,
25528 13,
25529 OPC_CheckChild0Integer, 58|128,99,
25530 OPC_RecordChild1,
25531 OPC_RecordChild2,
25532 OPC_CheckPatternPredicate0,
25533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_BU_H),
25534 MVT::v32i8, 2, 0, 1,
25535 13,
25536 OPC_CheckChild0Integer, 2|128,99,
25537 OPC_RecordChild1,
25538 OPC_RecordChild2,
25539 OPC_CheckPatternPredicate0,
25540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_BU_H),
25541 MVT::v32i8, 2, 0, 1,
25542 13,
25543 OPC_CheckChild0Integer, 84|128,99,
25544 OPC_RecordChild1,
25545 OPC_RecordChild2,
25546 OPC_CheckPatternPredicate0,
25547 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_B_H),
25548 MVT::v32i8, 2, 0, 1,
25549 13,
25550 OPC_CheckChild0Integer, 28|128,99,
25551 OPC_RecordChild1,
25552 OPC_RecordChild2,
25553 OPC_CheckPatternPredicate0,
25554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_B_H),
25555 MVT::v32i8, 2, 0, 1,
25556 13,
25557 OPC_CheckChild0Integer, 86|128,99,
25558 OPC_RecordChild1,
25559 OPC_RecordChild2,
25560 OPC_CheckPatternPredicate0,
25561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_BU_H),
25562 MVT::v32i8, 2, 0, 1,
25563 13,
25564 OPC_CheckChild0Integer, 30|128,99,
25565 OPC_RecordChild1,
25566 OPC_RecordChild2,
25567 OPC_CheckPatternPredicate0,
25568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_BU_H),
25569 MVT::v32i8, 2, 0, 1,
25570 13,
25571 OPC_CheckChild0Integer, 8|128,97,
25572 OPC_RecordChild1,
25573 OPC_RecordChild2,
25574 OPC_CheckPatternPredicate0,
25575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
25576 MVT::v16i16, 2, 0, 1,
25577 13,
25578 OPC_CheckChild0Integer, 52|128,97,
25579 OPC_RecordChild1,
25580 OPC_RecordChild2,
25581 OPC_CheckPatternPredicate0,
25582 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
25583 MVT::v16i16, 2, 0, 1,
25584 13,
25585 OPC_CheckChild0Integer, 54|128,97,
25586 OPC_RecordChild1,
25587 OPC_RecordChild2,
25588 OPC_CheckPatternPredicate0,
25589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
25590 MVT::v16i16, 2, 0, 1,
25591 13,
25592 OPC_CheckChild0Integer, 112|128,97,
25593 OPC_RecordChild1,
25594 OPC_RecordChild2,
25595 OPC_CheckPatternPredicate0,
25596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
25597 MVT::v16i16, 2, 0, 1,
25598 13,
25599 OPC_CheckChild0Integer, 114|128,97,
25600 OPC_RecordChild1,
25601 OPC_RecordChild2,
25602 OPC_CheckPatternPredicate0,
25603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
25604 MVT::v16i16, 2, 0, 1,
25605 13,
25606 OPC_CheckChild0Integer, 110|128,95,
25607 OPC_RecordChild1,
25608 OPC_RecordChild2,
25609 OPC_CheckPatternPredicate0,
25610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_H),
25611 MVT::v16i16, 2, 0, 1,
25612 13,
25613 OPC_CheckChild0Integer, 118|128,95,
25614 OPC_RecordChild1,
25615 OPC_RecordChild2,
25616 OPC_CheckPatternPredicate0,
25617 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_H),
25618 MVT::v16i16, 2, 0, 1,
25619 13,
25620 OPC_CheckChild0Integer, 14|128,96,
25621 OPC_RecordChild1,
25622 OPC_RecordChild2,
25623 OPC_CheckPatternPredicate0,
25624 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_H),
25625 MVT::v16i16, 2, 0, 1,
25626 13,
25627 OPC_CheckChild0Integer, 22|128,96,
25628 OPC_RecordChild1,
25629 OPC_RecordChild2,
25630 OPC_CheckPatternPredicate0,
25631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_H),
25632 MVT::v16i16, 2, 0, 1,
25633 13,
25634 OPC_CheckChild0Integer, 90|128,93,
25635 OPC_RecordChild1,
25636 OPC_RecordChild2,
25637 OPC_CheckPatternPredicate0,
25638 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_H),
25639 MVT::v16i16, 2, 0, 1,
25640 13,
25641 OPC_CheckChild0Integer, 82|128,93,
25642 OPC_RecordChild1,
25643 OPC_RecordChild2,
25644 OPC_CheckPatternPredicate0,
25645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_H),
25646 MVT::v16i16, 2, 0, 1,
25647 13,
25648 OPC_CheckChild0Integer, 112|128,96,
25649 OPC_RecordChild1,
25650 OPC_RecordChild2,
25651 OPC_CheckPatternPredicate0,
25652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_W),
25653 MVT::v8i32, 2, 0, 1,
25654 13,
25655 OPC_CheckChild0Integer, 114|128,96,
25656 OPC_RecordChild1,
25657 OPC_RecordChild2,
25658 OPC_CheckPatternPredicate0,
25659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_WU),
25660 MVT::v8i32, 2, 0, 1,
25661 13,
25662 OPC_CheckChild0Integer, 124|128,99,
25663 OPC_RecordChild1,
25664 OPC_RecordChild2,
25665 OPC_CheckPatternPredicate0,
25666 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_W),
25667 MVT::v8i32, 2, 0, 1,
25668 13,
25669 OPC_CheckChild0Integer, 126|128,99,
25670 OPC_RecordChild1,
25671 OPC_RecordChild2,
25672 OPC_CheckPatternPredicate0,
25673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_WU),
25674 MVT::v8i32, 2, 0, 1,
25675 13,
25676 OPC_CheckChild0Integer, 46|128,93,
25677 OPC_RecordChild1,
25678 OPC_RecordChild2,
25679 OPC_CheckPatternPredicate0,
25680 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_D_W),
25681 MVT::v4i64, 2, 0, 1,
25682 13,
25683 OPC_CheckChild0Integer, 48|128,93,
25684 OPC_RecordChild1,
25685 OPC_RecordChild2,
25686 OPC_CheckPatternPredicate0,
25687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_DU_WU),
25688 MVT::v4i64, 2, 0, 1,
25689 13,
25690 OPC_CheckChild0Integer, 62|128,93,
25691 OPC_RecordChild1,
25692 OPC_RecordChild2,
25693 OPC_CheckPatternPredicate0,
25694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_D_W),
25695 MVT::v4i64, 2, 0, 1,
25696 13,
25697 OPC_CheckChild0Integer, 64|128,93,
25698 OPC_RecordChild1,
25699 OPC_RecordChild2,
25700 OPC_CheckPatternPredicate0,
25701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_DU_WU),
25702 MVT::v4i64, 2, 0, 1,
25703 13,
25704 OPC_CheckChild0Integer, 80|128,89,
25705 OPC_RecordChild1,
25706 OPC_RecordChild2,
25707 OPC_CheckPatternPredicate0,
25708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_W),
25709 MVT::v4i64, 2, 0, 1,
25710 13,
25711 OPC_CheckChild0Integer, 104|128,89,
25712 OPC_RecordChild1,
25713 OPC_RecordChild2,
25714 OPC_CheckPatternPredicate0,
25715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_W),
25716 MVT::v4i64, 2, 0, 1,
25717 13,
25718 OPC_CheckChild0Integer, 30|128,100,
25719 OPC_RecordChild1,
25720 OPC_RecordChild2,
25721 OPC_CheckPatternPredicate0,
25722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_W),
25723 MVT::v4i64, 2, 0, 1,
25724 13,
25725 OPC_CheckChild0Integer, 46|128,100,
25726 OPC_RecordChild1,
25727 OPC_RecordChild2,
25728 OPC_CheckPatternPredicate0,
25729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_W),
25730 MVT::v4i64, 2, 0, 1,
25731 13,
25732 OPC_CheckChild0Integer, 82|128,89,
25733 OPC_RecordChild1,
25734 OPC_RecordChild2,
25735 OPC_CheckPatternPredicate0,
25736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU),
25737 MVT::v4i64, 2, 0, 1,
25738 13,
25739 OPC_CheckChild0Integer, 106|128,89,
25740 OPC_RecordChild1,
25741 OPC_RecordChild2,
25742 OPC_CheckPatternPredicate0,
25743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU),
25744 MVT::v4i64, 2, 0, 1,
25745 13,
25746 OPC_CheckChild0Integer, 32|128,100,
25747 OPC_RecordChild1,
25748 OPC_RecordChild2,
25749 OPC_CheckPatternPredicate0,
25750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_WU),
25751 MVT::v4i64, 2, 0, 1,
25752 13,
25753 OPC_CheckChild0Integer, 48|128,100,
25754 OPC_RecordChild1,
25755 OPC_RecordChild2,
25756 OPC_CheckPatternPredicate0,
25757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_WU),
25758 MVT::v4i64, 2, 0, 1,
25759 13,
25760 OPC_CheckChild0Integer, 84|128,89,
25761 OPC_RecordChild1,
25762 OPC_RecordChild2,
25763 OPC_CheckPatternPredicate0,
25764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU_W),
25765 MVT::v4i64, 2, 0, 1,
25766 13,
25767 OPC_CheckChild0Integer, 108|128,89,
25768 OPC_RecordChild1,
25769 OPC_RecordChild2,
25770 OPC_CheckPatternPredicate0,
25771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU_W),
25772 MVT::v4i64, 2, 0, 1,
25773 13,
25774 OPC_CheckChild0Integer, 18|128,90,
25775 OPC_RecordChild1,
25776 OPC_RecordChild2,
25777 OPC_CheckPatternPredicate0,
25778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_W),
25779 MVT::v8i32, 2, 0, 1,
25780 13,
25781 OPC_CheckChild0Integer, 20|128,90,
25782 OPC_RecordChild1,
25783 OPC_RecordChild2,
25784 OPC_CheckPatternPredicate0,
25785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_WU),
25786 MVT::v8i32, 2, 0, 1,
25787 13,
25788 OPC_CheckChild0Integer, 34|128,90,
25789 OPC_RecordChild1,
25790 OPC_RecordChild2,
25791 OPC_CheckPatternPredicate0,
25792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_W),
25793 MVT::v8i32, 2, 0, 1,
25794 13,
25795 OPC_CheckChild0Integer, 36|128,90,
25796 OPC_RecordChild1,
25797 OPC_RecordChild2,
25798 OPC_CheckPatternPredicate0,
25799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_WU),
25800 MVT::v8i32, 2, 0, 1,
25801 13,
25802 OPC_CheckChild0Integer, 50|128,89,
25803 OPC_RecordChild1,
25804 OPC_RecordChild2,
25805 OPC_CheckPatternPredicate0,
25806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_W),
25807 MVT::v8i32, 2, 0, 1,
25808 13,
25809 OPC_CheckChild0Integer, 52|128,89,
25810 OPC_RecordChild1,
25811 OPC_RecordChild2,
25812 OPC_CheckPatternPredicate0,
25813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_WU),
25814 MVT::v8i32, 2, 0, 1,
25815 13,
25816 OPC_CheckChild0Integer, 70|128,89,
25817 OPC_RecordChild1,
25818 OPC_RecordChild2,
25819 OPC_CheckPatternPredicate0,
25820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_W),
25821 MVT::v8i32, 2, 0, 1,
25822 13,
25823 OPC_CheckChild0Integer, 28|128,95,
25824 OPC_RecordChild1,
25825 OPC_RecordChild2,
25826 OPC_CheckPatternPredicate0,
25827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
25828 MVT::v8i32, 2, 0, 1,
25829 13,
25830 OPC_CheckChild0Integer, 30|128,95,
25831 OPC_RecordChild1,
25832 OPC_RecordChild2,
25833 OPC_CheckPatternPredicate0,
25834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
25835 MVT::v8i32, 2, 0, 1,
25836 13,
25837 OPC_CheckChild0Integer, 40|128,95,
25838 OPC_RecordChild1,
25839 OPC_RecordChild2,
25840 OPC_CheckPatternPredicate0,
25841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_W),
25842 MVT::v4i64, 2, 0, 1,
25843 13,
25844 OPC_CheckChild0Integer, 64|128,95,
25845 OPC_RecordChild1,
25846 OPC_RecordChild2,
25847 OPC_CheckPatternPredicate0,
25848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_W),
25849 MVT::v4i64, 2, 0, 1,
25850 13,
25851 OPC_CheckChild0Integer, 42|128,95,
25852 OPC_RecordChild1,
25853 OPC_RecordChild2,
25854 OPC_CheckPatternPredicate0,
25855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU),
25856 MVT::v4i64, 2, 0, 1,
25857 13,
25858 OPC_CheckChild0Integer, 66|128,95,
25859 OPC_RecordChild1,
25860 OPC_RecordChild2,
25861 OPC_CheckPatternPredicate0,
25862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU),
25863 MVT::v4i64, 2, 0, 1,
25864 13,
25865 OPC_CheckChild0Integer, 44|128,95,
25866 OPC_RecordChild1,
25867 OPC_RecordChild2,
25868 OPC_CheckPatternPredicate0,
25869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU_W),
25870 MVT::v4i64, 2, 0, 1,
25871 13,
25872 OPC_CheckChild0Integer, 68|128,95,
25873 OPC_RecordChild1,
25874 OPC_RecordChild2,
25875 OPC_CheckPatternPredicate0,
25876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU_W),
25877 MVT::v4i64, 2, 0, 1,
25878 13,
25879 OPC_CheckChild0Integer, 42|128,97,
25880 OPC_RecordChild1,
25881 OPC_RecordChild2,
25882 OPC_CheckPatternPredicate0,
25883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_W),
25884 MVT::v8i32, 2, 0, 1,
25885 13,
25886 OPC_CheckChild0Integer, 90|128,96,
25887 OPC_RecordChild1,
25888 OPC_RecordChild2,
25889 OPC_CheckPatternPredicate0,
25890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
25891 MVT::v8i32, 2, 0, 1,
25892 13,
25893 OPC_CheckChild0Integer, 104|128,98,
25894 OPC_RecordChild1,
25895 OPC_RecordChild2,
25896 OPC_CheckPatternPredicate0,
25897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_W),
25898 MVT::v8i32, 2, 0, 1,
25899 13,
25900 OPC_CheckChild0Integer, 44|128,98,
25901 OPC_RecordChild1,
25902 OPC_RecordChild2,
25903 OPC_CheckPatternPredicate0,
25904 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_W),
25905 MVT::v8i32, 2, 0, 1,
25906 13,
25907 OPC_CheckChild0Integer, 86|128,98,
25908 OPC_RecordChild1,
25909 OPC_RecordChild2,
25910 OPC_CheckPatternPredicate0,
25911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_H_W),
25912 MVT::v16i16, 2, 0, 1,
25913 13,
25914 OPC_CheckChild0Integer, 26|128,98,
25915 OPC_RecordChild1,
25916 OPC_RecordChild2,
25917 OPC_CheckPatternPredicate0,
25918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_H_W),
25919 MVT::v16i16, 2, 0, 1,
25920 13,
25921 OPC_CheckChild0Integer, 116|128,98,
25922 OPC_RecordChild1,
25923 OPC_RecordChild2,
25924 OPC_CheckPatternPredicate0,
25925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_H_W),
25926 MVT::v16i16, 2, 0, 1,
25927 13,
25928 OPC_CheckChild0Integer, 56|128,98,
25929 OPC_RecordChild1,
25930 OPC_RecordChild2,
25931 OPC_CheckPatternPredicate0,
25932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_H_W),
25933 MVT::v16i16, 2, 0, 1,
25934 13,
25935 OPC_CheckChild0Integer, 60|128,99,
25936 OPC_RecordChild1,
25937 OPC_RecordChild2,
25938 OPC_CheckPatternPredicate0,
25939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_H_W),
25940 MVT::v16i16, 2, 0, 1,
25941 13,
25942 OPC_CheckChild0Integer, 4|128,99,
25943 OPC_RecordChild1,
25944 OPC_RecordChild2,
25945 OPC_CheckPatternPredicate0,
25946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_H_W),
25947 MVT::v16i16, 2, 0, 1,
25948 13,
25949 OPC_CheckChild0Integer, 62|128,99,
25950 OPC_RecordChild1,
25951 OPC_RecordChild2,
25952 OPC_CheckPatternPredicate0,
25953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_HU_W),
25954 MVT::v16i16, 2, 0, 1,
25955 13,
25956 OPC_CheckChild0Integer, 6|128,99,
25957 OPC_RecordChild1,
25958 OPC_RecordChild2,
25959 OPC_CheckPatternPredicate0,
25960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_HU_W),
25961 MVT::v16i16, 2, 0, 1,
25962 13,
25963 OPC_CheckChild0Integer, 88|128,99,
25964 OPC_RecordChild1,
25965 OPC_RecordChild2,
25966 OPC_CheckPatternPredicate0,
25967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_H_W),
25968 MVT::v16i16, 2, 0, 1,
25969 13,
25970 OPC_CheckChild0Integer, 32|128,99,
25971 OPC_RecordChild1,
25972 OPC_RecordChild2,
25973 OPC_CheckPatternPredicate0,
25974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_H_W),
25975 MVT::v16i16, 2, 0, 1,
25976 13,
25977 OPC_CheckChild0Integer, 90|128,99,
25978 OPC_RecordChild1,
25979 OPC_RecordChild2,
25980 OPC_CheckPatternPredicate0,
25981 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_HU_W),
25982 MVT::v16i16, 2, 0, 1,
25983 13,
25984 OPC_CheckChild0Integer, 34|128,99,
25985 OPC_RecordChild1,
25986 OPC_RecordChild2,
25987 OPC_CheckPatternPredicate0,
25988 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_HU_W),
25989 MVT::v16i16, 2, 0, 1,
25990 13,
25991 OPC_CheckChild0Integer, 10|128,97,
25992 OPC_RecordChild1,
25993 OPC_RecordChild2,
25994 OPC_CheckPatternPredicate0,
25995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
25996 MVT::v8i32, 2, 0, 1,
25997 13,
25998 OPC_CheckChild0Integer, 56|128,97,
25999 OPC_RecordChild1,
26000 OPC_RecordChild2,
26001 OPC_CheckPatternPredicate0,
26002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
26003 MVT::v8i32, 2, 0, 1,
26004 13,
26005 OPC_CheckChild0Integer, 58|128,97,
26006 OPC_RecordChild1,
26007 OPC_RecordChild2,
26008 OPC_CheckPatternPredicate0,
26009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
26010 MVT::v8i32, 2, 0, 1,
26011 13,
26012 OPC_CheckChild0Integer, 116|128,97,
26013 OPC_RecordChild1,
26014 OPC_RecordChild2,
26015 OPC_CheckPatternPredicate0,
26016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
26017 MVT::v8i32, 2, 0, 1,
26018 13,
26019 OPC_CheckChild0Integer, 118|128,97,
26020 OPC_RecordChild1,
26021 OPC_RecordChild2,
26022 OPC_CheckPatternPredicate0,
26023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
26024 MVT::v8i32, 2, 0, 1,
26025 13,
26026 OPC_CheckChild0Integer, 112|128,95,
26027 OPC_RecordChild1,
26028 OPC_RecordChild2,
26029 OPC_CheckPatternPredicate0,
26030 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
26031 MVT::v8i32, 2, 0, 1,
26032 13,
26033 OPC_CheckChild0Integer, 120|128,95,
26034 OPC_RecordChild1,
26035 OPC_RecordChild2,
26036 OPC_CheckPatternPredicate0,
26037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
26038 MVT::v8i32, 2, 0, 1,
26039 13,
26040 OPC_CheckChild0Integer, 16|128,96,
26041 OPC_RecordChild1,
26042 OPC_RecordChild2,
26043 OPC_CheckPatternPredicate0,
26044 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
26045 MVT::v8i32, 2, 0, 1,
26046 13,
26047 OPC_CheckChild0Integer, 24|128,96,
26048 OPC_RecordChild1,
26049 OPC_RecordChild2,
26050 OPC_CheckPatternPredicate0,
26051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
26052 MVT::v8i32, 2, 0, 1,
26053 13,
26054 OPC_CheckChild0Integer, 92|128,93,
26055 OPC_RecordChild1,
26056 OPC_RecordChild2,
26057 OPC_CheckPatternPredicate0,
26058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
26059 MVT::v8i32, 2, 0, 1,
26060 13,
26061 OPC_CheckChild0Integer, 84|128,93,
26062 OPC_RecordChild1,
26063 OPC_RecordChild2,
26064 OPC_CheckPatternPredicate0,
26065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
26066 MVT::v8i32, 2, 0, 1,
26067 13,
26068 OPC_CheckChild0Integer, 2|128,96,
26069 OPC_RecordChild1,
26070 OPC_RecordChild2,
26071 OPC_CheckPatternPredicate0,
26072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
26073 MVT::v8i32, 2, 0, 1,
26074 13,
26075 OPC_CheckChild0Integer, 60|128,89,
26076 OPC_RecordChild1,
26077 OPC_RecordChild2,
26078 OPC_CheckPatternPredicate0,
26079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_Q),
26080 MVT::v4i64, 2, 0, 1,
26081 13,
26082 OPC_CheckChild0Integer, 18|128,100,
26083 OPC_RecordChild1,
26084 OPC_RecordChild2,
26085 OPC_CheckPatternPredicate0,
26086 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_Q),
26087 MVT::v4i64, 2, 0, 1,
26088 13,
26089 OPC_CheckChild0Integer, 104|128,96,
26090 OPC_RecordChild1,
26091 OPC_RecordChild2,
26092 OPC_CheckPatternPredicate0,
26093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_D),
26094 MVT::v4i64, 2, 0, 1,
26095 13,
26096 OPC_CheckChild0Integer, 106|128,96,
26097 OPC_RecordChild1,
26098 OPC_RecordChild2,
26099 OPC_CheckPatternPredicate0,
26100 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_DU),
26101 MVT::v4i64, 2, 0, 1,
26102 13,
26103 OPC_CheckChild0Integer, 116|128,99,
26104 OPC_RecordChild1,
26105 OPC_RecordChild2,
26106 OPC_CheckPatternPredicate0,
26107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_D),
26108 MVT::v4i64, 2, 0, 1,
26109 13,
26110 OPC_CheckChild0Integer, 118|128,99,
26111 OPC_RecordChild1,
26112 OPC_RecordChild2,
26113 OPC_CheckPatternPredicate0,
26114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_DU),
26115 MVT::v4i64, 2, 0, 1,
26116 13,
26117 OPC_CheckChild0Integer, 54|128,93,
26118 OPC_RecordChild1,
26119 OPC_RecordChild2,
26120 OPC_CheckPatternPredicate0,
26121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_Q_D),
26122 MVT::v4i64, 2, 0, 1,
26123 13,
26124 OPC_CheckChild0Integer, 56|128,93,
26125 OPC_RecordChild1,
26126 OPC_RecordChild2,
26127 OPC_CheckPatternPredicate0,
26128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_QU_DU),
26129 MVT::v4i64, 2, 0, 1,
26130 13,
26131 OPC_CheckChild0Integer, 70|128,93,
26132 OPC_RecordChild1,
26133 OPC_RecordChild2,
26134 OPC_CheckPatternPredicate0,
26135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_Q_D),
26136 MVT::v4i64, 2, 0, 1,
26137 13,
26138 OPC_CheckChild0Integer, 72|128,93,
26139 OPC_RecordChild1,
26140 OPC_RecordChild2,
26141 OPC_CheckPatternPredicate0,
26142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_QU_DU),
26143 MVT::v4i64, 2, 0, 1,
26144 13,
26145 OPC_CheckChild0Integer, 92|128,89,
26146 OPC_RecordChild1,
26147 OPC_RecordChild2,
26148 OPC_CheckPatternPredicate0,
26149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_D),
26150 MVT::v4i64, 2, 0, 1,
26151 13,
26152 OPC_CheckChild0Integer, 116|128,89,
26153 OPC_RecordChild1,
26154 OPC_RecordChild2,
26155 OPC_CheckPatternPredicate0,
26156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_D),
26157 MVT::v4i64, 2, 0, 1,
26158 13,
26159 OPC_CheckChild0Integer, 38|128,100,
26160 OPC_RecordChild1,
26161 OPC_RecordChild2,
26162 OPC_CheckPatternPredicate0,
26163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_D),
26164 MVT::v4i64, 2, 0, 1,
26165 13,
26166 OPC_CheckChild0Integer, 54|128,100,
26167 OPC_RecordChild1,
26168 OPC_RecordChild2,
26169 OPC_CheckPatternPredicate0,
26170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_D),
26171 MVT::v4i64, 2, 0, 1,
26172 13,
26173 OPC_CheckChild0Integer, 94|128,89,
26174 OPC_RecordChild1,
26175 OPC_RecordChild2,
26176 OPC_CheckPatternPredicate0,
26177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU),
26178 MVT::v4i64, 2, 0, 1,
26179 13,
26180 OPC_CheckChild0Integer, 118|128,89,
26181 OPC_RecordChild1,
26182 OPC_RecordChild2,
26183 OPC_CheckPatternPredicate0,
26184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU),
26185 MVT::v4i64, 2, 0, 1,
26186 13,
26187 OPC_CheckChild0Integer, 40|128,100,
26188 OPC_RecordChild1,
26189 OPC_RecordChild2,
26190 OPC_CheckPatternPredicate0,
26191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_DU),
26192 MVT::v4i64, 2, 0, 1,
26193 13,
26194 OPC_CheckChild0Integer, 56|128,100,
26195 OPC_RecordChild1,
26196 OPC_RecordChild2,
26197 OPC_CheckPatternPredicate0,
26198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_DU),
26199 MVT::v4i64, 2, 0, 1,
26200 13,
26201 OPC_CheckChild0Integer, 96|128,89,
26202 OPC_RecordChild1,
26203 OPC_RecordChild2,
26204 OPC_CheckPatternPredicate0,
26205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU_D),
26206 MVT::v4i64, 2, 0, 1,
26207 13,
26208 OPC_CheckChild0Integer, 120|128,89,
26209 OPC_RecordChild1,
26210 OPC_RecordChild2,
26211 OPC_CheckPatternPredicate0,
26212 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU_D),
26213 MVT::v4i64, 2, 0, 1,
26214 13,
26215 OPC_CheckChild0Integer, 10|128,90,
26216 OPC_RecordChild1,
26217 OPC_RecordChild2,
26218 OPC_CheckPatternPredicate0,
26219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_D),
26220 MVT::v4i64, 2, 0, 1,
26221 13,
26222 OPC_CheckChild0Integer, 12|128,90,
26223 OPC_RecordChild1,
26224 OPC_RecordChild2,
26225 OPC_CheckPatternPredicate0,
26226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_DU),
26227 MVT::v4i64, 2, 0, 1,
26228 13,
26229 OPC_CheckChild0Integer, 26|128,90,
26230 OPC_RecordChild1,
26231 OPC_RecordChild2,
26232 OPC_CheckPatternPredicate0,
26233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_D),
26234 MVT::v4i64, 2, 0, 1,
26235 13,
26236 OPC_CheckChild0Integer, 28|128,90,
26237 OPC_RecordChild1,
26238 OPC_RecordChild2,
26239 OPC_CheckPatternPredicate0,
26240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_DU),
26241 MVT::v4i64, 2, 0, 1,
26242 13,
26243 OPC_CheckChild0Integer, 42|128,89,
26244 OPC_RecordChild1,
26245 OPC_RecordChild2,
26246 OPC_CheckPatternPredicate0,
26247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_D),
26248 MVT::v4i64, 2, 0, 1,
26249 13,
26250 OPC_CheckChild0Integer, 44|128,89,
26251 OPC_RecordChild1,
26252 OPC_RecordChild2,
26253 OPC_CheckPatternPredicate0,
26254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_DU),
26255 MVT::v4i64, 2, 0, 1,
26256 13,
26257 OPC_CheckChild0Integer, 66|128,89,
26258 OPC_RecordChild1,
26259 OPC_RecordChild2,
26260 OPC_CheckPatternPredicate0,
26261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_D),
26262 MVT::v4i64, 2, 0, 1,
26263 13,
26264 OPC_CheckChild0Integer, 20|128,95,
26265 OPC_RecordChild1,
26266 OPC_RecordChild2,
26267 OPC_CheckPatternPredicate0,
26268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
26269 MVT::v4i64, 2, 0, 1,
26270 13,
26271 OPC_CheckChild0Integer, 22|128,95,
26272 OPC_RecordChild1,
26273 OPC_RecordChild2,
26274 OPC_CheckPatternPredicate0,
26275 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
26276 MVT::v4i64, 2, 0, 1,
26277 13,
26278 OPC_CheckChild0Integer, 52|128,95,
26279 OPC_RecordChild1,
26280 OPC_RecordChild2,
26281 OPC_CheckPatternPredicate0,
26282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_D),
26283 MVT::v4i64, 2, 0, 1,
26284 13,
26285 OPC_CheckChild0Integer, 76|128,95,
26286 OPC_RecordChild1,
26287 OPC_RecordChild2,
26288 OPC_CheckPatternPredicate0,
26289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_D),
26290 MVT::v4i64, 2, 0, 1,
26291 13,
26292 OPC_CheckChild0Integer, 54|128,95,
26293 OPC_RecordChild1,
26294 OPC_RecordChild2,
26295 OPC_CheckPatternPredicate0,
26296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU),
26297 MVT::v4i64, 2, 0, 1,
26298 13,
26299 OPC_CheckChild0Integer, 78|128,95,
26300 OPC_RecordChild1,
26301 OPC_RecordChild2,
26302 OPC_CheckPatternPredicate0,
26303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU),
26304 MVT::v4i64, 2, 0, 1,
26305 13,
26306 OPC_CheckChild0Integer, 56|128,95,
26307 OPC_RecordChild1,
26308 OPC_RecordChild2,
26309 OPC_CheckPatternPredicate0,
26310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU_D),
26311 MVT::v4i64, 2, 0, 1,
26312 13,
26313 OPC_CheckChild0Integer, 80|128,95,
26314 OPC_RecordChild1,
26315 OPC_RecordChild2,
26316 OPC_CheckPatternPredicate0,
26317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU_D),
26318 MVT::v4i64, 2, 0, 1,
26319 13,
26320 OPC_CheckChild0Integer, 38|128,97,
26321 OPC_RecordChild1,
26322 OPC_RecordChild2,
26323 OPC_CheckPatternPredicate0,
26324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_D),
26325 MVT::v4i64, 2, 0, 1,
26326 13,
26327 OPC_CheckChild0Integer, 86|128,96,
26328 OPC_RecordChild1,
26329 OPC_RecordChild2,
26330 OPC_CheckPatternPredicate0,
26331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
26332 MVT::v4i64, 2, 0, 1,
26333 13,
26334 OPC_CheckChild0Integer, 100|128,98,
26335 OPC_RecordChild1,
26336 OPC_RecordChild2,
26337 OPC_CheckPatternPredicate0,
26338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_D),
26339 MVT::v4i64, 2, 0, 1,
26340 13,
26341 OPC_CheckChild0Integer, 40|128,98,
26342 OPC_RecordChild1,
26343 OPC_RecordChild2,
26344 OPC_CheckPatternPredicate0,
26345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_D),
26346 MVT::v4i64, 2, 0, 1,
26347 13,
26348 OPC_CheckChild0Integer, 88|128,98,
26349 OPC_RecordChild1,
26350 OPC_RecordChild2,
26351 OPC_CheckPatternPredicate0,
26352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_W_D),
26353 MVT::v8i32, 2, 0, 1,
26354 13,
26355 OPC_CheckChild0Integer, 28|128,98,
26356 OPC_RecordChild1,
26357 OPC_RecordChild2,
26358 OPC_CheckPatternPredicate0,
26359 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_W_D),
26360 MVT::v8i32, 2, 0, 1,
26361 13,
26362 OPC_CheckChild0Integer, 118|128,98,
26363 OPC_RecordChild1,
26364 OPC_RecordChild2,
26365 OPC_CheckPatternPredicate0,
26366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_W_D),
26367 MVT::v8i32, 2, 0, 1,
26368 13,
26369 OPC_CheckChild0Integer, 58|128,98,
26370 OPC_RecordChild1,
26371 OPC_RecordChild2,
26372 OPC_CheckPatternPredicate0,
26373 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_W_D),
26374 MVT::v8i32, 2, 0, 1,
26375 13,
26376 OPC_CheckChild0Integer, 64|128,99,
26377 OPC_RecordChild1,
26378 OPC_RecordChild2,
26379 OPC_CheckPatternPredicate0,
26380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_W_D),
26381 MVT::v8i32, 2, 0, 1,
26382 13,
26383 OPC_CheckChild0Integer, 8|128,99,
26384 OPC_RecordChild1,
26385 OPC_RecordChild2,
26386 OPC_CheckPatternPredicate0,
26387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_W_D),
26388 MVT::v8i32, 2, 0, 1,
26389 13,
26390 OPC_CheckChild0Integer, 66|128,99,
26391 OPC_RecordChild1,
26392 OPC_RecordChild2,
26393 OPC_CheckPatternPredicate0,
26394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_WU_D),
26395 MVT::v8i32, 2, 0, 1,
26396 13,
26397 OPC_CheckChild0Integer, 10|128,99,
26398 OPC_RecordChild1,
26399 OPC_RecordChild2,
26400 OPC_CheckPatternPredicate0,
26401 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_WU_D),
26402 MVT::v8i32, 2, 0, 1,
26403 13,
26404 OPC_CheckChild0Integer, 92|128,99,
26405 OPC_RecordChild1,
26406 OPC_RecordChild2,
26407 OPC_CheckPatternPredicate0,
26408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_W_D),
26409 MVT::v8i32, 2, 0, 1,
26410 13,
26411 OPC_CheckChild0Integer, 36|128,99,
26412 OPC_RecordChild1,
26413 OPC_RecordChild2,
26414 OPC_CheckPatternPredicate0,
26415 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_W_D),
26416 MVT::v8i32, 2, 0, 1,
26417 13,
26418 OPC_CheckChild0Integer, 94|128,99,
26419 OPC_RecordChild1,
26420 OPC_RecordChild2,
26421 OPC_CheckPatternPredicate0,
26422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_WU_D),
26423 MVT::v8i32, 2, 0, 1,
26424 13,
26425 OPC_CheckChild0Integer, 38|128,99,
26426 OPC_RecordChild1,
26427 OPC_RecordChild2,
26428 OPC_CheckPatternPredicate0,
26429 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_WU_D),
26430 MVT::v8i32, 2, 0, 1,
26431 13,
26432 OPC_CheckChild0Integer, 6|128,97,
26433 OPC_RecordChild1,
26434 OPC_RecordChild2,
26435 OPC_CheckPatternPredicate0,
26436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
26437 MVT::v4i64, 2, 0, 1,
26438 13,
26439 OPC_CheckChild0Integer, 48|128,97,
26440 OPC_RecordChild1,
26441 OPC_RecordChild2,
26442 OPC_CheckPatternPredicate0,
26443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
26444 MVT::v4i64, 2, 0, 1,
26445 13,
26446 OPC_CheckChild0Integer, 50|128,97,
26447 OPC_RecordChild1,
26448 OPC_RecordChild2,
26449 OPC_CheckPatternPredicate0,
26450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
26451 MVT::v4i64, 2, 0, 1,
26452 13,
26453 OPC_CheckChild0Integer, 108|128,97,
26454 OPC_RecordChild1,
26455 OPC_RecordChild2,
26456 OPC_CheckPatternPredicate0,
26457 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
26458 MVT::v4i64, 2, 0, 1,
26459 13,
26460 OPC_CheckChild0Integer, 110|128,97,
26461 OPC_RecordChild1,
26462 OPC_RecordChild2,
26463 OPC_CheckPatternPredicate0,
26464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
26465 MVT::v4i64, 2, 0, 1,
26466 13,
26467 OPC_CheckChild0Integer, 108|128,95,
26468 OPC_RecordChild1,
26469 OPC_RecordChild2,
26470 OPC_CheckPatternPredicate0,
26471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
26472 MVT::v4i64, 2, 0, 1,
26473 13,
26474 OPC_CheckChild0Integer, 116|128,95,
26475 OPC_RecordChild1,
26476 OPC_RecordChild2,
26477 OPC_CheckPatternPredicate0,
26478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
26479 MVT::v4i64, 2, 0, 1,
26480 13,
26481 OPC_CheckChild0Integer, 12|128,96,
26482 OPC_RecordChild1,
26483 OPC_RecordChild2,
26484 OPC_CheckPatternPredicate0,
26485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
26486 MVT::v4i64, 2, 0, 1,
26487 13,
26488 OPC_CheckChild0Integer, 20|128,96,
26489 OPC_RecordChild1,
26490 OPC_RecordChild2,
26491 OPC_CheckPatternPredicate0,
26492 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
26493 MVT::v4i64, 2, 0, 1,
26494 13,
26495 OPC_CheckChild0Integer, 88|128,93,
26496 OPC_RecordChild1,
26497 OPC_RecordChild2,
26498 OPC_CheckPatternPredicate0,
26499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
26500 MVT::v4i64, 2, 0, 1,
26501 13,
26502 OPC_CheckChild0Integer, 80|128,93,
26503 OPC_RecordChild1,
26504 OPC_RecordChild2,
26505 OPC_CheckPatternPredicate0,
26506 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
26507 MVT::v4i64, 2, 0, 1,
26508 15,
26509 OPC_CheckChild0Integer, 2|128,94,
26510 OPC_RecordChild1,
26511 OPC_RecordChild2,
26512 OPC_RecordChild3,
26513 OPC_CheckPatternPredicate0,
26514 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_B),
26515 MVT::v16i16, 3, 0, 1, 2,
26516 15,
26517 OPC_CheckChild0Integer, 26|128,94,
26518 OPC_RecordChild1,
26519 OPC_RecordChild2,
26520 OPC_RecordChild3,
26521 OPC_CheckPatternPredicate0,
26522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_B),
26523 MVT::v16i16, 3, 0, 1, 2,
26524 15,
26525 OPC_CheckChild0Integer, 4|128,94,
26526 OPC_RecordChild1,
26527 OPC_RecordChild2,
26528 OPC_RecordChild3,
26529 OPC_CheckPatternPredicate0,
26530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU),
26531 MVT::v16i16, 3, 0, 1, 2,
26532 15,
26533 OPC_CheckChild0Integer, 28|128,94,
26534 OPC_RecordChild1,
26535 OPC_RecordChild2,
26536 OPC_RecordChild3,
26537 OPC_CheckPatternPredicate0,
26538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU),
26539 MVT::v16i16, 3, 0, 1, 2,
26540 15,
26541 OPC_CheckChild0Integer, 6|128,94,
26542 OPC_RecordChild1,
26543 OPC_RecordChild2,
26544 OPC_RecordChild3,
26545 OPC_CheckPatternPredicate0,
26546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU_B),
26547 MVT::v16i16, 3, 0, 1, 2,
26548 15,
26549 OPC_CheckChild0Integer, 30|128,94,
26550 OPC_RecordChild1,
26551 OPC_RecordChild2,
26552 OPC_RecordChild3,
26553 OPC_CheckPatternPredicate0,
26554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU_B),
26555 MVT::v16i16, 3, 0, 1, 2,
26556 15,
26557 OPC_CheckChild0Integer, 14|128,94,
26558 OPC_RecordChild1,
26559 OPC_RecordChild2,
26560 OPC_RecordChild3,
26561 OPC_CheckPatternPredicate0,
26562 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_H),
26563 MVT::v8i32, 3, 0, 1, 2,
26564 15,
26565 OPC_CheckChild0Integer, 38|128,94,
26566 OPC_RecordChild1,
26567 OPC_RecordChild2,
26568 OPC_RecordChild3,
26569 OPC_CheckPatternPredicate0,
26570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_H),
26571 MVT::v8i32, 3, 0, 1, 2,
26572 15,
26573 OPC_CheckChild0Integer, 16|128,94,
26574 OPC_RecordChild1,
26575 OPC_RecordChild2,
26576 OPC_RecordChild3,
26577 OPC_CheckPatternPredicate0,
26578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU),
26579 MVT::v8i32, 3, 0, 1, 2,
26580 15,
26581 OPC_CheckChild0Integer, 40|128,94,
26582 OPC_RecordChild1,
26583 OPC_RecordChild2,
26584 OPC_RecordChild3,
26585 OPC_CheckPatternPredicate0,
26586 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU),
26587 MVT::v8i32, 3, 0, 1, 2,
26588 15,
26589 OPC_CheckChild0Integer, 18|128,94,
26590 OPC_RecordChild1,
26591 OPC_RecordChild2,
26592 OPC_RecordChild3,
26593 OPC_CheckPatternPredicate0,
26594 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU_H),
26595 MVT::v8i32, 3, 0, 1, 2,
26596 15,
26597 OPC_CheckChild0Integer, 42|128,94,
26598 OPC_RecordChild1,
26599 OPC_RecordChild2,
26600 OPC_RecordChild3,
26601 OPC_CheckPatternPredicate0,
26602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU_H),
26603 MVT::v8i32, 3, 0, 1, 2,
26604 15,
26605 OPC_CheckChild0Integer, 124|128,93,
26606 OPC_RecordChild1,
26607 OPC_RecordChild2,
26608 OPC_RecordChild3,
26609 OPC_CheckPatternPredicate0,
26610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_W),
26611 MVT::v4i64, 3, 0, 1, 2,
26612 15,
26613 OPC_CheckChild0Integer, 20|128,94,
26614 OPC_RecordChild1,
26615 OPC_RecordChild2,
26616 OPC_RecordChild3,
26617 OPC_CheckPatternPredicate0,
26618 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_W),
26619 MVT::v4i64, 3, 0, 1, 2,
26620 15,
26621 OPC_CheckChild0Integer, 126|128,93,
26622 OPC_RecordChild1,
26623 OPC_RecordChild2,
26624 OPC_RecordChild3,
26625 OPC_CheckPatternPredicate0,
26626 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU),
26627 MVT::v4i64, 3, 0, 1, 2,
26628 15,
26629 OPC_CheckChild0Integer, 22|128,94,
26630 OPC_RecordChild1,
26631 OPC_RecordChild2,
26632 OPC_RecordChild3,
26633 OPC_CheckPatternPredicate0,
26634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU),
26635 MVT::v4i64, 3, 0, 1, 2,
26636 15,
26637 OPC_CheckChild0Integer, 0|128,94,
26638 OPC_RecordChild1,
26639 OPC_RecordChild2,
26640 OPC_RecordChild3,
26641 OPC_CheckPatternPredicate0,
26642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU_W),
26643 MVT::v4i64, 3, 0, 1, 2,
26644 15,
26645 OPC_CheckChild0Integer, 24|128,94,
26646 OPC_RecordChild1,
26647 OPC_RecordChild2,
26648 OPC_RecordChild3,
26649 OPC_CheckPatternPredicate0,
26650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU_W),
26651 MVT::v4i64, 3, 0, 1, 2,
26652 15,
26653 OPC_CheckChild0Integer, 8|128,94,
26654 OPC_RecordChild1,
26655 OPC_RecordChild2,
26656 OPC_RecordChild3,
26657 OPC_CheckPatternPredicate0,
26658 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_D),
26659 MVT::v4i64, 3, 0, 1, 2,
26660 15,
26661 OPC_CheckChild0Integer, 32|128,94,
26662 OPC_RecordChild1,
26663 OPC_RecordChild2,
26664 OPC_RecordChild3,
26665 OPC_CheckPatternPredicate0,
26666 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_D),
26667 MVT::v4i64, 3, 0, 1, 2,
26668 15,
26669 OPC_CheckChild0Integer, 10|128,94,
26670 OPC_RecordChild1,
26671 OPC_RecordChild2,
26672 OPC_RecordChild3,
26673 OPC_CheckPatternPredicate0,
26674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU),
26675 MVT::v4i64, 3, 0, 1, 2,
26676 15,
26677 OPC_CheckChild0Integer, 34|128,94,
26678 OPC_RecordChild1,
26679 OPC_RecordChild2,
26680 OPC_RecordChild3,
26681 OPC_CheckPatternPredicate0,
26682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU),
26683 MVT::v4i64, 3, 0, 1, 2,
26684 15,
26685 OPC_CheckChild0Integer, 12|128,94,
26686 OPC_RecordChild1,
26687 OPC_RecordChild2,
26688 OPC_RecordChild3,
26689 OPC_CheckPatternPredicate0,
26690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU_D),
26691 MVT::v4i64, 3, 0, 1, 2,
26692 15,
26693 OPC_CheckChild0Integer, 36|128,94,
26694 OPC_RecordChild1,
26695 OPC_RecordChild2,
26696 OPC_RecordChild3,
26697 OPC_CheckPatternPredicate0,
26698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU_D),
26699 MVT::v4i64, 3, 0, 1, 2,
26700 11,
26701 OPC_CheckChild0Integer, 2|128,91,
26702 OPC_RecordChild1,
26703 OPC_CheckPatternPredicate0,
26704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_H_B),
26705 MVT::v16i16, 1, 0,
26706 11,
26707 OPC_CheckChild0Integer, 4|128,91,
26708 OPC_RecordChild1,
26709 OPC_CheckPatternPredicate0,
26710 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_HU_BU),
26711 MVT::v16i16, 1, 0,
26712 11,
26713 OPC_CheckChild0Integer, 126|128,94,
26714 OPC_RecordChild1,
26715 OPC_CheckPatternPredicate0,
26716 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_B),
26717 MVT::v32i8, 1, 0,
26718 11,
26719 OPC_CheckChild0Integer, 124|128,94,
26720 OPC_RecordChild1,
26721 OPC_CheckPatternPredicate0,
26722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKGEZ_B),
26723 MVT::v32i8, 1, 0,
26724 11,
26725 OPC_CheckChild0Integer, 6|128,95,
26726 OPC_RecordChild1,
26727 OPC_CheckPatternPredicate0,
26728 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKNZ_B),
26729 MVT::v32i8, 1, 0,
26730 11,
26731 OPC_CheckChild0Integer, 94|128,90,
26732 OPC_RecordChild1,
26733 OPC_CheckPatternPredicate0,
26734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_B),
26735 MVT::v32i8, 1, 0,
26736 11,
26737 OPC_CheckChild0Integer, 6|128,89,
26738 OPC_RecordChild1,
26739 OPC_CheckPatternPredicate0,
26740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
26741 MVT::v16i16, 1, 0,
26742 11,
26743 OPC_CheckChild0Integer, 8|128,89,
26744 OPC_RecordChild1,
26745 OPC_CheckPatternPredicate0,
26746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
26747 MVT::v16i16, 1, 0,
26748 11,
26749 OPC_CheckChild0Integer, 10|128,89,
26750 OPC_RecordChild1,
26751 OPC_CheckPatternPredicate0,
26752 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
26753 MVT::v8i32, 1, 0,
26754 11,
26755 OPC_CheckChild0Integer, 14|128,89,
26756 OPC_RecordChild1,
26757 OPC_CheckPatternPredicate0,
26758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
26759 MVT::v8i32, 1, 0,
26760 11,
26761 OPC_CheckChild0Integer, 122|128,88,
26762 OPC_RecordChild1,
26763 OPC_CheckPatternPredicate0,
26764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_B),
26765 MVT::v4i64, 1, 0,
26766 11,
26767 OPC_CheckChild0Integer, 0|128,89,
26768 OPC_RecordChild1,
26769 OPC_CheckPatternPredicate0,
26770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_BU),
26771 MVT::v4i64, 1, 0,
26772 11,
26773 OPC_CheckChild0Integer, 74|128,96,
26774 OPC_RecordChild1,
26775 OPC_CheckPatternPredicate0,
26776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_B),
26777 MVT::v32i8, 1, 0,
26778 11,
26779 OPC_CheckChild0Integer, 80|128,96,
26780 OPC_RecordChild1,
26781 OPC_CheckPatternPredicate0,
26782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
26783 MVT::v32i8, 1, 0,
26784 11,
26785 OPC_CheckChild0Integer, 10|128,91,
26786 OPC_RecordChild1,
26787 OPC_CheckPatternPredicate0,
26788 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_W_H),
26789 MVT::v8i32, 1, 0,
26790 11,
26791 OPC_CheckChild0Integer, 12|128,91,
26792 OPC_RecordChild1,
26793 OPC_CheckPatternPredicate0,
26794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_WU_HU),
26795 MVT::v8i32, 1, 0,
26796 11,
26797 OPC_CheckChild0Integer, 2|128,95,
26798 OPC_RecordChild1,
26799 OPC_CheckPatternPredicate0,
26800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_H),
26801 MVT::v16i16, 1, 0,
26802 11,
26803 OPC_CheckChild0Integer, 98|128,90,
26804 OPC_RecordChild1,
26805 OPC_CheckPatternPredicate0,
26806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_H),
26807 MVT::v16i16, 1, 0,
26808 11,
26809 OPC_CheckChild0Integer, 12|128,89,
26810 OPC_RecordChild1,
26811 OPC_CheckPatternPredicate0,
26812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
26813 MVT::v8i32, 1, 0,
26814 11,
26815 OPC_CheckChild0Integer, 16|128,89,
26816 OPC_RecordChild1,
26817 OPC_CheckPatternPredicate0,
26818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
26819 MVT::v8i32, 1, 0,
26820 11,
26821 OPC_CheckChild0Integer, 124|128,88,
26822 OPC_RecordChild1,
26823 OPC_CheckPatternPredicate0,
26824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_H),
26825 MVT::v4i64, 1, 0,
26826 11,
26827 OPC_CheckChild0Integer, 2|128,89,
26828 OPC_RecordChild1,
26829 OPC_CheckPatternPredicate0,
26830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_HU),
26831 MVT::v4i64, 1, 0,
26832 11,
26833 OPC_CheckChild0Integer, 78|128,96,
26834 OPC_RecordChild1,
26835 OPC_CheckPatternPredicate0,
26836 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_H),
26837 MVT::v16i16, 1, 0,
26838 11,
26839 OPC_CheckChild0Integer, 126|128,90,
26840 OPC_RecordChild1,
26841 OPC_CheckPatternPredicate0,
26842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_D_W),
26843 MVT::v4i64, 1, 0,
26844 11,
26845 OPC_CheckChild0Integer, 0|128,91,
26846 OPC_RecordChild1,
26847 OPC_CheckPatternPredicate0,
26848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_DU_WU),
26849 MVT::v4i64, 1, 0,
26850 11,
26851 OPC_CheckChild0Integer, 4|128,95,
26852 OPC_RecordChild1,
26853 OPC_CheckPatternPredicate0,
26854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_W),
26855 MVT::v8i32, 1, 0,
26856 11,
26857 OPC_CheckChild0Integer, 100|128,90,
26858 OPC_RecordChild1,
26859 OPC_CheckPatternPredicate0,
26860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_W),
26861 MVT::v8i32, 1, 0,
26862 11,
26863 OPC_CheckChild0Integer, 126|128,88,
26864 OPC_RecordChild1,
26865 OPC_CheckPatternPredicate0,
26866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
26867 MVT::v4i64, 1, 0,
26868 11,
26869 OPC_CheckChild0Integer, 4|128,89,
26870 OPC_RecordChild1,
26871 OPC_CheckPatternPredicate0,
26872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
26873 MVT::v4i64, 1, 0,
26874 11,
26875 OPC_CheckChild0Integer, 82|128,96,
26876 OPC_RecordChild1,
26877 OPC_CheckPatternPredicate0,
26878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
26879 MVT::v8i32, 1, 0,
26880 11,
26881 OPC_CheckChild0Integer, 6|128,91,
26882 OPC_RecordChild1,
26883 OPC_CheckPatternPredicate0,
26884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_Q_D),
26885 MVT::v4i64, 1, 0,
26886 11,
26887 OPC_CheckChild0Integer, 8|128,91,
26888 OPC_RecordChild1,
26889 OPC_CheckPatternPredicate0,
26890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_QU_DU),
26891 MVT::v4i64, 1, 0,
26892 11,
26893 OPC_CheckChild0Integer, 0|128,95,
26894 OPC_RecordChild1,
26895 OPC_CheckPatternPredicate0,
26896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_D),
26897 MVT::v4i64, 1, 0,
26898 11,
26899 OPC_CheckChild0Integer, 14|128,91,
26900 OPC_RecordChild1,
26901 OPC_CheckPatternPredicate0,
26902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_Q_D),
26903 MVT::v4i64, 1, 0,
26904 11,
26905 OPC_CheckChild0Integer, 16|128,91,
26906 OPC_RecordChild1,
26907 OPC_CheckPatternPredicate0,
26908 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_QU_DU),
26909 MVT::v4i64, 1, 0,
26910 11,
26911 OPC_CheckChild0Integer, 96|128,90,
26912 OPC_RecordChild1,
26913 OPC_CheckPatternPredicate0,
26914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_D),
26915 MVT::v4i64, 1, 0,
26916 11,
26917 OPC_CheckChild0Integer, 76|128,96,
26918 OPC_RecordChild1,
26919 OPC_CheckPatternPredicate0,
26920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
26921 MVT::v4i64, 1, 0,
26922 15,
26923 OPC_CheckChild0Integer, 100|128,92,
26924 OPC_RecordChild1,
26925 OPC_RecordChild2,
26926 OPC_RecordChild3,
26927 OPC_CheckPatternPredicate0,
26928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_B),
26929 MVT::v32i8, 3, 0, 1, 2,
26930 15,
26931 OPC_CheckChild0Integer, 70|128,90,
26932 OPC_RecordChild1,
26933 OPC_RecordChild2,
26934 OPC_RecordChild3,
26935 OPC_CheckPatternPredicate0,
26936 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
26937 MVT::v32i8, 3, 0, 1, 2,
26938 15,
26939 OPC_CheckChild0Integer, 20|128,97,
26940 OPC_RecordChild1,
26941 OPC_RecordChild2,
26942 OPC_RecordChild3,
26943 OPC_CheckPatternPredicate0,
26944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_B),
26945 MVT::v32i8, 3, 0, 1, 2,
26946 15,
26947 OPC_CheckChild0Integer, 102|128,92,
26948 OPC_RecordChild1,
26949 OPC_RecordChild2,
26950 OPC_RecordChild3,
26951 OPC_CheckPatternPredicate0,
26952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_H),
26953 MVT::v16i16, 3, 0, 1, 2,
26954 15,
26955 OPC_CheckChild0Integer, 24|128,97,
26956 OPC_RecordChild1,
26957 OPC_RecordChild2,
26958 OPC_RecordChild3,
26959 OPC_CheckPatternPredicate0,
26960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_H),
26961 MVT::v16i16, 3, 0, 1, 2,
26962 15,
26963 OPC_CheckChild0Integer, 26|128,97,
26964 OPC_RecordChild1,
26965 OPC_RecordChild2,
26966 OPC_RecordChild3,
26967 OPC_CheckPatternPredicate0,
26968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
26969 MVT::v8i32, 3, 0, 1, 2,
26970 15,
26971 OPC_CheckChild0Integer, 22|128,97,
26972 OPC_RecordChild1,
26973 OPC_RecordChild2,
26974 OPC_RecordChild3,
26975 OPC_CheckPatternPredicate0,
26976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
26977 MVT::v4i64, 3, 0, 1, 2,
26978 13,
26979 OPC_CheckChild0Integer, 122|128,91,
26980 OPC_RecordChild1,
26981 OPC_RecordChild2,
26982 OPC_CheckPatternPredicate0,
26983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_H_S),
26984 MVT::v16i16, 2, 0, 1,
26985 13,
26986 OPC_CheckChild0Integer, 36|128,91,
26987 OPC_RecordChild1,
26988 OPC_RecordChild2,
26989 OPC_CheckPatternPredicate0,
26990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_S),
26991 MVT::v8i32, 2, 0, 1,
26992 13,
26993 OPC_CheckChild0Integer, 72|128,91,
26994 OPC_RecordChild1,
26995 OPC_RecordChild2,
26996 OPC_CheckPatternPredicate0,
26997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
26998 MVT::v8i32, 2, 0, 1,
26999 13,
27000 OPC_CheckChild0Integer, 40|128,91,
27001 OPC_RecordChild1,
27002 OPC_RecordChild2,
27003 OPC_CheckPatternPredicate0,
27004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
27005 MVT::v8i32, 2, 0, 1,
27006 13,
27007 OPC_CheckChild0Integer, 60|128,91,
27008 OPC_RecordChild1,
27009 OPC_RecordChild2,
27010 OPC_CheckPatternPredicate0,
27011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
27012 MVT::v8i32, 2, 0, 1,
27013 13,
27014 OPC_CheckChild0Integer, 48|128,91,
27015 OPC_RecordChild1,
27016 OPC_RecordChild2,
27017 OPC_CheckPatternPredicate0,
27018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
27019 MVT::v8i32, 2, 0, 1,
27020 13,
27021 OPC_CheckChild0Integer, 68|128,91,
27022 OPC_RecordChild1,
27023 OPC_RecordChild2,
27024 OPC_CheckPatternPredicate0,
27025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
27026 MVT::v8i32, 2, 0, 1,
27027 13,
27028 OPC_CheckChild0Integer, 44|128,91,
27029 OPC_RecordChild1,
27030 OPC_RecordChild2,
27031 OPC_CheckPatternPredicate0,
27032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
27033 MVT::v8i32, 2, 0, 1,
27034 13,
27035 OPC_CheckChild0Integer, 64|128,91,
27036 OPC_RecordChild1,
27037 OPC_RecordChild2,
27038 OPC_CheckPatternPredicate0,
27039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
27040 MVT::v8i32, 2, 0, 1,
27041 13,
27042 OPC_CheckChild0Integer, 52|128,91,
27043 OPC_RecordChild1,
27044 OPC_RecordChild2,
27045 OPC_CheckPatternPredicate0,
27046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
27047 MVT::v8i32, 2, 0, 1,
27048 13,
27049 OPC_CheckChild0Integer, 56|128,91,
27050 OPC_RecordChild1,
27051 OPC_RecordChild2,
27052 OPC_CheckPatternPredicate0,
27053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
27054 MVT::v8i32, 2, 0, 1,
27055 13,
27056 OPC_CheckChild0Integer, 76|128,91,
27057 OPC_RecordChild1,
27058 OPC_RecordChild2,
27059 OPC_CheckPatternPredicate0,
27060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
27061 MVT::v8i32, 2, 0, 1,
27062 13,
27063 OPC_CheckChild0Integer, 80|128,91,
27064 OPC_RecordChild1,
27065 OPC_RecordChild2,
27066 OPC_CheckPatternPredicate0,
27067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_S),
27068 MVT::v8i32, 2, 0, 1,
27069 13,
27070 OPC_CheckChild0Integer, 116|128,91,
27071 OPC_RecordChild1,
27072 OPC_RecordChild2,
27073 OPC_CheckPatternPredicate0,
27074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_S),
27075 MVT::v8i32, 2, 0, 1,
27076 13,
27077 OPC_CheckChild0Integer, 84|128,91,
27078 OPC_RecordChild1,
27079 OPC_RecordChild2,
27080 OPC_CheckPatternPredicate0,
27081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_S),
27082 MVT::v8i32, 2, 0, 1,
27083 13,
27084 OPC_CheckChild0Integer, 104|128,91,
27085 OPC_RecordChild1,
27086 OPC_RecordChild2,
27087 OPC_CheckPatternPredicate0,
27088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_S),
27089 MVT::v8i32, 2, 0, 1,
27090 13,
27091 OPC_CheckChild0Integer, 92|128,91,
27092 OPC_RecordChild1,
27093 OPC_RecordChild2,
27094 OPC_CheckPatternPredicate0,
27095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_S),
27096 MVT::v8i32, 2, 0, 1,
27097 13,
27098 OPC_CheckChild0Integer, 112|128,91,
27099 OPC_RecordChild1,
27100 OPC_RecordChild2,
27101 OPC_CheckPatternPredicate0,
27102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_S),
27103 MVT::v8i32, 2, 0, 1,
27104 13,
27105 OPC_CheckChild0Integer, 88|128,91,
27106 OPC_RecordChild1,
27107 OPC_RecordChild2,
27108 OPC_CheckPatternPredicate0,
27109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_S),
27110 MVT::v8i32, 2, 0, 1,
27111 13,
27112 OPC_CheckChild0Integer, 108|128,91,
27113 OPC_RecordChild1,
27114 OPC_RecordChild2,
27115 OPC_CheckPatternPredicate0,
27116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_S),
27117 MVT::v8i32, 2, 0, 1,
27118 13,
27119 OPC_CheckChild0Integer, 96|128,91,
27120 OPC_RecordChild1,
27121 OPC_RecordChild2,
27122 OPC_CheckPatternPredicate0,
27123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_S),
27124 MVT::v8i32, 2, 0, 1,
27125 13,
27126 OPC_CheckChild0Integer, 100|128,91,
27127 OPC_RecordChild1,
27128 OPC_RecordChild2,
27129 OPC_CheckPatternPredicate0,
27130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_S),
27131 MVT::v8i32, 2, 0, 1,
27132 13,
27133 OPC_CheckChild0Integer, 120|128,91,
27134 OPC_RecordChild1,
27135 OPC_RecordChild2,
27136 OPC_CheckPatternPredicate0,
27137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_S),
27138 MVT::v8i32, 2, 0, 1,
27139 13,
27140 OPC_CheckChild0Integer, 14|128,93,
27141 OPC_RecordChild1,
27142 OPC_RecordChild2,
27143 OPC_CheckPatternPredicate0,
27144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_D),
27145 MVT::v8i32, 2, 0, 1,
27146 13,
27147 OPC_CheckChild0Integer, 36|128,93,
27148 OPC_RecordChild1,
27149 OPC_RecordChild2,
27150 OPC_CheckPatternPredicate0,
27151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_D),
27152 MVT::v8i32, 2, 0, 1,
27153 13,
27154 OPC_CheckChild0Integer, 24|128,93,
27155 OPC_RecordChild1,
27156 OPC_RecordChild2,
27157 OPC_CheckPatternPredicate0,
27158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_D),
27159 MVT::v8i32, 2, 0, 1,
27160 13,
27161 OPC_CheckChild0Integer, 4|128,93,
27162 OPC_RecordChild1,
27163 OPC_RecordChild2,
27164 OPC_CheckPatternPredicate0,
27165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_D),
27166 MVT::v8i32, 2, 0, 1,
27167 13,
27168 OPC_CheckChild0Integer, 120|128,92,
27169 OPC_RecordChild1,
27170 OPC_RecordChild2,
27171 OPC_CheckPatternPredicate0,
27172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_D),
27173 MVT::v8i32, 2, 0, 1,
27174 13,
27175 OPC_CheckChild0Integer, 34|128,91,
27176 OPC_RecordChild1,
27177 OPC_RecordChild2,
27178 OPC_CheckPatternPredicate0,
27179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_D),
27180 MVT::v4i64, 2, 0, 1,
27181 13,
27182 OPC_CheckChild0Integer, 70|128,91,
27183 OPC_RecordChild1,
27184 OPC_RecordChild2,
27185 OPC_CheckPatternPredicate0,
27186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
27187 MVT::v4i64, 2, 0, 1,
27188 13,
27189 OPC_CheckChild0Integer, 38|128,91,
27190 OPC_RecordChild1,
27191 OPC_RecordChild2,
27192 OPC_CheckPatternPredicate0,
27193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
27194 MVT::v4i64, 2, 0, 1,
27195 13,
27196 OPC_CheckChild0Integer, 58|128,91,
27197 OPC_RecordChild1,
27198 OPC_RecordChild2,
27199 OPC_CheckPatternPredicate0,
27200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
27201 MVT::v4i64, 2, 0, 1,
27202 13,
27203 OPC_CheckChild0Integer, 46|128,91,
27204 OPC_RecordChild1,
27205 OPC_RecordChild2,
27206 OPC_CheckPatternPredicate0,
27207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
27208 MVT::v4i64, 2, 0, 1,
27209 13,
27210 OPC_CheckChild0Integer, 66|128,91,
27211 OPC_RecordChild1,
27212 OPC_RecordChild2,
27213 OPC_CheckPatternPredicate0,
27214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
27215 MVT::v4i64, 2, 0, 1,
27216 13,
27217 OPC_CheckChild0Integer, 42|128,91,
27218 OPC_RecordChild1,
27219 OPC_RecordChild2,
27220 OPC_CheckPatternPredicate0,
27221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
27222 MVT::v4i64, 2, 0, 1,
27223 13,
27224 OPC_CheckChild0Integer, 62|128,91,
27225 OPC_RecordChild1,
27226 OPC_RecordChild2,
27227 OPC_CheckPatternPredicate0,
27228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
27229 MVT::v4i64, 2, 0, 1,
27230 13,
27231 OPC_CheckChild0Integer, 50|128,91,
27232 OPC_RecordChild1,
27233 OPC_RecordChild2,
27234 OPC_CheckPatternPredicate0,
27235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
27236 MVT::v4i64, 2, 0, 1,
27237 13,
27238 OPC_CheckChild0Integer, 54|128,91,
27239 OPC_RecordChild1,
27240 OPC_RecordChild2,
27241 OPC_CheckPatternPredicate0,
27242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
27243 MVT::v4i64, 2, 0, 1,
27244 13,
27245 OPC_CheckChild0Integer, 74|128,91,
27246 OPC_RecordChild1,
27247 OPC_RecordChild2,
27248 OPC_CheckPatternPredicate0,
27249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
27250 MVT::v4i64, 2, 0, 1,
27251 13,
27252 OPC_CheckChild0Integer, 78|128,91,
27253 OPC_RecordChild1,
27254 OPC_RecordChild2,
27255 OPC_CheckPatternPredicate0,
27256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_D),
27257 MVT::v4i64, 2, 0, 1,
27258 13,
27259 OPC_CheckChild0Integer, 114|128,91,
27260 OPC_RecordChild1,
27261 OPC_RecordChild2,
27262 OPC_CheckPatternPredicate0,
27263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_D),
27264 MVT::v4i64, 2, 0, 1,
27265 13,
27266 OPC_CheckChild0Integer, 82|128,91,
27267 OPC_RecordChild1,
27268 OPC_RecordChild2,
27269 OPC_CheckPatternPredicate0,
27270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_D),
27271 MVT::v4i64, 2, 0, 1,
27272 13,
27273 OPC_CheckChild0Integer, 102|128,91,
27274 OPC_RecordChild1,
27275 OPC_RecordChild2,
27276 OPC_CheckPatternPredicate0,
27277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_D),
27278 MVT::v4i64, 2, 0, 1,
27279 13,
27280 OPC_CheckChild0Integer, 90|128,91,
27281 OPC_RecordChild1,
27282 OPC_RecordChild2,
27283 OPC_CheckPatternPredicate0,
27284 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_D),
27285 MVT::v4i64, 2, 0, 1,
27286 13,
27287 OPC_CheckChild0Integer, 110|128,91,
27288 OPC_RecordChild1,
27289 OPC_RecordChild2,
27290 OPC_CheckPatternPredicate0,
27291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_D),
27292 MVT::v4i64, 2, 0, 1,
27293 13,
27294 OPC_CheckChild0Integer, 86|128,91,
27295 OPC_RecordChild1,
27296 OPC_RecordChild2,
27297 OPC_CheckPatternPredicate0,
27298 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_D),
27299 MVT::v4i64, 2, 0, 1,
27300 13,
27301 OPC_CheckChild0Integer, 106|128,91,
27302 OPC_RecordChild1,
27303 OPC_RecordChild2,
27304 OPC_CheckPatternPredicate0,
27305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_D),
27306 MVT::v4i64, 2, 0, 1,
27307 13,
27308 OPC_CheckChild0Integer, 94|128,91,
27309 OPC_RecordChild1,
27310 OPC_RecordChild2,
27311 OPC_CheckPatternPredicate0,
27312 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_D),
27313 MVT::v4i64, 2, 0, 1,
27314 13,
27315 OPC_CheckChild0Integer, 98|128,91,
27316 OPC_RecordChild1,
27317 OPC_RecordChild2,
27318 OPC_CheckPatternPredicate0,
27319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_D),
27320 MVT::v4i64, 2, 0, 1,
27321 13,
27322 OPC_CheckChild0Integer, 118|128,91,
27323 OPC_RecordChild1,
27324 OPC_RecordChild2,
27325 OPC_CheckPatternPredicate0,
27326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_D),
27327 MVT::v4i64, 2, 0, 1,
27328 11,
27329 OPC_CheckChild0Integer, 32|128,91,
27330 OPC_RecordChild1,
27331 OPC_CheckPatternPredicate0,
27332 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_S),
27333 MVT::v8i32, 1, 0,
27334 11,
27335 OPC_CheckChild0Integer, 16|128,93,
27336 OPC_RecordChild1,
27337 OPC_CheckPatternPredicate0,
27338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_S),
27339 MVT::v8i32, 1, 0,
27340 11,
27341 OPC_CheckChild0Integer, 38|128,93,
27342 OPC_RecordChild1,
27343 OPC_CheckPatternPredicate0,
27344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
27345 MVT::v8i32, 1, 0,
27346 11,
27347 OPC_CheckChild0Integer, 26|128,93,
27348 OPC_RecordChild1,
27349 OPC_CheckPatternPredicate0,
27350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_S),
27351 MVT::v8i32, 1, 0,
27352 11,
27353 OPC_CheckChild0Integer, 6|128,93,
27354 OPC_RecordChild1,
27355 OPC_CheckPatternPredicate0,
27356 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_S),
27357 MVT::v8i32, 1, 0,
27358 11,
27359 OPC_CheckChild0Integer, 122|128,92,
27360 OPC_RecordChild1,
27361 OPC_CheckPatternPredicate0,
27362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_S),
27363 MVT::v8i32, 1, 0,
27364 11,
27365 OPC_CheckChild0Integer, 40|128,93,
27366 OPC_RecordChild1,
27367 OPC_CheckPatternPredicate0,
27368 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_WU_S),
27369 MVT::v8i32, 1, 0,
27370 11,
27371 OPC_CheckChild0Integer, 124|128,92,
27372 OPC_RecordChild1,
27373 OPC_CheckPatternPredicate0,
27374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_WU_S),
27375 MVT::v8i32, 1, 0,
27376 11,
27377 OPC_CheckChild0Integer, 20|128,93,
27378 OPC_RecordChild1,
27379 OPC_CheckPatternPredicate0,
27380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEL_L_S),
27381 MVT::v4i64, 1, 0,
27382 11,
27383 OPC_CheckChild0Integer, 18|128,93,
27384 OPC_RecordChild1,
27385 OPC_CheckPatternPredicate0,
27386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEH_L_S),
27387 MVT::v4i64, 1, 0,
27388 11,
27389 OPC_CheckChild0Integer, 44|128,93,
27390 OPC_RecordChild1,
27391 OPC_CheckPatternPredicate0,
27392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZL_L_S),
27393 MVT::v4i64, 1, 0,
27394 11,
27395 OPC_CheckChild0Integer, 42|128,93,
27396 OPC_RecordChild1,
27397 OPC_CheckPatternPredicate0,
27398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZH_L_S),
27399 MVT::v4i64, 1, 0,
27400 11,
27401 OPC_CheckChild0Integer, 30|128,93,
27402 OPC_RecordChild1,
27403 OPC_CheckPatternPredicate0,
27404 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPL_L_S),
27405 MVT::v4i64, 1, 0,
27406 11,
27407 OPC_CheckChild0Integer, 28|128,93,
27408 OPC_RecordChild1,
27409 OPC_CheckPatternPredicate0,
27410 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPH_L_S),
27411 MVT::v4i64, 1, 0,
27412 11,
27413 OPC_CheckChild0Integer, 10|128,93,
27414 OPC_RecordChild1,
27415 OPC_CheckPatternPredicate0,
27416 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRML_L_S),
27417 MVT::v4i64, 1, 0,
27418 11,
27419 OPC_CheckChild0Integer, 8|128,93,
27420 OPC_RecordChild1,
27421 OPC_CheckPatternPredicate0,
27422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRMH_L_S),
27423 MVT::v4i64, 1, 0,
27424 11,
27425 OPC_CheckChild0Integer, 0|128,93,
27426 OPC_RecordChild1,
27427 OPC_CheckPatternPredicate0,
27428 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTL_L_S),
27429 MVT::v4i64, 1, 0,
27430 11,
27431 OPC_CheckChild0Integer, 126|128,92,
27432 OPC_RecordChild1,
27433 OPC_CheckPatternPredicate0,
27434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTH_L_S),
27435 MVT::v4i64, 1, 0,
27436 11,
27437 OPC_CheckChild0Integer, 30|128,91,
27438 OPC_RecordChild1,
27439 OPC_CheckPatternPredicate0,
27440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_D),
27441 MVT::v4i64, 1, 0,
27442 11,
27443 OPC_CheckChild0Integer, 12|128,93,
27444 OPC_RecordChild1,
27445 OPC_CheckPatternPredicate0,
27446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_L_D),
27447 MVT::v4i64, 1, 0,
27448 11,
27449 OPC_CheckChild0Integer, 32|128,93,
27450 OPC_RecordChild1,
27451 OPC_CheckPatternPredicate0,
27452 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
27453 MVT::v4i64, 1, 0,
27454 11,
27455 OPC_CheckChild0Integer, 22|128,93,
27456 OPC_RecordChild1,
27457 OPC_CheckPatternPredicate0,
27458 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_L_D),
27459 MVT::v4i64, 1, 0,
27460 11,
27461 OPC_CheckChild0Integer, 2|128,93,
27462 OPC_RecordChild1,
27463 OPC_CheckPatternPredicate0,
27464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_L_D),
27465 MVT::v4i64, 1, 0,
27466 11,
27467 OPC_CheckChild0Integer, 116|128,92,
27468 OPC_RecordChild1,
27469 OPC_CheckPatternPredicate0,
27470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_L_D),
27471 MVT::v4i64, 1, 0,
27472 11,
27473 OPC_CheckChild0Integer, 34|128,93,
27474 OPC_RecordChild1,
27475 OPC_CheckPatternPredicate0,
27476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
27477 MVT::v4i64, 1, 0,
27478 11,
27479 OPC_CheckChild0Integer, 118|128,92,
27480 OPC_RecordChild1,
27481 OPC_CheckPatternPredicate0,
27482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_LU_D),
27483 MVT::v4i64, 1, 0,
27484 36,
27485 OPC_CheckChild0Integer, 32|128,96,
27486 OPC_RecordChild1,
27487 OPC_RecordChild2,
27488 OPC_MoveChild2,
27489 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
27490 OPC_MoveParent,
27491 OPC_Scope, 11,
27492 OPC_CheckPatternPredicate2,
27493 OPC_EmitNodeXForm, 7, 1,
27494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
27495 MVT::v8f32, 2, 0, 2,
27496 11,
27497 OPC_CheckPatternPredicate4,
27498 OPC_EmitNodeXForm, 7, 1,
27499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
27500 MVT::v8f32, 2, 0, 2,
27501 0,
27502 36,
27503 OPC_CheckChild0Integer, 28|128,96,
27504 OPC_RecordChild1,
27505 OPC_RecordChild2,
27506 OPC_MoveChild2,
27507 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
27508 OPC_MoveParent,
27509 OPC_Scope, 11,
27510 OPC_CheckPatternPredicate2,
27511 OPC_EmitNodeXForm, 7, 1,
27512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
27513 MVT::v4f64, 2, 0, 2,
27514 11,
27515 OPC_CheckPatternPredicate4,
27516 OPC_EmitNodeXForm, 7, 1,
27517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
27518 MVT::v4f64, 2, 0, 2,
27519 0,
27520 13,
27521 OPC_CheckChild0Integer, 66|128,103,
27522 OPC_RecordChild1,
27523 OPC_RecordChild2,
27524 OPC_CheckPatternPredicate1,
27525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_L),
27526 MVT::v4f32, 2, 0, 1,
27527 11,
27528 OPC_CheckChild0Integer, 56|128,103,
27529 OPC_RecordChild1,
27530 OPC_CheckPatternPredicate1,
27531 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_S_H),
27532 MVT::v4f32, 1, 0,
27533 11,
27534 OPC_CheckChild0Integer, 52|128,103,
27535 OPC_RecordChild1,
27536 OPC_CheckPatternPredicate1,
27537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_S_H),
27538 MVT::v4f32, 1, 0,
27539 11,
27540 OPC_CheckChild0Integer, 68|128,103,
27541 OPC_RecordChild1,
27542 OPC_CheckPatternPredicate1,
27543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_W),
27544 MVT::v4f32, 1, 0,
27545 11,
27546 OPC_CheckChild0Integer, 70|128,103,
27547 OPC_RecordChild1,
27548 OPC_CheckPatternPredicate1,
27549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_WU),
27550 MVT::v4f32, 1, 0,
27551 11,
27552 OPC_CheckChild0Integer, 74|128,103,
27553 OPC_RecordChild1,
27554 OPC_CheckPatternPredicate1,
27555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTL_D_W),
27556 MVT::v2f64, 1, 0,
27557 11,
27558 OPC_CheckChild0Integer, 72|128,103,
27559 OPC_RecordChild1,
27560 OPC_CheckPatternPredicate1,
27561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTH_D_W),
27562 MVT::v2f64, 1, 0,
27563 11,
27564 OPC_CheckChild0Integer, 62|128,103,
27565 OPC_RecordChild1,
27566 OPC_CheckPatternPredicate1,
27567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_L),
27568 MVT::v2f64, 1, 0,
27569 11,
27570 OPC_CheckChild0Integer, 64|128,103,
27571 OPC_RecordChild1,
27572 OPC_CheckPatternPredicate1,
27573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_LU),
27574 MVT::v2f64, 1, 0,
27575 15,
27576 OPC_CheckChild0Integer, 102|128,103,
27577 OPC_RecordChild1,
27578 OPC_RecordChild2,
27579 OPC_RecordChild3,
27580 OPC_CheckPatternPredicate1,
27581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
27582 MVT::v4f32, 3, 0, 1, 2,
27583 15,
27584 OPC_CheckChild0Integer, 110|128,103,
27585 OPC_RecordChild1,
27586 OPC_RecordChild2,
27587 OPC_RecordChild3,
27588 OPC_CheckPatternPredicate1,
27589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
27590 MVT::v4f32, 3, 0, 1, 2,
27591 15,
27592 OPC_CheckChild0Integer, 114|128,103,
27593 OPC_RecordChild1,
27594 OPC_RecordChild2,
27595 OPC_RecordChild3,
27596 OPC_CheckPatternPredicate1,
27597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
27598 MVT::v4f32, 3, 0, 1, 2,
27599 15,
27600 OPC_CheckChild0Integer, 100|128,103,
27601 OPC_RecordChild1,
27602 OPC_RecordChild2,
27603 OPC_RecordChild3,
27604 OPC_CheckPatternPredicate1,
27605 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
27606 MVT::v2f64, 3, 0, 1, 2,
27607 15,
27608 OPC_CheckChild0Integer, 108|128,103,
27609 OPC_RecordChild1,
27610 OPC_RecordChild2,
27611 OPC_RecordChild3,
27612 OPC_CheckPatternPredicate1,
27613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
27614 MVT::v2f64, 3, 0, 1, 2,
27615 15,
27616 OPC_CheckChild0Integer, 112|128,103,
27617 OPC_RecordChild1,
27618 OPC_RecordChild2,
27619 OPC_RecordChild3,
27620 OPC_CheckPatternPredicate1,
27621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
27622 MVT::v2f64, 3, 0, 1, 2,
27623 13,
27624 OPC_CheckChild0Integer, 86|128,103,
27625 OPC_RecordChild1,
27626 OPC_RecordChild2,
27627 OPC_CheckPatternPredicate1,
27628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_S),
27629 MVT::v4f32, 2, 0, 1,
27630 13,
27631 OPC_CheckChild0Integer, 94|128,103,
27632 OPC_RecordChild1,
27633 OPC_RecordChild2,
27634 OPC_CheckPatternPredicate1,
27635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_S),
27636 MVT::v4f32, 2, 0, 1,
27637 13,
27638 OPC_CheckChild0Integer, 90|128,103,
27639 OPC_RecordChild1,
27640 OPC_RecordChild2,
27641 OPC_CheckPatternPredicate1,
27642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_S),
27643 MVT::v4f32, 2, 0, 1,
27644 13,
27645 OPC_CheckChild0Integer, 98|128,103,
27646 OPC_RecordChild1,
27647 OPC_RecordChild2,
27648 OPC_CheckPatternPredicate1,
27649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_S),
27650 MVT::v4f32, 2, 0, 1,
27651 13,
27652 OPC_CheckChild0Integer, 84|128,103,
27653 OPC_RecordChild1,
27654 OPC_RecordChild2,
27655 OPC_CheckPatternPredicate1,
27656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_D),
27657 MVT::v2f64, 2, 0, 1,
27658 13,
27659 OPC_CheckChild0Integer, 92|128,103,
27660 OPC_RecordChild1,
27661 OPC_RecordChild2,
27662 OPC_CheckPatternPredicate1,
27663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_D),
27664 MVT::v2f64, 2, 0, 1,
27665 13,
27666 OPC_CheckChild0Integer, 88|128,103,
27667 OPC_RecordChild1,
27668 OPC_RecordChild2,
27669 OPC_CheckPatternPredicate1,
27670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_D),
27671 MVT::v2f64, 2, 0, 1,
27672 13,
27673 OPC_CheckChild0Integer, 96|128,103,
27674 OPC_RecordChild1,
27675 OPC_RecordChild2,
27676 OPC_CheckPatternPredicate1,
27677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_D),
27678 MVT::v2f64, 2, 0, 1,
27679 13,
27680 OPC_CheckChild0Integer, 48|128,103,
27681 OPC_RecordChild1,
27682 OPC_RecordChild2,
27683 OPC_CheckPatternPredicate1,
27684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_S_D),
27685 MVT::v4f32, 2, 0, 1,
27686 11,
27687 OPC_CheckChild0Integer, 78|128,103,
27688 OPC_RecordChild1,
27689 OPC_CheckPatternPredicate1,
27690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_S),
27691 MVT::v4f32, 1, 0,
27692 11,
27693 OPC_CheckChild0Integer, 34|128,104,
27694 OPC_RecordChild1,
27695 OPC_CheckPatternPredicate1,
27696 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
27697 MVT::v4f32, 1, 0,
27698 11,
27699 OPC_CheckChild0Integer, 118|128,103,
27700 OPC_RecordChild1,
27701 OPC_CheckPatternPredicate1,
27702 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
27703 MVT::v4f32, 1, 0,
27704 11,
27705 OPC_CheckChild0Integer, 18|128,104,
27706 OPC_RecordChild1,
27707 OPC_CheckPatternPredicate1,
27708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
27709 MVT::v4f32, 1, 0,
27710 11,
27711 OPC_CheckChild0Integer, 126|128,103,
27712 OPC_RecordChild1,
27713 OPC_CheckPatternPredicate1,
27714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_S),
27715 MVT::v4f32, 1, 0,
27716 11,
27717 OPC_CheckChild0Integer, 54|128,103,
27718 OPC_RecordChild1,
27719 OPC_CheckPatternPredicate1,
27720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_D_S),
27721 MVT::v2f64, 1, 0,
27722 11,
27723 OPC_CheckChild0Integer, 50|128,103,
27724 OPC_RecordChild1,
27725 OPC_CheckPatternPredicate1,
27726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_D_S),
27727 MVT::v2f64, 1, 0,
27728 11,
27729 OPC_CheckChild0Integer, 6|128,104,
27730 OPC_RecordChild1,
27731 OPC_CheckPatternPredicate1,
27732 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
27733 MVT::v4f32, 1, 0,
27734 11,
27735 OPC_CheckChild0Integer, 14|128,104,
27736 OPC_RecordChild1,
27737 OPC_CheckPatternPredicate1,
27738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
27739 MVT::v4f32, 1, 0,
27740 11,
27741 OPC_CheckChild0Integer, 10|128,104,
27742 OPC_RecordChild1,
27743 OPC_CheckPatternPredicate1,
27744 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_S),
27745 MVT::v4f32, 1, 0,
27746 11,
27747 OPC_CheckChild0Integer, 2|128,104,
27748 OPC_RecordChild1,
27749 OPC_CheckPatternPredicate1,
27750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_S),
27751 MVT::v4f32, 1, 0,
27752 11,
27753 OPC_CheckChild0Integer, 76|128,103,
27754 OPC_RecordChild1,
27755 OPC_CheckPatternPredicate1,
27756 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_D),
27757 MVT::v2f64, 1, 0,
27758 11,
27759 OPC_CheckChild0Integer, 32|128,104,
27760 OPC_RecordChild1,
27761 OPC_CheckPatternPredicate1,
27762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
27763 MVT::v2f64, 1, 0,
27764 11,
27765 OPC_CheckChild0Integer, 116|128,103,
27766 OPC_RecordChild1,
27767 OPC_CheckPatternPredicate1,
27768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
27769 MVT::v2f64, 1, 0,
27770 11,
27771 OPC_CheckChild0Integer, 16|128,104,
27772 OPC_RecordChild1,
27773 OPC_CheckPatternPredicate1,
27774 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
27775 MVT::v2f64, 1, 0,
27776 11,
27777 OPC_CheckChild0Integer, 124|128,103,
27778 OPC_RecordChild1,
27779 OPC_CheckPatternPredicate1,
27780 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_D),
27781 MVT::v2f64, 1, 0,
27782 11,
27783 OPC_CheckChild0Integer, 4|128,104,
27784 OPC_RecordChild1,
27785 OPC_CheckPatternPredicate1,
27786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
27787 MVT::v2f64, 1, 0,
27788 11,
27789 OPC_CheckChild0Integer, 12|128,104,
27790 OPC_RecordChild1,
27791 OPC_CheckPatternPredicate1,
27792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
27793 MVT::v2f64, 1, 0,
27794 11,
27795 OPC_CheckChild0Integer, 8|128,104,
27796 OPC_RecordChild1,
27797 OPC_CheckPatternPredicate1,
27798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_D),
27799 MVT::v2f64, 1, 0,
27800 11,
27801 OPC_CheckChild0Integer, 0|128,104,
27802 OPC_RecordChild1,
27803 OPC_CheckPatternPredicate1,
27804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_D),
27805 MVT::v2f64, 1, 0,
27806 12,
27807 OPC_CheckChild0Integer, 122|128,103,
27808 OPC_RecordChild1,
27809 OPC_CheckPatternPredicate, 18,
27810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_S),
27811 MVT::v4f32, 1, 0,
27812 12,
27813 OPC_CheckChild0Integer, 22|128,104,
27814 OPC_RecordChild1,
27815 OPC_CheckPatternPredicate, 18,
27816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_S),
27817 MVT::v4f32, 1, 0,
27818 12,
27819 OPC_CheckChild0Integer, 120|128,103,
27820 OPC_RecordChild1,
27821 OPC_CheckPatternPredicate, 18,
27822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_D),
27823 MVT::v2f64, 1, 0,
27824 12,
27825 OPC_CheckChild0Integer, 20|128,104,
27826 OPC_RecordChild1,
27827 OPC_CheckPatternPredicate, 18,
27828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_D),
27829 MVT::v2f64, 1, 0,
27830 13,
27831 OPC_CheckChild0Integer, 14|128,92,
27832 OPC_RecordChild1,
27833 OPC_RecordChild2,
27834 OPC_CheckPatternPredicate0,
27835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_L),
27836 MVT::v8f32, 2, 0, 1,
27837 11,
27838 OPC_CheckChild0Integer, 4|128,92,
27839 OPC_RecordChild1,
27840 OPC_CheckPatternPredicate0,
27841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_S_H),
27842 MVT::v8f32, 1, 0,
27843 11,
27844 OPC_CheckChild0Integer, 0|128,92,
27845 OPC_RecordChild1,
27846 OPC_CheckPatternPredicate0,
27847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_S_H),
27848 MVT::v8f32, 1, 0,
27849 11,
27850 OPC_CheckChild0Integer, 16|128,92,
27851 OPC_RecordChild1,
27852 OPC_CheckPatternPredicate0,
27853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_W),
27854 MVT::v8f32, 1, 0,
27855 11,
27856 OPC_CheckChild0Integer, 18|128,92,
27857 OPC_RecordChild1,
27858 OPC_CheckPatternPredicate0,
27859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_WU),
27860 MVT::v8f32, 1, 0,
27861 11,
27862 OPC_CheckChild0Integer, 22|128,92,
27863 OPC_RecordChild1,
27864 OPC_CheckPatternPredicate0,
27865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTL_D_W),
27866 MVT::v4f64, 1, 0,
27867 11,
27868 OPC_CheckChild0Integer, 20|128,92,
27869 OPC_RecordChild1,
27870 OPC_CheckPatternPredicate0,
27871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTH_D_W),
27872 MVT::v4f64, 1, 0,
27873 11,
27874 OPC_CheckChild0Integer, 10|128,92,
27875 OPC_RecordChild1,
27876 OPC_CheckPatternPredicate0,
27877 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
27878 MVT::v4f64, 1, 0,
27879 11,
27880 OPC_CheckChild0Integer, 12|128,92,
27881 OPC_RecordChild1,
27882 OPC_CheckPatternPredicate0,
27883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
27884 MVT::v4f64, 1, 0,
27885 15,
27886 OPC_CheckChild0Integer, 50|128,92,
27887 OPC_RecordChild1,
27888 OPC_RecordChild2,
27889 OPC_RecordChild3,
27890 OPC_CheckPatternPredicate0,
27891 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
27892 MVT::v8f32, 3, 0, 1, 2,
27893 15,
27894 OPC_CheckChild0Integer, 58|128,92,
27895 OPC_RecordChild1,
27896 OPC_RecordChild2,
27897 OPC_RecordChild3,
27898 OPC_CheckPatternPredicate0,
27899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
27900 MVT::v8f32, 3, 0, 1, 2,
27901 15,
27902 OPC_CheckChild0Integer, 62|128,92,
27903 OPC_RecordChild1,
27904 OPC_RecordChild2,
27905 OPC_RecordChild3,
27906 OPC_CheckPatternPredicate0,
27907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
27908 MVT::v8f32, 3, 0, 1, 2,
27909 15,
27910 OPC_CheckChild0Integer, 48|128,92,
27911 OPC_RecordChild1,
27912 OPC_RecordChild2,
27913 OPC_RecordChild3,
27914 OPC_CheckPatternPredicate0,
27915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
27916 MVT::v4f64, 3, 0, 1, 2,
27917 15,
27918 OPC_CheckChild0Integer, 56|128,92,
27919 OPC_RecordChild1,
27920 OPC_RecordChild2,
27921 OPC_RecordChild3,
27922 OPC_CheckPatternPredicate0,
27923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
27924 MVT::v4f64, 3, 0, 1, 2,
27925 15,
27926 OPC_CheckChild0Integer, 60|128,92,
27927 OPC_RecordChild1,
27928 OPC_RecordChild2,
27929 OPC_RecordChild3,
27930 OPC_CheckPatternPredicate0,
27931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
27932 MVT::v4f64, 3, 0, 1, 2,
27933 13,
27934 OPC_CheckChild0Integer, 34|128,92,
27935 OPC_RecordChild1,
27936 OPC_RecordChild2,
27937 OPC_CheckPatternPredicate0,
27938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_S),
27939 MVT::v8f32, 2, 0, 1,
27940 13,
27941 OPC_CheckChild0Integer, 42|128,92,
27942 OPC_RecordChild1,
27943 OPC_RecordChild2,
27944 OPC_CheckPatternPredicate0,
27945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_S),
27946 MVT::v8f32, 2, 0, 1,
27947 13,
27948 OPC_CheckChild0Integer, 38|128,92,
27949 OPC_RecordChild1,
27950 OPC_RecordChild2,
27951 OPC_CheckPatternPredicate0,
27952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_S),
27953 MVT::v8f32, 2, 0, 1,
27954 13,
27955 OPC_CheckChild0Integer, 46|128,92,
27956 OPC_RecordChild1,
27957 OPC_RecordChild2,
27958 OPC_CheckPatternPredicate0,
27959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_S),
27960 MVT::v8f32, 2, 0, 1,
27961 13,
27962 OPC_CheckChild0Integer, 32|128,92,
27963 OPC_RecordChild1,
27964 OPC_RecordChild2,
27965 OPC_CheckPatternPredicate0,
27966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_D),
27967 MVT::v4f64, 2, 0, 1,
27968 13,
27969 OPC_CheckChild0Integer, 40|128,92,
27970 OPC_RecordChild1,
27971 OPC_RecordChild2,
27972 OPC_CheckPatternPredicate0,
27973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_D),
27974 MVT::v4f64, 2, 0, 1,
27975 13,
27976 OPC_CheckChild0Integer, 36|128,92,
27977 OPC_RecordChild1,
27978 OPC_RecordChild2,
27979 OPC_CheckPatternPredicate0,
27980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_D),
27981 MVT::v4f64, 2, 0, 1,
27982 13,
27983 OPC_CheckChild0Integer, 44|128,92,
27984 OPC_RecordChild1,
27985 OPC_RecordChild2,
27986 OPC_CheckPatternPredicate0,
27987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_D),
27988 MVT::v4f64, 2, 0, 1,
27989 13,
27990 OPC_CheckChild0Integer, 124|128,91,
27991 OPC_RecordChild1,
27992 OPC_RecordChild2,
27993 OPC_CheckPatternPredicate0,
27994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
27995 MVT::v8f32, 2, 0, 1,
27996 11,
27997 OPC_CheckChild0Integer, 26|128,92,
27998 OPC_RecordChild1,
27999 OPC_CheckPatternPredicate0,
28000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_S),
28001 MVT::v8f32, 1, 0,
28002 11,
28003 OPC_CheckChild0Integer, 110|128,92,
28004 OPC_RecordChild1,
28005 OPC_CheckPatternPredicate0,
28006 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
28007 MVT::v8f32, 1, 0,
28008 11,
28009 OPC_CheckChild0Integer, 66|128,92,
28010 OPC_RecordChild1,
28011 OPC_CheckPatternPredicate0,
28012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
28013 MVT::v8f32, 1, 0,
28014 11,
28015 OPC_CheckChild0Integer, 94|128,92,
28016 OPC_RecordChild1,
28017 OPC_CheckPatternPredicate0,
28018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
28019 MVT::v8f32, 1, 0,
28020 11,
28021 OPC_CheckChild0Integer, 74|128,92,
28022 OPC_RecordChild1,
28023 OPC_CheckPatternPredicate0,
28024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_S),
28025 MVT::v8f32, 1, 0,
28026 11,
28027 OPC_CheckChild0Integer, 2|128,92,
28028 OPC_RecordChild1,
28029 OPC_CheckPatternPredicate0,
28030 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_D_S),
28031 MVT::v4f64, 1, 0,
28032 11,
28033 OPC_CheckChild0Integer, 126|128,91,
28034 OPC_RecordChild1,
28035 OPC_CheckPatternPredicate0,
28036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_D_S),
28037 MVT::v4f64, 1, 0,
28038 11,
28039 OPC_CheckChild0Integer, 82|128,92,
28040 OPC_RecordChild1,
28041 OPC_CheckPatternPredicate0,
28042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_S),
28043 MVT::v8f32, 1, 0,
28044 11,
28045 OPC_CheckChild0Integer, 90|128,92,
28046 OPC_RecordChild1,
28047 OPC_CheckPatternPredicate0,
28048 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_S),
28049 MVT::v8f32, 1, 0,
28050 11,
28051 OPC_CheckChild0Integer, 86|128,92,
28052 OPC_RecordChild1,
28053 OPC_CheckPatternPredicate0,
28054 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_S),
28055 MVT::v8f32, 1, 0,
28056 11,
28057 OPC_CheckChild0Integer, 78|128,92,
28058 OPC_RecordChild1,
28059 OPC_CheckPatternPredicate0,
28060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_S),
28061 MVT::v8f32, 1, 0,
28062 11,
28063 OPC_CheckChild0Integer, 24|128,92,
28064 OPC_RecordChild1,
28065 OPC_CheckPatternPredicate0,
28066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_D),
28067 MVT::v4f64, 1, 0,
28068 11,
28069 OPC_CheckChild0Integer, 108|128,92,
28070 OPC_RecordChild1,
28071 OPC_CheckPatternPredicate0,
28072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
28073 MVT::v4f64, 1, 0,
28074 11,
28075 OPC_CheckChild0Integer, 64|128,92,
28076 OPC_RecordChild1,
28077 OPC_CheckPatternPredicate0,
28078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
28079 MVT::v4f64, 1, 0,
28080 11,
28081 OPC_CheckChild0Integer, 92|128,92,
28082 OPC_RecordChild1,
28083 OPC_CheckPatternPredicate0,
28084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
28085 MVT::v4f64, 1, 0,
28086 11,
28087 OPC_CheckChild0Integer, 72|128,92,
28088 OPC_RecordChild1,
28089 OPC_CheckPatternPredicate0,
28090 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_D),
28091 MVT::v4f64, 1, 0,
28092 11,
28093 OPC_CheckChild0Integer, 80|128,92,
28094 OPC_RecordChild1,
28095 OPC_CheckPatternPredicate0,
28096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_D),
28097 MVT::v4f64, 1, 0,
28098 11,
28099 OPC_CheckChild0Integer, 88|128,92,
28100 OPC_RecordChild1,
28101 OPC_CheckPatternPredicate0,
28102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_D),
28103 MVT::v4f64, 1, 0,
28104 11,
28105 OPC_CheckChild0Integer, 84|128,92,
28106 OPC_RecordChild1,
28107 OPC_CheckPatternPredicate0,
28108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_D),
28109 MVT::v4f64, 1, 0,
28110 11,
28111 OPC_CheckChild0Integer, 76|128,92,
28112 OPC_RecordChild1,
28113 OPC_CheckPatternPredicate0,
28114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_D),
28115 MVT::v4f64, 1, 0,
28116 12,
28117 OPC_CheckChild0Integer, 70|128,92,
28118 OPC_RecordChild1,
28119 OPC_CheckPatternPredicate, 18,
28120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_S),
28121 MVT::v8f32, 1, 0,
28122 12,
28123 OPC_CheckChild0Integer, 98|128,92,
28124 OPC_RecordChild1,
28125 OPC_CheckPatternPredicate, 18,
28126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_S),
28127 MVT::v8f32, 1, 0,
28128 12,
28129 OPC_CheckChild0Integer, 68|128,92,
28130 OPC_RecordChild1,
28131 OPC_CheckPatternPredicate, 18,
28132 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_D),
28133 MVT::v4f64, 1, 0,
28134 12,
28135 OPC_CheckChild0Integer, 96|128,92,
28136 OPC_RecordChild1,
28137 OPC_CheckPatternPredicate, 18,
28138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_D),
28139 MVT::v4f64, 1, 0,
28140 0,
28141 73, TARGET_VAL(ISD::BRIND),
28142 OPC_RecordNode,
28143 OPC_Scope, 40,
28144 OPC_MoveChild1,
28145 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
28146 OPC_RecordChild0,
28147 OPC_RecordChild1,
28148 OPC_MoveChild1,
28149 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28150 OPC_CheckPredicate, 60,
28151 OPC_MoveParent,
28152 OPC_SwitchType , 10, MVT::i64,
28153 OPC_MoveParent,
28154 OPC_CheckPatternPredicate7,
28155 OPC_EmitMergeInputChains1_0,
28156 OPC_EmitConvertToTarget2,
28157 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28158 2, 1, 3,
28159 11, MVT::i32,
28160 OPC_MoveParent,
28161 OPC_CheckPatternPredicate, 8,
28162 OPC_EmitMergeInputChains1_0,
28163 OPC_EmitConvertToTarget2,
28164 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28165 2, 1, 3,
28166 0,
28167 28,
28168 OPC_RecordChild1,
28169 OPC_Scope, 11,
28170 OPC_CheckChild1TypeI64,
28171 OPC_CheckPatternPredicate7,
28172 OPC_EmitMergeInputChains1_0,
28173 OPC_EmitInteger64, 0,
28174 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28175 2, 1, 2,
28176 12,
28177 OPC_CheckChild1TypeI32,
28178 OPC_CheckPatternPredicate, 8,
28179 OPC_EmitMergeInputChains1_0,
28180 OPC_EmitInteger32, 0,
28181 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
28182 2, 1, 2,
28183 0,
28184 0,
28185 20, TARGET_VAL(ISD::CALLSEQ_START),
28186 OPC_RecordNode,
28187 OPC_RecordChild1,
28188 OPC_MoveChild1,
28189 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28190 OPC_MoveSibling2,
28191 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28192 OPC_RecordNode,
28193 OPC_MoveParent,
28194 OPC_EmitMergeInputChains1_0,
28195 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
28196 2, 1, 2,
28197 21, TARGET_VAL(ISD::CALLSEQ_END),
28198 OPC_RecordNode,
28199 OPC_CaptureGlueInput,
28200 OPC_RecordChild1,
28201 OPC_MoveChild1,
28202 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28203 OPC_MoveSibling2,
28204 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
28205 OPC_RecordNode,
28206 OPC_MoveParent,
28207 OPC_EmitMergeInputChains1_0,
28208 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
28209 2, 1, 2,
28210 39|128,28, TARGET_VAL(ISD::SETCC),
28211 OPC_RecordChild0,
28212 OPC_Scope, 104|128,2,
28213 OPC_CheckChild0TypeI64,
28214 OPC_Scope, 31,
28215 OPC_CheckChild1Integer, 0,
28216 OPC_CheckTypeI64,
28217 OPC_Scope, 12,
28218 OPC_CheckChild2CondCode, ISD::SETEQ,
28219 OPC_CheckPatternPredicate7,
28220 OPC_EmitInteger64, 2,
28221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28222 MVT::i64, 2, 0, 1,
28223 12,
28224 OPC_CheckChild2CondCode, ISD::SETNE,
28225 OPC_CheckPatternPredicate7,
28226 OPC_EmitRegisterI64, LoongArch::R0,
28227 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28228 MVT::i64, 2, 1, 0,
28229 0,
28230 67|128,2,
28231 OPC_RecordChild1,
28232 OPC_Scope, 16|128,1,
28233 OPC_MoveChild1,
28234 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28235 OPC_Scope, 30,
28236 OPC_CheckPredicate, 11,
28237 OPC_MoveParent,
28238 OPC_CheckTypeI64,
28239 OPC_Scope, 11,
28240 OPC_CheckChild2CondCode, ISD::SETLT,
28241 OPC_CheckPatternPredicate7,
28242 OPC_EmitConvertToTarget1,
28243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTI),
28244 MVT::i64, 2, 0, 2,
28245 11,
28246 OPC_CheckChild2CondCode, ISD::SETULT,
28247 OPC_CheckPatternPredicate7,
28248 OPC_EmitConvertToTarget1,
28249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28250 MVT::i64, 2, 0, 2,
28251 0,
28252 106,
28253 OPC_CheckPredicate, 52,
28254 OPC_MoveParent,
28255 OPC_CheckTypeI64,
28256 OPC_Scope, 49,
28257 OPC_CheckChild2CondCode, ISD::SETEQ,
28258 OPC_Scope, 22,
28259 OPC_CheckPatternPredicate, 15,
28260 OPC_EmitConvertToTarget1,
28261 OPC_EmitNodeXForm, 10, 2,
28262 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28263 MVT::i64, 2, 0, 3,
28264 OPC_EmitInteger64, 2,
28265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28266 MVT::i64, 2, 4, 5,
28267 21,
28268 OPC_CheckPatternPredicate6,
28269 OPC_EmitConvertToTarget1,
28270 OPC_EmitNodeXForm, 10, 2,
28271 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28272 MVT::i64, 2, 0, 3,
28273 OPC_EmitInteger64, 2,
28274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28275 MVT::i64, 2, 4, 5,
28276 0,
28277 49,
28278 OPC_CheckChild2CondCode, ISD::SETNE,
28279 OPC_Scope, 22,
28280 OPC_CheckPatternPredicate, 15,
28281 OPC_EmitRegisterI64, LoongArch::R0,
28282 OPC_EmitConvertToTarget1,
28283 OPC_EmitNodeXForm, 10, 3,
28284 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28285 MVT::i64, 2, 0, 4,
28286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28287 MVT::i64, 2, 2, 5,
28288 21,
28289 OPC_CheckPatternPredicate6,
28290 OPC_EmitRegisterI64, LoongArch::R0,
28291 OPC_EmitConvertToTarget1,
28292 OPC_EmitNodeXForm, 10, 3,
28293 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28294 MVT::i64, 2, 0, 4,
28295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28296 MVT::i64, 2, 2, 5,
28297 0,
28298 0,
28299 0,
28300 11,
28301 OPC_CheckChild2CondCode, ISD::SETLT,
28302 OPC_CheckTypeI64,
28303 OPC_CheckPatternPredicate7,
28304 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28305 MVT::i64, 2, 0, 1,
28306 11,
28307 OPC_CheckChild2CondCode, ISD::SETULT,
28308 OPC_CheckTypeI64,
28309 OPC_CheckPatternPredicate7,
28310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28311 MVT::i64, 2, 0, 1,
28312 11,
28313 OPC_CheckChild2CondCode, ISD::SETUGT,
28314 OPC_CheckTypeI64,
28315 OPC_CheckPatternPredicate7,
28316 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28317 MVT::i64, 2, 1, 0,
28318 11,
28319 OPC_CheckChild2CondCode, ISD::SETGT,
28320 OPC_CheckTypeI64,
28321 OPC_CheckPatternPredicate7,
28322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28323 MVT::i64, 2, 1, 0,
28324 20,
28325 OPC_CheckChild2CondCode, ISD::SETEQ,
28326 OPC_CheckTypeI64,
28327 OPC_CheckPatternPredicate7,
28328 OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28329 MVT::i64, 2, 0, 1,
28330 OPC_EmitInteger64, 2,
28331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28332 MVT::i64, 2, 2, 3,
28333 20,
28334 OPC_CheckChild2CondCode, ISD::SETNE,
28335 OPC_CheckTypeI64,
28336 OPC_CheckPatternPredicate7,
28337 OPC_EmitRegisterI64, LoongArch::R0,
28338 OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28339 MVT::i64, 2, 0, 1,
28340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28341 MVT::i64, 2, 2, 3,
28342 20,
28343 OPC_CheckChild2CondCode, ISD::SETUGE,
28344 OPC_CheckTypeI64,
28345 OPC_CheckPatternPredicate7,
28346 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28347 MVT::i64, 2, 0, 1,
28348 OPC_EmitInteger64, 2,
28349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28350 MVT::i64, 2, 2, 3,
28351 20,
28352 OPC_CheckChild2CondCode, ISD::SETULE,
28353 OPC_CheckTypeI64,
28354 OPC_CheckPatternPredicate7,
28355 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28356 MVT::i64, 2, 1, 0,
28357 OPC_EmitInteger64, 2,
28358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28359 MVT::i64, 2, 2, 3,
28360 20,
28361 OPC_CheckChild2CondCode, ISD::SETGE,
28362 OPC_CheckTypeI64,
28363 OPC_CheckPatternPredicate7,
28364 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28365 MVT::i64, 2, 0, 1,
28366 OPC_EmitInteger64, 2,
28367 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28368 MVT::i64, 2, 2, 3,
28369 20,
28370 OPC_CheckChild2CondCode, ISD::SETLE,
28371 OPC_CheckTypeI64,
28372 OPC_CheckPatternPredicate7,
28373 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28374 MVT::i64, 2, 1, 0,
28375 OPC_EmitInteger64, 2,
28376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28377 MVT::i64, 2, 2, 3,
28378 0,
28379 0,
28380 120|128,2,
28381 OPC_CheckChild0TypeI32,
28382 OPC_Scope, 33,
28383 OPC_CheckChild1Integer, 0,
28384 OPC_CheckTypeI32,
28385 OPC_Scope, 13,
28386 OPC_CheckChild2CondCode, ISD::SETEQ,
28387 OPC_CheckPatternPredicate, 8,
28388 OPC_EmitInteger32, 2,
28389 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28390 MVT::i32, 2, 0, 1,
28391 13,
28392 OPC_CheckChild2CondCode, ISD::SETNE,
28393 OPC_CheckPatternPredicate, 8,
28394 OPC_EmitRegisterI32, LoongArch::R0,
28395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28396 MVT::i32, 2, 1, 0,
28397 0,
28398 81|128,2,
28399 OPC_RecordChild1,
28400 OPC_Scope, 20|128,1,
28401 OPC_MoveChild1,
28402 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
28403 OPC_Scope, 32,
28404 OPC_CheckPredicate, 11,
28405 OPC_MoveParent,
28406 OPC_CheckTypeI32,
28407 OPC_Scope, 12,
28408 OPC_CheckChild2CondCode, ISD::SETLT,
28409 OPC_CheckPatternPredicate, 8,
28410 OPC_EmitConvertToTarget1,
28411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTI),
28412 MVT::i32, 2, 0, 2,
28413 12,
28414 OPC_CheckChild2CondCode, ISD::SETULT,
28415 OPC_CheckPatternPredicate, 8,
28416 OPC_EmitConvertToTarget1,
28417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28418 MVT::i32, 2, 0, 2,
28419 0,
28420 108,
28421 OPC_CheckPredicate, 52,
28422 OPC_MoveParent,
28423 OPC_CheckTypeI32,
28424 OPC_Scope, 50,
28425 OPC_CheckChild2CondCode, ISD::SETEQ,
28426 OPC_Scope, 22,
28427 OPC_CheckPatternPredicate, 9,
28428 OPC_EmitConvertToTarget1,
28429 OPC_EmitNodeXForm, 10, 2,
28430 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28431 MVT::i32, 2, 0, 3,
28432 OPC_EmitInteger32, 2,
28433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28434 MVT::i32, 2, 4, 5,
28435 22,
28436 OPC_CheckPatternPredicate, 10,
28437 OPC_EmitConvertToTarget1,
28438 OPC_EmitNodeXForm, 10, 2,
28439 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28440 MVT::i32, 2, 0, 3,
28441 OPC_EmitInteger32, 2,
28442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28443 MVT::i32, 2, 4, 5,
28444 0,
28445 50,
28446 OPC_CheckChild2CondCode, ISD::SETNE,
28447 OPC_Scope, 22,
28448 OPC_CheckPatternPredicate, 9,
28449 OPC_EmitRegisterI32, LoongArch::R0,
28450 OPC_EmitConvertToTarget1,
28451 OPC_EmitNodeXForm, 10, 3,
28452 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
28453 MVT::i32, 2, 0, 4,
28454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28455 MVT::i32, 2, 2, 5,
28456 22,
28457 OPC_CheckPatternPredicate, 10,
28458 OPC_EmitRegisterI32, LoongArch::R0,
28459 OPC_EmitConvertToTarget1,
28460 OPC_EmitNodeXForm, 10, 3,
28461 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
28462 MVT::i32, 2, 0, 4,
28463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28464 MVT::i32, 2, 2, 5,
28465 0,
28466 0,
28467 0,
28468 12,
28469 OPC_CheckChild2CondCode, ISD::SETLT,
28470 OPC_CheckTypeI32,
28471 OPC_CheckPatternPredicate, 8,
28472 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28473 MVT::i32, 2, 0, 1,
28474 12,
28475 OPC_CheckChild2CondCode, ISD::SETULT,
28476 OPC_CheckTypeI32,
28477 OPC_CheckPatternPredicate, 8,
28478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28479 MVT::i32, 2, 0, 1,
28480 12,
28481 OPC_CheckChild2CondCode, ISD::SETUGT,
28482 OPC_CheckTypeI32,
28483 OPC_CheckPatternPredicate, 8,
28484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28485 MVT::i32, 2, 1, 0,
28486 12,
28487 OPC_CheckChild2CondCode, ISD::SETGT,
28488 OPC_CheckTypeI32,
28489 OPC_CheckPatternPredicate, 8,
28490 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLT),
28491 MVT::i32, 2, 1, 0,
28492 21,
28493 OPC_CheckChild2CondCode, ISD::SETEQ,
28494 OPC_CheckTypeI32,
28495 OPC_CheckPatternPredicate, 8,
28496 OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28497 MVT::i32, 2, 0, 1,
28498 OPC_EmitInteger32, 2,
28499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTUI),
28500 MVT::i32, 2, 2, 3,
28501 21,
28502 OPC_CheckChild2CondCode, ISD::SETNE,
28503 OPC_CheckTypeI32,
28504 OPC_CheckPatternPredicate, 8,
28505 OPC_EmitRegisterI32, LoongArch::R0,
28506 OPC_EmitNode1None, TARGET_VAL(LoongArch::XOR),
28507 MVT::i32, 2, 0, 1,
28508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
28509 MVT::i32, 2, 2, 3,
28510 21,
28511 OPC_CheckChild2CondCode, ISD::SETUGE,
28512 OPC_CheckTypeI32,
28513 OPC_CheckPatternPredicate, 8,
28514 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28515 MVT::i32, 2, 0, 1,
28516 OPC_EmitInteger32, 2,
28517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28518 MVT::i32, 2, 2, 3,
28519 21,
28520 OPC_CheckChild2CondCode, ISD::SETULE,
28521 OPC_CheckTypeI32,
28522 OPC_CheckPatternPredicate, 8,
28523 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLTU),
28524 MVT::i32, 2, 1, 0,
28525 OPC_EmitInteger32, 2,
28526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28527 MVT::i32, 2, 2, 3,
28528 21,
28529 OPC_CheckChild2CondCode, ISD::SETGE,
28530 OPC_CheckTypeI32,
28531 OPC_CheckPatternPredicate, 8,
28532 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28533 MVT::i32, 2, 0, 1,
28534 OPC_EmitInteger32, 2,
28535 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28536 MVT::i32, 2, 2, 3,
28537 21,
28538 OPC_CheckChild2CondCode, ISD::SETLE,
28539 OPC_CheckTypeI32,
28540 OPC_CheckPatternPredicate, 8,
28541 OPC_EmitNode1None, TARGET_VAL(LoongArch::SLT),
28542 MVT::i32, 2, 1, 0,
28543 OPC_EmitInteger32, 2,
28544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XORI),
28545 MVT::i32, 2, 2, 3,
28546 0,
28547 0,
28548 100|128,2,
28549 OPC_CheckChild0Type, MVT::f32,
28550 OPC_RecordChild1,
28551 OPC_Scope, 26,
28552 OPC_CheckChild2CondCode, ISD::SETOEQ,
28553 OPC_SwitchType , 9, MVT::i64,
28554 OPC_CheckPatternPredicate, 11,
28555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28556 MVT::i64, 2, 0, 1,
28557 9, MVT::i32,
28558 OPC_CheckPatternPredicate, 12,
28559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28560 MVT::i32, 2, 0, 1,
28561 0,
28562 26,
28563 OPC_CheckChild2CondCode, ISD::SETEQ,
28564 OPC_SwitchType , 9, MVT::i64,
28565 OPC_CheckPatternPredicate, 11,
28566 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28567 MVT::i64, 2, 0, 1,
28568 9, MVT::i32,
28569 OPC_CheckPatternPredicate, 12,
28570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
28571 MVT::i32, 2, 0, 1,
28572 0,
28573 26,
28574 OPC_CheckChild2CondCode, ISD::SETOLT,
28575 OPC_SwitchType , 9, MVT::i64,
28576 OPC_CheckPatternPredicate, 11,
28577 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28578 MVT::i64, 2, 0, 1,
28579 9, MVT::i32,
28580 OPC_CheckPatternPredicate, 12,
28581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28582 MVT::i32, 2, 0, 1,
28583 0,
28584 26,
28585 OPC_CheckChild2CondCode, ISD::SETOLE,
28586 OPC_SwitchType , 9, MVT::i64,
28587 OPC_CheckPatternPredicate, 11,
28588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28589 MVT::i64, 2, 0, 1,
28590 9, MVT::i32,
28591 OPC_CheckPatternPredicate, 12,
28592 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28593 MVT::i32, 2, 0, 1,
28594 0,
28595 26,
28596 OPC_CheckChild2CondCode, ISD::SETLE,
28597 OPC_SwitchType , 9, MVT::i64,
28598 OPC_CheckPatternPredicate, 11,
28599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28600 MVT::i64, 2, 0, 1,
28601 9, MVT::i32,
28602 OPC_CheckPatternPredicate, 12,
28603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
28604 MVT::i32, 2, 0, 1,
28605 0,
28606 26,
28607 OPC_CheckChild2CondCode, ISD::SETONE,
28608 OPC_SwitchType , 9, MVT::i64,
28609 OPC_CheckPatternPredicate, 11,
28610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
28611 MVT::i64, 2, 0, 1,
28612 9, MVT::i32,
28613 OPC_CheckPatternPredicate, 12,
28614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
28615 MVT::i32, 2, 0, 1,
28616 0,
28617 26,
28618 OPC_CheckChild2CondCode, ISD::SETO,
28619 OPC_SwitchType , 9, MVT::i64,
28620 OPC_CheckPatternPredicate, 11,
28621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_S),
28622 MVT::i64, 2, 0, 1,
28623 9, MVT::i32,
28624 OPC_CheckPatternPredicate, 12,
28625 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_S),
28626 MVT::i32, 2, 0, 1,
28627 0,
28628 26,
28629 OPC_CheckChild2CondCode, ISD::SETUEQ,
28630 OPC_SwitchType , 9, MVT::i64,
28631 OPC_CheckPatternPredicate, 11,
28632 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
28633 MVT::i64, 2, 0, 1,
28634 9, MVT::i32,
28635 OPC_CheckPatternPredicate, 12,
28636 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
28637 MVT::i32, 2, 0, 1,
28638 0,
28639 26,
28640 OPC_CheckChild2CondCode, ISD::SETULT,
28641 OPC_SwitchType , 9, MVT::i64,
28642 OPC_CheckPatternPredicate, 11,
28643 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
28644 MVT::i64, 2, 0, 1,
28645 9, MVT::i32,
28646 OPC_CheckPatternPredicate, 12,
28647 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
28648 MVT::i32, 2, 0, 1,
28649 0,
28650 26,
28651 OPC_CheckChild2CondCode, ISD::SETULE,
28652 OPC_SwitchType , 9, MVT::i64,
28653 OPC_CheckPatternPredicate, 11,
28654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
28655 MVT::i64, 2, 0, 1,
28656 9, MVT::i32,
28657 OPC_CheckPatternPredicate, 12,
28658 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
28659 MVT::i32, 2, 0, 1,
28660 0,
28661 26,
28662 OPC_CheckChild2CondCode, ISD::SETUNE,
28663 OPC_SwitchType , 9, MVT::i64,
28664 OPC_CheckPatternPredicate, 11,
28665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
28666 MVT::i64, 2, 0, 1,
28667 9, MVT::i32,
28668 OPC_CheckPatternPredicate, 12,
28669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
28670 MVT::i32, 2, 0, 1,
28671 0,
28672 26,
28673 OPC_CheckChild2CondCode, ISD::SETUO,
28674 OPC_SwitchType , 9, MVT::i64,
28675 OPC_CheckPatternPredicate, 11,
28676 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
28677 MVT::i64, 2, 0, 1,
28678 9, MVT::i32,
28679 OPC_CheckPatternPredicate, 12,
28680 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
28681 MVT::i32, 2, 0, 1,
28682 0,
28683 26,
28684 OPC_CheckChild2CondCode, ISD::SETLT,
28685 OPC_SwitchType , 9, MVT::i64,
28686 OPC_CheckPatternPredicate, 11,
28687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28688 MVT::i64, 2, 0, 1,
28689 9, MVT::i32,
28690 OPC_CheckPatternPredicate, 12,
28691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
28692 MVT::i32, 2, 0, 1,
28693 0,
28694 0,
28695 100|128,2,
28696 OPC_CheckChild0Type, MVT::f64,
28697 OPC_RecordChild1,
28698 OPC_Scope, 26,
28699 OPC_CheckChild2CondCode, ISD::SETOEQ,
28700 OPC_SwitchType , 9, MVT::i64,
28701 OPC_CheckPatternPredicate, 13,
28702 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28703 MVT::i64, 2, 0, 1,
28704 9, MVT::i32,
28705 OPC_CheckPatternPredicate, 14,
28706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28707 MVT::i32, 2, 0, 1,
28708 0,
28709 26,
28710 OPC_CheckChild2CondCode, ISD::SETEQ,
28711 OPC_SwitchType , 9, MVT::i64,
28712 OPC_CheckPatternPredicate, 13,
28713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28714 MVT::i64, 2, 0, 1,
28715 9, MVT::i32,
28716 OPC_CheckPatternPredicate, 14,
28717 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
28718 MVT::i32, 2, 0, 1,
28719 0,
28720 26,
28721 OPC_CheckChild2CondCode, ISD::SETOLT,
28722 OPC_SwitchType , 9, MVT::i64,
28723 OPC_CheckPatternPredicate, 13,
28724 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28725 MVT::i64, 2, 0, 1,
28726 9, MVT::i32,
28727 OPC_CheckPatternPredicate, 14,
28728 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28729 MVT::i32, 2, 0, 1,
28730 0,
28731 26,
28732 OPC_CheckChild2CondCode, ISD::SETOLE,
28733 OPC_SwitchType , 9, MVT::i64,
28734 OPC_CheckPatternPredicate, 13,
28735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28736 MVT::i64, 2, 0, 1,
28737 9, MVT::i32,
28738 OPC_CheckPatternPredicate, 14,
28739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28740 MVT::i32, 2, 0, 1,
28741 0,
28742 26,
28743 OPC_CheckChild2CondCode, ISD::SETLE,
28744 OPC_SwitchType , 9, MVT::i64,
28745 OPC_CheckPatternPredicate, 13,
28746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28747 MVT::i64, 2, 0, 1,
28748 9, MVT::i32,
28749 OPC_CheckPatternPredicate, 14,
28750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
28751 MVT::i32, 2, 0, 1,
28752 0,
28753 26,
28754 OPC_CheckChild2CondCode, ISD::SETONE,
28755 OPC_SwitchType , 9, MVT::i64,
28756 OPC_CheckPatternPredicate, 13,
28757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
28758 MVT::i64, 2, 0, 1,
28759 9, MVT::i32,
28760 OPC_CheckPatternPredicate, 14,
28761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
28762 MVT::i32, 2, 0, 1,
28763 0,
28764 26,
28765 OPC_CheckChild2CondCode, ISD::SETO,
28766 OPC_SwitchType , 9, MVT::i64,
28767 OPC_CheckPatternPredicate, 13,
28768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_D),
28769 MVT::i64, 2, 0, 1,
28770 9, MVT::i32,
28771 OPC_CheckPatternPredicate, 14,
28772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_COR_D),
28773 MVT::i32, 2, 0, 1,
28774 0,
28775 26,
28776 OPC_CheckChild2CondCode, ISD::SETUEQ,
28777 OPC_SwitchType , 9, MVT::i64,
28778 OPC_CheckPatternPredicate, 13,
28779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
28780 MVT::i64, 2, 0, 1,
28781 9, MVT::i32,
28782 OPC_CheckPatternPredicate, 14,
28783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
28784 MVT::i32, 2, 0, 1,
28785 0,
28786 26,
28787 OPC_CheckChild2CondCode, ISD::SETULT,
28788 OPC_SwitchType , 9, MVT::i64,
28789 OPC_CheckPatternPredicate, 13,
28790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
28791 MVT::i64, 2, 0, 1,
28792 9, MVT::i32,
28793 OPC_CheckPatternPredicate, 14,
28794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
28795 MVT::i32, 2, 0, 1,
28796 0,
28797 26,
28798 OPC_CheckChild2CondCode, ISD::SETULE,
28799 OPC_SwitchType , 9, MVT::i64,
28800 OPC_CheckPatternPredicate, 13,
28801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
28802 MVT::i64, 2, 0, 1,
28803 9, MVT::i32,
28804 OPC_CheckPatternPredicate, 14,
28805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
28806 MVT::i32, 2, 0, 1,
28807 0,
28808 26,
28809 OPC_CheckChild2CondCode, ISD::SETUNE,
28810 OPC_SwitchType , 9, MVT::i64,
28811 OPC_CheckPatternPredicate, 13,
28812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
28813 MVT::i64, 2, 0, 1,
28814 9, MVT::i32,
28815 OPC_CheckPatternPredicate, 14,
28816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
28817 MVT::i32, 2, 0, 1,
28818 0,
28819 26,
28820 OPC_CheckChild2CondCode, ISD::SETUO,
28821 OPC_SwitchType , 9, MVT::i64,
28822 OPC_CheckPatternPredicate, 13,
28823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
28824 MVT::i64, 2, 0, 1,
28825 9, MVT::i32,
28826 OPC_CheckPatternPredicate, 14,
28827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
28828 MVT::i32, 2, 0, 1,
28829 0,
28830 26,
28831 OPC_CheckChild2CondCode, ISD::SETLT,
28832 OPC_SwitchType , 9, MVT::i64,
28833 OPC_CheckPatternPredicate, 13,
28834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28835 MVT::i64, 2, 0, 1,
28836 9, MVT::i32,
28837 OPC_CheckPatternPredicate, 14,
28838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
28839 MVT::i32, 2, 0, 1,
28840 0,
28841 0,
28842 59|128,1,
28843 OPC_CheckChild0Type, MVT::v16i8,
28844 OPC_RecordChild1,
28845 OPC_CheckType, MVT::v16i8,
28846 OPC_Scope, 35,
28847 OPC_CheckChild2CondCode, ISD::SETEQ,
28848 OPC_Scope, 10,
28849 OPC_CheckPatternPredicate3,
28850 OPC_CheckComplexPat3, /*#*/1,
28851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
28852 MVT::v16i8, 2, 0, 2,
28853 10,
28854 OPC_CheckPatternPredicate5,
28855 OPC_CheckComplexPat3, /*#*/1,
28856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
28857 MVT::v16i8, 2, 0, 2,
28858 8,
28859 OPC_CheckPatternPredicate1,
28860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
28861 MVT::v16i8, 2, 0, 1,
28862 0,
28863 35,
28864 OPC_CheckChild2CondCode, ISD::SETLE,
28865 OPC_Scope, 10,
28866 OPC_CheckPatternPredicate3,
28867 OPC_CheckComplexPat3, /*#*/1,
28868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
28869 MVT::v16i8, 2, 0, 2,
28870 10,
28871 OPC_CheckPatternPredicate5,
28872 OPC_CheckComplexPat3, /*#*/1,
28873 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
28874 MVT::v16i8, 2, 0, 2,
28875 8,
28876 OPC_CheckPatternPredicate1,
28877 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
28878 MVT::v16i8, 2, 0, 1,
28879 0,
28880 35,
28881 OPC_CheckChild2CondCode, ISD::SETLT,
28882 OPC_Scope, 10,
28883 OPC_CheckPatternPredicate3,
28884 OPC_CheckComplexPat3, /*#*/1,
28885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
28886 MVT::v16i8, 2, 0, 2,
28887 10,
28888 OPC_CheckPatternPredicate5,
28889 OPC_CheckComplexPat3, /*#*/1,
28890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
28891 MVT::v16i8, 2, 0, 2,
28892 8,
28893 OPC_CheckPatternPredicate1,
28894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
28895 MVT::v16i8, 2, 0, 1,
28896 0,
28897 35,
28898 OPC_CheckChild2CondCode, ISD::SETULE,
28899 OPC_Scope, 10,
28900 OPC_CheckPatternPredicate3,
28901 OPC_CheckComplexPat1, /*#*/1,
28902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
28903 MVT::v16i8, 2, 0, 2,
28904 10,
28905 OPC_CheckPatternPredicate5,
28906 OPC_CheckComplexPat1, /*#*/1,
28907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
28908 MVT::v16i8, 2, 0, 2,
28909 8,
28910 OPC_CheckPatternPredicate1,
28911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
28912 MVT::v16i8, 2, 0, 1,
28913 0,
28914 35,
28915 OPC_CheckChild2CondCode, ISD::SETULT,
28916 OPC_Scope, 10,
28917 OPC_CheckPatternPredicate3,
28918 OPC_CheckComplexPat1, /*#*/1,
28919 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
28920 MVT::v16i8, 2, 0, 2,
28921 10,
28922 OPC_CheckPatternPredicate5,
28923 OPC_CheckComplexPat1, /*#*/1,
28924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
28925 MVT::v16i8, 2, 0, 2,
28926 8,
28927 OPC_CheckPatternPredicate1,
28928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
28929 MVT::v16i8, 2, 0, 1,
28930 0,
28931 0,
28932 59|128,1,
28933 OPC_CheckChild0Type, MVT::v8i16,
28934 OPC_RecordChild1,
28935 OPC_CheckType, MVT::v8i16,
28936 OPC_Scope, 35,
28937 OPC_CheckChild2CondCode, ISD::SETEQ,
28938 OPC_Scope, 10,
28939 OPC_CheckPatternPredicate3,
28940 OPC_CheckComplexPat3, /*#*/1,
28941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
28942 MVT::v8i16, 2, 0, 2,
28943 10,
28944 OPC_CheckPatternPredicate5,
28945 OPC_CheckComplexPat3, /*#*/1,
28946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
28947 MVT::v8i16, 2, 0, 2,
28948 8,
28949 OPC_CheckPatternPredicate1,
28950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
28951 MVT::v8i16, 2, 0, 1,
28952 0,
28953 35,
28954 OPC_CheckChild2CondCode, ISD::SETLE,
28955 OPC_Scope, 10,
28956 OPC_CheckPatternPredicate3,
28957 OPC_CheckComplexPat3, /*#*/1,
28958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
28959 MVT::v8i16, 2, 0, 2,
28960 10,
28961 OPC_CheckPatternPredicate5,
28962 OPC_CheckComplexPat3, /*#*/1,
28963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
28964 MVT::v8i16, 2, 0, 2,
28965 8,
28966 OPC_CheckPatternPredicate1,
28967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
28968 MVT::v8i16, 2, 0, 1,
28969 0,
28970 35,
28971 OPC_CheckChild2CondCode, ISD::SETLT,
28972 OPC_Scope, 10,
28973 OPC_CheckPatternPredicate3,
28974 OPC_CheckComplexPat3, /*#*/1,
28975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
28976 MVT::v8i16, 2, 0, 2,
28977 10,
28978 OPC_CheckPatternPredicate5,
28979 OPC_CheckComplexPat3, /*#*/1,
28980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
28981 MVT::v8i16, 2, 0, 2,
28982 8,
28983 OPC_CheckPatternPredicate1,
28984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
28985 MVT::v8i16, 2, 0, 1,
28986 0,
28987 35,
28988 OPC_CheckChild2CondCode, ISD::SETULE,
28989 OPC_Scope, 10,
28990 OPC_CheckPatternPredicate3,
28991 OPC_CheckComplexPat1, /*#*/1,
28992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
28993 MVT::v8i16, 2, 0, 2,
28994 10,
28995 OPC_CheckPatternPredicate5,
28996 OPC_CheckComplexPat1, /*#*/1,
28997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
28998 MVT::v8i16, 2, 0, 2,
28999 8,
29000 OPC_CheckPatternPredicate1,
29001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
29002 MVT::v8i16, 2, 0, 1,
29003 0,
29004 35,
29005 OPC_CheckChild2CondCode, ISD::SETULT,
29006 OPC_Scope, 10,
29007 OPC_CheckPatternPredicate3,
29008 OPC_CheckComplexPat1, /*#*/1,
29009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
29010 MVT::v8i16, 2, 0, 2,
29011 10,
29012 OPC_CheckPatternPredicate5,
29013 OPC_CheckComplexPat1, /*#*/1,
29014 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
29015 MVT::v8i16, 2, 0, 2,
29016 8,
29017 OPC_CheckPatternPredicate1,
29018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
29019 MVT::v8i16, 2, 0, 1,
29020 0,
29021 0,
29022 59|128,1,
29023 OPC_CheckChild0Type, MVT::v4i32,
29024 OPC_RecordChild1,
29025 OPC_CheckType, MVT::v4i32,
29026 OPC_Scope, 35,
29027 OPC_CheckChild2CondCode, ISD::SETEQ,
29028 OPC_Scope, 10,
29029 OPC_CheckPatternPredicate3,
29030 OPC_CheckComplexPat3, /*#*/1,
29031 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
29032 MVT::v4i32, 2, 0, 2,
29033 10,
29034 OPC_CheckPatternPredicate5,
29035 OPC_CheckComplexPat3, /*#*/1,
29036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
29037 MVT::v4i32, 2, 0, 2,
29038 8,
29039 OPC_CheckPatternPredicate1,
29040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
29041 MVT::v4i32, 2, 0, 1,
29042 0,
29043 35,
29044 OPC_CheckChild2CondCode, ISD::SETLE,
29045 OPC_Scope, 10,
29046 OPC_CheckPatternPredicate3,
29047 OPC_CheckComplexPat3, /*#*/1,
29048 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
29049 MVT::v4i32, 2, 0, 2,
29050 10,
29051 OPC_CheckPatternPredicate5,
29052 OPC_CheckComplexPat3, /*#*/1,
29053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
29054 MVT::v4i32, 2, 0, 2,
29055 8,
29056 OPC_CheckPatternPredicate1,
29057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
29058 MVT::v4i32, 2, 0, 1,
29059 0,
29060 35,
29061 OPC_CheckChild2CondCode, ISD::SETLT,
29062 OPC_Scope, 10,
29063 OPC_CheckPatternPredicate3,
29064 OPC_CheckComplexPat3, /*#*/1,
29065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
29066 MVT::v4i32, 2, 0, 2,
29067 10,
29068 OPC_CheckPatternPredicate5,
29069 OPC_CheckComplexPat3, /*#*/1,
29070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
29071 MVT::v4i32, 2, 0, 2,
29072 8,
29073 OPC_CheckPatternPredicate1,
29074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
29075 MVT::v4i32, 2, 0, 1,
29076 0,
29077 35,
29078 OPC_CheckChild2CondCode, ISD::SETULE,
29079 OPC_Scope, 10,
29080 OPC_CheckPatternPredicate3,
29081 OPC_CheckComplexPat1, /*#*/1,
29082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
29083 MVT::v4i32, 2, 0, 2,
29084 10,
29085 OPC_CheckPatternPredicate5,
29086 OPC_CheckComplexPat1, /*#*/1,
29087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
29088 MVT::v4i32, 2, 0, 2,
29089 8,
29090 OPC_CheckPatternPredicate1,
29091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
29092 MVT::v4i32, 2, 0, 1,
29093 0,
29094 35,
29095 OPC_CheckChild2CondCode, ISD::SETULT,
29096 OPC_Scope, 10,
29097 OPC_CheckPatternPredicate3,
29098 OPC_CheckComplexPat1, /*#*/1,
29099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
29100 MVT::v4i32, 2, 0, 2,
29101 10,
29102 OPC_CheckPatternPredicate5,
29103 OPC_CheckComplexPat1, /*#*/1,
29104 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
29105 MVT::v4i32, 2, 0, 2,
29106 8,
29107 OPC_CheckPatternPredicate1,
29108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
29109 MVT::v4i32, 2, 0, 1,
29110 0,
29111 0,
29112 59|128,1,
29113 OPC_CheckChild0Type, MVT::v2i64,
29114 OPC_RecordChild1,
29115 OPC_CheckType, MVT::v2i64,
29116 OPC_Scope, 35,
29117 OPC_CheckChild2CondCode, ISD::SETEQ,
29118 OPC_Scope, 10,
29119 OPC_CheckPatternPredicate3,
29120 OPC_CheckComplexPat3, /*#*/1,
29121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
29122 MVT::v2i64, 2, 0, 2,
29123 10,
29124 OPC_CheckPatternPredicate5,
29125 OPC_CheckComplexPat3, /*#*/1,
29126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
29127 MVT::v2i64, 2, 0, 2,
29128 8,
29129 OPC_CheckPatternPredicate1,
29130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
29131 MVT::v2i64, 2, 0, 1,
29132 0,
29133 35,
29134 OPC_CheckChild2CondCode, ISD::SETLE,
29135 OPC_Scope, 10,
29136 OPC_CheckPatternPredicate3,
29137 OPC_CheckComplexPat3, /*#*/1,
29138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
29139 MVT::v2i64, 2, 0, 2,
29140 10,
29141 OPC_CheckPatternPredicate5,
29142 OPC_CheckComplexPat3, /*#*/1,
29143 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
29144 MVT::v2i64, 2, 0, 2,
29145 8,
29146 OPC_CheckPatternPredicate1,
29147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
29148 MVT::v2i64, 2, 0, 1,
29149 0,
29150 35,
29151 OPC_CheckChild2CondCode, ISD::SETLT,
29152 OPC_Scope, 10,
29153 OPC_CheckPatternPredicate3,
29154 OPC_CheckComplexPat3, /*#*/1,
29155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
29156 MVT::v2i64, 2, 0, 2,
29157 10,
29158 OPC_CheckPatternPredicate5,
29159 OPC_CheckComplexPat3, /*#*/1,
29160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
29161 MVT::v2i64, 2, 0, 2,
29162 8,
29163 OPC_CheckPatternPredicate1,
29164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
29165 MVT::v2i64, 2, 0, 1,
29166 0,
29167 35,
29168 OPC_CheckChild2CondCode, ISD::SETULE,
29169 OPC_Scope, 10,
29170 OPC_CheckPatternPredicate3,
29171 OPC_CheckComplexPat1, /*#*/1,
29172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
29173 MVT::v2i64, 2, 0, 2,
29174 10,
29175 OPC_CheckPatternPredicate5,
29176 OPC_CheckComplexPat1, /*#*/1,
29177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
29178 MVT::v2i64, 2, 0, 2,
29179 8,
29180 OPC_CheckPatternPredicate1,
29181 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
29182 MVT::v2i64, 2, 0, 1,
29183 0,
29184 35,
29185 OPC_CheckChild2CondCode, ISD::SETULT,
29186 OPC_Scope, 10,
29187 OPC_CheckPatternPredicate3,
29188 OPC_CheckComplexPat1, /*#*/1,
29189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
29190 MVT::v2i64, 2, 0, 2,
29191 10,
29192 OPC_CheckPatternPredicate5,
29193 OPC_CheckComplexPat1, /*#*/1,
29194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
29195 MVT::v2i64, 2, 0, 2,
29196 8,
29197 OPC_CheckPatternPredicate1,
29198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
29199 MVT::v2i64, 2, 0, 1,
29200 0,
29201 0,
29202 59|128,1,
29203 OPC_CheckChild0Type, MVT::v32i8,
29204 OPC_RecordChild1,
29205 OPC_CheckType, MVT::v32i8,
29206 OPC_Scope, 35,
29207 OPC_CheckChild2CondCode, ISD::SETEQ,
29208 OPC_Scope, 10,
29209 OPC_CheckPatternPredicate2,
29210 OPC_CheckComplexPat3, /*#*/1,
29211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
29212 MVT::v32i8, 2, 0, 2,
29213 10,
29214 OPC_CheckPatternPredicate4,
29215 OPC_CheckComplexPat3, /*#*/1,
29216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
29217 MVT::v32i8, 2, 0, 2,
29218 8,
29219 OPC_CheckPatternPredicate0,
29220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
29221 MVT::v32i8, 2, 0, 1,
29222 0,
29223 35,
29224 OPC_CheckChild2CondCode, ISD::SETLE,
29225 OPC_Scope, 10,
29226 OPC_CheckPatternPredicate2,
29227 OPC_CheckComplexPat3, /*#*/1,
29228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
29229 MVT::v32i8, 2, 0, 2,
29230 10,
29231 OPC_CheckPatternPredicate4,
29232 OPC_CheckComplexPat3, /*#*/1,
29233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
29234 MVT::v32i8, 2, 0, 2,
29235 8,
29236 OPC_CheckPatternPredicate0,
29237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
29238 MVT::v32i8, 2, 0, 1,
29239 0,
29240 35,
29241 OPC_CheckChild2CondCode, ISD::SETLT,
29242 OPC_Scope, 10,
29243 OPC_CheckPatternPredicate2,
29244 OPC_CheckComplexPat3, /*#*/1,
29245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
29246 MVT::v32i8, 2, 0, 2,
29247 10,
29248 OPC_CheckPatternPredicate4,
29249 OPC_CheckComplexPat3, /*#*/1,
29250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
29251 MVT::v32i8, 2, 0, 2,
29252 8,
29253 OPC_CheckPatternPredicate0,
29254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
29255 MVT::v32i8, 2, 0, 1,
29256 0,
29257 35,
29258 OPC_CheckChild2CondCode, ISD::SETULE,
29259 OPC_Scope, 10,
29260 OPC_CheckPatternPredicate2,
29261 OPC_CheckComplexPat1, /*#*/1,
29262 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
29263 MVT::v32i8, 2, 0, 2,
29264 10,
29265 OPC_CheckPatternPredicate4,
29266 OPC_CheckComplexPat1, /*#*/1,
29267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
29268 MVT::v32i8, 2, 0, 2,
29269 8,
29270 OPC_CheckPatternPredicate0,
29271 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
29272 MVT::v32i8, 2, 0, 1,
29273 0,
29274 35,
29275 OPC_CheckChild2CondCode, ISD::SETULT,
29276 OPC_Scope, 10,
29277 OPC_CheckPatternPredicate2,
29278 OPC_CheckComplexPat1, /*#*/1,
29279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
29280 MVT::v32i8, 2, 0, 2,
29281 10,
29282 OPC_CheckPatternPredicate4,
29283 OPC_CheckComplexPat1, /*#*/1,
29284 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
29285 MVT::v32i8, 2, 0, 2,
29286 8,
29287 OPC_CheckPatternPredicate0,
29288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
29289 MVT::v32i8, 2, 0, 1,
29290 0,
29291 0,
29292 59|128,1,
29293 OPC_CheckChild0Type, MVT::v16i16,
29294 OPC_RecordChild1,
29295 OPC_CheckType, MVT::v16i16,
29296 OPC_Scope, 35,
29297 OPC_CheckChild2CondCode, ISD::SETEQ,
29298 OPC_Scope, 10,
29299 OPC_CheckPatternPredicate2,
29300 OPC_CheckComplexPat3, /*#*/1,
29301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
29302 MVT::v16i16, 2, 0, 2,
29303 10,
29304 OPC_CheckPatternPredicate4,
29305 OPC_CheckComplexPat3, /*#*/1,
29306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
29307 MVT::v16i16, 2, 0, 2,
29308 8,
29309 OPC_CheckPatternPredicate0,
29310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
29311 MVT::v16i16, 2, 0, 1,
29312 0,
29313 35,
29314 OPC_CheckChild2CondCode, ISD::SETLE,
29315 OPC_Scope, 10,
29316 OPC_CheckPatternPredicate2,
29317 OPC_CheckComplexPat3, /*#*/1,
29318 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
29319 MVT::v16i16, 2, 0, 2,
29320 10,
29321 OPC_CheckPatternPredicate4,
29322 OPC_CheckComplexPat3, /*#*/1,
29323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
29324 MVT::v16i16, 2, 0, 2,
29325 8,
29326 OPC_CheckPatternPredicate0,
29327 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
29328 MVT::v16i16, 2, 0, 1,
29329 0,
29330 35,
29331 OPC_CheckChild2CondCode, ISD::SETLT,
29332 OPC_Scope, 10,
29333 OPC_CheckPatternPredicate2,
29334 OPC_CheckComplexPat3, /*#*/1,
29335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
29336 MVT::v16i16, 2, 0, 2,
29337 10,
29338 OPC_CheckPatternPredicate4,
29339 OPC_CheckComplexPat3, /*#*/1,
29340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
29341 MVT::v16i16, 2, 0, 2,
29342 8,
29343 OPC_CheckPatternPredicate0,
29344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
29345 MVT::v16i16, 2, 0, 1,
29346 0,
29347 35,
29348 OPC_CheckChild2CondCode, ISD::SETULE,
29349 OPC_Scope, 10,
29350 OPC_CheckPatternPredicate2,
29351 OPC_CheckComplexPat1, /*#*/1,
29352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
29353 MVT::v16i16, 2, 0, 2,
29354 10,
29355 OPC_CheckPatternPredicate4,
29356 OPC_CheckComplexPat1, /*#*/1,
29357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
29358 MVT::v16i16, 2, 0, 2,
29359 8,
29360 OPC_CheckPatternPredicate0,
29361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
29362 MVT::v16i16, 2, 0, 1,
29363 0,
29364 35,
29365 OPC_CheckChild2CondCode, ISD::SETULT,
29366 OPC_Scope, 10,
29367 OPC_CheckPatternPredicate2,
29368 OPC_CheckComplexPat1, /*#*/1,
29369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
29370 MVT::v16i16, 2, 0, 2,
29371 10,
29372 OPC_CheckPatternPredicate4,
29373 OPC_CheckComplexPat1, /*#*/1,
29374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
29375 MVT::v16i16, 2, 0, 2,
29376 8,
29377 OPC_CheckPatternPredicate0,
29378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
29379 MVT::v16i16, 2, 0, 1,
29380 0,
29381 0,
29382 59|128,1,
29383 OPC_CheckChild0Type, MVT::v8i32,
29384 OPC_RecordChild1,
29385 OPC_CheckType, MVT::v8i32,
29386 OPC_Scope, 35,
29387 OPC_CheckChild2CondCode, ISD::SETEQ,
29388 OPC_Scope, 10,
29389 OPC_CheckPatternPredicate2,
29390 OPC_CheckComplexPat3, /*#*/1,
29391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
29392 MVT::v8i32, 2, 0, 2,
29393 10,
29394 OPC_CheckPatternPredicate4,
29395 OPC_CheckComplexPat3, /*#*/1,
29396 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
29397 MVT::v8i32, 2, 0, 2,
29398 8,
29399 OPC_CheckPatternPredicate0,
29400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
29401 MVT::v8i32, 2, 0, 1,
29402 0,
29403 35,
29404 OPC_CheckChild2CondCode, ISD::SETLE,
29405 OPC_Scope, 10,
29406 OPC_CheckPatternPredicate2,
29407 OPC_CheckComplexPat3, /*#*/1,
29408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
29409 MVT::v8i32, 2, 0, 2,
29410 10,
29411 OPC_CheckPatternPredicate4,
29412 OPC_CheckComplexPat3, /*#*/1,
29413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
29414 MVT::v8i32, 2, 0, 2,
29415 8,
29416 OPC_CheckPatternPredicate0,
29417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
29418 MVT::v8i32, 2, 0, 1,
29419 0,
29420 35,
29421 OPC_CheckChild2CondCode, ISD::SETLT,
29422 OPC_Scope, 10,
29423 OPC_CheckPatternPredicate2,
29424 OPC_CheckComplexPat3, /*#*/1,
29425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
29426 MVT::v8i32, 2, 0, 2,
29427 10,
29428 OPC_CheckPatternPredicate4,
29429 OPC_CheckComplexPat3, /*#*/1,
29430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
29431 MVT::v8i32, 2, 0, 2,
29432 8,
29433 OPC_CheckPatternPredicate0,
29434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
29435 MVT::v8i32, 2, 0, 1,
29436 0,
29437 35,
29438 OPC_CheckChild2CondCode, ISD::SETULE,
29439 OPC_Scope, 10,
29440 OPC_CheckPatternPredicate2,
29441 OPC_CheckComplexPat1, /*#*/1,
29442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
29443 MVT::v8i32, 2, 0, 2,
29444 10,
29445 OPC_CheckPatternPredicate4,
29446 OPC_CheckComplexPat1, /*#*/1,
29447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
29448 MVT::v8i32, 2, 0, 2,
29449 8,
29450 OPC_CheckPatternPredicate0,
29451 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
29452 MVT::v8i32, 2, 0, 1,
29453 0,
29454 35,
29455 OPC_CheckChild2CondCode, ISD::SETULT,
29456 OPC_Scope, 10,
29457 OPC_CheckPatternPredicate2,
29458 OPC_CheckComplexPat1, /*#*/1,
29459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
29460 MVT::v8i32, 2, 0, 2,
29461 10,
29462 OPC_CheckPatternPredicate4,
29463 OPC_CheckComplexPat1, /*#*/1,
29464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
29465 MVT::v8i32, 2, 0, 2,
29466 8,
29467 OPC_CheckPatternPredicate0,
29468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
29469 MVT::v8i32, 2, 0, 1,
29470 0,
29471 0,
29472 59|128,1,
29473 OPC_CheckChild0Type, MVT::v4i64,
29474 OPC_RecordChild1,
29475 OPC_CheckType, MVT::v4i64,
29476 OPC_Scope, 35,
29477 OPC_CheckChild2CondCode, ISD::SETEQ,
29478 OPC_Scope, 10,
29479 OPC_CheckPatternPredicate2,
29480 OPC_CheckComplexPat3, /*#*/1,
29481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
29482 MVT::v4i64, 2, 0, 2,
29483 10,
29484 OPC_CheckPatternPredicate4,
29485 OPC_CheckComplexPat3, /*#*/1,
29486 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
29487 MVT::v4i64, 2, 0, 2,
29488 8,
29489 OPC_CheckPatternPredicate0,
29490 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
29491 MVT::v4i64, 2, 0, 1,
29492 0,
29493 35,
29494 OPC_CheckChild2CondCode, ISD::SETLE,
29495 OPC_Scope, 10,
29496 OPC_CheckPatternPredicate2,
29497 OPC_CheckComplexPat3, /*#*/1,
29498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
29499 MVT::v4i64, 2, 0, 2,
29500 10,
29501 OPC_CheckPatternPredicate4,
29502 OPC_CheckComplexPat3, /*#*/1,
29503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
29504 MVT::v4i64, 2, 0, 2,
29505 8,
29506 OPC_CheckPatternPredicate0,
29507 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
29508 MVT::v4i64, 2, 0, 1,
29509 0,
29510 35,
29511 OPC_CheckChild2CondCode, ISD::SETLT,
29512 OPC_Scope, 10,
29513 OPC_CheckPatternPredicate2,
29514 OPC_CheckComplexPat3, /*#*/1,
29515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
29516 MVT::v4i64, 2, 0, 2,
29517 10,
29518 OPC_CheckPatternPredicate4,
29519 OPC_CheckComplexPat3, /*#*/1,
29520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
29521 MVT::v4i64, 2, 0, 2,
29522 8,
29523 OPC_CheckPatternPredicate0,
29524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
29525 MVT::v4i64, 2, 0, 1,
29526 0,
29527 35,
29528 OPC_CheckChild2CondCode, ISD::SETULE,
29529 OPC_Scope, 10,
29530 OPC_CheckPatternPredicate2,
29531 OPC_CheckComplexPat1, /*#*/1,
29532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
29533 MVT::v4i64, 2, 0, 2,
29534 10,
29535 OPC_CheckPatternPredicate4,
29536 OPC_CheckComplexPat1, /*#*/1,
29537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
29538 MVT::v4i64, 2, 0, 2,
29539 8,
29540 OPC_CheckPatternPredicate0,
29541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
29542 MVT::v4i64, 2, 0, 1,
29543 0,
29544 35,
29545 OPC_CheckChild2CondCode, ISD::SETULT,
29546 OPC_Scope, 10,
29547 OPC_CheckPatternPredicate2,
29548 OPC_CheckComplexPat1, /*#*/1,
29549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
29550 MVT::v4i64, 2, 0, 2,
29551 10,
29552 OPC_CheckPatternPredicate4,
29553 OPC_CheckComplexPat1, /*#*/1,
29554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
29555 MVT::v4i64, 2, 0, 2,
29556 8,
29557 OPC_CheckPatternPredicate0,
29558 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
29559 MVT::v4i64, 2, 0, 1,
29560 0,
29561 0,
29562 33|128,1,
29563 OPC_CheckChild0Type, MVT::v4f32,
29564 OPC_RecordChild1,
29565 OPC_CheckType, MVT::v4i32,
29566 OPC_Scope, 10,
29567 OPC_CheckChild2CondCode, ISD::SETEQ,
29568 OPC_CheckPatternPredicate1,
29569 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
29570 MVT::v4i32, 2, 0, 1,
29571 10,
29572 OPC_CheckChild2CondCode, ISD::SETOEQ,
29573 OPC_CheckPatternPredicate1,
29574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
29575 MVT::v4i32, 2, 0, 1,
29576 10,
29577 OPC_CheckChild2CondCode, ISD::SETUEQ,
29578 OPC_CheckPatternPredicate1,
29579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
29580 MVT::v4i32, 2, 0, 1,
29581 10,
29582 OPC_CheckChild2CondCode, ISD::SETLE,
29583 OPC_CheckPatternPredicate1,
29584 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
29585 MVT::v4i32, 2, 0, 1,
29586 10,
29587 OPC_CheckChild2CondCode, ISD::SETOLE,
29588 OPC_CheckPatternPredicate1,
29589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
29590 MVT::v4i32, 2, 0, 1,
29591 10,
29592 OPC_CheckChild2CondCode, ISD::SETULE,
29593 OPC_CheckPatternPredicate1,
29594 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
29595 MVT::v4i32, 2, 0, 1,
29596 10,
29597 OPC_CheckChild2CondCode, ISD::SETLT,
29598 OPC_CheckPatternPredicate1,
29599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
29600 MVT::v4i32, 2, 0, 1,
29601 10,
29602 OPC_CheckChild2CondCode, ISD::SETOLT,
29603 OPC_CheckPatternPredicate1,
29604 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
29605 MVT::v4i32, 2, 0, 1,
29606 10,
29607 OPC_CheckChild2CondCode, ISD::SETULT,
29608 OPC_CheckPatternPredicate1,
29609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
29610 MVT::v4i32, 2, 0, 1,
29611 10,
29612 OPC_CheckChild2CondCode, ISD::SETNE,
29613 OPC_CheckPatternPredicate1,
29614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
29615 MVT::v4i32, 2, 0, 1,
29616 10,
29617 OPC_CheckChild2CondCode, ISD::SETONE,
29618 OPC_CheckPatternPredicate1,
29619 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
29620 MVT::v4i32, 2, 0, 1,
29621 10,
29622 OPC_CheckChild2CondCode, ISD::SETUNE,
29623 OPC_CheckPatternPredicate1,
29624 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
29625 MVT::v4i32, 2, 0, 1,
29626 10,
29627 OPC_CheckChild2CondCode, ISD::SETO,
29628 OPC_CheckPatternPredicate1,
29629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
29630 MVT::v4i32, 2, 0, 1,
29631 10,
29632 OPC_CheckChild2CondCode, ISD::SETUO,
29633 OPC_CheckPatternPredicate1,
29634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
29635 MVT::v4i32, 2, 0, 1,
29636 0,
29637 33|128,1,
29638 OPC_CheckChild0Type, MVT::v2f64,
29639 OPC_RecordChild1,
29640 OPC_CheckType, MVT::v2i64,
29641 OPC_Scope, 10,
29642 OPC_CheckChild2CondCode, ISD::SETEQ,
29643 OPC_CheckPatternPredicate1,
29644 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
29645 MVT::v2i64, 2, 0, 1,
29646 10,
29647 OPC_CheckChild2CondCode, ISD::SETOEQ,
29648 OPC_CheckPatternPredicate1,
29649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
29650 MVT::v2i64, 2, 0, 1,
29651 10,
29652 OPC_CheckChild2CondCode, ISD::SETUEQ,
29653 OPC_CheckPatternPredicate1,
29654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
29655 MVT::v2i64, 2, 0, 1,
29656 10,
29657 OPC_CheckChild2CondCode, ISD::SETLE,
29658 OPC_CheckPatternPredicate1,
29659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
29660 MVT::v2i64, 2, 0, 1,
29661 10,
29662 OPC_CheckChild2CondCode, ISD::SETOLE,
29663 OPC_CheckPatternPredicate1,
29664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
29665 MVT::v2i64, 2, 0, 1,
29666 10,
29667 OPC_CheckChild2CondCode, ISD::SETULE,
29668 OPC_CheckPatternPredicate1,
29669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
29670 MVT::v2i64, 2, 0, 1,
29671 10,
29672 OPC_CheckChild2CondCode, ISD::SETLT,
29673 OPC_CheckPatternPredicate1,
29674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
29675 MVT::v2i64, 2, 0, 1,
29676 10,
29677 OPC_CheckChild2CondCode, ISD::SETOLT,
29678 OPC_CheckPatternPredicate1,
29679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
29680 MVT::v2i64, 2, 0, 1,
29681 10,
29682 OPC_CheckChild2CondCode, ISD::SETULT,
29683 OPC_CheckPatternPredicate1,
29684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
29685 MVT::v2i64, 2, 0, 1,
29686 10,
29687 OPC_CheckChild2CondCode, ISD::SETNE,
29688 OPC_CheckPatternPredicate1,
29689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
29690 MVT::v2i64, 2, 0, 1,
29691 10,
29692 OPC_CheckChild2CondCode, ISD::SETONE,
29693 OPC_CheckPatternPredicate1,
29694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
29695 MVT::v2i64, 2, 0, 1,
29696 10,
29697 OPC_CheckChild2CondCode, ISD::SETUNE,
29698 OPC_CheckPatternPredicate1,
29699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
29700 MVT::v2i64, 2, 0, 1,
29701 10,
29702 OPC_CheckChild2CondCode, ISD::SETO,
29703 OPC_CheckPatternPredicate1,
29704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
29705 MVT::v2i64, 2, 0, 1,
29706 10,
29707 OPC_CheckChild2CondCode, ISD::SETUO,
29708 OPC_CheckPatternPredicate1,
29709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
29710 MVT::v2i64, 2, 0, 1,
29711 0,
29712 33|128,1,
29713 OPC_CheckChild0Type, MVT::v8f32,
29714 OPC_RecordChild1,
29715 OPC_CheckType, MVT::v8i32,
29716 OPC_Scope, 10,
29717 OPC_CheckChild2CondCode, ISD::SETEQ,
29718 OPC_CheckPatternPredicate0,
29719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
29720 MVT::v8i32, 2, 0, 1,
29721 10,
29722 OPC_CheckChild2CondCode, ISD::SETOEQ,
29723 OPC_CheckPatternPredicate0,
29724 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
29725 MVT::v8i32, 2, 0, 1,
29726 10,
29727 OPC_CheckChild2CondCode, ISD::SETUEQ,
29728 OPC_CheckPatternPredicate0,
29729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
29730 MVT::v8i32, 2, 0, 1,
29731 10,
29732 OPC_CheckChild2CondCode, ISD::SETLE,
29733 OPC_CheckPatternPredicate0,
29734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
29735 MVT::v8i32, 2, 0, 1,
29736 10,
29737 OPC_CheckChild2CondCode, ISD::SETOLE,
29738 OPC_CheckPatternPredicate0,
29739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
29740 MVT::v8i32, 2, 0, 1,
29741 10,
29742 OPC_CheckChild2CondCode, ISD::SETULE,
29743 OPC_CheckPatternPredicate0,
29744 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
29745 MVT::v8i32, 2, 0, 1,
29746 10,
29747 OPC_CheckChild2CondCode, ISD::SETLT,
29748 OPC_CheckPatternPredicate0,
29749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
29750 MVT::v8i32, 2, 0, 1,
29751 10,
29752 OPC_CheckChild2CondCode, ISD::SETOLT,
29753 OPC_CheckPatternPredicate0,
29754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
29755 MVT::v8i32, 2, 0, 1,
29756 10,
29757 OPC_CheckChild2CondCode, ISD::SETULT,
29758 OPC_CheckPatternPredicate0,
29759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
29760 MVT::v8i32, 2, 0, 1,
29761 10,
29762 OPC_CheckChild2CondCode, ISD::SETNE,
29763 OPC_CheckPatternPredicate0,
29764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
29765 MVT::v8i32, 2, 0, 1,
29766 10,
29767 OPC_CheckChild2CondCode, ISD::SETONE,
29768 OPC_CheckPatternPredicate0,
29769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
29770 MVT::v8i32, 2, 0, 1,
29771 10,
29772 OPC_CheckChild2CondCode, ISD::SETUNE,
29773 OPC_CheckPatternPredicate0,
29774 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
29775 MVT::v8i32, 2, 0, 1,
29776 10,
29777 OPC_CheckChild2CondCode, ISD::SETO,
29778 OPC_CheckPatternPredicate0,
29779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
29780 MVT::v8i32, 2, 0, 1,
29781 10,
29782 OPC_CheckChild2CondCode, ISD::SETUO,
29783 OPC_CheckPatternPredicate0,
29784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
29785 MVT::v8i32, 2, 0, 1,
29786 0,
29787 33|128,1,
29788 OPC_CheckChild0Type, MVT::v4f64,
29789 OPC_RecordChild1,
29790 OPC_CheckType, MVT::v4i64,
29791 OPC_Scope, 10,
29792 OPC_CheckChild2CondCode, ISD::SETEQ,
29793 OPC_CheckPatternPredicate0,
29794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
29795 MVT::v4i64, 2, 0, 1,
29796 10,
29797 OPC_CheckChild2CondCode, ISD::SETOEQ,
29798 OPC_CheckPatternPredicate0,
29799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
29800 MVT::v4i64, 2, 0, 1,
29801 10,
29802 OPC_CheckChild2CondCode, ISD::SETUEQ,
29803 OPC_CheckPatternPredicate0,
29804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
29805 MVT::v4i64, 2, 0, 1,
29806 10,
29807 OPC_CheckChild2CondCode, ISD::SETLE,
29808 OPC_CheckPatternPredicate0,
29809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
29810 MVT::v4i64, 2, 0, 1,
29811 10,
29812 OPC_CheckChild2CondCode, ISD::SETOLE,
29813 OPC_CheckPatternPredicate0,
29814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
29815 MVT::v4i64, 2, 0, 1,
29816 10,
29817 OPC_CheckChild2CondCode, ISD::SETULE,
29818 OPC_CheckPatternPredicate0,
29819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
29820 MVT::v4i64, 2, 0, 1,
29821 10,
29822 OPC_CheckChild2CondCode, ISD::SETLT,
29823 OPC_CheckPatternPredicate0,
29824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
29825 MVT::v4i64, 2, 0, 1,
29826 10,
29827 OPC_CheckChild2CondCode, ISD::SETOLT,
29828 OPC_CheckPatternPredicate0,
29829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
29830 MVT::v4i64, 2, 0, 1,
29831 10,
29832 OPC_CheckChild2CondCode, ISD::SETULT,
29833 OPC_CheckPatternPredicate0,
29834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
29835 MVT::v4i64, 2, 0, 1,
29836 10,
29837 OPC_CheckChild2CondCode, ISD::SETNE,
29838 OPC_CheckPatternPredicate0,
29839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
29840 MVT::v4i64, 2, 0, 1,
29841 10,
29842 OPC_CheckChild2CondCode, ISD::SETONE,
29843 OPC_CheckPatternPredicate0,
29844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
29845 MVT::v4i64, 2, 0, 1,
29846 10,
29847 OPC_CheckChild2CondCode, ISD::SETUNE,
29848 OPC_CheckPatternPredicate0,
29849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
29850 MVT::v4i64, 2, 0, 1,
29851 10,
29852 OPC_CheckChild2CondCode, ISD::SETO,
29853 OPC_CheckPatternPredicate0,
29854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
29855 MVT::v4i64, 2, 0, 1,
29856 10,
29857 OPC_CheckChild2CondCode, ISD::SETUO,
29858 OPC_CheckPatternPredicate0,
29859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
29860 MVT::v4i64, 2, 0, 1,
29861 0,
29862 0,
29863 112|128,9, TARGET_VAL(ISD::SELECT),
29864 OPC_Scope, 114,
29865 OPC_RecordChild0,
29866 OPC_SwitchType , 52, MVT::i64,
29867 OPC_CheckChild0TypeI64,
29868 OPC_Scope, 11,
29869 OPC_RecordChild1,
29870 OPC_CheckChild2Integer, 0,
29871 OPC_CheckPatternPredicate7,
29872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKEQZ),
29873 MVT::i64, 2, 1, 0,
29874 11,
29875 OPC_CheckChild1Integer, 0,
29876 OPC_RecordChild2,
29877 OPC_CheckPatternPredicate7,
29878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKNEZ),
29879 MVT::i64, 2, 1, 0,
29880 24,
29881 OPC_RecordChild1,
29882 OPC_RecordChild2,
29883 OPC_CheckPatternPredicate7,
29884 OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKEQZ),
29885 MVT::i64, 2, 1, 0,
29886 OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKNEZ),
29887 MVT::i64, 2, 2, 0,
29888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
29889 MVT::i64, 2, 3, 4,
29890 0,
29891 55, MVT::i32,
29892 OPC_CheckChild0TypeI32,
29893 OPC_Scope, 12,
29894 OPC_RecordChild1,
29895 OPC_CheckChild2Integer, 0,
29896 OPC_CheckPatternPredicate, 8,
29897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKEQZ),
29898 MVT::i32, 2, 1, 0,
29899 12,
29900 OPC_CheckChild1Integer, 0,
29901 OPC_RecordChild2,
29902 OPC_CheckPatternPredicate, 8,
29903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MASKNEZ),
29904 MVT::i32, 2, 1, 0,
29905 25,
29906 OPC_RecordChild1,
29907 OPC_RecordChild2,
29908 OPC_CheckPatternPredicate, 8,
29909 OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKEQZ),
29910 MVT::i32, 2, 1, 0,
29911 OPC_EmitNode1None, TARGET_VAL(LoongArch::MASKNEZ),
29912 MVT::i32, 2, 2, 0,
29913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::OR),
29914 MVT::i32, 2, 3, 4,
29915 0,
29916 0,
29917 57|128,8,
29918 OPC_MoveChild0,
29919 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
29920 OPC_RecordChild0,
29921 OPC_Scope, 23|128,4,
29922 OPC_CheckChild0Type, MVT::f32,
29923 OPC_RecordChild1,
29924 OPC_Scope, 52,
29925 OPC_CheckChild2CondCode, ISD::SETOEQ,
29926 OPC_SwitchType , 22, MVT::i64,
29927 OPC_MoveParent,
29928 OPC_RecordChild1,
29929 OPC_RecordChild2,
29930 OPC_CheckType, MVT::f32,
29931 OPC_CheckPatternPredicate, 11,
29932 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
29933 MVT::i64, 2, 0, 1,
29934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29935 MVT::f32, 3, 3, 2, 4,
29936 22, MVT::i32,
29937 OPC_MoveParent,
29938 OPC_RecordChild1,
29939 OPC_RecordChild2,
29940 OPC_CheckType, MVT::f32,
29941 OPC_CheckPatternPredicate, 12,
29942 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_S),
29943 MVT::i32, 2, 0, 1,
29944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29945 MVT::f32, 3, 3, 2, 4,
29946 0,
29947 52,
29948 OPC_CheckChild2CondCode, ISD::SETOLT,
29949 OPC_SwitchType , 22, MVT::i64,
29950 OPC_MoveParent,
29951 OPC_RecordChild1,
29952 OPC_RecordChild2,
29953 OPC_CheckType, MVT::f32,
29954 OPC_CheckPatternPredicate, 11,
29955 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
29956 MVT::i64, 2, 0, 1,
29957 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29958 MVT::f32, 3, 3, 2, 4,
29959 22, MVT::i32,
29960 OPC_MoveParent,
29961 OPC_RecordChild1,
29962 OPC_RecordChild2,
29963 OPC_CheckType, MVT::f32,
29964 OPC_CheckPatternPredicate, 12,
29965 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_S),
29966 MVT::i32, 2, 0, 1,
29967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29968 MVT::f32, 3, 3, 2, 4,
29969 0,
29970 52,
29971 OPC_CheckChild2CondCode, ISD::SETOLE,
29972 OPC_SwitchType , 22, MVT::i64,
29973 OPC_MoveParent,
29974 OPC_RecordChild1,
29975 OPC_RecordChild2,
29976 OPC_CheckType, MVT::f32,
29977 OPC_CheckPatternPredicate, 11,
29978 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
29979 MVT::i64, 2, 0, 1,
29980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29981 MVT::f32, 3, 3, 2, 4,
29982 22, MVT::i32,
29983 OPC_MoveParent,
29984 OPC_RecordChild1,
29985 OPC_RecordChild2,
29986 OPC_CheckType, MVT::f32,
29987 OPC_CheckPatternPredicate, 12,
29988 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_S),
29989 MVT::i32, 2, 0, 1,
29990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
29991 MVT::f32, 3, 3, 2, 4,
29992 0,
29993 52,
29994 OPC_CheckChild2CondCode, ISD::SETONE,
29995 OPC_SwitchType , 22, MVT::i64,
29996 OPC_MoveParent,
29997 OPC_RecordChild1,
29998 OPC_RecordChild2,
29999 OPC_CheckType, MVT::f32,
30000 OPC_CheckPatternPredicate, 11,
30001 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
30002 MVT::i64, 2, 0, 1,
30003 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30004 MVT::f32, 3, 3, 2, 4,
30005 22, MVT::i32,
30006 OPC_MoveParent,
30007 OPC_RecordChild1,
30008 OPC_RecordChild2,
30009 OPC_CheckType, MVT::f32,
30010 OPC_CheckPatternPredicate, 12,
30011 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_S),
30012 MVT::i32, 2, 0, 1,
30013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30014 MVT::f32, 3, 3, 2, 4,
30015 0,
30016 52,
30017 OPC_CheckChild2CondCode, ISD::SETO,
30018 OPC_SwitchType , 22, MVT::i64,
30019 OPC_MoveParent,
30020 OPC_RecordChild1,
30021 OPC_RecordChild2,
30022 OPC_CheckType, MVT::f32,
30023 OPC_CheckPatternPredicate, 11,
30024 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
30025 MVT::i64, 2, 0, 1,
30026 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30027 MVT::f32, 3, 3, 2, 4,
30028 22, MVT::i32,
30029 OPC_MoveParent,
30030 OPC_RecordChild1,
30031 OPC_RecordChild2,
30032 OPC_CheckType, MVT::f32,
30033 OPC_CheckPatternPredicate, 12,
30034 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_S),
30035 MVT::i32, 2, 0, 1,
30036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30037 MVT::f32, 3, 3, 2, 4,
30038 0,
30039 52,
30040 OPC_CheckChild2CondCode, ISD::SETUEQ,
30041 OPC_SwitchType , 22, MVT::i64,
30042 OPC_MoveParent,
30043 OPC_RecordChild1,
30044 OPC_RecordChild2,
30045 OPC_CheckType, MVT::f32,
30046 OPC_CheckPatternPredicate, 11,
30047 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
30048 MVT::i64, 2, 0, 1,
30049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30050 MVT::f32, 3, 3, 2, 4,
30051 22, MVT::i32,
30052 OPC_MoveParent,
30053 OPC_RecordChild1,
30054 OPC_RecordChild2,
30055 OPC_CheckType, MVT::f32,
30056 OPC_CheckPatternPredicate, 12,
30057 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_S),
30058 MVT::i32, 2, 0, 1,
30059 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30060 MVT::f32, 3, 3, 2, 4,
30061 0,
30062 52,
30063 OPC_CheckChild2CondCode, ISD::SETULT,
30064 OPC_SwitchType , 22, MVT::i64,
30065 OPC_MoveParent,
30066 OPC_RecordChild1,
30067 OPC_RecordChild2,
30068 OPC_CheckType, MVT::f32,
30069 OPC_CheckPatternPredicate, 11,
30070 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
30071 MVT::i64, 2, 0, 1,
30072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30073 MVT::f32, 3, 3, 2, 4,
30074 22, MVT::i32,
30075 OPC_MoveParent,
30076 OPC_RecordChild1,
30077 OPC_RecordChild2,
30078 OPC_CheckType, MVT::f32,
30079 OPC_CheckPatternPredicate, 12,
30080 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_S),
30081 MVT::i32, 2, 0, 1,
30082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30083 MVT::f32, 3, 3, 2, 4,
30084 0,
30085 52,
30086 OPC_CheckChild2CondCode, ISD::SETULE,
30087 OPC_SwitchType , 22, MVT::i64,
30088 OPC_MoveParent,
30089 OPC_RecordChild1,
30090 OPC_RecordChild2,
30091 OPC_CheckType, MVT::f32,
30092 OPC_CheckPatternPredicate, 11,
30093 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
30094 MVT::i64, 2, 0, 1,
30095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30096 MVT::f32, 3, 3, 2, 4,
30097 22, MVT::i32,
30098 OPC_MoveParent,
30099 OPC_RecordChild1,
30100 OPC_RecordChild2,
30101 OPC_CheckType, MVT::f32,
30102 OPC_CheckPatternPredicate, 12,
30103 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_S),
30104 MVT::i32, 2, 0, 1,
30105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30106 MVT::f32, 3, 3, 2, 4,
30107 0,
30108 52,
30109 OPC_CheckChild2CondCode, ISD::SETUNE,
30110 OPC_SwitchType , 22, MVT::i64,
30111 OPC_MoveParent,
30112 OPC_RecordChild1,
30113 OPC_RecordChild2,
30114 OPC_CheckType, MVT::f32,
30115 OPC_CheckPatternPredicate, 11,
30116 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
30117 MVT::i64, 2, 0, 1,
30118 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30119 MVT::f32, 3, 3, 2, 4,
30120 22, MVT::i32,
30121 OPC_MoveParent,
30122 OPC_RecordChild1,
30123 OPC_RecordChild2,
30124 OPC_CheckType, MVT::f32,
30125 OPC_CheckPatternPredicate, 12,
30126 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_S),
30127 MVT::i32, 2, 0, 1,
30128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30129 MVT::f32, 3, 3, 2, 4,
30130 0,
30131 52,
30132 OPC_CheckChild2CondCode, ISD::SETUO,
30133 OPC_SwitchType , 22, MVT::i64,
30134 OPC_MoveParent,
30135 OPC_RecordChild1,
30136 OPC_RecordChild2,
30137 OPC_CheckType, MVT::f32,
30138 OPC_CheckPatternPredicate, 11,
30139 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
30140 MVT::i64, 2, 0, 1,
30141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30142 MVT::f32, 3, 3, 2, 4,
30143 22, MVT::i32,
30144 OPC_MoveParent,
30145 OPC_RecordChild1,
30146 OPC_RecordChild2,
30147 OPC_CheckType, MVT::f32,
30148 OPC_CheckPatternPredicate, 12,
30149 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_S),
30150 MVT::i32, 2, 0, 1,
30151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30152 MVT::f32, 3, 3, 2, 4,
30153 0,
30154 0,
30155 23|128,4,
30156 OPC_CheckChild0Type, MVT::f64,
30157 OPC_RecordChild1,
30158 OPC_Scope, 52,
30159 OPC_CheckChild2CondCode, ISD::SETOEQ,
30160 OPC_SwitchType , 22, MVT::i64,
30161 OPC_MoveParent,
30162 OPC_RecordChild1,
30163 OPC_RecordChild2,
30164 OPC_CheckType, MVT::f64,
30165 OPC_CheckPatternPredicate, 13,
30166 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
30167 MVT::i64, 2, 0, 1,
30168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30169 MVT::f64, 3, 3, 2, 4,
30170 22, MVT::i32,
30171 OPC_MoveParent,
30172 OPC_RecordChild1,
30173 OPC_RecordChild2,
30174 OPC_CheckType, MVT::f64,
30175 OPC_CheckPatternPredicate, 14,
30176 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CEQ_D),
30177 MVT::i32, 2, 0, 1,
30178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30179 MVT::f64, 3, 3, 2, 4,
30180 0,
30181 52,
30182 OPC_CheckChild2CondCode, ISD::SETOLT,
30183 OPC_SwitchType , 22, MVT::i64,
30184 OPC_MoveParent,
30185 OPC_RecordChild1,
30186 OPC_RecordChild2,
30187 OPC_CheckType, MVT::f64,
30188 OPC_CheckPatternPredicate, 13,
30189 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
30190 MVT::i64, 2, 0, 1,
30191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30192 MVT::f64, 3, 3, 2, 4,
30193 22, MVT::i32,
30194 OPC_MoveParent,
30195 OPC_RecordChild1,
30196 OPC_RecordChild2,
30197 OPC_CheckType, MVT::f64,
30198 OPC_CheckPatternPredicate, 14,
30199 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLT_D),
30200 MVT::i32, 2, 0, 1,
30201 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30202 MVT::f64, 3, 3, 2, 4,
30203 0,
30204 52,
30205 OPC_CheckChild2CondCode, ISD::SETOLE,
30206 OPC_SwitchType , 22, MVT::i64,
30207 OPC_MoveParent,
30208 OPC_RecordChild1,
30209 OPC_RecordChild2,
30210 OPC_CheckType, MVT::f64,
30211 OPC_CheckPatternPredicate, 13,
30212 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
30213 MVT::i64, 2, 0, 1,
30214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30215 MVT::f64, 3, 3, 2, 4,
30216 22, MVT::i32,
30217 OPC_MoveParent,
30218 OPC_RecordChild1,
30219 OPC_RecordChild2,
30220 OPC_CheckType, MVT::f64,
30221 OPC_CheckPatternPredicate, 14,
30222 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CLE_D),
30223 MVT::i32, 2, 0, 1,
30224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30225 MVT::f64, 3, 3, 2, 4,
30226 0,
30227 52,
30228 OPC_CheckChild2CondCode, ISD::SETONE,
30229 OPC_SwitchType , 22, MVT::i64,
30230 OPC_MoveParent,
30231 OPC_RecordChild1,
30232 OPC_RecordChild2,
30233 OPC_CheckType, MVT::f64,
30234 OPC_CheckPatternPredicate, 13,
30235 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
30236 MVT::i64, 2, 0, 1,
30237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30238 MVT::f64, 3, 3, 2, 4,
30239 22, MVT::i32,
30240 OPC_MoveParent,
30241 OPC_RecordChild1,
30242 OPC_RecordChild2,
30243 OPC_CheckType, MVT::f64,
30244 OPC_CheckPatternPredicate, 14,
30245 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CNE_D),
30246 MVT::i32, 2, 0, 1,
30247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30248 MVT::f64, 3, 3, 2, 4,
30249 0,
30250 52,
30251 OPC_CheckChild2CondCode, ISD::SETO,
30252 OPC_SwitchType , 22, MVT::i64,
30253 OPC_MoveParent,
30254 OPC_RecordChild1,
30255 OPC_RecordChild2,
30256 OPC_CheckType, MVT::f64,
30257 OPC_CheckPatternPredicate, 13,
30258 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
30259 MVT::i64, 2, 0, 1,
30260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30261 MVT::f64, 3, 3, 2, 4,
30262 22, MVT::i32,
30263 OPC_MoveParent,
30264 OPC_RecordChild1,
30265 OPC_RecordChild2,
30266 OPC_CheckType, MVT::f64,
30267 OPC_CheckPatternPredicate, 14,
30268 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_COR_D),
30269 MVT::i32, 2, 0, 1,
30270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30271 MVT::f64, 3, 3, 2, 4,
30272 0,
30273 52,
30274 OPC_CheckChild2CondCode, ISD::SETUEQ,
30275 OPC_SwitchType , 22, MVT::i64,
30276 OPC_MoveParent,
30277 OPC_RecordChild1,
30278 OPC_RecordChild2,
30279 OPC_CheckType, MVT::f64,
30280 OPC_CheckPatternPredicate, 13,
30281 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
30282 MVT::i64, 2, 0, 1,
30283 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30284 MVT::f64, 3, 3, 2, 4,
30285 22, MVT::i32,
30286 OPC_MoveParent,
30287 OPC_RecordChild1,
30288 OPC_RecordChild2,
30289 OPC_CheckType, MVT::f64,
30290 OPC_CheckPatternPredicate, 14,
30291 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUEQ_D),
30292 MVT::i32, 2, 0, 1,
30293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30294 MVT::f64, 3, 3, 2, 4,
30295 0,
30296 52,
30297 OPC_CheckChild2CondCode, ISD::SETULT,
30298 OPC_SwitchType , 22, MVT::i64,
30299 OPC_MoveParent,
30300 OPC_RecordChild1,
30301 OPC_RecordChild2,
30302 OPC_CheckType, MVT::f64,
30303 OPC_CheckPatternPredicate, 13,
30304 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
30305 MVT::i64, 2, 0, 1,
30306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30307 MVT::f64, 3, 3, 2, 4,
30308 22, MVT::i32,
30309 OPC_MoveParent,
30310 OPC_RecordChild1,
30311 OPC_RecordChild2,
30312 OPC_CheckType, MVT::f64,
30313 OPC_CheckPatternPredicate, 14,
30314 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULT_D),
30315 MVT::i32, 2, 0, 1,
30316 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30317 MVT::f64, 3, 3, 2, 4,
30318 0,
30319 52,
30320 OPC_CheckChild2CondCode, ISD::SETULE,
30321 OPC_SwitchType , 22, MVT::i64,
30322 OPC_MoveParent,
30323 OPC_RecordChild1,
30324 OPC_RecordChild2,
30325 OPC_CheckType, MVT::f64,
30326 OPC_CheckPatternPredicate, 13,
30327 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
30328 MVT::i64, 2, 0, 1,
30329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30330 MVT::f64, 3, 3, 2, 4,
30331 22, MVT::i32,
30332 OPC_MoveParent,
30333 OPC_RecordChild1,
30334 OPC_RecordChild2,
30335 OPC_CheckType, MVT::f64,
30336 OPC_CheckPatternPredicate, 14,
30337 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CULE_D),
30338 MVT::i32, 2, 0, 1,
30339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30340 MVT::f64, 3, 3, 2, 4,
30341 0,
30342 52,
30343 OPC_CheckChild2CondCode, ISD::SETUNE,
30344 OPC_SwitchType , 22, MVT::i64,
30345 OPC_MoveParent,
30346 OPC_RecordChild1,
30347 OPC_RecordChild2,
30348 OPC_CheckType, MVT::f64,
30349 OPC_CheckPatternPredicate, 13,
30350 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
30351 MVT::i64, 2, 0, 1,
30352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30353 MVT::f64, 3, 3, 2, 4,
30354 22, MVT::i32,
30355 OPC_MoveParent,
30356 OPC_RecordChild1,
30357 OPC_RecordChild2,
30358 OPC_CheckType, MVT::f64,
30359 OPC_CheckPatternPredicate, 14,
30360 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUNE_D),
30361 MVT::i32, 2, 0, 1,
30362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30363 MVT::f64, 3, 3, 2, 4,
30364 0,
30365 52,
30366 OPC_CheckChild2CondCode, ISD::SETUO,
30367 OPC_SwitchType , 22, MVT::i64,
30368 OPC_MoveParent,
30369 OPC_RecordChild1,
30370 OPC_RecordChild2,
30371 OPC_CheckType, MVT::f64,
30372 OPC_CheckPatternPredicate, 13,
30373 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
30374 MVT::i64, 2, 0, 1,
30375 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30376 MVT::f64, 3, 3, 2, 4,
30377 22, MVT::i32,
30378 OPC_MoveParent,
30379 OPC_RecordChild1,
30380 OPC_RecordChild2,
30381 OPC_CheckType, MVT::f64,
30382 OPC_CheckPatternPredicate, 14,
30383 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCMP_CUN_D),
30384 MVT::i32, 2, 0, 1,
30385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30386 MVT::f64, 3, 3, 2, 4,
30387 0,
30388 0,
30389 0,
30390 63,
30391 OPC_RecordChild0,
30392 OPC_Scope, 29,
30393 OPC_CheckChild0TypeI64,
30394 OPC_RecordChild1,
30395 OPC_RecordChild2,
30396 OPC_SwitchType , 10, MVT::f32,
30397 OPC_CheckPatternPredicate, 11,
30398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30399 MVT::f32, 3, 2, 1, 0,
30400 10, MVT::f64,
30401 OPC_CheckPatternPredicate, 13,
30402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30403 MVT::f64, 3, 2, 1, 0,
30404 0,
30405 29,
30406 OPC_CheckChild0TypeI32,
30407 OPC_RecordChild1,
30408 OPC_RecordChild2,
30409 OPC_SwitchType , 10, MVT::f32,
30410 OPC_CheckPatternPredicate, 12,
30411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
30412 MVT::f32, 3, 2, 1, 0,
30413 10, MVT::f64,
30414 OPC_CheckPatternPredicate, 14,
30415 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
30416 MVT::f64, 3, 2, 1, 0,
30417 0,
30418 0,
30419 0,
30420 125, TARGET_VAL(ISD::ROTR),
30421 OPC_RecordChild0,
30422 OPC_RecordChild1,
30423 OPC_Scope, 71,
30424 OPC_MoveChild1,
30425 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30426 OPC_Scope, 32,
30427 OPC_CheckPredicate, 26,
30428 OPC_SwitchType , 12, MVT::i64,
30429 OPC_MoveParent,
30430 OPC_CheckTypeI64,
30431 OPC_CheckPatternPredicate, 15,
30432 OPC_EmitConvertToTarget1,
30433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
30434 MVT::i64, 2, 0, 2,
30435 12, MVT::i32,
30436 OPC_MoveParent,
30437 OPC_CheckTypeI32,
30438 OPC_CheckPatternPredicate, 9,
30439 OPC_EmitConvertToTarget1,
30440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
30441 MVT::i32, 2, 0, 2,
30442 0,
30443 31,
30444 OPC_CheckPredicate, 29,
30445 OPC_SwitchType , 11, MVT::i64,
30446 OPC_MoveParent,
30447 OPC_CheckTypeI64,
30448 OPC_CheckPatternPredicate6,
30449 OPC_EmitConvertToTarget1,
30450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_D),
30451 MVT::i64, 2, 0, 2,
30452 12, MVT::i32,
30453 OPC_MoveParent,
30454 OPC_CheckTypeI32,
30455 OPC_CheckPatternPredicate, 10,
30456 OPC_EmitConvertToTarget1,
30457 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_D),
30458 MVT::i32, 2, 0, 2,
30459 0,
30460 0,
30461 23,
30462 OPC_CheckChild1TypeI64,
30463 OPC_CheckTypeI64,
30464 OPC_Scope, 9,
30465 OPC_CheckPatternPredicate, 15,
30466 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
30467 MVT::i64, 2, 0, 1,
30468 8,
30469 OPC_CheckPatternPredicate6,
30470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_D),
30471 MVT::i64, 2, 0, 1,
30472 0,
30473 24,
30474 OPC_CheckChild1TypeI32,
30475 OPC_CheckTypeI32,
30476 OPC_Scope, 9,
30477 OPC_CheckPatternPredicate, 9,
30478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
30479 MVT::i32, 2, 0, 1,
30480 9,
30481 OPC_CheckPatternPredicate, 10,
30482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_D),
30483 MVT::i32, 2, 0, 1,
30484 0,
30485 0,
30486 30, TARGET_VAL(LoongArchISD::ROTR_W),
30487 OPC_RecordChild0,
30488 OPC_RecordChild1,
30489 OPC_Scope, 16,
30490 OPC_MoveChild1,
30491 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30492 OPC_CheckPredicate, 26,
30493 OPC_MoveParent,
30494 OPC_CheckPatternPredicate6,
30495 OPC_EmitConvertToTarget1,
30496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
30497 MVT::i64, 2, 0, 2,
30498 8,
30499 OPC_CheckPatternPredicate6,
30500 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTR_W),
30501 MVT::i64, 2, 0, 1,
30502 0,
30503 69|128,6, TARGET_VAL(ISD::SHL),
30504 OPC_RecordChild0,
30505 OPC_Scope, 8|128,1,
30506 OPC_RecordChild1,
30507 OPC_Scope, 71,
30508 OPC_MoveChild1,
30509 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30510 OPC_Scope, 32,
30511 OPC_CheckPredicate, 26,
30512 OPC_SwitchType , 12, MVT::i64,
30513 OPC_MoveParent,
30514 OPC_CheckTypeI64,
30515 OPC_CheckPatternPredicate, 15,
30516 OPC_EmitConvertToTarget1,
30517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
30518 MVT::i64, 2, 0, 2,
30519 12, MVT::i32,
30520 OPC_MoveParent,
30521 OPC_CheckTypeI32,
30522 OPC_CheckPatternPredicate, 9,
30523 OPC_EmitConvertToTarget1,
30524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_W),
30525 MVT::i32, 2, 0, 2,
30526 0,
30527 31,
30528 OPC_CheckPredicate, 29,
30529 OPC_SwitchType , 11, MVT::i64,
30530 OPC_MoveParent,
30531 OPC_CheckTypeI64,
30532 OPC_CheckPatternPredicate6,
30533 OPC_EmitConvertToTarget1,
30534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
30535 MVT::i64, 2, 0, 2,
30536 12, MVT::i32,
30537 OPC_MoveParent,
30538 OPC_CheckTypeI32,
30539 OPC_CheckPatternPredicate, 10,
30540 OPC_EmitConvertToTarget1,
30541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLLI_D),
30542 MVT::i32, 2, 0, 2,
30543 0,
30544 0,
30545 29,
30546 OPC_CheckChild1TypeI64,
30547 OPC_CheckTypeI64,
30548 OPC_Scope, 12,
30549 OPC_CheckPatternPredicate, 15,
30550 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
30552 MVT::i64, 2, 0, 2,
30553 11,
30554 OPC_CheckPatternPredicate6,
30555 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_D),
30557 MVT::i64, 2, 0, 2,
30558 0,
30559 30,
30560 OPC_CheckChild1TypeI32,
30561 OPC_CheckTypeI32,
30562 OPC_Scope, 12,
30563 OPC_CheckPatternPredicate, 9,
30564 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
30566 MVT::i32, 2, 0, 2,
30567 12,
30568 OPC_CheckPatternPredicate, 10,
30569 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_D),
30571 MVT::i32, 2, 0, 2,
30572 0,
30573 0,
30574 125|128,2,
30575 OPC_MoveChild1,
30576 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
30577 OPC_Scope, 42,
30578 OPC_MoveChild0,
30579 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
30580 OPC_MoveChild0,
30581 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30582 OPC_CheckType, MVT::v4i32,
30583 OPC_MoveParent,
30584 OPC_CheckPredicate3,
30585 OPC_MoveParent,
30586 OPC_RecordChild1,
30587 OPC_SwitchType , 11, MVT::v2i64,
30588 OPC_MoveParent,
30589 OPC_CheckType, MVT::v2i64,
30590 OPC_CheckPatternPredicate1,
30591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30592 MVT::v2i64, 2, 0, 1,
30593 11, MVT::v4i64,
30594 OPC_MoveParent,
30595 OPC_CheckType, MVT::v4i64,
30596 OPC_CheckPatternPredicate0,
30597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30598 MVT::v4i64, 2, 0, 1,
30599 0,
30600 42,
30601 OPC_RecordChild0,
30602 OPC_MoveChild1,
30603 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
30604 OPC_MoveChild0,
30605 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30606 OPC_CheckType, MVT::v4i32,
30607 OPC_MoveParent,
30608 OPC_CheckPredicate3,
30609 OPC_MoveParent,
30610 OPC_SwitchType , 11, MVT::v2i64,
30611 OPC_MoveParent,
30612 OPC_CheckType, MVT::v2i64,
30613 OPC_CheckPatternPredicate1,
30614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30615 MVT::v2i64, 2, 0, 1,
30616 11, MVT::v4i64,
30617 OPC_MoveParent,
30618 OPC_CheckType, MVT::v4i64,
30619 OPC_CheckPatternPredicate0,
30620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30621 MVT::v4i64, 2, 0, 1,
30622 0,
30623 18|128,1,
30624 OPC_MoveChild0,
30625 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30626 OPC_Scope, 16,
30627 OPC_CheckPredicate7,
30628 OPC_MoveParent,
30629 OPC_RecordChild1,
30630 OPC_CheckType, MVT::v16i8,
30631 OPC_MoveParent,
30632 OPC_CheckType, MVT::v16i8,
30633 OPC_CheckPatternPredicate1,
30634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
30635 MVT::v16i8, 2, 0, 1,
30636 17,
30637 OPC_CheckPredicate, 8,
30638 OPC_MoveParent,
30639 OPC_RecordChild1,
30640 OPC_CheckType, MVT::v8i16,
30641 OPC_MoveParent,
30642 OPC_CheckType, MVT::v8i16,
30643 OPC_CheckPatternPredicate1,
30644 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
30645 MVT::v8i16, 2, 0, 1,
30646 17,
30647 OPC_CheckPredicate, 9,
30648 OPC_MoveParent,
30649 OPC_RecordChild1,
30650 OPC_CheckType, MVT::v4i32,
30651 OPC_MoveParent,
30652 OPC_CheckType, MVT::v4i32,
30653 OPC_CheckPatternPredicate1,
30654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
30655 MVT::v4i32, 2, 0, 1,
30656 16,
30657 OPC_CheckPredicate3,
30658 OPC_MoveParent,
30659 OPC_RecordChild1,
30660 OPC_CheckType, MVT::v2i64,
30661 OPC_MoveParent,
30662 OPC_CheckType, MVT::v2i64,
30663 OPC_CheckPatternPredicate1,
30664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30665 MVT::v2i64, 2, 0, 1,
30666 16,
30667 OPC_CheckPredicate7,
30668 OPC_MoveParent,
30669 OPC_RecordChild1,
30670 OPC_CheckType, MVT::v32i8,
30671 OPC_MoveParent,
30672 OPC_CheckType, MVT::v32i8,
30673 OPC_CheckPatternPredicate0,
30674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
30675 MVT::v32i8, 2, 0, 1,
30676 17,
30677 OPC_CheckPredicate, 8,
30678 OPC_MoveParent,
30679 OPC_RecordChild1,
30680 OPC_CheckType, MVT::v16i16,
30681 OPC_MoveParent,
30682 OPC_CheckType, MVT::v16i16,
30683 OPC_CheckPatternPredicate0,
30684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
30685 MVT::v16i16, 2, 0, 1,
30686 17,
30687 OPC_CheckPredicate, 9,
30688 OPC_MoveParent,
30689 OPC_RecordChild1,
30690 OPC_CheckType, MVT::v8i32,
30691 OPC_MoveParent,
30692 OPC_CheckType, MVT::v8i32,
30693 OPC_CheckPatternPredicate0,
30694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
30695 MVT::v8i32, 2, 0, 1,
30696 16,
30697 OPC_CheckPredicate3,
30698 OPC_MoveParent,
30699 OPC_RecordChild1,
30700 OPC_CheckType, MVT::v4i64,
30701 OPC_MoveParent,
30702 OPC_CheckType, MVT::v4i64,
30703 OPC_CheckPatternPredicate0,
30704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30705 MVT::v4i64, 2, 0, 1,
30706 0,
30707 11|128,1,
30708 OPC_RecordChild0,
30709 OPC_MoveChild1,
30710 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
30711 OPC_Scope, 15,
30712 OPC_CheckPredicate7,
30713 OPC_MoveParent,
30714 OPC_CheckType, MVT::v16i8,
30715 OPC_MoveParent,
30716 OPC_CheckType, MVT::v16i8,
30717 OPC_CheckPatternPredicate1,
30718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
30719 MVT::v16i8, 2, 0, 1,
30720 16,
30721 OPC_CheckPredicate, 8,
30722 OPC_MoveParent,
30723 OPC_CheckType, MVT::v8i16,
30724 OPC_MoveParent,
30725 OPC_CheckType, MVT::v8i16,
30726 OPC_CheckPatternPredicate1,
30727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
30728 MVT::v8i16, 2, 0, 1,
30729 16,
30730 OPC_CheckPredicate, 9,
30731 OPC_MoveParent,
30732 OPC_CheckType, MVT::v4i32,
30733 OPC_MoveParent,
30734 OPC_CheckType, MVT::v4i32,
30735 OPC_CheckPatternPredicate1,
30736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
30737 MVT::v4i32, 2, 0, 1,
30738 15,
30739 OPC_CheckPredicate3,
30740 OPC_MoveParent,
30741 OPC_CheckType, MVT::v2i64,
30742 OPC_MoveParent,
30743 OPC_CheckType, MVT::v2i64,
30744 OPC_CheckPatternPredicate1,
30745 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30746 MVT::v2i64, 2, 0, 1,
30747 15,
30748 OPC_CheckPredicate7,
30749 OPC_MoveParent,
30750 OPC_CheckType, MVT::v32i8,
30751 OPC_MoveParent,
30752 OPC_CheckType, MVT::v32i8,
30753 OPC_CheckPatternPredicate0,
30754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
30755 MVT::v32i8, 2, 0, 1,
30756 16,
30757 OPC_CheckPredicate, 8,
30758 OPC_MoveParent,
30759 OPC_CheckType, MVT::v16i16,
30760 OPC_MoveParent,
30761 OPC_CheckType, MVT::v16i16,
30762 OPC_CheckPatternPredicate0,
30763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
30764 MVT::v16i16, 2, 0, 1,
30765 16,
30766 OPC_CheckPredicate, 9,
30767 OPC_MoveParent,
30768 OPC_CheckType, MVT::v8i32,
30769 OPC_MoveParent,
30770 OPC_CheckType, MVT::v8i32,
30771 OPC_CheckPatternPredicate0,
30772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
30773 MVT::v8i32, 2, 0, 1,
30774 15,
30775 OPC_CheckPredicate3,
30776 OPC_MoveParent,
30777 OPC_CheckType, MVT::v4i64,
30778 OPC_MoveParent,
30779 OPC_CheckType, MVT::v4i64,
30780 OPC_CheckPatternPredicate0,
30781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30782 MVT::v4i64, 2, 0, 1,
30783 0,
30784 0,
30785 55|128,2,
30786 OPC_RecordChild1,
30787 OPC_SwitchType , 37, MVT::v16i8,
30788 OPC_CheckChild1Type, MVT::v16i8,
30789 OPC_Scope, 11,
30790 OPC_CheckPatternPredicate3,
30791 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
30793 MVT::v16i8, 2, 0, 2,
30794 11,
30795 OPC_CheckPatternPredicate5,
30796 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
30798 MVT::v16i8, 2, 0, 2,
30799 8,
30800 OPC_CheckPatternPredicate1,
30801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
30802 MVT::v16i8, 2, 0, 1,
30803 0,
30804 37, MVT::v8i16,
30805 OPC_CheckChild1Type, MVT::v8i16,
30806 OPC_Scope, 11,
30807 OPC_CheckPatternPredicate3,
30808 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
30810 MVT::v8i16, 2, 0, 2,
30811 11,
30812 OPC_CheckPatternPredicate5,
30813 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
30815 MVT::v8i16, 2, 0, 2,
30816 8,
30817 OPC_CheckPatternPredicate1,
30818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
30819 MVT::v8i16, 2, 0, 1,
30820 0,
30821 35, MVT::v4i32,
30822 OPC_CheckChild1Type, MVT::v4i32,
30823 OPC_Scope, 10,
30824 OPC_CheckPatternPredicate3,
30825 OPC_CheckComplexPat1, /*#*/1,
30826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
30827 MVT::v4i32, 2, 0, 2,
30828 10,
30829 OPC_CheckPatternPredicate5,
30830 OPC_CheckComplexPat1, /*#*/1,
30831 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
30832 MVT::v4i32, 2, 0, 2,
30833 8,
30834 OPC_CheckPatternPredicate1,
30835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
30836 MVT::v4i32, 2, 0, 1,
30837 0,
30838 37, MVT::v2i64,
30839 OPC_CheckChild1Type, MVT::v2i64,
30840 OPC_Scope, 11,
30841 OPC_CheckPatternPredicate3,
30842 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
30844 MVT::v2i64, 2, 0, 2,
30845 11,
30846 OPC_CheckPatternPredicate5,
30847 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
30849 MVT::v2i64, 2, 0, 2,
30850 8,
30851 OPC_CheckPatternPredicate1,
30852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
30853 MVT::v2i64, 2, 0, 1,
30854 0,
30855 37, MVT::v32i8,
30856 OPC_CheckChild1Type, MVT::v32i8,
30857 OPC_Scope, 11,
30858 OPC_CheckPatternPredicate2,
30859 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
30861 MVT::v32i8, 2, 0, 2,
30862 11,
30863 OPC_CheckPatternPredicate4,
30864 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
30865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
30866 MVT::v32i8, 2, 0, 2,
30867 8,
30868 OPC_CheckPatternPredicate0,
30869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
30870 MVT::v32i8, 2, 0, 1,
30871 0,
30872 37, MVT::v16i16,
30873 OPC_CheckChild1Type, MVT::v16i16,
30874 OPC_Scope, 11,
30875 OPC_CheckPatternPredicate2,
30876 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30877 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
30878 MVT::v16i16, 2, 0, 2,
30879 11,
30880 OPC_CheckPatternPredicate4,
30881 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
30882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
30883 MVT::v16i16, 2, 0, 2,
30884 8,
30885 OPC_CheckPatternPredicate0,
30886 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
30887 MVT::v16i16, 2, 0, 1,
30888 0,
30889 35, MVT::v8i32,
30890 OPC_CheckChild1Type, MVT::v8i32,
30891 OPC_Scope, 10,
30892 OPC_CheckPatternPredicate2,
30893 OPC_CheckComplexPat1, /*#*/1,
30894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
30895 MVT::v8i32, 2, 0, 2,
30896 10,
30897 OPC_CheckPatternPredicate4,
30898 OPC_CheckComplexPat1, /*#*/1,
30899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
30900 MVT::v8i32, 2, 0, 2,
30901 8,
30902 OPC_CheckPatternPredicate0,
30903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
30904 MVT::v8i32, 2, 0, 1,
30905 0,
30906 37, MVT::v4i64,
30907 OPC_CheckChild1Type, MVT::v4i64,
30908 OPC_Scope, 11,
30909 OPC_CheckPatternPredicate2,
30910 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
30912 MVT::v4i64, 2, 0, 2,
30913 11,
30914 OPC_CheckPatternPredicate4,
30915 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
30916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
30917 MVT::v4i64, 2, 0, 2,
30918 8,
30919 OPC_CheckPatternPredicate0,
30920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
30921 MVT::v4i64, 2, 0, 1,
30922 0,
30923 0,
30924 0,
30925 69|128,6, TARGET_VAL(ISD::SRA),
30926 OPC_RecordChild0,
30927 OPC_Scope, 8|128,1,
30928 OPC_RecordChild1,
30929 OPC_Scope, 71,
30930 OPC_MoveChild1,
30931 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
30932 OPC_Scope, 32,
30933 OPC_CheckPredicate, 26,
30934 OPC_SwitchType , 12, MVT::i64,
30935 OPC_MoveParent,
30936 OPC_CheckTypeI64,
30937 OPC_CheckPatternPredicate, 15,
30938 OPC_EmitConvertToTarget1,
30939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
30940 MVT::i64, 2, 0, 2,
30941 12, MVT::i32,
30942 OPC_MoveParent,
30943 OPC_CheckTypeI32,
30944 OPC_CheckPatternPredicate, 9,
30945 OPC_EmitConvertToTarget1,
30946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
30947 MVT::i32, 2, 0, 2,
30948 0,
30949 31,
30950 OPC_CheckPredicate, 29,
30951 OPC_SwitchType , 11, MVT::i64,
30952 OPC_MoveParent,
30953 OPC_CheckTypeI64,
30954 OPC_CheckPatternPredicate6,
30955 OPC_EmitConvertToTarget1,
30956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_D),
30957 MVT::i64, 2, 0, 2,
30958 12, MVT::i32,
30959 OPC_MoveParent,
30960 OPC_CheckTypeI32,
30961 OPC_CheckPatternPredicate, 10,
30962 OPC_EmitConvertToTarget1,
30963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_D),
30964 MVT::i32, 2, 0, 2,
30965 0,
30966 0,
30967 29,
30968 OPC_CheckChild1TypeI64,
30969 OPC_CheckTypeI64,
30970 OPC_Scope, 12,
30971 OPC_CheckPatternPredicate, 15,
30972 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
30974 MVT::i64, 2, 0, 2,
30975 11,
30976 OPC_CheckPatternPredicate6,
30977 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_D),
30979 MVT::i64, 2, 0, 2,
30980 0,
30981 30,
30982 OPC_CheckChild1TypeI32,
30983 OPC_CheckTypeI32,
30984 OPC_Scope, 12,
30985 OPC_CheckPatternPredicate, 9,
30986 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
30988 MVT::i32, 2, 0, 2,
30989 12,
30990 OPC_CheckPatternPredicate, 10,
30991 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
30992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_D),
30993 MVT::i32, 2, 0, 2,
30994 0,
30995 0,
30996 125|128,2,
30997 OPC_MoveChild1,
30998 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
30999 OPC_Scope, 42,
31000 OPC_MoveChild0,
31001 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
31002 OPC_MoveChild0,
31003 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31004 OPC_CheckType, MVT::v4i32,
31005 OPC_MoveParent,
31006 OPC_CheckPredicate3,
31007 OPC_MoveParent,
31008 OPC_RecordChild1,
31009 OPC_SwitchType , 11, MVT::v2i64,
31010 OPC_MoveParent,
31011 OPC_CheckType, MVT::v2i64,
31012 OPC_CheckPatternPredicate1,
31013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31014 MVT::v2i64, 2, 0, 1,
31015 11, MVT::v4i64,
31016 OPC_MoveParent,
31017 OPC_CheckType, MVT::v4i64,
31018 OPC_CheckPatternPredicate0,
31019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31020 MVT::v4i64, 2, 0, 1,
31021 0,
31022 42,
31023 OPC_RecordChild0,
31024 OPC_MoveChild1,
31025 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
31026 OPC_MoveChild0,
31027 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31028 OPC_CheckType, MVT::v4i32,
31029 OPC_MoveParent,
31030 OPC_CheckPredicate3,
31031 OPC_MoveParent,
31032 OPC_SwitchType , 11, MVT::v2i64,
31033 OPC_MoveParent,
31034 OPC_CheckType, MVT::v2i64,
31035 OPC_CheckPatternPredicate1,
31036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31037 MVT::v2i64, 2, 0, 1,
31038 11, MVT::v4i64,
31039 OPC_MoveParent,
31040 OPC_CheckType, MVT::v4i64,
31041 OPC_CheckPatternPredicate0,
31042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31043 MVT::v4i64, 2, 0, 1,
31044 0,
31045 18|128,1,
31046 OPC_MoveChild0,
31047 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31048 OPC_Scope, 16,
31049 OPC_CheckPredicate7,
31050 OPC_MoveParent,
31051 OPC_RecordChild1,
31052 OPC_CheckType, MVT::v16i8,
31053 OPC_MoveParent,
31054 OPC_CheckType, MVT::v16i8,
31055 OPC_CheckPatternPredicate1,
31056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
31057 MVT::v16i8, 2, 0, 1,
31058 17,
31059 OPC_CheckPredicate, 8,
31060 OPC_MoveParent,
31061 OPC_RecordChild1,
31062 OPC_CheckType, MVT::v8i16,
31063 OPC_MoveParent,
31064 OPC_CheckType, MVT::v8i16,
31065 OPC_CheckPatternPredicate1,
31066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
31067 MVT::v8i16, 2, 0, 1,
31068 17,
31069 OPC_CheckPredicate, 9,
31070 OPC_MoveParent,
31071 OPC_RecordChild1,
31072 OPC_CheckType, MVT::v4i32,
31073 OPC_MoveParent,
31074 OPC_CheckType, MVT::v4i32,
31075 OPC_CheckPatternPredicate1,
31076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
31077 MVT::v4i32, 2, 0, 1,
31078 16,
31079 OPC_CheckPredicate3,
31080 OPC_MoveParent,
31081 OPC_RecordChild1,
31082 OPC_CheckType, MVT::v2i64,
31083 OPC_MoveParent,
31084 OPC_CheckType, MVT::v2i64,
31085 OPC_CheckPatternPredicate1,
31086 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31087 MVT::v2i64, 2, 0, 1,
31088 16,
31089 OPC_CheckPredicate7,
31090 OPC_MoveParent,
31091 OPC_RecordChild1,
31092 OPC_CheckType, MVT::v32i8,
31093 OPC_MoveParent,
31094 OPC_CheckType, MVT::v32i8,
31095 OPC_CheckPatternPredicate0,
31096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
31097 MVT::v32i8, 2, 0, 1,
31098 17,
31099 OPC_CheckPredicate, 8,
31100 OPC_MoveParent,
31101 OPC_RecordChild1,
31102 OPC_CheckType, MVT::v16i16,
31103 OPC_MoveParent,
31104 OPC_CheckType, MVT::v16i16,
31105 OPC_CheckPatternPredicate0,
31106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
31107 MVT::v16i16, 2, 0, 1,
31108 17,
31109 OPC_CheckPredicate, 9,
31110 OPC_MoveParent,
31111 OPC_RecordChild1,
31112 OPC_CheckType, MVT::v8i32,
31113 OPC_MoveParent,
31114 OPC_CheckType, MVT::v8i32,
31115 OPC_CheckPatternPredicate0,
31116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
31117 MVT::v8i32, 2, 0, 1,
31118 16,
31119 OPC_CheckPredicate3,
31120 OPC_MoveParent,
31121 OPC_RecordChild1,
31122 OPC_CheckType, MVT::v4i64,
31123 OPC_MoveParent,
31124 OPC_CheckType, MVT::v4i64,
31125 OPC_CheckPatternPredicate0,
31126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31127 MVT::v4i64, 2, 0, 1,
31128 0,
31129 11|128,1,
31130 OPC_RecordChild0,
31131 OPC_MoveChild1,
31132 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31133 OPC_Scope, 15,
31134 OPC_CheckPredicate7,
31135 OPC_MoveParent,
31136 OPC_CheckType, MVT::v16i8,
31137 OPC_MoveParent,
31138 OPC_CheckType, MVT::v16i8,
31139 OPC_CheckPatternPredicate1,
31140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
31141 MVT::v16i8, 2, 0, 1,
31142 16,
31143 OPC_CheckPredicate, 8,
31144 OPC_MoveParent,
31145 OPC_CheckType, MVT::v8i16,
31146 OPC_MoveParent,
31147 OPC_CheckType, MVT::v8i16,
31148 OPC_CheckPatternPredicate1,
31149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
31150 MVT::v8i16, 2, 0, 1,
31151 16,
31152 OPC_CheckPredicate, 9,
31153 OPC_MoveParent,
31154 OPC_CheckType, MVT::v4i32,
31155 OPC_MoveParent,
31156 OPC_CheckType, MVT::v4i32,
31157 OPC_CheckPatternPredicate1,
31158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
31159 MVT::v4i32, 2, 0, 1,
31160 15,
31161 OPC_CheckPredicate3,
31162 OPC_MoveParent,
31163 OPC_CheckType, MVT::v2i64,
31164 OPC_MoveParent,
31165 OPC_CheckType, MVT::v2i64,
31166 OPC_CheckPatternPredicate1,
31167 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31168 MVT::v2i64, 2, 0, 1,
31169 15,
31170 OPC_CheckPredicate7,
31171 OPC_MoveParent,
31172 OPC_CheckType, MVT::v32i8,
31173 OPC_MoveParent,
31174 OPC_CheckType, MVT::v32i8,
31175 OPC_CheckPatternPredicate0,
31176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
31177 MVT::v32i8, 2, 0, 1,
31178 16,
31179 OPC_CheckPredicate, 8,
31180 OPC_MoveParent,
31181 OPC_CheckType, MVT::v16i16,
31182 OPC_MoveParent,
31183 OPC_CheckType, MVT::v16i16,
31184 OPC_CheckPatternPredicate0,
31185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
31186 MVT::v16i16, 2, 0, 1,
31187 16,
31188 OPC_CheckPredicate, 9,
31189 OPC_MoveParent,
31190 OPC_CheckType, MVT::v8i32,
31191 OPC_MoveParent,
31192 OPC_CheckType, MVT::v8i32,
31193 OPC_CheckPatternPredicate0,
31194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
31195 MVT::v8i32, 2, 0, 1,
31196 15,
31197 OPC_CheckPredicate3,
31198 OPC_MoveParent,
31199 OPC_CheckType, MVT::v4i64,
31200 OPC_MoveParent,
31201 OPC_CheckType, MVT::v4i64,
31202 OPC_CheckPatternPredicate0,
31203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31204 MVT::v4i64, 2, 0, 1,
31205 0,
31206 0,
31207 55|128,2,
31208 OPC_RecordChild1,
31209 OPC_SwitchType , 37, MVT::v16i8,
31210 OPC_CheckChild1Type, MVT::v16i8,
31211 OPC_Scope, 11,
31212 OPC_CheckPatternPredicate3,
31213 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_B),
31215 MVT::v16i8, 2, 0, 2,
31216 11,
31217 OPC_CheckPatternPredicate5,
31218 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_B),
31220 MVT::v16i8, 2, 0, 2,
31221 8,
31222 OPC_CheckPatternPredicate1,
31223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
31224 MVT::v16i8, 2, 0, 1,
31225 0,
31226 37, MVT::v8i16,
31227 OPC_CheckChild1Type, MVT::v8i16,
31228 OPC_Scope, 11,
31229 OPC_CheckPatternPredicate3,
31230 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_H),
31232 MVT::v8i16, 2, 0, 2,
31233 11,
31234 OPC_CheckPatternPredicate5,
31235 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_H),
31237 MVT::v8i16, 2, 0, 2,
31238 8,
31239 OPC_CheckPatternPredicate1,
31240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
31241 MVT::v8i16, 2, 0, 1,
31242 0,
31243 35, MVT::v4i32,
31244 OPC_CheckChild1Type, MVT::v4i32,
31245 OPC_Scope, 10,
31246 OPC_CheckPatternPredicate3,
31247 OPC_CheckComplexPat1, /*#*/1,
31248 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_W),
31249 MVT::v4i32, 2, 0, 2,
31250 10,
31251 OPC_CheckPatternPredicate5,
31252 OPC_CheckComplexPat1, /*#*/1,
31253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_W),
31254 MVT::v4i32, 2, 0, 2,
31255 8,
31256 OPC_CheckPatternPredicate1,
31257 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
31258 MVT::v4i32, 2, 0, 1,
31259 0,
31260 37, MVT::v2i64,
31261 OPC_CheckChild1Type, MVT::v2i64,
31262 OPC_Scope, 11,
31263 OPC_CheckPatternPredicate3,
31264 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_D),
31266 MVT::v2i64, 2, 0, 2,
31267 11,
31268 OPC_CheckPatternPredicate5,
31269 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_D),
31271 MVT::v2i64, 2, 0, 2,
31272 8,
31273 OPC_CheckPatternPredicate1,
31274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
31275 MVT::v2i64, 2, 0, 1,
31276 0,
31277 37, MVT::v32i8,
31278 OPC_CheckChild1Type, MVT::v32i8,
31279 OPC_Scope, 11,
31280 OPC_CheckPatternPredicate2,
31281 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_B),
31283 MVT::v32i8, 2, 0, 2,
31284 11,
31285 OPC_CheckPatternPredicate4,
31286 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_B),
31288 MVT::v32i8, 2, 0, 2,
31289 8,
31290 OPC_CheckPatternPredicate0,
31291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
31292 MVT::v32i8, 2, 0, 1,
31293 0,
31294 37, MVT::v16i16,
31295 OPC_CheckChild1Type, MVT::v16i16,
31296 OPC_Scope, 11,
31297 OPC_CheckPatternPredicate2,
31298 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_H),
31300 MVT::v16i16, 2, 0, 2,
31301 11,
31302 OPC_CheckPatternPredicate4,
31303 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31304 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_H),
31305 MVT::v16i16, 2, 0, 2,
31306 8,
31307 OPC_CheckPatternPredicate0,
31308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
31309 MVT::v16i16, 2, 0, 1,
31310 0,
31311 35, MVT::v8i32,
31312 OPC_CheckChild1Type, MVT::v8i32,
31313 OPC_Scope, 10,
31314 OPC_CheckPatternPredicate2,
31315 OPC_CheckComplexPat1, /*#*/1,
31316 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_W),
31317 MVT::v8i32, 2, 0, 2,
31318 10,
31319 OPC_CheckPatternPredicate4,
31320 OPC_CheckComplexPat1, /*#*/1,
31321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_W),
31322 MVT::v8i32, 2, 0, 2,
31323 8,
31324 OPC_CheckPatternPredicate0,
31325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
31326 MVT::v8i32, 2, 0, 1,
31327 0,
31328 37, MVT::v4i64,
31329 OPC_CheckChild1Type, MVT::v4i64,
31330 OPC_Scope, 11,
31331 OPC_CheckPatternPredicate2,
31332 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_D),
31334 MVT::v4i64, 2, 0, 2,
31335 11,
31336 OPC_CheckPatternPredicate4,
31337 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_D),
31339 MVT::v4i64, 2, 0, 2,
31340 8,
31341 OPC_CheckPatternPredicate0,
31342 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
31343 MVT::v4i64, 2, 0, 1,
31344 0,
31345 0,
31346 0,
31347 69|128,6, TARGET_VAL(ISD::SRL),
31348 OPC_RecordChild0,
31349 OPC_Scope, 8|128,1,
31350 OPC_RecordChild1,
31351 OPC_Scope, 71,
31352 OPC_MoveChild1,
31353 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31354 OPC_Scope, 32,
31355 OPC_CheckPredicate, 26,
31356 OPC_SwitchType , 12, MVT::i64,
31357 OPC_MoveParent,
31358 OPC_CheckTypeI64,
31359 OPC_CheckPatternPredicate, 15,
31360 OPC_EmitConvertToTarget1,
31361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_W),
31362 MVT::i64, 2, 0, 2,
31363 12, MVT::i32,
31364 OPC_MoveParent,
31365 OPC_CheckTypeI32,
31366 OPC_CheckPatternPredicate, 9,
31367 OPC_EmitConvertToTarget1,
31368 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_W),
31369 MVT::i32, 2, 0, 2,
31370 0,
31371 31,
31372 OPC_CheckPredicate, 29,
31373 OPC_SwitchType , 11, MVT::i64,
31374 OPC_MoveParent,
31375 OPC_CheckTypeI64,
31376 OPC_CheckPatternPredicate6,
31377 OPC_EmitConvertToTarget1,
31378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_D),
31379 MVT::i64, 2, 0, 2,
31380 12, MVT::i32,
31381 OPC_MoveParent,
31382 OPC_CheckTypeI32,
31383 OPC_CheckPatternPredicate, 10,
31384 OPC_EmitConvertToTarget1,
31385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRLI_D),
31386 MVT::i32, 2, 0, 2,
31387 0,
31388 0,
31389 29,
31390 OPC_CheckChild1TypeI64,
31391 OPC_CheckTypeI64,
31392 OPC_Scope, 12,
31393 OPC_CheckPatternPredicate, 15,
31394 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
31396 MVT::i64, 2, 0, 2,
31397 11,
31398 OPC_CheckPatternPredicate6,
31399 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_D),
31401 MVT::i64, 2, 0, 2,
31402 0,
31403 30,
31404 OPC_CheckChild1TypeI32,
31405 OPC_CheckTypeI32,
31406 OPC_Scope, 12,
31407 OPC_CheckPatternPredicate, 9,
31408 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31409 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
31410 MVT::i32, 2, 0, 2,
31411 12,
31412 OPC_CheckPatternPredicate, 10,
31413 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
31414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_D),
31415 MVT::i32, 2, 0, 2,
31416 0,
31417 0,
31418 125|128,2,
31419 OPC_MoveChild1,
31420 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
31421 OPC_Scope, 42,
31422 OPC_MoveChild0,
31423 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
31424 OPC_MoveChild0,
31425 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31426 OPC_CheckType, MVT::v4i32,
31427 OPC_MoveParent,
31428 OPC_CheckPredicate3,
31429 OPC_MoveParent,
31430 OPC_RecordChild1,
31431 OPC_SwitchType , 11, MVT::v2i64,
31432 OPC_MoveParent,
31433 OPC_CheckType, MVT::v2i64,
31434 OPC_CheckPatternPredicate1,
31435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31436 MVT::v2i64, 2, 0, 1,
31437 11, MVT::v4i64,
31438 OPC_MoveParent,
31439 OPC_CheckType, MVT::v4i64,
31440 OPC_CheckPatternPredicate0,
31441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31442 MVT::v4i64, 2, 0, 1,
31443 0,
31444 42,
31445 OPC_RecordChild0,
31446 OPC_MoveChild1,
31447 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
31448 OPC_MoveChild0,
31449 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31450 OPC_CheckType, MVT::v4i32,
31451 OPC_MoveParent,
31452 OPC_CheckPredicate3,
31453 OPC_MoveParent,
31454 OPC_SwitchType , 11, MVT::v2i64,
31455 OPC_MoveParent,
31456 OPC_CheckType, MVT::v2i64,
31457 OPC_CheckPatternPredicate1,
31458 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31459 MVT::v2i64, 2, 0, 1,
31460 11, MVT::v4i64,
31461 OPC_MoveParent,
31462 OPC_CheckType, MVT::v4i64,
31463 OPC_CheckPatternPredicate0,
31464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31465 MVT::v4i64, 2, 0, 1,
31466 0,
31467 18|128,1,
31468 OPC_MoveChild0,
31469 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31470 OPC_Scope, 16,
31471 OPC_CheckPredicate7,
31472 OPC_MoveParent,
31473 OPC_RecordChild1,
31474 OPC_CheckType, MVT::v16i8,
31475 OPC_MoveParent,
31476 OPC_CheckType, MVT::v16i8,
31477 OPC_CheckPatternPredicate1,
31478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
31479 MVT::v16i8, 2, 0, 1,
31480 17,
31481 OPC_CheckPredicate, 8,
31482 OPC_MoveParent,
31483 OPC_RecordChild1,
31484 OPC_CheckType, MVT::v8i16,
31485 OPC_MoveParent,
31486 OPC_CheckType, MVT::v8i16,
31487 OPC_CheckPatternPredicate1,
31488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
31489 MVT::v8i16, 2, 0, 1,
31490 17,
31491 OPC_CheckPredicate, 9,
31492 OPC_MoveParent,
31493 OPC_RecordChild1,
31494 OPC_CheckType, MVT::v4i32,
31495 OPC_MoveParent,
31496 OPC_CheckType, MVT::v4i32,
31497 OPC_CheckPatternPredicate1,
31498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
31499 MVT::v4i32, 2, 0, 1,
31500 16,
31501 OPC_CheckPredicate3,
31502 OPC_MoveParent,
31503 OPC_RecordChild1,
31504 OPC_CheckType, MVT::v2i64,
31505 OPC_MoveParent,
31506 OPC_CheckType, MVT::v2i64,
31507 OPC_CheckPatternPredicate1,
31508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31509 MVT::v2i64, 2, 0, 1,
31510 16,
31511 OPC_CheckPredicate7,
31512 OPC_MoveParent,
31513 OPC_RecordChild1,
31514 OPC_CheckType, MVT::v32i8,
31515 OPC_MoveParent,
31516 OPC_CheckType, MVT::v32i8,
31517 OPC_CheckPatternPredicate0,
31518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
31519 MVT::v32i8, 2, 0, 1,
31520 17,
31521 OPC_CheckPredicate, 8,
31522 OPC_MoveParent,
31523 OPC_RecordChild1,
31524 OPC_CheckType, MVT::v16i16,
31525 OPC_MoveParent,
31526 OPC_CheckType, MVT::v16i16,
31527 OPC_CheckPatternPredicate0,
31528 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
31529 MVT::v16i16, 2, 0, 1,
31530 17,
31531 OPC_CheckPredicate, 9,
31532 OPC_MoveParent,
31533 OPC_RecordChild1,
31534 OPC_CheckType, MVT::v8i32,
31535 OPC_MoveParent,
31536 OPC_CheckType, MVT::v8i32,
31537 OPC_CheckPatternPredicate0,
31538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
31539 MVT::v8i32, 2, 0, 1,
31540 16,
31541 OPC_CheckPredicate3,
31542 OPC_MoveParent,
31543 OPC_RecordChild1,
31544 OPC_CheckType, MVT::v4i64,
31545 OPC_MoveParent,
31546 OPC_CheckType, MVT::v4i64,
31547 OPC_CheckPatternPredicate0,
31548 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31549 MVT::v4i64, 2, 0, 1,
31550 0,
31551 11|128,1,
31552 OPC_RecordChild0,
31553 OPC_MoveChild1,
31554 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
31555 OPC_Scope, 15,
31556 OPC_CheckPredicate7,
31557 OPC_MoveParent,
31558 OPC_CheckType, MVT::v16i8,
31559 OPC_MoveParent,
31560 OPC_CheckType, MVT::v16i8,
31561 OPC_CheckPatternPredicate1,
31562 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
31563 MVT::v16i8, 2, 0, 1,
31564 16,
31565 OPC_CheckPredicate, 8,
31566 OPC_MoveParent,
31567 OPC_CheckType, MVT::v8i16,
31568 OPC_MoveParent,
31569 OPC_CheckType, MVT::v8i16,
31570 OPC_CheckPatternPredicate1,
31571 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
31572 MVT::v8i16, 2, 0, 1,
31573 16,
31574 OPC_CheckPredicate, 9,
31575 OPC_MoveParent,
31576 OPC_CheckType, MVT::v4i32,
31577 OPC_MoveParent,
31578 OPC_CheckType, MVT::v4i32,
31579 OPC_CheckPatternPredicate1,
31580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
31581 MVT::v4i32, 2, 0, 1,
31582 15,
31583 OPC_CheckPredicate3,
31584 OPC_MoveParent,
31585 OPC_CheckType, MVT::v2i64,
31586 OPC_MoveParent,
31587 OPC_CheckType, MVT::v2i64,
31588 OPC_CheckPatternPredicate1,
31589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31590 MVT::v2i64, 2, 0, 1,
31591 15,
31592 OPC_CheckPredicate7,
31593 OPC_MoveParent,
31594 OPC_CheckType, MVT::v32i8,
31595 OPC_MoveParent,
31596 OPC_CheckType, MVT::v32i8,
31597 OPC_CheckPatternPredicate0,
31598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
31599 MVT::v32i8, 2, 0, 1,
31600 16,
31601 OPC_CheckPredicate, 8,
31602 OPC_MoveParent,
31603 OPC_CheckType, MVT::v16i16,
31604 OPC_MoveParent,
31605 OPC_CheckType, MVT::v16i16,
31606 OPC_CheckPatternPredicate0,
31607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
31608 MVT::v16i16, 2, 0, 1,
31609 16,
31610 OPC_CheckPredicate, 9,
31611 OPC_MoveParent,
31612 OPC_CheckType, MVT::v8i32,
31613 OPC_MoveParent,
31614 OPC_CheckType, MVT::v8i32,
31615 OPC_CheckPatternPredicate0,
31616 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
31617 MVT::v8i32, 2, 0, 1,
31618 15,
31619 OPC_CheckPredicate3,
31620 OPC_MoveParent,
31621 OPC_CheckType, MVT::v4i64,
31622 OPC_MoveParent,
31623 OPC_CheckType, MVT::v4i64,
31624 OPC_CheckPatternPredicate0,
31625 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31626 MVT::v4i64, 2, 0, 1,
31627 0,
31628 0,
31629 55|128,2,
31630 OPC_RecordChild1,
31631 OPC_SwitchType , 37, MVT::v16i8,
31632 OPC_CheckChild1Type, MVT::v16i8,
31633 OPC_Scope, 11,
31634 OPC_CheckPatternPredicate3,
31635 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31636 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
31637 MVT::v16i8, 2, 0, 2,
31638 11,
31639 OPC_CheckPatternPredicate5,
31640 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
31642 MVT::v16i8, 2, 0, 2,
31643 8,
31644 OPC_CheckPatternPredicate1,
31645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
31646 MVT::v16i8, 2, 0, 1,
31647 0,
31648 37, MVT::v8i16,
31649 OPC_CheckChild1Type, MVT::v8i16,
31650 OPC_Scope, 11,
31651 OPC_CheckPatternPredicate3,
31652 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31653 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
31654 MVT::v8i16, 2, 0, 2,
31655 11,
31656 OPC_CheckPatternPredicate5,
31657 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31658 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
31659 MVT::v8i16, 2, 0, 2,
31660 8,
31661 OPC_CheckPatternPredicate1,
31662 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
31663 MVT::v8i16, 2, 0, 1,
31664 0,
31665 35, MVT::v4i32,
31666 OPC_CheckChild1Type, MVT::v4i32,
31667 OPC_Scope, 10,
31668 OPC_CheckPatternPredicate3,
31669 OPC_CheckComplexPat1, /*#*/1,
31670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
31671 MVT::v4i32, 2, 0, 2,
31672 10,
31673 OPC_CheckPatternPredicate5,
31674 OPC_CheckComplexPat1, /*#*/1,
31675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
31676 MVT::v4i32, 2, 0, 2,
31677 8,
31678 OPC_CheckPatternPredicate1,
31679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
31680 MVT::v4i32, 2, 0, 1,
31681 0,
31682 37, MVT::v2i64,
31683 OPC_CheckChild1Type, MVT::v2i64,
31684 OPC_Scope, 11,
31685 OPC_CheckPatternPredicate3,
31686 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
31688 MVT::v2i64, 2, 0, 2,
31689 11,
31690 OPC_CheckPatternPredicate5,
31691 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31692 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
31693 MVT::v2i64, 2, 0, 2,
31694 8,
31695 OPC_CheckPatternPredicate1,
31696 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
31697 MVT::v2i64, 2, 0, 1,
31698 0,
31699 37, MVT::v32i8,
31700 OPC_CheckChild1Type, MVT::v32i8,
31701 OPC_Scope, 11,
31702 OPC_CheckPatternPredicate2,
31703 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
31705 MVT::v32i8, 2, 0, 2,
31706 11,
31707 OPC_CheckPatternPredicate4,
31708 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
31709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
31710 MVT::v32i8, 2, 0, 2,
31711 8,
31712 OPC_CheckPatternPredicate0,
31713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
31714 MVT::v32i8, 2, 0, 1,
31715 0,
31716 37, MVT::v16i16,
31717 OPC_CheckChild1Type, MVT::v16i16,
31718 OPC_Scope, 11,
31719 OPC_CheckPatternPredicate2,
31720 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31721 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
31722 MVT::v16i16, 2, 0, 2,
31723 11,
31724 OPC_CheckPatternPredicate4,
31725 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
31726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
31727 MVT::v16i16, 2, 0, 2,
31728 8,
31729 OPC_CheckPatternPredicate0,
31730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
31731 MVT::v16i16, 2, 0, 1,
31732 0,
31733 35, MVT::v8i32,
31734 OPC_CheckChild1Type, MVT::v8i32,
31735 OPC_Scope, 10,
31736 OPC_CheckPatternPredicate2,
31737 OPC_CheckComplexPat1, /*#*/1,
31738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
31739 MVT::v8i32, 2, 0, 2,
31740 10,
31741 OPC_CheckPatternPredicate4,
31742 OPC_CheckComplexPat1, /*#*/1,
31743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
31744 MVT::v8i32, 2, 0, 2,
31745 8,
31746 OPC_CheckPatternPredicate0,
31747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
31748 MVT::v8i32, 2, 0, 1,
31749 0,
31750 37, MVT::v4i64,
31751 OPC_CheckChild1Type, MVT::v4i64,
31752 OPC_Scope, 11,
31753 OPC_CheckPatternPredicate2,
31754 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
31756 MVT::v4i64, 2, 0, 2,
31757 11,
31758 OPC_CheckPatternPredicate4,
31759 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
31760 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
31761 MVT::v4i64, 2, 0, 2,
31762 8,
31763 OPC_CheckPatternPredicate0,
31764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
31765 MVT::v4i64, 2, 0, 1,
31766 0,
31767 0,
31768 0,
31769 33, TARGET_VAL(LoongArchISD::DBAR),
31770 OPC_RecordNode,
31771 OPC_RecordChild1,
31772 OPC_MoveChild1,
31773 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31774 OPC_CheckPredicate, 40,
31775 OPC_SwitchType , 9, MVT::i64,
31776 OPC_MoveParent,
31777 OPC_CheckPatternPredicate7,
31778 OPC_EmitMergeInputChains1_0,
31779 OPC_EmitConvertToTarget1,
31780 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
31781 1, 2,
31782 10, MVT::i32,
31783 OPC_MoveParent,
31784 OPC_CheckPatternPredicate, 8,
31785 OPC_EmitMergeInputChains1_0,
31786 OPC_EmitConvertToTarget1,
31787 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
31788 1, 2,
31789 0,
31790 33, TARGET_VAL(LoongArchISD::IBAR),
31791 OPC_RecordNode,
31792 OPC_RecordChild1,
31793 OPC_MoveChild1,
31794 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31795 OPC_CheckPredicate, 40,
31796 OPC_SwitchType , 9, MVT::i64,
31797 OPC_MoveParent,
31798 OPC_CheckPatternPredicate7,
31799 OPC_EmitMergeInputChains1_0,
31800 OPC_EmitConvertToTarget1,
31801 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IBAR),
31802 1, 2,
31803 10, MVT::i32,
31804 OPC_MoveParent,
31805 OPC_CheckPatternPredicate, 8,
31806 OPC_EmitMergeInputChains1_0,
31807 OPC_EmitConvertToTarget1,
31808 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IBAR),
31809 1, 2,
31810 0,
31811 33, TARGET_VAL(LoongArchISD::BREAK),
31812 OPC_RecordNode,
31813 OPC_RecordChild1,
31814 OPC_MoveChild1,
31815 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31816 OPC_CheckPredicate, 40,
31817 OPC_SwitchType , 9, MVT::i64,
31818 OPC_MoveParent,
31819 OPC_CheckPatternPredicate7,
31820 OPC_EmitMergeInputChains1_0,
31821 OPC_EmitConvertToTarget1,
31822 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
31823 1, 2,
31824 10, MVT::i32,
31825 OPC_MoveParent,
31826 OPC_CheckPatternPredicate, 8,
31827 OPC_EmitMergeInputChains1_0,
31828 OPC_EmitConvertToTarget1,
31829 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
31830 1, 2,
31831 0,
31832 33, TARGET_VAL(LoongArchISD::SYSCALL),
31833 OPC_RecordNode,
31834 OPC_RecordChild1,
31835 OPC_MoveChild1,
31836 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31837 OPC_CheckPredicate, 40,
31838 OPC_SwitchType , 9, MVT::i64,
31839 OPC_MoveParent,
31840 OPC_CheckPatternPredicate7,
31841 OPC_EmitMergeInputChains1_0,
31842 OPC_EmitConvertToTarget1,
31843 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::SYSCALL),
31844 1, 2,
31845 10, MVT::i32,
31846 OPC_MoveParent,
31847 OPC_CheckPatternPredicate, 8,
31848 OPC_EmitMergeInputChains1_0,
31849 OPC_EmitConvertToTarget1,
31850 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::SYSCALL),
31851 1, 2,
31852 0,
31853 37, TARGET_VAL(LoongArchISD::CSRRD),
31854 OPC_RecordNode,
31855 OPC_RecordChild1,
31856 OPC_MoveChild1,
31857 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31858 OPC_CheckPredicate, 42,
31859 OPC_SwitchType , 11, MVT::i64,
31860 OPC_MoveParent,
31861 OPC_CheckTypeI64,
31862 OPC_CheckPatternPredicate7,
31863 OPC_EmitMergeInputChains1_0,
31864 OPC_EmitConvertToTarget1,
31865 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRRD),
31866 MVT::i64, 1, 2,
31867 12, MVT::i32,
31868 OPC_MoveParent,
31869 OPC_CheckTypeI32,
31870 OPC_CheckPatternPredicate, 8,
31871 OPC_EmitMergeInputChains1_0,
31872 OPC_EmitConvertToTarget1,
31873 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRRD),
31874 MVT::i32, 1, 2,
31875 0,
31876 40, TARGET_VAL(LoongArchISD::CSRWR),
31877 OPC_RecordNode,
31878 OPC_RecordChild1,
31879 OPC_RecordChild2,
31880 OPC_MoveChild2,
31881 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31882 OPC_CheckPredicate, 42,
31883 OPC_SwitchType , 12, MVT::i64,
31884 OPC_MoveParent,
31885 OPC_CheckTypeI64,
31886 OPC_CheckPatternPredicate7,
31887 OPC_EmitMergeInputChains1_0,
31888 OPC_EmitConvertToTarget2,
31889 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRWR),
31890 MVT::i64, 2, 1, 3,
31891 13, MVT::i32,
31892 OPC_MoveParent,
31893 OPC_CheckTypeI32,
31894 OPC_CheckPatternPredicate, 8,
31895 OPC_EmitMergeInputChains1_0,
31896 OPC_EmitConvertToTarget2,
31897 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRWR),
31898 MVT::i32, 2, 1, 3,
31899 0,
31900 43, TARGET_VAL(LoongArchISD::CSRXCHG),
31901 OPC_RecordNode,
31902 OPC_RecordChild1,
31903 OPC_RecordChild2,
31904 OPC_RecordChild3,
31905 OPC_MoveChild3,
31906 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31907 OPC_CheckPredicate, 42,
31908 OPC_SwitchType , 13, MVT::i64,
31909 OPC_MoveParent,
31910 OPC_CheckTypeI64,
31911 OPC_CheckPatternPredicate7,
31912 OPC_EmitMergeInputChains1_0,
31913 OPC_EmitConvertToTarget3,
31914 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRXCHG),
31915 MVT::i64, 3, 1, 2, 4,
31916 14, MVT::i32,
31917 OPC_MoveParent,
31918 OPC_CheckTypeI32,
31919 OPC_CheckPatternPredicate, 8,
31920 OPC_EmitMergeInputChains1_0,
31921 OPC_EmitConvertToTarget3,
31922 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CSRXCHG),
31923 MVT::i32, 3, 1, 2, 4,
31924 0,
31925 51|128,1, TARGET_VAL(LoongArchISD::VPICK_SEXT_ELT),
31926 OPC_RecordChild0,
31927 OPC_Scope, 43,
31928 OPC_CheckChild0Type, MVT::v16i8,
31929 OPC_RecordChild1,
31930 OPC_MoveChild1,
31931 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31932 OPC_CheckPredicate, 32,
31933 OPC_SwitchType , 14, MVT::i64,
31934 OPC_MoveSibling2,
31935 OPC_CheckValueType, MVT::i8,
31936 OPC_MoveParent,
31937 OPC_CheckTypeI64,
31938 OPC_CheckPatternPredicate3,
31939 OPC_EmitConvertToTarget1,
31940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
31941 MVT::i64, 2, 0, 2,
31942 14, MVT::i32,
31943 OPC_MoveSibling2,
31944 OPC_CheckValueType, MVT::i8,
31945 OPC_MoveParent,
31946 OPC_CheckTypeI32,
31947 OPC_CheckPatternPredicate5,
31948 OPC_EmitConvertToTarget1,
31949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
31950 MVT::i32, 2, 0, 2,
31951 0,
31952 43,
31953 OPC_CheckChild0Type, MVT::v8i16,
31954 OPC_RecordChild1,
31955 OPC_MoveChild1,
31956 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31957 OPC_CheckPredicate, 25,
31958 OPC_SwitchType , 14, MVT::i64,
31959 OPC_MoveSibling2,
31960 OPC_CheckValueType, MVT::i16,
31961 OPC_MoveParent,
31962 OPC_CheckTypeI64,
31963 OPC_CheckPatternPredicate3,
31964 OPC_EmitConvertToTarget1,
31965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
31966 MVT::i64, 2, 0, 2,
31967 14, MVT::i32,
31968 OPC_MoveSibling2,
31969 OPC_CheckValueType, MVT::i16,
31970 OPC_MoveParent,
31971 OPC_CheckTypeI32,
31972 OPC_CheckPatternPredicate5,
31973 OPC_EmitConvertToTarget1,
31974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
31975 MVT::i32, 2, 0, 2,
31976 0,
31977 43,
31978 OPC_CheckChild0Type, MVT::v4i32,
31979 OPC_RecordChild1,
31980 OPC_MoveChild1,
31981 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
31982 OPC_CheckPredicate, 18,
31983 OPC_SwitchType , 14, MVT::i64,
31984 OPC_MoveSibling2,
31985 OPC_CheckValueType, MVT::i32,
31986 OPC_MoveParent,
31987 OPC_CheckTypeI64,
31988 OPC_CheckPatternPredicate3,
31989 OPC_EmitConvertToTarget1,
31990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
31991 MVT::i64, 2, 0, 2,
31992 14, MVT::i32,
31993 OPC_MoveSibling2,
31994 OPC_CheckValueType, MVT::i32,
31995 OPC_MoveParent,
31996 OPC_CheckTypeI32,
31997 OPC_CheckPatternPredicate5,
31998 OPC_EmitConvertToTarget1,
31999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
32000 MVT::i32, 2, 0, 2,
32001 0,
32002 43,
32003 OPC_CheckChild0Type, MVT::v8i32,
32004 OPC_RecordChild1,
32005 OPC_MoveChild1,
32006 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32007 OPC_CheckPredicate, 25,
32008 OPC_SwitchType , 14, MVT::i64,
32009 OPC_MoveSibling2,
32010 OPC_CheckValueType, MVT::i32,
32011 OPC_MoveParent,
32012 OPC_CheckTypeI64,
32013 OPC_CheckPatternPredicate2,
32014 OPC_EmitConvertToTarget1,
32015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32016 MVT::i64, 2, 0, 2,
32017 14, MVT::i32,
32018 OPC_MoveSibling2,
32019 OPC_CheckValueType, MVT::i32,
32020 OPC_MoveParent,
32021 OPC_CheckTypeI32,
32022 OPC_CheckPatternPredicate4,
32023 OPC_EmitConvertToTarget1,
32024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32025 MVT::i32, 2, 0, 2,
32026 0,
32027 0,
32028 51|128,1, TARGET_VAL(LoongArchISD::VPICK_ZEXT_ELT),
32029 OPC_RecordChild0,
32030 OPC_Scope, 43,
32031 OPC_CheckChild0Type, MVT::v16i8,
32032 OPC_RecordChild1,
32033 OPC_MoveChild1,
32034 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32035 OPC_CheckPredicate, 32,
32036 OPC_SwitchType , 14, MVT::i64,
32037 OPC_MoveSibling2,
32038 OPC_CheckValueType, MVT::i8,
32039 OPC_MoveParent,
32040 OPC_CheckTypeI64,
32041 OPC_CheckPatternPredicate3,
32042 OPC_EmitConvertToTarget1,
32043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_BU),
32044 MVT::i64, 2, 0, 2,
32045 14, MVT::i32,
32046 OPC_MoveSibling2,
32047 OPC_CheckValueType, MVT::i8,
32048 OPC_MoveParent,
32049 OPC_CheckTypeI32,
32050 OPC_CheckPatternPredicate5,
32051 OPC_EmitConvertToTarget1,
32052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_BU),
32053 MVT::i32, 2, 0, 2,
32054 0,
32055 43,
32056 OPC_CheckChild0Type, MVT::v8i16,
32057 OPC_RecordChild1,
32058 OPC_MoveChild1,
32059 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32060 OPC_CheckPredicate, 25,
32061 OPC_SwitchType , 14, MVT::i64,
32062 OPC_MoveSibling2,
32063 OPC_CheckValueType, MVT::i16,
32064 OPC_MoveParent,
32065 OPC_CheckTypeI64,
32066 OPC_CheckPatternPredicate3,
32067 OPC_EmitConvertToTarget1,
32068 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_HU),
32069 MVT::i64, 2, 0, 2,
32070 14, MVT::i32,
32071 OPC_MoveSibling2,
32072 OPC_CheckValueType, MVT::i16,
32073 OPC_MoveParent,
32074 OPC_CheckTypeI32,
32075 OPC_CheckPatternPredicate5,
32076 OPC_EmitConvertToTarget1,
32077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_HU),
32078 MVT::i32, 2, 0, 2,
32079 0,
32080 43,
32081 OPC_CheckChild0Type, MVT::v4i32,
32082 OPC_RecordChild1,
32083 OPC_MoveChild1,
32084 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32085 OPC_CheckPredicate, 18,
32086 OPC_SwitchType , 14, MVT::i64,
32087 OPC_MoveSibling2,
32088 OPC_CheckValueType, MVT::i32,
32089 OPC_MoveParent,
32090 OPC_CheckTypeI64,
32091 OPC_CheckPatternPredicate3,
32092 OPC_EmitConvertToTarget1,
32093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_WU),
32094 MVT::i64, 2, 0, 2,
32095 14, MVT::i32,
32096 OPC_MoveSibling2,
32097 OPC_CheckValueType, MVT::i32,
32098 OPC_MoveParent,
32099 OPC_CheckTypeI32,
32100 OPC_CheckPatternPredicate5,
32101 OPC_EmitConvertToTarget1,
32102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_WU),
32103 MVT::i32, 2, 0, 2,
32104 0,
32105 43,
32106 OPC_CheckChild0Type, MVT::v8i32,
32107 OPC_RecordChild1,
32108 OPC_MoveChild1,
32109 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32110 OPC_CheckPredicate, 25,
32111 OPC_SwitchType , 14, MVT::i64,
32112 OPC_MoveSibling2,
32113 OPC_CheckValueType, MVT::i32,
32114 OPC_MoveParent,
32115 OPC_CheckTypeI64,
32116 OPC_CheckPatternPredicate2,
32117 OPC_EmitConvertToTarget1,
32118 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_WU),
32119 MVT::i64, 2, 0, 2,
32120 14, MVT::i32,
32121 OPC_MoveSibling2,
32122 OPC_CheckValueType, MVT::i32,
32123 OPC_MoveParent,
32124 OPC_CheckTypeI32,
32125 OPC_CheckPatternPredicate4,
32126 OPC_EmitConvertToTarget1,
32127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_WU),
32128 MVT::i32, 2, 0, 2,
32129 0,
32130 0,
32131 99|128,4, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32132 OPC_RecordChild0,
32133 OPC_Scope, 62,
32134 OPC_CheckChild0Type, MVT::v16i8,
32135 OPC_RecordChild1,
32136 OPC_Scope, 18,
32137 OPC_MoveChild1,
32138 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32139 OPC_CheckPredicate, 32,
32140 OPC_CheckTypeI64,
32141 OPC_MoveParent,
32142 OPC_CheckTypeI64,
32143 OPC_CheckPatternPredicate3,
32144 OPC_EmitConvertToTarget1,
32145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
32146 MVT::i64, 2, 0, 2,
32147 37,
32148 OPC_CheckChild1TypeI64,
32149 OPC_CheckTypeI64,
32150 OPC_CheckPatternPredicate3,
32151 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_B),
32152 MVT::v16i8, 2, 0, 1,
32153 OPC_EmitStringInteger32, LoongArch::sub_32,
32154 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32155 MVT::f32, 2, 2, 3,
32156 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32157 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32158 MVT::i64, 2, 4, 5,
32159 OPC_EmitInteger64, 48,
32160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
32161 MVT::i64, 2, 6, 7,
32162 0,
32163 62,
32164 OPC_CheckChild0Type, MVT::v8i16,
32165 OPC_RecordChild1,
32166 OPC_Scope, 18,
32167 OPC_MoveChild1,
32168 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32169 OPC_CheckPredicate, 25,
32170 OPC_CheckTypeI64,
32171 OPC_MoveParent,
32172 OPC_CheckTypeI64,
32173 OPC_CheckPatternPredicate3,
32174 OPC_EmitConvertToTarget1,
32175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
32176 MVT::i64, 2, 0, 2,
32177 37,
32178 OPC_CheckChild1TypeI64,
32179 OPC_CheckTypeI64,
32180 OPC_CheckPatternPredicate3,
32181 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_H),
32182 MVT::v16i8, 2, 0, 1,
32183 OPC_EmitStringInteger32, LoongArch::sub_32,
32184 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32185 MVT::f32, 2, 2, 3,
32186 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32187 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32188 MVT::i64, 2, 4, 5,
32189 OPC_EmitInteger64, 32,
32190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRAI_W),
32191 MVT::i64, 2, 6, 7,
32192 0,
32193 53,
32194 OPC_CheckChild0Type, MVT::v4i32,
32195 OPC_RecordChild1,
32196 OPC_Scope, 18,
32197 OPC_MoveChild1,
32198 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32199 OPC_CheckPredicate, 18,
32200 OPC_CheckTypeI64,
32201 OPC_MoveParent,
32202 OPC_CheckTypeI64,
32203 OPC_CheckPatternPredicate3,
32204 OPC_EmitConvertToTarget1,
32205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_W),
32206 MVT::i64, 2, 0, 2,
32207 28,
32208 OPC_CheckChild1TypeI64,
32209 OPC_CheckTypeI64,
32210 OPC_CheckPatternPredicate3,
32211 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
32212 MVT::v16i8, 2, 0, 1,
32213 OPC_EmitStringInteger32, LoongArch::sub_32,
32214 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32215 MVT::f32, 2, 2, 3,
32216 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32217 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32218 MVT::i64, 2, 4, 5,
32219 0,
32220 53,
32221 OPC_CheckChild0Type, MVT::v2i64,
32222 OPC_RecordChild1,
32223 OPC_Scope, 18,
32224 OPC_MoveChild1,
32225 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32226 OPC_CheckPredicate, 33,
32227 OPC_CheckTypeI64,
32228 OPC_MoveParent,
32229 OPC_CheckTypeI64,
32230 OPC_CheckPatternPredicate3,
32231 OPC_EmitConvertToTarget1,
32232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_D),
32233 MVT::i64, 2, 0, 2,
32234 28,
32235 OPC_CheckChild1TypeI64,
32236 OPC_CheckTypeI64,
32237 OPC_CheckPatternPredicate3,
32238 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
32239 MVT::v16i8, 2, 0, 1,
32240 OPC_EmitStringInteger32, LoongArch::sub_64,
32241 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32242 MVT::f64, 2, 2, 3,
32243 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
32244 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
32245 MVT::i64, 2, 4, 5,
32246 0,
32247 21,
32248 OPC_CheckChild0Type, MVT::v8i32,
32249 OPC_RecordChild1,
32250 OPC_MoveChild1,
32251 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32252 OPC_CheckPredicate, 25,
32253 OPC_CheckTypeI64,
32254 OPC_MoveParent,
32255 OPC_CheckTypeI64,
32256 OPC_CheckPatternPredicate2,
32257 OPC_EmitConvertToTarget1,
32258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32259 MVT::i64, 2, 0, 2,
32260 21,
32261 OPC_CheckChild0Type, MVT::v4i64,
32262 OPC_RecordChild1,
32263 OPC_MoveChild1,
32264 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32265 OPC_CheckPredicate, 18,
32266 OPC_CheckTypeI64,
32267 OPC_MoveParent,
32268 OPC_CheckTypeI64,
32269 OPC_CheckPatternPredicate2,
32270 OPC_EmitConvertToTarget1,
32271 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
32272 MVT::i64, 2, 0, 2,
32273 30,
32274 OPC_CheckChild0Type, MVT::v32i8,
32275 OPC_RecordChild1,
32276 OPC_MoveChild1,
32277 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32278 OPC_CheckPredicate, 32,
32279 OPC_CheckTypeI64,
32280 OPC_MoveParent,
32281 OPC_CheckTypeI64,
32282 OPC_CheckPatternPredicate2,
32283 OPC_EmitStringInteger32, LoongArch::sub_128,
32284 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32285 MVT::v16i8, 2, 0, 2,
32286 OPC_EmitConvertToTarget1,
32287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_B),
32288 MVT::i64, 2, 3, 4,
32289 30,
32290 OPC_CheckChild0Type, MVT::v16i16,
32291 OPC_RecordChild1,
32292 OPC_MoveChild1,
32293 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32294 OPC_CheckPredicate, 25,
32295 OPC_CheckTypeI64,
32296 OPC_MoveParent,
32297 OPC_CheckTypeI64,
32298 OPC_CheckPatternPredicate2,
32299 OPC_EmitStringInteger32, LoongArch::sub_128,
32300 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32301 MVT::v16i8, 2, 0, 2,
32302 OPC_EmitConvertToTarget1,
32303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKVE2GR_H),
32304 MVT::i64, 2, 3, 4,
32305 81,
32306 OPC_CheckChild0Type, MVT::v4f32,
32307 OPC_RecordChild1,
32308 OPC_Scope, 54,
32309 OPC_MoveChild1,
32310 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32311 OPC_CheckPredicate, 18,
32312 OPC_SwitchType , 21, MVT::i64,
32313 OPC_MoveParent,
32314 OPC_CheckType, MVT::f32,
32315 OPC_CheckPatternPredicate3,
32316 OPC_EmitConvertToTarget1,
32317 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
32318 MVT::v16i8, 2, 0, 2,
32319 OPC_EmitStringInteger32, LoongArch::sub_32,
32320 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32321 MVT::f32, 2, 3, 4,
32322 21, MVT::i32,
32323 OPC_MoveParent,
32324 OPC_CheckType, MVT::f32,
32325 OPC_CheckPatternPredicate5,
32326 OPC_EmitConvertToTarget1,
32327 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
32328 MVT::v16i8, 2, 0, 2,
32329 OPC_EmitStringInteger32, LoongArch::sub_32,
32330 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32331 MVT::f32, 2, 3, 4,
32332 0,
32333 20,
32334 OPC_CheckChild1TypeI64,
32335 OPC_CheckType, MVT::f32,
32336 OPC_CheckPatternPredicate3,
32337 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
32338 MVT::v16i8, 2, 0, 1,
32339 OPC_EmitStringInteger32, LoongArch::sub_32,
32340 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32341 MVT::f32, 2, 2, 3,
32342 0,
32343 81,
32344 OPC_CheckChild0Type, MVT::v2f64,
32345 OPC_RecordChild1,
32346 OPC_Scope, 54,
32347 OPC_MoveChild1,
32348 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32349 OPC_CheckPredicate, 33,
32350 OPC_SwitchType , 21, MVT::i64,
32351 OPC_MoveParent,
32352 OPC_CheckType, MVT::f64,
32353 OPC_CheckPatternPredicate3,
32354 OPC_EmitConvertToTarget1,
32355 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
32356 MVT::v16i8, 2, 0, 2,
32357 OPC_EmitStringInteger32, LoongArch::sub_64,
32358 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32359 MVT::f64, 2, 3, 4,
32360 21, MVT::i32,
32361 OPC_MoveParent,
32362 OPC_CheckType, MVT::f64,
32363 OPC_CheckPatternPredicate5,
32364 OPC_EmitConvertToTarget1,
32365 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
32366 MVT::v16i8, 2, 0, 2,
32367 OPC_EmitStringInteger32, LoongArch::sub_64,
32368 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32369 MVT::f64, 2, 3, 4,
32370 0,
32371 20,
32372 OPC_CheckChild1TypeI64,
32373 OPC_CheckType, MVT::f64,
32374 OPC_CheckPatternPredicate3,
32375 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
32376 MVT::v16i8, 2, 0, 1,
32377 OPC_EmitStringInteger32, LoongArch::sub_64,
32378 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
32379 MVT::f64, 2, 2, 3,
32380 0,
32381 51,
32382 OPC_CheckChild0Type, MVT::v8f32,
32383 OPC_RecordChild1,
32384 OPC_MoveChild1,
32385 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32386 OPC_CheckPredicate, 25,
32387 OPC_SwitchType , 18, MVT::i64,
32388 OPC_MoveParent,
32389 OPC_CheckType, MVT::f32,
32390 OPC_CheckPatternPredicate2,
32391 OPC_EmitConvertToTarget1,
32392 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32393 MVT::i64, 2, 0, 2,
32394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
32395 MVT::f32, 1, 3,
32396 18, MVT::i32,
32397 OPC_MoveParent,
32398 OPC_CheckType, MVT::f32,
32399 OPC_CheckPatternPredicate4,
32400 OPC_EmitConvertToTarget1,
32401 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_W),
32402 MVT::i32, 2, 0, 2,
32403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
32404 MVT::f32, 1, 3,
32405 0,
32406 51,
32407 OPC_CheckChild0Type, MVT::v4f64,
32408 OPC_RecordChild1,
32409 OPC_MoveChild1,
32410 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32411 OPC_CheckPredicate, 18,
32412 OPC_SwitchType , 18, MVT::i64,
32413 OPC_MoveParent,
32414 OPC_CheckType, MVT::f64,
32415 OPC_CheckPatternPredicate2,
32416 OPC_EmitConvertToTarget1,
32417 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
32418 MVT::i64, 2, 0, 2,
32419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
32420 MVT::f64, 1, 3,
32421 18, MVT::i32,
32422 OPC_MoveParent,
32423 OPC_CheckType, MVT::f64,
32424 OPC_CheckPatternPredicate4,
32425 OPC_EmitConvertToTarget1,
32426 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE2GR_D),
32427 MVT::i32, 2, 0, 2,
32428 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
32429 MVT::f64, 1, 3,
32430 0,
32431 0,
32432 40, TARGET_VAL(LoongArchISD::MOVGR2FCSR),
32433 OPC_RecordNode,
32434 OPC_RecordChild1,
32435 OPC_MoveChild1,
32436 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32437 OPC_CheckPredicate, 18,
32438 OPC_SwitchType , 13, MVT::i64,
32439 OPC_MoveParent,
32440 OPC_RecordChild2,
32441 OPC_CheckChild2TypeI64,
32442 OPC_CheckPatternPredicate, 11,
32443 OPC_EmitMergeInputChains1_0,
32444 OPC_EmitConvertToTarget1,
32445 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::WRFCSR),
32446 2, 3, 2,
32447 13, MVT::i32,
32448 OPC_MoveParent,
32449 OPC_RecordChild2,
32450 OPC_CheckChild2TypeI32,
32451 OPC_CheckPatternPredicate, 12,
32452 OPC_EmitMergeInputChains1_0,
32453 OPC_EmitConvertToTarget1,
32454 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::WRFCSR),
32455 2, 3, 2,
32456 0,
32457 38, TARGET_VAL(LoongArchISD::MOVFCSR2GR),
32458 OPC_RecordNode,
32459 OPC_RecordChild1,
32460 OPC_MoveChild1,
32461 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
32462 OPC_CheckPredicate, 18,
32463 OPC_SwitchType , 12, MVT::i64,
32464 OPC_MoveParent,
32465 OPC_CheckTypeI64,
32466 OPC_CheckPatternPredicate, 11,
32467 OPC_EmitMergeInputChains1_0,
32468 OPC_EmitConvertToTarget1,
32469 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::RDFCSR),
32470 MVT::i64, 1, 2,
32471 12, MVT::i32,
32472 OPC_MoveParent,
32473 OPC_CheckTypeI32,
32474 OPC_CheckPatternPredicate, 12,
32475 OPC_EmitMergeInputChains1_0,
32476 OPC_EmitConvertToTarget1,
32477 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::RDFCSR),
32478 MVT::i32, 1, 2,
32479 0,
32480 13, TARGET_VAL(LoongArchISD::SLL_W),
32481 OPC_RecordChild0,
32482 OPC_RecordChild1,
32483 OPC_CheckPatternPredicate6,
32484 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
32485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLL_W),
32486 MVT::i64, 2, 0, 2,
32487 13, TARGET_VAL(LoongArchISD::SRA_W),
32488 OPC_RecordChild0,
32489 OPC_RecordChild1,
32490 OPC_CheckPatternPredicate6,
32491 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
32492 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRA_W),
32493 MVT::i64, 2, 0, 2,
32494 13, TARGET_VAL(LoongArchISD::SRL_W),
32495 OPC_RecordChild0,
32496 OPC_RecordChild1,
32497 OPC_CheckPatternPredicate6,
32498 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
32499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SRL_W),
32500 MVT::i64, 2, 0, 2,
32501 86, TARGET_VAL(LoongArchISD::CALL),
32502 OPC_RecordNode,
32503 OPC_CaptureGlueInput,
32504 OPC_RecordChild1,
32505 OPC_Scope, 59,
32506 OPC_MoveChild1,
32507 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
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 25, TARGET_VAL(ISD::TargetExternalSymbol),
32522 OPC_SwitchType , 9, MVT::i64,
32523 OPC_MoveParent,
32524 OPC_CheckPatternPredicate7,
32525 OPC_EmitMergeInputChains1_0,
32526 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32527 1, 1,
32528 10, MVT::i32,
32529 OPC_MoveParent,
32530 OPC_CheckPatternPredicate, 8,
32531 OPC_EmitMergeInputChains1_0,
32532 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32533 1, 1,
32534 0,
32535 0,
32536 9,
32537 OPC_CheckChild1TypeI64,
32538 OPC_CheckPatternPredicate7,
32539 OPC_EmitMergeInputChains1_0,
32540 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32541 1, 1,
32542 10,
32543 OPC_CheckChild1TypeI32,
32544 OPC_CheckPatternPredicate, 8,
32545 OPC_EmitMergeInputChains1_0,
32546 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32547 1, 1,
32548 0,
32549 86, TARGET_VAL(LoongArchISD::CALL_MEDIUM),
32550 OPC_RecordNode,
32551 OPC_CaptureGlueInput,
32552 OPC_RecordChild1,
32553 OPC_Scope, 59,
32554 OPC_MoveChild1,
32555 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
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 25, TARGET_VAL(ISD::TargetExternalSymbol),
32570 OPC_SwitchType , 9, MVT::i64,
32571 OPC_MoveParent,
32572 OPC_CheckPatternPredicate6,
32573 OPC_EmitMergeInputChains1_0,
32574 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32575 1, 1,
32576 10, MVT::i32,
32577 OPC_MoveParent,
32578 OPC_CheckPatternPredicate, 10,
32579 OPC_EmitMergeInputChains1_0,
32580 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32581 1, 1,
32582 0,
32583 0,
32584 9,
32585 OPC_CheckChild1TypeI64,
32586 OPC_CheckPatternPredicate6,
32587 OPC_EmitMergeInputChains1_0,
32588 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32589 1, 1,
32590 10,
32591 OPC_CheckChild1TypeI32,
32592 OPC_CheckPatternPredicate, 10,
32593 OPC_EmitMergeInputChains1_0,
32594 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32595 1, 1,
32596 0,
32597 86, TARGET_VAL(LoongArchISD::CALL_LARGE),
32598 OPC_RecordNode,
32599 OPC_CaptureGlueInput,
32600 OPC_RecordChild1,
32601 OPC_Scope, 59,
32602 OPC_MoveChild1,
32603 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
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 25, TARGET_VAL(ISD::TargetExternalSymbol),
32618 OPC_SwitchType , 9, MVT::i64,
32619 OPC_MoveParent,
32620 OPC_CheckPatternPredicate6,
32621 OPC_EmitMergeInputChains1_0,
32622 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32623 1, 1,
32624 10, MVT::i32,
32625 OPC_MoveParent,
32626 OPC_CheckPatternPredicate, 10,
32627 OPC_EmitMergeInputChains1_0,
32628 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32629 1, 1,
32630 0,
32631 0,
32632 9,
32633 OPC_CheckChild1TypeI64,
32634 OPC_CheckPatternPredicate6,
32635 OPC_EmitMergeInputChains1_0,
32636 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32637 1, 1,
32638 10,
32639 OPC_CheckChild1TypeI32,
32640 OPC_CheckPatternPredicate, 10,
32641 OPC_EmitMergeInputChains1_0,
32642 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32643 1, 1,
32644 0,
32645 86, TARGET_VAL(LoongArchISD::TAIL),
32646 OPC_RecordNode,
32647 OPC_CaptureGlueInput,
32648 OPC_RecordChild1,
32649 OPC_Scope, 59,
32650 OPC_MoveChild1,
32651 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
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 25, TARGET_VAL(ISD::TargetExternalSymbol),
32666 OPC_SwitchType , 9, MVT::i64,
32667 OPC_MoveParent,
32668 OPC_CheckPatternPredicate7,
32669 OPC_EmitMergeInputChains1_0,
32670 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32671 1, 1,
32672 10, MVT::i32,
32673 OPC_MoveParent,
32674 OPC_CheckPatternPredicate, 8,
32675 OPC_EmitMergeInputChains1_0,
32676 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32677 1, 1,
32678 0,
32679 0,
32680 9,
32681 OPC_CheckChild1TypeI64,
32682 OPC_CheckPatternPredicate7,
32683 OPC_EmitMergeInputChains1_0,
32684 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32685 1, 1,
32686 10,
32687 OPC_CheckChild1TypeI32,
32688 OPC_CheckPatternPredicate, 8,
32689 OPC_EmitMergeInputChains1_0,
32690 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32691 1, 1,
32692 0,
32693 86, TARGET_VAL(LoongArchISD::TAIL_MEDIUM),
32694 OPC_RecordNode,
32695 OPC_CaptureGlueInput,
32696 OPC_RecordChild1,
32697 OPC_Scope, 59,
32698 OPC_MoveChild1,
32699 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
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 25, TARGET_VAL(ISD::TargetExternalSymbol),
32714 OPC_SwitchType , 9, MVT::i64,
32715 OPC_MoveParent,
32716 OPC_CheckPatternPredicate6,
32717 OPC_EmitMergeInputChains1_0,
32718 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32719 1, 1,
32720 10, MVT::i32,
32721 OPC_MoveParent,
32722 OPC_CheckPatternPredicate, 10,
32723 OPC_EmitMergeInputChains1_0,
32724 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32725 1, 1,
32726 0,
32727 0,
32728 9,
32729 OPC_CheckChild1TypeI64,
32730 OPC_CheckPatternPredicate6,
32731 OPC_EmitMergeInputChains1_0,
32732 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32733 1, 1,
32734 10,
32735 OPC_CheckChild1TypeI32,
32736 OPC_CheckPatternPredicate, 10,
32737 OPC_EmitMergeInputChains1_0,
32738 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32739 1, 1,
32740 0,
32741 86, TARGET_VAL(LoongArchISD::TAIL_LARGE),
32742 OPC_RecordNode,
32743 OPC_CaptureGlueInput,
32744 OPC_RecordChild1,
32745 OPC_Scope, 59,
32746 OPC_MoveChild1,
32747 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::TargetGlobalAddress),
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 25, TARGET_VAL(ISD::TargetExternalSymbol),
32762 OPC_SwitchType , 9, MVT::i64,
32763 OPC_MoveParent,
32764 OPC_CheckPatternPredicate6,
32765 OPC_EmitMergeInputChains1_0,
32766 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32767 1, 1,
32768 10, MVT::i32,
32769 OPC_MoveParent,
32770 OPC_CheckPatternPredicate, 10,
32771 OPC_EmitMergeInputChains1_0,
32772 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32773 1, 1,
32774 0,
32775 0,
32776 9,
32777 OPC_CheckChild1TypeI64,
32778 OPC_CheckPatternPredicate6,
32779 OPC_EmitMergeInputChains1_0,
32780 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32781 1, 1,
32782 10,
32783 OPC_CheckChild1TypeI32,
32784 OPC_CheckPatternPredicate, 10,
32785 OPC_EmitMergeInputChains1_0,
32786 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
32787 1, 1,
32788 0,
32789 119, TARGET_VAL(ISD::BSWAP),
32790 OPC_Scope, 51,
32791 OPC_MoveChild0,
32792 OPC_CheckOpcode, TARGET_VAL(ISD::BITREVERSE),
32793 OPC_RecordChild0,
32794 OPC_MoveParent,
32795 OPC_SwitchType , 19, MVT::i64,
32796 OPC_Scope, 8,
32797 OPC_CheckPatternPredicate, 15,
32798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32799 MVT::i64, 1, 0,
32800 7,
32801 OPC_CheckPatternPredicate6,
32802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32803 MVT::i64, 1, 0,
32804 0,
32805 20, MVT::i32,
32806 OPC_Scope, 8,
32807 OPC_CheckPatternPredicate, 9,
32808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32809 MVT::i32, 1, 0,
32810 8,
32811 OPC_CheckPatternPredicate, 10,
32812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32813 MVT::i32, 1, 0,
32814 0,
32815 0,
32816 64,
32817 OPC_RecordChild0,
32818 OPC_SwitchType , 28, MVT::i64,
32819 OPC_Scope, 7,
32820 OPC_CheckPatternPredicate6,
32821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_D),
32822 MVT::i64, 1, 0,
32823 17,
32824 OPC_CheckPatternPredicate, 15,
32825 OPC_EmitNode1None, TARGET_VAL(LoongArch::REVB_2H),
32826 MVT::i64, 1, 0,
32827 OPC_EmitInteger64, 32,
32828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
32829 MVT::i64, 2, 1, 2,
32830 0,
32831 29, MVT::i32,
32832 OPC_Scope, 8,
32833 OPC_CheckPatternPredicate, 10,
32834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_D),
32835 MVT::i32, 1, 0,
32836 17,
32837 OPC_CheckPatternPredicate, 9,
32838 OPC_EmitNode1None, TARGET_VAL(LoongArch::REVB_2H),
32839 MVT::i32, 1, 0,
32840 OPC_EmitInteger32, 32,
32841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ROTRI_W),
32842 MVT::i32, 2, 1, 2,
32843 0,
32844 0,
32845 0,
32846 101, TARGET_VAL(ISD::BITREVERSE),
32847 OPC_Scope, 51,
32848 OPC_MoveChild0,
32849 OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
32850 OPC_RecordChild0,
32851 OPC_MoveParent,
32852 OPC_SwitchType , 19, MVT::i64,
32853 OPC_Scope, 8,
32854 OPC_CheckPatternPredicate, 15,
32855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32856 MVT::i64, 1, 0,
32857 7,
32858 OPC_CheckPatternPredicate6,
32859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32860 MVT::i64, 1, 0,
32861 0,
32862 20, MVT::i32,
32863 OPC_Scope, 8,
32864 OPC_CheckPatternPredicate, 9,
32865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
32866 MVT::i32, 1, 0,
32867 8,
32868 OPC_CheckPatternPredicate, 10,
32869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_8B),
32870 MVT::i32, 1, 0,
32871 0,
32872 0,
32873 46,
32874 OPC_RecordChild0,
32875 OPC_SwitchType , 19, MVT::i64,
32876 OPC_Scope, 8,
32877 OPC_CheckPatternPredicate, 15,
32878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
32879 MVT::i64, 1, 0,
32880 7,
32881 OPC_CheckPatternPredicate6,
32882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_D),
32883 MVT::i64, 1, 0,
32884 0,
32885 20, MVT::i32,
32886 OPC_Scope, 8,
32887 OPC_CheckPatternPredicate, 9,
32888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
32889 MVT::i32, 1, 0,
32890 8,
32891 OPC_CheckPatternPredicate, 10,
32892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_D),
32893 MVT::i32, 1, 0,
32894 0,
32895 0,
32896 0,
32897 113|128,1, TARGET_VAL(ISD::IS_FPCLASS),
32898 OPC_RecordChild0,
32899 OPC_Scope, 81,
32900 OPC_CheckChild0Type, MVT::f32,
32901 OPC_RecordChild1,
32902 OPC_MoveChild1,
32903 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
32904 OPC_CheckTypeI32,
32905 OPC_MoveParent,
32906 OPC_SwitchType , 33, MVT::i64,
32907 OPC_CheckPatternPredicate, 11,
32908 OPC_EmitRegisterI64, LoongArch::R0,
32909 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_S),
32910 MVT::f32, 1, 0,
32911 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
32912 MVT::i64, 1, 3,
32913 OPC_EmitNodeXForm, 11, 1,
32914 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32915 MVT::i64, 2, 4, 5,
32916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32917 MVT::i64, 2, 2, 6,
32918 33, MVT::i32,
32919 OPC_CheckPatternPredicate, 12,
32920 OPC_EmitRegisterI32, LoongArch::R0,
32921 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_S),
32922 MVT::f32, 1, 0,
32923 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
32924 MVT::i32, 1, 3,
32925 OPC_EmitNodeXForm, 11, 1,
32926 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32927 MVT::i32, 2, 4, 5,
32928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32929 MVT::i32, 2, 2, 6,
32930 0,
32931 26|128,1,
32932 OPC_CheckChild0Type, MVT::f64,
32933 OPC_RecordChild1,
32934 OPC_MoveChild1,
32935 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
32936 OPC_CheckTypeI32,
32937 OPC_MoveParent,
32938 OPC_SwitchType , 69, MVT::i64,
32939 OPC_Scope, 33,
32940 OPC_CheckPatternPredicate, 15,
32941 OPC_EmitRegisterI64, LoongArch::R0,
32942 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32943 MVT::f64, 1, 0,
32944 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S_64),
32945 MVT::i64, 1, 3,
32946 OPC_EmitNodeXForm, 11, 1,
32947 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32948 MVT::i64, 2, 4, 5,
32949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32950 MVT::i64, 2, 2, 6,
32951 32,
32952 OPC_CheckPatternPredicate6,
32953 OPC_EmitRegisterI64, LoongArch::R0,
32954 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32955 MVT::f64, 1, 0,
32956 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
32957 MVT::i64, 1, 3,
32958 OPC_EmitNodeXForm, 11, 1,
32959 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32960 MVT::i64, 2, 4, 5,
32961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32962 MVT::i64, 2, 2, 6,
32963 0,
32964 70, MVT::i32,
32965 OPC_Scope, 33,
32966 OPC_CheckPatternPredicate, 9,
32967 OPC_EmitRegisterI32, LoongArch::R0,
32968 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32969 MVT::f64, 1, 0,
32970 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_S_64),
32971 MVT::i32, 1, 3,
32972 OPC_EmitNodeXForm, 11, 1,
32973 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32974 MVT::i32, 2, 4, 5,
32975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32976 MVT::i32, 2, 2, 6,
32977 33,
32978 OPC_CheckPatternPredicate, 10,
32979 OPC_EmitRegisterI32, LoongArch::R0,
32980 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
32981 MVT::f64, 1, 0,
32982 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
32983 MVT::i32, 1, 3,
32984 OPC_EmitNodeXForm, 11, 1,
32985 OPC_EmitNode1None, TARGET_VAL(LoongArch::ANDI),
32986 MVT::i32, 2, 4, 5,
32987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SLTU),
32988 MVT::i32, 2, 2, 6,
32989 0,
32990 0,
32991 0,
32992 3|128,3, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
32993 OPC_RecordMemRef,
32994 OPC_RecordNode,
32995 OPC_RecordChild1,
32996 OPC_SwitchType , 55|128,1, MVT::i64,
32997 OPC_CheckChild1TypeI64,
32998 OPC_RecordChild2,
32999 OPC_Scope, 89,
33000 OPC_CheckPredicate, 15,
33001 OPC_Scope, 16,
33002 OPC_CheckPredicate, 20,
33003 OPC_CheckPatternPredicate6,
33004 OPC_EmitMergeInputChains1_0,
33005 OPC_EmitInteger64, 4,
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, 21,
33010 OPC_CheckPatternPredicate6,
33011 OPC_EmitMergeInputChains1_0,
33012 OPC_EmitInteger64, 8,
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, 22,
33017 OPC_CheckPatternPredicate6,
33018 OPC_EmitMergeInputChains1_0,
33019 OPC_EmitInteger64, 10,
33020 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33021 MVT::i64, MVT::i64, 3, 1, 2, 3,
33022 16,
33023 OPC_CheckPredicate, 23,
33024 OPC_CheckPatternPredicate6,
33025 OPC_EmitMergeInputChains1_0,
33026 OPC_EmitInteger64, 12,
33027 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33028 MVT::i64, MVT::i64, 3, 1, 2, 3,
33029 16,
33030 OPC_CheckPredicate, 24,
33031 OPC_CheckPatternPredicate6,
33032 OPC_EmitMergeInputChains1_0,
33033 OPC_EmitInteger64, 14,
33034 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33035 MVT::i64, MVT::i64, 3, 1, 2, 3,
33036 0,
33037 88,
33038 OPC_CheckPredicate5,
33039 OPC_Scope, 16,
33040 OPC_CheckPredicate, 20,
33041 OPC_CheckPatternPredicate7,
33042 OPC_EmitMergeInputChains1_0,
33043 OPC_EmitInteger64, 4,
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, 21,
33048 OPC_CheckPatternPredicate7,
33049 OPC_EmitMergeInputChains1_0,
33050 OPC_EmitInteger64, 8,
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, 22,
33055 OPC_CheckPatternPredicate7,
33056 OPC_EmitMergeInputChains1_0,
33057 OPC_EmitInteger64, 10,
33058 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33059 MVT::i64, MVT::i64, 3, 1, 2, 3,
33060 16,
33061 OPC_CheckPredicate, 23,
33062 OPC_CheckPatternPredicate7,
33063 OPC_EmitMergeInputChains1_0,
33064 OPC_EmitInteger64, 12,
33065 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33066 MVT::i64, MVT::i64, 3, 1, 2, 3,
33067 16,
33068 OPC_CheckPredicate, 24,
33069 OPC_CheckPatternPredicate7,
33070 OPC_EmitMergeInputChains1_0,
33071 OPC_EmitInteger64, 14,
33072 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33073 MVT::i64, MVT::i64, 3, 1, 2, 3,
33074 0,
33075 0,
33076 65|128,1, MVT::i32,
33077 OPC_CheckChild1TypeI32,
33078 OPC_RecordChild2,
33079 OPC_Scope, 94,
33080 OPC_CheckPredicate, 15,
33081 OPC_Scope, 17,
33082 OPC_CheckPredicate, 20,
33083 OPC_CheckPatternPredicate, 10,
33084 OPC_EmitMergeInputChains1_0,
33085 OPC_EmitInteger32, 4,
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, 21,
33090 OPC_CheckPatternPredicate, 10,
33091 OPC_EmitMergeInputChains1_0,
33092 OPC_EmitInteger32, 8,
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, 22,
33097 OPC_CheckPatternPredicate, 10,
33098 OPC_EmitMergeInputChains1_0,
33099 OPC_EmitInteger32, 10,
33100 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33101 MVT::i32, MVT::i32, 3, 1, 2, 3,
33102 17,
33103 OPC_CheckPredicate, 23,
33104 OPC_CheckPatternPredicate, 10,
33105 OPC_EmitMergeInputChains1_0,
33106 OPC_EmitInteger32, 12,
33107 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33108 MVT::i32, MVT::i32, 3, 1, 2, 3,
33109 17,
33110 OPC_CheckPredicate, 24,
33111 OPC_CheckPatternPredicate, 10,
33112 OPC_EmitMergeInputChains1_0,
33113 OPC_EmitInteger32, 14,
33114 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
33115 MVT::i32, MVT::i32, 3, 1, 2, 3,
33116 0,
33117 93,
33118 OPC_CheckPredicate5,
33119 OPC_Scope, 17,
33120 OPC_CheckPredicate, 20,
33121 OPC_CheckPatternPredicate, 8,
33122 OPC_EmitMergeInputChains1_0,
33123 OPC_EmitInteger32, 4,
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, 21,
33128 OPC_CheckPatternPredicate, 8,
33129 OPC_EmitMergeInputChains1_0,
33130 OPC_EmitInteger32, 8,
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, 22,
33135 OPC_CheckPatternPredicate, 8,
33136 OPC_EmitMergeInputChains1_0,
33137 OPC_EmitInteger32, 10,
33138 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33139 MVT::i32, MVT::i32, 3, 1, 2, 3,
33140 17,
33141 OPC_CheckPredicate, 23,
33142 OPC_CheckPatternPredicate, 8,
33143 OPC_EmitMergeInputChains1_0,
33144 OPC_EmitInteger32, 12,
33145 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33146 MVT::i32, MVT::i32, 3, 1, 2, 3,
33147 17,
33148 OPC_CheckPredicate, 24,
33149 OPC_CheckPatternPredicate, 8,
33150 OPC_EmitMergeInputChains1_0,
33151 OPC_EmitInteger32, 14,
33152 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
33153 MVT::i32, MVT::i32, 3, 1, 2, 3,
33154 0,
33155 0,
33156 0,
33157 1|128,2, TARGET_VAL(ISD::ATOMIC_SWAP),
33158 OPC_RecordMemRef,
33159 OPC_RecordNode,
33160 OPC_RecordChild1,
33161 OPC_SwitchType , 123, MVT::i64,
33162 OPC_CheckChild1TypeI64,
33163 OPC_RecordChild2,
33164 OPC_Scope, 11,
33165 OPC_CheckPredicate5,
33166 OPC_CheckPatternPredicate6,
33167 OPC_EmitMergeInputChains1_0,
33168 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33169 MVT::i64, 2, 2, 1,
33170 12,
33171 OPC_CheckPredicate, 15,
33172 OPC_CheckPatternPredicate6,
33173 OPC_EmitMergeInputChains1_0,
33174 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33175 MVT::i64, 2, 2, 1,
33176 93,
33177 OPC_CheckPredicate5,
33178 OPC_Scope, 17,
33179 OPC_CheckPredicate, 20,
33180 OPC_CheckPatternPredicate, 15,
33181 OPC_EmitMergeInputChains1_0,
33182 OPC_EmitInteger64, 4,
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, 21,
33187 OPC_CheckPatternPredicate, 15,
33188 OPC_EmitMergeInputChains1_0,
33189 OPC_EmitInteger64, 8,
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, 22,
33194 OPC_CheckPatternPredicate, 15,
33195 OPC_EmitMergeInputChains1_0,
33196 OPC_EmitInteger64, 10,
33197 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33198 MVT::i64, MVT::i64, 3, 1, 2, 3,
33199 17,
33200 OPC_CheckPredicate, 23,
33201 OPC_CheckPatternPredicate, 15,
33202 OPC_EmitMergeInputChains1_0,
33203 OPC_EmitInteger64, 12,
33204 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33205 MVT::i64, MVT::i64, 3, 1, 2, 3,
33206 17,
33207 OPC_CheckPredicate, 24,
33208 OPC_CheckPatternPredicate, 15,
33209 OPC_EmitMergeInputChains1_0,
33210 OPC_EmitInteger64, 14,
33211 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33212 MVT::i64, MVT::i64, 3, 1, 2, 3,
33213 0,
33214 0,
33215 125, MVT::i32,
33216 OPC_CheckChild1TypeI32,
33217 OPC_RecordChild2,
33218 OPC_Scope, 12,
33219 OPC_CheckPredicate5,
33220 OPC_CheckPatternPredicate, 10,
33221 OPC_EmitMergeInputChains1_0,
33222 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33223 MVT::i32, 2, 2, 1,
33224 13,
33225 OPC_CheckPredicate, 15,
33226 OPC_CheckPatternPredicate, 10,
33227 OPC_EmitMergeInputChains1_0,
33228 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMSWAP__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33229 MVT::i32, 2, 2, 1,
33230 93,
33231 OPC_CheckPredicate5,
33232 OPC_Scope, 17,
33233 OPC_CheckPredicate, 20,
33234 OPC_CheckPatternPredicate, 9,
33235 OPC_EmitMergeInputChains1_0,
33236 OPC_EmitInteger32, 4,
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, 21,
33241 OPC_CheckPatternPredicate, 9,
33242 OPC_EmitMergeInputChains1_0,
33243 OPC_EmitInteger32, 8,
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, 22,
33248 OPC_CheckPatternPredicate, 9,
33249 OPC_EmitMergeInputChains1_0,
33250 OPC_EmitInteger32, 10,
33251 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33252 MVT::i32, MVT::i32, 3, 1, 2, 3,
33253 17,
33254 OPC_CheckPredicate, 23,
33255 OPC_CheckPatternPredicate, 9,
33256 OPC_EmitMergeInputChains1_0,
33257 OPC_EmitInteger32, 12,
33258 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33259 MVT::i32, MVT::i32, 3, 1, 2, 3,
33260 17,
33261 OPC_CheckPredicate, 24,
33262 OPC_CheckPatternPredicate, 9,
33263 OPC_EmitMergeInputChains1_0,
33264 OPC_EmitInteger32, 14,
33265 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
33266 MVT::i32, MVT::i32, 3, 1, 2, 3,
33267 0,
33268 0,
33269 0,
33270 127|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
33271 OPC_RecordMemRef,
33272 OPC_RecordNode,
33273 OPC_RecordChild1,
33274 OPC_SwitchType , 122, MVT::i64,
33275 OPC_CheckChild1TypeI64,
33276 OPC_RecordChild2,
33277 OPC_Scope, 12,
33278 OPC_CheckPredicate, 15,
33279 OPC_CheckPatternPredicate6,
33280 OPC_EmitMergeInputChains1_0,
33281 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33282 MVT::i64, 2, 2, 1,
33283 104,
33284 OPC_CheckPredicate5,
33285 OPC_Scope, 10,
33286 OPC_CheckPatternPredicate6,
33287 OPC_EmitMergeInputChains1_0,
33288 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33289 MVT::i64, 2, 2, 1,
33290 17,
33291 OPC_CheckPredicate, 20,
33292 OPC_CheckPatternPredicate, 15,
33293 OPC_EmitMergeInputChains1_0,
33294 OPC_EmitInteger64, 4,
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, 21,
33299 OPC_CheckPatternPredicate, 15,
33300 OPC_EmitMergeInputChains1_0,
33301 OPC_EmitInteger64, 8,
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, 22,
33306 OPC_CheckPatternPredicate, 15,
33307 OPC_EmitMergeInputChains1_0,
33308 OPC_EmitInteger64, 10,
33309 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33310 MVT::i64, MVT::i64, 3, 1, 2, 3,
33311 17,
33312 OPC_CheckPredicate, 23,
33313 OPC_CheckPatternPredicate, 15,
33314 OPC_EmitMergeInputChains1_0,
33315 OPC_EmitInteger64, 12,
33316 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33317 MVT::i64, MVT::i64, 3, 1, 2, 3,
33318 17,
33319 OPC_CheckPredicate, 24,
33320 OPC_CheckPatternPredicate, 15,
33321 OPC_EmitMergeInputChains1_0,
33322 OPC_EmitInteger64, 14,
33323 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33324 MVT::i64, MVT::i64, 3, 1, 2, 3,
33325 0,
33326 0,
33327 124, MVT::i32,
33328 OPC_CheckChild1TypeI32,
33329 OPC_RecordChild2,
33330 OPC_Scope, 13,
33331 OPC_CheckPredicate, 15,
33332 OPC_CheckPatternPredicate, 10,
33333 OPC_EmitMergeInputChains1_0,
33334 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33335 MVT::i32, 2, 2, 1,
33336 105,
33337 OPC_CheckPredicate5,
33338 OPC_Scope, 11,
33339 OPC_CheckPatternPredicate, 10,
33340 OPC_EmitMergeInputChains1_0,
33341 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33342 MVT::i32, 2, 2, 1,
33343 17,
33344 OPC_CheckPredicate, 20,
33345 OPC_CheckPatternPredicate, 9,
33346 OPC_EmitMergeInputChains1_0,
33347 OPC_EmitInteger32, 4,
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, 21,
33352 OPC_CheckPatternPredicate, 9,
33353 OPC_EmitMergeInputChains1_0,
33354 OPC_EmitInteger32, 8,
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, 22,
33359 OPC_CheckPatternPredicate, 9,
33360 OPC_EmitMergeInputChains1_0,
33361 OPC_EmitInteger32, 10,
33362 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33363 MVT::i32, MVT::i32, 3, 1, 2, 3,
33364 17,
33365 OPC_CheckPredicate, 23,
33366 OPC_CheckPatternPredicate, 9,
33367 OPC_EmitMergeInputChains1_0,
33368 OPC_EmitInteger32, 12,
33369 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33370 MVT::i32, MVT::i32, 3, 1, 2, 3,
33371 17,
33372 OPC_CheckPredicate, 24,
33373 OPC_CheckPatternPredicate, 9,
33374 OPC_EmitMergeInputChains1_0,
33375 OPC_EmitInteger32, 14,
33376 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
33377 MVT::i32, MVT::i32, 3, 1, 2, 3,
33378 0,
33379 0,
33380 0,
33381 1|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
33382 OPC_RecordMemRef,
33383 OPC_RecordNode,
33384 OPC_RecordChild1,
33385 OPC_SwitchType , 123, MVT::i64,
33386 OPC_CheckChild1TypeI64,
33387 OPC_RecordChild2,
33388 OPC_Scope, 11,
33389 OPC_CheckPredicate5,
33390 OPC_CheckPatternPredicate6,
33391 OPC_EmitMergeInputChains1_0,
33392 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33393 MVT::i64, 2, 2, 1,
33394 12,
33395 OPC_CheckPredicate, 15,
33396 OPC_CheckPatternPredicate6,
33397 OPC_EmitMergeInputChains1_0,
33398 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33399 MVT::i64, 2, 2, 1,
33400 93,
33401 OPC_CheckPredicate5,
33402 OPC_Scope, 17,
33403 OPC_CheckPredicate, 20,
33404 OPC_CheckPatternPredicate, 15,
33405 OPC_EmitMergeInputChains1_0,
33406 OPC_EmitInteger64, 4,
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, 21,
33411 OPC_CheckPatternPredicate, 15,
33412 OPC_EmitMergeInputChains1_0,
33413 OPC_EmitInteger64, 8,
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, 22,
33418 OPC_CheckPatternPredicate, 15,
33419 OPC_EmitMergeInputChains1_0,
33420 OPC_EmitInteger64, 10,
33421 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33422 MVT::i64, MVT::i64, 3, 1, 2, 3,
33423 17,
33424 OPC_CheckPredicate, 23,
33425 OPC_CheckPatternPredicate, 15,
33426 OPC_EmitMergeInputChains1_0,
33427 OPC_EmitInteger64, 12,
33428 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33429 MVT::i64, MVT::i64, 3, 1, 2, 3,
33430 17,
33431 OPC_CheckPredicate, 24,
33432 OPC_CheckPatternPredicate, 15,
33433 OPC_EmitMergeInputChains1_0,
33434 OPC_EmitInteger64, 14,
33435 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33436 MVT::i64, MVT::i64, 3, 1, 2, 3,
33437 0,
33438 0,
33439 125, MVT::i32,
33440 OPC_CheckChild1TypeI32,
33441 OPC_RecordChild2,
33442 OPC_Scope, 12,
33443 OPC_CheckPredicate5,
33444 OPC_CheckPatternPredicate, 10,
33445 OPC_EmitMergeInputChains1_0,
33446 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33447 MVT::i32, 2, 2, 1,
33448 13,
33449 OPC_CheckPredicate, 15,
33450 OPC_CheckPatternPredicate, 10,
33451 OPC_EmitMergeInputChains1_0,
33452 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMAND__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33453 MVT::i32, 2, 2, 1,
33454 93,
33455 OPC_CheckPredicate5,
33456 OPC_Scope, 17,
33457 OPC_CheckPredicate, 20,
33458 OPC_CheckPatternPredicate, 9,
33459 OPC_EmitMergeInputChains1_0,
33460 OPC_EmitInteger32, 4,
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, 21,
33465 OPC_CheckPatternPredicate, 9,
33466 OPC_EmitMergeInputChains1_0,
33467 OPC_EmitInteger32, 8,
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, 22,
33472 OPC_CheckPatternPredicate, 9,
33473 OPC_EmitMergeInputChains1_0,
33474 OPC_EmitInteger32, 10,
33475 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33476 MVT::i32, MVT::i32, 3, 1, 2, 3,
33477 17,
33478 OPC_CheckPredicate, 23,
33479 OPC_CheckPatternPredicate, 9,
33480 OPC_EmitMergeInputChains1_0,
33481 OPC_EmitInteger32, 12,
33482 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33483 MVT::i32, MVT::i32, 3, 1, 2, 3,
33484 17,
33485 OPC_CheckPredicate, 24,
33486 OPC_CheckPatternPredicate, 9,
33487 OPC_EmitMergeInputChains1_0,
33488 OPC_EmitInteger32, 14,
33489 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
33490 MVT::i32, MVT::i32, 3, 1, 2, 3,
33491 0,
33492 0,
33493 0,
33494 1|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
33495 OPC_RecordMemRef,
33496 OPC_RecordNode,
33497 OPC_RecordChild1,
33498 OPC_SwitchType , 123, MVT::i64,
33499 OPC_CheckChild1TypeI64,
33500 OPC_RecordChild2,
33501 OPC_Scope, 11,
33502 OPC_CheckPredicate5,
33503 OPC_CheckPatternPredicate6,
33504 OPC_EmitMergeInputChains1_0,
33505 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33506 MVT::i64, 2, 2, 1,
33507 12,
33508 OPC_CheckPredicate, 15,
33509 OPC_CheckPatternPredicate6,
33510 OPC_EmitMergeInputChains1_0,
33511 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33512 MVT::i64, 2, 2, 1,
33513 93,
33514 OPC_CheckPredicate5,
33515 OPC_Scope, 17,
33516 OPC_CheckPredicate, 20,
33517 OPC_CheckPatternPredicate, 15,
33518 OPC_EmitMergeInputChains1_0,
33519 OPC_EmitInteger64, 4,
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, 21,
33524 OPC_CheckPatternPredicate, 15,
33525 OPC_EmitMergeInputChains1_0,
33526 OPC_EmitInteger64, 8,
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, 22,
33531 OPC_CheckPatternPredicate, 15,
33532 OPC_EmitMergeInputChains1_0,
33533 OPC_EmitInteger64, 10,
33534 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33535 MVT::i64, MVT::i64, 3, 1, 2, 3,
33536 17,
33537 OPC_CheckPredicate, 23,
33538 OPC_CheckPatternPredicate, 15,
33539 OPC_EmitMergeInputChains1_0,
33540 OPC_EmitInteger64, 12,
33541 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33542 MVT::i64, MVT::i64, 3, 1, 2, 3,
33543 17,
33544 OPC_CheckPredicate, 24,
33545 OPC_CheckPatternPredicate, 15,
33546 OPC_EmitMergeInputChains1_0,
33547 OPC_EmitInteger64, 14,
33548 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33549 MVT::i64, MVT::i64, 3, 1, 2, 3,
33550 0,
33551 0,
33552 125, MVT::i32,
33553 OPC_CheckChild1TypeI32,
33554 OPC_RecordChild2,
33555 OPC_Scope, 12,
33556 OPC_CheckPredicate5,
33557 OPC_CheckPatternPredicate, 10,
33558 OPC_EmitMergeInputChains1_0,
33559 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33560 MVT::i32, 2, 2, 1,
33561 13,
33562 OPC_CheckPredicate, 15,
33563 OPC_CheckPatternPredicate, 10,
33564 OPC_EmitMergeInputChains1_0,
33565 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33566 MVT::i32, 2, 2, 1,
33567 93,
33568 OPC_CheckPredicate5,
33569 OPC_Scope, 17,
33570 OPC_CheckPredicate, 20,
33571 OPC_CheckPatternPredicate, 9,
33572 OPC_EmitMergeInputChains1_0,
33573 OPC_EmitInteger32, 4,
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, 21,
33578 OPC_CheckPatternPredicate, 9,
33579 OPC_EmitMergeInputChains1_0,
33580 OPC_EmitInteger32, 8,
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, 22,
33585 OPC_CheckPatternPredicate, 9,
33586 OPC_EmitMergeInputChains1_0,
33587 OPC_EmitInteger32, 10,
33588 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33589 MVT::i32, MVT::i32, 3, 1, 2, 3,
33590 17,
33591 OPC_CheckPredicate, 23,
33592 OPC_CheckPatternPredicate, 9,
33593 OPC_EmitMergeInputChains1_0,
33594 OPC_EmitInteger32, 12,
33595 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33596 MVT::i32, MVT::i32, 3, 1, 2, 3,
33597 17,
33598 OPC_CheckPredicate, 24,
33599 OPC_CheckPatternPredicate, 9,
33600 OPC_EmitMergeInputChains1_0,
33601 OPC_EmitInteger32, 14,
33602 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
33603 MVT::i32, MVT::i32, 3, 1, 2, 3,
33604 0,
33605 0,
33606 0,
33607 1|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
33608 OPC_RecordMemRef,
33609 OPC_RecordNode,
33610 OPC_RecordChild1,
33611 OPC_SwitchType , 123, MVT::i64,
33612 OPC_CheckChild1TypeI64,
33613 OPC_RecordChild2,
33614 OPC_Scope, 11,
33615 OPC_CheckPredicate5,
33616 OPC_CheckPatternPredicate6,
33617 OPC_EmitMergeInputChains1_0,
33618 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33619 MVT::i64, 2, 2, 1,
33620 12,
33621 OPC_CheckPredicate, 15,
33622 OPC_CheckPatternPredicate6,
33623 OPC_EmitMergeInputChains1_0,
33624 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33625 MVT::i64, 2, 2, 1,
33626 93,
33627 OPC_CheckPredicate5,
33628 OPC_Scope, 17,
33629 OPC_CheckPredicate, 20,
33630 OPC_CheckPatternPredicate, 15,
33631 OPC_EmitMergeInputChains1_0,
33632 OPC_EmitInteger64, 4,
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, 21,
33637 OPC_CheckPatternPredicate, 15,
33638 OPC_EmitMergeInputChains1_0,
33639 OPC_EmitInteger64, 8,
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, 22,
33644 OPC_CheckPatternPredicate, 15,
33645 OPC_EmitMergeInputChains1_0,
33646 OPC_EmitInteger64, 10,
33647 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33648 MVT::i64, MVT::i64, 3, 1, 2, 3,
33649 17,
33650 OPC_CheckPredicate, 23,
33651 OPC_CheckPatternPredicate, 15,
33652 OPC_EmitMergeInputChains1_0,
33653 OPC_EmitInteger64, 12,
33654 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33655 MVT::i64, MVT::i64, 3, 1, 2, 3,
33656 17,
33657 OPC_CheckPredicate, 24,
33658 OPC_CheckPatternPredicate, 15,
33659 OPC_EmitMergeInputChains1_0,
33660 OPC_EmitInteger64, 14,
33661 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33662 MVT::i64, MVT::i64, 3, 1, 2, 3,
33663 0,
33664 0,
33665 125, MVT::i32,
33666 OPC_CheckChild1TypeI32,
33667 OPC_RecordChild2,
33668 OPC_Scope, 12,
33669 OPC_CheckPredicate5,
33670 OPC_CheckPatternPredicate, 10,
33671 OPC_EmitMergeInputChains1_0,
33672 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33673 MVT::i32, 2, 2, 1,
33674 13,
33675 OPC_CheckPredicate, 15,
33676 OPC_CheckPatternPredicate, 10,
33677 OPC_EmitMergeInputChains1_0,
33678 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMXOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33679 MVT::i32, 2, 2, 1,
33680 93,
33681 OPC_CheckPredicate5,
33682 OPC_Scope, 17,
33683 OPC_CheckPredicate, 20,
33684 OPC_CheckPatternPredicate, 9,
33685 OPC_EmitMergeInputChains1_0,
33686 OPC_EmitInteger32, 4,
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, 21,
33691 OPC_CheckPatternPredicate, 9,
33692 OPC_EmitMergeInputChains1_0,
33693 OPC_EmitInteger32, 8,
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, 22,
33698 OPC_CheckPatternPredicate, 9,
33699 OPC_EmitMergeInputChains1_0,
33700 OPC_EmitInteger32, 10,
33701 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33702 MVT::i32, MVT::i32, 3, 1, 2, 3,
33703 17,
33704 OPC_CheckPredicate, 23,
33705 OPC_CheckPatternPredicate, 9,
33706 OPC_EmitMergeInputChains1_0,
33707 OPC_EmitInteger32, 12,
33708 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33709 MVT::i32, MVT::i32, 3, 1, 2, 3,
33710 17,
33711 OPC_CheckPredicate, 24,
33712 OPC_CheckPatternPredicate, 9,
33713 OPC_EmitMergeInputChains1_0,
33714 OPC_EmitInteger32, 14,
33715 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
33716 MVT::i32, MVT::i32, 3, 1, 2, 3,
33717 0,
33718 0,
33719 0,
33720 69, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
33721 OPC_RecordMemRef,
33722 OPC_RecordNode,
33723 OPC_RecordChild1,
33724 OPC_SwitchType , 29, MVT::i64,
33725 OPC_CheckChild1TypeI64,
33726 OPC_RecordChild2,
33727 OPC_Scope, 11,
33728 OPC_CheckPredicate5,
33729 OPC_CheckPatternPredicate6,
33730 OPC_EmitMergeInputChains1_0,
33731 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33732 MVT::i64, 2, 2, 1,
33733 12,
33734 OPC_CheckPredicate, 15,
33735 OPC_CheckPatternPredicate6,
33736 OPC_EmitMergeInputChains1_0,
33737 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33738 MVT::i64, 2, 2, 1,
33739 0,
33740 31, MVT::i32,
33741 OPC_CheckChild1TypeI32,
33742 OPC_RecordChild2,
33743 OPC_Scope, 12,
33744 OPC_CheckPredicate5,
33745 OPC_CheckPatternPredicate, 10,
33746 OPC_EmitMergeInputChains1_0,
33747 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33748 MVT::i32, 2, 2, 1,
33749 13,
33750 OPC_CheckPredicate, 15,
33751 OPC_CheckPatternPredicate, 10,
33752 OPC_EmitMergeInputChains1_0,
33753 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33754 MVT::i32, 2, 2, 1,
33755 0,
33756 0,
33757 69, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
33758 OPC_RecordMemRef,
33759 OPC_RecordNode,
33760 OPC_RecordChild1,
33761 OPC_SwitchType , 29, MVT::i64,
33762 OPC_CheckChild1TypeI64,
33763 OPC_RecordChild2,
33764 OPC_Scope, 11,
33765 OPC_CheckPredicate5,
33766 OPC_CheckPatternPredicate6,
33767 OPC_EmitMergeInputChains1_0,
33768 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33769 MVT::i64, 2, 2, 1,
33770 12,
33771 OPC_CheckPredicate, 15,
33772 OPC_CheckPatternPredicate6,
33773 OPC_EmitMergeInputChains1_0,
33774 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33775 MVT::i64, 2, 2, 1,
33776 0,
33777 31, MVT::i32,
33778 OPC_CheckChild1TypeI32,
33779 OPC_RecordChild2,
33780 OPC_Scope, 12,
33781 OPC_CheckPredicate5,
33782 OPC_CheckPatternPredicate, 10,
33783 OPC_EmitMergeInputChains1_0,
33784 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
33785 MVT::i32, 2, 2, 1,
33786 13,
33787 OPC_CheckPredicate, 15,
33788 OPC_CheckPatternPredicate, 10,
33789 OPC_EmitMergeInputChains1_0,
33790 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
33791 MVT::i32, 2, 2, 1,
33792 0,
33793 0,
33794 69, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
33795 OPC_RecordMemRef,
33796 OPC_RecordNode,
33797 OPC_RecordChild1,
33798 OPC_SwitchType , 29, MVT::i64,
33799 OPC_CheckChild1TypeI64,
33800 OPC_RecordChild2,
33801 OPC_Scope, 11,
33802 OPC_CheckPredicate5,
33803 OPC_CheckPatternPredicate6,
33804 OPC_EmitMergeInputChains1_0,
33805 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33806 MVT::i64, 2, 2, 1,
33807 12,
33808 OPC_CheckPredicate, 15,
33809 OPC_CheckPatternPredicate6,
33810 OPC_EmitMergeInputChains1_0,
33811 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33812 MVT::i64, 2, 2, 1,
33813 0,
33814 31, MVT::i32,
33815 OPC_CheckChild1TypeI32,
33816 OPC_RecordChild2,
33817 OPC_Scope, 12,
33818 OPC_CheckPredicate5,
33819 OPC_CheckPatternPredicate, 10,
33820 OPC_EmitMergeInputChains1_0,
33821 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33822 MVT::i32, 2, 2, 1,
33823 13,
33824 OPC_CheckPredicate, 15,
33825 OPC_CheckPatternPredicate, 10,
33826 OPC_EmitMergeInputChains1_0,
33827 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMIN__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33828 MVT::i32, 2, 2, 1,
33829 0,
33830 0,
33831 69, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
33832 OPC_RecordMemRef,
33833 OPC_RecordNode,
33834 OPC_RecordChild1,
33835 OPC_SwitchType , 29, MVT::i64,
33836 OPC_CheckChild1TypeI64,
33837 OPC_RecordChild2,
33838 OPC_Scope, 11,
33839 OPC_CheckPredicate5,
33840 OPC_CheckPatternPredicate6,
33841 OPC_EmitMergeInputChains1_0,
33842 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33843 MVT::i64, 2, 2, 1,
33844 12,
33845 OPC_CheckPredicate, 15,
33846 OPC_CheckPatternPredicate6,
33847 OPC_EmitMergeInputChains1_0,
33848 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33849 MVT::i64, 2, 2, 1,
33850 0,
33851 31, MVT::i32,
33852 OPC_CheckChild1TypeI32,
33853 OPC_RecordChild2,
33854 OPC_Scope, 12,
33855 OPC_CheckPredicate5,
33856 OPC_CheckPatternPredicate, 10,
33857 OPC_EmitMergeInputChains1_0,
33858 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
33859 MVT::i32, 2, 2, 1,
33860 13,
33861 OPC_CheckPredicate, 15,
33862 OPC_CheckPatternPredicate, 10,
33863 OPC_EmitMergeInputChains1_0,
33864 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMMAX__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
33865 MVT::i32, 2, 2, 1,
33866 0,
33867 0,
33868 49|128,2, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
33869 OPC_RecordMemRef,
33870 OPC_RecordNode,
33871 OPC_RecordChild1,
33872 OPC_SwitchType , 66|128,1, MVT::i64,
33873 OPC_CheckChild1TypeI64,
33874 OPC_RecordChild2,
33875 OPC_RecordChild3,
33876 OPC_Scope, 93,
33877 OPC_CheckPredicate5,
33878 OPC_Scope, 17,
33879 OPC_CheckPredicate, 43,
33880 OPC_CheckPatternPredicate6,
33881 OPC_EmitMergeInputChains1_0,
33882 OPC_EmitInteger64, 4,
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, 44,
33887 OPC_CheckPatternPredicate6,
33888 OPC_EmitMergeInputChains1_0,
33889 OPC_EmitInteger64, 8,
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, 45,
33894 OPC_CheckPatternPredicate6,
33895 OPC_EmitMergeInputChains1_0,
33896 OPC_EmitInteger64, 10,
33897 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33898 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33899 17,
33900 OPC_CheckPredicate, 46,
33901 OPC_CheckPatternPredicate6,
33902 OPC_EmitMergeInputChains1_0,
33903 OPC_EmitInteger64, 12,
33904 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33905 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33906 17,
33907 OPC_CheckPredicate, 47,
33908 OPC_CheckPatternPredicate6,
33909 OPC_EmitMergeInputChains1_0,
33910 OPC_EmitInteger64, 14,
33911 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33912 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33913 0,
33914 94,
33915 OPC_CheckPredicate, 15,
33916 OPC_Scope, 17,
33917 OPC_CheckPredicate, 43,
33918 OPC_CheckPatternPredicate6,
33919 OPC_EmitMergeInputChains1_0,
33920 OPC_EmitInteger64, 4,
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, 44,
33925 OPC_CheckPatternPredicate6,
33926 OPC_EmitMergeInputChains1_0,
33927 OPC_EmitInteger64, 8,
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, 45,
33932 OPC_CheckPatternPredicate6,
33933 OPC_EmitMergeInputChains1_0,
33934 OPC_EmitInteger64, 10,
33935 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33936 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33937 17,
33938 OPC_CheckPredicate, 46,
33939 OPC_CheckPatternPredicate6,
33940 OPC_EmitMergeInputChains1_0,
33941 OPC_EmitInteger64, 12,
33942 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33943 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33944 17,
33945 OPC_CheckPredicate, 47,
33946 OPC_CheckPatternPredicate6,
33947 OPC_EmitMergeInputChains1_0,
33948 OPC_EmitInteger64, 14,
33949 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
33950 MVT::i64, MVT::i64, 4, 1, 2, 3, 4,
33951 0,
33952 0,
33953 101, MVT::i32,
33954 OPC_CheckChild1TypeI32,
33955 OPC_RecordChild2,
33956 OPC_RecordChild3,
33957 OPC_CheckPredicate5,
33958 OPC_Scope, 18,
33959 OPC_CheckPredicate, 43,
33960 OPC_CheckPatternPredicate, 10,
33961 OPC_EmitMergeInputChains1_0,
33962 OPC_EmitInteger32, 4,
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, 44,
33967 OPC_CheckPatternPredicate, 10,
33968 OPC_EmitMergeInputChains1_0,
33969 OPC_EmitInteger32, 8,
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, 45,
33974 OPC_CheckPatternPredicate, 10,
33975 OPC_EmitMergeInputChains1_0,
33976 OPC_EmitInteger32, 10,
33977 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33978 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
33979 18,
33980 OPC_CheckPredicate, 46,
33981 OPC_CheckPatternPredicate, 10,
33982 OPC_EmitMergeInputChains1_0,
33983 OPC_EmitInteger32, 12,
33984 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33985 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
33986 18,
33987 OPC_CheckPredicate, 47,
33988 OPC_CheckPatternPredicate, 10,
33989 OPC_EmitMergeInputChains1_0,
33990 OPC_EmitInteger32, 14,
33991 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
33992 MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
33993 0,
33994 0,
33995 37|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
33996 OPC_RecordMemRef,
33997 OPC_RecordNode,
33998 OPC_RecordChild1,
33999 OPC_SwitchType , 12|128,1, MVT::i64,
34000 OPC_CheckChild1TypeI64,
34001 OPC_RecordChild2,
34002 OPC_Scope, 113,
34003 OPC_CheckPredicate5,
34004 OPC_Scope, 17,
34005 OPC_CheckPredicate, 20,
34006 OPC_CheckPatternPredicate, 15,
34007 OPC_EmitMergeInputChains1_0,
34008 OPC_EmitInteger64, 4,
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, 21,
34013 OPC_CheckPatternPredicate, 15,
34014 OPC_EmitMergeInputChains1_0,
34015 OPC_EmitInteger64, 8,
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, 22,
34020 OPC_CheckPatternPredicate, 15,
34021 OPC_EmitMergeInputChains1_0,
34022 OPC_EmitInteger64, 10,
34023 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34024 MVT::i64, MVT::i64, 3, 1, 2, 3,
34025 17,
34026 OPC_CheckPredicate, 23,
34027 OPC_CheckPatternPredicate, 15,
34028 OPC_EmitMergeInputChains1_0,
34029 OPC_EmitInteger64, 12,
34030 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34031 MVT::i64, MVT::i64, 3, 1, 2, 3,
34032 17,
34033 OPC_CheckPredicate, 24,
34034 OPC_CheckPatternPredicate, 15,
34035 OPC_EmitMergeInputChains1_0,
34036 OPC_EmitInteger64, 14,
34037 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34038 MVT::i64, MVT::i64, 3, 1, 2, 3,
34039 19,
34040 OPC_CheckPatternPredicate6,
34041 OPC_EmitMergeInputChains1_0,
34042 OPC_EmitRegisterI64, LoongArch::R0,
34043 OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
34044 MVT::i64, 2, 3, 2,
34045 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
34046 MVT::i64, 2, 4, 1,
34047 0,
34048 21,
34049 OPC_CheckPredicate, 15,
34050 OPC_CheckPatternPredicate6,
34051 OPC_EmitMergeInputChains1_0,
34052 OPC_EmitRegisterI64, LoongArch::R0,
34053 OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_D),
34054 MVT::i64, 2, 3, 2,
34055 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
34056 MVT::i64, 2, 4, 1,
34057 0,
34058 14|128,1, MVT::i32,
34059 OPC_CheckChild1TypeI32,
34060 OPC_RecordChild2,
34061 OPC_Scope, 114,
34062 OPC_CheckPredicate5,
34063 OPC_Scope, 17,
34064 OPC_CheckPredicate, 20,
34065 OPC_CheckPatternPredicate, 9,
34066 OPC_EmitMergeInputChains1_0,
34067 OPC_EmitInteger32, 4,
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, 21,
34072 OPC_CheckPatternPredicate, 9,
34073 OPC_EmitMergeInputChains1_0,
34074 OPC_EmitInteger32, 8,
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, 22,
34079 OPC_CheckPatternPredicate, 9,
34080 OPC_EmitMergeInputChains1_0,
34081 OPC_EmitInteger32, 10,
34082 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34083 MVT::i32, MVT::i32, 3, 1, 2, 3,
34084 17,
34085 OPC_CheckPredicate, 23,
34086 OPC_CheckPatternPredicate, 9,
34087 OPC_EmitMergeInputChains1_0,
34088 OPC_EmitInteger32, 12,
34089 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34090 MVT::i32, MVT::i32, 3, 1, 2, 3,
34091 17,
34092 OPC_CheckPredicate, 24,
34093 OPC_CheckPatternPredicate, 9,
34094 OPC_EmitMergeInputChains1_0,
34095 OPC_EmitInteger32, 14,
34096 OPC_MorphNodeTo2, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
34097 MVT::i32, MVT::i32, 3, 1, 2, 3,
34098 20,
34099 OPC_CheckPatternPredicate, 10,
34100 OPC_EmitMergeInputChains1_0,
34101 OPC_EmitRegisterI32, LoongArch::R0,
34102 OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_W),
34103 MVT::i32, 2, 3, 2,
34104 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
34105 MVT::i32, 2, 4, 1,
34106 0,
34107 22,
34108 OPC_CheckPredicate, 15,
34109 OPC_CheckPatternPredicate, 10,
34110 OPC_EmitMergeInputChains1_0,
34111 OPC_EmitRegisterI32, LoongArch::R0,
34112 OPC_EmitNode1None, TARGET_VAL(LoongArch::SUB_D),
34113 MVT::i32, 2, 3, 2,
34114 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
34115 MVT::i32, 2, 4, 1,
34116 0,
34117 0,
34118 6, TARGET_VAL(ISD::TRAP),
34119 OPC_RecordNode,
34120 OPC_EmitMergeInputChains1_0,
34121 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoUNIMP),
34122 0,
34123 13, TARGET_VAL(ISD::BR),
34124 OPC_RecordNode,
34125 OPC_RecordChild1,
34126 OPC_MoveChild1,
34127 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
34128 OPC_MoveParent,
34129 OPC_EmitMergeInputChains1_0,
34130 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBR),
34131 1, 1,
34132 8, TARGET_VAL(LoongArchISD::RET),
34133 OPC_RecordNode,
34134 OPC_CaptureGlueInput,
34135 OPC_EmitMergeInputChains1_0,
34136 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoRET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
34137 0,
34138 17|128,4, TARGET_VAL(ISD::SUB),
34139 OPC_Scope, 3|128,2,
34140 OPC_RecordChild0,
34141 OPC_RecordChild1,
34142 OPC_SwitchType , 21, MVT::i64,
34143 OPC_Scope, 9,
34144 OPC_CheckPatternPredicate, 15,
34145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_W),
34146 MVT::i64, 2, 0, 1,
34147 8,
34148 OPC_CheckPatternPredicate6,
34149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_D),
34150 MVT::i64, 2, 0, 1,
34151 0,
34152 22, MVT::i32,
34153 OPC_Scope, 9,
34154 OPC_CheckPatternPredicate, 9,
34155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_W),
34156 MVT::i32, 2, 0, 1,
34157 9,
34158 OPC_CheckPatternPredicate, 10,
34159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::SUB_D),
34160 MVT::i32, 2, 0, 1,
34161 0,
34162 24, MVT::v16i8,
34163 OPC_Scope, 10,
34164 OPC_CheckPatternPredicate3,
34165 OPC_CheckComplexPat1, /*#*/1,
34166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
34167 MVT::v16i8, 2, 0, 2,
34168 10,
34169 OPC_CheckPatternPredicate5,
34170 OPC_CheckComplexPat1, /*#*/1,
34171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
34172 MVT::v16i8, 2, 0, 2,
34173 0,
34174 24, MVT::v8i16,
34175 OPC_Scope, 10,
34176 OPC_CheckPatternPredicate3,
34177 OPC_CheckComplexPat1, /*#*/1,
34178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
34179 MVT::v8i16, 2, 0, 2,
34180 10,
34181 OPC_CheckPatternPredicate5,
34182 OPC_CheckComplexPat1, /*#*/1,
34183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
34184 MVT::v8i16, 2, 0, 2,
34185 0,
34186 24, MVT::v4i32,
34187 OPC_Scope, 10,
34188 OPC_CheckPatternPredicate3,
34189 OPC_CheckComplexPat1, /*#*/1,
34190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
34191 MVT::v4i32, 2, 0, 2,
34192 10,
34193 OPC_CheckPatternPredicate5,
34194 OPC_CheckComplexPat1, /*#*/1,
34195 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
34196 MVT::v4i32, 2, 0, 2,
34197 0,
34198 24, MVT::v2i64,
34199 OPC_Scope, 10,
34200 OPC_CheckPatternPredicate3,
34201 OPC_CheckComplexPat1, /*#*/1,
34202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
34203 MVT::v2i64, 2, 0, 2,
34204 10,
34205 OPC_CheckPatternPredicate5,
34206 OPC_CheckComplexPat1, /*#*/1,
34207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
34208 MVT::v2i64, 2, 0, 2,
34209 0,
34210 24, MVT::v32i8,
34211 OPC_Scope, 10,
34212 OPC_CheckPatternPredicate2,
34213 OPC_CheckComplexPat1, /*#*/1,
34214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
34215 MVT::v32i8, 2, 0, 2,
34216 10,
34217 OPC_CheckPatternPredicate4,
34218 OPC_CheckComplexPat1, /*#*/1,
34219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
34220 MVT::v32i8, 2, 0, 2,
34221 0,
34222 24, MVT::v16i16,
34223 OPC_Scope, 10,
34224 OPC_CheckPatternPredicate2,
34225 OPC_CheckComplexPat1, /*#*/1,
34226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
34227 MVT::v16i16, 2, 0, 2,
34228 10,
34229 OPC_CheckPatternPredicate4,
34230 OPC_CheckComplexPat1, /*#*/1,
34231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
34232 MVT::v16i16, 2, 0, 2,
34233 0,
34234 24, MVT::v8i32,
34235 OPC_Scope, 10,
34236 OPC_CheckPatternPredicate2,
34237 OPC_CheckComplexPat1, /*#*/1,
34238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
34239 MVT::v8i32, 2, 0, 2,
34240 10,
34241 OPC_CheckPatternPredicate4,
34242 OPC_CheckComplexPat1, /*#*/1,
34243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
34244 MVT::v8i32, 2, 0, 2,
34245 0,
34246 24, MVT::v4i64,
34247 OPC_Scope, 10,
34248 OPC_CheckPatternPredicate2,
34249 OPC_CheckComplexPat1, /*#*/1,
34250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
34251 MVT::v4i64, 2, 0, 2,
34252 10,
34253 OPC_CheckPatternPredicate4,
34254 OPC_CheckComplexPat1, /*#*/1,
34255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
34256 MVT::v4i64, 2, 0, 2,
34257 0,
34258 0,
34259 78,
34260 OPC_MoveChild0,
34261 OPC_CheckImmAllZerosV,
34262 OPC_MoveParent,
34263 OPC_RecordChild1,
34264 OPC_SwitchType , 7, MVT::v16i8,
34265 OPC_CheckPatternPredicate1,
34266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_B),
34267 MVT::v16i8, 1, 0,
34268 7, MVT::v8i16,
34269 OPC_CheckPatternPredicate1,
34270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_H),
34271 MVT::v8i16, 1, 0,
34272 7, MVT::v4i32,
34273 OPC_CheckPatternPredicate1,
34274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_W),
34275 MVT::v4i32, 1, 0,
34276 7, MVT::v2i64,
34277 OPC_CheckPatternPredicate1,
34278 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_D),
34279 MVT::v2i64, 1, 0,
34280 7, MVT::v32i8,
34281 OPC_CheckPatternPredicate0,
34282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_B),
34283 MVT::v32i8, 1, 0,
34284 7, MVT::v16i16,
34285 OPC_CheckPatternPredicate0,
34286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_H),
34287 MVT::v16i16, 1, 0,
34288 7, MVT::v8i32,
34289 OPC_CheckPatternPredicate0,
34290 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_W),
34291 MVT::v8i32, 1, 0,
34292 7, MVT::v4i64,
34293 OPC_CheckPatternPredicate0,
34294 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_D),
34295 MVT::v4i64, 1, 0,
34296 0,
34297 57|128,1,
34298 OPC_RecordChild0,
34299 OPC_Scope, 97,
34300 OPC_MoveChild1,
34301 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
34302 OPC_RecordChild0,
34303 OPC_RecordChild1,
34304 OPC_MoveParent,
34305 OPC_SwitchType , 9, MVT::v16i8,
34306 OPC_CheckPatternPredicate1,
34307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_B),
34308 MVT::v16i8, 3, 0, 1, 2,
34309 9, MVT::v8i16,
34310 OPC_CheckPatternPredicate1,
34311 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_H),
34312 MVT::v8i16, 3, 0, 1, 2,
34313 9, MVT::v4i32,
34314 OPC_CheckPatternPredicate1,
34315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_W),
34316 MVT::v4i32, 3, 0, 1, 2,
34317 9, MVT::v2i64,
34318 OPC_CheckPatternPredicate1,
34319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_D),
34320 MVT::v2i64, 3, 0, 1, 2,
34321 9, MVT::v32i8,
34322 OPC_CheckPatternPredicate0,
34323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_B),
34324 MVT::v32i8, 3, 0, 1, 2,
34325 9, MVT::v16i16,
34326 OPC_CheckPatternPredicate0,
34327 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_H),
34328 MVT::v16i16, 3, 0, 1, 2,
34329 9, MVT::v8i32,
34330 OPC_CheckPatternPredicate0,
34331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_W),
34332 MVT::v8i32, 3, 0, 1, 2,
34333 9, MVT::v4i64,
34334 OPC_CheckPatternPredicate0,
34335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_D),
34336 MVT::v4i64, 3, 0, 1, 2,
34337 0,
34338 83,
34339 OPC_RecordChild1,
34340 OPC_SwitchType , 8, MVT::v16i8,
34341 OPC_CheckPatternPredicate1,
34342 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_B),
34343 MVT::v16i8, 2, 0, 1,
34344 8, MVT::v8i16,
34345 OPC_CheckPatternPredicate1,
34346 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_H),
34347 MVT::v8i16, 2, 0, 1,
34348 8, MVT::v4i32,
34349 OPC_CheckPatternPredicate1,
34350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_W),
34351 MVT::v4i32, 2, 0, 1,
34352 8, MVT::v2i64,
34353 OPC_CheckPatternPredicate1,
34354 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_D),
34355 MVT::v2i64, 2, 0, 1,
34356 8, MVT::v32i8,
34357 OPC_CheckPatternPredicate0,
34358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_B),
34359 MVT::v32i8, 2, 0, 1,
34360 8, MVT::v16i16,
34361 OPC_CheckPatternPredicate0,
34362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_H),
34363 MVT::v16i16, 2, 0, 1,
34364 8, MVT::v8i32,
34365 OPC_CheckPatternPredicate0,
34366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_W),
34367 MVT::v8i32, 2, 0, 1,
34368 8, MVT::v4i64,
34369 OPC_CheckPatternPredicate0,
34370 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_D),
34371 MVT::v4i64, 2, 0, 1,
34372 0,
34373 0,
34374 0,
34375 3|128,1, TARGET_VAL(ISD::MULHS),
34376 OPC_RecordChild0,
34377 OPC_RecordChild1,
34378 OPC_SwitchType , 21, MVT::i64,
34379 OPC_Scope, 9,
34380 OPC_CheckPatternPredicate, 15,
34381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_W),
34382 MVT::i64, 2, 0, 1,
34383 8,
34384 OPC_CheckPatternPredicate6,
34385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_D),
34386 MVT::i64, 2, 0, 1,
34387 0,
34388 22, MVT::i32,
34389 OPC_Scope, 9,
34390 OPC_CheckPatternPredicate, 9,
34391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_W),
34392 MVT::i32, 2, 0, 1,
34393 9,
34394 OPC_CheckPatternPredicate, 10,
34395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_D),
34396 MVT::i32, 2, 0, 1,
34397 0,
34398 8, MVT::v16i8,
34399 OPC_CheckPatternPredicate1,
34400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
34401 MVT::v16i8, 2, 0, 1,
34402 8, MVT::v8i16,
34403 OPC_CheckPatternPredicate1,
34404 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
34405 MVT::v8i16, 2, 0, 1,
34406 8, MVT::v4i32,
34407 OPC_CheckPatternPredicate1,
34408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
34409 MVT::v4i32, 2, 0, 1,
34410 8, MVT::v2i64,
34411 OPC_CheckPatternPredicate1,
34412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
34413 MVT::v2i64, 2, 0, 1,
34414 8, MVT::v32i8,
34415 OPC_CheckPatternPredicate0,
34416 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
34417 MVT::v32i8, 2, 0, 1,
34418 8, MVT::v16i16,
34419 OPC_CheckPatternPredicate0,
34420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
34421 MVT::v16i16, 2, 0, 1,
34422 8, MVT::v8i32,
34423 OPC_CheckPatternPredicate0,
34424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
34425 MVT::v8i32, 2, 0, 1,
34426 8, MVT::v4i64,
34427 OPC_CheckPatternPredicate0,
34428 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
34429 MVT::v4i64, 2, 0, 1,
34430 0,
34431 3|128,1, TARGET_VAL(ISD::MULHU),
34432 OPC_RecordChild0,
34433 OPC_RecordChild1,
34434 OPC_SwitchType , 21, MVT::i64,
34435 OPC_Scope, 9,
34436 OPC_CheckPatternPredicate, 15,
34437 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_WU),
34438 MVT::i64, 2, 0, 1,
34439 8,
34440 OPC_CheckPatternPredicate6,
34441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_DU),
34442 MVT::i64, 2, 0, 1,
34443 0,
34444 22, MVT::i32,
34445 OPC_Scope, 9,
34446 OPC_CheckPatternPredicate, 9,
34447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_WU),
34448 MVT::i32, 2, 0, 1,
34449 9,
34450 OPC_CheckPatternPredicate, 10,
34451 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MULH_DU),
34452 MVT::i32, 2, 0, 1,
34453 0,
34454 8, MVT::v16i8,
34455 OPC_CheckPatternPredicate1,
34456 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
34457 MVT::v16i8, 2, 0, 1,
34458 8, MVT::v8i16,
34459 OPC_CheckPatternPredicate1,
34460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
34461 MVT::v8i16, 2, 0, 1,
34462 8, MVT::v4i32,
34463 OPC_CheckPatternPredicate1,
34464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
34465 MVT::v4i32, 2, 0, 1,
34466 8, MVT::v2i64,
34467 OPC_CheckPatternPredicate1,
34468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
34469 MVT::v2i64, 2, 0, 1,
34470 8, MVT::v32i8,
34471 OPC_CheckPatternPredicate0,
34472 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
34473 MVT::v32i8, 2, 0, 1,
34474 8, MVT::v16i16,
34475 OPC_CheckPatternPredicate0,
34476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
34477 MVT::v16i16, 2, 0, 1,
34478 8, MVT::v8i32,
34479 OPC_CheckPatternPredicate0,
34480 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
34481 MVT::v8i32, 2, 0, 1,
34482 8, MVT::v4i64,
34483 OPC_CheckPatternPredicate0,
34484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
34485 MVT::v4i64, 2, 0, 1,
34486 0,
34487 24, TARGET_VAL(ISD::DEBUGTRAP),
34488 OPC_RecordNode,
34489 OPC_Scope, 9,
34490 OPC_CheckPatternPredicate7,
34491 OPC_EmitMergeInputChains1_0,
34492 OPC_EmitInteger64, 0,
34493 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
34494 1, 1,
34495 10,
34496 OPC_CheckPatternPredicate, 8,
34497 OPC_EmitMergeInputChains1_0,
34498 OPC_EmitInteger32, 0,
34499 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
34500 1, 1,
34501 0,
34502 24, TARGET_VAL(LoongArchISD::REVB_2H),
34503 OPC_RecordChild0,
34504 OPC_SwitchType , 8, MVT::i64,
34505 OPC_CheckChild0TypeI64,
34506 OPC_CheckPatternPredicate7,
34507 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2H),
34508 MVT::i64, 1, 0,
34509 9, MVT::i32,
34510 OPC_CheckChild0TypeI32,
34511 OPC_CheckPatternPredicate, 8,
34512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2H),
34513 MVT::i32, 1, 0,
34514 0,
34515 24, TARGET_VAL(LoongArchISD::BITREV_4B),
34516 OPC_RecordChild0,
34517 OPC_SwitchType , 8, MVT::i64,
34518 OPC_CheckChild0TypeI64,
34519 OPC_CheckPatternPredicate7,
34520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
34521 MVT::i64, 1, 0,
34522 9, MVT::i32,
34523 OPC_CheckChild0TypeI32,
34524 OPC_CheckPatternPredicate, 8,
34525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_4B),
34526 MVT::i32, 1, 0,
34527 0,
34528 24, TARGET_VAL(LoongArchISD::REVB_2W),
34529 OPC_RecordChild0,
34530 OPC_SwitchType , 8, MVT::i64,
34531 OPC_CheckChild0TypeI64,
34532 OPC_CheckPatternPredicate6,
34533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2W),
34534 MVT::i64, 1, 0,
34535 9, MVT::i32,
34536 OPC_CheckChild0TypeI32,
34537 OPC_CheckPatternPredicate, 10,
34538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::REVB_2W),
34539 MVT::i32, 1, 0,
34540 0,
34541 24, TARGET_VAL(LoongArchISD::BITREV_W),
34542 OPC_RecordChild0,
34543 OPC_SwitchType , 8, MVT::i64,
34544 OPC_CheckChild0TypeI64,
34545 OPC_CheckPatternPredicate6,
34546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
34547 MVT::i64, 1, 0,
34548 9, MVT::i32,
34549 OPC_CheckChild0TypeI32,
34550 OPC_CheckPatternPredicate, 10,
34551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BITREV_W),
34552 MVT::i32, 1, 0,
34553 0,
34554 12, TARGET_VAL(LoongArchISD::CRC_W_B_W),
34555 OPC_RecordNode,
34556 OPC_RecordChild1,
34557 OPC_RecordChild2,
34558 OPC_CheckPatternPredicate6,
34559 OPC_EmitMergeInputChains1_0,
34560 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_B_W),
34561 MVT::i64, 2, 1, 2,
34562 12, TARGET_VAL(LoongArchISD::CRC_W_H_W),
34563 OPC_RecordNode,
34564 OPC_RecordChild1,
34565 OPC_RecordChild2,
34566 OPC_CheckPatternPredicate6,
34567 OPC_EmitMergeInputChains1_0,
34568 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_H_W),
34569 MVT::i64, 2, 1, 2,
34570 12, TARGET_VAL(LoongArchISD::CRC_W_W_W),
34571 OPC_RecordNode,
34572 OPC_RecordChild1,
34573 OPC_RecordChild2,
34574 OPC_CheckPatternPredicate6,
34575 OPC_EmitMergeInputChains1_0,
34576 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_W_W),
34577 MVT::i64, 2, 1, 2,
34578 12, TARGET_VAL(LoongArchISD::CRC_W_D_W),
34579 OPC_RecordNode,
34580 OPC_RecordChild1,
34581 OPC_RecordChild2,
34582 OPC_CheckPatternPredicate6,
34583 OPC_EmitMergeInputChains1_0,
34584 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRC_W_D_W),
34585 MVT::i64, 2, 1, 2,
34586 12, TARGET_VAL(LoongArchISD::CRCC_W_B_W),
34587 OPC_RecordNode,
34588 OPC_RecordChild1,
34589 OPC_RecordChild2,
34590 OPC_CheckPatternPredicate6,
34591 OPC_EmitMergeInputChains1_0,
34592 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_B_W),
34593 MVT::i64, 2, 1, 2,
34594 12, TARGET_VAL(LoongArchISD::CRCC_W_H_W),
34595 OPC_RecordNode,
34596 OPC_RecordChild1,
34597 OPC_RecordChild2,
34598 OPC_CheckPatternPredicate6,
34599 OPC_EmitMergeInputChains1_0,
34600 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_H_W),
34601 MVT::i64, 2, 1, 2,
34602 12, TARGET_VAL(LoongArchISD::CRCC_W_W_W),
34603 OPC_RecordNode,
34604 OPC_RecordChild1,
34605 OPC_RecordChild2,
34606 OPC_CheckPatternPredicate6,
34607 OPC_EmitMergeInputChains1_0,
34608 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_W_W),
34609 MVT::i64, 2, 1, 2,
34610 12, TARGET_VAL(LoongArchISD::CRCC_W_D_W),
34611 OPC_RecordNode,
34612 OPC_RecordChild1,
34613 OPC_RecordChild2,
34614 OPC_CheckPatternPredicate6,
34615 OPC_EmitMergeInputChains1_0,
34616 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CRCC_W_D_W),
34617 MVT::i64, 2, 1, 2,
34618 32|128,6, TARGET_VAL(ISD::STRICT_FSETCC),
34619 OPC_RecordNode,
34620 OPC_RecordChild1,
34621 OPC_Scope, 12|128,3,
34622 OPC_CheckChild1Type, MVT::f32,
34623 OPC_RecordChild2,
34624 OPC_MoveChild3,
34625 OPC_Scope, 29,
34626 OPC_CheckCondCode, ISD::SETOEQ,
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::SETEQ,
34641 OPC_MoveParent,
34642 OPC_SwitchType , 10, MVT::i64,
34643 OPC_CheckPatternPredicate, 11,
34644 OPC_EmitMergeInputChains1_0,
34645 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_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_CEQ_S),
34651 MVT::i32, 2, 1, 2,
34652 0,
34653 29,
34654 OPC_CheckCondCode, ISD::SETOLT,
34655 OPC_MoveParent,
34656 OPC_SwitchType , 10, MVT::i64,
34657 OPC_CheckPatternPredicate, 11,
34658 OPC_EmitMergeInputChains1_0,
34659 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_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_CLT_S),
34665 MVT::i32, 2, 1, 2,
34666 0,
34667 29,
34668 OPC_CheckCondCode, ISD::SETOLE,
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::SETLE,
34683 OPC_MoveParent,
34684 OPC_SwitchType , 10, MVT::i64,
34685 OPC_CheckPatternPredicate, 11,
34686 OPC_EmitMergeInputChains1_0,
34687 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_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_CLE_S),
34693 MVT::i32, 2, 1, 2,
34694 0,
34695 29,
34696 OPC_CheckCondCode, ISD::SETONE,
34697 OPC_MoveParent,
34698 OPC_SwitchType , 10, MVT::i64,
34699 OPC_CheckPatternPredicate, 11,
34700 OPC_EmitMergeInputChains1_0,
34701 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_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_CNE_S),
34707 MVT::i32, 2, 1, 2,
34708 0,
34709 29,
34710 OPC_CheckCondCode, ISD::SETO,
34711 OPC_MoveParent,
34712 OPC_SwitchType , 10, MVT::i64,
34713 OPC_CheckPatternPredicate, 11,
34714 OPC_EmitMergeInputChains1_0,
34715 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_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_COR_S),
34721 MVT::i32, 2, 1, 2,
34722 0,
34723 29,
34724 OPC_CheckCondCode, ISD::SETUEQ,
34725 OPC_MoveParent,
34726 OPC_SwitchType , 10, MVT::i64,
34727 OPC_CheckPatternPredicate, 11,
34728 OPC_EmitMergeInputChains1_0,
34729 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_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_CUEQ_S),
34735 MVT::i32, 2, 1, 2,
34736 0,
34737 29,
34738 OPC_CheckCondCode, ISD::SETULT,
34739 OPC_MoveParent,
34740 OPC_SwitchType , 10, MVT::i64,
34741 OPC_CheckPatternPredicate, 11,
34742 OPC_EmitMergeInputChains1_0,
34743 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_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_CULT_S),
34749 MVT::i32, 2, 1, 2,
34750 0,
34751 29,
34752 OPC_CheckCondCode, ISD::SETULE,
34753 OPC_MoveParent,
34754 OPC_SwitchType , 10, MVT::i64,
34755 OPC_CheckPatternPredicate, 11,
34756 OPC_EmitMergeInputChains1_0,
34757 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_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_CULE_S),
34763 MVT::i32, 2, 1, 2,
34764 0,
34765 29,
34766 OPC_CheckCondCode, ISD::SETUNE,
34767 OPC_MoveParent,
34768 OPC_SwitchType , 10, MVT::i64,
34769 OPC_CheckPatternPredicate, 11,
34770 OPC_EmitMergeInputChains1_0,
34771 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_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_CUNE_S),
34777 MVT::i32, 2, 1, 2,
34778 0,
34779 29,
34780 OPC_CheckCondCode, ISD::SETUO,
34781 OPC_MoveParent,
34782 OPC_SwitchType , 10, MVT::i64,
34783 OPC_CheckPatternPredicate, 11,
34784 OPC_EmitMergeInputChains1_0,
34785 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_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_CUN_S),
34791 MVT::i32, 2, 1, 2,
34792 0,
34793 29,
34794 OPC_CheckCondCode, ISD::SETLT,
34795 OPC_MoveParent,
34796 OPC_SwitchType , 10, MVT::i64,
34797 OPC_CheckPatternPredicate, 11,
34798 OPC_EmitMergeInputChains1_0,
34799 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
34800 MVT::i64, 2, 1, 2,
34801 10, MVT::i32,
34802 OPC_CheckPatternPredicate, 12,
34803 OPC_EmitMergeInputChains1_0,
34804 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_S),
34805 MVT::i32, 2, 1, 2,
34806 0,
34807 0,
34808 12|128,3,
34809 OPC_CheckChild1Type, MVT::f64,
34810 OPC_RecordChild2,
34811 OPC_MoveChild3,
34812 OPC_Scope, 29,
34813 OPC_CheckCondCode, ISD::SETOEQ,
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::SETEQ,
34828 OPC_MoveParent,
34829 OPC_SwitchType , 10, MVT::i64,
34830 OPC_CheckPatternPredicate, 13,
34831 OPC_EmitMergeInputChains1_0,
34832 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CEQ_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_CEQ_D),
34838 MVT::i32, 2, 1, 2,
34839 0,
34840 29,
34841 OPC_CheckCondCode, ISD::SETOLT,
34842 OPC_MoveParent,
34843 OPC_SwitchType , 10, MVT::i64,
34844 OPC_CheckPatternPredicate, 13,
34845 OPC_EmitMergeInputChains1_0,
34846 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_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_CLT_D),
34852 MVT::i32, 2, 1, 2,
34853 0,
34854 29,
34855 OPC_CheckCondCode, ISD::SETOLE,
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::SETLE,
34870 OPC_MoveParent,
34871 OPC_SwitchType , 10, MVT::i64,
34872 OPC_CheckPatternPredicate, 13,
34873 OPC_EmitMergeInputChains1_0,
34874 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLE_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_CLE_D),
34880 MVT::i32, 2, 1, 2,
34881 0,
34882 29,
34883 OPC_CheckCondCode, ISD::SETONE,
34884 OPC_MoveParent,
34885 OPC_SwitchType , 10, MVT::i64,
34886 OPC_CheckPatternPredicate, 13,
34887 OPC_EmitMergeInputChains1_0,
34888 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CNE_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_CNE_D),
34894 MVT::i32, 2, 1, 2,
34895 0,
34896 29,
34897 OPC_CheckCondCode, ISD::SETO,
34898 OPC_MoveParent,
34899 OPC_SwitchType , 10, MVT::i64,
34900 OPC_CheckPatternPredicate, 13,
34901 OPC_EmitMergeInputChains1_0,
34902 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_COR_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_COR_D),
34908 MVT::i32, 2, 1, 2,
34909 0,
34910 29,
34911 OPC_CheckCondCode, ISD::SETUEQ,
34912 OPC_MoveParent,
34913 OPC_SwitchType , 10, MVT::i64,
34914 OPC_CheckPatternPredicate, 13,
34915 OPC_EmitMergeInputChains1_0,
34916 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUEQ_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_CUEQ_D),
34922 MVT::i32, 2, 1, 2,
34923 0,
34924 29,
34925 OPC_CheckCondCode, ISD::SETULT,
34926 OPC_MoveParent,
34927 OPC_SwitchType , 10, MVT::i64,
34928 OPC_CheckPatternPredicate, 13,
34929 OPC_EmitMergeInputChains1_0,
34930 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULT_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_CULT_D),
34936 MVT::i32, 2, 1, 2,
34937 0,
34938 29,
34939 OPC_CheckCondCode, ISD::SETULE,
34940 OPC_MoveParent,
34941 OPC_SwitchType , 10, MVT::i64,
34942 OPC_CheckPatternPredicate, 13,
34943 OPC_EmitMergeInputChains1_0,
34944 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CULE_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_CULE_D),
34950 MVT::i32, 2, 1, 2,
34951 0,
34952 29,
34953 OPC_CheckCondCode, ISD::SETUNE,
34954 OPC_MoveParent,
34955 OPC_SwitchType , 10, MVT::i64,
34956 OPC_CheckPatternPredicate, 13,
34957 OPC_EmitMergeInputChains1_0,
34958 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUNE_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_CUNE_D),
34964 MVT::i32, 2, 1, 2,
34965 0,
34966 29,
34967 OPC_CheckCondCode, ISD::SETUO,
34968 OPC_MoveParent,
34969 OPC_SwitchType , 10, MVT::i64,
34970 OPC_CheckPatternPredicate, 13,
34971 OPC_EmitMergeInputChains1_0,
34972 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CUN_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_CUN_D),
34978 MVT::i32, 2, 1, 2,
34979 0,
34980 29,
34981 OPC_CheckCondCode, ISD::SETLT,
34982 OPC_MoveParent,
34983 OPC_SwitchType , 10, MVT::i64,
34984 OPC_CheckPatternPredicate, 13,
34985 OPC_EmitMergeInputChains1_0,
34986 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
34987 MVT::i64, 2, 1, 2,
34988 10, MVT::i32,
34989 OPC_CheckPatternPredicate, 14,
34990 OPC_EmitMergeInputChains1_0,
34991 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_CLT_D),
34992 MVT::i32, 2, 1, 2,
34993 0,
34994 0,
34995 0,
34996 40|128,5, TARGET_VAL(ISD::STRICT_FSETCCS),
34997 OPC_RecordNode,
34998 OPC_RecordChild1,
34999 OPC_Scope, 80|128,2,
35000 OPC_CheckChild1Type, MVT::f32,
35001 OPC_RecordChild2,
35002 OPC_MoveChild3,
35003 OPC_Scope, 29,
35004 OPC_CheckCondCode, ISD::SETOEQ,
35005 OPC_MoveParent,
35006 OPC_SwitchType , 10, MVT::i64,
35007 OPC_CheckPatternPredicate, 11,
35008 OPC_EmitMergeInputChains1_0,
35009 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_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_SEQ_S),
35015 MVT::i32, 2, 1, 2,
35016 0,
35017 29,
35018 OPC_CheckCondCode, ISD::SETOLT,
35019 OPC_MoveParent,
35020 OPC_SwitchType , 10, MVT::i64,
35021 OPC_CheckPatternPredicate, 11,
35022 OPC_EmitMergeInputChains1_0,
35023 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_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_SLT_S),
35029 MVT::i32, 2, 1, 2,
35030 0,
35031 29,
35032 OPC_CheckCondCode, ISD::SETOLE,
35033 OPC_MoveParent,
35034 OPC_SwitchType , 10, MVT::i64,
35035 OPC_CheckPatternPredicate, 11,
35036 OPC_EmitMergeInputChains1_0,
35037 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_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_SLE_S),
35043 MVT::i32, 2, 1, 2,
35044 0,
35045 29,
35046 OPC_CheckCondCode, ISD::SETONE,
35047 OPC_MoveParent,
35048 OPC_SwitchType , 10, MVT::i64,
35049 OPC_CheckPatternPredicate, 11,
35050 OPC_EmitMergeInputChains1_0,
35051 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_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_SNE_S),
35057 MVT::i32, 2, 1, 2,
35058 0,
35059 29,
35060 OPC_CheckCondCode, ISD::SETO,
35061 OPC_MoveParent,
35062 OPC_SwitchType , 10, MVT::i64,
35063 OPC_CheckPatternPredicate, 11,
35064 OPC_EmitMergeInputChains1_0,
35065 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_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_SOR_S),
35071 MVT::i32, 2, 1, 2,
35072 0,
35073 29,
35074 OPC_CheckCondCode, ISD::SETUEQ,
35075 OPC_MoveParent,
35076 OPC_SwitchType , 10, MVT::i64,
35077 OPC_CheckPatternPredicate, 11,
35078 OPC_EmitMergeInputChains1_0,
35079 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_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_SUEQ_S),
35085 MVT::i32, 2, 1, 2,
35086 0,
35087 29,
35088 OPC_CheckCondCode, ISD::SETULT,
35089 OPC_MoveParent,
35090 OPC_SwitchType , 10, MVT::i64,
35091 OPC_CheckPatternPredicate, 11,
35092 OPC_EmitMergeInputChains1_0,
35093 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_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_SULT_S),
35099 MVT::i32, 2, 1, 2,
35100 0,
35101 29,
35102 OPC_CheckCondCode, ISD::SETULE,
35103 OPC_MoveParent,
35104 OPC_SwitchType , 10, MVT::i64,
35105 OPC_CheckPatternPredicate, 11,
35106 OPC_EmitMergeInputChains1_0,
35107 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_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_SULE_S),
35113 MVT::i32, 2, 1, 2,
35114 0,
35115 29,
35116 OPC_CheckCondCode, ISD::SETUNE,
35117 OPC_MoveParent,
35118 OPC_SwitchType , 10, MVT::i64,
35119 OPC_CheckPatternPredicate, 11,
35120 OPC_EmitMergeInputChains1_0,
35121 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_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_SUNE_S),
35127 MVT::i32, 2, 1, 2,
35128 0,
35129 29,
35130 OPC_CheckCondCode, ISD::SETUO,
35131 OPC_MoveParent,
35132 OPC_SwitchType , 10, MVT::i64,
35133 OPC_CheckPatternPredicate, 11,
35134 OPC_EmitMergeInputChains1_0,
35135 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_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_SUN_S),
35141 MVT::i32, 2, 1, 2,
35142 0,
35143 29,
35144 OPC_CheckCondCode, ISD::SETLT,
35145 OPC_MoveParent,
35146 OPC_SwitchType , 10, MVT::i64,
35147 OPC_CheckPatternPredicate, 11,
35148 OPC_EmitMergeInputChains1_0,
35149 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
35150 MVT::i64, 2, 1, 2,
35151 10, MVT::i32,
35152 OPC_CheckPatternPredicate, 12,
35153 OPC_EmitMergeInputChains1_0,
35154 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_S),
35155 MVT::i32, 2, 1, 2,
35156 0,
35157 0,
35158 80|128,2,
35159 OPC_CheckChild1Type, MVT::f64,
35160 OPC_RecordChild2,
35161 OPC_MoveChild3,
35162 OPC_Scope, 29,
35163 OPC_CheckCondCode, ISD::SETOEQ,
35164 OPC_MoveParent,
35165 OPC_SwitchType , 10, MVT::i64,
35166 OPC_CheckPatternPredicate, 13,
35167 OPC_EmitMergeInputChains1_0,
35168 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SEQ_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_SEQ_D),
35174 MVT::i32, 2, 1, 2,
35175 0,
35176 29,
35177 OPC_CheckCondCode, ISD::SETOLT,
35178 OPC_MoveParent,
35179 OPC_SwitchType , 10, MVT::i64,
35180 OPC_CheckPatternPredicate, 13,
35181 OPC_EmitMergeInputChains1_0,
35182 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_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_SLT_D),
35188 MVT::i32, 2, 1, 2,
35189 0,
35190 29,
35191 OPC_CheckCondCode, ISD::SETOLE,
35192 OPC_MoveParent,
35193 OPC_SwitchType , 10, MVT::i64,
35194 OPC_CheckPatternPredicate, 13,
35195 OPC_EmitMergeInputChains1_0,
35196 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLE_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_SLE_D),
35202 MVT::i32, 2, 1, 2,
35203 0,
35204 29,
35205 OPC_CheckCondCode, ISD::SETONE,
35206 OPC_MoveParent,
35207 OPC_SwitchType , 10, MVT::i64,
35208 OPC_CheckPatternPredicate, 13,
35209 OPC_EmitMergeInputChains1_0,
35210 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SNE_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_SNE_D),
35216 MVT::i32, 2, 1, 2,
35217 0,
35218 29,
35219 OPC_CheckCondCode, ISD::SETO,
35220 OPC_MoveParent,
35221 OPC_SwitchType , 10, MVT::i64,
35222 OPC_CheckPatternPredicate, 13,
35223 OPC_EmitMergeInputChains1_0,
35224 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SOR_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_SOR_D),
35230 MVT::i32, 2, 1, 2,
35231 0,
35232 29,
35233 OPC_CheckCondCode, ISD::SETUEQ,
35234 OPC_MoveParent,
35235 OPC_SwitchType , 10, MVT::i64,
35236 OPC_CheckPatternPredicate, 13,
35237 OPC_EmitMergeInputChains1_0,
35238 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUEQ_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_SUEQ_D),
35244 MVT::i32, 2, 1, 2,
35245 0,
35246 29,
35247 OPC_CheckCondCode, ISD::SETULT,
35248 OPC_MoveParent,
35249 OPC_SwitchType , 10, MVT::i64,
35250 OPC_CheckPatternPredicate, 13,
35251 OPC_EmitMergeInputChains1_0,
35252 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULT_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_SULT_D),
35258 MVT::i32, 2, 1, 2,
35259 0,
35260 29,
35261 OPC_CheckCondCode, ISD::SETULE,
35262 OPC_MoveParent,
35263 OPC_SwitchType , 10, MVT::i64,
35264 OPC_CheckPatternPredicate, 13,
35265 OPC_EmitMergeInputChains1_0,
35266 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SULE_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_SULE_D),
35272 MVT::i32, 2, 1, 2,
35273 0,
35274 29,
35275 OPC_CheckCondCode, ISD::SETUNE,
35276 OPC_MoveParent,
35277 OPC_SwitchType , 10, MVT::i64,
35278 OPC_CheckPatternPredicate, 13,
35279 OPC_EmitMergeInputChains1_0,
35280 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUNE_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_SUNE_D),
35286 MVT::i32, 2, 1, 2,
35287 0,
35288 29,
35289 OPC_CheckCondCode, ISD::SETUO,
35290 OPC_MoveParent,
35291 OPC_SwitchType , 10, MVT::i64,
35292 OPC_CheckPatternPredicate, 13,
35293 OPC_EmitMergeInputChains1_0,
35294 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SUN_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_SUN_D),
35300 MVT::i32, 2, 1, 2,
35301 0,
35302 29,
35303 OPC_CheckCondCode, ISD::SETLT,
35304 OPC_MoveParent,
35305 OPC_SwitchType , 10, MVT::i64,
35306 OPC_CheckPatternPredicate, 13,
35307 OPC_EmitMergeInputChains1_0,
35308 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
35309 MVT::i64, 2, 1, 2,
35310 10, MVT::i32,
35311 OPC_CheckPatternPredicate, 14,
35312 OPC_EmitMergeInputChains1_0,
35313 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::FCMP_SLT_D),
35314 MVT::i32, 2, 1, 2,
35315 0,
35316 0,
35317 0,
35318 9, TARGET_VAL(LoongArchISD::MOVFR2GR_S_LA64),
35319 OPC_RecordChild0,
35320 OPC_CheckPatternPredicate, 21,
35321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
35322 MVT::i64, 1, 0,
35323 76, TARGET_VAL(ISD::BITCAST),
35324 OPC_RecordChild0,
35325 OPC_Scope, 11,
35326 OPC_CheckChild0Type, MVT::f32,
35327 OPC_CheckTypeI32,
35328 OPC_CheckPatternPredicate, 23,
35329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
35330 MVT::i32, 1, 0,
35331 24,
35332 OPC_CheckChild0Type, MVT::f64,
35333 OPC_SwitchType , 8, MVT::i64,
35334 OPC_CheckPatternPredicate, 19,
35335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
35336 MVT::i64, 1, 0,
35337 8, MVT::i32,
35338 OPC_CheckPatternPredicate, 20,
35339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_D),
35340 MVT::i32, 1, 0,
35341 0,
35342 23,
35343 OPC_CheckChild0TypeI32,
35344 OPC_SwitchType , 8, MVT::f32,
35345 OPC_CheckPatternPredicate, 23,
35346 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
35347 MVT::f32, 1, 0,
35348 8, MVT::f64,
35349 OPC_CheckPatternPredicate, 20,
35350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
35351 MVT::f64, 1, 0,
35352 0,
35353 11,
35354 OPC_CheckChild0TypeI64,
35355 OPC_CheckType, MVT::f64,
35356 OPC_CheckPatternPredicate, 19,
35357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
35358 MVT::f64, 1, 0,
35359 0,
35360 27, TARGET_VAL(LoongArchISD::IOCSRRD_B),
35361 OPC_RecordNode,
35362 OPC_RecordChild1,
35363 OPC_SwitchType , 9, MVT::i64,
35364 OPC_CheckChild1TypeI64,
35365 OPC_CheckPatternPredicate7,
35366 OPC_EmitMergeInputChains1_0,
35367 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_B),
35368 MVT::i64, 1, 1,
35369 10, MVT::i32,
35370 OPC_CheckChild1TypeI32,
35371 OPC_CheckPatternPredicate, 8,
35372 OPC_EmitMergeInputChains1_0,
35373 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_B),
35374 MVT::i32, 1, 1,
35375 0,
35376 27, TARGET_VAL(LoongArchISD::IOCSRRD_H),
35377 OPC_RecordNode,
35378 OPC_RecordChild1,
35379 OPC_SwitchType , 9, MVT::i64,
35380 OPC_CheckChild1TypeI64,
35381 OPC_CheckPatternPredicate7,
35382 OPC_EmitMergeInputChains1_0,
35383 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_H),
35384 MVT::i64, 1, 1,
35385 10, MVT::i32,
35386 OPC_CheckChild1TypeI32,
35387 OPC_CheckPatternPredicate, 8,
35388 OPC_EmitMergeInputChains1_0,
35389 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_H),
35390 MVT::i32, 1, 1,
35391 0,
35392 27, TARGET_VAL(LoongArchISD::IOCSRRD_W),
35393 OPC_RecordNode,
35394 OPC_RecordChild1,
35395 OPC_SwitchType , 9, MVT::i64,
35396 OPC_CheckChild1TypeI64,
35397 OPC_CheckPatternPredicate7,
35398 OPC_EmitMergeInputChains1_0,
35399 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_W),
35400 MVT::i64, 1, 1,
35401 10, MVT::i32,
35402 OPC_CheckChild1TypeI32,
35403 OPC_CheckPatternPredicate, 8,
35404 OPC_EmitMergeInputChains1_0,
35405 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_W),
35406 MVT::i32, 1, 1,
35407 0,
35408 27, TARGET_VAL(LoongArchISD::IOCSRWR_B),
35409 OPC_RecordNode,
35410 OPC_RecordChild1,
35411 OPC_Scope, 10,
35412 OPC_CheckChild1TypeI64,
35413 OPC_RecordChild2,
35414 OPC_CheckPatternPredicate7,
35415 OPC_EmitMergeInputChains1_0,
35416 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_B),
35417 2, 1, 2,
35418 11,
35419 OPC_CheckChild1TypeI32,
35420 OPC_RecordChild2,
35421 OPC_CheckPatternPredicate, 8,
35422 OPC_EmitMergeInputChains1_0,
35423 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_B),
35424 2, 1, 2,
35425 0,
35426 27, TARGET_VAL(LoongArchISD::IOCSRWR_H),
35427 OPC_RecordNode,
35428 OPC_RecordChild1,
35429 OPC_Scope, 10,
35430 OPC_CheckChild1TypeI64,
35431 OPC_RecordChild2,
35432 OPC_CheckPatternPredicate7,
35433 OPC_EmitMergeInputChains1_0,
35434 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_H),
35435 2, 1, 2,
35436 11,
35437 OPC_CheckChild1TypeI32,
35438 OPC_RecordChild2,
35439 OPC_CheckPatternPredicate, 8,
35440 OPC_EmitMergeInputChains1_0,
35441 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_H),
35442 2, 1, 2,
35443 0,
35444 27, TARGET_VAL(LoongArchISD::IOCSRWR_W),
35445 OPC_RecordNode,
35446 OPC_RecordChild1,
35447 OPC_Scope, 10,
35448 OPC_CheckChild1TypeI64,
35449 OPC_RecordChild2,
35450 OPC_CheckPatternPredicate7,
35451 OPC_EmitMergeInputChains1_0,
35452 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_W),
35453 2, 1, 2,
35454 11,
35455 OPC_CheckChild1TypeI32,
35456 OPC_RecordChild2,
35457 OPC_CheckPatternPredicate, 8,
35458 OPC_EmitMergeInputChains1_0,
35459 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_W),
35460 2, 1, 2,
35461 0,
35462 27, TARGET_VAL(LoongArchISD::CPUCFG),
35463 OPC_RecordNode,
35464 OPC_RecordChild1,
35465 OPC_SwitchType , 9, MVT::i64,
35466 OPC_CheckChild1TypeI64,
35467 OPC_CheckPatternPredicate7,
35468 OPC_EmitMergeInputChains1_0,
35469 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CPUCFG),
35470 MVT::i64, 1, 1,
35471 10, MVT::i32,
35472 OPC_CheckChild1TypeI32,
35473 OPC_CheckPatternPredicate, 8,
35474 OPC_EmitMergeInputChains1_0,
35475 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::CPUCFG),
35476 MVT::i32, 1, 1,
35477 0,
35478 27, TARGET_VAL(LoongArchISD::IOCSRRD_D),
35479 OPC_RecordNode,
35480 OPC_RecordChild1,
35481 OPC_SwitchType , 9, MVT::i64,
35482 OPC_CheckChild1TypeI64,
35483 OPC_CheckPatternPredicate6,
35484 OPC_EmitMergeInputChains1_0,
35485 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_D),
35486 MVT::i64, 1, 1,
35487 10, MVT::i32,
35488 OPC_CheckChild1TypeI32,
35489 OPC_CheckPatternPredicate, 10,
35490 OPC_EmitMergeInputChains1_0,
35491 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::IOCSRRD_D),
35492 MVT::i32, 1, 1,
35493 0,
35494 27, TARGET_VAL(LoongArchISD::IOCSRWR_D),
35495 OPC_RecordNode,
35496 OPC_RecordChild1,
35497 OPC_Scope, 10,
35498 OPC_CheckChild1TypeI64,
35499 OPC_RecordChild2,
35500 OPC_CheckPatternPredicate6,
35501 OPC_EmitMergeInputChains1_0,
35502 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_D),
35503 2, 1, 2,
35504 11,
35505 OPC_CheckChild1TypeI32,
35506 OPC_RecordChild2,
35507 OPC_CheckPatternPredicate, 10,
35508 OPC_EmitMergeInputChains1_0,
35509 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_D),
35510 2, 1, 2,
35511 0,
35512 59|128,1, TARGET_VAL(LoongArchISD::VALL_NONZERO),
35513 OPC_RecordChild0,
35514 OPC_Scope, 22,
35515 OPC_CheckChild0Type, MVT::v16i8,
35516 OPC_SwitchType , 7, MVT::i64,
35517 OPC_CheckPatternPredicate3,
35518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_B),
35519 MVT::i64, 1, 0,
35520 7, MVT::i32,
35521 OPC_CheckPatternPredicate5,
35522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_B),
35523 MVT::i32, 1, 0,
35524 0,
35525 22,
35526 OPC_CheckChild0Type, MVT::v8i16,
35527 OPC_SwitchType , 7, MVT::i64,
35528 OPC_CheckPatternPredicate3,
35529 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_H),
35530 MVT::i64, 1, 0,
35531 7, MVT::i32,
35532 OPC_CheckPatternPredicate5,
35533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_H),
35534 MVT::i32, 1, 0,
35535 0,
35536 22,
35537 OPC_CheckChild0Type, MVT::v4i32,
35538 OPC_SwitchType , 7, MVT::i64,
35539 OPC_CheckPatternPredicate3,
35540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_W),
35541 MVT::i64, 1, 0,
35542 7, MVT::i32,
35543 OPC_CheckPatternPredicate5,
35544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_W),
35545 MVT::i32, 1, 0,
35546 0,
35547 22,
35548 OPC_CheckChild0Type, MVT::v2i64,
35549 OPC_SwitchType , 7, MVT::i64,
35550 OPC_CheckPatternPredicate3,
35551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_D),
35552 MVT::i64, 1, 0,
35553 7, MVT::i32,
35554 OPC_CheckPatternPredicate5,
35555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ_D),
35556 MVT::i32, 1, 0,
35557 0,
35558 22,
35559 OPC_CheckChild0Type, MVT::v32i8,
35560 OPC_SwitchType , 7, MVT::i64,
35561 OPC_CheckPatternPredicate2,
35562 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_B),
35563 MVT::i64, 1, 0,
35564 7, MVT::i32,
35565 OPC_CheckPatternPredicate4,
35566 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_B),
35567 MVT::i32, 1, 0,
35568 0,
35569 22,
35570 OPC_CheckChild0Type, MVT::v16i16,
35571 OPC_SwitchType , 7, MVT::i64,
35572 OPC_CheckPatternPredicate2,
35573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_H),
35574 MVT::i64, 1, 0,
35575 7, MVT::i32,
35576 OPC_CheckPatternPredicate4,
35577 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_H),
35578 MVT::i32, 1, 0,
35579 0,
35580 22,
35581 OPC_CheckChild0Type, MVT::v8i32,
35582 OPC_SwitchType , 7, MVT::i64,
35583 OPC_CheckPatternPredicate2,
35584 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_W),
35585 MVT::i64, 1, 0,
35586 7, MVT::i32,
35587 OPC_CheckPatternPredicate4,
35588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_W),
35589 MVT::i32, 1, 0,
35590 0,
35591 22,
35592 OPC_CheckChild0Type, MVT::v4i64,
35593 OPC_SwitchType , 7, MVT::i64,
35594 OPC_CheckPatternPredicate2,
35595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_D),
35596 MVT::i64, 1, 0,
35597 7, MVT::i32,
35598 OPC_CheckPatternPredicate4,
35599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ_D),
35600 MVT::i32, 1, 0,
35601 0,
35602 0,
35603 49, TARGET_VAL(LoongArchISD::VANY_NONZERO),
35604 OPC_RecordChild0,
35605 OPC_Scope, 22,
35606 OPC_CheckChild0Type, MVT::v16i8,
35607 OPC_SwitchType , 7, MVT::i64,
35608 OPC_CheckPatternPredicate3,
35609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ),
35610 MVT::i64, 1, 0,
35611 7, MVT::i32,
35612 OPC_CheckPatternPredicate5,
35613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBNZ),
35614 MVT::i32, 1, 0,
35615 0,
35616 22,
35617 OPC_CheckChild0Type, MVT::v32i8,
35618 OPC_SwitchType , 7, MVT::i64,
35619 OPC_CheckPatternPredicate2,
35620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ),
35621 MVT::i64, 1, 0,
35622 7, MVT::i32,
35623 OPC_CheckPatternPredicate4,
35624 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBNZ),
35625 MVT::i32, 1, 0,
35626 0,
35627 0,
35628 59|128,1, TARGET_VAL(LoongArchISD::VALL_ZERO),
35629 OPC_RecordChild0,
35630 OPC_Scope, 22,
35631 OPC_CheckChild0Type, MVT::v16i8,
35632 OPC_SwitchType , 7, MVT::i64,
35633 OPC_CheckPatternPredicate3,
35634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_B),
35635 MVT::i64, 1, 0,
35636 7, MVT::i32,
35637 OPC_CheckPatternPredicate5,
35638 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_B),
35639 MVT::i32, 1, 0,
35640 0,
35641 22,
35642 OPC_CheckChild0Type, MVT::v8i16,
35643 OPC_SwitchType , 7, MVT::i64,
35644 OPC_CheckPatternPredicate3,
35645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_H),
35646 MVT::i64, 1, 0,
35647 7, MVT::i32,
35648 OPC_CheckPatternPredicate5,
35649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_H),
35650 MVT::i32, 1, 0,
35651 0,
35652 22,
35653 OPC_CheckChild0Type, MVT::v4i32,
35654 OPC_SwitchType , 7, MVT::i64,
35655 OPC_CheckPatternPredicate3,
35656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_W),
35657 MVT::i64, 1, 0,
35658 7, MVT::i32,
35659 OPC_CheckPatternPredicate5,
35660 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_W),
35661 MVT::i32, 1, 0,
35662 0,
35663 22,
35664 OPC_CheckChild0Type, MVT::v2i64,
35665 OPC_SwitchType , 7, MVT::i64,
35666 OPC_CheckPatternPredicate3,
35667 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_D),
35668 MVT::i64, 1, 0,
35669 7, MVT::i32,
35670 OPC_CheckPatternPredicate5,
35671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ_D),
35672 MVT::i32, 1, 0,
35673 0,
35674 22,
35675 OPC_CheckChild0Type, MVT::v32i8,
35676 OPC_SwitchType , 7, MVT::i64,
35677 OPC_CheckPatternPredicate2,
35678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_B),
35679 MVT::i64, 1, 0,
35680 7, MVT::i32,
35681 OPC_CheckPatternPredicate4,
35682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_B),
35683 MVT::i32, 1, 0,
35684 0,
35685 22,
35686 OPC_CheckChild0Type, MVT::v16i16,
35687 OPC_SwitchType , 7, MVT::i64,
35688 OPC_CheckPatternPredicate2,
35689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_H),
35690 MVT::i64, 1, 0,
35691 7, MVT::i32,
35692 OPC_CheckPatternPredicate4,
35693 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_H),
35694 MVT::i32, 1, 0,
35695 0,
35696 22,
35697 OPC_CheckChild0Type, MVT::v8i32,
35698 OPC_SwitchType , 7, MVT::i64,
35699 OPC_CheckPatternPredicate2,
35700 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_W),
35701 MVT::i64, 1, 0,
35702 7, MVT::i32,
35703 OPC_CheckPatternPredicate4,
35704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_W),
35705 MVT::i32, 1, 0,
35706 0,
35707 22,
35708 OPC_CheckChild0Type, MVT::v4i64,
35709 OPC_SwitchType , 7, MVT::i64,
35710 OPC_CheckPatternPredicate2,
35711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_D),
35712 MVT::i64, 1, 0,
35713 7, MVT::i32,
35714 OPC_CheckPatternPredicate4,
35715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ_D),
35716 MVT::i32, 1, 0,
35717 0,
35718 0,
35719 49, TARGET_VAL(LoongArchISD::VANY_ZERO),
35720 OPC_RecordChild0,
35721 OPC_Scope, 22,
35722 OPC_CheckChild0Type, MVT::v16i8,
35723 OPC_SwitchType , 7, MVT::i64,
35724 OPC_CheckPatternPredicate3,
35725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ),
35726 MVT::i64, 1, 0,
35727 7, MVT::i32,
35728 OPC_CheckPatternPredicate5,
35729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVBZ),
35730 MVT::i32, 1, 0,
35731 0,
35732 22,
35733 OPC_CheckChild0Type, MVT::v32i8,
35734 OPC_SwitchType , 7, MVT::i64,
35735 OPC_CheckPatternPredicate2,
35736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ),
35737 MVT::i64, 1, 0,
35738 7, MVT::i32,
35739 OPC_CheckPatternPredicate4,
35740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVBZ),
35741 MVT::i32, 1, 0,
35742 0,
35743 0,
35744 3|128,1, TARGET_VAL(ISD::SDIV),
35745 OPC_RecordChild0,
35746 OPC_RecordChild1,
35747 OPC_SwitchType , 21, MVT::i64,
35748 OPC_Scope, 9,
35749 OPC_CheckPatternPredicate, 15,
35750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
35751 MVT::i64, 2, 0, 1,
35752 8,
35753 OPC_CheckPatternPredicate6,
35754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_D),
35755 MVT::i64, 2, 0, 1,
35756 0,
35757 22, MVT::i32,
35758 OPC_Scope, 9,
35759 OPC_CheckPatternPredicate, 9,
35760 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_W),
35761 MVT::i32, 2, 0, 1,
35762 9,
35763 OPC_CheckPatternPredicate, 10,
35764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_D),
35765 MVT::i32, 2, 0, 1,
35766 0,
35767 8, MVT::v16i8,
35768 OPC_CheckPatternPredicate1,
35769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_B),
35770 MVT::v16i8, 2, 0, 1,
35771 8, MVT::v8i16,
35772 OPC_CheckPatternPredicate1,
35773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_H),
35774 MVT::v8i16, 2, 0, 1,
35775 8, MVT::v4i32,
35776 OPC_CheckPatternPredicate1,
35777 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_W),
35778 MVT::v4i32, 2, 0, 1,
35779 8, MVT::v2i64,
35780 OPC_CheckPatternPredicate1,
35781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_D),
35782 MVT::v2i64, 2, 0, 1,
35783 8, MVT::v32i8,
35784 OPC_CheckPatternPredicate0,
35785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_B),
35786 MVT::v32i8, 2, 0, 1,
35787 8, MVT::v16i16,
35788 OPC_CheckPatternPredicate0,
35789 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_H),
35790 MVT::v16i16, 2, 0, 1,
35791 8, MVT::v8i32,
35792 OPC_CheckPatternPredicate0,
35793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_W),
35794 MVT::v8i32, 2, 0, 1,
35795 8, MVT::v4i64,
35796 OPC_CheckPatternPredicate0,
35797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_D),
35798 MVT::v4i64, 2, 0, 1,
35799 0,
35800 3|128,1, TARGET_VAL(ISD::UDIV),
35801 OPC_RecordChild0,
35802 OPC_RecordChild1,
35803 OPC_SwitchType , 21, MVT::i64,
35804 OPC_Scope, 9,
35805 OPC_CheckPatternPredicate, 15,
35806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_WU),
35807 MVT::i64, 2, 0, 1,
35808 8,
35809 OPC_CheckPatternPredicate6,
35810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_DU),
35811 MVT::i64, 2, 0, 1,
35812 0,
35813 22, MVT::i32,
35814 OPC_Scope, 9,
35815 OPC_CheckPatternPredicate, 9,
35816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_WU),
35817 MVT::i32, 2, 0, 1,
35818 9,
35819 OPC_CheckPatternPredicate, 10,
35820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_DU),
35821 MVT::i32, 2, 0, 1,
35822 0,
35823 8, MVT::v16i8,
35824 OPC_CheckPatternPredicate1,
35825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_BU),
35826 MVT::v16i8, 2, 0, 1,
35827 8, MVT::v8i16,
35828 OPC_CheckPatternPredicate1,
35829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_HU),
35830 MVT::v8i16, 2, 0, 1,
35831 8, MVT::v4i32,
35832 OPC_CheckPatternPredicate1,
35833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_WU),
35834 MVT::v4i32, 2, 0, 1,
35835 8, MVT::v2i64,
35836 OPC_CheckPatternPredicate1,
35837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_DU),
35838 MVT::v2i64, 2, 0, 1,
35839 8, MVT::v32i8,
35840 OPC_CheckPatternPredicate0,
35841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_BU),
35842 MVT::v32i8, 2, 0, 1,
35843 8, MVT::v16i16,
35844 OPC_CheckPatternPredicate0,
35845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_HU),
35846 MVT::v16i16, 2, 0, 1,
35847 8, MVT::v8i32,
35848 OPC_CheckPatternPredicate0,
35849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_WU),
35850 MVT::v8i32, 2, 0, 1,
35851 8, MVT::v4i64,
35852 OPC_CheckPatternPredicate0,
35853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_DU),
35854 MVT::v4i64, 2, 0, 1,
35855 0,
35856 3|128,1, TARGET_VAL(ISD::SREM),
35857 OPC_RecordChild0,
35858 OPC_RecordChild1,
35859 OPC_SwitchType , 21, MVT::i64,
35860 OPC_Scope, 9,
35861 OPC_CheckPatternPredicate, 15,
35862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
35863 MVT::i64, 2, 0, 1,
35864 8,
35865 OPC_CheckPatternPredicate6,
35866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_D),
35867 MVT::i64, 2, 0, 1,
35868 0,
35869 22, MVT::i32,
35870 OPC_Scope, 9,
35871 OPC_CheckPatternPredicate, 9,
35872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_W),
35873 MVT::i32, 2, 0, 1,
35874 9,
35875 OPC_CheckPatternPredicate, 10,
35876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_D),
35877 MVT::i32, 2, 0, 1,
35878 0,
35879 8, MVT::v16i8,
35880 OPC_CheckPatternPredicate1,
35881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_B),
35882 MVT::v16i8, 2, 0, 1,
35883 8, MVT::v8i16,
35884 OPC_CheckPatternPredicate1,
35885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_H),
35886 MVT::v8i16, 2, 0, 1,
35887 8, MVT::v4i32,
35888 OPC_CheckPatternPredicate1,
35889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_W),
35890 MVT::v4i32, 2, 0, 1,
35891 8, MVT::v2i64,
35892 OPC_CheckPatternPredicate1,
35893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_D),
35894 MVT::v2i64, 2, 0, 1,
35895 8, MVT::v32i8,
35896 OPC_CheckPatternPredicate0,
35897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_B),
35898 MVT::v32i8, 2, 0, 1,
35899 8, MVT::v16i16,
35900 OPC_CheckPatternPredicate0,
35901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_H),
35902 MVT::v16i16, 2, 0, 1,
35903 8, MVT::v8i32,
35904 OPC_CheckPatternPredicate0,
35905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_W),
35906 MVT::v8i32, 2, 0, 1,
35907 8, MVT::v4i64,
35908 OPC_CheckPatternPredicate0,
35909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_D),
35910 MVT::v4i64, 2, 0, 1,
35911 0,
35912 3|128,1, TARGET_VAL(ISD::UREM),
35913 OPC_RecordChild0,
35914 OPC_RecordChild1,
35915 OPC_SwitchType , 21, MVT::i64,
35916 OPC_Scope, 9,
35917 OPC_CheckPatternPredicate, 15,
35918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_WU),
35919 MVT::i64, 2, 0, 1,
35920 8,
35921 OPC_CheckPatternPredicate6,
35922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_DU),
35923 MVT::i64, 2, 0, 1,
35924 0,
35925 22, MVT::i32,
35926 OPC_Scope, 9,
35927 OPC_CheckPatternPredicate, 9,
35928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_WU),
35929 MVT::i32, 2, 0, 1,
35930 9,
35931 OPC_CheckPatternPredicate, 10,
35932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_DU),
35933 MVT::i32, 2, 0, 1,
35934 0,
35935 8, MVT::v16i8,
35936 OPC_CheckPatternPredicate1,
35937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_BU),
35938 MVT::v16i8, 2, 0, 1,
35939 8, MVT::v8i16,
35940 OPC_CheckPatternPredicate1,
35941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_HU),
35942 MVT::v8i16, 2, 0, 1,
35943 8, MVT::v4i32,
35944 OPC_CheckPatternPredicate1,
35945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_WU),
35946 MVT::v4i32, 2, 0, 1,
35947 8, MVT::v2i64,
35948 OPC_CheckPatternPredicate1,
35949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_DU),
35950 MVT::v2i64, 2, 0, 1,
35951 8, MVT::v32i8,
35952 OPC_CheckPatternPredicate0,
35953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_BU),
35954 MVT::v32i8, 2, 0, 1,
35955 8, MVT::v16i16,
35956 OPC_CheckPatternPredicate0,
35957 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_HU),
35958 MVT::v16i16, 2, 0, 1,
35959 8, MVT::v8i32,
35960 OPC_CheckPatternPredicate0,
35961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_WU),
35962 MVT::v8i32, 2, 0, 1,
35963 8, MVT::v4i64,
35964 OPC_CheckPatternPredicate0,
35965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_DU),
35966 MVT::v4i64, 2, 0, 1,
35967 0,
35968 10, TARGET_VAL(LoongArchISD::DIV_WU),
35969 OPC_RecordChild0,
35970 OPC_RecordChild1,
35971 OPC_CheckPatternPredicate6,
35972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::DIV_WU),
35973 MVT::i64, 2, 0, 1,
35974 10, TARGET_VAL(LoongArchISD::MOD_WU),
35975 OPC_RecordChild0,
35976 OPC_RecordChild1,
35977 OPC_CheckPatternPredicate6,
35978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOD_WU),
35979 MVT::i64, 2, 0, 1,
35980 121|128,2, TARGET_VAL(ISD::FDIV),
35981 OPC_Scope, 62,
35982 OPC_MoveChild0,
35983 OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
35984 OPC_CheckPredicate, 48,
35985 OPC_Scope, 28,
35986 OPC_MoveSibling1,
35987 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
35988 OPC_RecordChild0,
35989 OPC_MoveParent,
35990 OPC_SwitchType , 8, MVT::f32,
35991 OPC_CheckPatternPredicate, 17,
35992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
35993 MVT::f32, 1, 0,
35994 8, MVT::f64,
35995 OPC_CheckPatternPredicate, 16,
35996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_D),
35997 MVT::f64, 1, 0,
35998 0,
35999 24,
36000 OPC_MoveParent,
36001 OPC_RecordChild1,
36002 OPC_SwitchType , 8, MVT::f32,
36003 OPC_CheckPatternPredicate, 17,
36004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
36005 MVT::f32, 1, 0,
36006 8, MVT::f64,
36007 OPC_CheckPatternPredicate, 16,
36008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_D),
36009 MVT::f64, 1, 0,
36010 0,
36011 0,
36012 26,
36013 OPC_RecordChild0,
36014 OPC_RecordChild1,
36015 OPC_SwitchType , 9, MVT::f32,
36016 OPC_CheckPatternPredicate, 17,
36017 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_S),
36018 MVT::f32, 2, 0, 1,
36019 9, MVT::f64,
36020 OPC_CheckPatternPredicate, 16,
36021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_D),
36022 MVT::f64, 2, 0, 1,
36023 0,
36024 110|128,1,
36025 OPC_MoveChild0,
36026 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
36027 OPC_MoveChild0,
36028 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
36029 OPC_SwitchType , 55, MVT::v4i32,
36030 OPC_MoveParent,
36031 OPC_CheckPredicate, 53,
36032 OPC_Scope, 26,
36033 OPC_MoveSibling1,
36034 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
36035 OPC_RecordChild0,
36036 OPC_MoveParent,
36037 OPC_SwitchType , 7, MVT::v4f32,
36038 OPC_CheckPatternPredicate1,
36039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
36040 MVT::v4f32, 1, 0,
36041 7, MVT::v8f32,
36042 OPC_CheckPatternPredicate0,
36043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
36044 MVT::v8f32, 1, 0,
36045 0,
36046 22,
36047 OPC_MoveParent,
36048 OPC_RecordChild1,
36049 OPC_SwitchType , 7, MVT::v4f32,
36050 OPC_CheckPatternPredicate1,
36051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
36052 MVT::v4f32, 1, 0,
36053 7, MVT::v8f32,
36054 OPC_CheckPatternPredicate0,
36055 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
36056 MVT::v8f32, 1, 0,
36057 0,
36058 0,
36059 55, MVT::v8i32,
36060 OPC_MoveParent,
36061 OPC_CheckPredicate, 53,
36062 OPC_Scope, 26,
36063 OPC_MoveSibling1,
36064 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
36065 OPC_RecordChild0,
36066 OPC_MoveParent,
36067 OPC_SwitchType , 7, MVT::v4f32,
36068 OPC_CheckPatternPredicate1,
36069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
36070 MVT::v4f32, 1, 0,
36071 7, MVT::v8f32,
36072 OPC_CheckPatternPredicate0,
36073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
36074 MVT::v8f32, 1, 0,
36075 0,
36076 22,
36077 OPC_MoveParent,
36078 OPC_RecordChild1,
36079 OPC_SwitchType , 7, MVT::v4f32,
36080 OPC_CheckPatternPredicate1,
36081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
36082 MVT::v4f32, 1, 0,
36083 7, MVT::v8f32,
36084 OPC_CheckPatternPredicate0,
36085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
36086 MVT::v8f32, 1, 0,
36087 0,
36088 0,
36089 55, MVT::v2i64,
36090 OPC_MoveParent,
36091 OPC_CheckPredicate, 54,
36092 OPC_Scope, 26,
36093 OPC_MoveSibling1,
36094 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
36095 OPC_RecordChild0,
36096 OPC_MoveParent,
36097 OPC_SwitchType , 7, MVT::v2f64,
36098 OPC_CheckPatternPredicate1,
36099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
36100 MVT::v2f64, 1, 0,
36101 7, MVT::v4f64,
36102 OPC_CheckPatternPredicate0,
36103 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
36104 MVT::v4f64, 1, 0,
36105 0,
36106 22,
36107 OPC_MoveParent,
36108 OPC_RecordChild1,
36109 OPC_SwitchType , 7, MVT::v2f64,
36110 OPC_CheckPatternPredicate1,
36111 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
36112 MVT::v2f64, 1, 0,
36113 7, MVT::v4f64,
36114 OPC_CheckPatternPredicate0,
36115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
36116 MVT::v4f64, 1, 0,
36117 0,
36118 0,
36119 55, MVT::v4i64,
36120 OPC_MoveParent,
36121 OPC_CheckPredicate, 54,
36122 OPC_Scope, 26,
36123 OPC_MoveSibling1,
36124 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
36125 OPC_RecordChild0,
36126 OPC_MoveParent,
36127 OPC_SwitchType , 7, MVT::v2f64,
36128 OPC_CheckPatternPredicate1,
36129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
36130 MVT::v2f64, 1, 0,
36131 7, MVT::v4f64,
36132 OPC_CheckPatternPredicate0,
36133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
36134 MVT::v4f64, 1, 0,
36135 0,
36136 22,
36137 OPC_MoveParent,
36138 OPC_RecordChild1,
36139 OPC_SwitchType , 7, MVT::v2f64,
36140 OPC_CheckPatternPredicate1,
36141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
36142 MVT::v2f64, 1, 0,
36143 7, MVT::v4f64,
36144 OPC_CheckPatternPredicate0,
36145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
36146 MVT::v4f64, 1, 0,
36147 0,
36148 0,
36149 0,
36150 44,
36151 OPC_RecordChild0,
36152 OPC_RecordChild1,
36153 OPC_SwitchType , 8, MVT::v4f32,
36154 OPC_CheckPatternPredicate1,
36155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_S),
36156 MVT::v4f32, 2, 0, 1,
36157 8, MVT::v2f64,
36158 OPC_CheckPatternPredicate1,
36159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_D),
36160 MVT::v2f64, 2, 0, 1,
36161 8, MVT::v8f32,
36162 OPC_CheckPatternPredicate0,
36163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_S),
36164 MVT::v8f32, 2, 0, 1,
36165 8, MVT::v4f64,
36166 OPC_CheckPatternPredicate0,
36167 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_D),
36168 MVT::v4f64, 2, 0, 1,
36169 0,
36170 0,
36171 61|128,4, TARGET_VAL(ISD::FMA),
36172 OPC_Scope, 41,
36173 OPC_MoveChild0,
36174 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36175 OPC_RecordChild0,
36176 OPC_MoveParent,
36177 OPC_RecordChild1,
36178 OPC_MoveChild2,
36179 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36180 OPC_RecordChild0,
36181 OPC_MoveParent,
36182 OPC_CheckPredicate, 35,
36183 OPC_SwitchType , 10, MVT::f32,
36184 OPC_CheckPatternPredicate, 17,
36185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
36186 MVT::f32, 3, 0, 1, 2,
36187 10, MVT::f64,
36188 OPC_CheckPatternPredicate, 16,
36189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
36190 MVT::f64, 3, 0, 1, 2,
36191 0,
36192 40,
36193 OPC_RecordChild0,
36194 OPC_MoveChild1,
36195 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36196 OPC_RecordChild0,
36197 OPC_MoveSibling2,
36198 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36199 OPC_RecordChild0,
36200 OPC_MoveParent,
36201 OPC_CheckPredicate, 35,
36202 OPC_SwitchType , 10, MVT::f32,
36203 OPC_CheckPatternPredicate, 17,
36204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
36205 MVT::f32, 3, 1, 0, 2,
36206 10, MVT::f64,
36207 OPC_CheckPatternPredicate, 16,
36208 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
36209 MVT::f64, 3, 1, 0, 2,
36210 0,
36211 36,
36212 OPC_MoveChild0,
36213 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36214 OPC_RecordChild0,
36215 OPC_MoveParent,
36216 OPC_RecordChild1,
36217 OPC_RecordChild2,
36218 OPC_CheckPredicate, 35,
36219 OPC_SwitchType , 10, MVT::f32,
36220 OPC_CheckPatternPredicate, 17,
36221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
36222 MVT::f32, 3, 0, 1, 2,
36223 10, MVT::f64,
36224 OPC_CheckPatternPredicate, 16,
36225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
36226 MVT::f64, 3, 0, 1, 2,
36227 0,
36228 104,
36229 OPC_RecordChild0,
36230 OPC_Scope, 35,
36231 OPC_MoveChild1,
36232 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36233 OPC_RecordChild0,
36234 OPC_MoveParent,
36235 OPC_RecordChild2,
36236 OPC_CheckPredicate, 35,
36237 OPC_SwitchType , 10, MVT::f32,
36238 OPC_CheckPatternPredicate, 17,
36239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
36240 MVT::f32, 3, 1, 0, 2,
36241 10, MVT::f64,
36242 OPC_CheckPatternPredicate, 16,
36243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
36244 MVT::f64, 3, 1, 0, 2,
36245 0,
36246 64,
36247 OPC_RecordChild1,
36248 OPC_Scope, 32,
36249 OPC_MoveChild2,
36250 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36251 OPC_RecordChild0,
36252 OPC_MoveParent,
36253 OPC_SwitchType , 10, MVT::f32,
36254 OPC_CheckPatternPredicate, 17,
36255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_S),
36256 MVT::f32, 3, 0, 1, 2,
36257 10, MVT::f64,
36258 OPC_CheckPatternPredicate, 16,
36259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_D),
36260 MVT::f64, 3, 0, 1, 2,
36261 0,
36262 27,
36263 OPC_RecordChild2,
36264 OPC_SwitchType , 10, MVT::f32,
36265 OPC_CheckPatternPredicate, 17,
36266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_S),
36267 MVT::f32, 3, 0, 1, 2,
36268 10, MVT::f64,
36269 OPC_CheckPatternPredicate, 16,
36270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_D),
36271 MVT::f64, 3, 0, 1, 2,
36272 0,
36273 0,
36274 0,
36275 61,
36276 OPC_MoveChild0,
36277 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36278 OPC_RecordChild0,
36279 OPC_MoveParent,
36280 OPC_RecordChild1,
36281 OPC_MoveChild2,
36282 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36283 OPC_RecordChild0,
36284 OPC_MoveParent,
36285 OPC_CheckPredicate, 35,
36286 OPC_SwitchType , 9, MVT::v4f32,
36287 OPC_CheckPatternPredicate1,
36288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
36289 MVT::v4f32, 3, 0, 1, 2,
36290 9, MVT::v2f64,
36291 OPC_CheckPatternPredicate1,
36292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
36293 MVT::v2f64, 3, 0, 1, 2,
36294 9, MVT::v8f32,
36295 OPC_CheckPatternPredicate0,
36296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
36297 MVT::v8f32, 3, 0, 1, 2,
36298 9, MVT::v4f64,
36299 OPC_CheckPatternPredicate0,
36300 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
36301 MVT::v4f64, 3, 0, 1, 2,
36302 0,
36303 60,
36304 OPC_RecordChild0,
36305 OPC_MoveChild1,
36306 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36307 OPC_RecordChild0,
36308 OPC_MoveSibling2,
36309 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36310 OPC_RecordChild0,
36311 OPC_MoveParent,
36312 OPC_CheckPredicate, 35,
36313 OPC_SwitchType , 9, MVT::v4f32,
36314 OPC_CheckPatternPredicate1,
36315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
36316 MVT::v4f32, 3, 1, 0, 2,
36317 9, MVT::v2f64,
36318 OPC_CheckPatternPredicate1,
36319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
36320 MVT::v2f64, 3, 1, 0, 2,
36321 9, MVT::v8f32,
36322 OPC_CheckPatternPredicate0,
36323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
36324 MVT::v8f32, 3, 1, 0, 2,
36325 9, MVT::v4f64,
36326 OPC_CheckPatternPredicate0,
36327 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
36328 MVT::v4f64, 3, 1, 0, 2,
36329 0,
36330 56,
36331 OPC_MoveChild0,
36332 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36333 OPC_RecordChild0,
36334 OPC_MoveParent,
36335 OPC_RecordChild1,
36336 OPC_RecordChild2,
36337 OPC_CheckPredicate, 35,
36338 OPC_SwitchType , 9, MVT::v4f32,
36339 OPC_CheckPatternPredicate1,
36340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
36341 MVT::v4f32, 3, 0, 1, 2,
36342 9, MVT::v2f64,
36343 OPC_CheckPatternPredicate1,
36344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
36345 MVT::v2f64, 3, 0, 1, 2,
36346 9, MVT::v8f32,
36347 OPC_CheckPatternPredicate0,
36348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
36349 MVT::v8f32, 3, 0, 1, 2,
36350 9, MVT::v4f64,
36351 OPC_CheckPatternPredicate0,
36352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
36353 MVT::v4f64, 3, 0, 1, 2,
36354 0,
36355 36|128,1,
36356 OPC_RecordChild0,
36357 OPC_Scope, 55,
36358 OPC_MoveChild1,
36359 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36360 OPC_RecordChild0,
36361 OPC_MoveParent,
36362 OPC_RecordChild2,
36363 OPC_CheckPredicate, 35,
36364 OPC_SwitchType , 9, MVT::v4f32,
36365 OPC_CheckPatternPredicate1,
36366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
36367 MVT::v4f32, 3, 1, 0, 2,
36368 9, MVT::v2f64,
36369 OPC_CheckPatternPredicate1,
36370 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
36371 MVT::v2f64, 3, 1, 0, 2,
36372 9, MVT::v8f32,
36373 OPC_CheckPatternPredicate0,
36374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
36375 MVT::v8f32, 3, 1, 0, 2,
36376 9, MVT::v4f64,
36377 OPC_CheckPatternPredicate0,
36378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
36379 MVT::v4f64, 3, 1, 0, 2,
36380 0,
36381 104,
36382 OPC_RecordChild1,
36383 OPC_Scope, 52,
36384 OPC_MoveChild2,
36385 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36386 OPC_RecordChild0,
36387 OPC_MoveParent,
36388 OPC_SwitchType , 9, MVT::v4f32,
36389 OPC_CheckPatternPredicate1,
36390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
36391 MVT::v4f32, 3, 0, 1, 2,
36392 9, MVT::v2f64,
36393 OPC_CheckPatternPredicate1,
36394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
36395 MVT::v2f64, 3, 0, 1, 2,
36396 9, MVT::v8f32,
36397 OPC_CheckPatternPredicate0,
36398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
36399 MVT::v8f32, 3, 0, 1, 2,
36400 9, MVT::v4f64,
36401 OPC_CheckPatternPredicate0,
36402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
36403 MVT::v4f64, 3, 0, 1, 2,
36404 0,
36405 47,
36406 OPC_RecordChild2,
36407 OPC_SwitchType , 9, MVT::v4f32,
36408 OPC_CheckPatternPredicate1,
36409 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_S),
36410 MVT::v4f32, 3, 0, 1, 2,
36411 9, MVT::v2f64,
36412 OPC_CheckPatternPredicate1,
36413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_D),
36414 MVT::v2f64, 3, 0, 1, 2,
36415 9, MVT::v8f32,
36416 OPC_CheckPatternPredicate0,
36417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_S),
36418 MVT::v8f32, 3, 0, 1, 2,
36419 9, MVT::v4f64,
36420 OPC_CheckPatternPredicate0,
36421 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_D),
36422 MVT::v4f64, 3, 0, 1, 2,
36423 0,
36424 0,
36425 0,
36426 0,
36427 62|128,2, TARGET_VAL(ISD::FNEG),
36428 OPC_Scope, 71,
36429 OPC_MoveChild0,
36430 OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
36431 OPC_RecordChild0,
36432 OPC_RecordChild1,
36433 OPC_Scope, 33,
36434 OPC_MoveChild2,
36435 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36436 OPC_RecordChild0,
36437 OPC_MoveParent,
36438 OPC_MoveParent,
36439 OPC_SwitchType , 10, MVT::f32,
36440 OPC_CheckPatternPredicate, 17,
36441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
36442 MVT::f32, 3, 0, 1, 2,
36443 10, MVT::f64,
36444 OPC_CheckPatternPredicate, 16,
36445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
36446 MVT::f64, 3, 0, 1, 2,
36447 0,
36448 28,
36449 OPC_RecordChild2,
36450 OPC_MoveParent,
36451 OPC_SwitchType , 10, MVT::f32,
36452 OPC_CheckPatternPredicate, 17,
36453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
36454 MVT::f32, 3, 0, 1, 2,
36455 10, MVT::f64,
36456 OPC_CheckPatternPredicate, 16,
36457 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
36458 MVT::f64, 3, 0, 1, 2,
36459 0,
36460 0,
36461 23,
36462 OPC_RecordChild0,
36463 OPC_SwitchType , 8, MVT::f32,
36464 OPC_CheckPatternPredicate, 17,
36465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
36466 MVT::f32, 1, 0,
36467 8, MVT::f64,
36468 OPC_CheckPatternPredicate, 16,
36469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36470 MVT::f64, 1, 0,
36471 0,
36472 111,
36473 OPC_MoveChild0,
36474 OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
36475 OPC_RecordChild0,
36476 OPC_RecordChild1,
36477 OPC_Scope, 53,
36478 OPC_MoveChild2,
36479 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
36480 OPC_RecordChild0,
36481 OPC_MoveParent,
36482 OPC_MoveParent,
36483 OPC_SwitchType , 9, MVT::v4f32,
36484 OPC_CheckPatternPredicate1,
36485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
36486 MVT::v4f32, 3, 0, 1, 2,
36487 9, MVT::v2f64,
36488 OPC_CheckPatternPredicate1,
36489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
36490 MVT::v2f64, 3, 0, 1, 2,
36491 9, MVT::v8f32,
36492 OPC_CheckPatternPredicate0,
36493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
36494 MVT::v8f32, 3, 0, 1, 2,
36495 9, MVT::v4f64,
36496 OPC_CheckPatternPredicate0,
36497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
36498 MVT::v4f64, 3, 0, 1, 2,
36499 0,
36500 48,
36501 OPC_RecordChild2,
36502 OPC_MoveParent,
36503 OPC_SwitchType , 9, MVT::v4f32,
36504 OPC_CheckPatternPredicate1,
36505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
36506 MVT::v4f32, 3, 0, 1, 2,
36507 9, MVT::v2f64,
36508 OPC_CheckPatternPredicate1,
36509 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
36510 MVT::v2f64, 3, 0, 1, 2,
36511 9, MVT::v8f32,
36512 OPC_CheckPatternPredicate0,
36513 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
36514 MVT::v8f32, 3, 0, 1, 2,
36515 9, MVT::v4f64,
36516 OPC_CheckPatternPredicate0,
36517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
36518 MVT::v4f64, 3, 0, 1, 2,
36519 0,
36520 0,
36521 107,
36522 OPC_RecordChild0,
36523 OPC_SwitchType , 24, MVT::v4f32,
36524 OPC_Scope, 10,
36525 OPC_CheckPatternPredicate3,
36526 OPC_EmitInteger64, 62,
36527 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
36528 MVT::v4f32, 2, 0, 1,
36529 10,
36530 OPC_CheckPatternPredicate5,
36531 OPC_EmitInteger32, 62,
36532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
36533 MVT::v4f32, 2, 0, 1,
36534 0,
36535 24, MVT::v2f64,
36536 OPC_Scope, 10,
36537 OPC_CheckPatternPredicate3,
36538 OPC_EmitInteger64, 126,
36539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
36540 MVT::v2f64, 2, 0, 1,
36541 10,
36542 OPC_CheckPatternPredicate5,
36543 OPC_EmitInteger32, 126,
36544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
36545 MVT::v2f64, 2, 0, 1,
36546 0,
36547 24, MVT::v8f32,
36548 OPC_Scope, 10,
36549 OPC_CheckPatternPredicate2,
36550 OPC_EmitInteger64, 62,
36551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
36552 MVT::v8f32, 2, 0, 1,
36553 10,
36554 OPC_CheckPatternPredicate4,
36555 OPC_EmitInteger32, 62,
36556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
36557 MVT::v8f32, 2, 0, 1,
36558 0,
36559 24, MVT::v4f64,
36560 OPC_Scope, 10,
36561 OPC_CheckPatternPredicate2,
36562 OPC_EmitInteger64, 126,
36563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
36564 MVT::v4f64, 2, 0, 1,
36565 10,
36566 OPC_CheckPatternPredicate4,
36567 OPC_EmitInteger32, 126,
36568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
36569 MVT::v4f64, 2, 0, 1,
36570 0,
36571 0,
36572 0,
36573 59|128,2, TARGET_VAL(ISD::SINT_TO_FP),
36574 OPC_RecordChild0,
36575 OPC_Scope, 75,
36576 OPC_CheckChild0TypeI64,
36577 OPC_SwitchType , 35, MVT::f32,
36578 OPC_Scope, 17,
36579 OPC_CheckPatternPredicate, 21,
36580 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
36581 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36582 MVT::f32, 1, 1,
36583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36584 MVT::f32, 1, 2,
36585 14,
36586 OPC_CheckPatternPredicate, 19,
36587 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36588 MVT::f64, 1, 0,
36589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_L),
36590 MVT::f32, 1, 1,
36591 0,
36592 33, MVT::f64,
36593 OPC_CheckPatternPredicate, 19,
36594 OPC_Scope, 15,
36595 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
36596 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36597 MVT::f32, 1, 1,
36598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
36599 MVT::f64, 1, 2,
36600 12,
36601 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36602 MVT::f64, 1, 0,
36603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36604 MVT::f64, 1, 1,
36605 0,
36606 0,
36607 71,
36608 OPC_CheckChild0TypeI32,
36609 OPC_SwitchType , 32, MVT::f32,
36610 OPC_Scope, 14,
36611 OPC_CheckPatternPredicate, 23,
36612 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36613 MVT::f32, 1, 0,
36614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36615 MVT::f32, 1, 1,
36616 14,
36617 OPC_CheckPatternPredicate, 20,
36618 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36619 MVT::f64, 1, 0,
36620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_L),
36621 MVT::f32, 1, 1,
36622 0,
36623 32, MVT::f64,
36624 OPC_Scope, 14,
36625 OPC_CheckPatternPredicate, 20,
36626 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36627 MVT::f64, 1, 0,
36628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36629 MVT::f64, 1, 1,
36630 14,
36631 OPC_CheckPatternPredicate, 22,
36632 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36633 MVT::f32, 1, 0,
36634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
36635 MVT::f64, 1, 1,
36636 0,
36637 0,
36638 11,
36639 OPC_CheckChild0Type, MVT::v4i32,
36640 OPC_CheckType, MVT::v4f32,
36641 OPC_CheckPatternPredicate1,
36642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_W),
36643 MVT::v4f32, 1, 0,
36644 9,
36645 OPC_CheckType, MVT::v2f64,
36646 OPC_CheckPatternPredicate1,
36647 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_L),
36648 MVT::v2f64, 1, 0,
36649 11,
36650 OPC_CheckType, MVT::v8f32,
36651 OPC_CheckChild0Type, MVT::v8i32,
36652 OPC_CheckPatternPredicate0,
36653 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_W),
36654 MVT::v8f32, 1, 0,
36655 42,
36656 OPC_CheckType, MVT::v4f64,
36657 OPC_Scope, 9,
36658 OPC_CheckChild0Type, MVT::v4i64,
36659 OPC_CheckPatternPredicate0,
36660 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
36661 MVT::v4f64, 1, 0,
36662 27,
36663 OPC_CheckChild0Type, MVT::v4i32,
36664 OPC_CheckPatternPredicate0,
36665 OPC_EmitInteger64, 0,
36666 OPC_EmitStringInteger32, LoongArch::sub_128,
36667 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
36668 MVT::v32i8, 3, 1, 0, 2,
36669 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
36670 MVT::v32i8, 1, 3,
36671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
36672 MVT::v4f64, 1, 4,
36673 0,
36674 86,
36675 OPC_CheckType, MVT::v4f32,
36676 OPC_CheckChild0Type, MVT::v4i64,
36677 OPC_Scope, 39,
36678 OPC_CheckPatternPredicate2,
36679 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
36680 MVT::v32i8, 1, 0,
36681 OPC_EmitInteger64, 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 39,
36692 OPC_CheckPatternPredicate4,
36693 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
36694 MVT::v32i8, 1, 0,
36695 OPC_EmitInteger32, 92|128,3,
36696 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
36697 MVT::v32i8, 2, 1, 2,
36698 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
36699 MVT::v32i8, 1, 0,
36700 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
36701 MVT::v32i8, 2, 3, 4,
36702 OPC_EmitStringInteger32, LoongArch::sub_128,
36703 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
36704 MVT::v4f32, 2, 5, 6,
36705 0,
36706 0,
36707 56|128,1, TARGET_VAL(ISD::UINT_TO_FP),
36708 OPC_RecordChild0,
36709 OPC_SwitchType , 18, MVT::f32,
36710 OPC_CheckChild0TypeI64,
36711 OPC_CheckPatternPredicate, 21,
36712 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
36713 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36714 MVT::f32, 1, 1,
36715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36716 MVT::f32, 1, 2,
36717 97, MVT::v4f32,
36718 OPC_Scope, 9,
36719 OPC_CheckChild0Type, MVT::v4i32,
36720 OPC_CheckPatternPredicate1,
36721 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_WU),
36722 MVT::v4f32, 1, 0,
36723 84,
36724 OPC_CheckChild0Type, MVT::v4i64,
36725 OPC_Scope, 39,
36726 OPC_CheckPatternPredicate2,
36727 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
36728 MVT::v32i8, 1, 0,
36729 OPC_EmitInteger64, 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 39,
36740 OPC_CheckPatternPredicate4,
36741 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
36742 MVT::v32i8, 1, 0,
36743 OPC_EmitInteger32, 92|128,3,
36744 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
36745 MVT::v32i8, 2, 1, 2,
36746 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
36747 MVT::v32i8, 1, 0,
36748 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
36749 MVT::v32i8, 2, 3, 4,
36750 OPC_EmitStringInteger32, LoongArch::sub_128,
36751 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
36752 MVT::v4f32, 2, 5, 6,
36753 0,
36754 0,
36755 7, MVT::v2f64,
36756 OPC_CheckPatternPredicate1,
36757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_LU),
36758 MVT::v2f64, 1, 0,
36759 9, MVT::v8f32,
36760 OPC_CheckChild0Type, MVT::v8i32,
36761 OPC_CheckPatternPredicate0,
36762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_WU),
36763 MVT::v8f32, 1, 0,
36764 40, MVT::v4f64,
36765 OPC_Scope, 9,
36766 OPC_CheckChild0Type, MVT::v4i64,
36767 OPC_CheckPatternPredicate0,
36768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
36769 MVT::v4f64, 1, 0,
36770 27,
36771 OPC_CheckChild0Type, MVT::v4i32,
36772 OPC_CheckPatternPredicate0,
36773 OPC_EmitInteger64, 0,
36774 OPC_EmitStringInteger32, LoongArch::sub_128,
36775 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
36776 MVT::v32i8, 3, 1, 0, 2,
36777 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
36778 MVT::v32i8, 1, 3,
36779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
36780 MVT::v4f64, 1, 4,
36781 0,
36782 0,
36783 50|128,3, TARGET_VAL(ISD::ConstantFP),
36784 OPC_Scope, 56,
36785 OPC_CheckPredicate, 55,
36786 OPC_SwitchType , 24, MVT::f32,
36787 OPC_Scope, 10,
36788 OPC_CheckPatternPredicate, 11,
36789 OPC_EmitRegisterI64, LoongArch::R0,
36790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36791 MVT::f32, 1, 0,
36792 10,
36793 OPC_CheckPatternPredicate, 12,
36794 OPC_EmitRegisterI32, LoongArch::R0,
36795 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36796 MVT::f32, 1, 0,
36797 0,
36798 24, MVT::f64,
36799 OPC_Scope, 10,
36800 OPC_CheckPatternPredicate, 19,
36801 OPC_EmitRegisterI64, LoongArch::R0,
36802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36803 MVT::f64, 1, 0,
36804 10,
36805 OPC_CheckPatternPredicate, 20,
36806 OPC_EmitRegisterI32, LoongArch::R0,
36807 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36808 MVT::f64, 1, 0,
36809 0,
36810 0,
36811 80,
36812 OPC_CheckPredicate, 56,
36813 OPC_SwitchType , 36, MVT::f32,
36814 OPC_Scope, 16,
36815 OPC_CheckPatternPredicate, 11,
36816 OPC_EmitRegisterI64, LoongArch::R0,
36817 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36818 MVT::f32, 1, 0,
36819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
36820 MVT::f32, 1, 1,
36821 16,
36822 OPC_CheckPatternPredicate, 12,
36823 OPC_EmitRegisterI32, LoongArch::R0,
36824 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36825 MVT::f32, 1, 0,
36826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
36827 MVT::f32, 1, 1,
36828 0,
36829 36, MVT::f64,
36830 OPC_Scope, 16,
36831 OPC_CheckPatternPredicate, 19,
36832 OPC_EmitRegisterI64, LoongArch::R0,
36833 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36834 MVT::f64, 1, 0,
36835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36836 MVT::f64, 1, 1,
36837 16,
36838 OPC_CheckPatternPredicate, 20,
36839 OPC_EmitRegisterI32, LoongArch::R0,
36840 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36841 MVT::f64, 1, 0,
36842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36843 MVT::f64, 1, 1,
36844 0,
36845 0,
36846 46,
36847 OPC_CheckPredicate, 55,
36848 OPC_CheckType, MVT::f64,
36849 OPC_Scope, 19,
36850 OPC_CheckPatternPredicate, 24,
36851 OPC_EmitRegisterI64, LoongArch::R0,
36852 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36853 MVT::f64, 1, 0,
36854 OPC_EmitRegisterI64, LoongArch::R0,
36855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36856 MVT::f64, 2, 1, 2,
36857 19,
36858 OPC_CheckPatternPredicate, 22,
36859 OPC_EmitRegisterI32, LoongArch::R0,
36860 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36861 MVT::f64, 1, 0,
36862 OPC_EmitRegisterI32, LoongArch::R0,
36863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36864 MVT::f64, 2, 1, 2,
36865 0,
36866 116,
36867 OPC_CheckPredicate, 48,
36868 OPC_SwitchType , 54, MVT::f32,
36869 OPC_Scope, 25,
36870 OPC_CheckPatternPredicate, 11,
36871 OPC_EmitRegisterI64, LoongArch::R0,
36872 OPC_EmitInteger64, 2,
36873 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36874 MVT::i64, 2, 0, 1,
36875 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36876 MVT::f32, 1, 2,
36877 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36878 MVT::f32, 1, 3,
36879 25,
36880 OPC_CheckPatternPredicate, 12,
36881 OPC_EmitRegisterI32, LoongArch::R0,
36882 OPC_EmitInteger32, 2,
36883 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36884 MVT::i32, 2, 0, 1,
36885 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36886 MVT::f32, 1, 2,
36887 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
36888 MVT::f32, 1, 3,
36889 0,
36890 54, MVT::f64,
36891 OPC_Scope, 25,
36892 OPC_CheckPatternPredicate, 19,
36893 OPC_EmitRegisterI64, LoongArch::R0,
36894 OPC_EmitInteger64, 2,
36895 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
36896 MVT::i64, 2, 0, 1,
36897 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36898 MVT::f64, 1, 2,
36899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36900 MVT::f64, 1, 3,
36901 25,
36902 OPC_CheckPatternPredicate, 20,
36903 OPC_EmitRegisterI32, LoongArch::R0,
36904 OPC_EmitInteger32, 2,
36905 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_D),
36906 MVT::i32, 2, 0, 1,
36907 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
36908 MVT::f64, 1, 2,
36909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
36910 MVT::f64, 1, 3,
36911 0,
36912 0,
36913 58,
36914 OPC_CheckPredicate, 56,
36915 OPC_CheckType, MVT::f64,
36916 OPC_Scope, 25,
36917 OPC_CheckPatternPredicate, 24,
36918 OPC_EmitRegisterI64, LoongArch::R0,
36919 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36920 MVT::f64, 1, 0,
36921 OPC_EmitRegisterI64, LoongArch::R0,
36922 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36923 MVT::f64, 2, 1, 2,
36924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36925 MVT::f64, 1, 3,
36926 25,
36927 OPC_CheckPatternPredicate, 22,
36928 OPC_EmitRegisterI32, LoongArch::R0,
36929 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
36930 MVT::f64, 1, 0,
36931 OPC_EmitRegisterI32, LoongArch::R0,
36932 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
36933 MVT::f64, 2, 1, 2,
36934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
36935 MVT::f64, 1, 3,
36936 0,
36937 70,
36938 OPC_CheckPredicate, 48,
36939 OPC_CheckType, MVT::f64,
36940 OPC_Scope, 31,
36941 OPC_CheckPatternPredicate, 24,
36942 OPC_EmitRegisterI64, LoongArch::R0,
36943 OPC_EmitInteger64, 2,
36944 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36945 MVT::i64, 2, 0, 1,
36946 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36947 MVT::f32, 1, 2,
36948 OPC_EmitNode1None, TARGET_VAL(LoongArch::FFINT_S_W),
36949 MVT::f32, 1, 3,
36950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
36951 MVT::f64, 1, 4,
36952 31,
36953 OPC_CheckPatternPredicate, 22,
36954 OPC_EmitRegisterI32, LoongArch::R0,
36955 OPC_EmitInteger32, 2,
36956 OPC_EmitNode1None, TARGET_VAL(LoongArch::ADDI_W),
36957 MVT::i32, 2, 0, 1,
36958 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
36959 MVT::f32, 1, 2,
36960 OPC_EmitNode1None, TARGET_VAL(LoongArch::FFINT_S_W),
36961 MVT::f32, 1, 3,
36962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
36963 MVT::f64, 1, 4,
36964 0,
36965 0,
36966 66, TARGET_VAL(ISD::FADD),
36967 OPC_RecordChild0,
36968 OPC_RecordChild1,
36969 OPC_SwitchType , 9, MVT::f32,
36970 OPC_CheckPatternPredicate, 17,
36971 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_S),
36972 MVT::f32, 2, 0, 1,
36973 9, MVT::f64,
36974 OPC_CheckPatternPredicate, 16,
36975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_D),
36976 MVT::f64, 2, 0, 1,
36977 8, MVT::v4f32,
36978 OPC_CheckPatternPredicate1,
36979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_S),
36980 MVT::v4f32, 2, 0, 1,
36981 8, MVT::v2f64,
36982 OPC_CheckPatternPredicate1,
36983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_D),
36984 MVT::v2f64, 2, 0, 1,
36985 8, MVT::v8f32,
36986 OPC_CheckPatternPredicate0,
36987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_S),
36988 MVT::v8f32, 2, 0, 1,
36989 8, MVT::v4f64,
36990 OPC_CheckPatternPredicate0,
36991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_D),
36992 MVT::v4f64, 2, 0, 1,
36993 0,
36994 66, TARGET_VAL(ISD::FSUB),
36995 OPC_RecordChild0,
36996 OPC_RecordChild1,
36997 OPC_SwitchType , 9, MVT::f32,
36998 OPC_CheckPatternPredicate, 17,
36999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_S),
37000 MVT::f32, 2, 0, 1,
37001 9, MVT::f64,
37002 OPC_CheckPatternPredicate, 16,
37003 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_D),
37004 MVT::f64, 2, 0, 1,
37005 8, MVT::v4f32,
37006 OPC_CheckPatternPredicate1,
37007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_S),
37008 MVT::v4f32, 2, 0, 1,
37009 8, MVT::v2f64,
37010 OPC_CheckPatternPredicate1,
37011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_D),
37012 MVT::v2f64, 2, 0, 1,
37013 8, MVT::v8f32,
37014 OPC_CheckPatternPredicate0,
37015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_S),
37016 MVT::v8f32, 2, 0, 1,
37017 8, MVT::v4f64,
37018 OPC_CheckPatternPredicate0,
37019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_D),
37020 MVT::v4f64, 2, 0, 1,
37021 0,
37022 66, TARGET_VAL(ISD::FMUL),
37023 OPC_RecordChild0,
37024 OPC_RecordChild1,
37025 OPC_SwitchType , 9, MVT::f32,
37026 OPC_CheckPatternPredicate, 17,
37027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_S),
37028 MVT::f32, 2, 0, 1,
37029 9, MVT::f64,
37030 OPC_CheckPatternPredicate, 16,
37031 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_D),
37032 MVT::f64, 2, 0, 1,
37033 8, MVT::v4f32,
37034 OPC_CheckPatternPredicate1,
37035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_S),
37036 MVT::v4f32, 2, 0, 1,
37037 8, MVT::v2f64,
37038 OPC_CheckPatternPredicate1,
37039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_D),
37040 MVT::v2f64, 2, 0, 1,
37041 8, MVT::v8f32,
37042 OPC_CheckPatternPredicate0,
37043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_S),
37044 MVT::v8f32, 2, 0, 1,
37045 8, MVT::v4f64,
37046 OPC_CheckPatternPredicate0,
37047 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_D),
37048 MVT::v4f64, 2, 0, 1,
37049 0,
37050 70, TARGET_VAL(ISD::FCOPYSIGN),
37051 OPC_RecordChild0,
37052 OPC_RecordChild1,
37053 OPC_Scope, 32,
37054 OPC_CheckChild1Type, MVT::f32,
37055 OPC_SwitchType , 9, MVT::f32,
37056 OPC_CheckPatternPredicate, 17,
37057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
37058 MVT::f32, 2, 0, 1,
37059 15, MVT::f64,
37060 OPC_CheckPatternPredicate, 16,
37061 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_D_S),
37062 MVT::f64, 1, 1,
37063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
37064 MVT::f64, 2, 0, 2,
37065 0,
37066 32,
37067 OPC_CheckChild1Type, MVT::f64,
37068 OPC_SwitchType , 9, MVT::f64,
37069 OPC_CheckPatternPredicate, 16,
37070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
37071 MVT::f64, 2, 0, 1,
37072 15, MVT::f32,
37073 OPC_CheckPatternPredicate, 16,
37074 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_S_D),
37075 MVT::f32, 1, 1,
37076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
37077 MVT::f32, 2, 0, 2,
37078 0,
37079 0,
37080 26, TARGET_VAL(ISD::FMAXNUM_IEEE),
37081 OPC_RecordChild0,
37082 OPC_RecordChild1,
37083 OPC_SwitchType , 9, MVT::f32,
37084 OPC_CheckPatternPredicate, 17,
37085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
37086 MVT::f32, 2, 0, 1,
37087 9, MVT::f64,
37088 OPC_CheckPatternPredicate, 16,
37089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
37090 MVT::f64, 2, 0, 1,
37091 0,
37092 26, TARGET_VAL(ISD::FMINNUM_IEEE),
37093 OPC_RecordChild0,
37094 OPC_RecordChild1,
37095 OPC_SwitchType , 9, MVT::f32,
37096 OPC_CheckPatternPredicate, 17,
37097 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_S),
37098 MVT::f32, 2, 0, 1,
37099 9, MVT::f64,
37100 OPC_CheckPatternPredicate, 16,
37101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_D),
37102 MVT::f64, 2, 0, 1,
37103 0,
37104 23, TARGET_VAL(ISD::FABS),
37105 OPC_RecordChild0,
37106 OPC_SwitchType , 8, MVT::f32,
37107 OPC_CheckPatternPredicate, 17,
37108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_S),
37109 MVT::f32, 1, 0,
37110 8, MVT::f64,
37111 OPC_CheckPatternPredicate, 16,
37112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_D),
37113 MVT::f64, 1, 0,
37114 0,
37115 59, TARGET_VAL(ISD::FSQRT),
37116 OPC_RecordChild0,
37117 OPC_SwitchType , 8, MVT::f32,
37118 OPC_CheckPatternPredicate, 17,
37119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_S),
37120 MVT::f32, 1, 0,
37121 8, MVT::f64,
37122 OPC_CheckPatternPredicate, 16,
37123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_D),
37124 MVT::f64, 1, 0,
37125 7, MVT::v4f32,
37126 OPC_CheckPatternPredicate1,
37127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
37128 MVT::v4f32, 1, 0,
37129 7, MVT::v2f64,
37130 OPC_CheckPatternPredicate1,
37131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
37132 MVT::v2f64, 1, 0,
37133 7, MVT::v8f32,
37134 OPC_CheckPatternPredicate0,
37135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
37136 MVT::v8f32, 1, 0,
37137 7, MVT::v4f64,
37138 OPC_CheckPatternPredicate0,
37139 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
37140 MVT::v4f64, 1, 0,
37141 0,
37142 25, TARGET_VAL(ISD::FCANONICALIZE),
37143 OPC_RecordChild0,
37144 OPC_SwitchType , 9, MVT::f32,
37145 OPC_CheckPatternPredicate, 17,
37146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
37147 MVT::f32, 2, 0, 0,
37148 9, MVT::f64,
37149 OPC_CheckPatternPredicate, 16,
37150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
37151 MVT::f64, 2, 0, 0,
37152 0,
37153 53, TARGET_VAL(LoongArchISD::FTINT),
37154 OPC_RecordChild0,
37155 OPC_Scope, 24,
37156 OPC_CheckChild0Type, MVT::f32,
37157 OPC_SwitchType , 8, MVT::f32,
37158 OPC_CheckPatternPredicate, 17,
37159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_S),
37160 MVT::f32, 1, 0,
37161 8, MVT::f64,
37162 OPC_CheckPatternPredicate, 16,
37163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_S),
37164 MVT::f64, 1, 0,
37165 0,
37166 24,
37167 OPC_CheckChild0Type, MVT::f64,
37168 OPC_SwitchType , 8, MVT::f32,
37169 OPC_CheckPatternPredicate, 16,
37170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_D),
37171 MVT::f32, 1, 0,
37172 8, MVT::f64,
37173 OPC_CheckPatternPredicate, 16,
37174 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_D),
37175 MVT::f64, 1, 0,
37176 0,
37177 0,
37178 23, TARGET_VAL(ISD::FRINT),
37179 OPC_RecordChild0,
37180 OPC_SwitchType , 8, MVT::f32,
37181 OPC_CheckPatternPredicate, 11,
37182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_S),
37183 MVT::f32, 1, 0,
37184 8, MVT::f64,
37185 OPC_CheckPatternPredicate, 13,
37186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_D),
37187 MVT::f64, 1, 0,
37188 0,
37189 11, TARGET_VAL(ISD::FP_ROUND),
37190 OPC_RecordChild0,
37191 OPC_CheckType, MVT::f32,
37192 OPC_CheckPatternPredicate, 16,
37193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_S_D),
37194 MVT::f32, 1, 0,
37195 11, TARGET_VAL(ISD::FP_EXTEND),
37196 OPC_RecordChild0,
37197 OPC_CheckType, MVT::f64,
37198 OPC_CheckPatternPredicate, 16,
37199 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
37200 MVT::f64, 1, 0,
37201 9, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
37202 OPC_RecordChild0,
37203 OPC_CheckPatternPredicate, 21,
37204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
37205 MVT::f32, 1, 0,
37206 76|128,3, TARGET_VAL(ISD::SMAX),
37207 OPC_RecordChild0,
37208 OPC_RecordChild1,
37209 OPC_SwitchType , 55, MVT::v16i8,
37210 OPC_Scope, 10,
37211 OPC_CheckPatternPredicate3,
37212 OPC_CheckComplexPat3, /*#*/1,
37213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37214 MVT::v16i8, 2, 0, 2,
37215 10,
37216 OPC_CheckPatternPredicate5,
37217 OPC_CheckComplexPat3, /*#*/1,
37218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37219 MVT::v16i8, 2, 0, 2,
37220 10,
37221 OPC_CheckPatternPredicate3,
37222 OPC_CheckComplexPat3, /*#*/0,
37223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37224 MVT::v16i8, 2, 1, 2,
37225 10,
37226 OPC_CheckPatternPredicate5,
37227 OPC_CheckComplexPat3, /*#*/0,
37228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
37229 MVT::v16i8, 2, 1, 2,
37230 8,
37231 OPC_CheckPatternPredicate1,
37232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_B),
37233 MVT::v16i8, 2, 0, 1,
37234 0,
37235 55, MVT::v8i16,
37236 OPC_Scope, 10,
37237 OPC_CheckPatternPredicate3,
37238 OPC_CheckComplexPat3, /*#*/1,
37239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37240 MVT::v8i16, 2, 0, 2,
37241 10,
37242 OPC_CheckPatternPredicate5,
37243 OPC_CheckComplexPat3, /*#*/1,
37244 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37245 MVT::v8i16, 2, 0, 2,
37246 10,
37247 OPC_CheckPatternPredicate3,
37248 OPC_CheckComplexPat3, /*#*/0,
37249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37250 MVT::v8i16, 2, 1, 2,
37251 10,
37252 OPC_CheckPatternPredicate5,
37253 OPC_CheckComplexPat3, /*#*/0,
37254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
37255 MVT::v8i16, 2, 1, 2,
37256 8,
37257 OPC_CheckPatternPredicate1,
37258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_H),
37259 MVT::v8i16, 2, 0, 1,
37260 0,
37261 55, MVT::v4i32,
37262 OPC_Scope, 10,
37263 OPC_CheckPatternPredicate3,
37264 OPC_CheckComplexPat3, /*#*/1,
37265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37266 MVT::v4i32, 2, 0, 2,
37267 10,
37268 OPC_CheckPatternPredicate5,
37269 OPC_CheckComplexPat3, /*#*/1,
37270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37271 MVT::v4i32, 2, 0, 2,
37272 10,
37273 OPC_CheckPatternPredicate3,
37274 OPC_CheckComplexPat3, /*#*/0,
37275 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37276 MVT::v4i32, 2, 1, 2,
37277 10,
37278 OPC_CheckPatternPredicate5,
37279 OPC_CheckComplexPat3, /*#*/0,
37280 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
37281 MVT::v4i32, 2, 1, 2,
37282 8,
37283 OPC_CheckPatternPredicate1,
37284 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_W),
37285 MVT::v4i32, 2, 0, 1,
37286 0,
37287 55, MVT::v2i64,
37288 OPC_Scope, 10,
37289 OPC_CheckPatternPredicate3,
37290 OPC_CheckComplexPat3, /*#*/1,
37291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37292 MVT::v2i64, 2, 0, 2,
37293 10,
37294 OPC_CheckPatternPredicate5,
37295 OPC_CheckComplexPat3, /*#*/1,
37296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37297 MVT::v2i64, 2, 0, 2,
37298 10,
37299 OPC_CheckPatternPredicate3,
37300 OPC_CheckComplexPat3, /*#*/0,
37301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37302 MVT::v2i64, 2, 1, 2,
37303 10,
37304 OPC_CheckPatternPredicate5,
37305 OPC_CheckComplexPat3, /*#*/0,
37306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
37307 MVT::v2i64, 2, 1, 2,
37308 8,
37309 OPC_CheckPatternPredicate1,
37310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_D),
37311 MVT::v2i64, 2, 0, 1,
37312 0,
37313 55, MVT::v32i8,
37314 OPC_Scope, 10,
37315 OPC_CheckPatternPredicate2,
37316 OPC_CheckComplexPat3, /*#*/1,
37317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37318 MVT::v32i8, 2, 0, 2,
37319 10,
37320 OPC_CheckPatternPredicate4,
37321 OPC_CheckComplexPat3, /*#*/1,
37322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37323 MVT::v32i8, 2, 0, 2,
37324 10,
37325 OPC_CheckPatternPredicate2,
37326 OPC_CheckComplexPat3, /*#*/0,
37327 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37328 MVT::v32i8, 2, 1, 2,
37329 10,
37330 OPC_CheckPatternPredicate4,
37331 OPC_CheckComplexPat3, /*#*/0,
37332 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
37333 MVT::v32i8, 2, 1, 2,
37334 8,
37335 OPC_CheckPatternPredicate0,
37336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_B),
37337 MVT::v32i8, 2, 0, 1,
37338 0,
37339 55, MVT::v16i16,
37340 OPC_Scope, 10,
37341 OPC_CheckPatternPredicate2,
37342 OPC_CheckComplexPat3, /*#*/1,
37343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37344 MVT::v16i16, 2, 0, 2,
37345 10,
37346 OPC_CheckPatternPredicate4,
37347 OPC_CheckComplexPat3, /*#*/1,
37348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37349 MVT::v16i16, 2, 0, 2,
37350 10,
37351 OPC_CheckPatternPredicate2,
37352 OPC_CheckComplexPat3, /*#*/0,
37353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37354 MVT::v16i16, 2, 1, 2,
37355 10,
37356 OPC_CheckPatternPredicate4,
37357 OPC_CheckComplexPat3, /*#*/0,
37358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
37359 MVT::v16i16, 2, 1, 2,
37360 8,
37361 OPC_CheckPatternPredicate0,
37362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_H),
37363 MVT::v16i16, 2, 0, 1,
37364 0,
37365 55, MVT::v8i32,
37366 OPC_Scope, 10,
37367 OPC_CheckPatternPredicate2,
37368 OPC_CheckComplexPat3, /*#*/1,
37369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37370 MVT::v8i32, 2, 0, 2,
37371 10,
37372 OPC_CheckPatternPredicate4,
37373 OPC_CheckComplexPat3, /*#*/1,
37374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37375 MVT::v8i32, 2, 0, 2,
37376 10,
37377 OPC_CheckPatternPredicate2,
37378 OPC_CheckComplexPat3, /*#*/0,
37379 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37380 MVT::v8i32, 2, 1, 2,
37381 10,
37382 OPC_CheckPatternPredicate4,
37383 OPC_CheckComplexPat3, /*#*/0,
37384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
37385 MVT::v8i32, 2, 1, 2,
37386 8,
37387 OPC_CheckPatternPredicate0,
37388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_W),
37389 MVT::v8i32, 2, 0, 1,
37390 0,
37391 55, MVT::v4i64,
37392 OPC_Scope, 10,
37393 OPC_CheckPatternPredicate2,
37394 OPC_CheckComplexPat3, /*#*/1,
37395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37396 MVT::v4i64, 2, 0, 2,
37397 10,
37398 OPC_CheckPatternPredicate4,
37399 OPC_CheckComplexPat3, /*#*/1,
37400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37401 MVT::v4i64, 2, 0, 2,
37402 10,
37403 OPC_CheckPatternPredicate2,
37404 OPC_CheckComplexPat3, /*#*/0,
37405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37406 MVT::v4i64, 2, 1, 2,
37407 10,
37408 OPC_CheckPatternPredicate4,
37409 OPC_CheckComplexPat3, /*#*/0,
37410 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
37411 MVT::v4i64, 2, 1, 2,
37412 8,
37413 OPC_CheckPatternPredicate0,
37414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_D),
37415 MVT::v4i64, 2, 0, 1,
37416 0,
37417 0,
37418 76|128,3, TARGET_VAL(ISD::SMIN),
37419 OPC_RecordChild0,
37420 OPC_RecordChild1,
37421 OPC_SwitchType , 55, MVT::v16i8,
37422 OPC_Scope, 10,
37423 OPC_CheckPatternPredicate3,
37424 OPC_CheckComplexPat3, /*#*/1,
37425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37426 MVT::v16i8, 2, 0, 2,
37427 10,
37428 OPC_CheckPatternPredicate5,
37429 OPC_CheckComplexPat3, /*#*/1,
37430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37431 MVT::v16i8, 2, 0, 2,
37432 10,
37433 OPC_CheckPatternPredicate3,
37434 OPC_CheckComplexPat3, /*#*/0,
37435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37436 MVT::v16i8, 2, 1, 2,
37437 10,
37438 OPC_CheckPatternPredicate5,
37439 OPC_CheckComplexPat3, /*#*/0,
37440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
37441 MVT::v16i8, 2, 1, 2,
37442 8,
37443 OPC_CheckPatternPredicate1,
37444 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_B),
37445 MVT::v16i8, 2, 0, 1,
37446 0,
37447 55, MVT::v8i16,
37448 OPC_Scope, 10,
37449 OPC_CheckPatternPredicate3,
37450 OPC_CheckComplexPat3, /*#*/1,
37451 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37452 MVT::v8i16, 2, 0, 2,
37453 10,
37454 OPC_CheckPatternPredicate5,
37455 OPC_CheckComplexPat3, /*#*/1,
37456 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37457 MVT::v8i16, 2, 0, 2,
37458 10,
37459 OPC_CheckPatternPredicate3,
37460 OPC_CheckComplexPat3, /*#*/0,
37461 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37462 MVT::v8i16, 2, 1, 2,
37463 10,
37464 OPC_CheckPatternPredicate5,
37465 OPC_CheckComplexPat3, /*#*/0,
37466 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
37467 MVT::v8i16, 2, 1, 2,
37468 8,
37469 OPC_CheckPatternPredicate1,
37470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_H),
37471 MVT::v8i16, 2, 0, 1,
37472 0,
37473 55, MVT::v4i32,
37474 OPC_Scope, 10,
37475 OPC_CheckPatternPredicate3,
37476 OPC_CheckComplexPat3, /*#*/1,
37477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37478 MVT::v4i32, 2, 0, 2,
37479 10,
37480 OPC_CheckPatternPredicate5,
37481 OPC_CheckComplexPat3, /*#*/1,
37482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37483 MVT::v4i32, 2, 0, 2,
37484 10,
37485 OPC_CheckPatternPredicate3,
37486 OPC_CheckComplexPat3, /*#*/0,
37487 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37488 MVT::v4i32, 2, 1, 2,
37489 10,
37490 OPC_CheckPatternPredicate5,
37491 OPC_CheckComplexPat3, /*#*/0,
37492 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
37493 MVT::v4i32, 2, 1, 2,
37494 8,
37495 OPC_CheckPatternPredicate1,
37496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_W),
37497 MVT::v4i32, 2, 0, 1,
37498 0,
37499 55, MVT::v2i64,
37500 OPC_Scope, 10,
37501 OPC_CheckPatternPredicate3,
37502 OPC_CheckComplexPat3, /*#*/1,
37503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37504 MVT::v2i64, 2, 0, 2,
37505 10,
37506 OPC_CheckPatternPredicate5,
37507 OPC_CheckComplexPat3, /*#*/1,
37508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37509 MVT::v2i64, 2, 0, 2,
37510 10,
37511 OPC_CheckPatternPredicate3,
37512 OPC_CheckComplexPat3, /*#*/0,
37513 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37514 MVT::v2i64, 2, 1, 2,
37515 10,
37516 OPC_CheckPatternPredicate5,
37517 OPC_CheckComplexPat3, /*#*/0,
37518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
37519 MVT::v2i64, 2, 1, 2,
37520 8,
37521 OPC_CheckPatternPredicate1,
37522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_D),
37523 MVT::v2i64, 2, 0, 1,
37524 0,
37525 55, MVT::v32i8,
37526 OPC_Scope, 10,
37527 OPC_CheckPatternPredicate2,
37528 OPC_CheckComplexPat3, /*#*/1,
37529 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37530 MVT::v32i8, 2, 0, 2,
37531 10,
37532 OPC_CheckPatternPredicate4,
37533 OPC_CheckComplexPat3, /*#*/1,
37534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37535 MVT::v32i8, 2, 0, 2,
37536 10,
37537 OPC_CheckPatternPredicate2,
37538 OPC_CheckComplexPat3, /*#*/0,
37539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37540 MVT::v32i8, 2, 1, 2,
37541 10,
37542 OPC_CheckPatternPredicate4,
37543 OPC_CheckComplexPat3, /*#*/0,
37544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
37545 MVT::v32i8, 2, 1, 2,
37546 8,
37547 OPC_CheckPatternPredicate0,
37548 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_B),
37549 MVT::v32i8, 2, 0, 1,
37550 0,
37551 55, MVT::v16i16,
37552 OPC_Scope, 10,
37553 OPC_CheckPatternPredicate2,
37554 OPC_CheckComplexPat3, /*#*/1,
37555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37556 MVT::v16i16, 2, 0, 2,
37557 10,
37558 OPC_CheckPatternPredicate4,
37559 OPC_CheckComplexPat3, /*#*/1,
37560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37561 MVT::v16i16, 2, 0, 2,
37562 10,
37563 OPC_CheckPatternPredicate2,
37564 OPC_CheckComplexPat3, /*#*/0,
37565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37566 MVT::v16i16, 2, 1, 2,
37567 10,
37568 OPC_CheckPatternPredicate4,
37569 OPC_CheckComplexPat3, /*#*/0,
37570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
37571 MVT::v16i16, 2, 1, 2,
37572 8,
37573 OPC_CheckPatternPredicate0,
37574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_H),
37575 MVT::v16i16, 2, 0, 1,
37576 0,
37577 55, MVT::v8i32,
37578 OPC_Scope, 10,
37579 OPC_CheckPatternPredicate2,
37580 OPC_CheckComplexPat3, /*#*/1,
37581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37582 MVT::v8i32, 2, 0, 2,
37583 10,
37584 OPC_CheckPatternPredicate4,
37585 OPC_CheckComplexPat3, /*#*/1,
37586 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37587 MVT::v8i32, 2, 0, 2,
37588 10,
37589 OPC_CheckPatternPredicate2,
37590 OPC_CheckComplexPat3, /*#*/0,
37591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37592 MVT::v8i32, 2, 1, 2,
37593 10,
37594 OPC_CheckPatternPredicate4,
37595 OPC_CheckComplexPat3, /*#*/0,
37596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
37597 MVT::v8i32, 2, 1, 2,
37598 8,
37599 OPC_CheckPatternPredicate0,
37600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_W),
37601 MVT::v8i32, 2, 0, 1,
37602 0,
37603 55, MVT::v4i64,
37604 OPC_Scope, 10,
37605 OPC_CheckPatternPredicate2,
37606 OPC_CheckComplexPat3, /*#*/1,
37607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37608 MVT::v4i64, 2, 0, 2,
37609 10,
37610 OPC_CheckPatternPredicate4,
37611 OPC_CheckComplexPat3, /*#*/1,
37612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37613 MVT::v4i64, 2, 0, 2,
37614 10,
37615 OPC_CheckPatternPredicate2,
37616 OPC_CheckComplexPat3, /*#*/0,
37617 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37618 MVT::v4i64, 2, 1, 2,
37619 10,
37620 OPC_CheckPatternPredicate4,
37621 OPC_CheckComplexPat3, /*#*/0,
37622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
37623 MVT::v4i64, 2, 1, 2,
37624 8,
37625 OPC_CheckPatternPredicate0,
37626 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_D),
37627 MVT::v4i64, 2, 0, 1,
37628 0,
37629 0,
37630 76|128,3, TARGET_VAL(ISD::UMAX),
37631 OPC_RecordChild0,
37632 OPC_RecordChild1,
37633 OPC_SwitchType , 55, MVT::v16i8,
37634 OPC_Scope, 10,
37635 OPC_CheckPatternPredicate3,
37636 OPC_CheckComplexPat1, /*#*/1,
37637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37638 MVT::v16i8, 2, 0, 2,
37639 10,
37640 OPC_CheckPatternPredicate5,
37641 OPC_CheckComplexPat1, /*#*/1,
37642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37643 MVT::v16i8, 2, 0, 2,
37644 10,
37645 OPC_CheckPatternPredicate3,
37646 OPC_CheckComplexPat1, /*#*/0,
37647 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37648 MVT::v16i8, 2, 1, 2,
37649 10,
37650 OPC_CheckPatternPredicate5,
37651 OPC_CheckComplexPat1, /*#*/0,
37652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
37653 MVT::v16i8, 2, 1, 2,
37654 8,
37655 OPC_CheckPatternPredicate1,
37656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_BU),
37657 MVT::v16i8, 2, 0, 1,
37658 0,
37659 55, MVT::v8i16,
37660 OPC_Scope, 10,
37661 OPC_CheckPatternPredicate3,
37662 OPC_CheckComplexPat1, /*#*/1,
37663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37664 MVT::v8i16, 2, 0, 2,
37665 10,
37666 OPC_CheckPatternPredicate5,
37667 OPC_CheckComplexPat1, /*#*/1,
37668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37669 MVT::v8i16, 2, 0, 2,
37670 10,
37671 OPC_CheckPatternPredicate3,
37672 OPC_CheckComplexPat1, /*#*/0,
37673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37674 MVT::v8i16, 2, 1, 2,
37675 10,
37676 OPC_CheckPatternPredicate5,
37677 OPC_CheckComplexPat1, /*#*/0,
37678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
37679 MVT::v8i16, 2, 1, 2,
37680 8,
37681 OPC_CheckPatternPredicate1,
37682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_HU),
37683 MVT::v8i16, 2, 0, 1,
37684 0,
37685 55, MVT::v4i32,
37686 OPC_Scope, 10,
37687 OPC_CheckPatternPredicate3,
37688 OPC_CheckComplexPat1, /*#*/1,
37689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37690 MVT::v4i32, 2, 0, 2,
37691 10,
37692 OPC_CheckPatternPredicate5,
37693 OPC_CheckComplexPat1, /*#*/1,
37694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37695 MVT::v4i32, 2, 0, 2,
37696 10,
37697 OPC_CheckPatternPredicate3,
37698 OPC_CheckComplexPat1, /*#*/0,
37699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37700 MVT::v4i32, 2, 1, 2,
37701 10,
37702 OPC_CheckPatternPredicate5,
37703 OPC_CheckComplexPat1, /*#*/0,
37704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
37705 MVT::v4i32, 2, 1, 2,
37706 8,
37707 OPC_CheckPatternPredicate1,
37708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_WU),
37709 MVT::v4i32, 2, 0, 1,
37710 0,
37711 55, MVT::v2i64,
37712 OPC_Scope, 10,
37713 OPC_CheckPatternPredicate3,
37714 OPC_CheckComplexPat1, /*#*/1,
37715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37716 MVT::v2i64, 2, 0, 2,
37717 10,
37718 OPC_CheckPatternPredicate5,
37719 OPC_CheckComplexPat1, /*#*/1,
37720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37721 MVT::v2i64, 2, 0, 2,
37722 10,
37723 OPC_CheckPatternPredicate3,
37724 OPC_CheckComplexPat1, /*#*/0,
37725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37726 MVT::v2i64, 2, 1, 2,
37727 10,
37728 OPC_CheckPatternPredicate5,
37729 OPC_CheckComplexPat1, /*#*/0,
37730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
37731 MVT::v2i64, 2, 1, 2,
37732 8,
37733 OPC_CheckPatternPredicate1,
37734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_DU),
37735 MVT::v2i64, 2, 0, 1,
37736 0,
37737 55, MVT::v32i8,
37738 OPC_Scope, 10,
37739 OPC_CheckPatternPredicate2,
37740 OPC_CheckComplexPat1, /*#*/1,
37741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37742 MVT::v32i8, 2, 0, 2,
37743 10,
37744 OPC_CheckPatternPredicate4,
37745 OPC_CheckComplexPat1, /*#*/1,
37746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37747 MVT::v32i8, 2, 0, 2,
37748 10,
37749 OPC_CheckPatternPredicate2,
37750 OPC_CheckComplexPat1, /*#*/0,
37751 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37752 MVT::v32i8, 2, 1, 2,
37753 10,
37754 OPC_CheckPatternPredicate4,
37755 OPC_CheckComplexPat1, /*#*/0,
37756 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
37757 MVT::v32i8, 2, 1, 2,
37758 8,
37759 OPC_CheckPatternPredicate0,
37760 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_BU),
37761 MVT::v32i8, 2, 0, 1,
37762 0,
37763 55, MVT::v16i16,
37764 OPC_Scope, 10,
37765 OPC_CheckPatternPredicate2,
37766 OPC_CheckComplexPat1, /*#*/1,
37767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37768 MVT::v16i16, 2, 0, 2,
37769 10,
37770 OPC_CheckPatternPredicate4,
37771 OPC_CheckComplexPat1, /*#*/1,
37772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37773 MVT::v16i16, 2, 0, 2,
37774 10,
37775 OPC_CheckPatternPredicate2,
37776 OPC_CheckComplexPat1, /*#*/0,
37777 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37778 MVT::v16i16, 2, 1, 2,
37779 10,
37780 OPC_CheckPatternPredicate4,
37781 OPC_CheckComplexPat1, /*#*/0,
37782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
37783 MVT::v16i16, 2, 1, 2,
37784 8,
37785 OPC_CheckPatternPredicate0,
37786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_HU),
37787 MVT::v16i16, 2, 0, 1,
37788 0,
37789 55, MVT::v8i32,
37790 OPC_Scope, 10,
37791 OPC_CheckPatternPredicate2,
37792 OPC_CheckComplexPat1, /*#*/1,
37793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37794 MVT::v8i32, 2, 0, 2,
37795 10,
37796 OPC_CheckPatternPredicate4,
37797 OPC_CheckComplexPat1, /*#*/1,
37798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37799 MVT::v8i32, 2, 0, 2,
37800 10,
37801 OPC_CheckPatternPredicate2,
37802 OPC_CheckComplexPat1, /*#*/0,
37803 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37804 MVT::v8i32, 2, 1, 2,
37805 10,
37806 OPC_CheckPatternPredicate4,
37807 OPC_CheckComplexPat1, /*#*/0,
37808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
37809 MVT::v8i32, 2, 1, 2,
37810 8,
37811 OPC_CheckPatternPredicate0,
37812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_WU),
37813 MVT::v8i32, 2, 0, 1,
37814 0,
37815 55, MVT::v4i64,
37816 OPC_Scope, 10,
37817 OPC_CheckPatternPredicate2,
37818 OPC_CheckComplexPat1, /*#*/1,
37819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37820 MVT::v4i64, 2, 0, 2,
37821 10,
37822 OPC_CheckPatternPredicate4,
37823 OPC_CheckComplexPat1, /*#*/1,
37824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37825 MVT::v4i64, 2, 0, 2,
37826 10,
37827 OPC_CheckPatternPredicate2,
37828 OPC_CheckComplexPat1, /*#*/0,
37829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37830 MVT::v4i64, 2, 1, 2,
37831 10,
37832 OPC_CheckPatternPredicate4,
37833 OPC_CheckComplexPat1, /*#*/0,
37834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
37835 MVT::v4i64, 2, 1, 2,
37836 8,
37837 OPC_CheckPatternPredicate0,
37838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_DU),
37839 MVT::v4i64, 2, 0, 1,
37840 0,
37841 0,
37842 76|128,3, TARGET_VAL(ISD::UMIN),
37843 OPC_RecordChild0,
37844 OPC_RecordChild1,
37845 OPC_SwitchType , 55, MVT::v16i8,
37846 OPC_Scope, 10,
37847 OPC_CheckPatternPredicate3,
37848 OPC_CheckComplexPat1, /*#*/1,
37849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37850 MVT::v16i8, 2, 0, 2,
37851 10,
37852 OPC_CheckPatternPredicate5,
37853 OPC_CheckComplexPat1, /*#*/1,
37854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37855 MVT::v16i8, 2, 0, 2,
37856 10,
37857 OPC_CheckPatternPredicate3,
37858 OPC_CheckComplexPat1, /*#*/0,
37859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37860 MVT::v16i8, 2, 1, 2,
37861 10,
37862 OPC_CheckPatternPredicate5,
37863 OPC_CheckComplexPat1, /*#*/0,
37864 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
37865 MVT::v16i8, 2, 1, 2,
37866 8,
37867 OPC_CheckPatternPredicate1,
37868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_BU),
37869 MVT::v16i8, 2, 0, 1,
37870 0,
37871 55, MVT::v8i16,
37872 OPC_Scope, 10,
37873 OPC_CheckPatternPredicate3,
37874 OPC_CheckComplexPat1, /*#*/1,
37875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37876 MVT::v8i16, 2, 0, 2,
37877 10,
37878 OPC_CheckPatternPredicate5,
37879 OPC_CheckComplexPat1, /*#*/1,
37880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37881 MVT::v8i16, 2, 0, 2,
37882 10,
37883 OPC_CheckPatternPredicate3,
37884 OPC_CheckComplexPat1, /*#*/0,
37885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37886 MVT::v8i16, 2, 1, 2,
37887 10,
37888 OPC_CheckPatternPredicate5,
37889 OPC_CheckComplexPat1, /*#*/0,
37890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
37891 MVT::v8i16, 2, 1, 2,
37892 8,
37893 OPC_CheckPatternPredicate1,
37894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_HU),
37895 MVT::v8i16, 2, 0, 1,
37896 0,
37897 55, MVT::v4i32,
37898 OPC_Scope, 10,
37899 OPC_CheckPatternPredicate3,
37900 OPC_CheckComplexPat1, /*#*/1,
37901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37902 MVT::v4i32, 2, 0, 2,
37903 10,
37904 OPC_CheckPatternPredicate5,
37905 OPC_CheckComplexPat1, /*#*/1,
37906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37907 MVT::v4i32, 2, 0, 2,
37908 10,
37909 OPC_CheckPatternPredicate3,
37910 OPC_CheckComplexPat1, /*#*/0,
37911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37912 MVT::v4i32, 2, 1, 2,
37913 10,
37914 OPC_CheckPatternPredicate5,
37915 OPC_CheckComplexPat1, /*#*/0,
37916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
37917 MVT::v4i32, 2, 1, 2,
37918 8,
37919 OPC_CheckPatternPredicate1,
37920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_WU),
37921 MVT::v4i32, 2, 0, 1,
37922 0,
37923 55, MVT::v2i64,
37924 OPC_Scope, 10,
37925 OPC_CheckPatternPredicate3,
37926 OPC_CheckComplexPat1, /*#*/1,
37927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37928 MVT::v2i64, 2, 0, 2,
37929 10,
37930 OPC_CheckPatternPredicate5,
37931 OPC_CheckComplexPat1, /*#*/1,
37932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37933 MVT::v2i64, 2, 0, 2,
37934 10,
37935 OPC_CheckPatternPredicate3,
37936 OPC_CheckComplexPat1, /*#*/0,
37937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37938 MVT::v2i64, 2, 1, 2,
37939 10,
37940 OPC_CheckPatternPredicate5,
37941 OPC_CheckComplexPat1, /*#*/0,
37942 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
37943 MVT::v2i64, 2, 1, 2,
37944 8,
37945 OPC_CheckPatternPredicate1,
37946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_DU),
37947 MVT::v2i64, 2, 0, 1,
37948 0,
37949 55, MVT::v32i8,
37950 OPC_Scope, 10,
37951 OPC_CheckPatternPredicate2,
37952 OPC_CheckComplexPat1, /*#*/1,
37953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37954 MVT::v32i8, 2, 0, 2,
37955 10,
37956 OPC_CheckPatternPredicate4,
37957 OPC_CheckComplexPat1, /*#*/1,
37958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37959 MVT::v32i8, 2, 0, 2,
37960 10,
37961 OPC_CheckPatternPredicate2,
37962 OPC_CheckComplexPat1, /*#*/0,
37963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37964 MVT::v32i8, 2, 1, 2,
37965 10,
37966 OPC_CheckPatternPredicate4,
37967 OPC_CheckComplexPat1, /*#*/0,
37968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
37969 MVT::v32i8, 2, 1, 2,
37970 8,
37971 OPC_CheckPatternPredicate0,
37972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_BU),
37973 MVT::v32i8, 2, 0, 1,
37974 0,
37975 55, MVT::v16i16,
37976 OPC_Scope, 10,
37977 OPC_CheckPatternPredicate2,
37978 OPC_CheckComplexPat1, /*#*/1,
37979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37980 MVT::v16i16, 2, 0, 2,
37981 10,
37982 OPC_CheckPatternPredicate4,
37983 OPC_CheckComplexPat1, /*#*/1,
37984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37985 MVT::v16i16, 2, 0, 2,
37986 10,
37987 OPC_CheckPatternPredicate2,
37988 OPC_CheckComplexPat1, /*#*/0,
37989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37990 MVT::v16i16, 2, 1, 2,
37991 10,
37992 OPC_CheckPatternPredicate4,
37993 OPC_CheckComplexPat1, /*#*/0,
37994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
37995 MVT::v16i16, 2, 1, 2,
37996 8,
37997 OPC_CheckPatternPredicate0,
37998 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_HU),
37999 MVT::v16i16, 2, 0, 1,
38000 0,
38001 55, MVT::v8i32,
38002 OPC_Scope, 10,
38003 OPC_CheckPatternPredicate2,
38004 OPC_CheckComplexPat1, /*#*/1,
38005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
38006 MVT::v8i32, 2, 0, 2,
38007 10,
38008 OPC_CheckPatternPredicate4,
38009 OPC_CheckComplexPat1, /*#*/1,
38010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
38011 MVT::v8i32, 2, 0, 2,
38012 10,
38013 OPC_CheckPatternPredicate2,
38014 OPC_CheckComplexPat1, /*#*/0,
38015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
38016 MVT::v8i32, 2, 1, 2,
38017 10,
38018 OPC_CheckPatternPredicate4,
38019 OPC_CheckComplexPat1, /*#*/0,
38020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
38021 MVT::v8i32, 2, 1, 2,
38022 8,
38023 OPC_CheckPatternPredicate0,
38024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_WU),
38025 MVT::v8i32, 2, 0, 1,
38026 0,
38027 55, MVT::v4i64,
38028 OPC_Scope, 10,
38029 OPC_CheckPatternPredicate2,
38030 OPC_CheckComplexPat1, /*#*/1,
38031 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
38032 MVT::v4i64, 2, 0, 2,
38033 10,
38034 OPC_CheckPatternPredicate4,
38035 OPC_CheckComplexPat1, /*#*/1,
38036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
38037 MVT::v4i64, 2, 0, 2,
38038 10,
38039 OPC_CheckPatternPredicate2,
38040 OPC_CheckComplexPat1, /*#*/0,
38041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
38042 MVT::v4i64, 2, 1, 2,
38043 10,
38044 OPC_CheckPatternPredicate4,
38045 OPC_CheckComplexPat1, /*#*/0,
38046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
38047 MVT::v4i64, 2, 1, 2,
38048 8,
38049 OPC_CheckPatternPredicate0,
38050 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_DU),
38051 MVT::v4i64, 2, 0, 1,
38052 0,
38053 0,
38054 124|128,1, TARGET_VAL(ISD::VSELECT),
38055 OPC_RecordChild0,
38056 OPC_Scope, 32,
38057 OPC_CheckChild0Type, MVT::v16i8,
38058 OPC_RecordChild1,
38059 OPC_RecordChild2,
38060 OPC_CheckType, MVT::v16i8,
38061 OPC_Scope, 11,
38062 OPC_CheckPatternPredicate3,
38063 OPC_CheckComplexPat7, /*#*/1,
38064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
38065 MVT::v16i8, 3, 0, 2, 3,
38066 11,
38067 OPC_CheckPatternPredicate5,
38068 OPC_CheckComplexPat7, /*#*/1,
38069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
38070 MVT::v16i8, 3, 0, 2, 3,
38071 0,
38072 30,
38073 OPC_RecordChild1,
38074 OPC_RecordChild2,
38075 OPC_CheckType, MVT::v32i8,
38076 OPC_Scope, 11,
38077 OPC_CheckPatternPredicate2,
38078 OPC_CheckComplexPat7, /*#*/1,
38079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
38080 MVT::v32i8, 3, 0, 2, 3,
38081 11,
38082 OPC_CheckPatternPredicate4,
38083 OPC_CheckComplexPat7, /*#*/1,
38084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
38085 MVT::v32i8, 3, 0, 2, 3,
38086 0,
38087 15,
38088 OPC_CheckChild0Type, MVT::v16i8,
38089 OPC_RecordChild1,
38090 OPC_RecordChild2,
38091 OPC_CheckType, MVT::v16i8,
38092 OPC_CheckPatternPredicate1,
38093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38094 MVT::v16i8, 3, 2, 1, 0,
38095 15,
38096 OPC_CheckChild0Type, MVT::v8i16,
38097 OPC_RecordChild1,
38098 OPC_RecordChild2,
38099 OPC_CheckType, MVT::v8i16,
38100 OPC_CheckPatternPredicate1,
38101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38102 MVT::v8i16, 3, 2, 1, 0,
38103 15,
38104 OPC_CheckChild0Type, MVT::v4i32,
38105 OPC_RecordChild1,
38106 OPC_RecordChild2,
38107 OPC_CheckType, MVT::v4i32,
38108 OPC_CheckPatternPredicate1,
38109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38110 MVT::v4i32, 3, 2, 1, 0,
38111 26,
38112 OPC_RecordChild1,
38113 OPC_RecordChild2,
38114 OPC_SwitchType , 9, MVT::v2i64,
38115 OPC_CheckPatternPredicate1,
38116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38117 MVT::v2i64, 3, 2, 1, 0,
38118 9, MVT::v32i8,
38119 OPC_CheckPatternPredicate0,
38120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38121 MVT::v32i8, 3, 2, 1, 0,
38122 0,
38123 15,
38124 OPC_CheckChild0Type, MVT::v16i16,
38125 OPC_RecordChild1,
38126 OPC_RecordChild2,
38127 OPC_CheckType, MVT::v16i16,
38128 OPC_CheckPatternPredicate0,
38129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38130 MVT::v16i16, 3, 2, 1, 0,
38131 15,
38132 OPC_CheckChild0Type, MVT::v8i32,
38133 OPC_RecordChild1,
38134 OPC_RecordChild2,
38135 OPC_CheckType, MVT::v8i32,
38136 OPC_CheckPatternPredicate0,
38137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38138 MVT::v8i32, 3, 2, 1, 0,
38139 15,
38140 OPC_CheckChild0Type, MVT::v4i64,
38141 OPC_RecordChild1,
38142 OPC_RecordChild2,
38143 OPC_CheckType, MVT::v4i64,
38144 OPC_CheckPatternPredicate0,
38145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38146 MVT::v4i64, 3, 2, 1, 0,
38147 15,
38148 OPC_CheckChild0Type, MVT::v4i32,
38149 OPC_RecordChild1,
38150 OPC_RecordChild2,
38151 OPC_CheckType, MVT::v4f32,
38152 OPC_CheckPatternPredicate1,
38153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38154 MVT::v4f32, 3, 2, 1, 0,
38155 13,
38156 OPC_RecordChild1,
38157 OPC_RecordChild2,
38158 OPC_CheckType, MVT::v2f64,
38159 OPC_CheckPatternPredicate1,
38160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
38161 MVT::v2f64, 3, 2, 1, 0,
38162 15,
38163 OPC_CheckChild0Type, MVT::v8i32,
38164 OPC_RecordChild1,
38165 OPC_RecordChild2,
38166 OPC_CheckType, MVT::v8f32,
38167 OPC_CheckPatternPredicate0,
38168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38169 MVT::v8f32, 3, 2, 1, 0,
38170 15,
38171 OPC_CheckChild0Type, MVT::v4i64,
38172 OPC_RecordChild1,
38173 OPC_RecordChild2,
38174 OPC_CheckType, MVT::v4f64,
38175 OPC_CheckPatternPredicate0,
38176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
38177 MVT::v4f64, 3, 2, 1, 0,
38178 0,
38179 2|128,4, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
38180 OPC_RecordChild0,
38181 OPC_RecordChild1,
38182 OPC_Scope, 9|128,1,
38183 OPC_CheckChild1TypeI64,
38184 OPC_RecordChild2,
38185 OPC_MoveChild2,
38186 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38187 OPC_CheckTypeI64,
38188 OPC_Scope, 15,
38189 OPC_CheckPredicate, 32,
38190 OPC_MoveParent,
38191 OPC_CheckType, MVT::v16i8,
38192 OPC_CheckPatternPredicate3,
38193 OPC_EmitConvertToTarget2,
38194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_B),
38195 MVT::v16i8, 3, 0, 1, 3,
38196 15,
38197 OPC_CheckPredicate, 25,
38198 OPC_MoveParent,
38199 OPC_CheckType, MVT::v8i16,
38200 OPC_CheckPatternPredicate3,
38201 OPC_EmitConvertToTarget2,
38202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_H),
38203 MVT::v8i16, 3, 0, 1, 3,
38204 15,
38205 OPC_CheckPredicate, 18,
38206 OPC_MoveParent,
38207 OPC_CheckType, MVT::v4i32,
38208 OPC_CheckPatternPredicate3,
38209 OPC_EmitConvertToTarget2,
38210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38211 MVT::v4i32, 3, 0, 1, 3,
38212 15,
38213 OPC_CheckPredicate, 33,
38214 OPC_MoveParent,
38215 OPC_CheckType, MVT::v2i64,
38216 OPC_CheckPatternPredicate3,
38217 OPC_EmitConvertToTarget2,
38218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38219 MVT::v2i64, 3, 0, 1, 3,
38220 15,
38221 OPC_CheckPredicate, 25,
38222 OPC_MoveParent,
38223 OPC_CheckType, MVT::v8i32,
38224 OPC_CheckPatternPredicate2,
38225 OPC_EmitConvertToTarget2,
38226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38227 MVT::v8i32, 3, 0, 1, 3,
38228 15,
38229 OPC_CheckPredicate, 18,
38230 OPC_MoveParent,
38231 OPC_CheckType, MVT::v4i64,
38232 OPC_CheckPatternPredicate2,
38233 OPC_EmitConvertToTarget2,
38234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38235 MVT::v4i64, 3, 0, 1, 3,
38236 15,
38237 OPC_CheckPredicate, 26,
38238 OPC_MoveParent,
38239 OPC_CheckType, MVT::v32i8,
38240 OPC_CheckPatternPredicate2,
38241 OPC_EmitConvertToTarget2,
38242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_B),
38243 MVT::v32i8, 3, 0, 1, 3,
38244 15,
38245 OPC_CheckPredicate, 32,
38246 OPC_MoveParent,
38247 OPC_CheckType, MVT::v16i16,
38248 OPC_CheckPatternPredicate2,
38249 OPC_EmitConvertToTarget2,
38250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_H),
38251 MVT::v16i16, 3, 0, 1, 3,
38252 0,
38253 9|128,1,
38254 OPC_CheckChild1TypeI32,
38255 OPC_RecordChild2,
38256 OPC_MoveChild2,
38257 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38258 OPC_CheckTypeI32,
38259 OPC_Scope, 15,
38260 OPC_CheckPredicate, 32,
38261 OPC_MoveParent,
38262 OPC_CheckType, MVT::v16i8,
38263 OPC_CheckPatternPredicate5,
38264 OPC_EmitConvertToTarget2,
38265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_B),
38266 MVT::v16i8, 3, 0, 1, 3,
38267 15,
38268 OPC_CheckPredicate, 25,
38269 OPC_MoveParent,
38270 OPC_CheckType, MVT::v8i16,
38271 OPC_CheckPatternPredicate5,
38272 OPC_EmitConvertToTarget2,
38273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_H),
38274 MVT::v8i16, 3, 0, 1, 3,
38275 15,
38276 OPC_CheckPredicate, 18,
38277 OPC_MoveParent,
38278 OPC_CheckType, MVT::v4i32,
38279 OPC_CheckPatternPredicate5,
38280 OPC_EmitConvertToTarget2,
38281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38282 MVT::v4i32, 3, 0, 1, 3,
38283 15,
38284 OPC_CheckPredicate, 33,
38285 OPC_MoveParent,
38286 OPC_CheckType, MVT::v2i64,
38287 OPC_CheckPatternPredicate5,
38288 OPC_EmitConvertToTarget2,
38289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38290 MVT::v2i64, 3, 0, 1, 3,
38291 15,
38292 OPC_CheckPredicate, 25,
38293 OPC_MoveParent,
38294 OPC_CheckType, MVT::v8i32,
38295 OPC_CheckPatternPredicate4,
38296 OPC_EmitConvertToTarget2,
38297 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38298 MVT::v8i32, 3, 0, 1, 3,
38299 15,
38300 OPC_CheckPredicate, 18,
38301 OPC_MoveParent,
38302 OPC_CheckType, MVT::v4i64,
38303 OPC_CheckPatternPredicate4,
38304 OPC_EmitConvertToTarget2,
38305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38306 MVT::v4i64, 3, 0, 1, 3,
38307 15,
38308 OPC_CheckPredicate, 26,
38309 OPC_MoveParent,
38310 OPC_CheckType, MVT::v32i8,
38311 OPC_CheckPatternPredicate4,
38312 OPC_EmitConvertToTarget2,
38313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_B),
38314 MVT::v32i8, 3, 0, 1, 3,
38315 15,
38316 OPC_CheckPredicate, 32,
38317 OPC_MoveParent,
38318 OPC_CheckType, MVT::v16i16,
38319 OPC_CheckPatternPredicate4,
38320 OPC_EmitConvertToTarget2,
38321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_H),
38322 MVT::v16i16, 3, 0, 1, 3,
38323 0,
38324 115,
38325 OPC_CheckChild1Type, MVT::f32,
38326 OPC_RecordChild2,
38327 OPC_MoveChild2,
38328 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38329 OPC_Scope, 52,
38330 OPC_CheckPredicate, 18,
38331 OPC_SwitchType , 22, MVT::i64,
38332 OPC_MoveParent,
38333 OPC_CheckType, MVT::v4f32,
38334 OPC_CheckPatternPredicate3,
38335 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38336 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38337 MVT::i64, 2, 1, 3,
38338 OPC_EmitConvertToTarget2,
38339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38340 MVT::v4f32, 3, 0, 4, 5,
38341 22, MVT::i32,
38342 OPC_MoveParent,
38343 OPC_CheckType, MVT::v4f32,
38344 OPC_CheckPatternPredicate5,
38345 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38346 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38347 MVT::i32, 2, 1, 3,
38348 OPC_EmitConvertToTarget2,
38349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38350 MVT::v4f32, 3, 0, 4, 5,
38351 0,
38352 52,
38353 OPC_CheckPredicate, 25,
38354 OPC_SwitchType , 22, MVT::i64,
38355 OPC_MoveParent,
38356 OPC_CheckType, MVT::v8f32,
38357 OPC_CheckPatternPredicate2,
38358 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38359 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38360 MVT::i64, 2, 1, 3,
38361 OPC_EmitConvertToTarget2,
38362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38363 MVT::v8f32, 3, 0, 4, 5,
38364 22, MVT::i32,
38365 OPC_MoveParent,
38366 OPC_CheckType, MVT::v8f32,
38367 OPC_CheckPatternPredicate4,
38368 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38369 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38370 MVT::i32, 2, 1, 3,
38371 OPC_EmitConvertToTarget2,
38372 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38373 MVT::v8f32, 3, 0, 4, 5,
38374 0,
38375 0,
38376 115,
38377 OPC_CheckChild1Type, MVT::f64,
38378 OPC_RecordChild2,
38379 OPC_MoveChild2,
38380 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38381 OPC_Scope, 52,
38382 OPC_CheckPredicate, 33,
38383 OPC_SwitchType , 22, MVT::i64,
38384 OPC_MoveParent,
38385 OPC_CheckType, MVT::v2f64,
38386 OPC_CheckPatternPredicate3,
38387 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38388 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38389 MVT::i64, 2, 1, 3,
38390 OPC_EmitConvertToTarget2,
38391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38392 MVT::v2f64, 3, 0, 4, 5,
38393 22, MVT::i32,
38394 OPC_MoveParent,
38395 OPC_CheckType, MVT::v2f64,
38396 OPC_CheckPatternPredicate5,
38397 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38398 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38399 MVT::i32, 2, 1, 3,
38400 OPC_EmitConvertToTarget2,
38401 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38402 MVT::v2f64, 3, 0, 4, 5,
38403 0,
38404 52,
38405 OPC_CheckPredicate, 18,
38406 OPC_SwitchType , 22, MVT::i64,
38407 OPC_MoveParent,
38408 OPC_CheckType, MVT::v4f64,
38409 OPC_CheckPatternPredicate2,
38410 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38411 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38412 MVT::i64, 2, 1, 3,
38413 OPC_EmitConvertToTarget2,
38414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38415 MVT::v4f64, 3, 0, 4, 5,
38416 22, MVT::i32,
38417 OPC_MoveParent,
38418 OPC_CheckType, MVT::v4f64,
38419 OPC_CheckPatternPredicate4,
38420 OPC_EmitStringInteger32, LoongArch::GPRRegClassID,
38421 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
38422 MVT::i32, 2, 1, 3,
38423 OPC_EmitConvertToTarget2,
38424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38425 MVT::v4f64, 3, 0, 4, 5,
38426 0,
38427 0,
38428 0,
38429 99, TARGET_VAL(LoongArchISD::VSHUF4I),
38430 OPC_RecordChild0,
38431 OPC_RecordChild1,
38432 OPC_MoveChild1,
38433 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38434 OPC_CheckPredicate, 57,
38435 OPC_MoveParent,
38436 OPC_SwitchType , 9, MVT::v16i8,
38437 OPC_CheckPatternPredicate3,
38438 OPC_EmitConvertToTarget1,
38439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
38440 MVT::v16i8, 2, 0, 2,
38441 9, MVT::v8i16,
38442 OPC_CheckPatternPredicate3,
38443 OPC_EmitConvertToTarget1,
38444 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
38445 MVT::v8i16, 2, 0, 2,
38446 9, MVT::v4i32,
38447 OPC_CheckPatternPredicate3,
38448 OPC_EmitConvertToTarget1,
38449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
38450 MVT::v4i32, 2, 0, 2,
38451 9, MVT::v32i8,
38452 OPC_CheckPatternPredicate2,
38453 OPC_EmitConvertToTarget1,
38454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
38455 MVT::v32i8, 2, 0, 2,
38456 9, MVT::v16i16,
38457 OPC_CheckPatternPredicate2,
38458 OPC_EmitConvertToTarget1,
38459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
38460 MVT::v16i16, 2, 0, 2,
38461 9, MVT::v8i32,
38462 OPC_CheckPatternPredicate2,
38463 OPC_EmitConvertToTarget1,
38464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
38465 MVT::v8i32, 2, 0, 2,
38466 9, MVT::v4f32,
38467 OPC_CheckPatternPredicate3,
38468 OPC_EmitConvertToTarget1,
38469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
38470 MVT::v4f32, 2, 0, 2,
38471 9, MVT::v8f32,
38472 OPC_CheckPatternPredicate2,
38473 OPC_EmitConvertToTarget1,
38474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
38475 MVT::v8f32, 2, 0, 2,
38476 0,
38477 60|128,1, TARGET_VAL(LoongArchISD::VREPLVEI),
38478 OPC_RecordChild0,
38479 OPC_RecordChild1,
38480 OPC_MoveChild1,
38481 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38482 OPC_Scope, 14,
38483 OPC_CheckPredicate, 32,
38484 OPC_MoveParent,
38485 OPC_CheckType, MVT::v16i8,
38486 OPC_CheckPatternPredicate3,
38487 OPC_EmitConvertToTarget1,
38488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
38489 MVT::v16i8, 2, 0, 2,
38490 14,
38491 OPC_CheckPredicate, 25,
38492 OPC_MoveParent,
38493 OPC_CheckType, MVT::v8i16,
38494 OPC_CheckPatternPredicate3,
38495 OPC_EmitConvertToTarget1,
38496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
38497 MVT::v8i16, 2, 0, 2,
38498 14,
38499 OPC_CheckPredicate, 18,
38500 OPC_MoveParent,
38501 OPC_CheckType, MVT::v4i32,
38502 OPC_CheckPatternPredicate3,
38503 OPC_EmitConvertToTarget1,
38504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
38505 MVT::v4i32, 2, 0, 2,
38506 14,
38507 OPC_CheckPredicate, 33,
38508 OPC_MoveParent,
38509 OPC_CheckType, MVT::v2i64,
38510 OPC_CheckPatternPredicate3,
38511 OPC_EmitConvertToTarget1,
38512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
38513 MVT::v2i64, 2, 0, 2,
38514 14,
38515 OPC_CheckPredicate, 32,
38516 OPC_MoveParent,
38517 OPC_CheckType, MVT::v32i8,
38518 OPC_CheckPatternPredicate2,
38519 OPC_EmitConvertToTarget1,
38520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
38521 MVT::v32i8, 2, 0, 2,
38522 14,
38523 OPC_CheckPredicate, 25,
38524 OPC_MoveParent,
38525 OPC_CheckType, MVT::v16i16,
38526 OPC_CheckPatternPredicate2,
38527 OPC_EmitConvertToTarget1,
38528 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
38529 MVT::v16i16, 2, 0, 2,
38530 14,
38531 OPC_CheckPredicate, 18,
38532 OPC_MoveParent,
38533 OPC_CheckType, MVT::v8i32,
38534 OPC_CheckPatternPredicate2,
38535 OPC_EmitConvertToTarget1,
38536 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
38537 MVT::v8i32, 2, 0, 2,
38538 14,
38539 OPC_CheckPredicate, 33,
38540 OPC_MoveParent,
38541 OPC_CheckType, MVT::v4i64,
38542 OPC_CheckPatternPredicate2,
38543 OPC_EmitConvertToTarget1,
38544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
38545 MVT::v4i64, 2, 0, 2,
38546 14,
38547 OPC_CheckPredicate, 18,
38548 OPC_MoveParent,
38549 OPC_CheckType, MVT::v4f32,
38550 OPC_CheckPatternPredicate3,
38551 OPC_EmitConvertToTarget1,
38552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
38553 MVT::v4f32, 2, 0, 2,
38554 14,
38555 OPC_CheckPredicate, 33,
38556 OPC_MoveParent,
38557 OPC_CheckType, MVT::v2f64,
38558 OPC_CheckPatternPredicate3,
38559 OPC_EmitConvertToTarget1,
38560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
38561 MVT::v2f64, 2, 0, 2,
38562 14,
38563 OPC_CheckPredicate, 18,
38564 OPC_MoveParent,
38565 OPC_CheckType, MVT::v8f32,
38566 OPC_CheckPatternPredicate2,
38567 OPC_EmitConvertToTarget1,
38568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
38569 MVT::v8f32, 2, 0, 2,
38570 14,
38571 OPC_CheckPredicate, 33,
38572 OPC_MoveParent,
38573 OPC_CheckType, MVT::v4f64,
38574 OPC_CheckPatternPredicate2,
38575 OPC_EmitConvertToTarget1,
38576 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
38577 MVT::v4f64, 2, 0, 2,
38578 0,
38579 33, TARGET_VAL(LoongArchISD::XVPERMI),
38580 OPC_RecordChild0,
38581 OPC_RecordChild1,
38582 OPC_MoveChild1,
38583 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38584 OPC_CheckPredicate, 57,
38585 OPC_MoveParent,
38586 OPC_SwitchType , 9, MVT::v4i64,
38587 OPC_CheckPatternPredicate2,
38588 OPC_EmitConvertToTarget1,
38589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
38590 MVT::v4i64, 2, 0, 2,
38591 9, MVT::v4f64,
38592 OPC_CheckPatternPredicate2,
38593 OPC_EmitConvertToTarget1,
38594 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
38595 MVT::v4f64, 2, 0, 2,
38596 0,
38597 91, TARGET_VAL(ISD::CTPOP),
38598 OPC_RecordChild0,
38599 OPC_SwitchType , 9, MVT::v16i8,
38600 OPC_CheckChild0Type, MVT::v16i8,
38601 OPC_CheckPatternPredicate1,
38602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_B),
38603 MVT::v16i8, 1, 0,
38604 9, MVT::v8i16,
38605 OPC_CheckChild0Type, MVT::v8i16,
38606 OPC_CheckPatternPredicate1,
38607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_H),
38608 MVT::v8i16, 1, 0,
38609 9, MVT::v4i32,
38610 OPC_CheckChild0Type, MVT::v4i32,
38611 OPC_CheckPatternPredicate1,
38612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_W),
38613 MVT::v4i32, 1, 0,
38614 9, MVT::v2i64,
38615 OPC_CheckChild0Type, MVT::v2i64,
38616 OPC_CheckPatternPredicate1,
38617 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_D),
38618 MVT::v2i64, 1, 0,
38619 9, MVT::v32i8,
38620 OPC_CheckChild0Type, MVT::v32i8,
38621 OPC_CheckPatternPredicate0,
38622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_B),
38623 MVT::v32i8, 1, 0,
38624 9, MVT::v16i16,
38625 OPC_CheckChild0Type, MVT::v16i16,
38626 OPC_CheckPatternPredicate0,
38627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_H),
38628 MVT::v16i16, 1, 0,
38629 9, MVT::v8i32,
38630 OPC_CheckChild0Type, MVT::v8i32,
38631 OPC_CheckPatternPredicate0,
38632 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_W),
38633 MVT::v8i32, 1, 0,
38634 9, MVT::v4i64,
38635 OPC_CheckChild0Type, MVT::v4i64,
38636 OPC_CheckPatternPredicate0,
38637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_D),
38638 MVT::v4i64, 1, 0,
38639 0,
38640 55|128,1, TARGET_VAL(LoongArchISD::VSHUF),
38641 OPC_RecordChild0,
38642 OPC_Scope, 15,
38643 OPC_CheckChild0Type, MVT::v16i8,
38644 OPC_RecordChild1,
38645 OPC_RecordChild2,
38646 OPC_CheckType, MVT::v16i8,
38647 OPC_CheckPatternPredicate1,
38648 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_B),
38649 MVT::v16i8, 3, 1, 2, 0,
38650 15,
38651 OPC_CheckChild0Type, MVT::v8i16,
38652 OPC_RecordChild1,
38653 OPC_RecordChild2,
38654 OPC_CheckType, MVT::v8i16,
38655 OPC_CheckPatternPredicate1,
38656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_H),
38657 MVT::v8i16, 3, 0, 1, 2,
38658 28,
38659 OPC_CheckChild0Type, MVT::v4i32,
38660 OPC_RecordChild1,
38661 OPC_RecordChild2,
38662 OPC_SwitchType , 9, MVT::v4i32,
38663 OPC_CheckPatternPredicate1,
38664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
38665 MVT::v4i32, 3, 0, 1, 2,
38666 9, MVT::v4f32,
38667 OPC_CheckPatternPredicate1,
38668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
38669 MVT::v4f32, 3, 0, 1, 2,
38670 0,
38671 28,
38672 OPC_CheckChild0Type, MVT::v2i64,
38673 OPC_RecordChild1,
38674 OPC_RecordChild2,
38675 OPC_SwitchType , 9, MVT::v2i64,
38676 OPC_CheckPatternPredicate1,
38677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
38678 MVT::v2i64, 3, 0, 1, 2,
38679 9, MVT::v2f64,
38680 OPC_CheckPatternPredicate1,
38681 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
38682 MVT::v2f64, 3, 0, 1, 2,
38683 0,
38684 15,
38685 OPC_CheckChild0Type, MVT::v32i8,
38686 OPC_RecordChild1,
38687 OPC_RecordChild2,
38688 OPC_CheckType, MVT::v32i8,
38689 OPC_CheckPatternPredicate0,
38690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_B),
38691 MVT::v32i8, 3, 1, 2, 0,
38692 15,
38693 OPC_CheckChild0Type, MVT::v16i16,
38694 OPC_RecordChild1,
38695 OPC_RecordChild2,
38696 OPC_CheckType, MVT::v16i16,
38697 OPC_CheckPatternPredicate0,
38698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_H),
38699 MVT::v16i16, 3, 0, 1, 2,
38700 28,
38701 OPC_CheckChild0Type, MVT::v8i32,
38702 OPC_RecordChild1,
38703 OPC_RecordChild2,
38704 OPC_SwitchType , 9, MVT::v8i32,
38705 OPC_CheckPatternPredicate0,
38706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
38707 MVT::v8i32, 3, 0, 1, 2,
38708 9, MVT::v8f32,
38709 OPC_CheckPatternPredicate0,
38710 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
38711 MVT::v8f32, 3, 0, 1, 2,
38712 0,
38713 28,
38714 OPC_CheckChild0Type, MVT::v4i64,
38715 OPC_RecordChild1,
38716 OPC_RecordChild2,
38717 OPC_SwitchType , 9, MVT::v4i64,
38718 OPC_CheckPatternPredicate0,
38719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
38720 MVT::v4i64, 3, 0, 1, 2,
38721 9, MVT::v4f64,
38722 OPC_CheckPatternPredicate0,
38723 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
38724 MVT::v4f64, 3, 0, 1, 2,
38725 0,
38726 0,
38727 124, TARGET_VAL(LoongArchISD::VPICKEV),
38728 OPC_RecordChild0,
38729 OPC_RecordChild1,
38730 OPC_SwitchType , 8, MVT::v16i8,
38731 OPC_CheckPatternPredicate1,
38732 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_B),
38733 MVT::v16i8, 2, 0, 1,
38734 8, MVT::v8i16,
38735 OPC_CheckPatternPredicate1,
38736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_H),
38737 MVT::v8i16, 2, 0, 1,
38738 8, MVT::v4i32,
38739 OPC_CheckPatternPredicate1,
38740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
38741 MVT::v4i32, 2, 0, 1,
38742 8, MVT::v2i64,
38743 OPC_CheckPatternPredicate1,
38744 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
38745 MVT::v2i64, 2, 0, 1,
38746 8, MVT::v32i8,
38747 OPC_CheckPatternPredicate0,
38748 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_B),
38749 MVT::v32i8, 2, 0, 1,
38750 8, MVT::v16i16,
38751 OPC_CheckPatternPredicate0,
38752 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_H),
38753 MVT::v16i16, 2, 0, 1,
38754 8, MVT::v8i32,
38755 OPC_CheckPatternPredicate0,
38756 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
38757 MVT::v8i32, 2, 0, 1,
38758 8, MVT::v4i64,
38759 OPC_CheckPatternPredicate0,
38760 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
38761 MVT::v4i64, 2, 0, 1,
38762 8, MVT::v4f32,
38763 OPC_CheckPatternPredicate1,
38764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
38765 MVT::v4f32, 2, 0, 1,
38766 8, MVT::v2f64,
38767 OPC_CheckPatternPredicate1,
38768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
38769 MVT::v2f64, 2, 0, 1,
38770 8, MVT::v8f32,
38771 OPC_CheckPatternPredicate0,
38772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
38773 MVT::v8f32, 2, 0, 1,
38774 8, MVT::v4f64,
38775 OPC_CheckPatternPredicate0,
38776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
38777 MVT::v4f64, 2, 0, 1,
38778 0,
38779 124, TARGET_VAL(LoongArchISD::VPICKOD),
38780 OPC_RecordChild0,
38781 OPC_RecordChild1,
38782 OPC_SwitchType , 8, MVT::v16i8,
38783 OPC_CheckPatternPredicate1,
38784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_B),
38785 MVT::v16i8, 2, 0, 1,
38786 8, MVT::v8i16,
38787 OPC_CheckPatternPredicate1,
38788 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_H),
38789 MVT::v8i16, 2, 0, 1,
38790 8, MVT::v4i32,
38791 OPC_CheckPatternPredicate1,
38792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
38793 MVT::v4i32, 2, 0, 1,
38794 8, MVT::v2i64,
38795 OPC_CheckPatternPredicate1,
38796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
38797 MVT::v2i64, 2, 0, 1,
38798 8, MVT::v32i8,
38799 OPC_CheckPatternPredicate0,
38800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_B),
38801 MVT::v32i8, 2, 0, 1,
38802 8, MVT::v16i16,
38803 OPC_CheckPatternPredicate0,
38804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_H),
38805 MVT::v16i16, 2, 0, 1,
38806 8, MVT::v8i32,
38807 OPC_CheckPatternPredicate0,
38808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
38809 MVT::v8i32, 2, 0, 1,
38810 8, MVT::v4i64,
38811 OPC_CheckPatternPredicate0,
38812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
38813 MVT::v4i64, 2, 0, 1,
38814 8, MVT::v4f32,
38815 OPC_CheckPatternPredicate1,
38816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
38817 MVT::v4f32, 2, 0, 1,
38818 8, MVT::v2f64,
38819 OPC_CheckPatternPredicate1,
38820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
38821 MVT::v2f64, 2, 0, 1,
38822 8, MVT::v8f32,
38823 OPC_CheckPatternPredicate0,
38824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
38825 MVT::v8f32, 2, 0, 1,
38826 8, MVT::v4f64,
38827 OPC_CheckPatternPredicate0,
38828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
38829 MVT::v4f64, 2, 0, 1,
38830 0,
38831 124, TARGET_VAL(LoongArchISD::VPACKEV),
38832 OPC_RecordChild0,
38833 OPC_RecordChild1,
38834 OPC_SwitchType , 8, MVT::v16i8,
38835 OPC_CheckPatternPredicate1,
38836 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_B),
38837 MVT::v16i8, 2, 0, 1,
38838 8, MVT::v8i16,
38839 OPC_CheckPatternPredicate1,
38840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_H),
38841 MVT::v8i16, 2, 0, 1,
38842 8, MVT::v4i32,
38843 OPC_CheckPatternPredicate1,
38844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
38845 MVT::v4i32, 2, 0, 1,
38846 8, MVT::v2i64,
38847 OPC_CheckPatternPredicate1,
38848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
38849 MVT::v2i64, 2, 0, 1,
38850 8, MVT::v32i8,
38851 OPC_CheckPatternPredicate0,
38852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_B),
38853 MVT::v32i8, 2, 0, 1,
38854 8, MVT::v16i16,
38855 OPC_CheckPatternPredicate0,
38856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_H),
38857 MVT::v16i16, 2, 0, 1,
38858 8, MVT::v8i32,
38859 OPC_CheckPatternPredicate0,
38860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
38861 MVT::v8i32, 2, 0, 1,
38862 8, MVT::v4i64,
38863 OPC_CheckPatternPredicate0,
38864 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
38865 MVT::v4i64, 2, 0, 1,
38866 8, MVT::v4f32,
38867 OPC_CheckPatternPredicate1,
38868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
38869 MVT::v4f32, 2, 0, 1,
38870 8, MVT::v2f64,
38871 OPC_CheckPatternPredicate1,
38872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
38873 MVT::v2f64, 2, 0, 1,
38874 8, MVT::v8f32,
38875 OPC_CheckPatternPredicate0,
38876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
38877 MVT::v8f32, 2, 0, 1,
38878 8, MVT::v4f64,
38879 OPC_CheckPatternPredicate0,
38880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
38881 MVT::v4f64, 2, 0, 1,
38882 0,
38883 124, TARGET_VAL(LoongArchISD::VPACKOD),
38884 OPC_RecordChild0,
38885 OPC_RecordChild1,
38886 OPC_SwitchType , 8, MVT::v16i8,
38887 OPC_CheckPatternPredicate1,
38888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_B),
38889 MVT::v16i8, 2, 0, 1,
38890 8, MVT::v8i16,
38891 OPC_CheckPatternPredicate1,
38892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_H),
38893 MVT::v8i16, 2, 0, 1,
38894 8, MVT::v4i32,
38895 OPC_CheckPatternPredicate1,
38896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
38897 MVT::v4i32, 2, 0, 1,
38898 8, MVT::v2i64,
38899 OPC_CheckPatternPredicate1,
38900 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
38901 MVT::v2i64, 2, 0, 1,
38902 8, MVT::v32i8,
38903 OPC_CheckPatternPredicate0,
38904 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_B),
38905 MVT::v32i8, 2, 0, 1,
38906 8, MVT::v16i16,
38907 OPC_CheckPatternPredicate0,
38908 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_H),
38909 MVT::v16i16, 2, 0, 1,
38910 8, MVT::v8i32,
38911 OPC_CheckPatternPredicate0,
38912 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
38913 MVT::v8i32, 2, 0, 1,
38914 8, MVT::v4i64,
38915 OPC_CheckPatternPredicate0,
38916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
38917 MVT::v4i64, 2, 0, 1,
38918 8, MVT::v4f32,
38919 OPC_CheckPatternPredicate1,
38920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
38921 MVT::v4f32, 2, 0, 1,
38922 8, MVT::v2f64,
38923 OPC_CheckPatternPredicate1,
38924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
38925 MVT::v2f64, 2, 0, 1,
38926 8, MVT::v8f32,
38927 OPC_CheckPatternPredicate0,
38928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
38929 MVT::v8f32, 2, 0, 1,
38930 8, MVT::v4f64,
38931 OPC_CheckPatternPredicate0,
38932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
38933 MVT::v4f64, 2, 0, 1,
38934 0,
38935 124, TARGET_VAL(LoongArchISD::VILVL),
38936 OPC_RecordChild0,
38937 OPC_RecordChild1,
38938 OPC_SwitchType , 8, MVT::v16i8,
38939 OPC_CheckPatternPredicate1,
38940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_B),
38941 MVT::v16i8, 2, 0, 1,
38942 8, MVT::v8i16,
38943 OPC_CheckPatternPredicate1,
38944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_H),
38945 MVT::v8i16, 2, 0, 1,
38946 8, MVT::v4i32,
38947 OPC_CheckPatternPredicate1,
38948 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
38949 MVT::v4i32, 2, 0, 1,
38950 8, MVT::v2i64,
38951 OPC_CheckPatternPredicate1,
38952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
38953 MVT::v2i64, 2, 0, 1,
38954 8, MVT::v32i8,
38955 OPC_CheckPatternPredicate0,
38956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_B),
38957 MVT::v32i8, 2, 0, 1,
38958 8, MVT::v16i16,
38959 OPC_CheckPatternPredicate0,
38960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_H),
38961 MVT::v16i16, 2, 0, 1,
38962 8, MVT::v8i32,
38963 OPC_CheckPatternPredicate0,
38964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
38965 MVT::v8i32, 2, 0, 1,
38966 8, MVT::v4i64,
38967 OPC_CheckPatternPredicate0,
38968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
38969 MVT::v4i64, 2, 0, 1,
38970 8, MVT::v4f32,
38971 OPC_CheckPatternPredicate1,
38972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
38973 MVT::v4f32, 2, 0, 1,
38974 8, MVT::v2f64,
38975 OPC_CheckPatternPredicate1,
38976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
38977 MVT::v2f64, 2, 0, 1,
38978 8, MVT::v8f32,
38979 OPC_CheckPatternPredicate0,
38980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
38981 MVT::v8f32, 2, 0, 1,
38982 8, MVT::v4f64,
38983 OPC_CheckPatternPredicate0,
38984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
38985 MVT::v4f64, 2, 0, 1,
38986 0,
38987 124, TARGET_VAL(LoongArchISD::VILVH),
38988 OPC_RecordChild0,
38989 OPC_RecordChild1,
38990 OPC_SwitchType , 8, MVT::v16i8,
38991 OPC_CheckPatternPredicate1,
38992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_B),
38993 MVT::v16i8, 2, 0, 1,
38994 8, MVT::v8i16,
38995 OPC_CheckPatternPredicate1,
38996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_H),
38997 MVT::v8i16, 2, 0, 1,
38998 8, MVT::v4i32,
38999 OPC_CheckPatternPredicate1,
39000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
39001 MVT::v4i32, 2, 0, 1,
39002 8, MVT::v2i64,
39003 OPC_CheckPatternPredicate1,
39004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
39005 MVT::v2i64, 2, 0, 1,
39006 8, MVT::v32i8,
39007 OPC_CheckPatternPredicate0,
39008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_B),
39009 MVT::v32i8, 2, 0, 1,
39010 8, MVT::v16i16,
39011 OPC_CheckPatternPredicate0,
39012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_H),
39013 MVT::v16i16, 2, 0, 1,
39014 8, MVT::v8i32,
39015 OPC_CheckPatternPredicate0,
39016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
39017 MVT::v8i32, 2, 0, 1,
39018 8, MVT::v4i64,
39019 OPC_CheckPatternPredicate0,
39020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
39021 MVT::v4i64, 2, 0, 1,
39022 8, MVT::v4f32,
39023 OPC_CheckPatternPredicate1,
39024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
39025 MVT::v4f32, 2, 0, 1,
39026 8, MVT::v2f64,
39027 OPC_CheckPatternPredicate1,
39028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
39029 MVT::v2f64, 2, 0, 1,
39030 8, MVT::v8f32,
39031 OPC_CheckPatternPredicate0,
39032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
39033 MVT::v8f32, 2, 0, 1,
39034 8, MVT::v4f64,
39035 OPC_CheckPatternPredicate0,
39036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
39037 MVT::v4f64, 2, 0, 1,
39038 0,
39039 22|128,1, TARGET_VAL(ISD::FP_TO_SINT),
39040 OPC_RecordChild0,
39041 OPC_SwitchType , 85, MVT::v4i32,
39042 OPC_Scope, 9,
39043 OPC_CheckChild0Type, MVT::v4f32,
39044 OPC_CheckPatternPredicate1,
39045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
39046 MVT::v4i32, 1, 0,
39047 72,
39048 OPC_CheckChild0Type, MVT::v4f64,
39049 OPC_Scope, 33,
39050 OPC_CheckPatternPredicate2,
39051 OPC_EmitInteger64, 92|128,3,
39052 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
39053 MVT::v32i8, 2, 0, 1,
39054 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
39055 MVT::v32i8, 2, 2, 0,
39056 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
39057 MVT::v32i8, 1, 3,
39058 OPC_EmitStringInteger32, LoongArch::sub_128,
39059 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39060 MVT::v4i32, 2, 4, 5,
39061 33,
39062 OPC_CheckPatternPredicate4,
39063 OPC_EmitInteger32, 92|128,3,
39064 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
39065 MVT::v32i8, 2, 0, 1,
39066 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
39067 MVT::v32i8, 2, 2, 0,
39068 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
39069 MVT::v32i8, 1, 3,
39070 OPC_EmitStringInteger32, LoongArch::sub_128,
39071 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39072 MVT::v4i32, 2, 4, 5,
39073 0,
39074 0,
39075 7, MVT::v2i64,
39076 OPC_CheckPatternPredicate1,
39077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_L_D),
39078 MVT::v2i64, 1, 0,
39079 7, MVT::v8i32,
39080 OPC_CheckPatternPredicate0,
39081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
39082 MVT::v8i32, 1, 0,
39083 40, MVT::v4i64,
39084 OPC_Scope, 9,
39085 OPC_CheckChild0Type, MVT::v4f64,
39086 OPC_CheckPatternPredicate0,
39087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
39088 MVT::v4i64, 1, 0,
39089 27,
39090 OPC_CheckChild0Type, MVT::v4f32,
39091 OPC_CheckPatternPredicate0,
39092 OPC_EmitInteger64, 0,
39093 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
39094 MVT::v16i8, 1, 0,
39095 OPC_EmitStringInteger32, LoongArch::sub_128,
39096 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39097 MVT::v32i8, 3, 1, 2, 3,
39098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
39099 MVT::v4i64, 1, 4,
39100 0,
39101 0,
39102 22|128,1, TARGET_VAL(ISD::FP_TO_UINT),
39103 OPC_RecordChild0,
39104 OPC_SwitchType , 85, MVT::v4i32,
39105 OPC_Scope, 9,
39106 OPC_CheckChild0Type, MVT::v4f32,
39107 OPC_CheckPatternPredicate1,
39108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
39109 MVT::v4i32, 1, 0,
39110 72,
39111 OPC_CheckChild0Type, MVT::v4f64,
39112 OPC_Scope, 33,
39113 OPC_CheckPatternPredicate2,
39114 OPC_EmitInteger64, 92|128,3,
39115 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
39116 MVT::v32i8, 2, 0, 1,
39117 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
39118 MVT::v32i8, 2, 2, 0,
39119 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
39120 MVT::v32i8, 1, 3,
39121 OPC_EmitStringInteger32, LoongArch::sub_128,
39122 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39123 MVT::v4i32, 2, 4, 5,
39124 33,
39125 OPC_CheckPatternPredicate4,
39126 OPC_EmitInteger32, 92|128,3,
39127 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
39128 MVT::v32i8, 2, 0, 1,
39129 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
39130 MVT::v32i8, 2, 2, 0,
39131 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
39132 MVT::v32i8, 1, 3,
39133 OPC_EmitStringInteger32, LoongArch::sub_128,
39134 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39135 MVT::v4i32, 2, 4, 5,
39136 0,
39137 0,
39138 7, MVT::v2i64,
39139 OPC_CheckPatternPredicate1,
39140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_LU_D),
39141 MVT::v2i64, 1, 0,
39142 7, MVT::v8i32,
39143 OPC_CheckPatternPredicate0,
39144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_WU_S),
39145 MVT::v8i32, 1, 0,
39146 40, MVT::v4i64,
39147 OPC_Scope, 9,
39148 OPC_CheckChild0Type, MVT::v4f64,
39149 OPC_CheckPatternPredicate0,
39150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
39151 MVT::v4i64, 1, 0,
39152 27,
39153 OPC_CheckChild0Type, MVT::v4f32,
39154 OPC_CheckPatternPredicate0,
39155 OPC_EmitInteger64, 0,
39156 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
39157 MVT::v16i8, 1, 0,
39158 OPC_EmitStringInteger32, LoongArch::sub_128,
39159 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39160 MVT::v32i8, 3, 1, 2, 3,
39161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
39162 MVT::v4i64, 1, 4,
39163 0,
39164 0,
39165 80|128,5, TARGET_VAL(ISD::BUILD_VECTOR),
39166 OPC_RecordChild0,
39167 OPC_Scope, 11|128,2,
39168 OPC_CheckChild0TypeI64,
39169 OPC_CheckChild1Same, 0,
39170 OPC_Scope, 85,
39171 OPC_CheckChild2Same, 0,
39172 OPC_CheckChild3Same, 0,
39173 OPC_Scope, 68,
39174 OPC_MoveChild4,
39175 OPC_CheckSame, 0,
39176 OPC_MoveSibling5,
39177 OPC_CheckSame, 0,
39178 OPC_MoveSibling6,
39179 OPC_CheckSame, 0,
39180 OPC_MoveSibling7,
39181 OPC_CheckSame, 0,
39182 OPC_Scope, 42,
39183 OPC_MoveSibling, 8,
39184 OPC_CheckSame, 0,
39185 OPC_MoveSibling, 9,
39186 OPC_CheckSame, 0,
39187 OPC_MoveSibling, 10,
39188 OPC_CheckSame, 0,
39189 OPC_MoveSibling, 11,
39190 OPC_CheckSame, 0,
39191 OPC_MoveSibling, 12,
39192 OPC_CheckSame, 0,
39193 OPC_MoveSibling, 13,
39194 OPC_CheckSame, 0,
39195 OPC_MoveSibling, 14,
39196 OPC_CheckSame, 0,
39197 OPC_MoveSibling, 15,
39198 OPC_CheckSame, 0,
39199 OPC_MoveParent,
39200 OPC_CheckType, MVT::v16i8,
39201 OPC_CheckPatternPredicate3,
39202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
39203 MVT::v16i8, 1, 0,
39204 10,
39205 OPC_MoveParent,
39206 OPC_CheckType, MVT::v8i16,
39207 OPC_CheckPatternPredicate3,
39208 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
39209 MVT::v8i16, 1, 0,
39210 0,
39211 9,
39212 OPC_CheckType, MVT::v4i32,
39213 OPC_CheckPatternPredicate3,
39214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
39215 MVT::v4i32, 1, 0,
39216 0,
39217 9,
39218 OPC_CheckType, MVT::v2i64,
39219 OPC_CheckPatternPredicate3,
39220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
39221 MVT::v2i64, 1, 0,
39222 36|128,1,
39223 OPC_CheckChild2Same, 0,
39224 OPC_CheckChild3Same, 0,
39225 OPC_Scope, 18|128,1,
39226 OPC_MoveChild4,
39227 OPC_CheckSame, 0,
39228 OPC_MoveSibling5,
39229 OPC_CheckSame, 0,
39230 OPC_MoveSibling6,
39231 OPC_CheckSame, 0,
39232 OPC_MoveSibling7,
39233 OPC_CheckSame, 0,
39234 OPC_Scope, 120,
39235 OPC_MoveSibling, 8,
39236 OPC_CheckSame, 0,
39237 OPC_MoveSibling, 9,
39238 OPC_CheckSame, 0,
39239 OPC_MoveSibling, 10,
39240 OPC_CheckSame, 0,
39241 OPC_MoveSibling, 11,
39242 OPC_CheckSame, 0,
39243 OPC_MoveSibling, 12,
39244 OPC_CheckSame, 0,
39245 OPC_MoveSibling, 13,
39246 OPC_CheckSame, 0,
39247 OPC_MoveSibling, 14,
39248 OPC_CheckSame, 0,
39249 OPC_MoveSibling, 15,
39250 OPC_CheckSame, 0,
39251 OPC_Scope, 74,
39252 OPC_MoveSibling, 16,
39253 OPC_CheckSame, 0,
39254 OPC_MoveSibling, 17,
39255 OPC_CheckSame, 0,
39256 OPC_MoveSibling, 18,
39257 OPC_CheckSame, 0,
39258 OPC_MoveSibling, 19,
39259 OPC_CheckSame, 0,
39260 OPC_MoveSibling, 20,
39261 OPC_CheckSame, 0,
39262 OPC_MoveSibling, 21,
39263 OPC_CheckSame, 0,
39264 OPC_MoveSibling, 22,
39265 OPC_CheckSame, 0,
39266 OPC_MoveSibling, 23,
39267 OPC_CheckSame, 0,
39268 OPC_MoveSibling, 24,
39269 OPC_CheckSame, 0,
39270 OPC_MoveSibling, 25,
39271 OPC_CheckSame, 0,
39272 OPC_MoveSibling, 26,
39273 OPC_CheckSame, 0,
39274 OPC_MoveSibling, 27,
39275 OPC_CheckSame, 0,
39276 OPC_MoveSibling, 28,
39277 OPC_CheckSame, 0,
39278 OPC_MoveSibling, 29,
39279 OPC_CheckSame, 0,
39280 OPC_MoveSibling, 30,
39281 OPC_CheckSame, 0,
39282 OPC_MoveSibling, 31,
39283 OPC_CheckSame, 0,
39284 OPC_MoveParent,
39285 OPC_CheckType, MVT::v32i8,
39286 OPC_CheckPatternPredicate2,
39287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
39288 MVT::v32i8, 1, 0,
39289 10,
39290 OPC_MoveParent,
39291 OPC_CheckType, MVT::v16i16,
39292 OPC_CheckPatternPredicate2,
39293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
39294 MVT::v16i16, 1, 0,
39295 0,
39296 10,
39297 OPC_MoveParent,
39298 OPC_CheckType, MVT::v8i32,
39299 OPC_CheckPatternPredicate2,
39300 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
39301 MVT::v8i32, 1, 0,
39302 0,
39303 9,
39304 OPC_CheckType, MVT::v4i64,
39305 OPC_CheckPatternPredicate2,
39306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
39307 MVT::v4i64, 1, 0,
39308 0,
39309 0,
39310 11|128,2,
39311 OPC_CheckChild0TypeI32,
39312 OPC_CheckChild1Same, 0,
39313 OPC_Scope, 85,
39314 OPC_CheckChild2Same, 0,
39315 OPC_CheckChild3Same, 0,
39316 OPC_Scope, 68,
39317 OPC_MoveChild4,
39318 OPC_CheckSame, 0,
39319 OPC_MoveSibling5,
39320 OPC_CheckSame, 0,
39321 OPC_MoveSibling6,
39322 OPC_CheckSame, 0,
39323 OPC_MoveSibling7,
39324 OPC_CheckSame, 0,
39325 OPC_Scope, 42,
39326 OPC_MoveSibling, 8,
39327 OPC_CheckSame, 0,
39328 OPC_MoveSibling, 9,
39329 OPC_CheckSame, 0,
39330 OPC_MoveSibling, 10,
39331 OPC_CheckSame, 0,
39332 OPC_MoveSibling, 11,
39333 OPC_CheckSame, 0,
39334 OPC_MoveSibling, 12,
39335 OPC_CheckSame, 0,
39336 OPC_MoveSibling, 13,
39337 OPC_CheckSame, 0,
39338 OPC_MoveSibling, 14,
39339 OPC_CheckSame, 0,
39340 OPC_MoveSibling, 15,
39341 OPC_CheckSame, 0,
39342 OPC_MoveParent,
39343 OPC_CheckType, MVT::v16i8,
39344 OPC_CheckPatternPredicate5,
39345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
39346 MVT::v16i8, 1, 0,
39347 10,
39348 OPC_MoveParent,
39349 OPC_CheckType, MVT::v8i16,
39350 OPC_CheckPatternPredicate5,
39351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
39352 MVT::v8i16, 1, 0,
39353 0,
39354 9,
39355 OPC_CheckType, MVT::v4i32,
39356 OPC_CheckPatternPredicate5,
39357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
39358 MVT::v4i32, 1, 0,
39359 0,
39360 9,
39361 OPC_CheckType, MVT::v2i64,
39362 OPC_CheckPatternPredicate5,
39363 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
39364 MVT::v2i64, 1, 0,
39365 36|128,1,
39366 OPC_CheckChild2Same, 0,
39367 OPC_CheckChild3Same, 0,
39368 OPC_Scope, 18|128,1,
39369 OPC_MoveChild4,
39370 OPC_CheckSame, 0,
39371 OPC_MoveSibling5,
39372 OPC_CheckSame, 0,
39373 OPC_MoveSibling6,
39374 OPC_CheckSame, 0,
39375 OPC_MoveSibling7,
39376 OPC_CheckSame, 0,
39377 OPC_Scope, 120,
39378 OPC_MoveSibling, 8,
39379 OPC_CheckSame, 0,
39380 OPC_MoveSibling, 9,
39381 OPC_CheckSame, 0,
39382 OPC_MoveSibling, 10,
39383 OPC_CheckSame, 0,
39384 OPC_MoveSibling, 11,
39385 OPC_CheckSame, 0,
39386 OPC_MoveSibling, 12,
39387 OPC_CheckSame, 0,
39388 OPC_MoveSibling, 13,
39389 OPC_CheckSame, 0,
39390 OPC_MoveSibling, 14,
39391 OPC_CheckSame, 0,
39392 OPC_MoveSibling, 15,
39393 OPC_CheckSame, 0,
39394 OPC_Scope, 74,
39395 OPC_MoveSibling, 16,
39396 OPC_CheckSame, 0,
39397 OPC_MoveSibling, 17,
39398 OPC_CheckSame, 0,
39399 OPC_MoveSibling, 18,
39400 OPC_CheckSame, 0,
39401 OPC_MoveSibling, 19,
39402 OPC_CheckSame, 0,
39403 OPC_MoveSibling, 20,
39404 OPC_CheckSame, 0,
39405 OPC_MoveSibling, 21,
39406 OPC_CheckSame, 0,
39407 OPC_MoveSibling, 22,
39408 OPC_CheckSame, 0,
39409 OPC_MoveSibling, 23,
39410 OPC_CheckSame, 0,
39411 OPC_MoveSibling, 24,
39412 OPC_CheckSame, 0,
39413 OPC_MoveSibling, 25,
39414 OPC_CheckSame, 0,
39415 OPC_MoveSibling, 26,
39416 OPC_CheckSame, 0,
39417 OPC_MoveSibling, 27,
39418 OPC_CheckSame, 0,
39419 OPC_MoveSibling, 28,
39420 OPC_CheckSame, 0,
39421 OPC_MoveSibling, 29,
39422 OPC_CheckSame, 0,
39423 OPC_MoveSibling, 30,
39424 OPC_CheckSame, 0,
39425 OPC_MoveSibling, 31,
39426 OPC_CheckSame, 0,
39427 OPC_MoveParent,
39428 OPC_CheckType, MVT::v32i8,
39429 OPC_CheckPatternPredicate4,
39430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
39431 MVT::v32i8, 1, 0,
39432 10,
39433 OPC_MoveParent,
39434 OPC_CheckType, MVT::v16i16,
39435 OPC_CheckPatternPredicate4,
39436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
39437 MVT::v16i16, 1, 0,
39438 0,
39439 10,
39440 OPC_MoveParent,
39441 OPC_CheckType, MVT::v8i32,
39442 OPC_CheckPatternPredicate4,
39443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
39444 MVT::v8i32, 1, 0,
39445 0,
39446 9,
39447 OPC_CheckType, MVT::v4i64,
39448 OPC_CheckPatternPredicate4,
39449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
39450 MVT::v4i64, 1, 0,
39451 0,
39452 0,
39453 96,
39454 OPC_CheckChild0Type, MVT::f32,
39455 OPC_CheckChild1Same, 0,
39456 OPC_CheckChild2Same, 0,
39457 OPC_CheckChild3Same, 0,
39458 OPC_Scope, 34,
39459 OPC_MoveChild4,
39460 OPC_CheckSame, 0,
39461 OPC_MoveSibling5,
39462 OPC_CheckSame, 0,
39463 OPC_MoveSibling6,
39464 OPC_CheckSame, 0,
39465 OPC_MoveSibling7,
39466 OPC_CheckSame, 0,
39467 OPC_MoveParent,
39468 OPC_CheckType, MVT::v8f32,
39469 OPC_CheckPatternPredicate0,
39470 OPC_EmitInteger64, 0,
39471 OPC_EmitStringInteger32, LoongArch::sub_32,
39472 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39473 MVT::v32i8, 3, 1, 0, 2,
39474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
39475 MVT::v8f32, 1, 3,
39476 50,
39477 OPC_CheckType, MVT::v4f32,
39478 OPC_Scope, 22,
39479 OPC_CheckPatternPredicate3,
39480 OPC_EmitInteger64, 0,
39481 OPC_EmitStringInteger32, LoongArch::sub_32,
39482 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39483 MVT::v16i8, 3, 1, 0, 2,
39484 OPC_EmitInteger64, 0,
39485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
39486 MVT::v4f32, 2, 3, 4,
39487 22,
39488 OPC_CheckPatternPredicate5,
39489 OPC_EmitInteger64, 0,
39490 OPC_EmitStringInteger32, LoongArch::sub_32,
39491 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39492 MVT::v16i8, 3, 1, 0, 2,
39493 OPC_EmitInteger32, 0,
39494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
39495 MVT::v4f32, 2, 3, 4,
39496 0,
39497 0,
39498 81,
39499 OPC_CheckChild0Type, MVT::f64,
39500 OPC_CheckChild1Same, 0,
39501 OPC_SwitchType , 23, MVT::v4f64,
39502 OPC_CheckChild2Same, 0,
39503 OPC_CheckChild3Same, 0,
39504 OPC_CheckPatternPredicate0,
39505 OPC_EmitInteger64, 0,
39506 OPC_EmitStringInteger32, LoongArch::sub_64,
39507 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39508 MVT::v32i8, 3, 1, 0, 2,
39509 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
39510 MVT::v4f64, 1, 3,
39511 48, MVT::v2f64,
39512 OPC_Scope, 22,
39513 OPC_CheckPatternPredicate3,
39514 OPC_EmitInteger64, 0,
39515 OPC_EmitStringInteger32, LoongArch::sub_64,
39516 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39517 MVT::v16i8, 3, 1, 0, 2,
39518 OPC_EmitInteger64, 0,
39519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
39520 MVT::v2f64, 2, 3, 4,
39521 22,
39522 OPC_CheckPatternPredicate5,
39523 OPC_EmitInteger64, 0,
39524 OPC_EmitStringInteger32, LoongArch::sub_64,
39525 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39526 MVT::v16i8, 3, 1, 0, 2,
39527 OPC_EmitInteger32, 0,
39528 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
39529 MVT::v2f64, 2, 3, 4,
39530 0,
39531 0,
39532 0,
39533 44|128,1, TARGET_VAL(LoongArchISD::VREPLVE),
39534 OPC_RecordChild0,
39535 OPC_RecordChild1,
39536 OPC_Scope, 83,
39537 OPC_CheckChild1TypeI64,
39538 OPC_SwitchType , 8, MVT::v16i8,
39539 OPC_CheckPatternPredicate3,
39540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_B),
39541 MVT::v16i8, 2, 0, 1,
39542 8, MVT::v8i16,
39543 OPC_CheckPatternPredicate3,
39544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_H),
39545 MVT::v8i16, 2, 0, 1,
39546 8, MVT::v4i32,
39547 OPC_CheckPatternPredicate3,
39548 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_W),
39549 MVT::v4i32, 2, 0, 1,
39550 8, MVT::v2i64,
39551 OPC_CheckPatternPredicate3,
39552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_D),
39553 MVT::v2i64, 2, 0, 1,
39554 8, MVT::v32i8,
39555 OPC_CheckPatternPredicate2,
39556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_B),
39557 MVT::v32i8, 2, 0, 1,
39558 8, MVT::v16i16,
39559 OPC_CheckPatternPredicate2,
39560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_H),
39561 MVT::v16i16, 2, 0, 1,
39562 8, MVT::v8i32,
39563 OPC_CheckPatternPredicate2,
39564 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_W),
39565 MVT::v8i32, 2, 0, 1,
39566 8, MVT::v4i64,
39567 OPC_CheckPatternPredicate2,
39568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_D),
39569 MVT::v4i64, 2, 0, 1,
39570 0,
39571 83,
39572 OPC_CheckChild1TypeI32,
39573 OPC_SwitchType , 8, MVT::v16i8,
39574 OPC_CheckPatternPredicate5,
39575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_B),
39576 MVT::v16i8, 2, 0, 1,
39577 8, MVT::v8i16,
39578 OPC_CheckPatternPredicate5,
39579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_H),
39580 MVT::v8i16, 2, 0, 1,
39581 8, MVT::v4i32,
39582 OPC_CheckPatternPredicate5,
39583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_W),
39584 MVT::v4i32, 2, 0, 1,
39585 8, MVT::v2i64,
39586 OPC_CheckPatternPredicate5,
39587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_D),
39588 MVT::v2i64, 2, 0, 1,
39589 8, MVT::v32i8,
39590 OPC_CheckPatternPredicate4,
39591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_B),
39592 MVT::v32i8, 2, 0, 1,
39593 8, MVT::v16i16,
39594 OPC_CheckPatternPredicate4,
39595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_H),
39596 MVT::v16i16, 2, 0, 1,
39597 8, MVT::v8i32,
39598 OPC_CheckPatternPredicate4,
39599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_W),
39600 MVT::v8i32, 2, 0, 1,
39601 8, MVT::v4i64,
39602 OPC_CheckPatternPredicate4,
39603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_D),
39604 MVT::v4i64, 2, 0, 1,
39605 0,
39606 0,
39607 76|128,3, TARGET_VAL(ISD::CONCAT_VECTORS),
39608 OPC_RecordChild0,
39609 OPC_RecordChild1,
39610 OPC_SwitchType , 74, MVT::v32i8,
39611 OPC_Scope, 35,
39612 OPC_CheckPatternPredicate2,
39613 OPC_EmitInteger64, 0,
39614 OPC_EmitStringInteger32, LoongArch::sub_128,
39615 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39616 MVT::v32i8, 3, 2, 0, 3,
39617 OPC_EmitInteger64, 0,
39618 OPC_EmitStringInteger32, LoongArch::sub_128,
39619 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39620 MVT::v32i8, 3, 5, 1, 6,
39621 OPC_EmitInteger64, 4,
39622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39623 MVT::v32i8, 3, 4, 7, 8,
39624 35,
39625 OPC_CheckPatternPredicate4,
39626 OPC_EmitInteger64, 0,
39627 OPC_EmitStringInteger32, LoongArch::sub_128,
39628 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39629 MVT::v32i8, 3, 2, 0, 3,
39630 OPC_EmitInteger64, 0,
39631 OPC_EmitStringInteger32, LoongArch::sub_128,
39632 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39633 MVT::v32i8, 3, 5, 1, 6,
39634 OPC_EmitInteger32, 4,
39635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39636 MVT::v32i8, 3, 4, 7, 8,
39637 0,
39638 74, MVT::v16i16,
39639 OPC_Scope, 35,
39640 OPC_CheckPatternPredicate2,
39641 OPC_EmitInteger64, 0,
39642 OPC_EmitStringInteger32, LoongArch::sub_128,
39643 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39644 MVT::v32i8, 3, 2, 0, 3,
39645 OPC_EmitInteger64, 0,
39646 OPC_EmitStringInteger32, LoongArch::sub_128,
39647 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39648 MVT::v32i8, 3, 5, 1, 6,
39649 OPC_EmitInteger64, 4,
39650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39651 MVT::v16i16, 3, 4, 7, 8,
39652 35,
39653 OPC_CheckPatternPredicate4,
39654 OPC_EmitInteger64, 0,
39655 OPC_EmitStringInteger32, LoongArch::sub_128,
39656 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39657 MVT::v32i8, 3, 2, 0, 3,
39658 OPC_EmitInteger64, 0,
39659 OPC_EmitStringInteger32, LoongArch::sub_128,
39660 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39661 MVT::v32i8, 3, 5, 1, 6,
39662 OPC_EmitInteger32, 4,
39663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39664 MVT::v16i16, 3, 4, 7, 8,
39665 0,
39666 74, MVT::v8i32,
39667 OPC_Scope, 35,
39668 OPC_CheckPatternPredicate2,
39669 OPC_EmitInteger64, 0,
39670 OPC_EmitStringInteger32, LoongArch::sub_128,
39671 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39672 MVT::v32i8, 3, 2, 0, 3,
39673 OPC_EmitInteger64, 0,
39674 OPC_EmitStringInteger32, LoongArch::sub_128,
39675 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39676 MVT::v32i8, 3, 5, 1, 6,
39677 OPC_EmitInteger64, 4,
39678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39679 MVT::v8i32, 3, 4, 7, 8,
39680 35,
39681 OPC_CheckPatternPredicate4,
39682 OPC_EmitInteger64, 0,
39683 OPC_EmitStringInteger32, LoongArch::sub_128,
39684 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39685 MVT::v32i8, 3, 2, 0, 3,
39686 OPC_EmitInteger64, 0,
39687 OPC_EmitStringInteger32, LoongArch::sub_128,
39688 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39689 MVT::v32i8, 3, 5, 1, 6,
39690 OPC_EmitInteger32, 4,
39691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39692 MVT::v8i32, 3, 4, 7, 8,
39693 0,
39694 74, MVT::v4i64,
39695 OPC_Scope, 35,
39696 OPC_CheckPatternPredicate2,
39697 OPC_EmitInteger64, 0,
39698 OPC_EmitStringInteger32, LoongArch::sub_128,
39699 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39700 MVT::v32i8, 3, 2, 0, 3,
39701 OPC_EmitInteger64, 0,
39702 OPC_EmitStringInteger32, LoongArch::sub_128,
39703 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39704 MVT::v32i8, 3, 5, 1, 6,
39705 OPC_EmitInteger64, 4,
39706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39707 MVT::v4i64, 3, 4, 7, 8,
39708 35,
39709 OPC_CheckPatternPredicate4,
39710 OPC_EmitInteger64, 0,
39711 OPC_EmitStringInteger32, LoongArch::sub_128,
39712 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39713 MVT::v32i8, 3, 2, 0, 3,
39714 OPC_EmitInteger64, 0,
39715 OPC_EmitStringInteger32, LoongArch::sub_128,
39716 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39717 MVT::v32i8, 3, 5, 1, 6,
39718 OPC_EmitInteger32, 4,
39719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39720 MVT::v4i64, 3, 4, 7, 8,
39721 0,
39722 74, MVT::v8f32,
39723 OPC_Scope, 35,
39724 OPC_CheckPatternPredicate2,
39725 OPC_EmitInteger64, 0,
39726 OPC_EmitStringInteger32, LoongArch::sub_128,
39727 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39728 MVT::v32i8, 3, 2, 0, 3,
39729 OPC_EmitInteger64, 0,
39730 OPC_EmitStringInteger32, LoongArch::sub_128,
39731 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39732 MVT::v32i8, 3, 5, 1, 6,
39733 OPC_EmitInteger64, 4,
39734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39735 MVT::v8f32, 3, 4, 7, 8,
39736 35,
39737 OPC_CheckPatternPredicate4,
39738 OPC_EmitInteger64, 0,
39739 OPC_EmitStringInteger32, LoongArch::sub_128,
39740 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39741 MVT::v32i8, 3, 2, 0, 3,
39742 OPC_EmitInteger64, 0,
39743 OPC_EmitStringInteger32, LoongArch::sub_128,
39744 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39745 MVT::v32i8, 3, 5, 1, 6,
39746 OPC_EmitInteger32, 4,
39747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39748 MVT::v8f32, 3, 4, 7, 8,
39749 0,
39750 74, MVT::v4f64,
39751 OPC_Scope, 35,
39752 OPC_CheckPatternPredicate2,
39753 OPC_EmitInteger64, 0,
39754 OPC_EmitStringInteger32, LoongArch::sub_128,
39755 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39756 MVT::v32i8, 3, 2, 0, 3,
39757 OPC_EmitInteger64, 0,
39758 OPC_EmitStringInteger32, LoongArch::sub_128,
39759 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39760 MVT::v32i8, 3, 5, 1, 6,
39761 OPC_EmitInteger64, 4,
39762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39763 MVT::v4f64, 3, 4, 7, 8,
39764 35,
39765 OPC_CheckPatternPredicate4,
39766 OPC_EmitInteger64, 0,
39767 OPC_EmitStringInteger32, LoongArch::sub_128,
39768 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39769 MVT::v32i8, 3, 2, 0, 3,
39770 OPC_EmitInteger64, 0,
39771 OPC_EmitStringInteger32, LoongArch::sub_128,
39772 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
39773 MVT::v32i8, 3, 5, 1, 6,
39774 OPC_EmitInteger32, 4,
39775 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39776 MVT::v4f64, 3, 4, 7, 8,
39777 0,
39778 0,
39779 0,
39780 0
39781 }; // Total Array size is 80680 bytes
39782
39783 #undef TARGET_VAL
39784 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable));
39785}
39786#endif // GET_DAGISEL_BODY
39787
39788#ifdef GET_DAGISEL_DECL
39789bool CheckPatternPredicate(unsigned PredNo) const override;
39790#endif
39791#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
39792bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
39793#if DAGISEL_INLINE
39794 override
39795#endif
39796{
39797 switch (PredNo) {
39798 default: llvm_unreachable("Invalid predicate in table?");
39799 case 0: return (Subtarget->hasExtLASX());
39800 case 1: return (Subtarget->hasExtLSX());
39801 case 2: return (Subtarget->hasExtLASX()) && (Subtarget->is64Bit());
39802 case 3: return (Subtarget->hasExtLSX()) && (Subtarget->is64Bit());
39803 case 4: return (Subtarget->hasExtLASX()) && !((Subtarget->is64Bit()));
39804 case 5: return (Subtarget->hasExtLSX()) && !((Subtarget->is64Bit()));
39805 case 6: return (Subtarget->is64Bit()) && (Subtarget->is64Bit());
39806 case 7: return (Subtarget->is64Bit());
39807 case 8: return !((Subtarget->is64Bit()));
39808 case 9: return (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
39809 case 10: return (Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
39810 case 11: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit());
39811 case 12: return (Subtarget->hasBasicF()) && !((Subtarget->is64Bit()));
39812 case 13: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit());
39813 case 14: return (Subtarget->hasBasicD()) && !((Subtarget->is64Bit()));
39814 case 15: return (!Subtarget->is64Bit()) && (Subtarget->is64Bit());
39815 case 16: return (Subtarget->hasBasicD());
39816 case 17: return (Subtarget->hasBasicF());
39817 case 18: return (Subtarget->hasFrecipe());
39818 case 19: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit()) && (Subtarget->is64Bit());
39819 case 20: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
39820 case 21: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit()) && (Subtarget->is64Bit());
39821 case 22: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
39822 case 23: return (Subtarget->hasBasicF()) && (!Subtarget->is64Bit()) && !((Subtarget->is64Bit()));
39823 case 24: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit()) && (Subtarget->is64Bit());
39824 }
39825}
39826#endif // GET_DAGISEL_BODY
39827
39828#ifdef GET_DAGISEL_DECL
39829bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
39830#endif
39831#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
39832bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
39833#if DAGISEL_INLINE
39834 override
39835#endif
39836{
39837 switch (PredNo) {
39838 default: llvm_unreachable("Invalid predicate in table?");
39839 case 0: {
39840 // Predicate_vsplat_imm_eq_1
39841 SDNode *N = Node;
39842 (void)N;
39843
39844 APInt Imm;
39845 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
39846
39847 if (N->getOpcode() == ISD::BITCAST)
39848 N = N->getOperand(Num: 0).getNode();
39849
39850 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
39851 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;
39852
39853 }
39854 case 1: {
39855 // Predicate_store
39856 SDNode *N = Node;
39857 (void)N;
39858 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
39859return true;
39860
39861 }
39862 case 2: {
39863 // Predicate_unindexedstore
39864 SDNode *N = Node;
39865 (void)N;
39866if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
39867return true;
39868
39869 }
39870 case 3: {
39871 // Predicate_vsplati64_imm_eq_63
39872 SDNode *N = Node;
39873 (void)N;
39874
39875 APInt Imm;
39876 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
39877
39878 if (N->getOpcode() == ISD::BITCAST)
39879 N = N->getOperand(Num: 0).getNode();
39880
39881 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
39882 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 63;
39883
39884 }
39885 case 4: {
39886 // Predicate_load
39887 SDNode *N = Node;
39888 (void)N;
39889if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
39890return true;
39891
39892 }
39893 case 5: {
39894 // Predicate_atomic_cmp_swap_i32
39895 // Predicate_atomic_load_32
39896 // Predicate_atomic_load_add_i32
39897 // Predicate_atomic_load_and_i32
39898 // Predicate_atomic_load_max_i32
39899 // Predicate_atomic_load_min_i32
39900 // Predicate_atomic_load_nand_i32
39901 // Predicate_atomic_load_or_i32
39902 // Predicate_atomic_load_sub_i32
39903 // Predicate_atomic_load_umax_i32
39904 // Predicate_atomic_load_umin_i32
39905 // Predicate_atomic_load_xor_i32
39906 // Predicate_atomic_store_32
39907 // Predicate_atomic_swap_i32
39908 // Predicate_extloadi32
39909 // Predicate_sextloadi32
39910 // Predicate_zextloadi32
39911 SDNode *N = Node;
39912 (void)N;
39913if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
39914return true;
39915
39916 }
39917 case 6: {
39918 // Predicate_unindexedload
39919 SDNode *N = Node;
39920 (void)N;
39921if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
39922return true;
39923
39924 }
39925 case 7: {
39926 // Predicate_vsplati8_imm_eq_7
39927 SDNode *N = Node;
39928 (void)N;
39929
39930 APInt Imm;
39931 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
39932
39933 if (N->getOpcode() == ISD::BITCAST)
39934 N = N->getOperand(Num: 0).getNode();
39935
39936 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
39937 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 7;
39938
39939 }
39940 case 8: {
39941 // Predicate_vsplati16_imm_eq_15
39942 SDNode *N = Node;
39943 (void)N;
39944
39945 APInt Imm;
39946 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
39947
39948 if (N->getOpcode() == ISD::BITCAST)
39949 N = N->getOperand(Num: 0).getNode();
39950
39951 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
39952 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 15;
39953
39954 }
39955 case 9: {
39956 // Predicate_vsplati32_imm_eq_31
39957 SDNode *N = Node;
39958 (void)N;
39959
39960 APInt Imm;
39961 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
39962
39963 if (N->getOpcode() == ISD::BITCAST)
39964 N = N->getOperand(Num: 0).getNode();
39965
39966 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
39967 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 31;
39968
39969 }
39970 case 10: {
39971 // Predicate_AddLike
39972 SDNode *N = Node;
39973 (void)N;
39974
39975 return CurDAG->isBaseWithConstantOffset(Op: SDValue(N, 0));
39976
39977 }
39978 case 11: {
39979 // Predicate_simm12
39980 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
39981return isInt<12>(x: Imm);
39982 }
39983 case 12: {
39984 // Predicate_mul_const_oneuse
39985 SDNode *N = Node;
39986 (void)N;
39987
39988 if (auto *N1C = dyn_cast<ConstantSDNode>(Val: N->getOperand(Num: 1)))
39989 return N1C->hasOneUse();
39990 return false;
39991
39992 }
39993 case 13: {
39994 // Predicate_atomic_load_8
39995 // Predicate_atomic_store_8
39996 // Predicate_extloadi8
39997 // Predicate_sextloadi8
39998 // Predicate_zextloadi8
39999 SDNode *N = Node;
40000 (void)N;
40001if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
40002return true;
40003
40004 }
40005 case 14: {
40006 // Predicate_atomic_load_16
40007 // Predicate_atomic_store_16
40008 // Predicate_extloadi16
40009 // Predicate_sextloadi16
40010 // Predicate_zextloadi16
40011 SDNode *N = Node;
40012 (void)N;
40013if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
40014return true;
40015
40016 }
40017 case 15: {
40018 // Predicate_atomic_cmp_swap_i64
40019 // Predicate_atomic_load_64
40020 // Predicate_atomic_load_add_i64
40021 // Predicate_atomic_load_and_i64
40022 // Predicate_atomic_load_max_i64
40023 // Predicate_atomic_load_min_i64
40024 // Predicate_atomic_load_nand_i64
40025 // Predicate_atomic_load_or_i64
40026 // Predicate_atomic_load_sub_i64
40027 // Predicate_atomic_load_umax_i64
40028 // Predicate_atomic_load_umin_i64
40029 // Predicate_atomic_load_xor_i64
40030 // Predicate_atomic_store_64
40031 // Predicate_atomic_swap_i64
40032 SDNode *N = Node;
40033 (void)N;
40034if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
40035return true;
40036
40037 }
40038 case 16: {
40039 // Predicate_sextload
40040 SDNode *N = Node;
40041 (void)N;
40042if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
40043return true;
40044
40045 }
40046 case 17: {
40047 // Predicate_extload
40048 SDNode *N = Node;
40049 (void)N;
40050if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
40051return true;
40052
40053 }
40054 case 18: {
40055 // Predicate_immZExt2
40056 // Predicate_uimm2
40057 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40058return isUInt<2>(x: Imm);
40059 }
40060 case 19: {
40061 // Predicate_zextload
40062 SDNode *N = Node;
40063 (void)N;
40064if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
40065return true;
40066
40067 }
40068 case 20: {
40069 // Predicate_atomic_load_add_i32_monotonic
40070 // Predicate_atomic_load_and_i32_monotonic
40071 // Predicate_atomic_load_nand_i32_monotonic
40072 // Predicate_atomic_load_nand_i64_monotonic
40073 // Predicate_atomic_load_or_i32_monotonic
40074 // Predicate_atomic_load_sub_i32_monotonic
40075 // Predicate_atomic_load_xor_i32_monotonic
40076 // Predicate_atomic_swap_i32_monotonic
40077 SDNode *N = Node;
40078 (void)N;
40079if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Monotonic) return false;
40080return true;
40081
40082 }
40083 case 21: {
40084 // Predicate_atomic_load_add_i32_acquire
40085 // Predicate_atomic_load_and_i32_acquire
40086 // Predicate_atomic_load_nand_i32_acquire
40087 // Predicate_atomic_load_nand_i64_acquire
40088 // Predicate_atomic_load_or_i32_acquire
40089 // Predicate_atomic_load_sub_i32_acquire
40090 // Predicate_atomic_load_xor_i32_acquire
40091 // Predicate_atomic_swap_i32_acquire
40092 SDNode *N = Node;
40093 (void)N;
40094if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Acquire) return false;
40095return true;
40096
40097 }
40098 case 22: {
40099 // Predicate_atomic_load_add_i32_release
40100 // Predicate_atomic_load_and_i32_release
40101 // Predicate_atomic_load_nand_i32_release
40102 // Predicate_atomic_load_nand_i64_release
40103 // Predicate_atomic_load_or_i32_release
40104 // Predicate_atomic_load_sub_i32_release
40105 // Predicate_atomic_load_xor_i32_release
40106 // Predicate_atomic_swap_i32_release
40107 SDNode *N = Node;
40108 (void)N;
40109if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Release) return false;
40110return true;
40111
40112 }
40113 case 23: {
40114 // Predicate_atomic_load_add_i32_acq_rel
40115 // Predicate_atomic_load_and_i32_acq_rel
40116 // Predicate_atomic_load_nand_i32_acq_rel
40117 // Predicate_atomic_load_nand_i64_acq_rel
40118 // Predicate_atomic_load_or_i32_acq_rel
40119 // Predicate_atomic_load_sub_i32_acq_rel
40120 // Predicate_atomic_load_xor_i32_acq_rel
40121 // Predicate_atomic_swap_i32_acq_rel
40122 SDNode *N = Node;
40123 (void)N;
40124if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::AcquireRelease) return false;
40125return true;
40126
40127 }
40128 case 24: {
40129 // Predicate_atomic_load_add_i32_seq_cst
40130 // Predicate_atomic_load_and_i32_seq_cst
40131 // Predicate_atomic_load_nand_i32_seq_cst
40132 // Predicate_atomic_load_nand_i64_seq_cst
40133 // Predicate_atomic_load_or_i32_seq_cst
40134 // Predicate_atomic_load_sub_i32_seq_cst
40135 // Predicate_atomic_load_xor_i32_seq_cst
40136 // Predicate_atomic_swap_i32_seq_cst
40137 SDNode *N = Node;
40138 (void)N;
40139if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::SequentiallyConsistent) return false;
40140return true;
40141
40142 }
40143 case 25: {
40144 // Predicate_immZExt3
40145 // Predicate_uimm3
40146 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40147return isUInt<3>(x: Imm);
40148 }
40149 case 26: {
40150 // Predicate_uimm5
40151 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40152return isUInt<5>(x: Imm);
40153 }
40154 case 27: {
40155 // Predicate_truncstore
40156 SDNode *N = Node;
40157 (void)N;
40158 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
40159return true;
40160
40161 }
40162 case 28: {
40163 // Predicate_atomic_store_unordered_monotonic_32
40164 // Predicate_atomic_store_unordered_monotonic_64
40165 SDNode *N = Node;
40166 (void)N;
40167
40168 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getSuccessOrdering();
40169 return !isReleaseOrStronger(AO: Ordering);
40170
40171 }
40172 case 29: {
40173 // Predicate_uimm6
40174 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40175return isUInt<6>(x: Imm);
40176 }
40177 case 30: {
40178 // Predicate_truncstorei8
40179 SDNode *N = Node;
40180 (void)N;
40181if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
40182 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
40183return true;
40184
40185 }
40186 case 31: {
40187 // Predicate_truncstorei16
40188 SDNode *N = Node;
40189 (void)N;
40190if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
40191 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
40192return true;
40193
40194 }
40195 case 32: {
40196 // Predicate_immZExt4
40197 // Predicate_uimm4
40198 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40199return isUInt<4>(x: Imm);
40200 }
40201 case 33: {
40202 // Predicate_immZExt1
40203 // Predicate_uimm1
40204 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40205return isUInt<1>(x: Imm);
40206 }
40207 case 34: {
40208 // Predicate_truncstorei32
40209 SDNode *N = Node;
40210 (void)N;
40211if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
40212 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
40213return true;
40214
40215 }
40216 case 35: {
40217 // Predicate_fma_nsz
40218 SDNode *N = Node;
40219 (void)N;
40220
40221 return N->getFlags().hasNoSignedZeros();
40222
40223 }
40224 case 36: {
40225 // Predicate_uimm2_plus1
40226 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40227return isUInt<2>(x: Imm - 1);
40228 }
40229 case 37: {
40230 // Predicate_assertsexti32
40231 SDNode *N = Node;
40232 (void)N;
40233
40234 return cast<VTSDNode>(Val: N->getOperand(Num: 1))->getVT().bitsLE(VT: MVT::i32);
40235
40236 }
40237 case 38: {
40238 // Predicate_simm14_lsl2
40239 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40240return isShiftedInt<14,2>(x: Imm);
40241 }
40242 case 39: {
40243 // Predicate_atomic_store_release_seqcst_32
40244 // Predicate_atomic_store_release_seqcst_64
40245 SDNode *N = Node;
40246 (void)N;
40247
40248 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getSuccessOrdering();
40249 return isReleaseOrStronger(AO: Ordering);
40250
40251 }
40252 case 40: {
40253 // Predicate_uimm15
40254 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40255return isUInt<15>(x: Imm);
40256 }
40257 case 41: {
40258 // Predicate_uimm12
40259 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40260return isUInt<12>(x: Imm);
40261 }
40262 case 42: {
40263 // Predicate_uimm14
40264 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40265return isUInt<14>(x: Imm);
40266 }
40267 case 43: {
40268 // Predicate_atomic_cmp_swap_i32_failure_monotonic
40269 // Predicate_atomic_cmp_swap_i64_failure_monotonic
40270 SDNode *N = Node;
40271 (void)N;
40272
40273 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
40274 return Ordering == AtomicOrdering::Monotonic;
40275
40276 }
40277 case 44: {
40278 // Predicate_atomic_cmp_swap_i32_failure_acquire
40279 // Predicate_atomic_cmp_swap_i64_failure_acquire
40280 SDNode *N = Node;
40281 (void)N;
40282
40283 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
40284 return Ordering == AtomicOrdering::Acquire;
40285
40286 }
40287 case 45: {
40288 // Predicate_atomic_cmp_swap_i32_failure_release
40289 // Predicate_atomic_cmp_swap_i64_failure_release
40290 SDNode *N = Node;
40291 (void)N;
40292
40293 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
40294 return Ordering == AtomicOrdering::Release;
40295
40296 }
40297 case 46: {
40298 // Predicate_atomic_cmp_swap_i32_failure_acq_rel
40299 // Predicate_atomic_cmp_swap_i64_failure_acq_rel
40300 SDNode *N = Node;
40301 (void)N;
40302
40303 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
40304 return Ordering == AtomicOrdering::AcquireRelease;
40305
40306 }
40307 case 47: {
40308 // Predicate_atomic_cmp_swap_i32_failure_seq_cst
40309 // Predicate_atomic_cmp_swap_i64_failure_seq_cst
40310 SDNode *N = Node;
40311 (void)N;
40312
40313 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
40314 return Ordering == AtomicOrdering::SequentiallyConsistent;
40315
40316 }
40317 case 48: {
40318 // Predicate_fpimm1
40319 auto *N = cast<ConstantFPSDNode>(Val: Node);
40320 (void)N;
40321return N->isExactlyValue(V: +1.0);
40322 }
40323 case 49: {
40324 // Predicate_AlslSlliImm
40325 auto *N = cast<ConstantSDNode>(Val: Node);
40326 (void)N;
40327
40328 if (!N->hasOneUse())
40329 return false;
40330 uint64_t Imm = N->getZExtValue();
40331 unsigned I1 = llvm::countr_zero(Val: Imm);
40332 uint64_t Rem = Imm >> I1;
40333 return Rem == 3 || Rem == 5 || Rem == 9 || Rem == 17;
40334
40335 }
40336 case 50: {
40337 // Predicate_simm32_hi16_lo12
40338 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40339
40340 return !isInt<12>(x: Imm) && isShiftedInt<16, 16>(x: Imm - SignExtend64<12>(x: Imm));
40341
40342 }
40343 case 51: {
40344 // Predicate_AddiPair
40345 auto *N = cast<ConstantSDNode>(Val: Node);
40346 (void)N;
40347
40348 if (!N->hasOneUse())
40349 return false;
40350 // The immediate operand must be in range [-4096,-2049] or [2048,4094].
40351 int64_t Imm = N->getSExtValue();
40352 return (-4096 <= Imm && Imm <= -2049) || (2048 <= Imm && Imm <= 4094);
40353
40354 }
40355 case 52: {
40356 // Predicate_simm12_plus1
40357 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40358return (isInt<12>(x: Imm) && Imm != -2048) || Imm == 2048;
40359 }
40360 case 53: {
40361 // Predicate_vsplatf32_fpimm_eq_1
40362 SDNode *N = Node;
40363 (void)N;
40364
40365 APInt Imm;
40366 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
40367 N = N->getOperand(Num: 0).getNode();
40368
40369 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
40370 Imm.getBitWidth() == EltTy.getSizeInBits() &&
40371 Imm == APFloat(+1.0f).bitcastToAPInt();
40372
40373 }
40374 case 54: {
40375 // Predicate_vsplatf64_fpimm_eq_1
40376 SDNode *N = Node;
40377 (void)N;
40378
40379 APInt Imm;
40380 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
40381 N = N->getOperand(Num: 0).getNode();
40382
40383 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
40384 Imm.getBitWidth() == EltTy.getSizeInBits() &&
40385 Imm == APFloat(+1.0).bitcastToAPInt();
40386
40387 }
40388 case 55: {
40389 // Predicate_fpimm0
40390 auto *N = cast<ConstantFPSDNode>(Val: Node);
40391 (void)N;
40392return N->isExactlyValue(V: +0.0);
40393 }
40394 case 56: {
40395 // Predicate_fpimm0neg
40396 auto *N = cast<ConstantFPSDNode>(Val: Node);
40397 (void)N;
40398return N->isExactlyValue(V: -0.0);
40399 }
40400 case 57: {
40401 // Predicate_immZExt8
40402 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40403return isUInt<8>(x: Imm);
40404 }
40405 case 58: {
40406 // Predicate_simm16_lsl16
40407 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40408return isShiftedInt<16, 16>(x: Imm);
40409 }
40410 case 59: {
40411 // Predicate_BstrinsImm
40412 auto *N = cast<ConstantSDNode>(Val: Node);
40413 (void)N;
40414
40415 if (!N->hasOneUse())
40416 return false;
40417 uint64_t Imm = N->getZExtValue();
40418 // andi can be used instead if Imm <= 0xfff.
40419 if (Imm <= 0xfff)
40420 return false;
40421 unsigned MaskIdx, MaskLen;
40422 return N->getValueType(ResNo: 0).getSizeInBits() == 32
40423 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
40424 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
40425
40426 }
40427 case 60: {
40428 // Predicate_simm16_lsl2
40429 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
40430return isInt<16>(x: Imm>>2);
40431 }
40432 }
40433}
40434#endif // GET_DAGISEL_BODY
40435
40436#ifdef GET_DAGISEL_DECL
40437bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
40438 SDValue N, unsigned PatternNo,
40439 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
40440#endif
40441#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
40442bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
40443 SDValue N, unsigned PatternNo,
40444 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
40445#if DAGISEL_INLINE
40446 override
40447#endif
40448{
40449 unsigned NextRes = Result.size();
40450 switch (PatternNo) {
40451 default: llvm_unreachable("Invalid pattern # in table?");
40452 case 0:
40453 Result.resize(N: NextRes+1);
40454 return SelectBaseAddr(Addr: N, Base&: Result[NextRes+0].first);
40455 case 1:
40456 Result.resize(N: NextRes+1);
40457 return selectVSplatImm<5>(N, SplatVal&: Result[NextRes+0].first);
40458 case 2:
40459 Result.resize(N: NextRes+1);
40460 return selectNonFIBaseAddr(Addr: N, Base&: Result[NextRes+0].first);
40461 case 3:
40462 Result.resize(N: NextRes+1);
40463 return selectVSplatImm<5, true>(N, SplatVal&: Result[NextRes+0].first);
40464 case 4:
40465 Result.resize(N: NextRes+2);
40466 return SelectAddrConstant(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
40467 case 5:
40468 Result.resize(N: NextRes+1);
40469 return selectVSplatUimmPow2(N, SplatImm&: Result[NextRes+0].first);
40470 case 6:
40471 Result.resize(N: NextRes+1);
40472 return selectVSplatUimmInvPow2(N, SplatImm&: Result[NextRes+0].first);
40473 case 7:
40474 Result.resize(N: NextRes+1);
40475 return selectVSplatImm<8>(N, SplatVal&: Result[NextRes+0].first);
40476 case 8:
40477 Result.resize(N: NextRes+1);
40478 return selectShiftMaskGRLen(N, ShAmt&: Result[NextRes+0].first);
40479 case 9:
40480 Result.resize(N: NextRes+1);
40481 return selectVSplatImm<3>(N, SplatVal&: Result[NextRes+0].first);
40482 case 10:
40483 Result.resize(N: NextRes+1);
40484 return selectVSplatImm<4>(N, SplatVal&: Result[NextRes+0].first);
40485 case 11:
40486 Result.resize(N: NextRes+1);
40487 return selectVSplatImm<6>(N, SplatVal&: Result[NextRes+0].first);
40488 case 12:
40489 Result.resize(N: NextRes+1);
40490 return selectShiftMask32(N, ShAmt&: Result[NextRes+0].first);
40491 case 13:
40492 Result.resize(N: NextRes+1);
40493 return selectSExti32(N, Val&: Result[NextRes+0].first);
40494 }
40495}
40496#endif // GET_DAGISEL_BODY
40497
40498#ifdef GET_DAGISEL_DECL
40499SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
40500#endif
40501#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
40502SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
40503#if DAGISEL_INLINE
40504 override
40505#endif
40506{
40507 switch (XFormNo) {
40508 default: llvm_unreachable("Invalid xform # in table?");
40509 case 0: {
40510 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40511
40512 uint64_t Imm = N->getZExtValue();
40513 unsigned I1 = llvm::countr_zero(Val: Imm);
40514 uint64_t I0;
40515 switch (Imm >> I1) {
40516 case 3: I0 = 1; break;
40517 case 5: I0 = 2; break;
40518 case 9: I0 = 3; break;
40519 default: I0 = 4; break;
40520 }
40521 return CurDAG->getTargetConstant(Val: I0, DL: SDLoc(N),
40522 VT: N->getValueType(ResNo: 0));
40523
40524 }
40525 case 1: {
40526 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40527
40528 uint64_t Imm = N->getZExtValue();
40529 unsigned I1 = llvm::countr_zero(Val: Imm);
40530 return CurDAG->getTargetConstant(Val: I1, DL: SDLoc(N),
40531 VT: N->getValueType(ResNo: 0));
40532
40533 }
40534 case 2: {
40535 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40536
40537 auto Imm = N->getSExtValue();
40538 return CurDAG->getTargetConstant(Val: (Imm - SignExtend64<12>(x: Imm)) >> 16,
40539 DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
40540
40541 }
40542 case 3: {
40543 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40544
40545 return CurDAG->getTargetConstant(Val: SignExtend64<12>(x: N->getSExtValue()),
40546 DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
40547
40548 }
40549 case 4: {
40550 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40551
40552 int64_t Imm = N->getSExtValue() < 0 ? -2048 : 2047;
40553 return CurDAG->getTargetConstant(Val: Imm, DL: SDLoc(N),
40554 VT: N->getValueType(ResNo: 0));
40555
40556 }
40557 case 5: {
40558 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40559
40560 int64_t Imm = N->getSExtValue();
40561 int64_t Adj = Imm < 0 ? -2048 : 2047;
40562 return CurDAG->getTargetConstant(Val: Imm - Adj, DL: SDLoc(N),
40563 VT: N->getValueType(ResNo: 0));
40564
40565 }
40566 case 6: {
40567 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40568
40569 return CurDAG->getTargetConstant(Val: N->getSExtValue() >> 16, DL: SDLoc(N),
40570 VT: N->getValueType(ResNo: 0));
40571
40572 }
40573 case 7: {
40574 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40575
40576 auto CN = cast<ConstantSDNode>(Val: N);
40577 return CurDAG->getTargetConstant(Val: CN->getSExtValue(), DL: SDLoc(N), VT: Subtarget->getGRLenVT());
40578
40579 }
40580 case 8: {
40581 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40582
40583 uint64_t Imm = N->getZExtValue();
40584 unsigned MaskIdx, MaskLen;
40585 N->getValueType(ResNo: 0).getSizeInBits() == 32
40586 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
40587 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
40588 return CurDAG->getTargetConstant(Val: MaskIdx + MaskLen - 1, DL: SDLoc(N),
40589 VT: N->getValueType(ResNo: 0));
40590
40591 }
40592 case 9: {
40593 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40594
40595 uint64_t Imm = N->getZExtValue();
40596 unsigned MaskIdx, MaskLen;
40597 N->getValueType(ResNo: 0).getSizeInBits() == 32
40598 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
40599 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
40600 return CurDAG->getTargetConstant(Val: MaskIdx, DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
40601
40602 }
40603 case 10: {
40604 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40605
40606 return CurDAG->getTargetConstant(Val: -N->getSExtValue(), DL: SDLoc(N),
40607 VT: N->getValueType(ResNo: 0));
40608
40609 }
40610 case 11: {
40611 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
40612
40613 uint64_t Check = N->getZExtValue();
40614 unsigned Mask = 0;
40615 if (Check & fcSNan)
40616 Mask |= LoongArch::FClassMaskSignalingNaN;
40617 if (Check & fcQNan)
40618 Mask |= LoongArch::FClassMaskQuietNaN;
40619 if (Check & fcPosInf)
40620 Mask |= LoongArch::FClassMaskPositiveInfinity;
40621 if (Check & fcNegInf)
40622 Mask |= LoongArch::FClassMaskNegativeInfinity;
40623 if (Check & fcPosNormal)
40624 Mask |= LoongArch::FClassMaskPositiveNormal;
40625 if (Check & fcNegNormal)
40626 Mask |= LoongArch::FClassMaskNegativeNormal;
40627 if (Check & fcPosSubnormal)
40628 Mask |= LoongArch::FClassMaskPositiveSubnormal;
40629 if (Check & fcNegSubnormal)
40630 Mask |= LoongArch::FClassMaskNegativeSubnormal;
40631 if (Check & fcPosZero)
40632 Mask |= LoongArch::FClassMaskPositiveZero;
40633 if (Check & fcNegZero)
40634 Mask |= LoongArch::FClassMaskNegativeZero;
40635 return CurDAG->getTargetConstant(Val: Mask, DL: SDLoc(N), VT: Subtarget->getGRLenVT());
40636
40637 }
40638 }
40639}
40640#endif // GET_DAGISEL_BODY
40641
40642
40643#ifdef DAGISEL_INLINE
40644#undef DAGISEL_INLINE
40645#endif
40646#ifdef DAGISEL_CLASS_COLONCOLON
40647#undef DAGISEL_CLASS_COLONCOLON
40648#endif
40649#ifdef GET_DAGISEL_DECL
40650#undef GET_DAGISEL_DECL
40651#endif
40652#ifdef GET_DAGISEL_BODY
40653#undef GET_DAGISEL_BODY
40654#endif
40655