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. Coverage indexes are emitted as 4 bytes,
55 // COVERAGE_IDX_VAL handles this.
56 #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
57 #define COVERAGE_IDX_VAL(X) X & 255, (unsigned(X) >> 8) & 255, (unsigned(X) >> 16) & 255, (unsigned(X) >> 24) & 255
58 static const uint8_t MatcherTable[] = {
59 OPC_SwitchOpcode , 96|128,17, TARGET_VAL(ISD::MUL),
60 OPC_Scope, 63,
61 OPC_MoveChild0,
62 OPC_SwitchOpcode , 28, TARGET_VAL(LoongArchISD::BSTRPICK),
63 OPC_RecordChild0,
64 OPC_CheckChild1Integer, 31,
65 OPC_CheckChild1TypeI64,
66 OPC_CheckChild2Integer, 0,
67 OPC_MoveSibling1,
68 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
69 OPC_RecordChild0,
70 OPC_CheckChild1Integer, 31,
71 OPC_CheckChild1TypeI64,
72 OPC_CheckChild2Integer, 0,
73 OPC_MoveParent,
74 OPC_CheckTypeByHwMode, 1,
75 OPC_CheckPatternPredicate2,
76 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MULW_D_WU), 0,
77 1, 1, 2, 9,
78 26, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
79 OPC_RecordChild0,
80 OPC_MoveChild1,
81 OPC_CheckValueType, MVT::i32,
82 OPC_MoveParent,
83 OPC_MoveSibling1,
84 OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
85 OPC_RecordChild0,
86 OPC_MoveChild1,
87 OPC_CheckValueType, MVT::i32,
88 OPC_MoveParent,
89 OPC_MoveParent,
90 OPC_CheckTypeByHwMode, 1,
91 OPC_CheckPatternPredicate2,
92 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MULW_D_W), 0,
93 1, 1, 2, 9,
94 0,
95 28|128,17,
96 OPC_RecordChild0,
97 OPC_Scope, 53,
98 OPC_CheckChild1Integer, 7,
99 OPC_CheckPredicate, 8,
100 OPC_Scope, 20,
101 OPC_CheckTypeI32,
102 OPC_CheckPatternPredicate6,
103 OPC_EmitIntegerI32, 1,
104 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
105 1, 0, 3, 8,
106 OPC_EmitIntegerI32, 1,
107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
108 MVT::i32, 3, 39,
109 25,
110 OPC_CheckTypeByHwMode, 1,
111 OPC_CheckPatternPredicate2,
112 OPC_EmitIntegerByHwMode, 1, 1,
113 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
114 1, 0, 3, 8,
115 OPC_EmitIntegerByHwMode, 1, 1,
116 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
117 1, 1, 3, 39,
118 0,
119 53,
120 OPC_CheckChild1Integer, 13,
121 OPC_CheckPredicate, 8,
122 OPC_Scope, 20,
123 OPC_CheckTypeI32,
124 OPC_CheckPatternPredicate6,
125 OPC_EmitIntegerI32, 1,
126 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
127 1, 0, 3, 8,
128 OPC_EmitIntegerI32, 2,
129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
130 MVT::i32, 3, 39,
131 25,
132 OPC_CheckTypeByHwMode, 1,
133 OPC_CheckPatternPredicate2,
134 OPC_EmitIntegerByHwMode, 1, 1,
135 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
136 1, 0, 3, 8,
137 OPC_EmitIntegerByHwMode, 1, 2,
138 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
139 1, 1, 3, 39,
140 0,
141 121,
142 OPC_CheckChild1Integer, 25,
143 OPC_CheckPredicate, 8,
144 OPC_Scope, 20,
145 OPC_CheckTypeI32,
146 OPC_CheckPatternPredicate6,
147 OPC_EmitIntegerI32, 1,
148 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
149 1, 0, 3, 8,
150 OPC_EmitIntegerI32, 3,
151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
152 MVT::i32, 3, 39,
153 25,
154 OPC_CheckTypeByHwMode, 1,
155 OPC_CheckPatternPredicate2,
156 OPC_EmitIntegerByHwMode, 1, 1,
157 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
158 1, 0, 3, 8,
159 OPC_EmitIntegerByHwMode, 1, 3,
160 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
161 1, 1, 3, 39,
162 30,
163 OPC_CheckTypeI32,
164 OPC_CheckPatternPredicate6,
165 OPC_EmitIntegerI32, 2,
166 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
167 1, 0, 3, 8,
168 OPC_EmitIntegerI32, 2,
169 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
170 1, 0, 3, 33,
171 OPC_EmitIntegerI32, 2,
172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
173 MVT::i32, 3, 99,
174 36,
175 OPC_CheckTypeByHwMode, 1,
176 OPC_CheckPatternPredicate2,
177 OPC_EmitIntegerByHwMode, 1, 2,
178 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
179 1, 0, 3, 8,
180 OPC_EmitIntegerByHwMode, 1, 2,
181 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
182 1, 0, 3, 33,
183 OPC_EmitIntegerByHwMode, 1, 2,
184 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
185 1, 1, 3, 99,
186 0,
187 53,
188 OPC_CheckChild1Integer, 49,
189 OPC_CheckPredicate, 8,
190 OPC_Scope, 20,
191 OPC_CheckTypeI32,
192 OPC_CheckPatternPredicate6,
193 OPC_EmitIntegerI32, 1,
194 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
195 1, 0, 3, 8,
196 OPC_EmitIntegerI32, 4,
197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
198 MVT::i32, 3, 39,
199 25,
200 OPC_CheckTypeByHwMode, 1,
201 OPC_CheckPatternPredicate2,
202 OPC_EmitIntegerByHwMode, 1, 1,
203 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
204 1, 0, 3, 8,
205 OPC_EmitIntegerByHwMode, 1, 4,
206 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
207 1, 1, 3, 39,
208 0,
209 53,
210 OPC_CheckChild1Integer, 11,
211 OPC_CheckPredicate, 8,
212 OPC_Scope, 20,
213 OPC_CheckTypeI32,
214 OPC_CheckPatternPredicate6,
215 OPC_EmitIntegerI32, 2,
216 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
217 1, 0, 3, 8,
218 OPC_EmitIntegerI32, 1,
219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
220 MVT::i32, 3, 39,
221 25,
222 OPC_CheckTypeByHwMode, 1,
223 OPC_CheckPatternPredicate2,
224 OPC_EmitIntegerByHwMode, 1, 2,
225 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
226 1, 0, 3, 8,
227 OPC_EmitIntegerByHwMode, 1, 1,
228 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
229 1, 1, 3, 39,
230 0,
231 53,
232 OPC_CheckChild1Integer, 21,
233 OPC_CheckPredicate, 8,
234 OPC_Scope, 20,
235 OPC_CheckTypeI32,
236 OPC_CheckPatternPredicate6,
237 OPC_EmitIntegerI32, 2,
238 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
239 1, 0, 3, 8,
240 OPC_EmitIntegerI32, 2,
241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
242 MVT::i32, 3, 39,
243 25,
244 OPC_CheckTypeByHwMode, 1,
245 OPC_CheckPatternPredicate2,
246 OPC_EmitIntegerByHwMode, 1, 2,
247 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
248 1, 0, 3, 8,
249 OPC_EmitIntegerByHwMode, 1, 2,
250 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
251 1, 1, 3, 39,
252 0,
253 53,
254 OPC_CheckChild1Integer, 41,
255 OPC_CheckPredicate, 8,
256 OPC_Scope, 20,
257 OPC_CheckTypeI32,
258 OPC_CheckPatternPredicate6,
259 OPC_EmitIntegerI32, 2,
260 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
261 1, 0, 3, 8,
262 OPC_EmitIntegerI32, 3,
263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
264 MVT::i32, 3, 39,
265 25,
266 OPC_CheckTypeByHwMode, 1,
267 OPC_CheckPatternPredicate2,
268 OPC_EmitIntegerByHwMode, 1, 2,
269 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
270 1, 0, 3, 8,
271 OPC_EmitIntegerByHwMode, 1, 3,
272 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
273 1, 1, 3, 39,
274 0,
275 122,
276 OPC_CheckChild1Integer, 81|128,0,
277 OPC_CheckPredicate, 8,
278 OPC_Scope, 20,
279 OPC_CheckTypeI32,
280 OPC_CheckPatternPredicate6,
281 OPC_EmitIntegerI32, 2,
282 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
283 1, 0, 3, 8,
284 OPC_EmitIntegerI32, 4,
285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
286 MVT::i32, 3, 39,
287 25,
288 OPC_CheckTypeByHwMode, 1,
289 OPC_CheckPatternPredicate2,
290 OPC_EmitIntegerByHwMode, 1, 2,
291 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
292 1, 0, 3, 8,
293 OPC_EmitIntegerByHwMode, 1, 4,
294 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
295 1, 1, 3, 39,
296 30,
297 OPC_CheckTypeI32,
298 OPC_CheckPatternPredicate6,
299 OPC_EmitIntegerI32, 3,
300 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
301 1, 0, 3, 8,
302 OPC_EmitIntegerI32, 3,
303 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
304 1, 0, 3, 33,
305 OPC_EmitIntegerI32, 3,
306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
307 MVT::i32, 3, 99,
308 36,
309 OPC_CheckTypeByHwMode, 1,
310 OPC_CheckPatternPredicate2,
311 OPC_EmitIntegerByHwMode, 1, 3,
312 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
313 1, 0, 3, 8,
314 OPC_EmitIntegerByHwMode, 1, 3,
315 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
316 1, 0, 3, 33,
317 OPC_EmitIntegerByHwMode, 1, 3,
318 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
319 1, 1, 3, 99,
320 0,
321 53,
322 OPC_CheckChild1Integer, 19,
323 OPC_CheckPredicate, 8,
324 OPC_Scope, 20,
325 OPC_CheckTypeI32,
326 OPC_CheckPatternPredicate6,
327 OPC_EmitIntegerI32, 3,
328 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
329 1, 0, 3, 8,
330 OPC_EmitIntegerI32, 1,
331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
332 MVT::i32, 3, 39,
333 25,
334 OPC_CheckTypeByHwMode, 1,
335 OPC_CheckPatternPredicate2,
336 OPC_EmitIntegerByHwMode, 1, 3,
337 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
338 1, 0, 3, 8,
339 OPC_EmitIntegerByHwMode, 1, 1,
340 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
341 1, 1, 3, 39,
342 0,
343 53,
344 OPC_CheckChild1Integer, 37,
345 OPC_CheckPredicate, 8,
346 OPC_Scope, 20,
347 OPC_CheckTypeI32,
348 OPC_CheckPatternPredicate6,
349 OPC_EmitIntegerI32, 3,
350 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
351 1, 0, 3, 8,
352 OPC_EmitIntegerI32, 2,
353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
354 MVT::i32, 3, 39,
355 25,
356 OPC_CheckTypeByHwMode, 1,
357 OPC_CheckPatternPredicate2,
358 OPC_EmitIntegerByHwMode, 1, 3,
359 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
360 1, 0, 3, 8,
361 OPC_EmitIntegerByHwMode, 1, 2,
362 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
363 1, 1, 3, 39,
364 0,
365 54,
366 OPC_CheckChild1Integer, 73|128,0,
367 OPC_CheckPredicate, 8,
368 OPC_Scope, 20,
369 OPC_CheckTypeI32,
370 OPC_CheckPatternPredicate6,
371 OPC_EmitIntegerI32, 3,
372 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
373 1, 0, 3, 8,
374 OPC_EmitIntegerI32, 3,
375 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
376 MVT::i32, 3, 39,
377 25,
378 OPC_CheckTypeByHwMode, 1,
379 OPC_CheckPatternPredicate2,
380 OPC_EmitIntegerByHwMode, 1, 3,
381 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
382 1, 0, 3, 8,
383 OPC_EmitIntegerByHwMode, 1, 3,
384 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
385 1, 1, 3, 39,
386 0,
387 54,
388 OPC_CheckChild1Integer, 17|128,1,
389 OPC_CheckPredicate, 8,
390 OPC_Scope, 20,
391 OPC_CheckTypeI32,
392 OPC_CheckPatternPredicate6,
393 OPC_EmitIntegerI32, 3,
394 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
395 1, 0, 3, 8,
396 OPC_EmitIntegerI32, 4,
397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
398 MVT::i32, 3, 39,
399 25,
400 OPC_CheckTypeByHwMode, 1,
401 OPC_CheckPatternPredicate2,
402 OPC_EmitIntegerByHwMode, 1, 3,
403 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
404 1, 0, 3, 8,
405 OPC_EmitIntegerByHwMode, 1, 4,
406 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
407 1, 1, 3, 39,
408 0,
409 53,
410 OPC_CheckChild1Integer, 35,
411 OPC_CheckPredicate, 8,
412 OPC_Scope, 20,
413 OPC_CheckTypeI32,
414 OPC_CheckPatternPredicate6,
415 OPC_EmitIntegerI32, 4,
416 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
417 1, 0, 3, 8,
418 OPC_EmitIntegerI32, 1,
419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
420 MVT::i32, 3, 39,
421 25,
422 OPC_CheckTypeByHwMode, 1,
423 OPC_CheckPatternPredicate2,
424 OPC_EmitIntegerByHwMode, 1, 4,
425 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
426 1, 0, 3, 8,
427 OPC_EmitIntegerByHwMode, 1, 1,
428 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
429 1, 1, 3, 39,
430 0,
431 54,
432 OPC_CheckChild1Integer, 69|128,0,
433 OPC_CheckPredicate, 8,
434 OPC_Scope, 20,
435 OPC_CheckTypeI32,
436 OPC_CheckPatternPredicate6,
437 OPC_EmitIntegerI32, 4,
438 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
439 1, 0, 3, 8,
440 OPC_EmitIntegerI32, 2,
441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
442 MVT::i32, 3, 39,
443 25,
444 OPC_CheckTypeByHwMode, 1,
445 OPC_CheckPatternPredicate2,
446 OPC_EmitIntegerByHwMode, 1, 4,
447 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
448 1, 0, 3, 8,
449 OPC_EmitIntegerByHwMode, 1, 2,
450 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
451 1, 1, 3, 39,
452 0,
453 54,
454 OPC_CheckChild1Integer, 9|128,1,
455 OPC_CheckPredicate, 8,
456 OPC_Scope, 20,
457 OPC_CheckTypeI32,
458 OPC_CheckPatternPredicate6,
459 OPC_EmitIntegerI32, 4,
460 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
461 1, 0, 3, 8,
462 OPC_EmitIntegerI32, 3,
463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
464 MVT::i32, 3, 39,
465 25,
466 OPC_CheckTypeByHwMode, 1,
467 OPC_CheckPatternPredicate2,
468 OPC_EmitIntegerByHwMode, 1, 4,
469 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
470 1, 0, 3, 8,
471 OPC_EmitIntegerByHwMode, 1, 3,
472 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
473 1, 1, 3, 39,
474 0,
475 54,
476 OPC_CheckChild1Integer, 17|128,2,
477 OPC_CheckPredicate, 8,
478 OPC_Scope, 20,
479 OPC_CheckTypeI32,
480 OPC_CheckPatternPredicate6,
481 OPC_EmitIntegerI32, 4,
482 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
483 1, 0, 3, 8,
484 OPC_EmitIntegerI32, 4,
485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
486 MVT::i32, 3, 39,
487 25,
488 OPC_CheckTypeByHwMode, 1,
489 OPC_CheckPatternPredicate2,
490 OPC_EmitIntegerByHwMode, 1, 4,
491 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
492 1, 0, 3, 8,
493 OPC_EmitIntegerByHwMode, 1, 4,
494 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
495 1, 1, 3, 39,
496 0,
497 74,
498 OPC_CheckChild1Integer, 9,
499 OPC_CheckPredicate, 8,
500 OPC_Scope, 30,
501 OPC_CheckTypeI32,
502 OPC_CheckPatternPredicate6,
503 OPC_EmitIntegerI32, 1,
504 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
505 1, 0, 3, 8,
506 OPC_EmitIntegerI32, 1,
507 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
508 1, 0, 3, 33,
509 OPC_EmitIntegerI32, 1,
510 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
511 MVT::i32, 3, 99,
512 36,
513 OPC_CheckTypeByHwMode, 1,
514 OPC_CheckPatternPredicate2,
515 OPC_EmitIntegerByHwMode, 1, 1,
516 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
517 1, 0, 3, 8,
518 OPC_EmitIntegerByHwMode, 1, 1,
519 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
520 1, 0, 3, 33,
521 OPC_EmitIntegerByHwMode, 1, 1,
522 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
523 1, 1, 3, 99,
524 0,
525 15|128,1,
526 OPC_CheckChild1Integer, 15,
527 OPC_CheckPredicate, 8,
528 OPC_Scope, 62,
529 OPC_CheckTypeI32,
530 OPC_CheckPatternPredicate6,
531 OPC_Scope, 28,
532 OPC_EmitIntegerI32, 1,
533 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
534 1, 0, 3, 8,
535 OPC_EmitIntegerI32, 1,
536 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
537 1, 0, 3, 33,
538 OPC_EmitIntegerI32, 2,
539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
540 MVT::i32, 3, 99,
541 28,
542 OPC_EmitIntegerI32, 2,
543 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
544 1, 0, 3, 8,
545 OPC_EmitIntegerI32, 2,
546 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
547 1, 0, 3, 33,
548 OPC_EmitIntegerI32, 1,
549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
550 MVT::i32, 3, 99,
551 0,
552 73,
553 OPC_CheckTypeByHwMode, 1,
554 OPC_CheckPatternPredicate2,
555 OPC_Scope, 33,
556 OPC_EmitIntegerByHwMode, 1, 1,
557 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
558 1, 0, 3, 8,
559 OPC_EmitIntegerByHwMode, 1, 1,
560 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
561 1, 0, 3, 33,
562 OPC_EmitIntegerByHwMode, 1, 2,
563 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
564 1, 1, 3, 99,
565 33,
566 OPC_EmitIntegerByHwMode, 1, 2,
567 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
568 1, 0, 3, 8,
569 OPC_EmitIntegerByHwMode, 1, 2,
570 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
571 1, 0, 3, 33,
572 OPC_EmitIntegerByHwMode, 1, 1,
573 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
574 1, 1, 3, 99,
575 0,
576 0,
577 15|128,1,
578 OPC_CheckChild1Integer, 27,
579 OPC_CheckPredicate, 8,
580 OPC_Scope, 62,
581 OPC_CheckTypeI32,
582 OPC_CheckPatternPredicate6,
583 OPC_Scope, 28,
584 OPC_EmitIntegerI32, 1,
585 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
586 1, 0, 3, 8,
587 OPC_EmitIntegerI32, 1,
588 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
589 1, 0, 3, 33,
590 OPC_EmitIntegerI32, 3,
591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
592 MVT::i32, 3, 99,
593 28,
594 OPC_EmitIntegerI32, 3,
595 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
596 1, 0, 3, 8,
597 OPC_EmitIntegerI32, 3,
598 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
599 1, 0, 3, 33,
600 OPC_EmitIntegerI32, 1,
601 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
602 MVT::i32, 3, 99,
603 0,
604 73,
605 OPC_CheckTypeByHwMode, 1,
606 OPC_CheckPatternPredicate2,
607 OPC_Scope, 33,
608 OPC_EmitIntegerByHwMode, 1, 1,
609 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
610 1, 0, 3, 8,
611 OPC_EmitIntegerByHwMode, 1, 1,
612 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
613 1, 0, 3, 33,
614 OPC_EmitIntegerByHwMode, 1, 3,
615 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
616 1, 1, 3, 99,
617 33,
618 OPC_EmitIntegerByHwMode, 1, 3,
619 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
620 1, 0, 3, 8,
621 OPC_EmitIntegerByHwMode, 1, 3,
622 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
623 1, 0, 3, 33,
624 OPC_EmitIntegerByHwMode, 1, 1,
625 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
626 1, 1, 3, 99,
627 0,
628 0,
629 15|128,1,
630 OPC_CheckChild1Integer, 51,
631 OPC_CheckPredicate, 8,
632 OPC_Scope, 62,
633 OPC_CheckTypeI32,
634 OPC_CheckPatternPredicate6,
635 OPC_Scope, 28,
636 OPC_EmitIntegerI32, 1,
637 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
638 1, 0, 3, 8,
639 OPC_EmitIntegerI32, 1,
640 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
641 1, 0, 3, 33,
642 OPC_EmitIntegerI32, 4,
643 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
644 MVT::i32, 3, 99,
645 28,
646 OPC_EmitIntegerI32, 4,
647 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
648 1, 0, 3, 8,
649 OPC_EmitIntegerI32, 4,
650 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
651 1, 0, 3, 33,
652 OPC_EmitIntegerI32, 1,
653 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
654 MVT::i32, 3, 99,
655 0,
656 73,
657 OPC_CheckTypeByHwMode, 1,
658 OPC_CheckPatternPredicate2,
659 OPC_Scope, 33,
660 OPC_EmitIntegerByHwMode, 1, 1,
661 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
662 1, 0, 3, 8,
663 OPC_EmitIntegerByHwMode, 1, 1,
664 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
665 1, 0, 3, 33,
666 OPC_EmitIntegerByHwMode, 1, 4,
667 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
668 1, 1, 3, 99,
669 33,
670 OPC_EmitIntegerByHwMode, 1, 4,
671 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
672 1, 0, 3, 8,
673 OPC_EmitIntegerByHwMode, 1, 4,
674 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
675 1, 0, 3, 33,
676 OPC_EmitIntegerByHwMode, 1, 1,
677 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
678 1, 1, 3, 99,
679 0,
680 0,
681 15|128,1,
682 OPC_CheckChild1Integer, 45,
683 OPC_CheckPredicate, 8,
684 OPC_Scope, 62,
685 OPC_CheckTypeI32,
686 OPC_CheckPatternPredicate6,
687 OPC_Scope, 28,
688 OPC_EmitIntegerI32, 2,
689 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
690 1, 0, 3, 8,
691 OPC_EmitIntegerI32, 2,
692 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
693 1, 0, 3, 33,
694 OPC_EmitIntegerI32, 3,
695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
696 MVT::i32, 3, 99,
697 28,
698 OPC_EmitIntegerI32, 3,
699 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
700 1, 0, 3, 8,
701 OPC_EmitIntegerI32, 3,
702 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
703 1, 0, 3, 33,
704 OPC_EmitIntegerI32, 2,
705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
706 MVT::i32, 3, 99,
707 0,
708 73,
709 OPC_CheckTypeByHwMode, 1,
710 OPC_CheckPatternPredicate2,
711 OPC_Scope, 33,
712 OPC_EmitIntegerByHwMode, 1, 2,
713 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
714 1, 0, 3, 8,
715 OPC_EmitIntegerByHwMode, 1, 2,
716 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
717 1, 0, 3, 33,
718 OPC_EmitIntegerByHwMode, 1, 3,
719 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
720 1, 1, 3, 99,
721 33,
722 OPC_EmitIntegerByHwMode, 1, 3,
723 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
724 1, 0, 3, 8,
725 OPC_EmitIntegerByHwMode, 1, 3,
726 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
727 1, 0, 3, 33,
728 OPC_EmitIntegerByHwMode, 1, 2,
729 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
730 1, 1, 3, 99,
731 0,
732 0,
733 16|128,1,
734 OPC_CheckChild1Integer, 85|128,0,
735 OPC_CheckPredicate, 8,
736 OPC_Scope, 62,
737 OPC_CheckTypeI32,
738 OPC_CheckPatternPredicate6,
739 OPC_Scope, 28,
740 OPC_EmitIntegerI32, 2,
741 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
742 1, 0, 3, 8,
743 OPC_EmitIntegerI32, 2,
744 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
745 1, 0, 3, 33,
746 OPC_EmitIntegerI32, 4,
747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
748 MVT::i32, 3, 99,
749 28,
750 OPC_EmitIntegerI32, 4,
751 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
752 1, 0, 3, 8,
753 OPC_EmitIntegerI32, 4,
754 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
755 1, 0, 3, 33,
756 OPC_EmitIntegerI32, 2,
757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
758 MVT::i32, 3, 99,
759 0,
760 73,
761 OPC_CheckTypeByHwMode, 1,
762 OPC_CheckPatternPredicate2,
763 OPC_Scope, 33,
764 OPC_EmitIntegerByHwMode, 1, 2,
765 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
766 1, 0, 3, 8,
767 OPC_EmitIntegerByHwMode, 1, 2,
768 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
769 1, 0, 3, 33,
770 OPC_EmitIntegerByHwMode, 1, 4,
771 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
772 1, 1, 3, 99,
773 33,
774 OPC_EmitIntegerByHwMode, 1, 4,
775 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
776 1, 0, 3, 8,
777 OPC_EmitIntegerByHwMode, 1, 4,
778 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
779 1, 0, 3, 33,
780 OPC_EmitIntegerByHwMode, 1, 2,
781 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
782 1, 1, 3, 99,
783 0,
784 0,
785 16|128,1,
786 OPC_CheckChild1Integer, 25|128,1,
787 OPC_CheckPredicate, 8,
788 OPC_Scope, 62,
789 OPC_CheckTypeI32,
790 OPC_CheckPatternPredicate6,
791 OPC_Scope, 28,
792 OPC_EmitIntegerI32, 3,
793 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
794 1, 0, 3, 8,
795 OPC_EmitIntegerI32, 3,
796 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
797 1, 0, 3, 33,
798 OPC_EmitIntegerI32, 4,
799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
800 MVT::i32, 3, 99,
801 28,
802 OPC_EmitIntegerI32, 4,
803 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
804 1, 0, 3, 8,
805 OPC_EmitIntegerI32, 4,
806 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
807 1, 0, 3, 33,
808 OPC_EmitIntegerI32, 3,
809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
810 MVT::i32, 3, 99,
811 0,
812 73,
813 OPC_CheckTypeByHwMode, 1,
814 OPC_CheckPatternPredicate2,
815 OPC_Scope, 33,
816 OPC_EmitIntegerByHwMode, 1, 3,
817 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
818 1, 0, 3, 8,
819 OPC_EmitIntegerByHwMode, 1, 3,
820 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
821 1, 0, 3, 33,
822 OPC_EmitIntegerByHwMode, 1, 4,
823 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
824 1, 1, 3, 99,
825 33,
826 OPC_EmitIntegerByHwMode, 1, 4,
827 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
828 1, 0, 3, 8,
829 OPC_EmitIntegerByHwMode, 1, 4,
830 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
831 1, 0, 3, 33,
832 OPC_EmitIntegerByHwMode, 1, 3,
833 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
834 1, 1, 3, 99,
835 0,
836 0,
837 75,
838 OPC_CheckChild1Integer, 33|128,2,
839 OPC_CheckPredicate, 8,
840 OPC_Scope, 30,
841 OPC_CheckTypeI32,
842 OPC_CheckPatternPredicate6,
843 OPC_EmitIntegerI32, 4,
844 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
845 1, 0, 3, 8,
846 OPC_EmitIntegerI32, 4,
847 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
848 1, 0, 3, 33,
849 OPC_EmitIntegerI32, 4,
850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ALSL_W),
851 MVT::i32, 3, 99,
852 36,
853 OPC_CheckTypeByHwMode, 1,
854 OPC_CheckPatternPredicate2,
855 OPC_EmitIntegerByHwMode, 1, 4,
856 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
857 1, 0, 3, 8,
858 OPC_EmitIntegerByHwMode, 1, 4,
859 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
860 1, 0, 3, 33,
861 OPC_EmitIntegerByHwMode, 1, 4,
862 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
863 1, 1, 3, 99,
864 0,
865 42|128,1,
866 OPC_RecordChild1,
867 OPC_Scope, 62,
868 OPC_MoveChild1,
869 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
870 OPC_CheckPredicate, 51,
871 OPC_MoveParent,
872 OPC_CheckTypeByHwMode0,
873 OPC_Scope, 25,
874 OPC_CheckPatternPredicate6,
875 OPC_EmitConvertToTarget1,
876 OPC_EmitNodeXForm, 0, 2,
877 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
878 1, 0, 3, 33,
879 OPC_EmitConvertToTarget1,
880 OPC_EmitNodeXForm, 1, 5,
881 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLLI_W), 0,
882 1, 0, 2, 111,
883 25,
884 OPC_CheckPatternPredicate2,
885 OPC_EmitConvertToTarget1,
886 OPC_EmitNodeXForm, 0, 2,
887 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
888 1, 0, 3, 33,
889 OPC_EmitConvertToTarget1,
890 OPC_EmitNodeXForm, 1, 5,
891 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLLI_D), 0,
892 1, 0, 2, 111,
893 0,
894 23,
895 OPC_CheckTypeByHwMode0,
896 OPC_Scope, 9,
897 OPC_CheckPatternPredicate5,
898 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MUL_W), 0,
899 1, 0, 2, 9,
900 9,
901 OPC_CheckPatternPredicate2,
902 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MUL_D), 0,
903 1, 0, 2, 9,
904 0,
905 9,
906 OPC_CheckType, MVT::v16i8,
907 OPC_CheckPatternPredicate1,
908 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_B),
909 MVT::v16i8, 2, 9,
910 9,
911 OPC_CheckType, MVT::v8i16,
912 OPC_CheckPatternPredicate1,
913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_H),
914 MVT::v8i16, 2, 9,
915 9,
916 OPC_CheckType, MVT::v4i32,
917 OPC_CheckPatternPredicate1,
918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_W),
919 MVT::v4i32, 2, 9,
920 9,
921 OPC_CheckType, MVT::v2i64,
922 OPC_CheckPatternPredicate1,
923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUL_D),
924 MVT::v2i64, 2, 9,
925 9,
926 OPC_CheckType, MVT::v32i8,
927 OPC_CheckPatternPredicate0,
928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_B),
929 MVT::v32i8, 2, 9,
930 9,
931 OPC_CheckType, MVT::v16i16,
932 OPC_CheckPatternPredicate0,
933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_H),
934 MVT::v16i16, 2, 9,
935 9,
936 OPC_CheckType, MVT::v8i32,
937 OPC_CheckPatternPredicate0,
938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_W),
939 MVT::v8i32, 2, 9,
940 9,
941 OPC_CheckType, MVT::v4i64,
942 OPC_CheckPatternPredicate0,
943 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUL_D),
944 MVT::v4i64, 2, 9,
945 0,
946 0,
947 0,
948 109|128,13, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
949 OPC_Scope, 53|128,13,
950 OPC_MoveChild0,
951 OPC_SwitchOpcode , 79|128,1, TARGET_VAL(ISD::OR),
952 OPC_MoveChild0,
953 OPC_SwitchOpcode , 102, TARGET_VAL(ISD::SHL),
954 OPC_RecordChild0,
955 OPC_Scope, 32,
956 OPC_CheckChild1Integer, 8,
957 OPC_CheckChild1TypeByHwMode, 1,
958 OPC_MoveSibling1,
959 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
960 OPC_RecordChild0,
961 OPC_CheckChild1Integer, 31,
962 OPC_CheckChild1TypeI64,
963 OPC_CheckChild2Integer, 24,
964 OPC_MoveParent,
965 OPC_MoveSibling1,
966 OPC_CheckValueType, MVT::i32,
967 OPC_MoveParent,
968 OPC_CheckTypeByHwMode, 1,
969 OPC_CheckPatternPredicate2,
970 OPC_EmitIntegerByHwMode0, 1,
971 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
972 1, 1, 3, 21,
973 32,
974 OPC_CheckChild1Integer, 16,
975 OPC_CheckChild1TypeByHwMode, 1,
976 OPC_MoveSibling1,
977 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
978 OPC_RecordChild0,
979 OPC_CheckChild1Integer, 31,
980 OPC_CheckChild1TypeI64,
981 OPC_CheckChild2Integer, 16,
982 OPC_MoveParent,
983 OPC_MoveSibling1,
984 OPC_CheckValueType, MVT::i32,
985 OPC_MoveParent,
986 OPC_CheckTypeByHwMode, 1,
987 OPC_CheckPatternPredicate2,
988 OPC_EmitIntegerByHwMode0, 2,
989 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
990 1, 1, 3, 21,
991 32,
992 OPC_CheckChild1Integer, 24,
993 OPC_CheckChild1TypeByHwMode, 1,
994 OPC_MoveSibling1,
995 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
996 OPC_RecordChild0,
997 OPC_CheckChild1Integer, 31,
998 OPC_CheckChild1TypeI64,
999 OPC_CheckChild2Integer, 8,
1000 OPC_MoveParent,
1001 OPC_MoveSibling1,
1002 OPC_CheckValueType, MVT::i32,
1003 OPC_MoveParent,
1004 OPC_CheckTypeByHwMode, 1,
1005 OPC_CheckPatternPredicate2,
1006 OPC_EmitIntegerByHwMode0, 3,
1007 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
1008 1, 1, 3, 21,
1009 0,
1010 96, TARGET_VAL(LoongArchISD::BSTRPICK),
1011 OPC_RecordChild0,
1012 OPC_CheckChild1Integer, 31,
1013 OPC_CheckChild1TypeI64,
1014 OPC_Scope, 29,
1015 OPC_CheckChild2Integer, 24,
1016 OPC_MoveSibling1,
1017 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1018 OPC_RecordChild0,
1019 OPC_CheckChild1Integer, 8,
1020 OPC_CheckChild1TypeByHwMode, 1,
1021 OPC_MoveParent,
1022 OPC_MoveSibling1,
1023 OPC_CheckValueType, MVT::i32,
1024 OPC_MoveParent,
1025 OPC_CheckTypeByHwMode, 1,
1026 OPC_CheckPatternPredicate2,
1027 OPC_EmitIntegerByHwMode0, 1,
1028 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
1029 1, 1, 3, 24,
1030 29,
1031 OPC_CheckChild2Integer, 16,
1032 OPC_MoveSibling1,
1033 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1034 OPC_RecordChild0,
1035 OPC_CheckChild1Integer, 16,
1036 OPC_CheckChild1TypeByHwMode, 1,
1037 OPC_MoveParent,
1038 OPC_MoveSibling1,
1039 OPC_CheckValueType, MVT::i32,
1040 OPC_MoveParent,
1041 OPC_CheckTypeByHwMode, 1,
1042 OPC_CheckPatternPredicate2,
1043 OPC_EmitIntegerByHwMode0, 2,
1044 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
1045 1, 1, 3, 24,
1046 29,
1047 OPC_CheckChild2Integer, 8,
1048 OPC_MoveSibling1,
1049 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1050 OPC_RecordChild0,
1051 OPC_CheckChild1Integer, 24,
1052 OPC_CheckChild1TypeByHwMode, 1,
1053 OPC_MoveParent,
1054 OPC_MoveSibling1,
1055 OPC_CheckValueType, MVT::i32,
1056 OPC_MoveParent,
1057 OPC_CheckTypeByHwMode, 1,
1058 OPC_CheckPatternPredicate2,
1059 OPC_EmitIntegerByHwMode0, 3,
1060 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
1061 1, 1, 3, 24,
1062 0,
1063 0,
1064 30, TARGET_VAL(ISD::SDIV),
1065 OPC_MoveChild0,
1066 OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
1067 OPC_RecordChild0,
1068 OPC_CheckPredicate, 41,
1069 OPC_MoveSibling1,
1070 OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
1071 OPC_RecordChild0,
1072 OPC_CheckPredicate, 41,
1073 OPC_MoveParent,
1074 OPC_MoveSibling1,
1075 OPC_CheckValueType, MVT::i32,
1076 OPC_MoveParent,
1077 OPC_CheckTypeByHwMode, 1,
1078 OPC_CheckPatternPredicate2,
1079 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_W), 0,
1080 1, 1, 2, 9,
1081 30, TARGET_VAL(ISD::SREM),
1082 OPC_MoveChild0,
1083 OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
1084 OPC_RecordChild0,
1085 OPC_CheckPredicate, 41,
1086 OPC_MoveSibling1,
1087 OPC_CheckOpcode, TARGET_VAL(ISD::AssertSext),
1088 OPC_RecordChild0,
1089 OPC_CheckPredicate, 41,
1090 OPC_MoveParent,
1091 OPC_MoveSibling1,
1092 OPC_CheckValueType, MVT::i32,
1093 OPC_MoveParent,
1094 OPC_CheckTypeByHwMode, 1,
1095 OPC_CheckPatternPredicate2,
1096 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_W), 0,
1097 1, 1, 2, 9,
1098 19|128,1, TARGET_VAL(ISD::ADD),
1099 OPC_Scope, 33,
1100 OPC_RecordChild0,
1101 OPC_MoveChild1,
1102 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1103 OPC_RecordChild0,
1104 OPC_RecordChild1,
1105 OPC_MoveChild1,
1106 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1107 OPC_CheckPredicate, 40,
1108 OPC_CheckTypeByHwMode, 1,
1109 OPC_MoveParent,
1110 OPC_MoveParent,
1111 OPC_MoveSibling1,
1112 OPC_CheckValueType, MVT::i32,
1113 OPC_MoveParent,
1114 OPC_CheckTypeByHwMode, 1,
1115 OPC_CheckPatternPredicate2,
1116 OPC_EmitConvertToTarget2,
1117 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1118 1, 1, 3, 36,
1119 33,
1120 OPC_MoveChild0,
1121 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1122 OPC_RecordChild0,
1123 OPC_RecordChild1,
1124 OPC_MoveChild1,
1125 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1126 OPC_CheckPredicate, 40,
1127 OPC_CheckTypeByHwMode, 1,
1128 OPC_MoveParent,
1129 OPC_MoveParent,
1130 OPC_RecordChild1,
1131 OPC_MoveSibling1,
1132 OPC_CheckValueType, MVT::i32,
1133 OPC_MoveParent,
1134 OPC_CheckTypeByHwMode, 1,
1135 OPC_CheckPatternPredicate2,
1136 OPC_EmitConvertToTarget1,
1137 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1138 1, 1, 3, 48,
1139 76,
1140 OPC_RecordChild0,
1141 OPC_RecordChild1,
1142 OPC_MoveChild1,
1143 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1144 OPC_Scope, 32,
1145 OPC_CheckPredicate, 52,
1146 OPC_MoveParent,
1147 OPC_MoveSibling1,
1148 OPC_CheckValueType, MVT::i32,
1149 OPC_MoveParent,
1150 OPC_CheckTypeByHwMode, 1,
1151 OPC_CheckPatternPredicate2,
1152 OPC_EmitNodeXForm, 2, 1,
1153 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDU16I_D), 0,
1154 1, 0, 2, 22,
1155 OPC_EmitNodeXForm, 3, 1,
1156 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
1157 1, 1, 2, 76,
1158 34,
1159 OPC_CheckPredicate, 53,
1160 OPC_MoveParent,
1161 OPC_MoveSibling1,
1162 OPC_CheckValueType, MVT::i32,
1163 OPC_MoveParent,
1164 OPC_CheckTypeByHwMode, 1,
1165 OPC_CheckPatternPredicate2,
1166 OPC_EmitConvertToTarget1,
1167 OPC_EmitNodeXForm, 4, 2,
1168 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
1169 1, 0, 2, 34,
1170 OPC_EmitConvertToTarget1,
1171 OPC_EmitNodeXForm, 5, 5,
1172 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
1173 1, 1, 2, 111,
1174 0,
1175 0,
1176 100|128,9, TARGET_VAL(ISD::MUL),
1177 OPC_RecordChild0,
1178 OPC_Scope, 33,
1179 OPC_CheckChild1Integer, 7,
1180 OPC_CheckPredicate, 8,
1181 OPC_MoveSibling1,
1182 OPC_CheckValueType, MVT::i32,
1183 OPC_MoveParent,
1184 OPC_CheckTypeByHwMode, 1,
1185 OPC_CheckPatternPredicate2,
1186 OPC_EmitIntegerByHwMode, 1, 1,
1187 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1188 1, 0, 3, 8,
1189 OPC_EmitIntegerByHwMode, 1, 1,
1190 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1191 1, 1, 3, 39,
1192 33,
1193 OPC_CheckChild1Integer, 13,
1194 OPC_CheckPredicate, 8,
1195 OPC_MoveSibling1,
1196 OPC_CheckValueType, MVT::i32,
1197 OPC_MoveParent,
1198 OPC_CheckTypeByHwMode, 1,
1199 OPC_CheckPatternPredicate2,
1200 OPC_EmitIntegerByHwMode, 1, 1,
1201 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1202 1, 0, 3, 8,
1203 OPC_EmitIntegerByHwMode, 1, 2,
1204 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1205 1, 1, 3, 39,
1206 70,
1207 OPC_CheckChild1Integer, 25,
1208 OPC_CheckPredicate, 8,
1209 OPC_MoveSibling1,
1210 OPC_CheckValueType, MVT::i32,
1211 OPC_MoveParent,
1212 OPC_CheckTypeByHwMode, 1,
1213 OPC_CheckPatternPredicate2,
1214 OPC_Scope, 22,
1215 OPC_EmitIntegerByHwMode, 1, 1,
1216 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1217 1, 0, 3, 8,
1218 OPC_EmitIntegerByHwMode, 1, 3,
1219 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1220 1, 1, 3, 39,
1221 33,
1222 OPC_EmitIntegerByHwMode, 1, 2,
1223 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1224 1, 0, 3, 8,
1225 OPC_EmitIntegerByHwMode, 1, 2,
1226 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1227 1, 0, 3, 33,
1228 OPC_EmitIntegerByHwMode, 1, 2,
1229 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1230 1, 1, 3, 99,
1231 0,
1232 33,
1233 OPC_CheckChild1Integer, 49,
1234 OPC_CheckPredicate, 8,
1235 OPC_MoveSibling1,
1236 OPC_CheckValueType, MVT::i32,
1237 OPC_MoveParent,
1238 OPC_CheckTypeByHwMode, 1,
1239 OPC_CheckPatternPredicate2,
1240 OPC_EmitIntegerByHwMode, 1, 1,
1241 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1242 1, 0, 3, 8,
1243 OPC_EmitIntegerByHwMode, 1, 4,
1244 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1245 1, 1, 3, 39,
1246 33,
1247 OPC_CheckChild1Integer, 11,
1248 OPC_CheckPredicate, 8,
1249 OPC_MoveSibling1,
1250 OPC_CheckValueType, MVT::i32,
1251 OPC_MoveParent,
1252 OPC_CheckTypeByHwMode, 1,
1253 OPC_CheckPatternPredicate2,
1254 OPC_EmitIntegerByHwMode, 1, 2,
1255 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1256 1, 0, 3, 8,
1257 OPC_EmitIntegerByHwMode, 1, 1,
1258 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1259 1, 1, 3, 39,
1260 33,
1261 OPC_CheckChild1Integer, 21,
1262 OPC_CheckPredicate, 8,
1263 OPC_MoveSibling1,
1264 OPC_CheckValueType, MVT::i32,
1265 OPC_MoveParent,
1266 OPC_CheckTypeByHwMode, 1,
1267 OPC_CheckPatternPredicate2,
1268 OPC_EmitIntegerByHwMode, 1, 2,
1269 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1270 1, 0, 3, 8,
1271 OPC_EmitIntegerByHwMode, 1, 2,
1272 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1273 1, 1, 3, 39,
1274 33,
1275 OPC_CheckChild1Integer, 41,
1276 OPC_CheckPredicate, 8,
1277 OPC_MoveSibling1,
1278 OPC_CheckValueType, MVT::i32,
1279 OPC_MoveParent,
1280 OPC_CheckTypeByHwMode, 1,
1281 OPC_CheckPatternPredicate2,
1282 OPC_EmitIntegerByHwMode, 1, 2,
1283 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1284 1, 0, 3, 8,
1285 OPC_EmitIntegerByHwMode, 1, 3,
1286 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1287 1, 1, 3, 39,
1288 71,
1289 OPC_CheckChild1Integer, 81|128,0,
1290 OPC_CheckPredicate, 8,
1291 OPC_MoveSibling1,
1292 OPC_CheckValueType, MVT::i32,
1293 OPC_MoveParent,
1294 OPC_CheckTypeByHwMode, 1,
1295 OPC_CheckPatternPredicate2,
1296 OPC_Scope, 22,
1297 OPC_EmitIntegerByHwMode, 1, 2,
1298 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1299 1, 0, 3, 8,
1300 OPC_EmitIntegerByHwMode, 1, 4,
1301 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1302 1, 1, 3, 39,
1303 33,
1304 OPC_EmitIntegerByHwMode, 1, 3,
1305 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1306 1, 0, 3, 8,
1307 OPC_EmitIntegerByHwMode, 1, 3,
1308 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1309 1, 0, 3, 33,
1310 OPC_EmitIntegerByHwMode, 1, 3,
1311 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1312 1, 1, 3, 99,
1313 0,
1314 33,
1315 OPC_CheckChild1Integer, 19,
1316 OPC_CheckPredicate, 8,
1317 OPC_MoveSibling1,
1318 OPC_CheckValueType, MVT::i32,
1319 OPC_MoveParent,
1320 OPC_CheckTypeByHwMode, 1,
1321 OPC_CheckPatternPredicate2,
1322 OPC_EmitIntegerByHwMode, 1, 3,
1323 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1324 1, 0, 3, 8,
1325 OPC_EmitIntegerByHwMode, 1, 1,
1326 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1327 1, 1, 3, 39,
1328 33,
1329 OPC_CheckChild1Integer, 37,
1330 OPC_CheckPredicate, 8,
1331 OPC_MoveSibling1,
1332 OPC_CheckValueType, MVT::i32,
1333 OPC_MoveParent,
1334 OPC_CheckTypeByHwMode, 1,
1335 OPC_CheckPatternPredicate2,
1336 OPC_EmitIntegerByHwMode, 1, 3,
1337 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1338 1, 0, 3, 8,
1339 OPC_EmitIntegerByHwMode, 1, 2,
1340 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1341 1, 1, 3, 39,
1342 34,
1343 OPC_CheckChild1Integer, 73|128,0,
1344 OPC_CheckPredicate, 8,
1345 OPC_MoveSibling1,
1346 OPC_CheckValueType, MVT::i32,
1347 OPC_MoveParent,
1348 OPC_CheckTypeByHwMode, 1,
1349 OPC_CheckPatternPredicate2,
1350 OPC_EmitIntegerByHwMode, 1, 3,
1351 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1352 1, 0, 3, 8,
1353 OPC_EmitIntegerByHwMode, 1, 3,
1354 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1355 1, 1, 3, 39,
1356 34,
1357 OPC_CheckChild1Integer, 17|128,1,
1358 OPC_CheckPredicate, 8,
1359 OPC_MoveSibling1,
1360 OPC_CheckValueType, MVT::i32,
1361 OPC_MoveParent,
1362 OPC_CheckTypeByHwMode, 1,
1363 OPC_CheckPatternPredicate2,
1364 OPC_EmitIntegerByHwMode, 1, 3,
1365 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1366 1, 0, 3, 8,
1367 OPC_EmitIntegerByHwMode, 1, 4,
1368 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1369 1, 1, 3, 39,
1370 33,
1371 OPC_CheckChild1Integer, 35,
1372 OPC_CheckPredicate, 8,
1373 OPC_MoveSibling1,
1374 OPC_CheckValueType, MVT::i32,
1375 OPC_MoveParent,
1376 OPC_CheckTypeByHwMode, 1,
1377 OPC_CheckPatternPredicate2,
1378 OPC_EmitIntegerByHwMode, 1, 4,
1379 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1380 1, 0, 3, 8,
1381 OPC_EmitIntegerByHwMode, 1, 1,
1382 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1383 1, 1, 3, 39,
1384 34,
1385 OPC_CheckChild1Integer, 69|128,0,
1386 OPC_CheckPredicate, 8,
1387 OPC_MoveSibling1,
1388 OPC_CheckValueType, MVT::i32,
1389 OPC_MoveParent,
1390 OPC_CheckTypeByHwMode, 1,
1391 OPC_CheckPatternPredicate2,
1392 OPC_EmitIntegerByHwMode, 1, 4,
1393 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1394 1, 0, 3, 8,
1395 OPC_EmitIntegerByHwMode, 1, 2,
1396 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1397 1, 1, 3, 39,
1398 34,
1399 OPC_CheckChild1Integer, 9|128,1,
1400 OPC_CheckPredicate, 8,
1401 OPC_MoveSibling1,
1402 OPC_CheckValueType, MVT::i32,
1403 OPC_MoveParent,
1404 OPC_CheckTypeByHwMode, 1,
1405 OPC_CheckPatternPredicate2,
1406 OPC_EmitIntegerByHwMode, 1, 4,
1407 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1408 1, 0, 3, 8,
1409 OPC_EmitIntegerByHwMode, 1, 3,
1410 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1411 1, 1, 3, 39,
1412 34,
1413 OPC_CheckChild1Integer, 17|128,2,
1414 OPC_CheckPredicate, 8,
1415 OPC_MoveSibling1,
1416 OPC_CheckValueType, MVT::i32,
1417 OPC_MoveParent,
1418 OPC_CheckTypeByHwMode, 1,
1419 OPC_CheckPatternPredicate2,
1420 OPC_EmitIntegerByHwMode, 1, 4,
1421 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1422 1, 0, 3, 8,
1423 OPC_EmitIntegerByHwMode, 1, 4,
1424 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1425 1, 1, 3, 39,
1426 44,
1427 OPC_CheckChild1Integer, 9,
1428 OPC_CheckPredicate, 8,
1429 OPC_MoveSibling1,
1430 OPC_CheckValueType, MVT::i32,
1431 OPC_MoveParent,
1432 OPC_CheckTypeByHwMode, 1,
1433 OPC_CheckPatternPredicate2,
1434 OPC_EmitIntegerByHwMode, 1, 1,
1435 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1436 1, 0, 3, 8,
1437 OPC_EmitIntegerByHwMode, 1, 1,
1438 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1439 1, 0, 3, 33,
1440 OPC_EmitIntegerByHwMode, 1, 1,
1441 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1442 1, 1, 3, 99,
1443 81,
1444 OPC_CheckChild1Integer, 15,
1445 OPC_CheckPredicate, 8,
1446 OPC_MoveSibling1,
1447 OPC_CheckValueType, MVT::i32,
1448 OPC_MoveParent,
1449 OPC_CheckTypeByHwMode, 1,
1450 OPC_CheckPatternPredicate2,
1451 OPC_Scope, 33,
1452 OPC_EmitIntegerByHwMode, 1, 1,
1453 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1454 1, 0, 3, 8,
1455 OPC_EmitIntegerByHwMode, 1, 1,
1456 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1457 1, 0, 3, 33,
1458 OPC_EmitIntegerByHwMode, 1, 2,
1459 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1460 1, 1, 3, 99,
1461 33,
1462 OPC_EmitIntegerByHwMode, 1, 2,
1463 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1464 1, 0, 3, 8,
1465 OPC_EmitIntegerByHwMode, 1, 2,
1466 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1467 1, 0, 3, 33,
1468 OPC_EmitIntegerByHwMode, 1, 1,
1469 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1470 1, 1, 3, 99,
1471 0,
1472 81,
1473 OPC_CheckChild1Integer, 27,
1474 OPC_CheckPredicate, 8,
1475 OPC_MoveSibling1,
1476 OPC_CheckValueType, MVT::i32,
1477 OPC_MoveParent,
1478 OPC_CheckTypeByHwMode, 1,
1479 OPC_CheckPatternPredicate2,
1480 OPC_Scope, 33,
1481 OPC_EmitIntegerByHwMode, 1, 1,
1482 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1483 1, 0, 3, 8,
1484 OPC_EmitIntegerByHwMode, 1, 1,
1485 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1486 1, 0, 3, 33,
1487 OPC_EmitIntegerByHwMode, 1, 3,
1488 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1489 1, 1, 3, 99,
1490 33,
1491 OPC_EmitIntegerByHwMode, 1, 3,
1492 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1493 1, 0, 3, 8,
1494 OPC_EmitIntegerByHwMode, 1, 3,
1495 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1496 1, 0, 3, 33,
1497 OPC_EmitIntegerByHwMode, 1, 1,
1498 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1499 1, 1, 3, 99,
1500 0,
1501 81,
1502 OPC_CheckChild1Integer, 51,
1503 OPC_CheckPredicate, 8,
1504 OPC_MoveSibling1,
1505 OPC_CheckValueType, MVT::i32,
1506 OPC_MoveParent,
1507 OPC_CheckTypeByHwMode, 1,
1508 OPC_CheckPatternPredicate2,
1509 OPC_Scope, 33,
1510 OPC_EmitIntegerByHwMode, 1, 1,
1511 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1512 1, 0, 3, 8,
1513 OPC_EmitIntegerByHwMode, 1, 1,
1514 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1515 1, 0, 3, 33,
1516 OPC_EmitIntegerByHwMode, 1, 4,
1517 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1518 1, 1, 3, 99,
1519 33,
1520 OPC_EmitIntegerByHwMode, 1, 4,
1521 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1522 1, 0, 3, 8,
1523 OPC_EmitIntegerByHwMode, 1, 4,
1524 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1525 1, 0, 3, 33,
1526 OPC_EmitIntegerByHwMode, 1, 1,
1527 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1528 1, 1, 3, 99,
1529 0,
1530 81,
1531 OPC_CheckChild1Integer, 45,
1532 OPC_CheckPredicate, 8,
1533 OPC_MoveSibling1,
1534 OPC_CheckValueType, MVT::i32,
1535 OPC_MoveParent,
1536 OPC_CheckTypeByHwMode, 1,
1537 OPC_CheckPatternPredicate2,
1538 OPC_Scope, 33,
1539 OPC_EmitIntegerByHwMode, 1, 2,
1540 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1541 1, 0, 3, 8,
1542 OPC_EmitIntegerByHwMode, 1, 2,
1543 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1544 1, 0, 3, 33,
1545 OPC_EmitIntegerByHwMode, 1, 3,
1546 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1547 1, 1, 3, 99,
1548 33,
1549 OPC_EmitIntegerByHwMode, 1, 3,
1550 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1551 1, 0, 3, 8,
1552 OPC_EmitIntegerByHwMode, 1, 3,
1553 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1554 1, 0, 3, 33,
1555 OPC_EmitIntegerByHwMode, 1, 2,
1556 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1557 1, 1, 3, 99,
1558 0,
1559 82,
1560 OPC_CheckChild1Integer, 85|128,0,
1561 OPC_CheckPredicate, 8,
1562 OPC_MoveSibling1,
1563 OPC_CheckValueType, MVT::i32,
1564 OPC_MoveParent,
1565 OPC_CheckTypeByHwMode, 1,
1566 OPC_CheckPatternPredicate2,
1567 OPC_Scope, 33,
1568 OPC_EmitIntegerByHwMode, 1, 2,
1569 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1570 1, 0, 3, 8,
1571 OPC_EmitIntegerByHwMode, 1, 2,
1572 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1573 1, 0, 3, 33,
1574 OPC_EmitIntegerByHwMode, 1, 4,
1575 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1576 1, 1, 3, 99,
1577 33,
1578 OPC_EmitIntegerByHwMode, 1, 4,
1579 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1580 1, 0, 3, 8,
1581 OPC_EmitIntegerByHwMode, 1, 4,
1582 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1583 1, 0, 3, 33,
1584 OPC_EmitIntegerByHwMode, 1, 2,
1585 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1586 1, 1, 3, 99,
1587 0,
1588 82,
1589 OPC_CheckChild1Integer, 25|128,1,
1590 OPC_CheckPredicate, 8,
1591 OPC_MoveSibling1,
1592 OPC_CheckValueType, MVT::i32,
1593 OPC_MoveParent,
1594 OPC_CheckTypeByHwMode, 1,
1595 OPC_CheckPatternPredicate2,
1596 OPC_Scope, 33,
1597 OPC_EmitIntegerByHwMode, 1, 3,
1598 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1599 1, 0, 3, 8,
1600 OPC_EmitIntegerByHwMode, 1, 3,
1601 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1602 1, 0, 3, 33,
1603 OPC_EmitIntegerByHwMode, 1, 4,
1604 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1605 1, 1, 3, 99,
1606 33,
1607 OPC_EmitIntegerByHwMode, 1, 4,
1608 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1609 1, 0, 3, 8,
1610 OPC_EmitIntegerByHwMode, 1, 4,
1611 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1612 1, 0, 3, 33,
1613 OPC_EmitIntegerByHwMode, 1, 3,
1614 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1615 1, 1, 3, 99,
1616 0,
1617 45,
1618 OPC_CheckChild1Integer, 33|128,2,
1619 OPC_CheckPredicate, 8,
1620 OPC_MoveSibling1,
1621 OPC_CheckValueType, MVT::i32,
1622 OPC_MoveParent,
1623 OPC_CheckTypeByHwMode, 1,
1624 OPC_CheckPatternPredicate2,
1625 OPC_EmitIntegerByHwMode, 1, 4,
1626 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1627 1, 0, 3, 8,
1628 OPC_EmitIntegerByHwMode, 1, 4,
1629 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1630 1, 0, 3, 33,
1631 OPC_EmitIntegerByHwMode, 1, 4,
1632 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1633 1, 1, 3, 99,
1634 39,
1635 OPC_RecordChild1,
1636 OPC_MoveChild1,
1637 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1638 OPC_CheckPredicate, 51,
1639 OPC_MoveParent,
1640 OPC_MoveSibling1,
1641 OPC_CheckValueType, MVT::i32,
1642 OPC_MoveParent,
1643 OPC_CheckTypeByHwMode, 1,
1644 OPC_CheckPatternPredicate2,
1645 OPC_EmitConvertToTarget1,
1646 OPC_EmitNodeXForm, 0, 2,
1647 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
1648 1, 0, 3, 33,
1649 OPC_EmitConvertToTarget1,
1650 OPC_EmitNodeXForm, 1, 5,
1651 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLLI_W), 0,
1652 1, 1, 2, 111,
1653 0,
1654 27, TARGET_VAL(ISD::ROTR),
1655 OPC_RecordChild0,
1656 OPC_RecordChild1,
1657 OPC_MoveChild1,
1658 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1659 OPC_CheckPredicate, 20,
1660 OPC_CheckTypeByHwMode, 1,
1661 OPC_MoveParent,
1662 OPC_MoveSibling1,
1663 OPC_CheckValueType, MVT::i32,
1664 OPC_MoveParent,
1665 OPC_CheckTypeByHwMode, 1,
1666 OPC_CheckPatternPredicate2,
1667 OPC_EmitConvertToTarget1,
1668 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTRI_W), 0,
1669 1, 1, 2, 22,
1670 0,
1671 51,
1672 OPC_RecordChild0,
1673 OPC_MoveChild1,
1674 OPC_Scope, 14,
1675 OPC_CheckValueType, MVT::i8,
1676 OPC_MoveParent,
1677 OPC_CheckTypeByHwMode0,
1678 OPC_CheckPatternPredicate, 11,
1679 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::EXT_W_B), 0,
1680 1, 0, 1, 1,
1681 14,
1682 OPC_CheckValueType, MVT::i16,
1683 OPC_MoveParent,
1684 OPC_CheckTypeByHwMode0,
1685 OPC_CheckPatternPredicate, 11,
1686 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::EXT_W_H), 0,
1687 1, 0, 1, 1,
1688 16,
1689 OPC_CheckValueType, MVT::i32,
1690 OPC_MoveParent,
1691 OPC_CheckTypeByHwMode, 1,
1692 OPC_CheckPatternPredicate2,
1693 OPC_EmitIntegerByHwMode0, 0,
1694 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
1695 1, 1, 2, 9,
1696 0,
1697 0,
1698 51, TARGET_VAL(ISD::PREFETCH),
1699 OPC_RecordMemRef,
1700 OPC_RecordNode,
1701 OPC_RecordChild1,
1702 OPC_Scope, 22,
1703 OPC_CheckChild2Integer, 0,
1704 OPC_CheckChild2TypeI32,
1705 OPC_MoveChild3,
1706 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1707 OPC_MoveParent,
1708 OPC_CheckChild4Integer, 1,
1709 OPC_CheckComplexPat, /*CP*/22, /*#*/1,
1710 OPC_EmitMergeInputChains1_0,
1711 OPC_EmitIntegerByHwMode0, 0,
1712 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PRELD), 0|OPFL_Chain|OPFL_MemRefs,
1713 3, 54,
1714 22,
1715 OPC_CheckChild2Integer, 1,
1716 OPC_CheckChild2TypeI32,
1717 OPC_MoveChild3,
1718 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1719 OPC_MoveParent,
1720 OPC_CheckChild4Integer, 1,
1721 OPC_CheckComplexPat, /*CP*/22, /*#*/1,
1722 OPC_EmitMergeInputChains1_0,
1723 OPC_EmitIntegerByHwMode0, 8,
1724 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PRELD), 0|OPFL_Chain|OPFL_MemRefs,
1725 3, 54,
1726 0,
1727 96|128,32, TARGET_VAL(ISD::STORE),
1728 OPC_RecordMemRef,
1729 OPC_RecordNode,
1730 OPC_Scope, 15|128,9,
1731 OPC_MoveChild1,
1732 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
1733 OPC_RecordChild0,
1734 OPC_Scope, 98,
1735 OPC_CheckChild0Type, MVT::v16i8,
1736 OPC_RecordChild1,
1737 OPC_MoveChild1,
1738 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1739 OPC_CheckPredicate, 21,
1740 OPC_CheckTypeByHwMode0,
1741 OPC_MoveParent,
1742 OPC_CheckTypeByHwMode0,
1743 OPC_Scope, 65,
1744 OPC_MoveSibling2,
1745 OPC_SwitchOpcode , 28, TARGET_VAL(ISD::ADD),
1746 OPC_RecordChild0,
1747 OPC_RecordChild1,
1748 OPC_MoveChild1,
1749 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1750 OPC_CheckPredicate, 42,
1751 OPC_MoveParent,
1752 OPC_CheckPredicate2,
1753 OPC_CheckTypeByHwMode0,
1754 OPC_MoveParent,
1755 OPC_CheckPredicate0,
1756 OPC_CheckPredicate, 12,
1757 OPC_CheckPredicate5,
1758 OPC_CheckPatternPredicate1,
1759 OPC_CheckComplexPat0, /*#*/3,
1760 OPC_EmitMergeInputChains1_0,
1761 OPC_EmitConvertToTarget4,
1762 OPC_EmitConvertToTarget2,
1763 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
1764 4, 124,
1765 28, TARGET_VAL(ISD::OR),
1766 OPC_RecordChild0,
1767 OPC_RecordChild1,
1768 OPC_MoveChild1,
1769 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1770 OPC_CheckPredicate, 42,
1771 OPC_MoveParent,
1772 OPC_CheckPredicate2,
1773 OPC_CheckTypeByHwMode0,
1774 OPC_MoveParent,
1775 OPC_CheckPredicate0,
1776 OPC_CheckPredicate, 12,
1777 OPC_CheckPredicate5,
1778 OPC_CheckPatternPredicate1,
1779 OPC_CheckComplexPat0, /*#*/3,
1780 OPC_EmitMergeInputChains1_0,
1781 OPC_EmitConvertToTarget4,
1782 OPC_EmitConvertToTarget2,
1783 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
1784 4, 124,
1785 0,
1786 17,
1787 OPC_MoveParent,
1788 OPC_RecordChild2,
1789 OPC_CheckPredicate0,
1790 OPC_CheckPredicate, 12,
1791 OPC_CheckPredicate5,
1792 OPC_CheckPatternPredicate1,
1793 OPC_CheckComplexPat3, /*#*/3,
1794 OPC_EmitMergeInputChains1_0,
1795 OPC_EmitConvertToTarget2,
1796 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
1797 4, 120,
1798 0,
1799 98,
1800 OPC_CheckChild0Type, MVT::v8i16,
1801 OPC_RecordChild1,
1802 OPC_MoveChild1,
1803 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1804 OPC_CheckPredicate, 17,
1805 OPC_CheckTypeByHwMode0,
1806 OPC_MoveParent,
1807 OPC_CheckTypeByHwMode0,
1808 OPC_Scope, 65,
1809 OPC_MoveSibling2,
1810 OPC_SwitchOpcode , 28, TARGET_VAL(ISD::ADD),
1811 OPC_RecordChild0,
1812 OPC_RecordChild1,
1813 OPC_MoveChild1,
1814 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1815 OPC_CheckPredicate, 43,
1816 OPC_MoveParent,
1817 OPC_CheckPredicate2,
1818 OPC_CheckTypeByHwMode0,
1819 OPC_MoveParent,
1820 OPC_CheckPredicate0,
1821 OPC_CheckPredicate, 12,
1822 OPC_CheckPredicate6,
1823 OPC_CheckPatternPredicate1,
1824 OPC_CheckComplexPat0, /*#*/3,
1825 OPC_EmitMergeInputChains1_0,
1826 OPC_EmitConvertToTarget4,
1827 OPC_EmitConvertToTarget2,
1828 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
1829 4, 124,
1830 28, TARGET_VAL(ISD::OR),
1831 OPC_RecordChild0,
1832 OPC_RecordChild1,
1833 OPC_MoveChild1,
1834 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1835 OPC_CheckPredicate, 43,
1836 OPC_MoveParent,
1837 OPC_CheckPredicate2,
1838 OPC_CheckTypeByHwMode0,
1839 OPC_MoveParent,
1840 OPC_CheckPredicate0,
1841 OPC_CheckPredicate, 12,
1842 OPC_CheckPredicate6,
1843 OPC_CheckPatternPredicate1,
1844 OPC_CheckComplexPat0, /*#*/3,
1845 OPC_EmitMergeInputChains1_0,
1846 OPC_EmitConvertToTarget4,
1847 OPC_EmitConvertToTarget2,
1848 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
1849 4, 124,
1850 0,
1851 17,
1852 OPC_MoveParent,
1853 OPC_RecordChild2,
1854 OPC_CheckPredicate0,
1855 OPC_CheckPredicate, 12,
1856 OPC_CheckPredicate6,
1857 OPC_CheckPatternPredicate1,
1858 OPC_CheckComplexPat3, /*#*/3,
1859 OPC_EmitMergeInputChains1_0,
1860 OPC_EmitConvertToTarget2,
1861 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
1862 4, 120,
1863 0,
1864 98,
1865 OPC_CheckChild0Type, MVT::v4i32,
1866 OPC_RecordChild1,
1867 OPC_MoveChild1,
1868 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1869 OPC_CheckPredicate, 18,
1870 OPC_CheckTypeByHwMode0,
1871 OPC_MoveParent,
1872 OPC_CheckTypeByHwMode0,
1873 OPC_Scope, 65,
1874 OPC_MoveSibling2,
1875 OPC_SwitchOpcode , 28, TARGET_VAL(ISD::ADD),
1876 OPC_RecordChild0,
1877 OPC_RecordChild1,
1878 OPC_MoveChild1,
1879 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1880 OPC_CheckPredicate, 34,
1881 OPC_MoveParent,
1882 OPC_CheckPredicate2,
1883 OPC_CheckTypeByHwMode0,
1884 OPC_MoveParent,
1885 OPC_CheckPredicate0,
1886 OPC_CheckPredicate, 12,
1887 OPC_CheckPredicate3,
1888 OPC_CheckPatternPredicate1,
1889 OPC_CheckComplexPat0, /*#*/3,
1890 OPC_EmitMergeInputChains1_0,
1891 OPC_EmitConvertToTarget4,
1892 OPC_EmitConvertToTarget2,
1893 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
1894 4, 124,
1895 28, TARGET_VAL(ISD::OR),
1896 OPC_RecordChild0,
1897 OPC_RecordChild1,
1898 OPC_MoveChild1,
1899 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1900 OPC_CheckPredicate, 34,
1901 OPC_MoveParent,
1902 OPC_CheckPredicate2,
1903 OPC_CheckTypeByHwMode0,
1904 OPC_MoveParent,
1905 OPC_CheckPredicate0,
1906 OPC_CheckPredicate, 12,
1907 OPC_CheckPredicate3,
1908 OPC_CheckPatternPredicate1,
1909 OPC_CheckComplexPat0, /*#*/3,
1910 OPC_EmitMergeInputChains1_0,
1911 OPC_EmitConvertToTarget4,
1912 OPC_EmitConvertToTarget2,
1913 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
1914 4, 124,
1915 0,
1916 17,
1917 OPC_MoveParent,
1918 OPC_RecordChild2,
1919 OPC_CheckPredicate0,
1920 OPC_CheckPredicate, 12,
1921 OPC_CheckPredicate3,
1922 OPC_CheckPatternPredicate1,
1923 OPC_CheckComplexPat3, /*#*/3,
1924 OPC_EmitMergeInputChains1_0,
1925 OPC_EmitConvertToTarget2,
1926 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
1927 4, 120,
1928 0,
1929 92,
1930 OPC_CheckChild0Type, MVT::v2i64,
1931 OPC_RecordChild1,
1932 OPC_MoveChild1,
1933 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1934 OPC_CheckPredicate, 25,
1935 OPC_CheckTypeByHwMode0,
1936 OPC_MoveParent,
1937 OPC_CheckTypeByHwMode0,
1938 OPC_Scope, 61,
1939 OPC_MoveSibling2,
1940 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::ADD),
1941 OPC_RecordChild0,
1942 OPC_RecordChild1,
1943 OPC_MoveChild1,
1944 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1945 OPC_CheckPredicate, 35,
1946 OPC_MoveParent,
1947 OPC_CheckPredicate2,
1948 OPC_CheckTypeByHwMode0,
1949 OPC_MoveParent,
1950 OPC_CheckPredicate0,
1951 OPC_CheckPredicate1,
1952 OPC_CheckPatternPredicate1,
1953 OPC_CheckComplexPat0, /*#*/3,
1954 OPC_EmitMergeInputChains1_0,
1955 OPC_EmitConvertToTarget4,
1956 OPC_EmitConvertToTarget2,
1957 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
1958 4, 124,
1959 26, TARGET_VAL(ISD::OR),
1960 OPC_RecordChild0,
1961 OPC_RecordChild1,
1962 OPC_MoveChild1,
1963 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1964 OPC_CheckPredicate, 35,
1965 OPC_MoveParent,
1966 OPC_CheckPredicate2,
1967 OPC_CheckTypeByHwMode0,
1968 OPC_MoveParent,
1969 OPC_CheckPredicate0,
1970 OPC_CheckPredicate1,
1971 OPC_CheckPatternPredicate1,
1972 OPC_CheckComplexPat0, /*#*/3,
1973 OPC_EmitMergeInputChains1_0,
1974 OPC_EmitConvertToTarget4,
1975 OPC_EmitConvertToTarget2,
1976 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
1977 4, 124,
1978 0,
1979 15,
1980 OPC_MoveParent,
1981 OPC_RecordChild2,
1982 OPC_CheckPredicate0,
1983 OPC_CheckPredicate1,
1984 OPC_CheckPatternPredicate1,
1985 OPC_CheckComplexPat3, /*#*/3,
1986 OPC_EmitMergeInputChains1_0,
1987 OPC_EmitConvertToTarget2,
1988 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
1989 4, 120,
1990 0,
1991 94,
1992 OPC_CheckChild0Type, 8|128,1,
1993 OPC_RecordChild1,
1994 OPC_MoveChild1,
1995 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1996 OPC_CheckPredicate, 18,
1997 OPC_CheckTypeByHwMode0,
1998 OPC_MoveParent,
1999 OPC_CheckType, MVT::f32,
2000 OPC_Scope, 61,
2001 OPC_MoveSibling2,
2002 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::ADD),
2003 OPC_RecordChild0,
2004 OPC_RecordChild1,
2005 OPC_MoveChild1,
2006 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2007 OPC_CheckPredicate, 34,
2008 OPC_MoveParent,
2009 OPC_CheckPredicate2,
2010 OPC_CheckTypeByHwMode0,
2011 OPC_MoveParent,
2012 OPC_CheckPredicate0,
2013 OPC_CheckPredicate1,
2014 OPC_CheckPatternPredicate1,
2015 OPC_CheckComplexPat0, /*#*/3,
2016 OPC_EmitMergeInputChains1_0,
2017 OPC_EmitConvertToTarget4,
2018 OPC_EmitConvertToTarget2,
2019 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
2020 4, 124,
2021 26, TARGET_VAL(ISD::OR),
2022 OPC_RecordChild0,
2023 OPC_RecordChild1,
2024 OPC_MoveChild1,
2025 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2026 OPC_CheckPredicate, 34,
2027 OPC_MoveParent,
2028 OPC_CheckPredicate2,
2029 OPC_CheckTypeByHwMode0,
2030 OPC_MoveParent,
2031 OPC_CheckPredicate0,
2032 OPC_CheckPredicate1,
2033 OPC_CheckPatternPredicate1,
2034 OPC_CheckComplexPat0, /*#*/3,
2035 OPC_EmitMergeInputChains1_0,
2036 OPC_EmitConvertToTarget4,
2037 OPC_EmitConvertToTarget2,
2038 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
2039 4, 124,
2040 0,
2041 15,
2042 OPC_MoveParent,
2043 OPC_RecordChild2,
2044 OPC_CheckPredicate0,
2045 OPC_CheckPredicate1,
2046 OPC_CheckPatternPredicate1,
2047 OPC_CheckComplexPat3, /*#*/3,
2048 OPC_EmitMergeInputChains1_0,
2049 OPC_EmitConvertToTarget2,
2050 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
2051 4, 120,
2052 0,
2053 94,
2054 OPC_CheckChild0Type, 26|128,1,
2055 OPC_RecordChild1,
2056 OPC_MoveChild1,
2057 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2058 OPC_CheckPredicate, 25,
2059 OPC_CheckTypeByHwMode0,
2060 OPC_MoveParent,
2061 OPC_CheckType, MVT::f64,
2062 OPC_Scope, 61,
2063 OPC_MoveSibling2,
2064 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::ADD),
2065 OPC_RecordChild0,
2066 OPC_RecordChild1,
2067 OPC_MoveChild1,
2068 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2069 OPC_CheckPredicate, 35,
2070 OPC_MoveParent,
2071 OPC_CheckPredicate2,
2072 OPC_CheckTypeByHwMode0,
2073 OPC_MoveParent,
2074 OPC_CheckPredicate0,
2075 OPC_CheckPredicate1,
2076 OPC_CheckPatternPredicate1,
2077 OPC_CheckComplexPat0, /*#*/3,
2078 OPC_EmitMergeInputChains1_0,
2079 OPC_EmitConvertToTarget4,
2080 OPC_EmitConvertToTarget2,
2081 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
2082 4, 124,
2083 26, TARGET_VAL(ISD::OR),
2084 OPC_RecordChild0,
2085 OPC_RecordChild1,
2086 OPC_MoveChild1,
2087 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2088 OPC_CheckPredicate, 35,
2089 OPC_MoveParent,
2090 OPC_CheckPredicate2,
2091 OPC_CheckTypeByHwMode0,
2092 OPC_MoveParent,
2093 OPC_CheckPredicate0,
2094 OPC_CheckPredicate1,
2095 OPC_CheckPatternPredicate1,
2096 OPC_CheckComplexPat0, /*#*/3,
2097 OPC_EmitMergeInputChains1_0,
2098 OPC_EmitConvertToTarget4,
2099 OPC_EmitConvertToTarget2,
2100 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
2101 4, 124,
2102 0,
2103 15,
2104 OPC_MoveParent,
2105 OPC_RecordChild2,
2106 OPC_CheckPredicate0,
2107 OPC_CheckPredicate1,
2108 OPC_CheckPatternPredicate1,
2109 OPC_CheckComplexPat3, /*#*/3,
2110 OPC_EmitMergeInputChains1_0,
2111 OPC_EmitConvertToTarget2,
2112 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
2113 4, 120,
2114 0,
2115 98,
2116 OPC_CheckChild0Type, MVT::v32i8,
2117 OPC_RecordChild1,
2118 OPC_MoveChild1,
2119 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2120 OPC_CheckPredicate, 20,
2121 OPC_CheckTypeByHwMode0,
2122 OPC_MoveParent,
2123 OPC_CheckTypeByHwMode0,
2124 OPC_Scope, 65,
2125 OPC_MoveSibling2,
2126 OPC_SwitchOpcode , 28, TARGET_VAL(ISD::ADD),
2127 OPC_RecordChild0,
2128 OPC_RecordChild1,
2129 OPC_MoveChild1,
2130 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2131 OPC_CheckPredicate, 42,
2132 OPC_MoveParent,
2133 OPC_CheckPredicate2,
2134 OPC_CheckTypeByHwMode0,
2135 OPC_MoveParent,
2136 OPC_CheckPredicate0,
2137 OPC_CheckPredicate, 12,
2138 OPC_CheckPredicate5,
2139 OPC_CheckPatternPredicate0,
2140 OPC_CheckComplexPat0, /*#*/3,
2141 OPC_EmitMergeInputChains1_0,
2142 OPC_EmitConvertToTarget4,
2143 OPC_EmitConvertToTarget2,
2144 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
2145 4, 124,
2146 28, TARGET_VAL(ISD::OR),
2147 OPC_RecordChild0,
2148 OPC_RecordChild1,
2149 OPC_MoveChild1,
2150 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2151 OPC_CheckPredicate, 42,
2152 OPC_MoveParent,
2153 OPC_CheckPredicate2,
2154 OPC_CheckTypeByHwMode0,
2155 OPC_MoveParent,
2156 OPC_CheckPredicate0,
2157 OPC_CheckPredicate, 12,
2158 OPC_CheckPredicate5,
2159 OPC_CheckPatternPredicate0,
2160 OPC_CheckComplexPat0, /*#*/3,
2161 OPC_EmitMergeInputChains1_0,
2162 OPC_EmitConvertToTarget4,
2163 OPC_EmitConvertToTarget2,
2164 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
2165 4, 124,
2166 0,
2167 17,
2168 OPC_MoveParent,
2169 OPC_RecordChild2,
2170 OPC_CheckPredicate0,
2171 OPC_CheckPredicate, 12,
2172 OPC_CheckPredicate5,
2173 OPC_CheckPatternPredicate0,
2174 OPC_CheckComplexPat3, /*#*/3,
2175 OPC_EmitMergeInputChains1_0,
2176 OPC_EmitConvertToTarget2,
2177 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
2178 4, 120,
2179 0,
2180 98,
2181 OPC_CheckChild0Type, MVT::v16i16,
2182 OPC_RecordChild1,
2183 OPC_MoveChild1,
2184 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2185 OPC_CheckPredicate, 21,
2186 OPC_CheckTypeByHwMode0,
2187 OPC_MoveParent,
2188 OPC_CheckTypeByHwMode0,
2189 OPC_Scope, 65,
2190 OPC_MoveSibling2,
2191 OPC_SwitchOpcode , 28, TARGET_VAL(ISD::ADD),
2192 OPC_RecordChild0,
2193 OPC_RecordChild1,
2194 OPC_MoveChild1,
2195 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2196 OPC_CheckPredicate, 43,
2197 OPC_MoveParent,
2198 OPC_CheckPredicate2,
2199 OPC_CheckTypeByHwMode0,
2200 OPC_MoveParent,
2201 OPC_CheckPredicate0,
2202 OPC_CheckPredicate, 12,
2203 OPC_CheckPredicate6,
2204 OPC_CheckPatternPredicate0,
2205 OPC_CheckComplexPat0, /*#*/3,
2206 OPC_EmitMergeInputChains1_0,
2207 OPC_EmitConvertToTarget4,
2208 OPC_EmitConvertToTarget2,
2209 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
2210 4, 124,
2211 28, TARGET_VAL(ISD::OR),
2212 OPC_RecordChild0,
2213 OPC_RecordChild1,
2214 OPC_MoveChild1,
2215 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2216 OPC_CheckPredicate, 43,
2217 OPC_MoveParent,
2218 OPC_CheckPredicate2,
2219 OPC_CheckTypeByHwMode0,
2220 OPC_MoveParent,
2221 OPC_CheckPredicate0,
2222 OPC_CheckPredicate, 12,
2223 OPC_CheckPredicate6,
2224 OPC_CheckPatternPredicate0,
2225 OPC_CheckComplexPat0, /*#*/3,
2226 OPC_EmitMergeInputChains1_0,
2227 OPC_EmitConvertToTarget4,
2228 OPC_EmitConvertToTarget2,
2229 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
2230 4, 124,
2231 0,
2232 17,
2233 OPC_MoveParent,
2234 OPC_RecordChild2,
2235 OPC_CheckPredicate0,
2236 OPC_CheckPredicate, 12,
2237 OPC_CheckPredicate6,
2238 OPC_CheckPatternPredicate0,
2239 OPC_CheckComplexPat3, /*#*/3,
2240 OPC_EmitMergeInputChains1_0,
2241 OPC_EmitConvertToTarget2,
2242 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
2243 4, 120,
2244 0,
2245 98,
2246 OPC_CheckChild0Type, MVT::v8i32,
2247 OPC_RecordChild1,
2248 OPC_MoveChild1,
2249 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2250 OPC_CheckPredicate, 17,
2251 OPC_CheckTypeByHwMode0,
2252 OPC_MoveParent,
2253 OPC_CheckTypeByHwMode0,
2254 OPC_Scope, 65,
2255 OPC_MoveSibling2,
2256 OPC_SwitchOpcode , 28, TARGET_VAL(ISD::ADD),
2257 OPC_RecordChild0,
2258 OPC_RecordChild1,
2259 OPC_MoveChild1,
2260 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2261 OPC_CheckPredicate, 34,
2262 OPC_MoveParent,
2263 OPC_CheckPredicate2,
2264 OPC_CheckTypeByHwMode0,
2265 OPC_MoveParent,
2266 OPC_CheckPredicate0,
2267 OPC_CheckPredicate, 12,
2268 OPC_CheckPredicate3,
2269 OPC_CheckPatternPredicate0,
2270 OPC_CheckComplexPat0, /*#*/3,
2271 OPC_EmitMergeInputChains1_0,
2272 OPC_EmitConvertToTarget4,
2273 OPC_EmitConvertToTarget2,
2274 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
2275 4, 124,
2276 28, TARGET_VAL(ISD::OR),
2277 OPC_RecordChild0,
2278 OPC_RecordChild1,
2279 OPC_MoveChild1,
2280 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2281 OPC_CheckPredicate, 34,
2282 OPC_MoveParent,
2283 OPC_CheckPredicate2,
2284 OPC_CheckTypeByHwMode0,
2285 OPC_MoveParent,
2286 OPC_CheckPredicate0,
2287 OPC_CheckPredicate, 12,
2288 OPC_CheckPredicate3,
2289 OPC_CheckPatternPredicate0,
2290 OPC_CheckComplexPat0, /*#*/3,
2291 OPC_EmitMergeInputChains1_0,
2292 OPC_EmitConvertToTarget4,
2293 OPC_EmitConvertToTarget2,
2294 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
2295 4, 124,
2296 0,
2297 17,
2298 OPC_MoveParent,
2299 OPC_RecordChild2,
2300 OPC_CheckPredicate0,
2301 OPC_CheckPredicate, 12,
2302 OPC_CheckPredicate3,
2303 OPC_CheckPatternPredicate0,
2304 OPC_CheckComplexPat3, /*#*/3,
2305 OPC_EmitMergeInputChains1_0,
2306 OPC_EmitConvertToTarget2,
2307 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
2308 4, 120,
2309 0,
2310 92,
2311 OPC_CheckChild0Type, MVT::v4i64,
2312 OPC_RecordChild1,
2313 OPC_MoveChild1,
2314 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2315 OPC_CheckPredicate, 18,
2316 OPC_CheckTypeByHwMode0,
2317 OPC_MoveParent,
2318 OPC_CheckTypeByHwMode0,
2319 OPC_Scope, 61,
2320 OPC_MoveSibling2,
2321 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::ADD),
2322 OPC_RecordChild0,
2323 OPC_RecordChild1,
2324 OPC_MoveChild1,
2325 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2326 OPC_CheckPredicate, 35,
2327 OPC_MoveParent,
2328 OPC_CheckPredicate2,
2329 OPC_CheckTypeByHwMode0,
2330 OPC_MoveParent,
2331 OPC_CheckPredicate0,
2332 OPC_CheckPredicate1,
2333 OPC_CheckPatternPredicate0,
2334 OPC_CheckComplexPat0, /*#*/3,
2335 OPC_EmitMergeInputChains1_0,
2336 OPC_EmitConvertToTarget4,
2337 OPC_EmitConvertToTarget2,
2338 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
2339 4, 124,
2340 26, TARGET_VAL(ISD::OR),
2341 OPC_RecordChild0,
2342 OPC_RecordChild1,
2343 OPC_MoveChild1,
2344 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2345 OPC_CheckPredicate, 35,
2346 OPC_MoveParent,
2347 OPC_CheckPredicate2,
2348 OPC_CheckTypeByHwMode0,
2349 OPC_MoveParent,
2350 OPC_CheckPredicate0,
2351 OPC_CheckPredicate1,
2352 OPC_CheckPatternPredicate0,
2353 OPC_CheckComplexPat0, /*#*/3,
2354 OPC_EmitMergeInputChains1_0,
2355 OPC_EmitConvertToTarget4,
2356 OPC_EmitConvertToTarget2,
2357 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
2358 4, 124,
2359 0,
2360 15,
2361 OPC_MoveParent,
2362 OPC_RecordChild2,
2363 OPC_CheckPredicate0,
2364 OPC_CheckPredicate1,
2365 OPC_CheckPatternPredicate0,
2366 OPC_CheckComplexPat3, /*#*/3,
2367 OPC_EmitMergeInputChains1_0,
2368 OPC_EmitConvertToTarget2,
2369 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
2370 4, 120,
2371 0,
2372 94,
2373 OPC_CheckChild0Type, 12|128,1,
2374 OPC_RecordChild1,
2375 OPC_MoveChild1,
2376 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2377 OPC_CheckPredicate, 17,
2378 OPC_CheckTypeByHwMode0,
2379 OPC_MoveParent,
2380 OPC_CheckType, MVT::f32,
2381 OPC_Scope, 61,
2382 OPC_MoveSibling2,
2383 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::ADD),
2384 OPC_RecordChild0,
2385 OPC_RecordChild1,
2386 OPC_MoveChild1,
2387 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2388 OPC_CheckPredicate, 34,
2389 OPC_MoveParent,
2390 OPC_CheckPredicate2,
2391 OPC_CheckTypeByHwMode0,
2392 OPC_MoveParent,
2393 OPC_CheckPredicate0,
2394 OPC_CheckPredicate1,
2395 OPC_CheckPatternPredicate0,
2396 OPC_CheckComplexPat0, /*#*/3,
2397 OPC_EmitMergeInputChains1_0,
2398 OPC_EmitConvertToTarget4,
2399 OPC_EmitConvertToTarget2,
2400 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
2401 4, 124,
2402 26, TARGET_VAL(ISD::OR),
2403 OPC_RecordChild0,
2404 OPC_RecordChild1,
2405 OPC_MoveChild1,
2406 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2407 OPC_CheckPredicate, 34,
2408 OPC_MoveParent,
2409 OPC_CheckPredicate2,
2410 OPC_CheckTypeByHwMode0,
2411 OPC_MoveParent,
2412 OPC_CheckPredicate0,
2413 OPC_CheckPredicate1,
2414 OPC_CheckPatternPredicate0,
2415 OPC_CheckComplexPat0, /*#*/3,
2416 OPC_EmitMergeInputChains1_0,
2417 OPC_EmitConvertToTarget4,
2418 OPC_EmitConvertToTarget2,
2419 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
2420 4, 124,
2421 0,
2422 15,
2423 OPC_MoveParent,
2424 OPC_RecordChild2,
2425 OPC_CheckPredicate0,
2426 OPC_CheckPredicate1,
2427 OPC_CheckPatternPredicate0,
2428 OPC_CheckComplexPat3, /*#*/3,
2429 OPC_EmitMergeInputChains1_0,
2430 OPC_EmitConvertToTarget2,
2431 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
2432 4, 120,
2433 0,
2434 94,
2435 OPC_CheckChild0Type, 28|128,1,
2436 OPC_RecordChild1,
2437 OPC_MoveChild1,
2438 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2439 OPC_CheckPredicate, 18,
2440 OPC_CheckTypeByHwMode0,
2441 OPC_MoveParent,
2442 OPC_CheckType, MVT::f64,
2443 OPC_Scope, 61,
2444 OPC_MoveSibling2,
2445 OPC_SwitchOpcode , 26, TARGET_VAL(ISD::ADD),
2446 OPC_RecordChild0,
2447 OPC_RecordChild1,
2448 OPC_MoveChild1,
2449 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2450 OPC_CheckPredicate, 35,
2451 OPC_MoveParent,
2452 OPC_CheckPredicate2,
2453 OPC_CheckTypeByHwMode0,
2454 OPC_MoveParent,
2455 OPC_CheckPredicate0,
2456 OPC_CheckPredicate1,
2457 OPC_CheckPatternPredicate0,
2458 OPC_CheckComplexPat0, /*#*/3,
2459 OPC_EmitMergeInputChains1_0,
2460 OPC_EmitConvertToTarget4,
2461 OPC_EmitConvertToTarget2,
2462 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
2463 4, 124,
2464 26, TARGET_VAL(ISD::OR),
2465 OPC_RecordChild0,
2466 OPC_RecordChild1,
2467 OPC_MoveChild1,
2468 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2469 OPC_CheckPredicate, 35,
2470 OPC_MoveParent,
2471 OPC_CheckPredicate2,
2472 OPC_CheckTypeByHwMode0,
2473 OPC_MoveParent,
2474 OPC_CheckPredicate0,
2475 OPC_CheckPredicate1,
2476 OPC_CheckPatternPredicate0,
2477 OPC_CheckComplexPat0, /*#*/3,
2478 OPC_EmitMergeInputChains1_0,
2479 OPC_EmitConvertToTarget4,
2480 OPC_EmitConvertToTarget2,
2481 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
2482 4, 124,
2483 0,
2484 15,
2485 OPC_MoveParent,
2486 OPC_RecordChild2,
2487 OPC_CheckPredicate0,
2488 OPC_CheckPredicate1,
2489 OPC_CheckPatternPredicate0,
2490 OPC_CheckComplexPat3, /*#*/3,
2491 OPC_EmitMergeInputChains1_0,
2492 OPC_EmitConvertToTarget2,
2493 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
2494 4, 120,
2495 0,
2496 0,
2497 24|128,9,
2498 OPC_RecordChild1,
2499 OPC_Scope, 90,
2500 OPC_CheckChild1TypeByHwMode0,
2501 OPC_MoveChild2,
2502 OPC_SwitchOpcode , 40, TARGET_VAL(ISD::ADD),
2503 OPC_RecordChild0,
2504 OPC_RecordChild1,
2505 OPC_MoveChild1,
2506 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2507 OPC_CheckPredicate4,
2508 OPC_MoveParent,
2509 OPC_CheckPredicate2,
2510 OPC_CheckTypeByHwMode0,
2511 OPC_MoveParent,
2512 OPC_CheckPredicate0,
2513 OPC_CheckPredicate, 12,
2514 OPC_Scope, 11,
2515 OPC_CheckPredicate5,
2516 OPC_CheckComplexPat0, /*#*/2,
2517 OPC_EmitMergeInputChains1_0,
2518 OPC_EmitConvertToTarget3,
2519 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
2520 3, 96,
2521 11,
2522 OPC_CheckPredicate6,
2523 OPC_CheckComplexPat0, /*#*/2,
2524 OPC_EmitMergeInputChains1_0,
2525 OPC_EmitConvertToTarget3,
2526 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
2527 3, 96,
2528 0,
2529 40, TARGET_VAL(ISD::OR),
2530 OPC_RecordChild0,
2531 OPC_RecordChild1,
2532 OPC_MoveChild1,
2533 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2534 OPC_CheckPredicate4,
2535 OPC_MoveParent,
2536 OPC_CheckPredicate2,
2537 OPC_CheckTypeByHwMode0,
2538 OPC_MoveParent,
2539 OPC_CheckPredicate0,
2540 OPC_CheckPredicate, 12,
2541 OPC_Scope, 11,
2542 OPC_CheckPredicate5,
2543 OPC_CheckComplexPat0, /*#*/2,
2544 OPC_EmitMergeInputChains1_0,
2545 OPC_EmitConvertToTarget3,
2546 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
2547 3, 96,
2548 11,
2549 OPC_CheckPredicate6,
2550 OPC_CheckComplexPat0, /*#*/2,
2551 OPC_EmitMergeInputChains1_0,
2552 OPC_EmitConvertToTarget3,
2553 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
2554 3, 96,
2555 0,
2556 0,
2557 58,
2558 OPC_CheckChild1TypeI32,
2559 OPC_MoveChild2,
2560 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
2561 OPC_RecordChild0,
2562 OPC_RecordChild1,
2563 OPC_MoveChild1,
2564 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2565 OPC_CheckPredicate4,
2566 OPC_MoveParent,
2567 OPC_CheckPredicate2,
2568 OPC_CheckTypeByHwMode0,
2569 OPC_MoveParent,
2570 OPC_CheckPredicate0,
2571 OPC_CheckPredicate1,
2572 OPC_CheckPatternPredicate5,
2573 OPC_CheckComplexPat0, /*#*/2,
2574 OPC_EmitMergeInputChains1_0,
2575 OPC_EmitConvertToTarget3,
2576 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
2577 3, 96,
2578 24, TARGET_VAL(ISD::OR),
2579 OPC_RecordChild0,
2580 OPC_RecordChild1,
2581 OPC_MoveChild1,
2582 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2583 OPC_CheckPredicate4,
2584 OPC_MoveParent,
2585 OPC_CheckPredicate2,
2586 OPC_CheckTypeByHwMode0,
2587 OPC_MoveParent,
2588 OPC_CheckPredicate0,
2589 OPC_CheckPredicate1,
2590 OPC_CheckPatternPredicate5,
2591 OPC_CheckComplexPat0, /*#*/2,
2592 OPC_EmitMergeInputChains1_0,
2593 OPC_EmitConvertToTarget3,
2594 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
2595 3, 96,
2596 0,
2597 49|128,1,
2598 OPC_CheckChild1TypeByHwMode, 1,
2599 OPC_MoveChild2,
2600 OPC_SwitchOpcode , 83, TARGET_VAL(ISD::ADD),
2601 OPC_RecordChild0,
2602 OPC_RecordChild1,
2603 OPC_MoveChild1,
2604 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2605 OPC_Scope, 36,
2606 OPC_CheckPredicate4,
2607 OPC_MoveParent,
2608 OPC_CheckPredicate2,
2609 OPC_CheckTypeByHwMode0,
2610 OPC_MoveParent,
2611 OPC_CheckPredicate0,
2612 OPC_Scope, 14,
2613 OPC_CheckPredicate, 12,
2614 OPC_CheckPredicate3,
2615 OPC_CheckPatternPredicate2,
2616 OPC_CheckComplexPat0, /*#*/2,
2617 OPC_EmitMergeInputChains1_0,
2618 OPC_EmitConvertToTarget3,
2619 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
2620 3, 96,
2621 12,
2622 OPC_CheckPredicate1,
2623 OPC_CheckPatternPredicate2,
2624 OPC_CheckComplexPat0, /*#*/2,
2625 OPC_EmitMergeInputChains1_0,
2626 OPC_EmitConvertToTarget3,
2627 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
2628 3, 96,
2629 0,
2630 37,
2631 OPC_CheckPredicate, 44,
2632 OPC_MoveParent,
2633 OPC_CheckPredicate2,
2634 OPC_CheckTypeByHwMode0,
2635 OPC_MoveParent,
2636 OPC_CheckPredicate0,
2637 OPC_Scope, 14,
2638 OPC_CheckPredicate, 12,
2639 OPC_CheckPredicate3,
2640 OPC_CheckPatternPredicate2,
2641 OPC_CheckComplexPat0, /*#*/2,
2642 OPC_EmitMergeInputChains1_0,
2643 OPC_EmitConvertToTarget3,
2644 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
2645 3, 96,
2646 12,
2647 OPC_CheckPredicate1,
2648 OPC_CheckPatternPredicate2,
2649 OPC_CheckComplexPat0, /*#*/2,
2650 OPC_EmitMergeInputChains1_0,
2651 OPC_EmitConvertToTarget3,
2652 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
2653 3, 96,
2654 0,
2655 0,
2656 83, TARGET_VAL(ISD::OR),
2657 OPC_RecordChild0,
2658 OPC_RecordChild1,
2659 OPC_MoveChild1,
2660 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2661 OPC_Scope, 36,
2662 OPC_CheckPredicate4,
2663 OPC_MoveParent,
2664 OPC_CheckPredicate2,
2665 OPC_CheckTypeByHwMode0,
2666 OPC_MoveParent,
2667 OPC_CheckPredicate0,
2668 OPC_Scope, 14,
2669 OPC_CheckPredicate, 12,
2670 OPC_CheckPredicate3,
2671 OPC_CheckPatternPredicate2,
2672 OPC_CheckComplexPat0, /*#*/2,
2673 OPC_EmitMergeInputChains1_0,
2674 OPC_EmitConvertToTarget3,
2675 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
2676 3, 96,
2677 12,
2678 OPC_CheckPredicate1,
2679 OPC_CheckPatternPredicate2,
2680 OPC_CheckComplexPat0, /*#*/2,
2681 OPC_EmitMergeInputChains1_0,
2682 OPC_EmitConvertToTarget3,
2683 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
2684 3, 96,
2685 0,
2686 37,
2687 OPC_CheckPredicate, 44,
2688 OPC_MoveParent,
2689 OPC_CheckPredicate2,
2690 OPC_CheckTypeByHwMode0,
2691 OPC_MoveParent,
2692 OPC_CheckPredicate0,
2693 OPC_Scope, 14,
2694 OPC_CheckPredicate, 12,
2695 OPC_CheckPredicate3,
2696 OPC_CheckPatternPredicate2,
2697 OPC_CheckComplexPat0, /*#*/2,
2698 OPC_EmitMergeInputChains1_0,
2699 OPC_EmitConvertToTarget3,
2700 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
2701 3, 96,
2702 12,
2703 OPC_CheckPredicate1,
2704 OPC_CheckPatternPredicate2,
2705 OPC_CheckComplexPat0, /*#*/2,
2706 OPC_EmitMergeInputChains1_0,
2707 OPC_EmitConvertToTarget3,
2708 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
2709 3, 96,
2710 0,
2711 0,
2712 0,
2713 59,
2714 OPC_CheckChild1Type, MVT::f32,
2715 OPC_MoveChild2,
2716 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
2717 OPC_RecordChild0,
2718 OPC_RecordChild1,
2719 OPC_MoveChild1,
2720 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2721 OPC_CheckPredicate4,
2722 OPC_MoveParent,
2723 OPC_CheckPredicate2,
2724 OPC_CheckTypeByHwMode0,
2725 OPC_MoveParent,
2726 OPC_CheckPredicate0,
2727 OPC_CheckPredicate1,
2728 OPC_CheckPatternPredicate3,
2729 OPC_CheckComplexPat0, /*#*/2,
2730 OPC_EmitMergeInputChains1_0,
2731 OPC_EmitConvertToTarget3,
2732 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
2733 3, 96,
2734 24, TARGET_VAL(ISD::OR),
2735 OPC_RecordChild0,
2736 OPC_RecordChild1,
2737 OPC_MoveChild1,
2738 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2739 OPC_CheckPredicate4,
2740 OPC_MoveParent,
2741 OPC_CheckPredicate2,
2742 OPC_CheckTypeByHwMode0,
2743 OPC_MoveParent,
2744 OPC_CheckPredicate0,
2745 OPC_CheckPredicate1,
2746 OPC_CheckPatternPredicate3,
2747 OPC_CheckComplexPat0, /*#*/2,
2748 OPC_EmitMergeInputChains1_0,
2749 OPC_EmitConvertToTarget3,
2750 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
2751 3, 96,
2752 0,
2753 59,
2754 OPC_CheckChild1Type, MVT::f64,
2755 OPC_MoveChild2,
2756 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
2757 OPC_RecordChild0,
2758 OPC_RecordChild1,
2759 OPC_MoveChild1,
2760 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2761 OPC_CheckPredicate4,
2762 OPC_MoveParent,
2763 OPC_CheckPredicate2,
2764 OPC_CheckTypeByHwMode0,
2765 OPC_MoveParent,
2766 OPC_CheckPredicate0,
2767 OPC_CheckPredicate1,
2768 OPC_CheckPatternPredicate4,
2769 OPC_CheckComplexPat0, /*#*/2,
2770 OPC_EmitMergeInputChains1_0,
2771 OPC_EmitConvertToTarget3,
2772 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
2773 3, 96,
2774 24, TARGET_VAL(ISD::OR),
2775 OPC_RecordChild0,
2776 OPC_RecordChild1,
2777 OPC_MoveChild1,
2778 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2779 OPC_CheckPredicate4,
2780 OPC_MoveParent,
2781 OPC_CheckPredicate2,
2782 OPC_CheckTypeByHwMode0,
2783 OPC_MoveParent,
2784 OPC_CheckPredicate0,
2785 OPC_CheckPredicate1,
2786 OPC_CheckPatternPredicate4,
2787 OPC_CheckComplexPat0, /*#*/2,
2788 OPC_EmitMergeInputChains1_0,
2789 OPC_EmitConvertToTarget3,
2790 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
2791 3, 96,
2792 0,
2793 59,
2794 OPC_CheckChild1Type, MVT::v16i8,
2795 OPC_MoveChild2,
2796 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
2797 OPC_RecordChild0,
2798 OPC_RecordChild1,
2799 OPC_MoveChild1,
2800 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2801 OPC_CheckPredicate4,
2802 OPC_MoveParent,
2803 OPC_CheckPredicate2,
2804 OPC_CheckTypeByHwMode0,
2805 OPC_MoveParent,
2806 OPC_CheckPredicate0,
2807 OPC_CheckPredicate1,
2808 OPC_CheckPatternPredicate1,
2809 OPC_CheckComplexPat0, /*#*/2,
2810 OPC_EmitMergeInputChains1_0,
2811 OPC_EmitConvertToTarget3,
2812 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
2813 3, 96,
2814 24, TARGET_VAL(ISD::OR),
2815 OPC_RecordChild0,
2816 OPC_RecordChild1,
2817 OPC_MoveChild1,
2818 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2819 OPC_CheckPredicate4,
2820 OPC_MoveParent,
2821 OPC_CheckPredicate2,
2822 OPC_CheckTypeByHwMode0,
2823 OPC_MoveParent,
2824 OPC_CheckPredicate0,
2825 OPC_CheckPredicate1,
2826 OPC_CheckPatternPredicate1,
2827 OPC_CheckComplexPat0, /*#*/2,
2828 OPC_EmitMergeInputChains1_0,
2829 OPC_EmitConvertToTarget3,
2830 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
2831 3, 96,
2832 0,
2833 59,
2834 OPC_CheckChild1Type, MVT::v8i16,
2835 OPC_MoveChild2,
2836 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
2837 OPC_RecordChild0,
2838 OPC_RecordChild1,
2839 OPC_MoveChild1,
2840 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2841 OPC_CheckPredicate4,
2842 OPC_MoveParent,
2843 OPC_CheckPredicate2,
2844 OPC_CheckTypeByHwMode0,
2845 OPC_MoveParent,
2846 OPC_CheckPredicate0,
2847 OPC_CheckPredicate1,
2848 OPC_CheckPatternPredicate1,
2849 OPC_CheckComplexPat0, /*#*/2,
2850 OPC_EmitMergeInputChains1_0,
2851 OPC_EmitConvertToTarget3,
2852 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
2853 3, 96,
2854 24, TARGET_VAL(ISD::OR),
2855 OPC_RecordChild0,
2856 OPC_RecordChild1,
2857 OPC_MoveChild1,
2858 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2859 OPC_CheckPredicate4,
2860 OPC_MoveParent,
2861 OPC_CheckPredicate2,
2862 OPC_CheckTypeByHwMode0,
2863 OPC_MoveParent,
2864 OPC_CheckPredicate0,
2865 OPC_CheckPredicate1,
2866 OPC_CheckPatternPredicate1,
2867 OPC_CheckComplexPat0, /*#*/2,
2868 OPC_EmitMergeInputChains1_0,
2869 OPC_EmitConvertToTarget3,
2870 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
2871 3, 96,
2872 0,
2873 59,
2874 OPC_CheckChild1Type, MVT::v4i32,
2875 OPC_MoveChild2,
2876 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
2877 OPC_RecordChild0,
2878 OPC_RecordChild1,
2879 OPC_MoveChild1,
2880 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2881 OPC_CheckPredicate4,
2882 OPC_MoveParent,
2883 OPC_CheckPredicate2,
2884 OPC_CheckTypeByHwMode0,
2885 OPC_MoveParent,
2886 OPC_CheckPredicate0,
2887 OPC_CheckPredicate1,
2888 OPC_CheckPatternPredicate1,
2889 OPC_CheckComplexPat0, /*#*/2,
2890 OPC_EmitMergeInputChains1_0,
2891 OPC_EmitConvertToTarget3,
2892 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
2893 3, 96,
2894 24, TARGET_VAL(ISD::OR),
2895 OPC_RecordChild0,
2896 OPC_RecordChild1,
2897 OPC_MoveChild1,
2898 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2899 OPC_CheckPredicate4,
2900 OPC_MoveParent,
2901 OPC_CheckPredicate2,
2902 OPC_CheckTypeByHwMode0,
2903 OPC_MoveParent,
2904 OPC_CheckPredicate0,
2905 OPC_CheckPredicate1,
2906 OPC_CheckPatternPredicate1,
2907 OPC_CheckComplexPat0, /*#*/2,
2908 OPC_EmitMergeInputChains1_0,
2909 OPC_EmitConvertToTarget3,
2910 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
2911 3, 96,
2912 0,
2913 59,
2914 OPC_CheckChild1Type, MVT::v2i64,
2915 OPC_MoveChild2,
2916 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
2917 OPC_RecordChild0,
2918 OPC_RecordChild1,
2919 OPC_MoveChild1,
2920 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2921 OPC_CheckPredicate4,
2922 OPC_MoveParent,
2923 OPC_CheckPredicate2,
2924 OPC_CheckTypeByHwMode0,
2925 OPC_MoveParent,
2926 OPC_CheckPredicate0,
2927 OPC_CheckPredicate1,
2928 OPC_CheckPatternPredicate1,
2929 OPC_CheckComplexPat0, /*#*/2,
2930 OPC_EmitMergeInputChains1_0,
2931 OPC_EmitConvertToTarget3,
2932 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
2933 3, 96,
2934 24, TARGET_VAL(ISD::OR),
2935 OPC_RecordChild0,
2936 OPC_RecordChild1,
2937 OPC_MoveChild1,
2938 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2939 OPC_CheckPredicate4,
2940 OPC_MoveParent,
2941 OPC_CheckPredicate2,
2942 OPC_CheckTypeByHwMode0,
2943 OPC_MoveParent,
2944 OPC_CheckPredicate0,
2945 OPC_CheckPredicate1,
2946 OPC_CheckPatternPredicate1,
2947 OPC_CheckComplexPat0, /*#*/2,
2948 OPC_EmitMergeInputChains1_0,
2949 OPC_EmitConvertToTarget3,
2950 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
2951 3, 96,
2952 0,
2953 60,
2954 OPC_CheckChild1Type, 8|128,1,
2955 OPC_MoveChild2,
2956 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
2957 OPC_RecordChild0,
2958 OPC_RecordChild1,
2959 OPC_MoveChild1,
2960 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2961 OPC_CheckPredicate4,
2962 OPC_MoveParent,
2963 OPC_CheckPredicate2,
2964 OPC_CheckTypeByHwMode0,
2965 OPC_MoveParent,
2966 OPC_CheckPredicate0,
2967 OPC_CheckPredicate1,
2968 OPC_CheckPatternPredicate1,
2969 OPC_CheckComplexPat0, /*#*/2,
2970 OPC_EmitMergeInputChains1_0,
2971 OPC_EmitConvertToTarget3,
2972 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
2973 3, 96,
2974 24, TARGET_VAL(ISD::OR),
2975 OPC_RecordChild0,
2976 OPC_RecordChild1,
2977 OPC_MoveChild1,
2978 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2979 OPC_CheckPredicate4,
2980 OPC_MoveParent,
2981 OPC_CheckPredicate2,
2982 OPC_CheckTypeByHwMode0,
2983 OPC_MoveParent,
2984 OPC_CheckPredicate0,
2985 OPC_CheckPredicate1,
2986 OPC_CheckPatternPredicate1,
2987 OPC_CheckComplexPat0, /*#*/2,
2988 OPC_EmitMergeInputChains1_0,
2989 OPC_EmitConvertToTarget3,
2990 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
2991 3, 96,
2992 0,
2993 60,
2994 OPC_CheckChild1Type, 26|128,1,
2995 OPC_MoveChild2,
2996 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
2997 OPC_RecordChild0,
2998 OPC_RecordChild1,
2999 OPC_MoveChild1,
3000 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3001 OPC_CheckPredicate4,
3002 OPC_MoveParent,
3003 OPC_CheckPredicate2,
3004 OPC_CheckTypeByHwMode0,
3005 OPC_MoveParent,
3006 OPC_CheckPredicate0,
3007 OPC_CheckPredicate1,
3008 OPC_CheckPatternPredicate1,
3009 OPC_CheckComplexPat0, /*#*/2,
3010 OPC_EmitMergeInputChains1_0,
3011 OPC_EmitConvertToTarget3,
3012 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
3013 3, 96,
3014 24, TARGET_VAL(ISD::OR),
3015 OPC_RecordChild0,
3016 OPC_RecordChild1,
3017 OPC_MoveChild1,
3018 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3019 OPC_CheckPredicate4,
3020 OPC_MoveParent,
3021 OPC_CheckPredicate2,
3022 OPC_CheckTypeByHwMode0,
3023 OPC_MoveParent,
3024 OPC_CheckPredicate0,
3025 OPC_CheckPredicate1,
3026 OPC_CheckPatternPredicate1,
3027 OPC_CheckComplexPat0, /*#*/2,
3028 OPC_EmitMergeInputChains1_0,
3029 OPC_EmitConvertToTarget3,
3030 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
3031 3, 96,
3032 0,
3033 59,
3034 OPC_CheckChild1Type, MVT::v32i8,
3035 OPC_MoveChild2,
3036 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
3037 OPC_RecordChild0,
3038 OPC_RecordChild1,
3039 OPC_MoveChild1,
3040 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3041 OPC_CheckPredicate4,
3042 OPC_MoveParent,
3043 OPC_CheckPredicate2,
3044 OPC_CheckTypeByHwMode0,
3045 OPC_MoveParent,
3046 OPC_CheckPredicate0,
3047 OPC_CheckPredicate1,
3048 OPC_CheckPatternPredicate0,
3049 OPC_CheckComplexPat0, /*#*/2,
3050 OPC_EmitMergeInputChains1_0,
3051 OPC_EmitConvertToTarget3,
3052 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3053 3, 96,
3054 24, TARGET_VAL(ISD::OR),
3055 OPC_RecordChild0,
3056 OPC_RecordChild1,
3057 OPC_MoveChild1,
3058 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3059 OPC_CheckPredicate4,
3060 OPC_MoveParent,
3061 OPC_CheckPredicate2,
3062 OPC_CheckTypeByHwMode0,
3063 OPC_MoveParent,
3064 OPC_CheckPredicate0,
3065 OPC_CheckPredicate1,
3066 OPC_CheckPatternPredicate0,
3067 OPC_CheckComplexPat0, /*#*/2,
3068 OPC_EmitMergeInputChains1_0,
3069 OPC_EmitConvertToTarget3,
3070 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3071 3, 96,
3072 0,
3073 59,
3074 OPC_CheckChild1Type, MVT::v16i16,
3075 OPC_MoveChild2,
3076 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
3077 OPC_RecordChild0,
3078 OPC_RecordChild1,
3079 OPC_MoveChild1,
3080 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3081 OPC_CheckPredicate4,
3082 OPC_MoveParent,
3083 OPC_CheckPredicate2,
3084 OPC_CheckTypeByHwMode0,
3085 OPC_MoveParent,
3086 OPC_CheckPredicate0,
3087 OPC_CheckPredicate1,
3088 OPC_CheckPatternPredicate0,
3089 OPC_CheckComplexPat0, /*#*/2,
3090 OPC_EmitMergeInputChains1_0,
3091 OPC_EmitConvertToTarget3,
3092 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3093 3, 96,
3094 24, TARGET_VAL(ISD::OR),
3095 OPC_RecordChild0,
3096 OPC_RecordChild1,
3097 OPC_MoveChild1,
3098 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3099 OPC_CheckPredicate4,
3100 OPC_MoveParent,
3101 OPC_CheckPredicate2,
3102 OPC_CheckTypeByHwMode0,
3103 OPC_MoveParent,
3104 OPC_CheckPredicate0,
3105 OPC_CheckPredicate1,
3106 OPC_CheckPatternPredicate0,
3107 OPC_CheckComplexPat0, /*#*/2,
3108 OPC_EmitMergeInputChains1_0,
3109 OPC_EmitConvertToTarget3,
3110 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3111 3, 96,
3112 0,
3113 59,
3114 OPC_CheckChild1Type, MVT::v8i32,
3115 OPC_MoveChild2,
3116 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
3117 OPC_RecordChild0,
3118 OPC_RecordChild1,
3119 OPC_MoveChild1,
3120 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3121 OPC_CheckPredicate4,
3122 OPC_MoveParent,
3123 OPC_CheckPredicate2,
3124 OPC_CheckTypeByHwMode0,
3125 OPC_MoveParent,
3126 OPC_CheckPredicate0,
3127 OPC_CheckPredicate1,
3128 OPC_CheckPatternPredicate0,
3129 OPC_CheckComplexPat0, /*#*/2,
3130 OPC_EmitMergeInputChains1_0,
3131 OPC_EmitConvertToTarget3,
3132 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3133 3, 96,
3134 24, TARGET_VAL(ISD::OR),
3135 OPC_RecordChild0,
3136 OPC_RecordChild1,
3137 OPC_MoveChild1,
3138 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3139 OPC_CheckPredicate4,
3140 OPC_MoveParent,
3141 OPC_CheckPredicate2,
3142 OPC_CheckTypeByHwMode0,
3143 OPC_MoveParent,
3144 OPC_CheckPredicate0,
3145 OPC_CheckPredicate1,
3146 OPC_CheckPatternPredicate0,
3147 OPC_CheckComplexPat0, /*#*/2,
3148 OPC_EmitMergeInputChains1_0,
3149 OPC_EmitConvertToTarget3,
3150 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3151 3, 96,
3152 0,
3153 59,
3154 OPC_CheckChild1Type, MVT::v4i64,
3155 OPC_MoveChild2,
3156 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
3157 OPC_RecordChild0,
3158 OPC_RecordChild1,
3159 OPC_MoveChild1,
3160 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3161 OPC_CheckPredicate4,
3162 OPC_MoveParent,
3163 OPC_CheckPredicate2,
3164 OPC_CheckTypeByHwMode0,
3165 OPC_MoveParent,
3166 OPC_CheckPredicate0,
3167 OPC_CheckPredicate1,
3168 OPC_CheckPatternPredicate0,
3169 OPC_CheckComplexPat0, /*#*/2,
3170 OPC_EmitMergeInputChains1_0,
3171 OPC_EmitConvertToTarget3,
3172 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3173 3, 96,
3174 24, TARGET_VAL(ISD::OR),
3175 OPC_RecordChild0,
3176 OPC_RecordChild1,
3177 OPC_MoveChild1,
3178 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3179 OPC_CheckPredicate4,
3180 OPC_MoveParent,
3181 OPC_CheckPredicate2,
3182 OPC_CheckTypeByHwMode0,
3183 OPC_MoveParent,
3184 OPC_CheckPredicate0,
3185 OPC_CheckPredicate1,
3186 OPC_CheckPatternPredicate0,
3187 OPC_CheckComplexPat0, /*#*/2,
3188 OPC_EmitMergeInputChains1_0,
3189 OPC_EmitConvertToTarget3,
3190 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3191 3, 96,
3192 0,
3193 60,
3194 OPC_CheckChild1Type, 12|128,1,
3195 OPC_MoveChild2,
3196 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
3197 OPC_RecordChild0,
3198 OPC_RecordChild1,
3199 OPC_MoveChild1,
3200 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3201 OPC_CheckPredicate4,
3202 OPC_MoveParent,
3203 OPC_CheckPredicate2,
3204 OPC_CheckTypeByHwMode0,
3205 OPC_MoveParent,
3206 OPC_CheckPredicate0,
3207 OPC_CheckPredicate1,
3208 OPC_CheckPatternPredicate0,
3209 OPC_CheckComplexPat0, /*#*/2,
3210 OPC_EmitMergeInputChains1_0,
3211 OPC_EmitConvertToTarget3,
3212 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3213 3, 96,
3214 24, TARGET_VAL(ISD::OR),
3215 OPC_RecordChild0,
3216 OPC_RecordChild1,
3217 OPC_MoveChild1,
3218 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3219 OPC_CheckPredicate4,
3220 OPC_MoveParent,
3221 OPC_CheckPredicate2,
3222 OPC_CheckTypeByHwMode0,
3223 OPC_MoveParent,
3224 OPC_CheckPredicate0,
3225 OPC_CheckPredicate1,
3226 OPC_CheckPatternPredicate0,
3227 OPC_CheckComplexPat0, /*#*/2,
3228 OPC_EmitMergeInputChains1_0,
3229 OPC_EmitConvertToTarget3,
3230 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3231 3, 96,
3232 0,
3233 60,
3234 OPC_CheckChild1Type, 28|128,1,
3235 OPC_MoveChild2,
3236 OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ADD),
3237 OPC_RecordChild0,
3238 OPC_RecordChild1,
3239 OPC_MoveChild1,
3240 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3241 OPC_CheckPredicate4,
3242 OPC_MoveParent,
3243 OPC_CheckPredicate2,
3244 OPC_CheckTypeByHwMode0,
3245 OPC_MoveParent,
3246 OPC_CheckPredicate0,
3247 OPC_CheckPredicate1,
3248 OPC_CheckPatternPredicate0,
3249 OPC_CheckComplexPat0, /*#*/2,
3250 OPC_EmitMergeInputChains1_0,
3251 OPC_EmitConvertToTarget3,
3252 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3253 3, 96,
3254 24, TARGET_VAL(ISD::OR),
3255 OPC_RecordChild0,
3256 OPC_RecordChild1,
3257 OPC_MoveChild1,
3258 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3259 OPC_CheckPredicate4,
3260 OPC_MoveParent,
3261 OPC_CheckPredicate2,
3262 OPC_CheckTypeByHwMode0,
3263 OPC_MoveParent,
3264 OPC_CheckPredicate0,
3265 OPC_CheckPredicate1,
3266 OPC_CheckPatternPredicate0,
3267 OPC_CheckComplexPat0, /*#*/2,
3268 OPC_EmitMergeInputChains1_0,
3269 OPC_EmitConvertToTarget3,
3270 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3271 3, 96,
3272 0,
3273 0,
3274 3|128,3,
3275 OPC_MoveChild1,
3276 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
3277 OPC_RecordChild0,
3278 OPC_Scope, 31,
3279 OPC_CheckChild0Type, MVT::v16i8,
3280 OPC_RecordChild1,
3281 OPC_MoveChild1,
3282 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3283 OPC_CheckPredicate, 21,
3284 OPC_CheckTypeByHwMode0,
3285 OPC_MoveParent,
3286 OPC_CheckTypeByHwMode0,
3287 OPC_MoveParent,
3288 OPC_RecordChild2,
3289 OPC_CheckPredicate0,
3290 OPC_CheckPredicate, 12,
3291 OPC_CheckPredicate5,
3292 OPC_CheckPatternPredicate1,
3293 OPC_CheckComplexPat0, /*#*/3,
3294 OPC_EmitMergeInputChains1_0,
3295 OPC_EmitIntegerByHwMode0, 0,
3296 OPC_EmitConvertToTarget2,
3297 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
3298 4, 120,
3299 31,
3300 OPC_CheckChild0Type, MVT::v8i16,
3301 OPC_RecordChild1,
3302 OPC_MoveChild1,
3303 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3304 OPC_CheckPredicate, 17,
3305 OPC_CheckTypeByHwMode0,
3306 OPC_MoveParent,
3307 OPC_CheckTypeByHwMode0,
3308 OPC_MoveParent,
3309 OPC_RecordChild2,
3310 OPC_CheckPredicate0,
3311 OPC_CheckPredicate, 12,
3312 OPC_CheckPredicate6,
3313 OPC_CheckPatternPredicate1,
3314 OPC_CheckComplexPat0, /*#*/3,
3315 OPC_EmitMergeInputChains1_0,
3316 OPC_EmitIntegerByHwMode0, 0,
3317 OPC_EmitConvertToTarget2,
3318 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
3319 4, 120,
3320 31,
3321 OPC_CheckChild0Type, MVT::v4i32,
3322 OPC_RecordChild1,
3323 OPC_MoveChild1,
3324 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3325 OPC_CheckPredicate, 18,
3326 OPC_CheckTypeByHwMode0,
3327 OPC_MoveParent,
3328 OPC_CheckTypeByHwMode0,
3329 OPC_MoveParent,
3330 OPC_RecordChild2,
3331 OPC_CheckPredicate0,
3332 OPC_CheckPredicate, 12,
3333 OPC_CheckPredicate3,
3334 OPC_CheckPatternPredicate1,
3335 OPC_CheckComplexPat0, /*#*/3,
3336 OPC_EmitMergeInputChains1_0,
3337 OPC_EmitIntegerByHwMode0, 0,
3338 OPC_EmitConvertToTarget2,
3339 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
3340 4, 120,
3341 29,
3342 OPC_CheckChild0Type, MVT::v2i64,
3343 OPC_RecordChild1,
3344 OPC_MoveChild1,
3345 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3346 OPC_CheckPredicate, 25,
3347 OPC_CheckTypeByHwMode0,
3348 OPC_MoveParent,
3349 OPC_CheckTypeByHwMode0,
3350 OPC_MoveParent,
3351 OPC_RecordChild2,
3352 OPC_CheckPredicate0,
3353 OPC_CheckPredicate1,
3354 OPC_CheckPatternPredicate1,
3355 OPC_CheckComplexPat0, /*#*/3,
3356 OPC_EmitMergeInputChains1_0,
3357 OPC_EmitIntegerByHwMode0, 0,
3358 OPC_EmitConvertToTarget2,
3359 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
3360 4, 120,
3361 31,
3362 OPC_CheckChild0Type, 8|128,1,
3363 OPC_RecordChild1,
3364 OPC_MoveChild1,
3365 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3366 OPC_CheckPredicate, 18,
3367 OPC_CheckTypeByHwMode0,
3368 OPC_MoveParent,
3369 OPC_CheckType, MVT::f32,
3370 OPC_MoveParent,
3371 OPC_RecordChild2,
3372 OPC_CheckPredicate0,
3373 OPC_CheckPredicate1,
3374 OPC_CheckPatternPredicate1,
3375 OPC_CheckComplexPat0, /*#*/3,
3376 OPC_EmitMergeInputChains1_0,
3377 OPC_EmitIntegerByHwMode0, 0,
3378 OPC_EmitConvertToTarget2,
3379 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
3380 4, 120,
3381 31,
3382 OPC_CheckChild0Type, 26|128,1,
3383 OPC_RecordChild1,
3384 OPC_MoveChild1,
3385 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3386 OPC_CheckPredicate, 25,
3387 OPC_CheckTypeByHwMode0,
3388 OPC_MoveParent,
3389 OPC_CheckType, MVT::f64,
3390 OPC_MoveParent,
3391 OPC_RecordChild2,
3392 OPC_CheckPredicate0,
3393 OPC_CheckPredicate1,
3394 OPC_CheckPatternPredicate1,
3395 OPC_CheckComplexPat0, /*#*/3,
3396 OPC_EmitMergeInputChains1_0,
3397 OPC_EmitIntegerByHwMode0, 0,
3398 OPC_EmitConvertToTarget2,
3399 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
3400 4, 120,
3401 31,
3402 OPC_CheckChild0Type, MVT::v32i8,
3403 OPC_RecordChild1,
3404 OPC_MoveChild1,
3405 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3406 OPC_CheckPredicate, 20,
3407 OPC_CheckTypeByHwMode0,
3408 OPC_MoveParent,
3409 OPC_CheckTypeByHwMode0,
3410 OPC_MoveParent,
3411 OPC_RecordChild2,
3412 OPC_CheckPredicate0,
3413 OPC_CheckPredicate, 12,
3414 OPC_CheckPredicate5,
3415 OPC_CheckPatternPredicate0,
3416 OPC_CheckComplexPat0, /*#*/3,
3417 OPC_EmitMergeInputChains1_0,
3418 OPC_EmitIntegerByHwMode0, 0,
3419 OPC_EmitConvertToTarget2,
3420 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_B), 0|OPFL_Chain|OPFL_MemRefs,
3421 4, 120,
3422 31,
3423 OPC_CheckChild0Type, MVT::v16i16,
3424 OPC_RecordChild1,
3425 OPC_MoveChild1,
3426 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3427 OPC_CheckPredicate, 21,
3428 OPC_CheckTypeByHwMode0,
3429 OPC_MoveParent,
3430 OPC_CheckTypeByHwMode0,
3431 OPC_MoveParent,
3432 OPC_RecordChild2,
3433 OPC_CheckPredicate0,
3434 OPC_CheckPredicate, 12,
3435 OPC_CheckPredicate6,
3436 OPC_CheckPatternPredicate0,
3437 OPC_CheckComplexPat0, /*#*/3,
3438 OPC_EmitMergeInputChains1_0,
3439 OPC_EmitIntegerByHwMode0, 0,
3440 OPC_EmitConvertToTarget2,
3441 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_H), 0|OPFL_Chain|OPFL_MemRefs,
3442 4, 120,
3443 31,
3444 OPC_CheckChild0Type, MVT::v8i32,
3445 OPC_RecordChild1,
3446 OPC_MoveChild1,
3447 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3448 OPC_CheckPredicate, 17,
3449 OPC_CheckTypeByHwMode0,
3450 OPC_MoveParent,
3451 OPC_CheckTypeByHwMode0,
3452 OPC_MoveParent,
3453 OPC_RecordChild2,
3454 OPC_CheckPredicate0,
3455 OPC_CheckPredicate, 12,
3456 OPC_CheckPredicate3,
3457 OPC_CheckPatternPredicate0,
3458 OPC_CheckComplexPat0, /*#*/3,
3459 OPC_EmitMergeInputChains1_0,
3460 OPC_EmitIntegerByHwMode0, 0,
3461 OPC_EmitConvertToTarget2,
3462 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
3463 4, 120,
3464 29,
3465 OPC_CheckChild0Type, MVT::v4i64,
3466 OPC_RecordChild1,
3467 OPC_MoveChild1,
3468 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3469 OPC_CheckPredicate, 18,
3470 OPC_CheckTypeByHwMode0,
3471 OPC_MoveParent,
3472 OPC_CheckTypeByHwMode0,
3473 OPC_MoveParent,
3474 OPC_RecordChild2,
3475 OPC_CheckPredicate0,
3476 OPC_CheckPredicate1,
3477 OPC_CheckPatternPredicate0,
3478 OPC_CheckComplexPat0, /*#*/3,
3479 OPC_EmitMergeInputChains1_0,
3480 OPC_EmitIntegerByHwMode0, 0,
3481 OPC_EmitConvertToTarget2,
3482 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
3483 4, 120,
3484 31,
3485 OPC_CheckChild0Type, 12|128,1,
3486 OPC_RecordChild1,
3487 OPC_MoveChild1,
3488 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3489 OPC_CheckPredicate, 17,
3490 OPC_CheckTypeByHwMode0,
3491 OPC_MoveParent,
3492 OPC_CheckType, MVT::f32,
3493 OPC_MoveParent,
3494 OPC_RecordChild2,
3495 OPC_CheckPredicate0,
3496 OPC_CheckPredicate1,
3497 OPC_CheckPatternPredicate0,
3498 OPC_CheckComplexPat0, /*#*/3,
3499 OPC_EmitMergeInputChains1_0,
3500 OPC_EmitIntegerByHwMode0, 0,
3501 OPC_EmitConvertToTarget2,
3502 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_W), 0|OPFL_Chain|OPFL_MemRefs,
3503 4, 120,
3504 31,
3505 OPC_CheckChild0Type, 28|128,1,
3506 OPC_RecordChild1,
3507 OPC_MoveChild1,
3508 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3509 OPC_CheckPredicate, 18,
3510 OPC_CheckTypeByHwMode0,
3511 OPC_MoveParent,
3512 OPC_CheckType, MVT::f64,
3513 OPC_MoveParent,
3514 OPC_RecordChild2,
3515 OPC_CheckPredicate0,
3516 OPC_CheckPredicate1,
3517 OPC_CheckPatternPredicate0,
3518 OPC_CheckComplexPat0, /*#*/3,
3519 OPC_EmitMergeInputChains1_0,
3520 OPC_EmitIntegerByHwMode0, 0,
3521 OPC_EmitConvertToTarget2,
3522 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTELM_D), 0|OPFL_Chain|OPFL_MemRefs,
3523 4, 120,
3524 0,
3525 42|128,11,
3526 OPC_RecordChild1,
3527 OPC_Scope, 29,
3528 OPC_CheckChild1TypeByHwMode0,
3529 OPC_RecordChild2,
3530 OPC_CheckPredicate0,
3531 OPC_CheckPredicate, 12,
3532 OPC_Scope, 10,
3533 OPC_CheckPredicate5,
3534 OPC_CheckComplexPat3, /*#*/2,
3535 OPC_EmitMergeInputChains1_0,
3536 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
3537 3, 78,
3538 10,
3539 OPC_CheckPredicate6,
3540 OPC_CheckComplexPat3, /*#*/2,
3541 OPC_EmitMergeInputChains1_0,
3542 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
3543 3, 78,
3544 0,
3545 14,
3546 OPC_CheckChild1TypeI32,
3547 OPC_RecordChild2,
3548 OPC_CheckPredicate0,
3549 OPC_CheckPredicate1,
3550 OPC_CheckPatternPredicate5,
3551 OPC_CheckComplexPat3, /*#*/2,
3552 OPC_EmitMergeInputChains1_0,
3553 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
3554 3, 78,
3555 100,
3556 OPC_CheckChild1TypeByHwMode, 1,
3557 OPC_Scope, 30,
3558 OPC_RecordChild2,
3559 OPC_CheckPredicate0,
3560 OPC_Scope, 13,
3561 OPC_CheckPredicate, 12,
3562 OPC_CheckPredicate3,
3563 OPC_CheckPatternPredicate2,
3564 OPC_CheckComplexPat3, /*#*/2,
3565 OPC_EmitMergeInputChains1_0,
3566 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
3567 3, 78,
3568 11,
3569 OPC_CheckPredicate1,
3570 OPC_CheckPatternPredicate2,
3571 OPC_CheckComplexPat3, /*#*/2,
3572 OPC_EmitMergeInputChains1_0,
3573 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
3574 3, 78,
3575 0,
3576 64,
3577 OPC_MoveChild2,
3578 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3579 OPC_RecordChild0,
3580 OPC_RecordChild1,
3581 OPC_CheckTypeByHwMode0,
3582 OPC_MoveParent,
3583 OPC_CheckPredicate0,
3584 OPC_Scope, 40,
3585 OPC_CheckPredicate, 12,
3586 OPC_Scope, 11,
3587 OPC_CheckPredicate5,
3588 OPC_CheckPatternPredicate2,
3589 OPC_CheckComplexPat1, /*#*/2,
3590 OPC_EmitMergeInputChains1_0,
3591 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs,
3592 3, 62,
3593 11,
3594 OPC_CheckPredicate6,
3595 OPC_CheckPatternPredicate2,
3596 OPC_CheckComplexPat1, /*#*/2,
3597 OPC_EmitMergeInputChains1_0,
3598 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs,
3599 3, 62,
3600 11,
3601 OPC_CheckPredicate3,
3602 OPC_CheckPatternPredicate2,
3603 OPC_CheckComplexPat1, /*#*/2,
3604 OPC_EmitMergeInputChains1_0,
3605 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs,
3606 3, 62,
3607 0,
3608 11,
3609 OPC_CheckPredicate1,
3610 OPC_CheckPatternPredicate2,
3611 OPC_CheckComplexPat1, /*#*/2,
3612 OPC_EmitMergeInputChains1_0,
3613 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs,
3614 3, 62,
3615 0,
3616 0,
3617 39,
3618 OPC_CheckChild1Type, MVT::f32,
3619 OPC_Scope, 13,
3620 OPC_RecordChild2,
3621 OPC_CheckPredicate0,
3622 OPC_CheckPredicate1,
3623 OPC_CheckPatternPredicate3,
3624 OPC_CheckComplexPat3, /*#*/2,
3625 OPC_EmitMergeInputChains1_0,
3626 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
3627 3, 78,
3628 20,
3629 OPC_MoveChild2,
3630 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3631 OPC_RecordChild0,
3632 OPC_RecordChild1,
3633 OPC_CheckTypeByHwMode0,
3634 OPC_MoveParent,
3635 OPC_CheckPredicate0,
3636 OPC_CheckPredicate1,
3637 OPC_CheckPatternPredicate3,
3638 OPC_CheckComplexPat1, /*#*/2,
3639 OPC_EmitMergeInputChains1_0,
3640 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
3641 3, 62,
3642 0,
3643 39,
3644 OPC_CheckChild1Type, MVT::f64,
3645 OPC_Scope, 13,
3646 OPC_RecordChild2,
3647 OPC_CheckPredicate0,
3648 OPC_CheckPredicate1,
3649 OPC_CheckPatternPredicate4,
3650 OPC_CheckComplexPat3, /*#*/2,
3651 OPC_EmitMergeInputChains1_0,
3652 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
3653 3, 78,
3654 20,
3655 OPC_MoveChild2,
3656 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3657 OPC_RecordChild0,
3658 OPC_RecordChild1,
3659 OPC_CheckTypeByHwMode0,
3660 OPC_MoveParent,
3661 OPC_CheckPredicate0,
3662 OPC_CheckPredicate1,
3663 OPC_CheckPatternPredicate4,
3664 OPC_CheckComplexPat1, /*#*/2,
3665 OPC_EmitMergeInputChains1_0,
3666 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
3667 3, 62,
3668 0,
3669 39,
3670 OPC_CheckChild1Type, MVT::v16i8,
3671 OPC_Scope, 13,
3672 OPC_RecordChild2,
3673 OPC_CheckPredicate0,
3674 OPC_CheckPredicate1,
3675 OPC_CheckPatternPredicate1,
3676 OPC_CheckComplexPat3, /*#*/2,
3677 OPC_EmitMergeInputChains1_0,
3678 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
3679 3, 78,
3680 20,
3681 OPC_MoveChild2,
3682 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3683 OPC_RecordChild0,
3684 OPC_RecordChild1,
3685 OPC_CheckTypeByHwMode0,
3686 OPC_MoveParent,
3687 OPC_CheckPredicate0,
3688 OPC_CheckPredicate1,
3689 OPC_CheckPatternPredicate1,
3690 OPC_CheckComplexPat1, /*#*/2,
3691 OPC_EmitMergeInputChains1_0,
3692 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
3693 3, 62,
3694 0,
3695 39,
3696 OPC_CheckChild1Type, MVT::v8i16,
3697 OPC_Scope, 13,
3698 OPC_RecordChild2,
3699 OPC_CheckPredicate0,
3700 OPC_CheckPredicate1,
3701 OPC_CheckPatternPredicate1,
3702 OPC_CheckComplexPat3, /*#*/2,
3703 OPC_EmitMergeInputChains1_0,
3704 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
3705 3, 78,
3706 20,
3707 OPC_MoveChild2,
3708 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3709 OPC_RecordChild0,
3710 OPC_RecordChild1,
3711 OPC_CheckTypeByHwMode0,
3712 OPC_MoveParent,
3713 OPC_CheckPredicate0,
3714 OPC_CheckPredicate1,
3715 OPC_CheckPatternPredicate1,
3716 OPC_CheckComplexPat1, /*#*/2,
3717 OPC_EmitMergeInputChains1_0,
3718 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
3719 3, 62,
3720 0,
3721 39,
3722 OPC_CheckChild1Type, MVT::v4i32,
3723 OPC_Scope, 13,
3724 OPC_RecordChild2,
3725 OPC_CheckPredicate0,
3726 OPC_CheckPredicate1,
3727 OPC_CheckPatternPredicate1,
3728 OPC_CheckComplexPat3, /*#*/2,
3729 OPC_EmitMergeInputChains1_0,
3730 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
3731 3, 78,
3732 20,
3733 OPC_MoveChild2,
3734 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3735 OPC_RecordChild0,
3736 OPC_RecordChild1,
3737 OPC_CheckTypeByHwMode0,
3738 OPC_MoveParent,
3739 OPC_CheckPredicate0,
3740 OPC_CheckPredicate1,
3741 OPC_CheckPatternPredicate1,
3742 OPC_CheckComplexPat1, /*#*/2,
3743 OPC_EmitMergeInputChains1_0,
3744 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
3745 3, 62,
3746 0,
3747 39,
3748 OPC_CheckChild1Type, MVT::v2i64,
3749 OPC_Scope, 13,
3750 OPC_RecordChild2,
3751 OPC_CheckPredicate0,
3752 OPC_CheckPredicate1,
3753 OPC_CheckPatternPredicate1,
3754 OPC_CheckComplexPat3, /*#*/2,
3755 OPC_EmitMergeInputChains1_0,
3756 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
3757 3, 78,
3758 20,
3759 OPC_MoveChild2,
3760 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3761 OPC_RecordChild0,
3762 OPC_RecordChild1,
3763 OPC_CheckTypeByHwMode0,
3764 OPC_MoveParent,
3765 OPC_CheckPredicate0,
3766 OPC_CheckPredicate1,
3767 OPC_CheckPatternPredicate1,
3768 OPC_CheckComplexPat1, /*#*/2,
3769 OPC_EmitMergeInputChains1_0,
3770 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
3771 3, 62,
3772 0,
3773 40,
3774 OPC_CheckChild1Type, 8|128,1,
3775 OPC_Scope, 13,
3776 OPC_RecordChild2,
3777 OPC_CheckPredicate0,
3778 OPC_CheckPredicate1,
3779 OPC_CheckPatternPredicate1,
3780 OPC_CheckComplexPat3, /*#*/2,
3781 OPC_EmitMergeInputChains1_0,
3782 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
3783 3, 78,
3784 20,
3785 OPC_MoveChild2,
3786 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3787 OPC_RecordChild0,
3788 OPC_RecordChild1,
3789 OPC_CheckTypeByHwMode0,
3790 OPC_MoveParent,
3791 OPC_CheckPredicate0,
3792 OPC_CheckPredicate1,
3793 OPC_CheckPatternPredicate1,
3794 OPC_CheckComplexPat1, /*#*/2,
3795 OPC_EmitMergeInputChains1_0,
3796 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
3797 3, 62,
3798 0,
3799 40,
3800 OPC_CheckChild1Type, 26|128,1,
3801 OPC_Scope, 13,
3802 OPC_RecordChild2,
3803 OPC_CheckPredicate0,
3804 OPC_CheckPredicate1,
3805 OPC_CheckPatternPredicate1,
3806 OPC_CheckComplexPat3, /*#*/2,
3807 OPC_EmitMergeInputChains1_0,
3808 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
3809 3, 78,
3810 20,
3811 OPC_MoveChild2,
3812 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3813 OPC_RecordChild0,
3814 OPC_RecordChild1,
3815 OPC_CheckTypeByHwMode0,
3816 OPC_MoveParent,
3817 OPC_CheckPredicate0,
3818 OPC_CheckPredicate1,
3819 OPC_CheckPatternPredicate1,
3820 OPC_CheckComplexPat1, /*#*/2,
3821 OPC_EmitMergeInputChains1_0,
3822 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
3823 3, 62,
3824 0,
3825 39,
3826 OPC_CheckChild1Type, MVT::v32i8,
3827 OPC_Scope, 13,
3828 OPC_RecordChild2,
3829 OPC_CheckPredicate0,
3830 OPC_CheckPredicate1,
3831 OPC_CheckPatternPredicate0,
3832 OPC_CheckComplexPat3, /*#*/2,
3833 OPC_EmitMergeInputChains1_0,
3834 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3835 3, 78,
3836 20,
3837 OPC_MoveChild2,
3838 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3839 OPC_RecordChild0,
3840 OPC_RecordChild1,
3841 OPC_CheckTypeByHwMode0,
3842 OPC_MoveParent,
3843 OPC_CheckPredicate0,
3844 OPC_CheckPredicate1,
3845 OPC_CheckPatternPredicate0,
3846 OPC_CheckComplexPat1, /*#*/2,
3847 OPC_EmitMergeInputChains1_0,
3848 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
3849 3, 62,
3850 0,
3851 39,
3852 OPC_CheckChild1Type, MVT::v16i16,
3853 OPC_Scope, 13,
3854 OPC_RecordChild2,
3855 OPC_CheckPredicate0,
3856 OPC_CheckPredicate1,
3857 OPC_CheckPatternPredicate0,
3858 OPC_CheckComplexPat3, /*#*/2,
3859 OPC_EmitMergeInputChains1_0,
3860 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3861 3, 78,
3862 20,
3863 OPC_MoveChild2,
3864 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3865 OPC_RecordChild0,
3866 OPC_RecordChild1,
3867 OPC_CheckTypeByHwMode0,
3868 OPC_MoveParent,
3869 OPC_CheckPredicate0,
3870 OPC_CheckPredicate1,
3871 OPC_CheckPatternPredicate0,
3872 OPC_CheckComplexPat1, /*#*/2,
3873 OPC_EmitMergeInputChains1_0,
3874 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
3875 3, 62,
3876 0,
3877 39,
3878 OPC_CheckChild1Type, MVT::v8i32,
3879 OPC_Scope, 13,
3880 OPC_RecordChild2,
3881 OPC_CheckPredicate0,
3882 OPC_CheckPredicate1,
3883 OPC_CheckPatternPredicate0,
3884 OPC_CheckComplexPat3, /*#*/2,
3885 OPC_EmitMergeInputChains1_0,
3886 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3887 3, 78,
3888 20,
3889 OPC_MoveChild2,
3890 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3891 OPC_RecordChild0,
3892 OPC_RecordChild1,
3893 OPC_CheckTypeByHwMode0,
3894 OPC_MoveParent,
3895 OPC_CheckPredicate0,
3896 OPC_CheckPredicate1,
3897 OPC_CheckPatternPredicate0,
3898 OPC_CheckComplexPat1, /*#*/2,
3899 OPC_EmitMergeInputChains1_0,
3900 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
3901 3, 62,
3902 0,
3903 39,
3904 OPC_CheckChild1Type, MVT::v4i64,
3905 OPC_Scope, 13,
3906 OPC_RecordChild2,
3907 OPC_CheckPredicate0,
3908 OPC_CheckPredicate1,
3909 OPC_CheckPatternPredicate0,
3910 OPC_CheckComplexPat3, /*#*/2,
3911 OPC_EmitMergeInputChains1_0,
3912 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3913 3, 78,
3914 20,
3915 OPC_MoveChild2,
3916 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3917 OPC_RecordChild0,
3918 OPC_RecordChild1,
3919 OPC_CheckTypeByHwMode0,
3920 OPC_MoveParent,
3921 OPC_CheckPredicate0,
3922 OPC_CheckPredicate1,
3923 OPC_CheckPatternPredicate0,
3924 OPC_CheckComplexPat1, /*#*/2,
3925 OPC_EmitMergeInputChains1_0,
3926 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
3927 3, 62,
3928 0,
3929 40,
3930 OPC_CheckChild1Type, 12|128,1,
3931 OPC_Scope, 13,
3932 OPC_RecordChild2,
3933 OPC_CheckPredicate0,
3934 OPC_CheckPredicate1,
3935 OPC_CheckPatternPredicate0,
3936 OPC_CheckComplexPat3, /*#*/2,
3937 OPC_EmitMergeInputChains1_0,
3938 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3939 3, 78,
3940 20,
3941 OPC_MoveChild2,
3942 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3943 OPC_RecordChild0,
3944 OPC_RecordChild1,
3945 OPC_CheckTypeByHwMode0,
3946 OPC_MoveParent,
3947 OPC_CheckPredicate0,
3948 OPC_CheckPredicate1,
3949 OPC_CheckPatternPredicate0,
3950 OPC_CheckComplexPat1, /*#*/2,
3951 OPC_EmitMergeInputChains1_0,
3952 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
3953 3, 62,
3954 0,
3955 40,
3956 OPC_CheckChild1Type, 28|128,1,
3957 OPC_Scope, 13,
3958 OPC_RecordChild2,
3959 OPC_CheckPredicate0,
3960 OPC_CheckPredicate1,
3961 OPC_CheckPatternPredicate0,
3962 OPC_CheckComplexPat3, /*#*/2,
3963 OPC_EmitMergeInputChains1_0,
3964 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
3965 3, 78,
3966 20,
3967 OPC_MoveChild2,
3968 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3969 OPC_RecordChild0,
3970 OPC_RecordChild1,
3971 OPC_CheckTypeByHwMode0,
3972 OPC_MoveParent,
3973 OPC_CheckPredicate0,
3974 OPC_CheckPredicate1,
3975 OPC_CheckPatternPredicate0,
3976 OPC_CheckComplexPat1, /*#*/2,
3977 OPC_EmitMergeInputChains1_0,
3978 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
3979 3, 62,
3980 0,
3981 66,
3982 OPC_CheckChild1TypeByHwMode, 1,
3983 OPC_MoveChild2,
3984 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
3985 OPC_RecordChild0,
3986 OPC_RecordChild1,
3987 OPC_CheckTypeByHwMode0,
3988 OPC_MoveParent,
3989 OPC_CheckPredicate0,
3990 OPC_Scope, 40,
3991 OPC_CheckPredicate, 12,
3992 OPC_Scope, 11,
3993 OPC_CheckPredicate5,
3994 OPC_CheckPatternPredicate2,
3995 OPC_CheckComplexPat1, /*#*/3,
3996 OPC_EmitMergeInputChains1_0,
3997 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_B), 0|OPFL_Chain|OPFL_MemRefs,
3998 3, 30,
3999 11,
4000 OPC_CheckPredicate6,
4001 OPC_CheckPatternPredicate2,
4002 OPC_CheckComplexPat1, /*#*/3,
4003 OPC_EmitMergeInputChains1_0,
4004 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_H), 0|OPFL_Chain|OPFL_MemRefs,
4005 3, 30,
4006 11,
4007 OPC_CheckPredicate3,
4008 OPC_CheckPatternPredicate2,
4009 OPC_CheckComplexPat1, /*#*/3,
4010 OPC_EmitMergeInputChains1_0,
4011 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_W), 0|OPFL_Chain|OPFL_MemRefs,
4012 3, 30,
4013 0,
4014 11,
4015 OPC_CheckPredicate1,
4016 OPC_CheckPatternPredicate2,
4017 OPC_CheckComplexPat1, /*#*/3,
4018 OPC_EmitMergeInputChains1_0,
4019 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::STX_D), 0|OPFL_Chain|OPFL_MemRefs,
4020 3, 30,
4021 0,
4022 22,
4023 OPC_CheckChild1Type, MVT::f32,
4024 OPC_MoveChild2,
4025 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4026 OPC_RecordChild0,
4027 OPC_RecordChild1,
4028 OPC_CheckTypeByHwMode0,
4029 OPC_MoveParent,
4030 OPC_CheckPredicate0,
4031 OPC_CheckPredicate1,
4032 OPC_CheckPatternPredicate3,
4033 OPC_CheckComplexPat1, /*#*/3,
4034 OPC_EmitMergeInputChains1_0,
4035 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_S), 0|OPFL_Chain|OPFL_MemRefs,
4036 3, 30,
4037 22,
4038 OPC_CheckChild1Type, MVT::f64,
4039 OPC_MoveChild2,
4040 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4041 OPC_RecordChild0,
4042 OPC_RecordChild1,
4043 OPC_CheckTypeByHwMode0,
4044 OPC_MoveParent,
4045 OPC_CheckPredicate0,
4046 OPC_CheckPredicate1,
4047 OPC_CheckPatternPredicate4,
4048 OPC_CheckComplexPat1, /*#*/3,
4049 OPC_EmitMergeInputChains1_0,
4050 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FSTX_D), 0|OPFL_Chain|OPFL_MemRefs,
4051 3, 30,
4052 22,
4053 OPC_CheckChild1Type, MVT::v16i8,
4054 OPC_MoveChild2,
4055 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4056 OPC_RecordChild0,
4057 OPC_RecordChild1,
4058 OPC_CheckTypeByHwMode0,
4059 OPC_MoveParent,
4060 OPC_CheckPredicate0,
4061 OPC_CheckPredicate1,
4062 OPC_CheckPatternPredicate1,
4063 OPC_CheckComplexPat1, /*#*/3,
4064 OPC_EmitMergeInputChains1_0,
4065 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
4066 3, 30,
4067 22,
4068 OPC_CheckChild1Type, MVT::v8i16,
4069 OPC_MoveChild2,
4070 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4071 OPC_RecordChild0,
4072 OPC_RecordChild1,
4073 OPC_CheckTypeByHwMode0,
4074 OPC_MoveParent,
4075 OPC_CheckPredicate0,
4076 OPC_CheckPredicate1,
4077 OPC_CheckPatternPredicate1,
4078 OPC_CheckComplexPat1, /*#*/3,
4079 OPC_EmitMergeInputChains1_0,
4080 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
4081 3, 30,
4082 22,
4083 OPC_CheckChild1Type, MVT::v4i32,
4084 OPC_MoveChild2,
4085 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4086 OPC_RecordChild0,
4087 OPC_RecordChild1,
4088 OPC_CheckTypeByHwMode0,
4089 OPC_MoveParent,
4090 OPC_CheckPredicate0,
4091 OPC_CheckPredicate1,
4092 OPC_CheckPatternPredicate1,
4093 OPC_CheckComplexPat1, /*#*/3,
4094 OPC_EmitMergeInputChains1_0,
4095 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
4096 3, 30,
4097 22,
4098 OPC_CheckChild1Type, MVT::v2i64,
4099 OPC_MoveChild2,
4100 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4101 OPC_RecordChild0,
4102 OPC_RecordChild1,
4103 OPC_CheckTypeByHwMode0,
4104 OPC_MoveParent,
4105 OPC_CheckPredicate0,
4106 OPC_CheckPredicate1,
4107 OPC_CheckPatternPredicate1,
4108 OPC_CheckComplexPat1, /*#*/3,
4109 OPC_EmitMergeInputChains1_0,
4110 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
4111 3, 30,
4112 23,
4113 OPC_CheckChild1Type, 8|128,1,
4114 OPC_MoveChild2,
4115 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4116 OPC_RecordChild0,
4117 OPC_RecordChild1,
4118 OPC_CheckTypeByHwMode0,
4119 OPC_MoveParent,
4120 OPC_CheckPredicate0,
4121 OPC_CheckPredicate1,
4122 OPC_CheckPatternPredicate1,
4123 OPC_CheckComplexPat1, /*#*/3,
4124 OPC_EmitMergeInputChains1_0,
4125 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
4126 3, 30,
4127 23,
4128 OPC_CheckChild1Type, 26|128,1,
4129 OPC_MoveChild2,
4130 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4131 OPC_RecordChild0,
4132 OPC_RecordChild1,
4133 OPC_CheckTypeByHwMode0,
4134 OPC_MoveParent,
4135 OPC_CheckPredicate0,
4136 OPC_CheckPredicate1,
4137 OPC_CheckPatternPredicate1,
4138 OPC_CheckComplexPat1, /*#*/3,
4139 OPC_EmitMergeInputChains1_0,
4140 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VSTX), 0|OPFL_Chain|OPFL_MemRefs,
4141 3, 30,
4142 22,
4143 OPC_CheckChild1Type, MVT::v32i8,
4144 OPC_MoveChild2,
4145 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4146 OPC_RecordChild0,
4147 OPC_RecordChild1,
4148 OPC_CheckTypeByHwMode0,
4149 OPC_MoveParent,
4150 OPC_CheckPredicate0,
4151 OPC_CheckPredicate1,
4152 OPC_CheckPatternPredicate0,
4153 OPC_CheckComplexPat1, /*#*/3,
4154 OPC_EmitMergeInputChains1_0,
4155 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
4156 3, 30,
4157 22,
4158 OPC_CheckChild1Type, MVT::v16i16,
4159 OPC_MoveChild2,
4160 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4161 OPC_RecordChild0,
4162 OPC_RecordChild1,
4163 OPC_CheckTypeByHwMode0,
4164 OPC_MoveParent,
4165 OPC_CheckPredicate0,
4166 OPC_CheckPredicate1,
4167 OPC_CheckPatternPredicate0,
4168 OPC_CheckComplexPat1, /*#*/3,
4169 OPC_EmitMergeInputChains1_0,
4170 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
4171 3, 30,
4172 22,
4173 OPC_CheckChild1Type, MVT::v8i32,
4174 OPC_MoveChild2,
4175 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4176 OPC_RecordChild0,
4177 OPC_RecordChild1,
4178 OPC_CheckTypeByHwMode0,
4179 OPC_MoveParent,
4180 OPC_CheckPredicate0,
4181 OPC_CheckPredicate1,
4182 OPC_CheckPatternPredicate0,
4183 OPC_CheckComplexPat1, /*#*/3,
4184 OPC_EmitMergeInputChains1_0,
4185 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
4186 3, 30,
4187 22,
4188 OPC_CheckChild1Type, MVT::v4i64,
4189 OPC_MoveChild2,
4190 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4191 OPC_RecordChild0,
4192 OPC_RecordChild1,
4193 OPC_CheckTypeByHwMode0,
4194 OPC_MoveParent,
4195 OPC_CheckPredicate0,
4196 OPC_CheckPredicate1,
4197 OPC_CheckPatternPredicate0,
4198 OPC_CheckComplexPat1, /*#*/3,
4199 OPC_EmitMergeInputChains1_0,
4200 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
4201 3, 30,
4202 23,
4203 OPC_CheckChild1Type, 12|128,1,
4204 OPC_MoveChild2,
4205 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4206 OPC_RecordChild0,
4207 OPC_RecordChild1,
4208 OPC_CheckTypeByHwMode0,
4209 OPC_MoveParent,
4210 OPC_CheckPredicate0,
4211 OPC_CheckPredicate1,
4212 OPC_CheckPatternPredicate0,
4213 OPC_CheckComplexPat1, /*#*/3,
4214 OPC_EmitMergeInputChains1_0,
4215 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
4216 3, 30,
4217 23,
4218 OPC_CheckChild1Type, 28|128,1,
4219 OPC_MoveChild2,
4220 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4221 OPC_RecordChild0,
4222 OPC_RecordChild1,
4223 OPC_CheckTypeByHwMode0,
4224 OPC_MoveParent,
4225 OPC_CheckPredicate0,
4226 OPC_CheckPredicate1,
4227 OPC_CheckPatternPredicate0,
4228 OPC_CheckComplexPat1, /*#*/3,
4229 OPC_EmitMergeInputChains1_0,
4230 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVSTX), 0|OPFL_Chain|OPFL_MemRefs,
4231 3, 30,
4232 33,
4233 OPC_CheckChild1TypeByHwMode0,
4234 OPC_RecordChild2,
4235 OPC_CheckPredicate0,
4236 OPC_CheckPredicate, 12,
4237 OPC_Scope, 12,
4238 OPC_CheckPredicate5,
4239 OPC_CheckComplexPat0, /*#*/2,
4240 OPC_EmitMergeInputChains1_0,
4241 OPC_EmitIntegerByHwMode0, 0,
4242 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
4243 3, 78,
4244 12,
4245 OPC_CheckPredicate6,
4246 OPC_CheckComplexPat0, /*#*/2,
4247 OPC_EmitMergeInputChains1_0,
4248 OPC_EmitIntegerByHwMode0, 0,
4249 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
4250 3, 78,
4251 0,
4252 16,
4253 OPC_CheckChild1TypeI32,
4254 OPC_RecordChild2,
4255 OPC_CheckPredicate0,
4256 OPC_CheckPredicate1,
4257 OPC_CheckPatternPredicate5,
4258 OPC_CheckComplexPat0, /*#*/2,
4259 OPC_EmitMergeInputChains1_0,
4260 OPC_EmitIntegerByHwMode0, 0,
4261 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
4262 3, 78,
4263 36,
4264 OPC_CheckChild1TypeByHwMode, 1,
4265 OPC_RecordChild2,
4266 OPC_CheckPredicate0,
4267 OPC_Scope, 15,
4268 OPC_CheckPredicate, 12,
4269 OPC_CheckPredicate3,
4270 OPC_CheckPatternPredicate2,
4271 OPC_CheckComplexPat0, /*#*/2,
4272 OPC_EmitMergeInputChains1_0,
4273 OPC_EmitIntegerByHwMode0, 0,
4274 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
4275 3, 78,
4276 13,
4277 OPC_CheckPredicate1,
4278 OPC_CheckPatternPredicate2,
4279 OPC_CheckComplexPat0, /*#*/2,
4280 OPC_EmitMergeInputChains1_0,
4281 OPC_EmitIntegerByHwMode0, 0,
4282 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
4283 3, 78,
4284 0,
4285 17,
4286 OPC_CheckChild1Type, MVT::f32,
4287 OPC_RecordChild2,
4288 OPC_CheckPredicate0,
4289 OPC_CheckPredicate1,
4290 OPC_CheckPatternPredicate3,
4291 OPC_CheckComplexPat0, /*#*/2,
4292 OPC_EmitMergeInputChains1_0,
4293 OPC_EmitIntegerByHwMode0, 0,
4294 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_S), 0|OPFL_Chain|OPFL_MemRefs,
4295 3, 78,
4296 17,
4297 OPC_CheckChild1Type, MVT::f64,
4298 OPC_RecordChild2,
4299 OPC_CheckPredicate0,
4300 OPC_CheckPredicate1,
4301 OPC_CheckPatternPredicate4,
4302 OPC_CheckComplexPat0, /*#*/2,
4303 OPC_EmitMergeInputChains1_0,
4304 OPC_EmitIntegerByHwMode0, 0,
4305 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::FST_D), 0|OPFL_Chain|OPFL_MemRefs,
4306 3, 78,
4307 17,
4308 OPC_CheckChild1Type, MVT::v16i8,
4309 OPC_RecordChild2,
4310 OPC_CheckPredicate0,
4311 OPC_CheckPredicate1,
4312 OPC_CheckPatternPredicate1,
4313 OPC_CheckComplexPat0, /*#*/2,
4314 OPC_EmitMergeInputChains1_0,
4315 OPC_EmitIntegerByHwMode0, 0,
4316 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
4317 3, 78,
4318 17,
4319 OPC_CheckChild1Type, MVT::v8i16,
4320 OPC_RecordChild2,
4321 OPC_CheckPredicate0,
4322 OPC_CheckPredicate1,
4323 OPC_CheckPatternPredicate1,
4324 OPC_CheckComplexPat0, /*#*/2,
4325 OPC_EmitMergeInputChains1_0,
4326 OPC_EmitIntegerByHwMode0, 0,
4327 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
4328 3, 78,
4329 17,
4330 OPC_CheckChild1Type, MVT::v4i32,
4331 OPC_RecordChild2,
4332 OPC_CheckPredicate0,
4333 OPC_CheckPredicate1,
4334 OPC_CheckPatternPredicate1,
4335 OPC_CheckComplexPat0, /*#*/2,
4336 OPC_EmitMergeInputChains1_0,
4337 OPC_EmitIntegerByHwMode0, 0,
4338 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
4339 3, 78,
4340 17,
4341 OPC_CheckChild1Type, MVT::v2i64,
4342 OPC_RecordChild2,
4343 OPC_CheckPredicate0,
4344 OPC_CheckPredicate1,
4345 OPC_CheckPatternPredicate1,
4346 OPC_CheckComplexPat0, /*#*/2,
4347 OPC_EmitMergeInputChains1_0,
4348 OPC_EmitIntegerByHwMode0, 0,
4349 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
4350 3, 78,
4351 18,
4352 OPC_CheckChild1Type, 8|128,1,
4353 OPC_RecordChild2,
4354 OPC_CheckPredicate0,
4355 OPC_CheckPredicate1,
4356 OPC_CheckPatternPredicate1,
4357 OPC_CheckComplexPat0, /*#*/2,
4358 OPC_EmitMergeInputChains1_0,
4359 OPC_EmitIntegerByHwMode0, 0,
4360 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
4361 3, 78,
4362 18,
4363 OPC_CheckChild1Type, 26|128,1,
4364 OPC_RecordChild2,
4365 OPC_CheckPredicate0,
4366 OPC_CheckPredicate1,
4367 OPC_CheckPatternPredicate1,
4368 OPC_CheckComplexPat0, /*#*/2,
4369 OPC_EmitMergeInputChains1_0,
4370 OPC_EmitIntegerByHwMode0, 0,
4371 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::VST), 0|OPFL_Chain|OPFL_MemRefs,
4372 3, 78,
4373 17,
4374 OPC_CheckChild1Type, MVT::v32i8,
4375 OPC_RecordChild2,
4376 OPC_CheckPredicate0,
4377 OPC_CheckPredicate1,
4378 OPC_CheckPatternPredicate0,
4379 OPC_CheckComplexPat0, /*#*/2,
4380 OPC_EmitMergeInputChains1_0,
4381 OPC_EmitIntegerByHwMode0, 0,
4382 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
4383 3, 78,
4384 17,
4385 OPC_CheckChild1Type, MVT::v16i16,
4386 OPC_RecordChild2,
4387 OPC_CheckPredicate0,
4388 OPC_CheckPredicate1,
4389 OPC_CheckPatternPredicate0,
4390 OPC_CheckComplexPat0, /*#*/2,
4391 OPC_EmitMergeInputChains1_0,
4392 OPC_EmitIntegerByHwMode0, 0,
4393 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
4394 3, 78,
4395 17,
4396 OPC_CheckChild1Type, MVT::v8i32,
4397 OPC_RecordChild2,
4398 OPC_CheckPredicate0,
4399 OPC_CheckPredicate1,
4400 OPC_CheckPatternPredicate0,
4401 OPC_CheckComplexPat0, /*#*/2,
4402 OPC_EmitMergeInputChains1_0,
4403 OPC_EmitIntegerByHwMode0, 0,
4404 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
4405 3, 78,
4406 17,
4407 OPC_CheckChild1Type, MVT::v4i64,
4408 OPC_RecordChild2,
4409 OPC_CheckPredicate0,
4410 OPC_CheckPredicate1,
4411 OPC_CheckPatternPredicate0,
4412 OPC_CheckComplexPat0, /*#*/2,
4413 OPC_EmitMergeInputChains1_0,
4414 OPC_EmitIntegerByHwMode0, 0,
4415 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
4416 3, 78,
4417 18,
4418 OPC_CheckChild1Type, 12|128,1,
4419 OPC_RecordChild2,
4420 OPC_CheckPredicate0,
4421 OPC_CheckPredicate1,
4422 OPC_CheckPatternPredicate0,
4423 OPC_CheckComplexPat0, /*#*/2,
4424 OPC_EmitMergeInputChains1_0,
4425 OPC_EmitIntegerByHwMode0, 0,
4426 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
4427 3, 78,
4428 18,
4429 OPC_CheckChild1Type, 28|128,1,
4430 OPC_RecordChild2,
4431 OPC_CheckPredicate0,
4432 OPC_CheckPredicate1,
4433 OPC_CheckPatternPredicate0,
4434 OPC_CheckComplexPat0, /*#*/2,
4435 OPC_EmitMergeInputChains1_0,
4436 OPC_EmitIntegerByHwMode0, 0,
4437 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::XVST), 0|OPFL_Chain|OPFL_MemRefs,
4438 3, 78,
4439 0,
4440 0,
4441 6|128,1, TARGET_VAL(LoongArchISD::BSTRPICK),
4442 OPC_Scope, 74,
4443 OPC_MoveChild0,
4444 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
4445 OPC_Scope, 33,
4446 OPC_RecordChild0,
4447 OPC_MoveChild1,
4448 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4449 OPC_RecordChild0,
4450 OPC_RecordChild1,
4451 OPC_MoveChild1,
4452 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4453 OPC_CheckPredicate, 40,
4454 OPC_CheckTypeByHwMode0,
4455 OPC_MoveParent,
4456 OPC_MoveParent,
4457 OPC_MoveParent,
4458 OPC_CheckChild1Integer, 31,
4459 OPC_CheckChild1TypeI64,
4460 OPC_CheckChild2Integer, 0,
4461 OPC_CheckTypeByHwMode0,
4462 OPC_CheckPatternPredicate2,
4463 OPC_EmitConvertToTarget2,
4464 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_WU), 0,
4465 1, 0, 3, 36,
4466 33,
4467 OPC_MoveChild0,
4468 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4469 OPC_RecordChild0,
4470 OPC_RecordChild1,
4471 OPC_MoveChild1,
4472 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4473 OPC_CheckPredicate, 40,
4474 OPC_CheckTypeByHwMode0,
4475 OPC_MoveParent,
4476 OPC_MoveParent,
4477 OPC_RecordChild1,
4478 OPC_MoveParent,
4479 OPC_CheckChild1Integer, 31,
4480 OPC_CheckChild1TypeI64,
4481 OPC_CheckChild2Integer, 0,
4482 OPC_CheckTypeByHwMode0,
4483 OPC_CheckPatternPredicate2,
4484 OPC_EmitConvertToTarget1,
4485 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_WU), 0,
4486 1, 0, 3, 48,
4487 0,
4488 56,
4489 OPC_RecordChild0,
4490 OPC_RecordChild1,
4491 OPC_MoveChild1,
4492 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4493 OPC_Scope, 23,
4494 OPC_CheckPredicate, 20,
4495 OPC_CheckTypeByHwMode0,
4496 OPC_MoveSibling2,
4497 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4498 OPC_RecordNode,
4499 OPC_CheckPredicate, 20,
4500 OPC_MoveParent,
4501 OPC_CheckTypeByHwMode0,
4502 OPC_CheckPatternPredicate6,
4503 OPC_EmitConvertToTarget1,
4504 OPC_EmitConvertToTarget2,
4505 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRPICK_W), 0,
4506 1, 0, 3, 75,
4507 23,
4508 OPC_CheckPredicate, 26,
4509 OPC_CheckTypeByHwMode0,
4510 OPC_MoveSibling2,
4511 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4512 OPC_RecordNode,
4513 OPC_CheckPredicate, 26,
4514 OPC_MoveParent,
4515 OPC_CheckTypeByHwMode0,
4516 OPC_CheckPatternPredicate2,
4517 OPC_EmitConvertToTarget1,
4518 OPC_EmitConvertToTarget2,
4519 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRPICK_D), 0,
4520 1, 0, 3, 75,
4521 0,
4522 0,
4523 2|128,27, TARGET_VAL(ISD::OR),
4524 OPC_Scope, 51|128,4,
4525 OPC_MoveChild0,
4526 OPC_SwitchOpcode , 20|128,2, TARGET_VAL(ISD::SHL),
4527 OPC_RecordChild0,
4528 OPC_Scope, 54,
4529 OPC_CheckChild1Integer, 8,
4530 OPC_Scope, 24,
4531 OPC_CheckChild1TypeByHwMode, 3,
4532 OPC_MoveSibling1,
4533 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4534 OPC_RecordChild0,
4535 OPC_CheckChild1Integer, 24,
4536 OPC_CheckChild1TypeByHwMode, 3,
4537 OPC_MoveParent,
4538 OPC_CheckTypeByHwMode0,
4539 OPC_CheckPatternPredicate6,
4540 OPC_EmitIntegerByHwMode0, 1,
4541 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4542 1, 0, 3, 21,
4543 24,
4544 OPC_CheckChild1TypeByHwMode, 2,
4545 OPC_MoveSibling1,
4546 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4547 OPC_RecordChild0,
4548 OPC_CheckChild1Integer, 56,
4549 OPC_CheckChild1TypeByHwMode, 2,
4550 OPC_MoveParent,
4551 OPC_CheckTypeByHwMode0,
4552 OPC_CheckPatternPredicate2,
4553 OPC_EmitIntegerByHwMode0, 1,
4554 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4555 1, 0, 3, 21,
4556 0,
4557 54,
4558 OPC_CheckChild1Integer, 16,
4559 OPC_Scope, 24,
4560 OPC_CheckChild1TypeByHwMode, 3,
4561 OPC_MoveSibling1,
4562 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4563 OPC_RecordChild0,
4564 OPC_CheckChild1Integer, 16,
4565 OPC_CheckChild1TypeByHwMode, 3,
4566 OPC_MoveParent,
4567 OPC_CheckTypeByHwMode0,
4568 OPC_CheckPatternPredicate6,
4569 OPC_EmitIntegerByHwMode0, 2,
4570 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4571 1, 0, 3, 21,
4572 24,
4573 OPC_CheckChild1TypeByHwMode, 2,
4574 OPC_MoveSibling1,
4575 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4576 OPC_RecordChild0,
4577 OPC_CheckChild1Integer, 48,
4578 OPC_CheckChild1TypeByHwMode, 2,
4579 OPC_MoveParent,
4580 OPC_CheckTypeByHwMode0,
4581 OPC_CheckPatternPredicate2,
4582 OPC_EmitIntegerByHwMode0, 2,
4583 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4584 1, 0, 3, 21,
4585 0,
4586 54,
4587 OPC_CheckChild1Integer, 24,
4588 OPC_Scope, 24,
4589 OPC_CheckChild1TypeByHwMode, 3,
4590 OPC_MoveSibling1,
4591 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4592 OPC_RecordChild0,
4593 OPC_CheckChild1Integer, 8,
4594 OPC_CheckChild1TypeByHwMode, 3,
4595 OPC_MoveParent,
4596 OPC_CheckTypeByHwMode0,
4597 OPC_CheckPatternPredicate6,
4598 OPC_EmitIntegerByHwMode0, 3,
4599 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4600 1, 0, 3, 21,
4601 24,
4602 OPC_CheckChild1TypeByHwMode, 2,
4603 OPC_MoveSibling1,
4604 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4605 OPC_RecordChild0,
4606 OPC_CheckChild1Integer, 40,
4607 OPC_CheckChild1TypeByHwMode, 2,
4608 OPC_MoveParent,
4609 OPC_CheckTypeByHwMode0,
4610 OPC_CheckPatternPredicate2,
4611 OPC_EmitIntegerByHwMode0, 3,
4612 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4613 1, 0, 3, 21,
4614 0,
4615 26,
4616 OPC_CheckChild1Integer, 32,
4617 OPC_CheckChild1TypeByHwMode, 2,
4618 OPC_MoveSibling1,
4619 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4620 OPC_RecordChild0,
4621 OPC_CheckChild1Integer, 32,
4622 OPC_CheckChild1TypeByHwMode, 2,
4623 OPC_MoveParent,
4624 OPC_CheckTypeByHwMode0,
4625 OPC_CheckPatternPredicate2,
4626 OPC_EmitIntegerByHwMode0, 4,
4627 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4628 1, 0, 3, 21,
4629 26,
4630 OPC_CheckChild1Integer, 40,
4631 OPC_CheckChild1TypeByHwMode, 2,
4632 OPC_MoveSibling1,
4633 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4634 OPC_RecordChild0,
4635 OPC_CheckChild1Integer, 24,
4636 OPC_CheckChild1TypeByHwMode, 2,
4637 OPC_MoveParent,
4638 OPC_CheckTypeByHwMode0,
4639 OPC_CheckPatternPredicate2,
4640 OPC_EmitIntegerByHwMode0, 5,
4641 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4642 1, 0, 3, 21,
4643 26,
4644 OPC_CheckChild1Integer, 48,
4645 OPC_CheckChild1TypeByHwMode, 2,
4646 OPC_MoveSibling1,
4647 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4648 OPC_RecordChild0,
4649 OPC_CheckChild1Integer, 16,
4650 OPC_CheckChild1TypeByHwMode, 2,
4651 OPC_MoveParent,
4652 OPC_CheckTypeByHwMode0,
4653 OPC_CheckPatternPredicate2,
4654 OPC_EmitIntegerByHwMode0, 6,
4655 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4656 1, 0, 3, 21,
4657 26,
4658 OPC_CheckChild1Integer, 56,
4659 OPC_CheckChild1TypeByHwMode, 2,
4660 OPC_MoveSibling1,
4661 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4662 OPC_RecordChild0,
4663 OPC_CheckChild1Integer, 8,
4664 OPC_CheckChild1TypeByHwMode, 2,
4665 OPC_MoveParent,
4666 OPC_CheckTypeByHwMode0,
4667 OPC_CheckPatternPredicate2,
4668 OPC_EmitIntegerByHwMode0, 7,
4669 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4670 1, 0, 3, 21,
4671 0,
4672 20|128,2, TARGET_VAL(ISD::SRL),
4673 OPC_RecordChild0,
4674 OPC_Scope, 54,
4675 OPC_CheckChild1Integer, 24,
4676 OPC_Scope, 24,
4677 OPC_CheckChild1TypeByHwMode, 3,
4678 OPC_MoveSibling1,
4679 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4680 OPC_RecordChild0,
4681 OPC_CheckChild1Integer, 8,
4682 OPC_CheckChild1TypeByHwMode, 3,
4683 OPC_MoveParent,
4684 OPC_CheckTypeByHwMode0,
4685 OPC_CheckPatternPredicate6,
4686 OPC_EmitIntegerByHwMode0, 1,
4687 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4688 1, 0, 3, 24,
4689 24,
4690 OPC_CheckChild1TypeByHwMode, 2,
4691 OPC_MoveSibling1,
4692 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4693 OPC_RecordChild0,
4694 OPC_CheckChild1Integer, 40,
4695 OPC_CheckChild1TypeByHwMode, 2,
4696 OPC_MoveParent,
4697 OPC_CheckTypeByHwMode0,
4698 OPC_CheckPatternPredicate2,
4699 OPC_EmitIntegerByHwMode0, 5,
4700 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4701 1, 0, 3, 24,
4702 0,
4703 54,
4704 OPC_CheckChild1Integer, 16,
4705 OPC_Scope, 24,
4706 OPC_CheckChild1TypeByHwMode, 3,
4707 OPC_MoveSibling1,
4708 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4709 OPC_RecordChild0,
4710 OPC_CheckChild1Integer, 16,
4711 OPC_CheckChild1TypeByHwMode, 3,
4712 OPC_MoveParent,
4713 OPC_CheckTypeByHwMode0,
4714 OPC_CheckPatternPredicate6,
4715 OPC_EmitIntegerByHwMode0, 2,
4716 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4717 1, 0, 3, 24,
4718 24,
4719 OPC_CheckChild1TypeByHwMode, 2,
4720 OPC_MoveSibling1,
4721 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4722 OPC_RecordChild0,
4723 OPC_CheckChild1Integer, 48,
4724 OPC_CheckChild1TypeByHwMode, 2,
4725 OPC_MoveParent,
4726 OPC_CheckTypeByHwMode0,
4727 OPC_CheckPatternPredicate2,
4728 OPC_EmitIntegerByHwMode0, 6,
4729 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4730 1, 0, 3, 24,
4731 0,
4732 54,
4733 OPC_CheckChild1Integer, 8,
4734 OPC_Scope, 24,
4735 OPC_CheckChild1TypeByHwMode, 3,
4736 OPC_MoveSibling1,
4737 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4738 OPC_RecordChild0,
4739 OPC_CheckChild1Integer, 24,
4740 OPC_CheckChild1TypeByHwMode, 3,
4741 OPC_MoveParent,
4742 OPC_CheckTypeByHwMode0,
4743 OPC_CheckPatternPredicate6,
4744 OPC_EmitIntegerByHwMode0, 3,
4745 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4746 1, 0, 3, 24,
4747 24,
4748 OPC_CheckChild1TypeByHwMode, 2,
4749 OPC_MoveSibling1,
4750 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4751 OPC_RecordChild0,
4752 OPC_CheckChild1Integer, 56,
4753 OPC_CheckChild1TypeByHwMode, 2,
4754 OPC_MoveParent,
4755 OPC_CheckTypeByHwMode0,
4756 OPC_CheckPatternPredicate2,
4757 OPC_EmitIntegerByHwMode0, 7,
4758 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4759 1, 0, 3, 24,
4760 0,
4761 26,
4762 OPC_CheckChild1Integer, 56,
4763 OPC_CheckChild1TypeByHwMode, 2,
4764 OPC_MoveSibling1,
4765 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4766 OPC_RecordChild0,
4767 OPC_CheckChild1Integer, 8,
4768 OPC_CheckChild1TypeByHwMode, 2,
4769 OPC_MoveParent,
4770 OPC_CheckTypeByHwMode0,
4771 OPC_CheckPatternPredicate2,
4772 OPC_EmitIntegerByHwMode0, 1,
4773 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4774 1, 0, 3, 24,
4775 26,
4776 OPC_CheckChild1Integer, 48,
4777 OPC_CheckChild1TypeByHwMode, 2,
4778 OPC_MoveSibling1,
4779 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4780 OPC_RecordChild0,
4781 OPC_CheckChild1Integer, 16,
4782 OPC_CheckChild1TypeByHwMode, 2,
4783 OPC_MoveParent,
4784 OPC_CheckTypeByHwMode0,
4785 OPC_CheckPatternPredicate2,
4786 OPC_EmitIntegerByHwMode0, 2,
4787 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4788 1, 0, 3, 24,
4789 26,
4790 OPC_CheckChild1Integer, 40,
4791 OPC_CheckChild1TypeByHwMode, 2,
4792 OPC_MoveSibling1,
4793 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4794 OPC_RecordChild0,
4795 OPC_CheckChild1Integer, 24,
4796 OPC_CheckChild1TypeByHwMode, 2,
4797 OPC_MoveParent,
4798 OPC_CheckTypeByHwMode0,
4799 OPC_CheckPatternPredicate2,
4800 OPC_EmitIntegerByHwMode0, 3,
4801 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4802 1, 0, 3, 24,
4803 26,
4804 OPC_CheckChild1Integer, 32,
4805 OPC_CheckChild1TypeByHwMode, 2,
4806 OPC_MoveSibling1,
4807 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4808 OPC_RecordChild0,
4809 OPC_CheckChild1Integer, 32,
4810 OPC_CheckChild1TypeByHwMode, 2,
4811 OPC_MoveParent,
4812 OPC_CheckTypeByHwMode0,
4813 OPC_CheckPatternPredicate2,
4814 OPC_EmitIntegerByHwMode0, 4,
4815 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4816 1, 0, 3, 24,
4817 0,
4818 0,
4819 59,
4820 OPC_RecordChild0,
4821 OPC_Scope, 37,
4822 OPC_RecordChild1,
4823 OPC_MoveChild1,
4824 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4825 OPC_CheckPredicate4,
4826 OPC_MoveParent,
4827 OPC_CheckPredicate2,
4828 OPC_Scope, 11,
4829 OPC_CheckTypeI32,
4830 OPC_CheckPatternPredicate5,
4831 OPC_CheckComplexPat0, /*#*/0,
4832 OPC_EmitConvertToTarget1,
4833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
4834 MVT::i32, 2, 49,
4835 14,
4836 OPC_CheckTypeByHwMode, 1,
4837 OPC_CheckPatternPredicate2,
4838 OPC_CheckComplexPat0, /*#*/0,
4839 OPC_EmitConvertToTarget1,
4840 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
4841 1, 1, 2, 49,
4842 0,
4843 17,
4844 OPC_MoveChild1,
4845 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
4846 OPC_RecordChild0,
4847 OPC_CheckChild1Integer, 127,
4848 OPC_MoveParent,
4849 OPC_CheckTypeByHwMode0,
4850 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ORN), 0,
4851 1, 0, 2, 9,
4852 0,
4853 18,
4854 OPC_MoveChild0,
4855 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
4856 OPC_RecordChild0,
4857 OPC_CheckChild1Integer, 127,
4858 OPC_MoveParent,
4859 OPC_RecordChild1,
4860 OPC_CheckTypeByHwMode0,
4861 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ORN), 0,
4862 1, 0, 2, 3,
4863 88|128,1,
4864 OPC_RecordChild0,
4865 OPC_Scope, 31,
4866 OPC_RecordChild1,
4867 OPC_Scope, 17,
4868 OPC_MoveChild1,
4869 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4870 OPC_CheckPredicate, 48,
4871 OPC_MoveParent,
4872 OPC_CheckTypeByHwMode0,
4873 OPC_EmitConvertToTarget1,
4874 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ORI), 0,
4875 1, 0, 2, 22,
4876 9,
4877 OPC_CheckTypeByHwMode0,
4878 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::OR), 0,
4879 1, 0, 2, 9,
4880 0,
4881 51|128,1,
4882 OPC_MoveChild1,
4883 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4884 OPC_MoveChild0,
4885 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4886 OPC_CheckPredicate, 11,
4887 OPC_MoveSibling1,
4888 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4889 OPC_Scope, 11|128,1,
4890 OPC_RecordChild0,
4891 OPC_MoveChild1,
4892 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4893 OPC_Scope, 16,
4894 OPC_CheckPredicate, 13,
4895 OPC_MoveParent,
4896 OPC_CheckType, MVT::v16i8,
4897 OPC_MoveParent,
4898 OPC_MoveParent,
4899 OPC_CheckType, MVT::v16i8,
4900 OPC_CheckPatternPredicate1,
4901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
4902 MVT::v16i8, 2, 9,
4903 16,
4904 OPC_CheckPredicate, 14,
4905 OPC_MoveParent,
4906 OPC_CheckType, MVT::v8i16,
4907 OPC_MoveParent,
4908 OPC_MoveParent,
4909 OPC_CheckType, MVT::v8i16,
4910 OPC_CheckPatternPredicate1,
4911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
4912 MVT::v8i16, 2, 9,
4913 16,
4914 OPC_CheckPredicate, 15,
4915 OPC_MoveParent,
4916 OPC_CheckType, MVT::v4i32,
4917 OPC_MoveParent,
4918 OPC_MoveParent,
4919 OPC_CheckType, MVT::v4i32,
4920 OPC_CheckPatternPredicate1,
4921 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
4922 MVT::v4i32, 2, 9,
4923 14,
4924 OPC_CheckPredicate, 16,
4925 OPC_MoveParent,
4926 OPC_MoveParent,
4927 OPC_MoveParent,
4928 OPC_CheckType, MVT::v2i64,
4929 OPC_CheckPatternPredicate1,
4930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
4931 MVT::v2i64, 2, 9,
4932 14,
4933 OPC_CheckPredicate, 13,
4934 OPC_MoveParent,
4935 OPC_MoveParent,
4936 OPC_MoveParent,
4937 OPC_CheckType, MVT::v32i8,
4938 OPC_CheckPatternPredicate0,
4939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
4940 MVT::v32i8, 2, 9,
4941 16,
4942 OPC_CheckPredicate, 14,
4943 OPC_MoveParent,
4944 OPC_CheckType, MVT::v16i16,
4945 OPC_MoveParent,
4946 OPC_MoveParent,
4947 OPC_CheckType, MVT::v16i16,
4948 OPC_CheckPatternPredicate0,
4949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
4950 MVT::v16i16, 2, 9,
4951 16,
4952 OPC_CheckPredicate, 15,
4953 OPC_MoveParent,
4954 OPC_CheckType, MVT::v8i32,
4955 OPC_MoveParent,
4956 OPC_MoveParent,
4957 OPC_CheckType, MVT::v8i32,
4958 OPC_CheckPatternPredicate0,
4959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
4960 MVT::v8i32, 2, 9,
4961 16,
4962 OPC_CheckPredicate, 16,
4963 OPC_MoveParent,
4964 OPC_CheckType, MVT::v4i64,
4965 OPC_MoveParent,
4966 OPC_MoveParent,
4967 OPC_CheckType, MVT::v4i64,
4968 OPC_CheckPatternPredicate0,
4969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
4970 MVT::v4i64, 2, 9,
4971 0,
4972 21,
4973 OPC_MoveChild0,
4974 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4975 OPC_CheckPredicate, 13,
4976 OPC_MoveParent,
4977 OPC_RecordChild1,
4978 OPC_CheckType, MVT::v16i8,
4979 OPC_MoveParent,
4980 OPC_MoveParent,
4981 OPC_CheckType, MVT::v16i8,
4982 OPC_CheckPatternPredicate1,
4983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
4984 MVT::v16i8, 2, 9,
4985 0,
4986 0,
4987 62,
4988 OPC_MoveChild0,
4989 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4990 OPC_MoveChild0,
4991 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4992 OPC_CheckPredicate, 11,
4993 OPC_MoveSibling1,
4994 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
4995 OPC_Scope, 22,
4996 OPC_RecordChild0,
4997 OPC_MoveChild1,
4998 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
4999 OPC_CheckPredicate, 13,
5000 OPC_MoveParent,
5001 OPC_CheckType, MVT::v16i8,
5002 OPC_MoveParent,
5003 OPC_MoveParent,
5004 OPC_RecordChild1,
5005 OPC_CheckType, MVT::v16i8,
5006 OPC_CheckPatternPredicate1,
5007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
5008 MVT::v16i8, 2, 3,
5009 22,
5010 OPC_MoveChild0,
5011 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5012 OPC_CheckPredicate, 13,
5013 OPC_MoveParent,
5014 OPC_RecordChild1,
5015 OPC_CheckType, MVT::v16i8,
5016 OPC_MoveParent,
5017 OPC_MoveParent,
5018 OPC_RecordChild1,
5019 OPC_CheckType, MVT::v16i8,
5020 OPC_CheckPatternPredicate1,
5021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
5022 MVT::v16i8, 2, 3,
5023 0,
5024 36,
5025 OPC_RecordChild0,
5026 OPC_MoveChild1,
5027 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5028 OPC_MoveChild0,
5029 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5030 OPC_CheckPredicate, 11,
5031 OPC_MoveSibling1,
5032 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5033 OPC_MoveChild0,
5034 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5035 OPC_CheckPredicate, 14,
5036 OPC_MoveParent,
5037 OPC_RecordChild1,
5038 OPC_CheckType, MVT::v8i16,
5039 OPC_MoveParent,
5040 OPC_MoveParent,
5041 OPC_CheckType, MVT::v8i16,
5042 OPC_CheckPatternPredicate1,
5043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
5044 MVT::v8i16, 2, 9,
5045 62,
5046 OPC_MoveChild0,
5047 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5048 OPC_MoveChild0,
5049 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5050 OPC_CheckPredicate, 11,
5051 OPC_MoveSibling1,
5052 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5053 OPC_Scope, 22,
5054 OPC_RecordChild0,
5055 OPC_MoveChild1,
5056 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5057 OPC_CheckPredicate, 14,
5058 OPC_MoveParent,
5059 OPC_CheckType, MVT::v8i16,
5060 OPC_MoveParent,
5061 OPC_MoveParent,
5062 OPC_RecordChild1,
5063 OPC_CheckType, MVT::v8i16,
5064 OPC_CheckPatternPredicate1,
5065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
5066 MVT::v8i16, 2, 3,
5067 22,
5068 OPC_MoveChild0,
5069 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5070 OPC_CheckPredicate, 14,
5071 OPC_MoveParent,
5072 OPC_RecordChild1,
5073 OPC_CheckType, MVT::v8i16,
5074 OPC_MoveParent,
5075 OPC_MoveParent,
5076 OPC_RecordChild1,
5077 OPC_CheckType, MVT::v8i16,
5078 OPC_CheckPatternPredicate1,
5079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
5080 MVT::v8i16, 2, 3,
5081 0,
5082 36,
5083 OPC_RecordChild0,
5084 OPC_MoveChild1,
5085 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5086 OPC_MoveChild0,
5087 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5088 OPC_CheckPredicate, 11,
5089 OPC_MoveSibling1,
5090 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5091 OPC_MoveChild0,
5092 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5093 OPC_CheckPredicate, 15,
5094 OPC_MoveParent,
5095 OPC_RecordChild1,
5096 OPC_CheckType, MVT::v4i32,
5097 OPC_MoveParent,
5098 OPC_MoveParent,
5099 OPC_CheckType, MVT::v4i32,
5100 OPC_CheckPatternPredicate1,
5101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
5102 MVT::v4i32, 2, 9,
5103 62,
5104 OPC_MoveChild0,
5105 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5106 OPC_MoveChild0,
5107 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5108 OPC_CheckPredicate, 11,
5109 OPC_MoveSibling1,
5110 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5111 OPC_Scope, 22,
5112 OPC_RecordChild0,
5113 OPC_MoveChild1,
5114 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5115 OPC_CheckPredicate, 15,
5116 OPC_MoveParent,
5117 OPC_CheckType, MVT::v4i32,
5118 OPC_MoveParent,
5119 OPC_MoveParent,
5120 OPC_RecordChild1,
5121 OPC_CheckType, MVT::v4i32,
5122 OPC_CheckPatternPredicate1,
5123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
5124 MVT::v4i32, 2, 3,
5125 22,
5126 OPC_MoveChild0,
5127 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5128 OPC_CheckPredicate, 15,
5129 OPC_MoveParent,
5130 OPC_RecordChild1,
5131 OPC_CheckType, MVT::v4i32,
5132 OPC_MoveParent,
5133 OPC_MoveParent,
5134 OPC_RecordChild1,
5135 OPC_CheckType, MVT::v4i32,
5136 OPC_CheckPatternPredicate1,
5137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
5138 MVT::v4i32, 2, 3,
5139 0,
5140 34,
5141 OPC_RecordChild0,
5142 OPC_MoveChild1,
5143 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5144 OPC_MoveChild0,
5145 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5146 OPC_CheckPredicate, 11,
5147 OPC_MoveSibling1,
5148 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5149 OPC_MoveChild0,
5150 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5151 OPC_CheckPredicate, 16,
5152 OPC_MoveParent,
5153 OPC_RecordChild1,
5154 OPC_MoveParent,
5155 OPC_MoveParent,
5156 OPC_CheckType, MVT::v2i64,
5157 OPC_CheckPatternPredicate1,
5158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
5159 MVT::v2i64, 2, 9,
5160 58,
5161 OPC_MoveChild0,
5162 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5163 OPC_MoveChild0,
5164 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5165 OPC_CheckPredicate, 11,
5166 OPC_MoveSibling1,
5167 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5168 OPC_Scope, 20,
5169 OPC_RecordChild0,
5170 OPC_MoveChild1,
5171 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5172 OPC_CheckPredicate, 16,
5173 OPC_MoveParent,
5174 OPC_MoveParent,
5175 OPC_MoveParent,
5176 OPC_RecordChild1,
5177 OPC_CheckType, MVT::v2i64,
5178 OPC_CheckPatternPredicate1,
5179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
5180 MVT::v2i64, 2, 3,
5181 20,
5182 OPC_MoveChild0,
5183 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5184 OPC_CheckPredicate, 16,
5185 OPC_MoveParent,
5186 OPC_RecordChild1,
5187 OPC_MoveParent,
5188 OPC_MoveParent,
5189 OPC_RecordChild1,
5190 OPC_CheckType, MVT::v2i64,
5191 OPC_CheckPatternPredicate1,
5192 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
5193 MVT::v2i64, 2, 3,
5194 0,
5195 34,
5196 OPC_RecordChild0,
5197 OPC_MoveChild1,
5198 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5199 OPC_MoveChild0,
5200 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5201 OPC_CheckPredicate, 11,
5202 OPC_MoveSibling1,
5203 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5204 OPC_MoveChild0,
5205 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5206 OPC_CheckPredicate, 13,
5207 OPC_MoveParent,
5208 OPC_RecordChild1,
5209 OPC_MoveParent,
5210 OPC_MoveParent,
5211 OPC_CheckType, MVT::v32i8,
5212 OPC_CheckPatternPredicate0,
5213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
5214 MVT::v32i8, 2, 9,
5215 58,
5216 OPC_MoveChild0,
5217 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5218 OPC_MoveChild0,
5219 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5220 OPC_CheckPredicate, 11,
5221 OPC_MoveSibling1,
5222 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5223 OPC_Scope, 20,
5224 OPC_RecordChild0,
5225 OPC_MoveChild1,
5226 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5227 OPC_CheckPredicate, 13,
5228 OPC_MoveParent,
5229 OPC_MoveParent,
5230 OPC_MoveParent,
5231 OPC_RecordChild1,
5232 OPC_CheckType, MVT::v32i8,
5233 OPC_CheckPatternPredicate0,
5234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
5235 MVT::v32i8, 2, 3,
5236 20,
5237 OPC_MoveChild0,
5238 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5239 OPC_CheckPredicate, 13,
5240 OPC_MoveParent,
5241 OPC_RecordChild1,
5242 OPC_MoveParent,
5243 OPC_MoveParent,
5244 OPC_RecordChild1,
5245 OPC_CheckType, MVT::v32i8,
5246 OPC_CheckPatternPredicate0,
5247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
5248 MVT::v32i8, 2, 3,
5249 0,
5250 36,
5251 OPC_RecordChild0,
5252 OPC_MoveChild1,
5253 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5254 OPC_MoveChild0,
5255 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5256 OPC_CheckPredicate, 11,
5257 OPC_MoveSibling1,
5258 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5259 OPC_MoveChild0,
5260 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5261 OPC_CheckPredicate, 14,
5262 OPC_MoveParent,
5263 OPC_RecordChild1,
5264 OPC_CheckType, MVT::v16i16,
5265 OPC_MoveParent,
5266 OPC_MoveParent,
5267 OPC_CheckType, MVT::v16i16,
5268 OPC_CheckPatternPredicate0,
5269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
5270 MVT::v16i16, 2, 9,
5271 62,
5272 OPC_MoveChild0,
5273 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5274 OPC_MoveChild0,
5275 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5276 OPC_CheckPredicate, 11,
5277 OPC_MoveSibling1,
5278 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5279 OPC_Scope, 22,
5280 OPC_RecordChild0,
5281 OPC_MoveChild1,
5282 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5283 OPC_CheckPredicate, 14,
5284 OPC_MoveParent,
5285 OPC_CheckType, MVT::v16i16,
5286 OPC_MoveParent,
5287 OPC_MoveParent,
5288 OPC_RecordChild1,
5289 OPC_CheckType, MVT::v16i16,
5290 OPC_CheckPatternPredicate0,
5291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
5292 MVT::v16i16, 2, 3,
5293 22,
5294 OPC_MoveChild0,
5295 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5296 OPC_CheckPredicate, 14,
5297 OPC_MoveParent,
5298 OPC_RecordChild1,
5299 OPC_CheckType, MVT::v16i16,
5300 OPC_MoveParent,
5301 OPC_MoveParent,
5302 OPC_RecordChild1,
5303 OPC_CheckType, MVT::v16i16,
5304 OPC_CheckPatternPredicate0,
5305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
5306 MVT::v16i16, 2, 3,
5307 0,
5308 36,
5309 OPC_RecordChild0,
5310 OPC_MoveChild1,
5311 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5312 OPC_MoveChild0,
5313 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5314 OPC_CheckPredicate, 11,
5315 OPC_MoveSibling1,
5316 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5317 OPC_MoveChild0,
5318 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5319 OPC_CheckPredicate, 15,
5320 OPC_MoveParent,
5321 OPC_RecordChild1,
5322 OPC_CheckType, MVT::v8i32,
5323 OPC_MoveParent,
5324 OPC_MoveParent,
5325 OPC_CheckType, MVT::v8i32,
5326 OPC_CheckPatternPredicate0,
5327 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
5328 MVT::v8i32, 2, 9,
5329 62,
5330 OPC_MoveChild0,
5331 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5332 OPC_MoveChild0,
5333 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5334 OPC_CheckPredicate, 11,
5335 OPC_MoveSibling1,
5336 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5337 OPC_Scope, 22,
5338 OPC_RecordChild0,
5339 OPC_MoveChild1,
5340 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5341 OPC_CheckPredicate, 15,
5342 OPC_MoveParent,
5343 OPC_CheckType, MVT::v8i32,
5344 OPC_MoveParent,
5345 OPC_MoveParent,
5346 OPC_RecordChild1,
5347 OPC_CheckType, MVT::v8i32,
5348 OPC_CheckPatternPredicate0,
5349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
5350 MVT::v8i32, 2, 3,
5351 22,
5352 OPC_MoveChild0,
5353 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5354 OPC_CheckPredicate, 15,
5355 OPC_MoveParent,
5356 OPC_RecordChild1,
5357 OPC_CheckType, MVT::v8i32,
5358 OPC_MoveParent,
5359 OPC_MoveParent,
5360 OPC_RecordChild1,
5361 OPC_CheckType, MVT::v8i32,
5362 OPC_CheckPatternPredicate0,
5363 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
5364 MVT::v8i32, 2, 3,
5365 0,
5366 36,
5367 OPC_RecordChild0,
5368 OPC_MoveChild1,
5369 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5370 OPC_MoveChild0,
5371 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5372 OPC_CheckPredicate, 11,
5373 OPC_MoveSibling1,
5374 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5375 OPC_MoveChild0,
5376 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5377 OPC_CheckPredicate, 16,
5378 OPC_MoveParent,
5379 OPC_RecordChild1,
5380 OPC_CheckType, MVT::v4i64,
5381 OPC_MoveParent,
5382 OPC_MoveParent,
5383 OPC_CheckType, MVT::v4i64,
5384 OPC_CheckPatternPredicate0,
5385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
5386 MVT::v4i64, 2, 9,
5387 80|128,1,
5388 OPC_MoveChild0,
5389 OPC_SwitchOpcode , 58, TARGET_VAL(ISD::SHL),
5390 OPC_MoveChild0,
5391 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5392 OPC_CheckPredicate, 11,
5393 OPC_MoveSibling1,
5394 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5395 OPC_Scope, 22,
5396 OPC_RecordChild0,
5397 OPC_MoveChild1,
5398 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5399 OPC_CheckPredicate, 16,
5400 OPC_MoveParent,
5401 OPC_CheckType, MVT::v4i64,
5402 OPC_MoveParent,
5403 OPC_MoveParent,
5404 OPC_RecordChild1,
5405 OPC_CheckType, MVT::v4i64,
5406 OPC_CheckPatternPredicate0,
5407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
5408 MVT::v4i64, 2, 3,
5409 22,
5410 OPC_MoveChild0,
5411 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5412 OPC_CheckPredicate, 16,
5413 OPC_MoveParent,
5414 OPC_RecordChild1,
5415 OPC_CheckType, MVT::v4i64,
5416 OPC_MoveParent,
5417 OPC_MoveParent,
5418 OPC_RecordChild1,
5419 OPC_CheckType, MVT::v4i64,
5420 OPC_CheckPatternPredicate0,
5421 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
5422 MVT::v4i64, 2, 3,
5423 0,
5424 66, TARGET_VAL(ISD::AND),
5425 OPC_RecordChild0,
5426 OPC_RecordChild1,
5427 OPC_MoveSibling1,
5428 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::VANDN),
5429 OPC_Scope, 28,
5430 OPC_CheckChild0Same, 0,
5431 OPC_RecordChild1,
5432 OPC_MoveParent,
5433 OPC_SwitchType , 9, MVT::v16i8,
5434 OPC_CheckPatternPredicate1,
5435 OPC_CheckComplexPat7, /*#*/1,
5436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
5437 MVT::v16i8, 3, 48,
5438 9, MVT::v32i8,
5439 OPC_CheckPatternPredicate0,
5440 OPC_CheckComplexPat7, /*#*/1,
5441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
5442 MVT::v32i8, 3, 48,
5443 0,
5444 28,
5445 OPC_CheckChild0Same, 1,
5446 OPC_RecordChild1,
5447 OPC_MoveParent,
5448 OPC_SwitchType , 9, MVT::v16i8,
5449 OPC_CheckPatternPredicate1,
5450 OPC_CheckComplexPat7, /*#*/0,
5451 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
5452 MVT::v16i8, 3, 51,
5453 9, MVT::v32i8,
5454 OPC_CheckPatternPredicate0,
5455 OPC_CheckComplexPat7, /*#*/0,
5456 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
5457 MVT::v32i8, 3, 51,
5458 0,
5459 0,
5460 72, TARGET_VAL(LoongArchISD::VANDN),
5461 OPC_RecordChild0,
5462 OPC_RecordChild1,
5463 OPC_MoveSibling1,
5464 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5465 OPC_Scope, 15,
5466 OPC_CheckChild0Same, 0,
5467 OPC_RecordChild1,
5468 OPC_MoveParent,
5469 OPC_CheckType, MVT::v16i8,
5470 OPC_CheckPatternPredicate1,
5471 OPC_CheckComplexPat7, /*#*/2,
5472 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
5473 MVT::v16i8, 3, 42,
5474 15,
5475 OPC_RecordChild0,
5476 OPC_CheckChild1Same, 0,
5477 OPC_MoveParent,
5478 OPC_CheckType, MVT::v16i8,
5479 OPC_CheckPatternPredicate1,
5480 OPC_CheckComplexPat7, /*#*/2,
5481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
5482 MVT::v16i8, 3, 42,
5483 15,
5484 OPC_CheckChild0Same, 0,
5485 OPC_RecordChild1,
5486 OPC_MoveParent,
5487 OPC_CheckType, MVT::v32i8,
5488 OPC_CheckPatternPredicate0,
5489 OPC_CheckComplexPat7, /*#*/2,
5490 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
5491 MVT::v32i8, 3, 42,
5492 15,
5493 OPC_RecordChild0,
5494 OPC_CheckChild1Same, 0,
5495 OPC_MoveParent,
5496 OPC_CheckType, MVT::v32i8,
5497 OPC_CheckPatternPredicate0,
5498 OPC_CheckComplexPat7, /*#*/2,
5499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
5500 MVT::v32i8, 3, 42,
5501 0,
5502 0,
5503 71|128,1,
5504 OPC_RecordChild0,
5505 OPC_MoveChild1,
5506 OPC_SwitchOpcode , 79, TARGET_VAL(ISD::XOR),
5507 OPC_RecordChild0,
5508 OPC_MoveChild1,
5509 OPC_CheckImmAllOnesV,
5510 OPC_MoveParent,
5511 OPC_MoveParent,
5512 OPC_SwitchType , 7, MVT::v16i8,
5513 OPC_CheckPatternPredicate1,
5514 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5515 MVT::v16i8, 2, 9,
5516 7, MVT::v8i16,
5517 OPC_CheckPatternPredicate1,
5518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5519 MVT::v8i16, 2, 9,
5520 7, MVT::v4i32,
5521 OPC_CheckPatternPredicate1,
5522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5523 MVT::v4i32, 2, 9,
5524 7, MVT::v2i64,
5525 OPC_CheckPatternPredicate1,
5526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5527 MVT::v2i64, 2, 9,
5528 7, MVT::v32i8,
5529 OPC_CheckPatternPredicate0,
5530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5531 MVT::v32i8, 2, 9,
5532 7, MVT::v16i16,
5533 OPC_CheckPatternPredicate0,
5534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5535 MVT::v16i16, 2, 9,
5536 7, MVT::v8i32,
5537 OPC_CheckPatternPredicate0,
5538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5539 MVT::v8i32, 2, 9,
5540 7, MVT::v4i64,
5541 OPC_CheckPatternPredicate0,
5542 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5543 MVT::v4i64, 2, 9,
5544 0,
5545 110, TARGET_VAL(ISD::SHL),
5546 OPC_MoveChild0,
5547 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5548 OPC_CheckPredicate, 11,
5549 OPC_MoveParent,
5550 OPC_RecordChild1,
5551 OPC_Scope, 12,
5552 OPC_CheckChild1Type, MVT::v16i8,
5553 OPC_MoveParent,
5554 OPC_CheckType, MVT::v16i8,
5555 OPC_CheckPatternPredicate1,
5556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
5557 MVT::v16i8, 2, 9,
5558 12,
5559 OPC_CheckChild1Type, MVT::v8i16,
5560 OPC_MoveParent,
5561 OPC_CheckType, MVT::v8i16,
5562 OPC_CheckPatternPredicate1,
5563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
5564 MVT::v8i16, 2, 9,
5565 12,
5566 OPC_CheckChild1Type, MVT::v4i32,
5567 OPC_MoveParent,
5568 OPC_CheckType, MVT::v4i32,
5569 OPC_CheckPatternPredicate1,
5570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
5571 MVT::v4i32, 2, 9,
5572 21,
5573 OPC_MoveParent,
5574 OPC_SwitchType , 7, MVT::v2i64,
5575 OPC_CheckPatternPredicate1,
5576 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
5577 MVT::v2i64, 2, 9,
5578 7, MVT::v32i8,
5579 OPC_CheckPatternPredicate0,
5580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
5581 MVT::v32i8, 2, 9,
5582 0,
5583 12,
5584 OPC_CheckChild1Type, MVT::v16i16,
5585 OPC_MoveParent,
5586 OPC_CheckType, MVT::v16i16,
5587 OPC_CheckPatternPredicate0,
5588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
5589 MVT::v16i16, 2, 9,
5590 12,
5591 OPC_CheckChild1Type, MVT::v8i32,
5592 OPC_MoveParent,
5593 OPC_CheckType, MVT::v8i32,
5594 OPC_CheckPatternPredicate0,
5595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
5596 MVT::v8i32, 2, 9,
5597 12,
5598 OPC_CheckChild1Type, MVT::v4i64,
5599 OPC_MoveParent,
5600 OPC_CheckType, MVT::v4i64,
5601 OPC_CheckPatternPredicate0,
5602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
5603 MVT::v4i64, 2, 9,
5604 0,
5605 0,
5606 78|128,1,
5607 OPC_MoveChild0,
5608 OPC_SwitchOpcode , 80, TARGET_VAL(ISD::XOR),
5609 OPC_RecordChild0,
5610 OPC_MoveChild1,
5611 OPC_CheckImmAllOnesV,
5612 OPC_MoveParent,
5613 OPC_MoveParent,
5614 OPC_RecordChild1,
5615 OPC_SwitchType , 7, MVT::v16i8,
5616 OPC_CheckPatternPredicate1,
5617 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5618 MVT::v16i8, 2, 3,
5619 7, MVT::v8i16,
5620 OPC_CheckPatternPredicate1,
5621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5622 MVT::v8i16, 2, 3,
5623 7, MVT::v4i32,
5624 OPC_CheckPatternPredicate1,
5625 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5626 MVT::v4i32, 2, 3,
5627 7, MVT::v2i64,
5628 OPC_CheckPatternPredicate1,
5629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5630 MVT::v2i64, 2, 3,
5631 7, MVT::v32i8,
5632 OPC_CheckPatternPredicate0,
5633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5634 MVT::v32i8, 2, 3,
5635 7, MVT::v16i16,
5636 OPC_CheckPatternPredicate0,
5637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5638 MVT::v16i16, 2, 3,
5639 7, MVT::v8i32,
5640 OPC_CheckPatternPredicate0,
5641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5642 MVT::v8i32, 2, 3,
5643 7, MVT::v4i64,
5644 OPC_CheckPatternPredicate0,
5645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5646 MVT::v4i64, 2, 3,
5647 0,
5648 117, TARGET_VAL(ISD::SHL),
5649 OPC_MoveChild0,
5650 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5651 OPC_CheckPredicate, 11,
5652 OPC_MoveParent,
5653 OPC_RecordChild1,
5654 OPC_Scope, 13,
5655 OPC_CheckChild1Type, MVT::v16i8,
5656 OPC_MoveParent,
5657 OPC_RecordChild1,
5658 OPC_CheckType, MVT::v16i8,
5659 OPC_CheckPatternPredicate1,
5660 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
5661 MVT::v16i8, 2, 3,
5662 13,
5663 OPC_CheckChild1Type, MVT::v8i16,
5664 OPC_MoveParent,
5665 OPC_RecordChild1,
5666 OPC_CheckType, MVT::v8i16,
5667 OPC_CheckPatternPredicate1,
5668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
5669 MVT::v8i16, 2, 3,
5670 13,
5671 OPC_CheckChild1Type, MVT::v4i32,
5672 OPC_MoveParent,
5673 OPC_RecordChild1,
5674 OPC_CheckType, MVT::v4i32,
5675 OPC_CheckPatternPredicate1,
5676 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
5677 MVT::v4i32, 2, 3,
5678 22,
5679 OPC_MoveParent,
5680 OPC_RecordChild1,
5681 OPC_SwitchType , 7, MVT::v2i64,
5682 OPC_CheckPatternPredicate1,
5683 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
5684 MVT::v2i64, 2, 3,
5685 7, MVT::v32i8,
5686 OPC_CheckPatternPredicate0,
5687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
5688 MVT::v32i8, 2, 3,
5689 0,
5690 13,
5691 OPC_CheckChild1Type, MVT::v16i16,
5692 OPC_MoveParent,
5693 OPC_RecordChild1,
5694 OPC_CheckType, MVT::v16i16,
5695 OPC_CheckPatternPredicate0,
5696 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
5697 MVT::v16i16, 2, 3,
5698 13,
5699 OPC_CheckChild1Type, MVT::v8i32,
5700 OPC_MoveParent,
5701 OPC_RecordChild1,
5702 OPC_CheckType, MVT::v8i32,
5703 OPC_CheckPatternPredicate0,
5704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
5705 MVT::v8i32, 2, 3,
5706 13,
5707 OPC_CheckChild1Type, MVT::v4i64,
5708 OPC_MoveParent,
5709 OPC_RecordChild1,
5710 OPC_CheckType, MVT::v4i64,
5711 OPC_CheckPatternPredicate0,
5712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
5713 MVT::v4i64, 2, 3,
5714 0,
5715 0,
5716 46|128,1,
5717 OPC_RecordChild0,
5718 OPC_RecordChild1,
5719 OPC_SwitchType , 51, MVT::v8i16,
5720 OPC_CheckPatternPredicate1,
5721 OPC_Scope, 8,
5722 OPC_CheckComplexPat5, /*#*/1,
5723 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
5724 MVT::v8i16, 2, 22,
5725 8,
5726 OPC_CheckComplexPat6, /*#*/1,
5727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5728 MVT::v8i16, 2, 22,
5729 9,
5730 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
5731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
5732 MVT::v8i16, 2, 22,
5733 9,
5734 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
5735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5736 MVT::v8i16, 2, 22,
5737 9,
5738 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
5739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5740 MVT::v8i16, 2, 22,
5741 0,
5742 51, MVT::v4i32,
5743 OPC_CheckPatternPredicate1,
5744 OPC_Scope, 8,
5745 OPC_CheckComplexPat5, /*#*/1,
5746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
5747 MVT::v4i32, 2, 22,
5748 8,
5749 OPC_CheckComplexPat6, /*#*/1,
5750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5751 MVT::v4i32, 2, 22,
5752 9,
5753 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
5754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
5755 MVT::v4i32, 2, 22,
5756 9,
5757 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
5758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5759 MVT::v4i32, 2, 22,
5760 9,
5761 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
5762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5763 MVT::v4i32, 2, 22,
5764 0,
5765 51, MVT::v2i64,
5766 OPC_CheckPatternPredicate1,
5767 OPC_Scope, 8,
5768 OPC_CheckComplexPat5, /*#*/1,
5769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
5770 MVT::v2i64, 2, 22,
5771 8,
5772 OPC_CheckComplexPat6, /*#*/1,
5773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
5774 MVT::v2i64, 2, 22,
5775 9,
5776 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
5777 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
5778 MVT::v2i64, 2, 22,
5779 9,
5780 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
5781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5782 MVT::v2i64, 2, 22,
5783 9,
5784 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
5785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5786 MVT::v2i64, 2, 22,
5787 0,
5788 9, MVT::v16i8,
5789 OPC_CheckPatternPredicate1,
5790 OPC_CheckComplexPat6, /*#*/1,
5791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
5792 MVT::v16i8, 2, 22,
5793 0,
5794 52,
5795 OPC_MoveChild0,
5796 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5797 OPC_RecordChild0,
5798 OPC_RecordChild1,
5799 OPC_MoveSibling1,
5800 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::VANDN),
5801 OPC_CheckChild0Same, 0,
5802 OPC_RecordChild1,
5803 OPC_MoveParent,
5804 OPC_SwitchType , 7, MVT::v16i8,
5805 OPC_CheckPatternPredicate1,
5806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
5807 MVT::v16i8, 3, 2,
5808 7, MVT::v8i16,
5809 OPC_CheckPatternPredicate1,
5810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
5811 MVT::v8i16, 3, 2,
5812 7, MVT::v4i32,
5813 OPC_CheckPatternPredicate1,
5814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
5815 MVT::v4i32, 3, 2,
5816 7, MVT::v2i64,
5817 OPC_CheckPatternPredicate1,
5818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
5819 MVT::v2i64, 3, 2,
5820 0,
5821 46|128,1,
5822 OPC_RecordChild0,
5823 OPC_RecordChild1,
5824 OPC_SwitchType , 51, MVT::v16i16,
5825 OPC_CheckPatternPredicate0,
5826 OPC_Scope, 8,
5827 OPC_CheckComplexPat5, /*#*/1,
5828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
5829 MVT::v16i16, 2, 22,
5830 8,
5831 OPC_CheckComplexPat6, /*#*/1,
5832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
5833 MVT::v16i16, 2, 22,
5834 9,
5835 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
5836 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
5837 MVT::v16i16, 2, 22,
5838 9,
5839 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
5840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
5841 MVT::v16i16, 2, 22,
5842 9,
5843 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
5844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
5845 MVT::v16i16, 2, 22,
5846 0,
5847 51, MVT::v8i32,
5848 OPC_CheckPatternPredicate0,
5849 OPC_Scope, 8,
5850 OPC_CheckComplexPat5, /*#*/1,
5851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
5852 MVT::v8i32, 2, 22,
5853 8,
5854 OPC_CheckComplexPat6, /*#*/1,
5855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
5856 MVT::v8i32, 2, 22,
5857 9,
5858 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
5859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
5860 MVT::v8i32, 2, 22,
5861 9,
5862 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
5863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
5864 MVT::v8i32, 2, 22,
5865 9,
5866 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
5867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
5868 MVT::v8i32, 2, 22,
5869 0,
5870 51, MVT::v4i64,
5871 OPC_CheckPatternPredicate0,
5872 OPC_Scope, 8,
5873 OPC_CheckComplexPat5, /*#*/1,
5874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
5875 MVT::v4i64, 2, 22,
5876 8,
5877 OPC_CheckComplexPat6, /*#*/1,
5878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
5879 MVT::v4i64, 2, 22,
5880 9,
5881 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
5882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
5883 MVT::v4i64, 2, 22,
5884 9,
5885 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
5886 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
5887 MVT::v4i64, 2, 22,
5888 9,
5889 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
5890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
5891 MVT::v4i64, 2, 22,
5892 0,
5893 9, MVT::v32i8,
5894 OPC_CheckPatternPredicate0,
5895 OPC_CheckComplexPat6, /*#*/1,
5896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
5897 MVT::v32i8, 2, 22,
5898 0,
5899 52,
5900 OPC_MoveChild0,
5901 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5902 OPC_RecordChild0,
5903 OPC_RecordChild1,
5904 OPC_MoveSibling1,
5905 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::VANDN),
5906 OPC_CheckChild0Same, 0,
5907 OPC_RecordChild1,
5908 OPC_MoveParent,
5909 OPC_SwitchType , 7, MVT::v32i8,
5910 OPC_CheckPatternPredicate0,
5911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
5912 MVT::v32i8, 3, 2,
5913 7, MVT::v16i16,
5914 OPC_CheckPatternPredicate0,
5915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
5916 MVT::v16i16, 3, 2,
5917 7, MVT::v8i32,
5918 OPC_CheckPatternPredicate0,
5919 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
5920 MVT::v8i32, 3, 2,
5921 7, MVT::v4i64,
5922 OPC_CheckPatternPredicate0,
5923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
5924 MVT::v4i64, 3, 2,
5925 0,
5926 46|128,1,
5927 OPC_RecordChild0,
5928 OPC_RecordChild1,
5929 OPC_SwitchType , 51, MVT::v8i16,
5930 OPC_CheckPatternPredicate1,
5931 OPC_Scope, 8,
5932 OPC_CheckComplexPat5, /*#*/0,
5933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
5934 MVT::v8i16, 2, 25,
5935 8,
5936 OPC_CheckComplexPat6, /*#*/0,
5937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5938 MVT::v8i16, 2, 25,
5939 9,
5940 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
5941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
5942 MVT::v8i16, 2, 25,
5943 9,
5944 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
5945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5946 MVT::v8i16, 2, 25,
5947 9,
5948 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
5949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5950 MVT::v8i16, 2, 25,
5951 0,
5952 51, MVT::v4i32,
5953 OPC_CheckPatternPredicate1,
5954 OPC_Scope, 8,
5955 OPC_CheckComplexPat5, /*#*/0,
5956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
5957 MVT::v4i32, 2, 25,
5958 8,
5959 OPC_CheckComplexPat6, /*#*/0,
5960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5961 MVT::v4i32, 2, 25,
5962 9,
5963 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
5964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
5965 MVT::v4i32, 2, 25,
5966 9,
5967 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
5968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5969 MVT::v4i32, 2, 25,
5970 9,
5971 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
5972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5973 MVT::v4i32, 2, 25,
5974 0,
5975 51, MVT::v2i64,
5976 OPC_CheckPatternPredicate1,
5977 OPC_Scope, 8,
5978 OPC_CheckComplexPat5, /*#*/0,
5979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
5980 MVT::v2i64, 2, 25,
5981 8,
5982 OPC_CheckComplexPat6, /*#*/0,
5983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
5984 MVT::v2i64, 2, 25,
5985 9,
5986 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
5987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
5988 MVT::v2i64, 2, 25,
5989 9,
5990 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
5991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5992 MVT::v2i64, 2, 25,
5993 9,
5994 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
5995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5996 MVT::v2i64, 2, 25,
5997 0,
5998 9, MVT::v16i8,
5999 OPC_CheckPatternPredicate1,
6000 OPC_CheckComplexPat6, /*#*/0,
6001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
6002 MVT::v16i8, 2, 25,
6003 0,
6004 49|128,1,
6005 OPC_MoveChild0,
6006 OPC_SwitchOpcode , 48, TARGET_VAL(ISD::AND),
6007 OPC_RecordChild0,
6008 OPC_RecordChild1,
6009 OPC_MoveSibling1,
6010 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::VANDN),
6011 OPC_CheckChild0Same, 1,
6012 OPC_RecordChild1,
6013 OPC_MoveParent,
6014 OPC_SwitchType , 7, MVT::v16i8,
6015 OPC_CheckPatternPredicate1,
6016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6017 MVT::v16i8, 3, 11,
6018 7, MVT::v8i16,
6019 OPC_CheckPatternPredicate1,
6020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6021 MVT::v8i16, 3, 11,
6022 7, MVT::v4i32,
6023 OPC_CheckPatternPredicate1,
6024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6025 MVT::v4i32, 3, 11,
6026 7, MVT::v2i64,
6027 OPC_CheckPatternPredicate1,
6028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6029 MVT::v2i64, 3, 11,
6030 0,
6031 120, TARGET_VAL(LoongArchISD::VANDN),
6032 OPC_RecordChild0,
6033 OPC_RecordChild1,
6034 OPC_MoveSibling1,
6035 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6036 OPC_Scope, 13,
6037 OPC_CheckChild0Same, 0,
6038 OPC_RecordChild1,
6039 OPC_MoveParent,
6040 OPC_CheckType, MVT::v16i8,
6041 OPC_CheckPatternPredicate1,
6042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6043 MVT::v16i8, 3, 5,
6044 13,
6045 OPC_RecordChild0,
6046 OPC_CheckChild1Same, 0,
6047 OPC_MoveParent,
6048 OPC_CheckType, MVT::v16i8,
6049 OPC_CheckPatternPredicate1,
6050 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6051 MVT::v16i8, 3, 5,
6052 13,
6053 OPC_CheckChild0Same, 0,
6054 OPC_RecordChild1,
6055 OPC_MoveParent,
6056 OPC_CheckType, MVT::v8i16,
6057 OPC_CheckPatternPredicate1,
6058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6059 MVT::v8i16, 3, 5,
6060 13,
6061 OPC_RecordChild0,
6062 OPC_CheckChild1Same, 0,
6063 OPC_MoveParent,
6064 OPC_CheckType, MVT::v8i16,
6065 OPC_CheckPatternPredicate1,
6066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6067 MVT::v8i16, 3, 5,
6068 13,
6069 OPC_CheckChild0Same, 0,
6070 OPC_RecordChild1,
6071 OPC_MoveParent,
6072 OPC_CheckType, MVT::v4i32,
6073 OPC_CheckPatternPredicate1,
6074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6075 MVT::v4i32, 3, 5,
6076 13,
6077 OPC_RecordChild0,
6078 OPC_CheckChild1Same, 0,
6079 OPC_MoveParent,
6080 OPC_CheckType, MVT::v4i32,
6081 OPC_CheckPatternPredicate1,
6082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6083 MVT::v4i32, 3, 5,
6084 13,
6085 OPC_CheckChild0Same, 0,
6086 OPC_RecordChild1,
6087 OPC_MoveParent,
6088 OPC_CheckType, MVT::v2i64,
6089 OPC_CheckPatternPredicate1,
6090 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6091 MVT::v2i64, 3, 5,
6092 13,
6093 OPC_RecordChild0,
6094 OPC_CheckChild1Same, 0,
6095 OPC_MoveParent,
6096 OPC_CheckType, MVT::v2i64,
6097 OPC_CheckPatternPredicate1,
6098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6099 MVT::v2i64, 3, 5,
6100 0,
6101 0,
6102 46|128,1,
6103 OPC_RecordChild0,
6104 OPC_RecordChild1,
6105 OPC_SwitchType , 51, MVT::v16i16,
6106 OPC_CheckPatternPredicate0,
6107 OPC_Scope, 8,
6108 OPC_CheckComplexPat5, /*#*/0,
6109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6110 MVT::v16i16, 2, 25,
6111 8,
6112 OPC_CheckComplexPat6, /*#*/0,
6113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6114 MVT::v16i16, 2, 25,
6115 9,
6116 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
6117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6118 MVT::v16i16, 2, 25,
6119 9,
6120 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
6121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6122 MVT::v16i16, 2, 25,
6123 9,
6124 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
6125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6126 MVT::v16i16, 2, 25,
6127 0,
6128 51, MVT::v8i32,
6129 OPC_CheckPatternPredicate0,
6130 OPC_Scope, 8,
6131 OPC_CheckComplexPat5, /*#*/0,
6132 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6133 MVT::v8i32, 2, 25,
6134 8,
6135 OPC_CheckComplexPat6, /*#*/0,
6136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6137 MVT::v8i32, 2, 25,
6138 9,
6139 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
6140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6141 MVT::v8i32, 2, 25,
6142 9,
6143 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
6144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6145 MVT::v8i32, 2, 25,
6146 9,
6147 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
6148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6149 MVT::v8i32, 2, 25,
6150 0,
6151 51, MVT::v4i64,
6152 OPC_CheckPatternPredicate0,
6153 OPC_Scope, 8,
6154 OPC_CheckComplexPat5, /*#*/0,
6155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6156 MVT::v4i64, 2, 25,
6157 8,
6158 OPC_CheckComplexPat6, /*#*/0,
6159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
6160 MVT::v4i64, 2, 25,
6161 9,
6162 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
6163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6164 MVT::v4i64, 2, 25,
6165 9,
6166 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
6167 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6168 MVT::v4i64, 2, 25,
6169 9,
6170 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
6171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6172 MVT::v4i64, 2, 25,
6173 0,
6174 9, MVT::v32i8,
6175 OPC_CheckPatternPredicate0,
6176 OPC_CheckComplexPat6, /*#*/0,
6177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6178 MVT::v32i8, 2, 25,
6179 0,
6180 49|128,1,
6181 OPC_MoveChild0,
6182 OPC_SwitchOpcode , 48, TARGET_VAL(ISD::AND),
6183 OPC_RecordChild0,
6184 OPC_RecordChild1,
6185 OPC_MoveSibling1,
6186 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::VANDN),
6187 OPC_CheckChild0Same, 1,
6188 OPC_RecordChild1,
6189 OPC_MoveParent,
6190 OPC_SwitchType , 7, MVT::v32i8,
6191 OPC_CheckPatternPredicate0,
6192 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6193 MVT::v32i8, 3, 11,
6194 7, MVT::v16i16,
6195 OPC_CheckPatternPredicate0,
6196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6197 MVT::v16i16, 3, 11,
6198 7, MVT::v8i32,
6199 OPC_CheckPatternPredicate0,
6200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6201 MVT::v8i32, 3, 11,
6202 7, MVT::v4i64,
6203 OPC_CheckPatternPredicate0,
6204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6205 MVT::v4i64, 3, 11,
6206 0,
6207 120, TARGET_VAL(LoongArchISD::VANDN),
6208 OPC_RecordChild0,
6209 OPC_RecordChild1,
6210 OPC_MoveSibling1,
6211 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6212 OPC_Scope, 13,
6213 OPC_CheckChild0Same, 0,
6214 OPC_RecordChild1,
6215 OPC_MoveParent,
6216 OPC_CheckType, MVT::v32i8,
6217 OPC_CheckPatternPredicate0,
6218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6219 MVT::v32i8, 3, 5,
6220 13,
6221 OPC_RecordChild0,
6222 OPC_CheckChild1Same, 0,
6223 OPC_MoveParent,
6224 OPC_CheckType, MVT::v32i8,
6225 OPC_CheckPatternPredicate0,
6226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6227 MVT::v32i8, 3, 5,
6228 13,
6229 OPC_CheckChild0Same, 0,
6230 OPC_RecordChild1,
6231 OPC_MoveParent,
6232 OPC_CheckType, MVT::v16i16,
6233 OPC_CheckPatternPredicate0,
6234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6235 MVT::v16i16, 3, 5,
6236 13,
6237 OPC_RecordChild0,
6238 OPC_CheckChild1Same, 0,
6239 OPC_MoveParent,
6240 OPC_CheckType, MVT::v16i16,
6241 OPC_CheckPatternPredicate0,
6242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6243 MVT::v16i16, 3, 5,
6244 13,
6245 OPC_CheckChild0Same, 0,
6246 OPC_RecordChild1,
6247 OPC_MoveParent,
6248 OPC_CheckType, MVT::v8i32,
6249 OPC_CheckPatternPredicate0,
6250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6251 MVT::v8i32, 3, 5,
6252 13,
6253 OPC_RecordChild0,
6254 OPC_CheckChild1Same, 0,
6255 OPC_MoveParent,
6256 OPC_CheckType, MVT::v8i32,
6257 OPC_CheckPatternPredicate0,
6258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6259 MVT::v8i32, 3, 5,
6260 13,
6261 OPC_CheckChild0Same, 0,
6262 OPC_RecordChild1,
6263 OPC_MoveParent,
6264 OPC_CheckType, MVT::v4i64,
6265 OPC_CheckPatternPredicate0,
6266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6267 MVT::v4i64, 3, 5,
6268 13,
6269 OPC_RecordChild0,
6270 OPC_CheckChild1Same, 0,
6271 OPC_MoveParent,
6272 OPC_CheckType, MVT::v4i64,
6273 OPC_CheckPatternPredicate0,
6274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6275 MVT::v4i64, 3, 5,
6276 0,
6277 0,
6278 118,
6279 OPC_RecordChild0,
6280 OPC_RecordChild1,
6281 OPC_SwitchType , 28, MVT::v16i8,
6282 OPC_CheckPatternPredicate1,
6283 OPC_Scope, 8,
6284 OPC_CheckComplexPat7, /*#*/1,
6285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
6286 MVT::v16i8, 2, 22,
6287 8,
6288 OPC_CheckComplexPat7, /*#*/0,
6289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
6290 MVT::v16i8, 2, 25,
6291 6,
6292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
6293 MVT::v16i8, 2, 9,
6294 0,
6295 28, MVT::v32i8,
6296 OPC_CheckPatternPredicate0,
6297 OPC_Scope, 8,
6298 OPC_CheckComplexPat7, /*#*/1,
6299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6300 MVT::v32i8, 2, 22,
6301 8,
6302 OPC_CheckComplexPat7, /*#*/0,
6303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6304 MVT::v32i8, 2, 25,
6305 6,
6306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
6307 MVT::v32i8, 2, 9,
6308 0,
6309 7, MVT::v8i16,
6310 OPC_CheckPatternPredicate1,
6311 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
6312 MVT::v8i16, 2, 9,
6313 7, MVT::v4i32,
6314 OPC_CheckPatternPredicate1,
6315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
6316 MVT::v4i32, 2, 9,
6317 7, MVT::v2i64,
6318 OPC_CheckPatternPredicate1,
6319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
6320 MVT::v2i64, 2, 9,
6321 7, MVT::v16i16,
6322 OPC_CheckPatternPredicate0,
6323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
6324 MVT::v16i16, 2, 9,
6325 7, MVT::v8i32,
6326 OPC_CheckPatternPredicate0,
6327 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
6328 MVT::v8i32, 2, 9,
6329 7, MVT::v4i64,
6330 OPC_CheckPatternPredicate0,
6331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
6332 MVT::v4i64, 2, 9,
6333 0,
6334 0,
6335 54|128,1, TARGET_VAL(ISD::CTTZ),
6336 OPC_Scope, 24|128,1,
6337 OPC_MoveChild0,
6338 OPC_SwitchOpcode , 115, TARGET_VAL(ISD::OR),
6339 OPC_MoveChild0,
6340 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6341 OPC_RecordChild0,
6342 OPC_CheckChild1Integer, 127,
6343 OPC_MoveParent,
6344 OPC_Scope, 50,
6345 OPC_CheckChild1Integer, 0|128,2,
6346 OPC_CheckTypeByHwMode0,
6347 OPC_MoveParent,
6348 OPC_CheckTypeByHwMode0,
6349 OPC_Scope, 20,
6350 OPC_CheckPatternPredicate2,
6351 OPC_EmitIntegerByHwMode0, 127|128,1,
6352 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
6353 1, 0, 2, 9,
6354 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_D), 0,
6355 1, 0, 1, 23,
6356 20,
6357 OPC_CheckPatternPredicate6,
6358 OPC_EmitIntegerByHwMode0, 127|128,1,
6359 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
6360 1, 0, 2, 9,
6361 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_W), 0,
6362 1, 0, 1, 23,
6363 0,
6364 53,
6365 OPC_CheckChild1Integer, 0|128,0|128,4,
6366 OPC_CheckTypeByHwMode0,
6367 OPC_MoveParent,
6368 OPC_CheckTypeByHwMode0,
6369 OPC_Scope, 21,
6370 OPC_CheckPatternPredicate2,
6371 OPC_EmitIntegerByHwMode0, 15,
6372 OPC_EmitIntegerByHwMode0, 0,
6373 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::BSTRPICK_D), 0,
6374 1, 0, 3, 24,
6375 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_D), 0,
6376 1, 0, 1, 35,
6377 21,
6378 OPC_CheckPatternPredicate6,
6379 OPC_EmitIntegerByHwMode0, 15,
6380 OPC_EmitIntegerByHwMode0, 0,
6381 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::BSTRPICK_W), 0,
6382 1, 0, 3, 24,
6383 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_W), 0,
6384 1, 0, 1, 35,
6385 0,
6386 0,
6387 28, TARGET_VAL(ISD::XOR),
6388 OPC_RecordChild0,
6389 OPC_CheckChild1Integer, 127,
6390 OPC_CheckTypeByHwMode0,
6391 OPC_MoveParent,
6392 OPC_CheckTypeByHwMode0,
6393 OPC_Scope, 9,
6394 OPC_CheckPatternPredicate2,
6395 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_D), 0,
6396 1, 0, 1, 1,
6397 9,
6398 OPC_CheckPatternPredicate6,
6399 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_W), 0,
6400 1, 0, 1, 1,
6401 0,
6402 0,
6403 25,
6404 OPC_RecordChild0,
6405 OPC_CheckChild0TypeByHwMode0,
6406 OPC_CheckTypeByHwMode0,
6407 OPC_Scope, 9,
6408 OPC_CheckPatternPredicate2,
6409 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTZ_D), 0,
6410 1, 0, 1, 1,
6411 9,
6412 OPC_CheckPatternPredicate6,
6413 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTZ_W), 0,
6414 1, 0, 1, 1,
6415 0,
6416 0,
6417 83|128,22, TARGET_VAL(ISD::LOAD),
6418 OPC_RecordMemRef,
6419 OPC_RecordNode,
6420 OPC_Scope, 17|128,4,
6421 OPC_MoveChild1,
6422 OPC_SwitchOpcode , 3|128,2, TARGET_VAL(ISD::ADD),
6423 OPC_RecordChild0,
6424 OPC_RecordChild1,
6425 OPC_MoveChild1,
6426 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6427 OPC_Scope, 74|128,1,
6428 OPC_CheckPredicate4,
6429 OPC_MoveParent,
6430 OPC_CheckPredicate2,
6431 OPC_CheckTypeByHwMode0,
6432 OPC_MoveParent,
6433 OPC_CheckPredicate, 9,
6434 OPC_Scope, 16,
6435 OPC_CheckPredicate, 22,
6436 OPC_CheckPredicate5,
6437 OPC_CheckTypeByHwMode0,
6438 OPC_CheckComplexPat0, /*#*/1,
6439 OPC_EmitMergeInputChains1_0,
6440 OPC_EmitConvertToTarget2,
6441 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6442 1, 0, 2, 76,
6443 16,
6444 OPC_CheckPredicate, 23,
6445 OPC_CheckPredicate5,
6446 OPC_CheckTypeByHwMode0,
6447 OPC_CheckComplexPat0, /*#*/1,
6448 OPC_EmitMergeInputChains1_0,
6449 OPC_EmitConvertToTarget2,
6450 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6451 1, 0, 2, 76,
6452 16,
6453 OPC_CheckPredicate, 22,
6454 OPC_CheckPredicate6,
6455 OPC_CheckTypeByHwMode0,
6456 OPC_CheckComplexPat0, /*#*/1,
6457 OPC_EmitMergeInputChains1_0,
6458 OPC_EmitConvertToTarget2,
6459 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6460 1, 0, 2, 76,
6461 16,
6462 OPC_CheckPredicate, 23,
6463 OPC_CheckPredicate6,
6464 OPC_CheckTypeByHwMode0,
6465 OPC_CheckComplexPat0, /*#*/1,
6466 OPC_EmitMergeInputChains1_0,
6467 OPC_EmitConvertToTarget2,
6468 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6469 1, 0, 2, 76,
6470 15,
6471 OPC_CheckPredicate7,
6472 OPC_CheckTypeByHwMode0,
6473 OPC_CheckPatternPredicate5,
6474 OPC_CheckComplexPat0, /*#*/1,
6475 OPC_EmitMergeInputChains1_0,
6476 OPC_EmitConvertToTarget2,
6477 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6478 1, 0, 2, 76,
6479 34,
6480 OPC_CheckPredicate, 24,
6481 OPC_Scope, 14,
6482 OPC_CheckPredicate5,
6483 OPC_CheckTypeByHwMode0,
6484 OPC_CheckComplexPat0, /*#*/1,
6485 OPC_EmitMergeInputChains1_0,
6486 OPC_EmitConvertToTarget2,
6487 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
6488 1, 0, 2, 76,
6489 14,
6490 OPC_CheckPredicate6,
6491 OPC_CheckTypeByHwMode0,
6492 OPC_CheckComplexPat0, /*#*/1,
6493 OPC_EmitMergeInputChains1_0,
6494 OPC_EmitConvertToTarget2,
6495 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
6496 1, 0, 2, 76,
6497 0,
6498 18,
6499 OPC_CheckPredicate, 22,
6500 OPC_CheckPredicate3,
6501 OPC_CheckTypeByHwMode, 1,
6502 OPC_CheckPatternPredicate2,
6503 OPC_CheckComplexPat0, /*#*/1,
6504 OPC_EmitMergeInputChains1_0,
6505 OPC_EmitConvertToTarget2,
6506 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6507 1, 1, 2, 76,
6508 18,
6509 OPC_CheckPredicate, 23,
6510 OPC_CheckPredicate3,
6511 OPC_CheckTypeByHwMode, 1,
6512 OPC_CheckPatternPredicate2,
6513 OPC_CheckComplexPat0, /*#*/1,
6514 OPC_EmitMergeInputChains1_0,
6515 OPC_EmitConvertToTarget2,
6516 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6517 1, 1, 2, 76,
6518 18,
6519 OPC_CheckPredicate, 24,
6520 OPC_CheckPredicate3,
6521 OPC_CheckTypeByHwMode, 1,
6522 OPC_CheckPatternPredicate2,
6523 OPC_CheckComplexPat0, /*#*/1,
6524 OPC_EmitMergeInputChains1_0,
6525 OPC_EmitConvertToTarget2,
6526 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
6527 1, 1, 2, 76,
6528 16,
6529 OPC_CheckPredicate7,
6530 OPC_CheckTypeByHwMode, 1,
6531 OPC_CheckPatternPredicate2,
6532 OPC_CheckComplexPat0, /*#*/1,
6533 OPC_EmitMergeInputChains1_0,
6534 OPC_EmitConvertToTarget2,
6535 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
6536 1, 1, 2, 76,
6537 0,
6538 46,
6539 OPC_CheckPredicate, 44,
6540 OPC_MoveParent,
6541 OPC_CheckPredicate2,
6542 OPC_CheckTypeByHwMode0,
6543 OPC_MoveParent,
6544 OPC_CheckPredicate, 9,
6545 OPC_Scope, 18,
6546 OPC_CheckPredicate, 22,
6547 OPC_CheckPredicate3,
6548 OPC_CheckTypeByHwMode, 1,
6549 OPC_CheckPatternPredicate2,
6550 OPC_CheckComplexPat0, /*#*/1,
6551 OPC_EmitMergeInputChains1_0,
6552 OPC_EmitConvertToTarget2,
6553 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
6554 1, 1, 2, 76,
6555 16,
6556 OPC_CheckPredicate7,
6557 OPC_CheckTypeByHwMode, 1,
6558 OPC_CheckPatternPredicate2,
6559 OPC_CheckComplexPat0, /*#*/1,
6560 OPC_EmitMergeInputChains1_0,
6561 OPC_EmitConvertToTarget2,
6562 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
6563 1, 1, 2, 76,
6564 0,
6565 0,
6566 3|128,2, TARGET_VAL(ISD::OR),
6567 OPC_RecordChild0,
6568 OPC_RecordChild1,
6569 OPC_MoveChild1,
6570 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6571 OPC_Scope, 74|128,1,
6572 OPC_CheckPredicate4,
6573 OPC_MoveParent,
6574 OPC_CheckPredicate2,
6575 OPC_CheckTypeByHwMode0,
6576 OPC_MoveParent,
6577 OPC_CheckPredicate, 9,
6578 OPC_Scope, 16,
6579 OPC_CheckPredicate, 22,
6580 OPC_CheckPredicate5,
6581 OPC_CheckTypeByHwMode0,
6582 OPC_CheckComplexPat0, /*#*/1,
6583 OPC_EmitMergeInputChains1_0,
6584 OPC_EmitConvertToTarget2,
6585 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6586 1, 0, 2, 76,
6587 16,
6588 OPC_CheckPredicate, 23,
6589 OPC_CheckPredicate5,
6590 OPC_CheckTypeByHwMode0,
6591 OPC_CheckComplexPat0, /*#*/1,
6592 OPC_EmitMergeInputChains1_0,
6593 OPC_EmitConvertToTarget2,
6594 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6595 1, 0, 2, 76,
6596 16,
6597 OPC_CheckPredicate, 22,
6598 OPC_CheckPredicate6,
6599 OPC_CheckTypeByHwMode0,
6600 OPC_CheckComplexPat0, /*#*/1,
6601 OPC_EmitMergeInputChains1_0,
6602 OPC_EmitConvertToTarget2,
6603 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6604 1, 0, 2, 76,
6605 16,
6606 OPC_CheckPredicate, 23,
6607 OPC_CheckPredicate6,
6608 OPC_CheckTypeByHwMode0,
6609 OPC_CheckComplexPat0, /*#*/1,
6610 OPC_EmitMergeInputChains1_0,
6611 OPC_EmitConvertToTarget2,
6612 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6613 1, 0, 2, 76,
6614 15,
6615 OPC_CheckPredicate7,
6616 OPC_CheckTypeByHwMode0,
6617 OPC_CheckPatternPredicate5,
6618 OPC_CheckComplexPat0, /*#*/1,
6619 OPC_EmitMergeInputChains1_0,
6620 OPC_EmitConvertToTarget2,
6621 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6622 1, 0, 2, 76,
6623 34,
6624 OPC_CheckPredicate, 24,
6625 OPC_Scope, 14,
6626 OPC_CheckPredicate5,
6627 OPC_CheckTypeByHwMode0,
6628 OPC_CheckComplexPat0, /*#*/1,
6629 OPC_EmitMergeInputChains1_0,
6630 OPC_EmitConvertToTarget2,
6631 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
6632 1, 0, 2, 76,
6633 14,
6634 OPC_CheckPredicate6,
6635 OPC_CheckTypeByHwMode0,
6636 OPC_CheckComplexPat0, /*#*/1,
6637 OPC_EmitMergeInputChains1_0,
6638 OPC_EmitConvertToTarget2,
6639 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
6640 1, 0, 2, 76,
6641 0,
6642 18,
6643 OPC_CheckPredicate, 22,
6644 OPC_CheckPredicate3,
6645 OPC_CheckTypeByHwMode, 1,
6646 OPC_CheckPatternPredicate2,
6647 OPC_CheckComplexPat0, /*#*/1,
6648 OPC_EmitMergeInputChains1_0,
6649 OPC_EmitConvertToTarget2,
6650 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6651 1, 1, 2, 76,
6652 18,
6653 OPC_CheckPredicate, 23,
6654 OPC_CheckPredicate3,
6655 OPC_CheckTypeByHwMode, 1,
6656 OPC_CheckPatternPredicate2,
6657 OPC_CheckComplexPat0, /*#*/1,
6658 OPC_EmitMergeInputChains1_0,
6659 OPC_EmitConvertToTarget2,
6660 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6661 1, 1, 2, 76,
6662 18,
6663 OPC_CheckPredicate, 24,
6664 OPC_CheckPredicate3,
6665 OPC_CheckTypeByHwMode, 1,
6666 OPC_CheckPatternPredicate2,
6667 OPC_CheckComplexPat0, /*#*/1,
6668 OPC_EmitMergeInputChains1_0,
6669 OPC_EmitConvertToTarget2,
6670 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
6671 1, 1, 2, 76,
6672 16,
6673 OPC_CheckPredicate7,
6674 OPC_CheckTypeByHwMode, 1,
6675 OPC_CheckPatternPredicate2,
6676 OPC_CheckComplexPat0, /*#*/1,
6677 OPC_EmitMergeInputChains1_0,
6678 OPC_EmitConvertToTarget2,
6679 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
6680 1, 1, 2, 76,
6681 0,
6682 46,
6683 OPC_CheckPredicate, 44,
6684 OPC_MoveParent,
6685 OPC_CheckPredicate2,
6686 OPC_CheckTypeByHwMode0,
6687 OPC_MoveParent,
6688 OPC_CheckPredicate, 9,
6689 OPC_Scope, 18,
6690 OPC_CheckPredicate, 22,
6691 OPC_CheckPredicate3,
6692 OPC_CheckTypeByHwMode, 1,
6693 OPC_CheckPatternPredicate2,
6694 OPC_CheckComplexPat0, /*#*/1,
6695 OPC_EmitMergeInputChains1_0,
6696 OPC_EmitConvertToTarget2,
6697 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
6698 1, 1, 2, 76,
6699 16,
6700 OPC_CheckPredicate7,
6701 OPC_CheckTypeByHwMode, 1,
6702 OPC_CheckPatternPredicate2,
6703 OPC_CheckComplexPat0, /*#*/1,
6704 OPC_EmitMergeInputChains1_0,
6705 OPC_EmitConvertToTarget2,
6706 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
6707 1, 1, 2, 76,
6708 0,
6709 0,
6710 0,
6711 59|128,1,
6712 OPC_RecordChild1,
6713 OPC_CheckPredicate, 9,
6714 OPC_Scope, 15,
6715 OPC_CheckPredicate, 22,
6716 OPC_CheckPredicate5,
6717 OPC_CheckTypeByHwMode0,
6718 OPC_CheckComplexPat3, /*#*/1,
6719 OPC_EmitMergeInputChains1_0,
6720 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6721 1, 0, 2, 49,
6722 15,
6723 OPC_CheckPredicate, 23,
6724 OPC_CheckPredicate5,
6725 OPC_CheckTypeByHwMode0,
6726 OPC_CheckComplexPat3, /*#*/1,
6727 OPC_EmitMergeInputChains1_0,
6728 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6729 1, 0, 2, 49,
6730 15,
6731 OPC_CheckPredicate, 22,
6732 OPC_CheckPredicate6,
6733 OPC_CheckTypeByHwMode0,
6734 OPC_CheckComplexPat3, /*#*/1,
6735 OPC_EmitMergeInputChains1_0,
6736 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6737 1, 0, 2, 49,
6738 15,
6739 OPC_CheckPredicate, 23,
6740 OPC_CheckPredicate6,
6741 OPC_CheckTypeByHwMode0,
6742 OPC_CheckComplexPat3, /*#*/1,
6743 OPC_EmitMergeInputChains1_0,
6744 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6745 1, 0, 2, 49,
6746 14,
6747 OPC_CheckPredicate7,
6748 OPC_CheckTypeByHwMode0,
6749 OPC_CheckPatternPredicate5,
6750 OPC_CheckComplexPat3, /*#*/1,
6751 OPC_EmitMergeInputChains1_0,
6752 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6753 1, 0, 2, 49,
6754 32,
6755 OPC_CheckPredicate, 24,
6756 OPC_Scope, 13,
6757 OPC_CheckPredicate5,
6758 OPC_CheckTypeByHwMode0,
6759 OPC_CheckComplexPat3, /*#*/1,
6760 OPC_EmitMergeInputChains1_0,
6761 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
6762 1, 0, 2, 49,
6763 13,
6764 OPC_CheckPredicate6,
6765 OPC_CheckTypeByHwMode0,
6766 OPC_CheckComplexPat3, /*#*/1,
6767 OPC_EmitMergeInputChains1_0,
6768 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
6769 1, 0, 2, 49,
6770 0,
6771 17,
6772 OPC_CheckPredicate, 22,
6773 OPC_CheckPredicate3,
6774 OPC_CheckTypeByHwMode, 1,
6775 OPC_CheckPatternPredicate2,
6776 OPC_CheckComplexPat3, /*#*/1,
6777 OPC_EmitMergeInputChains1_0,
6778 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6779 1, 1, 2, 49,
6780 17,
6781 OPC_CheckPredicate, 23,
6782 OPC_CheckPredicate3,
6783 OPC_CheckTypeByHwMode, 1,
6784 OPC_CheckPatternPredicate2,
6785 OPC_CheckComplexPat3, /*#*/1,
6786 OPC_EmitMergeInputChains1_0,
6787 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6788 1, 1, 2, 49,
6789 17,
6790 OPC_CheckPredicate, 24,
6791 OPC_CheckPredicate3,
6792 OPC_CheckTypeByHwMode, 1,
6793 OPC_CheckPatternPredicate2,
6794 OPC_CheckComplexPat3, /*#*/1,
6795 OPC_EmitMergeInputChains1_0,
6796 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
6797 1, 1, 2, 49,
6798 15,
6799 OPC_CheckPredicate7,
6800 OPC_CheckTypeByHwMode, 1,
6801 OPC_CheckPatternPredicate2,
6802 OPC_CheckComplexPat3, /*#*/1,
6803 OPC_EmitMergeInputChains1_0,
6804 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
6805 1, 1, 2, 49,
6806 0,
6807 112|128,2,
6808 OPC_MoveChild1,
6809 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
6810 OPC_RecordChild0,
6811 OPC_RecordChild1,
6812 OPC_CheckTypeByHwMode0,
6813 OPC_MoveParent,
6814 OPC_CheckPredicate, 9,
6815 OPC_Scope, 17,
6816 OPC_CheckPredicate, 23,
6817 OPC_CheckPredicate5,
6818 OPC_CheckTypeByHwMode, 1,
6819 OPC_CheckPatternPredicate2,
6820 OPC_CheckComplexPat1, /*#*/1,
6821 OPC_EmitMergeInputChains1_0,
6822 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
6823 1, 1, 2, 28,
6824 17,
6825 OPC_CheckPredicate, 22,
6826 OPC_CheckPredicate5,
6827 OPC_CheckTypeByHwMode, 1,
6828 OPC_CheckPatternPredicate2,
6829 OPC_CheckComplexPat1, /*#*/1,
6830 OPC_EmitMergeInputChains1_0,
6831 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
6832 1, 1, 2, 28,
6833 17,
6834 OPC_CheckPredicate, 24,
6835 OPC_CheckPredicate5,
6836 OPC_CheckTypeByHwMode, 1,
6837 OPC_CheckPatternPredicate2,
6838 OPC_CheckComplexPat1, /*#*/1,
6839 OPC_EmitMergeInputChains1_0,
6840 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
6841 1, 1, 2, 28,
6842 17,
6843 OPC_CheckPredicate, 23,
6844 OPC_CheckPredicate6,
6845 OPC_CheckTypeByHwMode, 1,
6846 OPC_CheckPatternPredicate2,
6847 OPC_CheckComplexPat1, /*#*/1,
6848 OPC_EmitMergeInputChains1_0,
6849 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
6850 1, 1, 2, 28,
6851 17,
6852 OPC_CheckPredicate, 22,
6853 OPC_CheckPredicate6,
6854 OPC_CheckTypeByHwMode, 1,
6855 OPC_CheckPatternPredicate2,
6856 OPC_CheckComplexPat1, /*#*/1,
6857 OPC_EmitMergeInputChains1_0,
6858 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
6859 1, 1, 2, 28,
6860 17,
6861 OPC_CheckPredicate, 24,
6862 OPC_CheckPredicate6,
6863 OPC_CheckTypeByHwMode, 1,
6864 OPC_CheckPatternPredicate2,
6865 OPC_CheckComplexPat1, /*#*/1,
6866 OPC_EmitMergeInputChains1_0,
6867 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
6868 1, 1, 2, 28,
6869 17,
6870 OPC_CheckPredicate, 23,
6871 OPC_CheckPredicate3,
6872 OPC_CheckTypeByHwMode, 1,
6873 OPC_CheckPatternPredicate2,
6874 OPC_CheckComplexPat1, /*#*/1,
6875 OPC_EmitMergeInputChains1_0,
6876 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
6877 1, 1, 2, 28,
6878 17,
6879 OPC_CheckPredicate, 22,
6880 OPC_CheckPredicate3,
6881 OPC_CheckTypeByHwMode, 1,
6882 OPC_CheckPatternPredicate2,
6883 OPC_CheckComplexPat1, /*#*/1,
6884 OPC_EmitMergeInputChains1_0,
6885 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
6886 1, 1, 2, 28,
6887 17,
6888 OPC_CheckPredicate, 24,
6889 OPC_CheckPredicate3,
6890 OPC_CheckTypeByHwMode, 1,
6891 OPC_CheckPatternPredicate2,
6892 OPC_CheckComplexPat1, /*#*/1,
6893 OPC_EmitMergeInputChains1_0,
6894 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
6895 1, 1, 2, 28,
6896 15,
6897 OPC_CheckPredicate7,
6898 OPC_CheckTypeByHwMode, 1,
6899 OPC_CheckPatternPredicate2,
6900 OPC_CheckComplexPat1, /*#*/1,
6901 OPC_EmitMergeInputChains1_0,
6902 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
6903 1, 1, 2, 28,
6904 17,
6905 OPC_CheckPredicate, 23,
6906 OPC_CheckPredicate5,
6907 OPC_CheckTypeByHwMode, 1,
6908 OPC_CheckPatternPredicate2,
6909 OPC_CheckComplexPat1, /*#*/2,
6910 OPC_EmitMergeInputChains1_0,
6911 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
6912 1, 1, 2, 17,
6913 17,
6914 OPC_CheckPredicate, 22,
6915 OPC_CheckPredicate5,
6916 OPC_CheckTypeByHwMode, 1,
6917 OPC_CheckPatternPredicate2,
6918 OPC_CheckComplexPat1, /*#*/2,
6919 OPC_EmitMergeInputChains1_0,
6920 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
6921 1, 1, 2, 17,
6922 17,
6923 OPC_CheckPredicate, 24,
6924 OPC_CheckPredicate5,
6925 OPC_CheckTypeByHwMode, 1,
6926 OPC_CheckPatternPredicate2,
6927 OPC_CheckComplexPat1, /*#*/2,
6928 OPC_EmitMergeInputChains1_0,
6929 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
6930 1, 1, 2, 17,
6931 17,
6932 OPC_CheckPredicate, 23,
6933 OPC_CheckPredicate6,
6934 OPC_CheckTypeByHwMode, 1,
6935 OPC_CheckPatternPredicate2,
6936 OPC_CheckComplexPat1, /*#*/2,
6937 OPC_EmitMergeInputChains1_0,
6938 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
6939 1, 1, 2, 17,
6940 17,
6941 OPC_CheckPredicate, 22,
6942 OPC_CheckPredicate6,
6943 OPC_CheckTypeByHwMode, 1,
6944 OPC_CheckPatternPredicate2,
6945 OPC_CheckComplexPat1, /*#*/2,
6946 OPC_EmitMergeInputChains1_0,
6947 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
6948 1, 1, 2, 17,
6949 17,
6950 OPC_CheckPredicate, 24,
6951 OPC_CheckPredicate6,
6952 OPC_CheckTypeByHwMode, 1,
6953 OPC_CheckPatternPredicate2,
6954 OPC_CheckComplexPat1, /*#*/2,
6955 OPC_EmitMergeInputChains1_0,
6956 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
6957 1, 1, 2, 17,
6958 17,
6959 OPC_CheckPredicate, 23,
6960 OPC_CheckPredicate3,
6961 OPC_CheckTypeByHwMode, 1,
6962 OPC_CheckPatternPredicate2,
6963 OPC_CheckComplexPat1, /*#*/2,
6964 OPC_EmitMergeInputChains1_0,
6965 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
6966 1, 1, 2, 17,
6967 17,
6968 OPC_CheckPredicate, 22,
6969 OPC_CheckPredicate3,
6970 OPC_CheckTypeByHwMode, 1,
6971 OPC_CheckPatternPredicate2,
6972 OPC_CheckComplexPat1, /*#*/2,
6973 OPC_EmitMergeInputChains1_0,
6974 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
6975 1, 1, 2, 17,
6976 17,
6977 OPC_CheckPredicate, 24,
6978 OPC_CheckPredicate3,
6979 OPC_CheckTypeByHwMode, 1,
6980 OPC_CheckPatternPredicate2,
6981 OPC_CheckComplexPat1, /*#*/2,
6982 OPC_EmitMergeInputChains1_0,
6983 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
6984 1, 1, 2, 17,
6985 15,
6986 OPC_CheckPredicate7,
6987 OPC_CheckTypeByHwMode, 1,
6988 OPC_CheckPatternPredicate2,
6989 OPC_CheckComplexPat1, /*#*/2,
6990 OPC_EmitMergeInputChains1_0,
6991 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
6992 1, 1, 2, 17,
6993 0,
6994 81|128,1,
6995 OPC_RecordChild1,
6996 OPC_CheckPredicate, 9,
6997 OPC_Scope, 17,
6998 OPC_CheckPredicate, 22,
6999 OPC_CheckPredicate5,
7000 OPC_CheckTypeByHwMode0,
7001 OPC_CheckComplexPat0, /*#*/1,
7002 OPC_EmitMergeInputChains1_0,
7003 OPC_EmitIntegerByHwMode0, 0,
7004 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
7005 1, 0, 2, 49,
7006 17,
7007 OPC_CheckPredicate, 23,
7008 OPC_CheckPredicate5,
7009 OPC_CheckTypeByHwMode0,
7010 OPC_CheckComplexPat0, /*#*/1,
7011 OPC_EmitMergeInputChains1_0,
7012 OPC_EmitIntegerByHwMode0, 0,
7013 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
7014 1, 0, 2, 49,
7015 17,
7016 OPC_CheckPredicate, 22,
7017 OPC_CheckPredicate6,
7018 OPC_CheckTypeByHwMode0,
7019 OPC_CheckComplexPat0, /*#*/1,
7020 OPC_EmitMergeInputChains1_0,
7021 OPC_EmitIntegerByHwMode0, 0,
7022 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
7023 1, 0, 2, 49,
7024 17,
7025 OPC_CheckPredicate, 23,
7026 OPC_CheckPredicate6,
7027 OPC_CheckTypeByHwMode0,
7028 OPC_CheckComplexPat0, /*#*/1,
7029 OPC_EmitMergeInputChains1_0,
7030 OPC_EmitIntegerByHwMode0, 0,
7031 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
7032 1, 0, 2, 49,
7033 16,
7034 OPC_CheckPredicate7,
7035 OPC_CheckTypeByHwMode0,
7036 OPC_CheckPatternPredicate5,
7037 OPC_CheckComplexPat0, /*#*/1,
7038 OPC_EmitMergeInputChains1_0,
7039 OPC_EmitIntegerByHwMode0, 0,
7040 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
7041 1, 0, 2, 49,
7042 36,
7043 OPC_CheckPredicate, 24,
7044 OPC_Scope, 15,
7045 OPC_CheckPredicate5,
7046 OPC_CheckTypeByHwMode0,
7047 OPC_CheckComplexPat0, /*#*/1,
7048 OPC_EmitMergeInputChains1_0,
7049 OPC_EmitIntegerByHwMode0, 0,
7050 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
7051 1, 0, 2, 49,
7052 15,
7053 OPC_CheckPredicate6,
7054 OPC_CheckTypeByHwMode0,
7055 OPC_CheckComplexPat0, /*#*/1,
7056 OPC_EmitMergeInputChains1_0,
7057 OPC_EmitIntegerByHwMode0, 0,
7058 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
7059 1, 0, 2, 49,
7060 0,
7061 19,
7062 OPC_CheckPredicate, 22,
7063 OPC_CheckPredicate3,
7064 OPC_CheckTypeByHwMode, 1,
7065 OPC_CheckPatternPredicate2,
7066 OPC_CheckComplexPat0, /*#*/1,
7067 OPC_EmitMergeInputChains1_0,
7068 OPC_EmitIntegerByHwMode0, 0,
7069 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
7070 1, 1, 2, 49,
7071 19,
7072 OPC_CheckPredicate, 23,
7073 OPC_CheckPredicate3,
7074 OPC_CheckTypeByHwMode, 1,
7075 OPC_CheckPatternPredicate2,
7076 OPC_CheckComplexPat0, /*#*/1,
7077 OPC_EmitMergeInputChains1_0,
7078 OPC_EmitIntegerByHwMode0, 0,
7079 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
7080 1, 1, 2, 49,
7081 19,
7082 OPC_CheckPredicate, 24,
7083 OPC_CheckPredicate3,
7084 OPC_CheckTypeByHwMode, 1,
7085 OPC_CheckPatternPredicate2,
7086 OPC_CheckComplexPat0, /*#*/1,
7087 OPC_EmitMergeInputChains1_0,
7088 OPC_EmitIntegerByHwMode0, 0,
7089 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
7090 1, 1, 2, 49,
7091 17,
7092 OPC_CheckPredicate7,
7093 OPC_CheckTypeByHwMode, 1,
7094 OPC_CheckPatternPredicate2,
7095 OPC_CheckComplexPat0, /*#*/1,
7096 OPC_EmitMergeInputChains1_0,
7097 OPC_EmitIntegerByHwMode0, 0,
7098 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
7099 1, 1, 2, 49,
7100 0,
7101 97,
7102 OPC_MoveChild1,
7103 OPC_SwitchOpcode , 44, TARGET_VAL(ISD::ADD),
7104 OPC_RecordChild0,
7105 OPC_RecordChild1,
7106 OPC_MoveChild1,
7107 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7108 OPC_CheckPredicate4,
7109 OPC_MoveParent,
7110 OPC_CheckPredicate2,
7111 OPC_CheckTypeByHwMode0,
7112 OPC_MoveParent,
7113 OPC_CheckPredicate, 9,
7114 OPC_CheckPredicate7,
7115 OPC_SwitchType , 12, MVT::f32,
7116 OPC_CheckPatternPredicate3,
7117 OPC_CheckComplexPat0, /*#*/1,
7118 OPC_EmitMergeInputChains1_0,
7119 OPC_EmitConvertToTarget2,
7120 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
7121 MVT::f32, 2, 76,
7122 12, MVT::f64,
7123 OPC_CheckPatternPredicate4,
7124 OPC_CheckComplexPat0, /*#*/1,
7125 OPC_EmitMergeInputChains1_0,
7126 OPC_EmitConvertToTarget2,
7127 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
7128 MVT::f64, 2, 76,
7129 0,
7130 44, TARGET_VAL(ISD::OR),
7131 OPC_RecordChild0,
7132 OPC_RecordChild1,
7133 OPC_MoveChild1,
7134 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7135 OPC_CheckPredicate4,
7136 OPC_MoveParent,
7137 OPC_CheckPredicate2,
7138 OPC_CheckTypeByHwMode0,
7139 OPC_MoveParent,
7140 OPC_CheckPredicate, 9,
7141 OPC_CheckPredicate7,
7142 OPC_SwitchType , 12, MVT::f32,
7143 OPC_CheckPatternPredicate3,
7144 OPC_CheckComplexPat0, /*#*/1,
7145 OPC_EmitMergeInputChains1_0,
7146 OPC_EmitConvertToTarget2,
7147 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
7148 MVT::f32, 2, 76,
7149 12, MVT::f64,
7150 OPC_CheckPatternPredicate4,
7151 OPC_CheckComplexPat0, /*#*/1,
7152 OPC_EmitMergeInputChains1_0,
7153 OPC_EmitConvertToTarget2,
7154 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
7155 MVT::f64, 2, 76,
7156 0,
7157 0,
7158 17,
7159 OPC_RecordChild1,
7160 OPC_CheckPredicate, 9,
7161 OPC_CheckPredicate7,
7162 OPC_CheckType, MVT::f32,
7163 OPC_CheckPatternPredicate3,
7164 OPC_CheckComplexPat3, /*#*/1,
7165 OPC_EmitMergeInputChains1_0,
7166 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
7167 MVT::f32, 2, 49,
7168 24,
7169 OPC_MoveChild1,
7170 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7171 OPC_RecordChild0,
7172 OPC_RecordChild1,
7173 OPC_CheckTypeByHwMode0,
7174 OPC_MoveParent,
7175 OPC_CheckPredicate, 9,
7176 OPC_CheckPredicate7,
7177 OPC_CheckType, MVT::f32,
7178 OPC_CheckPatternPredicate3,
7179 OPC_CheckComplexPat1, /*#*/1,
7180 OPC_EmitMergeInputChains1_0,
7181 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
7182 MVT::f32, 2, 28,
7183 17,
7184 OPC_RecordChild1,
7185 OPC_CheckPredicate, 9,
7186 OPC_CheckPredicate7,
7187 OPC_CheckType, MVT::f64,
7188 OPC_CheckPatternPredicate4,
7189 OPC_CheckComplexPat3, /*#*/1,
7190 OPC_EmitMergeInputChains1_0,
7191 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
7192 MVT::f64, 2, 49,
7193 53,
7194 OPC_MoveChild1,
7195 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7196 OPC_RecordChild0,
7197 OPC_RecordChild1,
7198 OPC_CheckTypeByHwMode0,
7199 OPC_MoveParent,
7200 OPC_CheckPredicate, 9,
7201 OPC_CheckPredicate7,
7202 OPC_SwitchType , 25, MVT::f64,
7203 OPC_CheckPatternPredicate4,
7204 OPC_Scope, 10,
7205 OPC_CheckComplexPat1, /*#*/1,
7206 OPC_EmitMergeInputChains1_0,
7207 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
7208 MVT::f64, 2, 28,
7209 10,
7210 OPC_CheckComplexPat1, /*#*/2,
7211 OPC_EmitMergeInputChains1_0,
7212 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
7213 MVT::f64, 2, 17,
7214 0,
7215 11, MVT::f32,
7216 OPC_CheckPatternPredicate3,
7217 OPC_CheckComplexPat1, /*#*/2,
7218 OPC_EmitMergeInputChains1_0,
7219 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
7220 MVT::f32, 2, 17,
7221 0,
7222 36,
7223 OPC_RecordChild1,
7224 OPC_CheckPredicate, 9,
7225 OPC_CheckPredicate7,
7226 OPC_SwitchType , 13, MVT::f32,
7227 OPC_CheckPatternPredicate3,
7228 OPC_CheckComplexPat0, /*#*/1,
7229 OPC_EmitMergeInputChains1_0,
7230 OPC_EmitIntegerByHwMode0, 0,
7231 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
7232 MVT::f32, 2, 49,
7233 13, MVT::f64,
7234 OPC_CheckPatternPredicate4,
7235 OPC_CheckComplexPat0, /*#*/1,
7236 OPC_EmitMergeInputChains1_0,
7237 OPC_EmitIntegerByHwMode0, 0,
7238 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
7239 MVT::f64, 2, 49,
7240 0,
7241 11|128,2,
7242 OPC_MoveChild1,
7243 OPC_SwitchOpcode , 0|128,1, TARGET_VAL(ISD::ADD),
7244 OPC_RecordChild0,
7245 OPC_RecordChild1,
7246 OPC_MoveChild1,
7247 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7248 OPC_CheckPredicate4,
7249 OPC_MoveParent,
7250 OPC_CheckPredicate2,
7251 OPC_CheckTypeByHwMode0,
7252 OPC_MoveParent,
7253 OPC_CheckPredicate, 9,
7254 OPC_CheckPredicate7,
7255 OPC_SwitchType , 12, MVT::v16i8,
7256 OPC_CheckPatternPredicate1,
7257 OPC_CheckComplexPat0, /*#*/1,
7258 OPC_EmitMergeInputChains1_0,
7259 OPC_EmitConvertToTarget2,
7260 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7261 MVT::v16i8, 2, 76,
7262 12, MVT::v8i16,
7263 OPC_CheckPatternPredicate1,
7264 OPC_CheckComplexPat0, /*#*/1,
7265 OPC_EmitMergeInputChains1_0,
7266 OPC_EmitConvertToTarget2,
7267 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7268 MVT::v8i16, 2, 76,
7269 12, MVT::v4i32,
7270 OPC_CheckPatternPredicate1,
7271 OPC_CheckComplexPat0, /*#*/1,
7272 OPC_EmitMergeInputChains1_0,
7273 OPC_EmitConvertToTarget2,
7274 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7275 MVT::v4i32, 2, 76,
7276 12, MVT::v2i64,
7277 OPC_CheckPatternPredicate1,
7278 OPC_CheckComplexPat0, /*#*/1,
7279 OPC_EmitMergeInputChains1_0,
7280 OPC_EmitConvertToTarget2,
7281 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7282 MVT::v2i64, 2, 76,
7283 12, MVT::v32i8,
7284 OPC_CheckPatternPredicate0,
7285 OPC_CheckComplexPat0, /*#*/1,
7286 OPC_EmitMergeInputChains1_0,
7287 OPC_EmitConvertToTarget2,
7288 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7289 MVT::v32i8, 2, 76,
7290 12, MVT::v16i16,
7291 OPC_CheckPatternPredicate0,
7292 OPC_CheckComplexPat0, /*#*/1,
7293 OPC_EmitMergeInputChains1_0,
7294 OPC_EmitConvertToTarget2,
7295 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7296 MVT::v16i16, 2, 76,
7297 12, MVT::v8i32,
7298 OPC_CheckPatternPredicate0,
7299 OPC_CheckComplexPat0, /*#*/1,
7300 OPC_EmitMergeInputChains1_0,
7301 OPC_EmitConvertToTarget2,
7302 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7303 MVT::v8i32, 2, 76,
7304 12, MVT::v4i64,
7305 OPC_CheckPatternPredicate0,
7306 OPC_CheckComplexPat0, /*#*/1,
7307 OPC_EmitMergeInputChains1_0,
7308 OPC_EmitConvertToTarget2,
7309 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7310 MVT::v4i64, 2, 76,
7311 0,
7312 0|128,1, TARGET_VAL(ISD::OR),
7313 OPC_RecordChild0,
7314 OPC_RecordChild1,
7315 OPC_MoveChild1,
7316 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7317 OPC_CheckPredicate4,
7318 OPC_MoveParent,
7319 OPC_CheckPredicate2,
7320 OPC_CheckTypeByHwMode0,
7321 OPC_MoveParent,
7322 OPC_CheckPredicate, 9,
7323 OPC_CheckPredicate7,
7324 OPC_SwitchType , 12, MVT::v16i8,
7325 OPC_CheckPatternPredicate1,
7326 OPC_CheckComplexPat0, /*#*/1,
7327 OPC_EmitMergeInputChains1_0,
7328 OPC_EmitConvertToTarget2,
7329 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7330 MVT::v16i8, 2, 76,
7331 12, MVT::v8i16,
7332 OPC_CheckPatternPredicate1,
7333 OPC_CheckComplexPat0, /*#*/1,
7334 OPC_EmitMergeInputChains1_0,
7335 OPC_EmitConvertToTarget2,
7336 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7337 MVT::v8i16, 2, 76,
7338 12, MVT::v4i32,
7339 OPC_CheckPatternPredicate1,
7340 OPC_CheckComplexPat0, /*#*/1,
7341 OPC_EmitMergeInputChains1_0,
7342 OPC_EmitConvertToTarget2,
7343 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7344 MVT::v4i32, 2, 76,
7345 12, MVT::v2i64,
7346 OPC_CheckPatternPredicate1,
7347 OPC_CheckComplexPat0, /*#*/1,
7348 OPC_EmitMergeInputChains1_0,
7349 OPC_EmitConvertToTarget2,
7350 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7351 MVT::v2i64, 2, 76,
7352 12, MVT::v32i8,
7353 OPC_CheckPatternPredicate0,
7354 OPC_CheckComplexPat0, /*#*/1,
7355 OPC_EmitMergeInputChains1_0,
7356 OPC_EmitConvertToTarget2,
7357 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7358 MVT::v32i8, 2, 76,
7359 12, MVT::v16i16,
7360 OPC_CheckPatternPredicate0,
7361 OPC_CheckComplexPat0, /*#*/1,
7362 OPC_EmitMergeInputChains1_0,
7363 OPC_EmitConvertToTarget2,
7364 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7365 MVT::v16i16, 2, 76,
7366 12, MVT::v8i32,
7367 OPC_CheckPatternPredicate0,
7368 OPC_CheckComplexPat0, /*#*/1,
7369 OPC_EmitMergeInputChains1_0,
7370 OPC_EmitConvertToTarget2,
7371 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7372 MVT::v8i32, 2, 76,
7373 12, MVT::v4i64,
7374 OPC_CheckPatternPredicate0,
7375 OPC_CheckComplexPat0, /*#*/1,
7376 OPC_EmitMergeInputChains1_0,
7377 OPC_EmitConvertToTarget2,
7378 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7379 MVT::v4i64, 2, 76,
7380 0,
7381 0,
7382 17,
7383 OPC_RecordChild1,
7384 OPC_CheckPredicate, 9,
7385 OPC_CheckPredicate7,
7386 OPC_CheckType, MVT::v16i8,
7387 OPC_CheckPatternPredicate1,
7388 OPC_CheckComplexPat3, /*#*/1,
7389 OPC_EmitMergeInputChains1_0,
7390 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7391 MVT::v16i8, 2, 49,
7392 24,
7393 OPC_MoveChild1,
7394 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7395 OPC_RecordChild0,
7396 OPC_RecordChild1,
7397 OPC_CheckTypeByHwMode0,
7398 OPC_MoveParent,
7399 OPC_CheckPredicate, 9,
7400 OPC_CheckPredicate7,
7401 OPC_CheckType, MVT::v16i8,
7402 OPC_CheckPatternPredicate1,
7403 OPC_CheckComplexPat1, /*#*/1,
7404 OPC_EmitMergeInputChains1_0,
7405 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7406 MVT::v16i8, 2, 28,
7407 17,
7408 OPC_RecordChild1,
7409 OPC_CheckPredicate, 9,
7410 OPC_CheckPredicate7,
7411 OPC_CheckType, MVT::v8i16,
7412 OPC_CheckPatternPredicate1,
7413 OPC_CheckComplexPat3, /*#*/1,
7414 OPC_EmitMergeInputChains1_0,
7415 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7416 MVT::v8i16, 2, 49,
7417 24,
7418 OPC_MoveChild1,
7419 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7420 OPC_RecordChild0,
7421 OPC_RecordChild1,
7422 OPC_CheckTypeByHwMode0,
7423 OPC_MoveParent,
7424 OPC_CheckPredicate, 9,
7425 OPC_CheckPredicate7,
7426 OPC_CheckType, MVT::v8i16,
7427 OPC_CheckPatternPredicate1,
7428 OPC_CheckComplexPat1, /*#*/1,
7429 OPC_EmitMergeInputChains1_0,
7430 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7431 MVT::v8i16, 2, 28,
7432 17,
7433 OPC_RecordChild1,
7434 OPC_CheckPredicate, 9,
7435 OPC_CheckPredicate7,
7436 OPC_CheckType, MVT::v4i32,
7437 OPC_CheckPatternPredicate1,
7438 OPC_CheckComplexPat3, /*#*/1,
7439 OPC_EmitMergeInputChains1_0,
7440 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7441 MVT::v4i32, 2, 49,
7442 24,
7443 OPC_MoveChild1,
7444 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7445 OPC_RecordChild0,
7446 OPC_RecordChild1,
7447 OPC_CheckTypeByHwMode0,
7448 OPC_MoveParent,
7449 OPC_CheckPredicate, 9,
7450 OPC_CheckPredicate7,
7451 OPC_CheckType, MVT::v4i32,
7452 OPC_CheckPatternPredicate1,
7453 OPC_CheckComplexPat1, /*#*/1,
7454 OPC_EmitMergeInputChains1_0,
7455 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7456 MVT::v4i32, 2, 28,
7457 17,
7458 OPC_RecordChild1,
7459 OPC_CheckPredicate, 9,
7460 OPC_CheckPredicate7,
7461 OPC_CheckType, MVT::v2i64,
7462 OPC_CheckPatternPredicate1,
7463 OPC_CheckComplexPat3, /*#*/1,
7464 OPC_EmitMergeInputChains1_0,
7465 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7466 MVT::v2i64, 2, 49,
7467 24,
7468 OPC_MoveChild1,
7469 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7470 OPC_RecordChild0,
7471 OPC_RecordChild1,
7472 OPC_CheckTypeByHwMode0,
7473 OPC_MoveParent,
7474 OPC_CheckPredicate, 9,
7475 OPC_CheckPredicate7,
7476 OPC_CheckType, MVT::v2i64,
7477 OPC_CheckPatternPredicate1,
7478 OPC_CheckComplexPat1, /*#*/1,
7479 OPC_EmitMergeInputChains1_0,
7480 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7481 MVT::v2i64, 2, 28,
7482 17,
7483 OPC_RecordChild1,
7484 OPC_CheckPredicate, 9,
7485 OPC_CheckPredicate7,
7486 OPC_CheckType, MVT::v32i8,
7487 OPC_CheckPatternPredicate0,
7488 OPC_CheckComplexPat3, /*#*/1,
7489 OPC_EmitMergeInputChains1_0,
7490 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7491 MVT::v32i8, 2, 49,
7492 24,
7493 OPC_MoveChild1,
7494 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7495 OPC_RecordChild0,
7496 OPC_RecordChild1,
7497 OPC_CheckTypeByHwMode0,
7498 OPC_MoveParent,
7499 OPC_CheckPredicate, 9,
7500 OPC_CheckPredicate7,
7501 OPC_CheckType, MVT::v32i8,
7502 OPC_CheckPatternPredicate0,
7503 OPC_CheckComplexPat1, /*#*/1,
7504 OPC_EmitMergeInputChains1_0,
7505 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7506 MVT::v32i8, 2, 28,
7507 17,
7508 OPC_RecordChild1,
7509 OPC_CheckPredicate, 9,
7510 OPC_CheckPredicate7,
7511 OPC_CheckType, MVT::v16i16,
7512 OPC_CheckPatternPredicate0,
7513 OPC_CheckComplexPat3, /*#*/1,
7514 OPC_EmitMergeInputChains1_0,
7515 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7516 MVT::v16i16, 2, 49,
7517 24,
7518 OPC_MoveChild1,
7519 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7520 OPC_RecordChild0,
7521 OPC_RecordChild1,
7522 OPC_CheckTypeByHwMode0,
7523 OPC_MoveParent,
7524 OPC_CheckPredicate, 9,
7525 OPC_CheckPredicate7,
7526 OPC_CheckType, MVT::v16i16,
7527 OPC_CheckPatternPredicate0,
7528 OPC_CheckComplexPat1, /*#*/1,
7529 OPC_EmitMergeInputChains1_0,
7530 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7531 MVT::v16i16, 2, 28,
7532 17,
7533 OPC_RecordChild1,
7534 OPC_CheckPredicate, 9,
7535 OPC_CheckPredicate7,
7536 OPC_CheckType, MVT::v8i32,
7537 OPC_CheckPatternPredicate0,
7538 OPC_CheckComplexPat3, /*#*/1,
7539 OPC_EmitMergeInputChains1_0,
7540 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7541 MVT::v8i32, 2, 49,
7542 24,
7543 OPC_MoveChild1,
7544 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7545 OPC_RecordChild0,
7546 OPC_RecordChild1,
7547 OPC_CheckTypeByHwMode0,
7548 OPC_MoveParent,
7549 OPC_CheckPredicate, 9,
7550 OPC_CheckPredicate7,
7551 OPC_CheckType, MVT::v8i32,
7552 OPC_CheckPatternPredicate0,
7553 OPC_CheckComplexPat1, /*#*/1,
7554 OPC_EmitMergeInputChains1_0,
7555 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7556 MVT::v8i32, 2, 28,
7557 17,
7558 OPC_RecordChild1,
7559 OPC_CheckPredicate, 9,
7560 OPC_CheckPredicate7,
7561 OPC_CheckType, MVT::v4i64,
7562 OPC_CheckPatternPredicate0,
7563 OPC_CheckComplexPat3, /*#*/1,
7564 OPC_EmitMergeInputChains1_0,
7565 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7566 MVT::v4i64, 2, 49,
7567 3|128,1,
7568 OPC_MoveChild1,
7569 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7570 OPC_RecordChild0,
7571 OPC_RecordChild1,
7572 OPC_CheckTypeByHwMode0,
7573 OPC_MoveParent,
7574 OPC_CheckPredicate, 9,
7575 OPC_CheckPredicate7,
7576 OPC_SwitchType , 25, MVT::v4i64,
7577 OPC_CheckPatternPredicate0,
7578 OPC_Scope, 10,
7579 OPC_CheckComplexPat1, /*#*/1,
7580 OPC_EmitMergeInputChains1_0,
7581 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7582 MVT::v4i64, 2, 28,
7583 10,
7584 OPC_CheckComplexPat1, /*#*/2,
7585 OPC_EmitMergeInputChains1_0,
7586 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7587 MVT::v4i64, 2, 17,
7588 0,
7589 11, MVT::v16i8,
7590 OPC_CheckPatternPredicate1,
7591 OPC_CheckComplexPat1, /*#*/2,
7592 OPC_EmitMergeInputChains1_0,
7593 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7594 MVT::v16i8, 2, 17,
7595 11, MVT::v8i16,
7596 OPC_CheckPatternPredicate1,
7597 OPC_CheckComplexPat1, /*#*/2,
7598 OPC_EmitMergeInputChains1_0,
7599 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7600 MVT::v8i16, 2, 17,
7601 11, MVT::v4i32,
7602 OPC_CheckPatternPredicate1,
7603 OPC_CheckComplexPat1, /*#*/2,
7604 OPC_EmitMergeInputChains1_0,
7605 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7606 MVT::v4i32, 2, 17,
7607 11, MVT::v2i64,
7608 OPC_CheckPatternPredicate1,
7609 OPC_CheckComplexPat1, /*#*/2,
7610 OPC_EmitMergeInputChains1_0,
7611 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7612 MVT::v2i64, 2, 17,
7613 11, MVT::v32i8,
7614 OPC_CheckPatternPredicate0,
7615 OPC_CheckComplexPat1, /*#*/2,
7616 OPC_EmitMergeInputChains1_0,
7617 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7618 MVT::v32i8, 2, 17,
7619 11, MVT::v16i16,
7620 OPC_CheckPatternPredicate0,
7621 OPC_CheckComplexPat1, /*#*/2,
7622 OPC_EmitMergeInputChains1_0,
7623 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7624 MVT::v16i16, 2, 17,
7625 11, MVT::v8i32,
7626 OPC_CheckPatternPredicate0,
7627 OPC_CheckComplexPat1, /*#*/2,
7628 OPC_EmitMergeInputChains1_0,
7629 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7630 MVT::v8i32, 2, 17,
7631 0,
7632 126,
7633 OPC_RecordChild1,
7634 OPC_CheckPredicate, 9,
7635 OPC_CheckPredicate7,
7636 OPC_SwitchType , 13, MVT::v16i8,
7637 OPC_CheckPatternPredicate1,
7638 OPC_CheckComplexPat0, /*#*/1,
7639 OPC_EmitMergeInputChains1_0,
7640 OPC_EmitIntegerByHwMode0, 0,
7641 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7642 MVT::v16i8, 2, 49,
7643 13, MVT::v8i16,
7644 OPC_CheckPatternPredicate1,
7645 OPC_CheckComplexPat0, /*#*/1,
7646 OPC_EmitMergeInputChains1_0,
7647 OPC_EmitIntegerByHwMode0, 0,
7648 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7649 MVT::v8i16, 2, 49,
7650 13, MVT::v4i32,
7651 OPC_CheckPatternPredicate1,
7652 OPC_CheckComplexPat0, /*#*/1,
7653 OPC_EmitMergeInputChains1_0,
7654 OPC_EmitIntegerByHwMode0, 0,
7655 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7656 MVT::v4i32, 2, 49,
7657 13, MVT::v2i64,
7658 OPC_CheckPatternPredicate1,
7659 OPC_CheckComplexPat0, /*#*/1,
7660 OPC_EmitMergeInputChains1_0,
7661 OPC_EmitIntegerByHwMode0, 0,
7662 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7663 MVT::v2i64, 2, 49,
7664 13, MVT::v32i8,
7665 OPC_CheckPatternPredicate0,
7666 OPC_CheckComplexPat0, /*#*/1,
7667 OPC_EmitMergeInputChains1_0,
7668 OPC_EmitIntegerByHwMode0, 0,
7669 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7670 MVT::v32i8, 2, 49,
7671 13, MVT::v16i16,
7672 OPC_CheckPatternPredicate0,
7673 OPC_CheckComplexPat0, /*#*/1,
7674 OPC_EmitMergeInputChains1_0,
7675 OPC_EmitIntegerByHwMode0, 0,
7676 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7677 MVT::v16i16, 2, 49,
7678 13, MVT::v8i32,
7679 OPC_CheckPatternPredicate0,
7680 OPC_CheckComplexPat0, /*#*/1,
7681 OPC_EmitMergeInputChains1_0,
7682 OPC_EmitIntegerByHwMode0, 0,
7683 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7684 MVT::v8i32, 2, 49,
7685 13, MVT::v4i64,
7686 OPC_CheckPatternPredicate0,
7687 OPC_CheckComplexPat0, /*#*/1,
7688 OPC_EmitMergeInputChains1_0,
7689 OPC_EmitIntegerByHwMode0, 0,
7690 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7691 MVT::v4i64, 2, 49,
7692 0,
7693 41|128,1,
7694 OPC_MoveChild1,
7695 OPC_SwitchOpcode , 80, TARGET_VAL(ISD::ADD),
7696 OPC_RecordChild0,
7697 OPC_RecordChild1,
7698 OPC_MoveChild1,
7699 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7700 OPC_CheckPredicate4,
7701 OPC_MoveParent,
7702 OPC_CheckPredicate2,
7703 OPC_CheckTypeByHwMode0,
7704 OPC_MoveParent,
7705 OPC_CheckPredicate, 9,
7706 OPC_CheckPredicate7,
7707 OPC_SwitchType , 13, 8|128,1,
7708 OPC_CheckPatternPredicate1,
7709 OPC_CheckComplexPat0, /*#*/1,
7710 OPC_EmitMergeInputChains1_0,
7711 OPC_EmitConvertToTarget2,
7712 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7713 8|128,1, 2, 76,
7714 13, 26|128,1,
7715 OPC_CheckPatternPredicate1,
7716 OPC_CheckComplexPat0, /*#*/1,
7717 OPC_EmitMergeInputChains1_0,
7718 OPC_EmitConvertToTarget2,
7719 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7720 26|128,1, 2, 76,
7721 13, 12|128,1,
7722 OPC_CheckPatternPredicate0,
7723 OPC_CheckComplexPat0, /*#*/1,
7724 OPC_EmitMergeInputChains1_0,
7725 OPC_EmitConvertToTarget2,
7726 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7727 12|128,1, 2, 76,
7728 13, 28|128,1,
7729 OPC_CheckPatternPredicate0,
7730 OPC_CheckComplexPat0, /*#*/1,
7731 OPC_EmitMergeInputChains1_0,
7732 OPC_EmitConvertToTarget2,
7733 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7734 28|128,1, 2, 76,
7735 0,
7736 80, TARGET_VAL(ISD::OR),
7737 OPC_RecordChild0,
7738 OPC_RecordChild1,
7739 OPC_MoveChild1,
7740 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7741 OPC_CheckPredicate4,
7742 OPC_MoveParent,
7743 OPC_CheckPredicate2,
7744 OPC_CheckTypeByHwMode0,
7745 OPC_MoveParent,
7746 OPC_CheckPredicate, 9,
7747 OPC_CheckPredicate7,
7748 OPC_SwitchType , 13, 8|128,1,
7749 OPC_CheckPatternPredicate1,
7750 OPC_CheckComplexPat0, /*#*/1,
7751 OPC_EmitMergeInputChains1_0,
7752 OPC_EmitConvertToTarget2,
7753 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7754 8|128,1, 2, 76,
7755 13, 26|128,1,
7756 OPC_CheckPatternPredicate1,
7757 OPC_CheckComplexPat0, /*#*/1,
7758 OPC_EmitMergeInputChains1_0,
7759 OPC_EmitConvertToTarget2,
7760 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7761 26|128,1, 2, 76,
7762 13, 12|128,1,
7763 OPC_CheckPatternPredicate0,
7764 OPC_CheckComplexPat0, /*#*/1,
7765 OPC_EmitMergeInputChains1_0,
7766 OPC_EmitConvertToTarget2,
7767 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7768 12|128,1, 2, 76,
7769 13, 28|128,1,
7770 OPC_CheckPatternPredicate0,
7771 OPC_CheckComplexPat0, /*#*/1,
7772 OPC_EmitMergeInputChains1_0,
7773 OPC_EmitConvertToTarget2,
7774 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7775 28|128,1, 2, 76,
7776 0,
7777 0,
7778 19,
7779 OPC_RecordChild1,
7780 OPC_CheckPredicate, 9,
7781 OPC_CheckPredicate7,
7782 OPC_CheckType, 8|128,1,
7783 OPC_CheckPatternPredicate1,
7784 OPC_CheckComplexPat3, /*#*/1,
7785 OPC_EmitMergeInputChains1_0,
7786 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7787 8|128,1, 2, 49,
7788 26,
7789 OPC_MoveChild1,
7790 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7791 OPC_RecordChild0,
7792 OPC_RecordChild1,
7793 OPC_CheckTypeByHwMode0,
7794 OPC_MoveParent,
7795 OPC_CheckPredicate, 9,
7796 OPC_CheckPredicate7,
7797 OPC_CheckType, 8|128,1,
7798 OPC_CheckPatternPredicate1,
7799 OPC_CheckComplexPat1, /*#*/1,
7800 OPC_EmitMergeInputChains1_0,
7801 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7802 8|128,1, 2, 28,
7803 19,
7804 OPC_RecordChild1,
7805 OPC_CheckPredicate, 9,
7806 OPC_CheckPredicate7,
7807 OPC_CheckType, 26|128,1,
7808 OPC_CheckPatternPredicate1,
7809 OPC_CheckComplexPat3, /*#*/1,
7810 OPC_EmitMergeInputChains1_0,
7811 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7812 26|128,1, 2, 49,
7813 26,
7814 OPC_MoveChild1,
7815 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7816 OPC_RecordChild0,
7817 OPC_RecordChild1,
7818 OPC_CheckTypeByHwMode0,
7819 OPC_MoveParent,
7820 OPC_CheckPredicate, 9,
7821 OPC_CheckPredicate7,
7822 OPC_CheckType, 26|128,1,
7823 OPC_CheckPatternPredicate1,
7824 OPC_CheckComplexPat1, /*#*/1,
7825 OPC_EmitMergeInputChains1_0,
7826 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7827 26|128,1, 2, 28,
7828 19,
7829 OPC_RecordChild1,
7830 OPC_CheckPredicate, 9,
7831 OPC_CheckPredicate7,
7832 OPC_CheckType, 12|128,1,
7833 OPC_CheckPatternPredicate0,
7834 OPC_CheckComplexPat3, /*#*/1,
7835 OPC_EmitMergeInputChains1_0,
7836 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7837 12|128,1, 2, 49,
7838 26,
7839 OPC_MoveChild1,
7840 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7841 OPC_RecordChild0,
7842 OPC_RecordChild1,
7843 OPC_CheckTypeByHwMode0,
7844 OPC_MoveParent,
7845 OPC_CheckPredicate, 9,
7846 OPC_CheckPredicate7,
7847 OPC_CheckType, 12|128,1,
7848 OPC_CheckPatternPredicate0,
7849 OPC_CheckComplexPat1, /*#*/1,
7850 OPC_EmitMergeInputChains1_0,
7851 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7852 12|128,1, 2, 28,
7853 19,
7854 OPC_RecordChild1,
7855 OPC_CheckPredicate, 9,
7856 OPC_CheckPredicate7,
7857 OPC_CheckType, 28|128,1,
7858 OPC_CheckPatternPredicate0,
7859 OPC_CheckComplexPat3, /*#*/1,
7860 OPC_EmitMergeInputChains1_0,
7861 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7862 28|128,1, 2, 49,
7863 88,
7864 OPC_MoveChild1,
7865 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7866 OPC_RecordChild0,
7867 OPC_RecordChild1,
7868 OPC_CheckTypeByHwMode0,
7869 OPC_MoveParent,
7870 OPC_CheckPredicate, 9,
7871 OPC_CheckPredicate7,
7872 OPC_SwitchType , 27, 28|128,1,
7873 OPC_CheckPatternPredicate0,
7874 OPC_Scope, 11,
7875 OPC_CheckComplexPat1, /*#*/1,
7876 OPC_EmitMergeInputChains1_0,
7877 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7878 28|128,1, 2, 28,
7879 11,
7880 OPC_CheckComplexPat1, /*#*/2,
7881 OPC_EmitMergeInputChains1_0,
7882 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7883 28|128,1, 2, 17,
7884 0,
7885 12, 8|128,1,
7886 OPC_CheckPatternPredicate1,
7887 OPC_CheckComplexPat1, /*#*/2,
7888 OPC_EmitMergeInputChains1_0,
7889 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7890 8|128,1, 2, 17,
7891 12, 26|128,1,
7892 OPC_CheckPatternPredicate1,
7893 OPC_CheckComplexPat1, /*#*/2,
7894 OPC_EmitMergeInputChains1_0,
7895 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7896 26|128,1, 2, 17,
7897 12, 12|128,1,
7898 OPC_CheckPatternPredicate0,
7899 OPC_CheckComplexPat1, /*#*/2,
7900 OPC_EmitMergeInputChains1_0,
7901 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7902 12|128,1, 2, 17,
7903 0,
7904 74,
7905 OPC_RecordChild1,
7906 OPC_CheckPredicate, 9,
7907 OPC_CheckPredicate7,
7908 OPC_SwitchType , 14, 8|128,1,
7909 OPC_CheckPatternPredicate1,
7910 OPC_CheckComplexPat0, /*#*/1,
7911 OPC_EmitMergeInputChains1_0,
7912 OPC_EmitIntegerByHwMode0, 0,
7913 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7914 8|128,1, 2, 49,
7915 14, 26|128,1,
7916 OPC_CheckPatternPredicate1,
7917 OPC_CheckComplexPat0, /*#*/1,
7918 OPC_EmitMergeInputChains1_0,
7919 OPC_EmitIntegerByHwMode0, 0,
7920 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7921 26|128,1, 2, 49,
7922 14, 12|128,1,
7923 OPC_CheckPatternPredicate0,
7924 OPC_CheckComplexPat0, /*#*/1,
7925 OPC_EmitMergeInputChains1_0,
7926 OPC_EmitIntegerByHwMode0, 0,
7927 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7928 12|128,1, 2, 49,
7929 14, 28|128,1,
7930 OPC_CheckPatternPredicate0,
7931 OPC_CheckComplexPat0, /*#*/1,
7932 OPC_EmitMergeInputChains1_0,
7933 OPC_EmitIntegerByHwMode0, 0,
7934 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7935 28|128,1, 2, 49,
7936 0,
7937 0,
7938 100|128,4, TARGET_VAL(ISD::ATOMIC_LOAD),
7939 OPC_RecordMemRef,
7940 OPC_RecordNode,
7941 OPC_Scope, 63|128,2,
7942 OPC_MoveChild1,
7943 OPC_SwitchOpcode , 26|128,1, TARGET_VAL(ISD::ADD),
7944 OPC_RecordChild0,
7945 OPC_RecordChild1,
7946 OPC_MoveChild1,
7947 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7948 OPC_CheckPredicate4,
7949 OPC_MoveParent,
7950 OPC_CheckPredicate2,
7951 OPC_CheckTypeByHwMode0,
7952 OPC_MoveParent,
7953 OPC_Scope, 16,
7954 OPC_CheckPredicate, 27,
7955 OPC_CheckPredicate5,
7956 OPC_CheckTypeByHwMode0,
7957 OPC_CheckComplexPat0, /*#*/1,
7958 OPC_EmitMergeInputChains1_0,
7959 OPC_EmitConvertToTarget2,
7960 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
7961 1, 0, 2, 76,
7962 16,
7963 OPC_CheckPredicate, 28,
7964 OPC_CheckPredicate5,
7965 OPC_CheckTypeByHwMode0,
7966 OPC_CheckComplexPat0, /*#*/1,
7967 OPC_EmitMergeInputChains1_0,
7968 OPC_EmitConvertToTarget2,
7969 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
7970 1, 0, 2, 76,
7971 16,
7972 OPC_CheckPredicate, 27,
7973 OPC_CheckPredicate6,
7974 OPC_CheckTypeByHwMode0,
7975 OPC_CheckComplexPat0, /*#*/1,
7976 OPC_EmitMergeInputChains1_0,
7977 OPC_EmitConvertToTarget2,
7978 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
7979 1, 0, 2, 76,
7980 16,
7981 OPC_CheckPredicate, 28,
7982 OPC_CheckPredicate6,
7983 OPC_CheckTypeByHwMode0,
7984 OPC_CheckComplexPat0, /*#*/1,
7985 OPC_EmitMergeInputChains1_0,
7986 OPC_EmitConvertToTarget2,
7987 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
7988 1, 0, 2, 76,
7989 17,
7990 OPC_CheckPredicate, 36,
7991 OPC_CheckPredicate3,
7992 OPC_CheckTypeByHwMode0,
7993 OPC_CheckPatternPredicate5,
7994 OPC_CheckComplexPat0, /*#*/1,
7995 OPC_EmitMergeInputChains1_0,
7996 OPC_EmitConvertToTarget2,
7997 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
7998 1, 0, 2, 76,
7999 17,
8000 OPC_CheckPredicate, 27,
8001 OPC_CheckPredicate3,
8002 OPC_CheckTypeByHwMode0,
8003 OPC_CheckPatternPredicate2,
8004 OPC_CheckComplexPat0, /*#*/1,
8005 OPC_EmitMergeInputChains1_0,
8006 OPC_EmitConvertToTarget2,
8007 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8008 1, 0, 2, 76,
8009 17,
8010 OPC_CheckPredicate, 28,
8011 OPC_CheckPredicate3,
8012 OPC_CheckTypeByHwMode0,
8013 OPC_CheckPatternPredicate2,
8014 OPC_CheckComplexPat0, /*#*/1,
8015 OPC_EmitMergeInputChains1_0,
8016 OPC_EmitConvertToTarget2,
8017 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8018 1, 0, 2, 76,
8019 18,
8020 OPC_CheckPredicate, 36,
8021 OPC_CheckPredicate, 19,
8022 OPC_CheckTypeByHwMode0,
8023 OPC_CheckPatternPredicate2,
8024 OPC_CheckComplexPat0, /*#*/1,
8025 OPC_EmitMergeInputChains1_0,
8026 OPC_EmitConvertToTarget2,
8027 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
8028 1, 0, 2, 76,
8029 0,
8030 26|128,1, TARGET_VAL(ISD::OR),
8031 OPC_RecordChild0,
8032 OPC_RecordChild1,
8033 OPC_MoveChild1,
8034 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8035 OPC_CheckPredicate4,
8036 OPC_MoveParent,
8037 OPC_CheckPredicate2,
8038 OPC_CheckTypeByHwMode0,
8039 OPC_MoveParent,
8040 OPC_Scope, 16,
8041 OPC_CheckPredicate, 27,
8042 OPC_CheckPredicate5,
8043 OPC_CheckTypeByHwMode0,
8044 OPC_CheckComplexPat0, /*#*/1,
8045 OPC_EmitMergeInputChains1_0,
8046 OPC_EmitConvertToTarget2,
8047 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8048 1, 0, 2, 76,
8049 16,
8050 OPC_CheckPredicate, 28,
8051 OPC_CheckPredicate5,
8052 OPC_CheckTypeByHwMode0,
8053 OPC_CheckComplexPat0, /*#*/1,
8054 OPC_EmitMergeInputChains1_0,
8055 OPC_EmitConvertToTarget2,
8056 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8057 1, 0, 2, 76,
8058 16,
8059 OPC_CheckPredicate, 27,
8060 OPC_CheckPredicate6,
8061 OPC_CheckTypeByHwMode0,
8062 OPC_CheckComplexPat0, /*#*/1,
8063 OPC_EmitMergeInputChains1_0,
8064 OPC_EmitConvertToTarget2,
8065 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8066 1, 0, 2, 76,
8067 16,
8068 OPC_CheckPredicate, 28,
8069 OPC_CheckPredicate6,
8070 OPC_CheckTypeByHwMode0,
8071 OPC_CheckComplexPat0, /*#*/1,
8072 OPC_EmitMergeInputChains1_0,
8073 OPC_EmitConvertToTarget2,
8074 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8075 1, 0, 2, 76,
8076 17,
8077 OPC_CheckPredicate, 36,
8078 OPC_CheckPredicate3,
8079 OPC_CheckTypeByHwMode0,
8080 OPC_CheckPatternPredicate5,
8081 OPC_CheckComplexPat0, /*#*/1,
8082 OPC_EmitMergeInputChains1_0,
8083 OPC_EmitConvertToTarget2,
8084 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8085 1, 0, 2, 76,
8086 17,
8087 OPC_CheckPredicate, 27,
8088 OPC_CheckPredicate3,
8089 OPC_CheckTypeByHwMode0,
8090 OPC_CheckPatternPredicate2,
8091 OPC_CheckComplexPat0, /*#*/1,
8092 OPC_EmitMergeInputChains1_0,
8093 OPC_EmitConvertToTarget2,
8094 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8095 1, 0, 2, 76,
8096 17,
8097 OPC_CheckPredicate, 28,
8098 OPC_CheckPredicate3,
8099 OPC_CheckTypeByHwMode0,
8100 OPC_CheckPatternPredicate2,
8101 OPC_CheckComplexPat0, /*#*/1,
8102 OPC_EmitMergeInputChains1_0,
8103 OPC_EmitConvertToTarget2,
8104 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8105 1, 0, 2, 76,
8106 18,
8107 OPC_CheckPredicate, 36,
8108 OPC_CheckPredicate, 19,
8109 OPC_CheckTypeByHwMode0,
8110 OPC_CheckPatternPredicate2,
8111 OPC_CheckComplexPat0, /*#*/1,
8112 OPC_EmitMergeInputChains1_0,
8113 OPC_EmitConvertToTarget2,
8114 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
8115 1, 0, 2, 76,
8116 0,
8117 0,
8118 29|128,2,
8119 OPC_RecordChild1,
8120 OPC_Scope, 15,
8121 OPC_CheckPredicate, 27,
8122 OPC_CheckPredicate5,
8123 OPC_CheckTypeByHwMode0,
8124 OPC_CheckComplexPat3, /*#*/1,
8125 OPC_EmitMergeInputChains1_0,
8126 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8127 1, 0, 2, 49,
8128 15,
8129 OPC_CheckPredicate, 28,
8130 OPC_CheckPredicate5,
8131 OPC_CheckTypeByHwMode0,
8132 OPC_CheckComplexPat3, /*#*/1,
8133 OPC_EmitMergeInputChains1_0,
8134 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8135 1, 0, 2, 49,
8136 15,
8137 OPC_CheckPredicate, 27,
8138 OPC_CheckPredicate6,
8139 OPC_CheckTypeByHwMode0,
8140 OPC_CheckComplexPat3, /*#*/1,
8141 OPC_EmitMergeInputChains1_0,
8142 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8143 1, 0, 2, 49,
8144 15,
8145 OPC_CheckPredicate, 28,
8146 OPC_CheckPredicate6,
8147 OPC_CheckTypeByHwMode0,
8148 OPC_CheckComplexPat3, /*#*/1,
8149 OPC_EmitMergeInputChains1_0,
8150 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8151 1, 0, 2, 49,
8152 16,
8153 OPC_CheckPredicate, 36,
8154 OPC_CheckPredicate3,
8155 OPC_CheckTypeByHwMode0,
8156 OPC_CheckPatternPredicate5,
8157 OPC_CheckComplexPat3, /*#*/1,
8158 OPC_EmitMergeInputChains1_0,
8159 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8160 1, 0, 2, 49,
8161 16,
8162 OPC_CheckPredicate, 27,
8163 OPC_CheckPredicate3,
8164 OPC_CheckTypeByHwMode0,
8165 OPC_CheckPatternPredicate2,
8166 OPC_CheckComplexPat3, /*#*/1,
8167 OPC_EmitMergeInputChains1_0,
8168 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8169 1, 0, 2, 49,
8170 16,
8171 OPC_CheckPredicate, 28,
8172 OPC_CheckPredicate3,
8173 OPC_CheckTypeByHwMode0,
8174 OPC_CheckPatternPredicate2,
8175 OPC_CheckComplexPat3, /*#*/1,
8176 OPC_EmitMergeInputChains1_0,
8177 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8178 1, 0, 2, 49,
8179 17,
8180 OPC_CheckPredicate, 36,
8181 OPC_CheckPredicate, 19,
8182 OPC_CheckTypeByHwMode0,
8183 OPC_CheckPatternPredicate2,
8184 OPC_CheckComplexPat3, /*#*/1,
8185 OPC_EmitMergeInputChains1_0,
8186 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
8187 1, 0, 2, 49,
8188 17,
8189 OPC_CheckPredicate, 27,
8190 OPC_CheckPredicate5,
8191 OPC_CheckTypeByHwMode0,
8192 OPC_CheckComplexPat0, /*#*/1,
8193 OPC_EmitMergeInputChains1_0,
8194 OPC_EmitIntegerByHwMode0, 0,
8195 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8196 1, 0, 2, 49,
8197 17,
8198 OPC_CheckPredicate, 28,
8199 OPC_CheckPredicate5,
8200 OPC_CheckTypeByHwMode0,
8201 OPC_CheckComplexPat0, /*#*/1,
8202 OPC_EmitMergeInputChains1_0,
8203 OPC_EmitIntegerByHwMode0, 0,
8204 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8205 1, 0, 2, 49,
8206 17,
8207 OPC_CheckPredicate, 27,
8208 OPC_CheckPredicate6,
8209 OPC_CheckTypeByHwMode0,
8210 OPC_CheckComplexPat0, /*#*/1,
8211 OPC_EmitMergeInputChains1_0,
8212 OPC_EmitIntegerByHwMode0, 0,
8213 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8214 1, 0, 2, 49,
8215 17,
8216 OPC_CheckPredicate, 28,
8217 OPC_CheckPredicate6,
8218 OPC_CheckTypeByHwMode0,
8219 OPC_CheckComplexPat0, /*#*/1,
8220 OPC_EmitMergeInputChains1_0,
8221 OPC_EmitIntegerByHwMode0, 0,
8222 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8223 1, 0, 2, 49,
8224 18,
8225 OPC_CheckPredicate, 36,
8226 OPC_CheckPredicate3,
8227 OPC_CheckTypeByHwMode0,
8228 OPC_CheckPatternPredicate5,
8229 OPC_CheckComplexPat0, /*#*/1,
8230 OPC_EmitMergeInputChains1_0,
8231 OPC_EmitIntegerByHwMode0, 0,
8232 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8233 1, 0, 2, 49,
8234 18,
8235 OPC_CheckPredicate, 27,
8236 OPC_CheckPredicate3,
8237 OPC_CheckTypeByHwMode0,
8238 OPC_CheckPatternPredicate2,
8239 OPC_CheckComplexPat0, /*#*/1,
8240 OPC_EmitMergeInputChains1_0,
8241 OPC_EmitIntegerByHwMode0, 0,
8242 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8243 1, 0, 2, 49,
8244 18,
8245 OPC_CheckPredicate, 28,
8246 OPC_CheckPredicate3,
8247 OPC_CheckTypeByHwMode0,
8248 OPC_CheckPatternPredicate2,
8249 OPC_CheckComplexPat0, /*#*/1,
8250 OPC_EmitMergeInputChains1_0,
8251 OPC_EmitIntegerByHwMode0, 0,
8252 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8253 1, 0, 2, 49,
8254 19,
8255 OPC_CheckPredicate, 36,
8256 OPC_CheckPredicate, 19,
8257 OPC_CheckTypeByHwMode0,
8258 OPC_CheckPatternPredicate2,
8259 OPC_CheckComplexPat0, /*#*/1,
8260 OPC_EmitMergeInputChains1_0,
8261 OPC_EmitIntegerByHwMode0, 0,
8262 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
8263 1, 0, 2, 49,
8264 0,
8265 0,
8266 67|128,3, TARGET_VAL(ISD::ATOMIC_STORE),
8267 OPC_RecordMemRef,
8268 OPC_RecordNode,
8269 OPC_RecordChild1,
8270 OPC_Scope, 84,
8271 OPC_CheckChild1TypeByHwMode0,
8272 OPC_MoveChild2,
8273 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::ADD),
8274 OPC_RecordChild0,
8275 OPC_RecordChild1,
8276 OPC_MoveChild1,
8277 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8278 OPC_CheckPredicate4,
8279 OPC_MoveParent,
8280 OPC_CheckPredicate2,
8281 OPC_CheckTypeByHwMode0,
8282 OPC_MoveParent,
8283 OPC_Scope, 11,
8284 OPC_CheckPredicate5,
8285 OPC_CheckComplexPat0, /*#*/2,
8286 OPC_EmitMergeInputChains1_0,
8287 OPC_EmitConvertToTarget3,
8288 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
8289 3, 96,
8290 11,
8291 OPC_CheckPredicate6,
8292 OPC_CheckComplexPat0, /*#*/2,
8293 OPC_EmitMergeInputChains1_0,
8294 OPC_EmitConvertToTarget3,
8295 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
8296 3, 96,
8297 0,
8298 37, TARGET_VAL(ISD::OR),
8299 OPC_RecordChild0,
8300 OPC_RecordChild1,
8301 OPC_MoveChild1,
8302 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8303 OPC_CheckPredicate4,
8304 OPC_MoveParent,
8305 OPC_CheckPredicate2,
8306 OPC_CheckTypeByHwMode0,
8307 OPC_MoveParent,
8308 OPC_Scope, 11,
8309 OPC_CheckPredicate5,
8310 OPC_CheckComplexPat0, /*#*/2,
8311 OPC_EmitMergeInputChains1_0,
8312 OPC_EmitConvertToTarget3,
8313 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
8314 3, 96,
8315 11,
8316 OPC_CheckPredicate6,
8317 OPC_CheckComplexPat0, /*#*/2,
8318 OPC_EmitMergeInputChains1_0,
8319 OPC_EmitConvertToTarget3,
8320 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
8321 3, 96,
8322 0,
8323 0,
8324 60,
8325 OPC_CheckChild1TypeI32,
8326 OPC_MoveChild2,
8327 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::ADD),
8328 OPC_RecordChild0,
8329 OPC_RecordChild1,
8330 OPC_MoveChild1,
8331 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8332 OPC_CheckPredicate4,
8333 OPC_MoveParent,
8334 OPC_CheckPredicate2,
8335 OPC_CheckTypeByHwMode0,
8336 OPC_MoveParent,
8337 OPC_CheckPredicate3,
8338 OPC_CheckPredicate, 29,
8339 OPC_CheckPatternPredicate5,
8340 OPC_CheckComplexPat0, /*#*/2,
8341 OPC_EmitMergeInputChains1_0,
8342 OPC_EmitConvertToTarget3,
8343 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8344 3, 96,
8345 25, TARGET_VAL(ISD::OR),
8346 OPC_RecordChild0,
8347 OPC_RecordChild1,
8348 OPC_MoveChild1,
8349 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8350 OPC_CheckPredicate4,
8351 OPC_MoveParent,
8352 OPC_CheckPredicate2,
8353 OPC_CheckTypeByHwMode0,
8354 OPC_MoveParent,
8355 OPC_CheckPredicate3,
8356 OPC_CheckPredicate, 29,
8357 OPC_CheckPatternPredicate5,
8358 OPC_CheckComplexPat0, /*#*/2,
8359 OPC_EmitMergeInputChains1_0,
8360 OPC_EmitConvertToTarget3,
8361 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8362 3, 96,
8363 0,
8364 99,
8365 OPC_CheckChild1TypeByHwMode, 1,
8366 OPC_MoveChild2,
8367 OPC_SwitchOpcode , 44, TARGET_VAL(ISD::ADD),
8368 OPC_RecordChild0,
8369 OPC_RecordChild1,
8370 OPC_MoveChild1,
8371 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8372 OPC_CheckPredicate4,
8373 OPC_MoveParent,
8374 OPC_CheckPredicate2,
8375 OPC_CheckTypeByHwMode0,
8376 OPC_MoveParent,
8377 OPC_Scope, 14,
8378 OPC_CheckPredicate3,
8379 OPC_CheckPredicate, 29,
8380 OPC_CheckPatternPredicate2,
8381 OPC_CheckComplexPat0, /*#*/2,
8382 OPC_EmitMergeInputChains1_0,
8383 OPC_EmitConvertToTarget3,
8384 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8385 3, 96,
8386 15,
8387 OPC_CheckPredicate, 19,
8388 OPC_CheckPredicate, 29,
8389 OPC_CheckPatternPredicate2,
8390 OPC_CheckComplexPat0, /*#*/2,
8391 OPC_EmitMergeInputChains1_0,
8392 OPC_EmitConvertToTarget3,
8393 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
8394 3, 96,
8395 0,
8396 44, TARGET_VAL(ISD::OR),
8397 OPC_RecordChild0,
8398 OPC_RecordChild1,
8399 OPC_MoveChild1,
8400 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8401 OPC_CheckPredicate4,
8402 OPC_MoveParent,
8403 OPC_CheckPredicate2,
8404 OPC_CheckTypeByHwMode0,
8405 OPC_MoveParent,
8406 OPC_Scope, 14,
8407 OPC_CheckPredicate3,
8408 OPC_CheckPredicate, 29,
8409 OPC_CheckPatternPredicate2,
8410 OPC_CheckComplexPat0, /*#*/2,
8411 OPC_EmitMergeInputChains1_0,
8412 OPC_EmitConvertToTarget3,
8413 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8414 3, 96,
8415 15,
8416 OPC_CheckPredicate, 19,
8417 OPC_CheckPredicate, 29,
8418 OPC_CheckPatternPredicate2,
8419 OPC_CheckComplexPat0, /*#*/2,
8420 OPC_EmitMergeInputChains1_0,
8421 OPC_EmitConvertToTarget3,
8422 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
8423 3, 96,
8424 0,
8425 0,
8426 26,
8427 OPC_CheckChild1TypeByHwMode0,
8428 OPC_RecordChild2,
8429 OPC_Scope, 10,
8430 OPC_CheckPredicate5,
8431 OPC_CheckComplexPat3, /*#*/2,
8432 OPC_EmitMergeInputChains1_0,
8433 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
8434 3, 78,
8435 10,
8436 OPC_CheckPredicate6,
8437 OPC_CheckComplexPat3, /*#*/2,
8438 OPC_EmitMergeInputChains1_0,
8439 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
8440 3, 78,
8441 0,
8442 15,
8443 OPC_CheckChild1TypeI32,
8444 OPC_RecordChild2,
8445 OPC_CheckPredicate3,
8446 OPC_CheckPredicate, 29,
8447 OPC_CheckPatternPredicate5,
8448 OPC_CheckComplexPat3, /*#*/2,
8449 OPC_EmitMergeInputChains1_0,
8450 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8451 3, 78,
8452 34,
8453 OPC_CheckChild1TypeByHwMode, 1,
8454 OPC_RecordChild2,
8455 OPC_Scope, 13,
8456 OPC_CheckPredicate3,
8457 OPC_CheckPredicate, 29,
8458 OPC_CheckPatternPredicate2,
8459 OPC_CheckComplexPat3, /*#*/2,
8460 OPC_EmitMergeInputChains1_0,
8461 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8462 3, 78,
8463 14,
8464 OPC_CheckPredicate, 19,
8465 OPC_CheckPredicate, 29,
8466 OPC_CheckPatternPredicate2,
8467 OPC_CheckComplexPat3, /*#*/2,
8468 OPC_EmitMergeInputChains1_0,
8469 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
8470 3, 78,
8471 0,
8472 30,
8473 OPC_CheckChild1TypeByHwMode0,
8474 OPC_RecordChild2,
8475 OPC_Scope, 12,
8476 OPC_CheckPredicate5,
8477 OPC_CheckComplexPat0, /*#*/2,
8478 OPC_EmitMergeInputChains1_0,
8479 OPC_EmitIntegerByHwMode0, 0,
8480 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
8481 3, 78,
8482 12,
8483 OPC_CheckPredicate6,
8484 OPC_CheckComplexPat0, /*#*/2,
8485 OPC_EmitMergeInputChains1_0,
8486 OPC_EmitIntegerByHwMode0, 0,
8487 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
8488 3, 78,
8489 0,
8490 17,
8491 OPC_CheckChild1TypeI32,
8492 OPC_RecordChild2,
8493 OPC_CheckPredicate3,
8494 OPC_CheckPredicate, 29,
8495 OPC_CheckPatternPredicate5,
8496 OPC_CheckComplexPat0, /*#*/2,
8497 OPC_EmitMergeInputChains1_0,
8498 OPC_EmitIntegerByHwMode0, 0,
8499 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8500 3, 78,
8501 38,
8502 OPC_CheckChild1TypeByHwMode, 1,
8503 OPC_RecordChild2,
8504 OPC_Scope, 15,
8505 OPC_CheckPredicate3,
8506 OPC_CheckPredicate, 29,
8507 OPC_CheckPatternPredicate2,
8508 OPC_CheckComplexPat0, /*#*/2,
8509 OPC_EmitMergeInputChains1_0,
8510 OPC_EmitIntegerByHwMode0, 0,
8511 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8512 3, 78,
8513 16,
8514 OPC_CheckPredicate, 19,
8515 OPC_CheckPredicate, 29,
8516 OPC_CheckPatternPredicate2,
8517 OPC_CheckComplexPat0, /*#*/2,
8518 OPC_EmitMergeInputChains1_0,
8519 OPC_EmitIntegerByHwMode0, 0,
8520 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
8521 3, 78,
8522 0,
8523 33,
8524 OPC_CheckChild1TypeByHwMode0,
8525 OPC_RecordChild2,
8526 OPC_CheckChild2TypeByHwMode0,
8527 OPC_Scope, 12,
8528 OPC_CheckPredicate3,
8529 OPC_CheckPredicate, 54,
8530 OPC_EmitMergeInputChains1_0,
8531 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs,
8532 1, 0, 2, 25,
8533 14,
8534 OPC_CheckPredicate, 19,
8535 OPC_CheckPredicate, 54,
8536 OPC_CheckPatternPredicate2,
8537 OPC_EmitMergeInputChains1_0,
8538 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs,
8539 1, 0, 2, 25,
8540 0,
8541 0,
8542 78|128,1, TARGET_VAL(ISD::CTPOP),
8543 OPC_Scope, 82,
8544 OPC_MoveChild0,
8545 OPC_Scope, 43,
8546 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
8547 OPC_RecordChild0,
8548 OPC_Scope, 17,
8549 OPC_CheckChild1Integer, 15,
8550 OPC_CheckChild1TypeByHwMode0,
8551 OPC_CheckChild2Integer, 0,
8552 OPC_CheckTypeByHwMode0,
8553 OPC_MoveParent,
8554 OPC_CheckTypeByHwMode0,
8555 OPC_CheckPatternPredicate1,
8556 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_H), 0,
8557 1, 0, 1, 1,
8558 18,
8559 OPC_CheckChild1Integer, 31,
8560 OPC_CheckChild1TypeI64,
8561 OPC_CheckChild2Integer, 0,
8562 OPC_CheckTypeByHwMode, 2,
8563 OPC_MoveParent,
8564 OPC_CheckTypeByHwMode0,
8565 OPC_CheckPatternPredicate2,
8566 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_W), 0,
8567 1, 0, 1, 1,
8568 0,
8569 16,
8570 OPC_CheckAndImm, 127|128,1,
8571 OPC_RecordChild0,
8572 OPC_CheckTypeByHwMode0,
8573 OPC_MoveParent,
8574 OPC_CheckTypeByHwMode0,
8575 OPC_CheckPatternPredicate1,
8576 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_B), 0,
8577 1, 0, 1, 1,
8578 17,
8579 OPC_CheckAndImm, 127|128,127|128,3,
8580 OPC_RecordChild0,
8581 OPC_CheckTypeByHwMode0,
8582 OPC_MoveParent,
8583 OPC_CheckTypeByHwMode0,
8584 OPC_CheckPatternPredicate5,
8585 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_H_LA32), 0,
8586 1, 0, 1, 1,
8587 0,
8588 120,
8589 OPC_RecordChild0,
8590 OPC_Scope, 24,
8591 OPC_CheckChild0TypeByHwMode0,
8592 OPC_CheckTypeByHwMode0,
8593 OPC_Scope, 9,
8594 OPC_CheckPatternPredicate5,
8595 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_W_LA32), 0,
8596 1, 0, 1, 1,
8597 9,
8598 OPC_CheckPatternPredicate2,
8599 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_D), 0,
8600 1, 0, 1, 1,
8601 0,
8602 11,
8603 OPC_CheckChild0Type, MVT::v16i8,
8604 OPC_CheckType, MVT::v16i8,
8605 OPC_CheckPatternPredicate1,
8606 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_B),
8607 MVT::v16i8, 1, 1,
8608 11,
8609 OPC_CheckChild0Type, MVT::v8i16,
8610 OPC_CheckType, MVT::v8i16,
8611 OPC_CheckPatternPredicate1,
8612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_H),
8613 MVT::v8i16, 1, 1,
8614 11,
8615 OPC_CheckChild0Type, MVT::v4i32,
8616 OPC_CheckType, MVT::v4i32,
8617 OPC_CheckPatternPredicate1,
8618 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_W),
8619 MVT::v4i32, 1, 1,
8620 9,
8621 OPC_CheckType, MVT::v2i64,
8622 OPC_CheckPatternPredicate1,
8623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_D),
8624 MVT::v2i64, 1, 1,
8625 9,
8626 OPC_CheckType, MVT::v32i8,
8627 OPC_CheckPatternPredicate0,
8628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_B),
8629 MVT::v32i8, 1, 1,
8630 11,
8631 OPC_CheckType, MVT::v16i16,
8632 OPC_CheckChild0Type, MVT::v16i16,
8633 OPC_CheckPatternPredicate0,
8634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_H),
8635 MVT::v16i16, 1, 1,
8636 11,
8637 OPC_CheckType, MVT::v8i32,
8638 OPC_CheckChild0Type, MVT::v8i32,
8639 OPC_CheckPatternPredicate0,
8640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_W),
8641 MVT::v8i32, 1, 1,
8642 11,
8643 OPC_CheckType, MVT::v4i64,
8644 OPC_CheckChild0Type, MVT::v4i64,
8645 OPC_CheckPatternPredicate0,
8646 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_D),
8647 MVT::v4i64, 1, 1,
8648 0,
8649 0,
8650 122|128,7, TARGET_VAL(ISD::ADD),
8651 OPC_Scope, 82,
8652 OPC_RecordChild0,
8653 OPC_Scope, 37,
8654 OPC_RecordChild1,
8655 OPC_MoveChild1,
8656 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8657 OPC_CheckPredicate4,
8658 OPC_MoveParent,
8659 OPC_CheckPredicate2,
8660 OPC_Scope, 11,
8661 OPC_CheckTypeI32,
8662 OPC_CheckPatternPredicate5,
8663 OPC_CheckComplexPat0, /*#*/0,
8664 OPC_EmitConvertToTarget1,
8665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
8666 MVT::i32, 2, 49,
8667 14,
8668 OPC_CheckTypeByHwMode, 1,
8669 OPC_CheckPatternPredicate2,
8670 OPC_CheckComplexPat0, /*#*/0,
8671 OPC_EmitConvertToTarget1,
8672 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
8673 1, 1, 2, 49,
8674 0,
8675 40,
8676 OPC_MoveChild1,
8677 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
8678 OPC_RecordChild0,
8679 OPC_RecordChild1,
8680 OPC_MoveChild1,
8681 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8682 OPC_CheckPredicate, 40,
8683 OPC_CheckTypeByHwMode0,
8684 OPC_MoveParent,
8685 OPC_MoveParent,
8686 OPC_CheckTypeByHwMode0,
8687 OPC_Scope, 10,
8688 OPC_CheckPatternPredicate6,
8689 OPC_EmitConvertToTarget2,
8690 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
8691 1, 0, 3, 36,
8692 10,
8693 OPC_CheckPatternPredicate2,
8694 OPC_EmitConvertToTarget2,
8695 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
8696 1, 0, 3, 36,
8697 0,
8698 0,
8699 41,
8700 OPC_MoveChild0,
8701 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
8702 OPC_RecordChild0,
8703 OPC_RecordChild1,
8704 OPC_MoveChild1,
8705 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8706 OPC_CheckPredicate, 40,
8707 OPC_CheckTypeByHwMode0,
8708 OPC_MoveParent,
8709 OPC_MoveParent,
8710 OPC_RecordChild1,
8711 OPC_CheckTypeByHwMode0,
8712 OPC_Scope, 10,
8713 OPC_CheckPatternPredicate6,
8714 OPC_EmitConvertToTarget1,
8715 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
8716 1, 0, 3, 48,
8717 10,
8718 OPC_CheckPatternPredicate2,
8719 OPC_EmitConvertToTarget1,
8720 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
8721 1, 0, 3, 48,
8722 0,
8723 92|128,1,
8724 OPC_RecordChild0,
8725 OPC_RecordChild1,
8726 OPC_Scope, 10|128,1,
8727 OPC_MoveChild1,
8728 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8729 OPC_Scope, 27,
8730 OPC_CheckPredicate4,
8731 OPC_MoveParent,
8732 OPC_CheckTypeByHwMode0,
8733 OPC_Scope, 10,
8734 OPC_CheckPatternPredicate5,
8735 OPC_EmitConvertToTarget1,
8736 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
8737 1, 0, 2, 22,
8738 10,
8739 OPC_CheckPatternPredicate2,
8740 OPC_EmitConvertToTarget1,
8741 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
8742 1, 0, 2, 22,
8743 0,
8744 16,
8745 OPC_CheckPredicate, 64,
8746 OPC_MoveParent,
8747 OPC_CheckTypeByHwMode0,
8748 OPC_CheckPatternPredicate2,
8749 OPC_EmitNodeXForm, 6, 1,
8750 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDU16I_D), 0,
8751 1, 0, 2, 22,
8752 27,
8753 OPC_CheckPredicate, 52,
8754 OPC_MoveParent,
8755 OPC_CheckTypeByHwMode0,
8756 OPC_CheckPatternPredicate2,
8757 OPC_EmitNodeXForm, 2, 1,
8758 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDU16I_D), 0,
8759 1, 0, 2, 22,
8760 OPC_EmitNodeXForm, 3, 1,
8761 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
8762 1, 0, 2, 76,
8763 58,
8764 OPC_CheckPredicate, 53,
8765 OPC_MoveParent,
8766 OPC_CheckTypeByHwMode0,
8767 OPC_Scope, 25,
8768 OPC_CheckPatternPredicate5,
8769 OPC_EmitConvertToTarget1,
8770 OPC_EmitNodeXForm, 4, 2,
8771 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
8772 1, 0, 2, 34,
8773 OPC_EmitConvertToTarget1,
8774 OPC_EmitNodeXForm, 5, 5,
8775 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
8776 1, 0, 2, 111,
8777 25,
8778 OPC_CheckPatternPredicate2,
8779 OPC_EmitConvertToTarget1,
8780 OPC_EmitNodeXForm, 4, 2,
8781 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
8782 1, 0, 2, 34,
8783 OPC_EmitConvertToTarget1,
8784 OPC_EmitNodeXForm, 5, 5,
8785 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
8786 1, 0, 2, 111,
8787 0,
8788 0,
8789 23,
8790 OPC_CheckTypeByHwMode0,
8791 OPC_Scope, 9,
8792 OPC_CheckPatternPredicate5,
8793 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADD_W), 0,
8794 1, 0, 2, 9,
8795 9,
8796 OPC_CheckPatternPredicate2,
8797 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADD_D), 0,
8798 1, 0, 2, 9,
8799 0,
8800 12,
8801 OPC_CheckType, MVT::v16i8,
8802 OPC_CheckPatternPredicate1,
8803 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
8804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
8805 MVT::v16i8, 2, 22,
8806 12,
8807 OPC_CheckType, MVT::v8i16,
8808 OPC_CheckPatternPredicate1,
8809 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
8810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
8811 MVT::v8i16, 2, 22,
8812 12,
8813 OPC_CheckType, MVT::v4i32,
8814 OPC_CheckPatternPredicate1,
8815 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
8816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
8817 MVT::v4i32, 2, 22,
8818 12,
8819 OPC_CheckType, MVT::v2i64,
8820 OPC_CheckPatternPredicate1,
8821 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
8822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
8823 MVT::v2i64, 2, 22,
8824 0,
8825 49,
8826 OPC_MoveChild0,
8827 OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
8828 OPC_RecordChild0,
8829 OPC_MoveSibling1,
8830 OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
8831 OPC_RecordChild0,
8832 OPC_MoveParent,
8833 OPC_SwitchType , 7, MVT::v16i8,
8834 OPC_CheckPatternPredicate1,
8835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_B),
8836 MVT::v16i8, 2, 9,
8837 7, MVT::v8i16,
8838 OPC_CheckPatternPredicate1,
8839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_H),
8840 MVT::v8i16, 2, 9,
8841 7, MVT::v4i32,
8842 OPC_CheckPatternPredicate1,
8843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_W),
8844 MVT::v4i32, 2, 9,
8845 7, MVT::v2i64,
8846 OPC_CheckPatternPredicate1,
8847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_D),
8848 MVT::v2i64, 2, 9,
8849 0,
8850 52,
8851 OPC_RecordChild0,
8852 OPC_RecordChild1,
8853 OPC_SwitchType , 10, MVT::v32i8,
8854 OPC_CheckPatternPredicate0,
8855 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
8856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
8857 MVT::v32i8, 2, 22,
8858 10, MVT::v16i16,
8859 OPC_CheckPatternPredicate0,
8860 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
8861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
8862 MVT::v16i16, 2, 22,
8863 10, MVT::v8i32,
8864 OPC_CheckPatternPredicate0,
8865 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
8866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
8867 MVT::v8i32, 2, 22,
8868 10, MVT::v4i64,
8869 OPC_CheckPatternPredicate0,
8870 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
8871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
8872 MVT::v4i64, 2, 22,
8873 0,
8874 49,
8875 OPC_MoveChild0,
8876 OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
8877 OPC_RecordChild0,
8878 OPC_MoveSibling1,
8879 OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
8880 OPC_RecordChild0,
8881 OPC_MoveParent,
8882 OPC_SwitchType , 7, MVT::v32i8,
8883 OPC_CheckPatternPredicate0,
8884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_B),
8885 MVT::v32i8, 2, 9,
8886 7, MVT::v16i16,
8887 OPC_CheckPatternPredicate0,
8888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_H),
8889 MVT::v16i16, 2, 9,
8890 7, MVT::v8i32,
8891 OPC_CheckPatternPredicate0,
8892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_W),
8893 MVT::v8i32, 2, 9,
8894 7, MVT::v4i64,
8895 OPC_CheckPatternPredicate0,
8896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_D),
8897 MVT::v4i64, 2, 9,
8898 0,
8899 98|128,2,
8900 OPC_RecordChild0,
8901 OPC_Scope, 11|128,2,
8902 OPC_RecordChild1,
8903 OPC_SwitchType , 31, MVT::v16i8,
8904 OPC_CheckPatternPredicate1,
8905 OPC_Scope, 9,
8906 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
8907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
8908 MVT::v16i8, 2, 25,
8909 8,
8910 OPC_CheckComplexPat2, /*#*/1,
8911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
8912 MVT::v16i8, 2, 22,
8913 8,
8914 OPC_CheckComplexPat2, /*#*/0,
8915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
8916 MVT::v16i8, 2, 25,
8917 0,
8918 31, MVT::v8i16,
8919 OPC_CheckPatternPredicate1,
8920 OPC_Scope, 9,
8921 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
8922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
8923 MVT::v8i16, 2, 25,
8924 8,
8925 OPC_CheckComplexPat2, /*#*/1,
8926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
8927 MVT::v8i16, 2, 22,
8928 8,
8929 OPC_CheckComplexPat2, /*#*/0,
8930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
8931 MVT::v8i16, 2, 25,
8932 0,
8933 31, MVT::v4i32,
8934 OPC_CheckPatternPredicate1,
8935 OPC_Scope, 9,
8936 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
8937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
8938 MVT::v4i32, 2, 25,
8939 8,
8940 OPC_CheckComplexPat2, /*#*/1,
8941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
8942 MVT::v4i32, 2, 22,
8943 8,
8944 OPC_CheckComplexPat2, /*#*/0,
8945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
8946 MVT::v4i32, 2, 25,
8947 0,
8948 31, MVT::v2i64,
8949 OPC_CheckPatternPredicate1,
8950 OPC_Scope, 9,
8951 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
8952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
8953 MVT::v2i64, 2, 25,
8954 8,
8955 OPC_CheckComplexPat2, /*#*/1,
8956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
8957 MVT::v2i64, 2, 22,
8958 8,
8959 OPC_CheckComplexPat2, /*#*/0,
8960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
8961 MVT::v2i64, 2, 25,
8962 0,
8963 31, MVT::v32i8,
8964 OPC_CheckPatternPredicate0,
8965 OPC_Scope, 9,
8966 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
8967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
8968 MVT::v32i8, 2, 25,
8969 8,
8970 OPC_CheckComplexPat2, /*#*/1,
8971 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
8972 MVT::v32i8, 2, 22,
8973 8,
8974 OPC_CheckComplexPat2, /*#*/0,
8975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
8976 MVT::v32i8, 2, 25,
8977 0,
8978 31, MVT::v16i16,
8979 OPC_CheckPatternPredicate0,
8980 OPC_Scope, 9,
8981 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
8982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
8983 MVT::v16i16, 2, 25,
8984 8,
8985 OPC_CheckComplexPat2, /*#*/1,
8986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
8987 MVT::v16i16, 2, 22,
8988 8,
8989 OPC_CheckComplexPat2, /*#*/0,
8990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
8991 MVT::v16i16, 2, 25,
8992 0,
8993 31, MVT::v8i32,
8994 OPC_CheckPatternPredicate0,
8995 OPC_Scope, 9,
8996 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
8997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
8998 MVT::v8i32, 2, 25,
8999 8,
9000 OPC_CheckComplexPat2, /*#*/1,
9001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
9002 MVT::v8i32, 2, 22,
9003 8,
9004 OPC_CheckComplexPat2, /*#*/0,
9005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
9006 MVT::v8i32, 2, 25,
9007 0,
9008 31, MVT::v4i64,
9009 OPC_CheckPatternPredicate0,
9010 OPC_Scope, 9,
9011 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
9012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
9013 MVT::v4i64, 2, 25,
9014 8,
9015 OPC_CheckComplexPat2, /*#*/1,
9016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
9017 MVT::v4i64, 2, 22,
9018 8,
9019 OPC_CheckComplexPat2, /*#*/0,
9020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
9021 MVT::v4i64, 2, 25,
9022 0,
9023 0,
9024 81,
9025 OPC_MoveChild1,
9026 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9027 OPC_RecordChild0,
9028 OPC_RecordChild1,
9029 OPC_MoveParent,
9030 OPC_SwitchType , 7, MVT::v16i8,
9031 OPC_CheckPatternPredicate1,
9032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
9033 MVT::v16i8, 3, 24,
9034 7, MVT::v8i16,
9035 OPC_CheckPatternPredicate1,
9036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
9037 MVT::v8i16, 3, 24,
9038 7, MVT::v4i32,
9039 OPC_CheckPatternPredicate1,
9040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
9041 MVT::v4i32, 3, 24,
9042 7, MVT::v2i64,
9043 OPC_CheckPatternPredicate1,
9044 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
9045 MVT::v2i64, 3, 24,
9046 7, MVT::v32i8,
9047 OPC_CheckPatternPredicate0,
9048 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
9049 MVT::v32i8, 3, 24,
9050 7, MVT::v16i16,
9051 OPC_CheckPatternPredicate0,
9052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
9053 MVT::v16i16, 3, 24,
9054 7, MVT::v8i32,
9055 OPC_CheckPatternPredicate0,
9056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
9057 MVT::v8i32, 3, 24,
9058 7, MVT::v4i64,
9059 OPC_CheckPatternPredicate0,
9060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
9061 MVT::v4i64, 3, 24,
9062 0,
9063 0,
9064 82,
9065 OPC_MoveChild0,
9066 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
9067 OPC_RecordChild0,
9068 OPC_RecordChild1,
9069 OPC_MoveParent,
9070 OPC_RecordChild1,
9071 OPC_SwitchType , 7, MVT::v16i8,
9072 OPC_CheckPatternPredicate1,
9073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
9074 MVT::v16i8, 3, 11,
9075 7, MVT::v8i16,
9076 OPC_CheckPatternPredicate1,
9077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
9078 MVT::v8i16, 3, 11,
9079 7, MVT::v4i32,
9080 OPC_CheckPatternPredicate1,
9081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
9082 MVT::v4i32, 3, 11,
9083 7, MVT::v2i64,
9084 OPC_CheckPatternPredicate1,
9085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
9086 MVT::v2i64, 3, 11,
9087 7, MVT::v32i8,
9088 OPC_CheckPatternPredicate0,
9089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
9090 MVT::v32i8, 3, 11,
9091 7, MVT::v16i16,
9092 OPC_CheckPatternPredicate0,
9093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
9094 MVT::v16i16, 3, 11,
9095 7, MVT::v8i32,
9096 OPC_CheckPatternPredicate0,
9097 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
9098 MVT::v8i32, 3, 11,
9099 7, MVT::v4i64,
9100 OPC_CheckPatternPredicate0,
9101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
9102 MVT::v4i64, 3, 11,
9103 0,
9104 76,
9105 OPC_RecordChild0,
9106 OPC_RecordChild1,
9107 OPC_SwitchType , 7, MVT::v16i8,
9108 OPC_CheckPatternPredicate1,
9109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_B),
9110 MVT::v16i8, 2, 9,
9111 7, MVT::v8i16,
9112 OPC_CheckPatternPredicate1,
9113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_H),
9114 MVT::v8i16, 2, 9,
9115 7, MVT::v4i32,
9116 OPC_CheckPatternPredicate1,
9117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_W),
9118 MVT::v4i32, 2, 9,
9119 7, MVT::v2i64,
9120 OPC_CheckPatternPredicate1,
9121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_D),
9122 MVT::v2i64, 2, 9,
9123 7, MVT::v32i8,
9124 OPC_CheckPatternPredicate0,
9125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_B),
9126 MVT::v32i8, 2, 9,
9127 7, MVT::v16i16,
9128 OPC_CheckPatternPredicate0,
9129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_H),
9130 MVT::v16i16, 2, 9,
9131 7, MVT::v8i32,
9132 OPC_CheckPatternPredicate0,
9133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_W),
9134 MVT::v8i32, 2, 9,
9135 7, MVT::v4i64,
9136 OPC_CheckPatternPredicate0,
9137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_D),
9138 MVT::v4i64, 2, 9,
9139 0,
9140 0,
9141 37|128,3, TARGET_VAL(ISD::INTRINSIC_VOID),
9142 OPC_RecordNode,
9143 OPC_Scope, 22,
9144 OPC_CheckChild1Integer, 87|128,50,
9145 OPC_RecordChild2,
9146 OPC_MoveChild2,
9147 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9148 OPC_MoveParent,
9149 OPC_RecordChild3,
9150 OPC_RecordChild4,
9151 OPC_MoveChild4,
9152 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9153 OPC_MoveParent,
9154 OPC_EmitMergeInputChains1_0,
9155 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
9156 3, 51,
9157 30,
9158 OPC_CheckChild1Integer, 30|128,62,
9159 OPC_RecordChild2,
9160 OPC_RecordChild3,
9161 OPC_CheckChild3TypeByHwMode0,
9162 OPC_RecordChild4,
9163 OPC_MoveChild4,
9164 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9165 OPC_MoveSibling5,
9166 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9167 OPC_RecordNode,
9168 OPC_MoveParent,
9169 OPC_CheckPatternPredicate1,
9170 OPC_EmitMergeInputChains1_0,
9171 OPC_EmitNodeXForm, 7, 3,
9172 OPC_EmitNodeXForm, 7, 4,
9173 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_B),
9174 4, 116,
9175 30,
9176 OPC_CheckChild1Integer, 32|128,62,
9177 OPC_RecordChild2,
9178 OPC_RecordChild3,
9179 OPC_CheckChild3TypeByHwMode0,
9180 OPC_RecordChild4,
9181 OPC_MoveChild4,
9182 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9183 OPC_MoveSibling5,
9184 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9185 OPC_RecordNode,
9186 OPC_MoveParent,
9187 OPC_CheckPatternPredicate1,
9188 OPC_EmitMergeInputChains1_0,
9189 OPC_EmitNodeXForm, 7, 3,
9190 OPC_EmitNodeXForm, 7, 4,
9191 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_H),
9192 4, 116,
9193 30,
9194 OPC_CheckChild1Integer, 33|128,62,
9195 OPC_RecordChild2,
9196 OPC_RecordChild3,
9197 OPC_CheckChild3TypeByHwMode0,
9198 OPC_RecordChild4,
9199 OPC_MoveChild4,
9200 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9201 OPC_MoveSibling5,
9202 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9203 OPC_RecordNode,
9204 OPC_MoveParent,
9205 OPC_CheckPatternPredicate1,
9206 OPC_EmitMergeInputChains1_0,
9207 OPC_EmitNodeXForm, 7, 3,
9208 OPC_EmitNodeXForm, 7, 4,
9209 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_W),
9210 4, 116,
9211 30,
9212 OPC_CheckChild1Integer, 31|128,62,
9213 OPC_RecordChild2,
9214 OPC_RecordChild3,
9215 OPC_CheckChild3TypeByHwMode0,
9216 OPC_RecordChild4,
9217 OPC_MoveChild4,
9218 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9219 OPC_MoveSibling5,
9220 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9221 OPC_RecordNode,
9222 OPC_MoveParent,
9223 OPC_CheckPatternPredicate1,
9224 OPC_EmitMergeInputChains1_0,
9225 OPC_EmitNodeXForm, 7, 3,
9226 OPC_EmitNodeXForm, 7, 4,
9227 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_D),
9228 4, 116,
9229 30,
9230 OPC_CheckChild1Integer, 76|128,56,
9231 OPC_RecordChild2,
9232 OPC_RecordChild3,
9233 OPC_CheckChild3TypeByHwMode0,
9234 OPC_RecordChild4,
9235 OPC_MoveChild4,
9236 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9237 OPC_MoveSibling5,
9238 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9239 OPC_RecordNode,
9240 OPC_MoveParent,
9241 OPC_CheckPatternPredicate0,
9242 OPC_EmitMergeInputChains1_0,
9243 OPC_EmitNodeXForm, 7, 3,
9244 OPC_EmitNodeXForm, 7, 4,
9245 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_B),
9246 4, 116,
9247 30,
9248 OPC_CheckChild1Integer, 78|128,56,
9249 OPC_RecordChild2,
9250 OPC_RecordChild3,
9251 OPC_CheckChild3TypeByHwMode0,
9252 OPC_RecordChild4,
9253 OPC_MoveChild4,
9254 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9255 OPC_MoveSibling5,
9256 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9257 OPC_RecordNode,
9258 OPC_MoveParent,
9259 OPC_CheckPatternPredicate0,
9260 OPC_EmitMergeInputChains1_0,
9261 OPC_EmitNodeXForm, 7, 3,
9262 OPC_EmitNodeXForm, 7, 4,
9263 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_H),
9264 4, 116,
9265 30,
9266 OPC_CheckChild1Integer, 79|128,56,
9267 OPC_RecordChild2,
9268 OPC_RecordChild3,
9269 OPC_CheckChild3TypeByHwMode0,
9270 OPC_RecordChild4,
9271 OPC_MoveChild4,
9272 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9273 OPC_MoveSibling5,
9274 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9275 OPC_RecordNode,
9276 OPC_MoveParent,
9277 OPC_CheckPatternPredicate0,
9278 OPC_EmitMergeInputChains1_0,
9279 OPC_EmitNodeXForm, 7, 3,
9280 OPC_EmitNodeXForm, 7, 4,
9281 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_W),
9282 4, 116,
9283 30,
9284 OPC_CheckChild1Integer, 77|128,56,
9285 OPC_RecordChild2,
9286 OPC_RecordChild3,
9287 OPC_CheckChild3TypeByHwMode0,
9288 OPC_RecordChild4,
9289 OPC_MoveChild4,
9290 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9291 OPC_MoveSibling5,
9292 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9293 OPC_RecordNode,
9294 OPC_MoveParent,
9295 OPC_CheckPatternPredicate0,
9296 OPC_EmitMergeInputChains1_0,
9297 OPC_EmitNodeXForm, 7, 3,
9298 OPC_EmitNodeXForm, 7, 4,
9299 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_D),
9300 4, 116,
9301 19,
9302 OPC_CheckChild1Integer, 109|128,56,
9303 OPC_RecordChild2,
9304 OPC_CheckChild2TypeByHwMode, 1,
9305 OPC_RecordChild3,
9306 OPC_MoveChild3,
9307 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9308 OPC_MoveParent,
9309 OPC_CheckPatternPredicate2,
9310 OPC_EmitMergeInputChains1_0,
9311 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::LDPTE),
9312 2, 25,
9313 22,
9314 OPC_CheckChild1Integer, 29|128,62,
9315 OPC_RecordChild2,
9316 OPC_RecordChild3,
9317 OPC_CheckChild3TypeByHwMode0,
9318 OPC_RecordChild4,
9319 OPC_MoveChild4,
9320 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9321 OPC_MoveParent,
9322 OPC_CheckPatternPredicate1,
9323 OPC_EmitMergeInputChains1_0,
9324 OPC_EmitNodeXForm, 7, 3,
9325 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VST),
9326 3, 69,
9327 22,
9328 OPC_CheckChild1Integer, 75|128,56,
9329 OPC_RecordChild2,
9330 OPC_RecordChild3,
9331 OPC_CheckChild3TypeByHwMode0,
9332 OPC_RecordChild4,
9333 OPC_MoveChild4,
9334 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
9335 OPC_MoveParent,
9336 OPC_CheckPatternPredicate0,
9337 OPC_EmitMergeInputChains1_0,
9338 OPC_EmitNodeXForm, 7, 3,
9339 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVST),
9340 3, 69,
9341 12,
9342 OPC_CheckChild1Integer, 88|128,50,
9343 OPC_RecordChild2,
9344 OPC_RecordChild3,
9345 OPC_RecordChild4,
9346 OPC_EmitMergeInputChains1_0,
9347 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
9348 3, 51,
9349 16,
9350 OPC_CheckChild1Integer, 85|128,50,
9351 OPC_RecordChild2,
9352 OPC_CheckChild2TypeByHwMode, 1,
9353 OPC_RecordChild3,
9354 OPC_CheckChild3TypeByHwMode, 1,
9355 OPC_CheckPatternPredicate2,
9356 OPC_EmitMergeInputChains1_0,
9357 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTLE_D),
9358 2, 25,
9359 16,
9360 OPC_CheckChild1Integer, 84|128,50,
9361 OPC_RecordChild2,
9362 OPC_CheckChild2TypeByHwMode, 1,
9363 OPC_RecordChild3,
9364 OPC_CheckChild3TypeByHwMode, 1,
9365 OPC_CheckPatternPredicate2,
9366 OPC_EmitMergeInputChains1_0,
9367 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTGT_D),
9368 2, 25,
9369 16,
9370 OPC_CheckChild1Integer, 34|128,62,
9371 OPC_RecordChild2,
9372 OPC_RecordChild3,
9373 OPC_CheckChild3TypeByHwMode0,
9374 OPC_RecordChild4,
9375 OPC_CheckChild4TypeByHwMode, 1,
9376 OPC_CheckPatternPredicate1,
9377 OPC_EmitMergeInputChains1_0,
9378 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTX),
9379 3, 51,
9380 16,
9381 OPC_CheckChild1Integer, 80|128,56,
9382 OPC_RecordChild2,
9383 OPC_RecordChild3,
9384 OPC_CheckChild3TypeByHwMode0,
9385 OPC_RecordChild4,
9386 OPC_CheckChild4TypeByHwMode, 1,
9387 OPC_CheckPatternPredicate0,
9388 OPC_EmitMergeInputChains1_0,
9389 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTX),
9390 3, 51,
9391 0,
9392 108|128,16, TARGET_VAL(LoongArchISD::BRCOND),
9393 OPC_RecordNode,
9394 OPC_MoveChild1,
9395 OPC_SwitchOpcode , 69|128,11, TARGET_VAL(ISD::XOR),
9396 OPC_MoveChild0,
9397 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
9398 OPC_RecordChild0,
9399 OPC_Scope, 93|128,5,
9400 OPC_CheckChild0Type, MVT::f32,
9401 OPC_RecordChild1,
9402 OPC_Scope, 55,
9403 OPC_CheckChild2CondCode, ISD::SETOEQ,
9404 OPC_MoveParent,
9405 OPC_Scope, 24,
9406 OPC_CheckChild1Integer, 127,
9407 OPC_CheckTypeByHwMode0,
9408 OPC_MoveSibling2,
9409 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9410 OPC_RecordNode,
9411 OPC_MoveParent,
9412 OPC_CheckPatternPredicate3,
9413 OPC_EmitMergeInputChains1_0,
9414 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
9415 1, 0, 2, 25,
9416 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9417 2, 63,
9418 24,
9419 OPC_CheckChild1Integer, 1,
9420 OPC_CheckTypeByHwMode0,
9421 OPC_MoveSibling2,
9422 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9423 OPC_RecordNode,
9424 OPC_MoveParent,
9425 OPC_CheckPatternPredicate3,
9426 OPC_EmitMergeInputChains1_0,
9427 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
9428 1, 0, 2, 25,
9429 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9430 2, 63,
9431 0,
9432 55,
9433 OPC_CheckChild2CondCode, ISD::SETEQ,
9434 OPC_MoveParent,
9435 OPC_Scope, 24,
9436 OPC_CheckChild1Integer, 127,
9437 OPC_CheckTypeByHwMode0,
9438 OPC_MoveSibling2,
9439 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9440 OPC_RecordNode,
9441 OPC_MoveParent,
9442 OPC_CheckPatternPredicate3,
9443 OPC_EmitMergeInputChains1_0,
9444 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
9445 1, 0, 2, 25,
9446 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9447 2, 63,
9448 24,
9449 OPC_CheckChild1Integer, 1,
9450 OPC_CheckTypeByHwMode0,
9451 OPC_MoveSibling2,
9452 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9453 OPC_RecordNode,
9454 OPC_MoveParent,
9455 OPC_CheckPatternPredicate3,
9456 OPC_EmitMergeInputChains1_0,
9457 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
9458 1, 0, 2, 25,
9459 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9460 2, 63,
9461 0,
9462 55,
9463 OPC_CheckChild2CondCode, ISD::SETOLT,
9464 OPC_MoveParent,
9465 OPC_Scope, 24,
9466 OPC_CheckChild1Integer, 127,
9467 OPC_CheckTypeByHwMode0,
9468 OPC_MoveSibling2,
9469 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9470 OPC_RecordNode,
9471 OPC_MoveParent,
9472 OPC_CheckPatternPredicate3,
9473 OPC_EmitMergeInputChains1_0,
9474 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
9475 1, 0, 2, 25,
9476 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9477 2, 63,
9478 24,
9479 OPC_CheckChild1Integer, 1,
9480 OPC_CheckTypeByHwMode0,
9481 OPC_MoveSibling2,
9482 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9483 OPC_RecordNode,
9484 OPC_MoveParent,
9485 OPC_CheckPatternPredicate3,
9486 OPC_EmitMergeInputChains1_0,
9487 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
9488 1, 0, 2, 25,
9489 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9490 2, 63,
9491 0,
9492 55,
9493 OPC_CheckChild2CondCode, ISD::SETOLE,
9494 OPC_MoveParent,
9495 OPC_Scope, 24,
9496 OPC_CheckChild1Integer, 127,
9497 OPC_CheckTypeByHwMode0,
9498 OPC_MoveSibling2,
9499 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9500 OPC_RecordNode,
9501 OPC_MoveParent,
9502 OPC_CheckPatternPredicate3,
9503 OPC_EmitMergeInputChains1_0,
9504 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
9505 1, 0, 2, 25,
9506 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9507 2, 63,
9508 24,
9509 OPC_CheckChild1Integer, 1,
9510 OPC_CheckTypeByHwMode0,
9511 OPC_MoveSibling2,
9512 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9513 OPC_RecordNode,
9514 OPC_MoveParent,
9515 OPC_CheckPatternPredicate3,
9516 OPC_EmitMergeInputChains1_0,
9517 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
9518 1, 0, 2, 25,
9519 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9520 2, 63,
9521 0,
9522 55,
9523 OPC_CheckChild2CondCode, ISD::SETLE,
9524 OPC_MoveParent,
9525 OPC_Scope, 24,
9526 OPC_CheckChild1Integer, 127,
9527 OPC_CheckTypeByHwMode0,
9528 OPC_MoveSibling2,
9529 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9530 OPC_RecordNode,
9531 OPC_MoveParent,
9532 OPC_CheckPatternPredicate3,
9533 OPC_EmitMergeInputChains1_0,
9534 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
9535 1, 0, 2, 25,
9536 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9537 2, 63,
9538 24,
9539 OPC_CheckChild1Integer, 1,
9540 OPC_CheckTypeByHwMode0,
9541 OPC_MoveSibling2,
9542 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9543 OPC_RecordNode,
9544 OPC_MoveParent,
9545 OPC_CheckPatternPredicate3,
9546 OPC_EmitMergeInputChains1_0,
9547 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
9548 1, 0, 2, 25,
9549 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9550 2, 63,
9551 0,
9552 55,
9553 OPC_CheckChild2CondCode, ISD::SETONE,
9554 OPC_MoveParent,
9555 OPC_Scope, 24,
9556 OPC_CheckChild1Integer, 127,
9557 OPC_CheckTypeByHwMode0,
9558 OPC_MoveSibling2,
9559 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9560 OPC_RecordNode,
9561 OPC_MoveParent,
9562 OPC_CheckPatternPredicate3,
9563 OPC_EmitMergeInputChains1_0,
9564 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0,
9565 1, 0, 2, 25,
9566 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9567 2, 63,
9568 24,
9569 OPC_CheckChild1Integer, 1,
9570 OPC_CheckTypeByHwMode0,
9571 OPC_MoveSibling2,
9572 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9573 OPC_RecordNode,
9574 OPC_MoveParent,
9575 OPC_CheckPatternPredicate3,
9576 OPC_EmitMergeInputChains1_0,
9577 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0,
9578 1, 0, 2, 25,
9579 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9580 2, 63,
9581 0,
9582 55,
9583 OPC_CheckChild2CondCode, ISD::SETO,
9584 OPC_MoveParent,
9585 OPC_Scope, 24,
9586 OPC_CheckChild1Integer, 127,
9587 OPC_CheckTypeByHwMode0,
9588 OPC_MoveSibling2,
9589 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9590 OPC_RecordNode,
9591 OPC_MoveParent,
9592 OPC_CheckPatternPredicate3,
9593 OPC_EmitMergeInputChains1_0,
9594 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0,
9595 1, 0, 2, 25,
9596 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9597 2, 63,
9598 24,
9599 OPC_CheckChild1Integer, 1,
9600 OPC_CheckTypeByHwMode0,
9601 OPC_MoveSibling2,
9602 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9603 OPC_RecordNode,
9604 OPC_MoveParent,
9605 OPC_CheckPatternPredicate3,
9606 OPC_EmitMergeInputChains1_0,
9607 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0,
9608 1, 0, 2, 25,
9609 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9610 2, 63,
9611 0,
9612 55,
9613 OPC_CheckChild2CondCode, ISD::SETUEQ,
9614 OPC_MoveParent,
9615 OPC_Scope, 24,
9616 OPC_CheckChild1Integer, 127,
9617 OPC_CheckTypeByHwMode0,
9618 OPC_MoveSibling2,
9619 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9620 OPC_RecordNode,
9621 OPC_MoveParent,
9622 OPC_CheckPatternPredicate3,
9623 OPC_EmitMergeInputChains1_0,
9624 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0,
9625 1, 0, 2, 25,
9626 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9627 2, 63,
9628 24,
9629 OPC_CheckChild1Integer, 1,
9630 OPC_CheckTypeByHwMode0,
9631 OPC_MoveSibling2,
9632 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9633 OPC_RecordNode,
9634 OPC_MoveParent,
9635 OPC_CheckPatternPredicate3,
9636 OPC_EmitMergeInputChains1_0,
9637 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0,
9638 1, 0, 2, 25,
9639 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9640 2, 63,
9641 0,
9642 55,
9643 OPC_CheckChild2CondCode, ISD::SETULT,
9644 OPC_MoveParent,
9645 OPC_Scope, 24,
9646 OPC_CheckChild1Integer, 127,
9647 OPC_CheckTypeByHwMode0,
9648 OPC_MoveSibling2,
9649 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9650 OPC_RecordNode,
9651 OPC_MoveParent,
9652 OPC_CheckPatternPredicate3,
9653 OPC_EmitMergeInputChains1_0,
9654 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0,
9655 1, 0, 2, 25,
9656 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9657 2, 63,
9658 24,
9659 OPC_CheckChild1Integer, 1,
9660 OPC_CheckTypeByHwMode0,
9661 OPC_MoveSibling2,
9662 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9663 OPC_RecordNode,
9664 OPC_MoveParent,
9665 OPC_CheckPatternPredicate3,
9666 OPC_EmitMergeInputChains1_0,
9667 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0,
9668 1, 0, 2, 25,
9669 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9670 2, 63,
9671 0,
9672 55,
9673 OPC_CheckChild2CondCode, ISD::SETULE,
9674 OPC_MoveParent,
9675 OPC_Scope, 24,
9676 OPC_CheckChild1Integer, 127,
9677 OPC_CheckTypeByHwMode0,
9678 OPC_MoveSibling2,
9679 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9680 OPC_RecordNode,
9681 OPC_MoveParent,
9682 OPC_CheckPatternPredicate3,
9683 OPC_EmitMergeInputChains1_0,
9684 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0,
9685 1, 0, 2, 25,
9686 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9687 2, 63,
9688 24,
9689 OPC_CheckChild1Integer, 1,
9690 OPC_CheckTypeByHwMode0,
9691 OPC_MoveSibling2,
9692 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9693 OPC_RecordNode,
9694 OPC_MoveParent,
9695 OPC_CheckPatternPredicate3,
9696 OPC_EmitMergeInputChains1_0,
9697 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0,
9698 1, 0, 2, 25,
9699 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9700 2, 63,
9701 0,
9702 55,
9703 OPC_CheckChild2CondCode, ISD::SETUNE,
9704 OPC_MoveParent,
9705 OPC_Scope, 24,
9706 OPC_CheckChild1Integer, 127,
9707 OPC_CheckTypeByHwMode0,
9708 OPC_MoveSibling2,
9709 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9710 OPC_RecordNode,
9711 OPC_MoveParent,
9712 OPC_CheckPatternPredicate3,
9713 OPC_EmitMergeInputChains1_0,
9714 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0,
9715 1, 0, 2, 25,
9716 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9717 2, 63,
9718 24,
9719 OPC_CheckChild1Integer, 1,
9720 OPC_CheckTypeByHwMode0,
9721 OPC_MoveSibling2,
9722 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9723 OPC_RecordNode,
9724 OPC_MoveParent,
9725 OPC_CheckPatternPredicate3,
9726 OPC_EmitMergeInputChains1_0,
9727 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0,
9728 1, 0, 2, 25,
9729 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9730 2, 63,
9731 0,
9732 55,
9733 OPC_CheckChild2CondCode, ISD::SETUO,
9734 OPC_MoveParent,
9735 OPC_Scope, 24,
9736 OPC_CheckChild1Integer, 127,
9737 OPC_CheckTypeByHwMode0,
9738 OPC_MoveSibling2,
9739 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9740 OPC_RecordNode,
9741 OPC_MoveParent,
9742 OPC_CheckPatternPredicate3,
9743 OPC_EmitMergeInputChains1_0,
9744 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0,
9745 1, 0, 2, 25,
9746 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9747 2, 63,
9748 24,
9749 OPC_CheckChild1Integer, 1,
9750 OPC_CheckTypeByHwMode0,
9751 OPC_MoveSibling2,
9752 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9753 OPC_RecordNode,
9754 OPC_MoveParent,
9755 OPC_CheckPatternPredicate3,
9756 OPC_EmitMergeInputChains1_0,
9757 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0,
9758 1, 0, 2, 25,
9759 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9760 2, 63,
9761 0,
9762 55,
9763 OPC_CheckChild2CondCode, ISD::SETLT,
9764 OPC_MoveParent,
9765 OPC_Scope, 24,
9766 OPC_CheckChild1Integer, 127,
9767 OPC_CheckTypeByHwMode0,
9768 OPC_MoveSibling2,
9769 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9770 OPC_RecordNode,
9771 OPC_MoveParent,
9772 OPC_CheckPatternPredicate3,
9773 OPC_EmitMergeInputChains1_0,
9774 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
9775 1, 0, 2, 25,
9776 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9777 2, 63,
9778 24,
9779 OPC_CheckChild1Integer, 1,
9780 OPC_CheckTypeByHwMode0,
9781 OPC_MoveSibling2,
9782 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9783 OPC_RecordNode,
9784 OPC_MoveParent,
9785 OPC_CheckPatternPredicate3,
9786 OPC_EmitMergeInputChains1_0,
9787 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
9788 1, 0, 2, 25,
9789 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9790 2, 63,
9791 0,
9792 0,
9793 93|128,5,
9794 OPC_CheckChild0Type, MVT::f64,
9795 OPC_RecordChild1,
9796 OPC_Scope, 55,
9797 OPC_CheckChild2CondCode, ISD::SETOEQ,
9798 OPC_MoveParent,
9799 OPC_Scope, 24,
9800 OPC_CheckChild1Integer, 127,
9801 OPC_CheckTypeByHwMode0,
9802 OPC_MoveSibling2,
9803 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9804 OPC_RecordNode,
9805 OPC_MoveParent,
9806 OPC_CheckPatternPredicate4,
9807 OPC_EmitMergeInputChains1_0,
9808 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
9809 1, 0, 2, 25,
9810 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9811 2, 63,
9812 24,
9813 OPC_CheckChild1Integer, 1,
9814 OPC_CheckTypeByHwMode0,
9815 OPC_MoveSibling2,
9816 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9817 OPC_RecordNode,
9818 OPC_MoveParent,
9819 OPC_CheckPatternPredicate4,
9820 OPC_EmitMergeInputChains1_0,
9821 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
9822 1, 0, 2, 25,
9823 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9824 2, 63,
9825 0,
9826 55,
9827 OPC_CheckChild2CondCode, ISD::SETEQ,
9828 OPC_MoveParent,
9829 OPC_Scope, 24,
9830 OPC_CheckChild1Integer, 127,
9831 OPC_CheckTypeByHwMode0,
9832 OPC_MoveSibling2,
9833 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9834 OPC_RecordNode,
9835 OPC_MoveParent,
9836 OPC_CheckPatternPredicate4,
9837 OPC_EmitMergeInputChains1_0,
9838 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
9839 1, 0, 2, 25,
9840 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9841 2, 63,
9842 24,
9843 OPC_CheckChild1Integer, 1,
9844 OPC_CheckTypeByHwMode0,
9845 OPC_MoveSibling2,
9846 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9847 OPC_RecordNode,
9848 OPC_MoveParent,
9849 OPC_CheckPatternPredicate4,
9850 OPC_EmitMergeInputChains1_0,
9851 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
9852 1, 0, 2, 25,
9853 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9854 2, 63,
9855 0,
9856 55,
9857 OPC_CheckChild2CondCode, ISD::SETOLT,
9858 OPC_MoveParent,
9859 OPC_Scope, 24,
9860 OPC_CheckChild1Integer, 127,
9861 OPC_CheckTypeByHwMode0,
9862 OPC_MoveSibling2,
9863 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9864 OPC_RecordNode,
9865 OPC_MoveParent,
9866 OPC_CheckPatternPredicate4,
9867 OPC_EmitMergeInputChains1_0,
9868 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
9869 1, 0, 2, 25,
9870 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9871 2, 63,
9872 24,
9873 OPC_CheckChild1Integer, 1,
9874 OPC_CheckTypeByHwMode0,
9875 OPC_MoveSibling2,
9876 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9877 OPC_RecordNode,
9878 OPC_MoveParent,
9879 OPC_CheckPatternPredicate4,
9880 OPC_EmitMergeInputChains1_0,
9881 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
9882 1, 0, 2, 25,
9883 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9884 2, 63,
9885 0,
9886 55,
9887 OPC_CheckChild2CondCode, ISD::SETOLE,
9888 OPC_MoveParent,
9889 OPC_Scope, 24,
9890 OPC_CheckChild1Integer, 127,
9891 OPC_CheckTypeByHwMode0,
9892 OPC_MoveSibling2,
9893 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9894 OPC_RecordNode,
9895 OPC_MoveParent,
9896 OPC_CheckPatternPredicate4,
9897 OPC_EmitMergeInputChains1_0,
9898 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
9899 1, 0, 2, 25,
9900 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9901 2, 63,
9902 24,
9903 OPC_CheckChild1Integer, 1,
9904 OPC_CheckTypeByHwMode0,
9905 OPC_MoveSibling2,
9906 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9907 OPC_RecordNode,
9908 OPC_MoveParent,
9909 OPC_CheckPatternPredicate4,
9910 OPC_EmitMergeInputChains1_0,
9911 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
9912 1, 0, 2, 25,
9913 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9914 2, 63,
9915 0,
9916 55,
9917 OPC_CheckChild2CondCode, ISD::SETLE,
9918 OPC_MoveParent,
9919 OPC_Scope, 24,
9920 OPC_CheckChild1Integer, 127,
9921 OPC_CheckTypeByHwMode0,
9922 OPC_MoveSibling2,
9923 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9924 OPC_RecordNode,
9925 OPC_MoveParent,
9926 OPC_CheckPatternPredicate4,
9927 OPC_EmitMergeInputChains1_0,
9928 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
9929 1, 0, 2, 25,
9930 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9931 2, 63,
9932 24,
9933 OPC_CheckChild1Integer, 1,
9934 OPC_CheckTypeByHwMode0,
9935 OPC_MoveSibling2,
9936 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9937 OPC_RecordNode,
9938 OPC_MoveParent,
9939 OPC_CheckPatternPredicate4,
9940 OPC_EmitMergeInputChains1_0,
9941 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
9942 1, 0, 2, 25,
9943 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9944 2, 63,
9945 0,
9946 55,
9947 OPC_CheckChild2CondCode, ISD::SETONE,
9948 OPC_MoveParent,
9949 OPC_Scope, 24,
9950 OPC_CheckChild1Integer, 127,
9951 OPC_CheckTypeByHwMode0,
9952 OPC_MoveSibling2,
9953 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9954 OPC_RecordNode,
9955 OPC_MoveParent,
9956 OPC_CheckPatternPredicate4,
9957 OPC_EmitMergeInputChains1_0,
9958 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0,
9959 1, 0, 2, 25,
9960 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9961 2, 63,
9962 24,
9963 OPC_CheckChild1Integer, 1,
9964 OPC_CheckTypeByHwMode0,
9965 OPC_MoveSibling2,
9966 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9967 OPC_RecordNode,
9968 OPC_MoveParent,
9969 OPC_CheckPatternPredicate4,
9970 OPC_EmitMergeInputChains1_0,
9971 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0,
9972 1, 0, 2, 25,
9973 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9974 2, 63,
9975 0,
9976 55,
9977 OPC_CheckChild2CondCode, ISD::SETO,
9978 OPC_MoveParent,
9979 OPC_Scope, 24,
9980 OPC_CheckChild1Integer, 127,
9981 OPC_CheckTypeByHwMode0,
9982 OPC_MoveSibling2,
9983 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9984 OPC_RecordNode,
9985 OPC_MoveParent,
9986 OPC_CheckPatternPredicate4,
9987 OPC_EmitMergeInputChains1_0,
9988 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0,
9989 1, 0, 2, 25,
9990 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
9991 2, 63,
9992 24,
9993 OPC_CheckChild1Integer, 1,
9994 OPC_CheckTypeByHwMode0,
9995 OPC_MoveSibling2,
9996 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
9997 OPC_RecordNode,
9998 OPC_MoveParent,
9999 OPC_CheckPatternPredicate4,
10000 OPC_EmitMergeInputChains1_0,
10001 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0,
10002 1, 0, 2, 25,
10003 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10004 2, 63,
10005 0,
10006 55,
10007 OPC_CheckChild2CondCode, ISD::SETUEQ,
10008 OPC_MoveParent,
10009 OPC_Scope, 24,
10010 OPC_CheckChild1Integer, 127,
10011 OPC_CheckTypeByHwMode0,
10012 OPC_MoveSibling2,
10013 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10014 OPC_RecordNode,
10015 OPC_MoveParent,
10016 OPC_CheckPatternPredicate4,
10017 OPC_EmitMergeInputChains1_0,
10018 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0,
10019 1, 0, 2, 25,
10020 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10021 2, 63,
10022 24,
10023 OPC_CheckChild1Integer, 1,
10024 OPC_CheckTypeByHwMode0,
10025 OPC_MoveSibling2,
10026 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10027 OPC_RecordNode,
10028 OPC_MoveParent,
10029 OPC_CheckPatternPredicate4,
10030 OPC_EmitMergeInputChains1_0,
10031 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0,
10032 1, 0, 2, 25,
10033 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10034 2, 63,
10035 0,
10036 55,
10037 OPC_CheckChild2CondCode, ISD::SETULT,
10038 OPC_MoveParent,
10039 OPC_Scope, 24,
10040 OPC_CheckChild1Integer, 127,
10041 OPC_CheckTypeByHwMode0,
10042 OPC_MoveSibling2,
10043 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10044 OPC_RecordNode,
10045 OPC_MoveParent,
10046 OPC_CheckPatternPredicate4,
10047 OPC_EmitMergeInputChains1_0,
10048 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0,
10049 1, 0, 2, 25,
10050 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10051 2, 63,
10052 24,
10053 OPC_CheckChild1Integer, 1,
10054 OPC_CheckTypeByHwMode0,
10055 OPC_MoveSibling2,
10056 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10057 OPC_RecordNode,
10058 OPC_MoveParent,
10059 OPC_CheckPatternPredicate4,
10060 OPC_EmitMergeInputChains1_0,
10061 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0,
10062 1, 0, 2, 25,
10063 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10064 2, 63,
10065 0,
10066 55,
10067 OPC_CheckChild2CondCode, ISD::SETULE,
10068 OPC_MoveParent,
10069 OPC_Scope, 24,
10070 OPC_CheckChild1Integer, 127,
10071 OPC_CheckTypeByHwMode0,
10072 OPC_MoveSibling2,
10073 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10074 OPC_RecordNode,
10075 OPC_MoveParent,
10076 OPC_CheckPatternPredicate4,
10077 OPC_EmitMergeInputChains1_0,
10078 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0,
10079 1, 0, 2, 25,
10080 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10081 2, 63,
10082 24,
10083 OPC_CheckChild1Integer, 1,
10084 OPC_CheckTypeByHwMode0,
10085 OPC_MoveSibling2,
10086 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10087 OPC_RecordNode,
10088 OPC_MoveParent,
10089 OPC_CheckPatternPredicate4,
10090 OPC_EmitMergeInputChains1_0,
10091 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0,
10092 1, 0, 2, 25,
10093 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10094 2, 63,
10095 0,
10096 55,
10097 OPC_CheckChild2CondCode, ISD::SETUNE,
10098 OPC_MoveParent,
10099 OPC_Scope, 24,
10100 OPC_CheckChild1Integer, 127,
10101 OPC_CheckTypeByHwMode0,
10102 OPC_MoveSibling2,
10103 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10104 OPC_RecordNode,
10105 OPC_MoveParent,
10106 OPC_CheckPatternPredicate4,
10107 OPC_EmitMergeInputChains1_0,
10108 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0,
10109 1, 0, 2, 25,
10110 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10111 2, 63,
10112 24,
10113 OPC_CheckChild1Integer, 1,
10114 OPC_CheckTypeByHwMode0,
10115 OPC_MoveSibling2,
10116 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10117 OPC_RecordNode,
10118 OPC_MoveParent,
10119 OPC_CheckPatternPredicate4,
10120 OPC_EmitMergeInputChains1_0,
10121 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0,
10122 1, 0, 2, 25,
10123 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10124 2, 63,
10125 0,
10126 55,
10127 OPC_CheckChild2CondCode, ISD::SETUO,
10128 OPC_MoveParent,
10129 OPC_Scope, 24,
10130 OPC_CheckChild1Integer, 127,
10131 OPC_CheckTypeByHwMode0,
10132 OPC_MoveSibling2,
10133 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10134 OPC_RecordNode,
10135 OPC_MoveParent,
10136 OPC_CheckPatternPredicate4,
10137 OPC_EmitMergeInputChains1_0,
10138 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0,
10139 1, 0, 2, 25,
10140 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10141 2, 63,
10142 24,
10143 OPC_CheckChild1Integer, 1,
10144 OPC_CheckTypeByHwMode0,
10145 OPC_MoveSibling2,
10146 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10147 OPC_RecordNode,
10148 OPC_MoveParent,
10149 OPC_CheckPatternPredicate4,
10150 OPC_EmitMergeInputChains1_0,
10151 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0,
10152 1, 0, 2, 25,
10153 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10154 2, 63,
10155 0,
10156 55,
10157 OPC_CheckChild2CondCode, ISD::SETLT,
10158 OPC_MoveParent,
10159 OPC_Scope, 24,
10160 OPC_CheckChild1Integer, 127,
10161 OPC_CheckTypeByHwMode0,
10162 OPC_MoveSibling2,
10163 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10164 OPC_RecordNode,
10165 OPC_MoveParent,
10166 OPC_CheckPatternPredicate4,
10167 OPC_EmitMergeInputChains1_0,
10168 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
10169 1, 0, 2, 25,
10170 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10171 2, 63,
10172 24,
10173 OPC_CheckChild1Integer, 1,
10174 OPC_CheckTypeByHwMode0,
10175 OPC_MoveSibling2,
10176 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10177 OPC_RecordNode,
10178 OPC_MoveParent,
10179 OPC_CheckPatternPredicate4,
10180 OPC_EmitMergeInputChains1_0,
10181 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
10182 1, 0, 2, 25,
10183 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10184 2, 63,
10185 0,
10186 0,
10187 0,
10188 27|128,5, TARGET_VAL(ISD::SETCC),
10189 OPC_RecordChild0,
10190 OPC_Scope, 74|128,2,
10191 OPC_CheckChild0Type, MVT::f32,
10192 OPC_RecordChild1,
10193 OPC_Scope, 24,
10194 OPC_CheckChild2CondCode, ISD::SETOEQ,
10195 OPC_CheckTypeByHwMode0,
10196 OPC_MoveSibling2,
10197 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10198 OPC_RecordNode,
10199 OPC_MoveParent,
10200 OPC_CheckPatternPredicate3,
10201 OPC_EmitMergeInputChains1_0,
10202 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
10203 1, 0, 2, 25,
10204 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10205 2, 63,
10206 24,
10207 OPC_CheckChild2CondCode, ISD::SETEQ,
10208 OPC_CheckTypeByHwMode0,
10209 OPC_MoveSibling2,
10210 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10211 OPC_RecordNode,
10212 OPC_MoveParent,
10213 OPC_CheckPatternPredicate3,
10214 OPC_EmitMergeInputChains1_0,
10215 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
10216 1, 0, 2, 25,
10217 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10218 2, 63,
10219 24,
10220 OPC_CheckChild2CondCode, ISD::SETOLT,
10221 OPC_CheckTypeByHwMode0,
10222 OPC_MoveSibling2,
10223 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10224 OPC_RecordNode,
10225 OPC_MoveParent,
10226 OPC_CheckPatternPredicate3,
10227 OPC_EmitMergeInputChains1_0,
10228 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
10229 1, 0, 2, 25,
10230 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10231 2, 63,
10232 24,
10233 OPC_CheckChild2CondCode, ISD::SETOLE,
10234 OPC_CheckTypeByHwMode0,
10235 OPC_MoveSibling2,
10236 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10237 OPC_RecordNode,
10238 OPC_MoveParent,
10239 OPC_CheckPatternPredicate3,
10240 OPC_EmitMergeInputChains1_0,
10241 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
10242 1, 0, 2, 25,
10243 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10244 2, 63,
10245 24,
10246 OPC_CheckChild2CondCode, ISD::SETLE,
10247 OPC_CheckTypeByHwMode0,
10248 OPC_MoveSibling2,
10249 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10250 OPC_RecordNode,
10251 OPC_MoveParent,
10252 OPC_CheckPatternPredicate3,
10253 OPC_EmitMergeInputChains1_0,
10254 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
10255 1, 0, 2, 25,
10256 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10257 2, 63,
10258 24,
10259 OPC_CheckChild2CondCode, ISD::SETONE,
10260 OPC_CheckTypeByHwMode0,
10261 OPC_MoveSibling2,
10262 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10263 OPC_RecordNode,
10264 OPC_MoveParent,
10265 OPC_CheckPatternPredicate3,
10266 OPC_EmitMergeInputChains1_0,
10267 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0,
10268 1, 0, 2, 25,
10269 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10270 2, 63,
10271 24,
10272 OPC_CheckChild2CondCode, ISD::SETO,
10273 OPC_CheckTypeByHwMode0,
10274 OPC_MoveSibling2,
10275 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10276 OPC_RecordNode,
10277 OPC_MoveParent,
10278 OPC_CheckPatternPredicate3,
10279 OPC_EmitMergeInputChains1_0,
10280 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0,
10281 1, 0, 2, 25,
10282 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10283 2, 63,
10284 24,
10285 OPC_CheckChild2CondCode, ISD::SETUEQ,
10286 OPC_CheckTypeByHwMode0,
10287 OPC_MoveSibling2,
10288 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10289 OPC_RecordNode,
10290 OPC_MoveParent,
10291 OPC_CheckPatternPredicate3,
10292 OPC_EmitMergeInputChains1_0,
10293 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0,
10294 1, 0, 2, 25,
10295 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10296 2, 63,
10297 24,
10298 OPC_CheckChild2CondCode, ISD::SETULT,
10299 OPC_CheckTypeByHwMode0,
10300 OPC_MoveSibling2,
10301 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10302 OPC_RecordNode,
10303 OPC_MoveParent,
10304 OPC_CheckPatternPredicate3,
10305 OPC_EmitMergeInputChains1_0,
10306 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0,
10307 1, 0, 2, 25,
10308 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10309 2, 63,
10310 24,
10311 OPC_CheckChild2CondCode, ISD::SETULE,
10312 OPC_CheckTypeByHwMode0,
10313 OPC_MoveSibling2,
10314 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10315 OPC_RecordNode,
10316 OPC_MoveParent,
10317 OPC_CheckPatternPredicate3,
10318 OPC_EmitMergeInputChains1_0,
10319 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0,
10320 1, 0, 2, 25,
10321 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10322 2, 63,
10323 24,
10324 OPC_CheckChild2CondCode, ISD::SETUNE,
10325 OPC_CheckTypeByHwMode0,
10326 OPC_MoveSibling2,
10327 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10328 OPC_RecordNode,
10329 OPC_MoveParent,
10330 OPC_CheckPatternPredicate3,
10331 OPC_EmitMergeInputChains1_0,
10332 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0,
10333 1, 0, 2, 25,
10334 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10335 2, 63,
10336 24,
10337 OPC_CheckChild2CondCode, ISD::SETUO,
10338 OPC_CheckTypeByHwMode0,
10339 OPC_MoveSibling2,
10340 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10341 OPC_RecordNode,
10342 OPC_MoveParent,
10343 OPC_CheckPatternPredicate3,
10344 OPC_EmitMergeInputChains1_0,
10345 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0,
10346 1, 0, 2, 25,
10347 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10348 2, 63,
10349 24,
10350 OPC_CheckChild2CondCode, ISD::SETLT,
10351 OPC_CheckTypeByHwMode0,
10352 OPC_MoveSibling2,
10353 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10354 OPC_RecordNode,
10355 OPC_MoveParent,
10356 OPC_CheckPatternPredicate3,
10357 OPC_EmitMergeInputChains1_0,
10358 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
10359 1, 0, 2, 25,
10360 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10361 2, 63,
10362 0,
10363 74|128,2,
10364 OPC_CheckChild0Type, MVT::f64,
10365 OPC_RecordChild1,
10366 OPC_Scope, 24,
10367 OPC_CheckChild2CondCode, ISD::SETOEQ,
10368 OPC_CheckTypeByHwMode0,
10369 OPC_MoveSibling2,
10370 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10371 OPC_RecordNode,
10372 OPC_MoveParent,
10373 OPC_CheckPatternPredicate4,
10374 OPC_EmitMergeInputChains1_0,
10375 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
10376 1, 0, 2, 25,
10377 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10378 2, 63,
10379 24,
10380 OPC_CheckChild2CondCode, ISD::SETEQ,
10381 OPC_CheckTypeByHwMode0,
10382 OPC_MoveSibling2,
10383 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10384 OPC_RecordNode,
10385 OPC_MoveParent,
10386 OPC_CheckPatternPredicate4,
10387 OPC_EmitMergeInputChains1_0,
10388 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
10389 1, 0, 2, 25,
10390 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10391 2, 63,
10392 24,
10393 OPC_CheckChild2CondCode, ISD::SETOLT,
10394 OPC_CheckTypeByHwMode0,
10395 OPC_MoveSibling2,
10396 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10397 OPC_RecordNode,
10398 OPC_MoveParent,
10399 OPC_CheckPatternPredicate4,
10400 OPC_EmitMergeInputChains1_0,
10401 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
10402 1, 0, 2, 25,
10403 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10404 2, 63,
10405 24,
10406 OPC_CheckChild2CondCode, ISD::SETOLE,
10407 OPC_CheckTypeByHwMode0,
10408 OPC_MoveSibling2,
10409 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10410 OPC_RecordNode,
10411 OPC_MoveParent,
10412 OPC_CheckPatternPredicate4,
10413 OPC_EmitMergeInputChains1_0,
10414 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
10415 1, 0, 2, 25,
10416 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10417 2, 63,
10418 24,
10419 OPC_CheckChild2CondCode, ISD::SETLE,
10420 OPC_CheckTypeByHwMode0,
10421 OPC_MoveSibling2,
10422 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10423 OPC_RecordNode,
10424 OPC_MoveParent,
10425 OPC_CheckPatternPredicate4,
10426 OPC_EmitMergeInputChains1_0,
10427 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
10428 1, 0, 2, 25,
10429 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10430 2, 63,
10431 24,
10432 OPC_CheckChild2CondCode, ISD::SETONE,
10433 OPC_CheckTypeByHwMode0,
10434 OPC_MoveSibling2,
10435 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10436 OPC_RecordNode,
10437 OPC_MoveParent,
10438 OPC_CheckPatternPredicate4,
10439 OPC_EmitMergeInputChains1_0,
10440 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0,
10441 1, 0, 2, 25,
10442 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10443 2, 63,
10444 24,
10445 OPC_CheckChild2CondCode, ISD::SETO,
10446 OPC_CheckTypeByHwMode0,
10447 OPC_MoveSibling2,
10448 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10449 OPC_RecordNode,
10450 OPC_MoveParent,
10451 OPC_CheckPatternPredicate4,
10452 OPC_EmitMergeInputChains1_0,
10453 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0,
10454 1, 0, 2, 25,
10455 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10456 2, 63,
10457 24,
10458 OPC_CheckChild2CondCode, ISD::SETUEQ,
10459 OPC_CheckTypeByHwMode0,
10460 OPC_MoveSibling2,
10461 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10462 OPC_RecordNode,
10463 OPC_MoveParent,
10464 OPC_CheckPatternPredicate4,
10465 OPC_EmitMergeInputChains1_0,
10466 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0,
10467 1, 0, 2, 25,
10468 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10469 2, 63,
10470 24,
10471 OPC_CheckChild2CondCode, ISD::SETULT,
10472 OPC_CheckTypeByHwMode0,
10473 OPC_MoveSibling2,
10474 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10475 OPC_RecordNode,
10476 OPC_MoveParent,
10477 OPC_CheckPatternPredicate4,
10478 OPC_EmitMergeInputChains1_0,
10479 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0,
10480 1, 0, 2, 25,
10481 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10482 2, 63,
10483 24,
10484 OPC_CheckChild2CondCode, ISD::SETULE,
10485 OPC_CheckTypeByHwMode0,
10486 OPC_MoveSibling2,
10487 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10488 OPC_RecordNode,
10489 OPC_MoveParent,
10490 OPC_CheckPatternPredicate4,
10491 OPC_EmitMergeInputChains1_0,
10492 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0,
10493 1, 0, 2, 25,
10494 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10495 2, 63,
10496 24,
10497 OPC_CheckChild2CondCode, ISD::SETUNE,
10498 OPC_CheckTypeByHwMode0,
10499 OPC_MoveSibling2,
10500 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10501 OPC_RecordNode,
10502 OPC_MoveParent,
10503 OPC_CheckPatternPredicate4,
10504 OPC_EmitMergeInputChains1_0,
10505 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0,
10506 1, 0, 2, 25,
10507 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10508 2, 63,
10509 24,
10510 OPC_CheckChild2CondCode, ISD::SETUO,
10511 OPC_CheckTypeByHwMode0,
10512 OPC_MoveSibling2,
10513 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10514 OPC_RecordNode,
10515 OPC_MoveParent,
10516 OPC_CheckPatternPredicate4,
10517 OPC_EmitMergeInputChains1_0,
10518 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0,
10519 1, 0, 2, 25,
10520 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10521 2, 63,
10522 24,
10523 OPC_CheckChild2CondCode, ISD::SETLT,
10524 OPC_CheckTypeByHwMode0,
10525 OPC_MoveSibling2,
10526 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10527 OPC_RecordNode,
10528 OPC_MoveParent,
10529 OPC_CheckPatternPredicate4,
10530 OPC_EmitMergeInputChains1_0,
10531 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
10532 1, 0, 2, 25,
10533 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
10534 2, 63,
10535 0,
10536 0,
10537 0,
10538 107|128,17, TARGET_VAL(ISD::XOR),
10539 OPC_Scope, 18,
10540 OPC_MoveChild0,
10541 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
10542 OPC_RecordChild0,
10543 OPC_RecordChild1,
10544 OPC_MoveParent,
10545 OPC_CheckChild1Integer, 127,
10546 OPC_CheckTypeByHwMode0,
10547 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::NOR), 0,
10548 1, 0, 2, 9,
10549 103|128,1,
10550 OPC_RecordChild0,
10551 OPC_Scope, 14,
10552 OPC_CheckChild1Integer, 127,
10553 OPC_CheckTypeByHwMode0,
10554 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
10555 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::NOR), 0,
10556 1, 0, 2, 9,
10557 31,
10558 OPC_RecordChild1,
10559 OPC_Scope, 17,
10560 OPC_MoveChild1,
10561 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10562 OPC_CheckPredicate, 48,
10563 OPC_MoveParent,
10564 OPC_CheckTypeByHwMode0,
10565 OPC_EmitConvertToTarget1,
10566 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XORI), 0,
10567 1, 0, 2, 22,
10568 9,
10569 OPC_CheckTypeByHwMode0,
10570 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XOR), 0,
10571 1, 0, 2, 9,
10572 0,
10573 51|128,1,
10574 OPC_MoveChild1,
10575 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10576 OPC_MoveChild0,
10577 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10578 OPC_CheckPredicate, 11,
10579 OPC_MoveSibling1,
10580 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10581 OPC_Scope, 11|128,1,
10582 OPC_RecordChild0,
10583 OPC_MoveChild1,
10584 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10585 OPC_Scope, 16,
10586 OPC_CheckPredicate, 13,
10587 OPC_MoveParent,
10588 OPC_CheckType, MVT::v16i8,
10589 OPC_MoveParent,
10590 OPC_MoveParent,
10591 OPC_CheckType, MVT::v16i8,
10592 OPC_CheckPatternPredicate1,
10593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
10594 MVT::v16i8, 2, 9,
10595 16,
10596 OPC_CheckPredicate, 14,
10597 OPC_MoveParent,
10598 OPC_CheckType, MVT::v8i16,
10599 OPC_MoveParent,
10600 OPC_MoveParent,
10601 OPC_CheckType, MVT::v8i16,
10602 OPC_CheckPatternPredicate1,
10603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
10604 MVT::v8i16, 2, 9,
10605 16,
10606 OPC_CheckPredicate, 15,
10607 OPC_MoveParent,
10608 OPC_CheckType, MVT::v4i32,
10609 OPC_MoveParent,
10610 OPC_MoveParent,
10611 OPC_CheckType, MVT::v4i32,
10612 OPC_CheckPatternPredicate1,
10613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
10614 MVT::v4i32, 2, 9,
10615 14,
10616 OPC_CheckPredicate, 16,
10617 OPC_MoveParent,
10618 OPC_MoveParent,
10619 OPC_MoveParent,
10620 OPC_CheckType, MVT::v2i64,
10621 OPC_CheckPatternPredicate1,
10622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
10623 MVT::v2i64, 2, 9,
10624 14,
10625 OPC_CheckPredicate, 13,
10626 OPC_MoveParent,
10627 OPC_MoveParent,
10628 OPC_MoveParent,
10629 OPC_CheckType, MVT::v32i8,
10630 OPC_CheckPatternPredicate0,
10631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
10632 MVT::v32i8, 2, 9,
10633 16,
10634 OPC_CheckPredicate, 14,
10635 OPC_MoveParent,
10636 OPC_CheckType, MVT::v16i16,
10637 OPC_MoveParent,
10638 OPC_MoveParent,
10639 OPC_CheckType, MVT::v16i16,
10640 OPC_CheckPatternPredicate0,
10641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
10642 MVT::v16i16, 2, 9,
10643 16,
10644 OPC_CheckPredicate, 15,
10645 OPC_MoveParent,
10646 OPC_CheckType, MVT::v8i32,
10647 OPC_MoveParent,
10648 OPC_MoveParent,
10649 OPC_CheckType, MVT::v8i32,
10650 OPC_CheckPatternPredicate0,
10651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
10652 MVT::v8i32, 2, 9,
10653 16,
10654 OPC_CheckPredicate, 16,
10655 OPC_MoveParent,
10656 OPC_CheckType, MVT::v4i64,
10657 OPC_MoveParent,
10658 OPC_MoveParent,
10659 OPC_CheckType, MVT::v4i64,
10660 OPC_CheckPatternPredicate0,
10661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
10662 MVT::v4i64, 2, 9,
10663 0,
10664 21,
10665 OPC_MoveChild0,
10666 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10667 OPC_CheckPredicate, 13,
10668 OPC_MoveParent,
10669 OPC_RecordChild1,
10670 OPC_CheckType, MVT::v16i8,
10671 OPC_MoveParent,
10672 OPC_MoveParent,
10673 OPC_CheckType, MVT::v16i8,
10674 OPC_CheckPatternPredicate1,
10675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
10676 MVT::v16i8, 2, 9,
10677 0,
10678 0,
10679 62,
10680 OPC_MoveChild0,
10681 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10682 OPC_MoveChild0,
10683 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10684 OPC_CheckPredicate, 11,
10685 OPC_MoveSibling1,
10686 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10687 OPC_Scope, 22,
10688 OPC_RecordChild0,
10689 OPC_MoveChild1,
10690 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10691 OPC_CheckPredicate, 13,
10692 OPC_MoveParent,
10693 OPC_CheckType, MVT::v16i8,
10694 OPC_MoveParent,
10695 OPC_MoveParent,
10696 OPC_RecordChild1,
10697 OPC_CheckType, MVT::v16i8,
10698 OPC_CheckPatternPredicate1,
10699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
10700 MVT::v16i8, 2, 3,
10701 22,
10702 OPC_MoveChild0,
10703 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10704 OPC_CheckPredicate, 13,
10705 OPC_MoveParent,
10706 OPC_RecordChild1,
10707 OPC_CheckType, MVT::v16i8,
10708 OPC_MoveParent,
10709 OPC_MoveParent,
10710 OPC_RecordChild1,
10711 OPC_CheckType, MVT::v16i8,
10712 OPC_CheckPatternPredicate1,
10713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
10714 MVT::v16i8, 2, 3,
10715 0,
10716 36,
10717 OPC_RecordChild0,
10718 OPC_MoveChild1,
10719 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10720 OPC_MoveChild0,
10721 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10722 OPC_CheckPredicate, 11,
10723 OPC_MoveSibling1,
10724 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10725 OPC_MoveChild0,
10726 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10727 OPC_CheckPredicate, 14,
10728 OPC_MoveParent,
10729 OPC_RecordChild1,
10730 OPC_CheckType, MVT::v8i16,
10731 OPC_MoveParent,
10732 OPC_MoveParent,
10733 OPC_CheckType, MVT::v8i16,
10734 OPC_CheckPatternPredicate1,
10735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
10736 MVT::v8i16, 2, 9,
10737 62,
10738 OPC_MoveChild0,
10739 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10740 OPC_MoveChild0,
10741 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10742 OPC_CheckPredicate, 11,
10743 OPC_MoveSibling1,
10744 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10745 OPC_Scope, 22,
10746 OPC_RecordChild0,
10747 OPC_MoveChild1,
10748 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10749 OPC_CheckPredicate, 14,
10750 OPC_MoveParent,
10751 OPC_CheckType, MVT::v8i16,
10752 OPC_MoveParent,
10753 OPC_MoveParent,
10754 OPC_RecordChild1,
10755 OPC_CheckType, MVT::v8i16,
10756 OPC_CheckPatternPredicate1,
10757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
10758 MVT::v8i16, 2, 3,
10759 22,
10760 OPC_MoveChild0,
10761 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10762 OPC_CheckPredicate, 14,
10763 OPC_MoveParent,
10764 OPC_RecordChild1,
10765 OPC_CheckType, MVT::v8i16,
10766 OPC_MoveParent,
10767 OPC_MoveParent,
10768 OPC_RecordChild1,
10769 OPC_CheckType, MVT::v8i16,
10770 OPC_CheckPatternPredicate1,
10771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
10772 MVT::v8i16, 2, 3,
10773 0,
10774 36,
10775 OPC_RecordChild0,
10776 OPC_MoveChild1,
10777 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10778 OPC_MoveChild0,
10779 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10780 OPC_CheckPredicate, 11,
10781 OPC_MoveSibling1,
10782 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10783 OPC_MoveChild0,
10784 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10785 OPC_CheckPredicate, 15,
10786 OPC_MoveParent,
10787 OPC_RecordChild1,
10788 OPC_CheckType, MVT::v4i32,
10789 OPC_MoveParent,
10790 OPC_MoveParent,
10791 OPC_CheckType, MVT::v4i32,
10792 OPC_CheckPatternPredicate1,
10793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
10794 MVT::v4i32, 2, 9,
10795 62,
10796 OPC_MoveChild0,
10797 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10798 OPC_MoveChild0,
10799 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10800 OPC_CheckPredicate, 11,
10801 OPC_MoveSibling1,
10802 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10803 OPC_Scope, 22,
10804 OPC_RecordChild0,
10805 OPC_MoveChild1,
10806 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10807 OPC_CheckPredicate, 15,
10808 OPC_MoveParent,
10809 OPC_CheckType, MVT::v4i32,
10810 OPC_MoveParent,
10811 OPC_MoveParent,
10812 OPC_RecordChild1,
10813 OPC_CheckType, MVT::v4i32,
10814 OPC_CheckPatternPredicate1,
10815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
10816 MVT::v4i32, 2, 3,
10817 22,
10818 OPC_MoveChild0,
10819 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10820 OPC_CheckPredicate, 15,
10821 OPC_MoveParent,
10822 OPC_RecordChild1,
10823 OPC_CheckType, MVT::v4i32,
10824 OPC_MoveParent,
10825 OPC_MoveParent,
10826 OPC_RecordChild1,
10827 OPC_CheckType, MVT::v4i32,
10828 OPC_CheckPatternPredicate1,
10829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
10830 MVT::v4i32, 2, 3,
10831 0,
10832 34,
10833 OPC_RecordChild0,
10834 OPC_MoveChild1,
10835 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10836 OPC_MoveChild0,
10837 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10838 OPC_CheckPredicate, 11,
10839 OPC_MoveSibling1,
10840 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10841 OPC_MoveChild0,
10842 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10843 OPC_CheckPredicate, 16,
10844 OPC_MoveParent,
10845 OPC_RecordChild1,
10846 OPC_MoveParent,
10847 OPC_MoveParent,
10848 OPC_CheckType, MVT::v2i64,
10849 OPC_CheckPatternPredicate1,
10850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
10851 MVT::v2i64, 2, 9,
10852 58,
10853 OPC_MoveChild0,
10854 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10855 OPC_MoveChild0,
10856 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10857 OPC_CheckPredicate, 11,
10858 OPC_MoveSibling1,
10859 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10860 OPC_Scope, 20,
10861 OPC_RecordChild0,
10862 OPC_MoveChild1,
10863 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10864 OPC_CheckPredicate, 16,
10865 OPC_MoveParent,
10866 OPC_MoveParent,
10867 OPC_MoveParent,
10868 OPC_RecordChild1,
10869 OPC_CheckType, MVT::v2i64,
10870 OPC_CheckPatternPredicate1,
10871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
10872 MVT::v2i64, 2, 3,
10873 20,
10874 OPC_MoveChild0,
10875 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10876 OPC_CheckPredicate, 16,
10877 OPC_MoveParent,
10878 OPC_RecordChild1,
10879 OPC_MoveParent,
10880 OPC_MoveParent,
10881 OPC_RecordChild1,
10882 OPC_CheckType, MVT::v2i64,
10883 OPC_CheckPatternPredicate1,
10884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
10885 MVT::v2i64, 2, 3,
10886 0,
10887 34,
10888 OPC_RecordChild0,
10889 OPC_MoveChild1,
10890 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10891 OPC_MoveChild0,
10892 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10893 OPC_CheckPredicate, 11,
10894 OPC_MoveSibling1,
10895 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10896 OPC_MoveChild0,
10897 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10898 OPC_CheckPredicate, 13,
10899 OPC_MoveParent,
10900 OPC_RecordChild1,
10901 OPC_MoveParent,
10902 OPC_MoveParent,
10903 OPC_CheckType, MVT::v32i8,
10904 OPC_CheckPatternPredicate0,
10905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
10906 MVT::v32i8, 2, 9,
10907 58,
10908 OPC_MoveChild0,
10909 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10910 OPC_MoveChild0,
10911 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10912 OPC_CheckPredicate, 11,
10913 OPC_MoveSibling1,
10914 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10915 OPC_Scope, 20,
10916 OPC_RecordChild0,
10917 OPC_MoveChild1,
10918 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10919 OPC_CheckPredicate, 13,
10920 OPC_MoveParent,
10921 OPC_MoveParent,
10922 OPC_MoveParent,
10923 OPC_RecordChild1,
10924 OPC_CheckType, MVT::v32i8,
10925 OPC_CheckPatternPredicate0,
10926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
10927 MVT::v32i8, 2, 3,
10928 20,
10929 OPC_MoveChild0,
10930 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10931 OPC_CheckPredicate, 13,
10932 OPC_MoveParent,
10933 OPC_RecordChild1,
10934 OPC_MoveParent,
10935 OPC_MoveParent,
10936 OPC_RecordChild1,
10937 OPC_CheckType, MVT::v32i8,
10938 OPC_CheckPatternPredicate0,
10939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
10940 MVT::v32i8, 2, 3,
10941 0,
10942 36,
10943 OPC_RecordChild0,
10944 OPC_MoveChild1,
10945 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10946 OPC_MoveChild0,
10947 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10948 OPC_CheckPredicate, 11,
10949 OPC_MoveSibling1,
10950 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10951 OPC_MoveChild0,
10952 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10953 OPC_CheckPredicate, 14,
10954 OPC_MoveParent,
10955 OPC_RecordChild1,
10956 OPC_CheckType, MVT::v16i16,
10957 OPC_MoveParent,
10958 OPC_MoveParent,
10959 OPC_CheckType, MVT::v16i16,
10960 OPC_CheckPatternPredicate0,
10961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
10962 MVT::v16i16, 2, 9,
10963 62,
10964 OPC_MoveChild0,
10965 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10966 OPC_MoveChild0,
10967 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10968 OPC_CheckPredicate, 11,
10969 OPC_MoveSibling1,
10970 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10971 OPC_Scope, 22,
10972 OPC_RecordChild0,
10973 OPC_MoveChild1,
10974 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10975 OPC_CheckPredicate, 14,
10976 OPC_MoveParent,
10977 OPC_CheckType, MVT::v16i16,
10978 OPC_MoveParent,
10979 OPC_MoveParent,
10980 OPC_RecordChild1,
10981 OPC_CheckType, MVT::v16i16,
10982 OPC_CheckPatternPredicate0,
10983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
10984 MVT::v16i16, 2, 3,
10985 22,
10986 OPC_MoveChild0,
10987 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10988 OPC_CheckPredicate, 14,
10989 OPC_MoveParent,
10990 OPC_RecordChild1,
10991 OPC_CheckType, MVT::v16i16,
10992 OPC_MoveParent,
10993 OPC_MoveParent,
10994 OPC_RecordChild1,
10995 OPC_CheckType, MVT::v16i16,
10996 OPC_CheckPatternPredicate0,
10997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
10998 MVT::v16i16, 2, 3,
10999 0,
11000 36,
11001 OPC_RecordChild0,
11002 OPC_MoveChild1,
11003 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11004 OPC_MoveChild0,
11005 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11006 OPC_CheckPredicate, 11,
11007 OPC_MoveSibling1,
11008 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11009 OPC_MoveChild0,
11010 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11011 OPC_CheckPredicate, 15,
11012 OPC_MoveParent,
11013 OPC_RecordChild1,
11014 OPC_CheckType, MVT::v8i32,
11015 OPC_MoveParent,
11016 OPC_MoveParent,
11017 OPC_CheckType, MVT::v8i32,
11018 OPC_CheckPatternPredicate0,
11019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
11020 MVT::v8i32, 2, 9,
11021 62,
11022 OPC_MoveChild0,
11023 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11024 OPC_MoveChild0,
11025 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11026 OPC_CheckPredicate, 11,
11027 OPC_MoveSibling1,
11028 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11029 OPC_Scope, 22,
11030 OPC_RecordChild0,
11031 OPC_MoveChild1,
11032 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11033 OPC_CheckPredicate, 15,
11034 OPC_MoveParent,
11035 OPC_CheckType, MVT::v8i32,
11036 OPC_MoveParent,
11037 OPC_MoveParent,
11038 OPC_RecordChild1,
11039 OPC_CheckType, MVT::v8i32,
11040 OPC_CheckPatternPredicate0,
11041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
11042 MVT::v8i32, 2, 3,
11043 22,
11044 OPC_MoveChild0,
11045 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11046 OPC_CheckPredicate, 15,
11047 OPC_MoveParent,
11048 OPC_RecordChild1,
11049 OPC_CheckType, MVT::v8i32,
11050 OPC_MoveParent,
11051 OPC_MoveParent,
11052 OPC_RecordChild1,
11053 OPC_CheckType, MVT::v8i32,
11054 OPC_CheckPatternPredicate0,
11055 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
11056 MVT::v8i32, 2, 3,
11057 0,
11058 36,
11059 OPC_RecordChild0,
11060 OPC_MoveChild1,
11061 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11062 OPC_MoveChild0,
11063 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11064 OPC_CheckPredicate, 11,
11065 OPC_MoveSibling1,
11066 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11067 OPC_MoveChild0,
11068 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11069 OPC_CheckPredicate, 16,
11070 OPC_MoveParent,
11071 OPC_RecordChild1,
11072 OPC_CheckType, MVT::v4i64,
11073 OPC_MoveParent,
11074 OPC_MoveParent,
11075 OPC_CheckType, MVT::v4i64,
11076 OPC_CheckPatternPredicate0,
11077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
11078 MVT::v4i64, 2, 9,
11079 31|128,2,
11080 OPC_MoveChild0,
11081 OPC_SwitchOpcode , 58, TARGET_VAL(ISD::SHL),
11082 OPC_MoveChild0,
11083 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11084 OPC_CheckPredicate, 11,
11085 OPC_MoveSibling1,
11086 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11087 OPC_Scope, 22,
11088 OPC_RecordChild0,
11089 OPC_MoveChild1,
11090 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11091 OPC_CheckPredicate, 16,
11092 OPC_MoveParent,
11093 OPC_CheckType, MVT::v4i64,
11094 OPC_MoveParent,
11095 OPC_MoveParent,
11096 OPC_RecordChild1,
11097 OPC_CheckType, MVT::v4i64,
11098 OPC_CheckPatternPredicate0,
11099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
11100 MVT::v4i64, 2, 3,
11101 22,
11102 OPC_MoveChild0,
11103 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11104 OPC_CheckPredicate, 16,
11105 OPC_MoveParent,
11106 OPC_RecordChild1,
11107 OPC_CheckType, MVT::v4i64,
11108 OPC_MoveParent,
11109 OPC_MoveParent,
11110 OPC_RecordChild1,
11111 OPC_CheckType, MVT::v4i64,
11112 OPC_CheckPatternPredicate0,
11113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
11114 MVT::v4i64, 2, 3,
11115 0,
11116 91|128,1, TARGET_VAL(ISD::OR),
11117 OPC_RecordChild0,
11118 OPC_RecordChild1,
11119 OPC_MoveSibling1,
11120 OPC_CheckImmAllOnesV,
11121 OPC_MoveParent,
11122 OPC_SwitchType , 28, MVT::v8i16,
11123 OPC_CheckPatternPredicate1,
11124 OPC_Scope, 8,
11125 OPC_CheckComplexPat5, /*#*/1,
11126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
11127 MVT::v8i16, 2, 22,
11128 8,
11129 OPC_CheckComplexPat5, /*#*/0,
11130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
11131 MVT::v8i16, 2, 25,
11132 6,
11133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
11134 MVT::v8i16, 2, 9,
11135 0,
11136 28, MVT::v4i32,
11137 OPC_CheckPatternPredicate1,
11138 OPC_Scope, 8,
11139 OPC_CheckComplexPat5, /*#*/1,
11140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
11141 MVT::v4i32, 2, 22,
11142 8,
11143 OPC_CheckComplexPat5, /*#*/0,
11144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
11145 MVT::v4i32, 2, 25,
11146 6,
11147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
11148 MVT::v4i32, 2, 9,
11149 0,
11150 28, MVT::v2i64,
11151 OPC_CheckPatternPredicate1,
11152 OPC_Scope, 8,
11153 OPC_CheckComplexPat5, /*#*/1,
11154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
11155 MVT::v2i64, 2, 22,
11156 8,
11157 OPC_CheckComplexPat5, /*#*/0,
11158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
11159 MVT::v2i64, 2, 25,
11160 6,
11161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
11162 MVT::v2i64, 2, 9,
11163 0,
11164 21, MVT::v16i16,
11165 OPC_CheckPatternPredicate0,
11166 OPC_Scope, 8,
11167 OPC_CheckComplexPat5, /*#*/1,
11168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
11169 MVT::v16i16, 2, 22,
11170 8,
11171 OPC_CheckComplexPat5, /*#*/0,
11172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
11173 MVT::v16i16, 2, 25,
11174 0,
11175 21, MVT::v8i32,
11176 OPC_CheckPatternPredicate0,
11177 OPC_Scope, 8,
11178 OPC_CheckComplexPat5, /*#*/1,
11179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
11180 MVT::v8i32, 2, 22,
11181 8,
11182 OPC_CheckComplexPat5, /*#*/0,
11183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
11184 MVT::v8i32, 2, 25,
11185 0,
11186 21, MVT::v4i64,
11187 OPC_CheckPatternPredicate0,
11188 OPC_Scope, 8,
11189 OPC_CheckComplexPat5, /*#*/1,
11190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
11191 MVT::v4i64, 2, 22,
11192 8,
11193 OPC_CheckComplexPat5, /*#*/0,
11194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
11195 MVT::v4i64, 2, 25,
11196 0,
11197 28, MVT::v16i8,
11198 OPC_CheckPatternPredicate1,
11199 OPC_Scope, 8,
11200 OPC_CheckComplexPat7, /*#*/1,
11201 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
11202 MVT::v16i8, 2, 22,
11203 8,
11204 OPC_CheckComplexPat7, /*#*/0,
11205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
11206 MVT::v16i8, 2, 25,
11207 6,
11208 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
11209 MVT::v16i8, 2, 9,
11210 0,
11211 21, MVT::v32i8,
11212 OPC_CheckPatternPredicate0,
11213 OPC_Scope, 8,
11214 OPC_CheckComplexPat7, /*#*/1,
11215 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
11216 MVT::v32i8, 2, 22,
11217 8,
11218 OPC_CheckComplexPat7, /*#*/0,
11219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
11220 MVT::v32i8, 2, 25,
11221 0,
11222 0,
11223 0,
11224 65,
11225 OPC_RecordChild0,
11226 OPC_MoveChild1,
11227 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11228 OPC_MoveChild0,
11229 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11230 OPC_CheckPredicate, 11,
11231 OPC_MoveParent,
11232 OPC_RecordChild1,
11233 OPC_Scope, 12,
11234 OPC_CheckChild1Type, MVT::v16i8,
11235 OPC_MoveParent,
11236 OPC_CheckType, MVT::v16i8,
11237 OPC_CheckPatternPredicate1,
11238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
11239 MVT::v16i8, 2, 9,
11240 12,
11241 OPC_CheckChild1Type, MVT::v8i16,
11242 OPC_MoveParent,
11243 OPC_CheckType, MVT::v8i16,
11244 OPC_CheckPatternPredicate1,
11245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
11246 MVT::v8i16, 2, 9,
11247 12,
11248 OPC_CheckChild1Type, MVT::v4i32,
11249 OPC_MoveParent,
11250 OPC_CheckType, MVT::v4i32,
11251 OPC_CheckPatternPredicate1,
11252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
11253 MVT::v4i32, 2, 9,
11254 10,
11255 OPC_MoveParent,
11256 OPC_CheckType, MVT::v2i64,
11257 OPC_CheckPatternPredicate1,
11258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
11259 MVT::v2i64, 2, 9,
11260 0,
11261 47,
11262 OPC_MoveChild0,
11263 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
11264 OPC_RecordChild0,
11265 OPC_RecordChild1,
11266 OPC_MoveSibling1,
11267 OPC_CheckImmAllOnesV,
11268 OPC_MoveParent,
11269 OPC_SwitchType , 7, MVT::v32i8,
11270 OPC_CheckPatternPredicate0,
11271 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
11272 MVT::v32i8, 2, 9,
11273 7, MVT::v16i16,
11274 OPC_CheckPatternPredicate0,
11275 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
11276 MVT::v16i16, 2, 9,
11277 7, MVT::v8i32,
11278 OPC_CheckPatternPredicate0,
11279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
11280 MVT::v8i32, 2, 9,
11281 7, MVT::v4i64,
11282 OPC_CheckPatternPredicate0,
11283 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
11284 MVT::v4i64, 2, 9,
11285 0,
11286 65,
11287 OPC_RecordChild0,
11288 OPC_MoveChild1,
11289 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11290 OPC_MoveChild0,
11291 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11292 OPC_CheckPredicate, 11,
11293 OPC_MoveParent,
11294 OPC_RecordChild1,
11295 OPC_Scope, 10,
11296 OPC_MoveParent,
11297 OPC_CheckType, MVT::v32i8,
11298 OPC_CheckPatternPredicate0,
11299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
11300 MVT::v32i8, 2, 9,
11301 12,
11302 OPC_CheckChild1Type, MVT::v16i16,
11303 OPC_MoveParent,
11304 OPC_CheckType, MVT::v16i16,
11305 OPC_CheckPatternPredicate0,
11306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
11307 MVT::v16i16, 2, 9,
11308 12,
11309 OPC_CheckChild1Type, MVT::v8i32,
11310 OPC_MoveParent,
11311 OPC_CheckType, MVT::v8i32,
11312 OPC_CheckPatternPredicate0,
11313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
11314 MVT::v8i32, 2, 9,
11315 12,
11316 OPC_CheckChild1Type, MVT::v4i64,
11317 OPC_MoveParent,
11318 OPC_CheckType, MVT::v4i64,
11319 OPC_CheckPatternPredicate0,
11320 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
11321 MVT::v4i64, 2, 9,
11322 0,
11323 121,
11324 OPC_MoveChild0,
11325 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11326 OPC_MoveChild0,
11327 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11328 OPC_CheckPredicate, 11,
11329 OPC_MoveParent,
11330 OPC_RecordChild1,
11331 OPC_Scope, 13,
11332 OPC_CheckChild1Type, MVT::v16i8,
11333 OPC_MoveParent,
11334 OPC_RecordChild1,
11335 OPC_CheckType, MVT::v16i8,
11336 OPC_CheckPatternPredicate1,
11337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
11338 MVT::v16i8, 2, 3,
11339 13,
11340 OPC_CheckChild1Type, MVT::v8i16,
11341 OPC_MoveParent,
11342 OPC_RecordChild1,
11343 OPC_CheckType, MVT::v8i16,
11344 OPC_CheckPatternPredicate1,
11345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
11346 MVT::v8i16, 2, 3,
11347 13,
11348 OPC_CheckChild1Type, MVT::v4i32,
11349 OPC_MoveParent,
11350 OPC_RecordChild1,
11351 OPC_CheckType, MVT::v4i32,
11352 OPC_CheckPatternPredicate1,
11353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
11354 MVT::v4i32, 2, 3,
11355 22,
11356 OPC_MoveParent,
11357 OPC_RecordChild1,
11358 OPC_SwitchType , 7, MVT::v2i64,
11359 OPC_CheckPatternPredicate1,
11360 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
11361 MVT::v2i64, 2, 3,
11362 7, MVT::v32i8,
11363 OPC_CheckPatternPredicate0,
11364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
11365 MVT::v32i8, 2, 3,
11366 0,
11367 13,
11368 OPC_CheckChild1Type, MVT::v16i16,
11369 OPC_MoveParent,
11370 OPC_RecordChild1,
11371 OPC_CheckType, MVT::v16i16,
11372 OPC_CheckPatternPredicate0,
11373 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
11374 MVT::v16i16, 2, 3,
11375 13,
11376 OPC_CheckChild1Type, MVT::v8i32,
11377 OPC_MoveParent,
11378 OPC_RecordChild1,
11379 OPC_CheckType, MVT::v8i32,
11380 OPC_CheckPatternPredicate0,
11381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
11382 MVT::v8i32, 2, 3,
11383 13,
11384 OPC_CheckChild1Type, MVT::v4i64,
11385 OPC_MoveParent,
11386 OPC_RecordChild1,
11387 OPC_CheckType, MVT::v4i64,
11388 OPC_CheckPatternPredicate0,
11389 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
11390 MVT::v4i64, 2, 3,
11391 0,
11392 108|128,5,
11393 OPC_RecordChild0,
11394 OPC_RecordChild1,
11395 OPC_SwitchType , 106, MVT::v8i16,
11396 OPC_CheckPatternPredicate1,
11397 OPC_Scope, 8,
11398 OPC_CheckComplexPat5, /*#*/1,
11399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
11400 MVT::v8i16, 2, 22,
11401 8,
11402 OPC_CheckComplexPat6, /*#*/1,
11403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
11404 MVT::v8i16, 2, 22,
11405 9,
11406 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
11407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
11408 MVT::v8i16, 2, 22,
11409 9,
11410 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
11411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
11412 MVT::v8i16, 2, 22,
11413 9,
11414 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
11415 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
11416 MVT::v8i16, 2, 22,
11417 8,
11418 OPC_CheckComplexPat5, /*#*/0,
11419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
11420 MVT::v8i16, 2, 25,
11421 8,
11422 OPC_CheckComplexPat6, /*#*/0,
11423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
11424 MVT::v8i16, 2, 25,
11425 9,
11426 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
11427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
11428 MVT::v8i16, 2, 25,
11429 9,
11430 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
11431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
11432 MVT::v8i16, 2, 25,
11433 9,
11434 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
11435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
11436 MVT::v8i16, 2, 25,
11437 6,
11438 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
11439 MVT::v8i16, 2, 9,
11440 0,
11441 106, MVT::v4i32,
11442 OPC_CheckPatternPredicate1,
11443 OPC_Scope, 8,
11444 OPC_CheckComplexPat5, /*#*/1,
11445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
11446 MVT::v4i32, 2, 22,
11447 8,
11448 OPC_CheckComplexPat6, /*#*/1,
11449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
11450 MVT::v4i32, 2, 22,
11451 9,
11452 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
11453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
11454 MVT::v4i32, 2, 22,
11455 9,
11456 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
11457 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
11458 MVT::v4i32, 2, 22,
11459 9,
11460 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
11461 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
11462 MVT::v4i32, 2, 22,
11463 8,
11464 OPC_CheckComplexPat5, /*#*/0,
11465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
11466 MVT::v4i32, 2, 25,
11467 8,
11468 OPC_CheckComplexPat6, /*#*/0,
11469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
11470 MVT::v4i32, 2, 25,
11471 9,
11472 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
11473 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
11474 MVT::v4i32, 2, 25,
11475 9,
11476 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
11477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
11478 MVT::v4i32, 2, 25,
11479 9,
11480 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
11481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
11482 MVT::v4i32, 2, 25,
11483 6,
11484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
11485 MVT::v4i32, 2, 9,
11486 0,
11487 106, MVT::v2i64,
11488 OPC_CheckPatternPredicate1,
11489 OPC_Scope, 8,
11490 OPC_CheckComplexPat5, /*#*/1,
11491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
11492 MVT::v2i64, 2, 22,
11493 8,
11494 OPC_CheckComplexPat6, /*#*/1,
11495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
11496 MVT::v2i64, 2, 22,
11497 9,
11498 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
11499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
11500 MVT::v2i64, 2, 22,
11501 9,
11502 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
11503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
11504 MVT::v2i64, 2, 22,
11505 9,
11506 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
11507 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
11508 MVT::v2i64, 2, 22,
11509 8,
11510 OPC_CheckComplexPat5, /*#*/0,
11511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
11512 MVT::v2i64, 2, 25,
11513 8,
11514 OPC_CheckComplexPat6, /*#*/0,
11515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
11516 MVT::v2i64, 2, 25,
11517 9,
11518 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
11519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
11520 MVT::v2i64, 2, 25,
11521 9,
11522 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
11523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
11524 MVT::v2i64, 2, 25,
11525 9,
11526 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
11527 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
11528 MVT::v2i64, 2, 25,
11529 6,
11530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
11531 MVT::v2i64, 2, 9,
11532 0,
11533 46, MVT::v16i8,
11534 OPC_CheckPatternPredicate1,
11535 OPC_Scope, 8,
11536 OPC_CheckComplexPat6, /*#*/1,
11537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
11538 MVT::v16i8, 2, 22,
11539 8,
11540 OPC_CheckComplexPat6, /*#*/0,
11541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
11542 MVT::v16i8, 2, 25,
11543 8,
11544 OPC_CheckComplexPat7, /*#*/1,
11545 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
11546 MVT::v16i8, 2, 22,
11547 8,
11548 OPC_CheckComplexPat7, /*#*/0,
11549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
11550 MVT::v16i8, 2, 25,
11551 6,
11552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
11553 MVT::v16i8, 2, 9,
11554 0,
11555 106, MVT::v16i16,
11556 OPC_CheckPatternPredicate0,
11557 OPC_Scope, 8,
11558 OPC_CheckComplexPat5, /*#*/1,
11559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
11560 MVT::v16i16, 2, 22,
11561 8,
11562 OPC_CheckComplexPat6, /*#*/1,
11563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
11564 MVT::v16i16, 2, 22,
11565 9,
11566 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
11567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
11568 MVT::v16i16, 2, 22,
11569 9,
11570 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
11571 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
11572 MVT::v16i16, 2, 22,
11573 9,
11574 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
11575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
11576 MVT::v16i16, 2, 22,
11577 8,
11578 OPC_CheckComplexPat5, /*#*/0,
11579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
11580 MVT::v16i16, 2, 25,
11581 8,
11582 OPC_CheckComplexPat6, /*#*/0,
11583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
11584 MVT::v16i16, 2, 25,
11585 9,
11586 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
11587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
11588 MVT::v16i16, 2, 25,
11589 9,
11590 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
11591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
11592 MVT::v16i16, 2, 25,
11593 9,
11594 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
11595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
11596 MVT::v16i16, 2, 25,
11597 6,
11598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
11599 MVT::v16i16, 2, 9,
11600 0,
11601 106, MVT::v8i32,
11602 OPC_CheckPatternPredicate0,
11603 OPC_Scope, 8,
11604 OPC_CheckComplexPat5, /*#*/1,
11605 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
11606 MVT::v8i32, 2, 22,
11607 8,
11608 OPC_CheckComplexPat6, /*#*/1,
11609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
11610 MVT::v8i32, 2, 22,
11611 9,
11612 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
11613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
11614 MVT::v8i32, 2, 22,
11615 9,
11616 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
11617 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
11618 MVT::v8i32, 2, 22,
11619 9,
11620 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
11621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
11622 MVT::v8i32, 2, 22,
11623 8,
11624 OPC_CheckComplexPat5, /*#*/0,
11625 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
11626 MVT::v8i32, 2, 25,
11627 8,
11628 OPC_CheckComplexPat6, /*#*/0,
11629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
11630 MVT::v8i32, 2, 25,
11631 9,
11632 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
11633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
11634 MVT::v8i32, 2, 25,
11635 9,
11636 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
11637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
11638 MVT::v8i32, 2, 25,
11639 9,
11640 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
11641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
11642 MVT::v8i32, 2, 25,
11643 6,
11644 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
11645 MVT::v8i32, 2, 9,
11646 0,
11647 106, MVT::v4i64,
11648 OPC_CheckPatternPredicate0,
11649 OPC_Scope, 8,
11650 OPC_CheckComplexPat5, /*#*/1,
11651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
11652 MVT::v4i64, 2, 22,
11653 8,
11654 OPC_CheckComplexPat6, /*#*/1,
11655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
11656 MVT::v4i64, 2, 22,
11657 9,
11658 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
11659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
11660 MVT::v4i64, 2, 22,
11661 9,
11662 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
11663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
11664 MVT::v4i64, 2, 22,
11665 9,
11666 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
11667 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
11668 MVT::v4i64, 2, 22,
11669 8,
11670 OPC_CheckComplexPat5, /*#*/0,
11671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
11672 MVT::v4i64, 2, 25,
11673 8,
11674 OPC_CheckComplexPat6, /*#*/0,
11675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
11676 MVT::v4i64, 2, 25,
11677 9,
11678 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
11679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
11680 MVT::v4i64, 2, 25,
11681 9,
11682 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
11683 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
11684 MVT::v4i64, 2, 25,
11685 9,
11686 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
11687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
11688 MVT::v4i64, 2, 25,
11689 6,
11690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
11691 MVT::v4i64, 2, 9,
11692 0,
11693 46, MVT::v32i8,
11694 OPC_CheckPatternPredicate0,
11695 OPC_Scope, 8,
11696 OPC_CheckComplexPat6, /*#*/1,
11697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
11698 MVT::v32i8, 2, 22,
11699 8,
11700 OPC_CheckComplexPat6, /*#*/0,
11701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
11702 MVT::v32i8, 2, 25,
11703 8,
11704 OPC_CheckComplexPat7, /*#*/1,
11705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
11706 MVT::v32i8, 2, 22,
11707 8,
11708 OPC_CheckComplexPat7, /*#*/0,
11709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
11710 MVT::v32i8, 2, 25,
11711 6,
11712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
11713 MVT::v32i8, 2, 9,
11714 0,
11715 0,
11716 0,
11717 126|128,6, TARGET_VAL(ISD::AND),
11718 OPC_Scope, 18,
11719 OPC_RecordChild0,
11720 OPC_MoveChild1,
11721 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11722 OPC_RecordChild0,
11723 OPC_CheckChild1Integer, 127,
11724 OPC_MoveParent,
11725 OPC_CheckTypeByHwMode0,
11726 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ANDN), 0,
11727 1, 0, 2, 9,
11728 18,
11729 OPC_MoveChild0,
11730 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11731 OPC_RecordChild0,
11732 OPC_CheckChild1Integer, 127,
11733 OPC_MoveParent,
11734 OPC_RecordChild1,
11735 OPC_CheckTypeByHwMode0,
11736 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ANDN), 0,
11737 1, 0, 2, 3,
11738 84|128,6,
11739 OPC_RecordChild0,
11740 OPC_RecordChild1,
11741 OPC_Scope, 69,
11742 OPC_MoveChild1,
11743 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11744 OPC_Scope, 13,
11745 OPC_CheckPredicate, 48,
11746 OPC_MoveParent,
11747 OPC_CheckTypeByHwMode0,
11748 OPC_EmitConvertToTarget1,
11749 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
11750 1, 0, 2, 22,
11751 48,
11752 OPC_CheckPredicate, 65,
11753 OPC_MoveParent,
11754 OPC_CheckTypeByHwMode0,
11755 OPC_Scope, 20,
11756 OPC_CheckPatternPredicate6,
11757 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
11758 OPC_EmitConvertToTarget1,
11759 OPC_EmitNodeXForm, 8, 3,
11760 OPC_EmitConvertToTarget1,
11761 OPC_EmitNodeXForm, 9, 5,
11762 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRINS_W), 0,
11763 1, 0, 4, 109,
11764 20,
11765 OPC_CheckPatternPredicate2,
11766 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
11767 OPC_EmitConvertToTarget1,
11768 OPC_EmitNodeXForm, 8, 3,
11769 OPC_EmitConvertToTarget1,
11770 OPC_EmitNodeXForm, 9, 5,
11771 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRINS_D), 0,
11772 1, 0, 4, 109,
11773 0,
11774 0,
11775 9,
11776 OPC_CheckTypeByHwMode0,
11777 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AND), 0,
11778 1, 0, 2, 9,
11779 110,
11780 OPC_CheckType, MVT::v8i16,
11781 OPC_CheckPatternPredicate1,
11782 OPC_Scope, 8,
11783 OPC_CheckComplexPat5, /*#*/1,
11784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
11785 MVT::v8i16, 2, 22,
11786 9,
11787 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
11788 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
11789 MVT::v8i16, 2, 22,
11790 9,
11791 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
11792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
11793 MVT::v8i16, 2, 22,
11794 9,
11795 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
11796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
11797 MVT::v8i16, 2, 22,
11798 9,
11799 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
11800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
11801 MVT::v8i16, 2, 22,
11802 8,
11803 OPC_CheckComplexPat5, /*#*/0,
11804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
11805 MVT::v8i16, 2, 25,
11806 9,
11807 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
11808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
11809 MVT::v8i16, 2, 25,
11810 9,
11811 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
11812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
11813 MVT::v8i16, 2, 25,
11814 9,
11815 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
11816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
11817 MVT::v8i16, 2, 25,
11818 9,
11819 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
11820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
11821 MVT::v8i16, 2, 25,
11822 6,
11823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
11824 MVT::v8i16, 2, 9,
11825 0,
11826 110,
11827 OPC_CheckType, MVT::v4i32,
11828 OPC_CheckPatternPredicate1,
11829 OPC_Scope, 8,
11830 OPC_CheckComplexPat5, /*#*/1,
11831 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
11832 MVT::v4i32, 2, 22,
11833 9,
11834 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
11835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
11836 MVT::v4i32, 2, 22,
11837 9,
11838 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
11839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
11840 MVT::v4i32, 2, 22,
11841 9,
11842 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
11843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
11844 MVT::v4i32, 2, 22,
11845 9,
11846 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
11847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
11848 MVT::v4i32, 2, 22,
11849 8,
11850 OPC_CheckComplexPat5, /*#*/0,
11851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
11852 MVT::v4i32, 2, 25,
11853 9,
11854 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
11855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
11856 MVT::v4i32, 2, 25,
11857 9,
11858 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
11859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
11860 MVT::v4i32, 2, 25,
11861 9,
11862 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
11863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
11864 MVT::v4i32, 2, 25,
11865 9,
11866 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
11867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
11868 MVT::v4i32, 2, 25,
11869 6,
11870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
11871 MVT::v4i32, 2, 9,
11872 0,
11873 110,
11874 OPC_CheckType, MVT::v2i64,
11875 OPC_CheckPatternPredicate1,
11876 OPC_Scope, 8,
11877 OPC_CheckComplexPat5, /*#*/1,
11878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
11879 MVT::v2i64, 2, 22,
11880 9,
11881 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
11882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
11883 MVT::v2i64, 2, 22,
11884 9,
11885 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
11886 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
11887 MVT::v2i64, 2, 22,
11888 9,
11889 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
11890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
11891 MVT::v2i64, 2, 22,
11892 9,
11893 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
11894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
11895 MVT::v2i64, 2, 22,
11896 8,
11897 OPC_CheckComplexPat5, /*#*/0,
11898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
11899 MVT::v2i64, 2, 25,
11900 9,
11901 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
11902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
11903 MVT::v2i64, 2, 25,
11904 9,
11905 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
11906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
11907 MVT::v2i64, 2, 25,
11908 9,
11909 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
11910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
11911 MVT::v2i64, 2, 25,
11912 9,
11913 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
11914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
11915 MVT::v2i64, 2, 25,
11916 6,
11917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
11918 MVT::v2i64, 2, 9,
11919 0,
11920 50,
11921 OPC_CheckType, MVT::v16i8,
11922 OPC_CheckPatternPredicate1,
11923 OPC_Scope, 9,
11924 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
11925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
11926 MVT::v16i8, 2, 22,
11927 9,
11928 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
11929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
11930 MVT::v16i8, 2, 25,
11931 8,
11932 OPC_CheckComplexPat7, /*#*/1,
11933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
11934 MVT::v16i8, 2, 22,
11935 8,
11936 OPC_CheckComplexPat7, /*#*/0,
11937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
11938 MVT::v16i8, 2, 25,
11939 6,
11940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
11941 MVT::v16i8, 2, 9,
11942 0,
11943 110,
11944 OPC_CheckType, MVT::v16i16,
11945 OPC_CheckPatternPredicate0,
11946 OPC_Scope, 8,
11947 OPC_CheckComplexPat5, /*#*/1,
11948 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
11949 MVT::v16i16, 2, 22,
11950 9,
11951 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
11952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
11953 MVT::v16i16, 2, 22,
11954 9,
11955 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
11956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
11957 MVT::v16i16, 2, 22,
11958 9,
11959 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
11960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
11961 MVT::v16i16, 2, 22,
11962 9,
11963 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
11964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
11965 MVT::v16i16, 2, 22,
11966 8,
11967 OPC_CheckComplexPat5, /*#*/0,
11968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
11969 MVT::v16i16, 2, 25,
11970 9,
11971 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
11972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
11973 MVT::v16i16, 2, 25,
11974 9,
11975 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
11976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
11977 MVT::v16i16, 2, 25,
11978 9,
11979 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
11980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
11981 MVT::v16i16, 2, 25,
11982 9,
11983 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
11984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
11985 MVT::v16i16, 2, 25,
11986 6,
11987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
11988 MVT::v16i16, 2, 9,
11989 0,
11990 110,
11991 OPC_CheckType, MVT::v8i32,
11992 OPC_CheckPatternPredicate0,
11993 OPC_Scope, 8,
11994 OPC_CheckComplexPat5, /*#*/1,
11995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
11996 MVT::v8i32, 2, 22,
11997 9,
11998 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
11999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
12000 MVT::v8i32, 2, 22,
12001 9,
12002 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
12003 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
12004 MVT::v8i32, 2, 22,
12005 9,
12006 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
12007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
12008 MVT::v8i32, 2, 22,
12009 9,
12010 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
12011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
12012 MVT::v8i32, 2, 22,
12013 8,
12014 OPC_CheckComplexPat5, /*#*/0,
12015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
12016 MVT::v8i32, 2, 25,
12017 9,
12018 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
12019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
12020 MVT::v8i32, 2, 25,
12021 9,
12022 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
12023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
12024 MVT::v8i32, 2, 25,
12025 9,
12026 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
12027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
12028 MVT::v8i32, 2, 25,
12029 9,
12030 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
12031 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
12032 MVT::v8i32, 2, 25,
12033 6,
12034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
12035 MVT::v8i32, 2, 9,
12036 0,
12037 110,
12038 OPC_CheckType, MVT::v4i64,
12039 OPC_CheckPatternPredicate0,
12040 OPC_Scope, 8,
12041 OPC_CheckComplexPat5, /*#*/1,
12042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
12043 MVT::v4i64, 2, 22,
12044 9,
12045 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
12046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
12047 MVT::v4i64, 2, 22,
12048 9,
12049 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
12050 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
12051 MVT::v4i64, 2, 22,
12052 9,
12053 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
12054 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
12055 MVT::v4i64, 2, 22,
12056 9,
12057 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
12058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
12059 MVT::v4i64, 2, 22,
12060 8,
12061 OPC_CheckComplexPat5, /*#*/0,
12062 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
12063 MVT::v4i64, 2, 25,
12064 9,
12065 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
12066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
12067 MVT::v4i64, 2, 25,
12068 9,
12069 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
12070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
12071 MVT::v4i64, 2, 25,
12072 9,
12073 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
12074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
12075 MVT::v4i64, 2, 25,
12076 9,
12077 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
12078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
12079 MVT::v4i64, 2, 25,
12080 6,
12081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
12082 MVT::v4i64, 2, 9,
12083 0,
12084 50,
12085 OPC_CheckType, MVT::v32i8,
12086 OPC_CheckPatternPredicate0,
12087 OPC_Scope, 9,
12088 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
12089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
12090 MVT::v32i8, 2, 22,
12091 9,
12092 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
12093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
12094 MVT::v32i8, 2, 25,
12095 8,
12096 OPC_CheckComplexPat7, /*#*/1,
12097 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
12098 MVT::v32i8, 2, 22,
12099 8,
12100 OPC_CheckComplexPat7, /*#*/0,
12101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
12102 MVT::v32i8, 2, 25,
12103 6,
12104 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
12105 MVT::v32i8, 2, 9,
12106 0,
12107 0,
12108 0,
12109 4|128,2, TARGET_VAL(ISD::CTLZ),
12110 OPC_Scope, 32,
12111 OPC_MoveChild0,
12112 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12113 OPC_RecordChild0,
12114 OPC_CheckChild1Integer, 127,
12115 OPC_CheckTypeByHwMode0,
12116 OPC_MoveParent,
12117 OPC_CheckTypeByHwMode0,
12118 OPC_Scope, 9,
12119 OPC_CheckPatternPredicate2,
12120 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLO_D), 0,
12121 1, 0, 1, 1,
12122 9,
12123 OPC_CheckPatternPredicate6,
12124 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLO_W), 0,
12125 1, 0, 1, 1,
12126 0,
12127 25,
12128 OPC_RecordChild0,
12129 OPC_CheckChild0TypeByHwMode0,
12130 OPC_CheckTypeByHwMode0,
12131 OPC_Scope, 9,
12132 OPC_CheckPatternPredicate2,
12133 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLZ_D), 0,
12134 1, 0, 1, 1,
12135 9,
12136 OPC_CheckPatternPredicate6,
12137 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLZ_W), 0,
12138 1, 0, 1, 1,
12139 0,
12140 110,
12141 OPC_MoveChild0,
12142 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12143 OPC_RecordChild0,
12144 OPC_MoveChild1,
12145 OPC_CheckImmAllOnesV,
12146 OPC_MoveParent,
12147 OPC_Scope, 12,
12148 OPC_CheckType, MVT::v16i8,
12149 OPC_MoveParent,
12150 OPC_CheckType, MVT::v16i8,
12151 OPC_CheckPatternPredicate1,
12152 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_B),
12153 MVT::v16i8, 1, 1,
12154 12,
12155 OPC_CheckType, MVT::v8i16,
12156 OPC_MoveParent,
12157 OPC_CheckType, MVT::v8i16,
12158 OPC_CheckPatternPredicate1,
12159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_H),
12160 MVT::v8i16, 1, 1,
12161 12,
12162 OPC_CheckType, MVT::v4i32,
12163 OPC_MoveParent,
12164 OPC_CheckType, MVT::v4i32,
12165 OPC_CheckPatternPredicate1,
12166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_W),
12167 MVT::v4i32, 1, 1,
12168 21,
12169 OPC_MoveParent,
12170 OPC_SwitchType , 7, MVT::v2i64,
12171 OPC_CheckPatternPredicate1,
12172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_D),
12173 MVT::v2i64, 1, 1,
12174 7, MVT::v32i8,
12175 OPC_CheckPatternPredicate0,
12176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_B),
12177 MVT::v32i8, 1, 1,
12178 0,
12179 12,
12180 OPC_CheckType, MVT::v16i16,
12181 OPC_MoveParent,
12182 OPC_CheckType, MVT::v16i16,
12183 OPC_CheckPatternPredicate0,
12184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_H),
12185 MVT::v16i16, 1, 1,
12186 12,
12187 OPC_CheckType, MVT::v8i32,
12188 OPC_MoveParent,
12189 OPC_CheckType, MVT::v8i32,
12190 OPC_CheckPatternPredicate0,
12191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_W),
12192 MVT::v8i32, 1, 1,
12193 12,
12194 OPC_CheckType, MVT::v4i64,
12195 OPC_MoveParent,
12196 OPC_CheckType, MVT::v4i64,
12197 OPC_CheckPatternPredicate0,
12198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_D),
12199 MVT::v4i64, 1, 1,
12200 0,
12201 87,
12202 OPC_RecordChild0,
12203 OPC_SwitchType , 9, MVT::v16i8,
12204 OPC_CheckChild0Type, MVT::v16i8,
12205 OPC_CheckPatternPredicate1,
12206 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_B),
12207 MVT::v16i8, 1, 1,
12208 9, MVT::v8i16,
12209 OPC_CheckChild0Type, MVT::v8i16,
12210 OPC_CheckPatternPredicate1,
12211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_H),
12212 MVT::v8i16, 1, 1,
12213 9, MVT::v4i32,
12214 OPC_CheckChild0Type, MVT::v4i32,
12215 OPC_CheckPatternPredicate1,
12216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_W),
12217 MVT::v4i32, 1, 1,
12218 7, MVT::v2i64,
12219 OPC_CheckPatternPredicate1,
12220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_D),
12221 MVT::v2i64, 1, 1,
12222 7, MVT::v32i8,
12223 OPC_CheckPatternPredicate0,
12224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_B),
12225 MVT::v32i8, 1, 1,
12226 9, MVT::v16i16,
12227 OPC_CheckChild0Type, MVT::v16i16,
12228 OPC_CheckPatternPredicate0,
12229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_H),
12230 MVT::v16i16, 1, 1,
12231 9, MVT::v8i32,
12232 OPC_CheckChild0Type, MVT::v8i32,
12233 OPC_CheckPatternPredicate0,
12234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_W),
12235 MVT::v8i32, 1, 1,
12236 9, MVT::v4i64,
12237 OPC_CheckChild0Type, MVT::v4i64,
12238 OPC_CheckPatternPredicate0,
12239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_D),
12240 MVT::v4i64, 1, 1,
12241 0,
12242 0,
12243 35, TARGET_VAL(LoongArchISD::CLZ_W),
12244 OPC_Scope, 19,
12245 OPC_MoveChild0,
12246 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12247 OPC_RecordChild0,
12248 OPC_CheckChild1Integer, 127,
12249 OPC_CheckTypeByHwMode0,
12250 OPC_MoveParent,
12251 OPC_CheckTypeByHwMode0,
12252 OPC_CheckPatternPredicate2,
12253 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLO_W), 0,
12254 1, 0, 1, 1,
12255 12,
12256 OPC_RecordChild0,
12257 OPC_CheckChild0TypeByHwMode0,
12258 OPC_CheckTypeByHwMode0,
12259 OPC_CheckPatternPredicate2,
12260 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLZ_W), 0,
12261 1, 0, 1, 1,
12262 0,
12263 35, TARGET_VAL(LoongArchISD::CTZ_W),
12264 OPC_Scope, 19,
12265 OPC_MoveChild0,
12266 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12267 OPC_RecordChild0,
12268 OPC_CheckChild1Integer, 127,
12269 OPC_CheckTypeByHwMode0,
12270 OPC_MoveParent,
12271 OPC_CheckTypeByHwMode0,
12272 OPC_CheckPatternPredicate2,
12273 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_W), 0,
12274 1, 0, 1, 1,
12275 12,
12276 OPC_RecordChild0,
12277 OPC_CheckChild0TypeByHwMode0,
12278 OPC_CheckTypeByHwMode0,
12279 OPC_CheckPatternPredicate2,
12280 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTZ_W), 0,
12281 1, 0, 1, 1,
12282 0,
12283 57, TARGET_VAL(LoongArchISD::BSTRINS),
12284 OPC_RecordChild0,
12285 OPC_RecordChild1,
12286 OPC_RecordChild2,
12287 OPC_MoveChild2,
12288 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12289 OPC_Scope, 23,
12290 OPC_CheckPredicate, 20,
12291 OPC_CheckTypeByHwMode0,
12292 OPC_MoveSibling3,
12293 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12294 OPC_RecordNode,
12295 OPC_CheckPredicate, 20,
12296 OPC_MoveParent,
12297 OPC_CheckTypeByHwMode0,
12298 OPC_CheckPatternPredicate6,
12299 OPC_EmitConvertToTarget2,
12300 OPC_EmitConvertToTarget3,
12301 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRINS_W), 0,
12302 1, 0, 4, 95,
12303 23,
12304 OPC_CheckPredicate, 26,
12305 OPC_CheckTypeByHwMode0,
12306 OPC_MoveSibling3,
12307 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12308 OPC_RecordNode,
12309 OPC_CheckPredicate, 26,
12310 OPC_MoveParent,
12311 OPC_CheckTypeByHwMode0,
12312 OPC_CheckPatternPredicate2,
12313 OPC_EmitConvertToTarget2,
12314 OPC_EmitConvertToTarget3,
12315 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRINS_D), 0,
12316 1, 0, 4, 95,
12317 0,
12318 67, TARGET_VAL(ISD::ATOMIC_FENCE),
12319 OPC_RecordNode,
12320 OPC_Scope, 15,
12321 OPC_CheckChild1Integer, 4,
12322 OPC_MoveChild2,
12323 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12324 OPC_MoveParent,
12325 OPC_EmitMergeInputChains1_0,
12326 OPC_EmitIntegerByHwMode0, 20,
12327 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
12328 1, 10,
12329 15,
12330 OPC_CheckChild1Integer, 5,
12331 OPC_MoveChild2,
12332 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12333 OPC_MoveParent,
12334 OPC_EmitMergeInputChains1_0,
12335 OPC_EmitIntegerByHwMode0, 18,
12336 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
12337 1, 10,
12338 15,
12339 OPC_CheckChild1Integer, 6,
12340 OPC_MoveChild2,
12341 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12342 OPC_MoveParent,
12343 OPC_EmitMergeInputChains1_0,
12344 OPC_EmitIntegerByHwMode0, 16,
12345 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
12346 1, 10,
12347 15,
12348 OPC_CheckChild1Integer, 7,
12349 OPC_MoveChild2,
12350 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12351 OPC_MoveParent,
12352 OPC_EmitMergeInputChains1_0,
12353 OPC_EmitIntegerByHwMode0, 16,
12354 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
12355 1, 10,
12356 0,
12357 78|128,6, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
12358 OPC_RecordNode,
12359 OPC_Scope, 30,
12360 OPC_CheckChild1Integer, 77|128,62,
12361 OPC_RecordChild2,
12362 OPC_CheckChild2TypeByHwMode0,
12363 OPC_RecordChild3,
12364 OPC_CheckChild3TypeByHwMode, 1,
12365 OPC_RecordChild4,
12366 OPC_CheckChild4TypeByHwMode, 1,
12367 OPC_RecordChild5,
12368 OPC_MoveChild5,
12369 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12370 OPC_MoveParent,
12371 OPC_CheckTypeByHwMode, 1,
12372 OPC_CheckPatternPredicate2,
12373 OPC_EmitMergeInputChains1_0,
12374 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32), 0|OPFL_Chain,
12375 2, 1, 0, 4, 81,
12376 30,
12377 OPC_CheckChild1Integer, 63|128,62,
12378 OPC_RecordChild2,
12379 OPC_CheckChild2TypeByHwMode0,
12380 OPC_RecordChild3,
12381 OPC_CheckChild3TypeByHwMode, 1,
12382 OPC_RecordChild4,
12383 OPC_CheckChild4TypeByHwMode, 1,
12384 OPC_RecordChild5,
12385 OPC_MoveChild5,
12386 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12387 OPC_MoveParent,
12388 OPC_CheckTypeByHwMode, 1,
12389 OPC_CheckPatternPredicate2,
12390 OPC_EmitMergeInputChains1_0,
12391 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32), 0|OPFL_Chain,
12392 2, 1, 0, 4, 81,
12393 30,
12394 OPC_CheckChild1Integer, 71|128,62,
12395 OPC_RecordChild2,
12396 OPC_CheckChild2TypeByHwMode0,
12397 OPC_RecordChild3,
12398 OPC_CheckChild3TypeByHwMode, 1,
12399 OPC_RecordChild4,
12400 OPC_CheckChild4TypeByHwMode, 1,
12401 OPC_RecordChild5,
12402 OPC_MoveChild5,
12403 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12404 OPC_MoveParent,
12405 OPC_CheckTypeByHwMode, 1,
12406 OPC_CheckPatternPredicate2,
12407 OPC_EmitMergeInputChains1_0,
12408 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32), 0|OPFL_Chain,
12409 2, 1, 0, 4, 81,
12410 30,
12411 OPC_CheckChild1Integer, 69|128,62,
12412 OPC_RecordChild2,
12413 OPC_CheckChild2TypeByHwMode0,
12414 OPC_RecordChild3,
12415 OPC_CheckChild3TypeByHwMode, 1,
12416 OPC_RecordChild4,
12417 OPC_CheckChild4TypeByHwMode, 1,
12418 OPC_RecordChild5,
12419 OPC_MoveChild5,
12420 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12421 OPC_MoveParent,
12422 OPC_CheckTypeByHwMode, 1,
12423 OPC_CheckPatternPredicate2,
12424 OPC_EmitMergeInputChains1_0,
12425 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32), 0|OPFL_Chain,
12426 2, 1, 0, 4, 81,
12427 31,
12428 OPC_CheckChild1Integer, 73|128,62,
12429 OPC_RecordChild2,
12430 OPC_CheckChild2TypeByHwMode0,
12431 OPC_RecordChild3,
12432 OPC_CheckChild3TypeByHwMode, 1,
12433 OPC_RecordChild4,
12434 OPC_CheckChild4TypeByHwMode, 1,
12435 OPC_RecordChild5,
12436 OPC_MoveChild5,
12437 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12438 OPC_MoveParent,
12439 OPC_CheckTypeByHwMode, 1,
12440 OPC_CheckPatternPredicate2,
12441 OPC_EmitMergeInputChains1_0,
12442 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMax32), 0|OPFL_Chain,
12443 3, 1, 0, 0, 4, 81,
12444 31,
12445 OPC_CheckChild1Integer, 75|128,62,
12446 OPC_RecordChild2,
12447 OPC_CheckChild2TypeByHwMode0,
12448 OPC_RecordChild3,
12449 OPC_CheckChild3TypeByHwMode, 1,
12450 OPC_RecordChild4,
12451 OPC_CheckChild4TypeByHwMode, 1,
12452 OPC_RecordChild5,
12453 OPC_MoveChild5,
12454 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12455 OPC_MoveParent,
12456 OPC_CheckTypeByHwMode, 1,
12457 OPC_CheckPatternPredicate2,
12458 OPC_EmitMergeInputChains1_0,
12459 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMin32), 0|OPFL_Chain,
12460 3, 1, 0, 0, 4, 81,
12461 33,
12462 OPC_CheckChild1Integer, 79|128,62,
12463 OPC_RecordChild2,
12464 OPC_CheckChild2TypeByHwMode0,
12465 OPC_RecordChild3,
12466 OPC_CheckChild3TypeByHwMode, 1,
12467 OPC_RecordChild4,
12468 OPC_CheckChild4TypeByHwMode, 1,
12469 OPC_RecordChild5,
12470 OPC_CheckChild5TypeByHwMode, 1,
12471 OPC_RecordChild6,
12472 OPC_MoveChild6,
12473 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12474 OPC_MoveParent,
12475 OPC_CheckTypeByHwMode, 1,
12476 OPC_CheckPatternPredicate2,
12477 OPC_EmitMergeInputChains1_0,
12478 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedCmpXchg32), 0|OPFL_Chain,
12479 2, 1, 0, 5, 102,
12480 34,
12481 OPC_CheckChild1Integer, 65|128,62,
12482 OPC_RecordChild2,
12483 OPC_CheckChild2TypeByHwMode0,
12484 OPC_RecordChild3,
12485 OPC_CheckChild3TypeByHwMode, 1,
12486 OPC_RecordChild4,
12487 OPC_CheckChild4TypeByHwMode, 1,
12488 OPC_RecordChild5,
12489 OPC_CheckChild5TypeByHwMode, 1,
12490 OPC_RecordChild6,
12491 OPC_MoveChild6,
12492 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12493 OPC_MoveParent,
12494 OPC_CheckTypeByHwMode, 1,
12495 OPC_CheckPatternPredicate2,
12496 OPC_EmitMergeInputChains1_0,
12497 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMax32), 0|OPFL_Chain,
12498 3, 1, 0, 0, 5, 102,
12499 34,
12500 OPC_CheckChild1Integer, 67|128,62,
12501 OPC_RecordChild2,
12502 OPC_CheckChild2TypeByHwMode0,
12503 OPC_RecordChild3,
12504 OPC_CheckChild3TypeByHwMode, 1,
12505 OPC_RecordChild4,
12506 OPC_CheckChild4TypeByHwMode, 1,
12507 OPC_RecordChild5,
12508 OPC_CheckChild5TypeByHwMode, 1,
12509 OPC_RecordChild6,
12510 OPC_MoveChild6,
12511 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12512 OPC_MoveParent,
12513 OPC_CheckTypeByHwMode, 1,
12514 OPC_CheckPatternPredicate2,
12515 OPC_EmitMergeInputChains1_0,
12516 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMin32), 0|OPFL_Chain,
12517 3, 1, 0, 0, 5, 102,
12518 27,
12519 OPC_CheckChild1Integer, 76|128,62,
12520 OPC_RecordChild2,
12521 OPC_CheckChild2TypeByHwMode0,
12522 OPC_RecordChild3,
12523 OPC_CheckChild3TypeI32,
12524 OPC_RecordChild4,
12525 OPC_CheckChild4TypeI32,
12526 OPC_RecordChild5,
12527 OPC_MoveChild5,
12528 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12529 OPC_MoveParent,
12530 OPC_CheckTypeI32,
12531 OPC_CheckPatternPredicate5,
12532 OPC_EmitMergeInputChains1_0,
12533 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32), 0|OPFL_Chain,
12534 2, 6, 0, 4, 81,
12535 27,
12536 OPC_CheckChild1Integer, 62|128,62,
12537 OPC_RecordChild2,
12538 OPC_CheckChild2TypeByHwMode0,
12539 OPC_RecordChild3,
12540 OPC_CheckChild3TypeI32,
12541 OPC_RecordChild4,
12542 OPC_CheckChild4TypeI32,
12543 OPC_RecordChild5,
12544 OPC_MoveChild5,
12545 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12546 OPC_MoveParent,
12547 OPC_CheckTypeI32,
12548 OPC_CheckPatternPredicate5,
12549 OPC_EmitMergeInputChains1_0,
12550 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32), 0|OPFL_Chain,
12551 2, 6, 0, 4, 81,
12552 27,
12553 OPC_CheckChild1Integer, 70|128,62,
12554 OPC_RecordChild2,
12555 OPC_CheckChild2TypeByHwMode0,
12556 OPC_RecordChild3,
12557 OPC_CheckChild3TypeI32,
12558 OPC_RecordChild4,
12559 OPC_CheckChild4TypeI32,
12560 OPC_RecordChild5,
12561 OPC_MoveChild5,
12562 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12563 OPC_MoveParent,
12564 OPC_CheckTypeI32,
12565 OPC_CheckPatternPredicate5,
12566 OPC_EmitMergeInputChains1_0,
12567 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32), 0|OPFL_Chain,
12568 2, 6, 0, 4, 81,
12569 27,
12570 OPC_CheckChild1Integer, 68|128,62,
12571 OPC_RecordChild2,
12572 OPC_CheckChild2TypeByHwMode0,
12573 OPC_RecordChild3,
12574 OPC_CheckChild3TypeI32,
12575 OPC_RecordChild4,
12576 OPC_CheckChild4TypeI32,
12577 OPC_RecordChild5,
12578 OPC_MoveChild5,
12579 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12580 OPC_MoveParent,
12581 OPC_CheckTypeI32,
12582 OPC_CheckPatternPredicate5,
12583 OPC_EmitMergeInputChains1_0,
12584 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32), 0|OPFL_Chain,
12585 2, 6, 0, 4, 81,
12586 28,
12587 OPC_CheckChild1Integer, 72|128,62,
12588 OPC_RecordChild2,
12589 OPC_CheckChild2TypeByHwMode0,
12590 OPC_RecordChild3,
12591 OPC_CheckChild3TypeI32,
12592 OPC_RecordChild4,
12593 OPC_CheckChild4TypeI32,
12594 OPC_RecordChild5,
12595 OPC_MoveChild5,
12596 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12597 OPC_MoveParent,
12598 OPC_CheckTypeI32,
12599 OPC_CheckPatternPredicate5,
12600 OPC_EmitMergeInputChains1_0,
12601 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMax32), 0|OPFL_Chain,
12602 3, 6, 0, 0, 4, 81,
12603 28,
12604 OPC_CheckChild1Integer, 74|128,62,
12605 OPC_RecordChild2,
12606 OPC_CheckChild2TypeByHwMode0,
12607 OPC_RecordChild3,
12608 OPC_CheckChild3TypeI32,
12609 OPC_RecordChild4,
12610 OPC_CheckChild4TypeI32,
12611 OPC_RecordChild5,
12612 OPC_MoveChild5,
12613 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12614 OPC_MoveParent,
12615 OPC_CheckTypeI32,
12616 OPC_CheckPatternPredicate5,
12617 OPC_EmitMergeInputChains1_0,
12618 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMin32), 0|OPFL_Chain,
12619 3, 6, 0, 0, 4, 81,
12620 30,
12621 OPC_CheckChild1Integer, 64|128,62,
12622 OPC_RecordChild2,
12623 OPC_CheckChild2TypeByHwMode0,
12624 OPC_RecordChild3,
12625 OPC_CheckChild3TypeI32,
12626 OPC_RecordChild4,
12627 OPC_CheckChild4TypeI32,
12628 OPC_RecordChild5,
12629 OPC_CheckChild5TypeI32,
12630 OPC_RecordChild6,
12631 OPC_MoveChild6,
12632 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12633 OPC_MoveParent,
12634 OPC_CheckTypeI32,
12635 OPC_CheckPatternPredicate5,
12636 OPC_EmitMergeInputChains1_0,
12637 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMax32), 0|OPFL_Chain,
12638 3, 6, 0, 0, 5, 102,
12639 30,
12640 OPC_CheckChild1Integer, 66|128,62,
12641 OPC_RecordChild2,
12642 OPC_CheckChild2TypeByHwMode0,
12643 OPC_RecordChild3,
12644 OPC_CheckChild3TypeI32,
12645 OPC_RecordChild4,
12646 OPC_CheckChild4TypeI32,
12647 OPC_RecordChild5,
12648 OPC_CheckChild5TypeI32,
12649 OPC_RecordChild6,
12650 OPC_MoveChild6,
12651 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12652 OPC_MoveParent,
12653 OPC_CheckTypeI32,
12654 OPC_CheckPatternPredicate5,
12655 OPC_EmitMergeInputChains1_0,
12656 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMin32), 0|OPFL_Chain,
12657 3, 6, 0, 0, 5, 102,
12658 29,
12659 OPC_CheckChild1Integer, 78|128,62,
12660 OPC_RecordChild2,
12661 OPC_CheckChild2TypeByHwMode0,
12662 OPC_RecordChild3,
12663 OPC_CheckChild3TypeI32,
12664 OPC_RecordChild4,
12665 OPC_CheckChild4TypeI32,
12666 OPC_RecordChild5,
12667 OPC_CheckChild5TypeI32,
12668 OPC_RecordChild6,
12669 OPC_MoveChild6,
12670 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12671 OPC_MoveParent,
12672 OPC_CheckTypeI32,
12673 OPC_CheckPatternPredicate5,
12674 OPC_EmitMergeInputChains1_0,
12675 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedCmpXchg32), 0|OPFL_Chain,
12676 2, 6, 0, 5, 102,
12677 24,
12678 OPC_CheckChild1Integer, 108|128,56,
12679 OPC_RecordChild2,
12680 OPC_CheckChild2TypeByHwMode, 1,
12681 OPC_RecordChild3,
12682 OPC_MoveChild3,
12683 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12684 OPC_MoveParent,
12685 OPC_CheckTypeByHwMode, 1,
12686 OPC_CheckPatternPredicate2,
12687 OPC_EmitMergeInputChains1_0,
12688 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDDIR), 0|OPFL_Chain,
12689 1, 1, 2, 25,
12690 22,
12691 OPC_CheckChild1Integer, 24|128,59,
12692 OPC_RecordChild2,
12693 OPC_CheckChild2TypeByHwMode0,
12694 OPC_RecordChild3,
12695 OPC_MoveChild3,
12696 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12697 OPC_MoveParent,
12698 OPC_CheckPatternPredicate1,
12699 OPC_EmitMergeInputChains1_0,
12700 OPC_EmitNodeXForm, 7, 2,
12701 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLD),
12702 MVT::v16i8, 2, 43,
12703 22,
12704 OPC_CheckChild1Integer, 26|128,59,
12705 OPC_RecordChild2,
12706 OPC_CheckChild2TypeByHwMode0,
12707 OPC_RecordChild3,
12708 OPC_MoveChild3,
12709 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12710 OPC_MoveParent,
12711 OPC_CheckPatternPredicate1,
12712 OPC_EmitMergeInputChains1_0,
12713 OPC_EmitNodeXForm, 7, 2,
12714 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_B),
12715 MVT::v16i8, 2, 43,
12716 22,
12717 OPC_CheckChild1Integer, 28|128,59,
12718 OPC_RecordChild2,
12719 OPC_CheckChild2TypeByHwMode0,
12720 OPC_RecordChild3,
12721 OPC_MoveChild3,
12722 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12723 OPC_MoveParent,
12724 OPC_CheckPatternPredicate1,
12725 OPC_EmitMergeInputChains1_0,
12726 OPC_EmitNodeXForm, 7, 2,
12727 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_H),
12728 MVT::v8i16, 2, 43,
12729 22,
12730 OPC_CheckChild1Integer, 29|128,59,
12731 OPC_RecordChild2,
12732 OPC_CheckChild2TypeByHwMode0,
12733 OPC_RecordChild3,
12734 OPC_MoveChild3,
12735 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12736 OPC_MoveParent,
12737 OPC_CheckPatternPredicate1,
12738 OPC_EmitMergeInputChains1_0,
12739 OPC_EmitNodeXForm, 7, 2,
12740 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_W),
12741 MVT::v4i32, 2, 43,
12742 22,
12743 OPC_CheckChild1Integer, 27|128,59,
12744 OPC_RecordChild2,
12745 OPC_CheckChild2TypeByHwMode0,
12746 OPC_RecordChild3,
12747 OPC_MoveChild3,
12748 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12749 OPC_MoveParent,
12750 OPC_CheckPatternPredicate1,
12751 OPC_EmitMergeInputChains1_0,
12752 OPC_EmitNodeXForm, 7, 2,
12753 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_D),
12754 MVT::v2i64, 2, 43,
12755 22,
12756 OPC_CheckChild1Integer, 62|128,53,
12757 OPC_RecordChild2,
12758 OPC_CheckChild2TypeByHwMode0,
12759 OPC_RecordChild3,
12760 OPC_MoveChild3,
12761 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12762 OPC_MoveParent,
12763 OPC_CheckPatternPredicate0,
12764 OPC_EmitMergeInputChains1_0,
12765 OPC_EmitNodeXForm, 7, 2,
12766 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLD),
12767 MVT::v32i8, 2, 43,
12768 22,
12769 OPC_CheckChild1Integer, 64|128,53,
12770 OPC_RecordChild2,
12771 OPC_CheckChild2TypeByHwMode0,
12772 OPC_RecordChild3,
12773 OPC_MoveChild3,
12774 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12775 OPC_MoveParent,
12776 OPC_CheckPatternPredicate0,
12777 OPC_EmitMergeInputChains1_0,
12778 OPC_EmitNodeXForm, 7, 2,
12779 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_B),
12780 MVT::v32i8, 2, 43,
12781 22,
12782 OPC_CheckChild1Integer, 66|128,53,
12783 OPC_RecordChild2,
12784 OPC_CheckChild2TypeByHwMode0,
12785 OPC_RecordChild3,
12786 OPC_MoveChild3,
12787 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12788 OPC_MoveParent,
12789 OPC_CheckPatternPredicate0,
12790 OPC_EmitMergeInputChains1_0,
12791 OPC_EmitNodeXForm, 7, 2,
12792 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_H),
12793 MVT::v16i16, 2, 43,
12794 22,
12795 OPC_CheckChild1Integer, 67|128,53,
12796 OPC_RecordChild2,
12797 OPC_CheckChild2TypeByHwMode0,
12798 OPC_RecordChild3,
12799 OPC_MoveChild3,
12800 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12801 OPC_MoveParent,
12802 OPC_CheckPatternPredicate0,
12803 OPC_EmitMergeInputChains1_0,
12804 OPC_EmitNodeXForm, 7, 2,
12805 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_W),
12806 MVT::v8i32, 2, 43,
12807 22,
12808 OPC_CheckChild1Integer, 65|128,53,
12809 OPC_RecordChild2,
12810 OPC_CheckChild2TypeByHwMode0,
12811 OPC_RecordChild3,
12812 OPC_MoveChild3,
12813 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12814 OPC_MoveParent,
12815 OPC_CheckPatternPredicate0,
12816 OPC_EmitMergeInputChains1_0,
12817 OPC_EmitNodeXForm, 7, 2,
12818 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_D),
12819 MVT::v4i64, 2, 43,
12820 16,
12821 OPC_CheckChild1Integer, 30|128,59,
12822 OPC_RecordChild2,
12823 OPC_CheckChild2TypeByHwMode0,
12824 OPC_RecordChild3,
12825 OPC_CheckChild3TypeByHwMode, 1,
12826 OPC_CheckPatternPredicate1,
12827 OPC_EmitMergeInputChains1_0,
12828 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDX),
12829 MVT::v16i8, 2, 25,
12830 16,
12831 OPC_CheckChild1Integer, 68|128,53,
12832 OPC_RecordChild2,
12833 OPC_CheckChild2TypeByHwMode0,
12834 OPC_RecordChild3,
12835 OPC_CheckChild3TypeByHwMode, 1,
12836 OPC_CheckPatternPredicate0,
12837 OPC_EmitMergeInputChains1_0,
12838 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDX),
12839 MVT::v32i8, 2, 25,
12840 0,
12841 44|128,1|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
12842 OPC_Scope, 24,
12843 OPC_CheckChild0Integer, 49|128,60,
12844 OPC_RecordChild1,
12845 OPC_RecordChild2,
12846 OPC_MoveChild2,
12847 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12848 OPC_MoveParent,
12849 OPC_CheckTypeByHwMode, 1,
12850 OPC_CheckPatternPredicate1,
12851 OPC_EmitNodeXForm, 7, 1,
12852 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_D), 0,
12853 1, 1, 2, 22,
12854 24,
12855 OPC_CheckChild0Integer, 50|128,60,
12856 OPC_RecordChild1,
12857 OPC_RecordChild2,
12858 OPC_MoveChild2,
12859 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12860 OPC_MoveParent,
12861 OPC_CheckTypeByHwMode, 1,
12862 OPC_CheckPatternPredicate1,
12863 OPC_EmitNodeXForm, 7, 1,
12864 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_DU), 0,
12865 1, 1, 2, 22,
12866 24,
12867 OPC_CheckChild0Integer, 92|128,54,
12868 OPC_RecordChild1,
12869 OPC_RecordChild2,
12870 OPC_MoveChild2,
12871 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12872 OPC_MoveParent,
12873 OPC_CheckTypeByHwMode, 1,
12874 OPC_CheckPatternPredicate0,
12875 OPC_EmitNodeXForm, 7, 1,
12876 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_D), 0,
12877 1, 1, 2, 22,
12878 24,
12879 OPC_CheckChild0Integer, 93|128,54,
12880 OPC_RecordChild1,
12881 OPC_RecordChild2,
12882 OPC_MoveChild2,
12883 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12884 OPC_MoveParent,
12885 OPC_CheckTypeByHwMode, 1,
12886 OPC_CheckPatternPredicate0,
12887 OPC_EmitNodeXForm, 7, 1,
12888 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_DU), 0,
12889 1, 1, 2, 22,
12890 11,
12891 OPC_CheckChild0Integer, 106|128,50,
12892 OPC_RecordChild1,
12893 OPC_CheckPatternPredicate7,
12894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_S),
12895 MVT::f32, 1, 1,
12896 11,
12897 OPC_CheckChild0Integer, 108|128,50,
12898 OPC_RecordChild1,
12899 OPC_CheckPatternPredicate7,
12900 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_S),
12901 MVT::f32, 1, 1,
12902 11,
12903 OPC_CheckChild0Integer, 105|128,50,
12904 OPC_RecordChild1,
12905 OPC_CheckPatternPredicate7,
12906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_D),
12907 MVT::f64, 1, 1,
12908 11,
12909 OPC_CheckChild0Integer, 107|128,50,
12910 OPC_RecordChild1,
12911 OPC_CheckPatternPredicate7,
12912 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_D),
12913 MVT::f64, 1, 1,
12914 19,
12915 OPC_CheckChild0Integer, 25|128,59,
12916 OPC_RecordChild1,
12917 OPC_MoveChild1,
12918 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12919 OPC_MoveParent,
12920 OPC_CheckPatternPredicate1,
12921 OPC_EmitNodeXForm, 7, 0,
12922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VLDI),
12923 MVT::v2i64, 1, 10,
12924 19,
12925 OPC_CheckChild0Integer, 59|128,60,
12926 OPC_RecordChild1,
12927 OPC_MoveChild1,
12928 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12929 OPC_MoveParent,
12930 OPC_CheckPatternPredicate1,
12931 OPC_EmitNodeXForm, 7, 0,
12932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_B),
12933 MVT::v16i8, 1, 10,
12934 19,
12935 OPC_CheckChild0Integer, 61|128,60,
12936 OPC_RecordChild1,
12937 OPC_MoveChild1,
12938 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12939 OPC_MoveParent,
12940 OPC_CheckPatternPredicate1,
12941 OPC_EmitNodeXForm, 7, 0,
12942 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_H),
12943 MVT::v8i16, 1, 10,
12944 19,
12945 OPC_CheckChild0Integer, 62|128,60,
12946 OPC_RecordChild1,
12947 OPC_MoveChild1,
12948 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12949 OPC_MoveParent,
12950 OPC_CheckPatternPredicate1,
12951 OPC_EmitNodeXForm, 7, 0,
12952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_W),
12953 MVT::v4i32, 1, 10,
12954 19,
12955 OPC_CheckChild0Integer, 60|128,60,
12956 OPC_RecordChild1,
12957 OPC_MoveChild1,
12958 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12959 OPC_MoveParent,
12960 OPC_CheckPatternPredicate1,
12961 OPC_EmitNodeXForm, 7, 0,
12962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_D),
12963 MVT::v2i64, 1, 10,
12964 20,
12965 OPC_CheckChild0Integer, 87|128,60,
12966 OPC_RecordChild1,
12967 OPC_RecordChild2,
12968 OPC_MoveChild2,
12969 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12970 OPC_MoveParent,
12971 OPC_CheckPatternPredicate1,
12972 OPC_EmitNodeXForm, 7, 1,
12973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_B),
12974 MVT::v16i8, 2, 22,
12975 20,
12976 OPC_CheckChild0Integer, 88|128,60,
12977 OPC_RecordChild1,
12978 OPC_RecordChild2,
12979 OPC_MoveChild2,
12980 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12981 OPC_MoveParent,
12982 OPC_CheckPatternPredicate1,
12983 OPC_EmitNodeXForm, 7, 1,
12984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_BU),
12985 MVT::v16i8, 2, 22,
12986 20,
12987 OPC_CheckChild0Integer, 22|128,60,
12988 OPC_RecordChild1,
12989 OPC_RecordChild2,
12990 OPC_MoveChild2,
12991 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12992 OPC_MoveParent,
12993 OPC_CheckPatternPredicate1,
12994 OPC_EmitNodeXForm, 7, 1,
12995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
12996 MVT::v16i8, 2, 22,
12997 20,
12998 OPC_CheckChild0Integer, 75|128,60,
12999 OPC_RecordChild1,
13000 OPC_RecordChild2,
13001 OPC_MoveChild2,
13002 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13003 OPC_MoveParent,
13004 OPC_CheckPatternPredicate1,
13005 OPC_EmitNodeXForm, 7, 1,
13006 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
13007 MVT::v16i8, 2, 22,
13008 20,
13009 OPC_CheckChild0Integer, 13|128,61,
13010 OPC_RecordChild1,
13011 OPC_RecordChild2,
13012 OPC_MoveChild2,
13013 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13014 OPC_MoveParent,
13015 OPC_CheckPatternPredicate1,
13016 OPC_EmitNodeXForm, 7, 1,
13017 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
13018 MVT::v8i16, 2, 22,
13019 20,
13020 OPC_CheckChild0Integer, 14|128,61,
13021 OPC_RecordChild1,
13022 OPC_RecordChild2,
13023 OPC_MoveChild2,
13024 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13025 OPC_MoveParent,
13026 OPC_CheckPatternPredicate1,
13027 OPC_EmitNodeXForm, 7, 1,
13028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
13029 MVT::v8i16, 2, 22,
13030 20,
13031 OPC_CheckChild0Integer, 82|128,61,
13032 OPC_RecordChild1,
13033 OPC_RecordChild2,
13034 OPC_MoveChild2,
13035 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13036 OPC_MoveParent,
13037 OPC_CheckPatternPredicate1,
13038 OPC_EmitNodeXForm, 7, 1,
13039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
13040 MVT::v16i8, 2, 22,
13041 20,
13042 OPC_CheckChild0Integer, 52|128,61,
13043 OPC_RecordChild1,
13044 OPC_RecordChild2,
13045 OPC_MoveChild2,
13046 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13047 OPC_MoveParent,
13048 OPC_CheckPatternPredicate1,
13049 OPC_EmitNodeXForm, 7, 1,
13050 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
13051 MVT::v16i8, 2, 22,
13052 20,
13053 OPC_CheckChild0Integer, 99|128,60,
13054 OPC_RecordChild1,
13055 OPC_RecordChild2,
13056 OPC_MoveChild2,
13057 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13058 OPC_MoveParent,
13059 OPC_CheckPatternPredicate1,
13060 OPC_EmitNodeXForm, 7, 1,
13061 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
13062 MVT::v16i8, 2, 22,
13063 20,
13064 OPC_CheckChild0Integer, 123|128,60,
13065 OPC_RecordChild1,
13066 OPC_RecordChild2,
13067 OPC_MoveChild2,
13068 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13069 OPC_MoveParent,
13070 OPC_CheckPatternPredicate1,
13071 OPC_EmitNodeXForm, 7, 1,
13072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
13073 MVT::v16i8, 2, 22,
13074 20,
13075 OPC_CheckChild0Integer, 124|128,60,
13076 OPC_RecordChild1,
13077 OPC_RecordChild2,
13078 OPC_MoveChild2,
13079 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13080 OPC_MoveParent,
13081 OPC_CheckPatternPredicate1,
13082 OPC_EmitNodeXForm, 7, 1,
13083 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
13084 MVT::v16i8, 2, 22,
13085 20,
13086 OPC_CheckChild0Integer, 25|128,61,
13087 OPC_RecordChild1,
13088 OPC_RecordChild2,
13089 OPC_MoveChild2,
13090 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13091 OPC_MoveParent,
13092 OPC_CheckPatternPredicate1,
13093 OPC_EmitNodeXForm, 7, 1,
13094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
13095 MVT::v16i8, 2, 22,
13096 20,
13097 OPC_CheckChild0Integer, 26|128,61,
13098 OPC_RecordChild1,
13099 OPC_RecordChild2,
13100 OPC_MoveChild2,
13101 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13102 OPC_MoveParent,
13103 OPC_CheckPatternPredicate1,
13104 OPC_EmitNodeXForm, 7, 1,
13105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
13106 MVT::v16i8, 2, 22,
13107 20,
13108 OPC_CheckChild0Integer, 67|128,60,
13109 OPC_RecordChild1,
13110 OPC_RecordChild2,
13111 OPC_MoveChild2,
13112 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13113 OPC_MoveParent,
13114 OPC_CheckPatternPredicate1,
13115 OPC_EmitNodeXForm, 7, 1,
13116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
13117 MVT::v16i8, 2, 22,
13118 20,
13119 OPC_CheckChild0Integer, 82|128,57,
13120 OPC_RecordChild1,
13121 OPC_RecordChild2,
13122 OPC_MoveChild2,
13123 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13124 OPC_MoveParent,
13125 OPC_CheckPatternPredicate1,
13126 OPC_EmitNodeXForm, 7, 1,
13127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
13128 MVT::v16i8, 2, 22,
13129 20,
13130 OPC_CheckChild0Integer, 83|128,57,
13131 OPC_RecordChild1,
13132 OPC_RecordChild2,
13133 OPC_MoveChild2,
13134 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13135 OPC_MoveParent,
13136 OPC_CheckPatternPredicate1,
13137 OPC_EmitNodeXForm, 7, 1,
13138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
13139 MVT::v16i8, 2, 22,
13140 20,
13141 OPC_CheckChild0Integer, 107|128,60,
13142 OPC_RecordChild1,
13143 OPC_RecordChild2,
13144 OPC_MoveChild2,
13145 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13146 OPC_MoveParent,
13147 OPC_CheckPatternPredicate1,
13148 OPC_EmitNodeXForm, 7, 1,
13149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
13150 MVT::v16i8, 2, 22,
13151 20,
13152 OPC_CheckChild0Integer, 91|128,60,
13153 OPC_RecordChild1,
13154 OPC_RecordChild2,
13155 OPC_MoveChild2,
13156 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13157 OPC_MoveParent,
13158 OPC_CheckPatternPredicate1,
13159 OPC_EmitNodeXForm, 7, 1,
13160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_H),
13161 MVT::v8i16, 2, 22,
13162 20,
13163 OPC_CheckChild0Integer, 92|128,60,
13164 OPC_RecordChild1,
13165 OPC_RecordChild2,
13166 OPC_MoveChild2,
13167 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13168 OPC_MoveParent,
13169 OPC_CheckPatternPredicate1,
13170 OPC_EmitNodeXForm, 7, 1,
13171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_HU),
13172 MVT::v8i16, 2, 22,
13173 20,
13174 OPC_CheckChild0Integer, 77|128,60,
13175 OPC_RecordChild1,
13176 OPC_RecordChild2,
13177 OPC_MoveChild2,
13178 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13179 OPC_MoveParent,
13180 OPC_CheckPatternPredicate1,
13181 OPC_EmitNodeXForm, 7, 1,
13182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
13183 MVT::v8i16, 2, 22,
13184 20,
13185 OPC_CheckChild0Integer, 15|128,61,
13186 OPC_RecordChild1,
13187 OPC_RecordChild2,
13188 OPC_MoveChild2,
13189 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13190 OPC_MoveParent,
13191 OPC_CheckPatternPredicate1,
13192 OPC_EmitNodeXForm, 7, 1,
13193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
13194 MVT::v4i32, 2, 22,
13195 20,
13196 OPC_CheckChild0Integer, 16|128,61,
13197 OPC_RecordChild1,
13198 OPC_RecordChild2,
13199 OPC_MoveChild2,
13200 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13201 OPC_MoveParent,
13202 OPC_CheckPatternPredicate1,
13203 OPC_EmitNodeXForm, 7, 1,
13204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
13205 MVT::v4i32, 2, 22,
13206 20,
13207 OPC_CheckChild0Integer, 84|128,61,
13208 OPC_RecordChild1,
13209 OPC_RecordChild2,
13210 OPC_MoveChild2,
13211 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13212 OPC_MoveParent,
13213 OPC_CheckPatternPredicate1,
13214 OPC_EmitNodeXForm, 7, 1,
13215 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
13216 MVT::v8i16, 2, 22,
13217 20,
13218 OPC_CheckChild0Integer, 54|128,61,
13219 OPC_RecordChild1,
13220 OPC_RecordChild2,
13221 OPC_MoveChild2,
13222 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13223 OPC_MoveParent,
13224 OPC_CheckPatternPredicate1,
13225 OPC_EmitNodeXForm, 7, 1,
13226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
13227 MVT::v8i16, 2, 22,
13228 20,
13229 OPC_CheckChild0Integer, 101|128,60,
13230 OPC_RecordChild1,
13231 OPC_RecordChild2,
13232 OPC_MoveChild2,
13233 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13234 OPC_MoveParent,
13235 OPC_CheckPatternPredicate1,
13236 OPC_EmitNodeXForm, 7, 1,
13237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
13238 MVT::v8i16, 2, 22,
13239 20,
13240 OPC_CheckChild0Integer, 127|128,60,
13241 OPC_RecordChild1,
13242 OPC_RecordChild2,
13243 OPC_MoveChild2,
13244 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13245 OPC_MoveParent,
13246 OPC_CheckPatternPredicate1,
13247 OPC_EmitNodeXForm, 7, 1,
13248 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
13249 MVT::v8i16, 2, 22,
13250 20,
13251 OPC_CheckChild0Integer, 0|128,61,
13252 OPC_RecordChild1,
13253 OPC_RecordChild2,
13254 OPC_MoveChild2,
13255 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13256 OPC_MoveParent,
13257 OPC_CheckPatternPredicate1,
13258 OPC_EmitNodeXForm, 7, 1,
13259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
13260 MVT::v8i16, 2, 22,
13261 20,
13262 OPC_CheckChild0Integer, 29|128,61,
13263 OPC_RecordChild1,
13264 OPC_RecordChild2,
13265 OPC_MoveChild2,
13266 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13267 OPC_MoveParent,
13268 OPC_CheckPatternPredicate1,
13269 OPC_EmitNodeXForm, 7, 1,
13270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
13271 MVT::v8i16, 2, 22,
13272 20,
13273 OPC_CheckChild0Integer, 30|128,61,
13274 OPC_RecordChild1,
13275 OPC_RecordChild2,
13276 OPC_MoveChild2,
13277 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13278 OPC_MoveParent,
13279 OPC_CheckPatternPredicate1,
13280 OPC_EmitNodeXForm, 7, 1,
13281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
13282 MVT::v8i16, 2, 22,
13283 20,
13284 OPC_CheckChild0Integer, 69|128,60,
13285 OPC_RecordChild1,
13286 OPC_RecordChild2,
13287 OPC_MoveChild2,
13288 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13289 OPC_MoveParent,
13290 OPC_CheckPatternPredicate1,
13291 OPC_EmitNodeXForm, 7, 1,
13292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
13293 MVT::v8i16, 2, 22,
13294 20,
13295 OPC_CheckChild0Integer, 109|128,60,
13296 OPC_RecordChild1,
13297 OPC_RecordChild2,
13298 OPC_MoveChild2,
13299 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13300 OPC_MoveParent,
13301 OPC_CheckPatternPredicate1,
13302 OPC_EmitNodeXForm, 7, 1,
13303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
13304 MVT::v8i16, 2, 22,
13305 20,
13306 OPC_CheckChild0Integer, 93|128,60,
13307 OPC_RecordChild1,
13308 OPC_RecordChild2,
13309 OPC_MoveChild2,
13310 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13311 OPC_MoveParent,
13312 OPC_CheckPatternPredicate1,
13313 OPC_EmitNodeXForm, 7, 1,
13314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_W),
13315 MVT::v4i32, 2, 22,
13316 20,
13317 OPC_CheckChild0Integer, 94|128,60,
13318 OPC_RecordChild1,
13319 OPC_RecordChild2,
13320 OPC_MoveChild2,
13321 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13322 OPC_MoveParent,
13323 OPC_CheckPatternPredicate1,
13324 OPC_EmitNodeXForm, 7, 1,
13325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_WU),
13326 MVT::v4i32, 2, 22,
13327 20,
13328 OPC_CheckChild0Integer, 78|128,60,
13329 OPC_RecordChild1,
13330 OPC_RecordChild2,
13331 OPC_MoveChild2,
13332 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13333 OPC_MoveParent,
13334 OPC_CheckPatternPredicate1,
13335 OPC_EmitNodeXForm, 7, 1,
13336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
13337 MVT::v4i32, 2, 22,
13338 20,
13339 OPC_CheckChild0Integer, 11|128,61,
13340 OPC_RecordChild1,
13341 OPC_RecordChild2,
13342 OPC_MoveChild2,
13343 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13344 OPC_MoveParent,
13345 OPC_CheckPatternPredicate1,
13346 OPC_EmitNodeXForm, 7, 1,
13347 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
13348 MVT::v2i64, 2, 22,
13349 20,
13350 OPC_CheckChild0Integer, 12|128,61,
13351 OPC_RecordChild1,
13352 OPC_RecordChild2,
13353 OPC_MoveChild2,
13354 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13355 OPC_MoveParent,
13356 OPC_CheckPatternPredicate1,
13357 OPC_EmitNodeXForm, 7, 1,
13358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
13359 MVT::v2i64, 2, 22,
13360 20,
13361 OPC_CheckChild0Integer, 85|128,61,
13362 OPC_RecordChild1,
13363 OPC_RecordChild2,
13364 OPC_MoveChild2,
13365 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13366 OPC_MoveParent,
13367 OPC_CheckPatternPredicate1,
13368 OPC_EmitNodeXForm, 7, 1,
13369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
13370 MVT::v4i32, 2, 22,
13371 20,
13372 OPC_CheckChild0Integer, 55|128,61,
13373 OPC_RecordChild1,
13374 OPC_RecordChild2,
13375 OPC_MoveChild2,
13376 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13377 OPC_MoveParent,
13378 OPC_CheckPatternPredicate1,
13379 OPC_EmitNodeXForm, 7, 1,
13380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
13381 MVT::v4i32, 2, 22,
13382 20,
13383 OPC_CheckChild0Integer, 102|128,60,
13384 OPC_RecordChild1,
13385 OPC_RecordChild2,
13386 OPC_MoveChild2,
13387 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13388 OPC_MoveParent,
13389 OPC_CheckPatternPredicate1,
13390 OPC_EmitNodeXForm, 7, 1,
13391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
13392 MVT::v4i32, 2, 22,
13393 20,
13394 OPC_CheckChild0Integer, 1|128,61,
13395 OPC_RecordChild1,
13396 OPC_RecordChild2,
13397 OPC_MoveChild2,
13398 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13399 OPC_MoveParent,
13400 OPC_CheckPatternPredicate1,
13401 OPC_EmitNodeXForm, 7, 1,
13402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
13403 MVT::v4i32, 2, 22,
13404 20,
13405 OPC_CheckChild0Integer, 2|128,61,
13406 OPC_RecordChild1,
13407 OPC_RecordChild2,
13408 OPC_MoveChild2,
13409 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13410 OPC_MoveParent,
13411 OPC_CheckPatternPredicate1,
13412 OPC_EmitNodeXForm, 7, 1,
13413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
13414 MVT::v4i32, 2, 22,
13415 20,
13416 OPC_CheckChild0Integer, 31|128,61,
13417 OPC_RecordChild1,
13418 OPC_RecordChild2,
13419 OPC_MoveChild2,
13420 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13421 OPC_MoveParent,
13422 OPC_CheckPatternPredicate1,
13423 OPC_EmitNodeXForm, 7, 1,
13424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
13425 MVT::v4i32, 2, 22,
13426 20,
13427 OPC_CheckChild0Integer, 32|128,61,
13428 OPC_RecordChild1,
13429 OPC_RecordChild2,
13430 OPC_MoveChild2,
13431 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13432 OPC_MoveParent,
13433 OPC_CheckPatternPredicate1,
13434 OPC_EmitNodeXForm, 7, 1,
13435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
13436 MVT::v4i32, 2, 22,
13437 20,
13438 OPC_CheckChild0Integer, 70|128,60,
13439 OPC_RecordChild1,
13440 OPC_RecordChild2,
13441 OPC_MoveChild2,
13442 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13443 OPC_MoveParent,
13444 OPC_CheckPatternPredicate1,
13445 OPC_EmitNodeXForm, 7, 1,
13446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
13447 MVT::v4i32, 2, 22,
13448 20,
13449 OPC_CheckChild0Integer, 110|128,60,
13450 OPC_RecordChild1,
13451 OPC_RecordChild2,
13452 OPC_MoveChild2,
13453 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13454 OPC_MoveParent,
13455 OPC_CheckPatternPredicate1,
13456 OPC_EmitNodeXForm, 7, 1,
13457 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
13458 MVT::v4i32, 2, 22,
13459 20,
13460 OPC_CheckChild0Integer, 89|128,60,
13461 OPC_RecordChild1,
13462 OPC_RecordChild2,
13463 OPC_MoveChild2,
13464 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13465 OPC_MoveParent,
13466 OPC_CheckPatternPredicate1,
13467 OPC_EmitNodeXForm, 7, 1,
13468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_D),
13469 MVT::v2i64, 2, 22,
13470 20,
13471 OPC_CheckChild0Integer, 90|128,60,
13472 OPC_RecordChild1,
13473 OPC_RecordChild2,
13474 OPC_MoveChild2,
13475 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13476 OPC_MoveParent,
13477 OPC_CheckPatternPredicate1,
13478 OPC_EmitNodeXForm, 7, 1,
13479 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_DU),
13480 MVT::v2i64, 2, 22,
13481 20,
13482 OPC_CheckChild0Integer, 76|128,60,
13483 OPC_RecordChild1,
13484 OPC_RecordChild2,
13485 OPC_MoveChild2,
13486 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13487 OPC_MoveParent,
13488 OPC_CheckPatternPredicate1,
13489 OPC_EmitNodeXForm, 7, 1,
13490 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
13491 MVT::v2i64, 2, 22,
13492 20,
13493 OPC_CheckChild0Integer, 83|128,61,
13494 OPC_RecordChild1,
13495 OPC_RecordChild2,
13496 OPC_MoveChild2,
13497 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13498 OPC_MoveParent,
13499 OPC_CheckPatternPredicate1,
13500 OPC_EmitNodeXForm, 7, 1,
13501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
13502 MVT::v2i64, 2, 22,
13503 20,
13504 OPC_CheckChild0Integer, 53|128,61,
13505 OPC_RecordChild1,
13506 OPC_RecordChild2,
13507 OPC_MoveChild2,
13508 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13509 OPC_MoveParent,
13510 OPC_CheckPatternPredicate1,
13511 OPC_EmitNodeXForm, 7, 1,
13512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
13513 MVT::v2i64, 2, 22,
13514 20,
13515 OPC_CheckChild0Integer, 100|128,60,
13516 OPC_RecordChild1,
13517 OPC_RecordChild2,
13518 OPC_MoveChild2,
13519 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13520 OPC_MoveParent,
13521 OPC_CheckPatternPredicate1,
13522 OPC_EmitNodeXForm, 7, 1,
13523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
13524 MVT::v2i64, 2, 22,
13525 20,
13526 OPC_CheckChild0Integer, 125|128,60,
13527 OPC_RecordChild1,
13528 OPC_RecordChild2,
13529 OPC_MoveChild2,
13530 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13531 OPC_MoveParent,
13532 OPC_CheckPatternPredicate1,
13533 OPC_EmitNodeXForm, 7, 1,
13534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
13535 MVT::v2i64, 2, 22,
13536 20,
13537 OPC_CheckChild0Integer, 126|128,60,
13538 OPC_RecordChild1,
13539 OPC_RecordChild2,
13540 OPC_MoveChild2,
13541 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13542 OPC_MoveParent,
13543 OPC_CheckPatternPredicate1,
13544 OPC_EmitNodeXForm, 7, 1,
13545 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
13546 MVT::v2i64, 2, 22,
13547 20,
13548 OPC_CheckChild0Integer, 27|128,61,
13549 OPC_RecordChild1,
13550 OPC_RecordChild2,
13551 OPC_MoveChild2,
13552 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13553 OPC_MoveParent,
13554 OPC_CheckPatternPredicate1,
13555 OPC_EmitNodeXForm, 7, 1,
13556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
13557 MVT::v2i64, 2, 22,
13558 20,
13559 OPC_CheckChild0Integer, 28|128,61,
13560 OPC_RecordChild1,
13561 OPC_RecordChild2,
13562 OPC_MoveChild2,
13563 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13564 OPC_MoveParent,
13565 OPC_CheckPatternPredicate1,
13566 OPC_EmitNodeXForm, 7, 1,
13567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
13568 MVT::v2i64, 2, 22,
13569 20,
13570 OPC_CheckChild0Integer, 68|128,60,
13571 OPC_RecordChild1,
13572 OPC_RecordChild2,
13573 OPC_MoveChild2,
13574 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13575 OPC_MoveParent,
13576 OPC_CheckPatternPredicate1,
13577 OPC_EmitNodeXForm, 7, 1,
13578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
13579 MVT::v2i64, 2, 22,
13580 21,
13581 OPC_CheckChild0Integer, 74|128,61,
13582 OPC_RecordChild1,
13583 OPC_RecordChild2,
13584 OPC_RecordChild3,
13585 OPC_MoveChild3,
13586 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13587 OPC_MoveParent,
13588 OPC_CheckPatternPredicate1,
13589 OPC_EmitNodeXForm, 7, 2,
13590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_B_H),
13591 MVT::v16i8, 3, 42,
13592 21,
13593 OPC_CheckChild0Integer, 44|128,61,
13594 OPC_RecordChild1,
13595 OPC_RecordChild2,
13596 OPC_RecordChild3,
13597 OPC_MoveChild3,
13598 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13599 OPC_MoveParent,
13600 OPC_CheckPatternPredicate1,
13601 OPC_EmitNodeXForm, 7, 2,
13602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_B_H),
13603 MVT::v16i8, 3, 42,
13604 21,
13605 OPC_CheckChild0Integer, 89|128,61,
13606 OPC_RecordChild1,
13607 OPC_RecordChild2,
13608 OPC_RecordChild3,
13609 OPC_MoveChild3,
13610 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13611 OPC_MoveParent,
13612 OPC_CheckPatternPredicate1,
13613 OPC_EmitNodeXForm, 7, 2,
13614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_B_H),
13615 MVT::v16i8, 3, 42,
13616 21,
13617 OPC_CheckChild0Integer, 59|128,61,
13618 OPC_RecordChild1,
13619 OPC_RecordChild2,
13620 OPC_RecordChild3,
13621 OPC_MoveChild3,
13622 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13623 OPC_MoveParent,
13624 OPC_CheckPatternPredicate1,
13625 OPC_EmitNodeXForm, 7, 2,
13626 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_B_H),
13627 MVT::v16i8, 3, 42,
13628 21,
13629 OPC_CheckChild0Integer, 127|128,61,
13630 OPC_RecordChild1,
13631 OPC_RecordChild2,
13632 OPC_RecordChild3,
13633 OPC_MoveChild3,
13634 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13635 OPC_MoveParent,
13636 OPC_CheckPatternPredicate1,
13637 OPC_EmitNodeXForm, 7, 2,
13638 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_B_H),
13639 MVT::v16i8, 3, 42,
13640 21,
13641 OPC_CheckChild0Integer, 99|128,61,
13642 OPC_RecordChild1,
13643 OPC_RecordChild2,
13644 OPC_RecordChild3,
13645 OPC_MoveChild3,
13646 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13647 OPC_MoveParent,
13648 OPC_CheckPatternPredicate1,
13649 OPC_EmitNodeXForm, 7, 2,
13650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_B_H),
13651 MVT::v16i8, 3, 42,
13652 21,
13653 OPC_CheckChild0Integer, 0|128,62,
13654 OPC_RecordChild1,
13655 OPC_RecordChild2,
13656 OPC_RecordChild3,
13657 OPC_MoveChild3,
13658 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13659 OPC_MoveParent,
13660 OPC_CheckPatternPredicate1,
13661 OPC_EmitNodeXForm, 7, 2,
13662 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_BU_H),
13663 MVT::v16i8, 3, 42,
13664 21,
13665 OPC_CheckChild0Integer, 100|128,61,
13666 OPC_RecordChild1,
13667 OPC_RecordChild2,
13668 OPC_RecordChild3,
13669 OPC_MoveChild3,
13670 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13671 OPC_MoveParent,
13672 OPC_CheckPatternPredicate1,
13673 OPC_EmitNodeXForm, 7, 2,
13674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_BU_H),
13675 MVT::v16i8, 3, 42,
13676 21,
13677 OPC_CheckChild0Integer, 13|128,62,
13678 OPC_RecordChild1,
13679 OPC_RecordChild2,
13680 OPC_RecordChild3,
13681 OPC_MoveChild3,
13682 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13683 OPC_MoveParent,
13684 OPC_CheckPatternPredicate1,
13685 OPC_EmitNodeXForm, 7, 2,
13686 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_B_H),
13687 MVT::v16i8, 3, 42,
13688 21,
13689 OPC_CheckChild0Integer, 113|128,61,
13690 OPC_RecordChild1,
13691 OPC_RecordChild2,
13692 OPC_RecordChild3,
13693 OPC_MoveChild3,
13694 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13695 OPC_MoveParent,
13696 OPC_CheckPatternPredicate1,
13697 OPC_EmitNodeXForm, 7, 2,
13698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_B_H),
13699 MVT::v16i8, 3, 42,
13700 21,
13701 OPC_CheckChild0Integer, 14|128,62,
13702 OPC_RecordChild1,
13703 OPC_RecordChild2,
13704 OPC_RecordChild3,
13705 OPC_MoveChild3,
13706 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13707 OPC_MoveParent,
13708 OPC_CheckPatternPredicate1,
13709 OPC_EmitNodeXForm, 7, 2,
13710 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_BU_H),
13711 MVT::v16i8, 3, 42,
13712 21,
13713 OPC_CheckChild0Integer, 114|128,61,
13714 OPC_RecordChild1,
13715 OPC_RecordChild2,
13716 OPC_RecordChild3,
13717 OPC_MoveChild3,
13718 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13719 OPC_MoveParent,
13720 OPC_CheckPatternPredicate1,
13721 OPC_EmitNodeXForm, 7, 2,
13722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_BU_H),
13723 MVT::v16i8, 3, 42,
13724 21,
13725 OPC_CheckChild0Integer, 89|128,58,
13726 OPC_RecordChild1,
13727 OPC_RecordChild2,
13728 OPC_RecordChild3,
13729 OPC_MoveChild3,
13730 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13731 OPC_MoveParent,
13732 OPC_CheckPatternPredicate1,
13733 OPC_EmitNodeXForm, 7, 2,
13734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_B),
13735 MVT::v16i8, 3, 42,
13736 21,
13737 OPC_CheckChild0Integer, 73|128,57,
13738 OPC_RecordChild1,
13739 OPC_RecordChild2,
13740 OPC_RecordChild3,
13741 OPC_MoveChild3,
13742 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13743 OPC_MoveParent,
13744 OPC_CheckPatternPredicate1,
13745 OPC_EmitNodeXForm, 7, 2,
13746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
13747 MVT::v16i8, 3, 42,
13748 21,
13749 OPC_CheckChild0Integer, 110|128,57,
13750 OPC_RecordChild1,
13751 OPC_RecordChild2,
13752 OPC_RecordChild3,
13753 OPC_MoveChild3,
13754 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13755 OPC_MoveParent,
13756 OPC_CheckPatternPredicate1,
13757 OPC_EmitNodeXForm, 7, 2,
13758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
13759 MVT::v16i8, 3, 42,
13760 21,
13761 OPC_CheckChild0Integer, 76|128,61,
13762 OPC_RecordChild1,
13763 OPC_RecordChild2,
13764 OPC_RecordChild3,
13765 OPC_MoveChild3,
13766 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13767 OPC_MoveParent,
13768 OPC_CheckPatternPredicate1,
13769 OPC_EmitNodeXForm, 7, 2,
13770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_H_W),
13771 MVT::v8i16, 3, 42,
13772 21,
13773 OPC_CheckChild0Integer, 46|128,61,
13774 OPC_RecordChild1,
13775 OPC_RecordChild2,
13776 OPC_RecordChild3,
13777 OPC_MoveChild3,
13778 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13779 OPC_MoveParent,
13780 OPC_CheckPatternPredicate1,
13781 OPC_EmitNodeXForm, 7, 2,
13782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_H_W),
13783 MVT::v8i16, 3, 42,
13784 21,
13785 OPC_CheckChild0Integer, 91|128,61,
13786 OPC_RecordChild1,
13787 OPC_RecordChild2,
13788 OPC_RecordChild3,
13789 OPC_MoveChild3,
13790 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13791 OPC_MoveParent,
13792 OPC_CheckPatternPredicate1,
13793 OPC_EmitNodeXForm, 7, 2,
13794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_H_W),
13795 MVT::v8i16, 3, 42,
13796 21,
13797 OPC_CheckChild0Integer, 61|128,61,
13798 OPC_RecordChild1,
13799 OPC_RecordChild2,
13800 OPC_RecordChild3,
13801 OPC_MoveChild3,
13802 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13803 OPC_MoveParent,
13804 OPC_CheckPatternPredicate1,
13805 OPC_EmitNodeXForm, 7, 2,
13806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_H_W),
13807 MVT::v8i16, 3, 42,
13808 21,
13809 OPC_CheckChild0Integer, 3|128,62,
13810 OPC_RecordChild1,
13811 OPC_RecordChild2,
13812 OPC_RecordChild3,
13813 OPC_MoveChild3,
13814 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13815 OPC_MoveParent,
13816 OPC_CheckPatternPredicate1,
13817 OPC_EmitNodeXForm, 7, 2,
13818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_H_W),
13819 MVT::v8i16, 3, 42,
13820 21,
13821 OPC_CheckChild0Integer, 103|128,61,
13822 OPC_RecordChild1,
13823 OPC_RecordChild2,
13824 OPC_RecordChild3,
13825 OPC_MoveChild3,
13826 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13827 OPC_MoveParent,
13828 OPC_CheckPatternPredicate1,
13829 OPC_EmitNodeXForm, 7, 2,
13830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_H_W),
13831 MVT::v8i16, 3, 42,
13832 21,
13833 OPC_CheckChild0Integer, 4|128,62,
13834 OPC_RecordChild1,
13835 OPC_RecordChild2,
13836 OPC_RecordChild3,
13837 OPC_MoveChild3,
13838 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13839 OPC_MoveParent,
13840 OPC_CheckPatternPredicate1,
13841 OPC_EmitNodeXForm, 7, 2,
13842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_HU_W),
13843 MVT::v8i16, 3, 42,
13844 21,
13845 OPC_CheckChild0Integer, 104|128,61,
13846 OPC_RecordChild1,
13847 OPC_RecordChild2,
13848 OPC_RecordChild3,
13849 OPC_MoveChild3,
13850 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13851 OPC_MoveParent,
13852 OPC_CheckPatternPredicate1,
13853 OPC_EmitNodeXForm, 7, 2,
13854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_HU_W),
13855 MVT::v8i16, 3, 42,
13856 21,
13857 OPC_CheckChild0Integer, 17|128,62,
13858 OPC_RecordChild1,
13859 OPC_RecordChild2,
13860 OPC_RecordChild3,
13861 OPC_MoveChild3,
13862 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13863 OPC_MoveParent,
13864 OPC_CheckPatternPredicate1,
13865 OPC_EmitNodeXForm, 7, 2,
13866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_H_W),
13867 MVT::v8i16, 3, 42,
13868 21,
13869 OPC_CheckChild0Integer, 117|128,61,
13870 OPC_RecordChild1,
13871 OPC_RecordChild2,
13872 OPC_RecordChild3,
13873 OPC_MoveChild3,
13874 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13875 OPC_MoveParent,
13876 OPC_CheckPatternPredicate1,
13877 OPC_EmitNodeXForm, 7, 2,
13878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_H_W),
13879 MVT::v8i16, 3, 42,
13880 21,
13881 OPC_CheckChild0Integer, 18|128,62,
13882 OPC_RecordChild1,
13883 OPC_RecordChild2,
13884 OPC_RecordChild3,
13885 OPC_MoveChild3,
13886 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13887 OPC_MoveParent,
13888 OPC_CheckPatternPredicate1,
13889 OPC_EmitNodeXForm, 7, 2,
13890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_HU_W),
13891 MVT::v8i16, 3, 42,
13892 21,
13893 OPC_CheckChild0Integer, 118|128,61,
13894 OPC_RecordChild1,
13895 OPC_RecordChild2,
13896 OPC_RecordChild3,
13897 OPC_MoveChild3,
13898 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13899 OPC_MoveParent,
13900 OPC_CheckPatternPredicate1,
13901 OPC_EmitNodeXForm, 7, 2,
13902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_HU_W),
13903 MVT::v8i16, 3, 42,
13904 21,
13905 OPC_CheckChild0Integer, 90|128,58,
13906 OPC_RecordChild1,
13907 OPC_RecordChild2,
13908 OPC_RecordChild3,
13909 OPC_MoveChild3,
13910 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13911 OPC_MoveParent,
13912 OPC_CheckPatternPredicate1,
13913 OPC_EmitNodeXForm, 7, 2,
13914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_H),
13915 MVT::v8i16, 3, 42,
13916 21,
13917 OPC_CheckChild0Integer, 112|128,57,
13918 OPC_RecordChild1,
13919 OPC_RecordChild2,
13920 OPC_RecordChild3,
13921 OPC_MoveChild3,
13922 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13923 OPC_MoveParent,
13924 OPC_CheckPatternPredicate1,
13925 OPC_EmitNodeXForm, 7, 2,
13926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
13927 MVT::v8i16, 3, 42,
13928 21,
13929 OPC_CheckChild0Integer, 77|128,61,
13930 OPC_RecordChild1,
13931 OPC_RecordChild2,
13932 OPC_RecordChild3,
13933 OPC_MoveChild3,
13934 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13935 OPC_MoveParent,
13936 OPC_CheckPatternPredicate1,
13937 OPC_EmitNodeXForm, 7, 2,
13938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_W_D),
13939 MVT::v4i32, 3, 42,
13940 21,
13941 OPC_CheckChild0Integer, 47|128,61,
13942 OPC_RecordChild1,
13943 OPC_RecordChild2,
13944 OPC_RecordChild3,
13945 OPC_MoveChild3,
13946 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13947 OPC_MoveParent,
13948 OPC_CheckPatternPredicate1,
13949 OPC_EmitNodeXForm, 7, 2,
13950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_W_D),
13951 MVT::v4i32, 3, 42,
13952 21,
13953 OPC_CheckChild0Integer, 92|128,61,
13954 OPC_RecordChild1,
13955 OPC_RecordChild2,
13956 OPC_RecordChild3,
13957 OPC_MoveChild3,
13958 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13959 OPC_MoveParent,
13960 OPC_CheckPatternPredicate1,
13961 OPC_EmitNodeXForm, 7, 2,
13962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_W_D),
13963 MVT::v4i32, 3, 42,
13964 21,
13965 OPC_CheckChild0Integer, 62|128,61,
13966 OPC_RecordChild1,
13967 OPC_RecordChild2,
13968 OPC_RecordChild3,
13969 OPC_MoveChild3,
13970 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13971 OPC_MoveParent,
13972 OPC_CheckPatternPredicate1,
13973 OPC_EmitNodeXForm, 7, 2,
13974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_W_D),
13975 MVT::v4i32, 3, 42,
13976 21,
13977 OPC_CheckChild0Integer, 5|128,62,
13978 OPC_RecordChild1,
13979 OPC_RecordChild2,
13980 OPC_RecordChild3,
13981 OPC_MoveChild3,
13982 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13983 OPC_MoveParent,
13984 OPC_CheckPatternPredicate1,
13985 OPC_EmitNodeXForm, 7, 2,
13986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_W_D),
13987 MVT::v4i32, 3, 42,
13988 21,
13989 OPC_CheckChild0Integer, 105|128,61,
13990 OPC_RecordChild1,
13991 OPC_RecordChild2,
13992 OPC_RecordChild3,
13993 OPC_MoveChild3,
13994 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13995 OPC_MoveParent,
13996 OPC_CheckPatternPredicate1,
13997 OPC_EmitNodeXForm, 7, 2,
13998 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_W_D),
13999 MVT::v4i32, 3, 42,
14000 21,
14001 OPC_CheckChild0Integer, 6|128,62,
14002 OPC_RecordChild1,
14003 OPC_RecordChild2,
14004 OPC_RecordChild3,
14005 OPC_MoveChild3,
14006 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14007 OPC_MoveParent,
14008 OPC_CheckPatternPredicate1,
14009 OPC_EmitNodeXForm, 7, 2,
14010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_WU_D),
14011 MVT::v4i32, 3, 42,
14012 21,
14013 OPC_CheckChild0Integer, 106|128,61,
14014 OPC_RecordChild1,
14015 OPC_RecordChild2,
14016 OPC_RecordChild3,
14017 OPC_MoveChild3,
14018 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14019 OPC_MoveParent,
14020 OPC_CheckPatternPredicate1,
14021 OPC_EmitNodeXForm, 7, 2,
14022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_WU_D),
14023 MVT::v4i32, 3, 42,
14024 21,
14025 OPC_CheckChild0Integer, 19|128,62,
14026 OPC_RecordChild1,
14027 OPC_RecordChild2,
14028 OPC_RecordChild3,
14029 OPC_MoveChild3,
14030 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14031 OPC_MoveParent,
14032 OPC_CheckPatternPredicate1,
14033 OPC_EmitNodeXForm, 7, 2,
14034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_W_D),
14035 MVT::v4i32, 3, 42,
14036 21,
14037 OPC_CheckChild0Integer, 119|128,61,
14038 OPC_RecordChild1,
14039 OPC_RecordChild2,
14040 OPC_RecordChild3,
14041 OPC_MoveChild3,
14042 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14043 OPC_MoveParent,
14044 OPC_CheckPatternPredicate1,
14045 OPC_EmitNodeXForm, 7, 2,
14046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_W_D),
14047 MVT::v4i32, 3, 42,
14048 21,
14049 OPC_CheckChild0Integer, 20|128,62,
14050 OPC_RecordChild1,
14051 OPC_RecordChild2,
14052 OPC_RecordChild3,
14053 OPC_MoveChild3,
14054 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14055 OPC_MoveParent,
14056 OPC_CheckPatternPredicate1,
14057 OPC_EmitNodeXForm, 7, 2,
14058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_WU_D),
14059 MVT::v4i32, 3, 42,
14060 21,
14061 OPC_CheckChild0Integer, 120|128,61,
14062 OPC_RecordChild1,
14063 OPC_RecordChild2,
14064 OPC_RecordChild3,
14065 OPC_MoveChild3,
14066 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14067 OPC_MoveParent,
14068 OPC_CheckPatternPredicate1,
14069 OPC_EmitNodeXForm, 7, 2,
14070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_WU_D),
14071 MVT::v4i32, 3, 42,
14072 21,
14073 OPC_CheckChild0Integer, 38|128,60,
14074 OPC_RecordChild1,
14075 OPC_RecordChild2,
14076 OPC_RecordChild3,
14077 OPC_MoveChild3,
14078 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14079 OPC_MoveParent,
14080 OPC_CheckPatternPredicate1,
14081 OPC_EmitNodeXForm, 7, 2,
14082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
14083 MVT::v4i32, 3, 42,
14084 21,
14085 OPC_CheckChild0Integer, 113|128,57,
14086 OPC_RecordChild1,
14087 OPC_RecordChild2,
14088 OPC_RecordChild3,
14089 OPC_MoveChild3,
14090 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14091 OPC_MoveParent,
14092 OPC_CheckPatternPredicate1,
14093 OPC_EmitNodeXForm, 7, 2,
14094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
14095 MVT::v4i32, 3, 42,
14096 21,
14097 OPC_CheckChild0Integer, 75|128,61,
14098 OPC_RecordChild1,
14099 OPC_RecordChild2,
14100 OPC_RecordChild3,
14101 OPC_MoveChild3,
14102 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14103 OPC_MoveParent,
14104 OPC_CheckPatternPredicate1,
14105 OPC_EmitNodeXForm, 7, 2,
14106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_D_Q),
14107 MVT::v2i64, 3, 42,
14108 21,
14109 OPC_CheckChild0Integer, 45|128,61,
14110 OPC_RecordChild1,
14111 OPC_RecordChild2,
14112 OPC_RecordChild3,
14113 OPC_MoveChild3,
14114 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14115 OPC_MoveParent,
14116 OPC_CheckPatternPredicate1,
14117 OPC_EmitNodeXForm, 7, 2,
14118 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_D_Q),
14119 MVT::v2i64, 3, 42,
14120 21,
14121 OPC_CheckChild0Integer, 90|128,61,
14122 OPC_RecordChild1,
14123 OPC_RecordChild2,
14124 OPC_RecordChild3,
14125 OPC_MoveChild3,
14126 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14127 OPC_MoveParent,
14128 OPC_CheckPatternPredicate1,
14129 OPC_EmitNodeXForm, 7, 2,
14130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_D_Q),
14131 MVT::v2i64, 3, 42,
14132 21,
14133 OPC_CheckChild0Integer, 60|128,61,
14134 OPC_RecordChild1,
14135 OPC_RecordChild2,
14136 OPC_RecordChild3,
14137 OPC_MoveChild3,
14138 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14139 OPC_MoveParent,
14140 OPC_CheckPatternPredicate1,
14141 OPC_EmitNodeXForm, 7, 2,
14142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_D_Q),
14143 MVT::v2i64, 3, 42,
14144 21,
14145 OPC_CheckChild0Integer, 1|128,62,
14146 OPC_RecordChild1,
14147 OPC_RecordChild2,
14148 OPC_RecordChild3,
14149 OPC_MoveChild3,
14150 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14151 OPC_MoveParent,
14152 OPC_CheckPatternPredicate1,
14153 OPC_EmitNodeXForm, 7, 2,
14154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_D_Q),
14155 MVT::v2i64, 3, 42,
14156 21,
14157 OPC_CheckChild0Integer, 101|128,61,
14158 OPC_RecordChild1,
14159 OPC_RecordChild2,
14160 OPC_RecordChild3,
14161 OPC_MoveChild3,
14162 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14163 OPC_MoveParent,
14164 OPC_CheckPatternPredicate1,
14165 OPC_EmitNodeXForm, 7, 2,
14166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_D_Q),
14167 MVT::v2i64, 3, 42,
14168 21,
14169 OPC_CheckChild0Integer, 2|128,62,
14170 OPC_RecordChild1,
14171 OPC_RecordChild2,
14172 OPC_RecordChild3,
14173 OPC_MoveChild3,
14174 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14175 OPC_MoveParent,
14176 OPC_CheckPatternPredicate1,
14177 OPC_EmitNodeXForm, 7, 2,
14178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_DU_Q),
14179 MVT::v2i64, 3, 42,
14180 21,
14181 OPC_CheckChild0Integer, 102|128,61,
14182 OPC_RecordChild1,
14183 OPC_RecordChild2,
14184 OPC_RecordChild3,
14185 OPC_MoveChild3,
14186 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14187 OPC_MoveParent,
14188 OPC_CheckPatternPredicate1,
14189 OPC_EmitNodeXForm, 7, 2,
14190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_DU_Q),
14191 MVT::v2i64, 3, 42,
14192 21,
14193 OPC_CheckChild0Integer, 15|128,62,
14194 OPC_RecordChild1,
14195 OPC_RecordChild2,
14196 OPC_RecordChild3,
14197 OPC_MoveChild3,
14198 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14199 OPC_MoveParent,
14200 OPC_CheckPatternPredicate1,
14201 OPC_EmitNodeXForm, 7, 2,
14202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_D_Q),
14203 MVT::v2i64, 3, 42,
14204 21,
14205 OPC_CheckChild0Integer, 115|128,61,
14206 OPC_RecordChild1,
14207 OPC_RecordChild2,
14208 OPC_RecordChild3,
14209 OPC_MoveChild3,
14210 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14211 OPC_MoveParent,
14212 OPC_CheckPatternPredicate1,
14213 OPC_EmitNodeXForm, 7, 2,
14214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_D_Q),
14215 MVT::v2i64, 3, 42,
14216 21,
14217 OPC_CheckChild0Integer, 16|128,62,
14218 OPC_RecordChild1,
14219 OPC_RecordChild2,
14220 OPC_RecordChild3,
14221 OPC_MoveChild3,
14222 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14223 OPC_MoveParent,
14224 OPC_CheckPatternPredicate1,
14225 OPC_EmitNodeXForm, 7, 2,
14226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_DU_Q),
14227 MVT::v2i64, 3, 42,
14228 21,
14229 OPC_CheckChild0Integer, 116|128,61,
14230 OPC_RecordChild1,
14231 OPC_RecordChild2,
14232 OPC_RecordChild3,
14233 OPC_MoveChild3,
14234 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14235 OPC_MoveParent,
14236 OPC_CheckPatternPredicate1,
14237 OPC_EmitNodeXForm, 7, 2,
14238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_DU_Q),
14239 MVT::v2i64, 3, 42,
14240 21,
14241 OPC_CheckChild0Integer, 108|128,60,
14242 OPC_RecordChild1,
14243 OPC_RecordChild2,
14244 OPC_RecordChild3,
14245 OPC_MoveChild3,
14246 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14247 OPC_MoveParent,
14248 OPC_CheckPatternPredicate1,
14249 OPC_EmitNodeXForm, 7, 2,
14250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
14251 MVT::v2i64, 3, 42,
14252 21,
14253 OPC_CheckChild0Integer, 111|128,57,
14254 OPC_RecordChild1,
14255 OPC_RecordChild2,
14256 OPC_RecordChild3,
14257 OPC_MoveChild3,
14258 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14259 OPC_MoveParent,
14260 OPC_CheckPatternPredicate1,
14261 OPC_EmitNodeXForm, 7, 2,
14262 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
14263 MVT::v2i64, 3, 42,
14264 19,
14265 OPC_CheckChild0Integer, 63|128,53,
14266 OPC_RecordChild1,
14267 OPC_MoveChild1,
14268 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14269 OPC_MoveParent,
14270 OPC_CheckPatternPredicate0,
14271 OPC_EmitNodeXForm, 7, 0,
14272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVLDI),
14273 MVT::v4i64, 1, 10,
14274 19,
14275 OPC_CheckChild0Integer, 104|128,54,
14276 OPC_RecordChild1,
14277 OPC_MoveChild1,
14278 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14279 OPC_MoveParent,
14280 OPC_CheckPatternPredicate0,
14281 OPC_EmitNodeXForm, 7, 0,
14282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_B),
14283 MVT::v32i8, 1, 10,
14284 19,
14285 OPC_CheckChild0Integer, 106|128,54,
14286 OPC_RecordChild1,
14287 OPC_MoveChild1,
14288 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14289 OPC_MoveParent,
14290 OPC_CheckPatternPredicate0,
14291 OPC_EmitNodeXForm, 7, 0,
14292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_H),
14293 MVT::v16i16, 1, 10,
14294 19,
14295 OPC_CheckChild0Integer, 107|128,54,
14296 OPC_RecordChild1,
14297 OPC_MoveChild1,
14298 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14299 OPC_MoveParent,
14300 OPC_CheckPatternPredicate0,
14301 OPC_EmitNodeXForm, 7, 0,
14302 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_W),
14303 MVT::v8i32, 1, 10,
14304 19,
14305 OPC_CheckChild0Integer, 105|128,54,
14306 OPC_RecordChild1,
14307 OPC_MoveChild1,
14308 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14309 OPC_MoveParent,
14310 OPC_CheckPatternPredicate0,
14311 OPC_EmitNodeXForm, 7, 0,
14312 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_D),
14313 MVT::v4i64, 1, 10,
14314 20,
14315 OPC_CheckChild0Integer, 5|128,55,
14316 OPC_RecordChild1,
14317 OPC_RecordChild2,
14318 OPC_MoveChild2,
14319 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14320 OPC_MoveParent,
14321 OPC_CheckPatternPredicate0,
14322 OPC_EmitNodeXForm, 7, 1,
14323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_B),
14324 MVT::v32i8, 2, 22,
14325 20,
14326 OPC_CheckChild0Integer, 6|128,55,
14327 OPC_RecordChild1,
14328 OPC_RecordChild2,
14329 OPC_MoveChild2,
14330 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14331 OPC_MoveParent,
14332 OPC_CheckPatternPredicate0,
14333 OPC_EmitNodeXForm, 7, 1,
14334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_BU),
14335 MVT::v32i8, 2, 22,
14336 20,
14337 OPC_CheckChild0Integer, 60|128,54,
14338 OPC_RecordChild1,
14339 OPC_RecordChild2,
14340 OPC_MoveChild2,
14341 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14342 OPC_MoveParent,
14343 OPC_CheckPatternPredicate0,
14344 OPC_EmitNodeXForm, 7, 1,
14345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
14346 MVT::v32i8, 2, 22,
14347 20,
14348 OPC_CheckChild0Integer, 121|128,54,
14349 OPC_RecordChild1,
14350 OPC_RecordChild2,
14351 OPC_MoveChild2,
14352 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14353 OPC_MoveParent,
14354 OPC_CheckPatternPredicate0,
14355 OPC_EmitNodeXForm, 7, 1,
14356 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
14357 MVT::v32i8, 2, 22,
14358 20,
14359 OPC_CheckChild0Integer, 59|128,55,
14360 OPC_RecordChild1,
14361 OPC_RecordChild2,
14362 OPC_MoveChild2,
14363 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14364 OPC_MoveParent,
14365 OPC_CheckPatternPredicate0,
14366 OPC_EmitNodeXForm, 7, 1,
14367 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
14368 MVT::v16i16, 2, 22,
14369 20,
14370 OPC_CheckChild0Integer, 60|128,55,
14371 OPC_RecordChild1,
14372 OPC_RecordChild2,
14373 OPC_MoveChild2,
14374 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14375 OPC_MoveParent,
14376 OPC_CheckPatternPredicate0,
14377 OPC_EmitNodeXForm, 7, 1,
14378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
14379 MVT::v16i16, 2, 22,
14380 20,
14381 OPC_CheckChild0Integer, 0|128,56,
14382 OPC_RecordChild1,
14383 OPC_RecordChild2,
14384 OPC_MoveChild2,
14385 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14386 OPC_MoveParent,
14387 OPC_CheckPatternPredicate0,
14388 OPC_EmitNodeXForm, 7, 1,
14389 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
14390 MVT::v32i8, 2, 22,
14391 20,
14392 OPC_CheckChild0Integer, 98|128,55,
14393 OPC_RecordChild1,
14394 OPC_RecordChild2,
14395 OPC_MoveChild2,
14396 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14397 OPC_MoveParent,
14398 OPC_CheckPatternPredicate0,
14399 OPC_EmitNodeXForm, 7, 1,
14400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
14401 MVT::v32i8, 2, 22,
14402 20,
14403 OPC_CheckChild0Integer, 17|128,55,
14404 OPC_RecordChild1,
14405 OPC_RecordChild2,
14406 OPC_MoveChild2,
14407 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14408 OPC_MoveParent,
14409 OPC_CheckPatternPredicate0,
14410 OPC_EmitNodeXForm, 7, 1,
14411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
14412 MVT::v32i8, 2, 22,
14413 20,
14414 OPC_CheckChild0Integer, 41|128,55,
14415 OPC_RecordChild1,
14416 OPC_RecordChild2,
14417 OPC_MoveChild2,
14418 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14419 OPC_MoveParent,
14420 OPC_CheckPatternPredicate0,
14421 OPC_EmitNodeXForm, 7, 1,
14422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
14423 MVT::v32i8, 2, 22,
14424 20,
14425 OPC_CheckChild0Integer, 42|128,55,
14426 OPC_RecordChild1,
14427 OPC_RecordChild2,
14428 OPC_MoveChild2,
14429 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14430 OPC_MoveParent,
14431 OPC_CheckPatternPredicate0,
14432 OPC_EmitNodeXForm, 7, 1,
14433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
14434 MVT::v32i8, 2, 22,
14435 20,
14436 OPC_CheckChild0Integer, 71|128,55,
14437 OPC_RecordChild1,
14438 OPC_RecordChild2,
14439 OPC_MoveChild2,
14440 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14441 OPC_MoveParent,
14442 OPC_CheckPatternPredicate0,
14443 OPC_EmitNodeXForm, 7, 1,
14444 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
14445 MVT::v32i8, 2, 22,
14446 20,
14447 OPC_CheckChild0Integer, 72|128,55,
14448 OPC_RecordChild1,
14449 OPC_RecordChild2,
14450 OPC_MoveChild2,
14451 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14452 OPC_MoveParent,
14453 OPC_CheckPatternPredicate0,
14454 OPC_EmitNodeXForm, 7, 1,
14455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
14456 MVT::v32i8, 2, 22,
14457 20,
14458 OPC_CheckChild0Integer, 96|128,54,
14459 OPC_RecordChild1,
14460 OPC_RecordChild2,
14461 OPC_MoveChild2,
14462 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14463 OPC_MoveParent,
14464 OPC_CheckPatternPredicate0,
14465 OPC_EmitNodeXForm, 7, 1,
14466 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
14467 MVT::v32i8, 2, 22,
14468 20,
14469 OPC_CheckChild0Integer, 120|128,51,
14470 OPC_RecordChild1,
14471 OPC_RecordChild2,
14472 OPC_MoveChild2,
14473 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14474 OPC_MoveParent,
14475 OPC_CheckPatternPredicate0,
14476 OPC_EmitNodeXForm, 7, 1,
14477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
14478 MVT::v32i8, 2, 22,
14479 20,
14480 OPC_CheckChild0Integer, 121|128,51,
14481 OPC_RecordChild1,
14482 OPC_RecordChild2,
14483 OPC_MoveChild2,
14484 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14485 OPC_MoveParent,
14486 OPC_CheckPatternPredicate0,
14487 OPC_EmitNodeXForm, 7, 1,
14488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
14489 MVT::v32i8, 2, 22,
14490 20,
14491 OPC_CheckChild0Integer, 25|128,55,
14492 OPC_RecordChild1,
14493 OPC_RecordChild2,
14494 OPC_MoveChild2,
14495 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14496 OPC_MoveParent,
14497 OPC_CheckPatternPredicate0,
14498 OPC_EmitNodeXForm, 7, 1,
14499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
14500 MVT::v32i8, 2, 22,
14501 20,
14502 OPC_CheckChild0Integer, 9|128,55,
14503 OPC_RecordChild1,
14504 OPC_RecordChild2,
14505 OPC_MoveChild2,
14506 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14507 OPC_MoveParent,
14508 OPC_CheckPatternPredicate0,
14509 OPC_EmitNodeXForm, 7, 1,
14510 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_H),
14511 MVT::v16i16, 2, 22,
14512 20,
14513 OPC_CheckChild0Integer, 10|128,55,
14514 OPC_RecordChild1,
14515 OPC_RecordChild2,
14516 OPC_MoveChild2,
14517 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14518 OPC_MoveParent,
14519 OPC_CheckPatternPredicate0,
14520 OPC_EmitNodeXForm, 7, 1,
14521 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_HU),
14522 MVT::v16i16, 2, 22,
14523 20,
14524 OPC_CheckChild0Integer, 123|128,54,
14525 OPC_RecordChild1,
14526 OPC_RecordChild2,
14527 OPC_MoveChild2,
14528 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14529 OPC_MoveParent,
14530 OPC_CheckPatternPredicate0,
14531 OPC_EmitNodeXForm, 7, 1,
14532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
14533 MVT::v16i16, 2, 22,
14534 20,
14535 OPC_CheckChild0Integer, 61|128,55,
14536 OPC_RecordChild1,
14537 OPC_RecordChild2,
14538 OPC_MoveChild2,
14539 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14540 OPC_MoveParent,
14541 OPC_CheckPatternPredicate0,
14542 OPC_EmitNodeXForm, 7, 1,
14543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
14544 MVT::v8i32, 2, 22,
14545 20,
14546 OPC_CheckChild0Integer, 62|128,55,
14547 OPC_RecordChild1,
14548 OPC_RecordChild2,
14549 OPC_MoveChild2,
14550 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14551 OPC_MoveParent,
14552 OPC_CheckPatternPredicate0,
14553 OPC_EmitNodeXForm, 7, 1,
14554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
14555 MVT::v8i32, 2, 22,
14556 20,
14557 OPC_CheckChild0Integer, 2|128,56,
14558 OPC_RecordChild1,
14559 OPC_RecordChild2,
14560 OPC_MoveChild2,
14561 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14562 OPC_MoveParent,
14563 OPC_CheckPatternPredicate0,
14564 OPC_EmitNodeXForm, 7, 1,
14565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
14566 MVT::v16i16, 2, 22,
14567 20,
14568 OPC_CheckChild0Integer, 100|128,55,
14569 OPC_RecordChild1,
14570 OPC_RecordChild2,
14571 OPC_MoveChild2,
14572 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14573 OPC_MoveParent,
14574 OPC_CheckPatternPredicate0,
14575 OPC_EmitNodeXForm, 7, 1,
14576 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
14577 MVT::v16i16, 2, 22,
14578 20,
14579 OPC_CheckChild0Integer, 19|128,55,
14580 OPC_RecordChild1,
14581 OPC_RecordChild2,
14582 OPC_MoveChild2,
14583 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14584 OPC_MoveParent,
14585 OPC_CheckPatternPredicate0,
14586 OPC_EmitNodeXForm, 7, 1,
14587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
14588 MVT::v16i16, 2, 22,
14589 20,
14590 OPC_CheckChild0Integer, 45|128,55,
14591 OPC_RecordChild1,
14592 OPC_RecordChild2,
14593 OPC_MoveChild2,
14594 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14595 OPC_MoveParent,
14596 OPC_CheckPatternPredicate0,
14597 OPC_EmitNodeXForm, 7, 1,
14598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
14599 MVT::v16i16, 2, 22,
14600 20,
14601 OPC_CheckChild0Integer, 46|128,55,
14602 OPC_RecordChild1,
14603 OPC_RecordChild2,
14604 OPC_MoveChild2,
14605 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14606 OPC_MoveParent,
14607 OPC_CheckPatternPredicate0,
14608 OPC_EmitNodeXForm, 7, 1,
14609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
14610 MVT::v16i16, 2, 22,
14611 20,
14612 OPC_CheckChild0Integer, 75|128,55,
14613 OPC_RecordChild1,
14614 OPC_RecordChild2,
14615 OPC_MoveChild2,
14616 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14617 OPC_MoveParent,
14618 OPC_CheckPatternPredicate0,
14619 OPC_EmitNodeXForm, 7, 1,
14620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
14621 MVT::v16i16, 2, 22,
14622 20,
14623 OPC_CheckChild0Integer, 76|128,55,
14624 OPC_RecordChild1,
14625 OPC_RecordChild2,
14626 OPC_MoveChild2,
14627 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14628 OPC_MoveParent,
14629 OPC_CheckPatternPredicate0,
14630 OPC_EmitNodeXForm, 7, 1,
14631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
14632 MVT::v16i16, 2, 22,
14633 20,
14634 OPC_CheckChild0Integer, 98|128,54,
14635 OPC_RecordChild1,
14636 OPC_RecordChild2,
14637 OPC_MoveChild2,
14638 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14639 OPC_MoveParent,
14640 OPC_CheckPatternPredicate0,
14641 OPC_EmitNodeXForm, 7, 1,
14642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
14643 MVT::v16i16, 2, 22,
14644 20,
14645 OPC_CheckChild0Integer, 27|128,55,
14646 OPC_RecordChild1,
14647 OPC_RecordChild2,
14648 OPC_MoveChild2,
14649 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14650 OPC_MoveParent,
14651 OPC_CheckPatternPredicate0,
14652 OPC_EmitNodeXForm, 7, 1,
14653 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
14654 MVT::v16i16, 2, 22,
14655 20,
14656 OPC_CheckChild0Integer, 11|128,55,
14657 OPC_RecordChild1,
14658 OPC_RecordChild2,
14659 OPC_MoveChild2,
14660 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14661 OPC_MoveParent,
14662 OPC_CheckPatternPredicate0,
14663 OPC_EmitNodeXForm, 7, 1,
14664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_W),
14665 MVT::v8i32, 2, 22,
14666 20,
14667 OPC_CheckChild0Integer, 12|128,55,
14668 OPC_RecordChild1,
14669 OPC_RecordChild2,
14670 OPC_MoveChild2,
14671 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14672 OPC_MoveParent,
14673 OPC_CheckPatternPredicate0,
14674 OPC_EmitNodeXForm, 7, 1,
14675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_WU),
14676 MVT::v8i32, 2, 22,
14677 20,
14678 OPC_CheckChild0Integer, 124|128,54,
14679 OPC_RecordChild1,
14680 OPC_RecordChild2,
14681 OPC_MoveChild2,
14682 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14683 OPC_MoveParent,
14684 OPC_CheckPatternPredicate0,
14685 OPC_EmitNodeXForm, 7, 1,
14686 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
14687 MVT::v8i32, 2, 22,
14688 20,
14689 OPC_CheckChild0Integer, 57|128,55,
14690 OPC_RecordChild1,
14691 OPC_RecordChild2,
14692 OPC_MoveChild2,
14693 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14694 OPC_MoveParent,
14695 OPC_CheckPatternPredicate0,
14696 OPC_EmitNodeXForm, 7, 1,
14697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
14698 MVT::v4i64, 2, 22,
14699 20,
14700 OPC_CheckChild0Integer, 58|128,55,
14701 OPC_RecordChild1,
14702 OPC_RecordChild2,
14703 OPC_MoveChild2,
14704 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14705 OPC_MoveParent,
14706 OPC_CheckPatternPredicate0,
14707 OPC_EmitNodeXForm, 7, 1,
14708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
14709 MVT::v4i64, 2, 22,
14710 20,
14711 OPC_CheckChild0Integer, 3|128,56,
14712 OPC_RecordChild1,
14713 OPC_RecordChild2,
14714 OPC_MoveChild2,
14715 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14716 OPC_MoveParent,
14717 OPC_CheckPatternPredicate0,
14718 OPC_EmitNodeXForm, 7, 1,
14719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
14720 MVT::v8i32, 2, 22,
14721 20,
14722 OPC_CheckChild0Integer, 101|128,55,
14723 OPC_RecordChild1,
14724 OPC_RecordChild2,
14725 OPC_MoveChild2,
14726 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14727 OPC_MoveParent,
14728 OPC_CheckPatternPredicate0,
14729 OPC_EmitNodeXForm, 7, 1,
14730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
14731 MVT::v8i32, 2, 22,
14732 20,
14733 OPC_CheckChild0Integer, 20|128,55,
14734 OPC_RecordChild1,
14735 OPC_RecordChild2,
14736 OPC_MoveChild2,
14737 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14738 OPC_MoveParent,
14739 OPC_CheckPatternPredicate0,
14740 OPC_EmitNodeXForm, 7, 1,
14741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
14742 MVT::v8i32, 2, 22,
14743 20,
14744 OPC_CheckChild0Integer, 47|128,55,
14745 OPC_RecordChild1,
14746 OPC_RecordChild2,
14747 OPC_MoveChild2,
14748 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14749 OPC_MoveParent,
14750 OPC_CheckPatternPredicate0,
14751 OPC_EmitNodeXForm, 7, 1,
14752 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
14753 MVT::v8i32, 2, 22,
14754 20,
14755 OPC_CheckChild0Integer, 48|128,55,
14756 OPC_RecordChild1,
14757 OPC_RecordChild2,
14758 OPC_MoveChild2,
14759 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14760 OPC_MoveParent,
14761 OPC_CheckPatternPredicate0,
14762 OPC_EmitNodeXForm, 7, 1,
14763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
14764 MVT::v8i32, 2, 22,
14765 20,
14766 OPC_CheckChild0Integer, 77|128,55,
14767 OPC_RecordChild1,
14768 OPC_RecordChild2,
14769 OPC_MoveChild2,
14770 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14771 OPC_MoveParent,
14772 OPC_CheckPatternPredicate0,
14773 OPC_EmitNodeXForm, 7, 1,
14774 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
14775 MVT::v8i32, 2, 22,
14776 20,
14777 OPC_CheckChild0Integer, 78|128,55,
14778 OPC_RecordChild1,
14779 OPC_RecordChild2,
14780 OPC_MoveChild2,
14781 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14782 OPC_MoveParent,
14783 OPC_CheckPatternPredicate0,
14784 OPC_EmitNodeXForm, 7, 1,
14785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
14786 MVT::v8i32, 2, 22,
14787 20,
14788 OPC_CheckChild0Integer, 99|128,54,
14789 OPC_RecordChild1,
14790 OPC_RecordChild2,
14791 OPC_MoveChild2,
14792 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14793 OPC_MoveParent,
14794 OPC_CheckPatternPredicate0,
14795 OPC_EmitNodeXForm, 7, 1,
14796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
14797 MVT::v8i32, 2, 22,
14798 20,
14799 OPC_CheckChild0Integer, 28|128,55,
14800 OPC_RecordChild1,
14801 OPC_RecordChild2,
14802 OPC_MoveChild2,
14803 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14804 OPC_MoveParent,
14805 OPC_CheckPatternPredicate0,
14806 OPC_EmitNodeXForm, 7, 1,
14807 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
14808 MVT::v8i32, 2, 22,
14809 20,
14810 OPC_CheckChild0Integer, 90|128,54,
14811 OPC_RecordChild1,
14812 OPC_RecordChild2,
14813 OPC_MoveChild2,
14814 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14815 OPC_MoveParent,
14816 OPC_CheckPatternPredicate0,
14817 OPC_EmitNodeXForm, 7, 1,
14818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
14819 MVT::v8i32, 2, 22,
14820 20,
14821 OPC_CheckChild0Integer, 7|128,55,
14822 OPC_RecordChild1,
14823 OPC_RecordChild2,
14824 OPC_MoveChild2,
14825 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14826 OPC_MoveParent,
14827 OPC_CheckPatternPredicate0,
14828 OPC_EmitNodeXForm, 7, 1,
14829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_D),
14830 MVT::v4i64, 2, 22,
14831 20,
14832 OPC_CheckChild0Integer, 8|128,55,
14833 OPC_RecordChild1,
14834 OPC_RecordChild2,
14835 OPC_MoveChild2,
14836 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14837 OPC_MoveParent,
14838 OPC_CheckPatternPredicate0,
14839 OPC_EmitNodeXForm, 7, 1,
14840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_DU),
14841 MVT::v4i64, 2, 22,
14842 20,
14843 OPC_CheckChild0Integer, 122|128,54,
14844 OPC_RecordChild1,
14845 OPC_RecordChild2,
14846 OPC_MoveChild2,
14847 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14848 OPC_MoveParent,
14849 OPC_CheckPatternPredicate0,
14850 OPC_EmitNodeXForm, 7, 1,
14851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
14852 MVT::v4i64, 2, 22,
14853 20,
14854 OPC_CheckChild0Integer, 1|128,56,
14855 OPC_RecordChild1,
14856 OPC_RecordChild2,
14857 OPC_MoveChild2,
14858 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14859 OPC_MoveParent,
14860 OPC_CheckPatternPredicate0,
14861 OPC_EmitNodeXForm, 7, 1,
14862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
14863 MVT::v4i64, 2, 22,
14864 20,
14865 OPC_CheckChild0Integer, 99|128,55,
14866 OPC_RecordChild1,
14867 OPC_RecordChild2,
14868 OPC_MoveChild2,
14869 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14870 OPC_MoveParent,
14871 OPC_CheckPatternPredicate0,
14872 OPC_EmitNodeXForm, 7, 1,
14873 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
14874 MVT::v4i64, 2, 22,
14875 20,
14876 OPC_CheckChild0Integer, 18|128,55,
14877 OPC_RecordChild1,
14878 OPC_RecordChild2,
14879 OPC_MoveChild2,
14880 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14881 OPC_MoveParent,
14882 OPC_CheckPatternPredicate0,
14883 OPC_EmitNodeXForm, 7, 1,
14884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
14885 MVT::v4i64, 2, 22,
14886 20,
14887 OPC_CheckChild0Integer, 43|128,55,
14888 OPC_RecordChild1,
14889 OPC_RecordChild2,
14890 OPC_MoveChild2,
14891 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14892 OPC_MoveParent,
14893 OPC_CheckPatternPredicate0,
14894 OPC_EmitNodeXForm, 7, 1,
14895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
14896 MVT::v4i64, 2, 22,
14897 20,
14898 OPC_CheckChild0Integer, 44|128,55,
14899 OPC_RecordChild1,
14900 OPC_RecordChild2,
14901 OPC_MoveChild2,
14902 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14903 OPC_MoveParent,
14904 OPC_CheckPatternPredicate0,
14905 OPC_EmitNodeXForm, 7, 1,
14906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
14907 MVT::v4i64, 2, 22,
14908 20,
14909 OPC_CheckChild0Integer, 73|128,55,
14910 OPC_RecordChild1,
14911 OPC_RecordChild2,
14912 OPC_MoveChild2,
14913 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14914 OPC_MoveParent,
14915 OPC_CheckPatternPredicate0,
14916 OPC_EmitNodeXForm, 7, 1,
14917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
14918 MVT::v4i64, 2, 22,
14919 20,
14920 OPC_CheckChild0Integer, 74|128,55,
14921 OPC_RecordChild1,
14922 OPC_RecordChild2,
14923 OPC_MoveChild2,
14924 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14925 OPC_MoveParent,
14926 OPC_CheckPatternPredicate0,
14927 OPC_EmitNodeXForm, 7, 1,
14928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
14929 MVT::v4i64, 2, 22,
14930 20,
14931 OPC_CheckChild0Integer, 97|128,54,
14932 OPC_RecordChild1,
14933 OPC_RecordChild2,
14934 OPC_MoveChild2,
14935 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14936 OPC_MoveParent,
14937 OPC_CheckPatternPredicate0,
14938 OPC_EmitNodeXForm, 7, 1,
14939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
14940 MVT::v4i64, 2, 22,
14941 20,
14942 OPC_CheckChild0Integer, 77|128,54,
14943 OPC_RecordChild1,
14944 OPC_RecordChild2,
14945 OPC_MoveChild2,
14946 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14947 OPC_MoveParent,
14948 OPC_CheckPatternPredicate0,
14949 OPC_EmitNodeXForm, 7, 1,
14950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
14951 MVT::v4i64, 2, 22,
14952 20,
14953 OPC_CheckChild0Integer, 88|128,54,
14954 OPC_RecordChild1,
14955 OPC_RecordChild2,
14956 OPC_MoveChild2,
14957 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14958 OPC_MoveParent,
14959 OPC_CheckPatternPredicate0,
14960 OPC_EmitNodeXForm, 7, 1,
14961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
14962 MVT::v4i64, 2, 22,
14963 21,
14964 OPC_CheckChild0Integer, 120|128,55,
14965 OPC_RecordChild1,
14966 OPC_RecordChild2,
14967 OPC_RecordChild3,
14968 OPC_MoveChild3,
14969 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14970 OPC_MoveParent,
14971 OPC_CheckPatternPredicate0,
14972 OPC_EmitNodeXForm, 7, 2,
14973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_B_H),
14974 MVT::v32i8, 3, 42,
14975 21,
14976 OPC_CheckChild0Integer, 90|128,55,
14977 OPC_RecordChild1,
14978 OPC_RecordChild2,
14979 OPC_RecordChild3,
14980 OPC_MoveChild3,
14981 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14982 OPC_MoveParent,
14983 OPC_CheckPatternPredicate0,
14984 OPC_EmitNodeXForm, 7, 2,
14985 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_B_H),
14986 MVT::v32i8, 3, 42,
14987 21,
14988 OPC_CheckChild0Integer, 7|128,56,
14989 OPC_RecordChild1,
14990 OPC_RecordChild2,
14991 OPC_RecordChild3,
14992 OPC_MoveChild3,
14993 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14994 OPC_MoveParent,
14995 OPC_CheckPatternPredicate0,
14996 OPC_EmitNodeXForm, 7, 2,
14997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_B_H),
14998 MVT::v32i8, 3, 42,
14999 21,
15000 OPC_CheckChild0Integer, 105|128,55,
15001 OPC_RecordChild1,
15002 OPC_RecordChild2,
15003 OPC_RecordChild3,
15004 OPC_MoveChild3,
15005 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15006 OPC_MoveParent,
15007 OPC_CheckPatternPredicate0,
15008 OPC_EmitNodeXForm, 7, 2,
15009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_B_H),
15010 MVT::v32i8, 3, 42,
15011 21,
15012 OPC_CheckChild0Integer, 45|128,56,
15013 OPC_RecordChild1,
15014 OPC_RecordChild2,
15015 OPC_RecordChild3,
15016 OPC_MoveChild3,
15017 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15018 OPC_MoveParent,
15019 OPC_CheckPatternPredicate0,
15020 OPC_EmitNodeXForm, 7, 2,
15021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_B_H),
15022 MVT::v32i8, 3, 42,
15023 21,
15024 OPC_CheckChild0Integer, 17|128,56,
15025 OPC_RecordChild1,
15026 OPC_RecordChild2,
15027 OPC_RecordChild3,
15028 OPC_MoveChild3,
15029 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15030 OPC_MoveParent,
15031 OPC_CheckPatternPredicate0,
15032 OPC_EmitNodeXForm, 7, 2,
15033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_B_H),
15034 MVT::v32i8, 3, 42,
15035 21,
15036 OPC_CheckChild0Integer, 46|128,56,
15037 OPC_RecordChild1,
15038 OPC_RecordChild2,
15039 OPC_RecordChild3,
15040 OPC_MoveChild3,
15041 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15042 OPC_MoveParent,
15043 OPC_CheckPatternPredicate0,
15044 OPC_EmitNodeXForm, 7, 2,
15045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_BU_H),
15046 MVT::v32i8, 3, 42,
15047 21,
15048 OPC_CheckChild0Integer, 18|128,56,
15049 OPC_RecordChild1,
15050 OPC_RecordChild2,
15051 OPC_RecordChild3,
15052 OPC_MoveChild3,
15053 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15054 OPC_MoveParent,
15055 OPC_CheckPatternPredicate0,
15056 OPC_EmitNodeXForm, 7, 2,
15057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_BU_H),
15058 MVT::v32i8, 3, 42,
15059 21,
15060 OPC_CheckChild0Integer, 59|128,56,
15061 OPC_RecordChild1,
15062 OPC_RecordChild2,
15063 OPC_RecordChild3,
15064 OPC_MoveChild3,
15065 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15066 OPC_MoveParent,
15067 OPC_CheckPatternPredicate0,
15068 OPC_EmitNodeXForm, 7, 2,
15069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_B_H),
15070 MVT::v32i8, 3, 42,
15071 21,
15072 OPC_CheckChild0Integer, 31|128,56,
15073 OPC_RecordChild1,
15074 OPC_RecordChild2,
15075 OPC_RecordChild3,
15076 OPC_MoveChild3,
15077 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15078 OPC_MoveParent,
15079 OPC_CheckPatternPredicate0,
15080 OPC_EmitNodeXForm, 7, 2,
15081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_B_H),
15082 MVT::v32i8, 3, 42,
15083 21,
15084 OPC_CheckChild0Integer, 60|128,56,
15085 OPC_RecordChild1,
15086 OPC_RecordChild2,
15087 OPC_RecordChild3,
15088 OPC_MoveChild3,
15089 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15090 OPC_MoveParent,
15091 OPC_CheckPatternPredicate0,
15092 OPC_EmitNodeXForm, 7, 2,
15093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_BU_H),
15094 MVT::v32i8, 3, 42,
15095 21,
15096 OPC_CheckChild0Integer, 32|128,56,
15097 OPC_RecordChild1,
15098 OPC_RecordChild2,
15099 OPC_RecordChild3,
15100 OPC_MoveChild3,
15101 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15102 OPC_MoveParent,
15103 OPC_CheckPatternPredicate0,
15104 OPC_EmitNodeXForm, 7, 2,
15105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_BU_H),
15106 MVT::v32i8, 3, 42,
15107 21,
15108 OPC_CheckChild0Integer, 127|128,52,
15109 OPC_RecordChild1,
15110 OPC_RecordChild2,
15111 OPC_RecordChild3,
15112 OPC_MoveChild3,
15113 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15114 OPC_MoveParent,
15115 OPC_CheckPatternPredicate0,
15116 OPC_EmitNodeXForm, 7, 2,
15117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_B),
15118 MVT::v32i8, 3, 42,
15119 21,
15120 OPC_CheckChild0Integer, 111|128,51,
15121 OPC_RecordChild1,
15122 OPC_RecordChild2,
15123 OPC_RecordChild3,
15124 OPC_MoveChild3,
15125 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15126 OPC_MoveParent,
15127 OPC_CheckPatternPredicate0,
15128 OPC_EmitNodeXForm, 7, 2,
15129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
15130 MVT::v32i8, 3, 42,
15131 21,
15132 OPC_CheckChild0Integer, 20|128,52,
15133 OPC_RecordChild1,
15134 OPC_RecordChild2,
15135 OPC_RecordChild3,
15136 OPC_MoveChild3,
15137 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15138 OPC_MoveParent,
15139 OPC_CheckPatternPredicate0,
15140 OPC_EmitNodeXForm, 7, 2,
15141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
15142 MVT::v32i8, 3, 42,
15143 21,
15144 OPC_CheckChild0Integer, 78|128,54,
15145 OPC_RecordChild1,
15146 OPC_RecordChild2,
15147 OPC_RecordChild3,
15148 OPC_MoveChild3,
15149 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15150 OPC_MoveParent,
15151 OPC_CheckPatternPredicate0,
15152 OPC_EmitNodeXForm, 7, 2,
15153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
15154 MVT::v32i8, 3, 42,
15155 21,
15156 OPC_CheckChild0Integer, 122|128,55,
15157 OPC_RecordChild1,
15158 OPC_RecordChild2,
15159 OPC_RecordChild3,
15160 OPC_MoveChild3,
15161 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15162 OPC_MoveParent,
15163 OPC_CheckPatternPredicate0,
15164 OPC_EmitNodeXForm, 7, 2,
15165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_H_W),
15166 MVT::v16i16, 3, 42,
15167 21,
15168 OPC_CheckChild0Integer, 92|128,55,
15169 OPC_RecordChild1,
15170 OPC_RecordChild2,
15171 OPC_RecordChild3,
15172 OPC_MoveChild3,
15173 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15174 OPC_MoveParent,
15175 OPC_CheckPatternPredicate0,
15176 OPC_EmitNodeXForm, 7, 2,
15177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_H_W),
15178 MVT::v16i16, 3, 42,
15179 21,
15180 OPC_CheckChild0Integer, 9|128,56,
15181 OPC_RecordChild1,
15182 OPC_RecordChild2,
15183 OPC_RecordChild3,
15184 OPC_MoveChild3,
15185 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15186 OPC_MoveParent,
15187 OPC_CheckPatternPredicate0,
15188 OPC_EmitNodeXForm, 7, 2,
15189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_H_W),
15190 MVT::v16i16, 3, 42,
15191 21,
15192 OPC_CheckChild0Integer, 107|128,55,
15193 OPC_RecordChild1,
15194 OPC_RecordChild2,
15195 OPC_RecordChild3,
15196 OPC_MoveChild3,
15197 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15198 OPC_MoveParent,
15199 OPC_CheckPatternPredicate0,
15200 OPC_EmitNodeXForm, 7, 2,
15201 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_H_W),
15202 MVT::v16i16, 3, 42,
15203 21,
15204 OPC_CheckChild0Integer, 49|128,56,
15205 OPC_RecordChild1,
15206 OPC_RecordChild2,
15207 OPC_RecordChild3,
15208 OPC_MoveChild3,
15209 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15210 OPC_MoveParent,
15211 OPC_CheckPatternPredicate0,
15212 OPC_EmitNodeXForm, 7, 2,
15213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_H_W),
15214 MVT::v16i16, 3, 42,
15215 21,
15216 OPC_CheckChild0Integer, 21|128,56,
15217 OPC_RecordChild1,
15218 OPC_RecordChild2,
15219 OPC_RecordChild3,
15220 OPC_MoveChild3,
15221 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15222 OPC_MoveParent,
15223 OPC_CheckPatternPredicate0,
15224 OPC_EmitNodeXForm, 7, 2,
15225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_H_W),
15226 MVT::v16i16, 3, 42,
15227 21,
15228 OPC_CheckChild0Integer, 50|128,56,
15229 OPC_RecordChild1,
15230 OPC_RecordChild2,
15231 OPC_RecordChild3,
15232 OPC_MoveChild3,
15233 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15234 OPC_MoveParent,
15235 OPC_CheckPatternPredicate0,
15236 OPC_EmitNodeXForm, 7, 2,
15237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_HU_W),
15238 MVT::v16i16, 3, 42,
15239 21,
15240 OPC_CheckChild0Integer, 22|128,56,
15241 OPC_RecordChild1,
15242 OPC_RecordChild2,
15243 OPC_RecordChild3,
15244 OPC_MoveChild3,
15245 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15246 OPC_MoveParent,
15247 OPC_CheckPatternPredicate0,
15248 OPC_EmitNodeXForm, 7, 2,
15249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_HU_W),
15250 MVT::v16i16, 3, 42,
15251 21,
15252 OPC_CheckChild0Integer, 63|128,56,
15253 OPC_RecordChild1,
15254 OPC_RecordChild2,
15255 OPC_RecordChild3,
15256 OPC_MoveChild3,
15257 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15258 OPC_MoveParent,
15259 OPC_CheckPatternPredicate0,
15260 OPC_EmitNodeXForm, 7, 2,
15261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_H_W),
15262 MVT::v16i16, 3, 42,
15263 21,
15264 OPC_CheckChild0Integer, 35|128,56,
15265 OPC_RecordChild1,
15266 OPC_RecordChild2,
15267 OPC_RecordChild3,
15268 OPC_MoveChild3,
15269 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15270 OPC_MoveParent,
15271 OPC_CheckPatternPredicate0,
15272 OPC_EmitNodeXForm, 7, 2,
15273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_H_W),
15274 MVT::v16i16, 3, 42,
15275 21,
15276 OPC_CheckChild0Integer, 64|128,56,
15277 OPC_RecordChild1,
15278 OPC_RecordChild2,
15279 OPC_RecordChild3,
15280 OPC_MoveChild3,
15281 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15282 OPC_MoveParent,
15283 OPC_CheckPatternPredicate0,
15284 OPC_EmitNodeXForm, 7, 2,
15285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_HU_W),
15286 MVT::v16i16, 3, 42,
15287 21,
15288 OPC_CheckChild0Integer, 36|128,56,
15289 OPC_RecordChild1,
15290 OPC_RecordChild2,
15291 OPC_RecordChild3,
15292 OPC_MoveChild3,
15293 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15294 OPC_MoveParent,
15295 OPC_CheckPatternPredicate0,
15296 OPC_EmitNodeXForm, 7, 2,
15297 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_HU_W),
15298 MVT::v16i16, 3, 42,
15299 21,
15300 OPC_CheckChild0Integer, 0|128,53,
15301 OPC_RecordChild1,
15302 OPC_RecordChild2,
15303 OPC_RecordChild3,
15304 OPC_MoveChild3,
15305 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15306 OPC_MoveParent,
15307 OPC_CheckPatternPredicate0,
15308 OPC_EmitNodeXForm, 7, 2,
15309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_H),
15310 MVT::v16i16, 3, 42,
15311 21,
15312 OPC_CheckChild0Integer, 22|128,52,
15313 OPC_RecordChild1,
15314 OPC_RecordChild2,
15315 OPC_RecordChild3,
15316 OPC_MoveChild3,
15317 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15318 OPC_MoveParent,
15319 OPC_CheckPatternPredicate0,
15320 OPC_EmitNodeXForm, 7, 2,
15321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
15322 MVT::v16i16, 3, 42,
15323 21,
15324 OPC_CheckChild0Integer, 123|128,55,
15325 OPC_RecordChild1,
15326 OPC_RecordChild2,
15327 OPC_RecordChild3,
15328 OPC_MoveChild3,
15329 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15330 OPC_MoveParent,
15331 OPC_CheckPatternPredicate0,
15332 OPC_EmitNodeXForm, 7, 2,
15333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_W_D),
15334 MVT::v8i32, 3, 42,
15335 21,
15336 OPC_CheckChild0Integer, 93|128,55,
15337 OPC_RecordChild1,
15338 OPC_RecordChild2,
15339 OPC_RecordChild3,
15340 OPC_MoveChild3,
15341 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15342 OPC_MoveParent,
15343 OPC_CheckPatternPredicate0,
15344 OPC_EmitNodeXForm, 7, 2,
15345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_W_D),
15346 MVT::v8i32, 3, 42,
15347 21,
15348 OPC_CheckChild0Integer, 10|128,56,
15349 OPC_RecordChild1,
15350 OPC_RecordChild2,
15351 OPC_RecordChild3,
15352 OPC_MoveChild3,
15353 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15354 OPC_MoveParent,
15355 OPC_CheckPatternPredicate0,
15356 OPC_EmitNodeXForm, 7, 2,
15357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_W_D),
15358 MVT::v8i32, 3, 42,
15359 21,
15360 OPC_CheckChild0Integer, 108|128,55,
15361 OPC_RecordChild1,
15362 OPC_RecordChild2,
15363 OPC_RecordChild3,
15364 OPC_MoveChild3,
15365 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15366 OPC_MoveParent,
15367 OPC_CheckPatternPredicate0,
15368 OPC_EmitNodeXForm, 7, 2,
15369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_W_D),
15370 MVT::v8i32, 3, 42,
15371 21,
15372 OPC_CheckChild0Integer, 51|128,56,
15373 OPC_RecordChild1,
15374 OPC_RecordChild2,
15375 OPC_RecordChild3,
15376 OPC_MoveChild3,
15377 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15378 OPC_MoveParent,
15379 OPC_CheckPatternPredicate0,
15380 OPC_EmitNodeXForm, 7, 2,
15381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_W_D),
15382 MVT::v8i32, 3, 42,
15383 21,
15384 OPC_CheckChild0Integer, 23|128,56,
15385 OPC_RecordChild1,
15386 OPC_RecordChild2,
15387 OPC_RecordChild3,
15388 OPC_MoveChild3,
15389 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15390 OPC_MoveParent,
15391 OPC_CheckPatternPredicate0,
15392 OPC_EmitNodeXForm, 7, 2,
15393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_W_D),
15394 MVT::v8i32, 3, 42,
15395 21,
15396 OPC_CheckChild0Integer, 52|128,56,
15397 OPC_RecordChild1,
15398 OPC_RecordChild2,
15399 OPC_RecordChild3,
15400 OPC_MoveChild3,
15401 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15402 OPC_MoveParent,
15403 OPC_CheckPatternPredicate0,
15404 OPC_EmitNodeXForm, 7, 2,
15405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_WU_D),
15406 MVT::v8i32, 3, 42,
15407 21,
15408 OPC_CheckChild0Integer, 24|128,56,
15409 OPC_RecordChild1,
15410 OPC_RecordChild2,
15411 OPC_RecordChild3,
15412 OPC_MoveChild3,
15413 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15414 OPC_MoveParent,
15415 OPC_CheckPatternPredicate0,
15416 OPC_EmitNodeXForm, 7, 2,
15417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_WU_D),
15418 MVT::v8i32, 3, 42,
15419 21,
15420 OPC_CheckChild0Integer, 65|128,56,
15421 OPC_RecordChild1,
15422 OPC_RecordChild2,
15423 OPC_RecordChild3,
15424 OPC_MoveChild3,
15425 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15426 OPC_MoveParent,
15427 OPC_CheckPatternPredicate0,
15428 OPC_EmitNodeXForm, 7, 2,
15429 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_W_D),
15430 MVT::v8i32, 3, 42,
15431 21,
15432 OPC_CheckChild0Integer, 37|128,56,
15433 OPC_RecordChild1,
15434 OPC_RecordChild2,
15435 OPC_RecordChild3,
15436 OPC_MoveChild3,
15437 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15438 OPC_MoveParent,
15439 OPC_CheckPatternPredicate0,
15440 OPC_EmitNodeXForm, 7, 2,
15441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_W_D),
15442 MVT::v8i32, 3, 42,
15443 21,
15444 OPC_CheckChild0Integer, 66|128,56,
15445 OPC_RecordChild1,
15446 OPC_RecordChild2,
15447 OPC_RecordChild3,
15448 OPC_MoveChild3,
15449 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15450 OPC_MoveParent,
15451 OPC_CheckPatternPredicate0,
15452 OPC_EmitNodeXForm, 7, 2,
15453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_WU_D),
15454 MVT::v8i32, 3, 42,
15455 21,
15456 OPC_CheckChild0Integer, 38|128,56,
15457 OPC_RecordChild1,
15458 OPC_RecordChild2,
15459 OPC_RecordChild3,
15460 OPC_MoveChild3,
15461 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15462 OPC_MoveParent,
15463 OPC_CheckPatternPredicate0,
15464 OPC_EmitNodeXForm, 7, 2,
15465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_WU_D),
15466 MVT::v8i32, 3, 42,
15467 21,
15468 OPC_CheckChild0Integer, 79|128,54,
15469 OPC_RecordChild1,
15470 OPC_RecordChild2,
15471 OPC_RecordChild3,
15472 OPC_MoveChild3,
15473 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15474 OPC_MoveParent,
15475 OPC_CheckPatternPredicate0,
15476 OPC_EmitNodeXForm, 7, 2,
15477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
15478 MVT::v8i32, 3, 42,
15479 21,
15480 OPC_CheckChild0Integer, 23|128,52,
15481 OPC_RecordChild1,
15482 OPC_RecordChild2,
15483 OPC_RecordChild3,
15484 OPC_MoveChild3,
15485 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15486 OPC_MoveParent,
15487 OPC_CheckPatternPredicate0,
15488 OPC_EmitNodeXForm, 7, 2,
15489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
15490 MVT::v8i32, 3, 42,
15491 21,
15492 OPC_CheckChild0Integer, 61|128,53,
15493 OPC_RecordChild1,
15494 OPC_RecordChild2,
15495 OPC_RecordChild3,
15496 OPC_MoveChild3,
15497 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15498 OPC_MoveParent,
15499 OPC_CheckPatternPredicate0,
15500 OPC_EmitNodeXForm, 7, 2,
15501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
15502 MVT::v8i32, 3, 42,
15503 21,
15504 OPC_CheckChild0Integer, 121|128,55,
15505 OPC_RecordChild1,
15506 OPC_RecordChild2,
15507 OPC_RecordChild3,
15508 OPC_MoveChild3,
15509 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15510 OPC_MoveParent,
15511 OPC_CheckPatternPredicate0,
15512 OPC_EmitNodeXForm, 7, 2,
15513 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_D_Q),
15514 MVT::v4i64, 3, 42,
15515 21,
15516 OPC_CheckChild0Integer, 91|128,55,
15517 OPC_RecordChild1,
15518 OPC_RecordChild2,
15519 OPC_RecordChild3,
15520 OPC_MoveChild3,
15521 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15522 OPC_MoveParent,
15523 OPC_CheckPatternPredicate0,
15524 OPC_EmitNodeXForm, 7, 2,
15525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_D_Q),
15526 MVT::v4i64, 3, 42,
15527 21,
15528 OPC_CheckChild0Integer, 8|128,56,
15529 OPC_RecordChild1,
15530 OPC_RecordChild2,
15531 OPC_RecordChild3,
15532 OPC_MoveChild3,
15533 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15534 OPC_MoveParent,
15535 OPC_CheckPatternPredicate0,
15536 OPC_EmitNodeXForm, 7, 2,
15537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_D_Q),
15538 MVT::v4i64, 3, 42,
15539 21,
15540 OPC_CheckChild0Integer, 106|128,55,
15541 OPC_RecordChild1,
15542 OPC_RecordChild2,
15543 OPC_RecordChild3,
15544 OPC_MoveChild3,
15545 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15546 OPC_MoveParent,
15547 OPC_CheckPatternPredicate0,
15548 OPC_EmitNodeXForm, 7, 2,
15549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_D_Q),
15550 MVT::v4i64, 3, 42,
15551 21,
15552 OPC_CheckChild0Integer, 47|128,56,
15553 OPC_RecordChild1,
15554 OPC_RecordChild2,
15555 OPC_RecordChild3,
15556 OPC_MoveChild3,
15557 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15558 OPC_MoveParent,
15559 OPC_CheckPatternPredicate0,
15560 OPC_EmitNodeXForm, 7, 2,
15561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_D_Q),
15562 MVT::v4i64, 3, 42,
15563 21,
15564 OPC_CheckChild0Integer, 19|128,56,
15565 OPC_RecordChild1,
15566 OPC_RecordChild2,
15567 OPC_RecordChild3,
15568 OPC_MoveChild3,
15569 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15570 OPC_MoveParent,
15571 OPC_CheckPatternPredicate0,
15572 OPC_EmitNodeXForm, 7, 2,
15573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_D_Q),
15574 MVT::v4i64, 3, 42,
15575 21,
15576 OPC_CheckChild0Integer, 48|128,56,
15577 OPC_RecordChild1,
15578 OPC_RecordChild2,
15579 OPC_RecordChild3,
15580 OPC_MoveChild3,
15581 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15582 OPC_MoveParent,
15583 OPC_CheckPatternPredicate0,
15584 OPC_EmitNodeXForm, 7, 2,
15585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_DU_Q),
15586 MVT::v4i64, 3, 42,
15587 21,
15588 OPC_CheckChild0Integer, 20|128,56,
15589 OPC_RecordChild1,
15590 OPC_RecordChild2,
15591 OPC_RecordChild3,
15592 OPC_MoveChild3,
15593 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15594 OPC_MoveParent,
15595 OPC_CheckPatternPredicate0,
15596 OPC_EmitNodeXForm, 7, 2,
15597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_DU_Q),
15598 MVT::v4i64, 3, 42,
15599 21,
15600 OPC_CheckChild0Integer, 61|128,56,
15601 OPC_RecordChild1,
15602 OPC_RecordChild2,
15603 OPC_RecordChild3,
15604 OPC_MoveChild3,
15605 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15606 OPC_MoveParent,
15607 OPC_CheckPatternPredicate0,
15608 OPC_EmitNodeXForm, 7, 2,
15609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_D_Q),
15610 MVT::v4i64, 3, 42,
15611 21,
15612 OPC_CheckChild0Integer, 33|128,56,
15613 OPC_RecordChild1,
15614 OPC_RecordChild2,
15615 OPC_RecordChild3,
15616 OPC_MoveChild3,
15617 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15618 OPC_MoveParent,
15619 OPC_CheckPatternPredicate0,
15620 OPC_EmitNodeXForm, 7, 2,
15621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_D_Q),
15622 MVT::v4i64, 3, 42,
15623 21,
15624 OPC_CheckChild0Integer, 62|128,56,
15625 OPC_RecordChild1,
15626 OPC_RecordChild2,
15627 OPC_RecordChild3,
15628 OPC_MoveChild3,
15629 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15630 OPC_MoveParent,
15631 OPC_CheckPatternPredicate0,
15632 OPC_EmitNodeXForm, 7, 2,
15633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_DU_Q),
15634 MVT::v4i64, 3, 42,
15635 21,
15636 OPC_CheckChild0Integer, 34|128,56,
15637 OPC_RecordChild1,
15638 OPC_RecordChild2,
15639 OPC_RecordChild3,
15640 OPC_MoveChild3,
15641 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15642 OPC_MoveParent,
15643 OPC_CheckPatternPredicate0,
15644 OPC_EmitNodeXForm, 7, 2,
15645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_DU_Q),
15646 MVT::v4i64, 3, 42,
15647 21,
15648 OPC_CheckChild0Integer, 26|128,55,
15649 OPC_RecordChild1,
15650 OPC_RecordChild2,
15651 OPC_RecordChild3,
15652 OPC_MoveChild3,
15653 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15654 OPC_MoveParent,
15655 OPC_CheckPatternPredicate0,
15656 OPC_EmitNodeXForm, 7, 2,
15657 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
15658 MVT::v4i64, 3, 42,
15659 21,
15660 OPC_CheckChild0Integer, 21|128,52,
15661 OPC_RecordChild1,
15662 OPC_RecordChild2,
15663 OPC_RecordChild3,
15664 OPC_MoveChild3,
15665 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15666 OPC_MoveParent,
15667 OPC_CheckPatternPredicate0,
15668 OPC_EmitNodeXForm, 7, 2,
15669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
15670 MVT::v4i64, 3, 42,
15671 21,
15672 OPC_CheckChild0Integer, 60|128,53,
15673 OPC_RecordChild1,
15674 OPC_RecordChild2,
15675 OPC_RecordChild3,
15676 OPC_MoveChild3,
15677 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15678 OPC_MoveParent,
15679 OPC_CheckPatternPredicate0,
15680 OPC_EmitNodeXForm, 7, 2,
15681 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
15682 MVT::v4i64, 3, 42,
15683 12,
15684 OPC_CheckChild0Integer, 79|128,60,
15685 OPC_RecordChild1,
15686 OPC_RecordChild2,
15687 OPC_CheckPatternPredicate1,
15688 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_B),
15689 MVT::v16i8, 2, 9,
15690 12,
15691 OPC_CheckChild0Integer, 80|128,60,
15692 OPC_RecordChild1,
15693 OPC_RecordChild2,
15694 OPC_CheckPatternPredicate1,
15695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_BU),
15696 MVT::v16i8, 2, 9,
15697 12,
15698 OPC_CheckChild0Integer, 21|128,62,
15699 OPC_RecordChild1,
15700 OPC_RecordChild2,
15701 OPC_CheckPatternPredicate1,
15702 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_B),
15703 MVT::v16i8, 2, 9,
15704 12,
15705 OPC_CheckChild0Integer, 22|128,62,
15706 OPC_RecordChild1,
15707 OPC_RecordChild2,
15708 OPC_CheckPatternPredicate1,
15709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_BU),
15710 MVT::v16i8, 2, 9,
15711 12,
15712 OPC_CheckChild0Integer, 126|128,58,
15713 OPC_RecordChild1,
15714 OPC_RecordChild2,
15715 OPC_CheckPatternPredicate1,
15716 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_H_B),
15717 MVT::v8i16, 2, 9,
15718 12,
15719 OPC_CheckChild0Integer, 127|128,58,
15720 OPC_RecordChild1,
15721 OPC_RecordChild2,
15722 OPC_CheckPatternPredicate1,
15723 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_HU_BU),
15724 MVT::v8i16, 2, 9,
15725 12,
15726 OPC_CheckChild0Integer, 6|128,59,
15727 OPC_RecordChild1,
15728 OPC_RecordChild2,
15729 OPC_CheckPatternPredicate1,
15730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_H_B),
15731 MVT::v8i16, 2, 9,
15732 12,
15733 OPC_CheckChild0Integer, 7|128,59,
15734 OPC_RecordChild1,
15735 OPC_RecordChild2,
15736 OPC_CheckPatternPredicate1,
15737 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_HU_BU),
15738 MVT::v8i16, 2, 9,
15739 12,
15740 OPC_CheckChild0Integer, 16|128,57,
15741 OPC_RecordChild1,
15742 OPC_RecordChild2,
15743 OPC_CheckPatternPredicate1,
15744 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_B),
15745 MVT::v8i16, 2, 9,
15746 12,
15747 OPC_CheckChild0Integer, 28|128,57,
15748 OPC_RecordChild1,
15749 OPC_RecordChild2,
15750 OPC_CheckPatternPredicate1,
15751 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_B),
15752 MVT::v8i16, 2, 9,
15753 12,
15754 OPC_CheckChild0Integer, 46|128,62,
15755 OPC_RecordChild1,
15756 OPC_RecordChild2,
15757 OPC_CheckPatternPredicate1,
15758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_B),
15759 MVT::v8i16, 2, 9,
15760 12,
15761 OPC_CheckChild0Integer, 54|128,62,
15762 OPC_RecordChild1,
15763 OPC_RecordChild2,
15764 OPC_CheckPatternPredicate1,
15765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_B),
15766 MVT::v8i16, 2, 9,
15767 12,
15768 OPC_CheckChild0Integer, 17|128,57,
15769 OPC_RecordChild1,
15770 OPC_RecordChild2,
15771 OPC_CheckPatternPredicate1,
15772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU),
15773 MVT::v8i16, 2, 9,
15774 12,
15775 OPC_CheckChild0Integer, 29|128,57,
15776 OPC_RecordChild1,
15777 OPC_RecordChild2,
15778 OPC_CheckPatternPredicate1,
15779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU),
15780 MVT::v8i16, 2, 9,
15781 12,
15782 OPC_CheckChild0Integer, 47|128,62,
15783 OPC_RecordChild1,
15784 OPC_RecordChild2,
15785 OPC_CheckPatternPredicate1,
15786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_BU),
15787 MVT::v8i16, 2, 9,
15788 12,
15789 OPC_CheckChild0Integer, 55|128,62,
15790 OPC_RecordChild1,
15791 OPC_RecordChild2,
15792 OPC_CheckPatternPredicate1,
15793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_BU),
15794 MVT::v8i16, 2, 9,
15795 12,
15796 OPC_CheckChild0Integer, 18|128,57,
15797 OPC_RecordChild1,
15798 OPC_RecordChild2,
15799 OPC_CheckPatternPredicate1,
15800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU_B),
15801 MVT::v8i16, 2, 9,
15802 12,
15803 OPC_CheckChild0Integer, 30|128,57,
15804 OPC_RecordChild1,
15805 OPC_RecordChild2,
15806 OPC_CheckPatternPredicate1,
15807 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU_B),
15808 MVT::v8i16, 2, 9,
15809 12,
15810 OPC_CheckChild0Integer, 40|128,57,
15811 OPC_RecordChild1,
15812 OPC_RecordChild2,
15813 OPC_CheckPatternPredicate1,
15814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_B),
15815 MVT::v16i8, 2, 9,
15816 12,
15817 OPC_CheckChild0Integer, 41|128,57,
15818 OPC_RecordChild1,
15819 OPC_RecordChild2,
15820 OPC_CheckPatternPredicate1,
15821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_BU),
15822 MVT::v16i8, 2, 9,
15823 12,
15824 OPC_CheckChild0Integer, 48|128,57,
15825 OPC_RecordChild1,
15826 OPC_RecordChild2,
15827 OPC_CheckPatternPredicate1,
15828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_B),
15829 MVT::v16i8, 2, 9,
15830 12,
15831 OPC_CheckChild0Integer, 49|128,57,
15832 OPC_RecordChild1,
15833 OPC_RecordChild2,
15834 OPC_CheckPatternPredicate1,
15835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_BU),
15836 MVT::v16i8, 2, 9,
15837 12,
15838 OPC_CheckChild0Integer, 120|128,56,
15839 OPC_RecordChild1,
15840 OPC_RecordChild2,
15841 OPC_CheckPatternPredicate1,
15842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_B),
15843 MVT::v16i8, 2, 9,
15844 12,
15845 OPC_CheckChild0Integer, 121|128,56,
15846 OPC_RecordChild1,
15847 OPC_RecordChild2,
15848 OPC_CheckPatternPredicate1,
15849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_BU),
15850 MVT::v16i8, 2, 9,
15851 12,
15852 OPC_CheckChild0Integer, 5|128,57,
15853 OPC_RecordChild1,
15854 OPC_RecordChild2,
15855 OPC_CheckPatternPredicate1,
15856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_B),
15857 MVT::v16i8, 2, 9,
15858 12,
15859 OPC_CheckChild0Integer, 109|128,59,
15860 OPC_RecordChild1,
15861 OPC_RecordChild2,
15862 OPC_CheckPatternPredicate1,
15863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
15864 MVT::v16i8, 2, 9,
15865 12,
15866 OPC_CheckChild0Integer, 110|128,59,
15867 OPC_RecordChild1,
15868 OPC_RecordChild2,
15869 OPC_CheckPatternPredicate1,
15870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
15871 MVT::v16i8, 2, 9,
15872 12,
15873 OPC_CheckChild0Integer, 124|128,59,
15874 OPC_RecordChild1,
15875 OPC_RecordChild2,
15876 OPC_CheckPatternPredicate1,
15877 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_B),
15878 MVT::v8i16, 2, 9,
15879 12,
15880 OPC_CheckChild0Integer, 8|128,60,
15881 OPC_RecordChild1,
15882 OPC_RecordChild2,
15883 OPC_CheckPatternPredicate1,
15884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_B),
15885 MVT::v8i16, 2, 9,
15886 12,
15887 OPC_CheckChild0Integer, 125|128,59,
15888 OPC_RecordChild1,
15889 OPC_RecordChild2,
15890 OPC_CheckPatternPredicate1,
15891 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU),
15892 MVT::v8i16, 2, 9,
15893 12,
15894 OPC_CheckChild0Integer, 9|128,60,
15895 OPC_RecordChild1,
15896 OPC_RecordChild2,
15897 OPC_CheckPatternPredicate1,
15898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU),
15899 MVT::v8i16, 2, 9,
15900 12,
15901 OPC_CheckChild0Integer, 126|128,59,
15902 OPC_RecordChild1,
15903 OPC_RecordChild2,
15904 OPC_CheckPatternPredicate1,
15905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU_B),
15906 MVT::v8i16, 2, 9,
15907 12,
15908 OPC_CheckChild0Integer, 10|128,60,
15909 OPC_RecordChild1,
15910 OPC_RecordChild2,
15911 OPC_CheckPatternPredicate1,
15912 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU_B),
15913 MVT::v8i16, 2, 9,
15914 12,
15915 OPC_CheckChild0Integer, 111|128,60,
15916 OPC_RecordChild1,
15917 OPC_RecordChild2,
15918 OPC_CheckPatternPredicate1,
15919 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_B),
15920 MVT::v16i8, 2, 9,
15921 12,
15922 OPC_CheckChild0Integer, 39|128,57,
15923 OPC_RecordChild1,
15924 OPC_RecordChild2,
15925 OPC_CheckPatternPredicate1,
15926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
15927 MVT::v16i8, 2, 9,
15928 12,
15929 OPC_CheckChild0Integer, 25|128,60,
15930 OPC_RecordChild1,
15931 OPC_RecordChild2,
15932 OPC_CheckPatternPredicate1,
15933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
15934 MVT::v16i8, 2, 9,
15935 12,
15936 OPC_CheckChild0Integer, 71|128,60,
15937 OPC_RecordChild1,
15938 OPC_RecordChild2,
15939 OPC_CheckPatternPredicate1,
15940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
15941 MVT::v16i8, 2, 9,
15942 12,
15943 OPC_CheckChild0Integer, 78|128,61,
15944 OPC_RecordChild1,
15945 OPC_RecordChild2,
15946 OPC_CheckPatternPredicate1,
15947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_B),
15948 MVT::v16i8, 2, 9,
15949 12,
15950 OPC_CheckChild0Integer, 48|128,61,
15951 OPC_RecordChild1,
15952 OPC_RecordChild2,
15953 OPC_CheckPatternPredicate1,
15954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_B),
15955 MVT::v16i8, 2, 9,
15956 12,
15957 OPC_CheckChild0Integer, 95|128,60,
15958 OPC_RecordChild1,
15959 OPC_RecordChild2,
15960 OPC_CheckPatternPredicate1,
15961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
15962 MVT::v16i8, 2, 9,
15963 12,
15964 OPC_CheckChild0Integer, 115|128,60,
15965 OPC_RecordChild1,
15966 OPC_RecordChild2,
15967 OPC_CheckPatternPredicate1,
15968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
15969 MVT::v16i8, 2, 9,
15970 12,
15971 OPC_CheckChild0Integer, 116|128,60,
15972 OPC_RecordChild1,
15973 OPC_RecordChild2,
15974 OPC_CheckPatternPredicate1,
15975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
15976 MVT::v16i8, 2, 9,
15977 12,
15978 OPC_CheckChild0Integer, 17|128,61,
15979 OPC_RecordChild1,
15980 OPC_RecordChild2,
15981 OPC_CheckPatternPredicate1,
15982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
15983 MVT::v16i8, 2, 9,
15984 12,
15985 OPC_CheckChild0Integer, 18|128,61,
15986 OPC_RecordChild1,
15987 OPC_RecordChild2,
15988 OPC_CheckPatternPredicate1,
15989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
15990 MVT::v16i8, 2, 9,
15991 12,
15992 OPC_CheckChild0Integer, 26|128,60,
15993 OPC_RecordChild1,
15994 OPC_RecordChild2,
15995 OPC_CheckPatternPredicate1,
15996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_B),
15997 MVT::v16i8, 2, 9,
15998 12,
15999 OPC_CheckChild0Integer, 30|128,60,
16000 OPC_RecordChild1,
16001 OPC_RecordChild2,
16002 OPC_CheckPatternPredicate1,
16003 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_B),
16004 MVT::v16i8, 2, 9,
16005 12,
16006 OPC_CheckChild0Integer, 39|128,60,
16007 OPC_RecordChild1,
16008 OPC_RecordChild2,
16009 OPC_CheckPatternPredicate1,
16010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_B),
16011 MVT::v16i8, 2, 9,
16012 12,
16013 OPC_CheckChild0Integer, 43|128,60,
16014 OPC_RecordChild1,
16015 OPC_RecordChild2,
16016 OPC_CheckPatternPredicate1,
16017 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_B),
16018 MVT::v16i8, 2, 9,
16019 12,
16020 OPC_CheckChild0Integer, 16|128,59,
16021 OPC_RecordChild1,
16022 OPC_RecordChild2,
16023 OPC_CheckPatternPredicate1,
16024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_B),
16025 MVT::v16i8, 2, 9,
16026 12,
16027 OPC_CheckChild0Integer, 12|128,59,
16028 OPC_RecordChild1,
16029 OPC_RecordChild2,
16030 OPC_CheckPatternPredicate1,
16031 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_B),
16032 MVT::v16i8, 2, 9,
16033 12,
16034 OPC_CheckChild0Integer, 83|128,60,
16035 OPC_RecordChild1,
16036 OPC_RecordChild2,
16037 OPC_CheckPatternPredicate1,
16038 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_H),
16039 MVT::v8i16, 2, 9,
16040 12,
16041 OPC_CheckChild0Integer, 84|128,60,
16042 OPC_RecordChild1,
16043 OPC_RecordChild2,
16044 OPC_CheckPatternPredicate1,
16045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_HU),
16046 MVT::v8i16, 2, 9,
16047 12,
16048 OPC_CheckChild0Integer, 25|128,62,
16049 OPC_RecordChild1,
16050 OPC_RecordChild2,
16051 OPC_CheckPatternPredicate1,
16052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_H),
16053 MVT::v8i16, 2, 9,
16054 12,
16055 OPC_CheckChild0Integer, 26|128,62,
16056 OPC_RecordChild1,
16057 OPC_RecordChild2,
16058 OPC_CheckPatternPredicate1,
16059 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_HU),
16060 MVT::v8i16, 2, 9,
16061 12,
16062 OPC_CheckChild0Integer, 2|128,59,
16063 OPC_RecordChild1,
16064 OPC_RecordChild2,
16065 OPC_CheckPatternPredicate1,
16066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_W_H),
16067 MVT::v4i32, 2, 9,
16068 12,
16069 OPC_CheckChild0Integer, 3|128,59,
16070 OPC_RecordChild1,
16071 OPC_RecordChild2,
16072 OPC_CheckPatternPredicate1,
16073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_WU_HU),
16074 MVT::v4i32, 2, 9,
16075 12,
16076 OPC_CheckChild0Integer, 10|128,59,
16077 OPC_RecordChild1,
16078 OPC_RecordChild2,
16079 OPC_CheckPatternPredicate1,
16080 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_W_H),
16081 MVT::v4i32, 2, 9,
16082 12,
16083 OPC_CheckChild0Integer, 11|128,59,
16084 OPC_RecordChild1,
16085 OPC_RecordChild2,
16086 OPC_CheckPatternPredicate1,
16087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_WU_HU),
16088 MVT::v4i32, 2, 9,
16089 12,
16090 OPC_CheckChild0Integer, 22|128,57,
16091 OPC_RecordChild1,
16092 OPC_RecordChild2,
16093 OPC_CheckPatternPredicate1,
16094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_H),
16095 MVT::v4i32, 2, 9,
16096 12,
16097 OPC_CheckChild0Integer, 34|128,57,
16098 OPC_RecordChild1,
16099 OPC_RecordChild2,
16100 OPC_CheckPatternPredicate1,
16101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_H),
16102 MVT::v4i32, 2, 9,
16103 12,
16104 OPC_CheckChild0Integer, 50|128,62,
16105 OPC_RecordChild1,
16106 OPC_RecordChild2,
16107 OPC_CheckPatternPredicate1,
16108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_H),
16109 MVT::v4i32, 2, 9,
16110 12,
16111 OPC_CheckChild0Integer, 58|128,62,
16112 OPC_RecordChild1,
16113 OPC_RecordChild2,
16114 OPC_CheckPatternPredicate1,
16115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_H),
16116 MVT::v4i32, 2, 9,
16117 12,
16118 OPC_CheckChild0Integer, 23|128,57,
16119 OPC_RecordChild1,
16120 OPC_RecordChild2,
16121 OPC_CheckPatternPredicate1,
16122 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU),
16123 MVT::v4i32, 2, 9,
16124 12,
16125 OPC_CheckChild0Integer, 35|128,57,
16126 OPC_RecordChild1,
16127 OPC_RecordChild2,
16128 OPC_CheckPatternPredicate1,
16129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU),
16130 MVT::v4i32, 2, 9,
16131 12,
16132 OPC_CheckChild0Integer, 51|128,62,
16133 OPC_RecordChild1,
16134 OPC_RecordChild2,
16135 OPC_CheckPatternPredicate1,
16136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_HU),
16137 MVT::v4i32, 2, 9,
16138 12,
16139 OPC_CheckChild0Integer, 59|128,62,
16140 OPC_RecordChild1,
16141 OPC_RecordChild2,
16142 OPC_CheckPatternPredicate1,
16143 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_HU),
16144 MVT::v4i32, 2, 9,
16145 12,
16146 OPC_CheckChild0Integer, 24|128,57,
16147 OPC_RecordChild1,
16148 OPC_RecordChild2,
16149 OPC_CheckPatternPredicate1,
16150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU_H),
16151 MVT::v4i32, 2, 9,
16152 12,
16153 OPC_CheckChild0Integer, 36|128,57,
16154 OPC_RecordChild1,
16155 OPC_RecordChild2,
16156 OPC_CheckPatternPredicate1,
16157 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU_H),
16158 MVT::v4i32, 2, 9,
16159 12,
16160 OPC_CheckChild0Integer, 44|128,57,
16161 OPC_RecordChild1,
16162 OPC_RecordChild2,
16163 OPC_CheckPatternPredicate1,
16164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_H),
16165 MVT::v8i16, 2, 9,
16166 12,
16167 OPC_CheckChild0Integer, 45|128,57,
16168 OPC_RecordChild1,
16169 OPC_RecordChild2,
16170 OPC_CheckPatternPredicate1,
16171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_HU),
16172 MVT::v8i16, 2, 9,
16173 12,
16174 OPC_CheckChild0Integer, 52|128,57,
16175 OPC_RecordChild1,
16176 OPC_RecordChild2,
16177 OPC_CheckPatternPredicate1,
16178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_H),
16179 MVT::v8i16, 2, 9,
16180 12,
16181 OPC_CheckChild0Integer, 53|128,57,
16182 OPC_RecordChild1,
16183 OPC_RecordChild2,
16184 OPC_CheckPatternPredicate1,
16185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_HU),
16186 MVT::v8i16, 2, 9,
16187 12,
16188 OPC_CheckChild0Integer, 124|128,56,
16189 OPC_RecordChild1,
16190 OPC_RecordChild2,
16191 OPC_CheckPatternPredicate1,
16192 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_H),
16193 MVT::v8i16, 2, 9,
16194 12,
16195 OPC_CheckChild0Integer, 125|128,56,
16196 OPC_RecordChild1,
16197 OPC_RecordChild2,
16198 OPC_CheckPatternPredicate1,
16199 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_HU),
16200 MVT::v8i16, 2, 9,
16201 12,
16202 OPC_CheckChild0Integer, 7|128,57,
16203 OPC_RecordChild1,
16204 OPC_RecordChild2,
16205 OPC_CheckPatternPredicate1,
16206 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_H),
16207 MVT::v8i16, 2, 9,
16208 12,
16209 OPC_CheckChild0Integer, 113|128,59,
16210 OPC_RecordChild1,
16211 OPC_RecordChild2,
16212 OPC_CheckPatternPredicate1,
16213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
16214 MVT::v8i16, 2, 9,
16215 12,
16216 OPC_CheckChild0Integer, 114|128,59,
16217 OPC_RecordChild1,
16218 OPC_RecordChild2,
16219 OPC_CheckPatternPredicate1,
16220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
16221 MVT::v8i16, 2, 9,
16222 12,
16223 OPC_CheckChild0Integer, 2|128,60,
16224 OPC_RecordChild1,
16225 OPC_RecordChild2,
16226 OPC_CheckPatternPredicate1,
16227 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_H),
16228 MVT::v4i32, 2, 9,
16229 12,
16230 OPC_CheckChild0Integer, 14|128,60,
16231 OPC_RecordChild1,
16232 OPC_RecordChild2,
16233 OPC_CheckPatternPredicate1,
16234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_H),
16235 MVT::v4i32, 2, 9,
16236 12,
16237 OPC_CheckChild0Integer, 3|128,60,
16238 OPC_RecordChild1,
16239 OPC_RecordChild2,
16240 OPC_CheckPatternPredicate1,
16241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU),
16242 MVT::v4i32, 2, 9,
16243 12,
16244 OPC_CheckChild0Integer, 15|128,60,
16245 OPC_RecordChild1,
16246 OPC_RecordChild2,
16247 OPC_CheckPatternPredicate1,
16248 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU),
16249 MVT::v4i32, 2, 9,
16250 12,
16251 OPC_CheckChild0Integer, 4|128,60,
16252 OPC_RecordChild1,
16253 OPC_RecordChild2,
16254 OPC_CheckPatternPredicate1,
16255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU_H),
16256 MVT::v4i32, 2, 9,
16257 12,
16258 OPC_CheckChild0Integer, 16|128,60,
16259 OPC_RecordChild1,
16260 OPC_RecordChild2,
16261 OPC_CheckPatternPredicate1,
16262 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU_H),
16263 MVT::v4i32, 2, 9,
16264 12,
16265 OPC_CheckChild0Integer, 113|128,60,
16266 OPC_RecordChild1,
16267 OPC_RecordChild2,
16268 OPC_CheckPatternPredicate1,
16269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_H),
16270 MVT::v8i16, 2, 9,
16271 12,
16272 OPC_CheckChild0Integer, 73|128,60,
16273 OPC_RecordChild1,
16274 OPC_RecordChild2,
16275 OPC_CheckPatternPredicate1,
16276 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
16277 MVT::v8i16, 2, 9,
16278 12,
16279 OPC_CheckChild0Integer, 80|128,61,
16280 OPC_RecordChild1,
16281 OPC_RecordChild2,
16282 OPC_CheckPatternPredicate1,
16283 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_H),
16284 MVT::v8i16, 2, 9,
16285 12,
16286 OPC_CheckChild0Integer, 50|128,61,
16287 OPC_RecordChild1,
16288 OPC_RecordChild2,
16289 OPC_CheckPatternPredicate1,
16290 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_H),
16291 MVT::v8i16, 2, 9,
16292 12,
16293 OPC_CheckChild0Integer, 71|128,61,
16294 OPC_RecordChild1,
16295 OPC_RecordChild2,
16296 OPC_CheckPatternPredicate1,
16297 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_B_H),
16298 MVT::v16i8, 2, 9,
16299 12,
16300 OPC_CheckChild0Integer, 41|128,61,
16301 OPC_RecordChild1,
16302 OPC_RecordChild2,
16303 OPC_CheckPatternPredicate1,
16304 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_B_H),
16305 MVT::v16i8, 2, 9,
16306 12,
16307 OPC_CheckChild0Integer, 86|128,61,
16308 OPC_RecordChild1,
16309 OPC_RecordChild2,
16310 OPC_CheckPatternPredicate1,
16311 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_B_H),
16312 MVT::v16i8, 2, 9,
16313 12,
16314 OPC_CheckChild0Integer, 56|128,61,
16315 OPC_RecordChild1,
16316 OPC_RecordChild2,
16317 OPC_CheckPatternPredicate1,
16318 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_B_H),
16319 MVT::v16i8, 2, 9,
16320 12,
16321 OPC_CheckChild0Integer, 121|128,61,
16322 OPC_RecordChild1,
16323 OPC_RecordChild2,
16324 OPC_CheckPatternPredicate1,
16325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_B_H),
16326 MVT::v16i8, 2, 9,
16327 12,
16328 OPC_CheckChild0Integer, 93|128,61,
16329 OPC_RecordChild1,
16330 OPC_RecordChild2,
16331 OPC_CheckPatternPredicate1,
16332 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_B_H),
16333 MVT::v16i8, 2, 9,
16334 12,
16335 OPC_CheckChild0Integer, 122|128,61,
16336 OPC_RecordChild1,
16337 OPC_RecordChild2,
16338 OPC_CheckPatternPredicate1,
16339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_BU_H),
16340 MVT::v16i8, 2, 9,
16341 12,
16342 OPC_CheckChild0Integer, 94|128,61,
16343 OPC_RecordChild1,
16344 OPC_RecordChild2,
16345 OPC_CheckPatternPredicate1,
16346 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_BU_H),
16347 MVT::v16i8, 2, 9,
16348 12,
16349 OPC_CheckChild0Integer, 7|128,62,
16350 OPC_RecordChild1,
16351 OPC_RecordChild2,
16352 OPC_CheckPatternPredicate1,
16353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_B_H),
16354 MVT::v16i8, 2, 9,
16355 12,
16356 OPC_CheckChild0Integer, 107|128,61,
16357 OPC_RecordChild1,
16358 OPC_RecordChild2,
16359 OPC_CheckPatternPredicate1,
16360 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_B_H),
16361 MVT::v16i8, 2, 9,
16362 12,
16363 OPC_CheckChild0Integer, 8|128,62,
16364 OPC_RecordChild1,
16365 OPC_RecordChild2,
16366 OPC_CheckPatternPredicate1,
16367 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_BU_H),
16368 MVT::v16i8, 2, 9,
16369 12,
16370 OPC_CheckChild0Integer, 108|128,61,
16371 OPC_RecordChild1,
16372 OPC_RecordChild2,
16373 OPC_CheckPatternPredicate1,
16374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_BU_H),
16375 MVT::v16i8, 2, 9,
16376 12,
16377 OPC_CheckChild0Integer, 97|128,60,
16378 OPC_RecordChild1,
16379 OPC_RecordChild2,
16380 OPC_CheckPatternPredicate1,
16381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
16382 MVT::v8i16, 2, 9,
16383 12,
16384 OPC_CheckChild0Integer, 119|128,60,
16385 OPC_RecordChild1,
16386 OPC_RecordChild2,
16387 OPC_CheckPatternPredicate1,
16388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
16389 MVT::v8i16, 2, 9,
16390 12,
16391 OPC_CheckChild0Integer, 120|128,60,
16392 OPC_RecordChild1,
16393 OPC_RecordChild2,
16394 OPC_CheckPatternPredicate1,
16395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
16396 MVT::v8i16, 2, 9,
16397 12,
16398 OPC_CheckChild0Integer, 21|128,61,
16399 OPC_RecordChild1,
16400 OPC_RecordChild2,
16401 OPC_CheckPatternPredicate1,
16402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
16403 MVT::v8i16, 2, 9,
16404 12,
16405 OPC_CheckChild0Integer, 22|128,61,
16406 OPC_RecordChild1,
16407 OPC_RecordChild2,
16408 OPC_CheckPatternPredicate1,
16409 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
16410 MVT::v8i16, 2, 9,
16411 12,
16412 OPC_CheckChild0Integer, 28|128,60,
16413 OPC_RecordChild1,
16414 OPC_RecordChild2,
16415 OPC_CheckPatternPredicate1,
16416 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_H),
16417 MVT::v8i16, 2, 9,
16418 12,
16419 OPC_CheckChild0Integer, 32|128,60,
16420 OPC_RecordChild1,
16421 OPC_RecordChild2,
16422 OPC_CheckPatternPredicate1,
16423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_H),
16424 MVT::v8i16, 2, 9,
16425 12,
16426 OPC_CheckChild0Integer, 41|128,60,
16427 OPC_RecordChild1,
16428 OPC_RecordChild2,
16429 OPC_CheckPatternPredicate1,
16430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_H),
16431 MVT::v8i16, 2, 9,
16432 12,
16433 OPC_CheckChild0Integer, 45|128,60,
16434 OPC_RecordChild1,
16435 OPC_RecordChild2,
16436 OPC_CheckPatternPredicate1,
16437 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_H),
16438 MVT::v8i16, 2, 9,
16439 12,
16440 OPC_CheckChild0Integer, 18|128,59,
16441 OPC_RecordChild1,
16442 OPC_RecordChild2,
16443 OPC_CheckPatternPredicate1,
16444 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_H),
16445 MVT::v8i16, 2, 9,
16446 12,
16447 OPC_CheckChild0Integer, 14|128,59,
16448 OPC_RecordChild1,
16449 OPC_RecordChild2,
16450 OPC_CheckPatternPredicate1,
16451 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_H),
16452 MVT::v8i16, 2, 9,
16453 12,
16454 OPC_CheckChild0Integer, 85|128,60,
16455 OPC_RecordChild1,
16456 OPC_RecordChild2,
16457 OPC_CheckPatternPredicate1,
16458 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_W),
16459 MVT::v4i32, 2, 9,
16460 12,
16461 OPC_CheckChild0Integer, 86|128,60,
16462 OPC_RecordChild1,
16463 OPC_RecordChild2,
16464 OPC_CheckPatternPredicate1,
16465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_WU),
16466 MVT::v4i32, 2, 9,
16467 12,
16468 OPC_CheckChild0Integer, 27|128,62,
16469 OPC_RecordChild1,
16470 OPC_RecordChild2,
16471 OPC_CheckPatternPredicate1,
16472 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_W),
16473 MVT::v4i32, 2, 9,
16474 12,
16475 OPC_CheckChild0Integer, 28|128,62,
16476 OPC_RecordChild1,
16477 OPC_RecordChild2,
16478 OPC_CheckPatternPredicate1,
16479 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_WU),
16480 MVT::v4i32, 2, 9,
16481 12,
16482 OPC_CheckChild0Integer, 124|128,58,
16483 OPC_RecordChild1,
16484 OPC_RecordChild2,
16485 OPC_CheckPatternPredicate1,
16486 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_D_W),
16487 MVT::v2i64, 2, 9,
16488 12,
16489 OPC_CheckChild0Integer, 125|128,58,
16490 OPC_RecordChild1,
16491 OPC_RecordChild2,
16492 OPC_CheckPatternPredicate1,
16493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_DU_WU),
16494 MVT::v2i64, 2, 9,
16495 12,
16496 OPC_CheckChild0Integer, 4|128,59,
16497 OPC_RecordChild1,
16498 OPC_RecordChild2,
16499 OPC_CheckPatternPredicate1,
16500 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_D_W),
16501 MVT::v2i64, 2, 9,
16502 12,
16503 OPC_CheckChild0Integer, 5|128,59,
16504 OPC_RecordChild1,
16505 OPC_RecordChild2,
16506 OPC_CheckPatternPredicate1,
16507 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_DU_WU),
16508 MVT::v2i64, 2, 9,
16509 12,
16510 OPC_CheckChild0Integer, 13|128,57,
16511 OPC_RecordChild1,
16512 OPC_RecordChild2,
16513 OPC_CheckPatternPredicate1,
16514 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_W),
16515 MVT::v2i64, 2, 9,
16516 12,
16517 OPC_CheckChild0Integer, 25|128,57,
16518 OPC_RecordChild1,
16519 OPC_RecordChild2,
16520 OPC_CheckPatternPredicate1,
16521 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_W),
16522 MVT::v2i64, 2, 9,
16523 12,
16524 OPC_CheckChild0Integer, 44|128,62,
16525 OPC_RecordChild1,
16526 OPC_RecordChild2,
16527 OPC_CheckPatternPredicate1,
16528 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_W),
16529 MVT::v2i64, 2, 9,
16530 12,
16531 OPC_CheckChild0Integer, 52|128,62,
16532 OPC_RecordChild1,
16533 OPC_RecordChild2,
16534 OPC_CheckPatternPredicate1,
16535 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_W),
16536 MVT::v2i64, 2, 9,
16537 12,
16538 OPC_CheckChild0Integer, 14|128,57,
16539 OPC_RecordChild1,
16540 OPC_RecordChild2,
16541 OPC_CheckPatternPredicate1,
16542 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU),
16543 MVT::v2i64, 2, 9,
16544 12,
16545 OPC_CheckChild0Integer, 26|128,57,
16546 OPC_RecordChild1,
16547 OPC_RecordChild2,
16548 OPC_CheckPatternPredicate1,
16549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU),
16550 MVT::v2i64, 2, 9,
16551 12,
16552 OPC_CheckChild0Integer, 45|128,62,
16553 OPC_RecordChild1,
16554 OPC_RecordChild2,
16555 OPC_CheckPatternPredicate1,
16556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_WU),
16557 MVT::v2i64, 2, 9,
16558 12,
16559 OPC_CheckChild0Integer, 53|128,62,
16560 OPC_RecordChild1,
16561 OPC_RecordChild2,
16562 OPC_CheckPatternPredicate1,
16563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_WU),
16564 MVT::v2i64, 2, 9,
16565 12,
16566 OPC_CheckChild0Integer, 15|128,57,
16567 OPC_RecordChild1,
16568 OPC_RecordChild2,
16569 OPC_CheckPatternPredicate1,
16570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU_W),
16571 MVT::v2i64, 2, 9,
16572 12,
16573 OPC_CheckChild0Integer, 27|128,57,
16574 OPC_RecordChild1,
16575 OPC_RecordChild2,
16576 OPC_CheckPatternPredicate1,
16577 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU_W),
16578 MVT::v2i64, 2, 9,
16579 12,
16580 OPC_CheckChild0Integer, 46|128,57,
16581 OPC_RecordChild1,
16582 OPC_RecordChild2,
16583 OPC_CheckPatternPredicate1,
16584 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_W),
16585 MVT::v4i32, 2, 9,
16586 12,
16587 OPC_CheckChild0Integer, 47|128,57,
16588 OPC_RecordChild1,
16589 OPC_RecordChild2,
16590 OPC_CheckPatternPredicate1,
16591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_WU),
16592 MVT::v4i32, 2, 9,
16593 12,
16594 OPC_CheckChild0Integer, 54|128,57,
16595 OPC_RecordChild1,
16596 OPC_RecordChild2,
16597 OPC_CheckPatternPredicate1,
16598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_W),
16599 MVT::v4i32, 2, 9,
16600 12,
16601 OPC_CheckChild0Integer, 55|128,57,
16602 OPC_RecordChild1,
16603 OPC_RecordChild2,
16604 OPC_CheckPatternPredicate1,
16605 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_WU),
16606 MVT::v4i32, 2, 9,
16607 12,
16608 OPC_CheckChild0Integer, 126|128,56,
16609 OPC_RecordChild1,
16610 OPC_RecordChild2,
16611 OPC_CheckPatternPredicate1,
16612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_W),
16613 MVT::v4i32, 2, 9,
16614 12,
16615 OPC_CheckChild0Integer, 127|128,56,
16616 OPC_RecordChild1,
16617 OPC_RecordChild2,
16618 OPC_CheckPatternPredicate1,
16619 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_WU),
16620 MVT::v4i32, 2, 9,
16621 12,
16622 OPC_CheckChild0Integer, 8|128,57,
16623 OPC_RecordChild1,
16624 OPC_RecordChild2,
16625 OPC_CheckPatternPredicate1,
16626 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_W),
16627 MVT::v4i32, 2, 9,
16628 12,
16629 OPC_CheckChild0Integer, 115|128,59,
16630 OPC_RecordChild1,
16631 OPC_RecordChild2,
16632 OPC_CheckPatternPredicate1,
16633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
16634 MVT::v4i32, 2, 9,
16635 12,
16636 OPC_CheckChild0Integer, 116|128,59,
16637 OPC_RecordChild1,
16638 OPC_RecordChild2,
16639 OPC_CheckPatternPredicate1,
16640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
16641 MVT::v4i32, 2, 9,
16642 12,
16643 OPC_CheckChild0Integer, 121|128,59,
16644 OPC_RecordChild1,
16645 OPC_RecordChild2,
16646 OPC_CheckPatternPredicate1,
16647 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_W),
16648 MVT::v2i64, 2, 9,
16649 12,
16650 OPC_CheckChild0Integer, 5|128,60,
16651 OPC_RecordChild1,
16652 OPC_RecordChild2,
16653 OPC_CheckPatternPredicate1,
16654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_W),
16655 MVT::v2i64, 2, 9,
16656 12,
16657 OPC_CheckChild0Integer, 122|128,59,
16658 OPC_RecordChild1,
16659 OPC_RecordChild2,
16660 OPC_CheckPatternPredicate1,
16661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU),
16662 MVT::v2i64, 2, 9,
16663 12,
16664 OPC_CheckChild0Integer, 6|128,60,
16665 OPC_RecordChild1,
16666 OPC_RecordChild2,
16667 OPC_CheckPatternPredicate1,
16668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU),
16669 MVT::v2i64, 2, 9,
16670 12,
16671 OPC_CheckChild0Integer, 123|128,59,
16672 OPC_RecordChild1,
16673 OPC_RecordChild2,
16674 OPC_CheckPatternPredicate1,
16675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU_W),
16676 MVT::v2i64, 2, 9,
16677 12,
16678 OPC_CheckChild0Integer, 7|128,60,
16679 OPC_RecordChild1,
16680 OPC_RecordChild2,
16681 OPC_CheckPatternPredicate1,
16682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU_W),
16683 MVT::v2i64, 2, 9,
16684 12,
16685 OPC_CheckChild0Integer, 114|128,60,
16686 OPC_RecordChild1,
16687 OPC_RecordChild2,
16688 OPC_CheckPatternPredicate1,
16689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_W),
16690 MVT::v4i32, 2, 9,
16691 12,
16692 OPC_CheckChild0Integer, 74|128,60,
16693 OPC_RecordChild1,
16694 OPC_RecordChild2,
16695 OPC_CheckPatternPredicate1,
16696 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
16697 MVT::v4i32, 2, 9,
16698 12,
16699 OPC_CheckChild0Integer, 81|128,61,
16700 OPC_RecordChild1,
16701 OPC_RecordChild2,
16702 OPC_CheckPatternPredicate1,
16703 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_W),
16704 MVT::v4i32, 2, 9,
16705 12,
16706 OPC_CheckChild0Integer, 51|128,61,
16707 OPC_RecordChild1,
16708 OPC_RecordChild2,
16709 OPC_CheckPatternPredicate1,
16710 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_W),
16711 MVT::v4i32, 2, 9,
16712 12,
16713 OPC_CheckChild0Integer, 72|128,61,
16714 OPC_RecordChild1,
16715 OPC_RecordChild2,
16716 OPC_CheckPatternPredicate1,
16717 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_H_W),
16718 MVT::v8i16, 2, 9,
16719 12,
16720 OPC_CheckChild0Integer, 42|128,61,
16721 OPC_RecordChild1,
16722 OPC_RecordChild2,
16723 OPC_CheckPatternPredicate1,
16724 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_H_W),
16725 MVT::v8i16, 2, 9,
16726 12,
16727 OPC_CheckChild0Integer, 87|128,61,
16728 OPC_RecordChild1,
16729 OPC_RecordChild2,
16730 OPC_CheckPatternPredicate1,
16731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_H_W),
16732 MVT::v8i16, 2, 9,
16733 12,
16734 OPC_CheckChild0Integer, 57|128,61,
16735 OPC_RecordChild1,
16736 OPC_RecordChild2,
16737 OPC_CheckPatternPredicate1,
16738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_H_W),
16739 MVT::v8i16, 2, 9,
16740 12,
16741 OPC_CheckChild0Integer, 123|128,61,
16742 OPC_RecordChild1,
16743 OPC_RecordChild2,
16744 OPC_CheckPatternPredicate1,
16745 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_H_W),
16746 MVT::v8i16, 2, 9,
16747 12,
16748 OPC_CheckChild0Integer, 95|128,61,
16749 OPC_RecordChild1,
16750 OPC_RecordChild2,
16751 OPC_CheckPatternPredicate1,
16752 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_H_W),
16753 MVT::v8i16, 2, 9,
16754 12,
16755 OPC_CheckChild0Integer, 124|128,61,
16756 OPC_RecordChild1,
16757 OPC_RecordChild2,
16758 OPC_CheckPatternPredicate1,
16759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_HU_W),
16760 MVT::v8i16, 2, 9,
16761 12,
16762 OPC_CheckChild0Integer, 96|128,61,
16763 OPC_RecordChild1,
16764 OPC_RecordChild2,
16765 OPC_CheckPatternPredicate1,
16766 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_HU_W),
16767 MVT::v8i16, 2, 9,
16768 12,
16769 OPC_CheckChild0Integer, 9|128,62,
16770 OPC_RecordChild1,
16771 OPC_RecordChild2,
16772 OPC_CheckPatternPredicate1,
16773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_H_W),
16774 MVT::v8i16, 2, 9,
16775 12,
16776 OPC_CheckChild0Integer, 109|128,61,
16777 OPC_RecordChild1,
16778 OPC_RecordChild2,
16779 OPC_CheckPatternPredicate1,
16780 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_H_W),
16781 MVT::v8i16, 2, 9,
16782 12,
16783 OPC_CheckChild0Integer, 10|128,62,
16784 OPC_RecordChild1,
16785 OPC_RecordChild2,
16786 OPC_CheckPatternPredicate1,
16787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_HU_W),
16788 MVT::v8i16, 2, 9,
16789 12,
16790 OPC_CheckChild0Integer, 110|128,61,
16791 OPC_RecordChild1,
16792 OPC_RecordChild2,
16793 OPC_CheckPatternPredicate1,
16794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_HU_W),
16795 MVT::v8i16, 2, 9,
16796 12,
16797 OPC_CheckChild0Integer, 98|128,60,
16798 OPC_RecordChild1,
16799 OPC_RecordChild2,
16800 OPC_CheckPatternPredicate1,
16801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
16802 MVT::v4i32, 2, 9,
16803 12,
16804 OPC_CheckChild0Integer, 121|128,60,
16805 OPC_RecordChild1,
16806 OPC_RecordChild2,
16807 OPC_CheckPatternPredicate1,
16808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
16809 MVT::v4i32, 2, 9,
16810 12,
16811 OPC_CheckChild0Integer, 122|128,60,
16812 OPC_RecordChild1,
16813 OPC_RecordChild2,
16814 OPC_CheckPatternPredicate1,
16815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
16816 MVT::v4i32, 2, 9,
16817 12,
16818 OPC_CheckChild0Integer, 23|128,61,
16819 OPC_RecordChild1,
16820 OPC_RecordChild2,
16821 OPC_CheckPatternPredicate1,
16822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
16823 MVT::v4i32, 2, 9,
16824 12,
16825 OPC_CheckChild0Integer, 24|128,61,
16826 OPC_RecordChild1,
16827 OPC_RecordChild2,
16828 OPC_CheckPatternPredicate1,
16829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
16830 MVT::v4i32, 2, 9,
16831 12,
16832 OPC_CheckChild0Integer, 29|128,60,
16833 OPC_RecordChild1,
16834 OPC_RecordChild2,
16835 OPC_CheckPatternPredicate1,
16836 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
16837 MVT::v4i32, 2, 9,
16838 12,
16839 OPC_CheckChild0Integer, 33|128,60,
16840 OPC_RecordChild1,
16841 OPC_RecordChild2,
16842 OPC_CheckPatternPredicate1,
16843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
16844 MVT::v4i32, 2, 9,
16845 12,
16846 OPC_CheckChild0Integer, 42|128,60,
16847 OPC_RecordChild1,
16848 OPC_RecordChild2,
16849 OPC_CheckPatternPredicate1,
16850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
16851 MVT::v4i32, 2, 9,
16852 12,
16853 OPC_CheckChild0Integer, 46|128,60,
16854 OPC_RecordChild1,
16855 OPC_RecordChild2,
16856 OPC_CheckPatternPredicate1,
16857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
16858 MVT::v4i32, 2, 9,
16859 12,
16860 OPC_CheckChild0Integer, 19|128,59,
16861 OPC_RecordChild1,
16862 OPC_RecordChild2,
16863 OPC_CheckPatternPredicate1,
16864 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
16865 MVT::v4i32, 2, 9,
16866 12,
16867 OPC_CheckChild0Integer, 15|128,59,
16868 OPC_RecordChild1,
16869 OPC_RecordChild2,
16870 OPC_CheckPatternPredicate1,
16871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
16872 MVT::v4i32, 2, 9,
16873 12,
16874 OPC_CheckChild0Integer, 3|128,57,
16875 OPC_RecordChild1,
16876 OPC_RecordChild2,
16877 OPC_CheckPatternPredicate1,
16878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_Q),
16879 MVT::v2i64, 2, 9,
16880 12,
16881 OPC_CheckChild0Integer, 38|128,62,
16882 OPC_RecordChild1,
16883 OPC_RecordChild2,
16884 OPC_CheckPatternPredicate1,
16885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_Q),
16886 MVT::v2i64, 2, 9,
16887 12,
16888 OPC_CheckChild0Integer, 81|128,60,
16889 OPC_RecordChild1,
16890 OPC_RecordChild2,
16891 OPC_CheckPatternPredicate1,
16892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_D),
16893 MVT::v2i64, 2, 9,
16894 12,
16895 OPC_CheckChild0Integer, 82|128,60,
16896 OPC_RecordChild1,
16897 OPC_RecordChild2,
16898 OPC_CheckPatternPredicate1,
16899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_DU),
16900 MVT::v2i64, 2, 9,
16901 12,
16902 OPC_CheckChild0Integer, 23|128,62,
16903 OPC_RecordChild1,
16904 OPC_RecordChild2,
16905 OPC_CheckPatternPredicate1,
16906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_D),
16907 MVT::v2i64, 2, 9,
16908 12,
16909 OPC_CheckChild0Integer, 24|128,62,
16910 OPC_RecordChild1,
16911 OPC_RecordChild2,
16912 OPC_CheckPatternPredicate1,
16913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_DU),
16914 MVT::v2i64, 2, 9,
16915 12,
16916 OPC_CheckChild0Integer, 0|128,59,
16917 OPC_RecordChild1,
16918 OPC_RecordChild2,
16919 OPC_CheckPatternPredicate1,
16920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_Q_D),
16921 MVT::v2i64, 2, 9,
16922 12,
16923 OPC_CheckChild0Integer, 1|128,59,
16924 OPC_RecordChild1,
16925 OPC_RecordChild2,
16926 OPC_CheckPatternPredicate1,
16927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_QU_DU),
16928 MVT::v2i64, 2, 9,
16929 12,
16930 OPC_CheckChild0Integer, 8|128,59,
16931 OPC_RecordChild1,
16932 OPC_RecordChild2,
16933 OPC_CheckPatternPredicate1,
16934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_Q_D),
16935 MVT::v2i64, 2, 9,
16936 12,
16937 OPC_CheckChild0Integer, 9|128,59,
16938 OPC_RecordChild1,
16939 OPC_RecordChild2,
16940 OPC_CheckPatternPredicate1,
16941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_QU_DU),
16942 MVT::v2i64, 2, 9,
16943 12,
16944 OPC_CheckChild0Integer, 19|128,57,
16945 OPC_RecordChild1,
16946 OPC_RecordChild2,
16947 OPC_CheckPatternPredicate1,
16948 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_D),
16949 MVT::v2i64, 2, 9,
16950 12,
16951 OPC_CheckChild0Integer, 31|128,57,
16952 OPC_RecordChild1,
16953 OPC_RecordChild2,
16954 OPC_CheckPatternPredicate1,
16955 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_D),
16956 MVT::v2i64, 2, 9,
16957 12,
16958 OPC_CheckChild0Integer, 48|128,62,
16959 OPC_RecordChild1,
16960 OPC_RecordChild2,
16961 OPC_CheckPatternPredicate1,
16962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_D),
16963 MVT::v2i64, 2, 9,
16964 12,
16965 OPC_CheckChild0Integer, 56|128,62,
16966 OPC_RecordChild1,
16967 OPC_RecordChild2,
16968 OPC_CheckPatternPredicate1,
16969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_D),
16970 MVT::v2i64, 2, 9,
16971 12,
16972 OPC_CheckChild0Integer, 20|128,57,
16973 OPC_RecordChild1,
16974 OPC_RecordChild2,
16975 OPC_CheckPatternPredicate1,
16976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU),
16977 MVT::v2i64, 2, 9,
16978 12,
16979 OPC_CheckChild0Integer, 32|128,57,
16980 OPC_RecordChild1,
16981 OPC_RecordChild2,
16982 OPC_CheckPatternPredicate1,
16983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU),
16984 MVT::v2i64, 2, 9,
16985 12,
16986 OPC_CheckChild0Integer, 49|128,62,
16987 OPC_RecordChild1,
16988 OPC_RecordChild2,
16989 OPC_CheckPatternPredicate1,
16990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_DU),
16991 MVT::v2i64, 2, 9,
16992 12,
16993 OPC_CheckChild0Integer, 57|128,62,
16994 OPC_RecordChild1,
16995 OPC_RecordChild2,
16996 OPC_CheckPatternPredicate1,
16997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_DU),
16998 MVT::v2i64, 2, 9,
16999 12,
17000 OPC_CheckChild0Integer, 21|128,57,
17001 OPC_RecordChild1,
17002 OPC_RecordChild2,
17003 OPC_CheckPatternPredicate1,
17004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU_D),
17005 MVT::v2i64, 2, 9,
17006 12,
17007 OPC_CheckChild0Integer, 33|128,57,
17008 OPC_RecordChild1,
17009 OPC_RecordChild2,
17010 OPC_CheckPatternPredicate1,
17011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU_D),
17012 MVT::v2i64, 2, 9,
17013 12,
17014 OPC_CheckChild0Integer, 42|128,57,
17015 OPC_RecordChild1,
17016 OPC_RecordChild2,
17017 OPC_CheckPatternPredicate1,
17018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_D),
17019 MVT::v2i64, 2, 9,
17020 12,
17021 OPC_CheckChild0Integer, 43|128,57,
17022 OPC_RecordChild1,
17023 OPC_RecordChild2,
17024 OPC_CheckPatternPredicate1,
17025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_DU),
17026 MVT::v2i64, 2, 9,
17027 12,
17028 OPC_CheckChild0Integer, 50|128,57,
17029 OPC_RecordChild1,
17030 OPC_RecordChild2,
17031 OPC_CheckPatternPredicate1,
17032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_D),
17033 MVT::v2i64, 2, 9,
17034 12,
17035 OPC_CheckChild0Integer, 51|128,57,
17036 OPC_RecordChild1,
17037 OPC_RecordChild2,
17038 OPC_CheckPatternPredicate1,
17039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_DU),
17040 MVT::v2i64, 2, 9,
17041 12,
17042 OPC_CheckChild0Integer, 122|128,56,
17043 OPC_RecordChild1,
17044 OPC_RecordChild2,
17045 OPC_CheckPatternPredicate1,
17046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_D),
17047 MVT::v2i64, 2, 9,
17048 12,
17049 OPC_CheckChild0Integer, 123|128,56,
17050 OPC_RecordChild1,
17051 OPC_RecordChild2,
17052 OPC_CheckPatternPredicate1,
17053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_DU),
17054 MVT::v2i64, 2, 9,
17055 12,
17056 OPC_CheckChild0Integer, 6|128,57,
17057 OPC_RecordChild1,
17058 OPC_RecordChild2,
17059 OPC_CheckPatternPredicate1,
17060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_D),
17061 MVT::v2i64, 2, 9,
17062 12,
17063 OPC_CheckChild0Integer, 111|128,59,
17064 OPC_RecordChild1,
17065 OPC_RecordChild2,
17066 OPC_CheckPatternPredicate1,
17067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
17068 MVT::v2i64, 2, 9,
17069 12,
17070 OPC_CheckChild0Integer, 112|128,59,
17071 OPC_RecordChild1,
17072 OPC_RecordChild2,
17073 OPC_CheckPatternPredicate1,
17074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
17075 MVT::v2i64, 2, 9,
17076 12,
17077 OPC_CheckChild0Integer, 127|128,59,
17078 OPC_RecordChild1,
17079 OPC_RecordChild2,
17080 OPC_CheckPatternPredicate1,
17081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_D),
17082 MVT::v2i64, 2, 9,
17083 12,
17084 OPC_CheckChild0Integer, 11|128,60,
17085 OPC_RecordChild1,
17086 OPC_RecordChild2,
17087 OPC_CheckPatternPredicate1,
17088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_D),
17089 MVT::v2i64, 2, 9,
17090 12,
17091 OPC_CheckChild0Integer, 0|128,60,
17092 OPC_RecordChild1,
17093 OPC_RecordChild2,
17094 OPC_CheckPatternPredicate1,
17095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU),
17096 MVT::v2i64, 2, 9,
17097 12,
17098 OPC_CheckChild0Integer, 12|128,60,
17099 OPC_RecordChild1,
17100 OPC_RecordChild2,
17101 OPC_CheckPatternPredicate1,
17102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU),
17103 MVT::v2i64, 2, 9,
17104 12,
17105 OPC_CheckChild0Integer, 1|128,60,
17106 OPC_RecordChild1,
17107 OPC_RecordChild2,
17108 OPC_CheckPatternPredicate1,
17109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU_D),
17110 MVT::v2i64, 2, 9,
17111 12,
17112 OPC_CheckChild0Integer, 13|128,60,
17113 OPC_RecordChild1,
17114 OPC_RecordChild2,
17115 OPC_CheckPatternPredicate1,
17116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU_D),
17117 MVT::v2i64, 2, 9,
17118 12,
17119 OPC_CheckChild0Integer, 112|128,60,
17120 OPC_RecordChild1,
17121 OPC_RecordChild2,
17122 OPC_CheckPatternPredicate1,
17123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_D),
17124 MVT::v2i64, 2, 9,
17125 12,
17126 OPC_CheckChild0Integer, 72|128,60,
17127 OPC_RecordChild1,
17128 OPC_RecordChild2,
17129 OPC_CheckPatternPredicate1,
17130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
17131 MVT::v2i64, 2, 9,
17132 12,
17133 OPC_CheckChild0Integer, 79|128,61,
17134 OPC_RecordChild1,
17135 OPC_RecordChild2,
17136 OPC_CheckPatternPredicate1,
17137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_D),
17138 MVT::v2i64, 2, 9,
17139 12,
17140 OPC_CheckChild0Integer, 49|128,61,
17141 OPC_RecordChild1,
17142 OPC_RecordChild2,
17143 OPC_CheckPatternPredicate1,
17144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_D),
17145 MVT::v2i64, 2, 9,
17146 12,
17147 OPC_CheckChild0Integer, 73|128,61,
17148 OPC_RecordChild1,
17149 OPC_RecordChild2,
17150 OPC_CheckPatternPredicate1,
17151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_W_D),
17152 MVT::v4i32, 2, 9,
17153 12,
17154 OPC_CheckChild0Integer, 43|128,61,
17155 OPC_RecordChild1,
17156 OPC_RecordChild2,
17157 OPC_CheckPatternPredicate1,
17158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_W_D),
17159 MVT::v4i32, 2, 9,
17160 12,
17161 OPC_CheckChild0Integer, 88|128,61,
17162 OPC_RecordChild1,
17163 OPC_RecordChild2,
17164 OPC_CheckPatternPredicate1,
17165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_W_D),
17166 MVT::v4i32, 2, 9,
17167 12,
17168 OPC_CheckChild0Integer, 58|128,61,
17169 OPC_RecordChild1,
17170 OPC_RecordChild2,
17171 OPC_CheckPatternPredicate1,
17172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_W_D),
17173 MVT::v4i32, 2, 9,
17174 12,
17175 OPC_CheckChild0Integer, 125|128,61,
17176 OPC_RecordChild1,
17177 OPC_RecordChild2,
17178 OPC_CheckPatternPredicate1,
17179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_W_D),
17180 MVT::v4i32, 2, 9,
17181 12,
17182 OPC_CheckChild0Integer, 97|128,61,
17183 OPC_RecordChild1,
17184 OPC_RecordChild2,
17185 OPC_CheckPatternPredicate1,
17186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_W_D),
17187 MVT::v4i32, 2, 9,
17188 12,
17189 OPC_CheckChild0Integer, 126|128,61,
17190 OPC_RecordChild1,
17191 OPC_RecordChild2,
17192 OPC_CheckPatternPredicate1,
17193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_WU_D),
17194 MVT::v4i32, 2, 9,
17195 12,
17196 OPC_CheckChild0Integer, 98|128,61,
17197 OPC_RecordChild1,
17198 OPC_RecordChild2,
17199 OPC_CheckPatternPredicate1,
17200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_WU_D),
17201 MVT::v4i32, 2, 9,
17202 12,
17203 OPC_CheckChild0Integer, 11|128,62,
17204 OPC_RecordChild1,
17205 OPC_RecordChild2,
17206 OPC_CheckPatternPredicate1,
17207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_W_D),
17208 MVT::v4i32, 2, 9,
17209 12,
17210 OPC_CheckChild0Integer, 111|128,61,
17211 OPC_RecordChild1,
17212 OPC_RecordChild2,
17213 OPC_CheckPatternPredicate1,
17214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_W_D),
17215 MVT::v4i32, 2, 9,
17216 12,
17217 OPC_CheckChild0Integer, 12|128,62,
17218 OPC_RecordChild1,
17219 OPC_RecordChild2,
17220 OPC_CheckPatternPredicate1,
17221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_WU_D),
17222 MVT::v4i32, 2, 9,
17223 12,
17224 OPC_CheckChild0Integer, 112|128,61,
17225 OPC_RecordChild1,
17226 OPC_RecordChild2,
17227 OPC_CheckPatternPredicate1,
17228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_WU_D),
17229 MVT::v4i32, 2, 9,
17230 12,
17231 OPC_CheckChild0Integer, 96|128,60,
17232 OPC_RecordChild1,
17233 OPC_RecordChild2,
17234 OPC_CheckPatternPredicate1,
17235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
17236 MVT::v2i64, 2, 9,
17237 12,
17238 OPC_CheckChild0Integer, 117|128,60,
17239 OPC_RecordChild1,
17240 OPC_RecordChild2,
17241 OPC_CheckPatternPredicate1,
17242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
17243 MVT::v2i64, 2, 9,
17244 12,
17245 OPC_CheckChild0Integer, 118|128,60,
17246 OPC_RecordChild1,
17247 OPC_RecordChild2,
17248 OPC_CheckPatternPredicate1,
17249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
17250 MVT::v2i64, 2, 9,
17251 12,
17252 OPC_CheckChild0Integer, 19|128,61,
17253 OPC_RecordChild1,
17254 OPC_RecordChild2,
17255 OPC_CheckPatternPredicate1,
17256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
17257 MVT::v2i64, 2, 9,
17258 12,
17259 OPC_CheckChild0Integer, 20|128,61,
17260 OPC_RecordChild1,
17261 OPC_RecordChild2,
17262 OPC_CheckPatternPredicate1,
17263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
17264 MVT::v2i64, 2, 9,
17265 12,
17266 OPC_CheckChild0Integer, 27|128,60,
17267 OPC_RecordChild1,
17268 OPC_RecordChild2,
17269 OPC_CheckPatternPredicate1,
17270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
17271 MVT::v2i64, 2, 9,
17272 12,
17273 OPC_CheckChild0Integer, 31|128,60,
17274 OPC_RecordChild1,
17275 OPC_RecordChild2,
17276 OPC_CheckPatternPredicate1,
17277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
17278 MVT::v2i64, 2, 9,
17279 12,
17280 OPC_CheckChild0Integer, 40|128,60,
17281 OPC_RecordChild1,
17282 OPC_RecordChild2,
17283 OPC_CheckPatternPredicate1,
17284 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
17285 MVT::v2i64, 2, 9,
17286 12,
17287 OPC_CheckChild0Integer, 44|128,60,
17288 OPC_RecordChild1,
17289 OPC_RecordChild2,
17290 OPC_CheckPatternPredicate1,
17291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
17292 MVT::v2i64, 2, 9,
17293 12,
17294 OPC_CheckChild0Integer, 17|128,59,
17295 OPC_RecordChild1,
17296 OPC_RecordChild2,
17297 OPC_CheckPatternPredicate1,
17298 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
17299 MVT::v2i64, 2, 9,
17300 12,
17301 OPC_CheckChild0Integer, 13|128,59,
17302 OPC_RecordChild1,
17303 OPC_RecordChild2,
17304 OPC_CheckPatternPredicate1,
17305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
17306 MVT::v2i64, 2, 9,
17307 13,
17308 OPC_CheckChild0Integer, 38|128,59,
17309 OPC_RecordChild1,
17310 OPC_RecordChild2,
17311 OPC_RecordChild3,
17312 OPC_CheckPatternPredicate1,
17313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_B),
17314 MVT::v8i16, 3, 24,
17315 13,
17316 OPC_CheckChild0Integer, 50|128,59,
17317 OPC_RecordChild1,
17318 OPC_RecordChild2,
17319 OPC_RecordChild3,
17320 OPC_CheckPatternPredicate1,
17321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_B),
17322 MVT::v8i16, 3, 24,
17323 13,
17324 OPC_CheckChild0Integer, 39|128,59,
17325 OPC_RecordChild1,
17326 OPC_RecordChild2,
17327 OPC_RecordChild3,
17328 OPC_CheckPatternPredicate1,
17329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU),
17330 MVT::v8i16, 3, 24,
17331 13,
17332 OPC_CheckChild0Integer, 51|128,59,
17333 OPC_RecordChild1,
17334 OPC_RecordChild2,
17335 OPC_RecordChild3,
17336 OPC_CheckPatternPredicate1,
17337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU),
17338 MVT::v8i16, 3, 24,
17339 13,
17340 OPC_CheckChild0Integer, 40|128,59,
17341 OPC_RecordChild1,
17342 OPC_RecordChild2,
17343 OPC_RecordChild3,
17344 OPC_CheckPatternPredicate1,
17345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU_B),
17346 MVT::v8i16, 3, 24,
17347 13,
17348 OPC_CheckChild0Integer, 52|128,59,
17349 OPC_RecordChild1,
17350 OPC_RecordChild2,
17351 OPC_RecordChild3,
17352 OPC_CheckPatternPredicate1,
17353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU_B),
17354 MVT::v8i16, 3, 24,
17355 13,
17356 OPC_CheckChild0Integer, 44|128,59,
17357 OPC_RecordChild1,
17358 OPC_RecordChild2,
17359 OPC_RecordChild3,
17360 OPC_CheckPatternPredicate1,
17361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_H),
17362 MVT::v4i32, 3, 24,
17363 13,
17364 OPC_CheckChild0Integer, 56|128,59,
17365 OPC_RecordChild1,
17366 OPC_RecordChild2,
17367 OPC_RecordChild3,
17368 OPC_CheckPatternPredicate1,
17369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_H),
17370 MVT::v4i32, 3, 24,
17371 13,
17372 OPC_CheckChild0Integer, 45|128,59,
17373 OPC_RecordChild1,
17374 OPC_RecordChild2,
17375 OPC_RecordChild3,
17376 OPC_CheckPatternPredicate1,
17377 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU),
17378 MVT::v4i32, 3, 24,
17379 13,
17380 OPC_CheckChild0Integer, 57|128,59,
17381 OPC_RecordChild1,
17382 OPC_RecordChild2,
17383 OPC_RecordChild3,
17384 OPC_CheckPatternPredicate1,
17385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU),
17386 MVT::v4i32, 3, 24,
17387 13,
17388 OPC_CheckChild0Integer, 46|128,59,
17389 OPC_RecordChild1,
17390 OPC_RecordChild2,
17391 OPC_RecordChild3,
17392 OPC_CheckPatternPredicate1,
17393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU_H),
17394 MVT::v4i32, 3, 24,
17395 13,
17396 OPC_CheckChild0Integer, 58|128,59,
17397 OPC_RecordChild1,
17398 OPC_RecordChild2,
17399 OPC_RecordChild3,
17400 OPC_CheckPatternPredicate1,
17401 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU_H),
17402 MVT::v4i32, 3, 24,
17403 13,
17404 OPC_CheckChild0Integer, 35|128,59,
17405 OPC_RecordChild1,
17406 OPC_RecordChild2,
17407 OPC_RecordChild3,
17408 OPC_CheckPatternPredicate1,
17409 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_W),
17410 MVT::v2i64, 3, 24,
17411 13,
17412 OPC_CheckChild0Integer, 47|128,59,
17413 OPC_RecordChild1,
17414 OPC_RecordChild2,
17415 OPC_RecordChild3,
17416 OPC_CheckPatternPredicate1,
17417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_W),
17418 MVT::v2i64, 3, 24,
17419 13,
17420 OPC_CheckChild0Integer, 36|128,59,
17421 OPC_RecordChild1,
17422 OPC_RecordChild2,
17423 OPC_RecordChild3,
17424 OPC_CheckPatternPredicate1,
17425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU),
17426 MVT::v2i64, 3, 24,
17427 13,
17428 OPC_CheckChild0Integer, 48|128,59,
17429 OPC_RecordChild1,
17430 OPC_RecordChild2,
17431 OPC_RecordChild3,
17432 OPC_CheckPatternPredicate1,
17433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU),
17434 MVT::v2i64, 3, 24,
17435 13,
17436 OPC_CheckChild0Integer, 37|128,59,
17437 OPC_RecordChild1,
17438 OPC_RecordChild2,
17439 OPC_RecordChild3,
17440 OPC_CheckPatternPredicate1,
17441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU_W),
17442 MVT::v2i64, 3, 24,
17443 13,
17444 OPC_CheckChild0Integer, 49|128,59,
17445 OPC_RecordChild1,
17446 OPC_RecordChild2,
17447 OPC_RecordChild3,
17448 OPC_CheckPatternPredicate1,
17449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU_W),
17450 MVT::v2i64, 3, 24,
17451 13,
17452 OPC_CheckChild0Integer, 41|128,59,
17453 OPC_RecordChild1,
17454 OPC_RecordChild2,
17455 OPC_RecordChild3,
17456 OPC_CheckPatternPredicate1,
17457 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_D),
17458 MVT::v2i64, 3, 24,
17459 13,
17460 OPC_CheckChild0Integer, 53|128,59,
17461 OPC_RecordChild1,
17462 OPC_RecordChild2,
17463 OPC_RecordChild3,
17464 OPC_CheckPatternPredicate1,
17465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_D),
17466 MVT::v2i64, 3, 24,
17467 13,
17468 OPC_CheckChild0Integer, 42|128,59,
17469 OPC_RecordChild1,
17470 OPC_RecordChild2,
17471 OPC_RecordChild3,
17472 OPC_CheckPatternPredicate1,
17473 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU),
17474 MVT::v2i64, 3, 24,
17475 13,
17476 OPC_CheckChild0Integer, 54|128,59,
17477 OPC_RecordChild1,
17478 OPC_RecordChild2,
17479 OPC_RecordChild3,
17480 OPC_CheckPatternPredicate1,
17481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU),
17482 MVT::v2i64, 3, 24,
17483 13,
17484 OPC_CheckChild0Integer, 43|128,59,
17485 OPC_RecordChild1,
17486 OPC_RecordChild2,
17487 OPC_RecordChild3,
17488 OPC_CheckPatternPredicate1,
17489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU_D),
17490 MVT::v2i64, 3, 24,
17491 13,
17492 OPC_CheckChild0Integer, 55|128,59,
17493 OPC_RecordChild1,
17494 OPC_RecordChild2,
17495 OPC_RecordChild3,
17496 OPC_CheckPatternPredicate1,
17497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU_D),
17498 MVT::v2i64, 3, 24,
17499 11,
17500 OPC_CheckChild0Integer, 102|128,57,
17501 OPC_RecordChild1,
17502 OPC_CheckPatternPredicate1,
17503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_H_B),
17504 MVT::v8i16, 1, 1,
17505 11,
17506 OPC_CheckChild0Integer, 103|128,57,
17507 OPC_RecordChild1,
17508 OPC_CheckPatternPredicate1,
17509 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_HU_BU),
17510 MVT::v8i16, 1, 1,
17511 11,
17512 OPC_CheckChild0Integer, 100|128,59,
17513 OPC_RecordChild1,
17514 OPC_CheckPatternPredicate1,
17515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_B),
17516 MVT::v16i8, 1, 1,
17517 11,
17518 OPC_CheckChild0Integer, 99|128,59,
17519 OPC_RecordChild1,
17520 OPC_CheckPatternPredicate1,
17521 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKGEZ_B),
17522 MVT::v16i8, 1, 1,
17523 11,
17524 OPC_CheckChild0Integer, 104|128,59,
17525 OPC_RecordChild1,
17526 OPC_CheckPatternPredicate1,
17527 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKNZ_B),
17528 MVT::v16i8, 1, 1,
17529 11,
17530 OPC_CheckChild0Integer, 84|128,57,
17531 OPC_RecordChild1,
17532 OPC_CheckPatternPredicate1,
17533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_B),
17534 MVT::v16i8, 1, 1,
17535 11,
17536 OPC_CheckChild0Integer, 106|128,57,
17537 OPC_RecordChild1,
17538 OPC_CheckPatternPredicate1,
17539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_W_H),
17540 MVT::v4i32, 1, 1,
17541 11,
17542 OPC_CheckChild0Integer, 107|128,57,
17543 OPC_RecordChild1,
17544 OPC_CheckPatternPredicate1,
17545 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_WU_HU),
17546 MVT::v4i32, 1, 1,
17547 11,
17548 OPC_CheckChild0Integer, 102|128,59,
17549 OPC_RecordChild1,
17550 OPC_CheckPatternPredicate1,
17551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_H),
17552 MVT::v8i16, 1, 1,
17553 11,
17554 OPC_CheckChild0Integer, 86|128,57,
17555 OPC_RecordChild1,
17556 OPC_CheckPatternPredicate1,
17557 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_H),
17558 MVT::v8i16, 1, 1,
17559 11,
17560 OPC_CheckChild0Integer, 100|128,57,
17561 OPC_RecordChild1,
17562 OPC_CheckPatternPredicate1,
17563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_D_W),
17564 MVT::v2i64, 1, 1,
17565 11,
17566 OPC_CheckChild0Integer, 101|128,57,
17567 OPC_RecordChild1,
17568 OPC_CheckPatternPredicate1,
17569 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_DU_WU),
17570 MVT::v2i64, 1, 1,
17571 11,
17572 OPC_CheckChild0Integer, 103|128,59,
17573 OPC_RecordChild1,
17574 OPC_CheckPatternPredicate1,
17575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_W),
17576 MVT::v4i32, 1, 1,
17577 11,
17578 OPC_CheckChild0Integer, 87|128,57,
17579 OPC_RecordChild1,
17580 OPC_CheckPatternPredicate1,
17581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_W),
17582 MVT::v4i32, 1, 1,
17583 11,
17584 OPC_CheckChild0Integer, 104|128,57,
17585 OPC_RecordChild1,
17586 OPC_CheckPatternPredicate1,
17587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_Q_D),
17588 MVT::v2i64, 1, 1,
17589 11,
17590 OPC_CheckChild0Integer, 105|128,57,
17591 OPC_RecordChild1,
17592 OPC_CheckPatternPredicate1,
17593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_QU_DU),
17594 MVT::v2i64, 1, 1,
17595 11,
17596 OPC_CheckChild0Integer, 101|128,59,
17597 OPC_RecordChild1,
17598 OPC_CheckPatternPredicate1,
17599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_D),
17600 MVT::v2i64, 1, 1,
17601 11,
17602 OPC_CheckChild0Integer, 108|128,57,
17603 OPC_RecordChild1,
17604 OPC_CheckPatternPredicate1,
17605 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_Q_D),
17606 MVT::v2i64, 1, 1,
17607 11,
17608 OPC_CheckChild0Integer, 109|128,57,
17609 OPC_RecordChild1,
17610 OPC_CheckPatternPredicate1,
17611 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_QU_DU),
17612 MVT::v2i64, 1, 1,
17613 11,
17614 OPC_CheckChild0Integer, 85|128,57,
17615 OPC_RecordChild1,
17616 OPC_CheckPatternPredicate1,
17617 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_D),
17618 MVT::v2i64, 1, 1,
17619 13,
17620 OPC_CheckChild0Integer, 87|128,58,
17621 OPC_RecordChild1,
17622 OPC_RecordChild2,
17623 OPC_RecordChild3,
17624 OPC_CheckPatternPredicate1,
17625 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_B),
17626 MVT::v16i8, 3, 24,
17627 13,
17628 OPC_CheckChild0Integer, 72|128,57,
17629 OPC_RecordChild1,
17630 OPC_RecordChild2,
17631 OPC_RecordChild3,
17632 OPC_CheckPatternPredicate1,
17633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
17634 MVT::v16i8, 3, 24,
17635 13,
17636 OPC_CheckChild0Integer, 103|128,60,
17637 OPC_RecordChild1,
17638 OPC_RecordChild2,
17639 OPC_RecordChild3,
17640 OPC_CheckPatternPredicate1,
17641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_B),
17642 MVT::v16i8, 3, 24,
17643 13,
17644 OPC_CheckChild0Integer, 88|128,58,
17645 OPC_RecordChild1,
17646 OPC_RecordChild2,
17647 OPC_RecordChild3,
17648 OPC_CheckPatternPredicate1,
17649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_H),
17650 MVT::v8i16, 3, 24,
17651 13,
17652 OPC_CheckChild0Integer, 105|128,60,
17653 OPC_RecordChild1,
17654 OPC_RecordChild2,
17655 OPC_RecordChild3,
17656 OPC_CheckPatternPredicate1,
17657 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_H),
17658 MVT::v8i16, 3, 24,
17659 13,
17660 OPC_CheckChild0Integer, 106|128,60,
17661 OPC_RecordChild1,
17662 OPC_RecordChild2,
17663 OPC_RecordChild3,
17664 OPC_CheckPatternPredicate1,
17665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
17666 MVT::v4i32, 3, 24,
17667 13,
17668 OPC_CheckChild0Integer, 104|128,60,
17669 OPC_RecordChild1,
17670 OPC_RecordChild2,
17671 OPC_RecordChild3,
17672 OPC_CheckPatternPredicate1,
17673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
17674 MVT::v2i64, 3, 24,
17675 12,
17676 OPC_CheckChild0Integer, 34|128,58,
17677 OPC_RecordChild1,
17678 OPC_RecordChild2,
17679 OPC_CheckPatternPredicate1,
17680 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_H_S),
17681 MVT::v8i16, 2, 9,
17682 12,
17683 OPC_CheckChild0Integer, 119|128,57,
17684 OPC_RecordChild1,
17685 OPC_RecordChild2,
17686 OPC_CheckPatternPredicate1,
17687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_S),
17688 MVT::v4i32, 2, 9,
17689 12,
17690 OPC_CheckChild0Integer, 9|128,58,
17691 OPC_RecordChild1,
17692 OPC_RecordChild2,
17693 OPC_CheckPatternPredicate1,
17694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
17695 MVT::v4i32, 2, 9,
17696 12,
17697 OPC_CheckChild0Integer, 121|128,57,
17698 OPC_RecordChild1,
17699 OPC_RecordChild2,
17700 OPC_CheckPatternPredicate1,
17701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
17702 MVT::v4i32, 2, 9,
17703 12,
17704 OPC_CheckChild0Integer, 3|128,58,
17705 OPC_RecordChild1,
17706 OPC_RecordChild2,
17707 OPC_CheckPatternPredicate1,
17708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
17709 MVT::v4i32, 2, 9,
17710 12,
17711 OPC_CheckChild0Integer, 125|128,57,
17712 OPC_RecordChild1,
17713 OPC_RecordChild2,
17714 OPC_CheckPatternPredicate1,
17715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
17716 MVT::v4i32, 2, 9,
17717 12,
17718 OPC_CheckChild0Integer, 7|128,58,
17719 OPC_RecordChild1,
17720 OPC_RecordChild2,
17721 OPC_CheckPatternPredicate1,
17722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
17723 MVT::v4i32, 2, 9,
17724 12,
17725 OPC_CheckChild0Integer, 123|128,57,
17726 OPC_RecordChild1,
17727 OPC_RecordChild2,
17728 OPC_CheckPatternPredicate1,
17729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
17730 MVT::v4i32, 2, 9,
17731 12,
17732 OPC_CheckChild0Integer, 5|128,58,
17733 OPC_RecordChild1,
17734 OPC_RecordChild2,
17735 OPC_CheckPatternPredicate1,
17736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
17737 MVT::v4i32, 2, 9,
17738 12,
17739 OPC_CheckChild0Integer, 127|128,57,
17740 OPC_RecordChild1,
17741 OPC_RecordChild2,
17742 OPC_CheckPatternPredicate1,
17743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
17744 MVT::v4i32, 2, 9,
17745 12,
17746 OPC_CheckChild0Integer, 1|128,58,
17747 OPC_RecordChild1,
17748 OPC_RecordChild2,
17749 OPC_CheckPatternPredicate1,
17750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
17751 MVT::v4i32, 2, 9,
17752 12,
17753 OPC_CheckChild0Integer, 11|128,58,
17754 OPC_RecordChild1,
17755 OPC_RecordChild2,
17756 OPC_CheckPatternPredicate1,
17757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
17758 MVT::v4i32, 2, 9,
17759 12,
17760 OPC_CheckChild0Integer, 13|128,58,
17761 OPC_RecordChild1,
17762 OPC_RecordChild2,
17763 OPC_CheckPatternPredicate1,
17764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_S),
17765 MVT::v4i32, 2, 9,
17766 12,
17767 OPC_CheckChild0Integer, 31|128,58,
17768 OPC_RecordChild1,
17769 OPC_RecordChild2,
17770 OPC_CheckPatternPredicate1,
17771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_S),
17772 MVT::v4i32, 2, 9,
17773 12,
17774 OPC_CheckChild0Integer, 15|128,58,
17775 OPC_RecordChild1,
17776 OPC_RecordChild2,
17777 OPC_CheckPatternPredicate1,
17778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_S),
17779 MVT::v4i32, 2, 9,
17780 12,
17781 OPC_CheckChild0Integer, 25|128,58,
17782 OPC_RecordChild1,
17783 OPC_RecordChild2,
17784 OPC_CheckPatternPredicate1,
17785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_S),
17786 MVT::v4i32, 2, 9,
17787 12,
17788 OPC_CheckChild0Integer, 19|128,58,
17789 OPC_RecordChild1,
17790 OPC_RecordChild2,
17791 OPC_CheckPatternPredicate1,
17792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_S),
17793 MVT::v4i32, 2, 9,
17794 12,
17795 OPC_CheckChild0Integer, 29|128,58,
17796 OPC_RecordChild1,
17797 OPC_RecordChild2,
17798 OPC_CheckPatternPredicate1,
17799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_S),
17800 MVT::v4i32, 2, 9,
17801 12,
17802 OPC_CheckChild0Integer, 17|128,58,
17803 OPC_RecordChild1,
17804 OPC_RecordChild2,
17805 OPC_CheckPatternPredicate1,
17806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_S),
17807 MVT::v4i32, 2, 9,
17808 12,
17809 OPC_CheckChild0Integer, 27|128,58,
17810 OPC_RecordChild1,
17811 OPC_RecordChild2,
17812 OPC_CheckPatternPredicate1,
17813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_S),
17814 MVT::v4i32, 2, 9,
17815 12,
17816 OPC_CheckChild0Integer, 21|128,58,
17817 OPC_RecordChild1,
17818 OPC_RecordChild2,
17819 OPC_CheckPatternPredicate1,
17820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_S),
17821 MVT::v4i32, 2, 9,
17822 12,
17823 OPC_CheckChild0Integer, 23|128,58,
17824 OPC_RecordChild1,
17825 OPC_RecordChild2,
17826 OPC_CheckPatternPredicate1,
17827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_S),
17828 MVT::v4i32, 2, 9,
17829 12,
17830 OPC_CheckChild0Integer, 33|128,58,
17831 OPC_RecordChild1,
17832 OPC_RecordChild2,
17833 OPC_CheckPatternPredicate1,
17834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_S),
17835 MVT::v4i32, 2, 9,
17836 12,
17837 OPC_CheckChild0Integer, 108|128,58,
17838 OPC_RecordChild1,
17839 OPC_RecordChild2,
17840 OPC_CheckPatternPredicate1,
17841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_D),
17842 MVT::v4i32, 2, 9,
17843 12,
17844 OPC_CheckChild0Integer, 119|128,58,
17845 OPC_RecordChild1,
17846 OPC_RecordChild2,
17847 OPC_CheckPatternPredicate1,
17848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_D),
17849 MVT::v4i32, 2, 9,
17850 12,
17851 OPC_CheckChild0Integer, 113|128,58,
17852 OPC_RecordChild1,
17853 OPC_RecordChild2,
17854 OPC_CheckPatternPredicate1,
17855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_D),
17856 MVT::v4i32, 2, 9,
17857 12,
17858 OPC_CheckChild0Integer, 103|128,58,
17859 OPC_RecordChild1,
17860 OPC_RecordChild2,
17861 OPC_CheckPatternPredicate1,
17862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_D),
17863 MVT::v4i32, 2, 9,
17864 12,
17865 OPC_CheckChild0Integer, 97|128,58,
17866 OPC_RecordChild1,
17867 OPC_RecordChild2,
17868 OPC_CheckPatternPredicate1,
17869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_D),
17870 MVT::v4i32, 2, 9,
17871 12,
17872 OPC_CheckChild0Integer, 118|128,57,
17873 OPC_RecordChild1,
17874 OPC_RecordChild2,
17875 OPC_CheckPatternPredicate1,
17876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_D),
17877 MVT::v2i64, 2, 9,
17878 12,
17879 OPC_CheckChild0Integer, 8|128,58,
17880 OPC_RecordChild1,
17881 OPC_RecordChild2,
17882 OPC_CheckPatternPredicate1,
17883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
17884 MVT::v2i64, 2, 9,
17885 12,
17886 OPC_CheckChild0Integer, 120|128,57,
17887 OPC_RecordChild1,
17888 OPC_RecordChild2,
17889 OPC_CheckPatternPredicate1,
17890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
17891 MVT::v2i64, 2, 9,
17892 12,
17893 OPC_CheckChild0Integer, 2|128,58,
17894 OPC_RecordChild1,
17895 OPC_RecordChild2,
17896 OPC_CheckPatternPredicate1,
17897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
17898 MVT::v2i64, 2, 9,
17899 12,
17900 OPC_CheckChild0Integer, 124|128,57,
17901 OPC_RecordChild1,
17902 OPC_RecordChild2,
17903 OPC_CheckPatternPredicate1,
17904 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
17905 MVT::v2i64, 2, 9,
17906 12,
17907 OPC_CheckChild0Integer, 6|128,58,
17908 OPC_RecordChild1,
17909 OPC_RecordChild2,
17910 OPC_CheckPatternPredicate1,
17911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
17912 MVT::v2i64, 2, 9,
17913 12,
17914 OPC_CheckChild0Integer, 122|128,57,
17915 OPC_RecordChild1,
17916 OPC_RecordChild2,
17917 OPC_CheckPatternPredicate1,
17918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
17919 MVT::v2i64, 2, 9,
17920 12,
17921 OPC_CheckChild0Integer, 4|128,58,
17922 OPC_RecordChild1,
17923 OPC_RecordChild2,
17924 OPC_CheckPatternPredicate1,
17925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
17926 MVT::v2i64, 2, 9,
17927 12,
17928 OPC_CheckChild0Integer, 126|128,57,
17929 OPC_RecordChild1,
17930 OPC_RecordChild2,
17931 OPC_CheckPatternPredicate1,
17932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
17933 MVT::v2i64, 2, 9,
17934 12,
17935 OPC_CheckChild0Integer, 0|128,58,
17936 OPC_RecordChild1,
17937 OPC_RecordChild2,
17938 OPC_CheckPatternPredicate1,
17939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
17940 MVT::v2i64, 2, 9,
17941 12,
17942 OPC_CheckChild0Integer, 10|128,58,
17943 OPC_RecordChild1,
17944 OPC_RecordChild2,
17945 OPC_CheckPatternPredicate1,
17946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
17947 MVT::v2i64, 2, 9,
17948 12,
17949 OPC_CheckChild0Integer, 12|128,58,
17950 OPC_RecordChild1,
17951 OPC_RecordChild2,
17952 OPC_CheckPatternPredicate1,
17953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_D),
17954 MVT::v2i64, 2, 9,
17955 12,
17956 OPC_CheckChild0Integer, 30|128,58,
17957 OPC_RecordChild1,
17958 OPC_RecordChild2,
17959 OPC_CheckPatternPredicate1,
17960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_D),
17961 MVT::v2i64, 2, 9,
17962 12,
17963 OPC_CheckChild0Integer, 14|128,58,
17964 OPC_RecordChild1,
17965 OPC_RecordChild2,
17966 OPC_CheckPatternPredicate1,
17967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_D),
17968 MVT::v2i64, 2, 9,
17969 12,
17970 OPC_CheckChild0Integer, 24|128,58,
17971 OPC_RecordChild1,
17972 OPC_RecordChild2,
17973 OPC_CheckPatternPredicate1,
17974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_D),
17975 MVT::v2i64, 2, 9,
17976 12,
17977 OPC_CheckChild0Integer, 18|128,58,
17978 OPC_RecordChild1,
17979 OPC_RecordChild2,
17980 OPC_CheckPatternPredicate1,
17981 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_D),
17982 MVT::v2i64, 2, 9,
17983 12,
17984 OPC_CheckChild0Integer, 28|128,58,
17985 OPC_RecordChild1,
17986 OPC_RecordChild2,
17987 OPC_CheckPatternPredicate1,
17988 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_D),
17989 MVT::v2i64, 2, 9,
17990 12,
17991 OPC_CheckChild0Integer, 16|128,58,
17992 OPC_RecordChild1,
17993 OPC_RecordChild2,
17994 OPC_CheckPatternPredicate1,
17995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_D),
17996 MVT::v2i64, 2, 9,
17997 12,
17998 OPC_CheckChild0Integer, 26|128,58,
17999 OPC_RecordChild1,
18000 OPC_RecordChild2,
18001 OPC_CheckPatternPredicate1,
18002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_D),
18003 MVT::v2i64, 2, 9,
18004 12,
18005 OPC_CheckChild0Integer, 20|128,58,
18006 OPC_RecordChild1,
18007 OPC_RecordChild2,
18008 OPC_CheckPatternPredicate1,
18009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_D),
18010 MVT::v2i64, 2, 9,
18011 12,
18012 OPC_CheckChild0Integer, 22|128,58,
18013 OPC_RecordChild1,
18014 OPC_RecordChild2,
18015 OPC_CheckPatternPredicate1,
18016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_D),
18017 MVT::v2i64, 2, 9,
18018 12,
18019 OPC_CheckChild0Integer, 32|128,58,
18020 OPC_RecordChild1,
18021 OPC_RecordChild2,
18022 OPC_CheckPatternPredicate1,
18023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_D),
18024 MVT::v2i64, 2, 9,
18025 11,
18026 OPC_CheckChild0Integer, 117|128,57,
18027 OPC_RecordChild1,
18028 OPC_CheckPatternPredicate1,
18029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_S),
18030 MVT::v4i32, 1, 1,
18031 11,
18032 OPC_CheckChild0Integer, 109|128,58,
18033 OPC_RecordChild1,
18034 OPC_CheckPatternPredicate1,
18035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_S),
18036 MVT::v4i32, 1, 1,
18037 11,
18038 OPC_CheckChild0Integer, 120|128,58,
18039 OPC_RecordChild1,
18040 OPC_CheckPatternPredicate1,
18041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
18042 MVT::v4i32, 1, 1,
18043 11,
18044 OPC_CheckChild0Integer, 114|128,58,
18045 OPC_RecordChild1,
18046 OPC_CheckPatternPredicate1,
18047 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_S),
18048 MVT::v4i32, 1, 1,
18049 11,
18050 OPC_CheckChild0Integer, 104|128,58,
18051 OPC_RecordChild1,
18052 OPC_CheckPatternPredicate1,
18053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_S),
18054 MVT::v4i32, 1, 1,
18055 11,
18056 OPC_CheckChild0Integer, 98|128,58,
18057 OPC_RecordChild1,
18058 OPC_CheckPatternPredicate1,
18059 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_S),
18060 MVT::v4i32, 1, 1,
18061 11,
18062 OPC_CheckChild0Integer, 121|128,58,
18063 OPC_RecordChild1,
18064 OPC_CheckPatternPredicate1,
18065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
18066 MVT::v4i32, 1, 1,
18067 11,
18068 OPC_CheckChild0Integer, 99|128,58,
18069 OPC_RecordChild1,
18070 OPC_CheckPatternPredicate1,
18071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_WU_S),
18072 MVT::v4i32, 1, 1,
18073 11,
18074 OPC_CheckChild0Integer, 111|128,58,
18075 OPC_RecordChild1,
18076 OPC_CheckPatternPredicate1,
18077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEL_L_S),
18078 MVT::v2i64, 1, 1,
18079 11,
18080 OPC_CheckChild0Integer, 110|128,58,
18081 OPC_RecordChild1,
18082 OPC_CheckPatternPredicate1,
18083 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEH_L_S),
18084 MVT::v2i64, 1, 1,
18085 11,
18086 OPC_CheckChild0Integer, 123|128,58,
18087 OPC_RecordChild1,
18088 OPC_CheckPatternPredicate1,
18089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZL_L_S),
18090 MVT::v2i64, 1, 1,
18091 11,
18092 OPC_CheckChild0Integer, 122|128,58,
18093 OPC_RecordChild1,
18094 OPC_CheckPatternPredicate1,
18095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZH_L_S),
18096 MVT::v2i64, 1, 1,
18097 11,
18098 OPC_CheckChild0Integer, 116|128,58,
18099 OPC_RecordChild1,
18100 OPC_CheckPatternPredicate1,
18101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPL_L_S),
18102 MVT::v2i64, 1, 1,
18103 11,
18104 OPC_CheckChild0Integer, 115|128,58,
18105 OPC_RecordChild1,
18106 OPC_CheckPatternPredicate1,
18107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPH_L_S),
18108 MVT::v2i64, 1, 1,
18109 11,
18110 OPC_CheckChild0Integer, 106|128,58,
18111 OPC_RecordChild1,
18112 OPC_CheckPatternPredicate1,
18113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRML_L_S),
18114 MVT::v2i64, 1, 1,
18115 11,
18116 OPC_CheckChild0Integer, 105|128,58,
18117 OPC_RecordChild1,
18118 OPC_CheckPatternPredicate1,
18119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRMH_L_S),
18120 MVT::v2i64, 1, 1,
18121 11,
18122 OPC_CheckChild0Integer, 101|128,58,
18123 OPC_RecordChild1,
18124 OPC_CheckPatternPredicate1,
18125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTL_L_S),
18126 MVT::v2i64, 1, 1,
18127 11,
18128 OPC_CheckChild0Integer, 100|128,58,
18129 OPC_RecordChild1,
18130 OPC_CheckPatternPredicate1,
18131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTH_L_S),
18132 MVT::v2i64, 1, 1,
18133 11,
18134 OPC_CheckChild0Integer, 116|128,57,
18135 OPC_RecordChild1,
18136 OPC_CheckPatternPredicate1,
18137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_D),
18138 MVT::v2i64, 1, 1,
18139 11,
18140 OPC_CheckChild0Integer, 107|128,58,
18141 OPC_RecordChild1,
18142 OPC_CheckPatternPredicate1,
18143 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_L_D),
18144 MVT::v2i64, 1, 1,
18145 11,
18146 OPC_CheckChild0Integer, 117|128,58,
18147 OPC_RecordChild1,
18148 OPC_CheckPatternPredicate1,
18149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_L_D),
18150 MVT::v2i64, 1, 1,
18151 11,
18152 OPC_CheckChild0Integer, 112|128,58,
18153 OPC_RecordChild1,
18154 OPC_CheckPatternPredicate1,
18155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_L_D),
18156 MVT::v2i64, 1, 1,
18157 11,
18158 OPC_CheckChild0Integer, 102|128,58,
18159 OPC_RecordChild1,
18160 OPC_CheckPatternPredicate1,
18161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_L_D),
18162 MVT::v2i64, 1, 1,
18163 11,
18164 OPC_CheckChild0Integer, 95|128,58,
18165 OPC_RecordChild1,
18166 OPC_CheckPatternPredicate1,
18167 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_L_D),
18168 MVT::v2i64, 1, 1,
18169 11,
18170 OPC_CheckChild0Integer, 118|128,58,
18171 OPC_RecordChild1,
18172 OPC_CheckPatternPredicate1,
18173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_LU_D),
18174 MVT::v2i64, 1, 1,
18175 11,
18176 OPC_CheckChild0Integer, 96|128,58,
18177 OPC_RecordChild1,
18178 OPC_CheckPatternPredicate1,
18179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_LU_D),
18180 MVT::v2i64, 1, 1,
18181 13,
18182 OPC_CheckChild0Integer, 127|128,50,
18183 OPC_RecordChild1,
18184 OPC_CheckPatternPredicate0,
18185 OPC_EmitIntegerI32, LoongArch::sub_128,
18186 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18187 MVT::v2i64, 2, 9,
18188 12,
18189 OPC_CheckChild0Integer, 125|128,54,
18190 OPC_RecordChild1,
18191 OPC_RecordChild2,
18192 OPC_CheckPatternPredicate0,
18193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_B),
18194 MVT::v32i8, 2, 9,
18195 12,
18196 OPC_CheckChild0Integer, 126|128,54,
18197 OPC_RecordChild1,
18198 OPC_RecordChild2,
18199 OPC_CheckPatternPredicate0,
18200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_BU),
18201 MVT::v32i8, 2, 9,
18202 12,
18203 OPC_CheckChild0Integer, 67|128,56,
18204 OPC_RecordChild1,
18205 OPC_RecordChild2,
18206 OPC_CheckPatternPredicate0,
18207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_B),
18208 MVT::v32i8, 2, 9,
18209 12,
18210 OPC_CheckChild0Integer, 68|128,56,
18211 OPC_RecordChild1,
18212 OPC_RecordChild2,
18213 OPC_CheckPatternPredicate0,
18214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_BU),
18215 MVT::v32i8, 2, 9,
18216 12,
18217 OPC_CheckChild0Integer, 36|128,53,
18218 OPC_RecordChild1,
18219 OPC_RecordChild2,
18220 OPC_CheckPatternPredicate0,
18221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_H_B),
18222 MVT::v16i16, 2, 9,
18223 12,
18224 OPC_CheckChild0Integer, 37|128,53,
18225 OPC_RecordChild1,
18226 OPC_RecordChild2,
18227 OPC_CheckPatternPredicate0,
18228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_HU_BU),
18229 MVT::v16i16, 2, 9,
18230 12,
18231 OPC_CheckChild0Integer, 44|128,53,
18232 OPC_RecordChild1,
18233 OPC_RecordChild2,
18234 OPC_CheckPatternPredicate0,
18235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_H_B),
18236 MVT::v16i16, 2, 9,
18237 12,
18238 OPC_CheckChild0Integer, 45|128,53,
18239 OPC_RecordChild1,
18240 OPC_RecordChild2,
18241 OPC_CheckPatternPredicate0,
18242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_HU_BU),
18243 MVT::v16i16, 2, 9,
18244 12,
18245 OPC_CheckChild0Integer, 54|128,51,
18246 OPC_RecordChild1,
18247 OPC_RecordChild2,
18248 OPC_CheckPatternPredicate0,
18249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_B),
18250 MVT::v16i16, 2, 9,
18251 12,
18252 OPC_CheckChild0Integer, 66|128,51,
18253 OPC_RecordChild1,
18254 OPC_RecordChild2,
18255 OPC_CheckPatternPredicate0,
18256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_B),
18257 MVT::v16i16, 2, 9,
18258 12,
18259 OPC_CheckChild0Integer, 92|128,56,
18260 OPC_RecordChild1,
18261 OPC_RecordChild2,
18262 OPC_CheckPatternPredicate0,
18263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_B),
18264 MVT::v16i16, 2, 9,
18265 12,
18266 OPC_CheckChild0Integer, 100|128,56,
18267 OPC_RecordChild1,
18268 OPC_RecordChild2,
18269 OPC_CheckPatternPredicate0,
18270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_B),
18271 MVT::v16i16, 2, 9,
18272 12,
18273 OPC_CheckChild0Integer, 55|128,51,
18274 OPC_RecordChild1,
18275 OPC_RecordChild2,
18276 OPC_CheckPatternPredicate0,
18277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU),
18278 MVT::v16i16, 2, 9,
18279 12,
18280 OPC_CheckChild0Integer, 67|128,51,
18281 OPC_RecordChild1,
18282 OPC_RecordChild2,
18283 OPC_CheckPatternPredicate0,
18284 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU),
18285 MVT::v16i16, 2, 9,
18286 12,
18287 OPC_CheckChild0Integer, 93|128,56,
18288 OPC_RecordChild1,
18289 OPC_RecordChild2,
18290 OPC_CheckPatternPredicate0,
18291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_BU),
18292 MVT::v16i16, 2, 9,
18293 12,
18294 OPC_CheckChild0Integer, 101|128,56,
18295 OPC_RecordChild1,
18296 OPC_RecordChild2,
18297 OPC_CheckPatternPredicate0,
18298 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_BU),
18299 MVT::v16i16, 2, 9,
18300 12,
18301 OPC_CheckChild0Integer, 56|128,51,
18302 OPC_RecordChild1,
18303 OPC_RecordChild2,
18304 OPC_CheckPatternPredicate0,
18305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU_B),
18306 MVT::v16i16, 2, 9,
18307 12,
18308 OPC_CheckChild0Integer, 68|128,51,
18309 OPC_RecordChild1,
18310 OPC_RecordChild2,
18311 OPC_CheckPatternPredicate0,
18312 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU_B),
18313 MVT::v16i16, 2, 9,
18314 12,
18315 OPC_CheckChild0Integer, 78|128,51,
18316 OPC_RecordChild1,
18317 OPC_RecordChild2,
18318 OPC_CheckPatternPredicate0,
18319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_B),
18320 MVT::v32i8, 2, 9,
18321 12,
18322 OPC_CheckChild0Integer, 79|128,51,
18323 OPC_RecordChild1,
18324 OPC_RecordChild2,
18325 OPC_CheckPatternPredicate0,
18326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_BU),
18327 MVT::v32i8, 2, 9,
18328 12,
18329 OPC_CheckChild0Integer, 86|128,51,
18330 OPC_RecordChild1,
18331 OPC_RecordChild2,
18332 OPC_CheckPatternPredicate0,
18333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_B),
18334 MVT::v32i8, 2, 9,
18335 12,
18336 OPC_CheckChild0Integer, 87|128,51,
18337 OPC_RecordChild1,
18338 OPC_RecordChild2,
18339 OPC_CheckPatternPredicate0,
18340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_BU),
18341 MVT::v32i8, 2, 9,
18342 12,
18343 OPC_CheckChild0Integer, 30|128,51,
18344 OPC_RecordChild1,
18345 OPC_RecordChild2,
18346 OPC_CheckPatternPredicate0,
18347 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_B),
18348 MVT::v32i8, 2, 9,
18349 12,
18350 OPC_CheckChild0Integer, 31|128,51,
18351 OPC_RecordChild1,
18352 OPC_RecordChild2,
18353 OPC_CheckPatternPredicate0,
18354 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_BU),
18355 MVT::v32i8, 2, 9,
18356 12,
18357 OPC_CheckChild0Integer, 43|128,51,
18358 OPC_RecordChild1,
18359 OPC_RecordChild2,
18360 OPC_CheckPatternPredicate0,
18361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_B),
18362 MVT::v32i8, 2, 9,
18363 12,
18364 OPC_CheckChild0Integer, 19|128,54,
18365 OPC_RecordChild1,
18366 OPC_RecordChild2,
18367 OPC_CheckPatternPredicate0,
18368 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
18369 MVT::v32i8, 2, 9,
18370 12,
18371 OPC_CheckChild0Integer, 20|128,54,
18372 OPC_RecordChild1,
18373 OPC_RecordChild2,
18374 OPC_CheckPatternPredicate0,
18375 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
18376 MVT::v32i8, 2, 9,
18377 12,
18378 OPC_CheckChild0Integer, 34|128,54,
18379 OPC_RecordChild1,
18380 OPC_RecordChild2,
18381 OPC_CheckPatternPredicate0,
18382 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_B),
18383 MVT::v16i16, 2, 9,
18384 12,
18385 OPC_CheckChild0Integer, 46|128,54,
18386 OPC_RecordChild1,
18387 OPC_RecordChild2,
18388 OPC_CheckPatternPredicate0,
18389 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_B),
18390 MVT::v16i16, 2, 9,
18391 12,
18392 OPC_CheckChild0Integer, 35|128,54,
18393 OPC_RecordChild1,
18394 OPC_RecordChild2,
18395 OPC_CheckPatternPredicate0,
18396 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU),
18397 MVT::v16i16, 2, 9,
18398 12,
18399 OPC_CheckChild0Integer, 47|128,54,
18400 OPC_RecordChild1,
18401 OPC_RecordChild2,
18402 OPC_CheckPatternPredicate0,
18403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU),
18404 MVT::v16i16, 2, 9,
18405 12,
18406 OPC_CheckChild0Integer, 36|128,54,
18407 OPC_RecordChild1,
18408 OPC_RecordChild2,
18409 OPC_CheckPatternPredicate0,
18410 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU_B),
18411 MVT::v16i16, 2, 9,
18412 12,
18413 OPC_CheckChild0Integer, 48|128,54,
18414 OPC_RecordChild1,
18415 OPC_RecordChild2,
18416 OPC_CheckPatternPredicate0,
18417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU_B),
18418 MVT::v16i16, 2, 9,
18419 12,
18420 OPC_CheckChild0Integer, 29|128,55,
18421 OPC_RecordChild1,
18422 OPC_RecordChild2,
18423 OPC_CheckPatternPredicate0,
18424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_B),
18425 MVT::v32i8, 2, 9,
18426 12,
18427 OPC_CheckChild0Integer, 77|128,51,
18428 OPC_RecordChild1,
18429 OPC_RecordChild2,
18430 OPC_CheckPatternPredicate0,
18431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
18432 MVT::v32i8, 2, 9,
18433 12,
18434 OPC_CheckChild0Integer, 63|128,54,
18435 OPC_RecordChild1,
18436 OPC_RecordChild2,
18437 OPC_CheckPatternPredicate0,
18438 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
18439 MVT::v32i8, 2, 9,
18440 12,
18441 OPC_CheckChild0Integer, 117|128,54,
18442 OPC_RecordChild1,
18443 OPC_RecordChild2,
18444 OPC_CheckPatternPredicate0,
18445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
18446 MVT::v32i8, 2, 9,
18447 12,
18448 OPC_CheckChild0Integer, 124|128,55,
18449 OPC_RecordChild1,
18450 OPC_RecordChild2,
18451 OPC_CheckPatternPredicate0,
18452 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_B),
18453 MVT::v32i8, 2, 9,
18454 12,
18455 OPC_CheckChild0Integer, 94|128,55,
18456 OPC_RecordChild1,
18457 OPC_RecordChild2,
18458 OPC_CheckPatternPredicate0,
18459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_B),
18460 MVT::v32i8, 2, 9,
18461 12,
18462 OPC_CheckChild0Integer, 13|128,55,
18463 OPC_RecordChild1,
18464 OPC_RecordChild2,
18465 OPC_CheckPatternPredicate0,
18466 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
18467 MVT::v32i8, 2, 9,
18468 12,
18469 OPC_CheckChild0Integer, 33|128,55,
18470 OPC_RecordChild1,
18471 OPC_RecordChild2,
18472 OPC_CheckPatternPredicate0,
18473 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
18474 MVT::v32i8, 2, 9,
18475 12,
18476 OPC_CheckChild0Integer, 34|128,55,
18477 OPC_RecordChild1,
18478 OPC_RecordChild2,
18479 OPC_CheckPatternPredicate0,
18480 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
18481 MVT::v32i8, 2, 9,
18482 12,
18483 OPC_CheckChild0Integer, 63|128,55,
18484 OPC_RecordChild1,
18485 OPC_RecordChild2,
18486 OPC_CheckPatternPredicate0,
18487 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
18488 MVT::v32i8, 2, 9,
18489 12,
18490 OPC_CheckChild0Integer, 64|128,55,
18491 OPC_RecordChild1,
18492 OPC_RecordChild2,
18493 OPC_CheckPatternPredicate0,
18494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
18495 MVT::v32i8, 2, 9,
18496 12,
18497 OPC_CheckChild0Integer, 64|128,54,
18498 OPC_RecordChild1,
18499 OPC_RecordChild2,
18500 OPC_CheckPatternPredicate0,
18501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_B),
18502 MVT::v32i8, 2, 9,
18503 12,
18504 OPC_CheckChild0Integer, 68|128,54,
18505 OPC_RecordChild1,
18506 OPC_RecordChild2,
18507 OPC_CheckPatternPredicate0,
18508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_B),
18509 MVT::v32i8, 2, 9,
18510 12,
18511 OPC_CheckChild0Integer, 80|128,54,
18512 OPC_RecordChild1,
18513 OPC_RecordChild2,
18514 OPC_CheckPatternPredicate0,
18515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_B),
18516 MVT::v32i8, 2, 9,
18517 12,
18518 OPC_CheckChild0Integer, 84|128,54,
18519 OPC_RecordChild1,
18520 OPC_RecordChild2,
18521 OPC_CheckPatternPredicate0,
18522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_B),
18523 MVT::v32i8, 2, 9,
18524 12,
18525 OPC_CheckChild0Integer, 54|128,53,
18526 OPC_RecordChild1,
18527 OPC_RecordChild2,
18528 OPC_CheckPatternPredicate0,
18529 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_B),
18530 MVT::v32i8, 2, 9,
18531 12,
18532 OPC_CheckChild0Integer, 50|128,53,
18533 OPC_RecordChild1,
18534 OPC_RecordChild2,
18535 OPC_CheckPatternPredicate0,
18536 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_B),
18537 MVT::v32i8, 2, 9,
18538 12,
18539 OPC_CheckChild0Integer, 1|128,55,
18540 OPC_RecordChild1,
18541 OPC_RecordChild2,
18542 OPC_CheckPatternPredicate0,
18543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_H),
18544 MVT::v16i16, 2, 9,
18545 12,
18546 OPC_CheckChild0Integer, 2|128,55,
18547 OPC_RecordChild1,
18548 OPC_RecordChild2,
18549 OPC_CheckPatternPredicate0,
18550 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_HU),
18551 MVT::v16i16, 2, 9,
18552 12,
18553 OPC_CheckChild0Integer, 71|128,56,
18554 OPC_RecordChild1,
18555 OPC_RecordChild2,
18556 OPC_CheckPatternPredicate0,
18557 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_H),
18558 MVT::v16i16, 2, 9,
18559 12,
18560 OPC_CheckChild0Integer, 72|128,56,
18561 OPC_RecordChild1,
18562 OPC_RecordChild2,
18563 OPC_CheckPatternPredicate0,
18564 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_HU),
18565 MVT::v16i16, 2, 9,
18566 12,
18567 OPC_CheckChild0Integer, 40|128,53,
18568 OPC_RecordChild1,
18569 OPC_RecordChild2,
18570 OPC_CheckPatternPredicate0,
18571 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_W_H),
18572 MVT::v8i32, 2, 9,
18573 12,
18574 OPC_CheckChild0Integer, 41|128,53,
18575 OPC_RecordChild1,
18576 OPC_RecordChild2,
18577 OPC_CheckPatternPredicate0,
18578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_WU_HU),
18579 MVT::v8i32, 2, 9,
18580 12,
18581 OPC_CheckChild0Integer, 48|128,53,
18582 OPC_RecordChild1,
18583 OPC_RecordChild2,
18584 OPC_CheckPatternPredicate0,
18585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_W_H),
18586 MVT::v8i32, 2, 9,
18587 12,
18588 OPC_CheckChild0Integer, 49|128,53,
18589 OPC_RecordChild1,
18590 OPC_RecordChild2,
18591 OPC_CheckPatternPredicate0,
18592 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_WU_HU),
18593 MVT::v8i32, 2, 9,
18594 12,
18595 OPC_CheckChild0Integer, 60|128,51,
18596 OPC_RecordChild1,
18597 OPC_RecordChild2,
18598 OPC_CheckPatternPredicate0,
18599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_H),
18600 MVT::v8i32, 2, 9,
18601 12,
18602 OPC_CheckChild0Integer, 72|128,51,
18603 OPC_RecordChild1,
18604 OPC_RecordChild2,
18605 OPC_CheckPatternPredicate0,
18606 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_H),
18607 MVT::v8i32, 2, 9,
18608 12,
18609 OPC_CheckChild0Integer, 96|128,56,
18610 OPC_RecordChild1,
18611 OPC_RecordChild2,
18612 OPC_CheckPatternPredicate0,
18613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_H),
18614 MVT::v8i32, 2, 9,
18615 12,
18616 OPC_CheckChild0Integer, 104|128,56,
18617 OPC_RecordChild1,
18618 OPC_RecordChild2,
18619 OPC_CheckPatternPredicate0,
18620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_H),
18621 MVT::v8i32, 2, 9,
18622 12,
18623 OPC_CheckChild0Integer, 61|128,51,
18624 OPC_RecordChild1,
18625 OPC_RecordChild2,
18626 OPC_CheckPatternPredicate0,
18627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU),
18628 MVT::v8i32, 2, 9,
18629 12,
18630 OPC_CheckChild0Integer, 73|128,51,
18631 OPC_RecordChild1,
18632 OPC_RecordChild2,
18633 OPC_CheckPatternPredicate0,
18634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU),
18635 MVT::v8i32, 2, 9,
18636 12,
18637 OPC_CheckChild0Integer, 97|128,56,
18638 OPC_RecordChild1,
18639 OPC_RecordChild2,
18640 OPC_CheckPatternPredicate0,
18641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_HU),
18642 MVT::v8i32, 2, 9,
18643 12,
18644 OPC_CheckChild0Integer, 105|128,56,
18645 OPC_RecordChild1,
18646 OPC_RecordChild2,
18647 OPC_CheckPatternPredicate0,
18648 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_HU),
18649 MVT::v8i32, 2, 9,
18650 12,
18651 OPC_CheckChild0Integer, 62|128,51,
18652 OPC_RecordChild1,
18653 OPC_RecordChild2,
18654 OPC_CheckPatternPredicate0,
18655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU_H),
18656 MVT::v8i32, 2, 9,
18657 12,
18658 OPC_CheckChild0Integer, 74|128,51,
18659 OPC_RecordChild1,
18660 OPC_RecordChild2,
18661 OPC_CheckPatternPredicate0,
18662 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU_H),
18663 MVT::v8i32, 2, 9,
18664 12,
18665 OPC_CheckChild0Integer, 82|128,51,
18666 OPC_RecordChild1,
18667 OPC_RecordChild2,
18668 OPC_CheckPatternPredicate0,
18669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_H),
18670 MVT::v16i16, 2, 9,
18671 12,
18672 OPC_CheckChild0Integer, 83|128,51,
18673 OPC_RecordChild1,
18674 OPC_RecordChild2,
18675 OPC_CheckPatternPredicate0,
18676 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_HU),
18677 MVT::v16i16, 2, 9,
18678 12,
18679 OPC_CheckChild0Integer, 90|128,51,
18680 OPC_RecordChild1,
18681 OPC_RecordChild2,
18682 OPC_CheckPatternPredicate0,
18683 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_H),
18684 MVT::v16i16, 2, 9,
18685 12,
18686 OPC_CheckChild0Integer, 91|128,51,
18687 OPC_RecordChild1,
18688 OPC_RecordChild2,
18689 OPC_CheckPatternPredicate0,
18690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_HU),
18691 MVT::v16i16, 2, 9,
18692 12,
18693 OPC_CheckChild0Integer, 34|128,51,
18694 OPC_RecordChild1,
18695 OPC_RecordChild2,
18696 OPC_CheckPatternPredicate0,
18697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_H),
18698 MVT::v16i16, 2, 9,
18699 12,
18700 OPC_CheckChild0Integer, 35|128,51,
18701 OPC_RecordChild1,
18702 OPC_RecordChild2,
18703 OPC_CheckPatternPredicate0,
18704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_HU),
18705 MVT::v16i16, 2, 9,
18706 12,
18707 OPC_CheckChild0Integer, 45|128,51,
18708 OPC_RecordChild1,
18709 OPC_RecordChild2,
18710 OPC_CheckPatternPredicate0,
18711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_H),
18712 MVT::v16i16, 2, 9,
18713 12,
18714 OPC_CheckChild0Integer, 23|128,54,
18715 OPC_RecordChild1,
18716 OPC_RecordChild2,
18717 OPC_CheckPatternPredicate0,
18718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
18719 MVT::v16i16, 2, 9,
18720 12,
18721 OPC_CheckChild0Integer, 24|128,54,
18722 OPC_RecordChild1,
18723 OPC_RecordChild2,
18724 OPC_CheckPatternPredicate0,
18725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
18726 MVT::v16i16, 2, 9,
18727 12,
18728 OPC_CheckChild0Integer, 40|128,54,
18729 OPC_RecordChild1,
18730 OPC_RecordChild2,
18731 OPC_CheckPatternPredicate0,
18732 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_H),
18733 MVT::v8i32, 2, 9,
18734 12,
18735 OPC_CheckChild0Integer, 52|128,54,
18736 OPC_RecordChild1,
18737 OPC_RecordChild2,
18738 OPC_CheckPatternPredicate0,
18739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_H),
18740 MVT::v8i32, 2, 9,
18741 12,
18742 OPC_CheckChild0Integer, 41|128,54,
18743 OPC_RecordChild1,
18744 OPC_RecordChild2,
18745 OPC_CheckPatternPredicate0,
18746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU),
18747 MVT::v8i32, 2, 9,
18748 12,
18749 OPC_CheckChild0Integer, 53|128,54,
18750 OPC_RecordChild1,
18751 OPC_RecordChild2,
18752 OPC_CheckPatternPredicate0,
18753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU),
18754 MVT::v8i32, 2, 9,
18755 12,
18756 OPC_CheckChild0Integer, 42|128,54,
18757 OPC_RecordChild1,
18758 OPC_RecordChild2,
18759 OPC_CheckPatternPredicate0,
18760 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU_H),
18761 MVT::v8i32, 2, 9,
18762 12,
18763 OPC_CheckChild0Integer, 54|128,54,
18764 OPC_RecordChild1,
18765 OPC_RecordChild2,
18766 OPC_CheckPatternPredicate0,
18767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU_H),
18768 MVT::v8i32, 2, 9,
18769 12,
18770 OPC_CheckChild0Integer, 31|128,55,
18771 OPC_RecordChild1,
18772 OPC_RecordChild2,
18773 OPC_CheckPatternPredicate0,
18774 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_H),
18775 MVT::v16i16, 2, 9,
18776 12,
18777 OPC_CheckChild0Integer, 119|128,54,
18778 OPC_RecordChild1,
18779 OPC_RecordChild2,
18780 OPC_CheckPatternPredicate0,
18781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
18782 MVT::v16i16, 2, 9,
18783 12,
18784 OPC_CheckChild0Integer, 126|128,55,
18785 OPC_RecordChild1,
18786 OPC_RecordChild2,
18787 OPC_CheckPatternPredicate0,
18788 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_H),
18789 MVT::v16i16, 2, 9,
18790 12,
18791 OPC_CheckChild0Integer, 96|128,55,
18792 OPC_RecordChild1,
18793 OPC_RecordChild2,
18794 OPC_CheckPatternPredicate0,
18795 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_H),
18796 MVT::v16i16, 2, 9,
18797 12,
18798 OPC_CheckChild0Integer, 117|128,55,
18799 OPC_RecordChild1,
18800 OPC_RecordChild2,
18801 OPC_CheckPatternPredicate0,
18802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_B_H),
18803 MVT::v32i8, 2, 9,
18804 12,
18805 OPC_CheckChild0Integer, 87|128,55,
18806 OPC_RecordChild1,
18807 OPC_RecordChild2,
18808 OPC_CheckPatternPredicate0,
18809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_B_H),
18810 MVT::v32i8, 2, 9,
18811 12,
18812 OPC_CheckChild0Integer, 4|128,56,
18813 OPC_RecordChild1,
18814 OPC_RecordChild2,
18815 OPC_CheckPatternPredicate0,
18816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_B_H),
18817 MVT::v32i8, 2, 9,
18818 12,
18819 OPC_CheckChild0Integer, 102|128,55,
18820 OPC_RecordChild1,
18821 OPC_RecordChild2,
18822 OPC_CheckPatternPredicate0,
18823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_B_H),
18824 MVT::v32i8, 2, 9,
18825 12,
18826 OPC_CheckChild0Integer, 39|128,56,
18827 OPC_RecordChild1,
18828 OPC_RecordChild2,
18829 OPC_CheckPatternPredicate0,
18830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_B_H),
18831 MVT::v32i8, 2, 9,
18832 12,
18833 OPC_CheckChild0Integer, 11|128,56,
18834 OPC_RecordChild1,
18835 OPC_RecordChild2,
18836 OPC_CheckPatternPredicate0,
18837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_B_H),
18838 MVT::v32i8, 2, 9,
18839 12,
18840 OPC_CheckChild0Integer, 40|128,56,
18841 OPC_RecordChild1,
18842 OPC_RecordChild2,
18843 OPC_CheckPatternPredicate0,
18844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_BU_H),
18845 MVT::v32i8, 2, 9,
18846 12,
18847 OPC_CheckChild0Integer, 12|128,56,
18848 OPC_RecordChild1,
18849 OPC_RecordChild2,
18850 OPC_CheckPatternPredicate0,
18851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_BU_H),
18852 MVT::v32i8, 2, 9,
18853 12,
18854 OPC_CheckChild0Integer, 53|128,56,
18855 OPC_RecordChild1,
18856 OPC_RecordChild2,
18857 OPC_CheckPatternPredicate0,
18858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_B_H),
18859 MVT::v32i8, 2, 9,
18860 12,
18861 OPC_CheckChild0Integer, 25|128,56,
18862 OPC_RecordChild1,
18863 OPC_RecordChild2,
18864 OPC_CheckPatternPredicate0,
18865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_B_H),
18866 MVT::v32i8, 2, 9,
18867 12,
18868 OPC_CheckChild0Integer, 54|128,56,
18869 OPC_RecordChild1,
18870 OPC_RecordChild2,
18871 OPC_CheckPatternPredicate0,
18872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_BU_H),
18873 MVT::v32i8, 2, 9,
18874 12,
18875 OPC_CheckChild0Integer, 26|128,56,
18876 OPC_RecordChild1,
18877 OPC_RecordChild2,
18878 OPC_CheckPatternPredicate0,
18879 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_BU_H),
18880 MVT::v32i8, 2, 9,
18881 12,
18882 OPC_CheckChild0Integer, 15|128,55,
18883 OPC_RecordChild1,
18884 OPC_RecordChild2,
18885 OPC_CheckPatternPredicate0,
18886 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
18887 MVT::v16i16, 2, 9,
18888 12,
18889 OPC_CheckChild0Integer, 37|128,55,
18890 OPC_RecordChild1,
18891 OPC_RecordChild2,
18892 OPC_CheckPatternPredicate0,
18893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
18894 MVT::v16i16, 2, 9,
18895 12,
18896 OPC_CheckChild0Integer, 38|128,55,
18897 OPC_RecordChild1,
18898 OPC_RecordChild2,
18899 OPC_CheckPatternPredicate0,
18900 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
18901 MVT::v16i16, 2, 9,
18902 12,
18903 OPC_CheckChild0Integer, 67|128,55,
18904 OPC_RecordChild1,
18905 OPC_RecordChild2,
18906 OPC_CheckPatternPredicate0,
18907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
18908 MVT::v16i16, 2, 9,
18909 12,
18910 OPC_CheckChild0Integer, 68|128,55,
18911 OPC_RecordChild1,
18912 OPC_RecordChild2,
18913 OPC_CheckPatternPredicate0,
18914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
18915 MVT::v16i16, 2, 9,
18916 12,
18917 OPC_CheckChild0Integer, 66|128,54,
18918 OPC_RecordChild1,
18919 OPC_RecordChild2,
18920 OPC_CheckPatternPredicate0,
18921 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_H),
18922 MVT::v16i16, 2, 9,
18923 12,
18924 OPC_CheckChild0Integer, 70|128,54,
18925 OPC_RecordChild1,
18926 OPC_RecordChild2,
18927 OPC_CheckPatternPredicate0,
18928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_H),
18929 MVT::v16i16, 2, 9,
18930 12,
18931 OPC_CheckChild0Integer, 82|128,54,
18932 OPC_RecordChild1,
18933 OPC_RecordChild2,
18934 OPC_CheckPatternPredicate0,
18935 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_H),
18936 MVT::v16i16, 2, 9,
18937 12,
18938 OPC_CheckChild0Integer, 86|128,54,
18939 OPC_RecordChild1,
18940 OPC_RecordChild2,
18941 OPC_CheckPatternPredicate0,
18942 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_H),
18943 MVT::v16i16, 2, 9,
18944 12,
18945 OPC_CheckChild0Integer, 56|128,53,
18946 OPC_RecordChild1,
18947 OPC_RecordChild2,
18948 OPC_CheckPatternPredicate0,
18949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_H),
18950 MVT::v16i16, 2, 9,
18951 12,
18952 OPC_CheckChild0Integer, 52|128,53,
18953 OPC_RecordChild1,
18954 OPC_RecordChild2,
18955 OPC_CheckPatternPredicate0,
18956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_H),
18957 MVT::v16i16, 2, 9,
18958 12,
18959 OPC_CheckChild0Integer, 3|128,55,
18960 OPC_RecordChild1,
18961 OPC_RecordChild2,
18962 OPC_CheckPatternPredicate0,
18963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_W),
18964 MVT::v8i32, 2, 9,
18965 12,
18966 OPC_CheckChild0Integer, 4|128,55,
18967 OPC_RecordChild1,
18968 OPC_RecordChild2,
18969 OPC_CheckPatternPredicate0,
18970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_WU),
18971 MVT::v8i32, 2, 9,
18972 12,
18973 OPC_CheckChild0Integer, 73|128,56,
18974 OPC_RecordChild1,
18975 OPC_RecordChild2,
18976 OPC_CheckPatternPredicate0,
18977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_W),
18978 MVT::v8i32, 2, 9,
18979 12,
18980 OPC_CheckChild0Integer, 74|128,56,
18981 OPC_RecordChild1,
18982 OPC_RecordChild2,
18983 OPC_CheckPatternPredicate0,
18984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_WU),
18985 MVT::v8i32, 2, 9,
18986 12,
18987 OPC_CheckChild0Integer, 34|128,53,
18988 OPC_RecordChild1,
18989 OPC_RecordChild2,
18990 OPC_CheckPatternPredicate0,
18991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_D_W),
18992 MVT::v4i64, 2, 9,
18993 12,
18994 OPC_CheckChild0Integer, 35|128,53,
18995 OPC_RecordChild1,
18996 OPC_RecordChild2,
18997 OPC_CheckPatternPredicate0,
18998 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_DU_WU),
18999 MVT::v4i64, 2, 9,
19000 12,
19001 OPC_CheckChild0Integer, 42|128,53,
19002 OPC_RecordChild1,
19003 OPC_RecordChild2,
19004 OPC_CheckPatternPredicate0,
19005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_D_W),
19006 MVT::v4i64, 2, 9,
19007 12,
19008 OPC_CheckChild0Integer, 43|128,53,
19009 OPC_RecordChild1,
19010 OPC_RecordChild2,
19011 OPC_CheckPatternPredicate0,
19012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_DU_WU),
19013 MVT::v4i64, 2, 9,
19014 12,
19015 OPC_CheckChild0Integer, 51|128,51,
19016 OPC_RecordChild1,
19017 OPC_RecordChild2,
19018 OPC_CheckPatternPredicate0,
19019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_W),
19020 MVT::v4i64, 2, 9,
19021 12,
19022 OPC_CheckChild0Integer, 63|128,51,
19023 OPC_RecordChild1,
19024 OPC_RecordChild2,
19025 OPC_CheckPatternPredicate0,
19026 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_W),
19027 MVT::v4i64, 2, 9,
19028 12,
19029 OPC_CheckChild0Integer, 90|128,56,
19030 OPC_RecordChild1,
19031 OPC_RecordChild2,
19032 OPC_CheckPatternPredicate0,
19033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_W),
19034 MVT::v4i64, 2, 9,
19035 12,
19036 OPC_CheckChild0Integer, 98|128,56,
19037 OPC_RecordChild1,
19038 OPC_RecordChild2,
19039 OPC_CheckPatternPredicate0,
19040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_W),
19041 MVT::v4i64, 2, 9,
19042 12,
19043 OPC_CheckChild0Integer, 52|128,51,
19044 OPC_RecordChild1,
19045 OPC_RecordChild2,
19046 OPC_CheckPatternPredicate0,
19047 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU),
19048 MVT::v4i64, 2, 9,
19049 12,
19050 OPC_CheckChild0Integer, 64|128,51,
19051 OPC_RecordChild1,
19052 OPC_RecordChild2,
19053 OPC_CheckPatternPredicate0,
19054 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU),
19055 MVT::v4i64, 2, 9,
19056 12,
19057 OPC_CheckChild0Integer, 91|128,56,
19058 OPC_RecordChild1,
19059 OPC_RecordChild2,
19060 OPC_CheckPatternPredicate0,
19061 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_WU),
19062 MVT::v4i64, 2, 9,
19063 12,
19064 OPC_CheckChild0Integer, 99|128,56,
19065 OPC_RecordChild1,
19066 OPC_RecordChild2,
19067 OPC_CheckPatternPredicate0,
19068 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_WU),
19069 MVT::v4i64, 2, 9,
19070 12,
19071 OPC_CheckChild0Integer, 53|128,51,
19072 OPC_RecordChild1,
19073 OPC_RecordChild2,
19074 OPC_CheckPatternPredicate0,
19075 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU_W),
19076 MVT::v4i64, 2, 9,
19077 12,
19078 OPC_CheckChild0Integer, 65|128,51,
19079 OPC_RecordChild1,
19080 OPC_RecordChild2,
19081 OPC_CheckPatternPredicate0,
19082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU_W),
19083 MVT::v4i64, 2, 9,
19084 12,
19085 OPC_CheckChild0Integer, 84|128,51,
19086 OPC_RecordChild1,
19087 OPC_RecordChild2,
19088 OPC_CheckPatternPredicate0,
19089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_W),
19090 MVT::v8i32, 2, 9,
19091 12,
19092 OPC_CheckChild0Integer, 85|128,51,
19093 OPC_RecordChild1,
19094 OPC_RecordChild2,
19095 OPC_CheckPatternPredicate0,
19096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_WU),
19097 MVT::v8i32, 2, 9,
19098 12,
19099 OPC_CheckChild0Integer, 92|128,51,
19100 OPC_RecordChild1,
19101 OPC_RecordChild2,
19102 OPC_CheckPatternPredicate0,
19103 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_W),
19104 MVT::v8i32, 2, 9,
19105 12,
19106 OPC_CheckChild0Integer, 93|128,51,
19107 OPC_RecordChild1,
19108 OPC_RecordChild2,
19109 OPC_CheckPatternPredicate0,
19110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_WU),
19111 MVT::v8i32, 2, 9,
19112 12,
19113 OPC_CheckChild0Integer, 36|128,51,
19114 OPC_RecordChild1,
19115 OPC_RecordChild2,
19116 OPC_CheckPatternPredicate0,
19117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_W),
19118 MVT::v8i32, 2, 9,
19119 12,
19120 OPC_CheckChild0Integer, 37|128,51,
19121 OPC_RecordChild1,
19122 OPC_RecordChild2,
19123 OPC_CheckPatternPredicate0,
19124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_WU),
19125 MVT::v8i32, 2, 9,
19126 12,
19127 OPC_CheckChild0Integer, 46|128,51,
19128 OPC_RecordChild1,
19129 OPC_RecordChild2,
19130 OPC_CheckPatternPredicate0,
19131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_W),
19132 MVT::v8i32, 2, 9,
19133 12,
19134 OPC_CheckChild0Integer, 25|128,54,
19135 OPC_RecordChild1,
19136 OPC_RecordChild2,
19137 OPC_CheckPatternPredicate0,
19138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
19139 MVT::v8i32, 2, 9,
19140 12,
19141 OPC_CheckChild0Integer, 26|128,54,
19142 OPC_RecordChild1,
19143 OPC_RecordChild2,
19144 OPC_CheckPatternPredicate0,
19145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
19146 MVT::v8i32, 2, 9,
19147 12,
19148 OPC_CheckChild0Integer, 31|128,54,
19149 OPC_RecordChild1,
19150 OPC_RecordChild2,
19151 OPC_CheckPatternPredicate0,
19152 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_W),
19153 MVT::v4i64, 2, 9,
19154 12,
19155 OPC_CheckChild0Integer, 43|128,54,
19156 OPC_RecordChild1,
19157 OPC_RecordChild2,
19158 OPC_CheckPatternPredicate0,
19159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_W),
19160 MVT::v4i64, 2, 9,
19161 12,
19162 OPC_CheckChild0Integer, 32|128,54,
19163 OPC_RecordChild1,
19164 OPC_RecordChild2,
19165 OPC_CheckPatternPredicate0,
19166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU),
19167 MVT::v4i64, 2, 9,
19168 12,
19169 OPC_CheckChild0Integer, 44|128,54,
19170 OPC_RecordChild1,
19171 OPC_RecordChild2,
19172 OPC_CheckPatternPredicate0,
19173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU),
19174 MVT::v4i64, 2, 9,
19175 12,
19176 OPC_CheckChild0Integer, 33|128,54,
19177 OPC_RecordChild1,
19178 OPC_RecordChild2,
19179 OPC_CheckPatternPredicate0,
19180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU_W),
19181 MVT::v4i64, 2, 9,
19182 12,
19183 OPC_CheckChild0Integer, 45|128,54,
19184 OPC_RecordChild1,
19185 OPC_RecordChild2,
19186 OPC_CheckPatternPredicate0,
19187 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU_W),
19188 MVT::v4i64, 2, 9,
19189 12,
19190 OPC_CheckChild0Integer, 32|128,55,
19191 OPC_RecordChild1,
19192 OPC_RecordChild2,
19193 OPC_CheckPatternPredicate0,
19194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_W),
19195 MVT::v8i32, 2, 9,
19196 12,
19197 OPC_CheckChild0Integer, 120|128,54,
19198 OPC_RecordChild1,
19199 OPC_RecordChild2,
19200 OPC_CheckPatternPredicate0,
19201 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
19202 MVT::v8i32, 2, 9,
19203 12,
19204 OPC_CheckChild0Integer, 127|128,55,
19205 OPC_RecordChild1,
19206 OPC_RecordChild2,
19207 OPC_CheckPatternPredicate0,
19208 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_W),
19209 MVT::v8i32, 2, 9,
19210 12,
19211 OPC_CheckChild0Integer, 97|128,55,
19212 OPC_RecordChild1,
19213 OPC_RecordChild2,
19214 OPC_CheckPatternPredicate0,
19215 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_W),
19216 MVT::v8i32, 2, 9,
19217 12,
19218 OPC_CheckChild0Integer, 118|128,55,
19219 OPC_RecordChild1,
19220 OPC_RecordChild2,
19221 OPC_CheckPatternPredicate0,
19222 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_H_W),
19223 MVT::v16i16, 2, 9,
19224 12,
19225 OPC_CheckChild0Integer, 88|128,55,
19226 OPC_RecordChild1,
19227 OPC_RecordChild2,
19228 OPC_CheckPatternPredicate0,
19229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_H_W),
19230 MVT::v16i16, 2, 9,
19231 12,
19232 OPC_CheckChild0Integer, 5|128,56,
19233 OPC_RecordChild1,
19234 OPC_RecordChild2,
19235 OPC_CheckPatternPredicate0,
19236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_H_W),
19237 MVT::v16i16, 2, 9,
19238 12,
19239 OPC_CheckChild0Integer, 103|128,55,
19240 OPC_RecordChild1,
19241 OPC_RecordChild2,
19242 OPC_CheckPatternPredicate0,
19243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_H_W),
19244 MVT::v16i16, 2, 9,
19245 12,
19246 OPC_CheckChild0Integer, 41|128,56,
19247 OPC_RecordChild1,
19248 OPC_RecordChild2,
19249 OPC_CheckPatternPredicate0,
19250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_H_W),
19251 MVT::v16i16, 2, 9,
19252 12,
19253 OPC_CheckChild0Integer, 13|128,56,
19254 OPC_RecordChild1,
19255 OPC_RecordChild2,
19256 OPC_CheckPatternPredicate0,
19257 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_H_W),
19258 MVT::v16i16, 2, 9,
19259 12,
19260 OPC_CheckChild0Integer, 42|128,56,
19261 OPC_RecordChild1,
19262 OPC_RecordChild2,
19263 OPC_CheckPatternPredicate0,
19264 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_HU_W),
19265 MVT::v16i16, 2, 9,
19266 12,
19267 OPC_CheckChild0Integer, 14|128,56,
19268 OPC_RecordChild1,
19269 OPC_RecordChild2,
19270 OPC_CheckPatternPredicate0,
19271 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_HU_W),
19272 MVT::v16i16, 2, 9,
19273 12,
19274 OPC_CheckChild0Integer, 55|128,56,
19275 OPC_RecordChild1,
19276 OPC_RecordChild2,
19277 OPC_CheckPatternPredicate0,
19278 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_H_W),
19279 MVT::v16i16, 2, 9,
19280 12,
19281 OPC_CheckChild0Integer, 27|128,56,
19282 OPC_RecordChild1,
19283 OPC_RecordChild2,
19284 OPC_CheckPatternPredicate0,
19285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_H_W),
19286 MVT::v16i16, 2, 9,
19287 12,
19288 OPC_CheckChild0Integer, 56|128,56,
19289 OPC_RecordChild1,
19290 OPC_RecordChild2,
19291 OPC_CheckPatternPredicate0,
19292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_HU_W),
19293 MVT::v16i16, 2, 9,
19294 12,
19295 OPC_CheckChild0Integer, 28|128,56,
19296 OPC_RecordChild1,
19297 OPC_RecordChild2,
19298 OPC_CheckPatternPredicate0,
19299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_HU_W),
19300 MVT::v16i16, 2, 9,
19301 12,
19302 OPC_CheckChild0Integer, 16|128,55,
19303 OPC_RecordChild1,
19304 OPC_RecordChild2,
19305 OPC_CheckPatternPredicate0,
19306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
19307 MVT::v8i32, 2, 9,
19308 12,
19309 OPC_CheckChild0Integer, 39|128,55,
19310 OPC_RecordChild1,
19311 OPC_RecordChild2,
19312 OPC_CheckPatternPredicate0,
19313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
19314 MVT::v8i32, 2, 9,
19315 12,
19316 OPC_CheckChild0Integer, 40|128,55,
19317 OPC_RecordChild1,
19318 OPC_RecordChild2,
19319 OPC_CheckPatternPredicate0,
19320 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
19321 MVT::v8i32, 2, 9,
19322 12,
19323 OPC_CheckChild0Integer, 69|128,55,
19324 OPC_RecordChild1,
19325 OPC_RecordChild2,
19326 OPC_CheckPatternPredicate0,
19327 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
19328 MVT::v8i32, 2, 9,
19329 12,
19330 OPC_CheckChild0Integer, 70|128,55,
19331 OPC_RecordChild1,
19332 OPC_RecordChild2,
19333 OPC_CheckPatternPredicate0,
19334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
19335 MVT::v8i32, 2, 9,
19336 12,
19337 OPC_CheckChild0Integer, 67|128,54,
19338 OPC_RecordChild1,
19339 OPC_RecordChild2,
19340 OPC_CheckPatternPredicate0,
19341 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
19342 MVT::v8i32, 2, 9,
19343 12,
19344 OPC_CheckChild0Integer, 71|128,54,
19345 OPC_RecordChild1,
19346 OPC_RecordChild2,
19347 OPC_CheckPatternPredicate0,
19348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
19349 MVT::v8i32, 2, 9,
19350 12,
19351 OPC_CheckChild0Integer, 83|128,54,
19352 OPC_RecordChild1,
19353 OPC_RecordChild2,
19354 OPC_CheckPatternPredicate0,
19355 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
19356 MVT::v8i32, 2, 9,
19357 12,
19358 OPC_CheckChild0Integer, 87|128,54,
19359 OPC_RecordChild1,
19360 OPC_RecordChild2,
19361 OPC_CheckPatternPredicate0,
19362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
19363 MVT::v8i32, 2, 9,
19364 12,
19365 OPC_CheckChild0Integer, 57|128,53,
19366 OPC_RecordChild1,
19367 OPC_RecordChild2,
19368 OPC_CheckPatternPredicate0,
19369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
19370 MVT::v8i32, 2, 9,
19371 12,
19372 OPC_CheckChild0Integer, 53|128,53,
19373 OPC_RecordChild1,
19374 OPC_RecordChild2,
19375 OPC_CheckPatternPredicate0,
19376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
19377 MVT::v8i32, 2, 9,
19378 12,
19379 OPC_CheckChild0Integer, 76|128,54,
19380 OPC_RecordChild1,
19381 OPC_RecordChild2,
19382 OPC_CheckPatternPredicate0,
19383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
19384 MVT::v8i32, 2, 9,
19385 12,
19386 OPC_CheckChild0Integer, 41|128,51,
19387 OPC_RecordChild1,
19388 OPC_RecordChild2,
19389 OPC_CheckPatternPredicate0,
19390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_Q),
19391 MVT::v4i64, 2, 9,
19392 12,
19393 OPC_CheckChild0Integer, 84|128,56,
19394 OPC_RecordChild1,
19395 OPC_RecordChild2,
19396 OPC_CheckPatternPredicate0,
19397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_Q),
19398 MVT::v4i64, 2, 9,
19399 12,
19400 OPC_CheckChild0Integer, 127|128,54,
19401 OPC_RecordChild1,
19402 OPC_RecordChild2,
19403 OPC_CheckPatternPredicate0,
19404 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_D),
19405 MVT::v4i64, 2, 9,
19406 12,
19407 OPC_CheckChild0Integer, 0|128,55,
19408 OPC_RecordChild1,
19409 OPC_RecordChild2,
19410 OPC_CheckPatternPredicate0,
19411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_DU),
19412 MVT::v4i64, 2, 9,
19413 12,
19414 OPC_CheckChild0Integer, 69|128,56,
19415 OPC_RecordChild1,
19416 OPC_RecordChild2,
19417 OPC_CheckPatternPredicate0,
19418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_D),
19419 MVT::v4i64, 2, 9,
19420 12,
19421 OPC_CheckChild0Integer, 70|128,56,
19422 OPC_RecordChild1,
19423 OPC_RecordChild2,
19424 OPC_CheckPatternPredicate0,
19425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_DU),
19426 MVT::v4i64, 2, 9,
19427 12,
19428 OPC_CheckChild0Integer, 38|128,53,
19429 OPC_RecordChild1,
19430 OPC_RecordChild2,
19431 OPC_CheckPatternPredicate0,
19432 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_Q_D),
19433 MVT::v4i64, 2, 9,
19434 12,
19435 OPC_CheckChild0Integer, 39|128,53,
19436 OPC_RecordChild1,
19437 OPC_RecordChild2,
19438 OPC_CheckPatternPredicate0,
19439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_QU_DU),
19440 MVT::v4i64, 2, 9,
19441 12,
19442 OPC_CheckChild0Integer, 46|128,53,
19443 OPC_RecordChild1,
19444 OPC_RecordChild2,
19445 OPC_CheckPatternPredicate0,
19446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_Q_D),
19447 MVT::v4i64, 2, 9,
19448 12,
19449 OPC_CheckChild0Integer, 47|128,53,
19450 OPC_RecordChild1,
19451 OPC_RecordChild2,
19452 OPC_CheckPatternPredicate0,
19453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_QU_DU),
19454 MVT::v4i64, 2, 9,
19455 12,
19456 OPC_CheckChild0Integer, 57|128,51,
19457 OPC_RecordChild1,
19458 OPC_RecordChild2,
19459 OPC_CheckPatternPredicate0,
19460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_D),
19461 MVT::v4i64, 2, 9,
19462 12,
19463 OPC_CheckChild0Integer, 69|128,51,
19464 OPC_RecordChild1,
19465 OPC_RecordChild2,
19466 OPC_CheckPatternPredicate0,
19467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_D),
19468 MVT::v4i64, 2, 9,
19469 12,
19470 OPC_CheckChild0Integer, 94|128,56,
19471 OPC_RecordChild1,
19472 OPC_RecordChild2,
19473 OPC_CheckPatternPredicate0,
19474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_D),
19475 MVT::v4i64, 2, 9,
19476 12,
19477 OPC_CheckChild0Integer, 102|128,56,
19478 OPC_RecordChild1,
19479 OPC_RecordChild2,
19480 OPC_CheckPatternPredicate0,
19481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_D),
19482 MVT::v4i64, 2, 9,
19483 12,
19484 OPC_CheckChild0Integer, 58|128,51,
19485 OPC_RecordChild1,
19486 OPC_RecordChild2,
19487 OPC_CheckPatternPredicate0,
19488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU),
19489 MVT::v4i64, 2, 9,
19490 12,
19491 OPC_CheckChild0Integer, 70|128,51,
19492 OPC_RecordChild1,
19493 OPC_RecordChild2,
19494 OPC_CheckPatternPredicate0,
19495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU),
19496 MVT::v4i64, 2, 9,
19497 12,
19498 OPC_CheckChild0Integer, 95|128,56,
19499 OPC_RecordChild1,
19500 OPC_RecordChild2,
19501 OPC_CheckPatternPredicate0,
19502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_DU),
19503 MVT::v4i64, 2, 9,
19504 12,
19505 OPC_CheckChild0Integer, 103|128,56,
19506 OPC_RecordChild1,
19507 OPC_RecordChild2,
19508 OPC_CheckPatternPredicate0,
19509 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_DU),
19510 MVT::v4i64, 2, 9,
19511 12,
19512 OPC_CheckChild0Integer, 59|128,51,
19513 OPC_RecordChild1,
19514 OPC_RecordChild2,
19515 OPC_CheckPatternPredicate0,
19516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU_D),
19517 MVT::v4i64, 2, 9,
19518 12,
19519 OPC_CheckChild0Integer, 71|128,51,
19520 OPC_RecordChild1,
19521 OPC_RecordChild2,
19522 OPC_CheckPatternPredicate0,
19523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU_D),
19524 MVT::v4i64, 2, 9,
19525 12,
19526 OPC_CheckChild0Integer, 80|128,51,
19527 OPC_RecordChild1,
19528 OPC_RecordChild2,
19529 OPC_CheckPatternPredicate0,
19530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_D),
19531 MVT::v4i64, 2, 9,
19532 12,
19533 OPC_CheckChild0Integer, 81|128,51,
19534 OPC_RecordChild1,
19535 OPC_RecordChild2,
19536 OPC_CheckPatternPredicate0,
19537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_DU),
19538 MVT::v4i64, 2, 9,
19539 12,
19540 OPC_CheckChild0Integer, 88|128,51,
19541 OPC_RecordChild1,
19542 OPC_RecordChild2,
19543 OPC_CheckPatternPredicate0,
19544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_D),
19545 MVT::v4i64, 2, 9,
19546 12,
19547 OPC_CheckChild0Integer, 89|128,51,
19548 OPC_RecordChild1,
19549 OPC_RecordChild2,
19550 OPC_CheckPatternPredicate0,
19551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_DU),
19552 MVT::v4i64, 2, 9,
19553 12,
19554 OPC_CheckChild0Integer, 32|128,51,
19555 OPC_RecordChild1,
19556 OPC_RecordChild2,
19557 OPC_CheckPatternPredicate0,
19558 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_D),
19559 MVT::v4i64, 2, 9,
19560 12,
19561 OPC_CheckChild0Integer, 33|128,51,
19562 OPC_RecordChild1,
19563 OPC_RecordChild2,
19564 OPC_CheckPatternPredicate0,
19565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_DU),
19566 MVT::v4i64, 2, 9,
19567 12,
19568 OPC_CheckChild0Integer, 44|128,51,
19569 OPC_RecordChild1,
19570 OPC_RecordChild2,
19571 OPC_CheckPatternPredicate0,
19572 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_D),
19573 MVT::v4i64, 2, 9,
19574 12,
19575 OPC_CheckChild0Integer, 21|128,54,
19576 OPC_RecordChild1,
19577 OPC_RecordChild2,
19578 OPC_CheckPatternPredicate0,
19579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
19580 MVT::v4i64, 2, 9,
19581 12,
19582 OPC_CheckChild0Integer, 22|128,54,
19583 OPC_RecordChild1,
19584 OPC_RecordChild2,
19585 OPC_CheckPatternPredicate0,
19586 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
19587 MVT::v4i64, 2, 9,
19588 12,
19589 OPC_CheckChild0Integer, 37|128,54,
19590 OPC_RecordChild1,
19591 OPC_RecordChild2,
19592 OPC_CheckPatternPredicate0,
19593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_D),
19594 MVT::v4i64, 2, 9,
19595 12,
19596 OPC_CheckChild0Integer, 49|128,54,
19597 OPC_RecordChild1,
19598 OPC_RecordChild2,
19599 OPC_CheckPatternPredicate0,
19600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_D),
19601 MVT::v4i64, 2, 9,
19602 12,
19603 OPC_CheckChild0Integer, 38|128,54,
19604 OPC_RecordChild1,
19605 OPC_RecordChild2,
19606 OPC_CheckPatternPredicate0,
19607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU),
19608 MVT::v4i64, 2, 9,
19609 12,
19610 OPC_CheckChild0Integer, 50|128,54,
19611 OPC_RecordChild1,
19612 OPC_RecordChild2,
19613 OPC_CheckPatternPredicate0,
19614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU),
19615 MVT::v4i64, 2, 9,
19616 12,
19617 OPC_CheckChild0Integer, 39|128,54,
19618 OPC_RecordChild1,
19619 OPC_RecordChild2,
19620 OPC_CheckPatternPredicate0,
19621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU_D),
19622 MVT::v4i64, 2, 9,
19623 12,
19624 OPC_CheckChild0Integer, 51|128,54,
19625 OPC_RecordChild1,
19626 OPC_RecordChild2,
19627 OPC_CheckPatternPredicate0,
19628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU_D),
19629 MVT::v4i64, 2, 9,
19630 12,
19631 OPC_CheckChild0Integer, 30|128,55,
19632 OPC_RecordChild1,
19633 OPC_RecordChild2,
19634 OPC_CheckPatternPredicate0,
19635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_D),
19636 MVT::v4i64, 2, 9,
19637 12,
19638 OPC_CheckChild0Integer, 118|128,54,
19639 OPC_RecordChild1,
19640 OPC_RecordChild2,
19641 OPC_CheckPatternPredicate0,
19642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
19643 MVT::v4i64, 2, 9,
19644 12,
19645 OPC_CheckChild0Integer, 125|128,55,
19646 OPC_RecordChild1,
19647 OPC_RecordChild2,
19648 OPC_CheckPatternPredicate0,
19649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_D),
19650 MVT::v4i64, 2, 9,
19651 12,
19652 OPC_CheckChild0Integer, 95|128,55,
19653 OPC_RecordChild1,
19654 OPC_RecordChild2,
19655 OPC_CheckPatternPredicate0,
19656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_D),
19657 MVT::v4i64, 2, 9,
19658 12,
19659 OPC_CheckChild0Integer, 119|128,55,
19660 OPC_RecordChild1,
19661 OPC_RecordChild2,
19662 OPC_CheckPatternPredicate0,
19663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_W_D),
19664 MVT::v8i32, 2, 9,
19665 12,
19666 OPC_CheckChild0Integer, 89|128,55,
19667 OPC_RecordChild1,
19668 OPC_RecordChild2,
19669 OPC_CheckPatternPredicate0,
19670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_W_D),
19671 MVT::v8i32, 2, 9,
19672 12,
19673 OPC_CheckChild0Integer, 6|128,56,
19674 OPC_RecordChild1,
19675 OPC_RecordChild2,
19676 OPC_CheckPatternPredicate0,
19677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_W_D),
19678 MVT::v8i32, 2, 9,
19679 12,
19680 OPC_CheckChild0Integer, 104|128,55,
19681 OPC_RecordChild1,
19682 OPC_RecordChild2,
19683 OPC_CheckPatternPredicate0,
19684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_W_D),
19685 MVT::v8i32, 2, 9,
19686 12,
19687 OPC_CheckChild0Integer, 43|128,56,
19688 OPC_RecordChild1,
19689 OPC_RecordChild2,
19690 OPC_CheckPatternPredicate0,
19691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_W_D),
19692 MVT::v8i32, 2, 9,
19693 12,
19694 OPC_CheckChild0Integer, 15|128,56,
19695 OPC_RecordChild1,
19696 OPC_RecordChild2,
19697 OPC_CheckPatternPredicate0,
19698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_W_D),
19699 MVT::v8i32, 2, 9,
19700 12,
19701 OPC_CheckChild0Integer, 44|128,56,
19702 OPC_RecordChild1,
19703 OPC_RecordChild2,
19704 OPC_CheckPatternPredicate0,
19705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_WU_D),
19706 MVT::v8i32, 2, 9,
19707 12,
19708 OPC_CheckChild0Integer, 16|128,56,
19709 OPC_RecordChild1,
19710 OPC_RecordChild2,
19711 OPC_CheckPatternPredicate0,
19712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_WU_D),
19713 MVT::v8i32, 2, 9,
19714 12,
19715 OPC_CheckChild0Integer, 57|128,56,
19716 OPC_RecordChild1,
19717 OPC_RecordChild2,
19718 OPC_CheckPatternPredicate0,
19719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_W_D),
19720 MVT::v8i32, 2, 9,
19721 12,
19722 OPC_CheckChild0Integer, 29|128,56,
19723 OPC_RecordChild1,
19724 OPC_RecordChild2,
19725 OPC_CheckPatternPredicate0,
19726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_W_D),
19727 MVT::v8i32, 2, 9,
19728 12,
19729 OPC_CheckChild0Integer, 58|128,56,
19730 OPC_RecordChild1,
19731 OPC_RecordChild2,
19732 OPC_CheckPatternPredicate0,
19733 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_WU_D),
19734 MVT::v8i32, 2, 9,
19735 12,
19736 OPC_CheckChild0Integer, 30|128,56,
19737 OPC_RecordChild1,
19738 OPC_RecordChild2,
19739 OPC_CheckPatternPredicate0,
19740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_WU_D),
19741 MVT::v8i32, 2, 9,
19742 12,
19743 OPC_CheckChild0Integer, 14|128,55,
19744 OPC_RecordChild1,
19745 OPC_RecordChild2,
19746 OPC_CheckPatternPredicate0,
19747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
19748 MVT::v4i64, 2, 9,
19749 12,
19750 OPC_CheckChild0Integer, 35|128,55,
19751 OPC_RecordChild1,
19752 OPC_RecordChild2,
19753 OPC_CheckPatternPredicate0,
19754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
19755 MVT::v4i64, 2, 9,
19756 12,
19757 OPC_CheckChild0Integer, 36|128,55,
19758 OPC_RecordChild1,
19759 OPC_RecordChild2,
19760 OPC_CheckPatternPredicate0,
19761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
19762 MVT::v4i64, 2, 9,
19763 12,
19764 OPC_CheckChild0Integer, 65|128,55,
19765 OPC_RecordChild1,
19766 OPC_RecordChild2,
19767 OPC_CheckPatternPredicate0,
19768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
19769 MVT::v4i64, 2, 9,
19770 12,
19771 OPC_CheckChild0Integer, 66|128,55,
19772 OPC_RecordChild1,
19773 OPC_RecordChild2,
19774 OPC_CheckPatternPredicate0,
19775 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
19776 MVT::v4i64, 2, 9,
19777 12,
19778 OPC_CheckChild0Integer, 65|128,54,
19779 OPC_RecordChild1,
19780 OPC_RecordChild2,
19781 OPC_CheckPatternPredicate0,
19782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
19783 MVT::v4i64, 2, 9,
19784 12,
19785 OPC_CheckChild0Integer, 69|128,54,
19786 OPC_RecordChild1,
19787 OPC_RecordChild2,
19788 OPC_CheckPatternPredicate0,
19789 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
19790 MVT::v4i64, 2, 9,
19791 12,
19792 OPC_CheckChild0Integer, 81|128,54,
19793 OPC_RecordChild1,
19794 OPC_RecordChild2,
19795 OPC_CheckPatternPredicate0,
19796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
19797 MVT::v4i64, 2, 9,
19798 12,
19799 OPC_CheckChild0Integer, 85|128,54,
19800 OPC_RecordChild1,
19801 OPC_RecordChild2,
19802 OPC_CheckPatternPredicate0,
19803 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
19804 MVT::v4i64, 2, 9,
19805 12,
19806 OPC_CheckChild0Integer, 55|128,53,
19807 OPC_RecordChild1,
19808 OPC_RecordChild2,
19809 OPC_CheckPatternPredicate0,
19810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
19811 MVT::v4i64, 2, 9,
19812 12,
19813 OPC_CheckChild0Integer, 51|128,53,
19814 OPC_RecordChild1,
19815 OPC_RecordChild2,
19816 OPC_CheckPatternPredicate0,
19817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
19818 MVT::v4i64, 2, 9,
19819 13,
19820 OPC_CheckChild0Integer, 76|128,53,
19821 OPC_RecordChild1,
19822 OPC_RecordChild2,
19823 OPC_RecordChild3,
19824 OPC_CheckPatternPredicate0,
19825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_B),
19826 MVT::v16i16, 3, 24,
19827 13,
19828 OPC_CheckChild0Integer, 88|128,53,
19829 OPC_RecordChild1,
19830 OPC_RecordChild2,
19831 OPC_RecordChild3,
19832 OPC_CheckPatternPredicate0,
19833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_B),
19834 MVT::v16i16, 3, 24,
19835 13,
19836 OPC_CheckChild0Integer, 77|128,53,
19837 OPC_RecordChild1,
19838 OPC_RecordChild2,
19839 OPC_RecordChild3,
19840 OPC_CheckPatternPredicate0,
19841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU),
19842 MVT::v16i16, 3, 24,
19843 13,
19844 OPC_CheckChild0Integer, 89|128,53,
19845 OPC_RecordChild1,
19846 OPC_RecordChild2,
19847 OPC_RecordChild3,
19848 OPC_CheckPatternPredicate0,
19849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU),
19850 MVT::v16i16, 3, 24,
19851 13,
19852 OPC_CheckChild0Integer, 78|128,53,
19853 OPC_RecordChild1,
19854 OPC_RecordChild2,
19855 OPC_RecordChild3,
19856 OPC_CheckPatternPredicate0,
19857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU_B),
19858 MVT::v16i16, 3, 24,
19859 13,
19860 OPC_CheckChild0Integer, 90|128,53,
19861 OPC_RecordChild1,
19862 OPC_RecordChild2,
19863 OPC_RecordChild3,
19864 OPC_CheckPatternPredicate0,
19865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU_B),
19866 MVT::v16i16, 3, 24,
19867 13,
19868 OPC_CheckChild0Integer, 82|128,53,
19869 OPC_RecordChild1,
19870 OPC_RecordChild2,
19871 OPC_RecordChild3,
19872 OPC_CheckPatternPredicate0,
19873 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_H),
19874 MVT::v8i32, 3, 24,
19875 13,
19876 OPC_CheckChild0Integer, 94|128,53,
19877 OPC_RecordChild1,
19878 OPC_RecordChild2,
19879 OPC_RecordChild3,
19880 OPC_CheckPatternPredicate0,
19881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_H),
19882 MVT::v8i32, 3, 24,
19883 13,
19884 OPC_CheckChild0Integer, 83|128,53,
19885 OPC_RecordChild1,
19886 OPC_RecordChild2,
19887 OPC_RecordChild3,
19888 OPC_CheckPatternPredicate0,
19889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU),
19890 MVT::v8i32, 3, 24,
19891 13,
19892 OPC_CheckChild0Integer, 95|128,53,
19893 OPC_RecordChild1,
19894 OPC_RecordChild2,
19895 OPC_RecordChild3,
19896 OPC_CheckPatternPredicate0,
19897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU),
19898 MVT::v8i32, 3, 24,
19899 13,
19900 OPC_CheckChild0Integer, 84|128,53,
19901 OPC_RecordChild1,
19902 OPC_RecordChild2,
19903 OPC_RecordChild3,
19904 OPC_CheckPatternPredicate0,
19905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU_H),
19906 MVT::v8i32, 3, 24,
19907 13,
19908 OPC_CheckChild0Integer, 96|128,53,
19909 OPC_RecordChild1,
19910 OPC_RecordChild2,
19911 OPC_RecordChild3,
19912 OPC_CheckPatternPredicate0,
19913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU_H),
19914 MVT::v8i32, 3, 24,
19915 13,
19916 OPC_CheckChild0Integer, 73|128,53,
19917 OPC_RecordChild1,
19918 OPC_RecordChild2,
19919 OPC_RecordChild3,
19920 OPC_CheckPatternPredicate0,
19921 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_W),
19922 MVT::v4i64, 3, 24,
19923 13,
19924 OPC_CheckChild0Integer, 85|128,53,
19925 OPC_RecordChild1,
19926 OPC_RecordChild2,
19927 OPC_RecordChild3,
19928 OPC_CheckPatternPredicate0,
19929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_W),
19930 MVT::v4i64, 3, 24,
19931 13,
19932 OPC_CheckChild0Integer, 74|128,53,
19933 OPC_RecordChild1,
19934 OPC_RecordChild2,
19935 OPC_RecordChild3,
19936 OPC_CheckPatternPredicate0,
19937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU),
19938 MVT::v4i64, 3, 24,
19939 13,
19940 OPC_CheckChild0Integer, 86|128,53,
19941 OPC_RecordChild1,
19942 OPC_RecordChild2,
19943 OPC_RecordChild3,
19944 OPC_CheckPatternPredicate0,
19945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU),
19946 MVT::v4i64, 3, 24,
19947 13,
19948 OPC_CheckChild0Integer, 75|128,53,
19949 OPC_RecordChild1,
19950 OPC_RecordChild2,
19951 OPC_RecordChild3,
19952 OPC_CheckPatternPredicate0,
19953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU_W),
19954 MVT::v4i64, 3, 24,
19955 13,
19956 OPC_CheckChild0Integer, 87|128,53,
19957 OPC_RecordChild1,
19958 OPC_RecordChild2,
19959 OPC_RecordChild3,
19960 OPC_CheckPatternPredicate0,
19961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU_W),
19962 MVT::v4i64, 3, 24,
19963 13,
19964 OPC_CheckChild0Integer, 79|128,53,
19965 OPC_RecordChild1,
19966 OPC_RecordChild2,
19967 OPC_RecordChild3,
19968 OPC_CheckPatternPredicate0,
19969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_D),
19970 MVT::v4i64, 3, 24,
19971 13,
19972 OPC_CheckChild0Integer, 91|128,53,
19973 OPC_RecordChild1,
19974 OPC_RecordChild2,
19975 OPC_RecordChild3,
19976 OPC_CheckPatternPredicate0,
19977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_D),
19978 MVT::v4i64, 3, 24,
19979 13,
19980 OPC_CheckChild0Integer, 80|128,53,
19981 OPC_RecordChild1,
19982 OPC_RecordChild2,
19983 OPC_RecordChild3,
19984 OPC_CheckPatternPredicate0,
19985 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU),
19986 MVT::v4i64, 3, 24,
19987 13,
19988 OPC_CheckChild0Integer, 92|128,53,
19989 OPC_RecordChild1,
19990 OPC_RecordChild2,
19991 OPC_RecordChild3,
19992 OPC_CheckPatternPredicate0,
19993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU),
19994 MVT::v4i64, 3, 24,
19995 13,
19996 OPC_CheckChild0Integer, 81|128,53,
19997 OPC_RecordChild1,
19998 OPC_RecordChild2,
19999 OPC_RecordChild3,
20000 OPC_CheckPatternPredicate0,
20001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU_D),
20002 MVT::v4i64, 3, 24,
20003 13,
20004 OPC_CheckChild0Integer, 93|128,53,
20005 OPC_RecordChild1,
20006 OPC_RecordChild2,
20007 OPC_RecordChild3,
20008 OPC_CheckPatternPredicate0,
20009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU_D),
20010 MVT::v4i64, 3, 24,
20011 11,
20012 OPC_CheckChild0Integer, 12|128,52,
20013 OPC_RecordChild1,
20014 OPC_CheckPatternPredicate0,
20015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_H_B),
20016 MVT::v16i16, 1, 1,
20017 11,
20018 OPC_CheckChild0Integer, 13|128,52,
20019 OPC_RecordChild1,
20020 OPC_CheckPatternPredicate0,
20021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_HU_BU),
20022 MVT::v16i16, 1, 1,
20023 11,
20024 OPC_CheckChild0Integer, 10|128,54,
20025 OPC_RecordChild1,
20026 OPC_CheckPatternPredicate0,
20027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_B),
20028 MVT::v32i8, 1, 1,
20029 11,
20030 OPC_CheckChild0Integer, 9|128,54,
20031 OPC_RecordChild1,
20032 OPC_CheckPatternPredicate0,
20033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKGEZ_B),
20034 MVT::v32i8, 1, 1,
20035 11,
20036 OPC_CheckChild0Integer, 14|128,54,
20037 OPC_RecordChild1,
20038 OPC_CheckPatternPredicate0,
20039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKNZ_B),
20040 MVT::v32i8, 1, 1,
20041 11,
20042 OPC_CheckChild0Integer, 122|128,51,
20043 OPC_RecordChild1,
20044 OPC_CheckPatternPredicate0,
20045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_B),
20046 MVT::v32i8, 1, 1,
20047 11,
20048 OPC_CheckChild0Integer, 14|128,51,
20049 OPC_RecordChild1,
20050 OPC_CheckPatternPredicate0,
20051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
20052 MVT::v16i16, 1, 1,
20053 11,
20054 OPC_CheckChild0Integer, 15|128,51,
20055 OPC_RecordChild1,
20056 OPC_CheckPatternPredicate0,
20057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
20058 MVT::v16i16, 1, 1,
20059 11,
20060 OPC_CheckChild0Integer, 16|128,51,
20061 OPC_RecordChild1,
20062 OPC_CheckPatternPredicate0,
20063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
20064 MVT::v8i32, 1, 1,
20065 11,
20066 OPC_CheckChild0Integer, 18|128,51,
20067 OPC_RecordChild1,
20068 OPC_CheckPatternPredicate0,
20069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
20070 MVT::v8i32, 1, 1,
20071 11,
20072 OPC_CheckChild0Integer, 8|128,51,
20073 OPC_RecordChild1,
20074 OPC_CheckPatternPredicate0,
20075 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_B),
20076 MVT::v4i64, 1, 1,
20077 11,
20078 OPC_CheckChild0Integer, 11|128,51,
20079 OPC_RecordChild1,
20080 OPC_CheckPatternPredicate0,
20081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_BU),
20082 MVT::v4i64, 1, 1,
20083 11,
20084 OPC_CheckChild0Integer, 112|128,54,
20085 OPC_RecordChild1,
20086 OPC_CheckPatternPredicate0,
20087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_B),
20088 MVT::v32i8, 1, 1,
20089 11,
20090 OPC_CheckChild0Integer, 115|128,54,
20091 OPC_RecordChild1,
20092 OPC_CheckPatternPredicate0,
20093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
20094 MVT::v32i8, 1, 1,
20095 11,
20096 OPC_CheckChild0Integer, 16|128,52,
20097 OPC_RecordChild1,
20098 OPC_CheckPatternPredicate0,
20099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_W_H),
20100 MVT::v8i32, 1, 1,
20101 11,
20102 OPC_CheckChild0Integer, 17|128,52,
20103 OPC_RecordChild1,
20104 OPC_CheckPatternPredicate0,
20105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_WU_HU),
20106 MVT::v8i32, 1, 1,
20107 11,
20108 OPC_CheckChild0Integer, 12|128,54,
20109 OPC_RecordChild1,
20110 OPC_CheckPatternPredicate0,
20111 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_H),
20112 MVT::v16i16, 1, 1,
20113 11,
20114 OPC_CheckChild0Integer, 124|128,51,
20115 OPC_RecordChild1,
20116 OPC_CheckPatternPredicate0,
20117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_H),
20118 MVT::v16i16, 1, 1,
20119 11,
20120 OPC_CheckChild0Integer, 17|128,51,
20121 OPC_RecordChild1,
20122 OPC_CheckPatternPredicate0,
20123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
20124 MVT::v8i32, 1, 1,
20125 11,
20126 OPC_CheckChild0Integer, 19|128,51,
20127 OPC_RecordChild1,
20128 OPC_CheckPatternPredicate0,
20129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
20130 MVT::v8i32, 1, 1,
20131 11,
20132 OPC_CheckChild0Integer, 9|128,51,
20133 OPC_RecordChild1,
20134 OPC_CheckPatternPredicate0,
20135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_H),
20136 MVT::v4i64, 1, 1,
20137 11,
20138 OPC_CheckChild0Integer, 12|128,51,
20139 OPC_RecordChild1,
20140 OPC_CheckPatternPredicate0,
20141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_HU),
20142 MVT::v4i64, 1, 1,
20143 11,
20144 OPC_CheckChild0Integer, 114|128,54,
20145 OPC_RecordChild1,
20146 OPC_CheckPatternPredicate0,
20147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_H),
20148 MVT::v16i16, 1, 1,
20149 11,
20150 OPC_CheckChild0Integer, 10|128,52,
20151 OPC_RecordChild1,
20152 OPC_CheckPatternPredicate0,
20153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_D_W),
20154 MVT::v4i64, 1, 1,
20155 11,
20156 OPC_CheckChild0Integer, 11|128,52,
20157 OPC_RecordChild1,
20158 OPC_CheckPatternPredicate0,
20159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_DU_WU),
20160 MVT::v4i64, 1, 1,
20161 11,
20162 OPC_CheckChild0Integer, 13|128,54,
20163 OPC_RecordChild1,
20164 OPC_CheckPatternPredicate0,
20165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_W),
20166 MVT::v8i32, 1, 1,
20167 11,
20168 OPC_CheckChild0Integer, 125|128,51,
20169 OPC_RecordChild1,
20170 OPC_CheckPatternPredicate0,
20171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_W),
20172 MVT::v8i32, 1, 1,
20173 11,
20174 OPC_CheckChild0Integer, 10|128,51,
20175 OPC_RecordChild1,
20176 OPC_CheckPatternPredicate0,
20177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
20178 MVT::v4i64, 1, 1,
20179 11,
20180 OPC_CheckChild0Integer, 13|128,51,
20181 OPC_RecordChild1,
20182 OPC_CheckPatternPredicate0,
20183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
20184 MVT::v4i64, 1, 1,
20185 11,
20186 OPC_CheckChild0Integer, 116|128,54,
20187 OPC_RecordChild1,
20188 OPC_CheckPatternPredicate0,
20189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
20190 MVT::v8i32, 1, 1,
20191 11,
20192 OPC_CheckChild0Integer, 14|128,52,
20193 OPC_RecordChild1,
20194 OPC_CheckPatternPredicate0,
20195 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_Q_D),
20196 MVT::v4i64, 1, 1,
20197 11,
20198 OPC_CheckChild0Integer, 15|128,52,
20199 OPC_RecordChild1,
20200 OPC_CheckPatternPredicate0,
20201 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_QU_DU),
20202 MVT::v4i64, 1, 1,
20203 11,
20204 OPC_CheckChild0Integer, 11|128,54,
20205 OPC_RecordChild1,
20206 OPC_CheckPatternPredicate0,
20207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_D),
20208 MVT::v4i64, 1, 1,
20209 11,
20210 OPC_CheckChild0Integer, 18|128,52,
20211 OPC_RecordChild1,
20212 OPC_CheckPatternPredicate0,
20213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_Q_D),
20214 MVT::v4i64, 1, 1,
20215 11,
20216 OPC_CheckChild0Integer, 19|128,52,
20217 OPC_RecordChild1,
20218 OPC_CheckPatternPredicate0,
20219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_QU_DU),
20220 MVT::v4i64, 1, 1,
20221 11,
20222 OPC_CheckChild0Integer, 123|128,51,
20223 OPC_RecordChild1,
20224 OPC_CheckPatternPredicate0,
20225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_D),
20226 MVT::v4i64, 1, 1,
20227 11,
20228 OPC_CheckChild0Integer, 113|128,54,
20229 OPC_RecordChild1,
20230 OPC_CheckPatternPredicate0,
20231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
20232 MVT::v4i64, 1, 1,
20233 13,
20234 OPC_CheckChild0Integer, 125|128,52,
20235 OPC_RecordChild1,
20236 OPC_RecordChild2,
20237 OPC_RecordChild3,
20238 OPC_CheckPatternPredicate0,
20239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_B),
20240 MVT::v32i8, 3, 24,
20241 13,
20242 OPC_CheckChild0Integer, 110|128,51,
20243 OPC_RecordChild1,
20244 OPC_RecordChild2,
20245 OPC_RecordChild3,
20246 OPC_CheckPatternPredicate0,
20247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
20248 MVT::v32i8, 3, 24,
20249 13,
20250 OPC_CheckChild0Integer, 21|128,55,
20251 OPC_RecordChild1,
20252 OPC_RecordChild2,
20253 OPC_RecordChild3,
20254 OPC_CheckPatternPredicate0,
20255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_B),
20256 MVT::v32i8, 3, 24,
20257 13,
20258 OPC_CheckChild0Integer, 126|128,52,
20259 OPC_RecordChild1,
20260 OPC_RecordChild2,
20261 OPC_RecordChild3,
20262 OPC_CheckPatternPredicate0,
20263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_H),
20264 MVT::v16i16, 3, 24,
20265 13,
20266 OPC_CheckChild0Integer, 23|128,55,
20267 OPC_RecordChild1,
20268 OPC_RecordChild2,
20269 OPC_RecordChild3,
20270 OPC_CheckPatternPredicate0,
20271 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_H),
20272 MVT::v16i16, 3, 24,
20273 13,
20274 OPC_CheckChild0Integer, 24|128,55,
20275 OPC_RecordChild1,
20276 OPC_RecordChild2,
20277 OPC_RecordChild3,
20278 OPC_CheckPatternPredicate0,
20279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
20280 MVT::v8i32, 3, 24,
20281 13,
20282 OPC_CheckChild0Integer, 22|128,55,
20283 OPC_RecordChild1,
20284 OPC_RecordChild2,
20285 OPC_RecordChild3,
20286 OPC_CheckPatternPredicate0,
20287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
20288 MVT::v4i64, 3, 24,
20289 12,
20290 OPC_CheckChild0Integer, 72|128,52,
20291 OPC_RecordChild1,
20292 OPC_RecordChild2,
20293 OPC_CheckPatternPredicate0,
20294 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_H_S),
20295 MVT::v16i16, 2, 9,
20296 12,
20297 OPC_CheckChild0Integer, 29|128,52,
20298 OPC_RecordChild1,
20299 OPC_RecordChild2,
20300 OPC_CheckPatternPredicate0,
20301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_S),
20302 MVT::v8i32, 2, 9,
20303 12,
20304 OPC_CheckChild0Integer, 47|128,52,
20305 OPC_RecordChild1,
20306 OPC_RecordChild2,
20307 OPC_CheckPatternPredicate0,
20308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
20309 MVT::v8i32, 2, 9,
20310 12,
20311 OPC_CheckChild0Integer, 31|128,52,
20312 OPC_RecordChild1,
20313 OPC_RecordChild2,
20314 OPC_CheckPatternPredicate0,
20315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
20316 MVT::v8i32, 2, 9,
20317 12,
20318 OPC_CheckChild0Integer, 41|128,52,
20319 OPC_RecordChild1,
20320 OPC_RecordChild2,
20321 OPC_CheckPatternPredicate0,
20322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
20323 MVT::v8i32, 2, 9,
20324 12,
20325 OPC_CheckChild0Integer, 35|128,52,
20326 OPC_RecordChild1,
20327 OPC_RecordChild2,
20328 OPC_CheckPatternPredicate0,
20329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
20330 MVT::v8i32, 2, 9,
20331 12,
20332 OPC_CheckChild0Integer, 45|128,52,
20333 OPC_RecordChild1,
20334 OPC_RecordChild2,
20335 OPC_CheckPatternPredicate0,
20336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
20337 MVT::v8i32, 2, 9,
20338 12,
20339 OPC_CheckChild0Integer, 33|128,52,
20340 OPC_RecordChild1,
20341 OPC_RecordChild2,
20342 OPC_CheckPatternPredicate0,
20343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
20344 MVT::v8i32, 2, 9,
20345 12,
20346 OPC_CheckChild0Integer, 43|128,52,
20347 OPC_RecordChild1,
20348 OPC_RecordChild2,
20349 OPC_CheckPatternPredicate0,
20350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
20351 MVT::v8i32, 2, 9,
20352 12,
20353 OPC_CheckChild0Integer, 37|128,52,
20354 OPC_RecordChild1,
20355 OPC_RecordChild2,
20356 OPC_CheckPatternPredicate0,
20357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
20358 MVT::v8i32, 2, 9,
20359 12,
20360 OPC_CheckChild0Integer, 39|128,52,
20361 OPC_RecordChild1,
20362 OPC_RecordChild2,
20363 OPC_CheckPatternPredicate0,
20364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
20365 MVT::v8i32, 2, 9,
20366 12,
20367 OPC_CheckChild0Integer, 49|128,52,
20368 OPC_RecordChild1,
20369 OPC_RecordChild2,
20370 OPC_CheckPatternPredicate0,
20371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
20372 MVT::v8i32, 2, 9,
20373 12,
20374 OPC_CheckChild0Integer, 51|128,52,
20375 OPC_RecordChild1,
20376 OPC_RecordChild2,
20377 OPC_CheckPatternPredicate0,
20378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_S),
20379 MVT::v8i32, 2, 9,
20380 12,
20381 OPC_CheckChild0Integer, 69|128,52,
20382 OPC_RecordChild1,
20383 OPC_RecordChild2,
20384 OPC_CheckPatternPredicate0,
20385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_S),
20386 MVT::v8i32, 2, 9,
20387 12,
20388 OPC_CheckChild0Integer, 53|128,52,
20389 OPC_RecordChild1,
20390 OPC_RecordChild2,
20391 OPC_CheckPatternPredicate0,
20392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_S),
20393 MVT::v8i32, 2, 9,
20394 12,
20395 OPC_CheckChild0Integer, 63|128,52,
20396 OPC_RecordChild1,
20397 OPC_RecordChild2,
20398 OPC_CheckPatternPredicate0,
20399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_S),
20400 MVT::v8i32, 2, 9,
20401 12,
20402 OPC_CheckChild0Integer, 57|128,52,
20403 OPC_RecordChild1,
20404 OPC_RecordChild2,
20405 OPC_CheckPatternPredicate0,
20406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_S),
20407 MVT::v8i32, 2, 9,
20408 12,
20409 OPC_CheckChild0Integer, 67|128,52,
20410 OPC_RecordChild1,
20411 OPC_RecordChild2,
20412 OPC_CheckPatternPredicate0,
20413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_S),
20414 MVT::v8i32, 2, 9,
20415 12,
20416 OPC_CheckChild0Integer, 55|128,52,
20417 OPC_RecordChild1,
20418 OPC_RecordChild2,
20419 OPC_CheckPatternPredicate0,
20420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_S),
20421 MVT::v8i32, 2, 9,
20422 12,
20423 OPC_CheckChild0Integer, 65|128,52,
20424 OPC_RecordChild1,
20425 OPC_RecordChild2,
20426 OPC_CheckPatternPredicate0,
20427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_S),
20428 MVT::v8i32, 2, 9,
20429 12,
20430 OPC_CheckChild0Integer, 59|128,52,
20431 OPC_RecordChild1,
20432 OPC_RecordChild2,
20433 OPC_CheckPatternPredicate0,
20434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_S),
20435 MVT::v8i32, 2, 9,
20436 12,
20437 OPC_CheckChild0Integer, 61|128,52,
20438 OPC_RecordChild1,
20439 OPC_RecordChild2,
20440 OPC_CheckPatternPredicate0,
20441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_S),
20442 MVT::v8i32, 2, 9,
20443 12,
20444 OPC_CheckChild0Integer, 71|128,52,
20445 OPC_RecordChild1,
20446 OPC_RecordChild2,
20447 OPC_CheckPatternPredicate0,
20448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_S),
20449 MVT::v8i32, 2, 9,
20450 12,
20451 OPC_CheckChild0Integer, 18|128,53,
20452 OPC_RecordChild1,
20453 OPC_RecordChild2,
20454 OPC_CheckPatternPredicate0,
20455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_D),
20456 MVT::v8i32, 2, 9,
20457 12,
20458 OPC_CheckChild0Integer, 29|128,53,
20459 OPC_RecordChild1,
20460 OPC_RecordChild2,
20461 OPC_CheckPatternPredicate0,
20462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_D),
20463 MVT::v8i32, 2, 9,
20464 12,
20465 OPC_CheckChild0Integer, 23|128,53,
20466 OPC_RecordChild1,
20467 OPC_RecordChild2,
20468 OPC_CheckPatternPredicate0,
20469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_D),
20470 MVT::v8i32, 2, 9,
20471 12,
20472 OPC_CheckChild0Integer, 13|128,53,
20473 OPC_RecordChild1,
20474 OPC_RecordChild2,
20475 OPC_CheckPatternPredicate0,
20476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_D),
20477 MVT::v8i32, 2, 9,
20478 12,
20479 OPC_CheckChild0Integer, 7|128,53,
20480 OPC_RecordChild1,
20481 OPC_RecordChild2,
20482 OPC_CheckPatternPredicate0,
20483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_D),
20484 MVT::v8i32, 2, 9,
20485 12,
20486 OPC_CheckChild0Integer, 28|128,52,
20487 OPC_RecordChild1,
20488 OPC_RecordChild2,
20489 OPC_CheckPatternPredicate0,
20490 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_D),
20491 MVT::v4i64, 2, 9,
20492 12,
20493 OPC_CheckChild0Integer, 46|128,52,
20494 OPC_RecordChild1,
20495 OPC_RecordChild2,
20496 OPC_CheckPatternPredicate0,
20497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
20498 MVT::v4i64, 2, 9,
20499 12,
20500 OPC_CheckChild0Integer, 30|128,52,
20501 OPC_RecordChild1,
20502 OPC_RecordChild2,
20503 OPC_CheckPatternPredicate0,
20504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
20505 MVT::v4i64, 2, 9,
20506 12,
20507 OPC_CheckChild0Integer, 40|128,52,
20508 OPC_RecordChild1,
20509 OPC_RecordChild2,
20510 OPC_CheckPatternPredicate0,
20511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
20512 MVT::v4i64, 2, 9,
20513 12,
20514 OPC_CheckChild0Integer, 34|128,52,
20515 OPC_RecordChild1,
20516 OPC_RecordChild2,
20517 OPC_CheckPatternPredicate0,
20518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
20519 MVT::v4i64, 2, 9,
20520 12,
20521 OPC_CheckChild0Integer, 44|128,52,
20522 OPC_RecordChild1,
20523 OPC_RecordChild2,
20524 OPC_CheckPatternPredicate0,
20525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
20526 MVT::v4i64, 2, 9,
20527 12,
20528 OPC_CheckChild0Integer, 32|128,52,
20529 OPC_RecordChild1,
20530 OPC_RecordChild2,
20531 OPC_CheckPatternPredicate0,
20532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
20533 MVT::v4i64, 2, 9,
20534 12,
20535 OPC_CheckChild0Integer, 42|128,52,
20536 OPC_RecordChild1,
20537 OPC_RecordChild2,
20538 OPC_CheckPatternPredicate0,
20539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
20540 MVT::v4i64, 2, 9,
20541 12,
20542 OPC_CheckChild0Integer, 36|128,52,
20543 OPC_RecordChild1,
20544 OPC_RecordChild2,
20545 OPC_CheckPatternPredicate0,
20546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
20547 MVT::v4i64, 2, 9,
20548 12,
20549 OPC_CheckChild0Integer, 38|128,52,
20550 OPC_RecordChild1,
20551 OPC_RecordChild2,
20552 OPC_CheckPatternPredicate0,
20553 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
20554 MVT::v4i64, 2, 9,
20555 12,
20556 OPC_CheckChild0Integer, 48|128,52,
20557 OPC_RecordChild1,
20558 OPC_RecordChild2,
20559 OPC_CheckPatternPredicate0,
20560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
20561 MVT::v4i64, 2, 9,
20562 12,
20563 OPC_CheckChild0Integer, 50|128,52,
20564 OPC_RecordChild1,
20565 OPC_RecordChild2,
20566 OPC_CheckPatternPredicate0,
20567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_D),
20568 MVT::v4i64, 2, 9,
20569 12,
20570 OPC_CheckChild0Integer, 68|128,52,
20571 OPC_RecordChild1,
20572 OPC_RecordChild2,
20573 OPC_CheckPatternPredicate0,
20574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_D),
20575 MVT::v4i64, 2, 9,
20576 12,
20577 OPC_CheckChild0Integer, 52|128,52,
20578 OPC_RecordChild1,
20579 OPC_RecordChild2,
20580 OPC_CheckPatternPredicate0,
20581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_D),
20582 MVT::v4i64, 2, 9,
20583 12,
20584 OPC_CheckChild0Integer, 62|128,52,
20585 OPC_RecordChild1,
20586 OPC_RecordChild2,
20587 OPC_CheckPatternPredicate0,
20588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_D),
20589 MVT::v4i64, 2, 9,
20590 12,
20591 OPC_CheckChild0Integer, 56|128,52,
20592 OPC_RecordChild1,
20593 OPC_RecordChild2,
20594 OPC_CheckPatternPredicate0,
20595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_D),
20596 MVT::v4i64, 2, 9,
20597 12,
20598 OPC_CheckChild0Integer, 66|128,52,
20599 OPC_RecordChild1,
20600 OPC_RecordChild2,
20601 OPC_CheckPatternPredicate0,
20602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_D),
20603 MVT::v4i64, 2, 9,
20604 12,
20605 OPC_CheckChild0Integer, 54|128,52,
20606 OPC_RecordChild1,
20607 OPC_RecordChild2,
20608 OPC_CheckPatternPredicate0,
20609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_D),
20610 MVT::v4i64, 2, 9,
20611 12,
20612 OPC_CheckChild0Integer, 64|128,52,
20613 OPC_RecordChild1,
20614 OPC_RecordChild2,
20615 OPC_CheckPatternPredicate0,
20616 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_D),
20617 MVT::v4i64, 2, 9,
20618 12,
20619 OPC_CheckChild0Integer, 58|128,52,
20620 OPC_RecordChild1,
20621 OPC_RecordChild2,
20622 OPC_CheckPatternPredicate0,
20623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_D),
20624 MVT::v4i64, 2, 9,
20625 12,
20626 OPC_CheckChild0Integer, 60|128,52,
20627 OPC_RecordChild1,
20628 OPC_RecordChild2,
20629 OPC_CheckPatternPredicate0,
20630 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_D),
20631 MVT::v4i64, 2, 9,
20632 12,
20633 OPC_CheckChild0Integer, 70|128,52,
20634 OPC_RecordChild1,
20635 OPC_RecordChild2,
20636 OPC_CheckPatternPredicate0,
20637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_D),
20638 MVT::v4i64, 2, 9,
20639 11,
20640 OPC_CheckChild0Integer, 27|128,52,
20641 OPC_RecordChild1,
20642 OPC_CheckPatternPredicate0,
20643 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_S),
20644 MVT::v8i32, 1, 1,
20645 11,
20646 OPC_CheckChild0Integer, 19|128,53,
20647 OPC_RecordChild1,
20648 OPC_CheckPatternPredicate0,
20649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_S),
20650 MVT::v8i32, 1, 1,
20651 11,
20652 OPC_CheckChild0Integer, 30|128,53,
20653 OPC_RecordChild1,
20654 OPC_CheckPatternPredicate0,
20655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
20656 MVT::v8i32, 1, 1,
20657 11,
20658 OPC_CheckChild0Integer, 24|128,53,
20659 OPC_RecordChild1,
20660 OPC_CheckPatternPredicate0,
20661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_S),
20662 MVT::v8i32, 1, 1,
20663 11,
20664 OPC_CheckChild0Integer, 14|128,53,
20665 OPC_RecordChild1,
20666 OPC_CheckPatternPredicate0,
20667 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_S),
20668 MVT::v8i32, 1, 1,
20669 11,
20670 OPC_CheckChild0Integer, 8|128,53,
20671 OPC_RecordChild1,
20672 OPC_CheckPatternPredicate0,
20673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_S),
20674 MVT::v8i32, 1, 1,
20675 11,
20676 OPC_CheckChild0Integer, 31|128,53,
20677 OPC_RecordChild1,
20678 OPC_CheckPatternPredicate0,
20679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_WU_S),
20680 MVT::v8i32, 1, 1,
20681 11,
20682 OPC_CheckChild0Integer, 9|128,53,
20683 OPC_RecordChild1,
20684 OPC_CheckPatternPredicate0,
20685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_WU_S),
20686 MVT::v8i32, 1, 1,
20687 11,
20688 OPC_CheckChild0Integer, 21|128,53,
20689 OPC_RecordChild1,
20690 OPC_CheckPatternPredicate0,
20691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEL_L_S),
20692 MVT::v4i64, 1, 1,
20693 11,
20694 OPC_CheckChild0Integer, 20|128,53,
20695 OPC_RecordChild1,
20696 OPC_CheckPatternPredicate0,
20697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEH_L_S),
20698 MVT::v4i64, 1, 1,
20699 11,
20700 OPC_CheckChild0Integer, 33|128,53,
20701 OPC_RecordChild1,
20702 OPC_CheckPatternPredicate0,
20703 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZL_L_S),
20704 MVT::v4i64, 1, 1,
20705 11,
20706 OPC_CheckChild0Integer, 32|128,53,
20707 OPC_RecordChild1,
20708 OPC_CheckPatternPredicate0,
20709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZH_L_S),
20710 MVT::v4i64, 1, 1,
20711 11,
20712 OPC_CheckChild0Integer, 26|128,53,
20713 OPC_RecordChild1,
20714 OPC_CheckPatternPredicate0,
20715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPL_L_S),
20716 MVT::v4i64, 1, 1,
20717 11,
20718 OPC_CheckChild0Integer, 25|128,53,
20719 OPC_RecordChild1,
20720 OPC_CheckPatternPredicate0,
20721 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPH_L_S),
20722 MVT::v4i64, 1, 1,
20723 11,
20724 OPC_CheckChild0Integer, 16|128,53,
20725 OPC_RecordChild1,
20726 OPC_CheckPatternPredicate0,
20727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRML_L_S),
20728 MVT::v4i64, 1, 1,
20729 11,
20730 OPC_CheckChild0Integer, 15|128,53,
20731 OPC_RecordChild1,
20732 OPC_CheckPatternPredicate0,
20733 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRMH_L_S),
20734 MVT::v4i64, 1, 1,
20735 11,
20736 OPC_CheckChild0Integer, 11|128,53,
20737 OPC_RecordChild1,
20738 OPC_CheckPatternPredicate0,
20739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTL_L_S),
20740 MVT::v4i64, 1, 1,
20741 11,
20742 OPC_CheckChild0Integer, 10|128,53,
20743 OPC_RecordChild1,
20744 OPC_CheckPatternPredicate0,
20745 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTH_L_S),
20746 MVT::v4i64, 1, 1,
20747 11,
20748 OPC_CheckChild0Integer, 26|128,52,
20749 OPC_RecordChild1,
20750 OPC_CheckPatternPredicate0,
20751 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_D),
20752 MVT::v4i64, 1, 1,
20753 11,
20754 OPC_CheckChild0Integer, 17|128,53,
20755 OPC_RecordChild1,
20756 OPC_CheckPatternPredicate0,
20757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_L_D),
20758 MVT::v4i64, 1, 1,
20759 11,
20760 OPC_CheckChild0Integer, 27|128,53,
20761 OPC_RecordChild1,
20762 OPC_CheckPatternPredicate0,
20763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
20764 MVT::v4i64, 1, 1,
20765 11,
20766 OPC_CheckChild0Integer, 22|128,53,
20767 OPC_RecordChild1,
20768 OPC_CheckPatternPredicate0,
20769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_L_D),
20770 MVT::v4i64, 1, 1,
20771 11,
20772 OPC_CheckChild0Integer, 12|128,53,
20773 OPC_RecordChild1,
20774 OPC_CheckPatternPredicate0,
20775 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_L_D),
20776 MVT::v4i64, 1, 1,
20777 11,
20778 OPC_CheckChild0Integer, 5|128,53,
20779 OPC_RecordChild1,
20780 OPC_CheckPatternPredicate0,
20781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_L_D),
20782 MVT::v4i64, 1, 1,
20783 11,
20784 OPC_CheckChild0Integer, 28|128,53,
20785 OPC_RecordChild1,
20786 OPC_CheckPatternPredicate0,
20787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
20788 MVT::v4i64, 1, 1,
20789 11,
20790 OPC_CheckChild0Integer, 6|128,53,
20791 OPC_RecordChild1,
20792 OPC_CheckPatternPredicate0,
20793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_LU_D),
20794 MVT::v4i64, 1, 1,
20795 18,
20796 OPC_CheckChild0Integer, 118|128,50,
20797 OPC_RecordChild1,
20798 OPC_CheckPatternPredicate0,
20799 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20800 MVT::v4i64, 0,
20801 OPC_EmitIntegerI32, LoongArch::sub_128,
20802 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20803 MVT::v4i64, 3, 21,
20804 26,
20805 OPC_CheckChild0Integer, 124|128,50,
20806 OPC_RecordChild1,
20807 OPC_CheckPatternPredicate0,
20808 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20809 MVT::v32i8, 0,
20810 OPC_EmitIntegerByHwMode0, 1,
20811 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
20812 MVT::v32i8, 3, 21,
20813 OPC_EmitIntegerI32, LoongArch::sub_128,
20814 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
20815 MVT::v2i64, 2, 76,
20816 27,
20817 OPC_CheckChild0Integer, 5|128,51,
20818 OPC_RecordChild1,
20819 OPC_RecordChild2,
20820 OPC_CheckPatternPredicate0,
20821 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20822 MVT::v32i8, 0,
20823 OPC_EmitIntegerI32, LoongArch::sub_128,
20824 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20825 MVT::v32i8, 3, 45,
20826 OPC_EmitIntegerByHwMode0, 48,
20827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
20828 MVT::v4i64, 3, 92,
20829 27,
20830 OPC_CheckChild0Integer, 2|128,51,
20831 OPC_RecordChild1,
20832 OPC_RecordChild2,
20833 OPC_CheckPatternPredicate0,
20834 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20835 MVT::v32i8, 0,
20836 OPC_EmitIntegerI32, LoongArch::sub_128,
20837 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20838 MVT::v32i8, 3, 45,
20839 OPC_EmitIntegerByHwMode0, 2,
20840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
20841 MVT::v4i64, 3, 92,
20842 21,
20843 OPC_CheckChild0Integer, 91|128,54,
20844 OPC_RecordChild1,
20845 OPC_RecordChild2,
20846 OPC_MoveChild2,
20847 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20848 OPC_MoveParent,
20849 OPC_CheckPatternPredicate0,
20850 OPC_EmitNodeXForm, 7, 1,
20851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
20852 12|128,1, 2, 22,
20853 21,
20854 OPC_CheckChild0Integer, 89|128,54,
20855 OPC_RecordChild1,
20856 OPC_RecordChild2,
20857 OPC_MoveChild2,
20858 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
20859 OPC_MoveParent,
20860 OPC_CheckPatternPredicate0,
20861 OPC_EmitNodeXForm, 7, 1,
20862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
20863 28|128,1, 2, 22,
20864 13,
20865 OPC_CheckChild0Integer, 44|128,58,
20866 OPC_RecordChild1,
20867 OPC_RecordChild2,
20868 OPC_CheckPatternPredicate1,
20869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_L),
20870 8|128,1, 2, 9,
20871 12,
20872 OPC_CheckChild0Integer, 39|128,58,
20873 OPC_RecordChild1,
20874 OPC_CheckPatternPredicate1,
20875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_S_H),
20876 8|128,1, 1, 1,
20877 12,
20878 OPC_CheckChild0Integer, 37|128,58,
20879 OPC_RecordChild1,
20880 OPC_CheckPatternPredicate1,
20881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_S_H),
20882 8|128,1, 1, 1,
20883 12,
20884 OPC_CheckChild0Integer, 45|128,58,
20885 OPC_RecordChild1,
20886 OPC_CheckPatternPredicate1,
20887 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_W),
20888 8|128,1, 1, 1,
20889 12,
20890 OPC_CheckChild0Integer, 46|128,58,
20891 OPC_RecordChild1,
20892 OPC_CheckPatternPredicate1,
20893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_WU),
20894 8|128,1, 1, 1,
20895 12,
20896 OPC_CheckChild0Integer, 48|128,58,
20897 OPC_RecordChild1,
20898 OPC_CheckPatternPredicate1,
20899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTL_D_W),
20900 26|128,1, 1, 1,
20901 12,
20902 OPC_CheckChild0Integer, 47|128,58,
20903 OPC_RecordChild1,
20904 OPC_CheckPatternPredicate1,
20905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTH_D_W),
20906 26|128,1, 1, 1,
20907 12,
20908 OPC_CheckChild0Integer, 42|128,58,
20909 OPC_RecordChild1,
20910 OPC_CheckPatternPredicate1,
20911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_L),
20912 26|128,1, 1, 1,
20913 12,
20914 OPC_CheckChild0Integer, 43|128,58,
20915 OPC_RecordChild1,
20916 OPC_CheckPatternPredicate1,
20917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_LU),
20918 26|128,1, 1, 1,
20919 14,
20920 OPC_CheckChild0Integer, 62|128,58,
20921 OPC_RecordChild1,
20922 OPC_RecordChild2,
20923 OPC_RecordChild3,
20924 OPC_CheckPatternPredicate1,
20925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
20926 8|128,1, 3, 24,
20927 14,
20928 OPC_CheckChild0Integer, 66|128,58,
20929 OPC_RecordChild1,
20930 OPC_RecordChild2,
20931 OPC_RecordChild3,
20932 OPC_CheckPatternPredicate1,
20933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
20934 8|128,1, 3, 24,
20935 14,
20936 OPC_CheckChild0Integer, 68|128,58,
20937 OPC_RecordChild1,
20938 OPC_RecordChild2,
20939 OPC_RecordChild3,
20940 OPC_CheckPatternPredicate1,
20941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
20942 8|128,1, 3, 24,
20943 14,
20944 OPC_CheckChild0Integer, 61|128,58,
20945 OPC_RecordChild1,
20946 OPC_RecordChild2,
20947 OPC_RecordChild3,
20948 OPC_CheckPatternPredicate1,
20949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
20950 26|128,1, 3, 24,
20951 14,
20952 OPC_CheckChild0Integer, 65|128,58,
20953 OPC_RecordChild1,
20954 OPC_RecordChild2,
20955 OPC_RecordChild3,
20956 OPC_CheckPatternPredicate1,
20957 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
20958 26|128,1, 3, 24,
20959 14,
20960 OPC_CheckChild0Integer, 67|128,58,
20961 OPC_RecordChild1,
20962 OPC_RecordChild2,
20963 OPC_RecordChild3,
20964 OPC_CheckPatternPredicate1,
20965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
20966 26|128,1, 3, 24,
20967 13,
20968 OPC_CheckChild0Integer, 54|128,58,
20969 OPC_RecordChild1,
20970 OPC_RecordChild2,
20971 OPC_CheckPatternPredicate1,
20972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_S),
20973 8|128,1, 2, 9,
20974 13,
20975 OPC_CheckChild0Integer, 58|128,58,
20976 OPC_RecordChild1,
20977 OPC_RecordChild2,
20978 OPC_CheckPatternPredicate1,
20979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_S),
20980 8|128,1, 2, 9,
20981 13,
20982 OPC_CheckChild0Integer, 56|128,58,
20983 OPC_RecordChild1,
20984 OPC_RecordChild2,
20985 OPC_CheckPatternPredicate1,
20986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_S),
20987 8|128,1, 2, 9,
20988 13,
20989 OPC_CheckChild0Integer, 60|128,58,
20990 OPC_RecordChild1,
20991 OPC_RecordChild2,
20992 OPC_CheckPatternPredicate1,
20993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_S),
20994 8|128,1, 2, 9,
20995 13,
20996 OPC_CheckChild0Integer, 53|128,58,
20997 OPC_RecordChild1,
20998 OPC_RecordChild2,
20999 OPC_CheckPatternPredicate1,
21000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_D),
21001 26|128,1, 2, 9,
21002 13,
21003 OPC_CheckChild0Integer, 57|128,58,
21004 OPC_RecordChild1,
21005 OPC_RecordChild2,
21006 OPC_CheckPatternPredicate1,
21007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_D),
21008 26|128,1, 2, 9,
21009 13,
21010 OPC_CheckChild0Integer, 55|128,58,
21011 OPC_RecordChild1,
21012 OPC_RecordChild2,
21013 OPC_CheckPatternPredicate1,
21014 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_D),
21015 26|128,1, 2, 9,
21016 13,
21017 OPC_CheckChild0Integer, 59|128,58,
21018 OPC_RecordChild1,
21019 OPC_RecordChild2,
21020 OPC_CheckPatternPredicate1,
21021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_D),
21022 26|128,1, 2, 9,
21023 13,
21024 OPC_CheckChild0Integer, 35|128,58,
21025 OPC_RecordChild1,
21026 OPC_RecordChild2,
21027 OPC_CheckPatternPredicate1,
21028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_S_D),
21029 8|128,1, 2, 9,
21030 12,
21031 OPC_CheckChild0Integer, 50|128,58,
21032 OPC_RecordChild1,
21033 OPC_CheckPatternPredicate1,
21034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_S),
21035 8|128,1, 1, 1,
21036 12,
21037 OPC_CheckChild0Integer, 92|128,58,
21038 OPC_RecordChild1,
21039 OPC_CheckPatternPredicate1,
21040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
21041 8|128,1, 1, 1,
21042 12,
21043 OPC_CheckChild0Integer, 70|128,58,
21044 OPC_RecordChild1,
21045 OPC_CheckPatternPredicate1,
21046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
21047 8|128,1, 1, 1,
21048 12,
21049 OPC_CheckChild0Integer, 84|128,58,
21050 OPC_RecordChild1,
21051 OPC_CheckPatternPredicate1,
21052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
21053 8|128,1, 1, 1,
21054 12,
21055 OPC_CheckChild0Integer, 74|128,58,
21056 OPC_RecordChild1,
21057 OPC_CheckPatternPredicate1,
21058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_S),
21059 8|128,1, 1, 1,
21060 12,
21061 OPC_CheckChild0Integer, 38|128,58,
21062 OPC_RecordChild1,
21063 OPC_CheckPatternPredicate1,
21064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_D_S),
21065 26|128,1, 1, 1,
21066 12,
21067 OPC_CheckChild0Integer, 36|128,58,
21068 OPC_RecordChild1,
21069 OPC_CheckPatternPredicate1,
21070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_D_S),
21071 26|128,1, 1, 1,
21072 12,
21073 OPC_CheckChild0Integer, 78|128,58,
21074 OPC_RecordChild1,
21075 OPC_CheckPatternPredicate1,
21076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
21077 8|128,1, 1, 1,
21078 12,
21079 OPC_CheckChild0Integer, 82|128,58,
21080 OPC_RecordChild1,
21081 OPC_CheckPatternPredicate1,
21082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
21083 8|128,1, 1, 1,
21084 12,
21085 OPC_CheckChild0Integer, 80|128,58,
21086 OPC_RecordChild1,
21087 OPC_CheckPatternPredicate1,
21088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_S),
21089 8|128,1, 1, 1,
21090 12,
21091 OPC_CheckChild0Integer, 76|128,58,
21092 OPC_RecordChild1,
21093 OPC_CheckPatternPredicate1,
21094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_S),
21095 8|128,1, 1, 1,
21096 12,
21097 OPC_CheckChild0Integer, 49|128,58,
21098 OPC_RecordChild1,
21099 OPC_CheckPatternPredicate1,
21100 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_D),
21101 26|128,1, 1, 1,
21102 12,
21103 OPC_CheckChild0Integer, 91|128,58,
21104 OPC_RecordChild1,
21105 OPC_CheckPatternPredicate1,
21106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
21107 26|128,1, 1, 1,
21108 12,
21109 OPC_CheckChild0Integer, 69|128,58,
21110 OPC_RecordChild1,
21111 OPC_CheckPatternPredicate1,
21112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
21113 26|128,1, 1, 1,
21114 12,
21115 OPC_CheckChild0Integer, 83|128,58,
21116 OPC_RecordChild1,
21117 OPC_CheckPatternPredicate1,
21118 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
21119 26|128,1, 1, 1,
21120 12,
21121 OPC_CheckChild0Integer, 73|128,58,
21122 OPC_RecordChild1,
21123 OPC_CheckPatternPredicate1,
21124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_D),
21125 26|128,1, 1, 1,
21126 12,
21127 OPC_CheckChild0Integer, 77|128,58,
21128 OPC_RecordChild1,
21129 OPC_CheckPatternPredicate1,
21130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
21131 26|128,1, 1, 1,
21132 12,
21133 OPC_CheckChild0Integer, 81|128,58,
21134 OPC_RecordChild1,
21135 OPC_CheckPatternPredicate1,
21136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
21137 26|128,1, 1, 1,
21138 12,
21139 OPC_CheckChild0Integer, 79|128,58,
21140 OPC_RecordChild1,
21141 OPC_CheckPatternPredicate1,
21142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_D),
21143 26|128,1, 1, 1,
21144 12,
21145 OPC_CheckChild0Integer, 75|128,58,
21146 OPC_RecordChild1,
21147 OPC_CheckPatternPredicate1,
21148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_D),
21149 26|128,1, 1, 1,
21150 12,
21151 OPC_CheckChild0Integer, 72|128,58,
21152 OPC_RecordChild1,
21153 OPC_CheckPatternPredicate7,
21154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_S),
21155 8|128,1, 1, 1,
21156 12,
21157 OPC_CheckChild0Integer, 86|128,58,
21158 OPC_RecordChild1,
21159 OPC_CheckPatternPredicate7,
21160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_S),
21161 8|128,1, 1, 1,
21162 12,
21163 OPC_CheckChild0Integer, 71|128,58,
21164 OPC_RecordChild1,
21165 OPC_CheckPatternPredicate7,
21166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_D),
21167 26|128,1, 1, 1,
21168 12,
21169 OPC_CheckChild0Integer, 85|128,58,
21170 OPC_RecordChild1,
21171 OPC_CheckPatternPredicate7,
21172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_D),
21173 26|128,1, 1, 1,
21174 14,
21175 OPC_CheckChild0Integer, 1|128,51,
21176 OPC_RecordChild1,
21177 OPC_CheckPatternPredicate0,
21178 OPC_EmitIntegerI32, LoongArch::sub_128,
21179 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21180 8|128,1, 2, 9,
21181 14,
21182 OPC_CheckChild0Integer, 0|128,51,
21183 OPC_RecordChild1,
21184 OPC_CheckPatternPredicate0,
21185 OPC_EmitIntegerI32, LoongArch::sub_128,
21186 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21187 26|128,1, 2, 9,
21188 13,
21189 OPC_CheckChild0Integer, 82|128,52,
21190 OPC_RecordChild1,
21191 OPC_RecordChild2,
21192 OPC_CheckPatternPredicate0,
21193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_L),
21194 12|128,1, 2, 9,
21195 12,
21196 OPC_CheckChild0Integer, 77|128,52,
21197 OPC_RecordChild1,
21198 OPC_CheckPatternPredicate0,
21199 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_S_H),
21200 12|128,1, 1, 1,
21201 12,
21202 OPC_CheckChild0Integer, 75|128,52,
21203 OPC_RecordChild1,
21204 OPC_CheckPatternPredicate0,
21205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_S_H),
21206 12|128,1, 1, 1,
21207 12,
21208 OPC_CheckChild0Integer, 83|128,52,
21209 OPC_RecordChild1,
21210 OPC_CheckPatternPredicate0,
21211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_W),
21212 12|128,1, 1, 1,
21213 12,
21214 OPC_CheckChild0Integer, 84|128,52,
21215 OPC_RecordChild1,
21216 OPC_CheckPatternPredicate0,
21217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_WU),
21218 12|128,1, 1, 1,
21219 12,
21220 OPC_CheckChild0Integer, 86|128,52,
21221 OPC_RecordChild1,
21222 OPC_CheckPatternPredicate0,
21223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTL_D_W),
21224 28|128,1, 1, 1,
21225 12,
21226 OPC_CheckChild0Integer, 85|128,52,
21227 OPC_RecordChild1,
21228 OPC_CheckPatternPredicate0,
21229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTH_D_W),
21230 28|128,1, 1, 1,
21231 12,
21232 OPC_CheckChild0Integer, 80|128,52,
21233 OPC_RecordChild1,
21234 OPC_CheckPatternPredicate0,
21235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
21236 28|128,1, 1, 1,
21237 12,
21238 OPC_CheckChild0Integer, 81|128,52,
21239 OPC_RecordChild1,
21240 OPC_CheckPatternPredicate0,
21241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
21242 28|128,1, 1, 1,
21243 14,
21244 OPC_CheckChild0Integer, 100|128,52,
21245 OPC_RecordChild1,
21246 OPC_RecordChild2,
21247 OPC_RecordChild3,
21248 OPC_CheckPatternPredicate0,
21249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
21250 12|128,1, 3, 24,
21251 14,
21252 OPC_CheckChild0Integer, 104|128,52,
21253 OPC_RecordChild1,
21254 OPC_RecordChild2,
21255 OPC_RecordChild3,
21256 OPC_CheckPatternPredicate0,
21257 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
21258 12|128,1, 3, 24,
21259 14,
21260 OPC_CheckChild0Integer, 106|128,52,
21261 OPC_RecordChild1,
21262 OPC_RecordChild2,
21263 OPC_RecordChild3,
21264 OPC_CheckPatternPredicate0,
21265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
21266 12|128,1, 3, 24,
21267 14,
21268 OPC_CheckChild0Integer, 99|128,52,
21269 OPC_RecordChild1,
21270 OPC_RecordChild2,
21271 OPC_RecordChild3,
21272 OPC_CheckPatternPredicate0,
21273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
21274 28|128,1, 3, 24,
21275 14,
21276 OPC_CheckChild0Integer, 103|128,52,
21277 OPC_RecordChild1,
21278 OPC_RecordChild2,
21279 OPC_RecordChild3,
21280 OPC_CheckPatternPredicate0,
21281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
21282 28|128,1, 3, 24,
21283 14,
21284 OPC_CheckChild0Integer, 105|128,52,
21285 OPC_RecordChild1,
21286 OPC_RecordChild2,
21287 OPC_RecordChild3,
21288 OPC_CheckPatternPredicate0,
21289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
21290 28|128,1, 3, 24,
21291 13,
21292 OPC_CheckChild0Integer, 92|128,52,
21293 OPC_RecordChild1,
21294 OPC_RecordChild2,
21295 OPC_CheckPatternPredicate0,
21296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_S),
21297 12|128,1, 2, 9,
21298 13,
21299 OPC_CheckChild0Integer, 96|128,52,
21300 OPC_RecordChild1,
21301 OPC_RecordChild2,
21302 OPC_CheckPatternPredicate0,
21303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_S),
21304 12|128,1, 2, 9,
21305 13,
21306 OPC_CheckChild0Integer, 94|128,52,
21307 OPC_RecordChild1,
21308 OPC_RecordChild2,
21309 OPC_CheckPatternPredicate0,
21310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_S),
21311 12|128,1, 2, 9,
21312 13,
21313 OPC_CheckChild0Integer, 98|128,52,
21314 OPC_RecordChild1,
21315 OPC_RecordChild2,
21316 OPC_CheckPatternPredicate0,
21317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_S),
21318 12|128,1, 2, 9,
21319 13,
21320 OPC_CheckChild0Integer, 91|128,52,
21321 OPC_RecordChild1,
21322 OPC_RecordChild2,
21323 OPC_CheckPatternPredicate0,
21324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_D),
21325 28|128,1, 2, 9,
21326 13,
21327 OPC_CheckChild0Integer, 95|128,52,
21328 OPC_RecordChild1,
21329 OPC_RecordChild2,
21330 OPC_CheckPatternPredicate0,
21331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_D),
21332 28|128,1, 2, 9,
21333 13,
21334 OPC_CheckChild0Integer, 93|128,52,
21335 OPC_RecordChild1,
21336 OPC_RecordChild2,
21337 OPC_CheckPatternPredicate0,
21338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_D),
21339 28|128,1, 2, 9,
21340 13,
21341 OPC_CheckChild0Integer, 97|128,52,
21342 OPC_RecordChild1,
21343 OPC_RecordChild2,
21344 OPC_CheckPatternPredicate0,
21345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_D),
21346 28|128,1, 2, 9,
21347 13,
21348 OPC_CheckChild0Integer, 73|128,52,
21349 OPC_RecordChild1,
21350 OPC_RecordChild2,
21351 OPC_CheckPatternPredicate0,
21352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
21353 12|128,1, 2, 9,
21354 12,
21355 OPC_CheckChild0Integer, 88|128,52,
21356 OPC_RecordChild1,
21357 OPC_CheckPatternPredicate0,
21358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_S),
21359 12|128,1, 1, 1,
21360 12,
21361 OPC_CheckChild0Integer, 2|128,53,
21362 OPC_RecordChild1,
21363 OPC_CheckPatternPredicate0,
21364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
21365 12|128,1, 1, 1,
21366 12,
21367 OPC_CheckChild0Integer, 108|128,52,
21368 OPC_RecordChild1,
21369 OPC_CheckPatternPredicate0,
21370 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
21371 12|128,1, 1, 1,
21372 12,
21373 OPC_CheckChild0Integer, 122|128,52,
21374 OPC_RecordChild1,
21375 OPC_CheckPatternPredicate0,
21376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
21377 12|128,1, 1, 1,
21378 12,
21379 OPC_CheckChild0Integer, 112|128,52,
21380 OPC_RecordChild1,
21381 OPC_CheckPatternPredicate0,
21382 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_S),
21383 12|128,1, 1, 1,
21384 12,
21385 OPC_CheckChild0Integer, 76|128,52,
21386 OPC_RecordChild1,
21387 OPC_CheckPatternPredicate0,
21388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_D_S),
21389 28|128,1, 1, 1,
21390 12,
21391 OPC_CheckChild0Integer, 74|128,52,
21392 OPC_RecordChild1,
21393 OPC_CheckPatternPredicate0,
21394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_D_S),
21395 28|128,1, 1, 1,
21396 12,
21397 OPC_CheckChild0Integer, 116|128,52,
21398 OPC_RecordChild1,
21399 OPC_CheckPatternPredicate0,
21400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_S),
21401 12|128,1, 1, 1,
21402 12,
21403 OPC_CheckChild0Integer, 120|128,52,
21404 OPC_RecordChild1,
21405 OPC_CheckPatternPredicate0,
21406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_S),
21407 12|128,1, 1, 1,
21408 12,
21409 OPC_CheckChild0Integer, 118|128,52,
21410 OPC_RecordChild1,
21411 OPC_CheckPatternPredicate0,
21412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_S),
21413 12|128,1, 1, 1,
21414 12,
21415 OPC_CheckChild0Integer, 114|128,52,
21416 OPC_RecordChild1,
21417 OPC_CheckPatternPredicate0,
21418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_S),
21419 12|128,1, 1, 1,
21420 12,
21421 OPC_CheckChild0Integer, 87|128,52,
21422 OPC_RecordChild1,
21423 OPC_CheckPatternPredicate0,
21424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_D),
21425 28|128,1, 1, 1,
21426 12,
21427 OPC_CheckChild0Integer, 1|128,53,
21428 OPC_RecordChild1,
21429 OPC_CheckPatternPredicate0,
21430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
21431 28|128,1, 1, 1,
21432 12,
21433 OPC_CheckChild0Integer, 107|128,52,
21434 OPC_RecordChild1,
21435 OPC_CheckPatternPredicate0,
21436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
21437 28|128,1, 1, 1,
21438 12,
21439 OPC_CheckChild0Integer, 121|128,52,
21440 OPC_RecordChild1,
21441 OPC_CheckPatternPredicate0,
21442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
21443 28|128,1, 1, 1,
21444 12,
21445 OPC_CheckChild0Integer, 111|128,52,
21446 OPC_RecordChild1,
21447 OPC_CheckPatternPredicate0,
21448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_D),
21449 28|128,1, 1, 1,
21450 12,
21451 OPC_CheckChild0Integer, 115|128,52,
21452 OPC_RecordChild1,
21453 OPC_CheckPatternPredicate0,
21454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_D),
21455 28|128,1, 1, 1,
21456 12,
21457 OPC_CheckChild0Integer, 119|128,52,
21458 OPC_RecordChild1,
21459 OPC_CheckPatternPredicate0,
21460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_D),
21461 28|128,1, 1, 1,
21462 12,
21463 OPC_CheckChild0Integer, 117|128,52,
21464 OPC_RecordChild1,
21465 OPC_CheckPatternPredicate0,
21466 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_D),
21467 28|128,1, 1, 1,
21468 12,
21469 OPC_CheckChild0Integer, 113|128,52,
21470 OPC_RecordChild1,
21471 OPC_CheckPatternPredicate0,
21472 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_D),
21473 28|128,1, 1, 1,
21474 12,
21475 OPC_CheckChild0Integer, 110|128,52,
21476 OPC_RecordChild1,
21477 OPC_CheckPatternPredicate7,
21478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_S),
21479 12|128,1, 1, 1,
21480 12,
21481 OPC_CheckChild0Integer, 124|128,52,
21482 OPC_RecordChild1,
21483 OPC_CheckPatternPredicate7,
21484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_S),
21485 12|128,1, 1, 1,
21486 12,
21487 OPC_CheckChild0Integer, 109|128,52,
21488 OPC_RecordChild1,
21489 OPC_CheckPatternPredicate7,
21490 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_D),
21491 28|128,1, 1, 1,
21492 12,
21493 OPC_CheckChild0Integer, 123|128,52,
21494 OPC_RecordChild1,
21495 OPC_CheckPatternPredicate7,
21496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_D),
21497 28|128,1, 1, 1,
21498 20,
21499 OPC_CheckChild0Integer, 120|128,50,
21500 OPC_RecordChild1,
21501 OPC_CheckPatternPredicate0,
21502 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21503 12|128,1, 0,
21504 OPC_EmitIntegerI32, LoongArch::sub_128,
21505 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
21506 12|128,1, 3, 21,
21507 20,
21508 OPC_CheckChild0Integer, 119|128,50,
21509 OPC_RecordChild1,
21510 OPC_CheckPatternPredicate0,
21511 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21512 28|128,1, 0,
21513 OPC_EmitIntegerI32, LoongArch::sub_128,
21514 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
21515 28|128,1, 3, 21,
21516 27,
21517 OPC_CheckChild0Integer, 126|128,50,
21518 OPC_RecordChild1,
21519 OPC_CheckPatternPredicate0,
21520 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21521 MVT::v32i8, 0,
21522 OPC_EmitIntegerByHwMode0, 1,
21523 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21524 MVT::v32i8, 3, 21,
21525 OPC_EmitIntegerI32, LoongArch::sub_128,
21526 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21527 8|128,1, 2, 76,
21528 27,
21529 OPC_CheckChild0Integer, 125|128,50,
21530 OPC_RecordChild1,
21531 OPC_CheckPatternPredicate0,
21532 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21533 MVT::v32i8, 0,
21534 OPC_EmitIntegerByHwMode0, 1,
21535 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21536 MVT::v32i8, 3, 21,
21537 OPC_EmitIntegerI32, LoongArch::sub_128,
21538 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21539 26|128,1, 2, 76,
21540 28,
21541 OPC_CheckChild0Integer, 7|128,51,
21542 OPC_RecordChild1,
21543 OPC_RecordChild2,
21544 OPC_CheckPatternPredicate0,
21545 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21546 MVT::v32i8, 0,
21547 OPC_EmitIntegerI32, LoongArch::sub_128,
21548 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
21549 MVT::v32i8, 3, 45,
21550 OPC_EmitIntegerByHwMode0, 48,
21551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21552 12|128,1, 3, 92,
21553 28,
21554 OPC_CheckChild0Integer, 6|128,51,
21555 OPC_RecordChild1,
21556 OPC_RecordChild2,
21557 OPC_CheckPatternPredicate0,
21558 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21559 MVT::v32i8, 0,
21560 OPC_EmitIntegerI32, LoongArch::sub_128,
21561 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
21562 MVT::v32i8, 3, 45,
21563 OPC_EmitIntegerByHwMode0, 48,
21564 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21565 28|128,1, 3, 92,
21566 28,
21567 OPC_CheckChild0Integer, 4|128,51,
21568 OPC_RecordChild1,
21569 OPC_RecordChild2,
21570 OPC_CheckPatternPredicate0,
21571 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21572 MVT::v32i8, 0,
21573 OPC_EmitIntegerI32, LoongArch::sub_128,
21574 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
21575 MVT::v32i8, 3, 45,
21576 OPC_EmitIntegerByHwMode0, 2,
21577 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21578 12|128,1, 3, 92,
21579 28,
21580 OPC_CheckChild0Integer, 3|128,51,
21581 OPC_RecordChild1,
21582 OPC_RecordChild2,
21583 OPC_CheckPatternPredicate0,
21584 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21585 MVT::v32i8, 0,
21586 OPC_EmitIntegerI32, LoongArch::sub_128,
21587 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
21588 MVT::v32i8, 3, 45,
21589 OPC_EmitIntegerByHwMode0, 2,
21590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21591 28|128,1, 3, 92,
21592 0,
21593 37, TARGET_VAL(ISD::BRIND),
21594 OPC_RecordNode,
21595 OPC_Scope, 22,
21596 OPC_MoveChild1,
21597 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
21598 OPC_RecordChild0,
21599 OPC_RecordChild1,
21600 OPC_MoveChild1,
21601 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21602 OPC_CheckPredicate, 66,
21603 OPC_MoveParent,
21604 OPC_CheckTypeByHwMode0,
21605 OPC_MoveParent,
21606 OPC_EmitMergeInputChains1_0,
21607 OPC_EmitConvertToTarget2,
21608 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
21609 2, 43,
21610 10,
21611 OPC_RecordChild1,
21612 OPC_CheckChild1TypeByHwMode0,
21613 OPC_EmitMergeInputChains1_0,
21614 OPC_EmitIntegerByHwMode0, 0,
21615 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
21616 2, 25,
21617 0,
21618 76, TARGET_VAL(LoongArchISD::MOVFR2GR_S_LA64),
21619 OPC_Scope, 59,
21620 OPC_MoveChild0,
21621 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
21622 OPC_RecordChild0,
21623 OPC_Scope, 25,
21624 OPC_CheckChild0Type, 8|128,1,
21625 OPC_RecordChild1,
21626 OPC_MoveChild1,
21627 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21628 OPC_CheckPredicate, 18,
21629 OPC_CheckTypeByHwMode0,
21630 OPC_MoveParent,
21631 OPC_MoveParent,
21632 OPC_CheckTypeByHwMode, 1,
21633 OPC_CheckPatternPredicate1,
21634 OPC_EmitConvertToTarget1,
21635 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_W), 0,
21636 1, 1, 2, 22,
21637 25,
21638 OPC_CheckChild0Type, 12|128,1,
21639 OPC_RecordChild1,
21640 OPC_MoveChild1,
21641 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21642 OPC_CheckPredicate, 17,
21643 OPC_CheckTypeByHwMode0,
21644 OPC_MoveParent,
21645 OPC_MoveParent,
21646 OPC_CheckTypeByHwMode, 1,
21647 OPC_CheckPatternPredicate0,
21648 OPC_EmitConvertToTarget1,
21649 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_W), 0,
21650 1, 1, 2, 22,
21651 0,
21652 13,
21653 OPC_RecordChild0,
21654 OPC_CheckTypeByHwMode, 1,
21655 OPC_CheckPatternPredicate, 12,
21656 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVFR2GR_S), 0,
21657 1, 1, 1, 1,
21658 0,
21659 120, TARGET_VAL(ISD::BITCAST),
21660 OPC_Scope, 63,
21661 OPC_MoveChild0,
21662 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
21663 OPC_RecordChild0,
21664 OPC_Scope, 27,
21665 OPC_CheckChild0Type, 26|128,1,
21666 OPC_RecordChild1,
21667 OPC_MoveChild1,
21668 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21669 OPC_CheckPredicate, 25,
21670 OPC_CheckTypeByHwMode0,
21671 OPC_MoveParent,
21672 OPC_CheckType, MVT::f64,
21673 OPC_MoveParent,
21674 OPC_CheckTypeByHwMode, 1,
21675 OPC_CheckPatternPredicate1,
21676 OPC_EmitConvertToTarget1,
21677 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_D), 0,
21678 1, 1, 2, 22,
21679 27,
21680 OPC_CheckChild0Type, 28|128,1,
21681 OPC_RecordChild1,
21682 OPC_MoveChild1,
21683 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21684 OPC_CheckPredicate, 18,
21685 OPC_CheckTypeByHwMode0,
21686 OPC_MoveParent,
21687 OPC_CheckType, MVT::f64,
21688 OPC_MoveParent,
21689 OPC_CheckTypeByHwMode, 1,
21690 OPC_CheckPatternPredicate0,
21691 OPC_EmitConvertToTarget1,
21692 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_D), 0,
21693 1, 1, 2, 22,
21694 0,
21695 53,
21696 OPC_RecordChild0,
21697 OPC_Scope, 11,
21698 OPC_CheckChild0Type, MVT::f32,
21699 OPC_CheckTypeI32,
21700 OPC_CheckPatternPredicate, 14,
21701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
21702 MVT::i32, 1, 1,
21703 13,
21704 OPC_CheckChild0Type, MVT::f64,
21705 OPC_CheckTypeByHwMode0,
21706 OPC_CheckPatternPredicate, 9,
21707 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVFR2GR_D), 0,
21708 1, 0, 1, 1,
21709 11,
21710 OPC_CheckChild0TypeI32,
21711 OPC_CheckType, MVT::f32,
21712 OPC_CheckPatternPredicate, 14,
21713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
21714 MVT::f32, 1, 1,
21715 11,
21716 OPC_CheckChild0TypeByHwMode0,
21717 OPC_CheckType, MVT::f64,
21718 OPC_CheckPatternPredicate, 9,
21719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
21720 MVT::f64, 1, 1,
21721 0,
21722 0,
21723 19, TARGET_VAL(ISD::CALLSEQ_START),
21724 OPC_RecordNode,
21725 OPC_RecordChild1,
21726 OPC_MoveChild1,
21727 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21728 OPC_MoveSibling2,
21729 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21730 OPC_RecordNode,
21731 OPC_MoveParent,
21732 OPC_EmitMergeInputChains1_0,
21733 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
21734 2, 25,
21735 20, TARGET_VAL(ISD::CALLSEQ_END),
21736 OPC_RecordNode,
21737 OPC_CaptureGlueInput,
21738 OPC_RecordChild1,
21739 OPC_MoveChild1,
21740 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21741 OPC_MoveSibling2,
21742 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21743 OPC_RecordNode,
21744 OPC_MoveParent,
21745 OPC_EmitMergeInputChains1_0,
21746 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
21747 2, 25,
21748 103|128,17, TARGET_VAL(ISD::SETCC),
21749 OPC_RecordChild0,
21750 OPC_Scope, 122|128,2,
21751 OPC_CheckChild0TypeByHwMode0,
21752 OPC_Scope, 33,
21753 OPC_CheckChild1Integer, 0,
21754 OPC_Scope, 13,
21755 OPC_CheckChild2CondCode, ISD::SETEQ,
21756 OPC_CheckTypeByHwMode0,
21757 OPC_EmitIntegerByHwMode0, 1,
21758 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTUI), 0,
21759 1, 0, 2, 9,
21760 14,
21761 OPC_CheckChild2CondCode, ISD::SETNE,
21762 OPC_CheckTypeByHwMode0,
21763 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
21764 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
21765 1, 0, 2, 3,
21766 0,
21767 83|128,2,
21768 OPC_RecordChild1,
21769 OPC_Scope, 25|128,1,
21770 OPC_MoveChild1,
21771 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21772 OPC_Scope, 30,
21773 OPC_CheckPredicate4,
21774 OPC_MoveParent,
21775 OPC_Scope, 12,
21776 OPC_CheckChild2CondCode, ISD::SETLT,
21777 OPC_CheckTypeByHwMode0,
21778 OPC_EmitConvertToTarget1,
21779 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTI), 0,
21780 1, 0, 2, 22,
21781 12,
21782 OPC_CheckChild2CondCode, ISD::SETULT,
21783 OPC_CheckTypeByHwMode0,
21784 OPC_EmitConvertToTarget1,
21785 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTUI), 0,
21786 1, 0, 2, 22,
21787 0,
21788 115,
21789 OPC_CheckPredicate, 67,
21790 OPC_MoveParent,
21791 OPC_Scope, 53,
21792 OPC_CheckChild2CondCode, ISD::SETEQ,
21793 OPC_CheckTypeByHwMode0,
21794 OPC_Scope, 23,
21795 OPC_CheckPatternPredicate5,
21796 OPC_EmitConvertToTarget1,
21797 OPC_EmitNodeXForm, 10, 2,
21798 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
21799 1, 0, 2, 34,
21800 OPC_EmitIntegerByHwMode0, 1,
21801 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTUI), 0,
21802 1, 0, 2, 93,
21803 23,
21804 OPC_CheckPatternPredicate2,
21805 OPC_EmitConvertToTarget1,
21806 OPC_EmitNodeXForm, 10, 2,
21807 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
21808 1, 0, 2, 34,
21809 OPC_EmitIntegerByHwMode0, 1,
21810 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTUI), 0,
21811 1, 0, 2, 93,
21812 0,
21813 55,
21814 OPC_CheckChild2CondCode, ISD::SETNE,
21815 OPC_CheckTypeByHwMode0,
21816 OPC_Scope, 24,
21817 OPC_CheckPatternPredicate5,
21818 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
21819 OPC_EmitConvertToTarget1,
21820 OPC_EmitNodeXForm, 10, 3,
21821 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
21822 1, 0, 2, 65,
21823 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
21824 1, 0, 2, 90,
21825 24,
21826 OPC_CheckPatternPredicate2,
21827 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
21828 OPC_EmitConvertToTarget1,
21829 OPC_EmitNodeXForm, 10, 3,
21830 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
21831 1, 0, 2, 65,
21832 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
21833 1, 0, 2, 90,
21834 0,
21835 0,
21836 0,
21837 11,
21838 OPC_CheckChild2CondCode, ISD::SETLT,
21839 OPC_CheckTypeByHwMode0,
21840 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLT), 0,
21841 1, 0, 2, 9,
21842 11,
21843 OPC_CheckChild2CondCode, ISD::SETULT,
21844 OPC_CheckTypeByHwMode0,
21845 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
21846 1, 0, 2, 9,
21847 11,
21848 OPC_CheckChild2CondCode, ISD::SETUGT,
21849 OPC_CheckTypeByHwMode0,
21850 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
21851 1, 0, 2, 3,
21852 11,
21853 OPC_CheckChild2CondCode, ISD::SETGT,
21854 OPC_CheckTypeByHwMode0,
21855 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLT), 0,
21856 1, 0, 2, 3,
21857 21,
21858 OPC_CheckChild2CondCode, ISD::SETEQ,
21859 OPC_CheckTypeByHwMode0,
21860 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XOR), 0,
21861 1, 0, 2, 9,
21862 OPC_EmitIntegerByHwMode0, 1,
21863 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTUI), 0,
21864 1, 0, 2, 49,
21865 22,
21866 OPC_CheckChild2CondCode, ISD::SETNE,
21867 OPC_CheckTypeByHwMode0,
21868 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
21869 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XOR), 0,
21870 1, 0, 2, 9,
21871 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
21872 1, 0, 2, 49,
21873 21,
21874 OPC_CheckChild2CondCode, ISD::SETUGE,
21875 OPC_CheckTypeByHwMode0,
21876 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
21877 1, 0, 2, 9,
21878 OPC_EmitIntegerByHwMode0, 1,
21879 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XORI), 0,
21880 1, 0, 2, 49,
21881 21,
21882 OPC_CheckChild2CondCode, ISD::SETULE,
21883 OPC_CheckTypeByHwMode0,
21884 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
21885 1, 0, 2, 3,
21886 OPC_EmitIntegerByHwMode0, 1,
21887 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XORI), 0,
21888 1, 0, 2, 49,
21889 21,
21890 OPC_CheckChild2CondCode, ISD::SETGE,
21891 OPC_CheckTypeByHwMode0,
21892 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SLT), 0,
21893 1, 0, 2, 9,
21894 OPC_EmitIntegerByHwMode0, 1,
21895 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XORI), 0,
21896 1, 0, 2, 49,
21897 21,
21898 OPC_CheckChild2CondCode, ISD::SETLE,
21899 OPC_CheckTypeByHwMode0,
21900 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SLT), 0,
21901 1, 0, 2, 3,
21902 OPC_EmitIntegerByHwMode0, 1,
21903 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XORI), 0,
21904 1, 0, 2, 49,
21905 0,
21906 0,
21907 46|128,1,
21908 OPC_CheckChild0Type, MVT::f32,
21909 OPC_RecordChild1,
21910 OPC_Scope, 12,
21911 OPC_CheckChild2CondCode, ISD::SETOEQ,
21912 OPC_CheckTypeByHwMode0,
21913 OPC_CheckPatternPredicate3,
21914 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
21915 1, 0, 2, 9,
21916 12,
21917 OPC_CheckChild2CondCode, ISD::SETEQ,
21918 OPC_CheckTypeByHwMode0,
21919 OPC_CheckPatternPredicate3,
21920 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
21921 1, 0, 2, 9,
21922 12,
21923 OPC_CheckChild2CondCode, ISD::SETOLT,
21924 OPC_CheckTypeByHwMode0,
21925 OPC_CheckPatternPredicate3,
21926 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
21927 1, 0, 2, 9,
21928 12,
21929 OPC_CheckChild2CondCode, ISD::SETOLE,
21930 OPC_CheckTypeByHwMode0,
21931 OPC_CheckPatternPredicate3,
21932 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
21933 1, 0, 2, 9,
21934 12,
21935 OPC_CheckChild2CondCode, ISD::SETLE,
21936 OPC_CheckTypeByHwMode0,
21937 OPC_CheckPatternPredicate3,
21938 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
21939 1, 0, 2, 9,
21940 12,
21941 OPC_CheckChild2CondCode, ISD::SETONE,
21942 OPC_CheckTypeByHwMode0,
21943 OPC_CheckPatternPredicate3,
21944 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0,
21945 1, 0, 2, 9,
21946 12,
21947 OPC_CheckChild2CondCode, ISD::SETO,
21948 OPC_CheckTypeByHwMode0,
21949 OPC_CheckPatternPredicate3,
21950 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0,
21951 1, 0, 2, 9,
21952 12,
21953 OPC_CheckChild2CondCode, ISD::SETUEQ,
21954 OPC_CheckTypeByHwMode0,
21955 OPC_CheckPatternPredicate3,
21956 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0,
21957 1, 0, 2, 9,
21958 12,
21959 OPC_CheckChild2CondCode, ISD::SETULT,
21960 OPC_CheckTypeByHwMode0,
21961 OPC_CheckPatternPredicate3,
21962 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0,
21963 1, 0, 2, 9,
21964 12,
21965 OPC_CheckChild2CondCode, ISD::SETULE,
21966 OPC_CheckTypeByHwMode0,
21967 OPC_CheckPatternPredicate3,
21968 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0,
21969 1, 0, 2, 9,
21970 12,
21971 OPC_CheckChild2CondCode, ISD::SETUNE,
21972 OPC_CheckTypeByHwMode0,
21973 OPC_CheckPatternPredicate3,
21974 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0,
21975 1, 0, 2, 9,
21976 12,
21977 OPC_CheckChild2CondCode, ISD::SETUO,
21978 OPC_CheckTypeByHwMode0,
21979 OPC_CheckPatternPredicate3,
21980 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0,
21981 1, 0, 2, 9,
21982 12,
21983 OPC_CheckChild2CondCode, ISD::SETLT,
21984 OPC_CheckTypeByHwMode0,
21985 OPC_CheckPatternPredicate3,
21986 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
21987 1, 0, 2, 9,
21988 0,
21989 46|128,1,
21990 OPC_CheckChild0Type, MVT::f64,
21991 OPC_RecordChild1,
21992 OPC_Scope, 12,
21993 OPC_CheckChild2CondCode, ISD::SETOEQ,
21994 OPC_CheckTypeByHwMode0,
21995 OPC_CheckPatternPredicate4,
21996 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
21997 1, 0, 2, 9,
21998 12,
21999 OPC_CheckChild2CondCode, ISD::SETEQ,
22000 OPC_CheckTypeByHwMode0,
22001 OPC_CheckPatternPredicate4,
22002 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
22003 1, 0, 2, 9,
22004 12,
22005 OPC_CheckChild2CondCode, ISD::SETOLT,
22006 OPC_CheckTypeByHwMode0,
22007 OPC_CheckPatternPredicate4,
22008 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
22009 1, 0, 2, 9,
22010 12,
22011 OPC_CheckChild2CondCode, ISD::SETOLE,
22012 OPC_CheckTypeByHwMode0,
22013 OPC_CheckPatternPredicate4,
22014 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
22015 1, 0, 2, 9,
22016 12,
22017 OPC_CheckChild2CondCode, ISD::SETLE,
22018 OPC_CheckTypeByHwMode0,
22019 OPC_CheckPatternPredicate4,
22020 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
22021 1, 0, 2, 9,
22022 12,
22023 OPC_CheckChild2CondCode, ISD::SETONE,
22024 OPC_CheckTypeByHwMode0,
22025 OPC_CheckPatternPredicate4,
22026 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0,
22027 1, 0, 2, 9,
22028 12,
22029 OPC_CheckChild2CondCode, ISD::SETO,
22030 OPC_CheckTypeByHwMode0,
22031 OPC_CheckPatternPredicate4,
22032 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0,
22033 1, 0, 2, 9,
22034 12,
22035 OPC_CheckChild2CondCode, ISD::SETUEQ,
22036 OPC_CheckTypeByHwMode0,
22037 OPC_CheckPatternPredicate4,
22038 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0,
22039 1, 0, 2, 9,
22040 12,
22041 OPC_CheckChild2CondCode, ISD::SETULT,
22042 OPC_CheckTypeByHwMode0,
22043 OPC_CheckPatternPredicate4,
22044 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0,
22045 1, 0, 2, 9,
22046 12,
22047 OPC_CheckChild2CondCode, ISD::SETULE,
22048 OPC_CheckTypeByHwMode0,
22049 OPC_CheckPatternPredicate4,
22050 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0,
22051 1, 0, 2, 9,
22052 12,
22053 OPC_CheckChild2CondCode, ISD::SETUNE,
22054 OPC_CheckTypeByHwMode0,
22055 OPC_CheckPatternPredicate4,
22056 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0,
22057 1, 0, 2, 9,
22058 12,
22059 OPC_CheckChild2CondCode, ISD::SETUO,
22060 OPC_CheckTypeByHwMode0,
22061 OPC_CheckPatternPredicate4,
22062 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0,
22063 1, 0, 2, 9,
22064 12,
22065 OPC_CheckChild2CondCode, ISD::SETLT,
22066 OPC_CheckTypeByHwMode0,
22067 OPC_CheckPatternPredicate4,
22068 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
22069 1, 0, 2, 9,
22070 0,
22071 117,
22072 OPC_CheckChild0Type, MVT::v16i8,
22073 OPC_RecordChild1,
22074 OPC_CheckType, MVT::v16i8,
22075 OPC_Scope, 21,
22076 OPC_CheckChild2CondCode, ISD::SETEQ,
22077 OPC_CheckPatternPredicate1,
22078 OPC_Scope, 8,
22079 OPC_CheckComplexPat4, /*#*/1,
22080 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
22081 MVT::v16i8, 2, 22,
22082 6,
22083 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
22084 MVT::v16i8, 2, 9,
22085 0,
22086 21,
22087 OPC_CheckChild2CondCode, ISD::SETLE,
22088 OPC_CheckPatternPredicate1,
22089 OPC_Scope, 8,
22090 OPC_CheckComplexPat4, /*#*/1,
22091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
22092 MVT::v16i8, 2, 22,
22093 6,
22094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
22095 MVT::v16i8, 2, 9,
22096 0,
22097 21,
22098 OPC_CheckChild2CondCode, ISD::SETLT,
22099 OPC_CheckPatternPredicate1,
22100 OPC_Scope, 8,
22101 OPC_CheckComplexPat4, /*#*/1,
22102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
22103 MVT::v16i8, 2, 22,
22104 6,
22105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
22106 MVT::v16i8, 2, 9,
22107 0,
22108 21,
22109 OPC_CheckChild2CondCode, ISD::SETULE,
22110 OPC_CheckPatternPredicate1,
22111 OPC_Scope, 8,
22112 OPC_CheckComplexPat2, /*#*/1,
22113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
22114 MVT::v16i8, 2, 22,
22115 6,
22116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
22117 MVT::v16i8, 2, 9,
22118 0,
22119 21,
22120 OPC_CheckChild2CondCode, ISD::SETULT,
22121 OPC_CheckPatternPredicate1,
22122 OPC_Scope, 8,
22123 OPC_CheckComplexPat2, /*#*/1,
22124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
22125 MVT::v16i8, 2, 22,
22126 6,
22127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
22128 MVT::v16i8, 2, 9,
22129 0,
22130 0,
22131 117,
22132 OPC_CheckChild0Type, MVT::v8i16,
22133 OPC_RecordChild1,
22134 OPC_CheckType, MVT::v8i16,
22135 OPC_Scope, 21,
22136 OPC_CheckChild2CondCode, ISD::SETEQ,
22137 OPC_CheckPatternPredicate1,
22138 OPC_Scope, 8,
22139 OPC_CheckComplexPat4, /*#*/1,
22140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
22141 MVT::v8i16, 2, 22,
22142 6,
22143 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
22144 MVT::v8i16, 2, 9,
22145 0,
22146 21,
22147 OPC_CheckChild2CondCode, ISD::SETLE,
22148 OPC_CheckPatternPredicate1,
22149 OPC_Scope, 8,
22150 OPC_CheckComplexPat4, /*#*/1,
22151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
22152 MVT::v8i16, 2, 22,
22153 6,
22154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
22155 MVT::v8i16, 2, 9,
22156 0,
22157 21,
22158 OPC_CheckChild2CondCode, ISD::SETLT,
22159 OPC_CheckPatternPredicate1,
22160 OPC_Scope, 8,
22161 OPC_CheckComplexPat4, /*#*/1,
22162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
22163 MVT::v8i16, 2, 22,
22164 6,
22165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
22166 MVT::v8i16, 2, 9,
22167 0,
22168 21,
22169 OPC_CheckChild2CondCode, ISD::SETULE,
22170 OPC_CheckPatternPredicate1,
22171 OPC_Scope, 8,
22172 OPC_CheckComplexPat2, /*#*/1,
22173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
22174 MVT::v8i16, 2, 22,
22175 6,
22176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
22177 MVT::v8i16, 2, 9,
22178 0,
22179 21,
22180 OPC_CheckChild2CondCode, ISD::SETULT,
22181 OPC_CheckPatternPredicate1,
22182 OPC_Scope, 8,
22183 OPC_CheckComplexPat2, /*#*/1,
22184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
22185 MVT::v8i16, 2, 22,
22186 6,
22187 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
22188 MVT::v8i16, 2, 9,
22189 0,
22190 0,
22191 117,
22192 OPC_CheckChild0Type, MVT::v4i32,
22193 OPC_RecordChild1,
22194 OPC_CheckType, MVT::v4i32,
22195 OPC_Scope, 21,
22196 OPC_CheckChild2CondCode, ISD::SETEQ,
22197 OPC_CheckPatternPredicate1,
22198 OPC_Scope, 8,
22199 OPC_CheckComplexPat4, /*#*/1,
22200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
22201 MVT::v4i32, 2, 22,
22202 6,
22203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
22204 MVT::v4i32, 2, 9,
22205 0,
22206 21,
22207 OPC_CheckChild2CondCode, ISD::SETLE,
22208 OPC_CheckPatternPredicate1,
22209 OPC_Scope, 8,
22210 OPC_CheckComplexPat4, /*#*/1,
22211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
22212 MVT::v4i32, 2, 22,
22213 6,
22214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
22215 MVT::v4i32, 2, 9,
22216 0,
22217 21,
22218 OPC_CheckChild2CondCode, ISD::SETLT,
22219 OPC_CheckPatternPredicate1,
22220 OPC_Scope, 8,
22221 OPC_CheckComplexPat4, /*#*/1,
22222 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
22223 MVT::v4i32, 2, 22,
22224 6,
22225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
22226 MVT::v4i32, 2, 9,
22227 0,
22228 21,
22229 OPC_CheckChild2CondCode, ISD::SETULE,
22230 OPC_CheckPatternPredicate1,
22231 OPC_Scope, 8,
22232 OPC_CheckComplexPat2, /*#*/1,
22233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
22234 MVT::v4i32, 2, 22,
22235 6,
22236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
22237 MVT::v4i32, 2, 9,
22238 0,
22239 21,
22240 OPC_CheckChild2CondCode, ISD::SETULT,
22241 OPC_CheckPatternPredicate1,
22242 OPC_Scope, 8,
22243 OPC_CheckComplexPat2, /*#*/1,
22244 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
22245 MVT::v4i32, 2, 22,
22246 6,
22247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
22248 MVT::v4i32, 2, 9,
22249 0,
22250 0,
22251 117,
22252 OPC_CheckChild0Type, MVT::v2i64,
22253 OPC_RecordChild1,
22254 OPC_CheckType, MVT::v2i64,
22255 OPC_Scope, 21,
22256 OPC_CheckChild2CondCode, ISD::SETEQ,
22257 OPC_CheckPatternPredicate1,
22258 OPC_Scope, 8,
22259 OPC_CheckComplexPat4, /*#*/1,
22260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
22261 MVT::v2i64, 2, 22,
22262 6,
22263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
22264 MVT::v2i64, 2, 9,
22265 0,
22266 21,
22267 OPC_CheckChild2CondCode, ISD::SETLE,
22268 OPC_CheckPatternPredicate1,
22269 OPC_Scope, 8,
22270 OPC_CheckComplexPat4, /*#*/1,
22271 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
22272 MVT::v2i64, 2, 22,
22273 6,
22274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
22275 MVT::v2i64, 2, 9,
22276 0,
22277 21,
22278 OPC_CheckChild2CondCode, ISD::SETLT,
22279 OPC_CheckPatternPredicate1,
22280 OPC_Scope, 8,
22281 OPC_CheckComplexPat4, /*#*/1,
22282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
22283 MVT::v2i64, 2, 22,
22284 6,
22285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
22286 MVT::v2i64, 2, 9,
22287 0,
22288 21,
22289 OPC_CheckChild2CondCode, ISD::SETULE,
22290 OPC_CheckPatternPredicate1,
22291 OPC_Scope, 8,
22292 OPC_CheckComplexPat2, /*#*/1,
22293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
22294 MVT::v2i64, 2, 22,
22295 6,
22296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
22297 MVT::v2i64, 2, 9,
22298 0,
22299 21,
22300 OPC_CheckChild2CondCode, ISD::SETULT,
22301 OPC_CheckPatternPredicate1,
22302 OPC_Scope, 8,
22303 OPC_CheckComplexPat2, /*#*/1,
22304 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
22305 MVT::v2i64, 2, 22,
22306 6,
22307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
22308 MVT::v2i64, 2, 9,
22309 0,
22310 0,
22311 117,
22312 OPC_CheckChild0Type, MVT::v32i8,
22313 OPC_RecordChild1,
22314 OPC_CheckType, MVT::v32i8,
22315 OPC_Scope, 21,
22316 OPC_CheckChild2CondCode, ISD::SETEQ,
22317 OPC_CheckPatternPredicate0,
22318 OPC_Scope, 8,
22319 OPC_CheckComplexPat4, /*#*/1,
22320 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
22321 MVT::v32i8, 2, 22,
22322 6,
22323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
22324 MVT::v32i8, 2, 9,
22325 0,
22326 21,
22327 OPC_CheckChild2CondCode, ISD::SETLE,
22328 OPC_CheckPatternPredicate0,
22329 OPC_Scope, 8,
22330 OPC_CheckComplexPat4, /*#*/1,
22331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
22332 MVT::v32i8, 2, 22,
22333 6,
22334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
22335 MVT::v32i8, 2, 9,
22336 0,
22337 21,
22338 OPC_CheckChild2CondCode, ISD::SETLT,
22339 OPC_CheckPatternPredicate0,
22340 OPC_Scope, 8,
22341 OPC_CheckComplexPat4, /*#*/1,
22342 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
22343 MVT::v32i8, 2, 22,
22344 6,
22345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
22346 MVT::v32i8, 2, 9,
22347 0,
22348 21,
22349 OPC_CheckChild2CondCode, ISD::SETULE,
22350 OPC_CheckPatternPredicate0,
22351 OPC_Scope, 8,
22352 OPC_CheckComplexPat2, /*#*/1,
22353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
22354 MVT::v32i8, 2, 22,
22355 6,
22356 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
22357 MVT::v32i8, 2, 9,
22358 0,
22359 21,
22360 OPC_CheckChild2CondCode, ISD::SETULT,
22361 OPC_CheckPatternPredicate0,
22362 OPC_Scope, 8,
22363 OPC_CheckComplexPat2, /*#*/1,
22364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
22365 MVT::v32i8, 2, 22,
22366 6,
22367 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
22368 MVT::v32i8, 2, 9,
22369 0,
22370 0,
22371 117,
22372 OPC_CheckChild0Type, MVT::v16i16,
22373 OPC_RecordChild1,
22374 OPC_CheckType, MVT::v16i16,
22375 OPC_Scope, 21,
22376 OPC_CheckChild2CondCode, ISD::SETEQ,
22377 OPC_CheckPatternPredicate0,
22378 OPC_Scope, 8,
22379 OPC_CheckComplexPat4, /*#*/1,
22380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
22381 MVT::v16i16, 2, 22,
22382 6,
22383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
22384 MVT::v16i16, 2, 9,
22385 0,
22386 21,
22387 OPC_CheckChild2CondCode, ISD::SETLE,
22388 OPC_CheckPatternPredicate0,
22389 OPC_Scope, 8,
22390 OPC_CheckComplexPat4, /*#*/1,
22391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
22392 MVT::v16i16, 2, 22,
22393 6,
22394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
22395 MVT::v16i16, 2, 9,
22396 0,
22397 21,
22398 OPC_CheckChild2CondCode, ISD::SETLT,
22399 OPC_CheckPatternPredicate0,
22400 OPC_Scope, 8,
22401 OPC_CheckComplexPat4, /*#*/1,
22402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
22403 MVT::v16i16, 2, 22,
22404 6,
22405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
22406 MVT::v16i16, 2, 9,
22407 0,
22408 21,
22409 OPC_CheckChild2CondCode, ISD::SETULE,
22410 OPC_CheckPatternPredicate0,
22411 OPC_Scope, 8,
22412 OPC_CheckComplexPat2, /*#*/1,
22413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
22414 MVT::v16i16, 2, 22,
22415 6,
22416 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
22417 MVT::v16i16, 2, 9,
22418 0,
22419 21,
22420 OPC_CheckChild2CondCode, ISD::SETULT,
22421 OPC_CheckPatternPredicate0,
22422 OPC_Scope, 8,
22423 OPC_CheckComplexPat2, /*#*/1,
22424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
22425 MVT::v16i16, 2, 22,
22426 6,
22427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
22428 MVT::v16i16, 2, 9,
22429 0,
22430 0,
22431 117,
22432 OPC_CheckChild0Type, MVT::v8i32,
22433 OPC_RecordChild1,
22434 OPC_CheckType, MVT::v8i32,
22435 OPC_Scope, 21,
22436 OPC_CheckChild2CondCode, ISD::SETEQ,
22437 OPC_CheckPatternPredicate0,
22438 OPC_Scope, 8,
22439 OPC_CheckComplexPat4, /*#*/1,
22440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
22441 MVT::v8i32, 2, 22,
22442 6,
22443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
22444 MVT::v8i32, 2, 9,
22445 0,
22446 21,
22447 OPC_CheckChild2CondCode, ISD::SETLE,
22448 OPC_CheckPatternPredicate0,
22449 OPC_Scope, 8,
22450 OPC_CheckComplexPat4, /*#*/1,
22451 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
22452 MVT::v8i32, 2, 22,
22453 6,
22454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
22455 MVT::v8i32, 2, 9,
22456 0,
22457 21,
22458 OPC_CheckChild2CondCode, ISD::SETLT,
22459 OPC_CheckPatternPredicate0,
22460 OPC_Scope, 8,
22461 OPC_CheckComplexPat4, /*#*/1,
22462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
22463 MVT::v8i32, 2, 22,
22464 6,
22465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
22466 MVT::v8i32, 2, 9,
22467 0,
22468 21,
22469 OPC_CheckChild2CondCode, ISD::SETULE,
22470 OPC_CheckPatternPredicate0,
22471 OPC_Scope, 8,
22472 OPC_CheckComplexPat2, /*#*/1,
22473 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
22474 MVT::v8i32, 2, 22,
22475 6,
22476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
22477 MVT::v8i32, 2, 9,
22478 0,
22479 21,
22480 OPC_CheckChild2CondCode, ISD::SETULT,
22481 OPC_CheckPatternPredicate0,
22482 OPC_Scope, 8,
22483 OPC_CheckComplexPat2, /*#*/1,
22484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
22485 MVT::v8i32, 2, 22,
22486 6,
22487 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
22488 MVT::v8i32, 2, 9,
22489 0,
22490 0,
22491 117,
22492 OPC_CheckChild0Type, MVT::v4i64,
22493 OPC_RecordChild1,
22494 OPC_CheckType, MVT::v4i64,
22495 OPC_Scope, 21,
22496 OPC_CheckChild2CondCode, ISD::SETEQ,
22497 OPC_CheckPatternPredicate0,
22498 OPC_Scope, 8,
22499 OPC_CheckComplexPat4, /*#*/1,
22500 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
22501 MVT::v4i64, 2, 22,
22502 6,
22503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
22504 MVT::v4i64, 2, 9,
22505 0,
22506 21,
22507 OPC_CheckChild2CondCode, ISD::SETLE,
22508 OPC_CheckPatternPredicate0,
22509 OPC_Scope, 8,
22510 OPC_CheckComplexPat4, /*#*/1,
22511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
22512 MVT::v4i64, 2, 22,
22513 6,
22514 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
22515 MVT::v4i64, 2, 9,
22516 0,
22517 21,
22518 OPC_CheckChild2CondCode, ISD::SETLT,
22519 OPC_CheckPatternPredicate0,
22520 OPC_Scope, 8,
22521 OPC_CheckComplexPat4, /*#*/1,
22522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
22523 MVT::v4i64, 2, 22,
22524 6,
22525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
22526 MVT::v4i64, 2, 9,
22527 0,
22528 21,
22529 OPC_CheckChild2CondCode, ISD::SETULE,
22530 OPC_CheckPatternPredicate0,
22531 OPC_Scope, 8,
22532 OPC_CheckComplexPat2, /*#*/1,
22533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
22534 MVT::v4i64, 2, 22,
22535 6,
22536 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
22537 MVT::v4i64, 2, 9,
22538 0,
22539 21,
22540 OPC_CheckChild2CondCode, ISD::SETULT,
22541 OPC_CheckPatternPredicate0,
22542 OPC_Scope, 8,
22543 OPC_CheckComplexPat2, /*#*/1,
22544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
22545 MVT::v4i64, 2, 22,
22546 6,
22547 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
22548 MVT::v4i64, 2, 9,
22549 0,
22550 0,
22551 20|128,1,
22552 OPC_CheckChild0Type, 8|128,1,
22553 OPC_RecordChild1,
22554 OPC_CheckType, MVT::v4i32,
22555 OPC_Scope, 9,
22556 OPC_CheckChild2CondCode, ISD::SETEQ,
22557 OPC_CheckPatternPredicate1,
22558 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
22559 MVT::v4i32, 2, 9,
22560 9,
22561 OPC_CheckChild2CondCode, ISD::SETOEQ,
22562 OPC_CheckPatternPredicate1,
22563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
22564 MVT::v4i32, 2, 9,
22565 9,
22566 OPC_CheckChild2CondCode, ISD::SETUEQ,
22567 OPC_CheckPatternPredicate1,
22568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
22569 MVT::v4i32, 2, 9,
22570 9,
22571 OPC_CheckChild2CondCode, ISD::SETLE,
22572 OPC_CheckPatternPredicate1,
22573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
22574 MVT::v4i32, 2, 9,
22575 9,
22576 OPC_CheckChild2CondCode, ISD::SETOLE,
22577 OPC_CheckPatternPredicate1,
22578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
22579 MVT::v4i32, 2, 9,
22580 9,
22581 OPC_CheckChild2CondCode, ISD::SETULE,
22582 OPC_CheckPatternPredicate1,
22583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
22584 MVT::v4i32, 2, 9,
22585 9,
22586 OPC_CheckChild2CondCode, ISD::SETLT,
22587 OPC_CheckPatternPredicate1,
22588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
22589 MVT::v4i32, 2, 9,
22590 9,
22591 OPC_CheckChild2CondCode, ISD::SETOLT,
22592 OPC_CheckPatternPredicate1,
22593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
22594 MVT::v4i32, 2, 9,
22595 9,
22596 OPC_CheckChild2CondCode, ISD::SETULT,
22597 OPC_CheckPatternPredicate1,
22598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
22599 MVT::v4i32, 2, 9,
22600 9,
22601 OPC_CheckChild2CondCode, ISD::SETNE,
22602 OPC_CheckPatternPredicate1,
22603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
22604 MVT::v4i32, 2, 9,
22605 9,
22606 OPC_CheckChild2CondCode, ISD::SETONE,
22607 OPC_CheckPatternPredicate1,
22608 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
22609 MVT::v4i32, 2, 9,
22610 9,
22611 OPC_CheckChild2CondCode, ISD::SETUNE,
22612 OPC_CheckPatternPredicate1,
22613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
22614 MVT::v4i32, 2, 9,
22615 9,
22616 OPC_CheckChild2CondCode, ISD::SETO,
22617 OPC_CheckPatternPredicate1,
22618 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
22619 MVT::v4i32, 2, 9,
22620 9,
22621 OPC_CheckChild2CondCode, ISD::SETUO,
22622 OPC_CheckPatternPredicate1,
22623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
22624 MVT::v4i32, 2, 9,
22625 0,
22626 20|128,1,
22627 OPC_CheckChild0Type, 26|128,1,
22628 OPC_RecordChild1,
22629 OPC_CheckType, MVT::v2i64,
22630 OPC_Scope, 9,
22631 OPC_CheckChild2CondCode, ISD::SETEQ,
22632 OPC_CheckPatternPredicate1,
22633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
22634 MVT::v2i64, 2, 9,
22635 9,
22636 OPC_CheckChild2CondCode, ISD::SETOEQ,
22637 OPC_CheckPatternPredicate1,
22638 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
22639 MVT::v2i64, 2, 9,
22640 9,
22641 OPC_CheckChild2CondCode, ISD::SETUEQ,
22642 OPC_CheckPatternPredicate1,
22643 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
22644 MVT::v2i64, 2, 9,
22645 9,
22646 OPC_CheckChild2CondCode, ISD::SETLE,
22647 OPC_CheckPatternPredicate1,
22648 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
22649 MVT::v2i64, 2, 9,
22650 9,
22651 OPC_CheckChild2CondCode, ISD::SETOLE,
22652 OPC_CheckPatternPredicate1,
22653 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
22654 MVT::v2i64, 2, 9,
22655 9,
22656 OPC_CheckChild2CondCode, ISD::SETULE,
22657 OPC_CheckPatternPredicate1,
22658 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
22659 MVT::v2i64, 2, 9,
22660 9,
22661 OPC_CheckChild2CondCode, ISD::SETLT,
22662 OPC_CheckPatternPredicate1,
22663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
22664 MVT::v2i64, 2, 9,
22665 9,
22666 OPC_CheckChild2CondCode, ISD::SETOLT,
22667 OPC_CheckPatternPredicate1,
22668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
22669 MVT::v2i64, 2, 9,
22670 9,
22671 OPC_CheckChild2CondCode, ISD::SETULT,
22672 OPC_CheckPatternPredicate1,
22673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
22674 MVT::v2i64, 2, 9,
22675 9,
22676 OPC_CheckChild2CondCode, ISD::SETNE,
22677 OPC_CheckPatternPredicate1,
22678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
22679 MVT::v2i64, 2, 9,
22680 9,
22681 OPC_CheckChild2CondCode, ISD::SETONE,
22682 OPC_CheckPatternPredicate1,
22683 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
22684 MVT::v2i64, 2, 9,
22685 9,
22686 OPC_CheckChild2CondCode, ISD::SETUNE,
22687 OPC_CheckPatternPredicate1,
22688 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
22689 MVT::v2i64, 2, 9,
22690 9,
22691 OPC_CheckChild2CondCode, ISD::SETO,
22692 OPC_CheckPatternPredicate1,
22693 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
22694 MVT::v2i64, 2, 9,
22695 9,
22696 OPC_CheckChild2CondCode, ISD::SETUO,
22697 OPC_CheckPatternPredicate1,
22698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
22699 MVT::v2i64, 2, 9,
22700 0,
22701 20|128,1,
22702 OPC_CheckChild0Type, 12|128,1,
22703 OPC_RecordChild1,
22704 OPC_CheckType, MVT::v8i32,
22705 OPC_Scope, 9,
22706 OPC_CheckChild2CondCode, ISD::SETEQ,
22707 OPC_CheckPatternPredicate0,
22708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
22709 MVT::v8i32, 2, 9,
22710 9,
22711 OPC_CheckChild2CondCode, ISD::SETOEQ,
22712 OPC_CheckPatternPredicate0,
22713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
22714 MVT::v8i32, 2, 9,
22715 9,
22716 OPC_CheckChild2CondCode, ISD::SETUEQ,
22717 OPC_CheckPatternPredicate0,
22718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
22719 MVT::v8i32, 2, 9,
22720 9,
22721 OPC_CheckChild2CondCode, ISD::SETLE,
22722 OPC_CheckPatternPredicate0,
22723 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
22724 MVT::v8i32, 2, 9,
22725 9,
22726 OPC_CheckChild2CondCode, ISD::SETOLE,
22727 OPC_CheckPatternPredicate0,
22728 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
22729 MVT::v8i32, 2, 9,
22730 9,
22731 OPC_CheckChild2CondCode, ISD::SETULE,
22732 OPC_CheckPatternPredicate0,
22733 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
22734 MVT::v8i32, 2, 9,
22735 9,
22736 OPC_CheckChild2CondCode, ISD::SETLT,
22737 OPC_CheckPatternPredicate0,
22738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
22739 MVT::v8i32, 2, 9,
22740 9,
22741 OPC_CheckChild2CondCode, ISD::SETOLT,
22742 OPC_CheckPatternPredicate0,
22743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
22744 MVT::v8i32, 2, 9,
22745 9,
22746 OPC_CheckChild2CondCode, ISD::SETULT,
22747 OPC_CheckPatternPredicate0,
22748 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
22749 MVT::v8i32, 2, 9,
22750 9,
22751 OPC_CheckChild2CondCode, ISD::SETNE,
22752 OPC_CheckPatternPredicate0,
22753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
22754 MVT::v8i32, 2, 9,
22755 9,
22756 OPC_CheckChild2CondCode, ISD::SETONE,
22757 OPC_CheckPatternPredicate0,
22758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
22759 MVT::v8i32, 2, 9,
22760 9,
22761 OPC_CheckChild2CondCode, ISD::SETUNE,
22762 OPC_CheckPatternPredicate0,
22763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
22764 MVT::v8i32, 2, 9,
22765 9,
22766 OPC_CheckChild2CondCode, ISD::SETO,
22767 OPC_CheckPatternPredicate0,
22768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
22769 MVT::v8i32, 2, 9,
22770 9,
22771 OPC_CheckChild2CondCode, ISD::SETUO,
22772 OPC_CheckPatternPredicate0,
22773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
22774 MVT::v8i32, 2, 9,
22775 0,
22776 20|128,1,
22777 OPC_CheckChild0Type, 28|128,1,
22778 OPC_RecordChild1,
22779 OPC_CheckType, MVT::v4i64,
22780 OPC_Scope, 9,
22781 OPC_CheckChild2CondCode, ISD::SETEQ,
22782 OPC_CheckPatternPredicate0,
22783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
22784 MVT::v4i64, 2, 9,
22785 9,
22786 OPC_CheckChild2CondCode, ISD::SETOEQ,
22787 OPC_CheckPatternPredicate0,
22788 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
22789 MVT::v4i64, 2, 9,
22790 9,
22791 OPC_CheckChild2CondCode, ISD::SETUEQ,
22792 OPC_CheckPatternPredicate0,
22793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
22794 MVT::v4i64, 2, 9,
22795 9,
22796 OPC_CheckChild2CondCode, ISD::SETLE,
22797 OPC_CheckPatternPredicate0,
22798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
22799 MVT::v4i64, 2, 9,
22800 9,
22801 OPC_CheckChild2CondCode, ISD::SETOLE,
22802 OPC_CheckPatternPredicate0,
22803 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
22804 MVT::v4i64, 2, 9,
22805 9,
22806 OPC_CheckChild2CondCode, ISD::SETULE,
22807 OPC_CheckPatternPredicate0,
22808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
22809 MVT::v4i64, 2, 9,
22810 9,
22811 OPC_CheckChild2CondCode, ISD::SETLT,
22812 OPC_CheckPatternPredicate0,
22813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
22814 MVT::v4i64, 2, 9,
22815 9,
22816 OPC_CheckChild2CondCode, ISD::SETOLT,
22817 OPC_CheckPatternPredicate0,
22818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
22819 MVT::v4i64, 2, 9,
22820 9,
22821 OPC_CheckChild2CondCode, ISD::SETULT,
22822 OPC_CheckPatternPredicate0,
22823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
22824 MVT::v4i64, 2, 9,
22825 9,
22826 OPC_CheckChild2CondCode, ISD::SETNE,
22827 OPC_CheckPatternPredicate0,
22828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
22829 MVT::v4i64, 2, 9,
22830 9,
22831 OPC_CheckChild2CondCode, ISD::SETONE,
22832 OPC_CheckPatternPredicate0,
22833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
22834 MVT::v4i64, 2, 9,
22835 9,
22836 OPC_CheckChild2CondCode, ISD::SETUNE,
22837 OPC_CheckPatternPredicate0,
22838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
22839 MVT::v4i64, 2, 9,
22840 9,
22841 OPC_CheckChild2CondCode, ISD::SETO,
22842 OPC_CheckPatternPredicate0,
22843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
22844 MVT::v4i64, 2, 9,
22845 9,
22846 OPC_CheckChild2CondCode, ISD::SETUO,
22847 OPC_CheckPatternPredicate0,
22848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
22849 MVT::v4i64, 2, 9,
22850 0,
22851 0,
22852 83|128,4, TARGET_VAL(ISD::SELECT),
22853 OPC_Scope, 64,
22854 OPC_RecordChild0,
22855 OPC_CheckChild0TypeByHwMode0,
22856 OPC_Scope, 14,
22857 OPC_RecordChild1,
22858 OPC_CheckChild2Integer, 0,
22859 OPC_CheckTypeByHwMode0,
22860 OPC_CheckPatternPredicate, 11,
22861 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MASKEQZ), 0,
22862 1, 0, 2, 3,
22863 14,
22864 OPC_CheckChild1Integer, 0,
22865 OPC_RecordChild2,
22866 OPC_CheckTypeByHwMode0,
22867 OPC_CheckPatternPredicate, 11,
22868 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MASKNEZ), 0,
22869 1, 0, 2, 3,
22870 29,
22871 OPC_RecordChild1,
22872 OPC_RecordChild2,
22873 OPC_CheckTypeByHwMode0,
22874 OPC_CheckPatternPredicate, 11,
22875 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::MASKEQZ), 0,
22876 1, 0, 2, 3,
22877 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::MASKNEZ), 0,
22878 1, 0, 2, 6,
22879 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::OR), 0,
22880 1, 0, 2, 76,
22881 0,
22882 117|128,3,
22883 OPC_MoveChild0,
22884 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
22885 OPC_RecordChild0,
22886 OPC_Scope, 117|128,1,
22887 OPC_CheckChild0Type, MVT::f32,
22888 OPC_RecordChild1,
22889 OPC_Scope, 23,
22890 OPC_CheckChild2CondCode, ISD::SETOEQ,
22891 OPC_CheckTypeByHwMode0,
22892 OPC_MoveParent,
22893 OPC_RecordChild1,
22894 OPC_RecordChild2,
22895 OPC_CheckType, MVT::f32,
22896 OPC_CheckPatternPredicate3,
22897 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
22898 1, 0, 2, 9,
22899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
22900 MVT::f32, 3, 72,
22901 23,
22902 OPC_CheckChild2CondCode, ISD::SETOLT,
22903 OPC_CheckTypeByHwMode0,
22904 OPC_MoveParent,
22905 OPC_RecordChild1,
22906 OPC_RecordChild2,
22907 OPC_CheckType, MVT::f32,
22908 OPC_CheckPatternPredicate3,
22909 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
22910 1, 0, 2, 9,
22911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
22912 MVT::f32, 3, 72,
22913 23,
22914 OPC_CheckChild2CondCode, ISD::SETOLE,
22915 OPC_CheckTypeByHwMode0,
22916 OPC_MoveParent,
22917 OPC_RecordChild1,
22918 OPC_RecordChild2,
22919 OPC_CheckType, MVT::f32,
22920 OPC_CheckPatternPredicate3,
22921 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
22922 1, 0, 2, 9,
22923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
22924 MVT::f32, 3, 72,
22925 23,
22926 OPC_CheckChild2CondCode, ISD::SETONE,
22927 OPC_CheckTypeByHwMode0,
22928 OPC_MoveParent,
22929 OPC_RecordChild1,
22930 OPC_RecordChild2,
22931 OPC_CheckType, MVT::f32,
22932 OPC_CheckPatternPredicate3,
22933 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0,
22934 1, 0, 2, 9,
22935 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
22936 MVT::f32, 3, 72,
22937 23,
22938 OPC_CheckChild2CondCode, ISD::SETO,
22939 OPC_CheckTypeByHwMode0,
22940 OPC_MoveParent,
22941 OPC_RecordChild1,
22942 OPC_RecordChild2,
22943 OPC_CheckType, MVT::f32,
22944 OPC_CheckPatternPredicate3,
22945 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0,
22946 1, 0, 2, 9,
22947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
22948 MVT::f32, 3, 72,
22949 23,
22950 OPC_CheckChild2CondCode, ISD::SETUEQ,
22951 OPC_CheckTypeByHwMode0,
22952 OPC_MoveParent,
22953 OPC_RecordChild1,
22954 OPC_RecordChild2,
22955 OPC_CheckType, MVT::f32,
22956 OPC_CheckPatternPredicate3,
22957 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0,
22958 1, 0, 2, 9,
22959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
22960 MVT::f32, 3, 72,
22961 23,
22962 OPC_CheckChild2CondCode, ISD::SETULT,
22963 OPC_CheckTypeByHwMode0,
22964 OPC_MoveParent,
22965 OPC_RecordChild1,
22966 OPC_RecordChild2,
22967 OPC_CheckType, MVT::f32,
22968 OPC_CheckPatternPredicate3,
22969 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0,
22970 1, 0, 2, 9,
22971 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
22972 MVT::f32, 3, 72,
22973 23,
22974 OPC_CheckChild2CondCode, ISD::SETULE,
22975 OPC_CheckTypeByHwMode0,
22976 OPC_MoveParent,
22977 OPC_RecordChild1,
22978 OPC_RecordChild2,
22979 OPC_CheckType, MVT::f32,
22980 OPC_CheckPatternPredicate3,
22981 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0,
22982 1, 0, 2, 9,
22983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
22984 MVT::f32, 3, 72,
22985 23,
22986 OPC_CheckChild2CondCode, ISD::SETUNE,
22987 OPC_CheckTypeByHwMode0,
22988 OPC_MoveParent,
22989 OPC_RecordChild1,
22990 OPC_RecordChild2,
22991 OPC_CheckType, MVT::f32,
22992 OPC_CheckPatternPredicate3,
22993 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0,
22994 1, 0, 2, 9,
22995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
22996 MVT::f32, 3, 72,
22997 23,
22998 OPC_CheckChild2CondCode, ISD::SETUO,
22999 OPC_CheckTypeByHwMode0,
23000 OPC_MoveParent,
23001 OPC_RecordChild1,
23002 OPC_RecordChild2,
23003 OPC_CheckType, MVT::f32,
23004 OPC_CheckPatternPredicate3,
23005 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0,
23006 1, 0, 2, 9,
23007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
23008 MVT::f32, 3, 72,
23009 0,
23010 117|128,1,
23011 OPC_CheckChild0Type, MVT::f64,
23012 OPC_RecordChild1,
23013 OPC_Scope, 23,
23014 OPC_CheckChild2CondCode, ISD::SETOEQ,
23015 OPC_CheckTypeByHwMode0,
23016 OPC_MoveParent,
23017 OPC_RecordChild1,
23018 OPC_RecordChild2,
23019 OPC_CheckType, MVT::f64,
23020 OPC_CheckPatternPredicate4,
23021 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
23022 1, 0, 2, 9,
23023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
23024 MVT::f64, 3, 72,
23025 23,
23026 OPC_CheckChild2CondCode, ISD::SETOLT,
23027 OPC_CheckTypeByHwMode0,
23028 OPC_MoveParent,
23029 OPC_RecordChild1,
23030 OPC_RecordChild2,
23031 OPC_CheckType, MVT::f64,
23032 OPC_CheckPatternPredicate4,
23033 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
23034 1, 0, 2, 9,
23035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
23036 MVT::f64, 3, 72,
23037 23,
23038 OPC_CheckChild2CondCode, ISD::SETOLE,
23039 OPC_CheckTypeByHwMode0,
23040 OPC_MoveParent,
23041 OPC_RecordChild1,
23042 OPC_RecordChild2,
23043 OPC_CheckType, MVT::f64,
23044 OPC_CheckPatternPredicate4,
23045 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
23046 1, 0, 2, 9,
23047 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
23048 MVT::f64, 3, 72,
23049 23,
23050 OPC_CheckChild2CondCode, ISD::SETONE,
23051 OPC_CheckTypeByHwMode0,
23052 OPC_MoveParent,
23053 OPC_RecordChild1,
23054 OPC_RecordChild2,
23055 OPC_CheckType, MVT::f64,
23056 OPC_CheckPatternPredicate4,
23057 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0,
23058 1, 0, 2, 9,
23059 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
23060 MVT::f64, 3, 72,
23061 23,
23062 OPC_CheckChild2CondCode, ISD::SETO,
23063 OPC_CheckTypeByHwMode0,
23064 OPC_MoveParent,
23065 OPC_RecordChild1,
23066 OPC_RecordChild2,
23067 OPC_CheckType, MVT::f64,
23068 OPC_CheckPatternPredicate4,
23069 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0,
23070 1, 0, 2, 9,
23071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
23072 MVT::f64, 3, 72,
23073 23,
23074 OPC_CheckChild2CondCode, ISD::SETUEQ,
23075 OPC_CheckTypeByHwMode0,
23076 OPC_MoveParent,
23077 OPC_RecordChild1,
23078 OPC_RecordChild2,
23079 OPC_CheckType, MVT::f64,
23080 OPC_CheckPatternPredicate4,
23081 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0,
23082 1, 0, 2, 9,
23083 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
23084 MVT::f64, 3, 72,
23085 23,
23086 OPC_CheckChild2CondCode, ISD::SETULT,
23087 OPC_CheckTypeByHwMode0,
23088 OPC_MoveParent,
23089 OPC_RecordChild1,
23090 OPC_RecordChild2,
23091 OPC_CheckType, MVT::f64,
23092 OPC_CheckPatternPredicate4,
23093 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0,
23094 1, 0, 2, 9,
23095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
23096 MVT::f64, 3, 72,
23097 23,
23098 OPC_CheckChild2CondCode, ISD::SETULE,
23099 OPC_CheckTypeByHwMode0,
23100 OPC_MoveParent,
23101 OPC_RecordChild1,
23102 OPC_RecordChild2,
23103 OPC_CheckType, MVT::f64,
23104 OPC_CheckPatternPredicate4,
23105 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0,
23106 1, 0, 2, 9,
23107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
23108 MVT::f64, 3, 72,
23109 23,
23110 OPC_CheckChild2CondCode, ISD::SETUNE,
23111 OPC_CheckTypeByHwMode0,
23112 OPC_MoveParent,
23113 OPC_RecordChild1,
23114 OPC_RecordChild2,
23115 OPC_CheckType, MVT::f64,
23116 OPC_CheckPatternPredicate4,
23117 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0,
23118 1, 0, 2, 9,
23119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
23120 MVT::f64, 3, 72,
23121 23,
23122 OPC_CheckChild2CondCode, ISD::SETUO,
23123 OPC_CheckTypeByHwMode0,
23124 OPC_MoveParent,
23125 OPC_RecordChild1,
23126 OPC_RecordChild2,
23127 OPC_CheckType, MVT::f64,
23128 OPC_CheckPatternPredicate4,
23129 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0,
23130 1, 0, 2, 9,
23131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
23132 MVT::f64, 3, 72,
23133 0,
23134 0,
23135 24,
23136 OPC_RecordChild0,
23137 OPC_CheckChild0TypeByHwMode0,
23138 OPC_RecordChild1,
23139 OPC_RecordChild2,
23140 OPC_SwitchType , 7, MVT::f32,
23141 OPC_CheckPatternPredicate3,
23142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
23143 MVT::f32, 3, 2,
23144 7, MVT::f64,
23145 OPC_CheckPatternPredicate4,
23146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
23147 MVT::f64, 3, 2,
23148 0,
23149 0,
23150 111|128,1, TARGET_VAL(LoongArchISD::BR_CC),
23151 OPC_RecordNode,
23152 OPC_RecordChild1,
23153 OPC_CheckChild1TypeByHwMode0,
23154 OPC_Scope, 9|128,1,
23155 OPC_CheckChild2Integer, 0,
23156 OPC_MoveChild3,
23157 OPC_Scope, 29,
23158 OPC_CheckCondCode, ISD::SETEQ,
23159 OPC_MoveSibling4,
23160 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23161 OPC_RecordNode,
23162 OPC_MoveParent,
23163 OPC_Scope, 8,
23164 OPC_CheckPatternPredicate, 11,
23165 OPC_EmitMergeInputChains1_0,
23166 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQZ),
23167 2, 25,
23168 9,
23169 OPC_EmitMergeInputChains1_0,
23170 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
23171 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
23172 3, 27,
23173 0,
23174 29,
23175 OPC_CheckCondCode, ISD::SETNE,
23176 OPC_MoveSibling4,
23177 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23178 OPC_RecordNode,
23179 OPC_MoveParent,
23180 OPC_Scope, 8,
23181 OPC_CheckPatternPredicate, 11,
23182 OPC_EmitMergeInputChains1_0,
23183 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
23184 2, 25,
23185 9,
23186 OPC_EmitMergeInputChains1_0,
23187 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
23188 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
23189 3, 27,
23190 0,
23191 17,
23192 OPC_CheckCondCode, ISD::SETLT,
23193 OPC_MoveSibling4,
23194 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23195 OPC_RecordNode,
23196 OPC_MoveParent,
23197 OPC_EmitMergeInputChains1_0,
23198 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
23199 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
23200 3, 27,
23201 17,
23202 OPC_CheckCondCode, ISD::SETGE,
23203 OPC_MoveSibling4,
23204 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23205 OPC_RecordNode,
23206 OPC_MoveParent,
23207 OPC_EmitMergeInputChains1_0,
23208 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
23209 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
23210 3, 27,
23211 17,
23212 OPC_CheckCondCode, ISD::SETULT,
23213 OPC_MoveSibling4,
23214 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23215 OPC_RecordNode,
23216 OPC_MoveParent,
23217 OPC_EmitMergeInputChains1_0,
23218 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
23219 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
23220 3, 27,
23221 17,
23222 OPC_CheckCondCode, ISD::SETUGE,
23223 OPC_MoveSibling4,
23224 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23225 OPC_RecordNode,
23226 OPC_MoveParent,
23227 OPC_EmitMergeInputChains1_0,
23228 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
23229 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
23230 3, 27,
23231 0,
23232 94,
23233 OPC_RecordChild2,
23234 OPC_MoveChild3,
23235 OPC_Scope, 14,
23236 OPC_CheckCondCode, ISD::SETEQ,
23237 OPC_MoveSibling4,
23238 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23239 OPC_RecordNode,
23240 OPC_MoveParent,
23241 OPC_EmitMergeInputChains1_0,
23242 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
23243 3, 51,
23244 14,
23245 OPC_CheckCondCode, ISD::SETNE,
23246 OPC_MoveSibling4,
23247 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23248 OPC_RecordNode,
23249 OPC_MoveParent,
23250 OPC_EmitMergeInputChains1_0,
23251 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
23252 3, 51,
23253 14,
23254 OPC_CheckCondCode, ISD::SETLT,
23255 OPC_MoveSibling4,
23256 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23257 OPC_RecordNode,
23258 OPC_MoveParent,
23259 OPC_EmitMergeInputChains1_0,
23260 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
23261 3, 51,
23262 14,
23263 OPC_CheckCondCode, ISD::SETGE,
23264 OPC_MoveSibling4,
23265 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23266 OPC_RecordNode,
23267 OPC_MoveParent,
23268 OPC_EmitMergeInputChains1_0,
23269 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
23270 3, 51,
23271 14,
23272 OPC_CheckCondCode, ISD::SETULT,
23273 OPC_MoveSibling4,
23274 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23275 OPC_RecordNode,
23276 OPC_MoveParent,
23277 OPC_EmitMergeInputChains1_0,
23278 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
23279 3, 51,
23280 14,
23281 OPC_CheckCondCode, ISD::SETUGE,
23282 OPC_MoveSibling4,
23283 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
23284 OPC_RecordNode,
23285 OPC_MoveParent,
23286 OPC_EmitMergeInputChains1_0,
23287 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
23288 3, 51,
23289 0,
23290 0,
23291 117|128,9, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
23292 OPC_RecordChild0,
23293 OPC_Scope, 17|128,4,
23294 OPC_CheckChild0Type, MVT::v32i8,
23295 OPC_Scope, 30,
23296 OPC_CheckChild1Integer, 16,
23297 OPC_CheckTypeByHwMode0,
23298 OPC_CheckPatternPredicate0,
23299 OPC_EmitIntegerByHwMode0, 14,
23300 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23301 MVT::v32i8, 2, 9,
23302 OPC_EmitIntegerI32, LoongArch::sub_128,
23303 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23304 MVT::v16i8, 2, 49,
23305 OPC_EmitIntegerByHwMode0, 0,
23306 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23307 1, 0, 2, 93,
23308 30,
23309 OPC_CheckChild1Integer, 17,
23310 OPC_CheckTypeByHwMode0,
23311 OPC_CheckPatternPredicate0,
23312 OPC_EmitIntegerByHwMode0, 14,
23313 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23314 MVT::v32i8, 2, 9,
23315 OPC_EmitIntegerI32, LoongArch::sub_128,
23316 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23317 MVT::v16i8, 2, 49,
23318 OPC_EmitIntegerByHwMode0, 1,
23319 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23320 1, 0, 2, 93,
23321 30,
23322 OPC_CheckChild1Integer, 18,
23323 OPC_CheckTypeByHwMode0,
23324 OPC_CheckPatternPredicate0,
23325 OPC_EmitIntegerByHwMode0, 14,
23326 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23327 MVT::v32i8, 2, 9,
23328 OPC_EmitIntegerI32, LoongArch::sub_128,
23329 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23330 MVT::v16i8, 2, 49,
23331 OPC_EmitIntegerByHwMode0, 2,
23332 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23333 1, 0, 2, 93,
23334 30,
23335 OPC_CheckChild1Integer, 19,
23336 OPC_CheckTypeByHwMode0,
23337 OPC_CheckPatternPredicate0,
23338 OPC_EmitIntegerByHwMode0, 14,
23339 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23340 MVT::v32i8, 2, 9,
23341 OPC_EmitIntegerI32, LoongArch::sub_128,
23342 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23343 MVT::v16i8, 2, 49,
23344 OPC_EmitIntegerByHwMode0, 3,
23345 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23346 1, 0, 2, 93,
23347 30,
23348 OPC_CheckChild1Integer, 20,
23349 OPC_CheckTypeByHwMode0,
23350 OPC_CheckPatternPredicate0,
23351 OPC_EmitIntegerByHwMode0, 14,
23352 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23353 MVT::v32i8, 2, 9,
23354 OPC_EmitIntegerI32, LoongArch::sub_128,
23355 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23356 MVT::v16i8, 2, 49,
23357 OPC_EmitIntegerByHwMode0, 4,
23358 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23359 1, 0, 2, 93,
23360 30,
23361 OPC_CheckChild1Integer, 21,
23362 OPC_CheckTypeByHwMode0,
23363 OPC_CheckPatternPredicate0,
23364 OPC_EmitIntegerByHwMode0, 14,
23365 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23366 MVT::v32i8, 2, 9,
23367 OPC_EmitIntegerI32, LoongArch::sub_128,
23368 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23369 MVT::v16i8, 2, 49,
23370 OPC_EmitIntegerByHwMode0, 5,
23371 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23372 1, 0, 2, 93,
23373 30,
23374 OPC_CheckChild1Integer, 22,
23375 OPC_CheckTypeByHwMode0,
23376 OPC_CheckPatternPredicate0,
23377 OPC_EmitIntegerByHwMode0, 14,
23378 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23379 MVT::v32i8, 2, 9,
23380 OPC_EmitIntegerI32, LoongArch::sub_128,
23381 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23382 MVT::v16i8, 2, 49,
23383 OPC_EmitIntegerByHwMode0, 6,
23384 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23385 1, 0, 2, 93,
23386 30,
23387 OPC_CheckChild1Integer, 23,
23388 OPC_CheckTypeByHwMode0,
23389 OPC_CheckPatternPredicate0,
23390 OPC_EmitIntegerByHwMode0, 14,
23391 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23392 MVT::v32i8, 2, 9,
23393 OPC_EmitIntegerI32, LoongArch::sub_128,
23394 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23395 MVT::v16i8, 2, 49,
23396 OPC_EmitIntegerByHwMode0, 7,
23397 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23398 1, 0, 2, 93,
23399 30,
23400 OPC_CheckChild1Integer, 24,
23401 OPC_CheckTypeByHwMode0,
23402 OPC_CheckPatternPredicate0,
23403 OPC_EmitIntegerByHwMode0, 14,
23404 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23405 MVT::v32i8, 2, 9,
23406 OPC_EmitIntegerI32, LoongArch::sub_128,
23407 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23408 MVT::v16i8, 2, 49,
23409 OPC_EmitIntegerByHwMode0, 8,
23410 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23411 1, 0, 2, 93,
23412 30,
23413 OPC_CheckChild1Integer, 25,
23414 OPC_CheckTypeByHwMode0,
23415 OPC_CheckPatternPredicate0,
23416 OPC_EmitIntegerByHwMode0, 14,
23417 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23418 MVT::v32i8, 2, 9,
23419 OPC_EmitIntegerI32, LoongArch::sub_128,
23420 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23421 MVT::v16i8, 2, 49,
23422 OPC_EmitIntegerByHwMode0, 9,
23423 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23424 1, 0, 2, 93,
23425 30,
23426 OPC_CheckChild1Integer, 26,
23427 OPC_CheckTypeByHwMode0,
23428 OPC_CheckPatternPredicate0,
23429 OPC_EmitIntegerByHwMode0, 14,
23430 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23431 MVT::v32i8, 2, 9,
23432 OPC_EmitIntegerI32, LoongArch::sub_128,
23433 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23434 MVT::v16i8, 2, 49,
23435 OPC_EmitIntegerByHwMode0, 10,
23436 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23437 1, 0, 2, 93,
23438 30,
23439 OPC_CheckChild1Integer, 27,
23440 OPC_CheckTypeByHwMode0,
23441 OPC_CheckPatternPredicate0,
23442 OPC_EmitIntegerByHwMode0, 14,
23443 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23444 MVT::v32i8, 2, 9,
23445 OPC_EmitIntegerI32, LoongArch::sub_128,
23446 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23447 MVT::v16i8, 2, 49,
23448 OPC_EmitIntegerByHwMode0, 11,
23449 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23450 1, 0, 2, 93,
23451 30,
23452 OPC_CheckChild1Integer, 28,
23453 OPC_CheckTypeByHwMode0,
23454 OPC_CheckPatternPredicate0,
23455 OPC_EmitIntegerByHwMode0, 14,
23456 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23457 MVT::v32i8, 2, 9,
23458 OPC_EmitIntegerI32, LoongArch::sub_128,
23459 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23460 MVT::v16i8, 2, 49,
23461 OPC_EmitIntegerByHwMode0, 12,
23462 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23463 1, 0, 2, 93,
23464 30,
23465 OPC_CheckChild1Integer, 29,
23466 OPC_CheckTypeByHwMode0,
23467 OPC_CheckPatternPredicate0,
23468 OPC_EmitIntegerByHwMode0, 14,
23469 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23470 MVT::v32i8, 2, 9,
23471 OPC_EmitIntegerI32, LoongArch::sub_128,
23472 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23473 MVT::v16i8, 2, 49,
23474 OPC_EmitIntegerByHwMode0, 13,
23475 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23476 1, 0, 2, 93,
23477 30,
23478 OPC_CheckChild1Integer, 30,
23479 OPC_CheckTypeByHwMode0,
23480 OPC_CheckPatternPredicate0,
23481 OPC_EmitIntegerByHwMode0, 14,
23482 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23483 MVT::v32i8, 2, 9,
23484 OPC_EmitIntegerI32, LoongArch::sub_128,
23485 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23486 MVT::v16i8, 2, 49,
23487 OPC_EmitIntegerByHwMode0, 14,
23488 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23489 1, 0, 2, 93,
23490 30,
23491 OPC_CheckChild1Integer, 31,
23492 OPC_CheckTypeByHwMode0,
23493 OPC_CheckPatternPredicate0,
23494 OPC_EmitIntegerByHwMode0, 14,
23495 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23496 MVT::v32i8, 2, 9,
23497 OPC_EmitIntegerI32, LoongArch::sub_128,
23498 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23499 MVT::v16i8, 2, 49,
23500 OPC_EmitIntegerByHwMode0, 15,
23501 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23502 1, 0, 2, 93,
23503 28,
23504 OPC_RecordChild1,
23505 OPC_MoveChild1,
23506 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23507 OPC_CheckPredicate, 21,
23508 OPC_CheckTypeByHwMode0,
23509 OPC_MoveParent,
23510 OPC_CheckTypeByHwMode0,
23511 OPC_CheckPatternPredicate0,
23512 OPC_EmitIntegerI32, LoongArch::sub_128,
23513 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23514 MVT::v16i8, 2, 22,
23515 OPC_EmitConvertToTarget1,
23516 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23517 1, 0, 2, 76,
23518 0,
23519 25|128,2,
23520 OPC_CheckChild0Type, MVT::v16i16,
23521 OPC_Scope, 30,
23522 OPC_CheckChild1Integer, 8,
23523 OPC_CheckTypeByHwMode0,
23524 OPC_CheckPatternPredicate0,
23525 OPC_EmitIntegerByHwMode0, 14,
23526 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23527 MVT::v32i8, 2, 9,
23528 OPC_EmitIntegerI32, LoongArch::sub_128,
23529 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23530 MVT::v16i8, 2, 49,
23531 OPC_EmitIntegerByHwMode0, 0,
23532 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
23533 1, 0, 2, 93,
23534 30,
23535 OPC_CheckChild1Integer, 9,
23536 OPC_CheckTypeByHwMode0,
23537 OPC_CheckPatternPredicate0,
23538 OPC_EmitIntegerByHwMode0, 14,
23539 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23540 MVT::v32i8, 2, 9,
23541 OPC_EmitIntegerI32, LoongArch::sub_128,
23542 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23543 MVT::v16i8, 2, 49,
23544 OPC_EmitIntegerByHwMode0, 1,
23545 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
23546 1, 0, 2, 93,
23547 30,
23548 OPC_CheckChild1Integer, 10,
23549 OPC_CheckTypeByHwMode0,
23550 OPC_CheckPatternPredicate0,
23551 OPC_EmitIntegerByHwMode0, 14,
23552 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23553 MVT::v32i8, 2, 9,
23554 OPC_EmitIntegerI32, LoongArch::sub_128,
23555 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23556 MVT::v16i8, 2, 49,
23557 OPC_EmitIntegerByHwMode0, 2,
23558 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
23559 1, 0, 2, 93,
23560 30,
23561 OPC_CheckChild1Integer, 11,
23562 OPC_CheckTypeByHwMode0,
23563 OPC_CheckPatternPredicate0,
23564 OPC_EmitIntegerByHwMode0, 14,
23565 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23566 MVT::v32i8, 2, 9,
23567 OPC_EmitIntegerI32, LoongArch::sub_128,
23568 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23569 MVT::v16i8, 2, 49,
23570 OPC_EmitIntegerByHwMode0, 3,
23571 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
23572 1, 0, 2, 93,
23573 30,
23574 OPC_CheckChild1Integer, 12,
23575 OPC_CheckTypeByHwMode0,
23576 OPC_CheckPatternPredicate0,
23577 OPC_EmitIntegerByHwMode0, 14,
23578 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23579 MVT::v32i8, 2, 9,
23580 OPC_EmitIntegerI32, LoongArch::sub_128,
23581 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23582 MVT::v16i8, 2, 49,
23583 OPC_EmitIntegerByHwMode0, 4,
23584 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
23585 1, 0, 2, 93,
23586 30,
23587 OPC_CheckChild1Integer, 13,
23588 OPC_CheckTypeByHwMode0,
23589 OPC_CheckPatternPredicate0,
23590 OPC_EmitIntegerByHwMode0, 14,
23591 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23592 MVT::v32i8, 2, 9,
23593 OPC_EmitIntegerI32, LoongArch::sub_128,
23594 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23595 MVT::v16i8, 2, 49,
23596 OPC_EmitIntegerByHwMode0, 5,
23597 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
23598 1, 0, 2, 93,
23599 30,
23600 OPC_CheckChild1Integer, 14,
23601 OPC_CheckTypeByHwMode0,
23602 OPC_CheckPatternPredicate0,
23603 OPC_EmitIntegerByHwMode0, 14,
23604 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23605 MVT::v32i8, 2, 9,
23606 OPC_EmitIntegerI32, LoongArch::sub_128,
23607 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23608 MVT::v16i8, 2, 49,
23609 OPC_EmitIntegerByHwMode0, 6,
23610 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
23611 1, 0, 2, 93,
23612 30,
23613 OPC_CheckChild1Integer, 15,
23614 OPC_CheckTypeByHwMode0,
23615 OPC_CheckPatternPredicate0,
23616 OPC_EmitIntegerByHwMode0, 14,
23617 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
23618 MVT::v32i8, 2, 9,
23619 OPC_EmitIntegerI32, LoongArch::sub_128,
23620 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23621 MVT::v16i8, 2, 49,
23622 OPC_EmitIntegerByHwMode0, 7,
23623 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
23624 1, 0, 2, 93,
23625 28,
23626 OPC_RecordChild1,
23627 OPC_MoveChild1,
23628 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23629 OPC_CheckPredicate, 17,
23630 OPC_CheckTypeByHwMode0,
23631 OPC_MoveParent,
23632 OPC_CheckTypeByHwMode0,
23633 OPC_CheckPatternPredicate0,
23634 OPC_EmitIntegerI32, LoongArch::sub_128,
23635 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23636 MVT::v16i8, 2, 22,
23637 OPC_EmitConvertToTarget1,
23638 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
23639 1, 0, 2, 76,
23640 0,
23641 63,
23642 OPC_CheckChild0Type, MVT::v16i8,
23643 OPC_RecordChild1,
23644 OPC_Scope, 19,
23645 OPC_MoveChild1,
23646 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23647 OPC_CheckPredicate, 21,
23648 OPC_CheckTypeByHwMode0,
23649 OPC_MoveParent,
23650 OPC_CheckTypeByHwMode0,
23651 OPC_CheckPatternPredicate1,
23652 OPC_EmitConvertToTarget1,
23653 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
23654 1, 0, 2, 22,
23655 37,
23656 OPC_CheckChild1TypeByHwMode0,
23657 OPC_CheckTypeByHwMode0,
23658 OPC_CheckPatternPredicate1,
23659 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_B),
23660 MVT::v16i8, 2, 9,
23661 OPC_EmitIntegerI32, LoongArch::sub_32,
23662 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23663 MVT::f32, 2, 49,
23664 OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
23665 OPC_EmitNodeByHwMode, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
23666 1, 0, 2, 93,
23667 OPC_EmitIntegerByHwMode0, 24,
23668 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRAI_W), 0,
23669 1, 0, 2, 126,
23670 0,
23671 63,
23672 OPC_CheckChild0Type, MVT::v8i16,
23673 OPC_RecordChild1,
23674 OPC_Scope, 19,
23675 OPC_MoveChild1,
23676 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23677 OPC_CheckPredicate, 17,
23678 OPC_CheckTypeByHwMode0,
23679 OPC_MoveParent,
23680 OPC_CheckTypeByHwMode0,
23681 OPC_CheckPatternPredicate1,
23682 OPC_EmitConvertToTarget1,
23683 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
23684 1, 0, 2, 22,
23685 37,
23686 OPC_CheckChild1TypeByHwMode0,
23687 OPC_CheckTypeByHwMode0,
23688 OPC_CheckPatternPredicate1,
23689 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_H),
23690 MVT::v16i8, 2, 9,
23691 OPC_EmitIntegerI32, LoongArch::sub_32,
23692 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23693 MVT::f32, 2, 49,
23694 OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
23695 OPC_EmitNodeByHwMode, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
23696 1, 0, 2, 93,
23697 OPC_EmitIntegerByHwMode0, 16,
23698 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRAI_W), 0,
23699 1, 0, 2, 126,
23700 0,
23701 53,
23702 OPC_CheckChild0Type, MVT::v4i32,
23703 OPC_RecordChild1,
23704 OPC_Scope, 19,
23705 OPC_MoveChild1,
23706 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23707 OPC_CheckPredicate, 18,
23708 OPC_CheckTypeByHwMode0,
23709 OPC_MoveParent,
23710 OPC_CheckTypeByHwMode0,
23711 OPC_CheckPatternPredicate1,
23712 OPC_EmitConvertToTarget1,
23713 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_W), 0,
23714 1, 0, 2, 22,
23715 27,
23716 OPC_CheckChild1TypeByHwMode0,
23717 OPC_CheckTypeByHwMode0,
23718 OPC_CheckPatternPredicate1,
23719 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
23720 MVT::v16i8, 2, 9,
23721 OPC_EmitIntegerI32, LoongArch::sub_32,
23722 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23723 MVT::f32, 2, 49,
23724 OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
23725 OPC_MorphNodeToByHwMode, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
23726 1, 0, 2, 93,
23727 0,
23728 54,
23729 OPC_CheckChild0Type, MVT::v2i64,
23730 OPC_RecordChild1,
23731 OPC_Scope, 20,
23732 OPC_MoveChild1,
23733 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23734 OPC_CheckPredicate, 25,
23735 OPC_CheckTypeByHwMode0,
23736 OPC_MoveParent,
23737 OPC_CheckTypeByHwMode, 1,
23738 OPC_CheckPatternPredicate1,
23739 OPC_EmitConvertToTarget1,
23740 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_D), 0,
23741 1, 1, 2, 22,
23742 27,
23743 OPC_CheckChild1TypeByHwMode0,
23744 OPC_CheckTypeByHwMode0,
23745 OPC_CheckPatternPredicate1,
23746 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
23747 MVT::v16i8, 2, 9,
23748 OPC_EmitIntegerI32, LoongArch::sub_64,
23749 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23750 MVT::f64, 2, 49,
23751 OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
23752 OPC_MorphNodeToByHwMode, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
23753 1, 0, 2, 93,
23754 0,
23755 22,
23756 OPC_CheckChild0Type, MVT::v8i32,
23757 OPC_RecordChild1,
23758 OPC_MoveChild1,
23759 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23760 OPC_CheckPredicate, 17,
23761 OPC_CheckTypeByHwMode0,
23762 OPC_MoveParent,
23763 OPC_CheckTypeByHwMode0,
23764 OPC_CheckPatternPredicate0,
23765 OPC_EmitConvertToTarget1,
23766 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_W), 0,
23767 1, 0, 2, 22,
23768 23,
23769 OPC_CheckChild0Type, MVT::v4i64,
23770 OPC_RecordChild1,
23771 OPC_MoveChild1,
23772 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23773 OPC_CheckPredicate, 18,
23774 OPC_CheckTypeByHwMode0,
23775 OPC_MoveParent,
23776 OPC_CheckTypeByHwMode, 1,
23777 OPC_CheckPatternPredicate0,
23778 OPC_EmitConvertToTarget1,
23779 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_D), 0,
23780 1, 1, 2, 22,
23781 52,
23782 OPC_CheckChild0Type, 8|128,1,
23783 OPC_RecordChild1,
23784 OPC_Scope, 26,
23785 OPC_MoveChild1,
23786 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23787 OPC_CheckPredicate, 18,
23788 OPC_CheckTypeByHwMode0,
23789 OPC_MoveParent,
23790 OPC_CheckType, MVT::f32,
23791 OPC_CheckPatternPredicate1,
23792 OPC_EmitConvertToTarget1,
23793 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
23794 MVT::v16i8, 2, 22,
23795 OPC_EmitIntegerI32, LoongArch::sub_32,
23796 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23797 MVT::f32, 2, 76,
23798 18,
23799 OPC_CheckChild1TypeByHwMode0,
23800 OPC_CheckType, MVT::f32,
23801 OPC_CheckPatternPredicate1,
23802 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
23803 MVT::v16i8, 2, 9,
23804 OPC_EmitIntegerI32, LoongArch::sub_32,
23805 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23806 MVT::f32, 2, 49,
23807 0,
23808 52,
23809 OPC_CheckChild0Type, 26|128,1,
23810 OPC_RecordChild1,
23811 OPC_Scope, 26,
23812 OPC_MoveChild1,
23813 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23814 OPC_CheckPredicate, 25,
23815 OPC_CheckTypeByHwMode0,
23816 OPC_MoveParent,
23817 OPC_CheckType, MVT::f64,
23818 OPC_CheckPatternPredicate1,
23819 OPC_EmitConvertToTarget1,
23820 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
23821 MVT::v16i8, 2, 22,
23822 OPC_EmitIntegerI32, LoongArch::sub_64,
23823 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23824 MVT::f64, 2, 76,
23825 18,
23826 OPC_CheckChild1TypeByHwMode0,
23827 OPC_CheckType, MVT::f64,
23828 OPC_CheckPatternPredicate1,
23829 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
23830 MVT::v16i8, 2, 9,
23831 OPC_EmitIntegerI32, LoongArch::sub_64,
23832 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23833 MVT::f64, 2, 49,
23834 0,
23835 30,
23836 OPC_CheckChild0Type, 12|128,1,
23837 OPC_RecordChild1,
23838 OPC_MoveChild1,
23839 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23840 OPC_CheckPredicate, 17,
23841 OPC_CheckTypeByHwMode0,
23842 OPC_MoveParent,
23843 OPC_CheckType, MVT::f32,
23844 OPC_CheckPatternPredicate0,
23845 OPC_EmitConvertToTarget1,
23846 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_W),
23847 MVT::v32i8, 2, 22,
23848 OPC_EmitIntegerI32, LoongArch::sub_32,
23849 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23850 MVT::f32, 2, 76,
23851 30,
23852 OPC_CheckChild0Type, 28|128,1,
23853 OPC_RecordChild1,
23854 OPC_MoveChild1,
23855 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23856 OPC_CheckPredicate, 18,
23857 OPC_CheckTypeByHwMode0,
23858 OPC_MoveParent,
23859 OPC_CheckType, MVT::f64,
23860 OPC_CheckPatternPredicate0,
23861 OPC_EmitConvertToTarget1,
23862 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_D),
23863 MVT::v32i8, 2, 22,
23864 OPC_EmitIntegerI32, LoongArch::sub_64,
23865 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
23866 MVT::f64, 2, 76,
23867 0,
23868 51, TARGET_VAL(LoongArchISD::SELECT_CC),
23869 OPC_RecordNode,
23870 OPC_RecordChild0,
23871 OPC_CheckChild0TypeByHwMode0,
23872 OPC_Scope, 24,
23873 OPC_CheckChild1Integer, 0,
23874 OPC_MoveChild2,
23875 OPC_CheckOpcode, TARGET_VAL(ISD::CONDCODE),
23876 OPC_MoveParent,
23877 OPC_RecordChild3,
23878 OPC_RecordChild4,
23879 OPC_CheckTypeByHwMode0,
23880 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
23881 OPC_EmitNodeXForm, 11, 0,
23882 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::Select_GPR_Using_CC_GPR), 0,
23883 1, 0, 5, 57,
23884 20,
23885 OPC_RecordChild1,
23886 OPC_MoveChild2,
23887 OPC_CheckOpcode, TARGET_VAL(ISD::CONDCODE),
23888 OPC_MoveParent,
23889 OPC_RecordChild3,
23890 OPC_RecordChild4,
23891 OPC_CheckTypeByHwMode0,
23892 OPC_EmitNodeXForm, 11, 0,
23893 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::Select_GPR_Using_CC_GPR), 0,
23894 1, 0, 5, 85,
23895 0,
23896 37|128,4, TARGET_VAL(ISD::ROTR),
23897 OPC_RecordChild0,
23898 OPC_Scope, 73,
23899 OPC_RecordChild1,
23900 OPC_Scope, 38,
23901 OPC_MoveChild1,
23902 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
23903 OPC_Scope, 15,
23904 OPC_CheckPredicate, 20,
23905 OPC_CheckTypeByHwMode0,
23906 OPC_MoveParent,
23907 OPC_CheckTypeByHwMode0,
23908 OPC_CheckPatternPredicate6,
23909 OPC_EmitConvertToTarget1,
23910 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTRI_W), 0,
23911 1, 0, 2, 22,
23912 15,
23913 OPC_CheckPredicate, 26,
23914 OPC_CheckTypeByHwMode0,
23915 OPC_MoveParent,
23916 OPC_CheckTypeByHwMode0,
23917 OPC_CheckPatternPredicate2,
23918 OPC_EmitConvertToTarget1,
23919 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTRI_D), 0,
23920 1, 0, 2, 22,
23921 0,
23922 30,
23923 OPC_CheckChild1TypeByHwMode0,
23924 OPC_CheckTypeByHwMode0,
23925 OPC_Scope, 12,
23926 OPC_CheckPatternPredicate6,
23927 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
23928 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTR_W), 0,
23929 1, 0, 2, 22,
23930 12,
23931 OPC_CheckPatternPredicate2,
23932 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
23933 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTR_D), 0,
23934 1, 0, 2, 22,
23935 0,
23936 0,
23937 23|128,2,
23938 OPC_MoveChild1,
23939 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
23940 OPC_Scope, 10|128,1,
23941 OPC_MoveChild0,
23942 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
23943 OPC_Scope, 16,
23944 OPC_CheckPredicate, 13,
23945 OPC_MoveParent,
23946 OPC_RecordChild1,
23947 OPC_CheckType, MVT::v16i8,
23948 OPC_MoveParent,
23949 OPC_CheckType, MVT::v16i8,
23950 OPC_CheckPatternPredicate1,
23951 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
23952 MVT::v16i8, 2, 9,
23953 16,
23954 OPC_CheckPredicate, 14,
23955 OPC_MoveParent,
23956 OPC_RecordChild1,
23957 OPC_CheckType, MVT::v8i16,
23958 OPC_MoveParent,
23959 OPC_CheckType, MVT::v8i16,
23960 OPC_CheckPatternPredicate1,
23961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
23962 MVT::v8i16, 2, 9,
23963 16,
23964 OPC_CheckPredicate, 15,
23965 OPC_MoveParent,
23966 OPC_RecordChild1,
23967 OPC_CheckType, MVT::v4i32,
23968 OPC_MoveParent,
23969 OPC_CheckType, MVT::v4i32,
23970 OPC_CheckPatternPredicate1,
23971 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
23972 MVT::v4i32, 2, 9,
23973 14,
23974 OPC_CheckPredicate, 16,
23975 OPC_MoveParent,
23976 OPC_RecordChild1,
23977 OPC_MoveParent,
23978 OPC_CheckType, MVT::v2i64,
23979 OPC_CheckPatternPredicate1,
23980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
23981 MVT::v2i64, 2, 9,
23982 14,
23983 OPC_CheckPredicate, 13,
23984 OPC_MoveParent,
23985 OPC_RecordChild1,
23986 OPC_MoveParent,
23987 OPC_CheckType, MVT::v32i8,
23988 OPC_CheckPatternPredicate0,
23989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
23990 MVT::v32i8, 2, 9,
23991 16,
23992 OPC_CheckPredicate, 14,
23993 OPC_MoveParent,
23994 OPC_RecordChild1,
23995 OPC_CheckType, MVT::v16i16,
23996 OPC_MoveParent,
23997 OPC_CheckType, MVT::v16i16,
23998 OPC_CheckPatternPredicate0,
23999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
24000 MVT::v16i16, 2, 9,
24001 16,
24002 OPC_CheckPredicate, 15,
24003 OPC_MoveParent,
24004 OPC_RecordChild1,
24005 OPC_CheckType, MVT::v8i32,
24006 OPC_MoveParent,
24007 OPC_CheckType, MVT::v8i32,
24008 OPC_CheckPatternPredicate0,
24009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
24010 MVT::v8i32, 2, 9,
24011 16,
24012 OPC_CheckPredicate, 16,
24013 OPC_MoveParent,
24014 OPC_RecordChild1,
24015 OPC_CheckType, MVT::v4i64,
24016 OPC_MoveParent,
24017 OPC_CheckType, MVT::v4i64,
24018 OPC_CheckPatternPredicate0,
24019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
24020 MVT::v4i64, 2, 9,
24021 0,
24022 3|128,1,
24023 OPC_RecordChild0,
24024 OPC_MoveChild1,
24025 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
24026 OPC_Scope, 15,
24027 OPC_CheckPredicate, 13,
24028 OPC_MoveParent,
24029 OPC_CheckType, MVT::v16i8,
24030 OPC_MoveParent,
24031 OPC_CheckType, MVT::v16i8,
24032 OPC_CheckPatternPredicate1,
24033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
24034 MVT::v16i8, 2, 9,
24035 15,
24036 OPC_CheckPredicate, 14,
24037 OPC_MoveParent,
24038 OPC_CheckType, MVT::v8i16,
24039 OPC_MoveParent,
24040 OPC_CheckType, MVT::v8i16,
24041 OPC_CheckPatternPredicate1,
24042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
24043 MVT::v8i16, 2, 9,
24044 15,
24045 OPC_CheckPredicate, 15,
24046 OPC_MoveParent,
24047 OPC_CheckType, MVT::v4i32,
24048 OPC_MoveParent,
24049 OPC_CheckType, MVT::v4i32,
24050 OPC_CheckPatternPredicate1,
24051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
24052 MVT::v4i32, 2, 9,
24053 13,
24054 OPC_CheckPredicate, 16,
24055 OPC_MoveParent,
24056 OPC_MoveParent,
24057 OPC_CheckType, MVT::v2i64,
24058 OPC_CheckPatternPredicate1,
24059 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
24060 MVT::v2i64, 2, 9,
24061 13,
24062 OPC_CheckPredicate, 13,
24063 OPC_MoveParent,
24064 OPC_MoveParent,
24065 OPC_CheckType, MVT::v32i8,
24066 OPC_CheckPatternPredicate0,
24067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
24068 MVT::v32i8, 2, 9,
24069 15,
24070 OPC_CheckPredicate, 14,
24071 OPC_MoveParent,
24072 OPC_CheckType, MVT::v16i16,
24073 OPC_MoveParent,
24074 OPC_CheckType, MVT::v16i16,
24075 OPC_CheckPatternPredicate0,
24076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
24077 MVT::v16i16, 2, 9,
24078 15,
24079 OPC_CheckPredicate, 15,
24080 OPC_MoveParent,
24081 OPC_CheckType, MVT::v8i32,
24082 OPC_MoveParent,
24083 OPC_CheckType, MVT::v8i32,
24084 OPC_CheckPatternPredicate0,
24085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
24086 MVT::v8i32, 2, 9,
24087 15,
24088 OPC_CheckPredicate, 16,
24089 OPC_MoveParent,
24090 OPC_CheckType, MVT::v4i64,
24091 OPC_MoveParent,
24092 OPC_CheckType, MVT::v4i64,
24093 OPC_CheckPatternPredicate0,
24094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
24095 MVT::v4i64, 2, 9,
24096 0,
24097 0,
24098 61|128,1,
24099 OPC_RecordChild1,
24100 OPC_SwitchType , 22, MVT::v16i8,
24101 OPC_CheckChild1Type, MVT::v16i8,
24102 OPC_CheckPatternPredicate1,
24103 OPC_Scope, 9,
24104 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
24105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
24106 MVT::v16i8, 2, 22,
24107 6,
24108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
24109 MVT::v16i8, 2, 9,
24110 0,
24111 22, MVT::v8i16,
24112 OPC_CheckChild1Type, MVT::v8i16,
24113 OPC_CheckPatternPredicate1,
24114 OPC_Scope, 9,
24115 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
24116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
24117 MVT::v8i16, 2, 22,
24118 6,
24119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
24120 MVT::v8i16, 2, 9,
24121 0,
24122 21, MVT::v4i32,
24123 OPC_CheckChild1Type, MVT::v4i32,
24124 OPC_CheckPatternPredicate1,
24125 OPC_Scope, 8,
24126 OPC_CheckComplexPat2, /*#*/1,
24127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
24128 MVT::v4i32, 2, 22,
24129 6,
24130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
24131 MVT::v4i32, 2, 9,
24132 0,
24133 20, MVT::v2i64,
24134 OPC_CheckPatternPredicate1,
24135 OPC_Scope, 9,
24136 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
24137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
24138 MVT::v2i64, 2, 22,
24139 6,
24140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
24141 MVT::v2i64, 2, 9,
24142 0,
24143 20, MVT::v32i8,
24144 OPC_CheckPatternPredicate0,
24145 OPC_Scope, 9,
24146 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
24147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
24148 MVT::v32i8, 2, 22,
24149 6,
24150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
24151 MVT::v32i8, 2, 9,
24152 0,
24153 22, MVT::v16i16,
24154 OPC_CheckChild1Type, MVT::v16i16,
24155 OPC_CheckPatternPredicate0,
24156 OPC_Scope, 9,
24157 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
24158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
24159 MVT::v16i16, 2, 22,
24160 6,
24161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
24162 MVT::v16i16, 2, 9,
24163 0,
24164 21, MVT::v8i32,
24165 OPC_CheckChild1Type, MVT::v8i32,
24166 OPC_CheckPatternPredicate0,
24167 OPC_Scope, 8,
24168 OPC_CheckComplexPat2, /*#*/1,
24169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
24170 MVT::v8i32, 2, 22,
24171 6,
24172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
24173 MVT::v8i32, 2, 9,
24174 0,
24175 22, MVT::v4i64,
24176 OPC_CheckChild1Type, MVT::v4i64,
24177 OPC_CheckPatternPredicate0,
24178 OPC_Scope, 9,
24179 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
24180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
24181 MVT::v4i64, 2, 22,
24182 6,
24183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
24184 MVT::v4i64, 2, 9,
24185 0,
24186 0,
24187 0,
24188 39, TARGET_VAL(LoongArchISD::ROTR_W),
24189 OPC_RecordChild0,
24190 OPC_RecordChild1,
24191 OPC_Scope, 19,
24192 OPC_MoveChild1,
24193 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24194 OPC_CheckPredicate, 20,
24195 OPC_MoveParent,
24196 OPC_CheckTypeByHwMode, 1,
24197 OPC_CheckPatternPredicate2,
24198 OPC_EmitConvertToTarget1,
24199 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTRI_W), 0,
24200 1, 1, 2, 22,
24201 14,
24202 OPC_CheckTypeByHwMode, 1,
24203 OPC_CheckPatternPredicate2,
24204 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
24205 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTR_W), 0,
24206 1, 1, 2, 22,
24207 0,
24208 37|128,4, TARGET_VAL(ISD::SHL),
24209 OPC_RecordChild0,
24210 OPC_Scope, 73,
24211 OPC_RecordChild1,
24212 OPC_Scope, 38,
24213 OPC_MoveChild1,
24214 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24215 OPC_Scope, 15,
24216 OPC_CheckPredicate, 20,
24217 OPC_CheckTypeByHwMode0,
24218 OPC_MoveParent,
24219 OPC_CheckTypeByHwMode0,
24220 OPC_CheckPatternPredicate5,
24221 OPC_EmitConvertToTarget1,
24222 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLLI_W), 0,
24223 1, 0, 2, 22,
24224 15,
24225 OPC_CheckPredicate, 26,
24226 OPC_CheckTypeByHwMode0,
24227 OPC_MoveParent,
24228 OPC_CheckTypeByHwMode0,
24229 OPC_CheckPatternPredicate2,
24230 OPC_EmitConvertToTarget1,
24231 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLLI_D), 0,
24232 1, 0, 2, 22,
24233 0,
24234 30,
24235 OPC_CheckChild1TypeByHwMode0,
24236 OPC_CheckTypeByHwMode0,
24237 OPC_Scope, 12,
24238 OPC_CheckPatternPredicate5,
24239 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
24240 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLL_W), 0,
24241 1, 0, 2, 22,
24242 12,
24243 OPC_CheckPatternPredicate2,
24244 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
24245 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLL_D), 0,
24246 1, 0, 2, 22,
24247 0,
24248 0,
24249 23|128,2,
24250 OPC_MoveChild1,
24251 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
24252 OPC_Scope, 10|128,1,
24253 OPC_MoveChild0,
24254 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
24255 OPC_Scope, 16,
24256 OPC_CheckPredicate, 13,
24257 OPC_MoveParent,
24258 OPC_RecordChild1,
24259 OPC_CheckType, MVT::v16i8,
24260 OPC_MoveParent,
24261 OPC_CheckType, MVT::v16i8,
24262 OPC_CheckPatternPredicate1,
24263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
24264 MVT::v16i8, 2, 9,
24265 16,
24266 OPC_CheckPredicate, 14,
24267 OPC_MoveParent,
24268 OPC_RecordChild1,
24269 OPC_CheckType, MVT::v8i16,
24270 OPC_MoveParent,
24271 OPC_CheckType, MVT::v8i16,
24272 OPC_CheckPatternPredicate1,
24273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
24274 MVT::v8i16, 2, 9,
24275 16,
24276 OPC_CheckPredicate, 15,
24277 OPC_MoveParent,
24278 OPC_RecordChild1,
24279 OPC_CheckType, MVT::v4i32,
24280 OPC_MoveParent,
24281 OPC_CheckType, MVT::v4i32,
24282 OPC_CheckPatternPredicate1,
24283 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
24284 MVT::v4i32, 2, 9,
24285 14,
24286 OPC_CheckPredicate, 16,
24287 OPC_MoveParent,
24288 OPC_RecordChild1,
24289 OPC_MoveParent,
24290 OPC_CheckType, MVT::v2i64,
24291 OPC_CheckPatternPredicate1,
24292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
24293 MVT::v2i64, 2, 9,
24294 14,
24295 OPC_CheckPredicate, 13,
24296 OPC_MoveParent,
24297 OPC_RecordChild1,
24298 OPC_MoveParent,
24299 OPC_CheckType, MVT::v32i8,
24300 OPC_CheckPatternPredicate0,
24301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
24302 MVT::v32i8, 2, 9,
24303 16,
24304 OPC_CheckPredicate, 14,
24305 OPC_MoveParent,
24306 OPC_RecordChild1,
24307 OPC_CheckType, MVT::v16i16,
24308 OPC_MoveParent,
24309 OPC_CheckType, MVT::v16i16,
24310 OPC_CheckPatternPredicate0,
24311 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
24312 MVT::v16i16, 2, 9,
24313 16,
24314 OPC_CheckPredicate, 15,
24315 OPC_MoveParent,
24316 OPC_RecordChild1,
24317 OPC_CheckType, MVT::v8i32,
24318 OPC_MoveParent,
24319 OPC_CheckType, MVT::v8i32,
24320 OPC_CheckPatternPredicate0,
24321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
24322 MVT::v8i32, 2, 9,
24323 16,
24324 OPC_CheckPredicate, 16,
24325 OPC_MoveParent,
24326 OPC_RecordChild1,
24327 OPC_CheckType, MVT::v4i64,
24328 OPC_MoveParent,
24329 OPC_CheckType, MVT::v4i64,
24330 OPC_CheckPatternPredicate0,
24331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
24332 MVT::v4i64, 2, 9,
24333 0,
24334 3|128,1,
24335 OPC_RecordChild0,
24336 OPC_MoveChild1,
24337 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
24338 OPC_Scope, 15,
24339 OPC_CheckPredicate, 13,
24340 OPC_MoveParent,
24341 OPC_CheckType, MVT::v16i8,
24342 OPC_MoveParent,
24343 OPC_CheckType, MVT::v16i8,
24344 OPC_CheckPatternPredicate1,
24345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
24346 MVT::v16i8, 2, 9,
24347 15,
24348 OPC_CheckPredicate, 14,
24349 OPC_MoveParent,
24350 OPC_CheckType, MVT::v8i16,
24351 OPC_MoveParent,
24352 OPC_CheckType, MVT::v8i16,
24353 OPC_CheckPatternPredicate1,
24354 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
24355 MVT::v8i16, 2, 9,
24356 15,
24357 OPC_CheckPredicate, 15,
24358 OPC_MoveParent,
24359 OPC_CheckType, MVT::v4i32,
24360 OPC_MoveParent,
24361 OPC_CheckType, MVT::v4i32,
24362 OPC_CheckPatternPredicate1,
24363 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
24364 MVT::v4i32, 2, 9,
24365 13,
24366 OPC_CheckPredicate, 16,
24367 OPC_MoveParent,
24368 OPC_MoveParent,
24369 OPC_CheckType, MVT::v2i64,
24370 OPC_CheckPatternPredicate1,
24371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
24372 MVT::v2i64, 2, 9,
24373 13,
24374 OPC_CheckPredicate, 13,
24375 OPC_MoveParent,
24376 OPC_MoveParent,
24377 OPC_CheckType, MVT::v32i8,
24378 OPC_CheckPatternPredicate0,
24379 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
24380 MVT::v32i8, 2, 9,
24381 15,
24382 OPC_CheckPredicate, 14,
24383 OPC_MoveParent,
24384 OPC_CheckType, MVT::v16i16,
24385 OPC_MoveParent,
24386 OPC_CheckType, MVT::v16i16,
24387 OPC_CheckPatternPredicate0,
24388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
24389 MVT::v16i16, 2, 9,
24390 15,
24391 OPC_CheckPredicate, 15,
24392 OPC_MoveParent,
24393 OPC_CheckType, MVT::v8i32,
24394 OPC_MoveParent,
24395 OPC_CheckType, MVT::v8i32,
24396 OPC_CheckPatternPredicate0,
24397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
24398 MVT::v8i32, 2, 9,
24399 15,
24400 OPC_CheckPredicate, 16,
24401 OPC_MoveParent,
24402 OPC_CheckType, MVT::v4i64,
24403 OPC_MoveParent,
24404 OPC_CheckType, MVT::v4i64,
24405 OPC_CheckPatternPredicate0,
24406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
24407 MVT::v4i64, 2, 9,
24408 0,
24409 0,
24410 61|128,1,
24411 OPC_RecordChild1,
24412 OPC_SwitchType , 22, MVT::v16i8,
24413 OPC_CheckChild1Type, MVT::v16i8,
24414 OPC_CheckPatternPredicate1,
24415 OPC_Scope, 9,
24416 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
24417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
24418 MVT::v16i8, 2, 22,
24419 6,
24420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
24421 MVT::v16i8, 2, 9,
24422 0,
24423 22, MVT::v8i16,
24424 OPC_CheckChild1Type, MVT::v8i16,
24425 OPC_CheckPatternPredicate1,
24426 OPC_Scope, 9,
24427 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
24428 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
24429 MVT::v8i16, 2, 22,
24430 6,
24431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
24432 MVT::v8i16, 2, 9,
24433 0,
24434 21, MVT::v4i32,
24435 OPC_CheckChild1Type, MVT::v4i32,
24436 OPC_CheckPatternPredicate1,
24437 OPC_Scope, 8,
24438 OPC_CheckComplexPat2, /*#*/1,
24439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
24440 MVT::v4i32, 2, 22,
24441 6,
24442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
24443 MVT::v4i32, 2, 9,
24444 0,
24445 20, MVT::v2i64,
24446 OPC_CheckPatternPredicate1,
24447 OPC_Scope, 9,
24448 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
24449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
24450 MVT::v2i64, 2, 22,
24451 6,
24452 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
24453 MVT::v2i64, 2, 9,
24454 0,
24455 20, MVT::v32i8,
24456 OPC_CheckPatternPredicate0,
24457 OPC_Scope, 9,
24458 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
24459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
24460 MVT::v32i8, 2, 22,
24461 6,
24462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
24463 MVT::v32i8, 2, 9,
24464 0,
24465 22, MVT::v16i16,
24466 OPC_CheckChild1Type, MVT::v16i16,
24467 OPC_CheckPatternPredicate0,
24468 OPC_Scope, 9,
24469 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
24470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
24471 MVT::v16i16, 2, 22,
24472 6,
24473 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
24474 MVT::v16i16, 2, 9,
24475 0,
24476 21, MVT::v8i32,
24477 OPC_CheckChild1Type, MVT::v8i32,
24478 OPC_CheckPatternPredicate0,
24479 OPC_Scope, 8,
24480 OPC_CheckComplexPat2, /*#*/1,
24481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
24482 MVT::v8i32, 2, 22,
24483 6,
24484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
24485 MVT::v8i32, 2, 9,
24486 0,
24487 22, MVT::v4i64,
24488 OPC_CheckChild1Type, MVT::v4i64,
24489 OPC_CheckPatternPredicate0,
24490 OPC_Scope, 9,
24491 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
24492 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
24493 MVT::v4i64, 2, 22,
24494 6,
24495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
24496 MVT::v4i64, 2, 9,
24497 0,
24498 0,
24499 0,
24500 37|128,4, TARGET_VAL(ISD::SRA),
24501 OPC_RecordChild0,
24502 OPC_Scope, 73,
24503 OPC_RecordChild1,
24504 OPC_Scope, 38,
24505 OPC_MoveChild1,
24506 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24507 OPC_Scope, 15,
24508 OPC_CheckPredicate, 20,
24509 OPC_CheckTypeByHwMode0,
24510 OPC_MoveParent,
24511 OPC_CheckTypeByHwMode0,
24512 OPC_CheckPatternPredicate5,
24513 OPC_EmitConvertToTarget1,
24514 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRAI_W), 0,
24515 1, 0, 2, 22,
24516 15,
24517 OPC_CheckPredicate, 26,
24518 OPC_CheckTypeByHwMode0,
24519 OPC_MoveParent,
24520 OPC_CheckTypeByHwMode0,
24521 OPC_CheckPatternPredicate2,
24522 OPC_EmitConvertToTarget1,
24523 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRAI_D), 0,
24524 1, 0, 2, 22,
24525 0,
24526 30,
24527 OPC_CheckChild1TypeByHwMode0,
24528 OPC_CheckTypeByHwMode0,
24529 OPC_Scope, 12,
24530 OPC_CheckPatternPredicate5,
24531 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
24532 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRA_W), 0,
24533 1, 0, 2, 22,
24534 12,
24535 OPC_CheckPatternPredicate2,
24536 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
24537 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRA_D), 0,
24538 1, 0, 2, 22,
24539 0,
24540 0,
24541 23|128,2,
24542 OPC_MoveChild1,
24543 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
24544 OPC_Scope, 10|128,1,
24545 OPC_MoveChild0,
24546 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
24547 OPC_Scope, 16,
24548 OPC_CheckPredicate, 13,
24549 OPC_MoveParent,
24550 OPC_RecordChild1,
24551 OPC_CheckType, MVT::v16i8,
24552 OPC_MoveParent,
24553 OPC_CheckType, MVT::v16i8,
24554 OPC_CheckPatternPredicate1,
24555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
24556 MVT::v16i8, 2, 9,
24557 16,
24558 OPC_CheckPredicate, 14,
24559 OPC_MoveParent,
24560 OPC_RecordChild1,
24561 OPC_CheckType, MVT::v8i16,
24562 OPC_MoveParent,
24563 OPC_CheckType, MVT::v8i16,
24564 OPC_CheckPatternPredicate1,
24565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
24566 MVT::v8i16, 2, 9,
24567 16,
24568 OPC_CheckPredicate, 15,
24569 OPC_MoveParent,
24570 OPC_RecordChild1,
24571 OPC_CheckType, MVT::v4i32,
24572 OPC_MoveParent,
24573 OPC_CheckType, MVT::v4i32,
24574 OPC_CheckPatternPredicate1,
24575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
24576 MVT::v4i32, 2, 9,
24577 14,
24578 OPC_CheckPredicate, 16,
24579 OPC_MoveParent,
24580 OPC_RecordChild1,
24581 OPC_MoveParent,
24582 OPC_CheckType, MVT::v2i64,
24583 OPC_CheckPatternPredicate1,
24584 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
24585 MVT::v2i64, 2, 9,
24586 14,
24587 OPC_CheckPredicate, 13,
24588 OPC_MoveParent,
24589 OPC_RecordChild1,
24590 OPC_MoveParent,
24591 OPC_CheckType, MVT::v32i8,
24592 OPC_CheckPatternPredicate0,
24593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
24594 MVT::v32i8, 2, 9,
24595 16,
24596 OPC_CheckPredicate, 14,
24597 OPC_MoveParent,
24598 OPC_RecordChild1,
24599 OPC_CheckType, MVT::v16i16,
24600 OPC_MoveParent,
24601 OPC_CheckType, MVT::v16i16,
24602 OPC_CheckPatternPredicate0,
24603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
24604 MVT::v16i16, 2, 9,
24605 16,
24606 OPC_CheckPredicate, 15,
24607 OPC_MoveParent,
24608 OPC_RecordChild1,
24609 OPC_CheckType, MVT::v8i32,
24610 OPC_MoveParent,
24611 OPC_CheckType, MVT::v8i32,
24612 OPC_CheckPatternPredicate0,
24613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
24614 MVT::v8i32, 2, 9,
24615 16,
24616 OPC_CheckPredicate, 16,
24617 OPC_MoveParent,
24618 OPC_RecordChild1,
24619 OPC_CheckType, MVT::v4i64,
24620 OPC_MoveParent,
24621 OPC_CheckType, MVT::v4i64,
24622 OPC_CheckPatternPredicate0,
24623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
24624 MVT::v4i64, 2, 9,
24625 0,
24626 3|128,1,
24627 OPC_RecordChild0,
24628 OPC_MoveChild1,
24629 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
24630 OPC_Scope, 15,
24631 OPC_CheckPredicate, 13,
24632 OPC_MoveParent,
24633 OPC_CheckType, MVT::v16i8,
24634 OPC_MoveParent,
24635 OPC_CheckType, MVT::v16i8,
24636 OPC_CheckPatternPredicate1,
24637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
24638 MVT::v16i8, 2, 9,
24639 15,
24640 OPC_CheckPredicate, 14,
24641 OPC_MoveParent,
24642 OPC_CheckType, MVT::v8i16,
24643 OPC_MoveParent,
24644 OPC_CheckType, MVT::v8i16,
24645 OPC_CheckPatternPredicate1,
24646 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
24647 MVT::v8i16, 2, 9,
24648 15,
24649 OPC_CheckPredicate, 15,
24650 OPC_MoveParent,
24651 OPC_CheckType, MVT::v4i32,
24652 OPC_MoveParent,
24653 OPC_CheckType, MVT::v4i32,
24654 OPC_CheckPatternPredicate1,
24655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
24656 MVT::v4i32, 2, 9,
24657 13,
24658 OPC_CheckPredicate, 16,
24659 OPC_MoveParent,
24660 OPC_MoveParent,
24661 OPC_CheckType, MVT::v2i64,
24662 OPC_CheckPatternPredicate1,
24663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
24664 MVT::v2i64, 2, 9,
24665 13,
24666 OPC_CheckPredicate, 13,
24667 OPC_MoveParent,
24668 OPC_MoveParent,
24669 OPC_CheckType, MVT::v32i8,
24670 OPC_CheckPatternPredicate0,
24671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
24672 MVT::v32i8, 2, 9,
24673 15,
24674 OPC_CheckPredicate, 14,
24675 OPC_MoveParent,
24676 OPC_CheckType, MVT::v16i16,
24677 OPC_MoveParent,
24678 OPC_CheckType, MVT::v16i16,
24679 OPC_CheckPatternPredicate0,
24680 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
24681 MVT::v16i16, 2, 9,
24682 15,
24683 OPC_CheckPredicate, 15,
24684 OPC_MoveParent,
24685 OPC_CheckType, MVT::v8i32,
24686 OPC_MoveParent,
24687 OPC_CheckType, MVT::v8i32,
24688 OPC_CheckPatternPredicate0,
24689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
24690 MVT::v8i32, 2, 9,
24691 15,
24692 OPC_CheckPredicate, 16,
24693 OPC_MoveParent,
24694 OPC_CheckType, MVT::v4i64,
24695 OPC_MoveParent,
24696 OPC_CheckType, MVT::v4i64,
24697 OPC_CheckPatternPredicate0,
24698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
24699 MVT::v4i64, 2, 9,
24700 0,
24701 0,
24702 61|128,1,
24703 OPC_RecordChild1,
24704 OPC_SwitchType , 22, MVT::v16i8,
24705 OPC_CheckChild1Type, MVT::v16i8,
24706 OPC_CheckPatternPredicate1,
24707 OPC_Scope, 9,
24708 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
24709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_B),
24710 MVT::v16i8, 2, 22,
24711 6,
24712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
24713 MVT::v16i8, 2, 9,
24714 0,
24715 22, MVT::v8i16,
24716 OPC_CheckChild1Type, MVT::v8i16,
24717 OPC_CheckPatternPredicate1,
24718 OPC_Scope, 9,
24719 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
24720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_H),
24721 MVT::v8i16, 2, 22,
24722 6,
24723 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
24724 MVT::v8i16, 2, 9,
24725 0,
24726 21, MVT::v4i32,
24727 OPC_CheckChild1Type, MVT::v4i32,
24728 OPC_CheckPatternPredicate1,
24729 OPC_Scope, 8,
24730 OPC_CheckComplexPat2, /*#*/1,
24731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_W),
24732 MVT::v4i32, 2, 22,
24733 6,
24734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
24735 MVT::v4i32, 2, 9,
24736 0,
24737 20, MVT::v2i64,
24738 OPC_CheckPatternPredicate1,
24739 OPC_Scope, 9,
24740 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
24741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_D),
24742 MVT::v2i64, 2, 22,
24743 6,
24744 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
24745 MVT::v2i64, 2, 9,
24746 0,
24747 20, MVT::v32i8,
24748 OPC_CheckPatternPredicate0,
24749 OPC_Scope, 9,
24750 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
24751 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_B),
24752 MVT::v32i8, 2, 22,
24753 6,
24754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
24755 MVT::v32i8, 2, 9,
24756 0,
24757 22, MVT::v16i16,
24758 OPC_CheckChild1Type, MVT::v16i16,
24759 OPC_CheckPatternPredicate0,
24760 OPC_Scope, 9,
24761 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
24762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_H),
24763 MVT::v16i16, 2, 22,
24764 6,
24765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
24766 MVT::v16i16, 2, 9,
24767 0,
24768 21, MVT::v8i32,
24769 OPC_CheckChild1Type, MVT::v8i32,
24770 OPC_CheckPatternPredicate0,
24771 OPC_Scope, 8,
24772 OPC_CheckComplexPat2, /*#*/1,
24773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_W),
24774 MVT::v8i32, 2, 22,
24775 6,
24776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
24777 MVT::v8i32, 2, 9,
24778 0,
24779 22, MVT::v4i64,
24780 OPC_CheckChild1Type, MVT::v4i64,
24781 OPC_CheckPatternPredicate0,
24782 OPC_Scope, 9,
24783 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
24784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_D),
24785 MVT::v4i64, 2, 22,
24786 6,
24787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
24788 MVT::v4i64, 2, 9,
24789 0,
24790 0,
24791 0,
24792 37|128,4, TARGET_VAL(ISD::SRL),
24793 OPC_RecordChild0,
24794 OPC_Scope, 73,
24795 OPC_RecordChild1,
24796 OPC_Scope, 38,
24797 OPC_MoveChild1,
24798 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24799 OPC_Scope, 15,
24800 OPC_CheckPredicate, 20,
24801 OPC_CheckTypeByHwMode0,
24802 OPC_MoveParent,
24803 OPC_CheckTypeByHwMode0,
24804 OPC_CheckPatternPredicate5,
24805 OPC_EmitConvertToTarget1,
24806 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRLI_W), 0,
24807 1, 0, 2, 22,
24808 15,
24809 OPC_CheckPredicate, 26,
24810 OPC_CheckTypeByHwMode0,
24811 OPC_MoveParent,
24812 OPC_CheckTypeByHwMode0,
24813 OPC_CheckPatternPredicate2,
24814 OPC_EmitConvertToTarget1,
24815 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRLI_D), 0,
24816 1, 0, 2, 22,
24817 0,
24818 30,
24819 OPC_CheckChild1TypeByHwMode0,
24820 OPC_CheckTypeByHwMode0,
24821 OPC_Scope, 12,
24822 OPC_CheckPatternPredicate5,
24823 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
24824 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRL_W), 0,
24825 1, 0, 2, 22,
24826 12,
24827 OPC_CheckPatternPredicate2,
24828 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
24829 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRL_D), 0,
24830 1, 0, 2, 22,
24831 0,
24832 0,
24833 23|128,2,
24834 OPC_MoveChild1,
24835 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
24836 OPC_Scope, 10|128,1,
24837 OPC_MoveChild0,
24838 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
24839 OPC_Scope, 16,
24840 OPC_CheckPredicate, 13,
24841 OPC_MoveParent,
24842 OPC_RecordChild1,
24843 OPC_CheckType, MVT::v16i8,
24844 OPC_MoveParent,
24845 OPC_CheckType, MVT::v16i8,
24846 OPC_CheckPatternPredicate1,
24847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
24848 MVT::v16i8, 2, 9,
24849 16,
24850 OPC_CheckPredicate, 14,
24851 OPC_MoveParent,
24852 OPC_RecordChild1,
24853 OPC_CheckType, MVT::v8i16,
24854 OPC_MoveParent,
24855 OPC_CheckType, MVT::v8i16,
24856 OPC_CheckPatternPredicate1,
24857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
24858 MVT::v8i16, 2, 9,
24859 16,
24860 OPC_CheckPredicate, 15,
24861 OPC_MoveParent,
24862 OPC_RecordChild1,
24863 OPC_CheckType, MVT::v4i32,
24864 OPC_MoveParent,
24865 OPC_CheckType, MVT::v4i32,
24866 OPC_CheckPatternPredicate1,
24867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
24868 MVT::v4i32, 2, 9,
24869 14,
24870 OPC_CheckPredicate, 16,
24871 OPC_MoveParent,
24872 OPC_RecordChild1,
24873 OPC_MoveParent,
24874 OPC_CheckType, MVT::v2i64,
24875 OPC_CheckPatternPredicate1,
24876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
24877 MVT::v2i64, 2, 9,
24878 14,
24879 OPC_CheckPredicate, 13,
24880 OPC_MoveParent,
24881 OPC_RecordChild1,
24882 OPC_MoveParent,
24883 OPC_CheckType, MVT::v32i8,
24884 OPC_CheckPatternPredicate0,
24885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
24886 MVT::v32i8, 2, 9,
24887 16,
24888 OPC_CheckPredicate, 14,
24889 OPC_MoveParent,
24890 OPC_RecordChild1,
24891 OPC_CheckType, MVT::v16i16,
24892 OPC_MoveParent,
24893 OPC_CheckType, MVT::v16i16,
24894 OPC_CheckPatternPredicate0,
24895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
24896 MVT::v16i16, 2, 9,
24897 16,
24898 OPC_CheckPredicate, 15,
24899 OPC_MoveParent,
24900 OPC_RecordChild1,
24901 OPC_CheckType, MVT::v8i32,
24902 OPC_MoveParent,
24903 OPC_CheckType, MVT::v8i32,
24904 OPC_CheckPatternPredicate0,
24905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
24906 MVT::v8i32, 2, 9,
24907 16,
24908 OPC_CheckPredicate, 16,
24909 OPC_MoveParent,
24910 OPC_RecordChild1,
24911 OPC_CheckType, MVT::v4i64,
24912 OPC_MoveParent,
24913 OPC_CheckType, MVT::v4i64,
24914 OPC_CheckPatternPredicate0,
24915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
24916 MVT::v4i64, 2, 9,
24917 0,
24918 3|128,1,
24919 OPC_RecordChild0,
24920 OPC_MoveChild1,
24921 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
24922 OPC_Scope, 15,
24923 OPC_CheckPredicate, 13,
24924 OPC_MoveParent,
24925 OPC_CheckType, MVT::v16i8,
24926 OPC_MoveParent,
24927 OPC_CheckType, MVT::v16i8,
24928 OPC_CheckPatternPredicate1,
24929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
24930 MVT::v16i8, 2, 9,
24931 15,
24932 OPC_CheckPredicate, 14,
24933 OPC_MoveParent,
24934 OPC_CheckType, MVT::v8i16,
24935 OPC_MoveParent,
24936 OPC_CheckType, MVT::v8i16,
24937 OPC_CheckPatternPredicate1,
24938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
24939 MVT::v8i16, 2, 9,
24940 15,
24941 OPC_CheckPredicate, 15,
24942 OPC_MoveParent,
24943 OPC_CheckType, MVT::v4i32,
24944 OPC_MoveParent,
24945 OPC_CheckType, MVT::v4i32,
24946 OPC_CheckPatternPredicate1,
24947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
24948 MVT::v4i32, 2, 9,
24949 13,
24950 OPC_CheckPredicate, 16,
24951 OPC_MoveParent,
24952 OPC_MoveParent,
24953 OPC_CheckType, MVT::v2i64,
24954 OPC_CheckPatternPredicate1,
24955 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
24956 MVT::v2i64, 2, 9,
24957 13,
24958 OPC_CheckPredicate, 13,
24959 OPC_MoveParent,
24960 OPC_MoveParent,
24961 OPC_CheckType, MVT::v32i8,
24962 OPC_CheckPatternPredicate0,
24963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
24964 MVT::v32i8, 2, 9,
24965 15,
24966 OPC_CheckPredicate, 14,
24967 OPC_MoveParent,
24968 OPC_CheckType, MVT::v16i16,
24969 OPC_MoveParent,
24970 OPC_CheckType, MVT::v16i16,
24971 OPC_CheckPatternPredicate0,
24972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
24973 MVT::v16i16, 2, 9,
24974 15,
24975 OPC_CheckPredicate, 15,
24976 OPC_MoveParent,
24977 OPC_CheckType, MVT::v8i32,
24978 OPC_MoveParent,
24979 OPC_CheckType, MVT::v8i32,
24980 OPC_CheckPatternPredicate0,
24981 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
24982 MVT::v8i32, 2, 9,
24983 15,
24984 OPC_CheckPredicate, 16,
24985 OPC_MoveParent,
24986 OPC_CheckType, MVT::v4i64,
24987 OPC_MoveParent,
24988 OPC_CheckType, MVT::v4i64,
24989 OPC_CheckPatternPredicate0,
24990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
24991 MVT::v4i64, 2, 9,
24992 0,
24993 0,
24994 61|128,1,
24995 OPC_RecordChild1,
24996 OPC_SwitchType , 22, MVT::v16i8,
24997 OPC_CheckChild1Type, MVT::v16i8,
24998 OPC_CheckPatternPredicate1,
24999 OPC_Scope, 9,
25000 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
25001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
25002 MVT::v16i8, 2, 22,
25003 6,
25004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
25005 MVT::v16i8, 2, 9,
25006 0,
25007 22, MVT::v8i16,
25008 OPC_CheckChild1Type, MVT::v8i16,
25009 OPC_CheckPatternPredicate1,
25010 OPC_Scope, 9,
25011 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
25012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
25013 MVT::v8i16, 2, 22,
25014 6,
25015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
25016 MVT::v8i16, 2, 9,
25017 0,
25018 21, MVT::v4i32,
25019 OPC_CheckChild1Type, MVT::v4i32,
25020 OPC_CheckPatternPredicate1,
25021 OPC_Scope, 8,
25022 OPC_CheckComplexPat2, /*#*/1,
25023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
25024 MVT::v4i32, 2, 22,
25025 6,
25026 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
25027 MVT::v4i32, 2, 9,
25028 0,
25029 20, MVT::v2i64,
25030 OPC_CheckPatternPredicate1,
25031 OPC_Scope, 9,
25032 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
25033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
25034 MVT::v2i64, 2, 22,
25035 6,
25036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
25037 MVT::v2i64, 2, 9,
25038 0,
25039 20, MVT::v32i8,
25040 OPC_CheckPatternPredicate0,
25041 OPC_Scope, 9,
25042 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
25043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
25044 MVT::v32i8, 2, 22,
25045 6,
25046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
25047 MVT::v32i8, 2, 9,
25048 0,
25049 22, MVT::v16i16,
25050 OPC_CheckChild1Type, MVT::v16i16,
25051 OPC_CheckPatternPredicate0,
25052 OPC_Scope, 9,
25053 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
25054 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
25055 MVT::v16i16, 2, 22,
25056 6,
25057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
25058 MVT::v16i16, 2, 9,
25059 0,
25060 21, MVT::v8i32,
25061 OPC_CheckChild1Type, MVT::v8i32,
25062 OPC_CheckPatternPredicate0,
25063 OPC_Scope, 8,
25064 OPC_CheckComplexPat2, /*#*/1,
25065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
25066 MVT::v8i32, 2, 22,
25067 6,
25068 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
25069 MVT::v8i32, 2, 9,
25070 0,
25071 22, MVT::v4i64,
25072 OPC_CheckChild1Type, MVT::v4i64,
25073 OPC_CheckPatternPredicate0,
25074 OPC_Scope, 9,
25075 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
25076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
25077 MVT::v4i64, 2, 22,
25078 6,
25079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
25080 MVT::v4i64, 2, 9,
25081 0,
25082 0,
25083 0,
25084 16, TARGET_VAL(LoongArchISD::DBAR),
25085 OPC_RecordNode,
25086 OPC_RecordChild1,
25087 OPC_MoveChild1,
25088 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25089 OPC_CheckPredicate, 45,
25090 OPC_MoveParent,
25091 OPC_EmitMergeInputChains1_0,
25092 OPC_EmitConvertToTarget1,
25093 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
25094 1, 23,
25095 16, TARGET_VAL(LoongArchISD::IBAR),
25096 OPC_RecordNode,
25097 OPC_RecordChild1,
25098 OPC_MoveChild1,
25099 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25100 OPC_CheckPredicate, 45,
25101 OPC_MoveParent,
25102 OPC_EmitMergeInputChains1_0,
25103 OPC_EmitConvertToTarget1,
25104 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IBAR),
25105 1, 23,
25106 16, TARGET_VAL(LoongArchISD::BREAK),
25107 OPC_RecordNode,
25108 OPC_RecordChild1,
25109 OPC_MoveChild1,
25110 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25111 OPC_CheckPredicate, 45,
25112 OPC_MoveParent,
25113 OPC_EmitMergeInputChains1_0,
25114 OPC_EmitConvertToTarget1,
25115 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
25116 1, 23,
25117 16, TARGET_VAL(LoongArchISD::SYSCALL),
25118 OPC_RecordNode,
25119 OPC_RecordChild1,
25120 OPC_MoveChild1,
25121 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25122 OPC_CheckPredicate, 45,
25123 OPC_MoveParent,
25124 OPC_EmitMergeInputChains1_0,
25125 OPC_EmitConvertToTarget1,
25126 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::SYSCALL),
25127 1, 23,
25128 20, TARGET_VAL(LoongArchISD::CSRRD),
25129 OPC_RecordNode,
25130 OPC_RecordChild1,
25131 OPC_MoveChild1,
25132 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25133 OPC_CheckPredicate, 49,
25134 OPC_MoveParent,
25135 OPC_CheckTypeByHwMode0,
25136 OPC_EmitMergeInputChains1_0,
25137 OPC_EmitConvertToTarget1,
25138 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CSRRD), 0|OPFL_Chain,
25139 1, 0, 1, 23,
25140 21, TARGET_VAL(LoongArchISD::CSRWR),
25141 OPC_RecordNode,
25142 OPC_RecordChild1,
25143 OPC_RecordChild2,
25144 OPC_MoveChild2,
25145 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25146 OPC_CheckPredicate, 49,
25147 OPC_MoveParent,
25148 OPC_CheckTypeByHwMode0,
25149 OPC_EmitMergeInputChains1_0,
25150 OPC_EmitConvertToTarget2,
25151 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CSRWR), 0|OPFL_Chain,
25152 1, 0, 2, 43,
25153 22, TARGET_VAL(LoongArchISD::CSRXCHG),
25154 OPC_RecordNode,
25155 OPC_RecordChild1,
25156 OPC_RecordChild2,
25157 OPC_RecordChild3,
25158 OPC_MoveChild3,
25159 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25160 OPC_CheckPredicate, 49,
25161 OPC_MoveParent,
25162 OPC_CheckTypeByHwMode0,
25163 OPC_EmitMergeInputChains1_0,
25164 OPC_EmitConvertToTarget3,
25165 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CSRXCHG), 0|OPFL_Chain,
25166 1, 0, 3, 69,
25167 107, TARGET_VAL(LoongArchISD::VPICK_SEXT_ELT),
25168 OPC_RecordChild0,
25169 OPC_Scope, 25,
25170 OPC_CheckChild0Type, MVT::v16i8,
25171 OPC_RecordChild1,
25172 OPC_MoveChild1,
25173 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25174 OPC_CheckPredicate, 21,
25175 OPC_CheckTypeByHwMode0,
25176 OPC_MoveSibling2,
25177 OPC_CheckValueType, MVT::i8,
25178 OPC_MoveParent,
25179 OPC_CheckTypeByHwMode0,
25180 OPC_CheckPatternPredicate1,
25181 OPC_EmitConvertToTarget1,
25182 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
25183 1, 0, 2, 22,
25184 25,
25185 OPC_CheckChild0Type, MVT::v8i16,
25186 OPC_RecordChild1,
25187 OPC_MoveChild1,
25188 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25189 OPC_CheckPredicate, 17,
25190 OPC_CheckTypeByHwMode0,
25191 OPC_MoveSibling2,
25192 OPC_CheckValueType, MVT::i16,
25193 OPC_MoveParent,
25194 OPC_CheckTypeByHwMode0,
25195 OPC_CheckPatternPredicate1,
25196 OPC_EmitConvertToTarget1,
25197 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
25198 1, 0, 2, 22,
25199 25,
25200 OPC_CheckChild0Type, MVT::v4i32,
25201 OPC_RecordChild1,
25202 OPC_MoveChild1,
25203 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25204 OPC_CheckPredicate, 18,
25205 OPC_CheckTypeByHwMode0,
25206 OPC_MoveSibling2,
25207 OPC_CheckValueType, MVT::i32,
25208 OPC_MoveParent,
25209 OPC_CheckTypeByHwMode0,
25210 OPC_CheckPatternPredicate1,
25211 OPC_EmitConvertToTarget1,
25212 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_W), 0,
25213 1, 0, 2, 22,
25214 25,
25215 OPC_CheckChild0Type, MVT::v8i32,
25216 OPC_RecordChild1,
25217 OPC_MoveChild1,
25218 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25219 OPC_CheckPredicate, 17,
25220 OPC_CheckTypeByHwMode0,
25221 OPC_MoveSibling2,
25222 OPC_CheckValueType, MVT::i32,
25223 OPC_MoveParent,
25224 OPC_CheckTypeByHwMode0,
25225 OPC_CheckPatternPredicate0,
25226 OPC_EmitConvertToTarget1,
25227 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_W), 0,
25228 1, 0, 2, 22,
25229 0,
25230 107, TARGET_VAL(LoongArchISD::VPICK_ZEXT_ELT),
25231 OPC_RecordChild0,
25232 OPC_Scope, 25,
25233 OPC_CheckChild0Type, MVT::v16i8,
25234 OPC_RecordChild1,
25235 OPC_MoveChild1,
25236 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25237 OPC_CheckPredicate, 21,
25238 OPC_CheckTypeByHwMode0,
25239 OPC_MoveSibling2,
25240 OPC_CheckValueType, MVT::i8,
25241 OPC_MoveParent,
25242 OPC_CheckTypeByHwMode0,
25243 OPC_CheckPatternPredicate1,
25244 OPC_EmitConvertToTarget1,
25245 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
25246 1, 0, 2, 22,
25247 25,
25248 OPC_CheckChild0Type, MVT::v8i16,
25249 OPC_RecordChild1,
25250 OPC_MoveChild1,
25251 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25252 OPC_CheckPredicate, 17,
25253 OPC_CheckTypeByHwMode0,
25254 OPC_MoveSibling2,
25255 OPC_CheckValueType, MVT::i16,
25256 OPC_MoveParent,
25257 OPC_CheckTypeByHwMode0,
25258 OPC_CheckPatternPredicate1,
25259 OPC_EmitConvertToTarget1,
25260 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
25261 1, 0, 2, 22,
25262 25,
25263 OPC_CheckChild0Type, MVT::v4i32,
25264 OPC_RecordChild1,
25265 OPC_MoveChild1,
25266 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25267 OPC_CheckPredicate, 18,
25268 OPC_CheckTypeByHwMode0,
25269 OPC_MoveSibling2,
25270 OPC_CheckValueType, MVT::i32,
25271 OPC_MoveParent,
25272 OPC_CheckTypeByHwMode0,
25273 OPC_CheckPatternPredicate1,
25274 OPC_EmitConvertToTarget1,
25275 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_WU), 0,
25276 1, 0, 2, 22,
25277 25,
25278 OPC_CheckChild0Type, MVT::v8i32,
25279 OPC_RecordChild1,
25280 OPC_MoveChild1,
25281 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25282 OPC_CheckPredicate, 17,
25283 OPC_CheckTypeByHwMode0,
25284 OPC_MoveSibling2,
25285 OPC_CheckValueType, MVT::i32,
25286 OPC_MoveParent,
25287 OPC_CheckTypeByHwMode0,
25288 OPC_CheckPatternPredicate0,
25289 OPC_EmitConvertToTarget1,
25290 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_WU), 0,
25291 1, 0, 2, 22,
25292 0,
25293 18, TARGET_VAL(LoongArchISD::MOVGR2FCSR),
25294 OPC_RecordNode,
25295 OPC_RecordChild1,
25296 OPC_MoveChild1,
25297 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25298 OPC_CheckPredicate, 18,
25299 OPC_MoveParent,
25300 OPC_RecordChild2,
25301 OPC_CheckPatternPredicate3,
25302 OPC_EmitMergeInputChains1_0,
25303 OPC_EmitConvertToTarget1,
25304 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::WRFCSR),
25305 2, 28,
25306 20, TARGET_VAL(LoongArchISD::MOVFCSR2GR),
25307 OPC_RecordNode,
25308 OPC_RecordChild1,
25309 OPC_MoveChild1,
25310 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25311 OPC_CheckPredicate, 18,
25312 OPC_MoveParent,
25313 OPC_CheckPatternPredicate3,
25314 OPC_EmitMergeInputChains1_0,
25315 OPC_EmitConvertToTarget1,
25316 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::RDFCSR), 0|OPFL_Chain,
25317 1, 0, 1, 23,
25318 16, TARGET_VAL(LoongArchISD::SLL_W),
25319 OPC_RecordChild0,
25320 OPC_RecordChild1,
25321 OPC_CheckTypeByHwMode, 1,
25322 OPC_CheckPatternPredicate2,
25323 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
25324 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLL_W), 0,
25325 1, 1, 2, 22,
25326 16, TARGET_VAL(LoongArchISD::SRA_W),
25327 OPC_RecordChild0,
25328 OPC_RecordChild1,
25329 OPC_CheckTypeByHwMode, 1,
25330 OPC_CheckPatternPredicate2,
25331 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
25332 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRA_W), 0,
25333 1, 1, 2, 22,
25334 16, TARGET_VAL(LoongArchISD::SRL_W),
25335 OPC_RecordChild0,
25336 OPC_RecordChild1,
25337 OPC_CheckTypeByHwMode, 1,
25338 OPC_CheckPatternPredicate2,
25339 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
25340 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRL_W), 0,
25341 1, 1, 2, 22,
25342 39, TARGET_VAL(LoongArchISD::CALL),
25343 OPC_RecordNode,
25344 OPC_CaptureGlueInput,
25345 OPC_RecordChild1,
25346 OPC_Scope, 25,
25347 OPC_MoveChild1,
25348 OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
25349 OPC_MoveParent,
25350 OPC_EmitMergeInputChains1_0,
25351 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25352 1, 10,
25353 8, TARGET_VAL(ISD::TargetExternalSymbol),
25354 OPC_MoveParent,
25355 OPC_EmitMergeInputChains1_0,
25356 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25357 1, 10,
25358 0,
25359 7,
25360 OPC_EmitMergeInputChains1_0,
25361 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25362 1, 10,
25363 0,
25364 39, TARGET_VAL(LoongArchISD::CALL_MEDIUM),
25365 OPC_RecordNode,
25366 OPC_CaptureGlueInput,
25367 OPC_RecordChild1,
25368 OPC_Scope, 25,
25369 OPC_MoveChild1,
25370 OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
25371 OPC_MoveParent,
25372 OPC_EmitMergeInputChains1_0,
25373 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25374 1, 10,
25375 8, TARGET_VAL(ISD::TargetExternalSymbol),
25376 OPC_MoveParent,
25377 OPC_EmitMergeInputChains1_0,
25378 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25379 1, 10,
25380 0,
25381 7,
25382 OPC_EmitMergeInputChains1_0,
25383 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25384 1, 10,
25385 0,
25386 42, TARGET_VAL(LoongArchISD::CALL_LARGE),
25387 OPC_RecordNode,
25388 OPC_CaptureGlueInput,
25389 OPC_RecordChild1,
25390 OPC_Scope, 27,
25391 OPC_MoveChild1,
25392 OPC_SwitchOpcode , 9, TARGET_VAL(ISD::TargetGlobalAddress),
25393 OPC_MoveParent,
25394 OPC_CheckPatternPredicate2,
25395 OPC_EmitMergeInputChains1_0,
25396 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25397 1, 10,
25398 9, TARGET_VAL(ISD::TargetExternalSymbol),
25399 OPC_MoveParent,
25400 OPC_CheckPatternPredicate2,
25401 OPC_EmitMergeInputChains1_0,
25402 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25403 1, 10,
25404 0,
25405 8,
25406 OPC_CheckPatternPredicate2,
25407 OPC_EmitMergeInputChains1_0,
25408 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25409 1, 10,
25410 0,
25411 39, TARGET_VAL(LoongArchISD::TAIL),
25412 OPC_RecordNode,
25413 OPC_CaptureGlueInput,
25414 OPC_RecordChild1,
25415 OPC_Scope, 25,
25416 OPC_MoveChild1,
25417 OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
25418 OPC_MoveParent,
25419 OPC_EmitMergeInputChains1_0,
25420 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25421 1, 10,
25422 8, TARGET_VAL(ISD::TargetExternalSymbol),
25423 OPC_MoveParent,
25424 OPC_EmitMergeInputChains1_0,
25425 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25426 1, 10,
25427 0,
25428 7,
25429 OPC_EmitMergeInputChains1_0,
25430 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25431 1, 10,
25432 0,
25433 39, TARGET_VAL(LoongArchISD::TAIL_MEDIUM),
25434 OPC_RecordNode,
25435 OPC_CaptureGlueInput,
25436 OPC_RecordChild1,
25437 OPC_Scope, 25,
25438 OPC_MoveChild1,
25439 OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
25440 OPC_MoveParent,
25441 OPC_EmitMergeInputChains1_0,
25442 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25443 1, 10,
25444 8, TARGET_VAL(ISD::TargetExternalSymbol),
25445 OPC_MoveParent,
25446 OPC_EmitMergeInputChains1_0,
25447 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25448 1, 10,
25449 0,
25450 7,
25451 OPC_EmitMergeInputChains1_0,
25452 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25453 1, 10,
25454 0,
25455 42, TARGET_VAL(LoongArchISD::TAIL_LARGE),
25456 OPC_RecordNode,
25457 OPC_CaptureGlueInput,
25458 OPC_RecordChild1,
25459 OPC_Scope, 27,
25460 OPC_MoveChild1,
25461 OPC_SwitchOpcode , 9, TARGET_VAL(ISD::TargetGlobalAddress),
25462 OPC_MoveParent,
25463 OPC_CheckPatternPredicate2,
25464 OPC_EmitMergeInputChains1_0,
25465 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25466 1, 10,
25467 9, TARGET_VAL(ISD::TargetExternalSymbol),
25468 OPC_MoveParent,
25469 OPC_CheckPatternPredicate2,
25470 OPC_EmitMergeInputChains1_0,
25471 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25472 1, 10,
25473 0,
25474 8,
25475 OPC_CheckPatternPredicate2,
25476 OPC_EmitMergeInputChains1_0,
25477 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
25478 1, 10,
25479 0,
25480 35|128,1, TARGET_VAL(ISD::BSWAP),
25481 OPC_Scope, 29,
25482 OPC_MoveChild0,
25483 OPC_CheckOpcode, TARGET_VAL(ISD::BITREVERSE),
25484 OPC_RecordChild0,
25485 OPC_MoveParent,
25486 OPC_CheckTypeByHwMode0,
25487 OPC_Scope, 9,
25488 OPC_CheckPatternPredicate6,
25489 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_4B), 0,
25490 1, 0, 1, 1,
25491 9,
25492 OPC_CheckPatternPredicate2,
25493 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_8B), 0,
25494 1, 0, 1, 1,
25495 0,
25496 1|128,1,
25497 OPC_RecordChild0,
25498 OPC_Scope, 33,
25499 OPC_CheckTypeByHwMode0,
25500 OPC_Scope, 9,
25501 OPC_CheckPatternPredicate2,
25502 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::REVB_D), 0,
25503 1, 0, 1, 1,
25504 19,
25505 OPC_CheckPatternPredicate6,
25506 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::REVB_2H), 0,
25507 1, 0, 1, 1,
25508 OPC_EmitIntegerByHwMode0, 16,
25509 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTRI_W), 0,
25510 1, 0, 2, 25,
25511 0,
25512 12,
25513 OPC_CheckType, MVT::v8i16,
25514 OPC_CheckPatternPredicate1,
25515 OPC_EmitIntegerByHwMode0, 49|128,1,
25516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
25517 MVT::v8i16, 2, 9,
25518 11,
25519 OPC_CheckType, MVT::v4i32,
25520 OPC_CheckPatternPredicate1,
25521 OPC_EmitIntegerByHwMode0, 27,
25522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
25523 MVT::v4i32, 2, 9,
25524 12,
25525 OPC_CheckType, MVT::v16i16,
25526 OPC_CheckPatternPredicate0,
25527 OPC_EmitIntegerByHwMode0, 49|128,1,
25528 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
25529 MVT::v16i16, 2, 9,
25530 11,
25531 OPC_CheckType, MVT::v8i32,
25532 OPC_CheckPatternPredicate0,
25533 OPC_EmitIntegerByHwMode0, 27,
25534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
25535 MVT::v8i32, 2, 9,
25536 20,
25537 OPC_CheckType, MVT::v2i64,
25538 OPC_CheckPatternPredicate1,
25539 OPC_EmitIntegerByHwMode0, 27,
25540 OPC_EmitNode1None, TARGET_VAL(LoongArch::VSHUF4I_B),
25541 MVT::v16i8, 2, 9,
25542 OPC_EmitIntegerByHwMode0, 49|128,1,
25543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
25544 MVT::v2i64, 2, 49,
25545 20,
25546 OPC_CheckType, MVT::v4i64,
25547 OPC_CheckPatternPredicate0,
25548 OPC_EmitIntegerByHwMode0, 27,
25549 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
25550 MVT::v32i8, 2, 9,
25551 OPC_EmitIntegerByHwMode0, 49|128,1,
25552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
25553 MVT::v4i64, 2, 49,
25554 0,
25555 0,
25556 57, TARGET_VAL(ISD::BITREVERSE),
25557 OPC_Scope, 29,
25558 OPC_MoveChild0,
25559 OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
25560 OPC_RecordChild0,
25561 OPC_MoveParent,
25562 OPC_CheckTypeByHwMode0,
25563 OPC_Scope, 9,
25564 OPC_CheckPatternPredicate6,
25565 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_4B), 0,
25566 1, 0, 1, 1,
25567 9,
25568 OPC_CheckPatternPredicate2,
25569 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_8B), 0,
25570 1, 0, 1, 1,
25571 0,
25572 24,
25573 OPC_RecordChild0,
25574 OPC_CheckTypeByHwMode0,
25575 OPC_Scope, 9,
25576 OPC_CheckPatternPredicate6,
25577 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_W), 0,
25578 1, 0, 1, 1,
25579 9,
25580 OPC_CheckPatternPredicate2,
25581 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_D), 0,
25582 1, 0, 1, 1,
25583 0,
25584 0,
25585 12|128,1, TARGET_VAL(ISD::IS_FPCLASS),
25586 OPC_RecordChild0,
25587 OPC_Scope, 47,
25588 OPC_CheckChild0TypeByHwMode, 4,
25589 OPC_RecordChild1,
25590 OPC_MoveChild1,
25591 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
25592 OPC_CheckTypeI32,
25593 OPC_MoveParent,
25594 OPC_CheckTypeByHwMode0,
25595 OPC_CheckPatternPredicate3,
25596 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
25597 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_S),
25598 MVT::f32, 1, 1,
25599 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::MOVFR2GR_S), 0,
25600 1, 0, 1, 35,
25601 OPC_EmitNodeXForm, 12, 1,
25602 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
25603 1, 0, 2, 93,
25604 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
25605 1, 0, 2, 107,
25606 88,
25607 OPC_CheckChild0TypeByHwMode, 5,
25608 OPC_RecordChild1,
25609 OPC_MoveChild1,
25610 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
25611 OPC_CheckTypeI32,
25612 OPC_MoveParent,
25613 OPC_CheckTypeByHwMode0,
25614 OPC_Scope, 37,
25615 OPC_CheckPatternPredicate5,
25616 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
25617 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
25618 MVT::f64, 1, 1,
25619 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::MOVFR2GR_S_64), 0,
25620 1, 0, 1, 35,
25621 OPC_EmitNodeXForm, 12, 1,
25622 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
25623 1, 0, 2, 93,
25624 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
25625 1, 0, 2, 107,
25626 37,
25627 OPC_CheckPatternPredicate2,
25628 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
25629 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
25630 MVT::f64, 1, 1,
25631 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::MOVFR2GR_D), 0,
25632 1, 0, 1, 35,
25633 OPC_EmitNodeXForm, 12, 1,
25634 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
25635 1, 0, 2, 93,
25636 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
25637 1, 0, 2, 107,
25638 0,
25639 0,
25640 86|128,1, TARGET_VAL(ISD::ATOMIC_SWAP),
25641 OPC_RecordMemRef,
25642 OPC_RecordNode,
25643 OPC_RecordChild1,
25644 OPC_CheckChild1TypeByHwMode0,
25645 OPC_RecordChild2,
25646 OPC_Scope, 15,
25647 OPC_CheckPredicate5,
25648 OPC_CheckPredicate, 10,
25649 OPC_CheckTypeByHwMode0,
25650 OPC_CheckPatternPredicate, 8,
25651 OPC_EmitMergeInputChains1_0,
25652 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP_B), 0|OPFL_Chain|OPFL_MemRefs,
25653 1, 0, 2, 14,
25654 15,
25655 OPC_CheckPredicate6,
25656 OPC_CheckPredicate, 10,
25657 OPC_CheckTypeByHwMode0,
25658 OPC_CheckPatternPredicate, 8,
25659 OPC_EmitMergeInputChains1_0,
25660 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP_H), 0|OPFL_Chain|OPFL_MemRefs,
25661 1, 0, 2, 14,
25662 13,
25663 OPC_CheckPredicate5,
25664 OPC_CheckTypeByHwMode0,
25665 OPC_CheckPatternPredicate, 8,
25666 OPC_EmitMergeInputChains1_0,
25667 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
25668 1, 0, 2, 14,
25669 13,
25670 OPC_CheckPredicate6,
25671 OPC_CheckTypeByHwMode0,
25672 OPC_CheckPatternPredicate, 8,
25673 OPC_EmitMergeInputChains1_0,
25674 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
25675 1, 0, 2, 14,
25676 14,
25677 OPC_CheckPredicate3,
25678 OPC_CheckPredicate, 10,
25679 OPC_CheckTypeByHwMode0,
25680 OPC_CheckPatternPredicate2,
25681 OPC_EmitMergeInputChains1_0,
25682 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP_W), 0|OPFL_Chain|OPFL_MemRefs,
25683 1, 0, 2, 14,
25684 15,
25685 OPC_CheckPredicate, 19,
25686 OPC_CheckPredicate, 10,
25687 OPC_CheckTypeByHwMode0,
25688 OPC_CheckPatternPredicate2,
25689 OPC_EmitMergeInputChains1_0,
25690 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP_D), 0|OPFL_Chain|OPFL_MemRefs,
25691 1, 0, 2, 14,
25692 12,
25693 OPC_CheckPredicate3,
25694 OPC_CheckTypeByHwMode0,
25695 OPC_CheckPatternPredicate2,
25696 OPC_EmitMergeInputChains1_0,
25697 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
25698 1, 0, 2, 14,
25699 13,
25700 OPC_CheckPredicate, 19,
25701 OPC_CheckTypeByHwMode0,
25702 OPC_CheckPatternPredicate2,
25703 OPC_EmitMergeInputChains1_0,
25704 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
25705 1, 0, 2, 14,
25706 88,
25707 OPC_CheckPredicate3,
25708 OPC_Scope, 16,
25709 OPC_CheckPredicate, 10,
25710 OPC_CheckTypeByHwMode0,
25711 OPC_CheckPatternPredicate5,
25712 OPC_EmitMergeInputChains1_0,
25713 OPC_EmitIntegerByHwMode0, 2,
25714 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
25715 2, 0, 0, 3, 51,
25716 16,
25717 OPC_CheckPredicate, 30,
25718 OPC_CheckTypeByHwMode0,
25719 OPC_CheckPatternPredicate5,
25720 OPC_EmitMergeInputChains1_0,
25721 OPC_EmitIntegerByHwMode0, 4,
25722 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
25723 2, 0, 0, 3, 51,
25724 16,
25725 OPC_CheckPredicate, 31,
25726 OPC_CheckTypeByHwMode0,
25727 OPC_CheckPatternPredicate5,
25728 OPC_EmitMergeInputChains1_0,
25729 OPC_EmitIntegerByHwMode0, 5,
25730 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
25731 2, 0, 0, 3, 51,
25732 16,
25733 OPC_CheckPredicate, 32,
25734 OPC_CheckTypeByHwMode0,
25735 OPC_CheckPatternPredicate5,
25736 OPC_EmitMergeInputChains1_0,
25737 OPC_EmitIntegerByHwMode0, 6,
25738 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
25739 2, 0, 0, 3, 51,
25740 16,
25741 OPC_CheckPredicate, 33,
25742 OPC_CheckTypeByHwMode0,
25743 OPC_CheckPatternPredicate5,
25744 OPC_EmitMergeInputChains1_0,
25745 OPC_EmitIntegerByHwMode0, 7,
25746 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
25747 2, 0, 0, 3, 51,
25748 0,
25749 0,
25750 86|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
25751 OPC_RecordMemRef,
25752 OPC_RecordNode,
25753 OPC_RecordChild1,
25754 OPC_CheckChild1TypeByHwMode0,
25755 OPC_RecordChild2,
25756 OPC_Scope, 15,
25757 OPC_CheckPredicate5,
25758 OPC_CheckPredicate, 10,
25759 OPC_CheckTypeByHwMode0,
25760 OPC_CheckPatternPredicate, 8,
25761 OPC_EmitMergeInputChains1_0,
25762 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_B), 0|OPFL_Chain|OPFL_MemRefs,
25763 1, 0, 2, 14,
25764 15,
25765 OPC_CheckPredicate6,
25766 OPC_CheckPredicate, 10,
25767 OPC_CheckTypeByHwMode0,
25768 OPC_CheckPatternPredicate, 8,
25769 OPC_EmitMergeInputChains1_0,
25770 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_H), 0|OPFL_Chain|OPFL_MemRefs,
25771 1, 0, 2, 14,
25772 13,
25773 OPC_CheckPredicate5,
25774 OPC_CheckTypeByHwMode0,
25775 OPC_CheckPatternPredicate, 8,
25776 OPC_EmitMergeInputChains1_0,
25777 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
25778 1, 0, 2, 14,
25779 13,
25780 OPC_CheckPredicate6,
25781 OPC_CheckTypeByHwMode0,
25782 OPC_CheckPatternPredicate, 8,
25783 OPC_EmitMergeInputChains1_0,
25784 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
25785 1, 0, 2, 14,
25786 14,
25787 OPC_CheckPredicate3,
25788 OPC_CheckPredicate, 10,
25789 OPC_CheckTypeByHwMode0,
25790 OPC_CheckPatternPredicate2,
25791 OPC_EmitMergeInputChains1_0,
25792 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_W), 0|OPFL_Chain|OPFL_MemRefs,
25793 1, 0, 2, 14,
25794 15,
25795 OPC_CheckPredicate, 19,
25796 OPC_CheckPredicate, 10,
25797 OPC_CheckTypeByHwMode0,
25798 OPC_CheckPatternPredicate2,
25799 OPC_EmitMergeInputChains1_0,
25800 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_D), 0|OPFL_Chain|OPFL_MemRefs,
25801 1, 0, 2, 14,
25802 12,
25803 OPC_CheckPredicate3,
25804 OPC_CheckTypeByHwMode0,
25805 OPC_CheckPatternPredicate2,
25806 OPC_EmitMergeInputChains1_0,
25807 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
25808 1, 0, 2, 14,
25809 13,
25810 OPC_CheckPredicate, 19,
25811 OPC_CheckTypeByHwMode0,
25812 OPC_CheckPatternPredicate2,
25813 OPC_EmitMergeInputChains1_0,
25814 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
25815 1, 0, 2, 14,
25816 88,
25817 OPC_CheckPredicate3,
25818 OPC_Scope, 16,
25819 OPC_CheckPredicate, 10,
25820 OPC_CheckTypeByHwMode0,
25821 OPC_CheckPatternPredicate5,
25822 OPC_EmitMergeInputChains1_0,
25823 OPC_EmitIntegerByHwMode0, 2,
25824 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
25825 2, 0, 0, 3, 51,
25826 16,
25827 OPC_CheckPredicate, 30,
25828 OPC_CheckTypeByHwMode0,
25829 OPC_CheckPatternPredicate5,
25830 OPC_EmitMergeInputChains1_0,
25831 OPC_EmitIntegerByHwMode0, 4,
25832 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
25833 2, 0, 0, 3, 51,
25834 16,
25835 OPC_CheckPredicate, 31,
25836 OPC_CheckTypeByHwMode0,
25837 OPC_CheckPatternPredicate5,
25838 OPC_EmitMergeInputChains1_0,
25839 OPC_EmitIntegerByHwMode0, 5,
25840 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
25841 2, 0, 0, 3, 51,
25842 16,
25843 OPC_CheckPredicate, 32,
25844 OPC_CheckTypeByHwMode0,
25845 OPC_CheckPatternPredicate5,
25846 OPC_EmitMergeInputChains1_0,
25847 OPC_EmitIntegerByHwMode0, 6,
25848 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
25849 2, 0, 0, 3, 51,
25850 16,
25851 OPC_CheckPredicate, 33,
25852 OPC_CheckTypeByHwMode0,
25853 OPC_CheckPatternPredicate5,
25854 OPC_EmitMergeInputChains1_0,
25855 OPC_EmitIntegerByHwMode0, 7,
25856 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
25857 2, 0, 0, 3, 51,
25858 0,
25859 0,
25860 51|128,2, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
25861 OPC_RecordMemRef,
25862 OPC_RecordNode,
25863 OPC_RecordChild1,
25864 OPC_CheckChild1TypeByHwMode0,
25865 OPC_RecordChild2,
25866 OPC_RecordChild3,
25867 OPC_Scope, 15,
25868 OPC_CheckPredicate5,
25869 OPC_CheckPredicate, 10,
25870 OPC_CheckTypeByHwMode0,
25871 OPC_CheckPatternPredicate, 10,
25872 OPC_EmitMergeInputChains1_0,
25873 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS_B), 0|OPFL_Chain|OPFL_MemRefs,
25874 1, 0, 3, 16,
25875 15,
25876 OPC_CheckPredicate6,
25877 OPC_CheckPredicate, 10,
25878 OPC_CheckTypeByHwMode0,
25879 OPC_CheckPatternPredicate, 10,
25880 OPC_EmitMergeInputChains1_0,
25881 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS_H), 0|OPFL_Chain|OPFL_MemRefs,
25882 1, 0, 3, 16,
25883 15,
25884 OPC_CheckPredicate3,
25885 OPC_CheckPredicate, 10,
25886 OPC_CheckTypeByHwMode0,
25887 OPC_CheckPatternPredicate, 10,
25888 OPC_EmitMergeInputChains1_0,
25889 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS_W), 0|OPFL_Chain|OPFL_MemRefs,
25890 1, 0, 3, 16,
25891 16,
25892 OPC_CheckPredicate, 19,
25893 OPC_CheckPredicate, 10,
25894 OPC_CheckTypeByHwMode0,
25895 OPC_CheckPatternPredicate, 10,
25896 OPC_EmitMergeInputChains1_0,
25897 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS_D), 0|OPFL_Chain|OPFL_MemRefs,
25898 1, 0, 3, 16,
25899 13,
25900 OPC_CheckPredicate5,
25901 OPC_CheckTypeByHwMode0,
25902 OPC_CheckPatternPredicate, 10,
25903 OPC_EmitMergeInputChains1_0,
25904 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
25905 1, 0, 3, 16,
25906 13,
25907 OPC_CheckPredicate6,
25908 OPC_CheckTypeByHwMode0,
25909 OPC_CheckPatternPredicate, 10,
25910 OPC_EmitMergeInputChains1_0,
25911 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
25912 1, 0, 3, 16,
25913 13,
25914 OPC_CheckPredicate3,
25915 OPC_CheckTypeByHwMode0,
25916 OPC_CheckPatternPredicate, 10,
25917 OPC_EmitMergeInputChains1_0,
25918 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
25919 1, 0, 3, 16,
25920 107,
25921 OPC_CheckPredicate, 19,
25922 OPC_Scope, 12,
25923 OPC_CheckTypeByHwMode0,
25924 OPC_CheckPatternPredicate, 10,
25925 OPC_EmitMergeInputChains1_0,
25926 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
25927 1, 0, 3, 16,
25928 17,
25929 OPC_CheckPredicate, 55,
25930 OPC_CheckTypeByHwMode, 1,
25931 OPC_CheckPatternPredicate2,
25932 OPC_EmitMergeInputChains1_0,
25933 OPC_EmitIntegerByHwMode0, 2,
25934 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
25935 2, 1, 0, 4, 81,
25936 17,
25937 OPC_CheckPredicate, 56,
25938 OPC_CheckTypeByHwMode, 1,
25939 OPC_CheckPatternPredicate2,
25940 OPC_EmitMergeInputChains1_0,
25941 OPC_EmitIntegerByHwMode0, 4,
25942 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
25943 2, 1, 0, 4, 81,
25944 17,
25945 OPC_CheckPredicate, 57,
25946 OPC_CheckTypeByHwMode, 1,
25947 OPC_CheckPatternPredicate2,
25948 OPC_EmitMergeInputChains1_0,
25949 OPC_EmitIntegerByHwMode0, 5,
25950 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
25951 2, 1, 0, 4, 81,
25952 17,
25953 OPC_CheckPredicate, 58,
25954 OPC_CheckTypeByHwMode, 1,
25955 OPC_CheckPatternPredicate2,
25956 OPC_EmitMergeInputChains1_0,
25957 OPC_EmitIntegerByHwMode0, 6,
25958 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
25959 2, 1, 0, 4, 81,
25960 17,
25961 OPC_CheckPredicate, 59,
25962 OPC_CheckTypeByHwMode, 1,
25963 OPC_CheckPatternPredicate2,
25964 OPC_EmitMergeInputChains1_0,
25965 OPC_EmitIntegerByHwMode0, 7,
25966 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
25967 2, 1, 0, 4, 81,
25968 0,
25969 83,
25970 OPC_CheckPredicate3,
25971 OPC_Scope, 15,
25972 OPC_CheckPredicate, 55,
25973 OPC_CheckTypeByHwMode0,
25974 OPC_EmitMergeInputChains1_0,
25975 OPC_EmitIntegerByHwMode0, 2,
25976 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
25977 2, 0, 0, 4, 81,
25978 15,
25979 OPC_CheckPredicate, 56,
25980 OPC_CheckTypeByHwMode0,
25981 OPC_EmitMergeInputChains1_0,
25982 OPC_EmitIntegerByHwMode0, 4,
25983 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
25984 2, 0, 0, 4, 81,
25985 15,
25986 OPC_CheckPredicate, 57,
25987 OPC_CheckTypeByHwMode0,
25988 OPC_EmitMergeInputChains1_0,
25989 OPC_EmitIntegerByHwMode0, 5,
25990 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
25991 2, 0, 0, 4, 81,
25992 15,
25993 OPC_CheckPredicate, 58,
25994 OPC_CheckTypeByHwMode0,
25995 OPC_EmitMergeInputChains1_0,
25996 OPC_EmitIntegerByHwMode0, 6,
25997 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
25998 2, 0, 0, 4, 81,
25999 15,
26000 OPC_CheckPredicate, 59,
26001 OPC_CheckTypeByHwMode0,
26002 OPC_EmitMergeInputChains1_0,
26003 OPC_EmitIntegerByHwMode0, 7,
26004 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
26005 2, 0, 0, 4, 81,
26006 0,
26007 0,
26008 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
26009 OPC_RecordMemRef,
26010 OPC_RecordNode,
26011 OPC_RecordChild1,
26012 OPC_CheckChild1TypeByHwMode0,
26013 OPC_RecordChild2,
26014 OPC_Scope, 14,
26015 OPC_CheckPredicate3,
26016 OPC_CheckPredicate, 10,
26017 OPC_CheckTypeByHwMode0,
26018 OPC_CheckPatternPredicate2,
26019 OPC_EmitMergeInputChains1_0,
26020 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMAND_W), 0|OPFL_Chain|OPFL_MemRefs,
26021 1, 0, 2, 14,
26022 15,
26023 OPC_CheckPredicate, 19,
26024 OPC_CheckPredicate, 10,
26025 OPC_CheckTypeByHwMode0,
26026 OPC_CheckPatternPredicate2,
26027 OPC_EmitMergeInputChains1_0,
26028 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMAND_D), 0|OPFL_Chain|OPFL_MemRefs,
26029 1, 0, 2, 14,
26030 12,
26031 OPC_CheckPredicate3,
26032 OPC_CheckTypeByHwMode0,
26033 OPC_CheckPatternPredicate2,
26034 OPC_EmitMergeInputChains1_0,
26035 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMAND__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
26036 1, 0, 2, 14,
26037 13,
26038 OPC_CheckPredicate, 19,
26039 OPC_CheckTypeByHwMode0,
26040 OPC_CheckPatternPredicate2,
26041 OPC_EmitMergeInputChains1_0,
26042 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMAND__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
26043 1, 0, 2, 14,
26044 88,
26045 OPC_CheckPredicate3,
26046 OPC_Scope, 16,
26047 OPC_CheckPredicate, 10,
26048 OPC_CheckTypeByHwMode0,
26049 OPC_CheckPatternPredicate5,
26050 OPC_EmitMergeInputChains1_0,
26051 OPC_EmitIntegerByHwMode0, 2,
26052 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
26053 2, 0, 0, 3, 51,
26054 16,
26055 OPC_CheckPredicate, 30,
26056 OPC_CheckTypeByHwMode0,
26057 OPC_CheckPatternPredicate5,
26058 OPC_EmitMergeInputChains1_0,
26059 OPC_EmitIntegerByHwMode0, 4,
26060 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
26061 2, 0, 0, 3, 51,
26062 16,
26063 OPC_CheckPredicate, 31,
26064 OPC_CheckTypeByHwMode0,
26065 OPC_CheckPatternPredicate5,
26066 OPC_EmitMergeInputChains1_0,
26067 OPC_EmitIntegerByHwMode0, 5,
26068 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
26069 2, 0, 0, 3, 51,
26070 16,
26071 OPC_CheckPredicate, 32,
26072 OPC_CheckTypeByHwMode0,
26073 OPC_CheckPatternPredicate5,
26074 OPC_EmitMergeInputChains1_0,
26075 OPC_EmitIntegerByHwMode0, 6,
26076 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
26077 2, 0, 0, 3, 51,
26078 16,
26079 OPC_CheckPredicate, 33,
26080 OPC_CheckTypeByHwMode0,
26081 OPC_CheckPatternPredicate5,
26082 OPC_EmitMergeInputChains1_0,
26083 OPC_EmitIntegerByHwMode0, 7,
26084 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
26085 2, 0, 0, 3, 51,
26086 0,
26087 0,
26088 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
26089 OPC_RecordMemRef,
26090 OPC_RecordNode,
26091 OPC_RecordChild1,
26092 OPC_CheckChild1TypeByHwMode0,
26093 OPC_RecordChild2,
26094 OPC_Scope, 14,
26095 OPC_CheckPredicate3,
26096 OPC_CheckPredicate, 10,
26097 OPC_CheckTypeByHwMode0,
26098 OPC_CheckPatternPredicate2,
26099 OPC_EmitMergeInputChains1_0,
26100 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMOR_W), 0|OPFL_Chain|OPFL_MemRefs,
26101 1, 0, 2, 14,
26102 15,
26103 OPC_CheckPredicate, 19,
26104 OPC_CheckPredicate, 10,
26105 OPC_CheckTypeByHwMode0,
26106 OPC_CheckPatternPredicate2,
26107 OPC_EmitMergeInputChains1_0,
26108 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMOR_D), 0|OPFL_Chain|OPFL_MemRefs,
26109 1, 0, 2, 14,
26110 12,
26111 OPC_CheckPredicate3,
26112 OPC_CheckTypeByHwMode0,
26113 OPC_CheckPatternPredicate2,
26114 OPC_EmitMergeInputChains1_0,
26115 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
26116 1, 0, 2, 14,
26117 13,
26118 OPC_CheckPredicate, 19,
26119 OPC_CheckTypeByHwMode0,
26120 OPC_CheckPatternPredicate2,
26121 OPC_EmitMergeInputChains1_0,
26122 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
26123 1, 0, 2, 14,
26124 88,
26125 OPC_CheckPredicate3,
26126 OPC_Scope, 16,
26127 OPC_CheckPredicate, 10,
26128 OPC_CheckTypeByHwMode0,
26129 OPC_CheckPatternPredicate5,
26130 OPC_EmitMergeInputChains1_0,
26131 OPC_EmitIntegerByHwMode0, 2,
26132 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
26133 2, 0, 0, 3, 51,
26134 16,
26135 OPC_CheckPredicate, 30,
26136 OPC_CheckTypeByHwMode0,
26137 OPC_CheckPatternPredicate5,
26138 OPC_EmitMergeInputChains1_0,
26139 OPC_EmitIntegerByHwMode0, 4,
26140 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
26141 2, 0, 0, 3, 51,
26142 16,
26143 OPC_CheckPredicate, 31,
26144 OPC_CheckTypeByHwMode0,
26145 OPC_CheckPatternPredicate5,
26146 OPC_EmitMergeInputChains1_0,
26147 OPC_EmitIntegerByHwMode0, 5,
26148 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
26149 2, 0, 0, 3, 51,
26150 16,
26151 OPC_CheckPredicate, 32,
26152 OPC_CheckTypeByHwMode0,
26153 OPC_CheckPatternPredicate5,
26154 OPC_EmitMergeInputChains1_0,
26155 OPC_EmitIntegerByHwMode0, 6,
26156 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
26157 2, 0, 0, 3, 51,
26158 16,
26159 OPC_CheckPredicate, 33,
26160 OPC_CheckTypeByHwMode0,
26161 OPC_CheckPatternPredicate5,
26162 OPC_EmitMergeInputChains1_0,
26163 OPC_EmitIntegerByHwMode0, 7,
26164 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
26165 2, 0, 0, 3, 51,
26166 0,
26167 0,
26168 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
26169 OPC_RecordMemRef,
26170 OPC_RecordNode,
26171 OPC_RecordChild1,
26172 OPC_CheckChild1TypeByHwMode0,
26173 OPC_RecordChild2,
26174 OPC_Scope, 14,
26175 OPC_CheckPredicate3,
26176 OPC_CheckPredicate, 10,
26177 OPC_CheckTypeByHwMode0,
26178 OPC_CheckPatternPredicate2,
26179 OPC_EmitMergeInputChains1_0,
26180 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMXOR_W), 0|OPFL_Chain|OPFL_MemRefs,
26181 1, 0, 2, 14,
26182 15,
26183 OPC_CheckPredicate, 19,
26184 OPC_CheckPredicate, 10,
26185 OPC_CheckTypeByHwMode0,
26186 OPC_CheckPatternPredicate2,
26187 OPC_EmitMergeInputChains1_0,
26188 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMXOR_D), 0|OPFL_Chain|OPFL_MemRefs,
26189 1, 0, 2, 14,
26190 12,
26191 OPC_CheckPredicate3,
26192 OPC_CheckTypeByHwMode0,
26193 OPC_CheckPatternPredicate2,
26194 OPC_EmitMergeInputChains1_0,
26195 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMXOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
26196 1, 0, 2, 14,
26197 13,
26198 OPC_CheckPredicate, 19,
26199 OPC_CheckTypeByHwMode0,
26200 OPC_CheckPatternPredicate2,
26201 OPC_EmitMergeInputChains1_0,
26202 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMXOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
26203 1, 0, 2, 14,
26204 88,
26205 OPC_CheckPredicate3,
26206 OPC_Scope, 16,
26207 OPC_CheckPredicate, 10,
26208 OPC_CheckTypeByHwMode0,
26209 OPC_CheckPatternPredicate5,
26210 OPC_EmitMergeInputChains1_0,
26211 OPC_EmitIntegerByHwMode0, 2,
26212 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
26213 2, 0, 0, 3, 51,
26214 16,
26215 OPC_CheckPredicate, 30,
26216 OPC_CheckTypeByHwMode0,
26217 OPC_CheckPatternPredicate5,
26218 OPC_EmitMergeInputChains1_0,
26219 OPC_EmitIntegerByHwMode0, 4,
26220 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
26221 2, 0, 0, 3, 51,
26222 16,
26223 OPC_CheckPredicate, 31,
26224 OPC_CheckTypeByHwMode0,
26225 OPC_CheckPatternPredicate5,
26226 OPC_EmitMergeInputChains1_0,
26227 OPC_EmitIntegerByHwMode0, 5,
26228 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
26229 2, 0, 0, 3, 51,
26230 16,
26231 OPC_CheckPredicate, 32,
26232 OPC_CheckTypeByHwMode0,
26233 OPC_CheckPatternPredicate5,
26234 OPC_EmitMergeInputChains1_0,
26235 OPC_EmitIntegerByHwMode0, 6,
26236 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
26237 2, 0, 0, 3, 51,
26238 16,
26239 OPC_CheckPredicate, 33,
26240 OPC_CheckTypeByHwMode0,
26241 OPC_CheckPatternPredicate5,
26242 OPC_EmitMergeInputChains1_0,
26243 OPC_EmitIntegerByHwMode0, 7,
26244 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
26245 2, 0, 0, 3, 51,
26246 0,
26247 0,
26248 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
26249 OPC_RecordMemRef,
26250 OPC_RecordNode,
26251 OPC_RecordChild1,
26252 OPC_CheckChild1TypeByHwMode0,
26253 OPC_RecordChild2,
26254 OPC_Scope, 14,
26255 OPC_CheckPredicate3,
26256 OPC_CheckPredicate, 10,
26257 OPC_CheckTypeByHwMode0,
26258 OPC_CheckPatternPredicate2,
26259 OPC_EmitMergeInputChains1_0,
26260 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN_WU), 0|OPFL_Chain|OPFL_MemRefs,
26261 1, 0, 2, 14,
26262 15,
26263 OPC_CheckPredicate, 19,
26264 OPC_CheckPredicate, 10,
26265 OPC_CheckTypeByHwMode0,
26266 OPC_CheckPatternPredicate2,
26267 OPC_EmitMergeInputChains1_0,
26268 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN_DU), 0|OPFL_Chain|OPFL_MemRefs,
26269 1, 0, 2, 14,
26270 12,
26271 OPC_CheckPredicate3,
26272 OPC_CheckTypeByHwMode0,
26273 OPC_CheckPatternPredicate2,
26274 OPC_EmitMergeInputChains1_0,
26275 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
26276 1, 0, 2, 14,
26277 13,
26278 OPC_CheckPredicate, 19,
26279 OPC_CheckTypeByHwMode0,
26280 OPC_CheckPatternPredicate2,
26281 OPC_EmitMergeInputChains1_0,
26282 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
26283 1, 0, 2, 14,
26284 88,
26285 OPC_CheckPredicate3,
26286 OPC_Scope, 16,
26287 OPC_CheckPredicate, 10,
26288 OPC_CheckTypeByHwMode0,
26289 OPC_CheckPatternPredicate5,
26290 OPC_EmitMergeInputChains1_0,
26291 OPC_EmitIntegerByHwMode0, 2,
26292 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
26293 2, 0, 0, 3, 51,
26294 16,
26295 OPC_CheckPredicate, 30,
26296 OPC_CheckTypeByHwMode0,
26297 OPC_CheckPatternPredicate5,
26298 OPC_EmitMergeInputChains1_0,
26299 OPC_EmitIntegerByHwMode0, 4,
26300 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
26301 2, 0, 0, 3, 51,
26302 16,
26303 OPC_CheckPredicate, 31,
26304 OPC_CheckTypeByHwMode0,
26305 OPC_CheckPatternPredicate5,
26306 OPC_EmitMergeInputChains1_0,
26307 OPC_EmitIntegerByHwMode0, 5,
26308 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
26309 2, 0, 0, 3, 51,
26310 16,
26311 OPC_CheckPredicate, 32,
26312 OPC_CheckTypeByHwMode0,
26313 OPC_CheckPatternPredicate5,
26314 OPC_EmitMergeInputChains1_0,
26315 OPC_EmitIntegerByHwMode0, 6,
26316 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
26317 2, 0, 0, 3, 51,
26318 16,
26319 OPC_CheckPredicate, 33,
26320 OPC_CheckTypeByHwMode0,
26321 OPC_CheckPatternPredicate5,
26322 OPC_EmitMergeInputChains1_0,
26323 OPC_EmitIntegerByHwMode0, 7,
26324 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
26325 2, 0, 0, 3, 51,
26326 0,
26327 0,
26328 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
26329 OPC_RecordMemRef,
26330 OPC_RecordNode,
26331 OPC_RecordChild1,
26332 OPC_CheckChild1TypeByHwMode0,
26333 OPC_RecordChild2,
26334 OPC_Scope, 14,
26335 OPC_CheckPredicate3,
26336 OPC_CheckPredicate, 10,
26337 OPC_CheckTypeByHwMode0,
26338 OPC_CheckPatternPredicate2,
26339 OPC_EmitMergeInputChains1_0,
26340 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX_WU), 0|OPFL_Chain|OPFL_MemRefs,
26341 1, 0, 2, 14,
26342 15,
26343 OPC_CheckPredicate, 19,
26344 OPC_CheckPredicate, 10,
26345 OPC_CheckTypeByHwMode0,
26346 OPC_CheckPatternPredicate2,
26347 OPC_EmitMergeInputChains1_0,
26348 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX_DU), 0|OPFL_Chain|OPFL_MemRefs,
26349 1, 0, 2, 14,
26350 12,
26351 OPC_CheckPredicate3,
26352 OPC_CheckTypeByHwMode0,
26353 OPC_CheckPatternPredicate2,
26354 OPC_EmitMergeInputChains1_0,
26355 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
26356 1, 0, 2, 14,
26357 13,
26358 OPC_CheckPredicate, 19,
26359 OPC_CheckTypeByHwMode0,
26360 OPC_CheckPatternPredicate2,
26361 OPC_EmitMergeInputChains1_0,
26362 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
26363 1, 0, 2, 14,
26364 88,
26365 OPC_CheckPredicate3,
26366 OPC_Scope, 16,
26367 OPC_CheckPredicate, 10,
26368 OPC_CheckTypeByHwMode0,
26369 OPC_CheckPatternPredicate5,
26370 OPC_EmitMergeInputChains1_0,
26371 OPC_EmitIntegerByHwMode0, 2,
26372 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
26373 2, 0, 0, 3, 51,
26374 16,
26375 OPC_CheckPredicate, 30,
26376 OPC_CheckTypeByHwMode0,
26377 OPC_CheckPatternPredicate5,
26378 OPC_EmitMergeInputChains1_0,
26379 OPC_EmitIntegerByHwMode0, 4,
26380 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
26381 2, 0, 0, 3, 51,
26382 16,
26383 OPC_CheckPredicate, 31,
26384 OPC_CheckTypeByHwMode0,
26385 OPC_CheckPatternPredicate5,
26386 OPC_EmitMergeInputChains1_0,
26387 OPC_EmitIntegerByHwMode0, 5,
26388 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
26389 2, 0, 0, 3, 51,
26390 16,
26391 OPC_CheckPredicate, 32,
26392 OPC_CheckTypeByHwMode0,
26393 OPC_CheckPatternPredicate5,
26394 OPC_EmitMergeInputChains1_0,
26395 OPC_EmitIntegerByHwMode0, 6,
26396 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
26397 2, 0, 0, 3, 51,
26398 16,
26399 OPC_CheckPredicate, 33,
26400 OPC_CheckTypeByHwMode0,
26401 OPC_CheckPatternPredicate5,
26402 OPC_EmitMergeInputChains1_0,
26403 OPC_EmitIntegerByHwMode0, 7,
26404 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
26405 2, 0, 0, 3, 51,
26406 0,
26407 0,
26408 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
26409 OPC_RecordMemRef,
26410 OPC_RecordNode,
26411 OPC_RecordChild1,
26412 OPC_CheckChild1TypeByHwMode0,
26413 OPC_RecordChild2,
26414 OPC_Scope, 14,
26415 OPC_CheckPredicate3,
26416 OPC_CheckPredicate, 10,
26417 OPC_CheckTypeByHwMode0,
26418 OPC_CheckPatternPredicate2,
26419 OPC_EmitMergeInputChains1_0,
26420 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN_W), 0|OPFL_Chain|OPFL_MemRefs,
26421 1, 0, 2, 14,
26422 15,
26423 OPC_CheckPredicate, 19,
26424 OPC_CheckPredicate, 10,
26425 OPC_CheckTypeByHwMode0,
26426 OPC_CheckPatternPredicate2,
26427 OPC_EmitMergeInputChains1_0,
26428 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN_D), 0|OPFL_Chain|OPFL_MemRefs,
26429 1, 0, 2, 14,
26430 12,
26431 OPC_CheckPredicate3,
26432 OPC_CheckTypeByHwMode0,
26433 OPC_CheckPatternPredicate2,
26434 OPC_EmitMergeInputChains1_0,
26435 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
26436 1, 0, 2, 14,
26437 13,
26438 OPC_CheckPredicate, 19,
26439 OPC_CheckTypeByHwMode0,
26440 OPC_CheckPatternPredicate2,
26441 OPC_EmitMergeInputChains1_0,
26442 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
26443 1, 0, 2, 14,
26444 88,
26445 OPC_CheckPredicate3,
26446 OPC_Scope, 16,
26447 OPC_CheckPredicate, 10,
26448 OPC_CheckTypeByHwMode0,
26449 OPC_CheckPatternPredicate5,
26450 OPC_EmitMergeInputChains1_0,
26451 OPC_EmitIntegerByHwMode0, 2,
26452 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
26453 2, 0, 0, 3, 51,
26454 16,
26455 OPC_CheckPredicate, 30,
26456 OPC_CheckTypeByHwMode0,
26457 OPC_CheckPatternPredicate5,
26458 OPC_EmitMergeInputChains1_0,
26459 OPC_EmitIntegerByHwMode0, 4,
26460 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
26461 2, 0, 0, 3, 51,
26462 16,
26463 OPC_CheckPredicate, 31,
26464 OPC_CheckTypeByHwMode0,
26465 OPC_CheckPatternPredicate5,
26466 OPC_EmitMergeInputChains1_0,
26467 OPC_EmitIntegerByHwMode0, 5,
26468 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
26469 2, 0, 0, 3, 51,
26470 16,
26471 OPC_CheckPredicate, 32,
26472 OPC_CheckTypeByHwMode0,
26473 OPC_CheckPatternPredicate5,
26474 OPC_EmitMergeInputChains1_0,
26475 OPC_EmitIntegerByHwMode0, 6,
26476 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
26477 2, 0, 0, 3, 51,
26478 16,
26479 OPC_CheckPredicate, 33,
26480 OPC_CheckTypeByHwMode0,
26481 OPC_CheckPatternPredicate5,
26482 OPC_EmitMergeInputChains1_0,
26483 OPC_EmitIntegerByHwMode0, 7,
26484 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
26485 2, 0, 0, 3, 51,
26486 0,
26487 0,
26488 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
26489 OPC_RecordMemRef,
26490 OPC_RecordNode,
26491 OPC_RecordChild1,
26492 OPC_CheckChild1TypeByHwMode0,
26493 OPC_RecordChild2,
26494 OPC_Scope, 14,
26495 OPC_CheckPredicate3,
26496 OPC_CheckPredicate, 10,
26497 OPC_CheckTypeByHwMode0,
26498 OPC_CheckPatternPredicate2,
26499 OPC_EmitMergeInputChains1_0,
26500 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX_W), 0|OPFL_Chain|OPFL_MemRefs,
26501 1, 0, 2, 14,
26502 15,
26503 OPC_CheckPredicate, 19,
26504 OPC_CheckPredicate, 10,
26505 OPC_CheckTypeByHwMode0,
26506 OPC_CheckPatternPredicate2,
26507 OPC_EmitMergeInputChains1_0,
26508 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX_D), 0|OPFL_Chain|OPFL_MemRefs,
26509 1, 0, 2, 14,
26510 12,
26511 OPC_CheckPredicate3,
26512 OPC_CheckTypeByHwMode0,
26513 OPC_CheckPatternPredicate2,
26514 OPC_EmitMergeInputChains1_0,
26515 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
26516 1, 0, 2, 14,
26517 13,
26518 OPC_CheckPredicate, 19,
26519 OPC_CheckTypeByHwMode0,
26520 OPC_CheckPatternPredicate2,
26521 OPC_EmitMergeInputChains1_0,
26522 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
26523 1, 0, 2, 14,
26524 88,
26525 OPC_CheckPredicate3,
26526 OPC_Scope, 16,
26527 OPC_CheckPredicate, 10,
26528 OPC_CheckTypeByHwMode0,
26529 OPC_CheckPatternPredicate5,
26530 OPC_EmitMergeInputChains1_0,
26531 OPC_EmitIntegerByHwMode0, 2,
26532 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
26533 2, 0, 0, 3, 51,
26534 16,
26535 OPC_CheckPredicate, 30,
26536 OPC_CheckTypeByHwMode0,
26537 OPC_CheckPatternPredicate5,
26538 OPC_EmitMergeInputChains1_0,
26539 OPC_EmitIntegerByHwMode0, 4,
26540 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
26541 2, 0, 0, 3, 51,
26542 16,
26543 OPC_CheckPredicate, 31,
26544 OPC_CheckTypeByHwMode0,
26545 OPC_CheckPatternPredicate5,
26546 OPC_EmitMergeInputChains1_0,
26547 OPC_EmitIntegerByHwMode0, 5,
26548 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
26549 2, 0, 0, 3, 51,
26550 16,
26551 OPC_CheckPredicate, 32,
26552 OPC_CheckTypeByHwMode0,
26553 OPC_CheckPatternPredicate5,
26554 OPC_EmitMergeInputChains1_0,
26555 OPC_EmitIntegerByHwMode0, 6,
26556 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
26557 2, 0, 0, 3, 51,
26558 16,
26559 OPC_CheckPredicate, 33,
26560 OPC_CheckTypeByHwMode0,
26561 OPC_CheckPatternPredicate5,
26562 OPC_EmitMergeInputChains1_0,
26563 OPC_EmitIntegerByHwMode0, 7,
26564 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
26565 2, 0, 0, 3, 51,
26566 0,
26567 0,
26568 53|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
26569 OPC_RecordMemRef,
26570 OPC_RecordNode,
26571 OPC_RecordChild1,
26572 OPC_CheckChild1TypeByHwMode0,
26573 OPC_RecordChild2,
26574 OPC_Scope, 89,
26575 OPC_CheckPredicate, 19,
26576 OPC_Scope, 16,
26577 OPC_CheckPredicate, 10,
26578 OPC_CheckTypeByHwMode0,
26579 OPC_CheckPatternPredicate2,
26580 OPC_EmitMergeInputChains1_0,
26581 OPC_EmitIntegerByHwMode0, 2,
26582 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
26583 2, 0, 0, 3, 51,
26584 16,
26585 OPC_CheckPredicate, 30,
26586 OPC_CheckTypeByHwMode0,
26587 OPC_CheckPatternPredicate2,
26588 OPC_EmitMergeInputChains1_0,
26589 OPC_EmitIntegerByHwMode0, 4,
26590 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
26591 2, 0, 0, 3, 51,
26592 16,
26593 OPC_CheckPredicate, 31,
26594 OPC_CheckTypeByHwMode0,
26595 OPC_CheckPatternPredicate2,
26596 OPC_EmitMergeInputChains1_0,
26597 OPC_EmitIntegerByHwMode0, 5,
26598 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
26599 2, 0, 0, 3, 51,
26600 16,
26601 OPC_CheckPredicate, 32,
26602 OPC_CheckTypeByHwMode0,
26603 OPC_CheckPatternPredicate2,
26604 OPC_EmitMergeInputChains1_0,
26605 OPC_EmitIntegerByHwMode0, 6,
26606 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
26607 2, 0, 0, 3, 51,
26608 16,
26609 OPC_CheckPredicate, 33,
26610 OPC_CheckTypeByHwMode0,
26611 OPC_CheckPatternPredicate2,
26612 OPC_EmitMergeInputChains1_0,
26613 OPC_EmitIntegerByHwMode0, 7,
26614 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
26615 2, 0, 0, 3, 51,
26616 0,
26617 83,
26618 OPC_CheckPredicate3,
26619 OPC_Scope, 15,
26620 OPC_CheckPredicate, 10,
26621 OPC_CheckTypeByHwMode0,
26622 OPC_EmitMergeInputChains1_0,
26623 OPC_EmitIntegerByHwMode0, 2,
26624 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
26625 2, 0, 0, 3, 51,
26626 15,
26627 OPC_CheckPredicate, 30,
26628 OPC_CheckTypeByHwMode0,
26629 OPC_EmitMergeInputChains1_0,
26630 OPC_EmitIntegerByHwMode0, 4,
26631 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
26632 2, 0, 0, 3, 51,
26633 15,
26634 OPC_CheckPredicate, 31,
26635 OPC_CheckTypeByHwMode0,
26636 OPC_EmitMergeInputChains1_0,
26637 OPC_EmitIntegerByHwMode0, 5,
26638 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
26639 2, 0, 0, 3, 51,
26640 15,
26641 OPC_CheckPredicate, 32,
26642 OPC_CheckTypeByHwMode0,
26643 OPC_EmitMergeInputChains1_0,
26644 OPC_EmitIntegerByHwMode0, 6,
26645 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
26646 2, 0, 0, 3, 51,
26647 15,
26648 OPC_CheckPredicate, 33,
26649 OPC_CheckTypeByHwMode0,
26650 OPC_EmitMergeInputChains1_0,
26651 OPC_EmitIntegerByHwMode0, 7,
26652 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
26653 2, 0, 0, 3, 51,
26654 0,
26655 0,
26656 46|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
26657 OPC_RecordMemRef,
26658 OPC_RecordNode,
26659 OPC_RecordChild1,
26660 OPC_CheckChild1TypeByHwMode0,
26661 OPC_RecordChild2,
26662 OPC_Scope, 88,
26663 OPC_CheckPredicate3,
26664 OPC_Scope, 16,
26665 OPC_CheckPredicate, 10,
26666 OPC_CheckTypeByHwMode0,
26667 OPC_CheckPatternPredicate5,
26668 OPC_EmitMergeInputChains1_0,
26669 OPC_EmitIntegerByHwMode0, 2,
26670 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
26671 2, 0, 0, 3, 51,
26672 16,
26673 OPC_CheckPredicate, 30,
26674 OPC_CheckTypeByHwMode0,
26675 OPC_CheckPatternPredicate5,
26676 OPC_EmitMergeInputChains1_0,
26677 OPC_EmitIntegerByHwMode0, 4,
26678 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
26679 2, 0, 0, 3, 51,
26680 16,
26681 OPC_CheckPredicate, 31,
26682 OPC_CheckTypeByHwMode0,
26683 OPC_CheckPatternPredicate5,
26684 OPC_EmitMergeInputChains1_0,
26685 OPC_EmitIntegerByHwMode0, 5,
26686 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
26687 2, 0, 0, 3, 51,
26688 16,
26689 OPC_CheckPredicate, 32,
26690 OPC_CheckTypeByHwMode0,
26691 OPC_CheckPatternPredicate5,
26692 OPC_EmitMergeInputChains1_0,
26693 OPC_EmitIntegerByHwMode0, 6,
26694 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
26695 2, 0, 0, 3, 51,
26696 16,
26697 OPC_CheckPredicate, 33,
26698 OPC_CheckTypeByHwMode0,
26699 OPC_CheckPatternPredicate5,
26700 OPC_EmitMergeInputChains1_0,
26701 OPC_EmitIntegerByHwMode0, 7,
26702 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
26703 2, 0, 0, 3, 51,
26704 0,
26705 26,
26706 OPC_CheckPredicate5,
26707 OPC_CheckPredicate, 10,
26708 OPC_CheckTypeByHwMode0,
26709 OPC_CheckPatternPredicate, 8,
26710 OPC_EmitMergeInputChains1_0,
26711 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
26712 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
26713 1, 0, 2, 28,
26714 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_B), 0|OPFL_Chain|OPFL_MemRefs,
26715 1, 0, 2, 19,
26716 26,
26717 OPC_CheckPredicate6,
26718 OPC_CheckPredicate, 10,
26719 OPC_CheckTypeByHwMode0,
26720 OPC_CheckPatternPredicate, 8,
26721 OPC_EmitMergeInputChains1_0,
26722 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
26723 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
26724 1, 0, 2, 28,
26725 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_H), 0|OPFL_Chain|OPFL_MemRefs,
26726 1, 0, 2, 19,
26727 24,
26728 OPC_CheckPredicate5,
26729 OPC_CheckTypeByHwMode0,
26730 OPC_CheckPatternPredicate, 8,
26731 OPC_EmitMergeInputChains1_0,
26732 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
26733 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
26734 1, 0, 2, 28,
26735 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
26736 1, 0, 2, 19,
26737 24,
26738 OPC_CheckPredicate6,
26739 OPC_CheckTypeByHwMode0,
26740 OPC_CheckPatternPredicate, 8,
26741 OPC_EmitMergeInputChains1_0,
26742 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
26743 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
26744 1, 0, 2, 28,
26745 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
26746 1, 0, 2, 19,
26747 25,
26748 OPC_CheckPredicate3,
26749 OPC_CheckPredicate, 10,
26750 OPC_CheckTypeByHwMode0,
26751 OPC_CheckPatternPredicate2,
26752 OPC_EmitMergeInputChains1_0,
26753 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
26754 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
26755 1, 0, 2, 28,
26756 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_W), 0|OPFL_Chain|OPFL_MemRefs,
26757 1, 0, 2, 19,
26758 26,
26759 OPC_CheckPredicate, 19,
26760 OPC_CheckPredicate, 10,
26761 OPC_CheckTypeByHwMode0,
26762 OPC_CheckPatternPredicate2,
26763 OPC_EmitMergeInputChains1_0,
26764 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
26765 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_D), 0,
26766 1, 0, 2, 28,
26767 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_D), 0|OPFL_Chain|OPFL_MemRefs,
26768 1, 0, 2, 19,
26769 23,
26770 OPC_CheckPredicate3,
26771 OPC_CheckTypeByHwMode0,
26772 OPC_CheckPatternPredicate2,
26773 OPC_EmitMergeInputChains1_0,
26774 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
26775 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
26776 1, 0, 2, 28,
26777 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
26778 1, 0, 2, 19,
26779 24,
26780 OPC_CheckPredicate, 19,
26781 OPC_CheckTypeByHwMode0,
26782 OPC_CheckPatternPredicate2,
26783 OPC_EmitMergeInputChains1_0,
26784 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
26785 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_D), 0,
26786 1, 0, 2, 28,
26787 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
26788 1, 0, 2, 19,
26789 0,
26790 90|128,3, TARGET_VAL(ISD::SUB),
26791 OPC_Scope, 100|128,1,
26792 OPC_RecordChild0,
26793 OPC_RecordChild1,
26794 OPC_Scope, 23,
26795 OPC_CheckTypeByHwMode0,
26796 OPC_Scope, 9,
26797 OPC_CheckPatternPredicate5,
26798 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
26799 1, 0, 2, 9,
26800 9,
26801 OPC_CheckPatternPredicate2,
26802 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SUB_D), 0,
26803 1, 0, 2, 9,
26804 0,
26805 24,
26806 OPC_CheckType, MVT::v16i8,
26807 OPC_CheckPatternPredicate1,
26808 OPC_Scope, 9,
26809 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
26810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
26811 MVT::v16i8, 2, 22,
26812 8,
26813 OPC_CheckComplexPat2, /*#*/1,
26814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
26815 MVT::v16i8, 2, 22,
26816 0,
26817 24,
26818 OPC_CheckType, MVT::v8i16,
26819 OPC_CheckPatternPredicate1,
26820 OPC_Scope, 9,
26821 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
26822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
26823 MVT::v8i16, 2, 22,
26824 8,
26825 OPC_CheckComplexPat2, /*#*/1,
26826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
26827 MVT::v8i16, 2, 22,
26828 0,
26829 24,
26830 OPC_CheckType, MVT::v4i32,
26831 OPC_CheckPatternPredicate1,
26832 OPC_Scope, 9,
26833 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
26834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
26835 MVT::v4i32, 2, 22,
26836 8,
26837 OPC_CheckComplexPat2, /*#*/1,
26838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
26839 MVT::v4i32, 2, 22,
26840 0,
26841 24,
26842 OPC_CheckType, MVT::v2i64,
26843 OPC_CheckPatternPredicate1,
26844 OPC_Scope, 9,
26845 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
26846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
26847 MVT::v2i64, 2, 22,
26848 8,
26849 OPC_CheckComplexPat2, /*#*/1,
26850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
26851 MVT::v2i64, 2, 22,
26852 0,
26853 24,
26854 OPC_CheckType, MVT::v32i8,
26855 OPC_CheckPatternPredicate0,
26856 OPC_Scope, 9,
26857 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
26858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
26859 MVT::v32i8, 2, 22,
26860 8,
26861 OPC_CheckComplexPat2, /*#*/1,
26862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
26863 MVT::v32i8, 2, 22,
26864 0,
26865 24,
26866 OPC_CheckType, MVT::v16i16,
26867 OPC_CheckPatternPredicate0,
26868 OPC_Scope, 9,
26869 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
26870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
26871 MVT::v16i16, 2, 22,
26872 8,
26873 OPC_CheckComplexPat2, /*#*/1,
26874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
26875 MVT::v16i16, 2, 22,
26876 0,
26877 24,
26878 OPC_CheckType, MVT::v8i32,
26879 OPC_CheckPatternPredicate0,
26880 OPC_Scope, 9,
26881 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
26882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
26883 MVT::v8i32, 2, 22,
26884 8,
26885 OPC_CheckComplexPat2, /*#*/1,
26886 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
26887 MVT::v8i32, 2, 22,
26888 0,
26889 24,
26890 OPC_CheckType, MVT::v4i64,
26891 OPC_CheckPatternPredicate0,
26892 OPC_Scope, 9,
26893 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
26894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
26895 MVT::v4i64, 2, 22,
26896 8,
26897 OPC_CheckComplexPat2, /*#*/1,
26898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
26899 MVT::v4i64, 2, 22,
26900 0,
26901 0,
26902 78,
26903 OPC_MoveChild0,
26904 OPC_CheckImmAllZerosV,
26905 OPC_MoveParent,
26906 OPC_RecordChild1,
26907 OPC_SwitchType , 7, MVT::v16i8,
26908 OPC_CheckPatternPredicate1,
26909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_B),
26910 MVT::v16i8, 1, 1,
26911 7, MVT::v8i16,
26912 OPC_CheckPatternPredicate1,
26913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_H),
26914 MVT::v8i16, 1, 1,
26915 7, MVT::v4i32,
26916 OPC_CheckPatternPredicate1,
26917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_W),
26918 MVT::v4i32, 1, 1,
26919 7, MVT::v2i64,
26920 OPC_CheckPatternPredicate1,
26921 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_D),
26922 MVT::v2i64, 1, 1,
26923 7, MVT::v32i8,
26924 OPC_CheckPatternPredicate0,
26925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_B),
26926 MVT::v32i8, 1, 1,
26927 7, MVT::v16i16,
26928 OPC_CheckPatternPredicate0,
26929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_H),
26930 MVT::v16i16, 1, 1,
26931 7, MVT::v8i32,
26932 OPC_CheckPatternPredicate0,
26933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_W),
26934 MVT::v8i32, 1, 1,
26935 7, MVT::v4i64,
26936 OPC_CheckPatternPredicate0,
26937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_D),
26938 MVT::v4i64, 1, 1,
26939 0,
26940 33|128,1,
26941 OPC_RecordChild0,
26942 OPC_Scope, 81,
26943 OPC_MoveChild1,
26944 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
26945 OPC_RecordChild0,
26946 OPC_RecordChild1,
26947 OPC_MoveParent,
26948 OPC_SwitchType , 7, MVT::v16i8,
26949 OPC_CheckPatternPredicate1,
26950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_B),
26951 MVT::v16i8, 3, 24,
26952 7, MVT::v8i16,
26953 OPC_CheckPatternPredicate1,
26954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_H),
26955 MVT::v8i16, 3, 24,
26956 7, MVT::v4i32,
26957 OPC_CheckPatternPredicate1,
26958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_W),
26959 MVT::v4i32, 3, 24,
26960 7, MVT::v2i64,
26961 OPC_CheckPatternPredicate1,
26962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_D),
26963 MVT::v2i64, 3, 24,
26964 7, MVT::v32i8,
26965 OPC_CheckPatternPredicate0,
26966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_B),
26967 MVT::v32i8, 3, 24,
26968 7, MVT::v16i16,
26969 OPC_CheckPatternPredicate0,
26970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_H),
26971 MVT::v16i16, 3, 24,
26972 7, MVT::v8i32,
26973 OPC_CheckPatternPredicate0,
26974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_W),
26975 MVT::v8i32, 3, 24,
26976 7, MVT::v4i64,
26977 OPC_CheckPatternPredicate0,
26978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_D),
26979 MVT::v4i64, 3, 24,
26980 0,
26981 75,
26982 OPC_RecordChild1,
26983 OPC_SwitchType , 7, MVT::v16i8,
26984 OPC_CheckPatternPredicate1,
26985 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_B),
26986 MVT::v16i8, 2, 9,
26987 7, MVT::v8i16,
26988 OPC_CheckPatternPredicate1,
26989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_H),
26990 MVT::v8i16, 2, 9,
26991 7, MVT::v4i32,
26992 OPC_CheckPatternPredicate1,
26993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_W),
26994 MVT::v4i32, 2, 9,
26995 7, MVT::v2i64,
26996 OPC_CheckPatternPredicate1,
26997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_D),
26998 MVT::v2i64, 2, 9,
26999 7, MVT::v32i8,
27000 OPC_CheckPatternPredicate0,
27001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_B),
27002 MVT::v32i8, 2, 9,
27003 7, MVT::v16i16,
27004 OPC_CheckPatternPredicate0,
27005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_H),
27006 MVT::v16i16, 2, 9,
27007 7, MVT::v8i32,
27008 OPC_CheckPatternPredicate0,
27009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_W),
27010 MVT::v8i32, 2, 9,
27011 7, MVT::v4i64,
27012 OPC_CheckPatternPredicate0,
27013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_D),
27014 MVT::v4i64, 2, 9,
27015 0,
27016 0,
27017 0,
27018 108, TARGET_VAL(ISD::MULHS),
27019 OPC_RecordChild0,
27020 OPC_RecordChild1,
27021 OPC_Scope, 23,
27022 OPC_CheckTypeByHwMode0,
27023 OPC_Scope, 9,
27024 OPC_CheckPatternPredicate5,
27025 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MULH_W), 0,
27026 1, 0, 2, 9,
27027 9,
27028 OPC_CheckPatternPredicate2,
27029 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MULH_D), 0,
27030 1, 0, 2, 9,
27031 0,
27032 9,
27033 OPC_CheckType, MVT::v16i8,
27034 OPC_CheckPatternPredicate1,
27035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
27036 MVT::v16i8, 2, 9,
27037 9,
27038 OPC_CheckType, MVT::v8i16,
27039 OPC_CheckPatternPredicate1,
27040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
27041 MVT::v8i16, 2, 9,
27042 9,
27043 OPC_CheckType, MVT::v4i32,
27044 OPC_CheckPatternPredicate1,
27045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
27046 MVT::v4i32, 2, 9,
27047 9,
27048 OPC_CheckType, MVT::v2i64,
27049 OPC_CheckPatternPredicate1,
27050 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
27051 MVT::v2i64, 2, 9,
27052 9,
27053 OPC_CheckType, MVT::v32i8,
27054 OPC_CheckPatternPredicate0,
27055 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
27056 MVT::v32i8, 2, 9,
27057 9,
27058 OPC_CheckType, MVT::v16i16,
27059 OPC_CheckPatternPredicate0,
27060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
27061 MVT::v16i16, 2, 9,
27062 9,
27063 OPC_CheckType, MVT::v8i32,
27064 OPC_CheckPatternPredicate0,
27065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
27066 MVT::v8i32, 2, 9,
27067 9,
27068 OPC_CheckType, MVT::v4i64,
27069 OPC_CheckPatternPredicate0,
27070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
27071 MVT::v4i64, 2, 9,
27072 0,
27073 108, TARGET_VAL(ISD::MULHU),
27074 OPC_RecordChild0,
27075 OPC_RecordChild1,
27076 OPC_Scope, 23,
27077 OPC_CheckTypeByHwMode0,
27078 OPC_Scope, 9,
27079 OPC_CheckPatternPredicate5,
27080 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MULH_WU), 0,
27081 1, 0, 2, 9,
27082 9,
27083 OPC_CheckPatternPredicate2,
27084 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MULH_DU), 0,
27085 1, 0, 2, 9,
27086 0,
27087 9,
27088 OPC_CheckType, MVT::v16i8,
27089 OPC_CheckPatternPredicate1,
27090 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
27091 MVT::v16i8, 2, 9,
27092 9,
27093 OPC_CheckType, MVT::v8i16,
27094 OPC_CheckPatternPredicate1,
27095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
27096 MVT::v8i16, 2, 9,
27097 9,
27098 OPC_CheckType, MVT::v4i32,
27099 OPC_CheckPatternPredicate1,
27100 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
27101 MVT::v4i32, 2, 9,
27102 9,
27103 OPC_CheckType, MVT::v2i64,
27104 OPC_CheckPatternPredicate1,
27105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
27106 MVT::v2i64, 2, 9,
27107 9,
27108 OPC_CheckType, MVT::v32i8,
27109 OPC_CheckPatternPredicate0,
27110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
27111 MVT::v32i8, 2, 9,
27112 9,
27113 OPC_CheckType, MVT::v16i16,
27114 OPC_CheckPatternPredicate0,
27115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
27116 MVT::v16i16, 2, 9,
27117 9,
27118 OPC_CheckType, MVT::v8i32,
27119 OPC_CheckPatternPredicate0,
27120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
27121 MVT::v8i32, 2, 9,
27122 9,
27123 OPC_CheckType, MVT::v4i64,
27124 OPC_CheckPatternPredicate0,
27125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
27126 MVT::v4i64, 2, 9,
27127 0,
27128 6, TARGET_VAL(ISD::TRAP),
27129 OPC_RecordNode,
27130 OPC_EmitMergeInputChains1_0,
27131 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoUNIMP),
27132 0,
27133 9, TARGET_VAL(ISD::DEBUGTRAP),
27134 OPC_RecordNode,
27135 OPC_EmitMergeInputChains1_0,
27136 OPC_EmitIntegerByHwMode0, 0,
27137 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
27138 1, 10,
27139 13, TARGET_VAL(ISD::BR),
27140 OPC_RecordNode,
27141 OPC_RecordChild1,
27142 OPC_MoveChild1,
27143 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
27144 OPC_MoveParent,
27145 OPC_EmitMergeInputChains1_0,
27146 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBR),
27147 1, 10,
27148 8, TARGET_VAL(LoongArchISD::RET),
27149 OPC_RecordNode,
27150 OPC_CaptureGlueInput,
27151 OPC_EmitMergeInputChains1_0,
27152 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoRET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
27153 0,
27154 11, TARGET_VAL(LoongArchISD::REVB_2H),
27155 OPC_RecordChild0,
27156 OPC_CheckChild0TypeByHwMode0,
27157 OPC_CheckTypeByHwMode0,
27158 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::REVB_2H), 0,
27159 1, 0, 1, 1,
27160 11, TARGET_VAL(LoongArchISD::BITREV_4B),
27161 OPC_RecordChild0,
27162 OPC_CheckChild0TypeByHwMode0,
27163 OPC_CheckTypeByHwMode0,
27164 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_4B), 0,
27165 1, 0, 1, 1,
27166 12, TARGET_VAL(LoongArchISD::REVB_2W),
27167 OPC_RecordChild0,
27168 OPC_CheckChild0TypeByHwMode0,
27169 OPC_CheckTypeByHwMode0,
27170 OPC_CheckPatternPredicate2,
27171 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::REVB_2W), 0,
27172 1, 0, 1, 1,
27173 12, TARGET_VAL(LoongArchISD::BITREV_8B),
27174 OPC_RecordChild0,
27175 OPC_CheckChild0TypeByHwMode0,
27176 OPC_CheckTypeByHwMode0,
27177 OPC_CheckPatternPredicate2,
27178 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_8B), 0,
27179 1, 0, 1, 1,
27180 12, TARGET_VAL(LoongArchISD::BITREV_W),
27181 OPC_RecordChild0,
27182 OPC_CheckChild0TypeByHwMode0,
27183 OPC_CheckTypeByHwMode0,
27184 OPC_CheckPatternPredicate2,
27185 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_W), 0,
27186 1, 0, 1, 1,
27187 15, TARGET_VAL(LoongArchISD::CRC_W_B_W),
27188 OPC_RecordNode,
27189 OPC_RecordChild1,
27190 OPC_RecordChild2,
27191 OPC_CheckTypeByHwMode, 1,
27192 OPC_CheckPatternPredicate2,
27193 OPC_EmitMergeInputChains1_0,
27194 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRC_W_B_W), 0|OPFL_Chain,
27195 1, 1, 2, 25,
27196 15, TARGET_VAL(LoongArchISD::CRC_W_H_W),
27197 OPC_RecordNode,
27198 OPC_RecordChild1,
27199 OPC_RecordChild2,
27200 OPC_CheckTypeByHwMode, 1,
27201 OPC_CheckPatternPredicate2,
27202 OPC_EmitMergeInputChains1_0,
27203 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRC_W_H_W), 0|OPFL_Chain,
27204 1, 1, 2, 25,
27205 15, TARGET_VAL(LoongArchISD::CRC_W_W_W),
27206 OPC_RecordNode,
27207 OPC_RecordChild1,
27208 OPC_RecordChild2,
27209 OPC_CheckTypeByHwMode, 1,
27210 OPC_CheckPatternPredicate2,
27211 OPC_EmitMergeInputChains1_0,
27212 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRC_W_W_W), 0|OPFL_Chain,
27213 1, 1, 2, 25,
27214 15, TARGET_VAL(LoongArchISD::CRC_W_D_W),
27215 OPC_RecordNode,
27216 OPC_RecordChild1,
27217 OPC_RecordChild2,
27218 OPC_CheckTypeByHwMode, 1,
27219 OPC_CheckPatternPredicate2,
27220 OPC_EmitMergeInputChains1_0,
27221 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRC_W_D_W), 0|OPFL_Chain,
27222 1, 1, 2, 25,
27223 15, TARGET_VAL(LoongArchISD::CRCC_W_B_W),
27224 OPC_RecordNode,
27225 OPC_RecordChild1,
27226 OPC_RecordChild2,
27227 OPC_CheckTypeByHwMode, 1,
27228 OPC_CheckPatternPredicate2,
27229 OPC_EmitMergeInputChains1_0,
27230 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRCC_W_B_W), 0|OPFL_Chain,
27231 1, 1, 2, 25,
27232 15, TARGET_VAL(LoongArchISD::CRCC_W_H_W),
27233 OPC_RecordNode,
27234 OPC_RecordChild1,
27235 OPC_RecordChild2,
27236 OPC_CheckTypeByHwMode, 1,
27237 OPC_CheckPatternPredicate2,
27238 OPC_EmitMergeInputChains1_0,
27239 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRCC_W_H_W), 0|OPFL_Chain,
27240 1, 1, 2, 25,
27241 15, TARGET_VAL(LoongArchISD::CRCC_W_W_W),
27242 OPC_RecordNode,
27243 OPC_RecordChild1,
27244 OPC_RecordChild2,
27245 OPC_CheckTypeByHwMode, 1,
27246 OPC_CheckPatternPredicate2,
27247 OPC_EmitMergeInputChains1_0,
27248 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRCC_W_W_W), 0|OPFL_Chain,
27249 1, 1, 2, 25,
27250 15, TARGET_VAL(LoongArchISD::CRCC_W_D_W),
27251 OPC_RecordNode,
27252 OPC_RecordChild1,
27253 OPC_RecordChild2,
27254 OPC_CheckTypeByHwMode, 1,
27255 OPC_CheckPatternPredicate2,
27256 OPC_EmitMergeInputChains1_0,
27257 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRCC_W_D_W), 0|OPFL_Chain,
27258 1, 1, 2, 25,
27259 26|128,3, TARGET_VAL(ISD::STRICT_FSETCC),
27260 OPC_RecordNode,
27261 OPC_RecordChild1,
27262 OPC_Scope, 73|128,1,
27263 OPC_CheckChild1Type, MVT::f32,
27264 OPC_RecordChild2,
27265 OPC_MoveChild3,
27266 OPC_Scope, 14,
27267 OPC_CheckCondCode, ISD::SETOEQ,
27268 OPC_MoveParent,
27269 OPC_CheckTypeByHwMode0,
27270 OPC_CheckPatternPredicate3,
27271 OPC_EmitMergeInputChains1_0,
27272 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0|OPFL_Chain,
27273 1, 0, 2, 25,
27274 14,
27275 OPC_CheckCondCode, ISD::SETEQ,
27276 OPC_MoveParent,
27277 OPC_CheckTypeByHwMode0,
27278 OPC_CheckPatternPredicate3,
27279 OPC_EmitMergeInputChains1_0,
27280 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0|OPFL_Chain,
27281 1, 0, 2, 25,
27282 14,
27283 OPC_CheckCondCode, ISD::SETOLT,
27284 OPC_MoveParent,
27285 OPC_CheckTypeByHwMode0,
27286 OPC_CheckPatternPredicate3,
27287 OPC_EmitMergeInputChains1_0,
27288 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0|OPFL_Chain,
27289 1, 0, 2, 25,
27290 14,
27291 OPC_CheckCondCode, ISD::SETOLE,
27292 OPC_MoveParent,
27293 OPC_CheckTypeByHwMode0,
27294 OPC_CheckPatternPredicate3,
27295 OPC_EmitMergeInputChains1_0,
27296 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0|OPFL_Chain,
27297 1, 0, 2, 25,
27298 14,
27299 OPC_CheckCondCode, ISD::SETLE,
27300 OPC_MoveParent,
27301 OPC_CheckTypeByHwMode0,
27302 OPC_CheckPatternPredicate3,
27303 OPC_EmitMergeInputChains1_0,
27304 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0|OPFL_Chain,
27305 1, 0, 2, 25,
27306 14,
27307 OPC_CheckCondCode, ISD::SETONE,
27308 OPC_MoveParent,
27309 OPC_CheckTypeByHwMode0,
27310 OPC_CheckPatternPredicate3,
27311 OPC_EmitMergeInputChains1_0,
27312 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0|OPFL_Chain,
27313 1, 0, 2, 25,
27314 14,
27315 OPC_CheckCondCode, ISD::SETO,
27316 OPC_MoveParent,
27317 OPC_CheckTypeByHwMode0,
27318 OPC_CheckPatternPredicate3,
27319 OPC_EmitMergeInputChains1_0,
27320 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0|OPFL_Chain,
27321 1, 0, 2, 25,
27322 14,
27323 OPC_CheckCondCode, ISD::SETUEQ,
27324 OPC_MoveParent,
27325 OPC_CheckTypeByHwMode0,
27326 OPC_CheckPatternPredicate3,
27327 OPC_EmitMergeInputChains1_0,
27328 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0|OPFL_Chain,
27329 1, 0, 2, 25,
27330 14,
27331 OPC_CheckCondCode, ISD::SETULT,
27332 OPC_MoveParent,
27333 OPC_CheckTypeByHwMode0,
27334 OPC_CheckPatternPredicate3,
27335 OPC_EmitMergeInputChains1_0,
27336 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0|OPFL_Chain,
27337 1, 0, 2, 25,
27338 14,
27339 OPC_CheckCondCode, ISD::SETULE,
27340 OPC_MoveParent,
27341 OPC_CheckTypeByHwMode0,
27342 OPC_CheckPatternPredicate3,
27343 OPC_EmitMergeInputChains1_0,
27344 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0|OPFL_Chain,
27345 1, 0, 2, 25,
27346 14,
27347 OPC_CheckCondCode, ISD::SETUNE,
27348 OPC_MoveParent,
27349 OPC_CheckTypeByHwMode0,
27350 OPC_CheckPatternPredicate3,
27351 OPC_EmitMergeInputChains1_0,
27352 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0|OPFL_Chain,
27353 1, 0, 2, 25,
27354 14,
27355 OPC_CheckCondCode, ISD::SETUO,
27356 OPC_MoveParent,
27357 OPC_CheckTypeByHwMode0,
27358 OPC_CheckPatternPredicate3,
27359 OPC_EmitMergeInputChains1_0,
27360 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0|OPFL_Chain,
27361 1, 0, 2, 25,
27362 14,
27363 OPC_CheckCondCode, ISD::SETLT,
27364 OPC_MoveParent,
27365 OPC_CheckTypeByHwMode0,
27366 OPC_CheckPatternPredicate3,
27367 OPC_EmitMergeInputChains1_0,
27368 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0|OPFL_Chain,
27369 1, 0, 2, 25,
27370 0,
27371 73|128,1,
27372 OPC_CheckChild1Type, MVT::f64,
27373 OPC_RecordChild2,
27374 OPC_MoveChild3,
27375 OPC_Scope, 14,
27376 OPC_CheckCondCode, ISD::SETOEQ,
27377 OPC_MoveParent,
27378 OPC_CheckTypeByHwMode0,
27379 OPC_CheckPatternPredicate4,
27380 OPC_EmitMergeInputChains1_0,
27381 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0|OPFL_Chain,
27382 1, 0, 2, 25,
27383 14,
27384 OPC_CheckCondCode, ISD::SETEQ,
27385 OPC_MoveParent,
27386 OPC_CheckTypeByHwMode0,
27387 OPC_CheckPatternPredicate4,
27388 OPC_EmitMergeInputChains1_0,
27389 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0|OPFL_Chain,
27390 1, 0, 2, 25,
27391 14,
27392 OPC_CheckCondCode, ISD::SETOLT,
27393 OPC_MoveParent,
27394 OPC_CheckTypeByHwMode0,
27395 OPC_CheckPatternPredicate4,
27396 OPC_EmitMergeInputChains1_0,
27397 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0|OPFL_Chain,
27398 1, 0, 2, 25,
27399 14,
27400 OPC_CheckCondCode, ISD::SETOLE,
27401 OPC_MoveParent,
27402 OPC_CheckTypeByHwMode0,
27403 OPC_CheckPatternPredicate4,
27404 OPC_EmitMergeInputChains1_0,
27405 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0|OPFL_Chain,
27406 1, 0, 2, 25,
27407 14,
27408 OPC_CheckCondCode, ISD::SETLE,
27409 OPC_MoveParent,
27410 OPC_CheckTypeByHwMode0,
27411 OPC_CheckPatternPredicate4,
27412 OPC_EmitMergeInputChains1_0,
27413 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0|OPFL_Chain,
27414 1, 0, 2, 25,
27415 14,
27416 OPC_CheckCondCode, ISD::SETONE,
27417 OPC_MoveParent,
27418 OPC_CheckTypeByHwMode0,
27419 OPC_CheckPatternPredicate4,
27420 OPC_EmitMergeInputChains1_0,
27421 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0|OPFL_Chain,
27422 1, 0, 2, 25,
27423 14,
27424 OPC_CheckCondCode, ISD::SETO,
27425 OPC_MoveParent,
27426 OPC_CheckTypeByHwMode0,
27427 OPC_CheckPatternPredicate4,
27428 OPC_EmitMergeInputChains1_0,
27429 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0|OPFL_Chain,
27430 1, 0, 2, 25,
27431 14,
27432 OPC_CheckCondCode, ISD::SETUEQ,
27433 OPC_MoveParent,
27434 OPC_CheckTypeByHwMode0,
27435 OPC_CheckPatternPredicate4,
27436 OPC_EmitMergeInputChains1_0,
27437 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0|OPFL_Chain,
27438 1, 0, 2, 25,
27439 14,
27440 OPC_CheckCondCode, ISD::SETULT,
27441 OPC_MoveParent,
27442 OPC_CheckTypeByHwMode0,
27443 OPC_CheckPatternPredicate4,
27444 OPC_EmitMergeInputChains1_0,
27445 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0|OPFL_Chain,
27446 1, 0, 2, 25,
27447 14,
27448 OPC_CheckCondCode, ISD::SETULE,
27449 OPC_MoveParent,
27450 OPC_CheckTypeByHwMode0,
27451 OPC_CheckPatternPredicate4,
27452 OPC_EmitMergeInputChains1_0,
27453 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0|OPFL_Chain,
27454 1, 0, 2, 25,
27455 14,
27456 OPC_CheckCondCode, ISD::SETUNE,
27457 OPC_MoveParent,
27458 OPC_CheckTypeByHwMode0,
27459 OPC_CheckPatternPredicate4,
27460 OPC_EmitMergeInputChains1_0,
27461 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0|OPFL_Chain,
27462 1, 0, 2, 25,
27463 14,
27464 OPC_CheckCondCode, ISD::SETUO,
27465 OPC_MoveParent,
27466 OPC_CheckTypeByHwMode0,
27467 OPC_CheckPatternPredicate4,
27468 OPC_EmitMergeInputChains1_0,
27469 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0|OPFL_Chain,
27470 1, 0, 2, 25,
27471 14,
27472 OPC_CheckCondCode, ISD::SETLT,
27473 OPC_MoveParent,
27474 OPC_CheckTypeByHwMode0,
27475 OPC_CheckPatternPredicate4,
27476 OPC_EmitMergeInputChains1_0,
27477 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0|OPFL_Chain,
27478 1, 0, 2, 25,
27479 0,
27480 0,
27481 94|128,2, TARGET_VAL(ISD::STRICT_FSETCCS),
27482 OPC_RecordNode,
27483 OPC_RecordChild1,
27484 OPC_Scope, 43|128,1,
27485 OPC_CheckChild1Type, MVT::f32,
27486 OPC_RecordChild2,
27487 OPC_MoveChild3,
27488 OPC_Scope, 14,
27489 OPC_CheckCondCode, ISD::SETOEQ,
27490 OPC_MoveParent,
27491 OPC_CheckTypeByHwMode0,
27492 OPC_CheckPatternPredicate3,
27493 OPC_EmitMergeInputChains1_0,
27494 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SEQ_S), 0|OPFL_Chain,
27495 1, 0, 2, 25,
27496 14,
27497 OPC_CheckCondCode, ISD::SETOLT,
27498 OPC_MoveParent,
27499 OPC_CheckTypeByHwMode0,
27500 OPC_CheckPatternPredicate3,
27501 OPC_EmitMergeInputChains1_0,
27502 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLT_S), 0|OPFL_Chain,
27503 1, 0, 2, 25,
27504 14,
27505 OPC_CheckCondCode, ISD::SETOLE,
27506 OPC_MoveParent,
27507 OPC_CheckTypeByHwMode0,
27508 OPC_CheckPatternPredicate3,
27509 OPC_EmitMergeInputChains1_0,
27510 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLE_S), 0|OPFL_Chain,
27511 1, 0, 2, 25,
27512 14,
27513 OPC_CheckCondCode, ISD::SETONE,
27514 OPC_MoveParent,
27515 OPC_CheckTypeByHwMode0,
27516 OPC_CheckPatternPredicate3,
27517 OPC_EmitMergeInputChains1_0,
27518 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SNE_S), 0|OPFL_Chain,
27519 1, 0, 2, 25,
27520 14,
27521 OPC_CheckCondCode, ISD::SETO,
27522 OPC_MoveParent,
27523 OPC_CheckTypeByHwMode0,
27524 OPC_CheckPatternPredicate3,
27525 OPC_EmitMergeInputChains1_0,
27526 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SOR_S), 0|OPFL_Chain,
27527 1, 0, 2, 25,
27528 14,
27529 OPC_CheckCondCode, ISD::SETUEQ,
27530 OPC_MoveParent,
27531 OPC_CheckTypeByHwMode0,
27532 OPC_CheckPatternPredicate3,
27533 OPC_EmitMergeInputChains1_0,
27534 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUEQ_S), 0|OPFL_Chain,
27535 1, 0, 2, 25,
27536 14,
27537 OPC_CheckCondCode, ISD::SETULT,
27538 OPC_MoveParent,
27539 OPC_CheckTypeByHwMode0,
27540 OPC_CheckPatternPredicate3,
27541 OPC_EmitMergeInputChains1_0,
27542 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SULT_S), 0|OPFL_Chain,
27543 1, 0, 2, 25,
27544 14,
27545 OPC_CheckCondCode, ISD::SETULE,
27546 OPC_MoveParent,
27547 OPC_CheckTypeByHwMode0,
27548 OPC_CheckPatternPredicate3,
27549 OPC_EmitMergeInputChains1_0,
27550 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SULE_S), 0|OPFL_Chain,
27551 1, 0, 2, 25,
27552 14,
27553 OPC_CheckCondCode, ISD::SETUNE,
27554 OPC_MoveParent,
27555 OPC_CheckTypeByHwMode0,
27556 OPC_CheckPatternPredicate3,
27557 OPC_EmitMergeInputChains1_0,
27558 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUNE_S), 0|OPFL_Chain,
27559 1, 0, 2, 25,
27560 14,
27561 OPC_CheckCondCode, ISD::SETUO,
27562 OPC_MoveParent,
27563 OPC_CheckTypeByHwMode0,
27564 OPC_CheckPatternPredicate3,
27565 OPC_EmitMergeInputChains1_0,
27566 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUN_S), 0|OPFL_Chain,
27567 1, 0, 2, 25,
27568 14,
27569 OPC_CheckCondCode, ISD::SETLT,
27570 OPC_MoveParent,
27571 OPC_CheckTypeByHwMode0,
27572 OPC_CheckPatternPredicate3,
27573 OPC_EmitMergeInputChains1_0,
27574 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLT_S), 0|OPFL_Chain,
27575 1, 0, 2, 25,
27576 0,
27577 43|128,1,
27578 OPC_CheckChild1Type, MVT::f64,
27579 OPC_RecordChild2,
27580 OPC_MoveChild3,
27581 OPC_Scope, 14,
27582 OPC_CheckCondCode, ISD::SETOEQ,
27583 OPC_MoveParent,
27584 OPC_CheckTypeByHwMode0,
27585 OPC_CheckPatternPredicate4,
27586 OPC_EmitMergeInputChains1_0,
27587 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SEQ_D), 0|OPFL_Chain,
27588 1, 0, 2, 25,
27589 14,
27590 OPC_CheckCondCode, ISD::SETOLT,
27591 OPC_MoveParent,
27592 OPC_CheckTypeByHwMode0,
27593 OPC_CheckPatternPredicate4,
27594 OPC_EmitMergeInputChains1_0,
27595 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLT_D), 0|OPFL_Chain,
27596 1, 0, 2, 25,
27597 14,
27598 OPC_CheckCondCode, ISD::SETOLE,
27599 OPC_MoveParent,
27600 OPC_CheckTypeByHwMode0,
27601 OPC_CheckPatternPredicate4,
27602 OPC_EmitMergeInputChains1_0,
27603 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLE_D), 0|OPFL_Chain,
27604 1, 0, 2, 25,
27605 14,
27606 OPC_CheckCondCode, ISD::SETONE,
27607 OPC_MoveParent,
27608 OPC_CheckTypeByHwMode0,
27609 OPC_CheckPatternPredicate4,
27610 OPC_EmitMergeInputChains1_0,
27611 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SNE_D), 0|OPFL_Chain,
27612 1, 0, 2, 25,
27613 14,
27614 OPC_CheckCondCode, ISD::SETO,
27615 OPC_MoveParent,
27616 OPC_CheckTypeByHwMode0,
27617 OPC_CheckPatternPredicate4,
27618 OPC_EmitMergeInputChains1_0,
27619 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SOR_D), 0|OPFL_Chain,
27620 1, 0, 2, 25,
27621 14,
27622 OPC_CheckCondCode, ISD::SETUEQ,
27623 OPC_MoveParent,
27624 OPC_CheckTypeByHwMode0,
27625 OPC_CheckPatternPredicate4,
27626 OPC_EmitMergeInputChains1_0,
27627 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUEQ_D), 0|OPFL_Chain,
27628 1, 0, 2, 25,
27629 14,
27630 OPC_CheckCondCode, ISD::SETULT,
27631 OPC_MoveParent,
27632 OPC_CheckTypeByHwMode0,
27633 OPC_CheckPatternPredicate4,
27634 OPC_EmitMergeInputChains1_0,
27635 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SULT_D), 0|OPFL_Chain,
27636 1, 0, 2, 25,
27637 14,
27638 OPC_CheckCondCode, ISD::SETULE,
27639 OPC_MoveParent,
27640 OPC_CheckTypeByHwMode0,
27641 OPC_CheckPatternPredicate4,
27642 OPC_EmitMergeInputChains1_0,
27643 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SULE_D), 0|OPFL_Chain,
27644 1, 0, 2, 25,
27645 14,
27646 OPC_CheckCondCode, ISD::SETUNE,
27647 OPC_MoveParent,
27648 OPC_CheckTypeByHwMode0,
27649 OPC_CheckPatternPredicate4,
27650 OPC_EmitMergeInputChains1_0,
27651 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUNE_D), 0|OPFL_Chain,
27652 1, 0, 2, 25,
27653 14,
27654 OPC_CheckCondCode, ISD::SETUO,
27655 OPC_MoveParent,
27656 OPC_CheckTypeByHwMode0,
27657 OPC_CheckPatternPredicate4,
27658 OPC_EmitMergeInputChains1_0,
27659 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUN_D), 0|OPFL_Chain,
27660 1, 0, 2, 25,
27661 14,
27662 OPC_CheckCondCode, ISD::SETLT,
27663 OPC_MoveParent,
27664 OPC_CheckTypeByHwMode0,
27665 OPC_CheckPatternPredicate4,
27666 OPC_EmitMergeInputChains1_0,
27667 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLT_D), 0|OPFL_Chain,
27668 1, 0, 2, 25,
27669 0,
27670 0,
27671 13, TARGET_VAL(LoongArchISD::IOCSRRD_B),
27672 OPC_RecordNode,
27673 OPC_RecordChild1,
27674 OPC_CheckChild1TypeByHwMode0,
27675 OPC_CheckTypeByHwMode0,
27676 OPC_EmitMergeInputChains1_0,
27677 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::IOCSRRD_B), 0|OPFL_Chain,
27678 1, 0, 1, 10,
27679 13, TARGET_VAL(LoongArchISD::IOCSRRD_H),
27680 OPC_RecordNode,
27681 OPC_RecordChild1,
27682 OPC_CheckChild1TypeByHwMode0,
27683 OPC_CheckTypeByHwMode0,
27684 OPC_EmitMergeInputChains1_0,
27685 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::IOCSRRD_H), 0|OPFL_Chain,
27686 1, 0, 1, 10,
27687 13, TARGET_VAL(LoongArchISD::IOCSRRD_W),
27688 OPC_RecordNode,
27689 OPC_RecordChild1,
27690 OPC_CheckChild1TypeByHwMode0,
27691 OPC_CheckTypeByHwMode0,
27692 OPC_EmitMergeInputChains1_0,
27693 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::IOCSRRD_W), 0|OPFL_Chain,
27694 1, 0, 1, 10,
27695 10, TARGET_VAL(LoongArchISD::IOCSRWR_B),
27696 OPC_RecordNode,
27697 OPC_RecordChild1,
27698 OPC_CheckChild1TypeByHwMode0,
27699 OPC_RecordChild2,
27700 OPC_EmitMergeInputChains1_0,
27701 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_B),
27702 2, 25,
27703 10, TARGET_VAL(LoongArchISD::IOCSRWR_H),
27704 OPC_RecordNode,
27705 OPC_RecordChild1,
27706 OPC_CheckChild1TypeByHwMode0,
27707 OPC_RecordChild2,
27708 OPC_EmitMergeInputChains1_0,
27709 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_H),
27710 2, 25,
27711 10, TARGET_VAL(LoongArchISD::IOCSRWR_W),
27712 OPC_RecordNode,
27713 OPC_RecordChild1,
27714 OPC_CheckChild1TypeByHwMode0,
27715 OPC_RecordChild2,
27716 OPC_EmitMergeInputChains1_0,
27717 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_W),
27718 2, 25,
27719 13, TARGET_VAL(LoongArchISD::CPUCFG),
27720 OPC_RecordNode,
27721 OPC_RecordChild1,
27722 OPC_CheckChild1TypeByHwMode0,
27723 OPC_CheckTypeByHwMode0,
27724 OPC_EmitMergeInputChains1_0,
27725 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CPUCFG), 0|OPFL_Chain,
27726 1, 0, 1, 10,
27727 14, TARGET_VAL(LoongArchISD::IOCSRRD_D),
27728 OPC_RecordNode,
27729 OPC_RecordChild1,
27730 OPC_CheckChild1TypeByHwMode0,
27731 OPC_CheckTypeByHwMode0,
27732 OPC_CheckPatternPredicate2,
27733 OPC_EmitMergeInputChains1_0,
27734 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::IOCSRRD_D), 0|OPFL_Chain,
27735 1, 0, 1, 10,
27736 11, TARGET_VAL(LoongArchISD::IOCSRWR_D),
27737 OPC_RecordNode,
27738 OPC_RecordChild1,
27739 OPC_CheckChild1TypeByHwMode0,
27740 OPC_RecordChild2,
27741 OPC_CheckPatternPredicate2,
27742 OPC_EmitMergeInputChains1_0,
27743 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_D),
27744 2, 25,
27745 108, TARGET_VAL(ISD::SDIV),
27746 OPC_RecordChild0,
27747 OPC_RecordChild1,
27748 OPC_Scope, 23,
27749 OPC_CheckTypeByHwMode0,
27750 OPC_Scope, 9,
27751 OPC_CheckPatternPredicate5,
27752 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_W), 0,
27753 1, 0, 2, 9,
27754 9,
27755 OPC_CheckPatternPredicate2,
27756 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_D), 0,
27757 1, 0, 2, 9,
27758 0,
27759 9,
27760 OPC_CheckType, MVT::v16i8,
27761 OPC_CheckPatternPredicate1,
27762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_B),
27763 MVT::v16i8, 2, 9,
27764 9,
27765 OPC_CheckType, MVT::v8i16,
27766 OPC_CheckPatternPredicate1,
27767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_H),
27768 MVT::v8i16, 2, 9,
27769 9,
27770 OPC_CheckType, MVT::v4i32,
27771 OPC_CheckPatternPredicate1,
27772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_W),
27773 MVT::v4i32, 2, 9,
27774 9,
27775 OPC_CheckType, MVT::v2i64,
27776 OPC_CheckPatternPredicate1,
27777 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_D),
27778 MVT::v2i64, 2, 9,
27779 9,
27780 OPC_CheckType, MVT::v32i8,
27781 OPC_CheckPatternPredicate0,
27782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_B),
27783 MVT::v32i8, 2, 9,
27784 9,
27785 OPC_CheckType, MVT::v16i16,
27786 OPC_CheckPatternPredicate0,
27787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_H),
27788 MVT::v16i16, 2, 9,
27789 9,
27790 OPC_CheckType, MVT::v8i32,
27791 OPC_CheckPatternPredicate0,
27792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_W),
27793 MVT::v8i32, 2, 9,
27794 9,
27795 OPC_CheckType, MVT::v4i64,
27796 OPC_CheckPatternPredicate0,
27797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_D),
27798 MVT::v4i64, 2, 9,
27799 0,
27800 108, TARGET_VAL(ISD::UDIV),
27801 OPC_RecordChild0,
27802 OPC_RecordChild1,
27803 OPC_Scope, 23,
27804 OPC_CheckTypeByHwMode0,
27805 OPC_Scope, 9,
27806 OPC_CheckPatternPredicate5,
27807 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_WU), 0,
27808 1, 0, 2, 9,
27809 9,
27810 OPC_CheckPatternPredicate2,
27811 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_DU), 0,
27812 1, 0, 2, 9,
27813 0,
27814 9,
27815 OPC_CheckType, MVT::v16i8,
27816 OPC_CheckPatternPredicate1,
27817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_BU),
27818 MVT::v16i8, 2, 9,
27819 9,
27820 OPC_CheckType, MVT::v8i16,
27821 OPC_CheckPatternPredicate1,
27822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_HU),
27823 MVT::v8i16, 2, 9,
27824 9,
27825 OPC_CheckType, MVT::v4i32,
27826 OPC_CheckPatternPredicate1,
27827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_WU),
27828 MVT::v4i32, 2, 9,
27829 9,
27830 OPC_CheckType, MVT::v2i64,
27831 OPC_CheckPatternPredicate1,
27832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_DU),
27833 MVT::v2i64, 2, 9,
27834 9,
27835 OPC_CheckType, MVT::v32i8,
27836 OPC_CheckPatternPredicate0,
27837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_BU),
27838 MVT::v32i8, 2, 9,
27839 9,
27840 OPC_CheckType, MVT::v16i16,
27841 OPC_CheckPatternPredicate0,
27842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_HU),
27843 MVT::v16i16, 2, 9,
27844 9,
27845 OPC_CheckType, MVT::v8i32,
27846 OPC_CheckPatternPredicate0,
27847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_WU),
27848 MVT::v8i32, 2, 9,
27849 9,
27850 OPC_CheckType, MVT::v4i64,
27851 OPC_CheckPatternPredicate0,
27852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_DU),
27853 MVT::v4i64, 2, 9,
27854 0,
27855 108, TARGET_VAL(ISD::SREM),
27856 OPC_RecordChild0,
27857 OPC_RecordChild1,
27858 OPC_Scope, 23,
27859 OPC_CheckTypeByHwMode0,
27860 OPC_Scope, 9,
27861 OPC_CheckPatternPredicate5,
27862 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_W), 0,
27863 1, 0, 2, 9,
27864 9,
27865 OPC_CheckPatternPredicate2,
27866 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_D), 0,
27867 1, 0, 2, 9,
27868 0,
27869 9,
27870 OPC_CheckType, MVT::v16i8,
27871 OPC_CheckPatternPredicate1,
27872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_B),
27873 MVT::v16i8, 2, 9,
27874 9,
27875 OPC_CheckType, MVT::v8i16,
27876 OPC_CheckPatternPredicate1,
27877 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_H),
27878 MVT::v8i16, 2, 9,
27879 9,
27880 OPC_CheckType, MVT::v4i32,
27881 OPC_CheckPatternPredicate1,
27882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_W),
27883 MVT::v4i32, 2, 9,
27884 9,
27885 OPC_CheckType, MVT::v2i64,
27886 OPC_CheckPatternPredicate1,
27887 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_D),
27888 MVT::v2i64, 2, 9,
27889 9,
27890 OPC_CheckType, MVT::v32i8,
27891 OPC_CheckPatternPredicate0,
27892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_B),
27893 MVT::v32i8, 2, 9,
27894 9,
27895 OPC_CheckType, MVT::v16i16,
27896 OPC_CheckPatternPredicate0,
27897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_H),
27898 MVT::v16i16, 2, 9,
27899 9,
27900 OPC_CheckType, MVT::v8i32,
27901 OPC_CheckPatternPredicate0,
27902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_W),
27903 MVT::v8i32, 2, 9,
27904 9,
27905 OPC_CheckType, MVT::v4i64,
27906 OPC_CheckPatternPredicate0,
27907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_D),
27908 MVT::v4i64, 2, 9,
27909 0,
27910 108, TARGET_VAL(ISD::UREM),
27911 OPC_RecordChild0,
27912 OPC_RecordChild1,
27913 OPC_Scope, 23,
27914 OPC_CheckTypeByHwMode0,
27915 OPC_Scope, 9,
27916 OPC_CheckPatternPredicate5,
27917 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_WU), 0,
27918 1, 0, 2, 9,
27919 9,
27920 OPC_CheckPatternPredicate2,
27921 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_DU), 0,
27922 1, 0, 2, 9,
27923 0,
27924 9,
27925 OPC_CheckType, MVT::v16i8,
27926 OPC_CheckPatternPredicate1,
27927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_BU),
27928 MVT::v16i8, 2, 9,
27929 9,
27930 OPC_CheckType, MVT::v8i16,
27931 OPC_CheckPatternPredicate1,
27932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_HU),
27933 MVT::v8i16, 2, 9,
27934 9,
27935 OPC_CheckType, MVT::v4i32,
27936 OPC_CheckPatternPredicate1,
27937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_WU),
27938 MVT::v4i32, 2, 9,
27939 9,
27940 OPC_CheckType, MVT::v2i64,
27941 OPC_CheckPatternPredicate1,
27942 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_DU),
27943 MVT::v2i64, 2, 9,
27944 9,
27945 OPC_CheckType, MVT::v32i8,
27946 OPC_CheckPatternPredicate0,
27947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_BU),
27948 MVT::v32i8, 2, 9,
27949 9,
27950 OPC_CheckType, MVT::v16i16,
27951 OPC_CheckPatternPredicate0,
27952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_HU),
27953 MVT::v16i16, 2, 9,
27954 9,
27955 OPC_CheckType, MVT::v8i32,
27956 OPC_CheckPatternPredicate0,
27957 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_WU),
27958 MVT::v8i32, 2, 9,
27959 9,
27960 OPC_CheckType, MVT::v4i64,
27961 OPC_CheckPatternPredicate0,
27962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_DU),
27963 MVT::v4i64, 2, 9,
27964 0,
27965 13, TARGET_VAL(LoongArchISD::DIV_W),
27966 OPC_RecordChild0,
27967 OPC_RecordChild1,
27968 OPC_CheckTypeByHwMode, 1,
27969 OPC_CheckPatternPredicate2,
27970 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_W), 0,
27971 1, 1, 2, 9,
27972 13, TARGET_VAL(LoongArchISD::DIV_WU),
27973 OPC_RecordChild0,
27974 OPC_RecordChild1,
27975 OPC_CheckTypeByHwMode, 1,
27976 OPC_CheckPatternPredicate2,
27977 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_WU), 0,
27978 1, 1, 2, 9,
27979 13, TARGET_VAL(LoongArchISD::MOD_W),
27980 OPC_RecordChild0,
27981 OPC_RecordChild1,
27982 OPC_CheckTypeByHwMode, 1,
27983 OPC_CheckPatternPredicate2,
27984 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_W), 0,
27985 1, 1, 2, 9,
27986 13, TARGET_VAL(LoongArchISD::MOD_WU),
27987 OPC_RecordChild0,
27988 OPC_RecordChild1,
27989 OPC_CheckTypeByHwMode, 1,
27990 OPC_CheckPatternPredicate2,
27991 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_WU), 0,
27992 1, 1, 2, 9,
27993 9, TARGET_VAL(LoongArchISD::PROBED_ALLOCA),
27994 OPC_RecordNode,
27995 OPC_RecordChild1,
27996 OPC_CheckChild1TypeByHwMode0,
27997 OPC_EmitMergeInputChains1_0,
27998 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PROBED_STACKALLOC_DYN),
27999 1, 10,
28000 14, TARGET_VAL(LoongArchISD::SPLIT_PAIR_F64),
28001 OPC_RecordChild0,
28002 OPC_CheckTypeI32,
28003 OPC_CheckTypeRes, 1, MVT::i32,
28004 OPC_CheckPatternPredicate, 13,
28005 OPC_MorphNodeTo2None, TARGET_VAL(LoongArch::SplitPairF64Pseudo),
28006 MVT::i32, MVT::i32, 1, 1,
28007 107, TARGET_VAL(LoongArchISD::VALL_NONZERO),
28008 OPC_RecordChild0,
28009 OPC_Scope, 12,
28010 OPC_CheckChild0Type, MVT::v16i8,
28011 OPC_CheckTypeByHwMode0,
28012 OPC_CheckPatternPredicate1,
28013 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBNZ_B), 0,
28014 1, 0, 1, 1,
28015 12,
28016 OPC_CheckChild0Type, MVT::v8i16,
28017 OPC_CheckTypeByHwMode0,
28018 OPC_CheckPatternPredicate1,
28019 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBNZ_H), 0,
28020 1, 0, 1, 1,
28021 12,
28022 OPC_CheckChild0Type, MVT::v4i32,
28023 OPC_CheckTypeByHwMode0,
28024 OPC_CheckPatternPredicate1,
28025 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBNZ_W), 0,
28026 1, 0, 1, 1,
28027 12,
28028 OPC_CheckChild0Type, MVT::v2i64,
28029 OPC_CheckTypeByHwMode0,
28030 OPC_CheckPatternPredicate1,
28031 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBNZ_D), 0,
28032 1, 0, 1, 1,
28033 12,
28034 OPC_CheckChild0Type, MVT::v32i8,
28035 OPC_CheckTypeByHwMode0,
28036 OPC_CheckPatternPredicate0,
28037 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBNZ_B), 0,
28038 1, 0, 1, 1,
28039 12,
28040 OPC_CheckChild0Type, MVT::v16i16,
28041 OPC_CheckTypeByHwMode0,
28042 OPC_CheckPatternPredicate0,
28043 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBNZ_H), 0,
28044 1, 0, 1, 1,
28045 12,
28046 OPC_CheckChild0Type, MVT::v8i32,
28047 OPC_CheckTypeByHwMode0,
28048 OPC_CheckPatternPredicate0,
28049 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBNZ_W), 0,
28050 1, 0, 1, 1,
28051 12,
28052 OPC_CheckChild0Type, MVT::v4i64,
28053 OPC_CheckTypeByHwMode0,
28054 OPC_CheckPatternPredicate0,
28055 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBNZ_D), 0,
28056 1, 0, 1, 1,
28057 0,
28058 29, TARGET_VAL(LoongArchISD::VANY_NONZERO),
28059 OPC_RecordChild0,
28060 OPC_Scope, 12,
28061 OPC_CheckChild0Type, MVT::v16i8,
28062 OPC_CheckTypeByHwMode0,
28063 OPC_CheckPatternPredicate1,
28064 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBNZ), 0,
28065 1, 0, 1, 1,
28066 12,
28067 OPC_CheckChild0Type, MVT::v32i8,
28068 OPC_CheckTypeByHwMode0,
28069 OPC_CheckPatternPredicate0,
28070 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBNZ), 0,
28071 1, 0, 1, 1,
28072 0,
28073 107, TARGET_VAL(LoongArchISD::VALL_ZERO),
28074 OPC_RecordChild0,
28075 OPC_Scope, 12,
28076 OPC_CheckChild0Type, MVT::v16i8,
28077 OPC_CheckTypeByHwMode0,
28078 OPC_CheckPatternPredicate1,
28079 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBZ_B), 0,
28080 1, 0, 1, 1,
28081 12,
28082 OPC_CheckChild0Type, MVT::v8i16,
28083 OPC_CheckTypeByHwMode0,
28084 OPC_CheckPatternPredicate1,
28085 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBZ_H), 0,
28086 1, 0, 1, 1,
28087 12,
28088 OPC_CheckChild0Type, MVT::v4i32,
28089 OPC_CheckTypeByHwMode0,
28090 OPC_CheckPatternPredicate1,
28091 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBZ_W), 0,
28092 1, 0, 1, 1,
28093 12,
28094 OPC_CheckChild0Type, MVT::v2i64,
28095 OPC_CheckTypeByHwMode0,
28096 OPC_CheckPatternPredicate1,
28097 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBZ_D), 0,
28098 1, 0, 1, 1,
28099 12,
28100 OPC_CheckChild0Type, MVT::v32i8,
28101 OPC_CheckTypeByHwMode0,
28102 OPC_CheckPatternPredicate0,
28103 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBZ_B), 0,
28104 1, 0, 1, 1,
28105 12,
28106 OPC_CheckChild0Type, MVT::v16i16,
28107 OPC_CheckTypeByHwMode0,
28108 OPC_CheckPatternPredicate0,
28109 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBZ_H), 0,
28110 1, 0, 1, 1,
28111 12,
28112 OPC_CheckChild0Type, MVT::v8i32,
28113 OPC_CheckTypeByHwMode0,
28114 OPC_CheckPatternPredicate0,
28115 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBZ_W), 0,
28116 1, 0, 1, 1,
28117 12,
28118 OPC_CheckChild0Type, MVT::v4i64,
28119 OPC_CheckTypeByHwMode0,
28120 OPC_CheckPatternPredicate0,
28121 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBZ_D), 0,
28122 1, 0, 1, 1,
28123 0,
28124 29, TARGET_VAL(LoongArchISD::VANY_ZERO),
28125 OPC_RecordChild0,
28126 OPC_Scope, 12,
28127 OPC_CheckChild0Type, MVT::v16i8,
28128 OPC_CheckTypeByHwMode0,
28129 OPC_CheckPatternPredicate1,
28130 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBZ), 0,
28131 1, 0, 1, 1,
28132 12,
28133 OPC_CheckChild0Type, MVT::v32i8,
28134 OPC_CheckTypeByHwMode0,
28135 OPC_CheckPatternPredicate0,
28136 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBZ), 0,
28137 1, 0, 1, 1,
28138 0,
28139 55, TARGET_VAL(LoongArchISD::VMSKLTZ),
28140 OPC_RecordChild0,
28141 OPC_Scope, 12,
28142 OPC_CheckChild0Type, MVT::v16i8,
28143 OPC_CheckTypeByHwMode0,
28144 OPC_CheckPatternPredicate1,
28145 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKLTZ_B), 0,
28146 1, 0, 1, 1,
28147 12,
28148 OPC_CheckChild0Type, MVT::v8i16,
28149 OPC_CheckTypeByHwMode0,
28150 OPC_CheckPatternPredicate1,
28151 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKLTZ_H), 0,
28152 1, 0, 1, 1,
28153 12,
28154 OPC_CheckChild0Type, MVT::v4i32,
28155 OPC_CheckTypeByHwMode0,
28156 OPC_CheckPatternPredicate1,
28157 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKLTZ_W), 0,
28158 1, 0, 1, 1,
28159 12,
28160 OPC_CheckChild0Type, MVT::v2i64,
28161 OPC_CheckTypeByHwMode0,
28162 OPC_CheckPatternPredicate1,
28163 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKLTZ_D), 0,
28164 1, 0, 1, 1,
28165 0,
28166 13, TARGET_VAL(LoongArchISD::VMSKGEZ),
28167 OPC_RecordChild0,
28168 OPC_CheckChild0Type, MVT::v16i8,
28169 OPC_CheckTypeByHwMode0,
28170 OPC_CheckPatternPredicate1,
28171 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKGEZ_B), 0,
28172 1, 0, 1, 1,
28173 13, TARGET_VAL(LoongArchISD::VMSKEQZ),
28174 OPC_RecordChild0,
28175 OPC_CheckChild0Type, MVT::v16i8,
28176 OPC_CheckTypeByHwMode0,
28177 OPC_CheckPatternPredicate1,
28178 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKEQZ_B), 0,
28179 1, 0, 1, 1,
28180 13, TARGET_VAL(LoongArchISD::VMSKNEZ),
28181 OPC_RecordChild0,
28182 OPC_CheckChild0Type, MVT::v16i8,
28183 OPC_CheckTypeByHwMode0,
28184 OPC_CheckPatternPredicate1,
28185 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKNEZ_B), 0,
28186 1, 0, 1, 1,
28187 55, TARGET_VAL(LoongArchISD::XVMSKLTZ),
28188 OPC_RecordChild0,
28189 OPC_Scope, 12,
28190 OPC_CheckChild0Type, MVT::v32i8,
28191 OPC_CheckTypeByHwMode0,
28192 OPC_CheckPatternPredicate0,
28193 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_B), 0,
28194 1, 0, 1, 1,
28195 12,
28196 OPC_CheckChild0Type, MVT::v16i16,
28197 OPC_CheckTypeByHwMode0,
28198 OPC_CheckPatternPredicate0,
28199 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_H), 0,
28200 1, 0, 1, 1,
28201 12,
28202 OPC_CheckChild0Type, MVT::v8i32,
28203 OPC_CheckTypeByHwMode0,
28204 OPC_CheckPatternPredicate0,
28205 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_W), 0,
28206 1, 0, 1, 1,
28207 12,
28208 OPC_CheckChild0Type, MVT::v4i64,
28209 OPC_CheckTypeByHwMode0,
28210 OPC_CheckPatternPredicate0,
28211 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_D), 0,
28212 1, 0, 1, 1,
28213 0,
28214 13, TARGET_VAL(LoongArchISD::XVMSKGEZ),
28215 OPC_RecordChild0,
28216 OPC_CheckChild0Type, MVT::v32i8,
28217 OPC_CheckTypeByHwMode0,
28218 OPC_CheckPatternPredicate0,
28219 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKGEZ_B), 0,
28220 1, 0, 1, 1,
28221 13, TARGET_VAL(LoongArchISD::XVMSKEQZ),
28222 OPC_RecordChild0,
28223 OPC_CheckChild0Type, MVT::v32i8,
28224 OPC_CheckTypeByHwMode0,
28225 OPC_CheckPatternPredicate0,
28226 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKEQZ_B), 0,
28227 1, 0, 1, 1,
28228 13, TARGET_VAL(LoongArchISD::XVMSKNEZ),
28229 OPC_RecordChild0,
28230 OPC_CheckChild0Type, MVT::v32i8,
28231 OPC_CheckTypeByHwMode0,
28232 OPC_CheckPatternPredicate0,
28233 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKNEZ_B), 0,
28234 1, 0, 1, 1,
28235 7|128,4, TARGET_VAL(ISD::FDIV),
28236 OPC_Scope, 43|128,1,
28237 OPC_MoveChild0,
28238 OPC_SwitchOpcode , 34, TARGET_VAL(LoongArchISD::MOVGR2FR_D_LO_HI),
28239 OPC_CheckChild0Integer, 0,
28240 OPC_CheckChild1Integer, 0|128,0|128,64|128,127|128,3,
28241 OPC_Scope, 13,
28242 OPC_MoveSibling1,
28243 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
28244 OPC_RecordChild0,
28245 OPC_MoveParent,
28246 OPC_CheckPatternPredicate5,
28247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_D),
28248 MVT::f64, 1, 1,
28249 9,
28250 OPC_MoveParent,
28251 OPC_RecordChild1,
28252 OPC_CheckPatternPredicate5,
28253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_D),
28254 MVT::f64, 1, 1,
28255 0,
28256 34, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
28257 OPC_CheckChild0Integer, 0|128,0|128,0|128,124|128,3,
28258 OPC_Scope, 14,
28259 OPC_MoveSibling1,
28260 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
28261 OPC_RecordChild0,
28262 OPC_MoveParent,
28263 OPC_CheckPatternPredicate, 12,
28264 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
28265 MVT::f32, 1, 1,
28266 10,
28267 OPC_MoveParent,
28268 OPC_RecordChild1,
28269 OPC_CheckPatternPredicate, 12,
28270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
28271 MVT::f32, 1, 1,
28272 0,
28273 34, TARGET_VAL(LoongArchISD::MOVGR2FR_W),
28274 OPC_CheckChild0Integer, 0|128,0|128,0|128,124|128,3,
28275 OPC_Scope, 14,
28276 OPC_MoveSibling1,
28277 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
28278 OPC_RecordChild0,
28279 OPC_MoveParent,
28280 OPC_CheckPatternPredicate, 14,
28281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
28282 MVT::f32, 1, 1,
28283 10,
28284 OPC_MoveParent,
28285 OPC_RecordChild1,
28286 OPC_CheckPatternPredicate, 14,
28287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
28288 MVT::f32, 1, 1,
28289 0,
28290 54, TARGET_VAL(ISD::ConstantFP),
28291 OPC_CheckPredicate, 50,
28292 OPC_Scope, 26,
28293 OPC_MoveSibling1,
28294 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
28295 OPC_RecordChild0,
28296 OPC_MoveParent,
28297 OPC_SwitchType , 7, MVT::f32,
28298 OPC_CheckPatternPredicate3,
28299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
28300 MVT::f32, 1, 1,
28301 7, MVT::f64,
28302 OPC_CheckPatternPredicate4,
28303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_D),
28304 MVT::f64, 1, 1,
28305 0,
28306 22,
28307 OPC_MoveParent,
28308 OPC_RecordChild1,
28309 OPC_SwitchType , 7, MVT::f32,
28310 OPC_CheckPatternPredicate3,
28311 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
28312 MVT::f32, 1, 1,
28313 7, MVT::f64,
28314 OPC_CheckPatternPredicate4,
28315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_D),
28316 MVT::f64, 1, 1,
28317 0,
28318 0,
28319 0,
28320 22,
28321 OPC_RecordChild0,
28322 OPC_RecordChild1,
28323 OPC_SwitchType , 7, MVT::f32,
28324 OPC_CheckPatternPredicate3,
28325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_S),
28326 MVT::f32, 2, 9,
28327 7, MVT::f64,
28328 OPC_CheckPatternPredicate4,
28329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_D),
28330 MVT::f64, 2, 9,
28331 0,
28332 14|128,2,
28333 OPC_MoveChild0,
28334 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
28335 OPC_MoveChild0,
28336 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
28337 OPC_SwitchType , 63, MVT::v4i32,
28338 OPC_MoveParent,
28339 OPC_CheckPredicate, 60,
28340 OPC_Scope, 30,
28341 OPC_MoveSibling1,
28342 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
28343 OPC_RecordChild0,
28344 OPC_MoveParent,
28345 OPC_SwitchType , 8, 8|128,1,
28346 OPC_CheckPatternPredicate1,
28347 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
28348 8|128,1, 1, 1,
28349 8, 12|128,1,
28350 OPC_CheckPatternPredicate0,
28351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
28352 12|128,1, 1, 1,
28353 0,
28354 26,
28355 OPC_MoveParent,
28356 OPC_RecordChild1,
28357 OPC_SwitchType , 8, 8|128,1,
28358 OPC_CheckPatternPredicate1,
28359 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
28360 8|128,1, 1, 1,
28361 8, 12|128,1,
28362 OPC_CheckPatternPredicate0,
28363 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
28364 12|128,1, 1, 1,
28365 0,
28366 0,
28367 63, MVT::v8i32,
28368 OPC_MoveParent,
28369 OPC_CheckPredicate, 60,
28370 OPC_Scope, 30,
28371 OPC_MoveSibling1,
28372 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
28373 OPC_RecordChild0,
28374 OPC_MoveParent,
28375 OPC_SwitchType , 8, 8|128,1,
28376 OPC_CheckPatternPredicate1,
28377 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
28378 8|128,1, 1, 1,
28379 8, 12|128,1,
28380 OPC_CheckPatternPredicate0,
28381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
28382 12|128,1, 1, 1,
28383 0,
28384 26,
28385 OPC_MoveParent,
28386 OPC_RecordChild1,
28387 OPC_SwitchType , 8, 8|128,1,
28388 OPC_CheckPatternPredicate1,
28389 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
28390 8|128,1, 1, 1,
28391 8, 12|128,1,
28392 OPC_CheckPatternPredicate0,
28393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
28394 12|128,1, 1, 1,
28395 0,
28396 0,
28397 63, MVT::v2i64,
28398 OPC_MoveParent,
28399 OPC_CheckPredicate, 61,
28400 OPC_Scope, 30,
28401 OPC_MoveSibling1,
28402 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
28403 OPC_RecordChild0,
28404 OPC_MoveParent,
28405 OPC_SwitchType , 8, 26|128,1,
28406 OPC_CheckPatternPredicate1,
28407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
28408 26|128,1, 1, 1,
28409 8, 28|128,1,
28410 OPC_CheckPatternPredicate0,
28411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
28412 28|128,1, 1, 1,
28413 0,
28414 26,
28415 OPC_MoveParent,
28416 OPC_RecordChild1,
28417 OPC_SwitchType , 8, 26|128,1,
28418 OPC_CheckPatternPredicate1,
28419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
28420 26|128,1, 1, 1,
28421 8, 28|128,1,
28422 OPC_CheckPatternPredicate0,
28423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
28424 28|128,1, 1, 1,
28425 0,
28426 0,
28427 63, MVT::v4i64,
28428 OPC_MoveParent,
28429 OPC_CheckPredicate, 61,
28430 OPC_Scope, 30,
28431 OPC_MoveSibling1,
28432 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
28433 OPC_RecordChild0,
28434 OPC_MoveParent,
28435 OPC_SwitchType , 8, 26|128,1,
28436 OPC_CheckPatternPredicate1,
28437 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
28438 26|128,1, 1, 1,
28439 8, 28|128,1,
28440 OPC_CheckPatternPredicate0,
28441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
28442 28|128,1, 1, 1,
28443 0,
28444 26,
28445 OPC_MoveParent,
28446 OPC_RecordChild1,
28447 OPC_SwitchType , 8, 26|128,1,
28448 OPC_CheckPatternPredicate1,
28449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
28450 26|128,1, 1, 1,
28451 8, 28|128,1,
28452 OPC_CheckPatternPredicate0,
28453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
28454 28|128,1, 1, 1,
28455 0,
28456 0,
28457 0,
28458 48,
28459 OPC_RecordChild0,
28460 OPC_RecordChild1,
28461 OPC_SwitchType , 8, 8|128,1,
28462 OPC_CheckPatternPredicate1,
28463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_S),
28464 8|128,1, 2, 9,
28465 8, 26|128,1,
28466 OPC_CheckPatternPredicate1,
28467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_D),
28468 26|128,1, 2, 9,
28469 8, 12|128,1,
28470 OPC_CheckPatternPredicate0,
28471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_S),
28472 12|128,1, 2, 9,
28473 8, 28|128,1,
28474 OPC_CheckPatternPredicate0,
28475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_D),
28476 28|128,1, 2, 9,
28477 0,
28478 0,
28479 25|128,4, TARGET_VAL(ISD::FMA),
28480 OPC_Scope, 35,
28481 OPC_MoveChild0,
28482 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28483 OPC_RecordChild0,
28484 OPC_MoveParent,
28485 OPC_RecordChild1,
28486 OPC_MoveChild2,
28487 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28488 OPC_RecordChild0,
28489 OPC_MoveParent,
28490 OPC_CheckPredicate, 37,
28491 OPC_SwitchType , 7, MVT::f32,
28492 OPC_CheckPatternPredicate3,
28493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
28494 MVT::f32, 3, 24,
28495 7, MVT::f64,
28496 OPC_CheckPatternPredicate4,
28497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
28498 MVT::f64, 3, 24,
28499 0,
28500 34,
28501 OPC_RecordChild0,
28502 OPC_MoveChild1,
28503 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28504 OPC_RecordChild0,
28505 OPC_MoveSibling2,
28506 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28507 OPC_RecordChild0,
28508 OPC_MoveParent,
28509 OPC_CheckPredicate, 37,
28510 OPC_SwitchType , 7, MVT::f32,
28511 OPC_CheckPatternPredicate3,
28512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
28513 MVT::f32, 3, 21,
28514 7, MVT::f64,
28515 OPC_CheckPatternPredicate4,
28516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
28517 MVT::f64, 3, 21,
28518 0,
28519 30,
28520 OPC_MoveChild0,
28521 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28522 OPC_RecordChild0,
28523 OPC_MoveParent,
28524 OPC_RecordChild1,
28525 OPC_RecordChild2,
28526 OPC_CheckPredicate, 37,
28527 OPC_SwitchType , 7, MVT::f32,
28528 OPC_CheckPatternPredicate3,
28529 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
28530 MVT::f32, 3, 24,
28531 7, MVT::f64,
28532 OPC_CheckPatternPredicate4,
28533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
28534 MVT::f64, 3, 24,
28535 0,
28536 86,
28537 OPC_RecordChild0,
28538 OPC_Scope, 29,
28539 OPC_MoveChild1,
28540 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28541 OPC_RecordChild0,
28542 OPC_MoveParent,
28543 OPC_RecordChild2,
28544 OPC_CheckPredicate, 37,
28545 OPC_SwitchType , 7, MVT::f32,
28546 OPC_CheckPatternPredicate3,
28547 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
28548 MVT::f32, 3, 21,
28549 7, MVT::f64,
28550 OPC_CheckPatternPredicate4,
28551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
28552 MVT::f64, 3, 21,
28553 0,
28554 52,
28555 OPC_RecordChild1,
28556 OPC_Scope, 26,
28557 OPC_MoveChild2,
28558 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28559 OPC_RecordChild0,
28560 OPC_MoveParent,
28561 OPC_SwitchType , 7, MVT::f32,
28562 OPC_CheckPatternPredicate3,
28563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_S),
28564 MVT::f32, 3, 24,
28565 7, MVT::f64,
28566 OPC_CheckPatternPredicate4,
28567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_D),
28568 MVT::f64, 3, 24,
28569 0,
28570 21,
28571 OPC_RecordChild2,
28572 OPC_SwitchType , 7, MVT::f32,
28573 OPC_CheckPatternPredicate3,
28574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_S),
28575 MVT::f32, 3, 24,
28576 7, MVT::f64,
28577 OPC_CheckPatternPredicate4,
28578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_D),
28579 MVT::f64, 3, 24,
28580 0,
28581 0,
28582 0,
28583 61,
28584 OPC_MoveChild0,
28585 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28586 OPC_RecordChild0,
28587 OPC_MoveParent,
28588 OPC_RecordChild1,
28589 OPC_MoveChild2,
28590 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28591 OPC_RecordChild0,
28592 OPC_MoveParent,
28593 OPC_CheckPredicate, 37,
28594 OPC_SwitchType , 8, 8|128,1,
28595 OPC_CheckPatternPredicate1,
28596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
28597 8|128,1, 3, 24,
28598 8, 26|128,1,
28599 OPC_CheckPatternPredicate1,
28600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
28601 26|128,1, 3, 24,
28602 8, 12|128,1,
28603 OPC_CheckPatternPredicate0,
28604 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
28605 12|128,1, 3, 24,
28606 8, 28|128,1,
28607 OPC_CheckPatternPredicate0,
28608 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
28609 28|128,1, 3, 24,
28610 0,
28611 60,
28612 OPC_RecordChild0,
28613 OPC_MoveChild1,
28614 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28615 OPC_RecordChild0,
28616 OPC_MoveSibling2,
28617 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28618 OPC_RecordChild0,
28619 OPC_MoveParent,
28620 OPC_CheckPredicate, 37,
28621 OPC_SwitchType , 8, 8|128,1,
28622 OPC_CheckPatternPredicate1,
28623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
28624 8|128,1, 3, 21,
28625 8, 26|128,1,
28626 OPC_CheckPatternPredicate1,
28627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
28628 26|128,1, 3, 21,
28629 8, 12|128,1,
28630 OPC_CheckPatternPredicate0,
28631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
28632 12|128,1, 3, 21,
28633 8, 28|128,1,
28634 OPC_CheckPatternPredicate0,
28635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
28636 28|128,1, 3, 21,
28637 0,
28638 56,
28639 OPC_MoveChild0,
28640 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28641 OPC_RecordChild0,
28642 OPC_MoveParent,
28643 OPC_RecordChild1,
28644 OPC_RecordChild2,
28645 OPC_CheckPredicate, 37,
28646 OPC_SwitchType , 8, 8|128,1,
28647 OPC_CheckPatternPredicate1,
28648 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
28649 8|128,1, 3, 24,
28650 8, 26|128,1,
28651 OPC_CheckPatternPredicate1,
28652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
28653 26|128,1, 3, 24,
28654 8, 12|128,1,
28655 OPC_CheckPatternPredicate0,
28656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
28657 12|128,1, 3, 24,
28658 8, 28|128,1,
28659 OPC_CheckPatternPredicate0,
28660 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
28661 28|128,1, 3, 24,
28662 0,
28663 36|128,1,
28664 OPC_RecordChild0,
28665 OPC_Scope, 55,
28666 OPC_MoveChild1,
28667 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28668 OPC_RecordChild0,
28669 OPC_MoveParent,
28670 OPC_RecordChild2,
28671 OPC_CheckPredicate, 37,
28672 OPC_SwitchType , 8, 8|128,1,
28673 OPC_CheckPatternPredicate1,
28674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
28675 8|128,1, 3, 21,
28676 8, 26|128,1,
28677 OPC_CheckPatternPredicate1,
28678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
28679 26|128,1, 3, 21,
28680 8, 12|128,1,
28681 OPC_CheckPatternPredicate0,
28682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
28683 12|128,1, 3, 21,
28684 8, 28|128,1,
28685 OPC_CheckPatternPredicate0,
28686 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
28687 28|128,1, 3, 21,
28688 0,
28689 104,
28690 OPC_RecordChild1,
28691 OPC_Scope, 52,
28692 OPC_MoveChild2,
28693 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28694 OPC_RecordChild0,
28695 OPC_MoveParent,
28696 OPC_SwitchType , 8, 8|128,1,
28697 OPC_CheckPatternPredicate1,
28698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
28699 8|128,1, 3, 24,
28700 8, 26|128,1,
28701 OPC_CheckPatternPredicate1,
28702 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
28703 26|128,1, 3, 24,
28704 8, 12|128,1,
28705 OPC_CheckPatternPredicate0,
28706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
28707 12|128,1, 3, 24,
28708 8, 28|128,1,
28709 OPC_CheckPatternPredicate0,
28710 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
28711 28|128,1, 3, 24,
28712 0,
28713 47,
28714 OPC_RecordChild2,
28715 OPC_SwitchType , 8, 8|128,1,
28716 OPC_CheckPatternPredicate1,
28717 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_S),
28718 8|128,1, 3, 24,
28719 8, 26|128,1,
28720 OPC_CheckPatternPredicate1,
28721 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_D),
28722 26|128,1, 3, 24,
28723 8, 12|128,1,
28724 OPC_CheckPatternPredicate0,
28725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_S),
28726 12|128,1, 3, 24,
28727 8, 28|128,1,
28728 OPC_CheckPatternPredicate0,
28729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_D),
28730 28|128,1, 3, 24,
28731 0,
28732 0,
28733 0,
28734 0,
28735 124|128,1, TARGET_VAL(ISD::FNEG),
28736 OPC_Scope, 59,
28737 OPC_MoveChild0,
28738 OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
28739 OPC_RecordChild0,
28740 OPC_RecordChild1,
28741 OPC_Scope, 27,
28742 OPC_MoveChild2,
28743 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28744 OPC_RecordChild0,
28745 OPC_MoveParent,
28746 OPC_MoveParent,
28747 OPC_SwitchType , 7, MVT::f32,
28748 OPC_CheckPatternPredicate3,
28749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
28750 MVT::f32, 3, 24,
28751 7, MVT::f64,
28752 OPC_CheckPatternPredicate4,
28753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
28754 MVT::f64, 3, 24,
28755 0,
28756 22,
28757 OPC_RecordChild2,
28758 OPC_MoveParent,
28759 OPC_SwitchType , 7, MVT::f32,
28760 OPC_CheckPatternPredicate3,
28761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
28762 MVT::f32, 3, 24,
28763 7, MVT::f64,
28764 OPC_CheckPatternPredicate4,
28765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
28766 MVT::f64, 3, 24,
28767 0,
28768 0,
28769 21,
28770 OPC_RecordChild0,
28771 OPC_SwitchType , 7, MVT::f32,
28772 OPC_CheckPatternPredicate3,
28773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
28774 MVT::f32, 1, 1,
28775 7, MVT::f64,
28776 OPC_CheckPatternPredicate4,
28777 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
28778 MVT::f64, 1, 1,
28779 0,
28780 111,
28781 OPC_MoveChild0,
28782 OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
28783 OPC_RecordChild0,
28784 OPC_RecordChild1,
28785 OPC_Scope, 53,
28786 OPC_MoveChild2,
28787 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
28788 OPC_RecordChild0,
28789 OPC_MoveParent,
28790 OPC_MoveParent,
28791 OPC_SwitchType , 8, 8|128,1,
28792 OPC_CheckPatternPredicate1,
28793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
28794 8|128,1, 3, 24,
28795 8, 26|128,1,
28796 OPC_CheckPatternPredicate1,
28797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
28798 26|128,1, 3, 24,
28799 8, 12|128,1,
28800 OPC_CheckPatternPredicate0,
28801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
28802 12|128,1, 3, 24,
28803 8, 28|128,1,
28804 OPC_CheckPatternPredicate0,
28805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
28806 28|128,1, 3, 24,
28807 0,
28808 48,
28809 OPC_RecordChild2,
28810 OPC_MoveParent,
28811 OPC_SwitchType , 8, 8|128,1,
28812 OPC_CheckPatternPredicate1,
28813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
28814 8|128,1, 3, 24,
28815 8, 26|128,1,
28816 OPC_CheckPatternPredicate1,
28817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
28818 26|128,1, 3, 24,
28819 8, 12|128,1,
28820 OPC_CheckPatternPredicate0,
28821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
28822 12|128,1, 3, 24,
28823 8, 28|128,1,
28824 OPC_CheckPatternPredicate0,
28825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
28826 28|128,1, 3, 24,
28827 0,
28828 0,
28829 55,
28830 OPC_RecordChild0,
28831 OPC_SwitchType , 10, 8|128,1,
28832 OPC_CheckPatternPredicate1,
28833 OPC_EmitIntegerByHwMode0, 31,
28834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
28835 8|128,1, 2, 9,
28836 10, 26|128,1,
28837 OPC_CheckPatternPredicate1,
28838 OPC_EmitIntegerByHwMode0, 63,
28839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
28840 26|128,1, 2, 9,
28841 10, 12|128,1,
28842 OPC_CheckPatternPredicate0,
28843 OPC_EmitIntegerByHwMode0, 31,
28844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
28845 12|128,1, 2, 9,
28846 10, 28|128,1,
28847 OPC_CheckPatternPredicate0,
28848 OPC_EmitIntegerByHwMode0, 63,
28849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
28850 28|128,1, 2, 9,
28851 0,
28852 0,
28853 73|128,1, TARGET_VAL(ISD::SINT_TO_FP),
28854 OPC_RecordChild0,
28855 OPC_Scope, 41,
28856 OPC_CheckChild0TypeI64,
28857 OPC_SwitchType , 17, MVT::f32,
28858 OPC_CheckPatternPredicate, 12,
28859 OPC_CheckComplexPat, /*CP*/21, /*#*/0,
28860 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
28861 MVT::f32, 1, 10,
28862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
28863 MVT::f32, 1, 23,
28864 17, MVT::f64,
28865 OPC_CheckPatternPredicate, 9,
28866 OPC_CheckComplexPat, /*CP*/21, /*#*/0,
28867 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
28868 MVT::f32, 1, 10,
28869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
28870 MVT::f64, 1, 23,
28871 0,
28872 17,
28873 OPC_CheckChild0TypeI32,
28874 OPC_CheckType, MVT::f32,
28875 OPC_CheckPatternPredicate, 14,
28876 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
28877 MVT::f32, 1, 1,
28878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
28879 MVT::f32, 1, 10,
28880 37,
28881 OPC_CheckChild0TypeByHwMode0,
28882 OPC_Scope, 16,
28883 OPC_CheckTypeByHwMode, 4,
28884 OPC_CheckPatternPredicate, 9,
28885 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
28886 MVT::f64, 1, 1,
28887 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_L),
28888 MVT::f32, 1, 10,
28889 16,
28890 OPC_CheckTypeByHwMode, 5,
28891 OPC_CheckPatternPredicate, 9,
28892 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
28893 MVT::f64, 1, 1,
28894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
28895 MVT::f64, 1, 10,
28896 0,
28897 17,
28898 OPC_CheckChild0TypeI32,
28899 OPC_CheckType, MVT::f64,
28900 OPC_CheckPatternPredicate, 13,
28901 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
28902 MVT::f32, 1, 1,
28903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
28904 MVT::f64, 1, 10,
28905 13,
28906 OPC_CheckChild0Type, MVT::v4i32,
28907 OPC_CheckType, 8|128,1,
28908 OPC_CheckPatternPredicate1,
28909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_W),
28910 8|128,1, 1, 1,
28911 11,
28912 OPC_CheckType, 26|128,1,
28913 OPC_CheckPatternPredicate1,
28914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_L),
28915 26|128,1, 1, 1,
28916 13,
28917 OPC_CheckType, 12|128,1,
28918 OPC_CheckChild0Type, MVT::v8i32,
28919 OPC_CheckPatternPredicate0,
28920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_W),
28921 12|128,1, 1, 1,
28922 41,
28923 OPC_CheckType, 28|128,1,
28924 OPC_Scope, 10,
28925 OPC_CheckChild0Type, MVT::v4i64,
28926 OPC_CheckPatternPredicate0,
28927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
28928 28|128,1, 1, 1,
28929 24,
28930 OPC_CheckChild0Type, MVT::v4i32,
28931 OPC_CheckPatternPredicate0,
28932 OPC_EmitIntegerI32, LoongArch::sub_128,
28933 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
28934 MVT::v32i8, 2, 9,
28935 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
28936 MVT::v32i8, 1, 23,
28937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
28938 28|128,1, 1, 35,
28939 0,
28940 0,
28941 101, TARGET_VAL(ISD::UINT_TO_FP),
28942 OPC_RecordChild0,
28943 OPC_SwitchType , 18, MVT::f32,
28944 OPC_CheckChild0TypeI64,
28945 OPC_CheckPatternPredicate, 12,
28946 OPC_CheckComplexPat, /*CP*/21, /*#*/0,
28947 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
28948 MVT::f32, 1, 10,
28949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
28950 MVT::f32, 1, 23,
28951 10, 8|128,1,
28952 OPC_CheckChild0Type, MVT::v4i32,
28953 OPC_CheckPatternPredicate1,
28954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_WU),
28955 8|128,1, 1, 1,
28956 8, 26|128,1,
28957 OPC_CheckPatternPredicate1,
28958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_LU),
28959 26|128,1, 1, 1,
28960 10, 12|128,1,
28961 OPC_CheckChild0Type, MVT::v8i32,
28962 OPC_CheckPatternPredicate0,
28963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_WU),
28964 12|128,1, 1, 1,
28965 38, 28|128,1,
28966 OPC_Scope, 10,
28967 OPC_CheckChild0Type, MVT::v4i64,
28968 OPC_CheckPatternPredicate0,
28969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
28970 28|128,1, 1, 1,
28971 24,
28972 OPC_CheckChild0Type, MVT::v4i32,
28973 OPC_CheckPatternPredicate0,
28974 OPC_EmitIntegerI32, LoongArch::sub_128,
28975 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
28976 MVT::v32i8, 2, 9,
28977 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
28978 MVT::v32i8, 1, 23,
28979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
28980 28|128,1, 1, 35,
28981 0,
28982 0,
28983 24|128,2, TARGET_VAL(ISD::ConstantFP),
28984 OPC_Scope, 29,
28985 OPC_CheckPredicate, 62,
28986 OPC_SwitchType , 10, MVT::f32,
28987 OPC_CheckPatternPredicate3,
28988 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
28989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
28990 MVT::f32, 1, 1,
28991 11, MVT::f64,
28992 OPC_CheckPatternPredicate, 9,
28993 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
28994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
28995 MVT::f64, 1, 1,
28996 0,
28997 41,
28998 OPC_CheckPredicate, 63,
28999 OPC_SwitchType , 16, MVT::f32,
29000 OPC_CheckPatternPredicate3,
29001 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
29002 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
29003 MVT::f32, 1, 1,
29004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
29005 MVT::f32, 1, 10,
29006 17, MVT::f64,
29007 OPC_CheckPatternPredicate, 9,
29008 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
29009 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
29010 MVT::f64, 1, 1,
29011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
29012 MVT::f64, 1, 10,
29013 0,
29014 24,
29015 OPC_CheckPredicate, 62,
29016 OPC_CheckType, MVT::f64,
29017 OPC_CheckPatternPredicate, 13,
29018 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
29019 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
29020 MVT::f64, 1, 1,
29021 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
29022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
29023 MVT::f64, 2, 25,
29024 49,
29025 OPC_RecordNode,
29026 OPC_SwitchType , 21, MVT::f32,
29027 OPC_CheckPredicate, 68,
29028 OPC_CheckPatternPredicate1,
29029 OPC_EmitConvertToTarget0,
29030 OPC_EmitNodeXForm, 13, 1,
29031 OPC_EmitNode1None, TARGET_VAL(LoongArch::VLDI),
29032 MVT::v16i8, 1, 23,
29033 OPC_EmitIntegerI32, LoongArch::sub_32,
29034 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
29035 MVT::f32, 2, 76,
29036 21, MVT::f64,
29037 OPC_CheckPredicate, 69,
29038 OPC_CheckPatternPredicate1,
29039 OPC_EmitConvertToTarget0,
29040 OPC_EmitNodeXForm, 14, 1,
29041 OPC_EmitNode1None, TARGET_VAL(LoongArch::VLDI),
29042 MVT::v16i8, 1, 23,
29043 OPC_EmitIntegerI32, LoongArch::sub_64,
29044 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
29045 MVT::f64, 2, 76,
29046 0,
29047 61,
29048 OPC_CheckPredicate, 50,
29049 OPC_SwitchType , 26, MVT::f32,
29050 OPC_CheckPatternPredicate3,
29051 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
29052 OPC_EmitIntegerByHwMode0, 1,
29053 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
29054 1, 0, 2, 9,
29055 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
29056 MVT::f32, 1, 23,
29057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
29058 MVT::f32, 1, 35,
29059 27, MVT::f64,
29060 OPC_CheckPatternPredicate, 9,
29061 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
29062 OPC_EmitIntegerByHwMode0, 1,
29063 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
29064 1, 0, 2, 9,
29065 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
29066 MVT::f64, 1, 23,
29067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
29068 MVT::f64, 1, 35,
29069 0,
29070 30,
29071 OPC_CheckPredicate, 63,
29072 OPC_CheckType, MVT::f64,
29073 OPC_CheckPatternPredicate, 13,
29074 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
29075 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
29076 MVT::f64, 1, 1,
29077 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
29078 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
29079 MVT::f64, 2, 25,
29080 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
29081 MVT::f64, 1, 35,
29082 37,
29083 OPC_CheckPredicate, 50,
29084 OPC_CheckType, MVT::f64,
29085 OPC_CheckPatternPredicate, 13,
29086 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
29087 OPC_EmitIntegerByHwMode0, 1,
29088 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
29089 1, 0, 2, 9,
29090 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
29091 MVT::f32, 1, 23,
29092 OPC_EmitNode1None, TARGET_VAL(LoongArch::FFINT_S_W),
29093 MVT::f32, 1, 35,
29094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
29095 MVT::f64, 1, 66,
29096 0,
29097 66, TARGET_VAL(ISD::FADD),
29098 OPC_RecordChild0,
29099 OPC_RecordChild1,
29100 OPC_SwitchType , 7, MVT::f32,
29101 OPC_CheckPatternPredicate3,
29102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_S),
29103 MVT::f32, 2, 9,
29104 7, MVT::f64,
29105 OPC_CheckPatternPredicate4,
29106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_D),
29107 MVT::f64, 2, 9,
29108 8, 8|128,1,
29109 OPC_CheckPatternPredicate1,
29110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_S),
29111 8|128,1, 2, 9,
29112 8, 26|128,1,
29113 OPC_CheckPatternPredicate1,
29114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_D),
29115 26|128,1, 2, 9,
29116 8, 12|128,1,
29117 OPC_CheckPatternPredicate0,
29118 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_S),
29119 12|128,1, 2, 9,
29120 8, 28|128,1,
29121 OPC_CheckPatternPredicate0,
29122 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_D),
29123 28|128,1, 2, 9,
29124 0,
29125 66, TARGET_VAL(ISD::FSUB),
29126 OPC_RecordChild0,
29127 OPC_RecordChild1,
29128 OPC_SwitchType , 7, MVT::f32,
29129 OPC_CheckPatternPredicate3,
29130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_S),
29131 MVT::f32, 2, 9,
29132 7, MVT::f64,
29133 OPC_CheckPatternPredicate4,
29134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_D),
29135 MVT::f64, 2, 9,
29136 8, 8|128,1,
29137 OPC_CheckPatternPredicate1,
29138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_S),
29139 8|128,1, 2, 9,
29140 8, 26|128,1,
29141 OPC_CheckPatternPredicate1,
29142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_D),
29143 26|128,1, 2, 9,
29144 8, 12|128,1,
29145 OPC_CheckPatternPredicate0,
29146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_S),
29147 12|128,1, 2, 9,
29148 8, 28|128,1,
29149 OPC_CheckPatternPredicate0,
29150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_D),
29151 28|128,1, 2, 9,
29152 0,
29153 66, TARGET_VAL(ISD::FMUL),
29154 OPC_RecordChild0,
29155 OPC_RecordChild1,
29156 OPC_SwitchType , 7, MVT::f32,
29157 OPC_CheckPatternPredicate3,
29158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_S),
29159 MVT::f32, 2, 9,
29160 7, MVT::f64,
29161 OPC_CheckPatternPredicate4,
29162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_D),
29163 MVT::f64, 2, 9,
29164 8, 8|128,1,
29165 OPC_CheckPatternPredicate1,
29166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_S),
29167 8|128,1, 2, 9,
29168 8, 26|128,1,
29169 OPC_CheckPatternPredicate1,
29170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_D),
29171 26|128,1, 2, 9,
29172 8, 12|128,1,
29173 OPC_CheckPatternPredicate0,
29174 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_S),
29175 12|128,1, 2, 9,
29176 8, 28|128,1,
29177 OPC_CheckPatternPredicate0,
29178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_D),
29179 28|128,1, 2, 9,
29180 0,
29181 62, TARGET_VAL(ISD::FCOPYSIGN),
29182 OPC_RecordChild0,
29183 OPC_RecordChild1,
29184 OPC_Scope, 28,
29185 OPC_CheckChild1Type, MVT::f32,
29186 OPC_SwitchType , 7, MVT::f32,
29187 OPC_CheckPatternPredicate3,
29188 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
29189 MVT::f32, 2, 9,
29190 13, MVT::f64,
29191 OPC_CheckPatternPredicate4,
29192 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_D_S),
29193 MVT::f64, 1, 10,
29194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
29195 MVT::f64, 2, 22,
29196 0,
29197 28,
29198 OPC_CheckChild1Type, MVT::f64,
29199 OPC_SwitchType , 7, MVT::f64,
29200 OPC_CheckPatternPredicate4,
29201 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
29202 MVT::f64, 2, 9,
29203 13, MVT::f32,
29204 OPC_CheckPatternPredicate4,
29205 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_S_D),
29206 MVT::f32, 1, 10,
29207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
29208 MVT::f32, 2, 22,
29209 0,
29210 0,
29211 22, TARGET_VAL(ISD::FMAXNUM_IEEE),
29212 OPC_RecordChild0,
29213 OPC_RecordChild1,
29214 OPC_SwitchType , 7, MVT::f32,
29215 OPC_CheckPatternPredicate3,
29216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
29217 MVT::f32, 2, 9,
29218 7, MVT::f64,
29219 OPC_CheckPatternPredicate4,
29220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
29221 MVT::f64, 2, 9,
29222 0,
29223 66, TARGET_VAL(ISD::FMAXNUM),
29224 OPC_RecordChild0,
29225 OPC_RecordChild1,
29226 OPC_SwitchType , 7, MVT::f32,
29227 OPC_CheckPatternPredicate3,
29228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
29229 MVT::f32, 2, 9,
29230 7, MVT::f64,
29231 OPC_CheckPatternPredicate4,
29232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
29233 MVT::f64, 2, 9,
29234 8, 8|128,1,
29235 OPC_CheckPatternPredicate1,
29236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_S),
29237 8|128,1, 2, 9,
29238 8, 26|128,1,
29239 OPC_CheckPatternPredicate1,
29240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_D),
29241 26|128,1, 2, 9,
29242 8, 12|128,1,
29243 OPC_CheckPatternPredicate0,
29244 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_S),
29245 12|128,1, 2, 9,
29246 8, 28|128,1,
29247 OPC_CheckPatternPredicate0,
29248 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_D),
29249 28|128,1, 2, 9,
29250 0,
29251 22, TARGET_VAL(ISD::FMINNUM_IEEE),
29252 OPC_RecordChild0,
29253 OPC_RecordChild1,
29254 OPC_SwitchType , 7, MVT::f32,
29255 OPC_CheckPatternPredicate3,
29256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_S),
29257 MVT::f32, 2, 9,
29258 7, MVT::f64,
29259 OPC_CheckPatternPredicate4,
29260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_D),
29261 MVT::f64, 2, 9,
29262 0,
29263 66, TARGET_VAL(ISD::FMINNUM),
29264 OPC_RecordChild0,
29265 OPC_RecordChild1,
29266 OPC_SwitchType , 7, MVT::f32,
29267 OPC_CheckPatternPredicate3,
29268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_S),
29269 MVT::f32, 2, 9,
29270 7, MVT::f64,
29271 OPC_CheckPatternPredicate4,
29272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_D),
29273 MVT::f64, 2, 9,
29274 8, 8|128,1,
29275 OPC_CheckPatternPredicate1,
29276 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_S),
29277 8|128,1, 2, 9,
29278 8, 26|128,1,
29279 OPC_CheckPatternPredicate1,
29280 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_D),
29281 26|128,1, 2, 9,
29282 8, 12|128,1,
29283 OPC_CheckPatternPredicate0,
29284 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_S),
29285 12|128,1, 2, 9,
29286 8, 28|128,1,
29287 OPC_CheckPatternPredicate0,
29288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_D),
29289 28|128,1, 2, 9,
29290 0,
29291 21, TARGET_VAL(ISD::FABS),
29292 OPC_RecordChild0,
29293 OPC_SwitchType , 7, MVT::f32,
29294 OPC_CheckPatternPredicate3,
29295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_S),
29296 MVT::f32, 1, 1,
29297 7, MVT::f64,
29298 OPC_CheckPatternPredicate4,
29299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_D),
29300 MVT::f64, 1, 1,
29301 0,
29302 65, TARGET_VAL(ISD::FSQRT),
29303 OPC_RecordChild0,
29304 OPC_SwitchType , 7, MVT::f32,
29305 OPC_CheckPatternPredicate3,
29306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_S),
29307 MVT::f32, 1, 1,
29308 7, MVT::f64,
29309 OPC_CheckPatternPredicate4,
29310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_D),
29311 MVT::f64, 1, 1,
29312 8, 8|128,1,
29313 OPC_CheckPatternPredicate1,
29314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
29315 8|128,1, 1, 1,
29316 8, 26|128,1,
29317 OPC_CheckPatternPredicate1,
29318 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
29319 26|128,1, 1, 1,
29320 8, 12|128,1,
29321 OPC_CheckPatternPredicate0,
29322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
29323 12|128,1, 1, 1,
29324 8, 28|128,1,
29325 OPC_CheckPatternPredicate0,
29326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
29327 28|128,1, 1, 1,
29328 0,
29329 21, TARGET_VAL(ISD::FCANONICALIZE),
29330 OPC_RecordChild0,
29331 OPC_SwitchType , 7, MVT::f32,
29332 OPC_CheckPatternPredicate3,
29333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
29334 MVT::f32, 2, 0,
29335 7, MVT::f64,
29336 OPC_CheckPatternPredicate4,
29337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
29338 MVT::f64, 2, 0,
29339 0,
29340 49, TARGET_VAL(LoongArchISD::FTINT),
29341 OPC_RecordChild0,
29342 OPC_Scope, 22,
29343 OPC_CheckChild0Type, MVT::f32,
29344 OPC_SwitchType , 7, MVT::f32,
29345 OPC_CheckPatternPredicate3,
29346 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_S),
29347 MVT::f32, 1, 1,
29348 7, MVT::f64,
29349 OPC_CheckPatternPredicate4,
29350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_S),
29351 MVT::f64, 1, 1,
29352 0,
29353 22,
29354 OPC_CheckChild0Type, MVT::f64,
29355 OPC_SwitchType , 7, MVT::f32,
29356 OPC_CheckPatternPredicate4,
29357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_D),
29358 MVT::f32, 1, 1,
29359 7, MVT::f64,
29360 OPC_CheckPatternPredicate4,
29361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_D),
29362 MVT::f64, 1, 1,
29363 0,
29364 0,
29365 69, TARGET_VAL(LoongArchISD::FRECIPE),
29366 OPC_RecordChild0,
29367 OPC_SwitchType , 9, MVT::f32,
29368 OPC_CheckChild0Type, MVT::f32,
29369 OPC_CheckPatternPredicate7,
29370 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_S),
29371 MVT::f32, 1, 1,
29372 9, MVT::f64,
29373 OPC_CheckChild0Type, MVT::f64,
29374 OPC_CheckPatternPredicate7,
29375 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_D),
29376 MVT::f64, 1, 1,
29377 8, 8|128,1,
29378 OPC_CheckPatternPredicate7,
29379 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_S),
29380 8|128,1, 1, 1,
29381 8, 26|128,1,
29382 OPC_CheckPatternPredicate7,
29383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_D),
29384 26|128,1, 1, 1,
29385 8, 12|128,1,
29386 OPC_CheckPatternPredicate7,
29387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_S),
29388 12|128,1, 1, 1,
29389 8, 28|128,1,
29390 OPC_CheckPatternPredicate7,
29391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_D),
29392 28|128,1, 1, 1,
29393 0,
29394 69, TARGET_VAL(LoongArchISD::FRSQRTE),
29395 OPC_RecordChild0,
29396 OPC_SwitchType , 9, MVT::f32,
29397 OPC_CheckChild0Type, MVT::f32,
29398 OPC_CheckPatternPredicate7,
29399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_S),
29400 MVT::f32, 1, 1,
29401 9, MVT::f64,
29402 OPC_CheckChild0Type, MVT::f64,
29403 OPC_CheckPatternPredicate7,
29404 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_D),
29405 MVT::f64, 1, 1,
29406 8, 8|128,1,
29407 OPC_CheckPatternPredicate7,
29408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_S),
29409 8|128,1, 1, 1,
29410 8, 26|128,1,
29411 OPC_CheckPatternPredicate7,
29412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_D),
29413 26|128,1, 1, 1,
29414 8, 12|128,1,
29415 OPC_CheckPatternPredicate7,
29416 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_S),
29417 12|128,1, 1, 1,
29418 8, 28|128,1,
29419 OPC_CheckPatternPredicate7,
29420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_D),
29421 28|128,1, 1, 1,
29422 0,
29423 21, TARGET_VAL(LoongArchISD::SITOF),
29424 OPC_RecordChild0,
29425 OPC_SwitchType , 7, MVT::f32,
29426 OPC_CheckPatternPredicate3,
29427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
29428 MVT::f32, 1, 1,
29429 7, MVT::f64,
29430 OPC_CheckPatternPredicate4,
29431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
29432 MVT::f64, 1, 1,
29433 0,
29434 11, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
29435 OPC_RecordChild0,
29436 OPC_CheckChild0TypeByHwMode, 1,
29437 OPC_CheckPatternPredicate, 12,
29438 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
29439 MVT::f32, 1, 1,
29440 23, TARGET_VAL(ISD::FRINT),
29441 OPC_RecordChild0,
29442 OPC_SwitchType , 8, MVT::f32,
29443 OPC_CheckPatternPredicate, 12,
29444 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_S),
29445 MVT::f32, 1, 1,
29446 8, MVT::f64,
29447 OPC_CheckPatternPredicate, 9,
29448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_D),
29449 MVT::f64, 1, 1,
29450 0,
29451 10, TARGET_VAL(LoongArchISD::MOVGR2FR_W),
29452 OPC_RecordChild0,
29453 OPC_CheckChild0TypeI32,
29454 OPC_CheckPatternPredicate, 14,
29455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
29456 MVT::f32, 1, 1,
29457 10, TARGET_VAL(ISD::FP_ROUND),
29458 OPC_RecordChild0,
29459 OPC_CheckType, MVT::f32,
29460 OPC_CheckPatternPredicate4,
29461 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_S_D),
29462 MVT::f32, 1, 1,
29463 10, TARGET_VAL(ISD::FP_EXTEND),
29464 OPC_RecordChild0,
29465 OPC_CheckType, MVT::f64,
29466 OPC_CheckPatternPredicate4,
29467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
29468 MVT::f64, 1, 1,
29469 11, TARGET_VAL(LoongArchISD::MOVGR2FR_D),
29470 OPC_RecordChild0,
29471 OPC_CheckChild0TypeByHwMode, 1,
29472 OPC_CheckPatternPredicate, 9,
29473 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
29474 MVT::f64, 1, 1,
29475 17, TARGET_VAL(LoongArchISD::MOVGR2FR_D_LO_HI),
29476 OPC_RecordChild0,
29477 OPC_CheckChild0TypeI32,
29478 OPC_RecordChild1,
29479 OPC_CheckPatternPredicate, 13,
29480 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
29481 MVT::f64, 1, 1,
29482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
29483 MVT::f64, 2, 14,
29484 113, TARGET_VAL(ISD::FCEIL),
29485 OPC_RecordChild0,
29486 OPC_SwitchType , 31, MVT::f32,
29487 OPC_CheckPatternPredicate1,
29488 OPC_EmitIntegerI32, LoongArch::sub_32,
29489 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
29490 MVT::v16i8, 2, 9,
29491 OPC_EmitIntegerByHwMode0, 0,
29492 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
29493 MVT::v16i8, 2, 49,
29494 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRP_S),
29495 MVT::v16i8, 1, 66,
29496 OPC_EmitIntegerI32, LoongArch::sub_32,
29497 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
29498 MVT::f32, 2, 114,
29499 31, MVT::f64,
29500 OPC_CheckPatternPredicate1,
29501 OPC_EmitIntegerI32, LoongArch::sub_64,
29502 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
29503 MVT::v16i8, 2, 9,
29504 OPC_EmitIntegerByHwMode0, 0,
29505 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
29506 MVT::v16i8, 2, 49,
29507 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRP_D),
29508 MVT::v16i8, 1, 66,
29509 OPC_EmitIntegerI32, LoongArch::sub_64,
29510 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
29511 MVT::f64, 2, 114,
29512 8, 8|128,1,
29513 OPC_CheckPatternPredicate1,
29514 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_S),
29515 8|128,1, 1, 1,
29516 8, 26|128,1,
29517 OPC_CheckPatternPredicate1,
29518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_D),
29519 26|128,1, 1, 1,
29520 8, 12|128,1,
29521 OPC_CheckPatternPredicate0,
29522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_S),
29523 12|128,1, 1, 1,
29524 8, 28|128,1,
29525 OPC_CheckPatternPredicate0,
29526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_D),
29527 28|128,1, 1, 1,
29528 0,
29529 113, TARGET_VAL(ISD::FFLOOR),
29530 OPC_RecordChild0,
29531 OPC_SwitchType , 31, MVT::f32,
29532 OPC_CheckPatternPredicate1,
29533 OPC_EmitIntegerI32, LoongArch::sub_32,
29534 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
29535 MVT::v16i8, 2, 9,
29536 OPC_EmitIntegerByHwMode0, 0,
29537 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
29538 MVT::v16i8, 2, 49,
29539 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRM_S),
29540 MVT::v16i8, 1, 66,
29541 OPC_EmitIntegerI32, LoongArch::sub_32,
29542 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
29543 MVT::f32, 2, 114,
29544 31, MVT::f64,
29545 OPC_CheckPatternPredicate1,
29546 OPC_EmitIntegerI32, LoongArch::sub_64,
29547 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
29548 MVT::v16i8, 2, 9,
29549 OPC_EmitIntegerByHwMode0, 0,
29550 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
29551 MVT::v16i8, 2, 49,
29552 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRM_D),
29553 MVT::v16i8, 1, 66,
29554 OPC_EmitIntegerI32, LoongArch::sub_64,
29555 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
29556 MVT::f64, 2, 114,
29557 8, 8|128,1,
29558 OPC_CheckPatternPredicate1,
29559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_S),
29560 8|128,1, 1, 1,
29561 8, 26|128,1,
29562 OPC_CheckPatternPredicate1,
29563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_D),
29564 26|128,1, 1, 1,
29565 8, 12|128,1,
29566 OPC_CheckPatternPredicate0,
29567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_S),
29568 12|128,1, 1, 1,
29569 8, 28|128,1,
29570 OPC_CheckPatternPredicate0,
29571 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_D),
29572 28|128,1, 1, 1,
29573 0,
29574 113, TARGET_VAL(ISD::FTRUNC),
29575 OPC_RecordChild0,
29576 OPC_SwitchType , 31, MVT::f32,
29577 OPC_CheckPatternPredicate1,
29578 OPC_EmitIntegerI32, LoongArch::sub_32,
29579 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
29580 MVT::v16i8, 2, 9,
29581 OPC_EmitIntegerByHwMode0, 0,
29582 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
29583 MVT::v16i8, 2, 49,
29584 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
29585 MVT::v16i8, 1, 66,
29586 OPC_EmitIntegerI32, LoongArch::sub_32,
29587 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
29588 MVT::f32, 2, 114,
29589 31, MVT::f64,
29590 OPC_CheckPatternPredicate1,
29591 OPC_EmitIntegerI32, LoongArch::sub_64,
29592 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
29593 MVT::v16i8, 2, 9,
29594 OPC_EmitIntegerByHwMode0, 0,
29595 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
29596 MVT::v16i8, 2, 49,
29597 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
29598 MVT::v16i8, 1, 66,
29599 OPC_EmitIntegerI32, LoongArch::sub_64,
29600 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
29601 MVT::f64, 2, 114,
29602 8, 8|128,1,
29603 OPC_CheckPatternPredicate1,
29604 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
29605 8|128,1, 1, 1,
29606 8, 26|128,1,
29607 OPC_CheckPatternPredicate1,
29608 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
29609 26|128,1, 1, 1,
29610 8, 12|128,1,
29611 OPC_CheckPatternPredicate0,
29612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_S),
29613 12|128,1, 1, 1,
29614 8, 28|128,1,
29615 OPC_CheckPatternPredicate0,
29616 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_D),
29617 28|128,1, 1, 1,
29618 0,
29619 113, TARGET_VAL(ISD::FROUNDEVEN),
29620 OPC_RecordChild0,
29621 OPC_SwitchType , 31, MVT::f32,
29622 OPC_CheckPatternPredicate1,
29623 OPC_EmitIntegerI32, LoongArch::sub_32,
29624 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
29625 MVT::v16i8, 2, 9,
29626 OPC_EmitIntegerByHwMode0, 0,
29627 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
29628 MVT::v16i8, 2, 49,
29629 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
29630 MVT::v16i8, 1, 66,
29631 OPC_EmitIntegerI32, LoongArch::sub_32,
29632 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
29633 MVT::f32, 2, 114,
29634 31, MVT::f64,
29635 OPC_CheckPatternPredicate1,
29636 OPC_EmitIntegerI32, LoongArch::sub_64,
29637 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
29638 MVT::v16i8, 2, 9,
29639 OPC_EmitIntegerByHwMode0, 0,
29640 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
29641 MVT::v16i8, 2, 49,
29642 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
29643 MVT::v16i8, 1, 66,
29644 OPC_EmitIntegerI32, LoongArch::sub_64,
29645 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
29646 MVT::f64, 2, 114,
29647 8, 8|128,1,
29648 OPC_CheckPatternPredicate1,
29649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
29650 8|128,1, 1, 1,
29651 8, 26|128,1,
29652 OPC_CheckPatternPredicate1,
29653 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
29654 26|128,1, 1, 1,
29655 8, 12|128,1,
29656 OPC_CheckPatternPredicate0,
29657 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_S),
29658 12|128,1, 1, 1,
29659 8, 28|128,1,
29660 OPC_CheckPatternPredicate0,
29661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_D),
29662 28|128,1, 1, 1,
29663 0,
29664 11, TARGET_VAL(LoongArchISD::BUILD_PAIR_F64),
29665 OPC_RecordChild0,
29666 OPC_CheckChild0TypeI32,
29667 OPC_RecordChild1,
29668 OPC_CheckPatternPredicate, 13,
29669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BuildPairF64Pseudo),
29670 MVT::f64, 2, 9,
29671 44|128,121, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
29672 OPC_Scope, 117|128,72,
29673 OPC_MoveChild0,
29674 OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
29675 OPC_RecordChild0,
29676 OPC_MoveChild1,
29677 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29678 OPC_RecordChild0,
29679 OPC_Scope, 68|128,54,
29680 OPC_CheckChild0Type, MVT::v32i8,
29681 OPC_Scope, 50|128,3,
29682 OPC_CheckChild1Integer, 0,
29683 OPC_CheckTypeByHwMode0,
29684 OPC_MoveParent,
29685 OPC_Scope, 25,
29686 OPC_CheckChild2Integer, 0,
29687 OPC_MoveSibling1,
29688 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29689 OPC_CheckChild0Same, 1,
29690 OPC_CheckChild1Integer, 16,
29691 OPC_CheckTypeByHwMode0,
29692 OPC_MoveParent,
29693 OPC_CheckChild2Integer, 16,
29694 OPC_CheckType, MVT::v32i8,
29695 OPC_CheckPatternPredicate0,
29696 OPC_EmitIntegerByHwMode0, 0,
29697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29698 MVT::v32i8, 3, 24,
29699 25,
29700 OPC_CheckChild2Integer, 1,
29701 OPC_MoveSibling1,
29702 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29703 OPC_CheckChild0Same, 1,
29704 OPC_CheckChild1Integer, 16,
29705 OPC_CheckTypeByHwMode0,
29706 OPC_MoveParent,
29707 OPC_CheckChild2Integer, 17,
29708 OPC_CheckType, MVT::v32i8,
29709 OPC_CheckPatternPredicate0,
29710 OPC_EmitIntegerByHwMode0, 16,
29711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29712 MVT::v32i8, 3, 24,
29713 25,
29714 OPC_CheckChild2Integer, 2,
29715 OPC_MoveSibling1,
29716 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29717 OPC_CheckChild0Same, 1,
29718 OPC_CheckChild1Integer, 16,
29719 OPC_CheckTypeByHwMode0,
29720 OPC_MoveParent,
29721 OPC_CheckChild2Integer, 18,
29722 OPC_CheckType, MVT::v32i8,
29723 OPC_CheckPatternPredicate0,
29724 OPC_EmitIntegerByHwMode0, 32,
29725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29726 MVT::v32i8, 3, 24,
29727 25,
29728 OPC_CheckChild2Integer, 3,
29729 OPC_MoveSibling1,
29730 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29731 OPC_CheckChild0Same, 1,
29732 OPC_CheckChild1Integer, 16,
29733 OPC_CheckTypeByHwMode0,
29734 OPC_MoveParent,
29735 OPC_CheckChild2Integer, 19,
29736 OPC_CheckType, MVT::v32i8,
29737 OPC_CheckPatternPredicate0,
29738 OPC_EmitIntegerByHwMode0, 48,
29739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29740 MVT::v32i8, 3, 24,
29741 26,
29742 OPC_CheckChild2Integer, 4,
29743 OPC_MoveSibling1,
29744 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29745 OPC_CheckChild0Same, 1,
29746 OPC_CheckChild1Integer, 16,
29747 OPC_CheckTypeByHwMode0,
29748 OPC_MoveParent,
29749 OPC_CheckChild2Integer, 20,
29750 OPC_CheckType, MVT::v32i8,
29751 OPC_CheckPatternPredicate0,
29752 OPC_EmitIntegerByHwMode0, 64|128,0,
29753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29754 MVT::v32i8, 3, 24,
29755 26,
29756 OPC_CheckChild2Integer, 5,
29757 OPC_MoveSibling1,
29758 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29759 OPC_CheckChild0Same, 1,
29760 OPC_CheckChild1Integer, 16,
29761 OPC_CheckTypeByHwMode0,
29762 OPC_MoveParent,
29763 OPC_CheckChild2Integer, 21,
29764 OPC_CheckType, MVT::v32i8,
29765 OPC_CheckPatternPredicate0,
29766 OPC_EmitIntegerByHwMode0, 80|128,0,
29767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29768 MVT::v32i8, 3, 24,
29769 26,
29770 OPC_CheckChild2Integer, 6,
29771 OPC_MoveSibling1,
29772 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29773 OPC_CheckChild0Same, 1,
29774 OPC_CheckChild1Integer, 16,
29775 OPC_CheckTypeByHwMode0,
29776 OPC_MoveParent,
29777 OPC_CheckChild2Integer, 22,
29778 OPC_CheckType, MVT::v32i8,
29779 OPC_CheckPatternPredicate0,
29780 OPC_EmitIntegerByHwMode0, 96|128,0,
29781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29782 MVT::v32i8, 3, 24,
29783 26,
29784 OPC_CheckChild2Integer, 7,
29785 OPC_MoveSibling1,
29786 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29787 OPC_CheckChild0Same, 1,
29788 OPC_CheckChild1Integer, 16,
29789 OPC_CheckTypeByHwMode0,
29790 OPC_MoveParent,
29791 OPC_CheckChild2Integer, 23,
29792 OPC_CheckType, MVT::v32i8,
29793 OPC_CheckPatternPredicate0,
29794 OPC_EmitIntegerByHwMode0, 112|128,0,
29795 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29796 MVT::v32i8, 3, 24,
29797 26,
29798 OPC_CheckChild2Integer, 8,
29799 OPC_MoveSibling1,
29800 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29801 OPC_CheckChild0Same, 1,
29802 OPC_CheckChild1Integer, 16,
29803 OPC_CheckTypeByHwMode0,
29804 OPC_MoveParent,
29805 OPC_CheckChild2Integer, 24,
29806 OPC_CheckType, MVT::v32i8,
29807 OPC_CheckPatternPredicate0,
29808 OPC_EmitIntegerByHwMode0, 0|128,1,
29809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29810 MVT::v32i8, 3, 24,
29811 26,
29812 OPC_CheckChild2Integer, 9,
29813 OPC_MoveSibling1,
29814 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29815 OPC_CheckChild0Same, 1,
29816 OPC_CheckChild1Integer, 16,
29817 OPC_CheckTypeByHwMode0,
29818 OPC_MoveParent,
29819 OPC_CheckChild2Integer, 25,
29820 OPC_CheckType, MVT::v32i8,
29821 OPC_CheckPatternPredicate0,
29822 OPC_EmitIntegerByHwMode0, 16|128,1,
29823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29824 MVT::v32i8, 3, 24,
29825 26,
29826 OPC_CheckChild2Integer, 10,
29827 OPC_MoveSibling1,
29828 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29829 OPC_CheckChild0Same, 1,
29830 OPC_CheckChild1Integer, 16,
29831 OPC_CheckTypeByHwMode0,
29832 OPC_MoveParent,
29833 OPC_CheckChild2Integer, 26,
29834 OPC_CheckType, MVT::v32i8,
29835 OPC_CheckPatternPredicate0,
29836 OPC_EmitIntegerByHwMode0, 32|128,1,
29837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29838 MVT::v32i8, 3, 24,
29839 26,
29840 OPC_CheckChild2Integer, 11,
29841 OPC_MoveSibling1,
29842 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29843 OPC_CheckChild0Same, 1,
29844 OPC_CheckChild1Integer, 16,
29845 OPC_CheckTypeByHwMode0,
29846 OPC_MoveParent,
29847 OPC_CheckChild2Integer, 27,
29848 OPC_CheckType, MVT::v32i8,
29849 OPC_CheckPatternPredicate0,
29850 OPC_EmitIntegerByHwMode0, 48|128,1,
29851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29852 MVT::v32i8, 3, 24,
29853 26,
29854 OPC_CheckChild2Integer, 12,
29855 OPC_MoveSibling1,
29856 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29857 OPC_CheckChild0Same, 1,
29858 OPC_CheckChild1Integer, 16,
29859 OPC_CheckTypeByHwMode0,
29860 OPC_MoveParent,
29861 OPC_CheckChild2Integer, 28,
29862 OPC_CheckType, MVT::v32i8,
29863 OPC_CheckPatternPredicate0,
29864 OPC_EmitIntegerByHwMode0, 64|128,1,
29865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29866 MVT::v32i8, 3, 24,
29867 26,
29868 OPC_CheckChild2Integer, 13,
29869 OPC_MoveSibling1,
29870 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29871 OPC_CheckChild0Same, 1,
29872 OPC_CheckChild1Integer, 16,
29873 OPC_CheckTypeByHwMode0,
29874 OPC_MoveParent,
29875 OPC_CheckChild2Integer, 29,
29876 OPC_CheckType, MVT::v32i8,
29877 OPC_CheckPatternPredicate0,
29878 OPC_EmitIntegerByHwMode0, 80|128,1,
29879 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29880 MVT::v32i8, 3, 24,
29881 26,
29882 OPC_CheckChild2Integer, 14,
29883 OPC_MoveSibling1,
29884 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29885 OPC_CheckChild0Same, 1,
29886 OPC_CheckChild1Integer, 16,
29887 OPC_CheckTypeByHwMode0,
29888 OPC_MoveParent,
29889 OPC_CheckChild2Integer, 30,
29890 OPC_CheckType, MVT::v32i8,
29891 OPC_CheckPatternPredicate0,
29892 OPC_EmitIntegerByHwMode0, 96|128,1,
29893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29894 MVT::v32i8, 3, 24,
29895 26,
29896 OPC_CheckChild2Integer, 15,
29897 OPC_MoveSibling1,
29898 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29899 OPC_CheckChild0Same, 1,
29900 OPC_CheckChild1Integer, 16,
29901 OPC_CheckTypeByHwMode0,
29902 OPC_MoveParent,
29903 OPC_CheckChild2Integer, 31,
29904 OPC_CheckType, MVT::v32i8,
29905 OPC_CheckPatternPredicate0,
29906 OPC_EmitIntegerByHwMode0, 112|128,1,
29907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29908 MVT::v32i8, 3, 24,
29909 0,
29910 50|128,3,
29911 OPC_CheckChild1Integer, 1,
29912 OPC_CheckTypeByHwMode0,
29913 OPC_MoveParent,
29914 OPC_Scope, 25,
29915 OPC_CheckChild2Integer, 0,
29916 OPC_MoveSibling1,
29917 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29918 OPC_CheckChild0Same, 1,
29919 OPC_CheckChild1Integer, 17,
29920 OPC_CheckTypeByHwMode0,
29921 OPC_MoveParent,
29922 OPC_CheckChild2Integer, 16,
29923 OPC_CheckType, MVT::v32i8,
29924 OPC_CheckPatternPredicate0,
29925 OPC_EmitIntegerByHwMode0, 1,
29926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29927 MVT::v32i8, 3, 24,
29928 25,
29929 OPC_CheckChild2Integer, 1,
29930 OPC_MoveSibling1,
29931 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29932 OPC_CheckChild0Same, 1,
29933 OPC_CheckChild1Integer, 17,
29934 OPC_CheckTypeByHwMode0,
29935 OPC_MoveParent,
29936 OPC_CheckChild2Integer, 17,
29937 OPC_CheckType, MVT::v32i8,
29938 OPC_CheckPatternPredicate0,
29939 OPC_EmitIntegerByHwMode0, 17,
29940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29941 MVT::v32i8, 3, 24,
29942 25,
29943 OPC_CheckChild2Integer, 2,
29944 OPC_MoveSibling1,
29945 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29946 OPC_CheckChild0Same, 1,
29947 OPC_CheckChild1Integer, 17,
29948 OPC_CheckTypeByHwMode0,
29949 OPC_MoveParent,
29950 OPC_CheckChild2Integer, 18,
29951 OPC_CheckType, MVT::v32i8,
29952 OPC_CheckPatternPredicate0,
29953 OPC_EmitIntegerByHwMode0, 33,
29954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29955 MVT::v32i8, 3, 24,
29956 25,
29957 OPC_CheckChild2Integer, 3,
29958 OPC_MoveSibling1,
29959 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29960 OPC_CheckChild0Same, 1,
29961 OPC_CheckChild1Integer, 17,
29962 OPC_CheckTypeByHwMode0,
29963 OPC_MoveParent,
29964 OPC_CheckChild2Integer, 19,
29965 OPC_CheckType, MVT::v32i8,
29966 OPC_CheckPatternPredicate0,
29967 OPC_EmitIntegerByHwMode0, 49,
29968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29969 MVT::v32i8, 3, 24,
29970 26,
29971 OPC_CheckChild2Integer, 4,
29972 OPC_MoveSibling1,
29973 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29974 OPC_CheckChild0Same, 1,
29975 OPC_CheckChild1Integer, 17,
29976 OPC_CheckTypeByHwMode0,
29977 OPC_MoveParent,
29978 OPC_CheckChild2Integer, 20,
29979 OPC_CheckType, MVT::v32i8,
29980 OPC_CheckPatternPredicate0,
29981 OPC_EmitIntegerByHwMode0, 65|128,0,
29982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29983 MVT::v32i8, 3, 24,
29984 26,
29985 OPC_CheckChild2Integer, 5,
29986 OPC_MoveSibling1,
29987 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
29988 OPC_CheckChild0Same, 1,
29989 OPC_CheckChild1Integer, 17,
29990 OPC_CheckTypeByHwMode0,
29991 OPC_MoveParent,
29992 OPC_CheckChild2Integer, 21,
29993 OPC_CheckType, MVT::v32i8,
29994 OPC_CheckPatternPredicate0,
29995 OPC_EmitIntegerByHwMode0, 81|128,0,
29996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
29997 MVT::v32i8, 3, 24,
29998 26,
29999 OPC_CheckChild2Integer, 6,
30000 OPC_MoveSibling1,
30001 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30002 OPC_CheckChild0Same, 1,
30003 OPC_CheckChild1Integer, 17,
30004 OPC_CheckTypeByHwMode0,
30005 OPC_MoveParent,
30006 OPC_CheckChild2Integer, 22,
30007 OPC_CheckType, MVT::v32i8,
30008 OPC_CheckPatternPredicate0,
30009 OPC_EmitIntegerByHwMode0, 97|128,0,
30010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30011 MVT::v32i8, 3, 24,
30012 26,
30013 OPC_CheckChild2Integer, 7,
30014 OPC_MoveSibling1,
30015 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30016 OPC_CheckChild0Same, 1,
30017 OPC_CheckChild1Integer, 17,
30018 OPC_CheckTypeByHwMode0,
30019 OPC_MoveParent,
30020 OPC_CheckChild2Integer, 23,
30021 OPC_CheckType, MVT::v32i8,
30022 OPC_CheckPatternPredicate0,
30023 OPC_EmitIntegerByHwMode0, 113|128,0,
30024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30025 MVT::v32i8, 3, 24,
30026 26,
30027 OPC_CheckChild2Integer, 8,
30028 OPC_MoveSibling1,
30029 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30030 OPC_CheckChild0Same, 1,
30031 OPC_CheckChild1Integer, 17,
30032 OPC_CheckTypeByHwMode0,
30033 OPC_MoveParent,
30034 OPC_CheckChild2Integer, 24,
30035 OPC_CheckType, MVT::v32i8,
30036 OPC_CheckPatternPredicate0,
30037 OPC_EmitIntegerByHwMode0, 1|128,1,
30038 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30039 MVT::v32i8, 3, 24,
30040 26,
30041 OPC_CheckChild2Integer, 9,
30042 OPC_MoveSibling1,
30043 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30044 OPC_CheckChild0Same, 1,
30045 OPC_CheckChild1Integer, 17,
30046 OPC_CheckTypeByHwMode0,
30047 OPC_MoveParent,
30048 OPC_CheckChild2Integer, 25,
30049 OPC_CheckType, MVT::v32i8,
30050 OPC_CheckPatternPredicate0,
30051 OPC_EmitIntegerByHwMode0, 17|128,1,
30052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30053 MVT::v32i8, 3, 24,
30054 26,
30055 OPC_CheckChild2Integer, 10,
30056 OPC_MoveSibling1,
30057 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30058 OPC_CheckChild0Same, 1,
30059 OPC_CheckChild1Integer, 17,
30060 OPC_CheckTypeByHwMode0,
30061 OPC_MoveParent,
30062 OPC_CheckChild2Integer, 26,
30063 OPC_CheckType, MVT::v32i8,
30064 OPC_CheckPatternPredicate0,
30065 OPC_EmitIntegerByHwMode0, 33|128,1,
30066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30067 MVT::v32i8, 3, 24,
30068 26,
30069 OPC_CheckChild2Integer, 11,
30070 OPC_MoveSibling1,
30071 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30072 OPC_CheckChild0Same, 1,
30073 OPC_CheckChild1Integer, 17,
30074 OPC_CheckTypeByHwMode0,
30075 OPC_MoveParent,
30076 OPC_CheckChild2Integer, 27,
30077 OPC_CheckType, MVT::v32i8,
30078 OPC_CheckPatternPredicate0,
30079 OPC_EmitIntegerByHwMode0, 49|128,1,
30080 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30081 MVT::v32i8, 3, 24,
30082 26,
30083 OPC_CheckChild2Integer, 12,
30084 OPC_MoveSibling1,
30085 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30086 OPC_CheckChild0Same, 1,
30087 OPC_CheckChild1Integer, 17,
30088 OPC_CheckTypeByHwMode0,
30089 OPC_MoveParent,
30090 OPC_CheckChild2Integer, 28,
30091 OPC_CheckType, MVT::v32i8,
30092 OPC_CheckPatternPredicate0,
30093 OPC_EmitIntegerByHwMode0, 65|128,1,
30094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30095 MVT::v32i8, 3, 24,
30096 26,
30097 OPC_CheckChild2Integer, 13,
30098 OPC_MoveSibling1,
30099 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30100 OPC_CheckChild0Same, 1,
30101 OPC_CheckChild1Integer, 17,
30102 OPC_CheckTypeByHwMode0,
30103 OPC_MoveParent,
30104 OPC_CheckChild2Integer, 29,
30105 OPC_CheckType, MVT::v32i8,
30106 OPC_CheckPatternPredicate0,
30107 OPC_EmitIntegerByHwMode0, 81|128,1,
30108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30109 MVT::v32i8, 3, 24,
30110 26,
30111 OPC_CheckChild2Integer, 14,
30112 OPC_MoveSibling1,
30113 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30114 OPC_CheckChild0Same, 1,
30115 OPC_CheckChild1Integer, 17,
30116 OPC_CheckTypeByHwMode0,
30117 OPC_MoveParent,
30118 OPC_CheckChild2Integer, 30,
30119 OPC_CheckType, MVT::v32i8,
30120 OPC_CheckPatternPredicate0,
30121 OPC_EmitIntegerByHwMode0, 97|128,1,
30122 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30123 MVT::v32i8, 3, 24,
30124 26,
30125 OPC_CheckChild2Integer, 15,
30126 OPC_MoveSibling1,
30127 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30128 OPC_CheckChild0Same, 1,
30129 OPC_CheckChild1Integer, 17,
30130 OPC_CheckTypeByHwMode0,
30131 OPC_MoveParent,
30132 OPC_CheckChild2Integer, 31,
30133 OPC_CheckType, MVT::v32i8,
30134 OPC_CheckPatternPredicate0,
30135 OPC_EmitIntegerByHwMode0, 113|128,1,
30136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30137 MVT::v32i8, 3, 24,
30138 0,
30139 50|128,3,
30140 OPC_CheckChild1Integer, 2,
30141 OPC_CheckTypeByHwMode0,
30142 OPC_MoveParent,
30143 OPC_Scope, 25,
30144 OPC_CheckChild2Integer, 0,
30145 OPC_MoveSibling1,
30146 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30147 OPC_CheckChild0Same, 1,
30148 OPC_CheckChild1Integer, 18,
30149 OPC_CheckTypeByHwMode0,
30150 OPC_MoveParent,
30151 OPC_CheckChild2Integer, 16,
30152 OPC_CheckType, MVT::v32i8,
30153 OPC_CheckPatternPredicate0,
30154 OPC_EmitIntegerByHwMode0, 2,
30155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30156 MVT::v32i8, 3, 24,
30157 25,
30158 OPC_CheckChild2Integer, 1,
30159 OPC_MoveSibling1,
30160 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30161 OPC_CheckChild0Same, 1,
30162 OPC_CheckChild1Integer, 18,
30163 OPC_CheckTypeByHwMode0,
30164 OPC_MoveParent,
30165 OPC_CheckChild2Integer, 17,
30166 OPC_CheckType, MVT::v32i8,
30167 OPC_CheckPatternPredicate0,
30168 OPC_EmitIntegerByHwMode0, 18,
30169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30170 MVT::v32i8, 3, 24,
30171 25,
30172 OPC_CheckChild2Integer, 2,
30173 OPC_MoveSibling1,
30174 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30175 OPC_CheckChild0Same, 1,
30176 OPC_CheckChild1Integer, 18,
30177 OPC_CheckTypeByHwMode0,
30178 OPC_MoveParent,
30179 OPC_CheckChild2Integer, 18,
30180 OPC_CheckType, MVT::v32i8,
30181 OPC_CheckPatternPredicate0,
30182 OPC_EmitIntegerByHwMode0, 34,
30183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30184 MVT::v32i8, 3, 24,
30185 25,
30186 OPC_CheckChild2Integer, 3,
30187 OPC_MoveSibling1,
30188 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30189 OPC_CheckChild0Same, 1,
30190 OPC_CheckChild1Integer, 18,
30191 OPC_CheckTypeByHwMode0,
30192 OPC_MoveParent,
30193 OPC_CheckChild2Integer, 19,
30194 OPC_CheckType, MVT::v32i8,
30195 OPC_CheckPatternPredicate0,
30196 OPC_EmitIntegerByHwMode0, 50,
30197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30198 MVT::v32i8, 3, 24,
30199 26,
30200 OPC_CheckChild2Integer, 4,
30201 OPC_MoveSibling1,
30202 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30203 OPC_CheckChild0Same, 1,
30204 OPC_CheckChild1Integer, 18,
30205 OPC_CheckTypeByHwMode0,
30206 OPC_MoveParent,
30207 OPC_CheckChild2Integer, 20,
30208 OPC_CheckType, MVT::v32i8,
30209 OPC_CheckPatternPredicate0,
30210 OPC_EmitIntegerByHwMode0, 66|128,0,
30211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30212 MVT::v32i8, 3, 24,
30213 26,
30214 OPC_CheckChild2Integer, 5,
30215 OPC_MoveSibling1,
30216 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30217 OPC_CheckChild0Same, 1,
30218 OPC_CheckChild1Integer, 18,
30219 OPC_CheckTypeByHwMode0,
30220 OPC_MoveParent,
30221 OPC_CheckChild2Integer, 21,
30222 OPC_CheckType, MVT::v32i8,
30223 OPC_CheckPatternPredicate0,
30224 OPC_EmitIntegerByHwMode0, 82|128,0,
30225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30226 MVT::v32i8, 3, 24,
30227 26,
30228 OPC_CheckChild2Integer, 6,
30229 OPC_MoveSibling1,
30230 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30231 OPC_CheckChild0Same, 1,
30232 OPC_CheckChild1Integer, 18,
30233 OPC_CheckTypeByHwMode0,
30234 OPC_MoveParent,
30235 OPC_CheckChild2Integer, 22,
30236 OPC_CheckType, MVT::v32i8,
30237 OPC_CheckPatternPredicate0,
30238 OPC_EmitIntegerByHwMode0, 98|128,0,
30239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30240 MVT::v32i8, 3, 24,
30241 26,
30242 OPC_CheckChild2Integer, 7,
30243 OPC_MoveSibling1,
30244 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30245 OPC_CheckChild0Same, 1,
30246 OPC_CheckChild1Integer, 18,
30247 OPC_CheckTypeByHwMode0,
30248 OPC_MoveParent,
30249 OPC_CheckChild2Integer, 23,
30250 OPC_CheckType, MVT::v32i8,
30251 OPC_CheckPatternPredicate0,
30252 OPC_EmitIntegerByHwMode0, 114|128,0,
30253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30254 MVT::v32i8, 3, 24,
30255 26,
30256 OPC_CheckChild2Integer, 8,
30257 OPC_MoveSibling1,
30258 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30259 OPC_CheckChild0Same, 1,
30260 OPC_CheckChild1Integer, 18,
30261 OPC_CheckTypeByHwMode0,
30262 OPC_MoveParent,
30263 OPC_CheckChild2Integer, 24,
30264 OPC_CheckType, MVT::v32i8,
30265 OPC_CheckPatternPredicate0,
30266 OPC_EmitIntegerByHwMode0, 2|128,1,
30267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30268 MVT::v32i8, 3, 24,
30269 26,
30270 OPC_CheckChild2Integer, 9,
30271 OPC_MoveSibling1,
30272 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30273 OPC_CheckChild0Same, 1,
30274 OPC_CheckChild1Integer, 18,
30275 OPC_CheckTypeByHwMode0,
30276 OPC_MoveParent,
30277 OPC_CheckChild2Integer, 25,
30278 OPC_CheckType, MVT::v32i8,
30279 OPC_CheckPatternPredicate0,
30280 OPC_EmitIntegerByHwMode0, 18|128,1,
30281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30282 MVT::v32i8, 3, 24,
30283 26,
30284 OPC_CheckChild2Integer, 10,
30285 OPC_MoveSibling1,
30286 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30287 OPC_CheckChild0Same, 1,
30288 OPC_CheckChild1Integer, 18,
30289 OPC_CheckTypeByHwMode0,
30290 OPC_MoveParent,
30291 OPC_CheckChild2Integer, 26,
30292 OPC_CheckType, MVT::v32i8,
30293 OPC_CheckPatternPredicate0,
30294 OPC_EmitIntegerByHwMode0, 34|128,1,
30295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30296 MVT::v32i8, 3, 24,
30297 26,
30298 OPC_CheckChild2Integer, 11,
30299 OPC_MoveSibling1,
30300 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30301 OPC_CheckChild0Same, 1,
30302 OPC_CheckChild1Integer, 18,
30303 OPC_CheckTypeByHwMode0,
30304 OPC_MoveParent,
30305 OPC_CheckChild2Integer, 27,
30306 OPC_CheckType, MVT::v32i8,
30307 OPC_CheckPatternPredicate0,
30308 OPC_EmitIntegerByHwMode0, 50|128,1,
30309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30310 MVT::v32i8, 3, 24,
30311 26,
30312 OPC_CheckChild2Integer, 12,
30313 OPC_MoveSibling1,
30314 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30315 OPC_CheckChild0Same, 1,
30316 OPC_CheckChild1Integer, 18,
30317 OPC_CheckTypeByHwMode0,
30318 OPC_MoveParent,
30319 OPC_CheckChild2Integer, 28,
30320 OPC_CheckType, MVT::v32i8,
30321 OPC_CheckPatternPredicate0,
30322 OPC_EmitIntegerByHwMode0, 66|128,1,
30323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30324 MVT::v32i8, 3, 24,
30325 26,
30326 OPC_CheckChild2Integer, 13,
30327 OPC_MoveSibling1,
30328 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30329 OPC_CheckChild0Same, 1,
30330 OPC_CheckChild1Integer, 18,
30331 OPC_CheckTypeByHwMode0,
30332 OPC_MoveParent,
30333 OPC_CheckChild2Integer, 29,
30334 OPC_CheckType, MVT::v32i8,
30335 OPC_CheckPatternPredicate0,
30336 OPC_EmitIntegerByHwMode0, 82|128,1,
30337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30338 MVT::v32i8, 3, 24,
30339 26,
30340 OPC_CheckChild2Integer, 14,
30341 OPC_MoveSibling1,
30342 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30343 OPC_CheckChild0Same, 1,
30344 OPC_CheckChild1Integer, 18,
30345 OPC_CheckTypeByHwMode0,
30346 OPC_MoveParent,
30347 OPC_CheckChild2Integer, 30,
30348 OPC_CheckType, MVT::v32i8,
30349 OPC_CheckPatternPredicate0,
30350 OPC_EmitIntegerByHwMode0, 98|128,1,
30351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30352 MVT::v32i8, 3, 24,
30353 26,
30354 OPC_CheckChild2Integer, 15,
30355 OPC_MoveSibling1,
30356 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30357 OPC_CheckChild0Same, 1,
30358 OPC_CheckChild1Integer, 18,
30359 OPC_CheckTypeByHwMode0,
30360 OPC_MoveParent,
30361 OPC_CheckChild2Integer, 31,
30362 OPC_CheckType, MVT::v32i8,
30363 OPC_CheckPatternPredicate0,
30364 OPC_EmitIntegerByHwMode0, 114|128,1,
30365 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30366 MVT::v32i8, 3, 24,
30367 0,
30368 50|128,3,
30369 OPC_CheckChild1Integer, 3,
30370 OPC_CheckTypeByHwMode0,
30371 OPC_MoveParent,
30372 OPC_Scope, 25,
30373 OPC_CheckChild2Integer, 0,
30374 OPC_MoveSibling1,
30375 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30376 OPC_CheckChild0Same, 1,
30377 OPC_CheckChild1Integer, 19,
30378 OPC_CheckTypeByHwMode0,
30379 OPC_MoveParent,
30380 OPC_CheckChild2Integer, 16,
30381 OPC_CheckType, MVT::v32i8,
30382 OPC_CheckPatternPredicate0,
30383 OPC_EmitIntegerByHwMode0, 3,
30384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30385 MVT::v32i8, 3, 24,
30386 25,
30387 OPC_CheckChild2Integer, 1,
30388 OPC_MoveSibling1,
30389 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30390 OPC_CheckChild0Same, 1,
30391 OPC_CheckChild1Integer, 19,
30392 OPC_CheckTypeByHwMode0,
30393 OPC_MoveParent,
30394 OPC_CheckChild2Integer, 17,
30395 OPC_CheckType, MVT::v32i8,
30396 OPC_CheckPatternPredicate0,
30397 OPC_EmitIntegerByHwMode0, 19,
30398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30399 MVT::v32i8, 3, 24,
30400 25,
30401 OPC_CheckChild2Integer, 2,
30402 OPC_MoveSibling1,
30403 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30404 OPC_CheckChild0Same, 1,
30405 OPC_CheckChild1Integer, 19,
30406 OPC_CheckTypeByHwMode0,
30407 OPC_MoveParent,
30408 OPC_CheckChild2Integer, 18,
30409 OPC_CheckType, MVT::v32i8,
30410 OPC_CheckPatternPredicate0,
30411 OPC_EmitIntegerByHwMode0, 35,
30412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30413 MVT::v32i8, 3, 24,
30414 25,
30415 OPC_CheckChild2Integer, 3,
30416 OPC_MoveSibling1,
30417 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30418 OPC_CheckChild0Same, 1,
30419 OPC_CheckChild1Integer, 19,
30420 OPC_CheckTypeByHwMode0,
30421 OPC_MoveParent,
30422 OPC_CheckChild2Integer, 19,
30423 OPC_CheckType, MVT::v32i8,
30424 OPC_CheckPatternPredicate0,
30425 OPC_EmitIntegerByHwMode0, 51,
30426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30427 MVT::v32i8, 3, 24,
30428 26,
30429 OPC_CheckChild2Integer, 4,
30430 OPC_MoveSibling1,
30431 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30432 OPC_CheckChild0Same, 1,
30433 OPC_CheckChild1Integer, 19,
30434 OPC_CheckTypeByHwMode0,
30435 OPC_MoveParent,
30436 OPC_CheckChild2Integer, 20,
30437 OPC_CheckType, MVT::v32i8,
30438 OPC_CheckPatternPredicate0,
30439 OPC_EmitIntegerByHwMode0, 67|128,0,
30440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30441 MVT::v32i8, 3, 24,
30442 26,
30443 OPC_CheckChild2Integer, 5,
30444 OPC_MoveSibling1,
30445 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30446 OPC_CheckChild0Same, 1,
30447 OPC_CheckChild1Integer, 19,
30448 OPC_CheckTypeByHwMode0,
30449 OPC_MoveParent,
30450 OPC_CheckChild2Integer, 21,
30451 OPC_CheckType, MVT::v32i8,
30452 OPC_CheckPatternPredicate0,
30453 OPC_EmitIntegerByHwMode0, 83|128,0,
30454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30455 MVT::v32i8, 3, 24,
30456 26,
30457 OPC_CheckChild2Integer, 6,
30458 OPC_MoveSibling1,
30459 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30460 OPC_CheckChild0Same, 1,
30461 OPC_CheckChild1Integer, 19,
30462 OPC_CheckTypeByHwMode0,
30463 OPC_MoveParent,
30464 OPC_CheckChild2Integer, 22,
30465 OPC_CheckType, MVT::v32i8,
30466 OPC_CheckPatternPredicate0,
30467 OPC_EmitIntegerByHwMode0, 99|128,0,
30468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30469 MVT::v32i8, 3, 24,
30470 26,
30471 OPC_CheckChild2Integer, 7,
30472 OPC_MoveSibling1,
30473 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30474 OPC_CheckChild0Same, 1,
30475 OPC_CheckChild1Integer, 19,
30476 OPC_CheckTypeByHwMode0,
30477 OPC_MoveParent,
30478 OPC_CheckChild2Integer, 23,
30479 OPC_CheckType, MVT::v32i8,
30480 OPC_CheckPatternPredicate0,
30481 OPC_EmitIntegerByHwMode0, 115|128,0,
30482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30483 MVT::v32i8, 3, 24,
30484 26,
30485 OPC_CheckChild2Integer, 8,
30486 OPC_MoveSibling1,
30487 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30488 OPC_CheckChild0Same, 1,
30489 OPC_CheckChild1Integer, 19,
30490 OPC_CheckTypeByHwMode0,
30491 OPC_MoveParent,
30492 OPC_CheckChild2Integer, 24,
30493 OPC_CheckType, MVT::v32i8,
30494 OPC_CheckPatternPredicate0,
30495 OPC_EmitIntegerByHwMode0, 3|128,1,
30496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30497 MVT::v32i8, 3, 24,
30498 26,
30499 OPC_CheckChild2Integer, 9,
30500 OPC_MoveSibling1,
30501 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30502 OPC_CheckChild0Same, 1,
30503 OPC_CheckChild1Integer, 19,
30504 OPC_CheckTypeByHwMode0,
30505 OPC_MoveParent,
30506 OPC_CheckChild2Integer, 25,
30507 OPC_CheckType, MVT::v32i8,
30508 OPC_CheckPatternPredicate0,
30509 OPC_EmitIntegerByHwMode0, 19|128,1,
30510 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30511 MVT::v32i8, 3, 24,
30512 26,
30513 OPC_CheckChild2Integer, 10,
30514 OPC_MoveSibling1,
30515 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30516 OPC_CheckChild0Same, 1,
30517 OPC_CheckChild1Integer, 19,
30518 OPC_CheckTypeByHwMode0,
30519 OPC_MoveParent,
30520 OPC_CheckChild2Integer, 26,
30521 OPC_CheckType, MVT::v32i8,
30522 OPC_CheckPatternPredicate0,
30523 OPC_EmitIntegerByHwMode0, 35|128,1,
30524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30525 MVT::v32i8, 3, 24,
30526 26,
30527 OPC_CheckChild2Integer, 11,
30528 OPC_MoveSibling1,
30529 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30530 OPC_CheckChild0Same, 1,
30531 OPC_CheckChild1Integer, 19,
30532 OPC_CheckTypeByHwMode0,
30533 OPC_MoveParent,
30534 OPC_CheckChild2Integer, 27,
30535 OPC_CheckType, MVT::v32i8,
30536 OPC_CheckPatternPredicate0,
30537 OPC_EmitIntegerByHwMode0, 51|128,1,
30538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30539 MVT::v32i8, 3, 24,
30540 26,
30541 OPC_CheckChild2Integer, 12,
30542 OPC_MoveSibling1,
30543 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30544 OPC_CheckChild0Same, 1,
30545 OPC_CheckChild1Integer, 19,
30546 OPC_CheckTypeByHwMode0,
30547 OPC_MoveParent,
30548 OPC_CheckChild2Integer, 28,
30549 OPC_CheckType, MVT::v32i8,
30550 OPC_CheckPatternPredicate0,
30551 OPC_EmitIntegerByHwMode0, 67|128,1,
30552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30553 MVT::v32i8, 3, 24,
30554 26,
30555 OPC_CheckChild2Integer, 13,
30556 OPC_MoveSibling1,
30557 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30558 OPC_CheckChild0Same, 1,
30559 OPC_CheckChild1Integer, 19,
30560 OPC_CheckTypeByHwMode0,
30561 OPC_MoveParent,
30562 OPC_CheckChild2Integer, 29,
30563 OPC_CheckType, MVT::v32i8,
30564 OPC_CheckPatternPredicate0,
30565 OPC_EmitIntegerByHwMode0, 83|128,1,
30566 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30567 MVT::v32i8, 3, 24,
30568 26,
30569 OPC_CheckChild2Integer, 14,
30570 OPC_MoveSibling1,
30571 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30572 OPC_CheckChild0Same, 1,
30573 OPC_CheckChild1Integer, 19,
30574 OPC_CheckTypeByHwMode0,
30575 OPC_MoveParent,
30576 OPC_CheckChild2Integer, 30,
30577 OPC_CheckType, MVT::v32i8,
30578 OPC_CheckPatternPredicate0,
30579 OPC_EmitIntegerByHwMode0, 99|128,1,
30580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30581 MVT::v32i8, 3, 24,
30582 26,
30583 OPC_CheckChild2Integer, 15,
30584 OPC_MoveSibling1,
30585 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30586 OPC_CheckChild0Same, 1,
30587 OPC_CheckChild1Integer, 19,
30588 OPC_CheckTypeByHwMode0,
30589 OPC_MoveParent,
30590 OPC_CheckChild2Integer, 31,
30591 OPC_CheckType, MVT::v32i8,
30592 OPC_CheckPatternPredicate0,
30593 OPC_EmitIntegerByHwMode0, 115|128,1,
30594 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30595 MVT::v32i8, 3, 24,
30596 0,
30597 50|128,3,
30598 OPC_CheckChild1Integer, 4,
30599 OPC_CheckTypeByHwMode0,
30600 OPC_MoveParent,
30601 OPC_Scope, 25,
30602 OPC_CheckChild2Integer, 0,
30603 OPC_MoveSibling1,
30604 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30605 OPC_CheckChild0Same, 1,
30606 OPC_CheckChild1Integer, 20,
30607 OPC_CheckTypeByHwMode0,
30608 OPC_MoveParent,
30609 OPC_CheckChild2Integer, 16,
30610 OPC_CheckType, MVT::v32i8,
30611 OPC_CheckPatternPredicate0,
30612 OPC_EmitIntegerByHwMode0, 4,
30613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30614 MVT::v32i8, 3, 24,
30615 25,
30616 OPC_CheckChild2Integer, 1,
30617 OPC_MoveSibling1,
30618 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30619 OPC_CheckChild0Same, 1,
30620 OPC_CheckChild1Integer, 20,
30621 OPC_CheckTypeByHwMode0,
30622 OPC_MoveParent,
30623 OPC_CheckChild2Integer, 17,
30624 OPC_CheckType, MVT::v32i8,
30625 OPC_CheckPatternPredicate0,
30626 OPC_EmitIntegerByHwMode0, 20,
30627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30628 MVT::v32i8, 3, 24,
30629 25,
30630 OPC_CheckChild2Integer, 2,
30631 OPC_MoveSibling1,
30632 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30633 OPC_CheckChild0Same, 1,
30634 OPC_CheckChild1Integer, 20,
30635 OPC_CheckTypeByHwMode0,
30636 OPC_MoveParent,
30637 OPC_CheckChild2Integer, 18,
30638 OPC_CheckType, MVT::v32i8,
30639 OPC_CheckPatternPredicate0,
30640 OPC_EmitIntegerByHwMode0, 36,
30641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30642 MVT::v32i8, 3, 24,
30643 25,
30644 OPC_CheckChild2Integer, 3,
30645 OPC_MoveSibling1,
30646 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30647 OPC_CheckChild0Same, 1,
30648 OPC_CheckChild1Integer, 20,
30649 OPC_CheckTypeByHwMode0,
30650 OPC_MoveParent,
30651 OPC_CheckChild2Integer, 19,
30652 OPC_CheckType, MVT::v32i8,
30653 OPC_CheckPatternPredicate0,
30654 OPC_EmitIntegerByHwMode0, 52,
30655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30656 MVT::v32i8, 3, 24,
30657 26,
30658 OPC_CheckChild2Integer, 4,
30659 OPC_MoveSibling1,
30660 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30661 OPC_CheckChild0Same, 1,
30662 OPC_CheckChild1Integer, 20,
30663 OPC_CheckTypeByHwMode0,
30664 OPC_MoveParent,
30665 OPC_CheckChild2Integer, 20,
30666 OPC_CheckType, MVT::v32i8,
30667 OPC_CheckPatternPredicate0,
30668 OPC_EmitIntegerByHwMode0, 68|128,0,
30669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30670 MVT::v32i8, 3, 24,
30671 26,
30672 OPC_CheckChild2Integer, 5,
30673 OPC_MoveSibling1,
30674 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30675 OPC_CheckChild0Same, 1,
30676 OPC_CheckChild1Integer, 20,
30677 OPC_CheckTypeByHwMode0,
30678 OPC_MoveParent,
30679 OPC_CheckChild2Integer, 21,
30680 OPC_CheckType, MVT::v32i8,
30681 OPC_CheckPatternPredicate0,
30682 OPC_EmitIntegerByHwMode0, 84|128,0,
30683 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30684 MVT::v32i8, 3, 24,
30685 26,
30686 OPC_CheckChild2Integer, 6,
30687 OPC_MoveSibling1,
30688 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30689 OPC_CheckChild0Same, 1,
30690 OPC_CheckChild1Integer, 20,
30691 OPC_CheckTypeByHwMode0,
30692 OPC_MoveParent,
30693 OPC_CheckChild2Integer, 22,
30694 OPC_CheckType, MVT::v32i8,
30695 OPC_CheckPatternPredicate0,
30696 OPC_EmitIntegerByHwMode0, 100|128,0,
30697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30698 MVT::v32i8, 3, 24,
30699 26,
30700 OPC_CheckChild2Integer, 7,
30701 OPC_MoveSibling1,
30702 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30703 OPC_CheckChild0Same, 1,
30704 OPC_CheckChild1Integer, 20,
30705 OPC_CheckTypeByHwMode0,
30706 OPC_MoveParent,
30707 OPC_CheckChild2Integer, 23,
30708 OPC_CheckType, MVT::v32i8,
30709 OPC_CheckPatternPredicate0,
30710 OPC_EmitIntegerByHwMode0, 116|128,0,
30711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30712 MVT::v32i8, 3, 24,
30713 26,
30714 OPC_CheckChild2Integer, 8,
30715 OPC_MoveSibling1,
30716 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30717 OPC_CheckChild0Same, 1,
30718 OPC_CheckChild1Integer, 20,
30719 OPC_CheckTypeByHwMode0,
30720 OPC_MoveParent,
30721 OPC_CheckChild2Integer, 24,
30722 OPC_CheckType, MVT::v32i8,
30723 OPC_CheckPatternPredicate0,
30724 OPC_EmitIntegerByHwMode0, 4|128,1,
30725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30726 MVT::v32i8, 3, 24,
30727 26,
30728 OPC_CheckChild2Integer, 9,
30729 OPC_MoveSibling1,
30730 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30731 OPC_CheckChild0Same, 1,
30732 OPC_CheckChild1Integer, 20,
30733 OPC_CheckTypeByHwMode0,
30734 OPC_MoveParent,
30735 OPC_CheckChild2Integer, 25,
30736 OPC_CheckType, MVT::v32i8,
30737 OPC_CheckPatternPredicate0,
30738 OPC_EmitIntegerByHwMode0, 20|128,1,
30739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30740 MVT::v32i8, 3, 24,
30741 26,
30742 OPC_CheckChild2Integer, 10,
30743 OPC_MoveSibling1,
30744 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30745 OPC_CheckChild0Same, 1,
30746 OPC_CheckChild1Integer, 20,
30747 OPC_CheckTypeByHwMode0,
30748 OPC_MoveParent,
30749 OPC_CheckChild2Integer, 26,
30750 OPC_CheckType, MVT::v32i8,
30751 OPC_CheckPatternPredicate0,
30752 OPC_EmitIntegerByHwMode0, 36|128,1,
30753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30754 MVT::v32i8, 3, 24,
30755 26,
30756 OPC_CheckChild2Integer, 11,
30757 OPC_MoveSibling1,
30758 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30759 OPC_CheckChild0Same, 1,
30760 OPC_CheckChild1Integer, 20,
30761 OPC_CheckTypeByHwMode0,
30762 OPC_MoveParent,
30763 OPC_CheckChild2Integer, 27,
30764 OPC_CheckType, MVT::v32i8,
30765 OPC_CheckPatternPredicate0,
30766 OPC_EmitIntegerByHwMode0, 52|128,1,
30767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30768 MVT::v32i8, 3, 24,
30769 26,
30770 OPC_CheckChild2Integer, 12,
30771 OPC_MoveSibling1,
30772 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30773 OPC_CheckChild0Same, 1,
30774 OPC_CheckChild1Integer, 20,
30775 OPC_CheckTypeByHwMode0,
30776 OPC_MoveParent,
30777 OPC_CheckChild2Integer, 28,
30778 OPC_CheckType, MVT::v32i8,
30779 OPC_CheckPatternPredicate0,
30780 OPC_EmitIntegerByHwMode0, 68|128,1,
30781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30782 MVT::v32i8, 3, 24,
30783 26,
30784 OPC_CheckChild2Integer, 13,
30785 OPC_MoveSibling1,
30786 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30787 OPC_CheckChild0Same, 1,
30788 OPC_CheckChild1Integer, 20,
30789 OPC_CheckTypeByHwMode0,
30790 OPC_MoveParent,
30791 OPC_CheckChild2Integer, 29,
30792 OPC_CheckType, MVT::v32i8,
30793 OPC_CheckPatternPredicate0,
30794 OPC_EmitIntegerByHwMode0, 84|128,1,
30795 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30796 MVT::v32i8, 3, 24,
30797 26,
30798 OPC_CheckChild2Integer, 14,
30799 OPC_MoveSibling1,
30800 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30801 OPC_CheckChild0Same, 1,
30802 OPC_CheckChild1Integer, 20,
30803 OPC_CheckTypeByHwMode0,
30804 OPC_MoveParent,
30805 OPC_CheckChild2Integer, 30,
30806 OPC_CheckType, MVT::v32i8,
30807 OPC_CheckPatternPredicate0,
30808 OPC_EmitIntegerByHwMode0, 100|128,1,
30809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30810 MVT::v32i8, 3, 24,
30811 26,
30812 OPC_CheckChild2Integer, 15,
30813 OPC_MoveSibling1,
30814 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30815 OPC_CheckChild0Same, 1,
30816 OPC_CheckChild1Integer, 20,
30817 OPC_CheckTypeByHwMode0,
30818 OPC_MoveParent,
30819 OPC_CheckChild2Integer, 31,
30820 OPC_CheckType, MVT::v32i8,
30821 OPC_CheckPatternPredicate0,
30822 OPC_EmitIntegerByHwMode0, 116|128,1,
30823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30824 MVT::v32i8, 3, 24,
30825 0,
30826 50|128,3,
30827 OPC_CheckChild1Integer, 5,
30828 OPC_CheckTypeByHwMode0,
30829 OPC_MoveParent,
30830 OPC_Scope, 25,
30831 OPC_CheckChild2Integer, 0,
30832 OPC_MoveSibling1,
30833 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30834 OPC_CheckChild0Same, 1,
30835 OPC_CheckChild1Integer, 21,
30836 OPC_CheckTypeByHwMode0,
30837 OPC_MoveParent,
30838 OPC_CheckChild2Integer, 16,
30839 OPC_CheckType, MVT::v32i8,
30840 OPC_CheckPatternPredicate0,
30841 OPC_EmitIntegerByHwMode0, 5,
30842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30843 MVT::v32i8, 3, 24,
30844 25,
30845 OPC_CheckChild2Integer, 1,
30846 OPC_MoveSibling1,
30847 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30848 OPC_CheckChild0Same, 1,
30849 OPC_CheckChild1Integer, 21,
30850 OPC_CheckTypeByHwMode0,
30851 OPC_MoveParent,
30852 OPC_CheckChild2Integer, 17,
30853 OPC_CheckType, MVT::v32i8,
30854 OPC_CheckPatternPredicate0,
30855 OPC_EmitIntegerByHwMode0, 21,
30856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30857 MVT::v32i8, 3, 24,
30858 25,
30859 OPC_CheckChild2Integer, 2,
30860 OPC_MoveSibling1,
30861 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30862 OPC_CheckChild0Same, 1,
30863 OPC_CheckChild1Integer, 21,
30864 OPC_CheckTypeByHwMode0,
30865 OPC_MoveParent,
30866 OPC_CheckChild2Integer, 18,
30867 OPC_CheckType, MVT::v32i8,
30868 OPC_CheckPatternPredicate0,
30869 OPC_EmitIntegerByHwMode0, 37,
30870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30871 MVT::v32i8, 3, 24,
30872 25,
30873 OPC_CheckChild2Integer, 3,
30874 OPC_MoveSibling1,
30875 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30876 OPC_CheckChild0Same, 1,
30877 OPC_CheckChild1Integer, 21,
30878 OPC_CheckTypeByHwMode0,
30879 OPC_MoveParent,
30880 OPC_CheckChild2Integer, 19,
30881 OPC_CheckType, MVT::v32i8,
30882 OPC_CheckPatternPredicate0,
30883 OPC_EmitIntegerByHwMode0, 53,
30884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30885 MVT::v32i8, 3, 24,
30886 26,
30887 OPC_CheckChild2Integer, 4,
30888 OPC_MoveSibling1,
30889 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30890 OPC_CheckChild0Same, 1,
30891 OPC_CheckChild1Integer, 21,
30892 OPC_CheckTypeByHwMode0,
30893 OPC_MoveParent,
30894 OPC_CheckChild2Integer, 20,
30895 OPC_CheckType, MVT::v32i8,
30896 OPC_CheckPatternPredicate0,
30897 OPC_EmitIntegerByHwMode0, 69|128,0,
30898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30899 MVT::v32i8, 3, 24,
30900 26,
30901 OPC_CheckChild2Integer, 5,
30902 OPC_MoveSibling1,
30903 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30904 OPC_CheckChild0Same, 1,
30905 OPC_CheckChild1Integer, 21,
30906 OPC_CheckTypeByHwMode0,
30907 OPC_MoveParent,
30908 OPC_CheckChild2Integer, 21,
30909 OPC_CheckType, MVT::v32i8,
30910 OPC_CheckPatternPredicate0,
30911 OPC_EmitIntegerByHwMode0, 85|128,0,
30912 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30913 MVT::v32i8, 3, 24,
30914 26,
30915 OPC_CheckChild2Integer, 6,
30916 OPC_MoveSibling1,
30917 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30918 OPC_CheckChild0Same, 1,
30919 OPC_CheckChild1Integer, 21,
30920 OPC_CheckTypeByHwMode0,
30921 OPC_MoveParent,
30922 OPC_CheckChild2Integer, 22,
30923 OPC_CheckType, MVT::v32i8,
30924 OPC_CheckPatternPredicate0,
30925 OPC_EmitIntegerByHwMode0, 101|128,0,
30926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30927 MVT::v32i8, 3, 24,
30928 26,
30929 OPC_CheckChild2Integer, 7,
30930 OPC_MoveSibling1,
30931 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30932 OPC_CheckChild0Same, 1,
30933 OPC_CheckChild1Integer, 21,
30934 OPC_CheckTypeByHwMode0,
30935 OPC_MoveParent,
30936 OPC_CheckChild2Integer, 23,
30937 OPC_CheckType, MVT::v32i8,
30938 OPC_CheckPatternPredicate0,
30939 OPC_EmitIntegerByHwMode0, 117|128,0,
30940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30941 MVT::v32i8, 3, 24,
30942 26,
30943 OPC_CheckChild2Integer, 8,
30944 OPC_MoveSibling1,
30945 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30946 OPC_CheckChild0Same, 1,
30947 OPC_CheckChild1Integer, 21,
30948 OPC_CheckTypeByHwMode0,
30949 OPC_MoveParent,
30950 OPC_CheckChild2Integer, 24,
30951 OPC_CheckType, MVT::v32i8,
30952 OPC_CheckPatternPredicate0,
30953 OPC_EmitIntegerByHwMode0, 5|128,1,
30954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30955 MVT::v32i8, 3, 24,
30956 26,
30957 OPC_CheckChild2Integer, 9,
30958 OPC_MoveSibling1,
30959 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30960 OPC_CheckChild0Same, 1,
30961 OPC_CheckChild1Integer, 21,
30962 OPC_CheckTypeByHwMode0,
30963 OPC_MoveParent,
30964 OPC_CheckChild2Integer, 25,
30965 OPC_CheckType, MVT::v32i8,
30966 OPC_CheckPatternPredicate0,
30967 OPC_EmitIntegerByHwMode0, 21|128,1,
30968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30969 MVT::v32i8, 3, 24,
30970 26,
30971 OPC_CheckChild2Integer, 10,
30972 OPC_MoveSibling1,
30973 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30974 OPC_CheckChild0Same, 1,
30975 OPC_CheckChild1Integer, 21,
30976 OPC_CheckTypeByHwMode0,
30977 OPC_MoveParent,
30978 OPC_CheckChild2Integer, 26,
30979 OPC_CheckType, MVT::v32i8,
30980 OPC_CheckPatternPredicate0,
30981 OPC_EmitIntegerByHwMode0, 37|128,1,
30982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30983 MVT::v32i8, 3, 24,
30984 26,
30985 OPC_CheckChild2Integer, 11,
30986 OPC_MoveSibling1,
30987 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30988 OPC_CheckChild0Same, 1,
30989 OPC_CheckChild1Integer, 21,
30990 OPC_CheckTypeByHwMode0,
30991 OPC_MoveParent,
30992 OPC_CheckChild2Integer, 27,
30993 OPC_CheckType, MVT::v32i8,
30994 OPC_CheckPatternPredicate0,
30995 OPC_EmitIntegerByHwMode0, 53|128,1,
30996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30997 MVT::v32i8, 3, 24,
30998 26,
30999 OPC_CheckChild2Integer, 12,
31000 OPC_MoveSibling1,
31001 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31002 OPC_CheckChild0Same, 1,
31003 OPC_CheckChild1Integer, 21,
31004 OPC_CheckTypeByHwMode0,
31005 OPC_MoveParent,
31006 OPC_CheckChild2Integer, 28,
31007 OPC_CheckType, MVT::v32i8,
31008 OPC_CheckPatternPredicate0,
31009 OPC_EmitIntegerByHwMode0, 69|128,1,
31010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31011 MVT::v32i8, 3, 24,
31012 26,
31013 OPC_CheckChild2Integer, 13,
31014 OPC_MoveSibling1,
31015 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31016 OPC_CheckChild0Same, 1,
31017 OPC_CheckChild1Integer, 21,
31018 OPC_CheckTypeByHwMode0,
31019 OPC_MoveParent,
31020 OPC_CheckChild2Integer, 29,
31021 OPC_CheckType, MVT::v32i8,
31022 OPC_CheckPatternPredicate0,
31023 OPC_EmitIntegerByHwMode0, 85|128,1,
31024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31025 MVT::v32i8, 3, 24,
31026 26,
31027 OPC_CheckChild2Integer, 14,
31028 OPC_MoveSibling1,
31029 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31030 OPC_CheckChild0Same, 1,
31031 OPC_CheckChild1Integer, 21,
31032 OPC_CheckTypeByHwMode0,
31033 OPC_MoveParent,
31034 OPC_CheckChild2Integer, 30,
31035 OPC_CheckType, MVT::v32i8,
31036 OPC_CheckPatternPredicate0,
31037 OPC_EmitIntegerByHwMode0, 101|128,1,
31038 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31039 MVT::v32i8, 3, 24,
31040 26,
31041 OPC_CheckChild2Integer, 15,
31042 OPC_MoveSibling1,
31043 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31044 OPC_CheckChild0Same, 1,
31045 OPC_CheckChild1Integer, 21,
31046 OPC_CheckTypeByHwMode0,
31047 OPC_MoveParent,
31048 OPC_CheckChild2Integer, 31,
31049 OPC_CheckType, MVT::v32i8,
31050 OPC_CheckPatternPredicate0,
31051 OPC_EmitIntegerByHwMode0, 117|128,1,
31052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31053 MVT::v32i8, 3, 24,
31054 0,
31055 50|128,3,
31056 OPC_CheckChild1Integer, 6,
31057 OPC_CheckTypeByHwMode0,
31058 OPC_MoveParent,
31059 OPC_Scope, 25,
31060 OPC_CheckChild2Integer, 0,
31061 OPC_MoveSibling1,
31062 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31063 OPC_CheckChild0Same, 1,
31064 OPC_CheckChild1Integer, 22,
31065 OPC_CheckTypeByHwMode0,
31066 OPC_MoveParent,
31067 OPC_CheckChild2Integer, 16,
31068 OPC_CheckType, MVT::v32i8,
31069 OPC_CheckPatternPredicate0,
31070 OPC_EmitIntegerByHwMode0, 6,
31071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31072 MVT::v32i8, 3, 24,
31073 25,
31074 OPC_CheckChild2Integer, 1,
31075 OPC_MoveSibling1,
31076 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31077 OPC_CheckChild0Same, 1,
31078 OPC_CheckChild1Integer, 22,
31079 OPC_CheckTypeByHwMode0,
31080 OPC_MoveParent,
31081 OPC_CheckChild2Integer, 17,
31082 OPC_CheckType, MVT::v32i8,
31083 OPC_CheckPatternPredicate0,
31084 OPC_EmitIntegerByHwMode0, 22,
31085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31086 MVT::v32i8, 3, 24,
31087 25,
31088 OPC_CheckChild2Integer, 2,
31089 OPC_MoveSibling1,
31090 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31091 OPC_CheckChild0Same, 1,
31092 OPC_CheckChild1Integer, 22,
31093 OPC_CheckTypeByHwMode0,
31094 OPC_MoveParent,
31095 OPC_CheckChild2Integer, 18,
31096 OPC_CheckType, MVT::v32i8,
31097 OPC_CheckPatternPredicate0,
31098 OPC_EmitIntegerByHwMode0, 38,
31099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31100 MVT::v32i8, 3, 24,
31101 25,
31102 OPC_CheckChild2Integer, 3,
31103 OPC_MoveSibling1,
31104 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31105 OPC_CheckChild0Same, 1,
31106 OPC_CheckChild1Integer, 22,
31107 OPC_CheckTypeByHwMode0,
31108 OPC_MoveParent,
31109 OPC_CheckChild2Integer, 19,
31110 OPC_CheckType, MVT::v32i8,
31111 OPC_CheckPatternPredicate0,
31112 OPC_EmitIntegerByHwMode0, 54,
31113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31114 MVT::v32i8, 3, 24,
31115 26,
31116 OPC_CheckChild2Integer, 4,
31117 OPC_MoveSibling1,
31118 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31119 OPC_CheckChild0Same, 1,
31120 OPC_CheckChild1Integer, 22,
31121 OPC_CheckTypeByHwMode0,
31122 OPC_MoveParent,
31123 OPC_CheckChild2Integer, 20,
31124 OPC_CheckType, MVT::v32i8,
31125 OPC_CheckPatternPredicate0,
31126 OPC_EmitIntegerByHwMode0, 70|128,0,
31127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31128 MVT::v32i8, 3, 24,
31129 26,
31130 OPC_CheckChild2Integer, 5,
31131 OPC_MoveSibling1,
31132 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31133 OPC_CheckChild0Same, 1,
31134 OPC_CheckChild1Integer, 22,
31135 OPC_CheckTypeByHwMode0,
31136 OPC_MoveParent,
31137 OPC_CheckChild2Integer, 21,
31138 OPC_CheckType, MVT::v32i8,
31139 OPC_CheckPatternPredicate0,
31140 OPC_EmitIntegerByHwMode0, 86|128,0,
31141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31142 MVT::v32i8, 3, 24,
31143 26,
31144 OPC_CheckChild2Integer, 6,
31145 OPC_MoveSibling1,
31146 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31147 OPC_CheckChild0Same, 1,
31148 OPC_CheckChild1Integer, 22,
31149 OPC_CheckTypeByHwMode0,
31150 OPC_MoveParent,
31151 OPC_CheckChild2Integer, 22,
31152 OPC_CheckType, MVT::v32i8,
31153 OPC_CheckPatternPredicate0,
31154 OPC_EmitIntegerByHwMode0, 102|128,0,
31155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31156 MVT::v32i8, 3, 24,
31157 26,
31158 OPC_CheckChild2Integer, 7,
31159 OPC_MoveSibling1,
31160 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31161 OPC_CheckChild0Same, 1,
31162 OPC_CheckChild1Integer, 22,
31163 OPC_CheckTypeByHwMode0,
31164 OPC_MoveParent,
31165 OPC_CheckChild2Integer, 23,
31166 OPC_CheckType, MVT::v32i8,
31167 OPC_CheckPatternPredicate0,
31168 OPC_EmitIntegerByHwMode0, 118|128,0,
31169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31170 MVT::v32i8, 3, 24,
31171 26,
31172 OPC_CheckChild2Integer, 8,
31173 OPC_MoveSibling1,
31174 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31175 OPC_CheckChild0Same, 1,
31176 OPC_CheckChild1Integer, 22,
31177 OPC_CheckTypeByHwMode0,
31178 OPC_MoveParent,
31179 OPC_CheckChild2Integer, 24,
31180 OPC_CheckType, MVT::v32i8,
31181 OPC_CheckPatternPredicate0,
31182 OPC_EmitIntegerByHwMode0, 6|128,1,
31183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31184 MVT::v32i8, 3, 24,
31185 26,
31186 OPC_CheckChild2Integer, 9,
31187 OPC_MoveSibling1,
31188 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31189 OPC_CheckChild0Same, 1,
31190 OPC_CheckChild1Integer, 22,
31191 OPC_CheckTypeByHwMode0,
31192 OPC_MoveParent,
31193 OPC_CheckChild2Integer, 25,
31194 OPC_CheckType, MVT::v32i8,
31195 OPC_CheckPatternPredicate0,
31196 OPC_EmitIntegerByHwMode0, 22|128,1,
31197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31198 MVT::v32i8, 3, 24,
31199 26,
31200 OPC_CheckChild2Integer, 10,
31201 OPC_MoveSibling1,
31202 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31203 OPC_CheckChild0Same, 1,
31204 OPC_CheckChild1Integer, 22,
31205 OPC_CheckTypeByHwMode0,
31206 OPC_MoveParent,
31207 OPC_CheckChild2Integer, 26,
31208 OPC_CheckType, MVT::v32i8,
31209 OPC_CheckPatternPredicate0,
31210 OPC_EmitIntegerByHwMode0, 38|128,1,
31211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31212 MVT::v32i8, 3, 24,
31213 26,
31214 OPC_CheckChild2Integer, 11,
31215 OPC_MoveSibling1,
31216 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31217 OPC_CheckChild0Same, 1,
31218 OPC_CheckChild1Integer, 22,
31219 OPC_CheckTypeByHwMode0,
31220 OPC_MoveParent,
31221 OPC_CheckChild2Integer, 27,
31222 OPC_CheckType, MVT::v32i8,
31223 OPC_CheckPatternPredicate0,
31224 OPC_EmitIntegerByHwMode0, 54|128,1,
31225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31226 MVT::v32i8, 3, 24,
31227 26,
31228 OPC_CheckChild2Integer, 12,
31229 OPC_MoveSibling1,
31230 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31231 OPC_CheckChild0Same, 1,
31232 OPC_CheckChild1Integer, 22,
31233 OPC_CheckTypeByHwMode0,
31234 OPC_MoveParent,
31235 OPC_CheckChild2Integer, 28,
31236 OPC_CheckType, MVT::v32i8,
31237 OPC_CheckPatternPredicate0,
31238 OPC_EmitIntegerByHwMode0, 70|128,1,
31239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31240 MVT::v32i8, 3, 24,
31241 26,
31242 OPC_CheckChild2Integer, 13,
31243 OPC_MoveSibling1,
31244 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31245 OPC_CheckChild0Same, 1,
31246 OPC_CheckChild1Integer, 22,
31247 OPC_CheckTypeByHwMode0,
31248 OPC_MoveParent,
31249 OPC_CheckChild2Integer, 29,
31250 OPC_CheckType, MVT::v32i8,
31251 OPC_CheckPatternPredicate0,
31252 OPC_EmitIntegerByHwMode0, 86|128,1,
31253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31254 MVT::v32i8, 3, 24,
31255 26,
31256 OPC_CheckChild2Integer, 14,
31257 OPC_MoveSibling1,
31258 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31259 OPC_CheckChild0Same, 1,
31260 OPC_CheckChild1Integer, 22,
31261 OPC_CheckTypeByHwMode0,
31262 OPC_MoveParent,
31263 OPC_CheckChild2Integer, 30,
31264 OPC_CheckType, MVT::v32i8,
31265 OPC_CheckPatternPredicate0,
31266 OPC_EmitIntegerByHwMode0, 102|128,1,
31267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31268 MVT::v32i8, 3, 24,
31269 26,
31270 OPC_CheckChild2Integer, 15,
31271 OPC_MoveSibling1,
31272 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31273 OPC_CheckChild0Same, 1,
31274 OPC_CheckChild1Integer, 22,
31275 OPC_CheckTypeByHwMode0,
31276 OPC_MoveParent,
31277 OPC_CheckChild2Integer, 31,
31278 OPC_CheckType, MVT::v32i8,
31279 OPC_CheckPatternPredicate0,
31280 OPC_EmitIntegerByHwMode0, 118|128,1,
31281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31282 MVT::v32i8, 3, 24,
31283 0,
31284 50|128,3,
31285 OPC_CheckChild1Integer, 7,
31286 OPC_CheckTypeByHwMode0,
31287 OPC_MoveParent,
31288 OPC_Scope, 25,
31289 OPC_CheckChild2Integer, 0,
31290 OPC_MoveSibling1,
31291 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31292 OPC_CheckChild0Same, 1,
31293 OPC_CheckChild1Integer, 23,
31294 OPC_CheckTypeByHwMode0,
31295 OPC_MoveParent,
31296 OPC_CheckChild2Integer, 16,
31297 OPC_CheckType, MVT::v32i8,
31298 OPC_CheckPatternPredicate0,
31299 OPC_EmitIntegerByHwMode0, 7,
31300 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31301 MVT::v32i8, 3, 24,
31302 25,
31303 OPC_CheckChild2Integer, 1,
31304 OPC_MoveSibling1,
31305 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31306 OPC_CheckChild0Same, 1,
31307 OPC_CheckChild1Integer, 23,
31308 OPC_CheckTypeByHwMode0,
31309 OPC_MoveParent,
31310 OPC_CheckChild2Integer, 17,
31311 OPC_CheckType, MVT::v32i8,
31312 OPC_CheckPatternPredicate0,
31313 OPC_EmitIntegerByHwMode0, 23,
31314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31315 MVT::v32i8, 3, 24,
31316 25,
31317 OPC_CheckChild2Integer, 2,
31318 OPC_MoveSibling1,
31319 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31320 OPC_CheckChild0Same, 1,
31321 OPC_CheckChild1Integer, 23,
31322 OPC_CheckTypeByHwMode0,
31323 OPC_MoveParent,
31324 OPC_CheckChild2Integer, 18,
31325 OPC_CheckType, MVT::v32i8,
31326 OPC_CheckPatternPredicate0,
31327 OPC_EmitIntegerByHwMode0, 39,
31328 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31329 MVT::v32i8, 3, 24,
31330 25,
31331 OPC_CheckChild2Integer, 3,
31332 OPC_MoveSibling1,
31333 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31334 OPC_CheckChild0Same, 1,
31335 OPC_CheckChild1Integer, 23,
31336 OPC_CheckTypeByHwMode0,
31337 OPC_MoveParent,
31338 OPC_CheckChild2Integer, 19,
31339 OPC_CheckType, MVT::v32i8,
31340 OPC_CheckPatternPredicate0,
31341 OPC_EmitIntegerByHwMode0, 55,
31342 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31343 MVT::v32i8, 3, 24,
31344 26,
31345 OPC_CheckChild2Integer, 4,
31346 OPC_MoveSibling1,
31347 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31348 OPC_CheckChild0Same, 1,
31349 OPC_CheckChild1Integer, 23,
31350 OPC_CheckTypeByHwMode0,
31351 OPC_MoveParent,
31352 OPC_CheckChild2Integer, 20,
31353 OPC_CheckType, MVT::v32i8,
31354 OPC_CheckPatternPredicate0,
31355 OPC_EmitIntegerByHwMode0, 71|128,0,
31356 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31357 MVT::v32i8, 3, 24,
31358 26,
31359 OPC_CheckChild2Integer, 5,
31360 OPC_MoveSibling1,
31361 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31362 OPC_CheckChild0Same, 1,
31363 OPC_CheckChild1Integer, 23,
31364 OPC_CheckTypeByHwMode0,
31365 OPC_MoveParent,
31366 OPC_CheckChild2Integer, 21,
31367 OPC_CheckType, MVT::v32i8,
31368 OPC_CheckPatternPredicate0,
31369 OPC_EmitIntegerByHwMode0, 87|128,0,
31370 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31371 MVT::v32i8, 3, 24,
31372 26,
31373 OPC_CheckChild2Integer, 6,
31374 OPC_MoveSibling1,
31375 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31376 OPC_CheckChild0Same, 1,
31377 OPC_CheckChild1Integer, 23,
31378 OPC_CheckTypeByHwMode0,
31379 OPC_MoveParent,
31380 OPC_CheckChild2Integer, 22,
31381 OPC_CheckType, MVT::v32i8,
31382 OPC_CheckPatternPredicate0,
31383 OPC_EmitIntegerByHwMode0, 103|128,0,
31384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31385 MVT::v32i8, 3, 24,
31386 26,
31387 OPC_CheckChild2Integer, 7,
31388 OPC_MoveSibling1,
31389 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31390 OPC_CheckChild0Same, 1,
31391 OPC_CheckChild1Integer, 23,
31392 OPC_CheckTypeByHwMode0,
31393 OPC_MoveParent,
31394 OPC_CheckChild2Integer, 23,
31395 OPC_CheckType, MVT::v32i8,
31396 OPC_CheckPatternPredicate0,
31397 OPC_EmitIntegerByHwMode0, 119|128,0,
31398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31399 MVT::v32i8, 3, 24,
31400 26,
31401 OPC_CheckChild2Integer, 8,
31402 OPC_MoveSibling1,
31403 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31404 OPC_CheckChild0Same, 1,
31405 OPC_CheckChild1Integer, 23,
31406 OPC_CheckTypeByHwMode0,
31407 OPC_MoveParent,
31408 OPC_CheckChild2Integer, 24,
31409 OPC_CheckType, MVT::v32i8,
31410 OPC_CheckPatternPredicate0,
31411 OPC_EmitIntegerByHwMode0, 7|128,1,
31412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31413 MVT::v32i8, 3, 24,
31414 26,
31415 OPC_CheckChild2Integer, 9,
31416 OPC_MoveSibling1,
31417 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31418 OPC_CheckChild0Same, 1,
31419 OPC_CheckChild1Integer, 23,
31420 OPC_CheckTypeByHwMode0,
31421 OPC_MoveParent,
31422 OPC_CheckChild2Integer, 25,
31423 OPC_CheckType, MVT::v32i8,
31424 OPC_CheckPatternPredicate0,
31425 OPC_EmitIntegerByHwMode0, 23|128,1,
31426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31427 MVT::v32i8, 3, 24,
31428 26,
31429 OPC_CheckChild2Integer, 10,
31430 OPC_MoveSibling1,
31431 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31432 OPC_CheckChild0Same, 1,
31433 OPC_CheckChild1Integer, 23,
31434 OPC_CheckTypeByHwMode0,
31435 OPC_MoveParent,
31436 OPC_CheckChild2Integer, 26,
31437 OPC_CheckType, MVT::v32i8,
31438 OPC_CheckPatternPredicate0,
31439 OPC_EmitIntegerByHwMode0, 39|128,1,
31440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31441 MVT::v32i8, 3, 24,
31442 26,
31443 OPC_CheckChild2Integer, 11,
31444 OPC_MoveSibling1,
31445 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31446 OPC_CheckChild0Same, 1,
31447 OPC_CheckChild1Integer, 23,
31448 OPC_CheckTypeByHwMode0,
31449 OPC_MoveParent,
31450 OPC_CheckChild2Integer, 27,
31451 OPC_CheckType, MVT::v32i8,
31452 OPC_CheckPatternPredicate0,
31453 OPC_EmitIntegerByHwMode0, 55|128,1,
31454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31455 MVT::v32i8, 3, 24,
31456 26,
31457 OPC_CheckChild2Integer, 12,
31458 OPC_MoveSibling1,
31459 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31460 OPC_CheckChild0Same, 1,
31461 OPC_CheckChild1Integer, 23,
31462 OPC_CheckTypeByHwMode0,
31463 OPC_MoveParent,
31464 OPC_CheckChild2Integer, 28,
31465 OPC_CheckType, MVT::v32i8,
31466 OPC_CheckPatternPredicate0,
31467 OPC_EmitIntegerByHwMode0, 71|128,1,
31468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31469 MVT::v32i8, 3, 24,
31470 26,
31471 OPC_CheckChild2Integer, 13,
31472 OPC_MoveSibling1,
31473 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31474 OPC_CheckChild0Same, 1,
31475 OPC_CheckChild1Integer, 23,
31476 OPC_CheckTypeByHwMode0,
31477 OPC_MoveParent,
31478 OPC_CheckChild2Integer, 29,
31479 OPC_CheckType, MVT::v32i8,
31480 OPC_CheckPatternPredicate0,
31481 OPC_EmitIntegerByHwMode0, 87|128,1,
31482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31483 MVT::v32i8, 3, 24,
31484 26,
31485 OPC_CheckChild2Integer, 14,
31486 OPC_MoveSibling1,
31487 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31488 OPC_CheckChild0Same, 1,
31489 OPC_CheckChild1Integer, 23,
31490 OPC_CheckTypeByHwMode0,
31491 OPC_MoveParent,
31492 OPC_CheckChild2Integer, 30,
31493 OPC_CheckType, MVT::v32i8,
31494 OPC_CheckPatternPredicate0,
31495 OPC_EmitIntegerByHwMode0, 103|128,1,
31496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31497 MVT::v32i8, 3, 24,
31498 26,
31499 OPC_CheckChild2Integer, 15,
31500 OPC_MoveSibling1,
31501 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31502 OPC_CheckChild0Same, 1,
31503 OPC_CheckChild1Integer, 23,
31504 OPC_CheckTypeByHwMode0,
31505 OPC_MoveParent,
31506 OPC_CheckChild2Integer, 31,
31507 OPC_CheckType, MVT::v32i8,
31508 OPC_CheckPatternPredicate0,
31509 OPC_EmitIntegerByHwMode0, 119|128,1,
31510 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31511 MVT::v32i8, 3, 24,
31512 0,
31513 50|128,3,
31514 OPC_CheckChild1Integer, 8,
31515 OPC_CheckTypeByHwMode0,
31516 OPC_MoveParent,
31517 OPC_Scope, 25,
31518 OPC_CheckChild2Integer, 0,
31519 OPC_MoveSibling1,
31520 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31521 OPC_CheckChild0Same, 1,
31522 OPC_CheckChild1Integer, 24,
31523 OPC_CheckTypeByHwMode0,
31524 OPC_MoveParent,
31525 OPC_CheckChild2Integer, 16,
31526 OPC_CheckType, MVT::v32i8,
31527 OPC_CheckPatternPredicate0,
31528 OPC_EmitIntegerByHwMode0, 8,
31529 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31530 MVT::v32i8, 3, 24,
31531 25,
31532 OPC_CheckChild2Integer, 1,
31533 OPC_MoveSibling1,
31534 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31535 OPC_CheckChild0Same, 1,
31536 OPC_CheckChild1Integer, 24,
31537 OPC_CheckTypeByHwMode0,
31538 OPC_MoveParent,
31539 OPC_CheckChild2Integer, 17,
31540 OPC_CheckType, MVT::v32i8,
31541 OPC_CheckPatternPredicate0,
31542 OPC_EmitIntegerByHwMode0, 24,
31543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31544 MVT::v32i8, 3, 24,
31545 25,
31546 OPC_CheckChild2Integer, 2,
31547 OPC_MoveSibling1,
31548 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31549 OPC_CheckChild0Same, 1,
31550 OPC_CheckChild1Integer, 24,
31551 OPC_CheckTypeByHwMode0,
31552 OPC_MoveParent,
31553 OPC_CheckChild2Integer, 18,
31554 OPC_CheckType, MVT::v32i8,
31555 OPC_CheckPatternPredicate0,
31556 OPC_EmitIntegerByHwMode0, 40,
31557 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31558 MVT::v32i8, 3, 24,
31559 25,
31560 OPC_CheckChild2Integer, 3,
31561 OPC_MoveSibling1,
31562 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31563 OPC_CheckChild0Same, 1,
31564 OPC_CheckChild1Integer, 24,
31565 OPC_CheckTypeByHwMode0,
31566 OPC_MoveParent,
31567 OPC_CheckChild2Integer, 19,
31568 OPC_CheckType, MVT::v32i8,
31569 OPC_CheckPatternPredicate0,
31570 OPC_EmitIntegerByHwMode0, 56,
31571 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31572 MVT::v32i8, 3, 24,
31573 26,
31574 OPC_CheckChild2Integer, 4,
31575 OPC_MoveSibling1,
31576 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31577 OPC_CheckChild0Same, 1,
31578 OPC_CheckChild1Integer, 24,
31579 OPC_CheckTypeByHwMode0,
31580 OPC_MoveParent,
31581 OPC_CheckChild2Integer, 20,
31582 OPC_CheckType, MVT::v32i8,
31583 OPC_CheckPatternPredicate0,
31584 OPC_EmitIntegerByHwMode0, 72|128,0,
31585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31586 MVT::v32i8, 3, 24,
31587 26,
31588 OPC_CheckChild2Integer, 5,
31589 OPC_MoveSibling1,
31590 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31591 OPC_CheckChild0Same, 1,
31592 OPC_CheckChild1Integer, 24,
31593 OPC_CheckTypeByHwMode0,
31594 OPC_MoveParent,
31595 OPC_CheckChild2Integer, 21,
31596 OPC_CheckType, MVT::v32i8,
31597 OPC_CheckPatternPredicate0,
31598 OPC_EmitIntegerByHwMode0, 88|128,0,
31599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31600 MVT::v32i8, 3, 24,
31601 26,
31602 OPC_CheckChild2Integer, 6,
31603 OPC_MoveSibling1,
31604 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31605 OPC_CheckChild0Same, 1,
31606 OPC_CheckChild1Integer, 24,
31607 OPC_CheckTypeByHwMode0,
31608 OPC_MoveParent,
31609 OPC_CheckChild2Integer, 22,
31610 OPC_CheckType, MVT::v32i8,
31611 OPC_CheckPatternPredicate0,
31612 OPC_EmitIntegerByHwMode0, 104|128,0,
31613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31614 MVT::v32i8, 3, 24,
31615 26,
31616 OPC_CheckChild2Integer, 7,
31617 OPC_MoveSibling1,
31618 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31619 OPC_CheckChild0Same, 1,
31620 OPC_CheckChild1Integer, 24,
31621 OPC_CheckTypeByHwMode0,
31622 OPC_MoveParent,
31623 OPC_CheckChild2Integer, 23,
31624 OPC_CheckType, MVT::v32i8,
31625 OPC_CheckPatternPredicate0,
31626 OPC_EmitIntegerByHwMode0, 120|128,0,
31627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31628 MVT::v32i8, 3, 24,
31629 26,
31630 OPC_CheckChild2Integer, 8,
31631 OPC_MoveSibling1,
31632 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31633 OPC_CheckChild0Same, 1,
31634 OPC_CheckChild1Integer, 24,
31635 OPC_CheckTypeByHwMode0,
31636 OPC_MoveParent,
31637 OPC_CheckChild2Integer, 24,
31638 OPC_CheckType, MVT::v32i8,
31639 OPC_CheckPatternPredicate0,
31640 OPC_EmitIntegerByHwMode0, 8|128,1,
31641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31642 MVT::v32i8, 3, 24,
31643 26,
31644 OPC_CheckChild2Integer, 9,
31645 OPC_MoveSibling1,
31646 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31647 OPC_CheckChild0Same, 1,
31648 OPC_CheckChild1Integer, 24,
31649 OPC_CheckTypeByHwMode0,
31650 OPC_MoveParent,
31651 OPC_CheckChild2Integer, 25,
31652 OPC_CheckType, MVT::v32i8,
31653 OPC_CheckPatternPredicate0,
31654 OPC_EmitIntegerByHwMode0, 24|128,1,
31655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31656 MVT::v32i8, 3, 24,
31657 26,
31658 OPC_CheckChild2Integer, 10,
31659 OPC_MoveSibling1,
31660 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31661 OPC_CheckChild0Same, 1,
31662 OPC_CheckChild1Integer, 24,
31663 OPC_CheckTypeByHwMode0,
31664 OPC_MoveParent,
31665 OPC_CheckChild2Integer, 26,
31666 OPC_CheckType, MVT::v32i8,
31667 OPC_CheckPatternPredicate0,
31668 OPC_EmitIntegerByHwMode0, 40|128,1,
31669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31670 MVT::v32i8, 3, 24,
31671 26,
31672 OPC_CheckChild2Integer, 11,
31673 OPC_MoveSibling1,
31674 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31675 OPC_CheckChild0Same, 1,
31676 OPC_CheckChild1Integer, 24,
31677 OPC_CheckTypeByHwMode0,
31678 OPC_MoveParent,
31679 OPC_CheckChild2Integer, 27,
31680 OPC_CheckType, MVT::v32i8,
31681 OPC_CheckPatternPredicate0,
31682 OPC_EmitIntegerByHwMode0, 56|128,1,
31683 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31684 MVT::v32i8, 3, 24,
31685 26,
31686 OPC_CheckChild2Integer, 12,
31687 OPC_MoveSibling1,
31688 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31689 OPC_CheckChild0Same, 1,
31690 OPC_CheckChild1Integer, 24,
31691 OPC_CheckTypeByHwMode0,
31692 OPC_MoveParent,
31693 OPC_CheckChild2Integer, 28,
31694 OPC_CheckType, MVT::v32i8,
31695 OPC_CheckPatternPredicate0,
31696 OPC_EmitIntegerByHwMode0, 72|128,1,
31697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31698 MVT::v32i8, 3, 24,
31699 26,
31700 OPC_CheckChild2Integer, 13,
31701 OPC_MoveSibling1,
31702 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31703 OPC_CheckChild0Same, 1,
31704 OPC_CheckChild1Integer, 24,
31705 OPC_CheckTypeByHwMode0,
31706 OPC_MoveParent,
31707 OPC_CheckChild2Integer, 29,
31708 OPC_CheckType, MVT::v32i8,
31709 OPC_CheckPatternPredicate0,
31710 OPC_EmitIntegerByHwMode0, 88|128,1,
31711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31712 MVT::v32i8, 3, 24,
31713 26,
31714 OPC_CheckChild2Integer, 14,
31715 OPC_MoveSibling1,
31716 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31717 OPC_CheckChild0Same, 1,
31718 OPC_CheckChild1Integer, 24,
31719 OPC_CheckTypeByHwMode0,
31720 OPC_MoveParent,
31721 OPC_CheckChild2Integer, 30,
31722 OPC_CheckType, MVT::v32i8,
31723 OPC_CheckPatternPredicate0,
31724 OPC_EmitIntegerByHwMode0, 104|128,1,
31725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31726 MVT::v32i8, 3, 24,
31727 26,
31728 OPC_CheckChild2Integer, 15,
31729 OPC_MoveSibling1,
31730 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31731 OPC_CheckChild0Same, 1,
31732 OPC_CheckChild1Integer, 24,
31733 OPC_CheckTypeByHwMode0,
31734 OPC_MoveParent,
31735 OPC_CheckChild2Integer, 31,
31736 OPC_CheckType, MVT::v32i8,
31737 OPC_CheckPatternPredicate0,
31738 OPC_EmitIntegerByHwMode0, 120|128,1,
31739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31740 MVT::v32i8, 3, 24,
31741 0,
31742 50|128,3,
31743 OPC_CheckChild1Integer, 9,
31744 OPC_CheckTypeByHwMode0,
31745 OPC_MoveParent,
31746 OPC_Scope, 25,
31747 OPC_CheckChild2Integer, 0,
31748 OPC_MoveSibling1,
31749 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31750 OPC_CheckChild0Same, 1,
31751 OPC_CheckChild1Integer, 25,
31752 OPC_CheckTypeByHwMode0,
31753 OPC_MoveParent,
31754 OPC_CheckChild2Integer, 16,
31755 OPC_CheckType, MVT::v32i8,
31756 OPC_CheckPatternPredicate0,
31757 OPC_EmitIntegerByHwMode0, 9,
31758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31759 MVT::v32i8, 3, 24,
31760 25,
31761 OPC_CheckChild2Integer, 1,
31762 OPC_MoveSibling1,
31763 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31764 OPC_CheckChild0Same, 1,
31765 OPC_CheckChild1Integer, 25,
31766 OPC_CheckTypeByHwMode0,
31767 OPC_MoveParent,
31768 OPC_CheckChild2Integer, 17,
31769 OPC_CheckType, MVT::v32i8,
31770 OPC_CheckPatternPredicate0,
31771 OPC_EmitIntegerByHwMode0, 25,
31772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31773 MVT::v32i8, 3, 24,
31774 25,
31775 OPC_CheckChild2Integer, 2,
31776 OPC_MoveSibling1,
31777 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31778 OPC_CheckChild0Same, 1,
31779 OPC_CheckChild1Integer, 25,
31780 OPC_CheckTypeByHwMode0,
31781 OPC_MoveParent,
31782 OPC_CheckChild2Integer, 18,
31783 OPC_CheckType, MVT::v32i8,
31784 OPC_CheckPatternPredicate0,
31785 OPC_EmitIntegerByHwMode0, 41,
31786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31787 MVT::v32i8, 3, 24,
31788 25,
31789 OPC_CheckChild2Integer, 3,
31790 OPC_MoveSibling1,
31791 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31792 OPC_CheckChild0Same, 1,
31793 OPC_CheckChild1Integer, 25,
31794 OPC_CheckTypeByHwMode0,
31795 OPC_MoveParent,
31796 OPC_CheckChild2Integer, 19,
31797 OPC_CheckType, MVT::v32i8,
31798 OPC_CheckPatternPredicate0,
31799 OPC_EmitIntegerByHwMode0, 57,
31800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31801 MVT::v32i8, 3, 24,
31802 26,
31803 OPC_CheckChild2Integer, 4,
31804 OPC_MoveSibling1,
31805 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31806 OPC_CheckChild0Same, 1,
31807 OPC_CheckChild1Integer, 25,
31808 OPC_CheckTypeByHwMode0,
31809 OPC_MoveParent,
31810 OPC_CheckChild2Integer, 20,
31811 OPC_CheckType, MVT::v32i8,
31812 OPC_CheckPatternPredicate0,
31813 OPC_EmitIntegerByHwMode0, 73|128,0,
31814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31815 MVT::v32i8, 3, 24,
31816 26,
31817 OPC_CheckChild2Integer, 5,
31818 OPC_MoveSibling1,
31819 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31820 OPC_CheckChild0Same, 1,
31821 OPC_CheckChild1Integer, 25,
31822 OPC_CheckTypeByHwMode0,
31823 OPC_MoveParent,
31824 OPC_CheckChild2Integer, 21,
31825 OPC_CheckType, MVT::v32i8,
31826 OPC_CheckPatternPredicate0,
31827 OPC_EmitIntegerByHwMode0, 89|128,0,
31828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31829 MVT::v32i8, 3, 24,
31830 26,
31831 OPC_CheckChild2Integer, 6,
31832 OPC_MoveSibling1,
31833 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31834 OPC_CheckChild0Same, 1,
31835 OPC_CheckChild1Integer, 25,
31836 OPC_CheckTypeByHwMode0,
31837 OPC_MoveParent,
31838 OPC_CheckChild2Integer, 22,
31839 OPC_CheckType, MVT::v32i8,
31840 OPC_CheckPatternPredicate0,
31841 OPC_EmitIntegerByHwMode0, 105|128,0,
31842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31843 MVT::v32i8, 3, 24,
31844 26,
31845 OPC_CheckChild2Integer, 7,
31846 OPC_MoveSibling1,
31847 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31848 OPC_CheckChild0Same, 1,
31849 OPC_CheckChild1Integer, 25,
31850 OPC_CheckTypeByHwMode0,
31851 OPC_MoveParent,
31852 OPC_CheckChild2Integer, 23,
31853 OPC_CheckType, MVT::v32i8,
31854 OPC_CheckPatternPredicate0,
31855 OPC_EmitIntegerByHwMode0, 121|128,0,
31856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31857 MVT::v32i8, 3, 24,
31858 26,
31859 OPC_CheckChild2Integer, 8,
31860 OPC_MoveSibling1,
31861 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31862 OPC_CheckChild0Same, 1,
31863 OPC_CheckChild1Integer, 25,
31864 OPC_CheckTypeByHwMode0,
31865 OPC_MoveParent,
31866 OPC_CheckChild2Integer, 24,
31867 OPC_CheckType, MVT::v32i8,
31868 OPC_CheckPatternPredicate0,
31869 OPC_EmitIntegerByHwMode0, 9|128,1,
31870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31871 MVT::v32i8, 3, 24,
31872 26,
31873 OPC_CheckChild2Integer, 9,
31874 OPC_MoveSibling1,
31875 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31876 OPC_CheckChild0Same, 1,
31877 OPC_CheckChild1Integer, 25,
31878 OPC_CheckTypeByHwMode0,
31879 OPC_MoveParent,
31880 OPC_CheckChild2Integer, 25,
31881 OPC_CheckType, MVT::v32i8,
31882 OPC_CheckPatternPredicate0,
31883 OPC_EmitIntegerByHwMode0, 25|128,1,
31884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31885 MVT::v32i8, 3, 24,
31886 26,
31887 OPC_CheckChild2Integer, 10,
31888 OPC_MoveSibling1,
31889 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31890 OPC_CheckChild0Same, 1,
31891 OPC_CheckChild1Integer, 25,
31892 OPC_CheckTypeByHwMode0,
31893 OPC_MoveParent,
31894 OPC_CheckChild2Integer, 26,
31895 OPC_CheckType, MVT::v32i8,
31896 OPC_CheckPatternPredicate0,
31897 OPC_EmitIntegerByHwMode0, 41|128,1,
31898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31899 MVT::v32i8, 3, 24,
31900 26,
31901 OPC_CheckChild2Integer, 11,
31902 OPC_MoveSibling1,
31903 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31904 OPC_CheckChild0Same, 1,
31905 OPC_CheckChild1Integer, 25,
31906 OPC_CheckTypeByHwMode0,
31907 OPC_MoveParent,
31908 OPC_CheckChild2Integer, 27,
31909 OPC_CheckType, MVT::v32i8,
31910 OPC_CheckPatternPredicate0,
31911 OPC_EmitIntegerByHwMode0, 57|128,1,
31912 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31913 MVT::v32i8, 3, 24,
31914 26,
31915 OPC_CheckChild2Integer, 12,
31916 OPC_MoveSibling1,
31917 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31918 OPC_CheckChild0Same, 1,
31919 OPC_CheckChild1Integer, 25,
31920 OPC_CheckTypeByHwMode0,
31921 OPC_MoveParent,
31922 OPC_CheckChild2Integer, 28,
31923 OPC_CheckType, MVT::v32i8,
31924 OPC_CheckPatternPredicate0,
31925 OPC_EmitIntegerByHwMode0, 73|128,1,
31926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31927 MVT::v32i8, 3, 24,
31928 26,
31929 OPC_CheckChild2Integer, 13,
31930 OPC_MoveSibling1,
31931 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31932 OPC_CheckChild0Same, 1,
31933 OPC_CheckChild1Integer, 25,
31934 OPC_CheckTypeByHwMode0,
31935 OPC_MoveParent,
31936 OPC_CheckChild2Integer, 29,
31937 OPC_CheckType, MVT::v32i8,
31938 OPC_CheckPatternPredicate0,
31939 OPC_EmitIntegerByHwMode0, 89|128,1,
31940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31941 MVT::v32i8, 3, 24,
31942 26,
31943 OPC_CheckChild2Integer, 14,
31944 OPC_MoveSibling1,
31945 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31946 OPC_CheckChild0Same, 1,
31947 OPC_CheckChild1Integer, 25,
31948 OPC_CheckTypeByHwMode0,
31949 OPC_MoveParent,
31950 OPC_CheckChild2Integer, 30,
31951 OPC_CheckType, MVT::v32i8,
31952 OPC_CheckPatternPredicate0,
31953 OPC_EmitIntegerByHwMode0, 105|128,1,
31954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31955 MVT::v32i8, 3, 24,
31956 26,
31957 OPC_CheckChild2Integer, 15,
31958 OPC_MoveSibling1,
31959 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31960 OPC_CheckChild0Same, 1,
31961 OPC_CheckChild1Integer, 25,
31962 OPC_CheckTypeByHwMode0,
31963 OPC_MoveParent,
31964 OPC_CheckChild2Integer, 31,
31965 OPC_CheckType, MVT::v32i8,
31966 OPC_CheckPatternPredicate0,
31967 OPC_EmitIntegerByHwMode0, 121|128,1,
31968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31969 MVT::v32i8, 3, 24,
31970 0,
31971 50|128,3,
31972 OPC_CheckChild1Integer, 10,
31973 OPC_CheckTypeByHwMode0,
31974 OPC_MoveParent,
31975 OPC_Scope, 25,
31976 OPC_CheckChild2Integer, 0,
31977 OPC_MoveSibling1,
31978 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31979 OPC_CheckChild0Same, 1,
31980 OPC_CheckChild1Integer, 26,
31981 OPC_CheckTypeByHwMode0,
31982 OPC_MoveParent,
31983 OPC_CheckChild2Integer, 16,
31984 OPC_CheckType, MVT::v32i8,
31985 OPC_CheckPatternPredicate0,
31986 OPC_EmitIntegerByHwMode0, 10,
31987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31988 MVT::v32i8, 3, 24,
31989 25,
31990 OPC_CheckChild2Integer, 1,
31991 OPC_MoveSibling1,
31992 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31993 OPC_CheckChild0Same, 1,
31994 OPC_CheckChild1Integer, 26,
31995 OPC_CheckTypeByHwMode0,
31996 OPC_MoveParent,
31997 OPC_CheckChild2Integer, 17,
31998 OPC_CheckType, MVT::v32i8,
31999 OPC_CheckPatternPredicate0,
32000 OPC_EmitIntegerByHwMode0, 26,
32001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32002 MVT::v32i8, 3, 24,
32003 25,
32004 OPC_CheckChild2Integer, 2,
32005 OPC_MoveSibling1,
32006 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32007 OPC_CheckChild0Same, 1,
32008 OPC_CheckChild1Integer, 26,
32009 OPC_CheckTypeByHwMode0,
32010 OPC_MoveParent,
32011 OPC_CheckChild2Integer, 18,
32012 OPC_CheckType, MVT::v32i8,
32013 OPC_CheckPatternPredicate0,
32014 OPC_EmitIntegerByHwMode0, 42,
32015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32016 MVT::v32i8, 3, 24,
32017 25,
32018 OPC_CheckChild2Integer, 3,
32019 OPC_MoveSibling1,
32020 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32021 OPC_CheckChild0Same, 1,
32022 OPC_CheckChild1Integer, 26,
32023 OPC_CheckTypeByHwMode0,
32024 OPC_MoveParent,
32025 OPC_CheckChild2Integer, 19,
32026 OPC_CheckType, MVT::v32i8,
32027 OPC_CheckPatternPredicate0,
32028 OPC_EmitIntegerByHwMode0, 58,
32029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32030 MVT::v32i8, 3, 24,
32031 26,
32032 OPC_CheckChild2Integer, 4,
32033 OPC_MoveSibling1,
32034 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32035 OPC_CheckChild0Same, 1,
32036 OPC_CheckChild1Integer, 26,
32037 OPC_CheckTypeByHwMode0,
32038 OPC_MoveParent,
32039 OPC_CheckChild2Integer, 20,
32040 OPC_CheckType, MVT::v32i8,
32041 OPC_CheckPatternPredicate0,
32042 OPC_EmitIntegerByHwMode0, 74|128,0,
32043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32044 MVT::v32i8, 3, 24,
32045 26,
32046 OPC_CheckChild2Integer, 5,
32047 OPC_MoveSibling1,
32048 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32049 OPC_CheckChild0Same, 1,
32050 OPC_CheckChild1Integer, 26,
32051 OPC_CheckTypeByHwMode0,
32052 OPC_MoveParent,
32053 OPC_CheckChild2Integer, 21,
32054 OPC_CheckType, MVT::v32i8,
32055 OPC_CheckPatternPredicate0,
32056 OPC_EmitIntegerByHwMode0, 90|128,0,
32057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32058 MVT::v32i8, 3, 24,
32059 26,
32060 OPC_CheckChild2Integer, 6,
32061 OPC_MoveSibling1,
32062 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32063 OPC_CheckChild0Same, 1,
32064 OPC_CheckChild1Integer, 26,
32065 OPC_CheckTypeByHwMode0,
32066 OPC_MoveParent,
32067 OPC_CheckChild2Integer, 22,
32068 OPC_CheckType, MVT::v32i8,
32069 OPC_CheckPatternPredicate0,
32070 OPC_EmitIntegerByHwMode0, 106|128,0,
32071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32072 MVT::v32i8, 3, 24,
32073 26,
32074 OPC_CheckChild2Integer, 7,
32075 OPC_MoveSibling1,
32076 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32077 OPC_CheckChild0Same, 1,
32078 OPC_CheckChild1Integer, 26,
32079 OPC_CheckTypeByHwMode0,
32080 OPC_MoveParent,
32081 OPC_CheckChild2Integer, 23,
32082 OPC_CheckType, MVT::v32i8,
32083 OPC_CheckPatternPredicate0,
32084 OPC_EmitIntegerByHwMode0, 122|128,0,
32085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32086 MVT::v32i8, 3, 24,
32087 26,
32088 OPC_CheckChild2Integer, 8,
32089 OPC_MoveSibling1,
32090 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32091 OPC_CheckChild0Same, 1,
32092 OPC_CheckChild1Integer, 26,
32093 OPC_CheckTypeByHwMode0,
32094 OPC_MoveParent,
32095 OPC_CheckChild2Integer, 24,
32096 OPC_CheckType, MVT::v32i8,
32097 OPC_CheckPatternPredicate0,
32098 OPC_EmitIntegerByHwMode0, 10|128,1,
32099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32100 MVT::v32i8, 3, 24,
32101 26,
32102 OPC_CheckChild2Integer, 9,
32103 OPC_MoveSibling1,
32104 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32105 OPC_CheckChild0Same, 1,
32106 OPC_CheckChild1Integer, 26,
32107 OPC_CheckTypeByHwMode0,
32108 OPC_MoveParent,
32109 OPC_CheckChild2Integer, 25,
32110 OPC_CheckType, MVT::v32i8,
32111 OPC_CheckPatternPredicate0,
32112 OPC_EmitIntegerByHwMode0, 26|128,1,
32113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32114 MVT::v32i8, 3, 24,
32115 26,
32116 OPC_CheckChild2Integer, 10,
32117 OPC_MoveSibling1,
32118 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32119 OPC_CheckChild0Same, 1,
32120 OPC_CheckChild1Integer, 26,
32121 OPC_CheckTypeByHwMode0,
32122 OPC_MoveParent,
32123 OPC_CheckChild2Integer, 26,
32124 OPC_CheckType, MVT::v32i8,
32125 OPC_CheckPatternPredicate0,
32126 OPC_EmitIntegerByHwMode0, 42|128,1,
32127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32128 MVT::v32i8, 3, 24,
32129 26,
32130 OPC_CheckChild2Integer, 11,
32131 OPC_MoveSibling1,
32132 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32133 OPC_CheckChild0Same, 1,
32134 OPC_CheckChild1Integer, 26,
32135 OPC_CheckTypeByHwMode0,
32136 OPC_MoveParent,
32137 OPC_CheckChild2Integer, 27,
32138 OPC_CheckType, MVT::v32i8,
32139 OPC_CheckPatternPredicate0,
32140 OPC_EmitIntegerByHwMode0, 58|128,1,
32141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32142 MVT::v32i8, 3, 24,
32143 26,
32144 OPC_CheckChild2Integer, 12,
32145 OPC_MoveSibling1,
32146 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32147 OPC_CheckChild0Same, 1,
32148 OPC_CheckChild1Integer, 26,
32149 OPC_CheckTypeByHwMode0,
32150 OPC_MoveParent,
32151 OPC_CheckChild2Integer, 28,
32152 OPC_CheckType, MVT::v32i8,
32153 OPC_CheckPatternPredicate0,
32154 OPC_EmitIntegerByHwMode0, 74|128,1,
32155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32156 MVT::v32i8, 3, 24,
32157 26,
32158 OPC_CheckChild2Integer, 13,
32159 OPC_MoveSibling1,
32160 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32161 OPC_CheckChild0Same, 1,
32162 OPC_CheckChild1Integer, 26,
32163 OPC_CheckTypeByHwMode0,
32164 OPC_MoveParent,
32165 OPC_CheckChild2Integer, 29,
32166 OPC_CheckType, MVT::v32i8,
32167 OPC_CheckPatternPredicate0,
32168 OPC_EmitIntegerByHwMode0, 90|128,1,
32169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32170 MVT::v32i8, 3, 24,
32171 26,
32172 OPC_CheckChild2Integer, 14,
32173 OPC_MoveSibling1,
32174 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32175 OPC_CheckChild0Same, 1,
32176 OPC_CheckChild1Integer, 26,
32177 OPC_CheckTypeByHwMode0,
32178 OPC_MoveParent,
32179 OPC_CheckChild2Integer, 30,
32180 OPC_CheckType, MVT::v32i8,
32181 OPC_CheckPatternPredicate0,
32182 OPC_EmitIntegerByHwMode0, 106|128,1,
32183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32184 MVT::v32i8, 3, 24,
32185 26,
32186 OPC_CheckChild2Integer, 15,
32187 OPC_MoveSibling1,
32188 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32189 OPC_CheckChild0Same, 1,
32190 OPC_CheckChild1Integer, 26,
32191 OPC_CheckTypeByHwMode0,
32192 OPC_MoveParent,
32193 OPC_CheckChild2Integer, 31,
32194 OPC_CheckType, MVT::v32i8,
32195 OPC_CheckPatternPredicate0,
32196 OPC_EmitIntegerByHwMode0, 122|128,1,
32197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32198 MVT::v32i8, 3, 24,
32199 0,
32200 50|128,3,
32201 OPC_CheckChild1Integer, 11,
32202 OPC_CheckTypeByHwMode0,
32203 OPC_MoveParent,
32204 OPC_Scope, 25,
32205 OPC_CheckChild2Integer, 0,
32206 OPC_MoveSibling1,
32207 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32208 OPC_CheckChild0Same, 1,
32209 OPC_CheckChild1Integer, 27,
32210 OPC_CheckTypeByHwMode0,
32211 OPC_MoveParent,
32212 OPC_CheckChild2Integer, 16,
32213 OPC_CheckType, MVT::v32i8,
32214 OPC_CheckPatternPredicate0,
32215 OPC_EmitIntegerByHwMode0, 11,
32216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32217 MVT::v32i8, 3, 24,
32218 25,
32219 OPC_CheckChild2Integer, 1,
32220 OPC_MoveSibling1,
32221 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32222 OPC_CheckChild0Same, 1,
32223 OPC_CheckChild1Integer, 27,
32224 OPC_CheckTypeByHwMode0,
32225 OPC_MoveParent,
32226 OPC_CheckChild2Integer, 17,
32227 OPC_CheckType, MVT::v32i8,
32228 OPC_CheckPatternPredicate0,
32229 OPC_EmitIntegerByHwMode0, 27,
32230 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32231 MVT::v32i8, 3, 24,
32232 25,
32233 OPC_CheckChild2Integer, 2,
32234 OPC_MoveSibling1,
32235 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32236 OPC_CheckChild0Same, 1,
32237 OPC_CheckChild1Integer, 27,
32238 OPC_CheckTypeByHwMode0,
32239 OPC_MoveParent,
32240 OPC_CheckChild2Integer, 18,
32241 OPC_CheckType, MVT::v32i8,
32242 OPC_CheckPatternPredicate0,
32243 OPC_EmitIntegerByHwMode0, 43,
32244 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32245 MVT::v32i8, 3, 24,
32246 25,
32247 OPC_CheckChild2Integer, 3,
32248 OPC_MoveSibling1,
32249 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32250 OPC_CheckChild0Same, 1,
32251 OPC_CheckChild1Integer, 27,
32252 OPC_CheckTypeByHwMode0,
32253 OPC_MoveParent,
32254 OPC_CheckChild2Integer, 19,
32255 OPC_CheckType, MVT::v32i8,
32256 OPC_CheckPatternPredicate0,
32257 OPC_EmitIntegerByHwMode0, 59,
32258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32259 MVT::v32i8, 3, 24,
32260 26,
32261 OPC_CheckChild2Integer, 4,
32262 OPC_MoveSibling1,
32263 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32264 OPC_CheckChild0Same, 1,
32265 OPC_CheckChild1Integer, 27,
32266 OPC_CheckTypeByHwMode0,
32267 OPC_MoveParent,
32268 OPC_CheckChild2Integer, 20,
32269 OPC_CheckType, MVT::v32i8,
32270 OPC_CheckPatternPredicate0,
32271 OPC_EmitIntegerByHwMode0, 75|128,0,
32272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32273 MVT::v32i8, 3, 24,
32274 26,
32275 OPC_CheckChild2Integer, 5,
32276 OPC_MoveSibling1,
32277 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32278 OPC_CheckChild0Same, 1,
32279 OPC_CheckChild1Integer, 27,
32280 OPC_CheckTypeByHwMode0,
32281 OPC_MoveParent,
32282 OPC_CheckChild2Integer, 21,
32283 OPC_CheckType, MVT::v32i8,
32284 OPC_CheckPatternPredicate0,
32285 OPC_EmitIntegerByHwMode0, 91|128,0,
32286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32287 MVT::v32i8, 3, 24,
32288 26,
32289 OPC_CheckChild2Integer, 6,
32290 OPC_MoveSibling1,
32291 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32292 OPC_CheckChild0Same, 1,
32293 OPC_CheckChild1Integer, 27,
32294 OPC_CheckTypeByHwMode0,
32295 OPC_MoveParent,
32296 OPC_CheckChild2Integer, 22,
32297 OPC_CheckType, MVT::v32i8,
32298 OPC_CheckPatternPredicate0,
32299 OPC_EmitIntegerByHwMode0, 107|128,0,
32300 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32301 MVT::v32i8, 3, 24,
32302 26,
32303 OPC_CheckChild2Integer, 7,
32304 OPC_MoveSibling1,
32305 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32306 OPC_CheckChild0Same, 1,
32307 OPC_CheckChild1Integer, 27,
32308 OPC_CheckTypeByHwMode0,
32309 OPC_MoveParent,
32310 OPC_CheckChild2Integer, 23,
32311 OPC_CheckType, MVT::v32i8,
32312 OPC_CheckPatternPredicate0,
32313 OPC_EmitIntegerByHwMode0, 123|128,0,
32314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32315 MVT::v32i8, 3, 24,
32316 26,
32317 OPC_CheckChild2Integer, 8,
32318 OPC_MoveSibling1,
32319 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32320 OPC_CheckChild0Same, 1,
32321 OPC_CheckChild1Integer, 27,
32322 OPC_CheckTypeByHwMode0,
32323 OPC_MoveParent,
32324 OPC_CheckChild2Integer, 24,
32325 OPC_CheckType, MVT::v32i8,
32326 OPC_CheckPatternPredicate0,
32327 OPC_EmitIntegerByHwMode0, 11|128,1,
32328 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32329 MVT::v32i8, 3, 24,
32330 26,
32331 OPC_CheckChild2Integer, 9,
32332 OPC_MoveSibling1,
32333 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32334 OPC_CheckChild0Same, 1,
32335 OPC_CheckChild1Integer, 27,
32336 OPC_CheckTypeByHwMode0,
32337 OPC_MoveParent,
32338 OPC_CheckChild2Integer, 25,
32339 OPC_CheckType, MVT::v32i8,
32340 OPC_CheckPatternPredicate0,
32341 OPC_EmitIntegerByHwMode0, 27|128,1,
32342 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32343 MVT::v32i8, 3, 24,
32344 26,
32345 OPC_CheckChild2Integer, 10,
32346 OPC_MoveSibling1,
32347 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32348 OPC_CheckChild0Same, 1,
32349 OPC_CheckChild1Integer, 27,
32350 OPC_CheckTypeByHwMode0,
32351 OPC_MoveParent,
32352 OPC_CheckChild2Integer, 26,
32353 OPC_CheckType, MVT::v32i8,
32354 OPC_CheckPatternPredicate0,
32355 OPC_EmitIntegerByHwMode0, 43|128,1,
32356 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32357 MVT::v32i8, 3, 24,
32358 26,
32359 OPC_CheckChild2Integer, 11,
32360 OPC_MoveSibling1,
32361 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32362 OPC_CheckChild0Same, 1,
32363 OPC_CheckChild1Integer, 27,
32364 OPC_CheckTypeByHwMode0,
32365 OPC_MoveParent,
32366 OPC_CheckChild2Integer, 27,
32367 OPC_CheckType, MVT::v32i8,
32368 OPC_CheckPatternPredicate0,
32369 OPC_EmitIntegerByHwMode0, 59|128,1,
32370 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32371 MVT::v32i8, 3, 24,
32372 26,
32373 OPC_CheckChild2Integer, 12,
32374 OPC_MoveSibling1,
32375 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32376 OPC_CheckChild0Same, 1,
32377 OPC_CheckChild1Integer, 27,
32378 OPC_CheckTypeByHwMode0,
32379 OPC_MoveParent,
32380 OPC_CheckChild2Integer, 28,
32381 OPC_CheckType, MVT::v32i8,
32382 OPC_CheckPatternPredicate0,
32383 OPC_EmitIntegerByHwMode0, 75|128,1,
32384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32385 MVT::v32i8, 3, 24,
32386 26,
32387 OPC_CheckChild2Integer, 13,
32388 OPC_MoveSibling1,
32389 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32390 OPC_CheckChild0Same, 1,
32391 OPC_CheckChild1Integer, 27,
32392 OPC_CheckTypeByHwMode0,
32393 OPC_MoveParent,
32394 OPC_CheckChild2Integer, 29,
32395 OPC_CheckType, MVT::v32i8,
32396 OPC_CheckPatternPredicate0,
32397 OPC_EmitIntegerByHwMode0, 91|128,1,
32398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32399 MVT::v32i8, 3, 24,
32400 26,
32401 OPC_CheckChild2Integer, 14,
32402 OPC_MoveSibling1,
32403 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32404 OPC_CheckChild0Same, 1,
32405 OPC_CheckChild1Integer, 27,
32406 OPC_CheckTypeByHwMode0,
32407 OPC_MoveParent,
32408 OPC_CheckChild2Integer, 30,
32409 OPC_CheckType, MVT::v32i8,
32410 OPC_CheckPatternPredicate0,
32411 OPC_EmitIntegerByHwMode0, 107|128,1,
32412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32413 MVT::v32i8, 3, 24,
32414 26,
32415 OPC_CheckChild2Integer, 15,
32416 OPC_MoveSibling1,
32417 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32418 OPC_CheckChild0Same, 1,
32419 OPC_CheckChild1Integer, 27,
32420 OPC_CheckTypeByHwMode0,
32421 OPC_MoveParent,
32422 OPC_CheckChild2Integer, 31,
32423 OPC_CheckType, MVT::v32i8,
32424 OPC_CheckPatternPredicate0,
32425 OPC_EmitIntegerByHwMode0, 123|128,1,
32426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32427 MVT::v32i8, 3, 24,
32428 0,
32429 50|128,3,
32430 OPC_CheckChild1Integer, 12,
32431 OPC_CheckTypeByHwMode0,
32432 OPC_MoveParent,
32433 OPC_Scope, 25,
32434 OPC_CheckChild2Integer, 0,
32435 OPC_MoveSibling1,
32436 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32437 OPC_CheckChild0Same, 1,
32438 OPC_CheckChild1Integer, 28,
32439 OPC_CheckTypeByHwMode0,
32440 OPC_MoveParent,
32441 OPC_CheckChild2Integer, 16,
32442 OPC_CheckType, MVT::v32i8,
32443 OPC_CheckPatternPredicate0,
32444 OPC_EmitIntegerByHwMode0, 12,
32445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32446 MVT::v32i8, 3, 24,
32447 25,
32448 OPC_CheckChild2Integer, 1,
32449 OPC_MoveSibling1,
32450 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32451 OPC_CheckChild0Same, 1,
32452 OPC_CheckChild1Integer, 28,
32453 OPC_CheckTypeByHwMode0,
32454 OPC_MoveParent,
32455 OPC_CheckChild2Integer, 17,
32456 OPC_CheckType, MVT::v32i8,
32457 OPC_CheckPatternPredicate0,
32458 OPC_EmitIntegerByHwMode0, 28,
32459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32460 MVT::v32i8, 3, 24,
32461 25,
32462 OPC_CheckChild2Integer, 2,
32463 OPC_MoveSibling1,
32464 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32465 OPC_CheckChild0Same, 1,
32466 OPC_CheckChild1Integer, 28,
32467 OPC_CheckTypeByHwMode0,
32468 OPC_MoveParent,
32469 OPC_CheckChild2Integer, 18,
32470 OPC_CheckType, MVT::v32i8,
32471 OPC_CheckPatternPredicate0,
32472 OPC_EmitIntegerByHwMode0, 44,
32473 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32474 MVT::v32i8, 3, 24,
32475 25,
32476 OPC_CheckChild2Integer, 3,
32477 OPC_MoveSibling1,
32478 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32479 OPC_CheckChild0Same, 1,
32480 OPC_CheckChild1Integer, 28,
32481 OPC_CheckTypeByHwMode0,
32482 OPC_MoveParent,
32483 OPC_CheckChild2Integer, 19,
32484 OPC_CheckType, MVT::v32i8,
32485 OPC_CheckPatternPredicate0,
32486 OPC_EmitIntegerByHwMode0, 60,
32487 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32488 MVT::v32i8, 3, 24,
32489 26,
32490 OPC_CheckChild2Integer, 4,
32491 OPC_MoveSibling1,
32492 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32493 OPC_CheckChild0Same, 1,
32494 OPC_CheckChild1Integer, 28,
32495 OPC_CheckTypeByHwMode0,
32496 OPC_MoveParent,
32497 OPC_CheckChild2Integer, 20,
32498 OPC_CheckType, MVT::v32i8,
32499 OPC_CheckPatternPredicate0,
32500 OPC_EmitIntegerByHwMode0, 76|128,0,
32501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32502 MVT::v32i8, 3, 24,
32503 26,
32504 OPC_CheckChild2Integer, 5,
32505 OPC_MoveSibling1,
32506 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32507 OPC_CheckChild0Same, 1,
32508 OPC_CheckChild1Integer, 28,
32509 OPC_CheckTypeByHwMode0,
32510 OPC_MoveParent,
32511 OPC_CheckChild2Integer, 21,
32512 OPC_CheckType, MVT::v32i8,
32513 OPC_CheckPatternPredicate0,
32514 OPC_EmitIntegerByHwMode0, 92|128,0,
32515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32516 MVT::v32i8, 3, 24,
32517 26,
32518 OPC_CheckChild2Integer, 6,
32519 OPC_MoveSibling1,
32520 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32521 OPC_CheckChild0Same, 1,
32522 OPC_CheckChild1Integer, 28,
32523 OPC_CheckTypeByHwMode0,
32524 OPC_MoveParent,
32525 OPC_CheckChild2Integer, 22,
32526 OPC_CheckType, MVT::v32i8,
32527 OPC_CheckPatternPredicate0,
32528 OPC_EmitIntegerByHwMode0, 108|128,0,
32529 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32530 MVT::v32i8, 3, 24,
32531 26,
32532 OPC_CheckChild2Integer, 7,
32533 OPC_MoveSibling1,
32534 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32535 OPC_CheckChild0Same, 1,
32536 OPC_CheckChild1Integer, 28,
32537 OPC_CheckTypeByHwMode0,
32538 OPC_MoveParent,
32539 OPC_CheckChild2Integer, 23,
32540 OPC_CheckType, MVT::v32i8,
32541 OPC_CheckPatternPredicate0,
32542 OPC_EmitIntegerByHwMode0, 124|128,0,
32543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32544 MVT::v32i8, 3, 24,
32545 26,
32546 OPC_CheckChild2Integer, 8,
32547 OPC_MoveSibling1,
32548 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32549 OPC_CheckChild0Same, 1,
32550 OPC_CheckChild1Integer, 28,
32551 OPC_CheckTypeByHwMode0,
32552 OPC_MoveParent,
32553 OPC_CheckChild2Integer, 24,
32554 OPC_CheckType, MVT::v32i8,
32555 OPC_CheckPatternPredicate0,
32556 OPC_EmitIntegerByHwMode0, 12|128,1,
32557 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32558 MVT::v32i8, 3, 24,
32559 26,
32560 OPC_CheckChild2Integer, 9,
32561 OPC_MoveSibling1,
32562 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32563 OPC_CheckChild0Same, 1,
32564 OPC_CheckChild1Integer, 28,
32565 OPC_CheckTypeByHwMode0,
32566 OPC_MoveParent,
32567 OPC_CheckChild2Integer, 25,
32568 OPC_CheckType, MVT::v32i8,
32569 OPC_CheckPatternPredicate0,
32570 OPC_EmitIntegerByHwMode0, 28|128,1,
32571 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32572 MVT::v32i8, 3, 24,
32573 26,
32574 OPC_CheckChild2Integer, 10,
32575 OPC_MoveSibling1,
32576 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32577 OPC_CheckChild0Same, 1,
32578 OPC_CheckChild1Integer, 28,
32579 OPC_CheckTypeByHwMode0,
32580 OPC_MoveParent,
32581 OPC_CheckChild2Integer, 26,
32582 OPC_CheckType, MVT::v32i8,
32583 OPC_CheckPatternPredicate0,
32584 OPC_EmitIntegerByHwMode0, 44|128,1,
32585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32586 MVT::v32i8, 3, 24,
32587 26,
32588 OPC_CheckChild2Integer, 11,
32589 OPC_MoveSibling1,
32590 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32591 OPC_CheckChild0Same, 1,
32592 OPC_CheckChild1Integer, 28,
32593 OPC_CheckTypeByHwMode0,
32594 OPC_MoveParent,
32595 OPC_CheckChild2Integer, 27,
32596 OPC_CheckType, MVT::v32i8,
32597 OPC_CheckPatternPredicate0,
32598 OPC_EmitIntegerByHwMode0, 60|128,1,
32599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32600 MVT::v32i8, 3, 24,
32601 26,
32602 OPC_CheckChild2Integer, 12,
32603 OPC_MoveSibling1,
32604 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32605 OPC_CheckChild0Same, 1,
32606 OPC_CheckChild1Integer, 28,
32607 OPC_CheckTypeByHwMode0,
32608 OPC_MoveParent,
32609 OPC_CheckChild2Integer, 28,
32610 OPC_CheckType, MVT::v32i8,
32611 OPC_CheckPatternPredicate0,
32612 OPC_EmitIntegerByHwMode0, 76|128,1,
32613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32614 MVT::v32i8, 3, 24,
32615 26,
32616 OPC_CheckChild2Integer, 13,
32617 OPC_MoveSibling1,
32618 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32619 OPC_CheckChild0Same, 1,
32620 OPC_CheckChild1Integer, 28,
32621 OPC_CheckTypeByHwMode0,
32622 OPC_MoveParent,
32623 OPC_CheckChild2Integer, 29,
32624 OPC_CheckType, MVT::v32i8,
32625 OPC_CheckPatternPredicate0,
32626 OPC_EmitIntegerByHwMode0, 92|128,1,
32627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32628 MVT::v32i8, 3, 24,
32629 26,
32630 OPC_CheckChild2Integer, 14,
32631 OPC_MoveSibling1,
32632 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32633 OPC_CheckChild0Same, 1,
32634 OPC_CheckChild1Integer, 28,
32635 OPC_CheckTypeByHwMode0,
32636 OPC_MoveParent,
32637 OPC_CheckChild2Integer, 30,
32638 OPC_CheckType, MVT::v32i8,
32639 OPC_CheckPatternPredicate0,
32640 OPC_EmitIntegerByHwMode0, 108|128,1,
32641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32642 MVT::v32i8, 3, 24,
32643 26,
32644 OPC_CheckChild2Integer, 15,
32645 OPC_MoveSibling1,
32646 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32647 OPC_CheckChild0Same, 1,
32648 OPC_CheckChild1Integer, 28,
32649 OPC_CheckTypeByHwMode0,
32650 OPC_MoveParent,
32651 OPC_CheckChild2Integer, 31,
32652 OPC_CheckType, MVT::v32i8,
32653 OPC_CheckPatternPredicate0,
32654 OPC_EmitIntegerByHwMode0, 124|128,1,
32655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32656 MVT::v32i8, 3, 24,
32657 0,
32658 50|128,3,
32659 OPC_CheckChild1Integer, 13,
32660 OPC_CheckTypeByHwMode0,
32661 OPC_MoveParent,
32662 OPC_Scope, 25,
32663 OPC_CheckChild2Integer, 0,
32664 OPC_MoveSibling1,
32665 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32666 OPC_CheckChild0Same, 1,
32667 OPC_CheckChild1Integer, 29,
32668 OPC_CheckTypeByHwMode0,
32669 OPC_MoveParent,
32670 OPC_CheckChild2Integer, 16,
32671 OPC_CheckType, MVT::v32i8,
32672 OPC_CheckPatternPredicate0,
32673 OPC_EmitIntegerByHwMode0, 13,
32674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32675 MVT::v32i8, 3, 24,
32676 25,
32677 OPC_CheckChild2Integer, 1,
32678 OPC_MoveSibling1,
32679 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32680 OPC_CheckChild0Same, 1,
32681 OPC_CheckChild1Integer, 29,
32682 OPC_CheckTypeByHwMode0,
32683 OPC_MoveParent,
32684 OPC_CheckChild2Integer, 17,
32685 OPC_CheckType, MVT::v32i8,
32686 OPC_CheckPatternPredicate0,
32687 OPC_EmitIntegerByHwMode0, 29,
32688 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32689 MVT::v32i8, 3, 24,
32690 25,
32691 OPC_CheckChild2Integer, 2,
32692 OPC_MoveSibling1,
32693 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32694 OPC_CheckChild0Same, 1,
32695 OPC_CheckChild1Integer, 29,
32696 OPC_CheckTypeByHwMode0,
32697 OPC_MoveParent,
32698 OPC_CheckChild2Integer, 18,
32699 OPC_CheckType, MVT::v32i8,
32700 OPC_CheckPatternPredicate0,
32701 OPC_EmitIntegerByHwMode0, 45,
32702 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32703 MVT::v32i8, 3, 24,
32704 25,
32705 OPC_CheckChild2Integer, 3,
32706 OPC_MoveSibling1,
32707 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32708 OPC_CheckChild0Same, 1,
32709 OPC_CheckChild1Integer, 29,
32710 OPC_CheckTypeByHwMode0,
32711 OPC_MoveParent,
32712 OPC_CheckChild2Integer, 19,
32713 OPC_CheckType, MVT::v32i8,
32714 OPC_CheckPatternPredicate0,
32715 OPC_EmitIntegerByHwMode0, 61,
32716 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32717 MVT::v32i8, 3, 24,
32718 26,
32719 OPC_CheckChild2Integer, 4,
32720 OPC_MoveSibling1,
32721 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32722 OPC_CheckChild0Same, 1,
32723 OPC_CheckChild1Integer, 29,
32724 OPC_CheckTypeByHwMode0,
32725 OPC_MoveParent,
32726 OPC_CheckChild2Integer, 20,
32727 OPC_CheckType, MVT::v32i8,
32728 OPC_CheckPatternPredicate0,
32729 OPC_EmitIntegerByHwMode0, 77|128,0,
32730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32731 MVT::v32i8, 3, 24,
32732 26,
32733 OPC_CheckChild2Integer, 5,
32734 OPC_MoveSibling1,
32735 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32736 OPC_CheckChild0Same, 1,
32737 OPC_CheckChild1Integer, 29,
32738 OPC_CheckTypeByHwMode0,
32739 OPC_MoveParent,
32740 OPC_CheckChild2Integer, 21,
32741 OPC_CheckType, MVT::v32i8,
32742 OPC_CheckPatternPredicate0,
32743 OPC_EmitIntegerByHwMode0, 93|128,0,
32744 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32745 MVT::v32i8, 3, 24,
32746 26,
32747 OPC_CheckChild2Integer, 6,
32748 OPC_MoveSibling1,
32749 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32750 OPC_CheckChild0Same, 1,
32751 OPC_CheckChild1Integer, 29,
32752 OPC_CheckTypeByHwMode0,
32753 OPC_MoveParent,
32754 OPC_CheckChild2Integer, 22,
32755 OPC_CheckType, MVT::v32i8,
32756 OPC_CheckPatternPredicate0,
32757 OPC_EmitIntegerByHwMode0, 109|128,0,
32758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32759 MVT::v32i8, 3, 24,
32760 26,
32761 OPC_CheckChild2Integer, 7,
32762 OPC_MoveSibling1,
32763 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32764 OPC_CheckChild0Same, 1,
32765 OPC_CheckChild1Integer, 29,
32766 OPC_CheckTypeByHwMode0,
32767 OPC_MoveParent,
32768 OPC_CheckChild2Integer, 23,
32769 OPC_CheckType, MVT::v32i8,
32770 OPC_CheckPatternPredicate0,
32771 OPC_EmitIntegerByHwMode0, 125|128,0,
32772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32773 MVT::v32i8, 3, 24,
32774 26,
32775 OPC_CheckChild2Integer, 8,
32776 OPC_MoveSibling1,
32777 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32778 OPC_CheckChild0Same, 1,
32779 OPC_CheckChild1Integer, 29,
32780 OPC_CheckTypeByHwMode0,
32781 OPC_MoveParent,
32782 OPC_CheckChild2Integer, 24,
32783 OPC_CheckType, MVT::v32i8,
32784 OPC_CheckPatternPredicate0,
32785 OPC_EmitIntegerByHwMode0, 13|128,1,
32786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32787 MVT::v32i8, 3, 24,
32788 26,
32789 OPC_CheckChild2Integer, 9,
32790 OPC_MoveSibling1,
32791 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32792 OPC_CheckChild0Same, 1,
32793 OPC_CheckChild1Integer, 29,
32794 OPC_CheckTypeByHwMode0,
32795 OPC_MoveParent,
32796 OPC_CheckChild2Integer, 25,
32797 OPC_CheckType, MVT::v32i8,
32798 OPC_CheckPatternPredicate0,
32799 OPC_EmitIntegerByHwMode0, 29|128,1,
32800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32801 MVT::v32i8, 3, 24,
32802 26,
32803 OPC_CheckChild2Integer, 10,
32804 OPC_MoveSibling1,
32805 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32806 OPC_CheckChild0Same, 1,
32807 OPC_CheckChild1Integer, 29,
32808 OPC_CheckTypeByHwMode0,
32809 OPC_MoveParent,
32810 OPC_CheckChild2Integer, 26,
32811 OPC_CheckType, MVT::v32i8,
32812 OPC_CheckPatternPredicate0,
32813 OPC_EmitIntegerByHwMode0, 45|128,1,
32814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32815 MVT::v32i8, 3, 24,
32816 26,
32817 OPC_CheckChild2Integer, 11,
32818 OPC_MoveSibling1,
32819 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32820 OPC_CheckChild0Same, 1,
32821 OPC_CheckChild1Integer, 29,
32822 OPC_CheckTypeByHwMode0,
32823 OPC_MoveParent,
32824 OPC_CheckChild2Integer, 27,
32825 OPC_CheckType, MVT::v32i8,
32826 OPC_CheckPatternPredicate0,
32827 OPC_EmitIntegerByHwMode0, 61|128,1,
32828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32829 MVT::v32i8, 3, 24,
32830 26,
32831 OPC_CheckChild2Integer, 12,
32832 OPC_MoveSibling1,
32833 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32834 OPC_CheckChild0Same, 1,
32835 OPC_CheckChild1Integer, 29,
32836 OPC_CheckTypeByHwMode0,
32837 OPC_MoveParent,
32838 OPC_CheckChild2Integer, 28,
32839 OPC_CheckType, MVT::v32i8,
32840 OPC_CheckPatternPredicate0,
32841 OPC_EmitIntegerByHwMode0, 77|128,1,
32842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32843 MVT::v32i8, 3, 24,
32844 26,
32845 OPC_CheckChild2Integer, 13,
32846 OPC_MoveSibling1,
32847 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32848 OPC_CheckChild0Same, 1,
32849 OPC_CheckChild1Integer, 29,
32850 OPC_CheckTypeByHwMode0,
32851 OPC_MoveParent,
32852 OPC_CheckChild2Integer, 29,
32853 OPC_CheckType, MVT::v32i8,
32854 OPC_CheckPatternPredicate0,
32855 OPC_EmitIntegerByHwMode0, 93|128,1,
32856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32857 MVT::v32i8, 3, 24,
32858 26,
32859 OPC_CheckChild2Integer, 14,
32860 OPC_MoveSibling1,
32861 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32862 OPC_CheckChild0Same, 1,
32863 OPC_CheckChild1Integer, 29,
32864 OPC_CheckTypeByHwMode0,
32865 OPC_MoveParent,
32866 OPC_CheckChild2Integer, 30,
32867 OPC_CheckType, MVT::v32i8,
32868 OPC_CheckPatternPredicate0,
32869 OPC_EmitIntegerByHwMode0, 109|128,1,
32870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32871 MVT::v32i8, 3, 24,
32872 26,
32873 OPC_CheckChild2Integer, 15,
32874 OPC_MoveSibling1,
32875 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32876 OPC_CheckChild0Same, 1,
32877 OPC_CheckChild1Integer, 29,
32878 OPC_CheckTypeByHwMode0,
32879 OPC_MoveParent,
32880 OPC_CheckChild2Integer, 31,
32881 OPC_CheckType, MVT::v32i8,
32882 OPC_CheckPatternPredicate0,
32883 OPC_EmitIntegerByHwMode0, 125|128,1,
32884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32885 MVT::v32i8, 3, 24,
32886 0,
32887 50|128,3,
32888 OPC_CheckChild1Integer, 14,
32889 OPC_CheckTypeByHwMode0,
32890 OPC_MoveParent,
32891 OPC_Scope, 25,
32892 OPC_CheckChild2Integer, 0,
32893 OPC_MoveSibling1,
32894 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32895 OPC_CheckChild0Same, 1,
32896 OPC_CheckChild1Integer, 30,
32897 OPC_CheckTypeByHwMode0,
32898 OPC_MoveParent,
32899 OPC_CheckChild2Integer, 16,
32900 OPC_CheckType, MVT::v32i8,
32901 OPC_CheckPatternPredicate0,
32902 OPC_EmitIntegerByHwMode0, 14,
32903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32904 MVT::v32i8, 3, 24,
32905 25,
32906 OPC_CheckChild2Integer, 1,
32907 OPC_MoveSibling1,
32908 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32909 OPC_CheckChild0Same, 1,
32910 OPC_CheckChild1Integer, 30,
32911 OPC_CheckTypeByHwMode0,
32912 OPC_MoveParent,
32913 OPC_CheckChild2Integer, 17,
32914 OPC_CheckType, MVT::v32i8,
32915 OPC_CheckPatternPredicate0,
32916 OPC_EmitIntegerByHwMode0, 30,
32917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32918 MVT::v32i8, 3, 24,
32919 25,
32920 OPC_CheckChild2Integer, 2,
32921 OPC_MoveSibling1,
32922 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32923 OPC_CheckChild0Same, 1,
32924 OPC_CheckChild1Integer, 30,
32925 OPC_CheckTypeByHwMode0,
32926 OPC_MoveParent,
32927 OPC_CheckChild2Integer, 18,
32928 OPC_CheckType, MVT::v32i8,
32929 OPC_CheckPatternPredicate0,
32930 OPC_EmitIntegerByHwMode0, 46,
32931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32932 MVT::v32i8, 3, 24,
32933 25,
32934 OPC_CheckChild2Integer, 3,
32935 OPC_MoveSibling1,
32936 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32937 OPC_CheckChild0Same, 1,
32938 OPC_CheckChild1Integer, 30,
32939 OPC_CheckTypeByHwMode0,
32940 OPC_MoveParent,
32941 OPC_CheckChild2Integer, 19,
32942 OPC_CheckType, MVT::v32i8,
32943 OPC_CheckPatternPredicate0,
32944 OPC_EmitIntegerByHwMode0, 62,
32945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32946 MVT::v32i8, 3, 24,
32947 26,
32948 OPC_CheckChild2Integer, 4,
32949 OPC_MoveSibling1,
32950 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32951 OPC_CheckChild0Same, 1,
32952 OPC_CheckChild1Integer, 30,
32953 OPC_CheckTypeByHwMode0,
32954 OPC_MoveParent,
32955 OPC_CheckChild2Integer, 20,
32956 OPC_CheckType, MVT::v32i8,
32957 OPC_CheckPatternPredicate0,
32958 OPC_EmitIntegerByHwMode0, 78|128,0,
32959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32960 MVT::v32i8, 3, 24,
32961 26,
32962 OPC_CheckChild2Integer, 5,
32963 OPC_MoveSibling1,
32964 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32965 OPC_CheckChild0Same, 1,
32966 OPC_CheckChild1Integer, 30,
32967 OPC_CheckTypeByHwMode0,
32968 OPC_MoveParent,
32969 OPC_CheckChild2Integer, 21,
32970 OPC_CheckType, MVT::v32i8,
32971 OPC_CheckPatternPredicate0,
32972 OPC_EmitIntegerByHwMode0, 94|128,0,
32973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32974 MVT::v32i8, 3, 24,
32975 26,
32976 OPC_CheckChild2Integer, 6,
32977 OPC_MoveSibling1,
32978 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32979 OPC_CheckChild0Same, 1,
32980 OPC_CheckChild1Integer, 30,
32981 OPC_CheckTypeByHwMode0,
32982 OPC_MoveParent,
32983 OPC_CheckChild2Integer, 22,
32984 OPC_CheckType, MVT::v32i8,
32985 OPC_CheckPatternPredicate0,
32986 OPC_EmitIntegerByHwMode0, 110|128,0,
32987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32988 MVT::v32i8, 3, 24,
32989 26,
32990 OPC_CheckChild2Integer, 7,
32991 OPC_MoveSibling1,
32992 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32993 OPC_CheckChild0Same, 1,
32994 OPC_CheckChild1Integer, 30,
32995 OPC_CheckTypeByHwMode0,
32996 OPC_MoveParent,
32997 OPC_CheckChild2Integer, 23,
32998 OPC_CheckType, MVT::v32i8,
32999 OPC_CheckPatternPredicate0,
33000 OPC_EmitIntegerByHwMode0, 126|128,0,
33001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33002 MVT::v32i8, 3, 24,
33003 26,
33004 OPC_CheckChild2Integer, 8,
33005 OPC_MoveSibling1,
33006 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33007 OPC_CheckChild0Same, 1,
33008 OPC_CheckChild1Integer, 30,
33009 OPC_CheckTypeByHwMode0,
33010 OPC_MoveParent,
33011 OPC_CheckChild2Integer, 24,
33012 OPC_CheckType, MVT::v32i8,
33013 OPC_CheckPatternPredicate0,
33014 OPC_EmitIntegerByHwMode0, 14|128,1,
33015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33016 MVT::v32i8, 3, 24,
33017 26,
33018 OPC_CheckChild2Integer, 9,
33019 OPC_MoveSibling1,
33020 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33021 OPC_CheckChild0Same, 1,
33022 OPC_CheckChild1Integer, 30,
33023 OPC_CheckTypeByHwMode0,
33024 OPC_MoveParent,
33025 OPC_CheckChild2Integer, 25,
33026 OPC_CheckType, MVT::v32i8,
33027 OPC_CheckPatternPredicate0,
33028 OPC_EmitIntegerByHwMode0, 30|128,1,
33029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33030 MVT::v32i8, 3, 24,
33031 26,
33032 OPC_CheckChild2Integer, 10,
33033 OPC_MoveSibling1,
33034 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33035 OPC_CheckChild0Same, 1,
33036 OPC_CheckChild1Integer, 30,
33037 OPC_CheckTypeByHwMode0,
33038 OPC_MoveParent,
33039 OPC_CheckChild2Integer, 26,
33040 OPC_CheckType, MVT::v32i8,
33041 OPC_CheckPatternPredicate0,
33042 OPC_EmitIntegerByHwMode0, 46|128,1,
33043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33044 MVT::v32i8, 3, 24,
33045 26,
33046 OPC_CheckChild2Integer, 11,
33047 OPC_MoveSibling1,
33048 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33049 OPC_CheckChild0Same, 1,
33050 OPC_CheckChild1Integer, 30,
33051 OPC_CheckTypeByHwMode0,
33052 OPC_MoveParent,
33053 OPC_CheckChild2Integer, 27,
33054 OPC_CheckType, MVT::v32i8,
33055 OPC_CheckPatternPredicate0,
33056 OPC_EmitIntegerByHwMode0, 62|128,1,
33057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33058 MVT::v32i8, 3, 24,
33059 26,
33060 OPC_CheckChild2Integer, 12,
33061 OPC_MoveSibling1,
33062 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33063 OPC_CheckChild0Same, 1,
33064 OPC_CheckChild1Integer, 30,
33065 OPC_CheckTypeByHwMode0,
33066 OPC_MoveParent,
33067 OPC_CheckChild2Integer, 28,
33068 OPC_CheckType, MVT::v32i8,
33069 OPC_CheckPatternPredicate0,
33070 OPC_EmitIntegerByHwMode0, 78|128,1,
33071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33072 MVT::v32i8, 3, 24,
33073 26,
33074 OPC_CheckChild2Integer, 13,
33075 OPC_MoveSibling1,
33076 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33077 OPC_CheckChild0Same, 1,
33078 OPC_CheckChild1Integer, 30,
33079 OPC_CheckTypeByHwMode0,
33080 OPC_MoveParent,
33081 OPC_CheckChild2Integer, 29,
33082 OPC_CheckType, MVT::v32i8,
33083 OPC_CheckPatternPredicate0,
33084 OPC_EmitIntegerByHwMode0, 94|128,1,
33085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33086 MVT::v32i8, 3, 24,
33087 26,
33088 OPC_CheckChild2Integer, 14,
33089 OPC_MoveSibling1,
33090 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33091 OPC_CheckChild0Same, 1,
33092 OPC_CheckChild1Integer, 30,
33093 OPC_CheckTypeByHwMode0,
33094 OPC_MoveParent,
33095 OPC_CheckChild2Integer, 30,
33096 OPC_CheckType, MVT::v32i8,
33097 OPC_CheckPatternPredicate0,
33098 OPC_EmitIntegerByHwMode0, 110|128,1,
33099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33100 MVT::v32i8, 3, 24,
33101 26,
33102 OPC_CheckChild2Integer, 15,
33103 OPC_MoveSibling1,
33104 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33105 OPC_CheckChild0Same, 1,
33106 OPC_CheckChild1Integer, 30,
33107 OPC_CheckTypeByHwMode0,
33108 OPC_MoveParent,
33109 OPC_CheckChild2Integer, 31,
33110 OPC_CheckType, MVT::v32i8,
33111 OPC_CheckPatternPredicate0,
33112 OPC_EmitIntegerByHwMode0, 126|128,1,
33113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33114 MVT::v32i8, 3, 24,
33115 0,
33116 50|128,3,
33117 OPC_CheckChild1Integer, 15,
33118 OPC_CheckTypeByHwMode0,
33119 OPC_MoveParent,
33120 OPC_Scope, 25,
33121 OPC_CheckChild2Integer, 0,
33122 OPC_MoveSibling1,
33123 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33124 OPC_CheckChild0Same, 1,
33125 OPC_CheckChild1Integer, 31,
33126 OPC_CheckTypeByHwMode0,
33127 OPC_MoveParent,
33128 OPC_CheckChild2Integer, 16,
33129 OPC_CheckType, MVT::v32i8,
33130 OPC_CheckPatternPredicate0,
33131 OPC_EmitIntegerByHwMode0, 15,
33132 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33133 MVT::v32i8, 3, 24,
33134 25,
33135 OPC_CheckChild2Integer, 1,
33136 OPC_MoveSibling1,
33137 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33138 OPC_CheckChild0Same, 1,
33139 OPC_CheckChild1Integer, 31,
33140 OPC_CheckTypeByHwMode0,
33141 OPC_MoveParent,
33142 OPC_CheckChild2Integer, 17,
33143 OPC_CheckType, MVT::v32i8,
33144 OPC_CheckPatternPredicate0,
33145 OPC_EmitIntegerByHwMode0, 31,
33146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33147 MVT::v32i8, 3, 24,
33148 25,
33149 OPC_CheckChild2Integer, 2,
33150 OPC_MoveSibling1,
33151 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33152 OPC_CheckChild0Same, 1,
33153 OPC_CheckChild1Integer, 31,
33154 OPC_CheckTypeByHwMode0,
33155 OPC_MoveParent,
33156 OPC_CheckChild2Integer, 18,
33157 OPC_CheckType, MVT::v32i8,
33158 OPC_CheckPatternPredicate0,
33159 OPC_EmitIntegerByHwMode0, 47,
33160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33161 MVT::v32i8, 3, 24,
33162 25,
33163 OPC_CheckChild2Integer, 3,
33164 OPC_MoveSibling1,
33165 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33166 OPC_CheckChild0Same, 1,
33167 OPC_CheckChild1Integer, 31,
33168 OPC_CheckTypeByHwMode0,
33169 OPC_MoveParent,
33170 OPC_CheckChild2Integer, 19,
33171 OPC_CheckType, MVT::v32i8,
33172 OPC_CheckPatternPredicate0,
33173 OPC_EmitIntegerByHwMode0, 63,
33174 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33175 MVT::v32i8, 3, 24,
33176 26,
33177 OPC_CheckChild2Integer, 4,
33178 OPC_MoveSibling1,
33179 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33180 OPC_CheckChild0Same, 1,
33181 OPC_CheckChild1Integer, 31,
33182 OPC_CheckTypeByHwMode0,
33183 OPC_MoveParent,
33184 OPC_CheckChild2Integer, 20,
33185 OPC_CheckType, MVT::v32i8,
33186 OPC_CheckPatternPredicate0,
33187 OPC_EmitIntegerByHwMode0, 79|128,0,
33188 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33189 MVT::v32i8, 3, 24,
33190 26,
33191 OPC_CheckChild2Integer, 5,
33192 OPC_MoveSibling1,
33193 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33194 OPC_CheckChild0Same, 1,
33195 OPC_CheckChild1Integer, 31,
33196 OPC_CheckTypeByHwMode0,
33197 OPC_MoveParent,
33198 OPC_CheckChild2Integer, 21,
33199 OPC_CheckType, MVT::v32i8,
33200 OPC_CheckPatternPredicate0,
33201 OPC_EmitIntegerByHwMode0, 95|128,0,
33202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33203 MVT::v32i8, 3, 24,
33204 26,
33205 OPC_CheckChild2Integer, 6,
33206 OPC_MoveSibling1,
33207 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33208 OPC_CheckChild0Same, 1,
33209 OPC_CheckChild1Integer, 31,
33210 OPC_CheckTypeByHwMode0,
33211 OPC_MoveParent,
33212 OPC_CheckChild2Integer, 22,
33213 OPC_CheckType, MVT::v32i8,
33214 OPC_CheckPatternPredicate0,
33215 OPC_EmitIntegerByHwMode0, 111|128,0,
33216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33217 MVT::v32i8, 3, 24,
33218 26,
33219 OPC_CheckChild2Integer, 7,
33220 OPC_MoveSibling1,
33221 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33222 OPC_CheckChild0Same, 1,
33223 OPC_CheckChild1Integer, 31,
33224 OPC_CheckTypeByHwMode0,
33225 OPC_MoveParent,
33226 OPC_CheckChild2Integer, 23,
33227 OPC_CheckType, MVT::v32i8,
33228 OPC_CheckPatternPredicate0,
33229 OPC_EmitIntegerByHwMode0, 127|128,0,
33230 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33231 MVT::v32i8, 3, 24,
33232 26,
33233 OPC_CheckChild2Integer, 8,
33234 OPC_MoveSibling1,
33235 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33236 OPC_CheckChild0Same, 1,
33237 OPC_CheckChild1Integer, 31,
33238 OPC_CheckTypeByHwMode0,
33239 OPC_MoveParent,
33240 OPC_CheckChild2Integer, 24,
33241 OPC_CheckType, MVT::v32i8,
33242 OPC_CheckPatternPredicate0,
33243 OPC_EmitIntegerByHwMode0, 15|128,1,
33244 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33245 MVT::v32i8, 3, 24,
33246 26,
33247 OPC_CheckChild2Integer, 9,
33248 OPC_MoveSibling1,
33249 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33250 OPC_CheckChild0Same, 1,
33251 OPC_CheckChild1Integer, 31,
33252 OPC_CheckTypeByHwMode0,
33253 OPC_MoveParent,
33254 OPC_CheckChild2Integer, 25,
33255 OPC_CheckType, MVT::v32i8,
33256 OPC_CheckPatternPredicate0,
33257 OPC_EmitIntegerByHwMode0, 31|128,1,
33258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33259 MVT::v32i8, 3, 24,
33260 26,
33261 OPC_CheckChild2Integer, 10,
33262 OPC_MoveSibling1,
33263 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33264 OPC_CheckChild0Same, 1,
33265 OPC_CheckChild1Integer, 31,
33266 OPC_CheckTypeByHwMode0,
33267 OPC_MoveParent,
33268 OPC_CheckChild2Integer, 26,
33269 OPC_CheckType, MVT::v32i8,
33270 OPC_CheckPatternPredicate0,
33271 OPC_EmitIntegerByHwMode0, 47|128,1,
33272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33273 MVT::v32i8, 3, 24,
33274 26,
33275 OPC_CheckChild2Integer, 11,
33276 OPC_MoveSibling1,
33277 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33278 OPC_CheckChild0Same, 1,
33279 OPC_CheckChild1Integer, 31,
33280 OPC_CheckTypeByHwMode0,
33281 OPC_MoveParent,
33282 OPC_CheckChild2Integer, 27,
33283 OPC_CheckType, MVT::v32i8,
33284 OPC_CheckPatternPredicate0,
33285 OPC_EmitIntegerByHwMode0, 63|128,1,
33286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33287 MVT::v32i8, 3, 24,
33288 26,
33289 OPC_CheckChild2Integer, 12,
33290 OPC_MoveSibling1,
33291 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33292 OPC_CheckChild0Same, 1,
33293 OPC_CheckChild1Integer, 31,
33294 OPC_CheckTypeByHwMode0,
33295 OPC_MoveParent,
33296 OPC_CheckChild2Integer, 28,
33297 OPC_CheckType, MVT::v32i8,
33298 OPC_CheckPatternPredicate0,
33299 OPC_EmitIntegerByHwMode0, 79|128,1,
33300 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33301 MVT::v32i8, 3, 24,
33302 26,
33303 OPC_CheckChild2Integer, 13,
33304 OPC_MoveSibling1,
33305 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33306 OPC_CheckChild0Same, 1,
33307 OPC_CheckChild1Integer, 31,
33308 OPC_CheckTypeByHwMode0,
33309 OPC_MoveParent,
33310 OPC_CheckChild2Integer, 29,
33311 OPC_CheckType, MVT::v32i8,
33312 OPC_CheckPatternPredicate0,
33313 OPC_EmitIntegerByHwMode0, 95|128,1,
33314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33315 MVT::v32i8, 3, 24,
33316 26,
33317 OPC_CheckChild2Integer, 14,
33318 OPC_MoveSibling1,
33319 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33320 OPC_CheckChild0Same, 1,
33321 OPC_CheckChild1Integer, 31,
33322 OPC_CheckTypeByHwMode0,
33323 OPC_MoveParent,
33324 OPC_CheckChild2Integer, 30,
33325 OPC_CheckType, MVT::v32i8,
33326 OPC_CheckPatternPredicate0,
33327 OPC_EmitIntegerByHwMode0, 111|128,1,
33328 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33329 MVT::v32i8, 3, 24,
33330 26,
33331 OPC_CheckChild2Integer, 15,
33332 OPC_MoveSibling1,
33333 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33334 OPC_CheckChild0Same, 1,
33335 OPC_CheckChild1Integer, 31,
33336 OPC_CheckTypeByHwMode0,
33337 OPC_MoveParent,
33338 OPC_CheckChild2Integer, 31,
33339 OPC_CheckType, MVT::v32i8,
33340 OPC_CheckPatternPredicate0,
33341 OPC_EmitIntegerByHwMode0, 127|128,1,
33342 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33343 MVT::v32i8, 3, 24,
33344 0,
33345 0,
33346 100|128,13,
33347 OPC_CheckChild0Type, MVT::v16i16,
33348 OPC_Scope, 90|128,1,
33349 OPC_CheckChild1Integer, 0,
33350 OPC_CheckTypeByHwMode0,
33351 OPC_MoveParent,
33352 OPC_Scope, 25,
33353 OPC_CheckChild2Integer, 0,
33354 OPC_MoveSibling1,
33355 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33356 OPC_CheckChild0Same, 1,
33357 OPC_CheckChild1Integer, 8,
33358 OPC_CheckTypeByHwMode0,
33359 OPC_MoveParent,
33360 OPC_CheckChild2Integer, 8,
33361 OPC_CheckType, MVT::v16i16,
33362 OPC_CheckPatternPredicate0,
33363 OPC_EmitIntegerByHwMode0, 0,
33364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33365 MVT::v16i16, 3, 24,
33366 25,
33367 OPC_CheckChild2Integer, 1,
33368 OPC_MoveSibling1,
33369 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33370 OPC_CheckChild0Same, 1,
33371 OPC_CheckChild1Integer, 8,
33372 OPC_CheckTypeByHwMode0,
33373 OPC_MoveParent,
33374 OPC_CheckChild2Integer, 9,
33375 OPC_CheckType, MVT::v16i16,
33376 OPC_CheckPatternPredicate0,
33377 OPC_EmitIntegerByHwMode0, 16,
33378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33379 MVT::v16i16, 3, 24,
33380 25,
33381 OPC_CheckChild2Integer, 2,
33382 OPC_MoveSibling1,
33383 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33384 OPC_CheckChild0Same, 1,
33385 OPC_CheckChild1Integer, 8,
33386 OPC_CheckTypeByHwMode0,
33387 OPC_MoveParent,
33388 OPC_CheckChild2Integer, 10,
33389 OPC_CheckType, MVT::v16i16,
33390 OPC_CheckPatternPredicate0,
33391 OPC_EmitIntegerByHwMode0, 32,
33392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33393 MVT::v16i16, 3, 24,
33394 25,
33395 OPC_CheckChild2Integer, 3,
33396 OPC_MoveSibling1,
33397 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33398 OPC_CheckChild0Same, 1,
33399 OPC_CheckChild1Integer, 8,
33400 OPC_CheckTypeByHwMode0,
33401 OPC_MoveParent,
33402 OPC_CheckChild2Integer, 11,
33403 OPC_CheckType, MVT::v16i16,
33404 OPC_CheckPatternPredicate0,
33405 OPC_EmitIntegerByHwMode0, 48,
33406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33407 MVT::v16i16, 3, 24,
33408 26,
33409 OPC_CheckChild2Integer, 4,
33410 OPC_MoveSibling1,
33411 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33412 OPC_CheckChild0Same, 1,
33413 OPC_CheckChild1Integer, 8,
33414 OPC_CheckTypeByHwMode0,
33415 OPC_MoveParent,
33416 OPC_CheckChild2Integer, 12,
33417 OPC_CheckType, MVT::v16i16,
33418 OPC_CheckPatternPredicate0,
33419 OPC_EmitIntegerByHwMode0, 64|128,0,
33420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33421 MVT::v16i16, 3, 24,
33422 26,
33423 OPC_CheckChild2Integer, 5,
33424 OPC_MoveSibling1,
33425 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33426 OPC_CheckChild0Same, 1,
33427 OPC_CheckChild1Integer, 8,
33428 OPC_CheckTypeByHwMode0,
33429 OPC_MoveParent,
33430 OPC_CheckChild2Integer, 13,
33431 OPC_CheckType, MVT::v16i16,
33432 OPC_CheckPatternPredicate0,
33433 OPC_EmitIntegerByHwMode0, 80|128,0,
33434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33435 MVT::v16i16, 3, 24,
33436 26,
33437 OPC_CheckChild2Integer, 6,
33438 OPC_MoveSibling1,
33439 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33440 OPC_CheckChild0Same, 1,
33441 OPC_CheckChild1Integer, 8,
33442 OPC_CheckTypeByHwMode0,
33443 OPC_MoveParent,
33444 OPC_CheckChild2Integer, 14,
33445 OPC_CheckType, MVT::v16i16,
33446 OPC_CheckPatternPredicate0,
33447 OPC_EmitIntegerByHwMode0, 96|128,0,
33448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33449 MVT::v16i16, 3, 24,
33450 26,
33451 OPC_CheckChild2Integer, 7,
33452 OPC_MoveSibling1,
33453 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33454 OPC_CheckChild0Same, 1,
33455 OPC_CheckChild1Integer, 8,
33456 OPC_CheckTypeByHwMode0,
33457 OPC_MoveParent,
33458 OPC_CheckChild2Integer, 15,
33459 OPC_CheckType, MVT::v16i16,
33460 OPC_CheckPatternPredicate0,
33461 OPC_EmitIntegerByHwMode0, 112|128,0,
33462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33463 MVT::v16i16, 3, 24,
33464 0,
33465 90|128,1,
33466 OPC_CheckChild1Integer, 1,
33467 OPC_CheckTypeByHwMode0,
33468 OPC_MoveParent,
33469 OPC_Scope, 25,
33470 OPC_CheckChild2Integer, 0,
33471 OPC_MoveSibling1,
33472 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33473 OPC_CheckChild0Same, 1,
33474 OPC_CheckChild1Integer, 9,
33475 OPC_CheckTypeByHwMode0,
33476 OPC_MoveParent,
33477 OPC_CheckChild2Integer, 8,
33478 OPC_CheckType, MVT::v16i16,
33479 OPC_CheckPatternPredicate0,
33480 OPC_EmitIntegerByHwMode0, 1,
33481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33482 MVT::v16i16, 3, 24,
33483 25,
33484 OPC_CheckChild2Integer, 1,
33485 OPC_MoveSibling1,
33486 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33487 OPC_CheckChild0Same, 1,
33488 OPC_CheckChild1Integer, 9,
33489 OPC_CheckTypeByHwMode0,
33490 OPC_MoveParent,
33491 OPC_CheckChild2Integer, 9,
33492 OPC_CheckType, MVT::v16i16,
33493 OPC_CheckPatternPredicate0,
33494 OPC_EmitIntegerByHwMode0, 17,
33495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33496 MVT::v16i16, 3, 24,
33497 25,
33498 OPC_CheckChild2Integer, 2,
33499 OPC_MoveSibling1,
33500 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33501 OPC_CheckChild0Same, 1,
33502 OPC_CheckChild1Integer, 9,
33503 OPC_CheckTypeByHwMode0,
33504 OPC_MoveParent,
33505 OPC_CheckChild2Integer, 10,
33506 OPC_CheckType, MVT::v16i16,
33507 OPC_CheckPatternPredicate0,
33508 OPC_EmitIntegerByHwMode0, 33,
33509 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33510 MVT::v16i16, 3, 24,
33511 25,
33512 OPC_CheckChild2Integer, 3,
33513 OPC_MoveSibling1,
33514 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33515 OPC_CheckChild0Same, 1,
33516 OPC_CheckChild1Integer, 9,
33517 OPC_CheckTypeByHwMode0,
33518 OPC_MoveParent,
33519 OPC_CheckChild2Integer, 11,
33520 OPC_CheckType, MVT::v16i16,
33521 OPC_CheckPatternPredicate0,
33522 OPC_EmitIntegerByHwMode0, 49,
33523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33524 MVT::v16i16, 3, 24,
33525 26,
33526 OPC_CheckChild2Integer, 4,
33527 OPC_MoveSibling1,
33528 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33529 OPC_CheckChild0Same, 1,
33530 OPC_CheckChild1Integer, 9,
33531 OPC_CheckTypeByHwMode0,
33532 OPC_MoveParent,
33533 OPC_CheckChild2Integer, 12,
33534 OPC_CheckType, MVT::v16i16,
33535 OPC_CheckPatternPredicate0,
33536 OPC_EmitIntegerByHwMode0, 65|128,0,
33537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33538 MVT::v16i16, 3, 24,
33539 26,
33540 OPC_CheckChild2Integer, 5,
33541 OPC_MoveSibling1,
33542 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33543 OPC_CheckChild0Same, 1,
33544 OPC_CheckChild1Integer, 9,
33545 OPC_CheckTypeByHwMode0,
33546 OPC_MoveParent,
33547 OPC_CheckChild2Integer, 13,
33548 OPC_CheckType, MVT::v16i16,
33549 OPC_CheckPatternPredicate0,
33550 OPC_EmitIntegerByHwMode0, 81|128,0,
33551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33552 MVT::v16i16, 3, 24,
33553 26,
33554 OPC_CheckChild2Integer, 6,
33555 OPC_MoveSibling1,
33556 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33557 OPC_CheckChild0Same, 1,
33558 OPC_CheckChild1Integer, 9,
33559 OPC_CheckTypeByHwMode0,
33560 OPC_MoveParent,
33561 OPC_CheckChild2Integer, 14,
33562 OPC_CheckType, MVT::v16i16,
33563 OPC_CheckPatternPredicate0,
33564 OPC_EmitIntegerByHwMode0, 97|128,0,
33565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33566 MVT::v16i16, 3, 24,
33567 26,
33568 OPC_CheckChild2Integer, 7,
33569 OPC_MoveSibling1,
33570 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33571 OPC_CheckChild0Same, 1,
33572 OPC_CheckChild1Integer, 9,
33573 OPC_CheckTypeByHwMode0,
33574 OPC_MoveParent,
33575 OPC_CheckChild2Integer, 15,
33576 OPC_CheckType, MVT::v16i16,
33577 OPC_CheckPatternPredicate0,
33578 OPC_EmitIntegerByHwMode0, 113|128,0,
33579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33580 MVT::v16i16, 3, 24,
33581 0,
33582 90|128,1,
33583 OPC_CheckChild1Integer, 2,
33584 OPC_CheckTypeByHwMode0,
33585 OPC_MoveParent,
33586 OPC_Scope, 25,
33587 OPC_CheckChild2Integer, 0,
33588 OPC_MoveSibling1,
33589 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33590 OPC_CheckChild0Same, 1,
33591 OPC_CheckChild1Integer, 10,
33592 OPC_CheckTypeByHwMode0,
33593 OPC_MoveParent,
33594 OPC_CheckChild2Integer, 8,
33595 OPC_CheckType, MVT::v16i16,
33596 OPC_CheckPatternPredicate0,
33597 OPC_EmitIntegerByHwMode0, 2,
33598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33599 MVT::v16i16, 3, 24,
33600 25,
33601 OPC_CheckChild2Integer, 1,
33602 OPC_MoveSibling1,
33603 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33604 OPC_CheckChild0Same, 1,
33605 OPC_CheckChild1Integer, 10,
33606 OPC_CheckTypeByHwMode0,
33607 OPC_MoveParent,
33608 OPC_CheckChild2Integer, 9,
33609 OPC_CheckType, MVT::v16i16,
33610 OPC_CheckPatternPredicate0,
33611 OPC_EmitIntegerByHwMode0, 18,
33612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33613 MVT::v16i16, 3, 24,
33614 25,
33615 OPC_CheckChild2Integer, 2,
33616 OPC_MoveSibling1,
33617 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33618 OPC_CheckChild0Same, 1,
33619 OPC_CheckChild1Integer, 10,
33620 OPC_CheckTypeByHwMode0,
33621 OPC_MoveParent,
33622 OPC_CheckChild2Integer, 10,
33623 OPC_CheckType, MVT::v16i16,
33624 OPC_CheckPatternPredicate0,
33625 OPC_EmitIntegerByHwMode0, 34,
33626 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33627 MVT::v16i16, 3, 24,
33628 25,
33629 OPC_CheckChild2Integer, 3,
33630 OPC_MoveSibling1,
33631 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33632 OPC_CheckChild0Same, 1,
33633 OPC_CheckChild1Integer, 10,
33634 OPC_CheckTypeByHwMode0,
33635 OPC_MoveParent,
33636 OPC_CheckChild2Integer, 11,
33637 OPC_CheckType, MVT::v16i16,
33638 OPC_CheckPatternPredicate0,
33639 OPC_EmitIntegerByHwMode0, 50,
33640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33641 MVT::v16i16, 3, 24,
33642 26,
33643 OPC_CheckChild2Integer, 4,
33644 OPC_MoveSibling1,
33645 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33646 OPC_CheckChild0Same, 1,
33647 OPC_CheckChild1Integer, 10,
33648 OPC_CheckTypeByHwMode0,
33649 OPC_MoveParent,
33650 OPC_CheckChild2Integer, 12,
33651 OPC_CheckType, MVT::v16i16,
33652 OPC_CheckPatternPredicate0,
33653 OPC_EmitIntegerByHwMode0, 66|128,0,
33654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33655 MVT::v16i16, 3, 24,
33656 26,
33657 OPC_CheckChild2Integer, 5,
33658 OPC_MoveSibling1,
33659 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33660 OPC_CheckChild0Same, 1,
33661 OPC_CheckChild1Integer, 10,
33662 OPC_CheckTypeByHwMode0,
33663 OPC_MoveParent,
33664 OPC_CheckChild2Integer, 13,
33665 OPC_CheckType, MVT::v16i16,
33666 OPC_CheckPatternPredicate0,
33667 OPC_EmitIntegerByHwMode0, 82|128,0,
33668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33669 MVT::v16i16, 3, 24,
33670 26,
33671 OPC_CheckChild2Integer, 6,
33672 OPC_MoveSibling1,
33673 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33674 OPC_CheckChild0Same, 1,
33675 OPC_CheckChild1Integer, 10,
33676 OPC_CheckTypeByHwMode0,
33677 OPC_MoveParent,
33678 OPC_CheckChild2Integer, 14,
33679 OPC_CheckType, MVT::v16i16,
33680 OPC_CheckPatternPredicate0,
33681 OPC_EmitIntegerByHwMode0, 98|128,0,
33682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33683 MVT::v16i16, 3, 24,
33684 26,
33685 OPC_CheckChild2Integer, 7,
33686 OPC_MoveSibling1,
33687 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33688 OPC_CheckChild0Same, 1,
33689 OPC_CheckChild1Integer, 10,
33690 OPC_CheckTypeByHwMode0,
33691 OPC_MoveParent,
33692 OPC_CheckChild2Integer, 15,
33693 OPC_CheckType, MVT::v16i16,
33694 OPC_CheckPatternPredicate0,
33695 OPC_EmitIntegerByHwMode0, 114|128,0,
33696 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33697 MVT::v16i16, 3, 24,
33698 0,
33699 90|128,1,
33700 OPC_CheckChild1Integer, 3,
33701 OPC_CheckTypeByHwMode0,
33702 OPC_MoveParent,
33703 OPC_Scope, 25,
33704 OPC_CheckChild2Integer, 0,
33705 OPC_MoveSibling1,
33706 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33707 OPC_CheckChild0Same, 1,
33708 OPC_CheckChild1Integer, 11,
33709 OPC_CheckTypeByHwMode0,
33710 OPC_MoveParent,
33711 OPC_CheckChild2Integer, 8,
33712 OPC_CheckType, MVT::v16i16,
33713 OPC_CheckPatternPredicate0,
33714 OPC_EmitIntegerByHwMode0, 3,
33715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33716 MVT::v16i16, 3, 24,
33717 25,
33718 OPC_CheckChild2Integer, 1,
33719 OPC_MoveSibling1,
33720 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33721 OPC_CheckChild0Same, 1,
33722 OPC_CheckChild1Integer, 11,
33723 OPC_CheckTypeByHwMode0,
33724 OPC_MoveParent,
33725 OPC_CheckChild2Integer, 9,
33726 OPC_CheckType, MVT::v16i16,
33727 OPC_CheckPatternPredicate0,
33728 OPC_EmitIntegerByHwMode0, 19,
33729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33730 MVT::v16i16, 3, 24,
33731 25,
33732 OPC_CheckChild2Integer, 2,
33733 OPC_MoveSibling1,
33734 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33735 OPC_CheckChild0Same, 1,
33736 OPC_CheckChild1Integer, 11,
33737 OPC_CheckTypeByHwMode0,
33738 OPC_MoveParent,
33739 OPC_CheckChild2Integer, 10,
33740 OPC_CheckType, MVT::v16i16,
33741 OPC_CheckPatternPredicate0,
33742 OPC_EmitIntegerByHwMode0, 35,
33743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33744 MVT::v16i16, 3, 24,
33745 25,
33746 OPC_CheckChild2Integer, 3,
33747 OPC_MoveSibling1,
33748 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33749 OPC_CheckChild0Same, 1,
33750 OPC_CheckChild1Integer, 11,
33751 OPC_CheckTypeByHwMode0,
33752 OPC_MoveParent,
33753 OPC_CheckChild2Integer, 11,
33754 OPC_CheckType, MVT::v16i16,
33755 OPC_CheckPatternPredicate0,
33756 OPC_EmitIntegerByHwMode0, 51,
33757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33758 MVT::v16i16, 3, 24,
33759 26,
33760 OPC_CheckChild2Integer, 4,
33761 OPC_MoveSibling1,
33762 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33763 OPC_CheckChild0Same, 1,
33764 OPC_CheckChild1Integer, 11,
33765 OPC_CheckTypeByHwMode0,
33766 OPC_MoveParent,
33767 OPC_CheckChild2Integer, 12,
33768 OPC_CheckType, MVT::v16i16,
33769 OPC_CheckPatternPredicate0,
33770 OPC_EmitIntegerByHwMode0, 67|128,0,
33771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33772 MVT::v16i16, 3, 24,
33773 26,
33774 OPC_CheckChild2Integer, 5,
33775 OPC_MoveSibling1,
33776 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33777 OPC_CheckChild0Same, 1,
33778 OPC_CheckChild1Integer, 11,
33779 OPC_CheckTypeByHwMode0,
33780 OPC_MoveParent,
33781 OPC_CheckChild2Integer, 13,
33782 OPC_CheckType, MVT::v16i16,
33783 OPC_CheckPatternPredicate0,
33784 OPC_EmitIntegerByHwMode0, 83|128,0,
33785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33786 MVT::v16i16, 3, 24,
33787 26,
33788 OPC_CheckChild2Integer, 6,
33789 OPC_MoveSibling1,
33790 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33791 OPC_CheckChild0Same, 1,
33792 OPC_CheckChild1Integer, 11,
33793 OPC_CheckTypeByHwMode0,
33794 OPC_MoveParent,
33795 OPC_CheckChild2Integer, 14,
33796 OPC_CheckType, MVT::v16i16,
33797 OPC_CheckPatternPredicate0,
33798 OPC_EmitIntegerByHwMode0, 99|128,0,
33799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33800 MVT::v16i16, 3, 24,
33801 26,
33802 OPC_CheckChild2Integer, 7,
33803 OPC_MoveSibling1,
33804 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33805 OPC_CheckChild0Same, 1,
33806 OPC_CheckChild1Integer, 11,
33807 OPC_CheckTypeByHwMode0,
33808 OPC_MoveParent,
33809 OPC_CheckChild2Integer, 15,
33810 OPC_CheckType, MVT::v16i16,
33811 OPC_CheckPatternPredicate0,
33812 OPC_EmitIntegerByHwMode0, 115|128,0,
33813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33814 MVT::v16i16, 3, 24,
33815 0,
33816 90|128,1,
33817 OPC_CheckChild1Integer, 4,
33818 OPC_CheckTypeByHwMode0,
33819 OPC_MoveParent,
33820 OPC_Scope, 25,
33821 OPC_CheckChild2Integer, 0,
33822 OPC_MoveSibling1,
33823 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33824 OPC_CheckChild0Same, 1,
33825 OPC_CheckChild1Integer, 12,
33826 OPC_CheckTypeByHwMode0,
33827 OPC_MoveParent,
33828 OPC_CheckChild2Integer, 8,
33829 OPC_CheckType, MVT::v16i16,
33830 OPC_CheckPatternPredicate0,
33831 OPC_EmitIntegerByHwMode0, 4,
33832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33833 MVT::v16i16, 3, 24,
33834 25,
33835 OPC_CheckChild2Integer, 1,
33836 OPC_MoveSibling1,
33837 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33838 OPC_CheckChild0Same, 1,
33839 OPC_CheckChild1Integer, 12,
33840 OPC_CheckTypeByHwMode0,
33841 OPC_MoveParent,
33842 OPC_CheckChild2Integer, 9,
33843 OPC_CheckType, MVT::v16i16,
33844 OPC_CheckPatternPredicate0,
33845 OPC_EmitIntegerByHwMode0, 20,
33846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33847 MVT::v16i16, 3, 24,
33848 25,
33849 OPC_CheckChild2Integer, 2,
33850 OPC_MoveSibling1,
33851 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33852 OPC_CheckChild0Same, 1,
33853 OPC_CheckChild1Integer, 12,
33854 OPC_CheckTypeByHwMode0,
33855 OPC_MoveParent,
33856 OPC_CheckChild2Integer, 10,
33857 OPC_CheckType, MVT::v16i16,
33858 OPC_CheckPatternPredicate0,
33859 OPC_EmitIntegerByHwMode0, 36,
33860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33861 MVT::v16i16, 3, 24,
33862 25,
33863 OPC_CheckChild2Integer, 3,
33864 OPC_MoveSibling1,
33865 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33866 OPC_CheckChild0Same, 1,
33867 OPC_CheckChild1Integer, 12,
33868 OPC_CheckTypeByHwMode0,
33869 OPC_MoveParent,
33870 OPC_CheckChild2Integer, 11,
33871 OPC_CheckType, MVT::v16i16,
33872 OPC_CheckPatternPredicate0,
33873 OPC_EmitIntegerByHwMode0, 52,
33874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33875 MVT::v16i16, 3, 24,
33876 26,
33877 OPC_CheckChild2Integer, 4,
33878 OPC_MoveSibling1,
33879 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33880 OPC_CheckChild0Same, 1,
33881 OPC_CheckChild1Integer, 12,
33882 OPC_CheckTypeByHwMode0,
33883 OPC_MoveParent,
33884 OPC_CheckChild2Integer, 12,
33885 OPC_CheckType, MVT::v16i16,
33886 OPC_CheckPatternPredicate0,
33887 OPC_EmitIntegerByHwMode0, 68|128,0,
33888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33889 MVT::v16i16, 3, 24,
33890 26,
33891 OPC_CheckChild2Integer, 5,
33892 OPC_MoveSibling1,
33893 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33894 OPC_CheckChild0Same, 1,
33895 OPC_CheckChild1Integer, 12,
33896 OPC_CheckTypeByHwMode0,
33897 OPC_MoveParent,
33898 OPC_CheckChild2Integer, 13,
33899 OPC_CheckType, MVT::v16i16,
33900 OPC_CheckPatternPredicate0,
33901 OPC_EmitIntegerByHwMode0, 84|128,0,
33902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33903 MVT::v16i16, 3, 24,
33904 26,
33905 OPC_CheckChild2Integer, 6,
33906 OPC_MoveSibling1,
33907 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33908 OPC_CheckChild0Same, 1,
33909 OPC_CheckChild1Integer, 12,
33910 OPC_CheckTypeByHwMode0,
33911 OPC_MoveParent,
33912 OPC_CheckChild2Integer, 14,
33913 OPC_CheckType, MVT::v16i16,
33914 OPC_CheckPatternPredicate0,
33915 OPC_EmitIntegerByHwMode0, 100|128,0,
33916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33917 MVT::v16i16, 3, 24,
33918 26,
33919 OPC_CheckChild2Integer, 7,
33920 OPC_MoveSibling1,
33921 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33922 OPC_CheckChild0Same, 1,
33923 OPC_CheckChild1Integer, 12,
33924 OPC_CheckTypeByHwMode0,
33925 OPC_MoveParent,
33926 OPC_CheckChild2Integer, 15,
33927 OPC_CheckType, MVT::v16i16,
33928 OPC_CheckPatternPredicate0,
33929 OPC_EmitIntegerByHwMode0, 116|128,0,
33930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33931 MVT::v16i16, 3, 24,
33932 0,
33933 90|128,1,
33934 OPC_CheckChild1Integer, 5,
33935 OPC_CheckTypeByHwMode0,
33936 OPC_MoveParent,
33937 OPC_Scope, 25,
33938 OPC_CheckChild2Integer, 0,
33939 OPC_MoveSibling1,
33940 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33941 OPC_CheckChild0Same, 1,
33942 OPC_CheckChild1Integer, 13,
33943 OPC_CheckTypeByHwMode0,
33944 OPC_MoveParent,
33945 OPC_CheckChild2Integer, 8,
33946 OPC_CheckType, MVT::v16i16,
33947 OPC_CheckPatternPredicate0,
33948 OPC_EmitIntegerByHwMode0, 5,
33949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33950 MVT::v16i16, 3, 24,
33951 25,
33952 OPC_CheckChild2Integer, 1,
33953 OPC_MoveSibling1,
33954 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33955 OPC_CheckChild0Same, 1,
33956 OPC_CheckChild1Integer, 13,
33957 OPC_CheckTypeByHwMode0,
33958 OPC_MoveParent,
33959 OPC_CheckChild2Integer, 9,
33960 OPC_CheckType, MVT::v16i16,
33961 OPC_CheckPatternPredicate0,
33962 OPC_EmitIntegerByHwMode0, 21,
33963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33964 MVT::v16i16, 3, 24,
33965 25,
33966 OPC_CheckChild2Integer, 2,
33967 OPC_MoveSibling1,
33968 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33969 OPC_CheckChild0Same, 1,
33970 OPC_CheckChild1Integer, 13,
33971 OPC_CheckTypeByHwMode0,
33972 OPC_MoveParent,
33973 OPC_CheckChild2Integer, 10,
33974 OPC_CheckType, MVT::v16i16,
33975 OPC_CheckPatternPredicate0,
33976 OPC_EmitIntegerByHwMode0, 37,
33977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33978 MVT::v16i16, 3, 24,
33979 25,
33980 OPC_CheckChild2Integer, 3,
33981 OPC_MoveSibling1,
33982 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33983 OPC_CheckChild0Same, 1,
33984 OPC_CheckChild1Integer, 13,
33985 OPC_CheckTypeByHwMode0,
33986 OPC_MoveParent,
33987 OPC_CheckChild2Integer, 11,
33988 OPC_CheckType, MVT::v16i16,
33989 OPC_CheckPatternPredicate0,
33990 OPC_EmitIntegerByHwMode0, 53,
33991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
33992 MVT::v16i16, 3, 24,
33993 26,
33994 OPC_CheckChild2Integer, 4,
33995 OPC_MoveSibling1,
33996 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33997 OPC_CheckChild0Same, 1,
33998 OPC_CheckChild1Integer, 13,
33999 OPC_CheckTypeByHwMode0,
34000 OPC_MoveParent,
34001 OPC_CheckChild2Integer, 12,
34002 OPC_CheckType, MVT::v16i16,
34003 OPC_CheckPatternPredicate0,
34004 OPC_EmitIntegerByHwMode0, 69|128,0,
34005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34006 MVT::v16i16, 3, 24,
34007 26,
34008 OPC_CheckChild2Integer, 5,
34009 OPC_MoveSibling1,
34010 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34011 OPC_CheckChild0Same, 1,
34012 OPC_CheckChild1Integer, 13,
34013 OPC_CheckTypeByHwMode0,
34014 OPC_MoveParent,
34015 OPC_CheckChild2Integer, 13,
34016 OPC_CheckType, MVT::v16i16,
34017 OPC_CheckPatternPredicate0,
34018 OPC_EmitIntegerByHwMode0, 85|128,0,
34019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34020 MVT::v16i16, 3, 24,
34021 26,
34022 OPC_CheckChild2Integer, 6,
34023 OPC_MoveSibling1,
34024 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34025 OPC_CheckChild0Same, 1,
34026 OPC_CheckChild1Integer, 13,
34027 OPC_CheckTypeByHwMode0,
34028 OPC_MoveParent,
34029 OPC_CheckChild2Integer, 14,
34030 OPC_CheckType, MVT::v16i16,
34031 OPC_CheckPatternPredicate0,
34032 OPC_EmitIntegerByHwMode0, 101|128,0,
34033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34034 MVT::v16i16, 3, 24,
34035 26,
34036 OPC_CheckChild2Integer, 7,
34037 OPC_MoveSibling1,
34038 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34039 OPC_CheckChild0Same, 1,
34040 OPC_CheckChild1Integer, 13,
34041 OPC_CheckTypeByHwMode0,
34042 OPC_MoveParent,
34043 OPC_CheckChild2Integer, 15,
34044 OPC_CheckType, MVT::v16i16,
34045 OPC_CheckPatternPredicate0,
34046 OPC_EmitIntegerByHwMode0, 117|128,0,
34047 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34048 MVT::v16i16, 3, 24,
34049 0,
34050 90|128,1,
34051 OPC_CheckChild1Integer, 6,
34052 OPC_CheckTypeByHwMode0,
34053 OPC_MoveParent,
34054 OPC_Scope, 25,
34055 OPC_CheckChild2Integer, 0,
34056 OPC_MoveSibling1,
34057 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34058 OPC_CheckChild0Same, 1,
34059 OPC_CheckChild1Integer, 14,
34060 OPC_CheckTypeByHwMode0,
34061 OPC_MoveParent,
34062 OPC_CheckChild2Integer, 8,
34063 OPC_CheckType, MVT::v16i16,
34064 OPC_CheckPatternPredicate0,
34065 OPC_EmitIntegerByHwMode0, 6,
34066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34067 MVT::v16i16, 3, 24,
34068 25,
34069 OPC_CheckChild2Integer, 1,
34070 OPC_MoveSibling1,
34071 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34072 OPC_CheckChild0Same, 1,
34073 OPC_CheckChild1Integer, 14,
34074 OPC_CheckTypeByHwMode0,
34075 OPC_MoveParent,
34076 OPC_CheckChild2Integer, 9,
34077 OPC_CheckType, MVT::v16i16,
34078 OPC_CheckPatternPredicate0,
34079 OPC_EmitIntegerByHwMode0, 22,
34080 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34081 MVT::v16i16, 3, 24,
34082 25,
34083 OPC_CheckChild2Integer, 2,
34084 OPC_MoveSibling1,
34085 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34086 OPC_CheckChild0Same, 1,
34087 OPC_CheckChild1Integer, 14,
34088 OPC_CheckTypeByHwMode0,
34089 OPC_MoveParent,
34090 OPC_CheckChild2Integer, 10,
34091 OPC_CheckType, MVT::v16i16,
34092 OPC_CheckPatternPredicate0,
34093 OPC_EmitIntegerByHwMode0, 38,
34094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34095 MVT::v16i16, 3, 24,
34096 25,
34097 OPC_CheckChild2Integer, 3,
34098 OPC_MoveSibling1,
34099 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34100 OPC_CheckChild0Same, 1,
34101 OPC_CheckChild1Integer, 14,
34102 OPC_CheckTypeByHwMode0,
34103 OPC_MoveParent,
34104 OPC_CheckChild2Integer, 11,
34105 OPC_CheckType, MVT::v16i16,
34106 OPC_CheckPatternPredicate0,
34107 OPC_EmitIntegerByHwMode0, 54,
34108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34109 MVT::v16i16, 3, 24,
34110 26,
34111 OPC_CheckChild2Integer, 4,
34112 OPC_MoveSibling1,
34113 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34114 OPC_CheckChild0Same, 1,
34115 OPC_CheckChild1Integer, 14,
34116 OPC_CheckTypeByHwMode0,
34117 OPC_MoveParent,
34118 OPC_CheckChild2Integer, 12,
34119 OPC_CheckType, MVT::v16i16,
34120 OPC_CheckPatternPredicate0,
34121 OPC_EmitIntegerByHwMode0, 70|128,0,
34122 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34123 MVT::v16i16, 3, 24,
34124 26,
34125 OPC_CheckChild2Integer, 5,
34126 OPC_MoveSibling1,
34127 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34128 OPC_CheckChild0Same, 1,
34129 OPC_CheckChild1Integer, 14,
34130 OPC_CheckTypeByHwMode0,
34131 OPC_MoveParent,
34132 OPC_CheckChild2Integer, 13,
34133 OPC_CheckType, MVT::v16i16,
34134 OPC_CheckPatternPredicate0,
34135 OPC_EmitIntegerByHwMode0, 86|128,0,
34136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34137 MVT::v16i16, 3, 24,
34138 26,
34139 OPC_CheckChild2Integer, 6,
34140 OPC_MoveSibling1,
34141 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34142 OPC_CheckChild0Same, 1,
34143 OPC_CheckChild1Integer, 14,
34144 OPC_CheckTypeByHwMode0,
34145 OPC_MoveParent,
34146 OPC_CheckChild2Integer, 14,
34147 OPC_CheckType, MVT::v16i16,
34148 OPC_CheckPatternPredicate0,
34149 OPC_EmitIntegerByHwMode0, 102|128,0,
34150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34151 MVT::v16i16, 3, 24,
34152 26,
34153 OPC_CheckChild2Integer, 7,
34154 OPC_MoveSibling1,
34155 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34156 OPC_CheckChild0Same, 1,
34157 OPC_CheckChild1Integer, 14,
34158 OPC_CheckTypeByHwMode0,
34159 OPC_MoveParent,
34160 OPC_CheckChild2Integer, 15,
34161 OPC_CheckType, MVT::v16i16,
34162 OPC_CheckPatternPredicate0,
34163 OPC_EmitIntegerByHwMode0, 118|128,0,
34164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34165 MVT::v16i16, 3, 24,
34166 0,
34167 90|128,1,
34168 OPC_CheckChild1Integer, 7,
34169 OPC_CheckTypeByHwMode0,
34170 OPC_MoveParent,
34171 OPC_Scope, 25,
34172 OPC_CheckChild2Integer, 0,
34173 OPC_MoveSibling1,
34174 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34175 OPC_CheckChild0Same, 1,
34176 OPC_CheckChild1Integer, 15,
34177 OPC_CheckTypeByHwMode0,
34178 OPC_MoveParent,
34179 OPC_CheckChild2Integer, 8,
34180 OPC_CheckType, MVT::v16i16,
34181 OPC_CheckPatternPredicate0,
34182 OPC_EmitIntegerByHwMode0, 7,
34183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34184 MVT::v16i16, 3, 24,
34185 25,
34186 OPC_CheckChild2Integer, 1,
34187 OPC_MoveSibling1,
34188 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34189 OPC_CheckChild0Same, 1,
34190 OPC_CheckChild1Integer, 15,
34191 OPC_CheckTypeByHwMode0,
34192 OPC_MoveParent,
34193 OPC_CheckChild2Integer, 9,
34194 OPC_CheckType, MVT::v16i16,
34195 OPC_CheckPatternPredicate0,
34196 OPC_EmitIntegerByHwMode0, 23,
34197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34198 MVT::v16i16, 3, 24,
34199 25,
34200 OPC_CheckChild2Integer, 2,
34201 OPC_MoveSibling1,
34202 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34203 OPC_CheckChild0Same, 1,
34204 OPC_CheckChild1Integer, 15,
34205 OPC_CheckTypeByHwMode0,
34206 OPC_MoveParent,
34207 OPC_CheckChild2Integer, 10,
34208 OPC_CheckType, MVT::v16i16,
34209 OPC_CheckPatternPredicate0,
34210 OPC_EmitIntegerByHwMode0, 39,
34211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34212 MVT::v16i16, 3, 24,
34213 25,
34214 OPC_CheckChild2Integer, 3,
34215 OPC_MoveSibling1,
34216 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34217 OPC_CheckChild0Same, 1,
34218 OPC_CheckChild1Integer, 15,
34219 OPC_CheckTypeByHwMode0,
34220 OPC_MoveParent,
34221 OPC_CheckChild2Integer, 11,
34222 OPC_CheckType, MVT::v16i16,
34223 OPC_CheckPatternPredicate0,
34224 OPC_EmitIntegerByHwMode0, 55,
34225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34226 MVT::v16i16, 3, 24,
34227 26,
34228 OPC_CheckChild2Integer, 4,
34229 OPC_MoveSibling1,
34230 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34231 OPC_CheckChild0Same, 1,
34232 OPC_CheckChild1Integer, 15,
34233 OPC_CheckTypeByHwMode0,
34234 OPC_MoveParent,
34235 OPC_CheckChild2Integer, 12,
34236 OPC_CheckType, MVT::v16i16,
34237 OPC_CheckPatternPredicate0,
34238 OPC_EmitIntegerByHwMode0, 71|128,0,
34239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34240 MVT::v16i16, 3, 24,
34241 26,
34242 OPC_CheckChild2Integer, 5,
34243 OPC_MoveSibling1,
34244 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34245 OPC_CheckChild0Same, 1,
34246 OPC_CheckChild1Integer, 15,
34247 OPC_CheckTypeByHwMode0,
34248 OPC_MoveParent,
34249 OPC_CheckChild2Integer, 13,
34250 OPC_CheckType, MVT::v16i16,
34251 OPC_CheckPatternPredicate0,
34252 OPC_EmitIntegerByHwMode0, 87|128,0,
34253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34254 MVT::v16i16, 3, 24,
34255 26,
34256 OPC_CheckChild2Integer, 6,
34257 OPC_MoveSibling1,
34258 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34259 OPC_CheckChild0Same, 1,
34260 OPC_CheckChild1Integer, 15,
34261 OPC_CheckTypeByHwMode0,
34262 OPC_MoveParent,
34263 OPC_CheckChild2Integer, 14,
34264 OPC_CheckType, MVT::v16i16,
34265 OPC_CheckPatternPredicate0,
34266 OPC_EmitIntegerByHwMode0, 103|128,0,
34267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34268 MVT::v16i16, 3, 24,
34269 26,
34270 OPC_CheckChild2Integer, 7,
34271 OPC_MoveSibling1,
34272 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34273 OPC_CheckChild0Same, 1,
34274 OPC_CheckChild1Integer, 15,
34275 OPC_CheckTypeByHwMode0,
34276 OPC_MoveParent,
34277 OPC_CheckChild2Integer, 15,
34278 OPC_CheckType, MVT::v16i16,
34279 OPC_CheckPatternPredicate0,
34280 OPC_EmitIntegerByHwMode0, 119|128,0,
34281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34282 MVT::v16i16, 3, 24,
34283 0,
34284 0,
34285 64|128,3,
34286 OPC_CheckChild0Type, MVT::v8i32,
34287 OPC_Scope, 110,
34288 OPC_CheckChild1Integer, 0,
34289 OPC_CheckTypeByHwMode0,
34290 OPC_MoveParent,
34291 OPC_Scope, 25,
34292 OPC_CheckChild2Integer, 0,
34293 OPC_MoveSibling1,
34294 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34295 OPC_CheckChild0Same, 1,
34296 OPC_CheckChild1Integer, 4,
34297 OPC_CheckTypeByHwMode0,
34298 OPC_MoveParent,
34299 OPC_CheckChild2Integer, 4,
34300 OPC_CheckType, MVT::v8i32,
34301 OPC_CheckPatternPredicate0,
34302 OPC_EmitIntegerByHwMode0, 0,
34303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34304 MVT::v8i32, 3, 24,
34305 25,
34306 OPC_CheckChild2Integer, 1,
34307 OPC_MoveSibling1,
34308 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34309 OPC_CheckChild0Same, 1,
34310 OPC_CheckChild1Integer, 4,
34311 OPC_CheckTypeByHwMode0,
34312 OPC_MoveParent,
34313 OPC_CheckChild2Integer, 5,
34314 OPC_CheckType, MVT::v8i32,
34315 OPC_CheckPatternPredicate0,
34316 OPC_EmitIntegerByHwMode0, 16,
34317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34318 MVT::v8i32, 3, 24,
34319 25,
34320 OPC_CheckChild2Integer, 2,
34321 OPC_MoveSibling1,
34322 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34323 OPC_CheckChild0Same, 1,
34324 OPC_CheckChild1Integer, 4,
34325 OPC_CheckTypeByHwMode0,
34326 OPC_MoveParent,
34327 OPC_CheckChild2Integer, 6,
34328 OPC_CheckType, MVT::v8i32,
34329 OPC_CheckPatternPredicate0,
34330 OPC_EmitIntegerByHwMode0, 32,
34331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34332 MVT::v8i32, 3, 24,
34333 25,
34334 OPC_CheckChild2Integer, 3,
34335 OPC_MoveSibling1,
34336 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34337 OPC_CheckChild0Same, 1,
34338 OPC_CheckChild1Integer, 4,
34339 OPC_CheckTypeByHwMode0,
34340 OPC_MoveParent,
34341 OPC_CheckChild2Integer, 7,
34342 OPC_CheckType, MVT::v8i32,
34343 OPC_CheckPatternPredicate0,
34344 OPC_EmitIntegerByHwMode0, 48,
34345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34346 MVT::v8i32, 3, 24,
34347 0,
34348 110,
34349 OPC_CheckChild1Integer, 1,
34350 OPC_CheckTypeByHwMode0,
34351 OPC_MoveParent,
34352 OPC_Scope, 25,
34353 OPC_CheckChild2Integer, 0,
34354 OPC_MoveSibling1,
34355 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34356 OPC_CheckChild0Same, 1,
34357 OPC_CheckChild1Integer, 5,
34358 OPC_CheckTypeByHwMode0,
34359 OPC_MoveParent,
34360 OPC_CheckChild2Integer, 4,
34361 OPC_CheckType, MVT::v8i32,
34362 OPC_CheckPatternPredicate0,
34363 OPC_EmitIntegerByHwMode0, 1,
34364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34365 MVT::v8i32, 3, 24,
34366 25,
34367 OPC_CheckChild2Integer, 1,
34368 OPC_MoveSibling1,
34369 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34370 OPC_CheckChild0Same, 1,
34371 OPC_CheckChild1Integer, 5,
34372 OPC_CheckTypeByHwMode0,
34373 OPC_MoveParent,
34374 OPC_CheckChild2Integer, 5,
34375 OPC_CheckType, MVT::v8i32,
34376 OPC_CheckPatternPredicate0,
34377 OPC_EmitIntegerByHwMode0, 17,
34378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34379 MVT::v8i32, 3, 24,
34380 25,
34381 OPC_CheckChild2Integer, 2,
34382 OPC_MoveSibling1,
34383 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34384 OPC_CheckChild0Same, 1,
34385 OPC_CheckChild1Integer, 5,
34386 OPC_CheckTypeByHwMode0,
34387 OPC_MoveParent,
34388 OPC_CheckChild2Integer, 6,
34389 OPC_CheckType, MVT::v8i32,
34390 OPC_CheckPatternPredicate0,
34391 OPC_EmitIntegerByHwMode0, 33,
34392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34393 MVT::v8i32, 3, 24,
34394 25,
34395 OPC_CheckChild2Integer, 3,
34396 OPC_MoveSibling1,
34397 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34398 OPC_CheckChild0Same, 1,
34399 OPC_CheckChild1Integer, 5,
34400 OPC_CheckTypeByHwMode0,
34401 OPC_MoveParent,
34402 OPC_CheckChild2Integer, 7,
34403 OPC_CheckType, MVT::v8i32,
34404 OPC_CheckPatternPredicate0,
34405 OPC_EmitIntegerByHwMode0, 49,
34406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34407 MVT::v8i32, 3, 24,
34408 0,
34409 110,
34410 OPC_CheckChild1Integer, 2,
34411 OPC_CheckTypeByHwMode0,
34412 OPC_MoveParent,
34413 OPC_Scope, 25,
34414 OPC_CheckChild2Integer, 0,
34415 OPC_MoveSibling1,
34416 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34417 OPC_CheckChild0Same, 1,
34418 OPC_CheckChild1Integer, 6,
34419 OPC_CheckTypeByHwMode0,
34420 OPC_MoveParent,
34421 OPC_CheckChild2Integer, 4,
34422 OPC_CheckType, MVT::v8i32,
34423 OPC_CheckPatternPredicate0,
34424 OPC_EmitIntegerByHwMode0, 2,
34425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34426 MVT::v8i32, 3, 24,
34427 25,
34428 OPC_CheckChild2Integer, 1,
34429 OPC_MoveSibling1,
34430 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34431 OPC_CheckChild0Same, 1,
34432 OPC_CheckChild1Integer, 6,
34433 OPC_CheckTypeByHwMode0,
34434 OPC_MoveParent,
34435 OPC_CheckChild2Integer, 5,
34436 OPC_CheckType, MVT::v8i32,
34437 OPC_CheckPatternPredicate0,
34438 OPC_EmitIntegerByHwMode0, 18,
34439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34440 MVT::v8i32, 3, 24,
34441 25,
34442 OPC_CheckChild2Integer, 2,
34443 OPC_MoveSibling1,
34444 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34445 OPC_CheckChild0Same, 1,
34446 OPC_CheckChild1Integer, 6,
34447 OPC_CheckTypeByHwMode0,
34448 OPC_MoveParent,
34449 OPC_CheckChild2Integer, 6,
34450 OPC_CheckType, MVT::v8i32,
34451 OPC_CheckPatternPredicate0,
34452 OPC_EmitIntegerByHwMode0, 34,
34453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34454 MVT::v8i32, 3, 24,
34455 25,
34456 OPC_CheckChild2Integer, 3,
34457 OPC_MoveSibling1,
34458 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34459 OPC_CheckChild0Same, 1,
34460 OPC_CheckChild1Integer, 6,
34461 OPC_CheckTypeByHwMode0,
34462 OPC_MoveParent,
34463 OPC_CheckChild2Integer, 7,
34464 OPC_CheckType, MVT::v8i32,
34465 OPC_CheckPatternPredicate0,
34466 OPC_EmitIntegerByHwMode0, 50,
34467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34468 MVT::v8i32, 3, 24,
34469 0,
34470 110,
34471 OPC_CheckChild1Integer, 3,
34472 OPC_CheckTypeByHwMode0,
34473 OPC_MoveParent,
34474 OPC_Scope, 25,
34475 OPC_CheckChild2Integer, 0,
34476 OPC_MoveSibling1,
34477 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34478 OPC_CheckChild0Same, 1,
34479 OPC_CheckChild1Integer, 7,
34480 OPC_CheckTypeByHwMode0,
34481 OPC_MoveParent,
34482 OPC_CheckChild2Integer, 4,
34483 OPC_CheckType, MVT::v8i32,
34484 OPC_CheckPatternPredicate0,
34485 OPC_EmitIntegerByHwMode0, 3,
34486 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34487 MVT::v8i32, 3, 24,
34488 25,
34489 OPC_CheckChild2Integer, 1,
34490 OPC_MoveSibling1,
34491 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34492 OPC_CheckChild0Same, 1,
34493 OPC_CheckChild1Integer, 7,
34494 OPC_CheckTypeByHwMode0,
34495 OPC_MoveParent,
34496 OPC_CheckChild2Integer, 5,
34497 OPC_CheckType, MVT::v8i32,
34498 OPC_CheckPatternPredicate0,
34499 OPC_EmitIntegerByHwMode0, 19,
34500 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34501 MVT::v8i32, 3, 24,
34502 25,
34503 OPC_CheckChild2Integer, 2,
34504 OPC_MoveSibling1,
34505 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34506 OPC_CheckChild0Same, 1,
34507 OPC_CheckChild1Integer, 7,
34508 OPC_CheckTypeByHwMode0,
34509 OPC_MoveParent,
34510 OPC_CheckChild2Integer, 6,
34511 OPC_CheckType, MVT::v8i32,
34512 OPC_CheckPatternPredicate0,
34513 OPC_EmitIntegerByHwMode0, 35,
34514 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34515 MVT::v8i32, 3, 24,
34516 25,
34517 OPC_CheckChild2Integer, 3,
34518 OPC_MoveSibling1,
34519 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34520 OPC_CheckChild0Same, 1,
34521 OPC_CheckChild1Integer, 7,
34522 OPC_CheckTypeByHwMode0,
34523 OPC_MoveParent,
34524 OPC_CheckChild2Integer, 7,
34525 OPC_CheckType, MVT::v8i32,
34526 OPC_CheckPatternPredicate0,
34527 OPC_EmitIntegerByHwMode0, 51,
34528 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
34529 MVT::v8i32, 3, 24,
34530 0,
34531 0,
34532 122,
34533 OPC_CheckChild0Type, MVT::v4i64,
34534 OPC_Scope, 58,
34535 OPC_CheckChild1Integer, 0,
34536 OPC_CheckTypeByHwMode0,
34537 OPC_MoveParent,
34538 OPC_Scope, 25,
34539 OPC_CheckChild2Integer, 0,
34540 OPC_MoveSibling1,
34541 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34542 OPC_CheckChild0Same, 1,
34543 OPC_CheckChild1Integer, 2,
34544 OPC_CheckTypeByHwMode0,
34545 OPC_MoveParent,
34546 OPC_CheckChild2Integer, 2,
34547 OPC_CheckType, MVT::v4i64,
34548 OPC_CheckPatternPredicate0,
34549 OPC_EmitIntegerByHwMode0, 0,
34550 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
34551 MVT::v4i64, 3, 24,
34552 25,
34553 OPC_CheckChild2Integer, 1,
34554 OPC_MoveSibling1,
34555 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34556 OPC_CheckChild0Same, 1,
34557 OPC_CheckChild1Integer, 2,
34558 OPC_CheckTypeByHwMode0,
34559 OPC_MoveParent,
34560 OPC_CheckChild2Integer, 3,
34561 OPC_CheckType, MVT::v4i64,
34562 OPC_CheckPatternPredicate0,
34563 OPC_EmitIntegerByHwMode0, 16,
34564 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
34565 MVT::v4i64, 3, 24,
34566 0,
34567 58,
34568 OPC_CheckChild1Integer, 1,
34569 OPC_CheckTypeByHwMode0,
34570 OPC_MoveParent,
34571 OPC_Scope, 25,
34572 OPC_CheckChild2Integer, 0,
34573 OPC_MoveSibling1,
34574 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34575 OPC_CheckChild0Same, 1,
34576 OPC_CheckChild1Integer, 3,
34577 OPC_CheckTypeByHwMode0,
34578 OPC_MoveParent,
34579 OPC_CheckChild2Integer, 2,
34580 OPC_CheckType, MVT::v4i64,
34581 OPC_CheckPatternPredicate0,
34582 OPC_EmitIntegerByHwMode0, 1,
34583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
34584 MVT::v4i64, 3, 24,
34585 25,
34586 OPC_CheckChild2Integer, 1,
34587 OPC_MoveSibling1,
34588 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34589 OPC_CheckChild0Same, 1,
34590 OPC_CheckChild1Integer, 3,
34591 OPC_CheckTypeByHwMode0,
34592 OPC_MoveParent,
34593 OPC_CheckChild2Integer, 3,
34594 OPC_CheckType, MVT::v4i64,
34595 OPC_CheckPatternPredicate0,
34596 OPC_EmitIntegerByHwMode0, 17,
34597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
34598 MVT::v4i64, 3, 24,
34599 0,
34600 0,
34601 0,
34602 22|128,38,
34603 OPC_RecordChild0,
34604 OPC_Scope, 14|128,37,
34605 OPC_MoveChild1,
34606 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34607 OPC_RecordChild0,
34608 OPC_Scope, 100|128,26,
34609 OPC_CheckChild0Type, MVT::v16i8,
34610 OPC_Scope, 84|128,1,
34611 OPC_CheckChild1Integer, 0,
34612 OPC_CheckTypeByHwMode0,
34613 OPC_MoveParent,
34614 OPC_CheckType, MVT::v16i8,
34615 OPC_Scope, 11,
34616 OPC_CheckChild2Integer, 0,
34617 OPC_CheckPatternPredicate1,
34618 OPC_EmitIntegerByHwMode0, 0,
34619 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34620 MVT::v16i8, 3, 24,
34621 11,
34622 OPC_CheckChild2Integer, 1,
34623 OPC_CheckPatternPredicate1,
34624 OPC_EmitIntegerByHwMode0, 16,
34625 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34626 MVT::v16i8, 3, 24,
34627 11,
34628 OPC_CheckChild2Integer, 2,
34629 OPC_CheckPatternPredicate1,
34630 OPC_EmitIntegerByHwMode0, 32,
34631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34632 MVT::v16i8, 3, 24,
34633 11,
34634 OPC_CheckChild2Integer, 3,
34635 OPC_CheckPatternPredicate1,
34636 OPC_EmitIntegerByHwMode0, 48,
34637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34638 MVT::v16i8, 3, 24,
34639 12,
34640 OPC_CheckChild2Integer, 4,
34641 OPC_CheckPatternPredicate1,
34642 OPC_EmitIntegerByHwMode0, 64|128,0,
34643 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34644 MVT::v16i8, 3, 24,
34645 12,
34646 OPC_CheckChild2Integer, 5,
34647 OPC_CheckPatternPredicate1,
34648 OPC_EmitIntegerByHwMode0, 80|128,0,
34649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34650 MVT::v16i8, 3, 24,
34651 12,
34652 OPC_CheckChild2Integer, 6,
34653 OPC_CheckPatternPredicate1,
34654 OPC_EmitIntegerByHwMode0, 96|128,0,
34655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34656 MVT::v16i8, 3, 24,
34657 12,
34658 OPC_CheckChild2Integer, 7,
34659 OPC_CheckPatternPredicate1,
34660 OPC_EmitIntegerByHwMode0, 112|128,0,
34661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34662 MVT::v16i8, 3, 24,
34663 12,
34664 OPC_CheckChild2Integer, 8,
34665 OPC_CheckPatternPredicate1,
34666 OPC_EmitIntegerByHwMode0, 0|128,1,
34667 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34668 MVT::v16i8, 3, 24,
34669 12,
34670 OPC_CheckChild2Integer, 9,
34671 OPC_CheckPatternPredicate1,
34672 OPC_EmitIntegerByHwMode0, 16|128,1,
34673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34674 MVT::v16i8, 3, 24,
34675 12,
34676 OPC_CheckChild2Integer, 10,
34677 OPC_CheckPatternPredicate1,
34678 OPC_EmitIntegerByHwMode0, 32|128,1,
34679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34680 MVT::v16i8, 3, 24,
34681 12,
34682 OPC_CheckChild2Integer, 11,
34683 OPC_CheckPatternPredicate1,
34684 OPC_EmitIntegerByHwMode0, 48|128,1,
34685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34686 MVT::v16i8, 3, 24,
34687 12,
34688 OPC_CheckChild2Integer, 12,
34689 OPC_CheckPatternPredicate1,
34690 OPC_EmitIntegerByHwMode0, 64|128,1,
34691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34692 MVT::v16i8, 3, 24,
34693 12,
34694 OPC_CheckChild2Integer, 13,
34695 OPC_CheckPatternPredicate1,
34696 OPC_EmitIntegerByHwMode0, 80|128,1,
34697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34698 MVT::v16i8, 3, 24,
34699 12,
34700 OPC_CheckChild2Integer, 14,
34701 OPC_CheckPatternPredicate1,
34702 OPC_EmitIntegerByHwMode0, 96|128,1,
34703 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34704 MVT::v16i8, 3, 24,
34705 12,
34706 OPC_CheckChild2Integer, 15,
34707 OPC_CheckPatternPredicate1,
34708 OPC_EmitIntegerByHwMode0, 112|128,1,
34709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34710 MVT::v16i8, 3, 24,
34711 0,
34712 84|128,1,
34713 OPC_CheckChild1Integer, 1,
34714 OPC_CheckTypeByHwMode0,
34715 OPC_MoveParent,
34716 OPC_CheckType, MVT::v16i8,
34717 OPC_Scope, 11,
34718 OPC_CheckChild2Integer, 0,
34719 OPC_CheckPatternPredicate1,
34720 OPC_EmitIntegerByHwMode0, 1,
34721 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34722 MVT::v16i8, 3, 24,
34723 11,
34724 OPC_CheckChild2Integer, 1,
34725 OPC_CheckPatternPredicate1,
34726 OPC_EmitIntegerByHwMode0, 17,
34727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34728 MVT::v16i8, 3, 24,
34729 11,
34730 OPC_CheckChild2Integer, 2,
34731 OPC_CheckPatternPredicate1,
34732 OPC_EmitIntegerByHwMode0, 33,
34733 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34734 MVT::v16i8, 3, 24,
34735 11,
34736 OPC_CheckChild2Integer, 3,
34737 OPC_CheckPatternPredicate1,
34738 OPC_EmitIntegerByHwMode0, 49,
34739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34740 MVT::v16i8, 3, 24,
34741 12,
34742 OPC_CheckChild2Integer, 4,
34743 OPC_CheckPatternPredicate1,
34744 OPC_EmitIntegerByHwMode0, 65|128,0,
34745 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34746 MVT::v16i8, 3, 24,
34747 12,
34748 OPC_CheckChild2Integer, 5,
34749 OPC_CheckPatternPredicate1,
34750 OPC_EmitIntegerByHwMode0, 81|128,0,
34751 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34752 MVT::v16i8, 3, 24,
34753 12,
34754 OPC_CheckChild2Integer, 6,
34755 OPC_CheckPatternPredicate1,
34756 OPC_EmitIntegerByHwMode0, 97|128,0,
34757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34758 MVT::v16i8, 3, 24,
34759 12,
34760 OPC_CheckChild2Integer, 7,
34761 OPC_CheckPatternPredicate1,
34762 OPC_EmitIntegerByHwMode0, 113|128,0,
34763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34764 MVT::v16i8, 3, 24,
34765 12,
34766 OPC_CheckChild2Integer, 8,
34767 OPC_CheckPatternPredicate1,
34768 OPC_EmitIntegerByHwMode0, 1|128,1,
34769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34770 MVT::v16i8, 3, 24,
34771 12,
34772 OPC_CheckChild2Integer, 9,
34773 OPC_CheckPatternPredicate1,
34774 OPC_EmitIntegerByHwMode0, 17|128,1,
34775 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34776 MVT::v16i8, 3, 24,
34777 12,
34778 OPC_CheckChild2Integer, 10,
34779 OPC_CheckPatternPredicate1,
34780 OPC_EmitIntegerByHwMode0, 33|128,1,
34781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34782 MVT::v16i8, 3, 24,
34783 12,
34784 OPC_CheckChild2Integer, 11,
34785 OPC_CheckPatternPredicate1,
34786 OPC_EmitIntegerByHwMode0, 49|128,1,
34787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34788 MVT::v16i8, 3, 24,
34789 12,
34790 OPC_CheckChild2Integer, 12,
34791 OPC_CheckPatternPredicate1,
34792 OPC_EmitIntegerByHwMode0, 65|128,1,
34793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34794 MVT::v16i8, 3, 24,
34795 12,
34796 OPC_CheckChild2Integer, 13,
34797 OPC_CheckPatternPredicate1,
34798 OPC_EmitIntegerByHwMode0, 81|128,1,
34799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34800 MVT::v16i8, 3, 24,
34801 12,
34802 OPC_CheckChild2Integer, 14,
34803 OPC_CheckPatternPredicate1,
34804 OPC_EmitIntegerByHwMode0, 97|128,1,
34805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34806 MVT::v16i8, 3, 24,
34807 12,
34808 OPC_CheckChild2Integer, 15,
34809 OPC_CheckPatternPredicate1,
34810 OPC_EmitIntegerByHwMode0, 113|128,1,
34811 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34812 MVT::v16i8, 3, 24,
34813 0,
34814 84|128,1,
34815 OPC_CheckChild1Integer, 2,
34816 OPC_CheckTypeByHwMode0,
34817 OPC_MoveParent,
34818 OPC_CheckType, MVT::v16i8,
34819 OPC_Scope, 11,
34820 OPC_CheckChild2Integer, 0,
34821 OPC_CheckPatternPredicate1,
34822 OPC_EmitIntegerByHwMode0, 2,
34823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34824 MVT::v16i8, 3, 24,
34825 11,
34826 OPC_CheckChild2Integer, 1,
34827 OPC_CheckPatternPredicate1,
34828 OPC_EmitIntegerByHwMode0, 18,
34829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34830 MVT::v16i8, 3, 24,
34831 11,
34832 OPC_CheckChild2Integer, 2,
34833 OPC_CheckPatternPredicate1,
34834 OPC_EmitIntegerByHwMode0, 34,
34835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34836 MVT::v16i8, 3, 24,
34837 11,
34838 OPC_CheckChild2Integer, 3,
34839 OPC_CheckPatternPredicate1,
34840 OPC_EmitIntegerByHwMode0, 50,
34841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34842 MVT::v16i8, 3, 24,
34843 12,
34844 OPC_CheckChild2Integer, 4,
34845 OPC_CheckPatternPredicate1,
34846 OPC_EmitIntegerByHwMode0, 66|128,0,
34847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34848 MVT::v16i8, 3, 24,
34849 12,
34850 OPC_CheckChild2Integer, 5,
34851 OPC_CheckPatternPredicate1,
34852 OPC_EmitIntegerByHwMode0, 82|128,0,
34853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34854 MVT::v16i8, 3, 24,
34855 12,
34856 OPC_CheckChild2Integer, 6,
34857 OPC_CheckPatternPredicate1,
34858 OPC_EmitIntegerByHwMode0, 98|128,0,
34859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34860 MVT::v16i8, 3, 24,
34861 12,
34862 OPC_CheckChild2Integer, 7,
34863 OPC_CheckPatternPredicate1,
34864 OPC_EmitIntegerByHwMode0, 114|128,0,
34865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34866 MVT::v16i8, 3, 24,
34867 12,
34868 OPC_CheckChild2Integer, 8,
34869 OPC_CheckPatternPredicate1,
34870 OPC_EmitIntegerByHwMode0, 2|128,1,
34871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34872 MVT::v16i8, 3, 24,
34873 12,
34874 OPC_CheckChild2Integer, 9,
34875 OPC_CheckPatternPredicate1,
34876 OPC_EmitIntegerByHwMode0, 18|128,1,
34877 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34878 MVT::v16i8, 3, 24,
34879 12,
34880 OPC_CheckChild2Integer, 10,
34881 OPC_CheckPatternPredicate1,
34882 OPC_EmitIntegerByHwMode0, 34|128,1,
34883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34884 MVT::v16i8, 3, 24,
34885 12,
34886 OPC_CheckChild2Integer, 11,
34887 OPC_CheckPatternPredicate1,
34888 OPC_EmitIntegerByHwMode0, 50|128,1,
34889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34890 MVT::v16i8, 3, 24,
34891 12,
34892 OPC_CheckChild2Integer, 12,
34893 OPC_CheckPatternPredicate1,
34894 OPC_EmitIntegerByHwMode0, 66|128,1,
34895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34896 MVT::v16i8, 3, 24,
34897 12,
34898 OPC_CheckChild2Integer, 13,
34899 OPC_CheckPatternPredicate1,
34900 OPC_EmitIntegerByHwMode0, 82|128,1,
34901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34902 MVT::v16i8, 3, 24,
34903 12,
34904 OPC_CheckChild2Integer, 14,
34905 OPC_CheckPatternPredicate1,
34906 OPC_EmitIntegerByHwMode0, 98|128,1,
34907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34908 MVT::v16i8, 3, 24,
34909 12,
34910 OPC_CheckChild2Integer, 15,
34911 OPC_CheckPatternPredicate1,
34912 OPC_EmitIntegerByHwMode0, 114|128,1,
34913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34914 MVT::v16i8, 3, 24,
34915 0,
34916 84|128,1,
34917 OPC_CheckChild1Integer, 3,
34918 OPC_CheckTypeByHwMode0,
34919 OPC_MoveParent,
34920 OPC_CheckType, MVT::v16i8,
34921 OPC_Scope, 11,
34922 OPC_CheckChild2Integer, 0,
34923 OPC_CheckPatternPredicate1,
34924 OPC_EmitIntegerByHwMode0, 3,
34925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34926 MVT::v16i8, 3, 24,
34927 11,
34928 OPC_CheckChild2Integer, 1,
34929 OPC_CheckPatternPredicate1,
34930 OPC_EmitIntegerByHwMode0, 19,
34931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34932 MVT::v16i8, 3, 24,
34933 11,
34934 OPC_CheckChild2Integer, 2,
34935 OPC_CheckPatternPredicate1,
34936 OPC_EmitIntegerByHwMode0, 35,
34937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34938 MVT::v16i8, 3, 24,
34939 11,
34940 OPC_CheckChild2Integer, 3,
34941 OPC_CheckPatternPredicate1,
34942 OPC_EmitIntegerByHwMode0, 51,
34943 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34944 MVT::v16i8, 3, 24,
34945 12,
34946 OPC_CheckChild2Integer, 4,
34947 OPC_CheckPatternPredicate1,
34948 OPC_EmitIntegerByHwMode0, 67|128,0,
34949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34950 MVT::v16i8, 3, 24,
34951 12,
34952 OPC_CheckChild2Integer, 5,
34953 OPC_CheckPatternPredicate1,
34954 OPC_EmitIntegerByHwMode0, 83|128,0,
34955 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34956 MVT::v16i8, 3, 24,
34957 12,
34958 OPC_CheckChild2Integer, 6,
34959 OPC_CheckPatternPredicate1,
34960 OPC_EmitIntegerByHwMode0, 99|128,0,
34961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34962 MVT::v16i8, 3, 24,
34963 12,
34964 OPC_CheckChild2Integer, 7,
34965 OPC_CheckPatternPredicate1,
34966 OPC_EmitIntegerByHwMode0, 115|128,0,
34967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34968 MVT::v16i8, 3, 24,
34969 12,
34970 OPC_CheckChild2Integer, 8,
34971 OPC_CheckPatternPredicate1,
34972 OPC_EmitIntegerByHwMode0, 3|128,1,
34973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34974 MVT::v16i8, 3, 24,
34975 12,
34976 OPC_CheckChild2Integer, 9,
34977 OPC_CheckPatternPredicate1,
34978 OPC_EmitIntegerByHwMode0, 19|128,1,
34979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34980 MVT::v16i8, 3, 24,
34981 12,
34982 OPC_CheckChild2Integer, 10,
34983 OPC_CheckPatternPredicate1,
34984 OPC_EmitIntegerByHwMode0, 35|128,1,
34985 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34986 MVT::v16i8, 3, 24,
34987 12,
34988 OPC_CheckChild2Integer, 11,
34989 OPC_CheckPatternPredicate1,
34990 OPC_EmitIntegerByHwMode0, 51|128,1,
34991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34992 MVT::v16i8, 3, 24,
34993 12,
34994 OPC_CheckChild2Integer, 12,
34995 OPC_CheckPatternPredicate1,
34996 OPC_EmitIntegerByHwMode0, 67|128,1,
34997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
34998 MVT::v16i8, 3, 24,
34999 12,
35000 OPC_CheckChild2Integer, 13,
35001 OPC_CheckPatternPredicate1,
35002 OPC_EmitIntegerByHwMode0, 83|128,1,
35003 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35004 MVT::v16i8, 3, 24,
35005 12,
35006 OPC_CheckChild2Integer, 14,
35007 OPC_CheckPatternPredicate1,
35008 OPC_EmitIntegerByHwMode0, 99|128,1,
35009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35010 MVT::v16i8, 3, 24,
35011 12,
35012 OPC_CheckChild2Integer, 15,
35013 OPC_CheckPatternPredicate1,
35014 OPC_EmitIntegerByHwMode0, 115|128,1,
35015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35016 MVT::v16i8, 3, 24,
35017 0,
35018 84|128,1,
35019 OPC_CheckChild1Integer, 4,
35020 OPC_CheckTypeByHwMode0,
35021 OPC_MoveParent,
35022 OPC_CheckType, MVT::v16i8,
35023 OPC_Scope, 11,
35024 OPC_CheckChild2Integer, 0,
35025 OPC_CheckPatternPredicate1,
35026 OPC_EmitIntegerByHwMode0, 4,
35027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35028 MVT::v16i8, 3, 24,
35029 11,
35030 OPC_CheckChild2Integer, 1,
35031 OPC_CheckPatternPredicate1,
35032 OPC_EmitIntegerByHwMode0, 20,
35033 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35034 MVT::v16i8, 3, 24,
35035 11,
35036 OPC_CheckChild2Integer, 2,
35037 OPC_CheckPatternPredicate1,
35038 OPC_EmitIntegerByHwMode0, 36,
35039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35040 MVT::v16i8, 3, 24,
35041 11,
35042 OPC_CheckChild2Integer, 3,
35043 OPC_CheckPatternPredicate1,
35044 OPC_EmitIntegerByHwMode0, 52,
35045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35046 MVT::v16i8, 3, 24,
35047 12,
35048 OPC_CheckChild2Integer, 4,
35049 OPC_CheckPatternPredicate1,
35050 OPC_EmitIntegerByHwMode0, 68|128,0,
35051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35052 MVT::v16i8, 3, 24,
35053 12,
35054 OPC_CheckChild2Integer, 5,
35055 OPC_CheckPatternPredicate1,
35056 OPC_EmitIntegerByHwMode0, 84|128,0,
35057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35058 MVT::v16i8, 3, 24,
35059 12,
35060 OPC_CheckChild2Integer, 6,
35061 OPC_CheckPatternPredicate1,
35062 OPC_EmitIntegerByHwMode0, 100|128,0,
35063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35064 MVT::v16i8, 3, 24,
35065 12,
35066 OPC_CheckChild2Integer, 7,
35067 OPC_CheckPatternPredicate1,
35068 OPC_EmitIntegerByHwMode0, 116|128,0,
35069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35070 MVT::v16i8, 3, 24,
35071 12,
35072 OPC_CheckChild2Integer, 8,
35073 OPC_CheckPatternPredicate1,
35074 OPC_EmitIntegerByHwMode0, 4|128,1,
35075 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35076 MVT::v16i8, 3, 24,
35077 12,
35078 OPC_CheckChild2Integer, 9,
35079 OPC_CheckPatternPredicate1,
35080 OPC_EmitIntegerByHwMode0, 20|128,1,
35081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35082 MVT::v16i8, 3, 24,
35083 12,
35084 OPC_CheckChild2Integer, 10,
35085 OPC_CheckPatternPredicate1,
35086 OPC_EmitIntegerByHwMode0, 36|128,1,
35087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35088 MVT::v16i8, 3, 24,
35089 12,
35090 OPC_CheckChild2Integer, 11,
35091 OPC_CheckPatternPredicate1,
35092 OPC_EmitIntegerByHwMode0, 52|128,1,
35093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35094 MVT::v16i8, 3, 24,
35095 12,
35096 OPC_CheckChild2Integer, 12,
35097 OPC_CheckPatternPredicate1,
35098 OPC_EmitIntegerByHwMode0, 68|128,1,
35099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35100 MVT::v16i8, 3, 24,
35101 12,
35102 OPC_CheckChild2Integer, 13,
35103 OPC_CheckPatternPredicate1,
35104 OPC_EmitIntegerByHwMode0, 84|128,1,
35105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35106 MVT::v16i8, 3, 24,
35107 12,
35108 OPC_CheckChild2Integer, 14,
35109 OPC_CheckPatternPredicate1,
35110 OPC_EmitIntegerByHwMode0, 100|128,1,
35111 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35112 MVT::v16i8, 3, 24,
35113 12,
35114 OPC_CheckChild2Integer, 15,
35115 OPC_CheckPatternPredicate1,
35116 OPC_EmitIntegerByHwMode0, 116|128,1,
35117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35118 MVT::v16i8, 3, 24,
35119 0,
35120 84|128,1,
35121 OPC_CheckChild1Integer, 5,
35122 OPC_CheckTypeByHwMode0,
35123 OPC_MoveParent,
35124 OPC_CheckType, MVT::v16i8,
35125 OPC_Scope, 11,
35126 OPC_CheckChild2Integer, 0,
35127 OPC_CheckPatternPredicate1,
35128 OPC_EmitIntegerByHwMode0, 5,
35129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35130 MVT::v16i8, 3, 24,
35131 11,
35132 OPC_CheckChild2Integer, 1,
35133 OPC_CheckPatternPredicate1,
35134 OPC_EmitIntegerByHwMode0, 21,
35135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35136 MVT::v16i8, 3, 24,
35137 11,
35138 OPC_CheckChild2Integer, 2,
35139 OPC_CheckPatternPredicate1,
35140 OPC_EmitIntegerByHwMode0, 37,
35141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35142 MVT::v16i8, 3, 24,
35143 11,
35144 OPC_CheckChild2Integer, 3,
35145 OPC_CheckPatternPredicate1,
35146 OPC_EmitIntegerByHwMode0, 53,
35147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35148 MVT::v16i8, 3, 24,
35149 12,
35150 OPC_CheckChild2Integer, 4,
35151 OPC_CheckPatternPredicate1,
35152 OPC_EmitIntegerByHwMode0, 69|128,0,
35153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35154 MVT::v16i8, 3, 24,
35155 12,
35156 OPC_CheckChild2Integer, 5,
35157 OPC_CheckPatternPredicate1,
35158 OPC_EmitIntegerByHwMode0, 85|128,0,
35159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35160 MVT::v16i8, 3, 24,
35161 12,
35162 OPC_CheckChild2Integer, 6,
35163 OPC_CheckPatternPredicate1,
35164 OPC_EmitIntegerByHwMode0, 101|128,0,
35165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35166 MVT::v16i8, 3, 24,
35167 12,
35168 OPC_CheckChild2Integer, 7,
35169 OPC_CheckPatternPredicate1,
35170 OPC_EmitIntegerByHwMode0, 117|128,0,
35171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35172 MVT::v16i8, 3, 24,
35173 12,
35174 OPC_CheckChild2Integer, 8,
35175 OPC_CheckPatternPredicate1,
35176 OPC_EmitIntegerByHwMode0, 5|128,1,
35177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35178 MVT::v16i8, 3, 24,
35179 12,
35180 OPC_CheckChild2Integer, 9,
35181 OPC_CheckPatternPredicate1,
35182 OPC_EmitIntegerByHwMode0, 21|128,1,
35183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35184 MVT::v16i8, 3, 24,
35185 12,
35186 OPC_CheckChild2Integer, 10,
35187 OPC_CheckPatternPredicate1,
35188 OPC_EmitIntegerByHwMode0, 37|128,1,
35189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35190 MVT::v16i8, 3, 24,
35191 12,
35192 OPC_CheckChild2Integer, 11,
35193 OPC_CheckPatternPredicate1,
35194 OPC_EmitIntegerByHwMode0, 53|128,1,
35195 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35196 MVT::v16i8, 3, 24,
35197 12,
35198 OPC_CheckChild2Integer, 12,
35199 OPC_CheckPatternPredicate1,
35200 OPC_EmitIntegerByHwMode0, 69|128,1,
35201 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35202 MVT::v16i8, 3, 24,
35203 12,
35204 OPC_CheckChild2Integer, 13,
35205 OPC_CheckPatternPredicate1,
35206 OPC_EmitIntegerByHwMode0, 85|128,1,
35207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35208 MVT::v16i8, 3, 24,
35209 12,
35210 OPC_CheckChild2Integer, 14,
35211 OPC_CheckPatternPredicate1,
35212 OPC_EmitIntegerByHwMode0, 101|128,1,
35213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35214 MVT::v16i8, 3, 24,
35215 12,
35216 OPC_CheckChild2Integer, 15,
35217 OPC_CheckPatternPredicate1,
35218 OPC_EmitIntegerByHwMode0, 117|128,1,
35219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35220 MVT::v16i8, 3, 24,
35221 0,
35222 84|128,1,
35223 OPC_CheckChild1Integer, 6,
35224 OPC_CheckTypeByHwMode0,
35225 OPC_MoveParent,
35226 OPC_CheckType, MVT::v16i8,
35227 OPC_Scope, 11,
35228 OPC_CheckChild2Integer, 0,
35229 OPC_CheckPatternPredicate1,
35230 OPC_EmitIntegerByHwMode0, 6,
35231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35232 MVT::v16i8, 3, 24,
35233 11,
35234 OPC_CheckChild2Integer, 1,
35235 OPC_CheckPatternPredicate1,
35236 OPC_EmitIntegerByHwMode0, 22,
35237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35238 MVT::v16i8, 3, 24,
35239 11,
35240 OPC_CheckChild2Integer, 2,
35241 OPC_CheckPatternPredicate1,
35242 OPC_EmitIntegerByHwMode0, 38,
35243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35244 MVT::v16i8, 3, 24,
35245 11,
35246 OPC_CheckChild2Integer, 3,
35247 OPC_CheckPatternPredicate1,
35248 OPC_EmitIntegerByHwMode0, 54,
35249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35250 MVT::v16i8, 3, 24,
35251 12,
35252 OPC_CheckChild2Integer, 4,
35253 OPC_CheckPatternPredicate1,
35254 OPC_EmitIntegerByHwMode0, 70|128,0,
35255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35256 MVT::v16i8, 3, 24,
35257 12,
35258 OPC_CheckChild2Integer, 5,
35259 OPC_CheckPatternPredicate1,
35260 OPC_EmitIntegerByHwMode0, 86|128,0,
35261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35262 MVT::v16i8, 3, 24,
35263 12,
35264 OPC_CheckChild2Integer, 6,
35265 OPC_CheckPatternPredicate1,
35266 OPC_EmitIntegerByHwMode0, 102|128,0,
35267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35268 MVT::v16i8, 3, 24,
35269 12,
35270 OPC_CheckChild2Integer, 7,
35271 OPC_CheckPatternPredicate1,
35272 OPC_EmitIntegerByHwMode0, 118|128,0,
35273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35274 MVT::v16i8, 3, 24,
35275 12,
35276 OPC_CheckChild2Integer, 8,
35277 OPC_CheckPatternPredicate1,
35278 OPC_EmitIntegerByHwMode0, 6|128,1,
35279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35280 MVT::v16i8, 3, 24,
35281 12,
35282 OPC_CheckChild2Integer, 9,
35283 OPC_CheckPatternPredicate1,
35284 OPC_EmitIntegerByHwMode0, 22|128,1,
35285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35286 MVT::v16i8, 3, 24,
35287 12,
35288 OPC_CheckChild2Integer, 10,
35289 OPC_CheckPatternPredicate1,
35290 OPC_EmitIntegerByHwMode0, 38|128,1,
35291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35292 MVT::v16i8, 3, 24,
35293 12,
35294 OPC_CheckChild2Integer, 11,
35295 OPC_CheckPatternPredicate1,
35296 OPC_EmitIntegerByHwMode0, 54|128,1,
35297 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35298 MVT::v16i8, 3, 24,
35299 12,
35300 OPC_CheckChild2Integer, 12,
35301 OPC_CheckPatternPredicate1,
35302 OPC_EmitIntegerByHwMode0, 70|128,1,
35303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35304 MVT::v16i8, 3, 24,
35305 12,
35306 OPC_CheckChild2Integer, 13,
35307 OPC_CheckPatternPredicate1,
35308 OPC_EmitIntegerByHwMode0, 86|128,1,
35309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35310 MVT::v16i8, 3, 24,
35311 12,
35312 OPC_CheckChild2Integer, 14,
35313 OPC_CheckPatternPredicate1,
35314 OPC_EmitIntegerByHwMode0, 102|128,1,
35315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35316 MVT::v16i8, 3, 24,
35317 12,
35318 OPC_CheckChild2Integer, 15,
35319 OPC_CheckPatternPredicate1,
35320 OPC_EmitIntegerByHwMode0, 118|128,1,
35321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35322 MVT::v16i8, 3, 24,
35323 0,
35324 84|128,1,
35325 OPC_CheckChild1Integer, 7,
35326 OPC_CheckTypeByHwMode0,
35327 OPC_MoveParent,
35328 OPC_CheckType, MVT::v16i8,
35329 OPC_Scope, 11,
35330 OPC_CheckChild2Integer, 0,
35331 OPC_CheckPatternPredicate1,
35332 OPC_EmitIntegerByHwMode0, 7,
35333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35334 MVT::v16i8, 3, 24,
35335 11,
35336 OPC_CheckChild2Integer, 1,
35337 OPC_CheckPatternPredicate1,
35338 OPC_EmitIntegerByHwMode0, 23,
35339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35340 MVT::v16i8, 3, 24,
35341 11,
35342 OPC_CheckChild2Integer, 2,
35343 OPC_CheckPatternPredicate1,
35344 OPC_EmitIntegerByHwMode0, 39,
35345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35346 MVT::v16i8, 3, 24,
35347 11,
35348 OPC_CheckChild2Integer, 3,
35349 OPC_CheckPatternPredicate1,
35350 OPC_EmitIntegerByHwMode0, 55,
35351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35352 MVT::v16i8, 3, 24,
35353 12,
35354 OPC_CheckChild2Integer, 4,
35355 OPC_CheckPatternPredicate1,
35356 OPC_EmitIntegerByHwMode0, 71|128,0,
35357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35358 MVT::v16i8, 3, 24,
35359 12,
35360 OPC_CheckChild2Integer, 5,
35361 OPC_CheckPatternPredicate1,
35362 OPC_EmitIntegerByHwMode0, 87|128,0,
35363 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35364 MVT::v16i8, 3, 24,
35365 12,
35366 OPC_CheckChild2Integer, 6,
35367 OPC_CheckPatternPredicate1,
35368 OPC_EmitIntegerByHwMode0, 103|128,0,
35369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35370 MVT::v16i8, 3, 24,
35371 12,
35372 OPC_CheckChild2Integer, 7,
35373 OPC_CheckPatternPredicate1,
35374 OPC_EmitIntegerByHwMode0, 119|128,0,
35375 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35376 MVT::v16i8, 3, 24,
35377 12,
35378 OPC_CheckChild2Integer, 8,
35379 OPC_CheckPatternPredicate1,
35380 OPC_EmitIntegerByHwMode0, 7|128,1,
35381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35382 MVT::v16i8, 3, 24,
35383 12,
35384 OPC_CheckChild2Integer, 9,
35385 OPC_CheckPatternPredicate1,
35386 OPC_EmitIntegerByHwMode0, 23|128,1,
35387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35388 MVT::v16i8, 3, 24,
35389 12,
35390 OPC_CheckChild2Integer, 10,
35391 OPC_CheckPatternPredicate1,
35392 OPC_EmitIntegerByHwMode0, 39|128,1,
35393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35394 MVT::v16i8, 3, 24,
35395 12,
35396 OPC_CheckChild2Integer, 11,
35397 OPC_CheckPatternPredicate1,
35398 OPC_EmitIntegerByHwMode0, 55|128,1,
35399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35400 MVT::v16i8, 3, 24,
35401 12,
35402 OPC_CheckChild2Integer, 12,
35403 OPC_CheckPatternPredicate1,
35404 OPC_EmitIntegerByHwMode0, 71|128,1,
35405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35406 MVT::v16i8, 3, 24,
35407 12,
35408 OPC_CheckChild2Integer, 13,
35409 OPC_CheckPatternPredicate1,
35410 OPC_EmitIntegerByHwMode0, 87|128,1,
35411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35412 MVT::v16i8, 3, 24,
35413 12,
35414 OPC_CheckChild2Integer, 14,
35415 OPC_CheckPatternPredicate1,
35416 OPC_EmitIntegerByHwMode0, 103|128,1,
35417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35418 MVT::v16i8, 3, 24,
35419 12,
35420 OPC_CheckChild2Integer, 15,
35421 OPC_CheckPatternPredicate1,
35422 OPC_EmitIntegerByHwMode0, 119|128,1,
35423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35424 MVT::v16i8, 3, 24,
35425 0,
35426 84|128,1,
35427 OPC_CheckChild1Integer, 8,
35428 OPC_CheckTypeByHwMode0,
35429 OPC_MoveParent,
35430 OPC_CheckType, MVT::v16i8,
35431 OPC_Scope, 11,
35432 OPC_CheckChild2Integer, 0,
35433 OPC_CheckPatternPredicate1,
35434 OPC_EmitIntegerByHwMode0, 8,
35435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35436 MVT::v16i8, 3, 24,
35437 11,
35438 OPC_CheckChild2Integer, 1,
35439 OPC_CheckPatternPredicate1,
35440 OPC_EmitIntegerByHwMode0, 24,
35441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35442 MVT::v16i8, 3, 24,
35443 11,
35444 OPC_CheckChild2Integer, 2,
35445 OPC_CheckPatternPredicate1,
35446 OPC_EmitIntegerByHwMode0, 40,
35447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35448 MVT::v16i8, 3, 24,
35449 11,
35450 OPC_CheckChild2Integer, 3,
35451 OPC_CheckPatternPredicate1,
35452 OPC_EmitIntegerByHwMode0, 56,
35453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35454 MVT::v16i8, 3, 24,
35455 12,
35456 OPC_CheckChild2Integer, 4,
35457 OPC_CheckPatternPredicate1,
35458 OPC_EmitIntegerByHwMode0, 72|128,0,
35459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35460 MVT::v16i8, 3, 24,
35461 12,
35462 OPC_CheckChild2Integer, 5,
35463 OPC_CheckPatternPredicate1,
35464 OPC_EmitIntegerByHwMode0, 88|128,0,
35465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35466 MVT::v16i8, 3, 24,
35467 12,
35468 OPC_CheckChild2Integer, 6,
35469 OPC_CheckPatternPredicate1,
35470 OPC_EmitIntegerByHwMode0, 104|128,0,
35471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35472 MVT::v16i8, 3, 24,
35473 12,
35474 OPC_CheckChild2Integer, 7,
35475 OPC_CheckPatternPredicate1,
35476 OPC_EmitIntegerByHwMode0, 120|128,0,
35477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35478 MVT::v16i8, 3, 24,
35479 12,
35480 OPC_CheckChild2Integer, 8,
35481 OPC_CheckPatternPredicate1,
35482 OPC_EmitIntegerByHwMode0, 8|128,1,
35483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35484 MVT::v16i8, 3, 24,
35485 12,
35486 OPC_CheckChild2Integer, 9,
35487 OPC_CheckPatternPredicate1,
35488 OPC_EmitIntegerByHwMode0, 24|128,1,
35489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35490 MVT::v16i8, 3, 24,
35491 12,
35492 OPC_CheckChild2Integer, 10,
35493 OPC_CheckPatternPredicate1,
35494 OPC_EmitIntegerByHwMode0, 40|128,1,
35495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35496 MVT::v16i8, 3, 24,
35497 12,
35498 OPC_CheckChild2Integer, 11,
35499 OPC_CheckPatternPredicate1,
35500 OPC_EmitIntegerByHwMode0, 56|128,1,
35501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35502 MVT::v16i8, 3, 24,
35503 12,
35504 OPC_CheckChild2Integer, 12,
35505 OPC_CheckPatternPredicate1,
35506 OPC_EmitIntegerByHwMode0, 72|128,1,
35507 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35508 MVT::v16i8, 3, 24,
35509 12,
35510 OPC_CheckChild2Integer, 13,
35511 OPC_CheckPatternPredicate1,
35512 OPC_EmitIntegerByHwMode0, 88|128,1,
35513 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35514 MVT::v16i8, 3, 24,
35515 12,
35516 OPC_CheckChild2Integer, 14,
35517 OPC_CheckPatternPredicate1,
35518 OPC_EmitIntegerByHwMode0, 104|128,1,
35519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35520 MVT::v16i8, 3, 24,
35521 12,
35522 OPC_CheckChild2Integer, 15,
35523 OPC_CheckPatternPredicate1,
35524 OPC_EmitIntegerByHwMode0, 120|128,1,
35525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35526 MVT::v16i8, 3, 24,
35527 0,
35528 84|128,1,
35529 OPC_CheckChild1Integer, 9,
35530 OPC_CheckTypeByHwMode0,
35531 OPC_MoveParent,
35532 OPC_CheckType, MVT::v16i8,
35533 OPC_Scope, 11,
35534 OPC_CheckChild2Integer, 0,
35535 OPC_CheckPatternPredicate1,
35536 OPC_EmitIntegerByHwMode0, 9,
35537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35538 MVT::v16i8, 3, 24,
35539 11,
35540 OPC_CheckChild2Integer, 1,
35541 OPC_CheckPatternPredicate1,
35542 OPC_EmitIntegerByHwMode0, 25,
35543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35544 MVT::v16i8, 3, 24,
35545 11,
35546 OPC_CheckChild2Integer, 2,
35547 OPC_CheckPatternPredicate1,
35548 OPC_EmitIntegerByHwMode0, 41,
35549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35550 MVT::v16i8, 3, 24,
35551 11,
35552 OPC_CheckChild2Integer, 3,
35553 OPC_CheckPatternPredicate1,
35554 OPC_EmitIntegerByHwMode0, 57,
35555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35556 MVT::v16i8, 3, 24,
35557 12,
35558 OPC_CheckChild2Integer, 4,
35559 OPC_CheckPatternPredicate1,
35560 OPC_EmitIntegerByHwMode0, 73|128,0,
35561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35562 MVT::v16i8, 3, 24,
35563 12,
35564 OPC_CheckChild2Integer, 5,
35565 OPC_CheckPatternPredicate1,
35566 OPC_EmitIntegerByHwMode0, 89|128,0,
35567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35568 MVT::v16i8, 3, 24,
35569 12,
35570 OPC_CheckChild2Integer, 6,
35571 OPC_CheckPatternPredicate1,
35572 OPC_EmitIntegerByHwMode0, 105|128,0,
35573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35574 MVT::v16i8, 3, 24,
35575 12,
35576 OPC_CheckChild2Integer, 7,
35577 OPC_CheckPatternPredicate1,
35578 OPC_EmitIntegerByHwMode0, 121|128,0,
35579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35580 MVT::v16i8, 3, 24,
35581 12,
35582 OPC_CheckChild2Integer, 8,
35583 OPC_CheckPatternPredicate1,
35584 OPC_EmitIntegerByHwMode0, 9|128,1,
35585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35586 MVT::v16i8, 3, 24,
35587 12,
35588 OPC_CheckChild2Integer, 9,
35589 OPC_CheckPatternPredicate1,
35590 OPC_EmitIntegerByHwMode0, 25|128,1,
35591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35592 MVT::v16i8, 3, 24,
35593 12,
35594 OPC_CheckChild2Integer, 10,
35595 OPC_CheckPatternPredicate1,
35596 OPC_EmitIntegerByHwMode0, 41|128,1,
35597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35598 MVT::v16i8, 3, 24,
35599 12,
35600 OPC_CheckChild2Integer, 11,
35601 OPC_CheckPatternPredicate1,
35602 OPC_EmitIntegerByHwMode0, 57|128,1,
35603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35604 MVT::v16i8, 3, 24,
35605 12,
35606 OPC_CheckChild2Integer, 12,
35607 OPC_CheckPatternPredicate1,
35608 OPC_EmitIntegerByHwMode0, 73|128,1,
35609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35610 MVT::v16i8, 3, 24,
35611 12,
35612 OPC_CheckChild2Integer, 13,
35613 OPC_CheckPatternPredicate1,
35614 OPC_EmitIntegerByHwMode0, 89|128,1,
35615 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35616 MVT::v16i8, 3, 24,
35617 12,
35618 OPC_CheckChild2Integer, 14,
35619 OPC_CheckPatternPredicate1,
35620 OPC_EmitIntegerByHwMode0, 105|128,1,
35621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35622 MVT::v16i8, 3, 24,
35623 12,
35624 OPC_CheckChild2Integer, 15,
35625 OPC_CheckPatternPredicate1,
35626 OPC_EmitIntegerByHwMode0, 121|128,1,
35627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35628 MVT::v16i8, 3, 24,
35629 0,
35630 84|128,1,
35631 OPC_CheckChild1Integer, 10,
35632 OPC_CheckTypeByHwMode0,
35633 OPC_MoveParent,
35634 OPC_CheckType, MVT::v16i8,
35635 OPC_Scope, 11,
35636 OPC_CheckChild2Integer, 0,
35637 OPC_CheckPatternPredicate1,
35638 OPC_EmitIntegerByHwMode0, 10,
35639 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35640 MVT::v16i8, 3, 24,
35641 11,
35642 OPC_CheckChild2Integer, 1,
35643 OPC_CheckPatternPredicate1,
35644 OPC_EmitIntegerByHwMode0, 26,
35645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35646 MVT::v16i8, 3, 24,
35647 11,
35648 OPC_CheckChild2Integer, 2,
35649 OPC_CheckPatternPredicate1,
35650 OPC_EmitIntegerByHwMode0, 42,
35651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35652 MVT::v16i8, 3, 24,
35653 11,
35654 OPC_CheckChild2Integer, 3,
35655 OPC_CheckPatternPredicate1,
35656 OPC_EmitIntegerByHwMode0, 58,
35657 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35658 MVT::v16i8, 3, 24,
35659 12,
35660 OPC_CheckChild2Integer, 4,
35661 OPC_CheckPatternPredicate1,
35662 OPC_EmitIntegerByHwMode0, 74|128,0,
35663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35664 MVT::v16i8, 3, 24,
35665 12,
35666 OPC_CheckChild2Integer, 5,
35667 OPC_CheckPatternPredicate1,
35668 OPC_EmitIntegerByHwMode0, 90|128,0,
35669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35670 MVT::v16i8, 3, 24,
35671 12,
35672 OPC_CheckChild2Integer, 6,
35673 OPC_CheckPatternPredicate1,
35674 OPC_EmitIntegerByHwMode0, 106|128,0,
35675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35676 MVT::v16i8, 3, 24,
35677 12,
35678 OPC_CheckChild2Integer, 7,
35679 OPC_CheckPatternPredicate1,
35680 OPC_EmitIntegerByHwMode0, 122|128,0,
35681 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35682 MVT::v16i8, 3, 24,
35683 12,
35684 OPC_CheckChild2Integer, 8,
35685 OPC_CheckPatternPredicate1,
35686 OPC_EmitIntegerByHwMode0, 10|128,1,
35687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35688 MVT::v16i8, 3, 24,
35689 12,
35690 OPC_CheckChild2Integer, 9,
35691 OPC_CheckPatternPredicate1,
35692 OPC_EmitIntegerByHwMode0, 26|128,1,
35693 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35694 MVT::v16i8, 3, 24,
35695 12,
35696 OPC_CheckChild2Integer, 10,
35697 OPC_CheckPatternPredicate1,
35698 OPC_EmitIntegerByHwMode0, 42|128,1,
35699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35700 MVT::v16i8, 3, 24,
35701 12,
35702 OPC_CheckChild2Integer, 11,
35703 OPC_CheckPatternPredicate1,
35704 OPC_EmitIntegerByHwMode0, 58|128,1,
35705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35706 MVT::v16i8, 3, 24,
35707 12,
35708 OPC_CheckChild2Integer, 12,
35709 OPC_CheckPatternPredicate1,
35710 OPC_EmitIntegerByHwMode0, 74|128,1,
35711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35712 MVT::v16i8, 3, 24,
35713 12,
35714 OPC_CheckChild2Integer, 13,
35715 OPC_CheckPatternPredicate1,
35716 OPC_EmitIntegerByHwMode0, 90|128,1,
35717 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35718 MVT::v16i8, 3, 24,
35719 12,
35720 OPC_CheckChild2Integer, 14,
35721 OPC_CheckPatternPredicate1,
35722 OPC_EmitIntegerByHwMode0, 106|128,1,
35723 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35724 MVT::v16i8, 3, 24,
35725 12,
35726 OPC_CheckChild2Integer, 15,
35727 OPC_CheckPatternPredicate1,
35728 OPC_EmitIntegerByHwMode0, 122|128,1,
35729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35730 MVT::v16i8, 3, 24,
35731 0,
35732 84|128,1,
35733 OPC_CheckChild1Integer, 11,
35734 OPC_CheckTypeByHwMode0,
35735 OPC_MoveParent,
35736 OPC_CheckType, MVT::v16i8,
35737 OPC_Scope, 11,
35738 OPC_CheckChild2Integer, 0,
35739 OPC_CheckPatternPredicate1,
35740 OPC_EmitIntegerByHwMode0, 11,
35741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35742 MVT::v16i8, 3, 24,
35743 11,
35744 OPC_CheckChild2Integer, 1,
35745 OPC_CheckPatternPredicate1,
35746 OPC_EmitIntegerByHwMode0, 27,
35747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35748 MVT::v16i8, 3, 24,
35749 11,
35750 OPC_CheckChild2Integer, 2,
35751 OPC_CheckPatternPredicate1,
35752 OPC_EmitIntegerByHwMode0, 43,
35753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35754 MVT::v16i8, 3, 24,
35755 11,
35756 OPC_CheckChild2Integer, 3,
35757 OPC_CheckPatternPredicate1,
35758 OPC_EmitIntegerByHwMode0, 59,
35759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35760 MVT::v16i8, 3, 24,
35761 12,
35762 OPC_CheckChild2Integer, 4,
35763 OPC_CheckPatternPredicate1,
35764 OPC_EmitIntegerByHwMode0, 75|128,0,
35765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35766 MVT::v16i8, 3, 24,
35767 12,
35768 OPC_CheckChild2Integer, 5,
35769 OPC_CheckPatternPredicate1,
35770 OPC_EmitIntegerByHwMode0, 91|128,0,
35771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35772 MVT::v16i8, 3, 24,
35773 12,
35774 OPC_CheckChild2Integer, 6,
35775 OPC_CheckPatternPredicate1,
35776 OPC_EmitIntegerByHwMode0, 107|128,0,
35777 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35778 MVT::v16i8, 3, 24,
35779 12,
35780 OPC_CheckChild2Integer, 7,
35781 OPC_CheckPatternPredicate1,
35782 OPC_EmitIntegerByHwMode0, 123|128,0,
35783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35784 MVT::v16i8, 3, 24,
35785 12,
35786 OPC_CheckChild2Integer, 8,
35787 OPC_CheckPatternPredicate1,
35788 OPC_EmitIntegerByHwMode0, 11|128,1,
35789 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35790 MVT::v16i8, 3, 24,
35791 12,
35792 OPC_CheckChild2Integer, 9,
35793 OPC_CheckPatternPredicate1,
35794 OPC_EmitIntegerByHwMode0, 27|128,1,
35795 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35796 MVT::v16i8, 3, 24,
35797 12,
35798 OPC_CheckChild2Integer, 10,
35799 OPC_CheckPatternPredicate1,
35800 OPC_EmitIntegerByHwMode0, 43|128,1,
35801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35802 MVT::v16i8, 3, 24,
35803 12,
35804 OPC_CheckChild2Integer, 11,
35805 OPC_CheckPatternPredicate1,
35806 OPC_EmitIntegerByHwMode0, 59|128,1,
35807 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35808 MVT::v16i8, 3, 24,
35809 12,
35810 OPC_CheckChild2Integer, 12,
35811 OPC_CheckPatternPredicate1,
35812 OPC_EmitIntegerByHwMode0, 75|128,1,
35813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35814 MVT::v16i8, 3, 24,
35815 12,
35816 OPC_CheckChild2Integer, 13,
35817 OPC_CheckPatternPredicate1,
35818 OPC_EmitIntegerByHwMode0, 91|128,1,
35819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35820 MVT::v16i8, 3, 24,
35821 12,
35822 OPC_CheckChild2Integer, 14,
35823 OPC_CheckPatternPredicate1,
35824 OPC_EmitIntegerByHwMode0, 107|128,1,
35825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35826 MVT::v16i8, 3, 24,
35827 12,
35828 OPC_CheckChild2Integer, 15,
35829 OPC_CheckPatternPredicate1,
35830 OPC_EmitIntegerByHwMode0, 123|128,1,
35831 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35832 MVT::v16i8, 3, 24,
35833 0,
35834 84|128,1,
35835 OPC_CheckChild1Integer, 12,
35836 OPC_CheckTypeByHwMode0,
35837 OPC_MoveParent,
35838 OPC_CheckType, MVT::v16i8,
35839 OPC_Scope, 11,
35840 OPC_CheckChild2Integer, 0,
35841 OPC_CheckPatternPredicate1,
35842 OPC_EmitIntegerByHwMode0, 12,
35843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35844 MVT::v16i8, 3, 24,
35845 11,
35846 OPC_CheckChild2Integer, 1,
35847 OPC_CheckPatternPredicate1,
35848 OPC_EmitIntegerByHwMode0, 28,
35849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35850 MVT::v16i8, 3, 24,
35851 11,
35852 OPC_CheckChild2Integer, 2,
35853 OPC_CheckPatternPredicate1,
35854 OPC_EmitIntegerByHwMode0, 44,
35855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35856 MVT::v16i8, 3, 24,
35857 11,
35858 OPC_CheckChild2Integer, 3,
35859 OPC_CheckPatternPredicate1,
35860 OPC_EmitIntegerByHwMode0, 60,
35861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35862 MVT::v16i8, 3, 24,
35863 12,
35864 OPC_CheckChild2Integer, 4,
35865 OPC_CheckPatternPredicate1,
35866 OPC_EmitIntegerByHwMode0, 76|128,0,
35867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35868 MVT::v16i8, 3, 24,
35869 12,
35870 OPC_CheckChild2Integer, 5,
35871 OPC_CheckPatternPredicate1,
35872 OPC_EmitIntegerByHwMode0, 92|128,0,
35873 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35874 MVT::v16i8, 3, 24,
35875 12,
35876 OPC_CheckChild2Integer, 6,
35877 OPC_CheckPatternPredicate1,
35878 OPC_EmitIntegerByHwMode0, 108|128,0,
35879 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35880 MVT::v16i8, 3, 24,
35881 12,
35882 OPC_CheckChild2Integer, 7,
35883 OPC_CheckPatternPredicate1,
35884 OPC_EmitIntegerByHwMode0, 124|128,0,
35885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35886 MVT::v16i8, 3, 24,
35887 12,
35888 OPC_CheckChild2Integer, 8,
35889 OPC_CheckPatternPredicate1,
35890 OPC_EmitIntegerByHwMode0, 12|128,1,
35891 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35892 MVT::v16i8, 3, 24,
35893 12,
35894 OPC_CheckChild2Integer, 9,
35895 OPC_CheckPatternPredicate1,
35896 OPC_EmitIntegerByHwMode0, 28|128,1,
35897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35898 MVT::v16i8, 3, 24,
35899 12,
35900 OPC_CheckChild2Integer, 10,
35901 OPC_CheckPatternPredicate1,
35902 OPC_EmitIntegerByHwMode0, 44|128,1,
35903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35904 MVT::v16i8, 3, 24,
35905 12,
35906 OPC_CheckChild2Integer, 11,
35907 OPC_CheckPatternPredicate1,
35908 OPC_EmitIntegerByHwMode0, 60|128,1,
35909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35910 MVT::v16i8, 3, 24,
35911 12,
35912 OPC_CheckChild2Integer, 12,
35913 OPC_CheckPatternPredicate1,
35914 OPC_EmitIntegerByHwMode0, 76|128,1,
35915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35916 MVT::v16i8, 3, 24,
35917 12,
35918 OPC_CheckChild2Integer, 13,
35919 OPC_CheckPatternPredicate1,
35920 OPC_EmitIntegerByHwMode0, 92|128,1,
35921 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35922 MVT::v16i8, 3, 24,
35923 12,
35924 OPC_CheckChild2Integer, 14,
35925 OPC_CheckPatternPredicate1,
35926 OPC_EmitIntegerByHwMode0, 108|128,1,
35927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35928 MVT::v16i8, 3, 24,
35929 12,
35930 OPC_CheckChild2Integer, 15,
35931 OPC_CheckPatternPredicate1,
35932 OPC_EmitIntegerByHwMode0, 124|128,1,
35933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35934 MVT::v16i8, 3, 24,
35935 0,
35936 84|128,1,
35937 OPC_CheckChild1Integer, 13,
35938 OPC_CheckTypeByHwMode0,
35939 OPC_MoveParent,
35940 OPC_CheckType, MVT::v16i8,
35941 OPC_Scope, 11,
35942 OPC_CheckChild2Integer, 0,
35943 OPC_CheckPatternPredicate1,
35944 OPC_EmitIntegerByHwMode0, 13,
35945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35946 MVT::v16i8, 3, 24,
35947 11,
35948 OPC_CheckChild2Integer, 1,
35949 OPC_CheckPatternPredicate1,
35950 OPC_EmitIntegerByHwMode0, 29,
35951 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35952 MVT::v16i8, 3, 24,
35953 11,
35954 OPC_CheckChild2Integer, 2,
35955 OPC_CheckPatternPredicate1,
35956 OPC_EmitIntegerByHwMode0, 45,
35957 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35958 MVT::v16i8, 3, 24,
35959 11,
35960 OPC_CheckChild2Integer, 3,
35961 OPC_CheckPatternPredicate1,
35962 OPC_EmitIntegerByHwMode0, 61,
35963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35964 MVT::v16i8, 3, 24,
35965 12,
35966 OPC_CheckChild2Integer, 4,
35967 OPC_CheckPatternPredicate1,
35968 OPC_EmitIntegerByHwMode0, 77|128,0,
35969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35970 MVT::v16i8, 3, 24,
35971 12,
35972 OPC_CheckChild2Integer, 5,
35973 OPC_CheckPatternPredicate1,
35974 OPC_EmitIntegerByHwMode0, 93|128,0,
35975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35976 MVT::v16i8, 3, 24,
35977 12,
35978 OPC_CheckChild2Integer, 6,
35979 OPC_CheckPatternPredicate1,
35980 OPC_EmitIntegerByHwMode0, 109|128,0,
35981 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35982 MVT::v16i8, 3, 24,
35983 12,
35984 OPC_CheckChild2Integer, 7,
35985 OPC_CheckPatternPredicate1,
35986 OPC_EmitIntegerByHwMode0, 125|128,0,
35987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35988 MVT::v16i8, 3, 24,
35989 12,
35990 OPC_CheckChild2Integer, 8,
35991 OPC_CheckPatternPredicate1,
35992 OPC_EmitIntegerByHwMode0, 13|128,1,
35993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35994 MVT::v16i8, 3, 24,
35995 12,
35996 OPC_CheckChild2Integer, 9,
35997 OPC_CheckPatternPredicate1,
35998 OPC_EmitIntegerByHwMode0, 29|128,1,
35999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36000 MVT::v16i8, 3, 24,
36001 12,
36002 OPC_CheckChild2Integer, 10,
36003 OPC_CheckPatternPredicate1,
36004 OPC_EmitIntegerByHwMode0, 45|128,1,
36005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36006 MVT::v16i8, 3, 24,
36007 12,
36008 OPC_CheckChild2Integer, 11,
36009 OPC_CheckPatternPredicate1,
36010 OPC_EmitIntegerByHwMode0, 61|128,1,
36011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36012 MVT::v16i8, 3, 24,
36013 12,
36014 OPC_CheckChild2Integer, 12,
36015 OPC_CheckPatternPredicate1,
36016 OPC_EmitIntegerByHwMode0, 77|128,1,
36017 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36018 MVT::v16i8, 3, 24,
36019 12,
36020 OPC_CheckChild2Integer, 13,
36021 OPC_CheckPatternPredicate1,
36022 OPC_EmitIntegerByHwMode0, 93|128,1,
36023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36024 MVT::v16i8, 3, 24,
36025 12,
36026 OPC_CheckChild2Integer, 14,
36027 OPC_CheckPatternPredicate1,
36028 OPC_EmitIntegerByHwMode0, 109|128,1,
36029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36030 MVT::v16i8, 3, 24,
36031 12,
36032 OPC_CheckChild2Integer, 15,
36033 OPC_CheckPatternPredicate1,
36034 OPC_EmitIntegerByHwMode0, 125|128,1,
36035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36036 MVT::v16i8, 3, 24,
36037 0,
36038 84|128,1,
36039 OPC_CheckChild1Integer, 14,
36040 OPC_CheckTypeByHwMode0,
36041 OPC_MoveParent,
36042 OPC_CheckType, MVT::v16i8,
36043 OPC_Scope, 11,
36044 OPC_CheckChild2Integer, 0,
36045 OPC_CheckPatternPredicate1,
36046 OPC_EmitIntegerByHwMode0, 14,
36047 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36048 MVT::v16i8, 3, 24,
36049 11,
36050 OPC_CheckChild2Integer, 1,
36051 OPC_CheckPatternPredicate1,
36052 OPC_EmitIntegerByHwMode0, 30,
36053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36054 MVT::v16i8, 3, 24,
36055 11,
36056 OPC_CheckChild2Integer, 2,
36057 OPC_CheckPatternPredicate1,
36058 OPC_EmitIntegerByHwMode0, 46,
36059 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36060 MVT::v16i8, 3, 24,
36061 11,
36062 OPC_CheckChild2Integer, 3,
36063 OPC_CheckPatternPredicate1,
36064 OPC_EmitIntegerByHwMode0, 62,
36065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36066 MVT::v16i8, 3, 24,
36067 12,
36068 OPC_CheckChild2Integer, 4,
36069 OPC_CheckPatternPredicate1,
36070 OPC_EmitIntegerByHwMode0, 78|128,0,
36071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36072 MVT::v16i8, 3, 24,
36073 12,
36074 OPC_CheckChild2Integer, 5,
36075 OPC_CheckPatternPredicate1,
36076 OPC_EmitIntegerByHwMode0, 94|128,0,
36077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36078 MVT::v16i8, 3, 24,
36079 12,
36080 OPC_CheckChild2Integer, 6,
36081 OPC_CheckPatternPredicate1,
36082 OPC_EmitIntegerByHwMode0, 110|128,0,
36083 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36084 MVT::v16i8, 3, 24,
36085 12,
36086 OPC_CheckChild2Integer, 7,
36087 OPC_CheckPatternPredicate1,
36088 OPC_EmitIntegerByHwMode0, 126|128,0,
36089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36090 MVT::v16i8, 3, 24,
36091 12,
36092 OPC_CheckChild2Integer, 8,
36093 OPC_CheckPatternPredicate1,
36094 OPC_EmitIntegerByHwMode0, 14|128,1,
36095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36096 MVT::v16i8, 3, 24,
36097 12,
36098 OPC_CheckChild2Integer, 9,
36099 OPC_CheckPatternPredicate1,
36100 OPC_EmitIntegerByHwMode0, 30|128,1,
36101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36102 MVT::v16i8, 3, 24,
36103 12,
36104 OPC_CheckChild2Integer, 10,
36105 OPC_CheckPatternPredicate1,
36106 OPC_EmitIntegerByHwMode0, 46|128,1,
36107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36108 MVT::v16i8, 3, 24,
36109 12,
36110 OPC_CheckChild2Integer, 11,
36111 OPC_CheckPatternPredicate1,
36112 OPC_EmitIntegerByHwMode0, 62|128,1,
36113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36114 MVT::v16i8, 3, 24,
36115 12,
36116 OPC_CheckChild2Integer, 12,
36117 OPC_CheckPatternPredicate1,
36118 OPC_EmitIntegerByHwMode0, 78|128,1,
36119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36120 MVT::v16i8, 3, 24,
36121 12,
36122 OPC_CheckChild2Integer, 13,
36123 OPC_CheckPatternPredicate1,
36124 OPC_EmitIntegerByHwMode0, 94|128,1,
36125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36126 MVT::v16i8, 3, 24,
36127 12,
36128 OPC_CheckChild2Integer, 14,
36129 OPC_CheckPatternPredicate1,
36130 OPC_EmitIntegerByHwMode0, 110|128,1,
36131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36132 MVT::v16i8, 3, 24,
36133 12,
36134 OPC_CheckChild2Integer, 15,
36135 OPC_CheckPatternPredicate1,
36136 OPC_EmitIntegerByHwMode0, 126|128,1,
36137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36138 MVT::v16i8, 3, 24,
36139 0,
36140 84|128,1,
36141 OPC_CheckChild1Integer, 15,
36142 OPC_CheckTypeByHwMode0,
36143 OPC_MoveParent,
36144 OPC_CheckType, MVT::v16i8,
36145 OPC_Scope, 11,
36146 OPC_CheckChild2Integer, 0,
36147 OPC_CheckPatternPredicate1,
36148 OPC_EmitIntegerByHwMode0, 15,
36149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36150 MVT::v16i8, 3, 24,
36151 11,
36152 OPC_CheckChild2Integer, 1,
36153 OPC_CheckPatternPredicate1,
36154 OPC_EmitIntegerByHwMode0, 31,
36155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36156 MVT::v16i8, 3, 24,
36157 11,
36158 OPC_CheckChild2Integer, 2,
36159 OPC_CheckPatternPredicate1,
36160 OPC_EmitIntegerByHwMode0, 47,
36161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36162 MVT::v16i8, 3, 24,
36163 11,
36164 OPC_CheckChild2Integer, 3,
36165 OPC_CheckPatternPredicate1,
36166 OPC_EmitIntegerByHwMode0, 63,
36167 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36168 MVT::v16i8, 3, 24,
36169 12,
36170 OPC_CheckChild2Integer, 4,
36171 OPC_CheckPatternPredicate1,
36172 OPC_EmitIntegerByHwMode0, 79|128,0,
36173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36174 MVT::v16i8, 3, 24,
36175 12,
36176 OPC_CheckChild2Integer, 5,
36177 OPC_CheckPatternPredicate1,
36178 OPC_EmitIntegerByHwMode0, 95|128,0,
36179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36180 MVT::v16i8, 3, 24,
36181 12,
36182 OPC_CheckChild2Integer, 6,
36183 OPC_CheckPatternPredicate1,
36184 OPC_EmitIntegerByHwMode0, 111|128,0,
36185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36186 MVT::v16i8, 3, 24,
36187 12,
36188 OPC_CheckChild2Integer, 7,
36189 OPC_CheckPatternPredicate1,
36190 OPC_EmitIntegerByHwMode0, 127|128,0,
36191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36192 MVT::v16i8, 3, 24,
36193 12,
36194 OPC_CheckChild2Integer, 8,
36195 OPC_CheckPatternPredicate1,
36196 OPC_EmitIntegerByHwMode0, 15|128,1,
36197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36198 MVT::v16i8, 3, 24,
36199 12,
36200 OPC_CheckChild2Integer, 9,
36201 OPC_CheckPatternPredicate1,
36202 OPC_EmitIntegerByHwMode0, 31|128,1,
36203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36204 MVT::v16i8, 3, 24,
36205 12,
36206 OPC_CheckChild2Integer, 10,
36207 OPC_CheckPatternPredicate1,
36208 OPC_EmitIntegerByHwMode0, 47|128,1,
36209 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36210 MVT::v16i8, 3, 24,
36211 12,
36212 OPC_CheckChild2Integer, 11,
36213 OPC_CheckPatternPredicate1,
36214 OPC_EmitIntegerByHwMode0, 63|128,1,
36215 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36216 MVT::v16i8, 3, 24,
36217 12,
36218 OPC_CheckChild2Integer, 12,
36219 OPC_CheckPatternPredicate1,
36220 OPC_EmitIntegerByHwMode0, 79|128,1,
36221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36222 MVT::v16i8, 3, 24,
36223 12,
36224 OPC_CheckChild2Integer, 13,
36225 OPC_CheckPatternPredicate1,
36226 OPC_EmitIntegerByHwMode0, 95|128,1,
36227 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36228 MVT::v16i8, 3, 24,
36229 12,
36230 OPC_CheckChild2Integer, 14,
36231 OPC_CheckPatternPredicate1,
36232 OPC_EmitIntegerByHwMode0, 111|128,1,
36233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36234 MVT::v16i8, 3, 24,
36235 12,
36236 OPC_CheckChild2Integer, 15,
36237 OPC_CheckPatternPredicate1,
36238 OPC_EmitIntegerByHwMode0, 127|128,1,
36239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36240 MVT::v16i8, 3, 24,
36241 0,
36242 0,
36243 108|128,6,
36244 OPC_CheckChild0Type, MVT::v8i16,
36245 OPC_Scope, 108,
36246 OPC_CheckChild1Integer, 0,
36247 OPC_CheckTypeByHwMode0,
36248 OPC_MoveParent,
36249 OPC_CheckType, MVT::v8i16,
36250 OPC_Scope, 11,
36251 OPC_CheckChild2Integer, 0,
36252 OPC_CheckPatternPredicate1,
36253 OPC_EmitIntegerByHwMode0, 0,
36254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36255 MVT::v8i16, 3, 24,
36256 11,
36257 OPC_CheckChild2Integer, 1,
36258 OPC_CheckPatternPredicate1,
36259 OPC_EmitIntegerByHwMode0, 16,
36260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36261 MVT::v8i16, 3, 24,
36262 11,
36263 OPC_CheckChild2Integer, 2,
36264 OPC_CheckPatternPredicate1,
36265 OPC_EmitIntegerByHwMode0, 32,
36266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36267 MVT::v8i16, 3, 24,
36268 11,
36269 OPC_CheckChild2Integer, 3,
36270 OPC_CheckPatternPredicate1,
36271 OPC_EmitIntegerByHwMode0, 48,
36272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36273 MVT::v8i16, 3, 24,
36274 12,
36275 OPC_CheckChild2Integer, 4,
36276 OPC_CheckPatternPredicate1,
36277 OPC_EmitIntegerByHwMode0, 64|128,0,
36278 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36279 MVT::v8i16, 3, 24,
36280 12,
36281 OPC_CheckChild2Integer, 5,
36282 OPC_CheckPatternPredicate1,
36283 OPC_EmitIntegerByHwMode0, 80|128,0,
36284 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36285 MVT::v8i16, 3, 24,
36286 12,
36287 OPC_CheckChild2Integer, 6,
36288 OPC_CheckPatternPredicate1,
36289 OPC_EmitIntegerByHwMode0, 96|128,0,
36290 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36291 MVT::v8i16, 3, 24,
36292 12,
36293 OPC_CheckChild2Integer, 7,
36294 OPC_CheckPatternPredicate1,
36295 OPC_EmitIntegerByHwMode0, 112|128,0,
36296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36297 MVT::v8i16, 3, 24,
36298 0,
36299 108,
36300 OPC_CheckChild1Integer, 1,
36301 OPC_CheckTypeByHwMode0,
36302 OPC_MoveParent,
36303 OPC_CheckType, MVT::v8i16,
36304 OPC_Scope, 11,
36305 OPC_CheckChild2Integer, 0,
36306 OPC_CheckPatternPredicate1,
36307 OPC_EmitIntegerByHwMode0, 1,
36308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36309 MVT::v8i16, 3, 24,
36310 11,
36311 OPC_CheckChild2Integer, 1,
36312 OPC_CheckPatternPredicate1,
36313 OPC_EmitIntegerByHwMode0, 17,
36314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36315 MVT::v8i16, 3, 24,
36316 11,
36317 OPC_CheckChild2Integer, 2,
36318 OPC_CheckPatternPredicate1,
36319 OPC_EmitIntegerByHwMode0, 33,
36320 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36321 MVT::v8i16, 3, 24,
36322 11,
36323 OPC_CheckChild2Integer, 3,
36324 OPC_CheckPatternPredicate1,
36325 OPC_EmitIntegerByHwMode0, 49,
36326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36327 MVT::v8i16, 3, 24,
36328 12,
36329 OPC_CheckChild2Integer, 4,
36330 OPC_CheckPatternPredicate1,
36331 OPC_EmitIntegerByHwMode0, 65|128,0,
36332 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36333 MVT::v8i16, 3, 24,
36334 12,
36335 OPC_CheckChild2Integer, 5,
36336 OPC_CheckPatternPredicate1,
36337 OPC_EmitIntegerByHwMode0, 81|128,0,
36338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36339 MVT::v8i16, 3, 24,
36340 12,
36341 OPC_CheckChild2Integer, 6,
36342 OPC_CheckPatternPredicate1,
36343 OPC_EmitIntegerByHwMode0, 97|128,0,
36344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36345 MVT::v8i16, 3, 24,
36346 12,
36347 OPC_CheckChild2Integer, 7,
36348 OPC_CheckPatternPredicate1,
36349 OPC_EmitIntegerByHwMode0, 113|128,0,
36350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36351 MVT::v8i16, 3, 24,
36352 0,
36353 108,
36354 OPC_CheckChild1Integer, 2,
36355 OPC_CheckTypeByHwMode0,
36356 OPC_MoveParent,
36357 OPC_CheckType, MVT::v8i16,
36358 OPC_Scope, 11,
36359 OPC_CheckChild2Integer, 0,
36360 OPC_CheckPatternPredicate1,
36361 OPC_EmitIntegerByHwMode0, 2,
36362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36363 MVT::v8i16, 3, 24,
36364 11,
36365 OPC_CheckChild2Integer, 1,
36366 OPC_CheckPatternPredicate1,
36367 OPC_EmitIntegerByHwMode0, 18,
36368 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36369 MVT::v8i16, 3, 24,
36370 11,
36371 OPC_CheckChild2Integer, 2,
36372 OPC_CheckPatternPredicate1,
36373 OPC_EmitIntegerByHwMode0, 34,
36374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36375 MVT::v8i16, 3, 24,
36376 11,
36377 OPC_CheckChild2Integer, 3,
36378 OPC_CheckPatternPredicate1,
36379 OPC_EmitIntegerByHwMode0, 50,
36380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36381 MVT::v8i16, 3, 24,
36382 12,
36383 OPC_CheckChild2Integer, 4,
36384 OPC_CheckPatternPredicate1,
36385 OPC_EmitIntegerByHwMode0, 66|128,0,
36386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36387 MVT::v8i16, 3, 24,
36388 12,
36389 OPC_CheckChild2Integer, 5,
36390 OPC_CheckPatternPredicate1,
36391 OPC_EmitIntegerByHwMode0, 82|128,0,
36392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36393 MVT::v8i16, 3, 24,
36394 12,
36395 OPC_CheckChild2Integer, 6,
36396 OPC_CheckPatternPredicate1,
36397 OPC_EmitIntegerByHwMode0, 98|128,0,
36398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36399 MVT::v8i16, 3, 24,
36400 12,
36401 OPC_CheckChild2Integer, 7,
36402 OPC_CheckPatternPredicate1,
36403 OPC_EmitIntegerByHwMode0, 114|128,0,
36404 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36405 MVT::v8i16, 3, 24,
36406 0,
36407 108,
36408 OPC_CheckChild1Integer, 3,
36409 OPC_CheckTypeByHwMode0,
36410 OPC_MoveParent,
36411 OPC_CheckType, MVT::v8i16,
36412 OPC_Scope, 11,
36413 OPC_CheckChild2Integer, 0,
36414 OPC_CheckPatternPredicate1,
36415 OPC_EmitIntegerByHwMode0, 3,
36416 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36417 MVT::v8i16, 3, 24,
36418 11,
36419 OPC_CheckChild2Integer, 1,
36420 OPC_CheckPatternPredicate1,
36421 OPC_EmitIntegerByHwMode0, 19,
36422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36423 MVT::v8i16, 3, 24,
36424 11,
36425 OPC_CheckChild2Integer, 2,
36426 OPC_CheckPatternPredicate1,
36427 OPC_EmitIntegerByHwMode0, 35,
36428 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36429 MVT::v8i16, 3, 24,
36430 11,
36431 OPC_CheckChild2Integer, 3,
36432 OPC_CheckPatternPredicate1,
36433 OPC_EmitIntegerByHwMode0, 51,
36434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36435 MVT::v8i16, 3, 24,
36436 12,
36437 OPC_CheckChild2Integer, 4,
36438 OPC_CheckPatternPredicate1,
36439 OPC_EmitIntegerByHwMode0, 67|128,0,
36440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36441 MVT::v8i16, 3, 24,
36442 12,
36443 OPC_CheckChild2Integer, 5,
36444 OPC_CheckPatternPredicate1,
36445 OPC_EmitIntegerByHwMode0, 83|128,0,
36446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36447 MVT::v8i16, 3, 24,
36448 12,
36449 OPC_CheckChild2Integer, 6,
36450 OPC_CheckPatternPredicate1,
36451 OPC_EmitIntegerByHwMode0, 99|128,0,
36452 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36453 MVT::v8i16, 3, 24,
36454 12,
36455 OPC_CheckChild2Integer, 7,
36456 OPC_CheckPatternPredicate1,
36457 OPC_EmitIntegerByHwMode0, 115|128,0,
36458 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36459 MVT::v8i16, 3, 24,
36460 0,
36461 108,
36462 OPC_CheckChild1Integer, 4,
36463 OPC_CheckTypeByHwMode0,
36464 OPC_MoveParent,
36465 OPC_CheckType, MVT::v8i16,
36466 OPC_Scope, 11,
36467 OPC_CheckChild2Integer, 0,
36468 OPC_CheckPatternPredicate1,
36469 OPC_EmitIntegerByHwMode0, 4,
36470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36471 MVT::v8i16, 3, 24,
36472 11,
36473 OPC_CheckChild2Integer, 1,
36474 OPC_CheckPatternPredicate1,
36475 OPC_EmitIntegerByHwMode0, 20,
36476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36477 MVT::v8i16, 3, 24,
36478 11,
36479 OPC_CheckChild2Integer, 2,
36480 OPC_CheckPatternPredicate1,
36481 OPC_EmitIntegerByHwMode0, 36,
36482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36483 MVT::v8i16, 3, 24,
36484 11,
36485 OPC_CheckChild2Integer, 3,
36486 OPC_CheckPatternPredicate1,
36487 OPC_EmitIntegerByHwMode0, 52,
36488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36489 MVT::v8i16, 3, 24,
36490 12,
36491 OPC_CheckChild2Integer, 4,
36492 OPC_CheckPatternPredicate1,
36493 OPC_EmitIntegerByHwMode0, 68|128,0,
36494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36495 MVT::v8i16, 3, 24,
36496 12,
36497 OPC_CheckChild2Integer, 5,
36498 OPC_CheckPatternPredicate1,
36499 OPC_EmitIntegerByHwMode0, 84|128,0,
36500 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36501 MVT::v8i16, 3, 24,
36502 12,
36503 OPC_CheckChild2Integer, 6,
36504 OPC_CheckPatternPredicate1,
36505 OPC_EmitIntegerByHwMode0, 100|128,0,
36506 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36507 MVT::v8i16, 3, 24,
36508 12,
36509 OPC_CheckChild2Integer, 7,
36510 OPC_CheckPatternPredicate1,
36511 OPC_EmitIntegerByHwMode0, 116|128,0,
36512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36513 MVT::v8i16, 3, 24,
36514 0,
36515 108,
36516 OPC_CheckChild1Integer, 5,
36517 OPC_CheckTypeByHwMode0,
36518 OPC_MoveParent,
36519 OPC_CheckType, MVT::v8i16,
36520 OPC_Scope, 11,
36521 OPC_CheckChild2Integer, 0,
36522 OPC_CheckPatternPredicate1,
36523 OPC_EmitIntegerByHwMode0, 5,
36524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36525 MVT::v8i16, 3, 24,
36526 11,
36527 OPC_CheckChild2Integer, 1,
36528 OPC_CheckPatternPredicate1,
36529 OPC_EmitIntegerByHwMode0, 21,
36530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36531 MVT::v8i16, 3, 24,
36532 11,
36533 OPC_CheckChild2Integer, 2,
36534 OPC_CheckPatternPredicate1,
36535 OPC_EmitIntegerByHwMode0, 37,
36536 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36537 MVT::v8i16, 3, 24,
36538 11,
36539 OPC_CheckChild2Integer, 3,
36540 OPC_CheckPatternPredicate1,
36541 OPC_EmitIntegerByHwMode0, 53,
36542 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36543 MVT::v8i16, 3, 24,
36544 12,
36545 OPC_CheckChild2Integer, 4,
36546 OPC_CheckPatternPredicate1,
36547 OPC_EmitIntegerByHwMode0, 69|128,0,
36548 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36549 MVT::v8i16, 3, 24,
36550 12,
36551 OPC_CheckChild2Integer, 5,
36552 OPC_CheckPatternPredicate1,
36553 OPC_EmitIntegerByHwMode0, 85|128,0,
36554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36555 MVT::v8i16, 3, 24,
36556 12,
36557 OPC_CheckChild2Integer, 6,
36558 OPC_CheckPatternPredicate1,
36559 OPC_EmitIntegerByHwMode0, 101|128,0,
36560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36561 MVT::v8i16, 3, 24,
36562 12,
36563 OPC_CheckChild2Integer, 7,
36564 OPC_CheckPatternPredicate1,
36565 OPC_EmitIntegerByHwMode0, 117|128,0,
36566 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36567 MVT::v8i16, 3, 24,
36568 0,
36569 108,
36570 OPC_CheckChild1Integer, 6,
36571 OPC_CheckTypeByHwMode0,
36572 OPC_MoveParent,
36573 OPC_CheckType, MVT::v8i16,
36574 OPC_Scope, 11,
36575 OPC_CheckChild2Integer, 0,
36576 OPC_CheckPatternPredicate1,
36577 OPC_EmitIntegerByHwMode0, 6,
36578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36579 MVT::v8i16, 3, 24,
36580 11,
36581 OPC_CheckChild2Integer, 1,
36582 OPC_CheckPatternPredicate1,
36583 OPC_EmitIntegerByHwMode0, 22,
36584 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36585 MVT::v8i16, 3, 24,
36586 11,
36587 OPC_CheckChild2Integer, 2,
36588 OPC_CheckPatternPredicate1,
36589 OPC_EmitIntegerByHwMode0, 38,
36590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36591 MVT::v8i16, 3, 24,
36592 11,
36593 OPC_CheckChild2Integer, 3,
36594 OPC_CheckPatternPredicate1,
36595 OPC_EmitIntegerByHwMode0, 54,
36596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36597 MVT::v8i16, 3, 24,
36598 12,
36599 OPC_CheckChild2Integer, 4,
36600 OPC_CheckPatternPredicate1,
36601 OPC_EmitIntegerByHwMode0, 70|128,0,
36602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36603 MVT::v8i16, 3, 24,
36604 12,
36605 OPC_CheckChild2Integer, 5,
36606 OPC_CheckPatternPredicate1,
36607 OPC_EmitIntegerByHwMode0, 86|128,0,
36608 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36609 MVT::v8i16, 3, 24,
36610 12,
36611 OPC_CheckChild2Integer, 6,
36612 OPC_CheckPatternPredicate1,
36613 OPC_EmitIntegerByHwMode0, 102|128,0,
36614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36615 MVT::v8i16, 3, 24,
36616 12,
36617 OPC_CheckChild2Integer, 7,
36618 OPC_CheckPatternPredicate1,
36619 OPC_EmitIntegerByHwMode0, 118|128,0,
36620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36621 MVT::v8i16, 3, 24,
36622 0,
36623 108,
36624 OPC_CheckChild1Integer, 7,
36625 OPC_CheckTypeByHwMode0,
36626 OPC_MoveParent,
36627 OPC_CheckType, MVT::v8i16,
36628 OPC_Scope, 11,
36629 OPC_CheckChild2Integer, 0,
36630 OPC_CheckPatternPredicate1,
36631 OPC_EmitIntegerByHwMode0, 7,
36632 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36633 MVT::v8i16, 3, 24,
36634 11,
36635 OPC_CheckChild2Integer, 1,
36636 OPC_CheckPatternPredicate1,
36637 OPC_EmitIntegerByHwMode0, 23,
36638 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36639 MVT::v8i16, 3, 24,
36640 11,
36641 OPC_CheckChild2Integer, 2,
36642 OPC_CheckPatternPredicate1,
36643 OPC_EmitIntegerByHwMode0, 39,
36644 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36645 MVT::v8i16, 3, 24,
36646 11,
36647 OPC_CheckChild2Integer, 3,
36648 OPC_CheckPatternPredicate1,
36649 OPC_EmitIntegerByHwMode0, 55,
36650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36651 MVT::v8i16, 3, 24,
36652 12,
36653 OPC_CheckChild2Integer, 4,
36654 OPC_CheckPatternPredicate1,
36655 OPC_EmitIntegerByHwMode0, 71|128,0,
36656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36657 MVT::v8i16, 3, 24,
36658 12,
36659 OPC_CheckChild2Integer, 5,
36660 OPC_CheckPatternPredicate1,
36661 OPC_EmitIntegerByHwMode0, 87|128,0,
36662 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36663 MVT::v8i16, 3, 24,
36664 12,
36665 OPC_CheckChild2Integer, 6,
36666 OPC_CheckPatternPredicate1,
36667 OPC_EmitIntegerByHwMode0, 103|128,0,
36668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36669 MVT::v8i16, 3, 24,
36670 12,
36671 OPC_CheckChild2Integer, 7,
36672 OPC_CheckPatternPredicate1,
36673 OPC_EmitIntegerByHwMode0, 119|128,0,
36674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
36675 MVT::v8i16, 3, 24,
36676 0,
36677 0,
36678 104|128,1,
36679 OPC_CheckChild0Type, MVT::v4i32,
36680 OPC_Scope, 56,
36681 OPC_CheckChild1Integer, 0,
36682 OPC_CheckTypeByHwMode0,
36683 OPC_MoveParent,
36684 OPC_CheckType, MVT::v4i32,
36685 OPC_Scope, 11,
36686 OPC_CheckChild2Integer, 0,
36687 OPC_CheckPatternPredicate1,
36688 OPC_EmitIntegerByHwMode0, 0,
36689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36690 MVT::v4i32, 3, 24,
36691 11,
36692 OPC_CheckChild2Integer, 1,
36693 OPC_CheckPatternPredicate1,
36694 OPC_EmitIntegerByHwMode0, 16,
36695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36696 MVT::v4i32, 3, 24,
36697 11,
36698 OPC_CheckChild2Integer, 2,
36699 OPC_CheckPatternPredicate1,
36700 OPC_EmitIntegerByHwMode0, 32,
36701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36702 MVT::v4i32, 3, 24,
36703 11,
36704 OPC_CheckChild2Integer, 3,
36705 OPC_CheckPatternPredicate1,
36706 OPC_EmitIntegerByHwMode0, 48,
36707 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36708 MVT::v4i32, 3, 24,
36709 0,
36710 56,
36711 OPC_CheckChild1Integer, 1,
36712 OPC_CheckTypeByHwMode0,
36713 OPC_MoveParent,
36714 OPC_CheckType, MVT::v4i32,
36715 OPC_Scope, 11,
36716 OPC_CheckChild2Integer, 0,
36717 OPC_CheckPatternPredicate1,
36718 OPC_EmitIntegerByHwMode0, 1,
36719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36720 MVT::v4i32, 3, 24,
36721 11,
36722 OPC_CheckChild2Integer, 1,
36723 OPC_CheckPatternPredicate1,
36724 OPC_EmitIntegerByHwMode0, 17,
36725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36726 MVT::v4i32, 3, 24,
36727 11,
36728 OPC_CheckChild2Integer, 2,
36729 OPC_CheckPatternPredicate1,
36730 OPC_EmitIntegerByHwMode0, 33,
36731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36732 MVT::v4i32, 3, 24,
36733 11,
36734 OPC_CheckChild2Integer, 3,
36735 OPC_CheckPatternPredicate1,
36736 OPC_EmitIntegerByHwMode0, 49,
36737 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36738 MVT::v4i32, 3, 24,
36739 0,
36740 56,
36741 OPC_CheckChild1Integer, 2,
36742 OPC_CheckTypeByHwMode0,
36743 OPC_MoveParent,
36744 OPC_CheckType, MVT::v4i32,
36745 OPC_Scope, 11,
36746 OPC_CheckChild2Integer, 0,
36747 OPC_CheckPatternPredicate1,
36748 OPC_EmitIntegerByHwMode0, 2,
36749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36750 MVT::v4i32, 3, 24,
36751 11,
36752 OPC_CheckChild2Integer, 1,
36753 OPC_CheckPatternPredicate1,
36754 OPC_EmitIntegerByHwMode0, 18,
36755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36756 MVT::v4i32, 3, 24,
36757 11,
36758 OPC_CheckChild2Integer, 2,
36759 OPC_CheckPatternPredicate1,
36760 OPC_EmitIntegerByHwMode0, 34,
36761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36762 MVT::v4i32, 3, 24,
36763 11,
36764 OPC_CheckChild2Integer, 3,
36765 OPC_CheckPatternPredicate1,
36766 OPC_EmitIntegerByHwMode0, 50,
36767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36768 MVT::v4i32, 3, 24,
36769 0,
36770 56,
36771 OPC_CheckChild1Integer, 3,
36772 OPC_CheckTypeByHwMode0,
36773 OPC_MoveParent,
36774 OPC_CheckType, MVT::v4i32,
36775 OPC_Scope, 11,
36776 OPC_CheckChild2Integer, 0,
36777 OPC_CheckPatternPredicate1,
36778 OPC_EmitIntegerByHwMode0, 3,
36779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36780 MVT::v4i32, 3, 24,
36781 11,
36782 OPC_CheckChild2Integer, 1,
36783 OPC_CheckPatternPredicate1,
36784 OPC_EmitIntegerByHwMode0, 19,
36785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36786 MVT::v4i32, 3, 24,
36787 11,
36788 OPC_CheckChild2Integer, 2,
36789 OPC_CheckPatternPredicate1,
36790 OPC_EmitIntegerByHwMode0, 35,
36791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36792 MVT::v4i32, 3, 24,
36793 11,
36794 OPC_CheckChild2Integer, 3,
36795 OPC_CheckPatternPredicate1,
36796 OPC_EmitIntegerByHwMode0, 51,
36797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
36798 MVT::v4i32, 3, 24,
36799 0,
36800 0,
36801 70,
36802 OPC_CheckChild0Type, MVT::v2i64,
36803 OPC_Scope, 32,
36804 OPC_CheckChild1Integer, 0,
36805 OPC_CheckTypeByHwMode0,
36806 OPC_MoveParent,
36807 OPC_CheckType, MVT::v2i64,
36808 OPC_Scope, 11,
36809 OPC_CheckChild2Integer, 0,
36810 OPC_CheckPatternPredicate1,
36811 OPC_EmitIntegerByHwMode0, 0,
36812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
36813 MVT::v2i64, 3, 24,
36814 11,
36815 OPC_CheckChild2Integer, 1,
36816 OPC_CheckPatternPredicate1,
36817 OPC_EmitIntegerByHwMode0, 16,
36818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
36819 MVT::v2i64, 3, 24,
36820 0,
36821 32,
36822 OPC_CheckChild1Integer, 1,
36823 OPC_CheckTypeByHwMode0,
36824 OPC_MoveParent,
36825 OPC_CheckType, MVT::v2i64,
36826 OPC_Scope, 11,
36827 OPC_CheckChild2Integer, 0,
36828 OPC_CheckPatternPredicate1,
36829 OPC_EmitIntegerByHwMode0, 1,
36830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
36831 MVT::v2i64, 3, 24,
36832 11,
36833 OPC_CheckChild2Integer, 1,
36834 OPC_CheckPatternPredicate1,
36835 OPC_EmitIntegerByHwMode0, 17,
36836 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
36837 MVT::v2i64, 3, 24,
36838 0,
36839 0,
36840 64,
36841 OPC_CheckChild0Type, MVT::v8i32,
36842 OPC_Scope, 22,
36843 OPC_CheckChild1Integer, 0,
36844 OPC_CheckTypeByHwMode0,
36845 OPC_MoveSibling2,
36846 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
36847 OPC_RecordNode,
36848 OPC_CheckPredicate, 17,
36849 OPC_CheckTypeByHwMode0,
36850 OPC_MoveParent,
36851 OPC_CheckType, MVT::v8i32,
36852 OPC_CheckPatternPredicate0,
36853 OPC_EmitConvertToTarget2,
36854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
36855 MVT::v8i32, 3, 42,
36856 36,
36857 OPC_RecordChild1,
36858 OPC_MoveChild1,
36859 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
36860 OPC_CheckPredicate, 17,
36861 OPC_CheckTypeByHwMode0,
36862 OPC_MoveParent,
36863 OPC_CheckTypeByHwMode0,
36864 OPC_MoveSibling2,
36865 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
36866 OPC_RecordNode,
36867 OPC_CheckPredicate, 17,
36868 OPC_CheckTypeByHwMode0,
36869 OPC_MoveParent,
36870 OPC_CheckType, MVT::v8i32,
36871 OPC_CheckPatternPredicate0,
36872 OPC_EmitConvertToTarget2,
36873 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_W),
36874 MVT::v32i8, 2, 67,
36875 OPC_EmitConvertToTarget3,
36876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
36877 MVT::v8i32, 3, 113,
36878 0,
36879 64,
36880 OPC_CheckChild0Type, MVT::v4i64,
36881 OPC_Scope, 22,
36882 OPC_CheckChild1Integer, 0,
36883 OPC_CheckTypeByHwMode0,
36884 OPC_MoveSibling2,
36885 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
36886 OPC_RecordNode,
36887 OPC_CheckPredicate, 18,
36888 OPC_CheckTypeByHwMode0,
36889 OPC_MoveParent,
36890 OPC_CheckType, MVT::v4i64,
36891 OPC_CheckPatternPredicate0,
36892 OPC_EmitConvertToTarget2,
36893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
36894 MVT::v4i64, 3, 42,
36895 36,
36896 OPC_RecordChild1,
36897 OPC_MoveChild1,
36898 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
36899 OPC_CheckPredicate, 18,
36900 OPC_CheckTypeByHwMode0,
36901 OPC_MoveParent,
36902 OPC_CheckTypeByHwMode0,
36903 OPC_MoveSibling2,
36904 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
36905 OPC_RecordNode,
36906 OPC_CheckPredicate, 18,
36907 OPC_CheckTypeByHwMode0,
36908 OPC_MoveParent,
36909 OPC_CheckType, MVT::v4i64,
36910 OPC_CheckPatternPredicate0,
36911 OPC_EmitConvertToTarget2,
36912 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_D),
36913 MVT::v32i8, 2, 67,
36914 OPC_EmitConvertToTarget3,
36915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
36916 MVT::v4i64, 3, 113,
36917 0,
36918 0,
36919 1|128,1,
36920 OPC_RecordChild1,
36921 OPC_CheckChild1TypeByHwMode0,
36922 OPC_RecordChild2,
36923 OPC_MoveChild2,
36924 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
36925 OPC_Scope, 14,
36926 OPC_CheckPredicate, 21,
36927 OPC_CheckTypeByHwMode0,
36928 OPC_MoveParent,
36929 OPC_CheckType, MVT::v16i8,
36930 OPC_CheckPatternPredicate1,
36931 OPC_EmitConvertToTarget2,
36932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_B),
36933 MVT::v16i8, 3, 42,
36934 14,
36935 OPC_CheckPredicate, 17,
36936 OPC_CheckTypeByHwMode0,
36937 OPC_MoveParent,
36938 OPC_CheckType, MVT::v8i16,
36939 OPC_CheckPatternPredicate1,
36940 OPC_EmitConvertToTarget2,
36941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_H),
36942 MVT::v8i16, 3, 42,
36943 14,
36944 OPC_CheckPredicate, 18,
36945 OPC_CheckTypeByHwMode0,
36946 OPC_MoveParent,
36947 OPC_CheckType, MVT::v4i32,
36948 OPC_CheckPatternPredicate1,
36949 OPC_EmitConvertToTarget2,
36950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
36951 MVT::v4i32, 3, 42,
36952 14,
36953 OPC_CheckPredicate, 25,
36954 OPC_CheckTypeByHwMode0,
36955 OPC_MoveParent,
36956 OPC_CheckType, MVT::v2i64,
36957 OPC_CheckPatternPredicate1,
36958 OPC_EmitConvertToTarget2,
36959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
36960 MVT::v2i64, 3, 42,
36961 14,
36962 OPC_CheckPredicate, 17,
36963 OPC_CheckTypeByHwMode0,
36964 OPC_MoveParent,
36965 OPC_CheckType, MVT::v8i32,
36966 OPC_CheckPatternPredicate0,
36967 OPC_EmitConvertToTarget2,
36968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
36969 MVT::v8i32, 3, 42,
36970 14,
36971 OPC_CheckPredicate, 18,
36972 OPC_CheckTypeByHwMode0,
36973 OPC_MoveParent,
36974 OPC_CheckType, MVT::v4i64,
36975 OPC_CheckPatternPredicate0,
36976 OPC_EmitConvertToTarget2,
36977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
36978 MVT::v4i64, 3, 42,
36979 14,
36980 OPC_CheckPredicate, 20,
36981 OPC_CheckTypeByHwMode0,
36982 OPC_MoveParent,
36983 OPC_CheckType, MVT::v32i8,
36984 OPC_CheckPatternPredicate0,
36985 OPC_EmitConvertToTarget2,
36986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_B),
36987 MVT::v32i8, 3, 42,
36988 14,
36989 OPC_CheckPredicate, 21,
36990 OPC_CheckTypeByHwMode0,
36991 OPC_MoveParent,
36992 OPC_CheckType, MVT::v16i16,
36993 OPC_CheckPatternPredicate0,
36994 OPC_EmitConvertToTarget2,
36995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_H),
36996 MVT::v16i16, 3, 42,
36997 0,
36998 0,
36999 4|128,5,
37000 OPC_MoveChild0,
37001 OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
37002 OPC_RecordChild0,
37003 OPC_MoveChild1,
37004 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37005 OPC_RecordChild0,
37006 OPC_SwitchType , 109|128,3, MVT::f32,
37007 OPC_CheckChild0Type, 12|128,1,
37008 OPC_Scope, 121,
37009 OPC_CheckChild1Integer, 0,
37010 OPC_MoveParent,
37011 OPC_Scope, 28,
37012 OPC_CheckChild2Integer, 0,
37013 OPC_MoveSibling1,
37014 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37015 OPC_CheckChild0Same, 1,
37016 OPC_CheckChild1Integer, 4,
37017 OPC_CheckType, MVT::f32,
37018 OPC_MoveParent,
37019 OPC_CheckChild2Integer, 4,
37020 OPC_CheckType, 12|128,1,
37021 OPC_CheckPatternPredicate0,
37022 OPC_EmitIntegerByHwMode0, 0,
37023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37024 12|128,1, 3, 24,
37025 28,
37026 OPC_CheckChild2Integer, 1,
37027 OPC_MoveSibling1,
37028 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37029 OPC_CheckChild0Same, 1,
37030 OPC_CheckChild1Integer, 4,
37031 OPC_CheckType, MVT::f32,
37032 OPC_MoveParent,
37033 OPC_CheckChild2Integer, 5,
37034 OPC_CheckType, 12|128,1,
37035 OPC_CheckPatternPredicate0,
37036 OPC_EmitIntegerByHwMode0, 16,
37037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37038 12|128,1, 3, 24,
37039 28,
37040 OPC_CheckChild2Integer, 2,
37041 OPC_MoveSibling1,
37042 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37043 OPC_CheckChild0Same, 1,
37044 OPC_CheckChild1Integer, 4,
37045 OPC_CheckType, MVT::f32,
37046 OPC_MoveParent,
37047 OPC_CheckChild2Integer, 6,
37048 OPC_CheckType, 12|128,1,
37049 OPC_CheckPatternPredicate0,
37050 OPC_EmitIntegerByHwMode0, 32,
37051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37052 12|128,1, 3, 24,
37053 28,
37054 OPC_CheckChild2Integer, 3,
37055 OPC_MoveSibling1,
37056 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37057 OPC_CheckChild0Same, 1,
37058 OPC_CheckChild1Integer, 4,
37059 OPC_CheckType, MVT::f32,
37060 OPC_MoveParent,
37061 OPC_CheckChild2Integer, 7,
37062 OPC_CheckType, 12|128,1,
37063 OPC_CheckPatternPredicate0,
37064 OPC_EmitIntegerByHwMode0, 48,
37065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37066 12|128,1, 3, 24,
37067 0,
37068 121,
37069 OPC_CheckChild1Integer, 1,
37070 OPC_MoveParent,
37071 OPC_Scope, 28,
37072 OPC_CheckChild2Integer, 0,
37073 OPC_MoveSibling1,
37074 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37075 OPC_CheckChild0Same, 1,
37076 OPC_CheckChild1Integer, 5,
37077 OPC_CheckType, MVT::f32,
37078 OPC_MoveParent,
37079 OPC_CheckChild2Integer, 4,
37080 OPC_CheckType, 12|128,1,
37081 OPC_CheckPatternPredicate0,
37082 OPC_EmitIntegerByHwMode0, 1,
37083 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37084 12|128,1, 3, 24,
37085 28,
37086 OPC_CheckChild2Integer, 1,
37087 OPC_MoveSibling1,
37088 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37089 OPC_CheckChild0Same, 1,
37090 OPC_CheckChild1Integer, 5,
37091 OPC_CheckType, MVT::f32,
37092 OPC_MoveParent,
37093 OPC_CheckChild2Integer, 5,
37094 OPC_CheckType, 12|128,1,
37095 OPC_CheckPatternPredicate0,
37096 OPC_EmitIntegerByHwMode0, 17,
37097 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37098 12|128,1, 3, 24,
37099 28,
37100 OPC_CheckChild2Integer, 2,
37101 OPC_MoveSibling1,
37102 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37103 OPC_CheckChild0Same, 1,
37104 OPC_CheckChild1Integer, 5,
37105 OPC_CheckType, MVT::f32,
37106 OPC_MoveParent,
37107 OPC_CheckChild2Integer, 6,
37108 OPC_CheckType, 12|128,1,
37109 OPC_CheckPatternPredicate0,
37110 OPC_EmitIntegerByHwMode0, 33,
37111 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37112 12|128,1, 3, 24,
37113 28,
37114 OPC_CheckChild2Integer, 3,
37115 OPC_MoveSibling1,
37116 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37117 OPC_CheckChild0Same, 1,
37118 OPC_CheckChild1Integer, 5,
37119 OPC_CheckType, MVT::f32,
37120 OPC_MoveParent,
37121 OPC_CheckChild2Integer, 7,
37122 OPC_CheckType, 12|128,1,
37123 OPC_CheckPatternPredicate0,
37124 OPC_EmitIntegerByHwMode0, 49,
37125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37126 12|128,1, 3, 24,
37127 0,
37128 121,
37129 OPC_CheckChild1Integer, 2,
37130 OPC_MoveParent,
37131 OPC_Scope, 28,
37132 OPC_CheckChild2Integer, 0,
37133 OPC_MoveSibling1,
37134 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37135 OPC_CheckChild0Same, 1,
37136 OPC_CheckChild1Integer, 6,
37137 OPC_CheckType, MVT::f32,
37138 OPC_MoveParent,
37139 OPC_CheckChild2Integer, 4,
37140 OPC_CheckType, 12|128,1,
37141 OPC_CheckPatternPredicate0,
37142 OPC_EmitIntegerByHwMode0, 2,
37143 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37144 12|128,1, 3, 24,
37145 28,
37146 OPC_CheckChild2Integer, 1,
37147 OPC_MoveSibling1,
37148 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37149 OPC_CheckChild0Same, 1,
37150 OPC_CheckChild1Integer, 6,
37151 OPC_CheckType, MVT::f32,
37152 OPC_MoveParent,
37153 OPC_CheckChild2Integer, 5,
37154 OPC_CheckType, 12|128,1,
37155 OPC_CheckPatternPredicate0,
37156 OPC_EmitIntegerByHwMode0, 18,
37157 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37158 12|128,1, 3, 24,
37159 28,
37160 OPC_CheckChild2Integer, 2,
37161 OPC_MoveSibling1,
37162 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37163 OPC_CheckChild0Same, 1,
37164 OPC_CheckChild1Integer, 6,
37165 OPC_CheckType, MVT::f32,
37166 OPC_MoveParent,
37167 OPC_CheckChild2Integer, 6,
37168 OPC_CheckType, 12|128,1,
37169 OPC_CheckPatternPredicate0,
37170 OPC_EmitIntegerByHwMode0, 34,
37171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37172 12|128,1, 3, 24,
37173 28,
37174 OPC_CheckChild2Integer, 3,
37175 OPC_MoveSibling1,
37176 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37177 OPC_CheckChild0Same, 1,
37178 OPC_CheckChild1Integer, 6,
37179 OPC_CheckType, MVT::f32,
37180 OPC_MoveParent,
37181 OPC_CheckChild2Integer, 7,
37182 OPC_CheckType, 12|128,1,
37183 OPC_CheckPatternPredicate0,
37184 OPC_EmitIntegerByHwMode0, 50,
37185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37186 12|128,1, 3, 24,
37187 0,
37188 121,
37189 OPC_CheckChild1Integer, 3,
37190 OPC_MoveParent,
37191 OPC_Scope, 28,
37192 OPC_CheckChild2Integer, 0,
37193 OPC_MoveSibling1,
37194 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37195 OPC_CheckChild0Same, 1,
37196 OPC_CheckChild1Integer, 7,
37197 OPC_CheckType, MVT::f32,
37198 OPC_MoveParent,
37199 OPC_CheckChild2Integer, 4,
37200 OPC_CheckType, 12|128,1,
37201 OPC_CheckPatternPredicate0,
37202 OPC_EmitIntegerByHwMode0, 3,
37203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37204 12|128,1, 3, 24,
37205 28,
37206 OPC_CheckChild2Integer, 1,
37207 OPC_MoveSibling1,
37208 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37209 OPC_CheckChild0Same, 1,
37210 OPC_CheckChild1Integer, 7,
37211 OPC_CheckType, MVT::f32,
37212 OPC_MoveParent,
37213 OPC_CheckChild2Integer, 5,
37214 OPC_CheckType, 12|128,1,
37215 OPC_CheckPatternPredicate0,
37216 OPC_EmitIntegerByHwMode0, 19,
37217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37218 12|128,1, 3, 24,
37219 28,
37220 OPC_CheckChild2Integer, 2,
37221 OPC_MoveSibling1,
37222 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37223 OPC_CheckChild0Same, 1,
37224 OPC_CheckChild1Integer, 7,
37225 OPC_CheckType, MVT::f32,
37226 OPC_MoveParent,
37227 OPC_CheckChild2Integer, 6,
37228 OPC_CheckType, 12|128,1,
37229 OPC_CheckPatternPredicate0,
37230 OPC_EmitIntegerByHwMode0, 35,
37231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37232 12|128,1, 3, 24,
37233 28,
37234 OPC_CheckChild2Integer, 3,
37235 OPC_MoveSibling1,
37236 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37237 OPC_CheckChild0Same, 1,
37238 OPC_CheckChild1Integer, 7,
37239 OPC_CheckType, MVT::f32,
37240 OPC_MoveParent,
37241 OPC_CheckChild2Integer, 7,
37242 OPC_CheckType, 12|128,1,
37243 OPC_CheckPatternPredicate0,
37244 OPC_EmitIntegerByHwMode0, 51,
37245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
37246 12|128,1, 3, 24,
37247 0,
37248 0,
37249 5|128,1, MVT::f64,
37250 OPC_CheckChild0Type, 28|128,1,
37251 OPC_Scope, 63,
37252 OPC_CheckChild1Integer, 0,
37253 OPC_MoveParent,
37254 OPC_Scope, 28,
37255 OPC_CheckChild2Integer, 0,
37256 OPC_MoveSibling1,
37257 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37258 OPC_CheckChild0Same, 1,
37259 OPC_CheckChild1Integer, 2,
37260 OPC_CheckType, MVT::f64,
37261 OPC_MoveParent,
37262 OPC_CheckChild2Integer, 2,
37263 OPC_CheckType, 28|128,1,
37264 OPC_CheckPatternPredicate0,
37265 OPC_EmitIntegerByHwMode0, 0,
37266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
37267 28|128,1, 3, 24,
37268 28,
37269 OPC_CheckChild2Integer, 1,
37270 OPC_MoveSibling1,
37271 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37272 OPC_CheckChild0Same, 1,
37273 OPC_CheckChild1Integer, 2,
37274 OPC_CheckType, MVT::f64,
37275 OPC_MoveParent,
37276 OPC_CheckChild2Integer, 3,
37277 OPC_CheckType, 28|128,1,
37278 OPC_CheckPatternPredicate0,
37279 OPC_EmitIntegerByHwMode0, 16,
37280 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
37281 28|128,1, 3, 24,
37282 0,
37283 63,
37284 OPC_CheckChild1Integer, 1,
37285 OPC_MoveParent,
37286 OPC_Scope, 28,
37287 OPC_CheckChild2Integer, 0,
37288 OPC_MoveSibling1,
37289 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37290 OPC_CheckChild0Same, 1,
37291 OPC_CheckChild1Integer, 3,
37292 OPC_CheckType, MVT::f64,
37293 OPC_MoveParent,
37294 OPC_CheckChild2Integer, 2,
37295 OPC_CheckType, 28|128,1,
37296 OPC_CheckPatternPredicate0,
37297 OPC_EmitIntegerByHwMode0, 1,
37298 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
37299 28|128,1, 3, 24,
37300 28,
37301 OPC_CheckChild2Integer, 1,
37302 OPC_MoveSibling1,
37303 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37304 OPC_CheckChild0Same, 1,
37305 OPC_CheckChild1Integer, 3,
37306 OPC_CheckType, MVT::f64,
37307 OPC_MoveParent,
37308 OPC_CheckChild2Integer, 3,
37309 OPC_CheckType, 28|128,1,
37310 OPC_CheckPatternPredicate0,
37311 OPC_EmitIntegerByHwMode0, 17,
37312 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
37313 28|128,1, 3, 24,
37314 0,
37315 0,
37316 0,
37317 19|128,5,
37318 OPC_RecordChild0,
37319 OPC_Scope, 50|128,3,
37320 OPC_MoveChild1,
37321 OPC_SwitchOpcode , 76|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
37322 OPC_RecordChild0,
37323 OPC_SwitchType , 121|128,1, MVT::f32,
37324 OPC_CheckChild0Type, 8|128,1,
37325 OPC_Scope, 60,
37326 OPC_CheckChild1Integer, 0,
37327 OPC_MoveParent,
37328 OPC_CheckType, 8|128,1,
37329 OPC_Scope, 12,
37330 OPC_CheckChild2Integer, 0,
37331 OPC_CheckPatternPredicate1,
37332 OPC_EmitIntegerByHwMode0, 0,
37333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37334 8|128,1, 3, 24,
37335 12,
37336 OPC_CheckChild2Integer, 1,
37337 OPC_CheckPatternPredicate1,
37338 OPC_EmitIntegerByHwMode0, 16,
37339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37340 8|128,1, 3, 24,
37341 12,
37342 OPC_CheckChild2Integer, 2,
37343 OPC_CheckPatternPredicate1,
37344 OPC_EmitIntegerByHwMode0, 32,
37345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37346 8|128,1, 3, 24,
37347 12,
37348 OPC_CheckChild2Integer, 3,
37349 OPC_CheckPatternPredicate1,
37350 OPC_EmitIntegerByHwMode0, 48,
37351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37352 8|128,1, 3, 24,
37353 0,
37354 60,
37355 OPC_CheckChild1Integer, 1,
37356 OPC_MoveParent,
37357 OPC_CheckType, 8|128,1,
37358 OPC_Scope, 12,
37359 OPC_CheckChild2Integer, 0,
37360 OPC_CheckPatternPredicate1,
37361 OPC_EmitIntegerByHwMode0, 1,
37362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37363 8|128,1, 3, 24,
37364 12,
37365 OPC_CheckChild2Integer, 1,
37366 OPC_CheckPatternPredicate1,
37367 OPC_EmitIntegerByHwMode0, 17,
37368 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37369 8|128,1, 3, 24,
37370 12,
37371 OPC_CheckChild2Integer, 2,
37372 OPC_CheckPatternPredicate1,
37373 OPC_EmitIntegerByHwMode0, 33,
37374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37375 8|128,1, 3, 24,
37376 12,
37377 OPC_CheckChild2Integer, 3,
37378 OPC_CheckPatternPredicate1,
37379 OPC_EmitIntegerByHwMode0, 49,
37380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37381 8|128,1, 3, 24,
37382 0,
37383 60,
37384 OPC_CheckChild1Integer, 2,
37385 OPC_MoveParent,
37386 OPC_CheckType, 8|128,1,
37387 OPC_Scope, 12,
37388 OPC_CheckChild2Integer, 0,
37389 OPC_CheckPatternPredicate1,
37390 OPC_EmitIntegerByHwMode0, 2,
37391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37392 8|128,1, 3, 24,
37393 12,
37394 OPC_CheckChild2Integer, 1,
37395 OPC_CheckPatternPredicate1,
37396 OPC_EmitIntegerByHwMode0, 18,
37397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37398 8|128,1, 3, 24,
37399 12,
37400 OPC_CheckChild2Integer, 2,
37401 OPC_CheckPatternPredicate1,
37402 OPC_EmitIntegerByHwMode0, 34,
37403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37404 8|128,1, 3, 24,
37405 12,
37406 OPC_CheckChild2Integer, 3,
37407 OPC_CheckPatternPredicate1,
37408 OPC_EmitIntegerByHwMode0, 50,
37409 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37410 8|128,1, 3, 24,
37411 0,
37412 60,
37413 OPC_CheckChild1Integer, 3,
37414 OPC_MoveParent,
37415 OPC_CheckType, 8|128,1,
37416 OPC_Scope, 12,
37417 OPC_CheckChild2Integer, 0,
37418 OPC_CheckPatternPredicate1,
37419 OPC_EmitIntegerByHwMode0, 3,
37420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37421 8|128,1, 3, 24,
37422 12,
37423 OPC_CheckChild2Integer, 1,
37424 OPC_CheckPatternPredicate1,
37425 OPC_EmitIntegerByHwMode0, 19,
37426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37427 8|128,1, 3, 24,
37428 12,
37429 OPC_CheckChild2Integer, 2,
37430 OPC_CheckPatternPredicate1,
37431 OPC_EmitIntegerByHwMode0, 35,
37432 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37433 8|128,1, 3, 24,
37434 12,
37435 OPC_CheckChild2Integer, 3,
37436 OPC_CheckPatternPredicate1,
37437 OPC_EmitIntegerByHwMode0, 51,
37438 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37439 8|128,1, 3, 24,
37440 0,
37441 0,
37442 75, MVT::f64,
37443 OPC_CheckChild0Type, 26|128,1,
37444 OPC_Scope, 34,
37445 OPC_CheckChild1Integer, 0,
37446 OPC_MoveParent,
37447 OPC_CheckType, 26|128,1,
37448 OPC_Scope, 12,
37449 OPC_CheckChild2Integer, 0,
37450 OPC_CheckPatternPredicate1,
37451 OPC_EmitIntegerByHwMode0, 0,
37452 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
37453 26|128,1, 3, 24,
37454 12,
37455 OPC_CheckChild2Integer, 1,
37456 OPC_CheckPatternPredicate1,
37457 OPC_EmitIntegerByHwMode0, 16,
37458 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
37459 26|128,1, 3, 24,
37460 0,
37461 34,
37462 OPC_CheckChild1Integer, 1,
37463 OPC_MoveParent,
37464 OPC_CheckType, 26|128,1,
37465 OPC_Scope, 12,
37466 OPC_CheckChild2Integer, 0,
37467 OPC_CheckPatternPredicate1,
37468 OPC_EmitIntegerByHwMode0, 1,
37469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
37470 26|128,1, 3, 24,
37471 12,
37472 OPC_CheckChild2Integer, 1,
37473 OPC_CheckPatternPredicate1,
37474 OPC_EmitIntegerByHwMode0, 17,
37475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
37476 26|128,1, 3, 24,
37477 0,
37478 0,
37479 0,
37480 44, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
37481 OPC_RecordChild0,
37482 OPC_CheckChild0TypeByHwMode, 1,
37483 OPC_MoveSibling2,
37484 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37485 OPC_RecordNode,
37486 OPC_Scope, 16,
37487 OPC_CheckPredicate, 18,
37488 OPC_CheckTypeByHwMode0,
37489 OPC_MoveParent,
37490 OPC_CheckType, 8|128,1,
37491 OPC_CheckPatternPredicate1,
37492 OPC_EmitConvertToTarget2,
37493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
37494 8|128,1, 3, 42,
37495 16,
37496 OPC_CheckPredicate, 17,
37497 OPC_CheckTypeByHwMode0,
37498 OPC_MoveParent,
37499 OPC_CheckType, 12|128,1,
37500 OPC_CheckPatternPredicate0,
37501 OPC_EmitConvertToTarget2,
37502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
37503 12|128,1, 3, 42,
37504 0,
37505 45, TARGET_VAL(ISD::BITCAST),
37506 OPC_RecordChild0,
37507 OPC_CheckChild0TypeI64,
37508 OPC_CheckType, MVT::f64,
37509 OPC_MoveSibling2,
37510 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37511 OPC_RecordNode,
37512 OPC_Scope, 16,
37513 OPC_CheckPredicate, 25,
37514 OPC_CheckTypeByHwMode0,
37515 OPC_MoveParent,
37516 OPC_CheckType, 26|128,1,
37517 OPC_CheckPatternPredicate1,
37518 OPC_EmitConvertToTarget2,
37519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
37520 26|128,1, 3, 42,
37521 16,
37522 OPC_CheckPredicate, 18,
37523 OPC_CheckTypeByHwMode0,
37524 OPC_MoveParent,
37525 OPC_CheckType, 28|128,1,
37526 OPC_CheckPatternPredicate0,
37527 OPC_EmitConvertToTarget2,
37528 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
37529 28|128,1, 3, 42,
37530 0,
37531 0,
37532 90|128,1,
37533 OPC_RecordChild1,
37534 OPC_Scope, 2|128,1,
37535 OPC_CheckChild1Type, MVT::f32,
37536 OPC_Scope, 23,
37537 OPC_CheckChild2Integer, 0,
37538 OPC_CheckType, 8|128,1,
37539 OPC_CheckPatternPredicate1,
37540 OPC_EmitIntegerI32, LoongArch::sub_32,
37541 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
37542 MVT::v16i8, 2, 25,
37543 OPC_EmitIntegerByHwMode0, 0,
37544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37545 8|128,1, 3, 75,
37546 23,
37547 OPC_CheckChild2Integer, 1,
37548 OPC_CheckType, 8|128,1,
37549 OPC_CheckPatternPredicate1,
37550 OPC_EmitIntegerI32, LoongArch::sub_32,
37551 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
37552 MVT::v16i8, 2, 25,
37553 OPC_EmitIntegerByHwMode0, 16,
37554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37555 8|128,1, 3, 75,
37556 23,
37557 OPC_CheckChild2Integer, 2,
37558 OPC_CheckType, 8|128,1,
37559 OPC_CheckPatternPredicate1,
37560 OPC_EmitIntegerI32, LoongArch::sub_32,
37561 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
37562 MVT::v16i8, 2, 25,
37563 OPC_EmitIntegerByHwMode0, 32,
37564 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37565 8|128,1, 3, 75,
37566 23,
37567 OPC_CheckChild2Integer, 3,
37568 OPC_CheckType, 8|128,1,
37569 OPC_CheckPatternPredicate1,
37570 OPC_EmitIntegerI32, LoongArch::sub_32,
37571 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
37572 MVT::v16i8, 2, 25,
37573 OPC_EmitIntegerByHwMode0, 48,
37574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37575 8|128,1, 3, 75,
37576 29,
37577 OPC_RecordChild2,
37578 OPC_MoveChild2,
37579 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37580 OPC_CheckPredicate, 17,
37581 OPC_CheckTypeByHwMode0,
37582 OPC_MoveParent,
37583 OPC_CheckType, 12|128,1,
37584 OPC_CheckPatternPredicate0,
37585 OPC_EmitIntegerI32, LoongArch::sub_32,
37586 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
37587 MVT::v32i8, 2, 43,
37588 OPC_EmitConvertToTarget2,
37589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
37590 12|128,1, 3, 92,
37591 0,
37592 82,
37593 OPC_CheckChild1Type, MVT::f64,
37594 OPC_Scope, 23,
37595 OPC_CheckChild2Integer, 0,
37596 OPC_CheckType, 26|128,1,
37597 OPC_CheckPatternPredicate1,
37598 OPC_EmitIntegerI32, LoongArch::sub_64,
37599 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
37600 MVT::v16i8, 2, 25,
37601 OPC_EmitIntegerByHwMode0, 0,
37602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
37603 26|128,1, 3, 75,
37604 23,
37605 OPC_CheckChild2Integer, 1,
37606 OPC_CheckType, 26|128,1,
37607 OPC_CheckPatternPredicate1,
37608 OPC_EmitIntegerI32, LoongArch::sub_64,
37609 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
37610 MVT::v16i8, 2, 25,
37611 OPC_EmitIntegerByHwMode0, 16,
37612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
37613 26|128,1, 3, 75,
37614 29,
37615 OPC_RecordChild2,
37616 OPC_MoveChild2,
37617 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37618 OPC_CheckPredicate, 18,
37619 OPC_CheckTypeByHwMode0,
37620 OPC_MoveParent,
37621 OPC_CheckType, 28|128,1,
37622 OPC_CheckPatternPredicate0,
37623 OPC_EmitIntegerI32, LoongArch::sub_64,
37624 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
37625 MVT::v32i8, 2, 43,
37626 OPC_EmitConvertToTarget2,
37627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
37628 28|128,1, 3, 92,
37629 0,
37630 0,
37631 0,
37632 0,
37633 6|128,4, TARGET_VAL(LoongArchISD::VANDN),
37634 OPC_Scope, 53|128,3,
37635 OPC_MoveChild0,
37636 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
37637 OPC_MoveChild0,
37638 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
37639 OPC_CheckPredicate, 11,
37640 OPC_Scope, 55|128,2,
37641 OPC_MoveSibling1,
37642 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
37643 OPC_Scope, 19|128,1,
37644 OPC_RecordChild0,
37645 OPC_MoveChild1,
37646 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
37647 OPC_Scope, 17,
37648 OPC_CheckPredicate, 13,
37649 OPC_MoveParent,
37650 OPC_CheckType, MVT::v16i8,
37651 OPC_MoveParent,
37652 OPC_MoveParent,
37653 OPC_RecordChild1,
37654 OPC_CheckType, MVT::v16i8,
37655 OPC_CheckPatternPredicate1,
37656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
37657 MVT::v16i8, 2, 3,
37658 17,
37659 OPC_CheckPredicate, 14,
37660 OPC_MoveParent,
37661 OPC_CheckType, MVT::v8i16,
37662 OPC_MoveParent,
37663 OPC_MoveParent,
37664 OPC_RecordChild1,
37665 OPC_CheckType, MVT::v8i16,
37666 OPC_CheckPatternPredicate1,
37667 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
37668 MVT::v8i16, 2, 3,
37669 17,
37670 OPC_CheckPredicate, 15,
37671 OPC_MoveParent,
37672 OPC_CheckType, MVT::v4i32,
37673 OPC_MoveParent,
37674 OPC_MoveParent,
37675 OPC_RecordChild1,
37676 OPC_CheckType, MVT::v4i32,
37677 OPC_CheckPatternPredicate1,
37678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
37679 MVT::v4i32, 2, 3,
37680 15,
37681 OPC_CheckPredicate, 16,
37682 OPC_MoveParent,
37683 OPC_MoveParent,
37684 OPC_MoveParent,
37685 OPC_RecordChild1,
37686 OPC_CheckType, MVT::v2i64,
37687 OPC_CheckPatternPredicate1,
37688 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
37689 MVT::v2i64, 2, 3,
37690 15,
37691 OPC_CheckPredicate, 13,
37692 OPC_MoveParent,
37693 OPC_MoveParent,
37694 OPC_MoveParent,
37695 OPC_RecordChild1,
37696 OPC_CheckType, MVT::v32i8,
37697 OPC_CheckPatternPredicate0,
37698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
37699 MVT::v32i8, 2, 3,
37700 17,
37701 OPC_CheckPredicate, 14,
37702 OPC_MoveParent,
37703 OPC_CheckType, MVT::v16i16,
37704 OPC_MoveParent,
37705 OPC_MoveParent,
37706 OPC_RecordChild1,
37707 OPC_CheckType, MVT::v16i16,
37708 OPC_CheckPatternPredicate0,
37709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
37710 MVT::v16i16, 2, 3,
37711 17,
37712 OPC_CheckPredicate, 15,
37713 OPC_MoveParent,
37714 OPC_CheckType, MVT::v8i32,
37715 OPC_MoveParent,
37716 OPC_MoveParent,
37717 OPC_RecordChild1,
37718 OPC_CheckType, MVT::v8i32,
37719 OPC_CheckPatternPredicate0,
37720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
37721 MVT::v8i32, 2, 3,
37722 17,
37723 OPC_CheckPredicate, 16,
37724 OPC_MoveParent,
37725 OPC_CheckType, MVT::v4i64,
37726 OPC_MoveParent,
37727 OPC_MoveParent,
37728 OPC_RecordChild1,
37729 OPC_CheckType, MVT::v4i64,
37730 OPC_CheckPatternPredicate0,
37731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
37732 MVT::v4i64, 2, 3,
37733 0,
37734 26|128,1,
37735 OPC_MoveChild0,
37736 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
37737 OPC_Scope, 18,
37738 OPC_CheckPredicate, 13,
37739 OPC_MoveParent,
37740 OPC_RecordChild1,
37741 OPC_CheckType, MVT::v16i8,
37742 OPC_MoveParent,
37743 OPC_MoveParent,
37744 OPC_RecordChild1,
37745 OPC_CheckType, MVT::v16i8,
37746 OPC_CheckPatternPredicate1,
37747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
37748 MVT::v16i8, 2, 3,
37749 18,
37750 OPC_CheckPredicate, 14,
37751 OPC_MoveParent,
37752 OPC_RecordChild1,
37753 OPC_CheckType, MVT::v8i16,
37754 OPC_MoveParent,
37755 OPC_MoveParent,
37756 OPC_RecordChild1,
37757 OPC_CheckType, MVT::v8i16,
37758 OPC_CheckPatternPredicate1,
37759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
37760 MVT::v8i16, 2, 3,
37761 18,
37762 OPC_CheckPredicate, 15,
37763 OPC_MoveParent,
37764 OPC_RecordChild1,
37765 OPC_CheckType, MVT::v4i32,
37766 OPC_MoveParent,
37767 OPC_MoveParent,
37768 OPC_RecordChild1,
37769 OPC_CheckType, MVT::v4i32,
37770 OPC_CheckPatternPredicate1,
37771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
37772 MVT::v4i32, 2, 3,
37773 16,
37774 OPC_CheckPredicate, 16,
37775 OPC_MoveParent,
37776 OPC_RecordChild1,
37777 OPC_MoveParent,
37778 OPC_MoveParent,
37779 OPC_RecordChild1,
37780 OPC_CheckType, MVT::v2i64,
37781 OPC_CheckPatternPredicate1,
37782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
37783 MVT::v2i64, 2, 3,
37784 16,
37785 OPC_CheckPredicate, 13,
37786 OPC_MoveParent,
37787 OPC_RecordChild1,
37788 OPC_MoveParent,
37789 OPC_MoveParent,
37790 OPC_RecordChild1,
37791 OPC_CheckType, MVT::v32i8,
37792 OPC_CheckPatternPredicate0,
37793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
37794 MVT::v32i8, 2, 3,
37795 18,
37796 OPC_CheckPredicate, 14,
37797 OPC_MoveParent,
37798 OPC_RecordChild1,
37799 OPC_CheckType, MVT::v16i16,
37800 OPC_MoveParent,
37801 OPC_MoveParent,
37802 OPC_RecordChild1,
37803 OPC_CheckType, MVT::v16i16,
37804 OPC_CheckPatternPredicate0,
37805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
37806 MVT::v16i16, 2, 3,
37807 18,
37808 OPC_CheckPredicate, 15,
37809 OPC_MoveParent,
37810 OPC_RecordChild1,
37811 OPC_CheckType, MVT::v8i32,
37812 OPC_MoveParent,
37813 OPC_MoveParent,
37814 OPC_RecordChild1,
37815 OPC_CheckType, MVT::v8i32,
37816 OPC_CheckPatternPredicate0,
37817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
37818 MVT::v8i32, 2, 3,
37819 18,
37820 OPC_CheckPredicate, 16,
37821 OPC_MoveParent,
37822 OPC_RecordChild1,
37823 OPC_CheckType, MVT::v4i64,
37824 OPC_MoveParent,
37825 OPC_MoveParent,
37826 OPC_RecordChild1,
37827 OPC_CheckType, MVT::v4i64,
37828 OPC_CheckPatternPredicate0,
37829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
37830 MVT::v4i64, 2, 3,
37831 0,
37832 0,
37833 111,
37834 OPC_MoveParent,
37835 OPC_RecordChild1,
37836 OPC_Scope, 13,
37837 OPC_CheckChild1Type, MVT::v16i8,
37838 OPC_MoveParent,
37839 OPC_RecordChild1,
37840 OPC_CheckType, MVT::v16i8,
37841 OPC_CheckPatternPredicate1,
37842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
37843 MVT::v16i8, 2, 3,
37844 13,
37845 OPC_CheckChild1Type, MVT::v8i16,
37846 OPC_MoveParent,
37847 OPC_RecordChild1,
37848 OPC_CheckType, MVT::v8i16,
37849 OPC_CheckPatternPredicate1,
37850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
37851 MVT::v8i16, 2, 3,
37852 13,
37853 OPC_CheckChild1Type, MVT::v4i32,
37854 OPC_MoveParent,
37855 OPC_RecordChild1,
37856 OPC_CheckType, MVT::v4i32,
37857 OPC_CheckPatternPredicate1,
37858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
37859 MVT::v4i32, 2, 3,
37860 22,
37861 OPC_MoveParent,
37862 OPC_RecordChild1,
37863 OPC_SwitchType , 7, MVT::v2i64,
37864 OPC_CheckPatternPredicate1,
37865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
37866 MVT::v2i64, 2, 3,
37867 7, MVT::v32i8,
37868 OPC_CheckPatternPredicate0,
37869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
37870 MVT::v32i8, 2, 3,
37871 0,
37872 13,
37873 OPC_CheckChild1Type, MVT::v16i16,
37874 OPC_MoveParent,
37875 OPC_RecordChild1,
37876 OPC_CheckType, MVT::v16i16,
37877 OPC_CheckPatternPredicate0,
37878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
37879 MVT::v16i16, 2, 3,
37880 13,
37881 OPC_CheckChild1Type, MVT::v8i32,
37882 OPC_MoveParent,
37883 OPC_RecordChild1,
37884 OPC_CheckType, MVT::v8i32,
37885 OPC_CheckPatternPredicate0,
37886 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
37887 MVT::v8i32, 2, 3,
37888 13,
37889 OPC_CheckChild1Type, MVT::v4i64,
37890 OPC_MoveParent,
37891 OPC_RecordChild1,
37892 OPC_CheckType, MVT::v4i64,
37893 OPC_CheckPatternPredicate0,
37894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
37895 MVT::v4i64, 2, 3,
37896 0,
37897 0,
37898 76,
37899 OPC_RecordChild0,
37900 OPC_RecordChild1,
37901 OPC_SwitchType , 7, MVT::v16i8,
37902 OPC_CheckPatternPredicate1,
37903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
37904 MVT::v16i8, 2, 9,
37905 7, MVT::v8i16,
37906 OPC_CheckPatternPredicate1,
37907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
37908 MVT::v8i16, 2, 9,
37909 7, MVT::v4i32,
37910 OPC_CheckPatternPredicate1,
37911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
37912 MVT::v4i32, 2, 9,
37913 7, MVT::v2i64,
37914 OPC_CheckPatternPredicate1,
37915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
37916 MVT::v2i64, 2, 9,
37917 7, MVT::v32i8,
37918 OPC_CheckPatternPredicate0,
37919 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
37920 MVT::v32i8, 2, 9,
37921 7, MVT::v16i16,
37922 OPC_CheckPatternPredicate0,
37923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
37924 MVT::v16i16, 2, 9,
37925 7, MVT::v8i32,
37926 OPC_CheckPatternPredicate0,
37927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
37928 MVT::v8i32, 2, 9,
37929 7, MVT::v4i64,
37930 OPC_CheckPatternPredicate0,
37931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
37932 MVT::v4i64, 2, 9,
37933 0,
37934 0,
37935 50|128,7, TARGET_VAL(LoongArchISD::VLDREPL),
37936 OPC_RecordMemRef,
37937 OPC_RecordNode,
37938 OPC_Scope, 103|128,2,
37939 OPC_MoveChild1,
37940 OPC_SwitchOpcode , 46|128,1, TARGET_VAL(ISD::ADD),
37941 OPC_RecordChild0,
37942 OPC_RecordChild1,
37943 OPC_MoveChild1,
37944 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37945 OPC_Scope, 19,
37946 OPC_CheckPredicate4,
37947 OPC_MoveParent,
37948 OPC_CheckPredicate2,
37949 OPC_CheckTypeByHwMode0,
37950 OPC_MoveParent,
37951 OPC_CheckType, MVT::v16i8,
37952 OPC_CheckPatternPredicate1,
37953 OPC_CheckComplexPat0, /*#*/1,
37954 OPC_EmitMergeInputChains1_0,
37955 OPC_EmitConvertToTarget2,
37956 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
37957 MVT::v16i8, 2, 76,
37958 20,
37959 OPC_CheckPredicate, 46,
37960 OPC_MoveParent,
37961 OPC_CheckPredicate2,
37962 OPC_CheckTypeByHwMode0,
37963 OPC_MoveParent,
37964 OPC_CheckType, MVT::v8i16,
37965 OPC_CheckPatternPredicate1,
37966 OPC_CheckComplexPat0, /*#*/1,
37967 OPC_EmitMergeInputChains1_0,
37968 OPC_EmitConvertToTarget2,
37969 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
37970 MVT::v8i16, 2, 76,
37971 20,
37972 OPC_CheckPredicate, 38,
37973 OPC_MoveParent,
37974 OPC_CheckPredicate2,
37975 OPC_CheckTypeByHwMode0,
37976 OPC_MoveParent,
37977 OPC_CheckType, MVT::v4i32,
37978 OPC_CheckPatternPredicate1,
37979 OPC_CheckComplexPat0, /*#*/1,
37980 OPC_EmitMergeInputChains1_0,
37981 OPC_EmitConvertToTarget2,
37982 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
37983 MVT::v4i32, 2, 76,
37984 20,
37985 OPC_CheckPredicate, 39,
37986 OPC_MoveParent,
37987 OPC_CheckPredicate2,
37988 OPC_CheckTypeByHwMode0,
37989 OPC_MoveParent,
37990 OPC_CheckType, MVT::v2i64,
37991 OPC_CheckPatternPredicate1,
37992 OPC_CheckComplexPat0, /*#*/1,
37993 OPC_EmitMergeInputChains1_0,
37994 OPC_EmitConvertToTarget2,
37995 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
37996 MVT::v2i64, 2, 76,
37997 19,
37998 OPC_CheckPredicate4,
37999 OPC_MoveParent,
38000 OPC_CheckPredicate2,
38001 OPC_CheckTypeByHwMode0,
38002 OPC_MoveParent,
38003 OPC_CheckType, MVT::v32i8,
38004 OPC_CheckPatternPredicate0,
38005 OPC_CheckComplexPat0, /*#*/1,
38006 OPC_EmitMergeInputChains1_0,
38007 OPC_EmitConvertToTarget2,
38008 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
38009 MVT::v32i8, 2, 76,
38010 20,
38011 OPC_CheckPredicate, 46,
38012 OPC_MoveParent,
38013 OPC_CheckPredicate2,
38014 OPC_CheckTypeByHwMode0,
38015 OPC_MoveParent,
38016 OPC_CheckType, MVT::v16i16,
38017 OPC_CheckPatternPredicate0,
38018 OPC_CheckComplexPat0, /*#*/1,
38019 OPC_EmitMergeInputChains1_0,
38020 OPC_EmitConvertToTarget2,
38021 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
38022 MVT::v16i16, 2, 76,
38023 20,
38024 OPC_CheckPredicate, 38,
38025 OPC_MoveParent,
38026 OPC_CheckPredicate2,
38027 OPC_CheckTypeByHwMode0,
38028 OPC_MoveParent,
38029 OPC_CheckType, MVT::v8i32,
38030 OPC_CheckPatternPredicate0,
38031 OPC_CheckComplexPat0, /*#*/1,
38032 OPC_EmitMergeInputChains1_0,
38033 OPC_EmitConvertToTarget2,
38034 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38035 MVT::v8i32, 2, 76,
38036 20,
38037 OPC_CheckPredicate, 39,
38038 OPC_MoveParent,
38039 OPC_CheckPredicate2,
38040 OPC_CheckTypeByHwMode0,
38041 OPC_MoveParent,
38042 OPC_CheckType, MVT::v4i64,
38043 OPC_CheckPatternPredicate0,
38044 OPC_CheckComplexPat0, /*#*/1,
38045 OPC_EmitMergeInputChains1_0,
38046 OPC_EmitConvertToTarget2,
38047 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38048 MVT::v4i64, 2, 76,
38049 0,
38050 46|128,1, TARGET_VAL(ISD::OR),
38051 OPC_RecordChild0,
38052 OPC_RecordChild1,
38053 OPC_MoveChild1,
38054 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38055 OPC_Scope, 19,
38056 OPC_CheckPredicate4,
38057 OPC_MoveParent,
38058 OPC_CheckPredicate2,
38059 OPC_CheckTypeByHwMode0,
38060 OPC_MoveParent,
38061 OPC_CheckType, MVT::v16i8,
38062 OPC_CheckPatternPredicate1,
38063 OPC_CheckComplexPat0, /*#*/1,
38064 OPC_EmitMergeInputChains1_0,
38065 OPC_EmitConvertToTarget2,
38066 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
38067 MVT::v16i8, 2, 76,
38068 20,
38069 OPC_CheckPredicate, 46,
38070 OPC_MoveParent,
38071 OPC_CheckPredicate2,
38072 OPC_CheckTypeByHwMode0,
38073 OPC_MoveParent,
38074 OPC_CheckType, MVT::v8i16,
38075 OPC_CheckPatternPredicate1,
38076 OPC_CheckComplexPat0, /*#*/1,
38077 OPC_EmitMergeInputChains1_0,
38078 OPC_EmitConvertToTarget2,
38079 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
38080 MVT::v8i16, 2, 76,
38081 20,
38082 OPC_CheckPredicate, 38,
38083 OPC_MoveParent,
38084 OPC_CheckPredicate2,
38085 OPC_CheckTypeByHwMode0,
38086 OPC_MoveParent,
38087 OPC_CheckType, MVT::v4i32,
38088 OPC_CheckPatternPredicate1,
38089 OPC_CheckComplexPat0, /*#*/1,
38090 OPC_EmitMergeInputChains1_0,
38091 OPC_EmitConvertToTarget2,
38092 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38093 MVT::v4i32, 2, 76,
38094 20,
38095 OPC_CheckPredicate, 39,
38096 OPC_MoveParent,
38097 OPC_CheckPredicate2,
38098 OPC_CheckTypeByHwMode0,
38099 OPC_MoveParent,
38100 OPC_CheckType, MVT::v2i64,
38101 OPC_CheckPatternPredicate1,
38102 OPC_CheckComplexPat0, /*#*/1,
38103 OPC_EmitMergeInputChains1_0,
38104 OPC_EmitConvertToTarget2,
38105 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38106 MVT::v2i64, 2, 76,
38107 19,
38108 OPC_CheckPredicate4,
38109 OPC_MoveParent,
38110 OPC_CheckPredicate2,
38111 OPC_CheckTypeByHwMode0,
38112 OPC_MoveParent,
38113 OPC_CheckType, MVT::v32i8,
38114 OPC_CheckPatternPredicate0,
38115 OPC_CheckComplexPat0, /*#*/1,
38116 OPC_EmitMergeInputChains1_0,
38117 OPC_EmitConvertToTarget2,
38118 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
38119 MVT::v32i8, 2, 76,
38120 20,
38121 OPC_CheckPredicate, 46,
38122 OPC_MoveParent,
38123 OPC_CheckPredicate2,
38124 OPC_CheckTypeByHwMode0,
38125 OPC_MoveParent,
38126 OPC_CheckType, MVT::v16i16,
38127 OPC_CheckPatternPredicate0,
38128 OPC_CheckComplexPat0, /*#*/1,
38129 OPC_EmitMergeInputChains1_0,
38130 OPC_EmitConvertToTarget2,
38131 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
38132 MVT::v16i16, 2, 76,
38133 20,
38134 OPC_CheckPredicate, 38,
38135 OPC_MoveParent,
38136 OPC_CheckPredicate2,
38137 OPC_CheckTypeByHwMode0,
38138 OPC_MoveParent,
38139 OPC_CheckType, MVT::v8i32,
38140 OPC_CheckPatternPredicate0,
38141 OPC_CheckComplexPat0, /*#*/1,
38142 OPC_EmitMergeInputChains1_0,
38143 OPC_EmitConvertToTarget2,
38144 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38145 MVT::v8i32, 2, 76,
38146 20,
38147 OPC_CheckPredicate, 39,
38148 OPC_MoveParent,
38149 OPC_CheckPredicate2,
38150 OPC_CheckTypeByHwMode0,
38151 OPC_MoveParent,
38152 OPC_CheckType, MVT::v4i64,
38153 OPC_CheckPatternPredicate0,
38154 OPC_CheckComplexPat0, /*#*/1,
38155 OPC_EmitMergeInputChains1_0,
38156 OPC_EmitConvertToTarget2,
38157 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38158 MVT::v4i64, 2, 76,
38159 0,
38160 0,
38161 107|128,1,
38162 OPC_RecordChild1,
38163 OPC_SwitchType , 27, MVT::v16i8,
38164 OPC_CheckPatternPredicate1,
38165 OPC_Scope, 10,
38166 OPC_CheckComplexPat3, /*#*/1,
38167 OPC_EmitMergeInputChains1_0,
38168 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
38169 MVT::v16i8, 2, 49,
38170 12,
38171 OPC_CheckComplexPat0, /*#*/1,
38172 OPC_EmitMergeInputChains1_0,
38173 OPC_EmitIntegerByHwMode0, 0,
38174 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
38175 MVT::v16i8, 2, 49,
38176 0,
38177 27, MVT::v8i16,
38178 OPC_CheckPatternPredicate1,
38179 OPC_Scope, 10,
38180 OPC_CheckComplexPat3, /*#*/1,
38181 OPC_EmitMergeInputChains1_0,
38182 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
38183 MVT::v8i16, 2, 49,
38184 12,
38185 OPC_CheckComplexPat0, /*#*/1,
38186 OPC_EmitMergeInputChains1_0,
38187 OPC_EmitIntegerByHwMode0, 0,
38188 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
38189 MVT::v8i16, 2, 49,
38190 0,
38191 27, MVT::v4i32,
38192 OPC_CheckPatternPredicate1,
38193 OPC_Scope, 10,
38194 OPC_CheckComplexPat3, /*#*/1,
38195 OPC_EmitMergeInputChains1_0,
38196 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38197 MVT::v4i32, 2, 49,
38198 12,
38199 OPC_CheckComplexPat0, /*#*/1,
38200 OPC_EmitMergeInputChains1_0,
38201 OPC_EmitIntegerByHwMode0, 0,
38202 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38203 MVT::v4i32, 2, 49,
38204 0,
38205 27, MVT::v2i64,
38206 OPC_CheckPatternPredicate1,
38207 OPC_Scope, 10,
38208 OPC_CheckComplexPat3, /*#*/1,
38209 OPC_EmitMergeInputChains1_0,
38210 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38211 MVT::v2i64, 2, 49,
38212 12,
38213 OPC_CheckComplexPat0, /*#*/1,
38214 OPC_EmitMergeInputChains1_0,
38215 OPC_EmitIntegerByHwMode0, 0,
38216 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38217 MVT::v2i64, 2, 49,
38218 0,
38219 27, MVT::v32i8,
38220 OPC_CheckPatternPredicate0,
38221 OPC_Scope, 10,
38222 OPC_CheckComplexPat3, /*#*/1,
38223 OPC_EmitMergeInputChains1_0,
38224 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
38225 MVT::v32i8, 2, 49,
38226 12,
38227 OPC_CheckComplexPat0, /*#*/1,
38228 OPC_EmitMergeInputChains1_0,
38229 OPC_EmitIntegerByHwMode0, 0,
38230 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
38231 MVT::v32i8, 2, 49,
38232 0,
38233 27, MVT::v16i16,
38234 OPC_CheckPatternPredicate0,
38235 OPC_Scope, 10,
38236 OPC_CheckComplexPat3, /*#*/1,
38237 OPC_EmitMergeInputChains1_0,
38238 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
38239 MVT::v16i16, 2, 49,
38240 12,
38241 OPC_CheckComplexPat0, /*#*/1,
38242 OPC_EmitMergeInputChains1_0,
38243 OPC_EmitIntegerByHwMode0, 0,
38244 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
38245 MVT::v16i16, 2, 49,
38246 0,
38247 27, MVT::v8i32,
38248 OPC_CheckPatternPredicate0,
38249 OPC_Scope, 10,
38250 OPC_CheckComplexPat3, /*#*/1,
38251 OPC_EmitMergeInputChains1_0,
38252 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38253 MVT::v8i32, 2, 49,
38254 12,
38255 OPC_CheckComplexPat0, /*#*/1,
38256 OPC_EmitMergeInputChains1_0,
38257 OPC_EmitIntegerByHwMode0, 0,
38258 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38259 MVT::v8i32, 2, 49,
38260 0,
38261 27, MVT::v4i64,
38262 OPC_CheckPatternPredicate0,
38263 OPC_Scope, 10,
38264 OPC_CheckComplexPat3, /*#*/1,
38265 OPC_EmitMergeInputChains1_0,
38266 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38267 MVT::v4i64, 2, 49,
38268 12,
38269 OPC_CheckComplexPat0, /*#*/1,
38270 OPC_EmitMergeInputChains1_0,
38271 OPC_EmitIntegerByHwMode0, 0,
38272 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38273 MVT::v4i64, 2, 49,
38274 0,
38275 0,
38276 81|128,1,
38277 OPC_MoveChild1,
38278 OPC_SwitchOpcode , 100, TARGET_VAL(ISD::ADD),
38279 OPC_RecordChild0,
38280 OPC_RecordChild1,
38281 OPC_MoveChild1,
38282 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38283 OPC_Scope, 22,
38284 OPC_CheckPredicate, 38,
38285 OPC_MoveParent,
38286 OPC_CheckPredicate2,
38287 OPC_CheckTypeByHwMode0,
38288 OPC_MoveParent,
38289 OPC_CheckType, 8|128,1,
38290 OPC_CheckPatternPredicate1,
38291 OPC_CheckComplexPat0, /*#*/1,
38292 OPC_EmitMergeInputChains1_0,
38293 OPC_EmitConvertToTarget2,
38294 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38295 8|128,1, 2, 76,
38296 22,
38297 OPC_CheckPredicate, 39,
38298 OPC_MoveParent,
38299 OPC_CheckPredicate2,
38300 OPC_CheckTypeByHwMode0,
38301 OPC_MoveParent,
38302 OPC_CheckType, 26|128,1,
38303 OPC_CheckPatternPredicate1,
38304 OPC_CheckComplexPat0, /*#*/1,
38305 OPC_EmitMergeInputChains1_0,
38306 OPC_EmitConvertToTarget2,
38307 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38308 26|128,1, 2, 76,
38309 22,
38310 OPC_CheckPredicate, 38,
38311 OPC_MoveParent,
38312 OPC_CheckPredicate2,
38313 OPC_CheckTypeByHwMode0,
38314 OPC_MoveParent,
38315 OPC_CheckType, 12|128,1,
38316 OPC_CheckPatternPredicate0,
38317 OPC_CheckComplexPat0, /*#*/1,
38318 OPC_EmitMergeInputChains1_0,
38319 OPC_EmitConvertToTarget2,
38320 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38321 12|128,1, 2, 76,
38322 22,
38323 OPC_CheckPredicate, 39,
38324 OPC_MoveParent,
38325 OPC_CheckPredicate2,
38326 OPC_CheckTypeByHwMode0,
38327 OPC_MoveParent,
38328 OPC_CheckType, 28|128,1,
38329 OPC_CheckPatternPredicate0,
38330 OPC_CheckComplexPat0, /*#*/1,
38331 OPC_EmitMergeInputChains1_0,
38332 OPC_EmitConvertToTarget2,
38333 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38334 28|128,1, 2, 76,
38335 0,
38336 100, TARGET_VAL(ISD::OR),
38337 OPC_RecordChild0,
38338 OPC_RecordChild1,
38339 OPC_MoveChild1,
38340 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38341 OPC_Scope, 22,
38342 OPC_CheckPredicate, 38,
38343 OPC_MoveParent,
38344 OPC_CheckPredicate2,
38345 OPC_CheckTypeByHwMode0,
38346 OPC_MoveParent,
38347 OPC_CheckType, 8|128,1,
38348 OPC_CheckPatternPredicate1,
38349 OPC_CheckComplexPat0, /*#*/1,
38350 OPC_EmitMergeInputChains1_0,
38351 OPC_EmitConvertToTarget2,
38352 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38353 8|128,1, 2, 76,
38354 22,
38355 OPC_CheckPredicate, 39,
38356 OPC_MoveParent,
38357 OPC_CheckPredicate2,
38358 OPC_CheckTypeByHwMode0,
38359 OPC_MoveParent,
38360 OPC_CheckType, 26|128,1,
38361 OPC_CheckPatternPredicate1,
38362 OPC_CheckComplexPat0, /*#*/1,
38363 OPC_EmitMergeInputChains1_0,
38364 OPC_EmitConvertToTarget2,
38365 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38366 26|128,1, 2, 76,
38367 22,
38368 OPC_CheckPredicate, 38,
38369 OPC_MoveParent,
38370 OPC_CheckPredicate2,
38371 OPC_CheckTypeByHwMode0,
38372 OPC_MoveParent,
38373 OPC_CheckType, 12|128,1,
38374 OPC_CheckPatternPredicate0,
38375 OPC_CheckComplexPat0, /*#*/1,
38376 OPC_EmitMergeInputChains1_0,
38377 OPC_EmitConvertToTarget2,
38378 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38379 12|128,1, 2, 76,
38380 22,
38381 OPC_CheckPredicate, 39,
38382 OPC_MoveParent,
38383 OPC_CheckPredicate2,
38384 OPC_CheckTypeByHwMode0,
38385 OPC_MoveParent,
38386 OPC_CheckType, 28|128,1,
38387 OPC_CheckPatternPredicate0,
38388 OPC_CheckComplexPat0, /*#*/1,
38389 OPC_EmitMergeInputChains1_0,
38390 OPC_EmitConvertToTarget2,
38391 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38392 28|128,1, 2, 76,
38393 0,
38394 0,
38395 3|128,1,
38396 OPC_RecordChild1,
38397 OPC_SwitchType , 29, 8|128,1,
38398 OPC_CheckPatternPredicate1,
38399 OPC_Scope, 11,
38400 OPC_CheckComplexPat3, /*#*/1,
38401 OPC_EmitMergeInputChains1_0,
38402 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38403 8|128,1, 2, 49,
38404 13,
38405 OPC_CheckComplexPat0, /*#*/1,
38406 OPC_EmitMergeInputChains1_0,
38407 OPC_EmitIntegerByHwMode0, 0,
38408 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38409 8|128,1, 2, 49,
38410 0,
38411 29, 26|128,1,
38412 OPC_CheckPatternPredicate1,
38413 OPC_Scope, 11,
38414 OPC_CheckComplexPat3, /*#*/1,
38415 OPC_EmitMergeInputChains1_0,
38416 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38417 26|128,1, 2, 49,
38418 13,
38419 OPC_CheckComplexPat0, /*#*/1,
38420 OPC_EmitMergeInputChains1_0,
38421 OPC_EmitIntegerByHwMode0, 0,
38422 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38423 26|128,1, 2, 49,
38424 0,
38425 29, 12|128,1,
38426 OPC_CheckPatternPredicate0,
38427 OPC_Scope, 11,
38428 OPC_CheckComplexPat3, /*#*/1,
38429 OPC_EmitMergeInputChains1_0,
38430 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38431 12|128,1, 2, 49,
38432 13,
38433 OPC_CheckComplexPat0, /*#*/1,
38434 OPC_EmitMergeInputChains1_0,
38435 OPC_EmitIntegerByHwMode0, 0,
38436 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
38437 12|128,1, 2, 49,
38438 0,
38439 29, 28|128,1,
38440 OPC_CheckPatternPredicate0,
38441 OPC_Scope, 11,
38442 OPC_CheckComplexPat3, /*#*/1,
38443 OPC_EmitMergeInputChains1_0,
38444 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38445 28|128,1, 2, 49,
38446 13,
38447 OPC_CheckComplexPat0, /*#*/1,
38448 OPC_EmitMergeInputChains1_0,
38449 OPC_EmitIntegerByHwMode0, 0,
38450 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
38451 28|128,1, 2, 49,
38452 0,
38453 0,
38454 0,
38455 121|128,4, TARGET_VAL(ISD::INSERT_SUBVECTOR),
38456 OPC_Scope, 32|128,1,
38457 OPC_MoveChild0,
38458 OPC_SwitchOpcode , 78, TARGET_VAL(ISD::FREEZE),
38459 OPC_MoveChild0,
38460 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
38461 OPC_MoveParent,
38462 OPC_MoveParent,
38463 OPC_RecordChild1,
38464 OPC_CheckChild2Integer, 0,
38465 OPC_CheckChild2Type, 15|128,2,
38466 OPC_SwitchType , 14, MVT::v8i32,
38467 OPC_CheckPatternPredicate0,
38468 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38469 MVT::v8i32, 0,
38470 OPC_EmitIntegerI32, LoongArch::sub_128,
38471 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38472 MVT::v8i32, 3, 21,
38473 14, MVT::v4i64,
38474 OPC_CheckPatternPredicate0,
38475 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38476 MVT::v4i64, 0,
38477 OPC_EmitIntegerI32, LoongArch::sub_128,
38478 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38479 MVT::v4i64, 3, 21,
38480 14, MVT::v16i16,
38481 OPC_CheckPatternPredicate0,
38482 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38483 MVT::v16i16, 0,
38484 OPC_EmitIntegerI32, LoongArch::sub_128,
38485 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38486 MVT::v16i16, 3, 21,
38487 14, MVT::v32i8,
38488 OPC_CheckPatternPredicate0,
38489 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38490 MVT::v32i8, 0,
38491 OPC_EmitIntegerI32, LoongArch::sub_128,
38492 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38493 MVT::v32i8, 3, 21,
38494 0,
38495 73, TARGET_VAL(ISD::UNDEF),
38496 OPC_MoveParent,
38497 OPC_RecordChild1,
38498 OPC_CheckChild2Integer, 0,
38499 OPC_CheckChild2Type, 15|128,2,
38500 OPC_SwitchType , 14, MVT::v8i32,
38501 OPC_CheckPatternPredicate0,
38502 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38503 MVT::v8i32, 0,
38504 OPC_EmitIntegerI32, LoongArch::sub_128,
38505 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38506 MVT::v8i32, 3, 21,
38507 14, MVT::v4i64,
38508 OPC_CheckPatternPredicate0,
38509 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38510 MVT::v4i64, 0,
38511 OPC_EmitIntegerI32, LoongArch::sub_128,
38512 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38513 MVT::v4i64, 3, 21,
38514 14, MVT::v16i16,
38515 OPC_CheckPatternPredicate0,
38516 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38517 MVT::v16i16, 0,
38518 OPC_EmitIntegerI32, LoongArch::sub_128,
38519 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38520 MVT::v16i16, 3, 21,
38521 14, MVT::v32i8,
38522 OPC_CheckPatternPredicate0,
38523 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38524 MVT::v32i8, 0,
38525 OPC_EmitIntegerI32, LoongArch::sub_128,
38526 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38527 MVT::v32i8, 3, 21,
38528 0,
38529 0,
38530 100|128,1,
38531 OPC_RecordChild0,
38532 OPC_RecordChild1,
38533 OPC_Scope, 103,
38534 OPC_CheckChild2Integer, 0,
38535 OPC_CheckChild2Type, 15|128,2,
38536 OPC_SwitchType , 22, MVT::v8i32,
38537 OPC_CheckPatternPredicate0,
38538 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38539 MVT::v32i8, 0,
38540 OPC_EmitIntegerI32, LoongArch::sub_128,
38541 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38542 MVT::v32i8, 3, 45,
38543 OPC_EmitIntegerByHwMode0, 48,
38544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38545 MVT::v8i32, 3, 92,
38546 22, MVT::v4i64,
38547 OPC_CheckPatternPredicate0,
38548 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38549 MVT::v32i8, 0,
38550 OPC_EmitIntegerI32, LoongArch::sub_128,
38551 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38552 MVT::v32i8, 3, 45,
38553 OPC_EmitIntegerByHwMode0, 48,
38554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38555 MVT::v4i64, 3, 92,
38556 22, MVT::v16i16,
38557 OPC_CheckPatternPredicate0,
38558 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38559 MVT::v32i8, 0,
38560 OPC_EmitIntegerI32, LoongArch::sub_128,
38561 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38562 MVT::v32i8, 3, 45,
38563 OPC_EmitIntegerByHwMode0, 48,
38564 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38565 MVT::v16i16, 3, 92,
38566 22, MVT::v32i8,
38567 OPC_CheckPatternPredicate0,
38568 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38569 MVT::v32i8, 0,
38570 OPC_EmitIntegerI32, LoongArch::sub_128,
38571 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38572 MVT::v32i8, 3, 45,
38573 OPC_EmitIntegerByHwMode0, 48,
38574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38575 MVT::v32i8, 3, 92,
38576 0,
38577 29,
38578 OPC_CheckChild2Integer, 4,
38579 OPC_CheckChild2Type, 15|128,2,
38580 OPC_CheckType, MVT::v8i32,
38581 OPC_CheckPatternPredicate0,
38582 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38583 MVT::v32i8, 0,
38584 OPC_EmitIntegerI32, LoongArch::sub_128,
38585 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38586 MVT::v32i8, 3, 45,
38587 OPC_EmitIntegerByHwMode0, 2,
38588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38589 MVT::v8i32, 3, 92,
38590 29,
38591 OPC_CheckChild2Integer, 2,
38592 OPC_CheckChild2Type, 15|128,2,
38593 OPC_CheckType, MVT::v4i64,
38594 OPC_CheckPatternPredicate0,
38595 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38596 MVT::v32i8, 0,
38597 OPC_EmitIntegerI32, LoongArch::sub_128,
38598 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38599 MVT::v32i8, 3, 45,
38600 OPC_EmitIntegerByHwMode0, 2,
38601 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38602 MVT::v4i64, 3, 92,
38603 29,
38604 OPC_CheckChild2Integer, 8,
38605 OPC_CheckChild2Type, 15|128,2,
38606 OPC_CheckType, MVT::v16i16,
38607 OPC_CheckPatternPredicate0,
38608 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38609 MVT::v32i8, 0,
38610 OPC_EmitIntegerI32, LoongArch::sub_128,
38611 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38612 MVT::v32i8, 3, 45,
38613 OPC_EmitIntegerByHwMode0, 2,
38614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38615 MVT::v16i16, 3, 92,
38616 29,
38617 OPC_CheckChild2Integer, 16,
38618 OPC_CheckChild2Type, 15|128,2,
38619 OPC_CheckType, MVT::v32i8,
38620 OPC_CheckPatternPredicate0,
38621 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38622 MVT::v32i8, 0,
38623 OPC_EmitIntegerI32, LoongArch::sub_128,
38624 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38625 MVT::v32i8, 3, 45,
38626 OPC_EmitIntegerByHwMode0, 2,
38627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38628 MVT::v32i8, 3, 92,
38629 0,
38630 108,
38631 OPC_MoveChild0,
38632 OPC_SwitchOpcode , 52, TARGET_VAL(ISD::FREEZE),
38633 OPC_MoveChild0,
38634 OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
38635 OPC_MoveParent,
38636 OPC_MoveParent,
38637 OPC_RecordChild1,
38638 OPC_CheckChild2Integer, 0,
38639 OPC_CheckChild2Type, 15|128,2,
38640 OPC_SwitchType , 16, 12|128,1,
38641 OPC_CheckPatternPredicate0,
38642 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38643 12|128,1, 0,
38644 OPC_EmitIntegerI32, LoongArch::sub_128,
38645 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38646 12|128,1, 3, 21,
38647 16, 28|128,1,
38648 OPC_CheckPatternPredicate0,
38649 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38650 28|128,1, 0,
38651 OPC_EmitIntegerI32, LoongArch::sub_128,
38652 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38653 28|128,1, 3, 21,
38654 0,
38655 47, TARGET_VAL(ISD::UNDEF),
38656 OPC_MoveParent,
38657 OPC_RecordChild1,
38658 OPC_CheckChild2Integer, 0,
38659 OPC_CheckChild2Type, 15|128,2,
38660 OPC_SwitchType , 16, 12|128,1,
38661 OPC_CheckPatternPredicate0,
38662 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38663 12|128,1, 0,
38664 OPC_EmitIntegerI32, LoongArch::sub_128,
38665 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38666 12|128,1, 3, 21,
38667 16, 28|128,1,
38668 OPC_CheckPatternPredicate0,
38669 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38670 28|128,1, 0,
38671 OPC_EmitIntegerI32, LoongArch::sub_128,
38672 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38673 28|128,1, 3, 21,
38674 0,
38675 0,
38676 0|128,1,
38677 OPC_RecordChild0,
38678 OPC_RecordChild1,
38679 OPC_Scope, 59,
38680 OPC_CheckChild2Integer, 0,
38681 OPC_CheckChild2Type, 15|128,2,
38682 OPC_SwitchType , 23, 12|128,1,
38683 OPC_CheckPatternPredicate0,
38684 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38685 MVT::v32i8, 0,
38686 OPC_EmitIntegerI32, LoongArch::sub_128,
38687 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38688 MVT::v32i8, 3, 45,
38689 OPC_EmitIntegerByHwMode0, 48,
38690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38691 12|128,1, 3, 92,
38692 23, 28|128,1,
38693 OPC_CheckPatternPredicate0,
38694 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38695 MVT::v32i8, 0,
38696 OPC_EmitIntegerI32, LoongArch::sub_128,
38697 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38698 MVT::v32i8, 3, 45,
38699 OPC_EmitIntegerByHwMode0, 48,
38700 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38701 28|128,1, 3, 92,
38702 0,
38703 31,
38704 OPC_CheckChild2Integer, 4,
38705 OPC_CheckChild2Type, 15|128,2,
38706 OPC_CheckType, 12|128,1,
38707 OPC_CheckPatternPredicate0,
38708 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38709 MVT::v32i8, 0,
38710 OPC_EmitIntegerI32, LoongArch::sub_128,
38711 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38712 MVT::v32i8, 3, 45,
38713 OPC_EmitIntegerByHwMode0, 2,
38714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38715 12|128,1, 3, 92,
38716 31,
38717 OPC_CheckChild2Integer, 2,
38718 OPC_CheckChild2Type, 15|128,2,
38719 OPC_CheckType, 28|128,1,
38720 OPC_CheckPatternPredicate0,
38721 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
38722 MVT::v32i8, 0,
38723 OPC_EmitIntegerI32, LoongArch::sub_128,
38724 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
38725 MVT::v32i8, 3, 45,
38726 OPC_EmitIntegerByHwMode0, 2,
38727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
38728 28|128,1, 3, 92,
38729 0,
38730 0,
38731 116|128,1, TARGET_VAL(ISD::SMAX),
38732 OPC_RecordChild0,
38733 OPC_RecordChild1,
38734 OPC_SwitchType , 28, MVT::v16i8,
38735 OPC_CheckPatternPredicate1,
38736 OPC_Scope, 8,
38737 OPC_CheckComplexPat4, /*#*/1,
38738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
38739 MVT::v16i8, 2, 22,
38740 8,
38741 OPC_CheckComplexPat4, /*#*/0,
38742 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
38743 MVT::v16i8, 2, 25,
38744 6,
38745 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_B),
38746 MVT::v16i8, 2, 9,
38747 0,
38748 28, MVT::v8i16,
38749 OPC_CheckPatternPredicate1,
38750 OPC_Scope, 8,
38751 OPC_CheckComplexPat4, /*#*/1,
38752 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
38753 MVT::v8i16, 2, 22,
38754 8,
38755 OPC_CheckComplexPat4, /*#*/0,
38756 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
38757 MVT::v8i16, 2, 25,
38758 6,
38759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_H),
38760 MVT::v8i16, 2, 9,
38761 0,
38762 28, MVT::v4i32,
38763 OPC_CheckPatternPredicate1,
38764 OPC_Scope, 8,
38765 OPC_CheckComplexPat4, /*#*/1,
38766 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
38767 MVT::v4i32, 2, 22,
38768 8,
38769 OPC_CheckComplexPat4, /*#*/0,
38770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
38771 MVT::v4i32, 2, 25,
38772 6,
38773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_W),
38774 MVT::v4i32, 2, 9,
38775 0,
38776 28, MVT::v2i64,
38777 OPC_CheckPatternPredicate1,
38778 OPC_Scope, 8,
38779 OPC_CheckComplexPat4, /*#*/1,
38780 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
38781 MVT::v2i64, 2, 22,
38782 8,
38783 OPC_CheckComplexPat4, /*#*/0,
38784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
38785 MVT::v2i64, 2, 25,
38786 6,
38787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_D),
38788 MVT::v2i64, 2, 9,
38789 0,
38790 28, MVT::v32i8,
38791 OPC_CheckPatternPredicate0,
38792 OPC_Scope, 8,
38793 OPC_CheckComplexPat4, /*#*/1,
38794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
38795 MVT::v32i8, 2, 22,
38796 8,
38797 OPC_CheckComplexPat4, /*#*/0,
38798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
38799 MVT::v32i8, 2, 25,
38800 6,
38801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_B),
38802 MVT::v32i8, 2, 9,
38803 0,
38804 28, MVT::v16i16,
38805 OPC_CheckPatternPredicate0,
38806 OPC_Scope, 8,
38807 OPC_CheckComplexPat4, /*#*/1,
38808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
38809 MVT::v16i16, 2, 22,
38810 8,
38811 OPC_CheckComplexPat4, /*#*/0,
38812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
38813 MVT::v16i16, 2, 25,
38814 6,
38815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_H),
38816 MVT::v16i16, 2, 9,
38817 0,
38818 28, MVT::v8i32,
38819 OPC_CheckPatternPredicate0,
38820 OPC_Scope, 8,
38821 OPC_CheckComplexPat4, /*#*/1,
38822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
38823 MVT::v8i32, 2, 22,
38824 8,
38825 OPC_CheckComplexPat4, /*#*/0,
38826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
38827 MVT::v8i32, 2, 25,
38828 6,
38829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_W),
38830 MVT::v8i32, 2, 9,
38831 0,
38832 28, MVT::v4i64,
38833 OPC_CheckPatternPredicate0,
38834 OPC_Scope, 8,
38835 OPC_CheckComplexPat4, /*#*/1,
38836 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
38837 MVT::v4i64, 2, 22,
38838 8,
38839 OPC_CheckComplexPat4, /*#*/0,
38840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
38841 MVT::v4i64, 2, 25,
38842 6,
38843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_D),
38844 MVT::v4i64, 2, 9,
38845 0,
38846 0,
38847 116|128,1, TARGET_VAL(ISD::SMIN),
38848 OPC_RecordChild0,
38849 OPC_RecordChild1,
38850 OPC_SwitchType , 28, MVT::v16i8,
38851 OPC_CheckPatternPredicate1,
38852 OPC_Scope, 8,
38853 OPC_CheckComplexPat4, /*#*/1,
38854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
38855 MVT::v16i8, 2, 22,
38856 8,
38857 OPC_CheckComplexPat4, /*#*/0,
38858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
38859 MVT::v16i8, 2, 25,
38860 6,
38861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_B),
38862 MVT::v16i8, 2, 9,
38863 0,
38864 28, MVT::v8i16,
38865 OPC_CheckPatternPredicate1,
38866 OPC_Scope, 8,
38867 OPC_CheckComplexPat4, /*#*/1,
38868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
38869 MVT::v8i16, 2, 22,
38870 8,
38871 OPC_CheckComplexPat4, /*#*/0,
38872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
38873 MVT::v8i16, 2, 25,
38874 6,
38875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_H),
38876 MVT::v8i16, 2, 9,
38877 0,
38878 28, MVT::v4i32,
38879 OPC_CheckPatternPredicate1,
38880 OPC_Scope, 8,
38881 OPC_CheckComplexPat4, /*#*/1,
38882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
38883 MVT::v4i32, 2, 22,
38884 8,
38885 OPC_CheckComplexPat4, /*#*/0,
38886 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
38887 MVT::v4i32, 2, 25,
38888 6,
38889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_W),
38890 MVT::v4i32, 2, 9,
38891 0,
38892 28, MVT::v2i64,
38893 OPC_CheckPatternPredicate1,
38894 OPC_Scope, 8,
38895 OPC_CheckComplexPat4, /*#*/1,
38896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
38897 MVT::v2i64, 2, 22,
38898 8,
38899 OPC_CheckComplexPat4, /*#*/0,
38900 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
38901 MVT::v2i64, 2, 25,
38902 6,
38903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_D),
38904 MVT::v2i64, 2, 9,
38905 0,
38906 28, MVT::v32i8,
38907 OPC_CheckPatternPredicate0,
38908 OPC_Scope, 8,
38909 OPC_CheckComplexPat4, /*#*/1,
38910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
38911 MVT::v32i8, 2, 22,
38912 8,
38913 OPC_CheckComplexPat4, /*#*/0,
38914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
38915 MVT::v32i8, 2, 25,
38916 6,
38917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_B),
38918 MVT::v32i8, 2, 9,
38919 0,
38920 28, MVT::v16i16,
38921 OPC_CheckPatternPredicate0,
38922 OPC_Scope, 8,
38923 OPC_CheckComplexPat4, /*#*/1,
38924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
38925 MVT::v16i16, 2, 22,
38926 8,
38927 OPC_CheckComplexPat4, /*#*/0,
38928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
38929 MVT::v16i16, 2, 25,
38930 6,
38931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_H),
38932 MVT::v16i16, 2, 9,
38933 0,
38934 28, MVT::v8i32,
38935 OPC_CheckPatternPredicate0,
38936 OPC_Scope, 8,
38937 OPC_CheckComplexPat4, /*#*/1,
38938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
38939 MVT::v8i32, 2, 22,
38940 8,
38941 OPC_CheckComplexPat4, /*#*/0,
38942 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
38943 MVT::v8i32, 2, 25,
38944 6,
38945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_W),
38946 MVT::v8i32, 2, 9,
38947 0,
38948 28, MVT::v4i64,
38949 OPC_CheckPatternPredicate0,
38950 OPC_Scope, 8,
38951 OPC_CheckComplexPat4, /*#*/1,
38952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
38953 MVT::v4i64, 2, 22,
38954 8,
38955 OPC_CheckComplexPat4, /*#*/0,
38956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
38957 MVT::v4i64, 2, 25,
38958 6,
38959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_D),
38960 MVT::v4i64, 2, 9,
38961 0,
38962 0,
38963 67, TARGET_VAL(ISD::CONCAT_VECTORS),
38964 OPC_MoveChild0,
38965 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
38966 OPC_RecordChild0,
38967 OPC_MoveSibling1,
38968 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
38969 OPC_RecordChild0,
38970 OPC_MoveParent,
38971 OPC_SwitchType , 16, MVT::v8i32,
38972 OPC_CheckPatternPredicate0,
38973 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
38974 MVT::v32i8, 2, 3,
38975 OPC_EmitIntegerByHwMode0, 88|128,1,
38976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
38977 MVT::v8i32, 2, 49,
38978 16, MVT::v16i16,
38979 OPC_CheckPatternPredicate0,
38980 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_H),
38981 MVT::v32i8, 2, 3,
38982 OPC_EmitIntegerByHwMode0, 88|128,1,
38983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
38984 MVT::v16i16, 2, 49,
38985 16, MVT::v32i8,
38986 OPC_CheckPatternPredicate0,
38987 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_B),
38988 MVT::v32i8, 2, 3,
38989 OPC_EmitIntegerByHwMode0, 88|128,1,
38990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
38991 MVT::v32i8, 2, 49,
38992 0,
38993 116|128,1, TARGET_VAL(ISD::UMAX),
38994 OPC_RecordChild0,
38995 OPC_RecordChild1,
38996 OPC_SwitchType , 28, MVT::v16i8,
38997 OPC_CheckPatternPredicate1,
38998 OPC_Scope, 8,
38999 OPC_CheckComplexPat2, /*#*/1,
39000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
39001 MVT::v16i8, 2, 22,
39002 8,
39003 OPC_CheckComplexPat2, /*#*/0,
39004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
39005 MVT::v16i8, 2, 25,
39006 6,
39007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_BU),
39008 MVT::v16i8, 2, 9,
39009 0,
39010 28, MVT::v8i16,
39011 OPC_CheckPatternPredicate1,
39012 OPC_Scope, 8,
39013 OPC_CheckComplexPat2, /*#*/1,
39014 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
39015 MVT::v8i16, 2, 22,
39016 8,
39017 OPC_CheckComplexPat2, /*#*/0,
39018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
39019 MVT::v8i16, 2, 25,
39020 6,
39021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_HU),
39022 MVT::v8i16, 2, 9,
39023 0,
39024 28, MVT::v4i32,
39025 OPC_CheckPatternPredicate1,
39026 OPC_Scope, 8,
39027 OPC_CheckComplexPat2, /*#*/1,
39028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
39029 MVT::v4i32, 2, 22,
39030 8,
39031 OPC_CheckComplexPat2, /*#*/0,
39032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
39033 MVT::v4i32, 2, 25,
39034 6,
39035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_WU),
39036 MVT::v4i32, 2, 9,
39037 0,
39038 28, MVT::v2i64,
39039 OPC_CheckPatternPredicate1,
39040 OPC_Scope, 8,
39041 OPC_CheckComplexPat2, /*#*/1,
39042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
39043 MVT::v2i64, 2, 22,
39044 8,
39045 OPC_CheckComplexPat2, /*#*/0,
39046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
39047 MVT::v2i64, 2, 25,
39048 6,
39049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_DU),
39050 MVT::v2i64, 2, 9,
39051 0,
39052 28, MVT::v32i8,
39053 OPC_CheckPatternPredicate0,
39054 OPC_Scope, 8,
39055 OPC_CheckComplexPat2, /*#*/1,
39056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
39057 MVT::v32i8, 2, 22,
39058 8,
39059 OPC_CheckComplexPat2, /*#*/0,
39060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
39061 MVT::v32i8, 2, 25,
39062 6,
39063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_BU),
39064 MVT::v32i8, 2, 9,
39065 0,
39066 28, MVT::v16i16,
39067 OPC_CheckPatternPredicate0,
39068 OPC_Scope, 8,
39069 OPC_CheckComplexPat2, /*#*/1,
39070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
39071 MVT::v16i16, 2, 22,
39072 8,
39073 OPC_CheckComplexPat2, /*#*/0,
39074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
39075 MVT::v16i16, 2, 25,
39076 6,
39077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_HU),
39078 MVT::v16i16, 2, 9,
39079 0,
39080 28, MVT::v8i32,
39081 OPC_CheckPatternPredicate0,
39082 OPC_Scope, 8,
39083 OPC_CheckComplexPat2, /*#*/1,
39084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
39085 MVT::v8i32, 2, 22,
39086 8,
39087 OPC_CheckComplexPat2, /*#*/0,
39088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
39089 MVT::v8i32, 2, 25,
39090 6,
39091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_WU),
39092 MVT::v8i32, 2, 9,
39093 0,
39094 28, MVT::v4i64,
39095 OPC_CheckPatternPredicate0,
39096 OPC_Scope, 8,
39097 OPC_CheckComplexPat2, /*#*/1,
39098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
39099 MVT::v4i64, 2, 22,
39100 8,
39101 OPC_CheckComplexPat2, /*#*/0,
39102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
39103 MVT::v4i64, 2, 25,
39104 6,
39105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_DU),
39106 MVT::v4i64, 2, 9,
39107 0,
39108 0,
39109 116|128,1, TARGET_VAL(ISD::UMIN),
39110 OPC_RecordChild0,
39111 OPC_RecordChild1,
39112 OPC_SwitchType , 28, MVT::v16i8,
39113 OPC_CheckPatternPredicate1,
39114 OPC_Scope, 8,
39115 OPC_CheckComplexPat2, /*#*/1,
39116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
39117 MVT::v16i8, 2, 22,
39118 8,
39119 OPC_CheckComplexPat2, /*#*/0,
39120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
39121 MVT::v16i8, 2, 25,
39122 6,
39123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_BU),
39124 MVT::v16i8, 2, 9,
39125 0,
39126 28, MVT::v8i16,
39127 OPC_CheckPatternPredicate1,
39128 OPC_Scope, 8,
39129 OPC_CheckComplexPat2, /*#*/1,
39130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
39131 MVT::v8i16, 2, 22,
39132 8,
39133 OPC_CheckComplexPat2, /*#*/0,
39134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
39135 MVT::v8i16, 2, 25,
39136 6,
39137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_HU),
39138 MVT::v8i16, 2, 9,
39139 0,
39140 28, MVT::v4i32,
39141 OPC_CheckPatternPredicate1,
39142 OPC_Scope, 8,
39143 OPC_CheckComplexPat2, /*#*/1,
39144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
39145 MVT::v4i32, 2, 22,
39146 8,
39147 OPC_CheckComplexPat2, /*#*/0,
39148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
39149 MVT::v4i32, 2, 25,
39150 6,
39151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_WU),
39152 MVT::v4i32, 2, 9,
39153 0,
39154 28, MVT::v2i64,
39155 OPC_CheckPatternPredicate1,
39156 OPC_Scope, 8,
39157 OPC_CheckComplexPat2, /*#*/1,
39158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
39159 MVT::v2i64, 2, 22,
39160 8,
39161 OPC_CheckComplexPat2, /*#*/0,
39162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
39163 MVT::v2i64, 2, 25,
39164 6,
39165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_DU),
39166 MVT::v2i64, 2, 9,
39167 0,
39168 28, MVT::v32i8,
39169 OPC_CheckPatternPredicate0,
39170 OPC_Scope, 8,
39171 OPC_CheckComplexPat2, /*#*/1,
39172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
39173 MVT::v32i8, 2, 22,
39174 8,
39175 OPC_CheckComplexPat2, /*#*/0,
39176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
39177 MVT::v32i8, 2, 25,
39178 6,
39179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_BU),
39180 MVT::v32i8, 2, 9,
39181 0,
39182 28, MVT::v16i16,
39183 OPC_CheckPatternPredicate0,
39184 OPC_Scope, 8,
39185 OPC_CheckComplexPat2, /*#*/1,
39186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
39187 MVT::v16i16, 2, 22,
39188 8,
39189 OPC_CheckComplexPat2, /*#*/0,
39190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
39191 MVT::v16i16, 2, 25,
39192 6,
39193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_HU),
39194 MVT::v16i16, 2, 9,
39195 0,
39196 28, MVT::v8i32,
39197 OPC_CheckPatternPredicate0,
39198 OPC_Scope, 8,
39199 OPC_CheckComplexPat2, /*#*/1,
39200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
39201 MVT::v8i32, 2, 22,
39202 8,
39203 OPC_CheckComplexPat2, /*#*/0,
39204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
39205 MVT::v8i32, 2, 25,
39206 6,
39207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_WU),
39208 MVT::v8i32, 2, 9,
39209 0,
39210 28, MVT::v4i64,
39211 OPC_CheckPatternPredicate0,
39212 OPC_Scope, 8,
39213 OPC_CheckComplexPat2, /*#*/1,
39214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
39215 MVT::v4i64, 2, 22,
39216 8,
39217 OPC_CheckComplexPat2, /*#*/0,
39218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
39219 MVT::v4i64, 2, 25,
39220 6,
39221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_DU),
39222 MVT::v4i64, 2, 9,
39223 0,
39224 0,
39225 50|128,1, TARGET_VAL(LoongArchISD::VSRLR),
39226 OPC_RecordChild0,
39227 OPC_RecordChild1,
39228 OPC_SwitchType , 20, MVT::v16i8,
39229 OPC_CheckPatternPredicate1,
39230 OPC_Scope, 9,
39231 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
39232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
39233 MVT::v16i8, 2, 22,
39234 6,
39235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_B),
39236 MVT::v16i8, 2, 9,
39237 0,
39238 20, MVT::v8i16,
39239 OPC_CheckPatternPredicate1,
39240 OPC_Scope, 9,
39241 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
39242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
39243 MVT::v8i16, 2, 22,
39244 6,
39245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_H),
39246 MVT::v8i16, 2, 9,
39247 0,
39248 19, MVT::v4i32,
39249 OPC_CheckPatternPredicate1,
39250 OPC_Scope, 8,
39251 OPC_CheckComplexPat2, /*#*/1,
39252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
39253 MVT::v4i32, 2, 22,
39254 6,
39255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_W),
39256 MVT::v4i32, 2, 9,
39257 0,
39258 20, MVT::v2i64,
39259 OPC_CheckPatternPredicate1,
39260 OPC_Scope, 9,
39261 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
39262 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
39263 MVT::v2i64, 2, 22,
39264 6,
39265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_D),
39266 MVT::v2i64, 2, 9,
39267 0,
39268 20, MVT::v32i8,
39269 OPC_CheckPatternPredicate0,
39270 OPC_Scope, 9,
39271 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
39272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
39273 MVT::v32i8, 2, 22,
39274 6,
39275 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_B),
39276 MVT::v32i8, 2, 9,
39277 0,
39278 20, MVT::v16i16,
39279 OPC_CheckPatternPredicate0,
39280 OPC_Scope, 9,
39281 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
39282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
39283 MVT::v16i16, 2, 22,
39284 6,
39285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_H),
39286 MVT::v16i16, 2, 9,
39287 0,
39288 19, MVT::v8i32,
39289 OPC_CheckPatternPredicate0,
39290 OPC_Scope, 8,
39291 OPC_CheckComplexPat2, /*#*/1,
39292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
39293 MVT::v8i32, 2, 22,
39294 6,
39295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_W),
39296 MVT::v8i32, 2, 9,
39297 0,
39298 20, MVT::v4i64,
39299 OPC_CheckPatternPredicate0,
39300 OPC_Scope, 9,
39301 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
39302 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
39303 MVT::v4i64, 2, 22,
39304 6,
39305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_D),
39306 MVT::v4i64, 2, 9,
39307 0,
39308 0,
39309 50|128,1, TARGET_VAL(LoongArchISD::VSRAR),
39310 OPC_RecordChild0,
39311 OPC_RecordChild1,
39312 OPC_SwitchType , 20, MVT::v16i8,
39313 OPC_CheckPatternPredicate1,
39314 OPC_Scope, 9,
39315 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
39316 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
39317 MVT::v16i8, 2, 22,
39318 6,
39319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_B),
39320 MVT::v16i8, 2, 9,
39321 0,
39322 20, MVT::v8i16,
39323 OPC_CheckPatternPredicate1,
39324 OPC_Scope, 9,
39325 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
39326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
39327 MVT::v8i16, 2, 22,
39328 6,
39329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_H),
39330 MVT::v8i16, 2, 9,
39331 0,
39332 19, MVT::v4i32,
39333 OPC_CheckPatternPredicate1,
39334 OPC_Scope, 8,
39335 OPC_CheckComplexPat2, /*#*/1,
39336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
39337 MVT::v4i32, 2, 22,
39338 6,
39339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_W),
39340 MVT::v4i32, 2, 9,
39341 0,
39342 20, MVT::v2i64,
39343 OPC_CheckPatternPredicate1,
39344 OPC_Scope, 9,
39345 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
39346 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
39347 MVT::v2i64, 2, 22,
39348 6,
39349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_D),
39350 MVT::v2i64, 2, 9,
39351 0,
39352 20, MVT::v32i8,
39353 OPC_CheckPatternPredicate0,
39354 OPC_Scope, 9,
39355 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
39356 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
39357 MVT::v32i8, 2, 22,
39358 6,
39359 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_B),
39360 MVT::v32i8, 2, 9,
39361 0,
39362 20, MVT::v16i16,
39363 OPC_CheckPatternPredicate0,
39364 OPC_Scope, 9,
39365 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
39366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
39367 MVT::v16i16, 2, 22,
39368 6,
39369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_H),
39370 MVT::v16i16, 2, 9,
39371 0,
39372 19, MVT::v8i32,
39373 OPC_CheckPatternPredicate0,
39374 OPC_Scope, 8,
39375 OPC_CheckComplexPat2, /*#*/1,
39376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
39377 MVT::v8i32, 2, 22,
39378 6,
39379 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_W),
39380 MVT::v8i32, 2, 9,
39381 0,
39382 20, MVT::v4i64,
39383 OPC_CheckPatternPredicate0,
39384 OPC_Scope, 9,
39385 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
39386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
39387 MVT::v4i64, 2, 22,
39388 6,
39389 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_D),
39390 MVT::v4i64, 2, 9,
39391 0,
39392 0,
39393 74|128,1, TARGET_VAL(ISD::VSELECT),
39394 OPC_RecordChild0,
39395 OPC_Scope, 15,
39396 OPC_CheckChild0Type, MVT::v16i8,
39397 OPC_RecordChild1,
39398 OPC_RecordChild2,
39399 OPC_CheckType, MVT::v16i8,
39400 OPC_CheckPatternPredicate1,
39401 OPC_CheckComplexPat7, /*#*/1,
39402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
39403 MVT::v16i8, 3, 48,
39404 13,
39405 OPC_RecordChild1,
39406 OPC_RecordChild2,
39407 OPC_CheckType, MVT::v32i8,
39408 OPC_CheckPatternPredicate0,
39409 OPC_CheckComplexPat7, /*#*/1,
39410 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
39411 MVT::v32i8, 3, 48,
39412 13,
39413 OPC_CheckChild0Type, MVT::v16i8,
39414 OPC_RecordChild1,
39415 OPC_RecordChild2,
39416 OPC_CheckType, MVT::v16i8,
39417 OPC_CheckPatternPredicate1,
39418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
39419 MVT::v16i8, 3, 2,
39420 13,
39421 OPC_CheckChild0Type, MVT::v8i16,
39422 OPC_RecordChild1,
39423 OPC_RecordChild2,
39424 OPC_CheckType, MVT::v8i16,
39425 OPC_CheckPatternPredicate1,
39426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
39427 MVT::v8i16, 3, 2,
39428 13,
39429 OPC_CheckChild0Type, MVT::v4i32,
39430 OPC_RecordChild1,
39431 OPC_RecordChild2,
39432 OPC_CheckType, MVT::v4i32,
39433 OPC_CheckPatternPredicate1,
39434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
39435 MVT::v4i32, 3, 2,
39436 22,
39437 OPC_RecordChild1,
39438 OPC_RecordChild2,
39439 OPC_SwitchType , 7, MVT::v2i64,
39440 OPC_CheckPatternPredicate1,
39441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
39442 MVT::v2i64, 3, 2,
39443 7, MVT::v32i8,
39444 OPC_CheckPatternPredicate0,
39445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
39446 MVT::v32i8, 3, 2,
39447 0,
39448 13,
39449 OPC_CheckChild0Type, MVT::v16i16,
39450 OPC_RecordChild1,
39451 OPC_RecordChild2,
39452 OPC_CheckType, MVT::v16i16,
39453 OPC_CheckPatternPredicate0,
39454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
39455 MVT::v16i16, 3, 2,
39456 13,
39457 OPC_CheckChild0Type, MVT::v8i32,
39458 OPC_RecordChild1,
39459 OPC_RecordChild2,
39460 OPC_CheckType, MVT::v8i32,
39461 OPC_CheckPatternPredicate0,
39462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
39463 MVT::v8i32, 3, 2,
39464 13,
39465 OPC_CheckChild0Type, MVT::v4i64,
39466 OPC_RecordChild1,
39467 OPC_RecordChild2,
39468 OPC_CheckType, MVT::v4i64,
39469 OPC_CheckPatternPredicate0,
39470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
39471 MVT::v4i64, 3, 2,
39472 15,
39473 OPC_CheckChild0Type, MVT::v4i32,
39474 OPC_RecordChild1,
39475 OPC_RecordChild2,
39476 OPC_CheckType, 8|128,1,
39477 OPC_CheckPatternPredicate1,
39478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
39479 8|128,1, 3, 2,
39480 13,
39481 OPC_RecordChild1,
39482 OPC_RecordChild2,
39483 OPC_CheckType, 26|128,1,
39484 OPC_CheckPatternPredicate1,
39485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
39486 26|128,1, 3, 2,
39487 15,
39488 OPC_CheckChild0Type, MVT::v8i32,
39489 OPC_RecordChild1,
39490 OPC_RecordChild2,
39491 OPC_CheckType, 12|128,1,
39492 OPC_CheckPatternPredicate0,
39493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
39494 12|128,1, 3, 2,
39495 15,
39496 OPC_CheckChild0Type, MVT::v4i64,
39497 OPC_RecordChild1,
39498 OPC_RecordChild2,
39499 OPC_CheckType, 28|128,1,
39500 OPC_CheckPatternPredicate0,
39501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
39502 28|128,1, 3, 2,
39503 0,
39504 1|128,2, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
39505 OPC_RecordChild0,
39506 OPC_Scope, 77,
39507 OPC_CheckChild1Integer, 0,
39508 OPC_CheckChild1Type, 15|128,2,
39509 OPC_SwitchType , 9, MVT::v4i32,
39510 OPC_CheckPatternPredicate0,
39511 OPC_EmitIntegerI32, LoongArch::sub_128,
39512 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39513 MVT::v4i32, 2, 9,
39514 9, MVT::v2i64,
39515 OPC_CheckPatternPredicate0,
39516 OPC_EmitIntegerI32, LoongArch::sub_128,
39517 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39518 MVT::v2i64, 2, 9,
39519 9, MVT::v8i16,
39520 OPC_CheckPatternPredicate0,
39521 OPC_EmitIntegerI32, LoongArch::sub_128,
39522 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39523 MVT::v8i16, 2, 9,
39524 9, MVT::v16i8,
39525 OPC_CheckPatternPredicate0,
39526 OPC_EmitIntegerI32, LoongArch::sub_128,
39527 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39528 MVT::v16i8, 2, 9,
39529 10, 8|128,1,
39530 OPC_CheckPatternPredicate0,
39531 OPC_EmitIntegerI32, LoongArch::sub_128,
39532 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39533 8|128,1, 2, 9,
39534 10, 26|128,1,
39535 OPC_CheckPatternPredicate0,
39536 OPC_EmitIntegerI32, LoongArch::sub_128,
39537 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39538 26|128,1, 2, 9,
39539 0,
39540 57,
39541 OPC_CheckChild1Integer, 4,
39542 OPC_CheckChild1Type, 15|128,2,
39543 OPC_SwitchType , 22, MVT::v4i32,
39544 OPC_CheckPatternPredicate0,
39545 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39546 MVT::v32i8, 0,
39547 OPC_EmitIntegerByHwMode0, 1,
39548 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39549 MVT::v32i8, 3, 21,
39550 OPC_EmitIntegerI32, LoongArch::sub_128,
39551 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39552 MVT::v4i32, 2, 76,
39553 23, 8|128,1,
39554 OPC_CheckPatternPredicate0,
39555 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39556 MVT::v32i8, 0,
39557 OPC_EmitIntegerByHwMode0, 1,
39558 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39559 MVT::v32i8, 3, 21,
39560 OPC_EmitIntegerI32, LoongArch::sub_128,
39561 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39562 8|128,1, 2, 76,
39563 0,
39564 57,
39565 OPC_CheckChild1Integer, 2,
39566 OPC_CheckChild1Type, 15|128,2,
39567 OPC_SwitchType , 22, MVT::v2i64,
39568 OPC_CheckPatternPredicate0,
39569 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39570 MVT::v32i8, 0,
39571 OPC_EmitIntegerByHwMode0, 1,
39572 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39573 MVT::v32i8, 3, 21,
39574 OPC_EmitIntegerI32, LoongArch::sub_128,
39575 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39576 MVT::v2i64, 2, 76,
39577 23, 26|128,1,
39578 OPC_CheckPatternPredicate0,
39579 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39580 MVT::v32i8, 0,
39581 OPC_EmitIntegerByHwMode0, 1,
39582 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39583 MVT::v32i8, 3, 21,
39584 OPC_EmitIntegerI32, LoongArch::sub_128,
39585 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39586 26|128,1, 2, 76,
39587 0,
39588 29,
39589 OPC_CheckChild1Integer, 8,
39590 OPC_CheckChild1Type, 15|128,2,
39591 OPC_CheckType, MVT::v8i16,
39592 OPC_CheckPatternPredicate0,
39593 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39594 MVT::v32i8, 0,
39595 OPC_EmitIntegerByHwMode0, 1,
39596 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39597 MVT::v32i8, 3, 21,
39598 OPC_EmitIntegerI32, LoongArch::sub_128,
39599 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39600 MVT::v8i16, 2, 76,
39601 29,
39602 OPC_CheckChild1Integer, 16,
39603 OPC_CheckChild1Type, 15|128,2,
39604 OPC_CheckType, MVT::v16i8,
39605 OPC_CheckPatternPredicate0,
39606 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39607 MVT::v32i8, 0,
39608 OPC_EmitIntegerByHwMode0, 1,
39609 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39610 MVT::v32i8, 3, 21,
39611 OPC_EmitIntegerI32, LoongArch::sub_128,
39612 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
39613 MVT::v16i8, 2, 76,
39614 0,
39615 11|128,1, TARGET_VAL(LoongArchISD::VBSLL),
39616 OPC_RecordChild0,
39617 OPC_RecordChild1,
39618 OPC_MoveChild1,
39619 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39620 OPC_CheckPredicate, 20,
39621 OPC_MoveParent,
39622 OPC_SwitchType , 8, MVT::v16i8,
39623 OPC_CheckPatternPredicate1,
39624 OPC_EmitConvertToTarget1,
39625 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
39626 MVT::v16i8, 2, 22,
39627 8, MVT::v8i16,
39628 OPC_CheckPatternPredicate1,
39629 OPC_EmitConvertToTarget1,
39630 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
39631 MVT::v8i16, 2, 22,
39632 8, MVT::v4i32,
39633 OPC_CheckPatternPredicate1,
39634 OPC_EmitConvertToTarget1,
39635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
39636 MVT::v4i32, 2, 22,
39637 8, MVT::v2i64,
39638 OPC_CheckPatternPredicate1,
39639 OPC_EmitConvertToTarget1,
39640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
39641 MVT::v2i64, 2, 22,
39642 8, MVT::v32i8,
39643 OPC_CheckPatternPredicate0,
39644 OPC_EmitConvertToTarget1,
39645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
39646 MVT::v32i8, 2, 22,
39647 8, MVT::v16i16,
39648 OPC_CheckPatternPredicate0,
39649 OPC_EmitConvertToTarget1,
39650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
39651 MVT::v16i16, 2, 22,
39652 8, MVT::v8i32,
39653 OPC_CheckPatternPredicate0,
39654 OPC_EmitConvertToTarget1,
39655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
39656 MVT::v8i32, 2, 22,
39657 8, MVT::v4i64,
39658 OPC_CheckPatternPredicate0,
39659 OPC_EmitConvertToTarget1,
39660 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
39661 MVT::v4i64, 2, 22,
39662 9, 8|128,1,
39663 OPC_CheckPatternPredicate1,
39664 OPC_EmitConvertToTarget1,
39665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
39666 8|128,1, 2, 22,
39667 9, 26|128,1,
39668 OPC_CheckPatternPredicate1,
39669 OPC_EmitConvertToTarget1,
39670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
39671 26|128,1, 2, 22,
39672 9, 12|128,1,
39673 OPC_CheckPatternPredicate0,
39674 OPC_EmitConvertToTarget1,
39675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
39676 12|128,1, 2, 22,
39677 9, 28|128,1,
39678 OPC_CheckPatternPredicate0,
39679 OPC_EmitConvertToTarget1,
39680 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
39681 28|128,1, 2, 22,
39682 0,
39683 11|128,1, TARGET_VAL(LoongArchISD::VBSRL),
39684 OPC_RecordChild0,
39685 OPC_RecordChild1,
39686 OPC_MoveChild1,
39687 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39688 OPC_CheckPredicate, 20,
39689 OPC_MoveParent,
39690 OPC_SwitchType , 8, MVT::v16i8,
39691 OPC_CheckPatternPredicate1,
39692 OPC_EmitConvertToTarget1,
39693 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
39694 MVT::v16i8, 2, 22,
39695 8, MVT::v8i16,
39696 OPC_CheckPatternPredicate1,
39697 OPC_EmitConvertToTarget1,
39698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
39699 MVT::v8i16, 2, 22,
39700 8, MVT::v4i32,
39701 OPC_CheckPatternPredicate1,
39702 OPC_EmitConvertToTarget1,
39703 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
39704 MVT::v4i32, 2, 22,
39705 8, MVT::v2i64,
39706 OPC_CheckPatternPredicate1,
39707 OPC_EmitConvertToTarget1,
39708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
39709 MVT::v2i64, 2, 22,
39710 8, MVT::v32i8,
39711 OPC_CheckPatternPredicate0,
39712 OPC_EmitConvertToTarget1,
39713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
39714 MVT::v32i8, 2, 22,
39715 8, MVT::v16i16,
39716 OPC_CheckPatternPredicate0,
39717 OPC_EmitConvertToTarget1,
39718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
39719 MVT::v16i16, 2, 22,
39720 8, MVT::v8i32,
39721 OPC_CheckPatternPredicate0,
39722 OPC_EmitConvertToTarget1,
39723 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
39724 MVT::v8i32, 2, 22,
39725 8, MVT::v4i64,
39726 OPC_CheckPatternPredicate0,
39727 OPC_EmitConvertToTarget1,
39728 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
39729 MVT::v4i64, 2, 22,
39730 9, 8|128,1,
39731 OPC_CheckPatternPredicate1,
39732 OPC_EmitConvertToTarget1,
39733 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
39734 8|128,1, 2, 22,
39735 9, 26|128,1,
39736 OPC_CheckPatternPredicate1,
39737 OPC_EmitConvertToTarget1,
39738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
39739 26|128,1, 2, 22,
39740 9, 12|128,1,
39741 OPC_CheckPatternPredicate0,
39742 OPC_EmitConvertToTarget1,
39743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
39744 12|128,1, 2, 22,
39745 9, 28|128,1,
39746 OPC_CheckPatternPredicate0,
39747 OPC_EmitConvertToTarget1,
39748 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
39749 28|128,1, 2, 22,
39750 0,
39751 120, TARGET_VAL(LoongArchISD::VSLLI),
39752 OPC_RecordChild0,
39753 OPC_RecordChild1,
39754 OPC_MoveChild1,
39755 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39756 OPC_Scope, 13,
39757 OPC_CheckPredicate, 17,
39758 OPC_MoveParent,
39759 OPC_CheckType, MVT::v16i8,
39760 OPC_CheckPatternPredicate1,
39761 OPC_EmitConvertToTarget1,
39762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
39763 MVT::v16i8, 2, 22,
39764 13,
39765 OPC_CheckPredicate, 21,
39766 OPC_MoveParent,
39767 OPC_CheckType, MVT::v8i16,
39768 OPC_CheckPatternPredicate1,
39769 OPC_EmitConvertToTarget1,
39770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
39771 MVT::v8i16, 2, 22,
39772 13,
39773 OPC_CheckPredicate, 20,
39774 OPC_MoveParent,
39775 OPC_CheckType, MVT::v4i32,
39776 OPC_CheckPatternPredicate1,
39777 OPC_EmitConvertToTarget1,
39778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
39779 MVT::v4i32, 2, 22,
39780 13,
39781 OPC_CheckPredicate, 26,
39782 OPC_MoveParent,
39783 OPC_CheckType, MVT::v2i64,
39784 OPC_CheckPatternPredicate1,
39785 OPC_EmitConvertToTarget1,
39786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
39787 MVT::v2i64, 2, 22,
39788 13,
39789 OPC_CheckPredicate, 17,
39790 OPC_MoveParent,
39791 OPC_CheckType, MVT::v32i8,
39792 OPC_CheckPatternPredicate0,
39793 OPC_EmitConvertToTarget1,
39794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
39795 MVT::v32i8, 2, 22,
39796 13,
39797 OPC_CheckPredicate, 21,
39798 OPC_MoveParent,
39799 OPC_CheckType, MVT::v16i16,
39800 OPC_CheckPatternPredicate0,
39801 OPC_EmitConvertToTarget1,
39802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
39803 MVT::v16i16, 2, 22,
39804 13,
39805 OPC_CheckPredicate, 20,
39806 OPC_MoveParent,
39807 OPC_CheckType, MVT::v8i32,
39808 OPC_CheckPatternPredicate0,
39809 OPC_EmitConvertToTarget1,
39810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
39811 MVT::v8i32, 2, 22,
39812 13,
39813 OPC_CheckPredicate, 26,
39814 OPC_MoveParent,
39815 OPC_CheckType, MVT::v4i64,
39816 OPC_CheckPatternPredicate0,
39817 OPC_EmitConvertToTarget1,
39818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
39819 MVT::v4i64, 2, 22,
39820 0,
39821 120, TARGET_VAL(LoongArchISD::VSRLI),
39822 OPC_RecordChild0,
39823 OPC_RecordChild1,
39824 OPC_MoveChild1,
39825 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39826 OPC_Scope, 13,
39827 OPC_CheckPredicate, 17,
39828 OPC_MoveParent,
39829 OPC_CheckType, MVT::v16i8,
39830 OPC_CheckPatternPredicate1,
39831 OPC_EmitConvertToTarget1,
39832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
39833 MVT::v16i8, 2, 22,
39834 13,
39835 OPC_CheckPredicate, 21,
39836 OPC_MoveParent,
39837 OPC_CheckType, MVT::v8i16,
39838 OPC_CheckPatternPredicate1,
39839 OPC_EmitConvertToTarget1,
39840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
39841 MVT::v8i16, 2, 22,
39842 13,
39843 OPC_CheckPredicate, 20,
39844 OPC_MoveParent,
39845 OPC_CheckType, MVT::v4i32,
39846 OPC_CheckPatternPredicate1,
39847 OPC_EmitConvertToTarget1,
39848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
39849 MVT::v4i32, 2, 22,
39850 13,
39851 OPC_CheckPredicate, 26,
39852 OPC_MoveParent,
39853 OPC_CheckType, MVT::v2i64,
39854 OPC_CheckPatternPredicate1,
39855 OPC_EmitConvertToTarget1,
39856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
39857 MVT::v2i64, 2, 22,
39858 13,
39859 OPC_CheckPredicate, 17,
39860 OPC_MoveParent,
39861 OPC_CheckType, MVT::v32i8,
39862 OPC_CheckPatternPredicate0,
39863 OPC_EmitConvertToTarget1,
39864 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
39865 MVT::v32i8, 2, 22,
39866 13,
39867 OPC_CheckPredicate, 21,
39868 OPC_MoveParent,
39869 OPC_CheckType, MVT::v16i16,
39870 OPC_CheckPatternPredicate0,
39871 OPC_EmitConvertToTarget1,
39872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
39873 MVT::v16i16, 2, 22,
39874 13,
39875 OPC_CheckPredicate, 20,
39876 OPC_MoveParent,
39877 OPC_CheckType, MVT::v8i32,
39878 OPC_CheckPatternPredicate0,
39879 OPC_EmitConvertToTarget1,
39880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
39881 MVT::v8i32, 2, 22,
39882 13,
39883 OPC_CheckPredicate, 26,
39884 OPC_MoveParent,
39885 OPC_CheckType, MVT::v4i64,
39886 OPC_CheckPatternPredicate0,
39887 OPC_EmitConvertToTarget1,
39888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
39889 MVT::v4i64, 2, 22,
39890 0,
39891 1|128,1, TARGET_VAL(LoongArchISD::VSLLWIL),
39892 OPC_RecordChild0,
39893 OPC_Scope, 20,
39894 OPC_CheckChild0Type, MVT::v16i8,
39895 OPC_RecordChild1,
39896 OPC_MoveChild1,
39897 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39898 OPC_CheckPredicate, 17,
39899 OPC_MoveParent,
39900 OPC_CheckType, MVT::v8i16,
39901 OPC_CheckPatternPredicate1,
39902 OPC_EmitConvertToTarget1,
39903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
39904 MVT::v8i16, 2, 22,
39905 20,
39906 OPC_CheckChild0Type, MVT::v8i16,
39907 OPC_RecordChild1,
39908 OPC_MoveChild1,
39909 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39910 OPC_CheckPredicate, 21,
39911 OPC_MoveParent,
39912 OPC_CheckType, MVT::v4i32,
39913 OPC_CheckPatternPredicate1,
39914 OPC_EmitConvertToTarget1,
39915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
39916 MVT::v4i32, 2, 22,
39917 20,
39918 OPC_CheckChild0Type, MVT::v4i32,
39919 OPC_RecordChild1,
39920 OPC_MoveChild1,
39921 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39922 OPC_CheckPredicate, 20,
39923 OPC_MoveParent,
39924 OPC_CheckType, MVT::v2i64,
39925 OPC_CheckPatternPredicate1,
39926 OPC_EmitConvertToTarget1,
39927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
39928 MVT::v2i64, 2, 22,
39929 20,
39930 OPC_CheckChild0Type, MVT::v32i8,
39931 OPC_RecordChild1,
39932 OPC_MoveChild1,
39933 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39934 OPC_CheckPredicate, 17,
39935 OPC_MoveParent,
39936 OPC_CheckType, MVT::v16i16,
39937 OPC_CheckPatternPredicate0,
39938 OPC_EmitConvertToTarget1,
39939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
39940 MVT::v16i16, 2, 22,
39941 20,
39942 OPC_CheckChild0Type, MVT::v16i16,
39943 OPC_RecordChild1,
39944 OPC_MoveChild1,
39945 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39946 OPC_CheckPredicate, 21,
39947 OPC_MoveParent,
39948 OPC_CheckType, MVT::v8i32,
39949 OPC_CheckPatternPredicate0,
39950 OPC_EmitConvertToTarget1,
39951 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
39952 MVT::v8i32, 2, 22,
39953 20,
39954 OPC_CheckChild0Type, MVT::v8i32,
39955 OPC_RecordChild1,
39956 OPC_MoveChild1,
39957 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39958 OPC_CheckPredicate, 20,
39959 OPC_MoveParent,
39960 OPC_CheckType, MVT::v4i64,
39961 OPC_CheckPatternPredicate0,
39962 OPC_EmitConvertToTarget1,
39963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
39964 MVT::v4i64, 2, 22,
39965 0,
39966 1|128,1, TARGET_VAL(LoongArchISD::VSLLWIL_U),
39967 OPC_RecordChild0,
39968 OPC_Scope, 20,
39969 OPC_CheckChild0Type, MVT::v16i8,
39970 OPC_RecordChild1,
39971 OPC_MoveChild1,
39972 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39973 OPC_CheckPredicate, 17,
39974 OPC_MoveParent,
39975 OPC_CheckType, MVT::v8i16,
39976 OPC_CheckPatternPredicate1,
39977 OPC_EmitConvertToTarget1,
39978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
39979 MVT::v8i16, 2, 22,
39980 20,
39981 OPC_CheckChild0Type, MVT::v8i16,
39982 OPC_RecordChild1,
39983 OPC_MoveChild1,
39984 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39985 OPC_CheckPredicate, 21,
39986 OPC_MoveParent,
39987 OPC_CheckType, MVT::v4i32,
39988 OPC_CheckPatternPredicate1,
39989 OPC_EmitConvertToTarget1,
39990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
39991 MVT::v4i32, 2, 22,
39992 20,
39993 OPC_CheckChild0Type, MVT::v4i32,
39994 OPC_RecordChild1,
39995 OPC_MoveChild1,
39996 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39997 OPC_CheckPredicate, 20,
39998 OPC_MoveParent,
39999 OPC_CheckType, MVT::v2i64,
40000 OPC_CheckPatternPredicate1,
40001 OPC_EmitConvertToTarget1,
40002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
40003 MVT::v2i64, 2, 22,
40004 20,
40005 OPC_CheckChild0Type, MVT::v32i8,
40006 OPC_RecordChild1,
40007 OPC_MoveChild1,
40008 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40009 OPC_CheckPredicate, 17,
40010 OPC_MoveParent,
40011 OPC_CheckType, MVT::v16i16,
40012 OPC_CheckPatternPredicate0,
40013 OPC_EmitConvertToTarget1,
40014 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
40015 MVT::v16i16, 2, 22,
40016 20,
40017 OPC_CheckChild0Type, MVT::v16i16,
40018 OPC_RecordChild1,
40019 OPC_MoveChild1,
40020 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40021 OPC_CheckPredicate, 21,
40022 OPC_MoveParent,
40023 OPC_CheckType, MVT::v8i32,
40024 OPC_CheckPatternPredicate0,
40025 OPC_EmitConvertToTarget1,
40026 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
40027 MVT::v8i32, 2, 22,
40028 20,
40029 OPC_CheckChild0Type, MVT::v8i32,
40030 OPC_RecordChild1,
40031 OPC_MoveChild1,
40032 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40033 OPC_CheckPredicate, 20,
40034 OPC_MoveParent,
40035 OPC_CheckType, MVT::v4i64,
40036 OPC_CheckPatternPredicate0,
40037 OPC_EmitConvertToTarget1,
40038 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
40039 MVT::v4i64, 2, 22,
40040 0,
40041 95, TARGET_VAL(LoongArchISD::VSHUF4I),
40042 OPC_RecordChild0,
40043 OPC_RecordChild1,
40044 OPC_MoveChild1,
40045 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40046 OPC_CheckPredicate, 47,
40047 OPC_MoveParent,
40048 OPC_SwitchType , 8, MVT::v16i8,
40049 OPC_CheckPatternPredicate1,
40050 OPC_EmitConvertToTarget1,
40051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
40052 MVT::v16i8, 2, 22,
40053 8, MVT::v8i16,
40054 OPC_CheckPatternPredicate1,
40055 OPC_EmitConvertToTarget1,
40056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
40057 MVT::v8i16, 2, 22,
40058 8, MVT::v4i32,
40059 OPC_CheckPatternPredicate1,
40060 OPC_EmitConvertToTarget1,
40061 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
40062 MVT::v4i32, 2, 22,
40063 8, MVT::v32i8,
40064 OPC_CheckPatternPredicate0,
40065 OPC_EmitConvertToTarget1,
40066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
40067 MVT::v32i8, 2, 22,
40068 8, MVT::v16i16,
40069 OPC_CheckPatternPredicate0,
40070 OPC_EmitConvertToTarget1,
40071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
40072 MVT::v16i16, 2, 22,
40073 8, MVT::v8i32,
40074 OPC_CheckPatternPredicate0,
40075 OPC_EmitConvertToTarget1,
40076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
40077 MVT::v8i32, 2, 22,
40078 9, 8|128,1,
40079 OPC_CheckPatternPredicate1,
40080 OPC_EmitConvertToTarget1,
40081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
40082 8|128,1, 2, 22,
40083 9, 12|128,1,
40084 OPC_CheckPatternPredicate0,
40085 OPC_EmitConvertToTarget1,
40086 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
40087 12|128,1, 2, 22,
40088 0,
40089 56, TARGET_VAL(LoongArchISD::VSHUF4I_D),
40090 OPC_RecordChild0,
40091 OPC_RecordChild1,
40092 OPC_RecordChild2,
40093 OPC_MoveChild2,
40094 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40095 OPC_CheckPredicate, 47,
40096 OPC_MoveParent,
40097 OPC_SwitchType , 8, MVT::v2i64,
40098 OPC_CheckPatternPredicate1,
40099 OPC_EmitConvertToTarget2,
40100 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
40101 MVT::v2i64, 3, 42,
40102 8, MVT::v4i64,
40103 OPC_CheckPatternPredicate0,
40104 OPC_EmitConvertToTarget2,
40105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
40106 MVT::v4i64, 3, 42,
40107 9, 26|128,1,
40108 OPC_CheckPatternPredicate1,
40109 OPC_EmitConvertToTarget2,
40110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
40111 26|128,1, 3, 42,
40112 9, 28|128,1,
40113 OPC_CheckPatternPredicate0,
40114 OPC_EmitConvertToTarget2,
40115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
40116 28|128,1, 3, 42,
40117 0,
40118 56, TARGET_VAL(LoongArchISD::VPERMI),
40119 OPC_RecordChild0,
40120 OPC_RecordChild1,
40121 OPC_RecordChild2,
40122 OPC_MoveChild2,
40123 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40124 OPC_CheckPredicate, 47,
40125 OPC_MoveParent,
40126 OPC_SwitchType , 8, MVT::v4i32,
40127 OPC_CheckPatternPredicate1,
40128 OPC_EmitConvertToTarget2,
40129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
40130 MVT::v4i32, 3, 42,
40131 8, MVT::v8i32,
40132 OPC_CheckPatternPredicate0,
40133 OPC_EmitConvertToTarget2,
40134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
40135 MVT::v8i32, 3, 42,
40136 9, 8|128,1,
40137 OPC_CheckPatternPredicate1,
40138 OPC_EmitConvertToTarget2,
40139 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
40140 8|128,1, 3, 42,
40141 9, 12|128,1,
40142 OPC_CheckPatternPredicate0,
40143 OPC_EmitConvertToTarget2,
40144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
40145 12|128,1, 3, 42,
40146 0,
40147 56|128,1, TARGET_VAL(LoongArchISD::VREPLVEI),
40148 OPC_RecordChild0,
40149 OPC_RecordChild1,
40150 OPC_MoveChild1,
40151 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40152 OPC_Scope, 13,
40153 OPC_CheckPredicate, 21,
40154 OPC_MoveParent,
40155 OPC_CheckType, MVT::v16i8,
40156 OPC_CheckPatternPredicate1,
40157 OPC_EmitConvertToTarget1,
40158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
40159 MVT::v16i8, 2, 22,
40160 13,
40161 OPC_CheckPredicate, 17,
40162 OPC_MoveParent,
40163 OPC_CheckType, MVT::v8i16,
40164 OPC_CheckPatternPredicate1,
40165 OPC_EmitConvertToTarget1,
40166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
40167 MVT::v8i16, 2, 22,
40168 13,
40169 OPC_CheckPredicate, 18,
40170 OPC_MoveParent,
40171 OPC_CheckType, MVT::v4i32,
40172 OPC_CheckPatternPredicate1,
40173 OPC_EmitConvertToTarget1,
40174 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
40175 MVT::v4i32, 2, 22,
40176 13,
40177 OPC_CheckPredicate, 25,
40178 OPC_MoveParent,
40179 OPC_CheckType, MVT::v2i64,
40180 OPC_CheckPatternPredicate1,
40181 OPC_EmitConvertToTarget1,
40182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
40183 MVT::v2i64, 2, 22,
40184 13,
40185 OPC_CheckPredicate, 21,
40186 OPC_MoveParent,
40187 OPC_CheckType, MVT::v32i8,
40188 OPC_CheckPatternPredicate0,
40189 OPC_EmitConvertToTarget1,
40190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
40191 MVT::v32i8, 2, 22,
40192 13,
40193 OPC_CheckPredicate, 17,
40194 OPC_MoveParent,
40195 OPC_CheckType, MVT::v16i16,
40196 OPC_CheckPatternPredicate0,
40197 OPC_EmitConvertToTarget1,
40198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
40199 MVT::v16i16, 2, 22,
40200 13,
40201 OPC_CheckPredicate, 18,
40202 OPC_MoveParent,
40203 OPC_CheckType, MVT::v8i32,
40204 OPC_CheckPatternPredicate0,
40205 OPC_EmitConvertToTarget1,
40206 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
40207 MVT::v8i32, 2, 22,
40208 13,
40209 OPC_CheckPredicate, 25,
40210 OPC_MoveParent,
40211 OPC_CheckType, MVT::v4i64,
40212 OPC_CheckPatternPredicate0,
40213 OPC_EmitConvertToTarget1,
40214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
40215 MVT::v4i64, 2, 22,
40216 15,
40217 OPC_CheckPredicate, 18,
40218 OPC_MoveParent,
40219 OPC_CheckType, 8|128,1,
40220 OPC_CheckPatternPredicate1,
40221 OPC_EmitConvertToTarget1,
40222 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
40223 8|128,1, 2, 22,
40224 15,
40225 OPC_CheckPredicate, 25,
40226 OPC_MoveParent,
40227 OPC_CheckType, 26|128,1,
40228 OPC_CheckPatternPredicate1,
40229 OPC_EmitConvertToTarget1,
40230 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
40231 26|128,1, 2, 22,
40232 15,
40233 OPC_CheckPredicate, 18,
40234 OPC_MoveParent,
40235 OPC_CheckType, 12|128,1,
40236 OPC_CheckPatternPredicate0,
40237 OPC_EmitConvertToTarget1,
40238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
40239 12|128,1, 2, 22,
40240 15,
40241 OPC_CheckPredicate, 25,
40242 OPC_MoveParent,
40243 OPC_CheckType, 28|128,1,
40244 OPC_CheckPatternPredicate0,
40245 OPC_EmitConvertToTarget1,
40246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
40247 28|128,1, 2, 22,
40248 0,
40249 69, TARGET_VAL(LoongArchISD::XVINSVE0),
40250 OPC_RecordChild0,
40251 OPC_RecordChild1,
40252 OPC_RecordChild2,
40253 OPC_MoveChild2,
40254 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40255 OPC_Scope, 13,
40256 OPC_CheckPredicate, 17,
40257 OPC_MoveParent,
40258 OPC_CheckType, MVT::v8i32,
40259 OPC_CheckPatternPredicate0,
40260 OPC_EmitConvertToTarget2,
40261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
40262 MVT::v8i32, 3, 42,
40263 13,
40264 OPC_CheckPredicate, 18,
40265 OPC_MoveParent,
40266 OPC_CheckType, MVT::v4i64,
40267 OPC_CheckPatternPredicate0,
40268 OPC_EmitConvertToTarget2,
40269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
40270 MVT::v4i64, 3, 42,
40271 15,
40272 OPC_CheckPredicate, 17,
40273 OPC_MoveParent,
40274 OPC_CheckType, 12|128,1,
40275 OPC_CheckPatternPredicate0,
40276 OPC_EmitConvertToTarget2,
40277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
40278 12|128,1, 3, 42,
40279 15,
40280 OPC_CheckPredicate, 18,
40281 OPC_MoveParent,
40282 OPC_CheckType, 28|128,1,
40283 OPC_CheckPatternPredicate0,
40284 OPC_EmitConvertToTarget2,
40285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
40286 28|128,1, 3, 42,
40287 0,
40288 33, TARGET_VAL(LoongArchISD::XVPERMI),
40289 OPC_RecordChild0,
40290 OPC_RecordChild1,
40291 OPC_MoveChild1,
40292 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40293 OPC_CheckPredicate, 47,
40294 OPC_MoveParent,
40295 OPC_SwitchType , 8, MVT::v4i64,
40296 OPC_CheckPatternPredicate0,
40297 OPC_EmitConvertToTarget1,
40298 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
40299 MVT::v4i64, 2, 22,
40300 9, 28|128,1,
40301 OPC_CheckPatternPredicate0,
40302 OPC_EmitConvertToTarget1,
40303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
40304 28|128,1, 2, 22,
40305 0,
40306 69, TARGET_VAL(LoongArchISD::VEXTH),
40307 OPC_RecordChild0,
40308 OPC_SwitchType , 9, MVT::v8i16,
40309 OPC_CheckChild0Type, MVT::v16i8,
40310 OPC_CheckPatternPredicate1,
40311 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_H_B),
40312 MVT::v8i16, 1, 1,
40313 9, MVT::v4i32,
40314 OPC_CheckChild0Type, MVT::v8i16,
40315 OPC_CheckPatternPredicate1,
40316 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_W_H),
40317 MVT::v4i32, 1, 1,
40318 9, MVT::v2i64,
40319 OPC_CheckChild0Type, MVT::v4i32,
40320 OPC_CheckPatternPredicate1,
40321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_D_W),
40322 MVT::v2i64, 1, 1,
40323 9, MVT::v16i16,
40324 OPC_CheckChild0Type, MVT::v32i8,
40325 OPC_CheckPatternPredicate0,
40326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_H_B),
40327 MVT::v16i16, 1, 1,
40328 9, MVT::v8i32,
40329 OPC_CheckChild0Type, MVT::v16i16,
40330 OPC_CheckPatternPredicate0,
40331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_W_H),
40332 MVT::v8i32, 1, 1,
40333 9, MVT::v4i64,
40334 OPC_CheckChild0Type, MVT::v8i32,
40335 OPC_CheckPatternPredicate0,
40336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_D_W),
40337 MVT::v4i64, 1, 1,
40338 0,
40339 69, TARGET_VAL(LoongArchISD::VEXTH_U),
40340 OPC_RecordChild0,
40341 OPC_SwitchType , 9, MVT::v8i16,
40342 OPC_CheckChild0Type, MVT::v16i8,
40343 OPC_CheckPatternPredicate1,
40344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_HU_BU),
40345 MVT::v8i16, 1, 1,
40346 9, MVT::v4i32,
40347 OPC_CheckChild0Type, MVT::v8i16,
40348 OPC_CheckPatternPredicate1,
40349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_WU_HU),
40350 MVT::v4i32, 1, 1,
40351 9, MVT::v2i64,
40352 OPC_CheckChild0Type, MVT::v4i32,
40353 OPC_CheckPatternPredicate1,
40354 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_DU_WU),
40355 MVT::v2i64, 1, 1,
40356 9, MVT::v16i16,
40357 OPC_CheckChild0Type, MVT::v32i8,
40358 OPC_CheckPatternPredicate0,
40359 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_HU_BU),
40360 MVT::v16i16, 1, 1,
40361 9, MVT::v8i32,
40362 OPC_CheckChild0Type, MVT::v16i16,
40363 OPC_CheckPatternPredicate0,
40364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_WU_HU),
40365 MVT::v8i32, 1, 1,
40366 9, MVT::v4i64,
40367 OPC_CheckChild0Type, MVT::v8i32,
40368 OPC_CheckPatternPredicate0,
40369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_DU_WU),
40370 MVT::v4i64, 1, 1,
40371 0,
40372 103, TARGET_VAL(LoongArchISD::VHADDW),
40373 OPC_RecordChild0,
40374 OPC_SwitchType , 10, MVT::v8i16,
40375 OPC_CheckChild0Type, MVT::v16i8,
40376 OPC_RecordChild1,
40377 OPC_CheckPatternPredicate1,
40378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_H_B),
40379 MVT::v8i16, 2, 9,
40380 10, MVT::v4i32,
40381 OPC_CheckChild0Type, MVT::v8i16,
40382 OPC_RecordChild1,
40383 OPC_CheckPatternPredicate1,
40384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_W_H),
40385 MVT::v4i32, 2, 9,
40386 24, MVT::v2i64,
40387 OPC_Scope, 10,
40388 OPC_CheckChild0Type, MVT::v4i32,
40389 OPC_RecordChild1,
40390 OPC_CheckPatternPredicate1,
40391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_D_W),
40392 MVT::v2i64, 2, 9,
40393 10,
40394 OPC_CheckChild0Type, MVT::v2i64,
40395 OPC_RecordChild1,
40396 OPC_CheckPatternPredicate1,
40397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_Q_D),
40398 MVT::v2i64, 2, 9,
40399 0,
40400 10, MVT::v16i16,
40401 OPC_CheckChild0Type, MVT::v32i8,
40402 OPC_RecordChild1,
40403 OPC_CheckPatternPredicate0,
40404 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_H_B),
40405 MVT::v16i16, 2, 9,
40406 10, MVT::v8i32,
40407 OPC_CheckChild0Type, MVT::v16i16,
40408 OPC_RecordChild1,
40409 OPC_CheckPatternPredicate0,
40410 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_W_H),
40411 MVT::v8i32, 2, 9,
40412 24, MVT::v4i64,
40413 OPC_Scope, 10,
40414 OPC_CheckChild0Type, MVT::v8i32,
40415 OPC_RecordChild1,
40416 OPC_CheckPatternPredicate0,
40417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_D_W),
40418 MVT::v4i64, 2, 9,
40419 10,
40420 OPC_CheckChild0Type, MVT::v4i64,
40421 OPC_RecordChild1,
40422 OPC_CheckPatternPredicate0,
40423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_Q_D),
40424 MVT::v4i64, 2, 9,
40425 0,
40426 0,
40427 103, TARGET_VAL(LoongArchISD::VHADDW_U),
40428 OPC_RecordChild0,
40429 OPC_SwitchType , 10, MVT::v8i16,
40430 OPC_CheckChild0Type, MVT::v16i8,
40431 OPC_RecordChild1,
40432 OPC_CheckPatternPredicate1,
40433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_HU_BU),
40434 MVT::v8i16, 2, 9,
40435 10, MVT::v4i32,
40436 OPC_CheckChild0Type, MVT::v8i16,
40437 OPC_RecordChild1,
40438 OPC_CheckPatternPredicate1,
40439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_WU_HU),
40440 MVT::v4i32, 2, 9,
40441 24, MVT::v2i64,
40442 OPC_Scope, 10,
40443 OPC_CheckChild0Type, MVT::v4i32,
40444 OPC_RecordChild1,
40445 OPC_CheckPatternPredicate1,
40446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_DU_WU),
40447 MVT::v2i64, 2, 9,
40448 10,
40449 OPC_CheckChild0Type, MVT::v2i64,
40450 OPC_RecordChild1,
40451 OPC_CheckPatternPredicate1,
40452 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_QU_DU),
40453 MVT::v2i64, 2, 9,
40454 0,
40455 10, MVT::v16i16,
40456 OPC_CheckChild0Type, MVT::v32i8,
40457 OPC_RecordChild1,
40458 OPC_CheckPatternPredicate0,
40459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_HU_BU),
40460 MVT::v16i16, 2, 9,
40461 10, MVT::v8i32,
40462 OPC_CheckChild0Type, MVT::v16i16,
40463 OPC_RecordChild1,
40464 OPC_CheckPatternPredicate0,
40465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_WU_HU),
40466 MVT::v8i32, 2, 9,
40467 24, MVT::v4i64,
40468 OPC_Scope, 10,
40469 OPC_CheckChild0Type, MVT::v8i32,
40470 OPC_RecordChild1,
40471 OPC_CheckPatternPredicate0,
40472 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_DU_WU),
40473 MVT::v4i64, 2, 9,
40474 10,
40475 OPC_CheckChild0Type, MVT::v4i64,
40476 OPC_RecordChild1,
40477 OPC_CheckPatternPredicate0,
40478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_QU_DU),
40479 MVT::v4i64, 2, 9,
40480 0,
40481 0,
40482 103, TARGET_VAL(LoongArchISD::VHSUBW),
40483 OPC_RecordChild0,
40484 OPC_SwitchType , 10, MVT::v8i16,
40485 OPC_CheckChild0Type, MVT::v16i8,
40486 OPC_RecordChild1,
40487 OPC_CheckPatternPredicate1,
40488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_H_B),
40489 MVT::v8i16, 2, 9,
40490 10, MVT::v4i32,
40491 OPC_CheckChild0Type, MVT::v8i16,
40492 OPC_RecordChild1,
40493 OPC_CheckPatternPredicate1,
40494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_W_H),
40495 MVT::v4i32, 2, 9,
40496 24, MVT::v2i64,
40497 OPC_Scope, 10,
40498 OPC_CheckChild0Type, MVT::v4i32,
40499 OPC_RecordChild1,
40500 OPC_CheckPatternPredicate1,
40501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_D_W),
40502 MVT::v2i64, 2, 9,
40503 10,
40504 OPC_CheckChild0Type, MVT::v2i64,
40505 OPC_RecordChild1,
40506 OPC_CheckPatternPredicate1,
40507 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_Q_D),
40508 MVT::v2i64, 2, 9,
40509 0,
40510 10, MVT::v16i16,
40511 OPC_CheckChild0Type, MVT::v32i8,
40512 OPC_RecordChild1,
40513 OPC_CheckPatternPredicate0,
40514 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_H_B),
40515 MVT::v16i16, 2, 9,
40516 10, MVT::v8i32,
40517 OPC_CheckChild0Type, MVT::v16i16,
40518 OPC_RecordChild1,
40519 OPC_CheckPatternPredicate0,
40520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_W_H),
40521 MVT::v8i32, 2, 9,
40522 24, MVT::v4i64,
40523 OPC_Scope, 10,
40524 OPC_CheckChild0Type, MVT::v8i32,
40525 OPC_RecordChild1,
40526 OPC_CheckPatternPredicate0,
40527 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_D_W),
40528 MVT::v4i64, 2, 9,
40529 10,
40530 OPC_CheckChild0Type, MVT::v4i64,
40531 OPC_RecordChild1,
40532 OPC_CheckPatternPredicate0,
40533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_Q_D),
40534 MVT::v4i64, 2, 9,
40535 0,
40536 0,
40537 103, TARGET_VAL(LoongArchISD::VHSUBW_U),
40538 OPC_RecordChild0,
40539 OPC_SwitchType , 10, MVT::v8i16,
40540 OPC_CheckChild0Type, MVT::v16i8,
40541 OPC_RecordChild1,
40542 OPC_CheckPatternPredicate1,
40543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_HU_BU),
40544 MVT::v8i16, 2, 9,
40545 10, MVT::v4i32,
40546 OPC_CheckChild0Type, MVT::v8i16,
40547 OPC_RecordChild1,
40548 OPC_CheckPatternPredicate1,
40549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_WU_HU),
40550 MVT::v4i32, 2, 9,
40551 24, MVT::v2i64,
40552 OPC_Scope, 10,
40553 OPC_CheckChild0Type, MVT::v4i32,
40554 OPC_RecordChild1,
40555 OPC_CheckPatternPredicate1,
40556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_DU_WU),
40557 MVT::v2i64, 2, 9,
40558 10,
40559 OPC_CheckChild0Type, MVT::v2i64,
40560 OPC_RecordChild1,
40561 OPC_CheckPatternPredicate1,
40562 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_QU_DU),
40563 MVT::v2i64, 2, 9,
40564 0,
40565 10, MVT::v16i16,
40566 OPC_CheckChild0Type, MVT::v32i8,
40567 OPC_RecordChild1,
40568 OPC_CheckPatternPredicate0,
40569 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_HU_BU),
40570 MVT::v16i16, 2, 9,
40571 10, MVT::v8i32,
40572 OPC_CheckChild0Type, MVT::v16i16,
40573 OPC_RecordChild1,
40574 OPC_CheckPatternPredicate0,
40575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_WU_HU),
40576 MVT::v8i32, 2, 9,
40577 24, MVT::v4i64,
40578 OPC_Scope, 10,
40579 OPC_CheckChild0Type, MVT::v8i32,
40580 OPC_RecordChild1,
40581 OPC_CheckPatternPredicate0,
40582 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_DU_WU),
40583 MVT::v4i64, 2, 9,
40584 10,
40585 OPC_CheckChild0Type, MVT::v4i64,
40586 OPC_RecordChild1,
40587 OPC_CheckPatternPredicate0,
40588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_QU_DU),
40589 MVT::v4i64, 2, 9,
40590 0,
40591 0,
40592 5|128,3, TARGET_VAL(ISD::BUILD_VECTOR),
40593 OPC_RecordChild0,
40594 OPC_Scope, 11|128,2,
40595 OPC_CheckChild0TypeByHwMode0,
40596 OPC_CheckChild1Same, 0,
40597 OPC_Scope, 85,
40598 OPC_CheckChild2Same, 0,
40599 OPC_CheckChild3Same, 0,
40600 OPC_Scope, 68,
40601 OPC_MoveChild4,
40602 OPC_CheckSame, 0,
40603 OPC_MoveSibling5,
40604 OPC_CheckSame, 0,
40605 OPC_MoveSibling6,
40606 OPC_CheckSame, 0,
40607 OPC_MoveSibling7,
40608 OPC_CheckSame, 0,
40609 OPC_Scope, 42,
40610 OPC_MoveSibling, 8,
40611 OPC_CheckSame, 0,
40612 OPC_MoveSibling, 9,
40613 OPC_CheckSame, 0,
40614 OPC_MoveSibling, 10,
40615 OPC_CheckSame, 0,
40616 OPC_MoveSibling, 11,
40617 OPC_CheckSame, 0,
40618 OPC_MoveSibling, 12,
40619 OPC_CheckSame, 0,
40620 OPC_MoveSibling, 13,
40621 OPC_CheckSame, 0,
40622 OPC_MoveSibling, 14,
40623 OPC_CheckSame, 0,
40624 OPC_MoveSibling, 15,
40625 OPC_CheckSame, 0,
40626 OPC_MoveParent,
40627 OPC_CheckType, MVT::v16i8,
40628 OPC_CheckPatternPredicate1,
40629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
40630 MVT::v16i8, 1, 1,
40631 10,
40632 OPC_MoveParent,
40633 OPC_CheckType, MVT::v8i16,
40634 OPC_CheckPatternPredicate1,
40635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
40636 MVT::v8i16, 1, 1,
40637 0,
40638 9,
40639 OPC_CheckType, MVT::v4i32,
40640 OPC_CheckPatternPredicate1,
40641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
40642 MVT::v4i32, 1, 1,
40643 0,
40644 9,
40645 OPC_CheckType, MVT::v2i64,
40646 OPC_CheckPatternPredicate1,
40647 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
40648 MVT::v2i64, 1, 1,
40649 36|128,1,
40650 OPC_CheckChild2Same, 0,
40651 OPC_CheckChild3Same, 0,
40652 OPC_Scope, 18|128,1,
40653 OPC_MoveChild4,
40654 OPC_CheckSame, 0,
40655 OPC_MoveSibling5,
40656 OPC_CheckSame, 0,
40657 OPC_MoveSibling6,
40658 OPC_CheckSame, 0,
40659 OPC_MoveSibling7,
40660 OPC_CheckSame, 0,
40661 OPC_Scope, 120,
40662 OPC_MoveSibling, 8,
40663 OPC_CheckSame, 0,
40664 OPC_MoveSibling, 9,
40665 OPC_CheckSame, 0,
40666 OPC_MoveSibling, 10,
40667 OPC_CheckSame, 0,
40668 OPC_MoveSibling, 11,
40669 OPC_CheckSame, 0,
40670 OPC_MoveSibling, 12,
40671 OPC_CheckSame, 0,
40672 OPC_MoveSibling, 13,
40673 OPC_CheckSame, 0,
40674 OPC_MoveSibling, 14,
40675 OPC_CheckSame, 0,
40676 OPC_MoveSibling, 15,
40677 OPC_CheckSame, 0,
40678 OPC_Scope, 74,
40679 OPC_MoveSibling, 16,
40680 OPC_CheckSame, 0,
40681 OPC_MoveSibling, 17,
40682 OPC_CheckSame, 0,
40683 OPC_MoveSibling, 18,
40684 OPC_CheckSame, 0,
40685 OPC_MoveSibling, 19,
40686 OPC_CheckSame, 0,
40687 OPC_MoveSibling, 20,
40688 OPC_CheckSame, 0,
40689 OPC_MoveSibling, 21,
40690 OPC_CheckSame, 0,
40691 OPC_MoveSibling, 22,
40692 OPC_CheckSame, 0,
40693 OPC_MoveSibling, 23,
40694 OPC_CheckSame, 0,
40695 OPC_MoveSibling, 24,
40696 OPC_CheckSame, 0,
40697 OPC_MoveSibling, 25,
40698 OPC_CheckSame, 0,
40699 OPC_MoveSibling, 26,
40700 OPC_CheckSame, 0,
40701 OPC_MoveSibling, 27,
40702 OPC_CheckSame, 0,
40703 OPC_MoveSibling, 28,
40704 OPC_CheckSame, 0,
40705 OPC_MoveSibling, 29,
40706 OPC_CheckSame, 0,
40707 OPC_MoveSibling, 30,
40708 OPC_CheckSame, 0,
40709 OPC_MoveSibling, 31,
40710 OPC_CheckSame, 0,
40711 OPC_MoveParent,
40712 OPC_CheckType, MVT::v32i8,
40713 OPC_CheckPatternPredicate0,
40714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
40715 MVT::v32i8, 1, 1,
40716 10,
40717 OPC_MoveParent,
40718 OPC_CheckType, MVT::v16i16,
40719 OPC_CheckPatternPredicate0,
40720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
40721 MVT::v16i16, 1, 1,
40722 0,
40723 10,
40724 OPC_MoveParent,
40725 OPC_CheckType, MVT::v8i32,
40726 OPC_CheckPatternPredicate0,
40727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
40728 MVT::v8i32, 1, 1,
40729 0,
40730 9,
40731 OPC_CheckType, MVT::v4i64,
40732 OPC_CheckPatternPredicate0,
40733 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
40734 MVT::v4i64, 1, 1,
40735 0,
40736 0,
40737 65,
40738 OPC_CheckChild0Type, MVT::f32,
40739 OPC_CheckChild1Same, 0,
40740 OPC_CheckChild2Same, 0,
40741 OPC_CheckChild3Same, 0,
40742 OPC_Scope, 21,
40743 OPC_CheckType, 8|128,1,
40744 OPC_CheckPatternPredicate1,
40745 OPC_EmitIntegerI32, LoongArch::sub_32,
40746 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
40747 MVT::v16i8, 2, 9,
40748 OPC_EmitIntegerByHwMode0, 0,
40749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
40750 8|128,1, 2, 49,
40751 32,
40752 OPC_MoveChild4,
40753 OPC_CheckSame, 0,
40754 OPC_MoveSibling5,
40755 OPC_CheckSame, 0,
40756 OPC_MoveSibling6,
40757 OPC_CheckSame, 0,
40758 OPC_MoveSibling7,
40759 OPC_CheckSame, 0,
40760 OPC_MoveParent,
40761 OPC_CheckType, 12|128,1,
40762 OPC_CheckPatternPredicate0,
40763 OPC_EmitIntegerI32, LoongArch::sub_32,
40764 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
40765 MVT::v32i8, 2, 9,
40766 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
40767 12|128,1, 1, 23,
40768 0,
40769 50,
40770 OPC_CheckChild0Type, MVT::f64,
40771 OPC_CheckChild1Same, 0,
40772 OPC_SwitchType , 18, 26|128,1,
40773 OPC_CheckPatternPredicate1,
40774 OPC_EmitIntegerI32, LoongArch::sub_64,
40775 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
40776 MVT::v16i8, 2, 9,
40777 OPC_EmitIntegerByHwMode0, 0,
40778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
40779 26|128,1, 2, 49,
40780 20, 28|128,1,
40781 OPC_CheckChild2Same, 0,
40782 OPC_CheckChild3Same, 0,
40783 OPC_CheckPatternPredicate0,
40784 OPC_EmitIntegerI32, LoongArch::sub_64,
40785 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
40786 MVT::v32i8, 2, 9,
40787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
40788 28|128,1, 1, 23,
40789 0,
40790 0,
40791 76, TARGET_VAL(LoongArchISD::VREPLGR2VR),
40792 OPC_RecordChild0,
40793 OPC_CheckChild0TypeByHwMode0,
40794 OPC_SwitchType , 7, MVT::v16i8,
40795 OPC_CheckPatternPredicate1,
40796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
40797 MVT::v16i8, 1, 1,
40798 7, MVT::v8i16,
40799 OPC_CheckPatternPredicate1,
40800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
40801 MVT::v8i16, 1, 1,
40802 7, MVT::v4i32,
40803 OPC_CheckPatternPredicate1,
40804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
40805 MVT::v4i32, 1, 1,
40806 7, MVT::v2i64,
40807 OPC_CheckPatternPredicate1,
40808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
40809 MVT::v2i64, 1, 1,
40810 7, MVT::v32i8,
40811 OPC_CheckPatternPredicate0,
40812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
40813 MVT::v32i8, 1, 1,
40814 7, MVT::v16i16,
40815 OPC_CheckPatternPredicate0,
40816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
40817 MVT::v16i16, 1, 1,
40818 7, MVT::v8i32,
40819 OPC_CheckPatternPredicate0,
40820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
40821 MVT::v8i32, 1, 1,
40822 7, MVT::v4i64,
40823 OPC_CheckPatternPredicate0,
40824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
40825 MVT::v4i64, 1, 1,
40826 0,
40827 77, TARGET_VAL(LoongArchISD::VREPLVE),
40828 OPC_RecordChild0,
40829 OPC_RecordChild1,
40830 OPC_CheckChild1TypeByHwMode0,
40831 OPC_SwitchType , 7, MVT::v16i8,
40832 OPC_CheckPatternPredicate1,
40833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_B),
40834 MVT::v16i8, 2, 9,
40835 7, MVT::v8i16,
40836 OPC_CheckPatternPredicate1,
40837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_H),
40838 MVT::v8i16, 2, 9,
40839 7, MVT::v4i32,
40840 OPC_CheckPatternPredicate1,
40841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_W),
40842 MVT::v4i32, 2, 9,
40843 7, MVT::v2i64,
40844 OPC_CheckPatternPredicate1,
40845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_D),
40846 MVT::v2i64, 2, 9,
40847 7, MVT::v32i8,
40848 OPC_CheckPatternPredicate0,
40849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_B),
40850 MVT::v32i8, 2, 9,
40851 7, MVT::v16i16,
40852 OPC_CheckPatternPredicate0,
40853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_H),
40854 MVT::v16i16, 2, 9,
40855 7, MVT::v8i32,
40856 OPC_CheckPatternPredicate0,
40857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_W),
40858 MVT::v8i32, 2, 9,
40859 7, MVT::v4i64,
40860 OPC_CheckPatternPredicate0,
40861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_D),
40862 MVT::v4i64, 2, 9,
40863 0,
40864 39|128,1, TARGET_VAL(LoongArchISD::VSHUF),
40865 OPC_RecordChild0,
40866 OPC_Scope, 13,
40867 OPC_CheckChild0Type, MVT::v16i8,
40868 OPC_RecordChild1,
40869 OPC_RecordChild2,
40870 OPC_CheckType, MVT::v16i8,
40871 OPC_CheckPatternPredicate1,
40872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_B),
40873 MVT::v16i8, 3, 5,
40874 13,
40875 OPC_CheckChild0Type, MVT::v8i16,
40876 OPC_RecordChild1,
40877 OPC_RecordChild2,
40878 OPC_CheckType, MVT::v8i16,
40879 OPC_CheckPatternPredicate1,
40880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_H),
40881 MVT::v8i16, 3, 24,
40882 26,
40883 OPC_CheckChild0Type, MVT::v4i32,
40884 OPC_RecordChild1,
40885 OPC_RecordChild2,
40886 OPC_SwitchType , 7, MVT::v4i32,
40887 OPC_CheckPatternPredicate1,
40888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
40889 MVT::v4i32, 3, 24,
40890 8, 8|128,1,
40891 OPC_CheckPatternPredicate1,
40892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
40893 8|128,1, 3, 24,
40894 0,
40895 26,
40896 OPC_CheckChild0Type, MVT::v2i64,
40897 OPC_RecordChild1,
40898 OPC_RecordChild2,
40899 OPC_SwitchType , 7, MVT::v2i64,
40900 OPC_CheckPatternPredicate1,
40901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
40902 MVT::v2i64, 3, 24,
40903 8, 26|128,1,
40904 OPC_CheckPatternPredicate1,
40905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
40906 26|128,1, 3, 24,
40907 0,
40908 13,
40909 OPC_CheckChild0Type, MVT::v32i8,
40910 OPC_RecordChild1,
40911 OPC_RecordChild2,
40912 OPC_CheckType, MVT::v32i8,
40913 OPC_CheckPatternPredicate0,
40914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_B),
40915 MVT::v32i8, 3, 5,
40916 13,
40917 OPC_CheckChild0Type, MVT::v16i16,
40918 OPC_RecordChild1,
40919 OPC_RecordChild2,
40920 OPC_CheckType, MVT::v16i16,
40921 OPC_CheckPatternPredicate0,
40922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_H),
40923 MVT::v16i16, 3, 24,
40924 26,
40925 OPC_CheckChild0Type, MVT::v8i32,
40926 OPC_RecordChild1,
40927 OPC_RecordChild2,
40928 OPC_SwitchType , 7, MVT::v8i32,
40929 OPC_CheckPatternPredicate0,
40930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
40931 MVT::v8i32, 3, 24,
40932 8, 12|128,1,
40933 OPC_CheckPatternPredicate0,
40934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
40935 12|128,1, 3, 24,
40936 0,
40937 26,
40938 OPC_CheckChild0Type, MVT::v4i64,
40939 OPC_RecordChild1,
40940 OPC_RecordChild2,
40941 OPC_SwitchType , 7, MVT::v4i64,
40942 OPC_CheckPatternPredicate0,
40943 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
40944 MVT::v4i64, 3, 24,
40945 8, 28|128,1,
40946 OPC_CheckPatternPredicate0,
40947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
40948 28|128,1, 3, 24,
40949 0,
40950 0,
40951 120, TARGET_VAL(LoongArchISD::VPICKEV),
40952 OPC_RecordChild0,
40953 OPC_RecordChild1,
40954 OPC_SwitchType , 7, MVT::v16i8,
40955 OPC_CheckPatternPredicate1,
40956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_B),
40957 MVT::v16i8, 2, 9,
40958 7, MVT::v8i16,
40959 OPC_CheckPatternPredicate1,
40960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_H),
40961 MVT::v8i16, 2, 9,
40962 7, MVT::v4i32,
40963 OPC_CheckPatternPredicate1,
40964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
40965 MVT::v4i32, 2, 9,
40966 7, MVT::v2i64,
40967 OPC_CheckPatternPredicate1,
40968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
40969 MVT::v2i64, 2, 9,
40970 7, MVT::v32i8,
40971 OPC_CheckPatternPredicate0,
40972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_B),
40973 MVT::v32i8, 2, 9,
40974 7, MVT::v16i16,
40975 OPC_CheckPatternPredicate0,
40976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_H),
40977 MVT::v16i16, 2, 9,
40978 7, MVT::v8i32,
40979 OPC_CheckPatternPredicate0,
40980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
40981 MVT::v8i32, 2, 9,
40982 7, MVT::v4i64,
40983 OPC_CheckPatternPredicate0,
40984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
40985 MVT::v4i64, 2, 9,
40986 8, 8|128,1,
40987 OPC_CheckPatternPredicate1,
40988 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
40989 8|128,1, 2, 9,
40990 8, 26|128,1,
40991 OPC_CheckPatternPredicate1,
40992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
40993 26|128,1, 2, 9,
40994 8, 12|128,1,
40995 OPC_CheckPatternPredicate0,
40996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
40997 12|128,1, 2, 9,
40998 8, 28|128,1,
40999 OPC_CheckPatternPredicate0,
41000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
41001 28|128,1, 2, 9,
41002 0,
41003 120, TARGET_VAL(LoongArchISD::VPICKOD),
41004 OPC_RecordChild0,
41005 OPC_RecordChild1,
41006 OPC_SwitchType , 7, MVT::v16i8,
41007 OPC_CheckPatternPredicate1,
41008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_B),
41009 MVT::v16i8, 2, 9,
41010 7, MVT::v8i16,
41011 OPC_CheckPatternPredicate1,
41012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_H),
41013 MVT::v8i16, 2, 9,
41014 7, MVT::v4i32,
41015 OPC_CheckPatternPredicate1,
41016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
41017 MVT::v4i32, 2, 9,
41018 7, MVT::v2i64,
41019 OPC_CheckPatternPredicate1,
41020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
41021 MVT::v2i64, 2, 9,
41022 7, MVT::v32i8,
41023 OPC_CheckPatternPredicate0,
41024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_B),
41025 MVT::v32i8, 2, 9,
41026 7, MVT::v16i16,
41027 OPC_CheckPatternPredicate0,
41028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_H),
41029 MVT::v16i16, 2, 9,
41030 7, MVT::v8i32,
41031 OPC_CheckPatternPredicate0,
41032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
41033 MVT::v8i32, 2, 9,
41034 7, MVT::v4i64,
41035 OPC_CheckPatternPredicate0,
41036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
41037 MVT::v4i64, 2, 9,
41038 8, 8|128,1,
41039 OPC_CheckPatternPredicate1,
41040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
41041 8|128,1, 2, 9,
41042 8, 26|128,1,
41043 OPC_CheckPatternPredicate1,
41044 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
41045 26|128,1, 2, 9,
41046 8, 12|128,1,
41047 OPC_CheckPatternPredicate0,
41048 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
41049 12|128,1, 2, 9,
41050 8, 28|128,1,
41051 OPC_CheckPatternPredicate0,
41052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
41053 28|128,1, 2, 9,
41054 0,
41055 120, TARGET_VAL(LoongArchISD::VPACKEV),
41056 OPC_RecordChild0,
41057 OPC_RecordChild1,
41058 OPC_SwitchType , 7, MVT::v16i8,
41059 OPC_CheckPatternPredicate1,
41060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_B),
41061 MVT::v16i8, 2, 9,
41062 7, MVT::v8i16,
41063 OPC_CheckPatternPredicate1,
41064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_H),
41065 MVT::v8i16, 2, 9,
41066 7, MVT::v4i32,
41067 OPC_CheckPatternPredicate1,
41068 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
41069 MVT::v4i32, 2, 9,
41070 7, MVT::v2i64,
41071 OPC_CheckPatternPredicate1,
41072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
41073 MVT::v2i64, 2, 9,
41074 7, MVT::v32i8,
41075 OPC_CheckPatternPredicate0,
41076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_B),
41077 MVT::v32i8, 2, 9,
41078 7, MVT::v16i16,
41079 OPC_CheckPatternPredicate0,
41080 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_H),
41081 MVT::v16i16, 2, 9,
41082 7, MVT::v8i32,
41083 OPC_CheckPatternPredicate0,
41084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
41085 MVT::v8i32, 2, 9,
41086 7, MVT::v4i64,
41087 OPC_CheckPatternPredicate0,
41088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
41089 MVT::v4i64, 2, 9,
41090 8, 8|128,1,
41091 OPC_CheckPatternPredicate1,
41092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
41093 8|128,1, 2, 9,
41094 8, 26|128,1,
41095 OPC_CheckPatternPredicate1,
41096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
41097 26|128,1, 2, 9,
41098 8, 12|128,1,
41099 OPC_CheckPatternPredicate0,
41100 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
41101 12|128,1, 2, 9,
41102 8, 28|128,1,
41103 OPC_CheckPatternPredicate0,
41104 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
41105 28|128,1, 2, 9,
41106 0,
41107 120, TARGET_VAL(LoongArchISD::VPACKOD),
41108 OPC_RecordChild0,
41109 OPC_RecordChild1,
41110 OPC_SwitchType , 7, MVT::v16i8,
41111 OPC_CheckPatternPredicate1,
41112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_B),
41113 MVT::v16i8, 2, 9,
41114 7, MVT::v8i16,
41115 OPC_CheckPatternPredicate1,
41116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_H),
41117 MVT::v8i16, 2, 9,
41118 7, MVT::v4i32,
41119 OPC_CheckPatternPredicate1,
41120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
41121 MVT::v4i32, 2, 9,
41122 7, MVT::v2i64,
41123 OPC_CheckPatternPredicate1,
41124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
41125 MVT::v2i64, 2, 9,
41126 7, MVT::v32i8,
41127 OPC_CheckPatternPredicate0,
41128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_B),
41129 MVT::v32i8, 2, 9,
41130 7, MVT::v16i16,
41131 OPC_CheckPatternPredicate0,
41132 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_H),
41133 MVT::v16i16, 2, 9,
41134 7, MVT::v8i32,
41135 OPC_CheckPatternPredicate0,
41136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
41137 MVT::v8i32, 2, 9,
41138 7, MVT::v4i64,
41139 OPC_CheckPatternPredicate0,
41140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
41141 MVT::v4i64, 2, 9,
41142 8, 8|128,1,
41143 OPC_CheckPatternPredicate1,
41144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
41145 8|128,1, 2, 9,
41146 8, 26|128,1,
41147 OPC_CheckPatternPredicate1,
41148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
41149 26|128,1, 2, 9,
41150 8, 12|128,1,
41151 OPC_CheckPatternPredicate0,
41152 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
41153 12|128,1, 2, 9,
41154 8, 28|128,1,
41155 OPC_CheckPatternPredicate0,
41156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
41157 28|128,1, 2, 9,
41158 0,
41159 120, TARGET_VAL(LoongArchISD::VILVL),
41160 OPC_RecordChild0,
41161 OPC_RecordChild1,
41162 OPC_SwitchType , 7, MVT::v16i8,
41163 OPC_CheckPatternPredicate1,
41164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_B),
41165 MVT::v16i8, 2, 9,
41166 7, MVT::v8i16,
41167 OPC_CheckPatternPredicate1,
41168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_H),
41169 MVT::v8i16, 2, 9,
41170 7, MVT::v4i32,
41171 OPC_CheckPatternPredicate1,
41172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
41173 MVT::v4i32, 2, 9,
41174 7, MVT::v2i64,
41175 OPC_CheckPatternPredicate1,
41176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
41177 MVT::v2i64, 2, 9,
41178 7, MVT::v32i8,
41179 OPC_CheckPatternPredicate0,
41180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_B),
41181 MVT::v32i8, 2, 9,
41182 7, MVT::v16i16,
41183 OPC_CheckPatternPredicate0,
41184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_H),
41185 MVT::v16i16, 2, 9,
41186 7, MVT::v8i32,
41187 OPC_CheckPatternPredicate0,
41188 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
41189 MVT::v8i32, 2, 9,
41190 7, MVT::v4i64,
41191 OPC_CheckPatternPredicate0,
41192 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
41193 MVT::v4i64, 2, 9,
41194 8, 8|128,1,
41195 OPC_CheckPatternPredicate1,
41196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
41197 8|128,1, 2, 9,
41198 8, 26|128,1,
41199 OPC_CheckPatternPredicate1,
41200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
41201 26|128,1, 2, 9,
41202 8, 12|128,1,
41203 OPC_CheckPatternPredicate0,
41204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
41205 12|128,1, 2, 9,
41206 8, 28|128,1,
41207 OPC_CheckPatternPredicate0,
41208 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
41209 28|128,1, 2, 9,
41210 0,
41211 120, TARGET_VAL(LoongArchISD::VILVH),
41212 OPC_RecordChild0,
41213 OPC_RecordChild1,
41214 OPC_SwitchType , 7, MVT::v16i8,
41215 OPC_CheckPatternPredicate1,
41216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_B),
41217 MVT::v16i8, 2, 9,
41218 7, MVT::v8i16,
41219 OPC_CheckPatternPredicate1,
41220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_H),
41221 MVT::v8i16, 2, 9,
41222 7, MVT::v4i32,
41223 OPC_CheckPatternPredicate1,
41224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
41225 MVT::v4i32, 2, 9,
41226 7, MVT::v2i64,
41227 OPC_CheckPatternPredicate1,
41228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
41229 MVT::v2i64, 2, 9,
41230 7, MVT::v32i8,
41231 OPC_CheckPatternPredicate0,
41232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_B),
41233 MVT::v32i8, 2, 9,
41234 7, MVT::v16i16,
41235 OPC_CheckPatternPredicate0,
41236 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_H),
41237 MVT::v16i16, 2, 9,
41238 7, MVT::v8i32,
41239 OPC_CheckPatternPredicate0,
41240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
41241 MVT::v8i32, 2, 9,
41242 7, MVT::v4i64,
41243 OPC_CheckPatternPredicate0,
41244 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
41245 MVT::v4i64, 2, 9,
41246 8, 8|128,1,
41247 OPC_CheckPatternPredicate1,
41248 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
41249 8|128,1, 2, 9,
41250 8, 26|128,1,
41251 OPC_CheckPatternPredicate1,
41252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
41253 26|128,1, 2, 9,
41254 8, 12|128,1,
41255 OPC_CheckPatternPredicate0,
41256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
41257 12|128,1, 2, 9,
41258 8, 28|128,1,
41259 OPC_CheckPatternPredicate0,
41260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
41261 28|128,1, 2, 9,
41262 0,
41263 116, TARGET_VAL(ISD::FP_TO_SINT),
41264 OPC_RecordChild0,
41265 OPC_SwitchType , 53, MVT::v4i32,
41266 OPC_Scope, 10,
41267 OPC_CheckChild0Type, 8|128,1,
41268 OPC_CheckPatternPredicate1,
41269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
41270 MVT::v4i32, 1, 1,
41271 39,
41272 OPC_CheckChild0Type, 28|128,1,
41273 OPC_CheckPatternPredicate0,
41274 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
41275 MVT::v32i8, 1, 1,
41276 OPC_EmitIntegerByHwMode0, 110|128,1,
41277 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
41278 MVT::v32i8, 2, 25,
41279 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
41280 MVT::v32i8, 1, 1,
41281 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
41282 MVT::v32i8, 2, 76,
41283 OPC_EmitIntegerI32, LoongArch::sub_128,
41284 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
41285 MVT::v4i32, 2, 114,
41286 0,
41287 7, MVT::v2i64,
41288 OPC_CheckPatternPredicate1,
41289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_L_D),
41290 MVT::v2i64, 1, 1,
41291 7, MVT::v8i32,
41292 OPC_CheckPatternPredicate0,
41293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
41294 MVT::v8i32, 1, 1,
41295 38, MVT::v4i64,
41296 OPC_Scope, 10,
41297 OPC_CheckChild0Type, 28|128,1,
41298 OPC_CheckPatternPredicate0,
41299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
41300 MVT::v4i64, 1, 1,
41301 24,
41302 OPC_CheckChild0Type, 8|128,1,
41303 OPC_CheckPatternPredicate0,
41304 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
41305 MVT::v16i8, 1, 1,
41306 OPC_EmitIntegerI32, LoongArch::sub_128,
41307 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41308 MVT::v32i8, 2, 25,
41309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
41310 MVT::v4i64, 1, 35,
41311 0,
41312 0,
41313 116, TARGET_VAL(ISD::FP_TO_UINT),
41314 OPC_RecordChild0,
41315 OPC_SwitchType , 53, MVT::v4i32,
41316 OPC_Scope, 10,
41317 OPC_CheckChild0Type, 8|128,1,
41318 OPC_CheckPatternPredicate1,
41319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
41320 MVT::v4i32, 1, 1,
41321 39,
41322 OPC_CheckChild0Type, 28|128,1,
41323 OPC_CheckPatternPredicate0,
41324 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
41325 MVT::v32i8, 1, 1,
41326 OPC_EmitIntegerByHwMode0, 110|128,1,
41327 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
41328 MVT::v32i8, 2, 25,
41329 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
41330 MVT::v32i8, 1, 1,
41331 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
41332 MVT::v32i8, 2, 76,
41333 OPC_EmitIntegerI32, LoongArch::sub_128,
41334 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
41335 MVT::v4i32, 2, 114,
41336 0,
41337 7, MVT::v2i64,
41338 OPC_CheckPatternPredicate1,
41339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_LU_D),
41340 MVT::v2i64, 1, 1,
41341 7, MVT::v8i32,
41342 OPC_CheckPatternPredicate0,
41343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_WU_S),
41344 MVT::v8i32, 1, 1,
41345 38, MVT::v4i64,
41346 OPC_Scope, 10,
41347 OPC_CheckChild0Type, 28|128,1,
41348 OPC_CheckPatternPredicate0,
41349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
41350 MVT::v4i64, 1, 1,
41351 24,
41352 OPC_CheckChild0Type, 8|128,1,
41353 OPC_CheckPatternPredicate0,
41354 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
41355 MVT::v16i8, 1, 1,
41356 OPC_EmitIntegerI32, LoongArch::sub_128,
41357 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41358 MVT::v32i8, 2, 25,
41359 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
41360 MVT::v4i64, 1, 35,
41361 0,
41362 0,
41363 29, TARGET_VAL(LoongArchISD::VFTINTRZ),
41364 OPC_RecordChild0,
41365 OPC_SwitchType , 11, MVT::v4i32,
41366 OPC_CheckChild0Type, 26|128,1,
41367 OPC_RecordChild1,
41368 OPC_CheckPatternPredicate1,
41369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_D),
41370 MVT::v4i32, 2, 9,
41371 11, MVT::v8i32,
41372 OPC_CheckChild0Type, 28|128,1,
41373 OPC_RecordChild1,
41374 OPC_CheckPatternPredicate0,
41375 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_D),
41376 MVT::v8i32, 2, 9,
41377 0,
41378 76, TARGET_VAL(ISD::AVGFLOORS),
41379 OPC_RecordChild0,
41380 OPC_RecordChild1,
41381 OPC_SwitchType , 7, MVT::v16i8,
41382 OPC_CheckPatternPredicate1,
41383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_B),
41384 MVT::v16i8, 2, 9,
41385 7, MVT::v8i16,
41386 OPC_CheckPatternPredicate1,
41387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_H),
41388 MVT::v8i16, 2, 9,
41389 7, MVT::v4i32,
41390 OPC_CheckPatternPredicate1,
41391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_W),
41392 MVT::v4i32, 2, 9,
41393 7, MVT::v2i64,
41394 OPC_CheckPatternPredicate1,
41395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_D),
41396 MVT::v2i64, 2, 9,
41397 7, MVT::v32i8,
41398 OPC_CheckPatternPredicate0,
41399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_B),
41400 MVT::v32i8, 2, 9,
41401 7, MVT::v16i16,
41402 OPC_CheckPatternPredicate0,
41403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_H),
41404 MVT::v16i16, 2, 9,
41405 7, MVT::v8i32,
41406 OPC_CheckPatternPredicate0,
41407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_W),
41408 MVT::v8i32, 2, 9,
41409 7, MVT::v4i64,
41410 OPC_CheckPatternPredicate0,
41411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_D),
41412 MVT::v4i64, 2, 9,
41413 0,
41414 76, TARGET_VAL(ISD::AVGCEILS),
41415 OPC_RecordChild0,
41416 OPC_RecordChild1,
41417 OPC_SwitchType , 7, MVT::v16i8,
41418 OPC_CheckPatternPredicate1,
41419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_B),
41420 MVT::v16i8, 2, 9,
41421 7, MVT::v8i16,
41422 OPC_CheckPatternPredicate1,
41423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_H),
41424 MVT::v8i16, 2, 9,
41425 7, MVT::v4i32,
41426 OPC_CheckPatternPredicate1,
41427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_W),
41428 MVT::v4i32, 2, 9,
41429 7, MVT::v2i64,
41430 OPC_CheckPatternPredicate1,
41431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_D),
41432 MVT::v2i64, 2, 9,
41433 7, MVT::v32i8,
41434 OPC_CheckPatternPredicate0,
41435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_B),
41436 MVT::v32i8, 2, 9,
41437 7, MVT::v16i16,
41438 OPC_CheckPatternPredicate0,
41439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_H),
41440 MVT::v16i16, 2, 9,
41441 7, MVT::v8i32,
41442 OPC_CheckPatternPredicate0,
41443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_W),
41444 MVT::v8i32, 2, 9,
41445 7, MVT::v4i64,
41446 OPC_CheckPatternPredicate0,
41447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_D),
41448 MVT::v4i64, 2, 9,
41449 0,
41450 76, TARGET_VAL(ISD::AVGFLOORU),
41451 OPC_RecordChild0,
41452 OPC_RecordChild1,
41453 OPC_SwitchType , 7, MVT::v16i8,
41454 OPC_CheckPatternPredicate1,
41455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_BU),
41456 MVT::v16i8, 2, 9,
41457 7, MVT::v8i16,
41458 OPC_CheckPatternPredicate1,
41459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_HU),
41460 MVT::v8i16, 2, 9,
41461 7, MVT::v4i32,
41462 OPC_CheckPatternPredicate1,
41463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_WU),
41464 MVT::v4i32, 2, 9,
41465 7, MVT::v2i64,
41466 OPC_CheckPatternPredicate1,
41467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_DU),
41468 MVT::v2i64, 2, 9,
41469 7, MVT::v32i8,
41470 OPC_CheckPatternPredicate0,
41471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_BU),
41472 MVT::v32i8, 2, 9,
41473 7, MVT::v16i16,
41474 OPC_CheckPatternPredicate0,
41475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_HU),
41476 MVT::v16i16, 2, 9,
41477 7, MVT::v8i32,
41478 OPC_CheckPatternPredicate0,
41479 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_WU),
41480 MVT::v8i32, 2, 9,
41481 7, MVT::v4i64,
41482 OPC_CheckPatternPredicate0,
41483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_DU),
41484 MVT::v4i64, 2, 9,
41485 0,
41486 76, TARGET_VAL(ISD::AVGCEILU),
41487 OPC_RecordChild0,
41488 OPC_RecordChild1,
41489 OPC_SwitchType , 7, MVT::v16i8,
41490 OPC_CheckPatternPredicate1,
41491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_BU),
41492 MVT::v16i8, 2, 9,
41493 7, MVT::v8i16,
41494 OPC_CheckPatternPredicate1,
41495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_HU),
41496 MVT::v8i16, 2, 9,
41497 7, MVT::v4i32,
41498 OPC_CheckPatternPredicate1,
41499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_WU),
41500 MVT::v4i32, 2, 9,
41501 7, MVT::v2i64,
41502 OPC_CheckPatternPredicate1,
41503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_DU),
41504 MVT::v2i64, 2, 9,
41505 7, MVT::v32i8,
41506 OPC_CheckPatternPredicate0,
41507 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_BU),
41508 MVT::v32i8, 2, 9,
41509 7, MVT::v16i16,
41510 OPC_CheckPatternPredicate0,
41511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_HU),
41512 MVT::v16i16, 2, 9,
41513 7, MVT::v8i32,
41514 OPC_CheckPatternPredicate0,
41515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_WU),
41516 MVT::v8i32, 2, 9,
41517 7, MVT::v4i64,
41518 OPC_CheckPatternPredicate0,
41519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_DU),
41520 MVT::v4i64, 2, 9,
41521 0,
41522 75, TARGET_VAL(ISD::ABS),
41523 OPC_RecordChild0,
41524 OPC_SwitchType , 7, MVT::v16i8,
41525 OPC_CheckPatternPredicate1,
41526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_B),
41527 MVT::v16i8, 2, 0,
41528 7, MVT::v8i16,
41529 OPC_CheckPatternPredicate1,
41530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_H),
41531 MVT::v8i16, 2, 0,
41532 7, MVT::v4i32,
41533 OPC_CheckPatternPredicate1,
41534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_W),
41535 MVT::v4i32, 2, 0,
41536 7, MVT::v2i64,
41537 OPC_CheckPatternPredicate1,
41538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_D),
41539 MVT::v2i64, 2, 0,
41540 7, MVT::v32i8,
41541 OPC_CheckPatternPredicate0,
41542 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_B),
41543 MVT::v32i8, 2, 0,
41544 7, MVT::v16i16,
41545 OPC_CheckPatternPredicate0,
41546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_H),
41547 MVT::v16i16, 2, 0,
41548 7, MVT::v8i32,
41549 OPC_CheckPatternPredicate0,
41550 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_W),
41551 MVT::v8i32, 2, 0,
41552 7, MVT::v4i64,
41553 OPC_CheckPatternPredicate0,
41554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_D),
41555 MVT::v4i64, 2, 0,
41556 0,
41557 76, TARGET_VAL(ISD::ABDS),
41558 OPC_RecordChild0,
41559 OPC_RecordChild1,
41560 OPC_SwitchType , 7, MVT::v16i8,
41561 OPC_CheckPatternPredicate1,
41562 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_B),
41563 MVT::v16i8, 2, 9,
41564 7, MVT::v8i16,
41565 OPC_CheckPatternPredicate1,
41566 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_H),
41567 MVT::v8i16, 2, 9,
41568 7, MVT::v4i32,
41569 OPC_CheckPatternPredicate1,
41570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_W),
41571 MVT::v4i32, 2, 9,
41572 7, MVT::v2i64,
41573 OPC_CheckPatternPredicate1,
41574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_D),
41575 MVT::v2i64, 2, 9,
41576 7, MVT::v32i8,
41577 OPC_CheckPatternPredicate0,
41578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_B),
41579 MVT::v32i8, 2, 9,
41580 7, MVT::v16i16,
41581 OPC_CheckPatternPredicate0,
41582 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_H),
41583 MVT::v16i16, 2, 9,
41584 7, MVT::v8i32,
41585 OPC_CheckPatternPredicate0,
41586 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_W),
41587 MVT::v8i32, 2, 9,
41588 7, MVT::v4i64,
41589 OPC_CheckPatternPredicate0,
41590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_D),
41591 MVT::v4i64, 2, 9,
41592 0,
41593 76, TARGET_VAL(ISD::ABDU),
41594 OPC_RecordChild0,
41595 OPC_RecordChild1,
41596 OPC_SwitchType , 7, MVT::v16i8,
41597 OPC_CheckPatternPredicate1,
41598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_BU),
41599 MVT::v16i8, 2, 9,
41600 7, MVT::v8i16,
41601 OPC_CheckPatternPredicate1,
41602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_HU),
41603 MVT::v8i16, 2, 9,
41604 7, MVT::v4i32,
41605 OPC_CheckPatternPredicate1,
41606 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_WU),
41607 MVT::v4i32, 2, 9,
41608 7, MVT::v2i64,
41609 OPC_CheckPatternPredicate1,
41610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_DU),
41611 MVT::v2i64, 2, 9,
41612 7, MVT::v32i8,
41613 OPC_CheckPatternPredicate0,
41614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_BU),
41615 MVT::v32i8, 2, 9,
41616 7, MVT::v16i16,
41617 OPC_CheckPatternPredicate0,
41618 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_HU),
41619 MVT::v16i16, 2, 9,
41620 7, MVT::v8i32,
41621 OPC_CheckPatternPredicate0,
41622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_WU),
41623 MVT::v8i32, 2, 9,
41624 7, MVT::v4i64,
41625 OPC_CheckPatternPredicate0,
41626 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_DU),
41627 MVT::v4i64, 2, 9,
41628 0,
41629 76, TARGET_VAL(ISD::SADDSAT),
41630 OPC_RecordChild0,
41631 OPC_RecordChild1,
41632 OPC_SwitchType , 7, MVT::v16i8,
41633 OPC_CheckPatternPredicate1,
41634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_B),
41635 MVT::v16i8, 2, 9,
41636 7, MVT::v8i16,
41637 OPC_CheckPatternPredicate1,
41638 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_H),
41639 MVT::v8i16, 2, 9,
41640 7, MVT::v4i32,
41641 OPC_CheckPatternPredicate1,
41642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_W),
41643 MVT::v4i32, 2, 9,
41644 7, MVT::v2i64,
41645 OPC_CheckPatternPredicate1,
41646 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_D),
41647 MVT::v2i64, 2, 9,
41648 7, MVT::v32i8,
41649 OPC_CheckPatternPredicate0,
41650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_B),
41651 MVT::v32i8, 2, 9,
41652 7, MVT::v16i16,
41653 OPC_CheckPatternPredicate0,
41654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_H),
41655 MVT::v16i16, 2, 9,
41656 7, MVT::v8i32,
41657 OPC_CheckPatternPredicate0,
41658 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_W),
41659 MVT::v8i32, 2, 9,
41660 7, MVT::v4i64,
41661 OPC_CheckPatternPredicate0,
41662 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_D),
41663 MVT::v4i64, 2, 9,
41664 0,
41665 76, TARGET_VAL(ISD::SSUBSAT),
41666 OPC_RecordChild0,
41667 OPC_RecordChild1,
41668 OPC_SwitchType , 7, MVT::v16i8,
41669 OPC_CheckPatternPredicate1,
41670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_B),
41671 MVT::v16i8, 2, 9,
41672 7, MVT::v8i16,
41673 OPC_CheckPatternPredicate1,
41674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_H),
41675 MVT::v8i16, 2, 9,
41676 7, MVT::v4i32,
41677 OPC_CheckPatternPredicate1,
41678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_W),
41679 MVT::v4i32, 2, 9,
41680 7, MVT::v2i64,
41681 OPC_CheckPatternPredicate1,
41682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_D),
41683 MVT::v2i64, 2, 9,
41684 7, MVT::v32i8,
41685 OPC_CheckPatternPredicate0,
41686 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_B),
41687 MVT::v32i8, 2, 9,
41688 7, MVT::v16i16,
41689 OPC_CheckPatternPredicate0,
41690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_H),
41691 MVT::v16i16, 2, 9,
41692 7, MVT::v8i32,
41693 OPC_CheckPatternPredicate0,
41694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_W),
41695 MVT::v8i32, 2, 9,
41696 7, MVT::v4i64,
41697 OPC_CheckPatternPredicate0,
41698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_D),
41699 MVT::v4i64, 2, 9,
41700 0,
41701 76, TARGET_VAL(ISD::UADDSAT),
41702 OPC_RecordChild0,
41703 OPC_RecordChild1,
41704 OPC_SwitchType , 7, MVT::v16i8,
41705 OPC_CheckPatternPredicate1,
41706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_BU),
41707 MVT::v16i8, 2, 9,
41708 7, MVT::v8i16,
41709 OPC_CheckPatternPredicate1,
41710 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_HU),
41711 MVT::v8i16, 2, 9,
41712 7, MVT::v4i32,
41713 OPC_CheckPatternPredicate1,
41714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_WU),
41715 MVT::v4i32, 2, 9,
41716 7, MVT::v2i64,
41717 OPC_CheckPatternPredicate1,
41718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_DU),
41719 MVT::v2i64, 2, 9,
41720 7, MVT::v32i8,
41721 OPC_CheckPatternPredicate0,
41722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_BU),
41723 MVT::v32i8, 2, 9,
41724 7, MVT::v16i16,
41725 OPC_CheckPatternPredicate0,
41726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_HU),
41727 MVT::v16i16, 2, 9,
41728 7, MVT::v8i32,
41729 OPC_CheckPatternPredicate0,
41730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_WU),
41731 MVT::v8i32, 2, 9,
41732 7, MVT::v4i64,
41733 OPC_CheckPatternPredicate0,
41734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_DU),
41735 MVT::v4i64, 2, 9,
41736 0,
41737 76, TARGET_VAL(ISD::USUBSAT),
41738 OPC_RecordChild0,
41739 OPC_RecordChild1,
41740 OPC_SwitchType , 7, MVT::v16i8,
41741 OPC_CheckPatternPredicate1,
41742 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_BU),
41743 MVT::v16i8, 2, 9,
41744 7, MVT::v8i16,
41745 OPC_CheckPatternPredicate1,
41746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_HU),
41747 MVT::v8i16, 2, 9,
41748 7, MVT::v4i32,
41749 OPC_CheckPatternPredicate1,
41750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_WU),
41751 MVT::v4i32, 2, 9,
41752 7, MVT::v2i64,
41753 OPC_CheckPatternPredicate1,
41754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_DU),
41755 MVT::v2i64, 2, 9,
41756 7, MVT::v32i8,
41757 OPC_CheckPatternPredicate0,
41758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_BU),
41759 MVT::v32i8, 2, 9,
41760 7, MVT::v16i16,
41761 OPC_CheckPatternPredicate0,
41762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_HU),
41763 MVT::v16i16, 2, 9,
41764 7, MVT::v8i32,
41765 OPC_CheckPatternPredicate0,
41766 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_WU),
41767 MVT::v8i32, 2, 9,
41768 7, MVT::v4i64,
41769 OPC_CheckPatternPredicate0,
41770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_DU),
41771 MVT::v4i64, 2, 9,
41772 0,
41773 26, TARGET_VAL(LoongArchISD::XVPERM),
41774 OPC_RecordChild0,
41775 OPC_RecordChild1,
41776 OPC_CheckChild1Type, MVT::v8i32,
41777 OPC_SwitchType , 7, MVT::v8i32,
41778 OPC_CheckPatternPredicate0,
41779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
41780 MVT::v8i32, 2, 9,
41781 8, 12|128,1,
41782 OPC_CheckPatternPredicate0,
41783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
41784 12|128,1, 2, 9,
41785 0,
41786 61, TARGET_VAL(LoongArchISD::XVREPLVE0),
41787 OPC_RecordChild0,
41788 OPC_SwitchType , 7, MVT::v32i8,
41789 OPC_CheckPatternPredicate0,
41790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_B),
41791 MVT::v32i8, 1, 1,
41792 7, MVT::v16i16,
41793 OPC_CheckPatternPredicate0,
41794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_H),
41795 MVT::v16i16, 1, 1,
41796 7, MVT::v8i32,
41797 OPC_CheckPatternPredicate0,
41798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
41799 MVT::v8i32, 1, 1,
41800 7, MVT::v4i64,
41801 OPC_CheckPatternPredicate0,
41802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
41803 MVT::v4i64, 1, 1,
41804 8, 12|128,1,
41805 OPC_CheckPatternPredicate0,
41806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
41807 12|128,1, 1, 1,
41808 8, 28|128,1,
41809 OPC_CheckPatternPredicate0,
41810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
41811 28|128,1, 1, 1,
41812 0,
41813 61, TARGET_VAL(LoongArchISD::XVREPLVE0Q),
41814 OPC_RecordChild0,
41815 OPC_SwitchType , 7, MVT::v32i8,
41816 OPC_CheckPatternPredicate0,
41817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
41818 MVT::v32i8, 1, 1,
41819 7, MVT::v16i16,
41820 OPC_CheckPatternPredicate0,
41821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
41822 MVT::v16i16, 1, 1,
41823 7, MVT::v8i32,
41824 OPC_CheckPatternPredicate0,
41825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
41826 MVT::v8i32, 1, 1,
41827 7, MVT::v4i64,
41828 OPC_CheckPatternPredicate0,
41829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
41830 MVT::v4i64, 1, 1,
41831 8, 12|128,1,
41832 OPC_CheckPatternPredicate0,
41833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
41834 12|128,1, 1, 1,
41835 8, 28|128,1,
41836 OPC_CheckPatternPredicate0,
41837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
41838 28|128,1, 1, 1,
41839 0,
41840 122|128,1, TARGET_VAL(ISD::SIGN_EXTEND_VECTOR_INREG),
41841 OPC_RecordChild0,
41842 OPC_Scope, 31,
41843 OPC_CheckChild0Type, MVT::v32i8,
41844 OPC_SwitchType , 7, MVT::v4i64,
41845 OPC_CheckPatternPredicate0,
41846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_B),
41847 MVT::v4i64, 1, 1,
41848 7, MVT::v16i16,
41849 OPC_CheckPatternPredicate0,
41850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
41851 MVT::v16i16, 1, 1,
41852 7, MVT::v8i32,
41853 OPC_CheckPatternPredicate0,
41854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
41855 MVT::v8i32, 1, 1,
41856 0,
41857 22,
41858 OPC_CheckChild0Type, MVT::v16i16,
41859 OPC_SwitchType , 7, MVT::v4i64,
41860 OPC_CheckPatternPredicate0,
41861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_H),
41862 MVT::v4i64, 1, 1,
41863 7, MVT::v8i32,
41864 OPC_CheckPatternPredicate0,
41865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
41866 MVT::v8i32, 1, 1,
41867 0,
41868 11,
41869 OPC_CheckChild0Type, MVT::v8i32,
41870 OPC_CheckType, MVT::v4i64,
41871 OPC_CheckPatternPredicate0,
41872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
41873 MVT::v4i64, 1, 1,
41874 96,
41875 OPC_CheckChild0Type, MVT::v16i8,
41876 OPC_SwitchType , 15, MVT::v8i32,
41877 OPC_CheckPatternPredicate0,
41878 OPC_EmitIntegerI32, LoongArch::sub_128,
41879 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41880 MVT::v32i8, 2, 9,
41881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
41882 MVT::v8i32, 1, 23,
41883 23, MVT::v2i64,
41884 OPC_CheckPatternPredicate0,
41885 OPC_EmitIntegerI32, LoongArch::sub_128,
41886 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41887 MVT::v32i8, 2, 9,
41888 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_D_B),
41889 MVT::v32i8, 1, 23,
41890 OPC_EmitIntegerI32, LoongArch::sub_128,
41891 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
41892 MVT::v2i64, 2, 76,
41893 23, MVT::v4i32,
41894 OPC_CheckPatternPredicate0,
41895 OPC_EmitIntegerI32, LoongArch::sub_128,
41896 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41897 MVT::v32i8, 2, 9,
41898 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
41899 MVT::v32i8, 1, 23,
41900 OPC_EmitIntegerI32, LoongArch::sub_128,
41901 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
41902 MVT::v4i32, 2, 76,
41903 23, MVT::v8i16,
41904 OPC_CheckPatternPredicate0,
41905 OPC_EmitIntegerI32, LoongArch::sub_128,
41906 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41907 MVT::v32i8, 2, 9,
41908 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
41909 MVT::v32i8, 1, 23,
41910 OPC_EmitIntegerI32, LoongArch::sub_128,
41911 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
41912 MVT::v8i16, 2, 76,
41913 0,
41914 54,
41915 OPC_CheckChild0Type, MVT::v8i16,
41916 OPC_SwitchType , 23, MVT::v2i64,
41917 OPC_CheckPatternPredicate0,
41918 OPC_EmitIntegerI32, LoongArch::sub_128,
41919 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41920 MVT::v32i8, 2, 9,
41921 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_D_H),
41922 MVT::v32i8, 1, 23,
41923 OPC_EmitIntegerI32, LoongArch::sub_128,
41924 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
41925 MVT::v2i64, 2, 76,
41926 23, MVT::v4i32,
41927 OPC_CheckPatternPredicate0,
41928 OPC_EmitIntegerI32, LoongArch::sub_128,
41929 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41930 MVT::v32i8, 2, 9,
41931 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
41932 MVT::v32i8, 1, 23,
41933 OPC_EmitIntegerI32, LoongArch::sub_128,
41934 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
41935 MVT::v4i32, 2, 76,
41936 0,
41937 27,
41938 OPC_CheckChild0Type, MVT::v4i32,
41939 OPC_CheckType, MVT::v2i64,
41940 OPC_CheckPatternPredicate0,
41941 OPC_EmitIntegerI32, LoongArch::sub_128,
41942 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41943 MVT::v32i8, 2, 9,
41944 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
41945 MVT::v32i8, 1, 23,
41946 OPC_EmitIntegerI32, LoongArch::sub_128,
41947 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
41948 MVT::v2i64, 2, 76,
41949 0,
41950 122|128,1, TARGET_VAL(ISD::ZERO_EXTEND_VECTOR_INREG),
41951 OPC_RecordChild0,
41952 OPC_Scope, 31,
41953 OPC_CheckChild0Type, MVT::v32i8,
41954 OPC_SwitchType , 7, MVT::v4i64,
41955 OPC_CheckPatternPredicate0,
41956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_BU),
41957 MVT::v4i64, 1, 1,
41958 7, MVT::v16i16,
41959 OPC_CheckPatternPredicate0,
41960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
41961 MVT::v16i16, 1, 1,
41962 7, MVT::v8i32,
41963 OPC_CheckPatternPredicate0,
41964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
41965 MVT::v8i32, 1, 1,
41966 0,
41967 22,
41968 OPC_CheckChild0Type, MVT::v16i16,
41969 OPC_SwitchType , 7, MVT::v4i64,
41970 OPC_CheckPatternPredicate0,
41971 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_HU),
41972 MVT::v4i64, 1, 1,
41973 7, MVT::v8i32,
41974 OPC_CheckPatternPredicate0,
41975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
41976 MVT::v8i32, 1, 1,
41977 0,
41978 11,
41979 OPC_CheckChild0Type, MVT::v8i32,
41980 OPC_CheckType, MVT::v4i64,
41981 OPC_CheckPatternPredicate0,
41982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
41983 MVT::v4i64, 1, 1,
41984 96,
41985 OPC_CheckChild0Type, MVT::v16i8,
41986 OPC_SwitchType , 15, MVT::v8i32,
41987 OPC_CheckPatternPredicate0,
41988 OPC_EmitIntegerI32, LoongArch::sub_128,
41989 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41990 MVT::v32i8, 2, 9,
41991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
41992 MVT::v8i32, 1, 23,
41993 23, MVT::v2i64,
41994 OPC_CheckPatternPredicate0,
41995 OPC_EmitIntegerI32, LoongArch::sub_128,
41996 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41997 MVT::v32i8, 2, 9,
41998 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_DU_BU),
41999 MVT::v32i8, 1, 23,
42000 OPC_EmitIntegerI32, LoongArch::sub_128,
42001 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42002 MVT::v2i64, 2, 76,
42003 23, MVT::v4i32,
42004 OPC_CheckPatternPredicate0,
42005 OPC_EmitIntegerI32, LoongArch::sub_128,
42006 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42007 MVT::v32i8, 2, 9,
42008 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
42009 MVT::v32i8, 1, 23,
42010 OPC_EmitIntegerI32, LoongArch::sub_128,
42011 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42012 MVT::v4i32, 2, 76,
42013 23, MVT::v8i16,
42014 OPC_CheckPatternPredicate0,
42015 OPC_EmitIntegerI32, LoongArch::sub_128,
42016 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42017 MVT::v32i8, 2, 9,
42018 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
42019 MVT::v32i8, 1, 23,
42020 OPC_EmitIntegerI32, LoongArch::sub_128,
42021 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42022 MVT::v8i16, 2, 76,
42023 0,
42024 54,
42025 OPC_CheckChild0Type, MVT::v8i16,
42026 OPC_SwitchType , 23, MVT::v2i64,
42027 OPC_CheckPatternPredicate0,
42028 OPC_EmitIntegerI32, LoongArch::sub_128,
42029 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42030 MVT::v32i8, 2, 9,
42031 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_DU_HU),
42032 MVT::v32i8, 1, 23,
42033 OPC_EmitIntegerI32, LoongArch::sub_128,
42034 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42035 MVT::v2i64, 2, 76,
42036 23, MVT::v4i32,
42037 OPC_CheckPatternPredicate0,
42038 OPC_EmitIntegerI32, LoongArch::sub_128,
42039 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42040 MVT::v32i8, 2, 9,
42041 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
42042 MVT::v32i8, 1, 23,
42043 OPC_EmitIntegerI32, LoongArch::sub_128,
42044 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42045 MVT::v4i32, 2, 76,
42046 0,
42047 27,
42048 OPC_CheckChild0Type, MVT::v4i32,
42049 OPC_CheckType, MVT::v2i64,
42050 OPC_CheckPatternPredicate0,
42051 OPC_EmitIntegerI32, LoongArch::sub_128,
42052 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42053 MVT::v32i8, 2, 9,
42054 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
42055 MVT::v32i8, 1, 23,
42056 OPC_EmitIntegerI32, LoongArch::sub_128,
42057 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42058 MVT::v2i64, 2, 76,
42059 0,
42060 54, TARGET_VAL(ISD::SIGN_EXTEND),
42061 OPC_RecordChild0,
42062 OPC_SwitchType , 15, MVT::v4i64,
42063 OPC_CheckPatternPredicate0,
42064 OPC_EmitIntegerI32, LoongArch::sub_128,
42065 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42066 MVT::v32i8, 2, 9,
42067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
42068 MVT::v4i64, 1, 23,
42069 15, MVT::v8i32,
42070 OPC_CheckPatternPredicate0,
42071 OPC_EmitIntegerI32, LoongArch::sub_128,
42072 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42073 MVT::v32i8, 2, 9,
42074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
42075 MVT::v8i32, 1, 23,
42076 15, MVT::v16i16,
42077 OPC_CheckPatternPredicate0,
42078 OPC_EmitIntegerI32, LoongArch::sub_128,
42079 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42080 MVT::v32i8, 2, 9,
42081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
42082 MVT::v16i16, 1, 23,
42083 0,
42084 54, TARGET_VAL(ISD::ZERO_EXTEND),
42085 OPC_RecordChild0,
42086 OPC_SwitchType , 15, MVT::v4i64,
42087 OPC_CheckPatternPredicate0,
42088 OPC_EmitIntegerI32, LoongArch::sub_128,
42089 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42090 MVT::v32i8, 2, 9,
42091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
42092 MVT::v4i64, 1, 23,
42093 15, MVT::v8i32,
42094 OPC_CheckPatternPredicate0,
42095 OPC_EmitIntegerI32, LoongArch::sub_128,
42096 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42097 MVT::v32i8, 2, 9,
42098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
42099 MVT::v8i32, 1, 23,
42100 15, MVT::v16i16,
42101 OPC_CheckPatternPredicate0,
42102 OPC_EmitIntegerI32, LoongArch::sub_128,
42103 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42104 MVT::v32i8, 2, 9,
42105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
42106 MVT::v16i16, 1, 23,
42107 0,
42108 81, TARGET_VAL(ISD::TRUNCATE),
42109 OPC_RecordChild0,
42110 OPC_SwitchType , 24, MVT::v4i32,
42111 OPC_CheckPatternPredicate0,
42112 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
42113 MVT::v32i8, 2, 0,
42114 OPC_EmitIntegerByHwMode0, 88|128,1,
42115 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
42116 MVT::v32i8, 2, 25,
42117 OPC_EmitIntegerI32, LoongArch::sub_128,
42118 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42119 MVT::v4i32, 2, 76,
42120 24, MVT::v8i16,
42121 OPC_CheckPatternPredicate0,
42122 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_H),
42123 MVT::v32i8, 2, 0,
42124 OPC_EmitIntegerByHwMode0, 88|128,1,
42125 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
42126 MVT::v32i8, 2, 25,
42127 OPC_EmitIntegerI32, LoongArch::sub_128,
42128 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42129 MVT::v8i16, 2, 76,
42130 24, MVT::v16i8,
42131 OPC_CheckPatternPredicate0,
42132 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_B),
42133 MVT::v32i8, 2, 0,
42134 OPC_EmitIntegerByHwMode0, 88|128,1,
42135 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
42136 MVT::v32i8, 2, 25,
42137 OPC_EmitIntegerI32, LoongArch::sub_128,
42138 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42139 MVT::v16i8, 2, 76,
42140 0,
42141 65, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
42142 OPC_RecordChild0,
42143 OPC_Scope, 30,
42144 OPC_CheckChild0Type, MVT::f32,
42145 OPC_SwitchType , 10, 8|128,1,
42146 OPC_CheckPatternPredicate1,
42147 OPC_EmitIntegerI32, LoongArch::sub_32,
42148 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42149 8|128,1, 2, 9,
42150 10, 12|128,1,
42151 OPC_CheckPatternPredicate0,
42152 OPC_EmitIntegerI32, LoongArch::sub_32,
42153 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42154 12|128,1, 2, 9,
42155 0,
42156 30,
42157 OPC_CheckChild0Type, MVT::f64,
42158 OPC_SwitchType , 10, 26|128,1,
42159 OPC_CheckPatternPredicate1,
42160 OPC_EmitIntegerI32, LoongArch::sub_64,
42161 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42162 26|128,1, 2, 9,
42163 10, 28|128,1,
42164 OPC_CheckPatternPredicate0,
42165 OPC_EmitIntegerI32, LoongArch::sub_64,
42166 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42167 28|128,1, 2, 9,
42168 0,
42169 0,
42170 31, TARGET_VAL(LoongArchISD::VFFINT),
42171 OPC_RecordChild0,
42172 OPC_SwitchType , 11, 8|128,1,
42173 OPC_CheckChild0Type, MVT::v2i64,
42174 OPC_RecordChild1,
42175 OPC_CheckPatternPredicate1,
42176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_L),
42177 8|128,1, 2, 9,
42178 11, 12|128,1,
42179 OPC_CheckChild0Type, MVT::v4i64,
42180 OPC_RecordChild1,
42181 OPC_CheckPatternPredicate0,
42182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_L),
42183 12|128,1, 2, 9,
42184 0,
42185 33, TARGET_VAL(LoongArchISD::VFCVT),
42186 OPC_RecordChild0,
42187 OPC_SwitchType , 12, 8|128,1,
42188 OPC_CheckChild0Type, 26|128,1,
42189 OPC_RecordChild1,
42190 OPC_CheckPatternPredicate1,
42191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_S_D),
42192 8|128,1, 2, 9,
42193 12, 12|128,1,
42194 OPC_CheckChild0Type, 28|128,1,
42195 OPC_RecordChild1,
42196 OPC_CheckPatternPredicate0,
42197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
42198 12|128,1, 2, 9,
42199 0,
42200 31, TARGET_VAL(LoongArchISD::VFCVTL),
42201 OPC_RecordChild0,
42202 OPC_SwitchType , 11, 26|128,1,
42203 OPC_CheckChild0Type, 8|128,1,
42204 OPC_CheckPatternPredicate1,
42205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_D_S),
42206 26|128,1, 1, 1,
42207 11, 28|128,1,
42208 OPC_CheckChild0Type, 12|128,1,
42209 OPC_CheckPatternPredicate0,
42210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_D_S),
42211 28|128,1, 1, 1,
42212 0,
42213 31, TARGET_VAL(LoongArchISD::VFCVTH),
42214 OPC_RecordChild0,
42215 OPC_SwitchType , 11, 26|128,1,
42216 OPC_CheckChild0Type, 8|128,1,
42217 OPC_CheckPatternPredicate1,
42218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_D_S),
42219 26|128,1, 1, 1,
42220 11, 28|128,1,
42221 OPC_CheckChild0Type, 12|128,1,
42222 OPC_CheckPatternPredicate0,
42223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_D_S),
42224 28|128,1, 1, 1,
42225 0,
42226 0,
42227 }; // Total Array size is 82667 bytes
42228
42229 static const uint8_t OperandLists[] = {
42230 /* 0 */ 0, 0,
42231 /* 2 */ 2, 1, 0,
42232 /* 5 */ 1, 2, 0,
42233 /* 8 */ 0, 0, 1,
42234 /* 11 */ 2, 0, 1,
42235 /* 14 */ 2, 1,
42236 /* 16 */ 2, 3, 1,
42237 /* 19 */ 4, 1,
42238 /* 21 */ 1, 0, 2,
42239 /* 24 */ 0, 1, 2,
42240 /* 27 */ 1, 3, 2,
42241 /* 30 */ 1, 4, 2,
42242 /* 33 */ 0, 0, 3,
42243 /* 36 */ 1, 0, 3,
42244 /* 39 */ 2, 0, 3,
42245 /* 42 */ 0, 1, 3,
42246 /* 45 */ 2, 1, 3,
42247 /* 48 */ 0, 2, 3,
42248 /* 51 */ 1, 2, 3,
42249 /* 54 */ 4, 2, 3,
42250 /* 57 */ 1, 4, 5, 2, 3,
42251 /* 62 */ 1, 4, 3,
42252 /* 65 */ 0, 4,
42253 /* 67 */ 1, 4,
42254 /* 69 */ 1, 2, 4,
42255 /* 72 */ 3, 2, 4,
42256 /* 75 */ 0, 3, 4,
42257 /* 78 */ 1, 3, 4,
42258 /* 81 */ 1, 2, 3, 4,
42259 /* 85 */ 1, 2, 5, 3, 4,
42260 /* 90 */ 2, 5,
42261 /* 92 */ 0, 4, 5,
42262 /* 95 */ 0, 1, 4, 5,
42263 /* 99 */ 2, 4, 5,
42264 /* 102 */ 1, 2, 3, 4, 5,
42265 /* 107 */ 2, 6,
42266 /* 109 */ 0, 2, 4, 6,
42267 /* 113 */ 0, 5, 6,
42268 /* 116 */ 1, 2, 5, 6,
42269 /* 120 */ 1, 4, 5, 6,
42270 /* 124 */ 1, 5, 6, 7,
42271 };
42272
42273 #undef COVERAGE_IDX_VAL
42274 #undef TARGET_VAL
42275 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable),
42276 OperandLists);
42277}
42278#endif // GET_DAGISEL_BODY
42279
42280#ifdef GET_DAGISEL_DECL
42281bool CheckPatternPredicate(unsigned PredNo) const override;
42282#endif
42283#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
42284bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
42285#if DAGISEL_INLINE
42286 override
42287#endif
42288{
42289 switch (PredNo) {
42290 default: llvm_unreachable("Invalid predicate in table?");
42291 case 0: return (Subtarget->hasExtLASX());
42292 case 1: return (Subtarget->hasExtLSX());
42293 case 2: return (Subtarget->is64Bit());
42294 case 3: return (Subtarget->hasBasicF());
42295 case 4: return (Subtarget->hasBasicD());
42296 case 5: return (!Subtarget->is64Bit());
42297 case 6: return (Subtarget->has32S()) && (!Subtarget->is64Bit());
42298 case 7: return (Subtarget->hasFrecipe());
42299 case 8: return (Subtarget->hasLAM_BH()) && (Subtarget->is64Bit());
42300 case 9: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit());
42301 case 10: return (Subtarget->hasLAMCAS()) && (Subtarget->is64Bit());
42302 case 11: return (Subtarget->has32S());
42303 case 12: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit());
42304 case 13: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit());
42305 case 14: return (Subtarget->hasBasicF()) && (!Subtarget->is64Bit());
42306 }
42307}
42308#endif // GET_DAGISEL_BODY
42309
42310#ifdef GET_DAGISEL_DECL
42311bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
42312#endif
42313#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
42314bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
42315#if DAGISEL_INLINE
42316 override
42317#endif
42318{
42319 switch (PredNo) {
42320 default: llvm_unreachable("Invalid predicate in table?");
42321 case 0: {
42322 // Predicate_unindexedstore
42323 SDNode *N = Op.getNode();
42324 (void)N;
42325if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
42326return true;
42327
42328 }
42329 case 1: {
42330 // Predicate_store
42331 SDNode *N = Op.getNode();
42332 (void)N;
42333 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
42334return true;
42335
42336 }
42337 case 2: {
42338 // Predicate_AddLike
42339 SDNode *N = Op.getNode();
42340 (void)N;
42341
42342 return CurDAG->isBaseWithConstantOffset(Op: SDValue(N, 0));
42343
42344 }
42345 case 3: {
42346 // Predicate_atomic_cmp_swap_i32
42347 // Predicate_atomic_load_add_i32
42348 // Predicate_atomic_load_aext_32
42349 // Predicate_atomic_load_and_i32
42350 // Predicate_atomic_load_max_i32
42351 // Predicate_atomic_load_min_i32
42352 // Predicate_atomic_load_nand_i32
42353 // Predicate_atomic_load_nonext_32
42354 // Predicate_atomic_load_or_i32
42355 // Predicate_atomic_load_sext_32
42356 // Predicate_atomic_load_sub_i32
42357 // Predicate_atomic_load_umax_i32
42358 // Predicate_atomic_load_umin_i32
42359 // Predicate_atomic_load_xor_i32
42360 // Predicate_atomic_store_32
42361 // Predicate_atomic_swap_i32
42362 // Predicate_extloadi32
42363 // Predicate_sextloadi32
42364 // Predicate_truncstorei32
42365 // Predicate_zextloadi32
42366 SDNode *N = Op.getNode();
42367 (void)N;
42368if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
42369return true;
42370
42371 }
42372 case 4: {
42373 // Predicate_simm12
42374 // Predicate_simm12_addlike
42375 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42376return isInt<12>(x: Imm);
42377 }
42378 case 5: {
42379 // Predicate_atomic_cmp_swap_i8
42380 // Predicate_atomic_load_add_i8
42381 // Predicate_atomic_load_aext_8
42382 // Predicate_atomic_load_sext_8
42383 // Predicate_atomic_load_sub_i8
42384 // Predicate_atomic_store_8
42385 // Predicate_atomic_swap_i8
42386 // Predicate_extloadi8
42387 // Predicate_sextloadi8
42388 // Predicate_truncstorei8
42389 // Predicate_zextloadi8
42390 SDNode *N = Op.getNode();
42391 (void)N;
42392if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
42393return true;
42394
42395 }
42396 case 6: {
42397 // Predicate_atomic_cmp_swap_i16
42398 // Predicate_atomic_load_add_i16
42399 // Predicate_atomic_load_aext_16
42400 // Predicate_atomic_load_sext_16
42401 // Predicate_atomic_load_sub_i16
42402 // Predicate_atomic_store_16
42403 // Predicate_atomic_swap_i16
42404 // Predicate_extloadi16
42405 // Predicate_sextloadi16
42406 // Predicate_truncstorei16
42407 // Predicate_zextloadi16
42408 SDNode *N = Op.getNode();
42409 (void)N;
42410if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
42411return true;
42412
42413 }
42414 case 7: {
42415 // Predicate_load
42416 SDNode *N = Op.getNode();
42417 (void)N;
42418if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
42419return true;
42420
42421 }
42422 case 8: {
42423 // Predicate_mul_const_oneuse
42424 SDNode *N = Op.getNode();
42425 (void)N;
42426
42427 if (auto *N1C = dyn_cast<ConstantSDNode>(Val: N->getOperand(Num: 1)))
42428 return N1C->hasOneUse();
42429 return false;
42430
42431 }
42432 case 9: {
42433 // Predicate_unindexedload
42434 SDNode *N = Op.getNode();
42435 (void)N;
42436if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
42437return true;
42438
42439 }
42440 case 10: {
42441 // Predicate_atomic_cmp_swap_i16_monotonic
42442 // Predicate_atomic_cmp_swap_i32_monotonic
42443 // Predicate_atomic_cmp_swap_i64_monotonic
42444 // Predicate_atomic_cmp_swap_i8_monotonic
42445 // Predicate_atomic_load_add_i16_monotonic
42446 // Predicate_atomic_load_add_i32_monotonic
42447 // Predicate_atomic_load_add_i64_monotonic
42448 // Predicate_atomic_load_add_i8_monotonic
42449 // Predicate_atomic_load_and_i32_monotonic
42450 // Predicate_atomic_load_and_i64_monotonic
42451 // Predicate_atomic_load_max_i32_monotonic
42452 // Predicate_atomic_load_max_i64_monotonic
42453 // Predicate_atomic_load_min_i32_monotonic
42454 // Predicate_atomic_load_min_i64_monotonic
42455 // Predicate_atomic_load_nand_i32_monotonic
42456 // Predicate_atomic_load_nand_i64_monotonic
42457 // Predicate_atomic_load_or_i32_monotonic
42458 // Predicate_atomic_load_or_i64_monotonic
42459 // Predicate_atomic_load_sub_i16_monotonic
42460 // Predicate_atomic_load_sub_i32_monotonic
42461 // Predicate_atomic_load_sub_i64_monotonic
42462 // Predicate_atomic_load_sub_i8_monotonic
42463 // Predicate_atomic_load_umax_i32_monotonic
42464 // Predicate_atomic_load_umax_i64_monotonic
42465 // Predicate_atomic_load_umin_i32_monotonic
42466 // Predicate_atomic_load_umin_i64_monotonic
42467 // Predicate_atomic_load_xor_i32_monotonic
42468 // Predicate_atomic_load_xor_i64_monotonic
42469 // Predicate_atomic_swap_i16_monotonic
42470 // Predicate_atomic_swap_i32_monotonic
42471 // Predicate_atomic_swap_i64_monotonic
42472 // Predicate_atomic_swap_i8_monotonic
42473 SDNode *N = Op.getNode();
42474 (void)N;
42475if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Monotonic) return false;
42476return true;
42477
42478 }
42479 case 11: {
42480 // Predicate_vsplat_imm_eq_1
42481 SDNode *N = Op.getNode();
42482 (void)N;
42483
42484 APInt Imm;
42485 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
42486
42487 if (N->getOpcode() == ISD::BITCAST)
42488 N = N->getOperand(Num: 0).getNode();
42489
42490 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
42491 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;
42492
42493 }
42494 case 12: {
42495 // Predicate_truncstore
42496 SDNode *N = Op.getNode();
42497 (void)N;
42498 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
42499return true;
42500
42501 }
42502 case 13: {
42503 // Predicate_vsplati8_imm_eq_7
42504 SDNode *N = Op.getNode();
42505 (void)N;
42506
42507 APInt Imm;
42508 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
42509
42510 if (N->getOpcode() == ISD::BITCAST)
42511 N = N->getOperand(Num: 0).getNode();
42512
42513 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
42514 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 7;
42515
42516 }
42517 case 14: {
42518 // Predicate_vsplati16_imm_eq_15
42519 SDNode *N = Op.getNode();
42520 (void)N;
42521
42522 APInt Imm;
42523 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
42524
42525 if (N->getOpcode() == ISD::BITCAST)
42526 N = N->getOperand(Num: 0).getNode();
42527
42528 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
42529 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 15;
42530
42531 }
42532 case 15: {
42533 // Predicate_vsplati32_imm_eq_31
42534 SDNode *N = Op.getNode();
42535 (void)N;
42536
42537 APInt Imm;
42538 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
42539
42540 if (N->getOpcode() == ISD::BITCAST)
42541 N = N->getOperand(Num: 0).getNode();
42542
42543 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
42544 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 31;
42545
42546 }
42547 case 16: {
42548 // Predicate_vsplati64_imm_eq_63
42549 SDNode *N = Op.getNode();
42550 (void)N;
42551
42552 APInt Imm;
42553 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
42554
42555 if (N->getOpcode() == ISD::BITCAST)
42556 N = N->getOperand(Num: 0).getNode();
42557
42558 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
42559 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 63;
42560
42561 }
42562 case 17: {
42563 // Predicate_immZExt3
42564 // Predicate_uimm3
42565 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42566return isUInt<3>(x: Imm);
42567 }
42568 case 18: {
42569 // Predicate_immZExt2
42570 // Predicate_uimm2
42571 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42572return isUInt<2>(x: Imm);
42573 }
42574 case 19: {
42575 // Predicate_atomic_cmp_swap_i64
42576 // Predicate_atomic_load_add_i64
42577 // Predicate_atomic_load_and_i64
42578 // Predicate_atomic_load_max_i64
42579 // Predicate_atomic_load_min_i64
42580 // Predicate_atomic_load_nand_i64
42581 // Predicate_atomic_load_nonext_64
42582 // Predicate_atomic_load_or_i64
42583 // Predicate_atomic_load_sub_i64
42584 // Predicate_atomic_load_umax_i64
42585 // Predicate_atomic_load_umin_i64
42586 // Predicate_atomic_load_xor_i64
42587 // Predicate_atomic_store_64
42588 // Predicate_atomic_swap_i64
42589 SDNode *N = Op.getNode();
42590 (void)N;
42591if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
42592return true;
42593
42594 }
42595 case 20: {
42596 // Predicate_uimm5
42597 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42598return isUInt<5>(x: Imm);
42599 }
42600 case 21: {
42601 // Predicate_immZExt4
42602 // Predicate_uimm4
42603 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42604return isUInt<4>(x: Imm);
42605 }
42606 case 22: {
42607 // Predicate_sextload
42608 SDNode *N = Op.getNode();
42609 (void)N;
42610if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
42611return true;
42612
42613 }
42614 case 23: {
42615 // Predicate_extload
42616 SDNode *N = Op.getNode();
42617 (void)N;
42618if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
42619return true;
42620
42621 }
42622 case 24: {
42623 // Predicate_zextload
42624 SDNode *N = Op.getNode();
42625 (void)N;
42626if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
42627return true;
42628
42629 }
42630 case 25: {
42631 // Predicate_immZExt1
42632 // Predicate_uimm1
42633 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42634return isUInt<1>(x: Imm);
42635 }
42636 case 26: {
42637 // Predicate_uimm6
42638 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42639return isUInt<6>(x: Imm);
42640 }
42641 case 27: {
42642 // Predicate_atomic_load_aext
42643 SDNode *N = Op.getNode();
42644 (void)N;
42645if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
42646return true;
42647
42648 }
42649 case 28: {
42650 // Predicate_atomic_load_sext
42651 SDNode *N = Op.getNode();
42652 (void)N;
42653if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
42654return true;
42655
42656 }
42657 case 29: {
42658 // Predicate_atomic_store_unordered_monotonic_32
42659 // Predicate_atomic_store_unordered_monotonic_64
42660 SDNode *N = Op.getNode();
42661 (void)N;
42662
42663 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getSuccessOrdering();
42664 return !isReleaseOrStronger(AO: Ordering);
42665
42666 }
42667 case 30: {
42668 // Predicate_atomic_load_add_i32_acquire
42669 // Predicate_atomic_load_and_i32_acquire
42670 // Predicate_atomic_load_max_i32_acquire
42671 // Predicate_atomic_load_min_i32_acquire
42672 // Predicate_atomic_load_nand_i32_acquire
42673 // Predicate_atomic_load_nand_i64_acquire
42674 // Predicate_atomic_load_or_i32_acquire
42675 // Predicate_atomic_load_sub_i32_acquire
42676 // Predicate_atomic_load_umax_i32_acquire
42677 // Predicate_atomic_load_umin_i32_acquire
42678 // Predicate_atomic_load_xor_i32_acquire
42679 // Predicate_atomic_swap_i32_acquire
42680 SDNode *N = Op.getNode();
42681 (void)N;
42682if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Acquire) return false;
42683return true;
42684
42685 }
42686 case 31: {
42687 // Predicate_atomic_load_add_i32_release
42688 // Predicate_atomic_load_and_i32_release
42689 // Predicate_atomic_load_max_i32_release
42690 // Predicate_atomic_load_min_i32_release
42691 // Predicate_atomic_load_nand_i32_release
42692 // Predicate_atomic_load_nand_i64_release
42693 // Predicate_atomic_load_or_i32_release
42694 // Predicate_atomic_load_sub_i32_release
42695 // Predicate_atomic_load_umax_i32_release
42696 // Predicate_atomic_load_umin_i32_release
42697 // Predicate_atomic_load_xor_i32_release
42698 // Predicate_atomic_swap_i32_release
42699 SDNode *N = Op.getNode();
42700 (void)N;
42701if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Release) return false;
42702return true;
42703
42704 }
42705 case 32: {
42706 // Predicate_atomic_load_add_i32_acq_rel
42707 // Predicate_atomic_load_and_i32_acq_rel
42708 // Predicate_atomic_load_max_i32_acq_rel
42709 // Predicate_atomic_load_min_i32_acq_rel
42710 // Predicate_atomic_load_nand_i32_acq_rel
42711 // Predicate_atomic_load_nand_i64_acq_rel
42712 // Predicate_atomic_load_or_i32_acq_rel
42713 // Predicate_atomic_load_sub_i32_acq_rel
42714 // Predicate_atomic_load_umax_i32_acq_rel
42715 // Predicate_atomic_load_umin_i32_acq_rel
42716 // Predicate_atomic_load_xor_i32_acq_rel
42717 // Predicate_atomic_swap_i32_acq_rel
42718 SDNode *N = Op.getNode();
42719 (void)N;
42720if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::AcquireRelease) return false;
42721return true;
42722
42723 }
42724 case 33: {
42725 // Predicate_atomic_load_add_i32_seq_cst
42726 // Predicate_atomic_load_and_i32_seq_cst
42727 // Predicate_atomic_load_max_i32_seq_cst
42728 // Predicate_atomic_load_min_i32_seq_cst
42729 // Predicate_atomic_load_nand_i32_seq_cst
42730 // Predicate_atomic_load_nand_i64_seq_cst
42731 // Predicate_atomic_load_or_i32_seq_cst
42732 // Predicate_atomic_load_sub_i32_seq_cst
42733 // Predicate_atomic_load_umax_i32_seq_cst
42734 // Predicate_atomic_load_umin_i32_seq_cst
42735 // Predicate_atomic_load_xor_i32_seq_cst
42736 // Predicate_atomic_swap_i32_seq_cst
42737 SDNode *N = Op.getNode();
42738 (void)N;
42739if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::SequentiallyConsistent) return false;
42740return true;
42741
42742 }
42743 case 34: {
42744 // Predicate_simm8_lsl2
42745 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42746return isShiftedInt<8,2>(x: Imm);
42747 }
42748 case 35: {
42749 // Predicate_simm8_lsl3
42750 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42751return isShiftedInt<8,3>(x: Imm);
42752 }
42753 case 36: {
42754 // Predicate_atomic_load_nonext
42755 SDNode *N = Op.getNode();
42756 (void)N;
42757if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
42758return true;
42759
42760 }
42761 case 37: {
42762 // Predicate_fma_nsz
42763 SDNode *N = Op.getNode();
42764 (void)N;
42765
42766 return N->getFlags().hasNoSignedZeros();
42767
42768 }
42769 case 38: {
42770 // Predicate_simm10_lsl2
42771 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42772return isShiftedInt<10,2>(x: Imm);
42773 }
42774 case 39: {
42775 // Predicate_simm9_lsl3
42776 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42777return isShiftedInt<9,3>(x: Imm);
42778 }
42779 case 40: {
42780 // Predicate_uimm2_plus1
42781 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42782return isUInt<2>(x: Imm - 1);
42783 }
42784 case 41: {
42785 // Predicate_assertsexti32
42786 SDNode *N = Op.getNode();
42787 (void)N;
42788
42789 return cast<VTSDNode>(Val: N->getOperand(Num: 1))->getVT().bitsLE(VT: MVT::i32);
42790
42791 }
42792 case 42: {
42793 // Predicate_simm8
42794 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42795return isInt<8>(x: Imm);
42796 }
42797 case 43: {
42798 // Predicate_simm8_lsl1
42799 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42800return isShiftedInt<8,1>(x: Imm);
42801 }
42802 case 44: {
42803 // Predicate_simm14_lsl2
42804 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42805return isShiftedInt<14,2>(x: Imm);
42806 }
42807 case 45: {
42808 // Predicate_uimm15
42809 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42810return isUInt<15>(x: Imm);
42811 }
42812 case 46: {
42813 // Predicate_simm11_lsl1
42814 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42815return isShiftedInt<11,1>(x: Imm);
42816 }
42817 case 47: {
42818 // Predicate_immZExt8
42819 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42820return isUInt<8>(x: Imm);
42821 }
42822 case 48: {
42823 // Predicate_uimm12
42824 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42825return isUInt<12>(x: Imm);
42826 }
42827 case 49: {
42828 // Predicate_uimm14
42829 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42830return isUInt<14>(x: Imm);
42831 }
42832 case 50: {
42833 // Predicate_fpimm1
42834 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
42835 (void)N;
42836return N->isOne();
42837 }
42838 case 51: {
42839 // Predicate_AlslSlliImm
42840 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
42841 (void)N;
42842
42843 if (!N->hasOneUse())
42844 return false;
42845 uint64_t Imm = N->getZExtValue();
42846 unsigned I1 = llvm::countr_zero(Val: Imm);
42847 uint64_t Rem = Imm >> I1;
42848 return Rem == 3 || Rem == 5 || Rem == 9 || Rem == 17;
42849
42850 }
42851 case 52: {
42852 // Predicate_simm32_hi16_lo12
42853 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42854
42855 return !isInt<12>(x: Imm) && isShiftedInt<16, 16>(x: Imm - SignExtend64<12>(x: Imm));
42856
42857 }
42858 case 53: {
42859 // Predicate_AddiPair
42860 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
42861 (void)N;
42862
42863 if (!N->hasOneUse())
42864 return false;
42865 // The immediate operand must be in range [-4096,-2049] or [2048,4094].
42866 int64_t Imm = N->getSExtValue();
42867 return (-4096 <= Imm && Imm <= -2049) || (2048 <= Imm && Imm <= 4094);
42868
42869 }
42870 case 54: {
42871 // Predicate_atomic_store_release_seqcst_32
42872 // Predicate_atomic_store_release_seqcst_64
42873 SDNode *N = Op.getNode();
42874 (void)N;
42875
42876 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getSuccessOrdering();
42877 return isReleaseOrStronger(AO: Ordering);
42878
42879 }
42880 case 55: {
42881 // Predicate_atomic_cmp_swap_i32_failure_monotonic
42882 // Predicate_atomic_cmp_swap_i64_failure_monotonic
42883 SDNode *N = Op.getNode();
42884 (void)N;
42885
42886 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
42887 return Ordering == AtomicOrdering::Monotonic;
42888
42889 }
42890 case 56: {
42891 // Predicate_atomic_cmp_swap_i32_failure_acquire
42892 // Predicate_atomic_cmp_swap_i64_failure_acquire
42893 SDNode *N = Op.getNode();
42894 (void)N;
42895
42896 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
42897 return Ordering == AtomicOrdering::Acquire;
42898
42899 }
42900 case 57: {
42901 // Predicate_atomic_cmp_swap_i32_failure_release
42902 // Predicate_atomic_cmp_swap_i64_failure_release
42903 SDNode *N = Op.getNode();
42904 (void)N;
42905
42906 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
42907 return Ordering == AtomicOrdering::Release;
42908
42909 }
42910 case 58: {
42911 // Predicate_atomic_cmp_swap_i32_failure_acq_rel
42912 // Predicate_atomic_cmp_swap_i64_failure_acq_rel
42913 SDNode *N = Op.getNode();
42914 (void)N;
42915
42916 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
42917 return Ordering == AtomicOrdering::AcquireRelease;
42918
42919 }
42920 case 59: {
42921 // Predicate_atomic_cmp_swap_i32_failure_seq_cst
42922 // Predicate_atomic_cmp_swap_i64_failure_seq_cst
42923 SDNode *N = Op.getNode();
42924 (void)N;
42925
42926 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
42927 return Ordering == AtomicOrdering::SequentiallyConsistent;
42928
42929 }
42930 case 60: {
42931 // Predicate_vsplatf32_fpimm_eq_1
42932 SDNode *N = Op.getNode();
42933 (void)N;
42934
42935 APInt Imm;
42936 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
42937 N = N->getOperand(Num: 0).getNode();
42938
42939 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
42940 Imm.getBitWidth() == 32 &&
42941 Imm.getBitWidth() == EltTy.getSizeInBits() &&
42942 Imm == APFloat(+1.0f).bitcastToAPInt();
42943
42944 }
42945 case 61: {
42946 // Predicate_vsplatf64_fpimm_eq_1
42947 SDNode *N = Op.getNode();
42948 (void)N;
42949
42950 APInt Imm;
42951 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
42952 N = N->getOperand(Num: 0).getNode();
42953
42954 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
42955 Imm.getBitWidth() == EltTy.getSizeInBits() &&
42956 Imm == APFloat(+1.0).bitcastToAPInt();
42957
42958 }
42959 case 62: {
42960 // Predicate_fpimm0
42961 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
42962 (void)N;
42963return N->isPosZero();
42964 }
42965 case 63: {
42966 // Predicate_fpimm0neg
42967 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
42968 (void)N;
42969return N->isNegZero();
42970 }
42971 case 64: {
42972 // Predicate_simm16_lsl16
42973 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42974return isShiftedInt<16, 16>(x: Imm);
42975 }
42976 case 65: {
42977 // Predicate_BstrinsImm
42978 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
42979 (void)N;
42980
42981 if (!N->hasOneUse())
42982 return false;
42983 uint64_t Imm = N->getZExtValue();
42984 // andi can be used instead if Imm <= 0xfff.
42985 if (Imm <= 0xfff)
42986 return false;
42987 unsigned MaskIdx, MaskLen;
42988 return N->getValueType(ResNo: 0).getSizeInBits() == 32
42989 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
42990 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
42991
42992 }
42993 case 66: {
42994 // Predicate_simm16_lsl2
42995 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
42996return isInt<16>(x: Imm>>2);
42997 }
42998 case 67: {
42999 // Predicate_simm12_plus1
43000 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43001return (isInt<12>(x: Imm) && Imm != -2048) || Imm == 2048;
43002 }
43003 case 68: {
43004 // Predicate_f32imm_vldi
43005 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
43006 (void)N;
43007
43008 const auto &TLI =
43009 *static_cast<const LoongArchTargetLowering*>(getTargetLowering());
43010 return TLI.isFPImmVLDILegal(Imm: N->getValueAPF(), VT: MVT::f32);
43011
43012 }
43013 case 69: {
43014 // Predicate_f64imm_vldi
43015 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
43016 (void)N;
43017
43018 const auto &TLI =
43019 *static_cast<const LoongArchTargetLowering*>(getTargetLowering());
43020 return TLI.isFPImmVLDILegal(Imm: N->getValueAPF(), VT: MVT::f64);
43021
43022 }
43023 }
43024}
43025#endif // GET_DAGISEL_BODY
43026
43027#ifdef GET_DAGISEL_DECL
43028bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
43029 SDValue N, unsigned PatternNo,
43030 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
43031#endif
43032#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
43033bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
43034 SDValue N, unsigned PatternNo,
43035 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
43036#if DAGISEL_INLINE
43037 override
43038#endif
43039{
43040 unsigned NextRes = Result.size();
43041 switch (PatternNo) {
43042 default: llvm_unreachable("Invalid pattern # in table?");
43043 case 0:
43044 Result.resize(N: NextRes+1);
43045 return SelectBaseAddr(Addr: N, Base&: Result[NextRes+0].first);
43046 case 1:
43047 Result.resize(N: NextRes+1);
43048 return selectNonFIBaseAddr(Addr: N, Base&: Result[NextRes+0].first);
43049 case 2:
43050 Result.resize(N: NextRes+1);
43051 return selectVSplatImm<5, 0>(N, SplatVal&: Result[NextRes+0].first);
43052 case 3:
43053 Result.resize(N: NextRes+2);
43054 return SelectAddrConstant(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
43055 case 4:
43056 Result.resize(N: NextRes+1);
43057 return selectVSplatImm<5, 0, true>(N, SplatVal&: Result[NextRes+0].first);
43058 case 5:
43059 Result.resize(N: NextRes+1);
43060 return selectVSplatImm<8, 8>(N, SplatVal&: Result[NextRes+0].first);
43061 case 6:
43062 Result.resize(N: NextRes+1);
43063 return selectVSplatUimmPow2(N, SplatImm&: Result[NextRes+0].first);
43064 case 7:
43065 Result.resize(N: NextRes+1);
43066 return selectVSplatImm<8, 0>(N, SplatVal&: Result[NextRes+0].first);
43067 case 8:
43068 Result.resize(N: NextRes+1);
43069 return selectVSplatUimmPow2<8>(N, SplatImm&: Result[NextRes+0].first);
43070 case 9:
43071 Result.resize(N: NextRes+1);
43072 return selectVSplatUimmPow2<16>(N, SplatImm&: Result[NextRes+0].first);
43073 case 10:
43074 Result.resize(N: NextRes+1);
43075 return selectVSplatUimmPow2<32>(N, SplatImm&: Result[NextRes+0].first);
43076 case 11:
43077 Result.resize(N: NextRes+1);
43078 return selectVSplatImmNeg<5>(N, SplatVal&: Result[NextRes+0].first);
43079 case 12:
43080 Result.resize(N: NextRes+1);
43081 return selectVSplatUimmInvPow2(N, SplatImm&: Result[NextRes+0].first);
43082 case 13:
43083 Result.resize(N: NextRes+1);
43084 return selectVSplatUimmInvPow2<8>(N, SplatImm&: Result[NextRes+0].first);
43085 case 14:
43086 Result.resize(N: NextRes+1);
43087 return selectVSplatUimmInvPow2<16>(N, SplatImm&: Result[NextRes+0].first);
43088 case 15:
43089 Result.resize(N: NextRes+1);
43090 return selectVSplatUimmInvPow2<32>(N, SplatImm&: Result[NextRes+0].first);
43091 case 16:
43092 Result.resize(N: NextRes+1);
43093 return selectVSplatImm<3, 0>(N, SplatVal&: Result[NextRes+0].first);
43094 case 17:
43095 Result.resize(N: NextRes+1);
43096 return selectVSplatImm<4, 0>(N, SplatVal&: Result[NextRes+0].first);
43097 case 18:
43098 Result.resize(N: NextRes+1);
43099 return selectVSplatImm<6, 0>(N, SplatVal&: Result[NextRes+0].first);
43100 case 19:
43101 Result.resize(N: NextRes+1);
43102 return selectShiftMaskGRLen(N, ShAmt&: Result[NextRes+0].first);
43103 case 20:
43104 Result.resize(N: NextRes+1);
43105 return selectShiftMask32(N, ShAmt&: Result[NextRes+0].first);
43106 case 21:
43107 Result.resize(N: NextRes+1);
43108 return selectSExti32(N, Val&: Result[NextRes+0].first);
43109 case 22:
43110 Result.resize(N: NextRes+2);
43111 return SelectAddrRegImm12(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
43112 }
43113}
43114#endif // GET_DAGISEL_BODY
43115
43116#ifdef GET_DAGISEL_DECL
43117SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
43118#endif
43119#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
43120SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
43121#if DAGISEL_INLINE
43122 override
43123#endif
43124{
43125 switch (XFormNo) {
43126 default: llvm_unreachable("Invalid xform # in table?");
43127 case 0: {
43128 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43129
43130 uint64_t Imm = N->getZExtValue();
43131 unsigned I1 = llvm::countr_zero(Val: Imm);
43132 uint64_t I0;
43133 switch (Imm >> I1) {
43134 case 3: I0 = 1; break;
43135 case 5: I0 = 2; break;
43136 case 9: I0 = 3; break;
43137 default: I0 = 4; break;
43138 }
43139 return CurDAG->getTargetConstant(Val: I0, DL: SDLoc(N),
43140 VT: N->getValueType(ResNo: 0));
43141
43142 }
43143 case 1: {
43144 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43145
43146 uint64_t Imm = N->getZExtValue();
43147 unsigned I1 = llvm::countr_zero(Val: Imm);
43148 return CurDAG->getTargetConstant(Val: I1, DL: SDLoc(N),
43149 VT: N->getValueType(ResNo: 0));
43150
43151 }
43152 case 2: {
43153 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43154
43155 auto Imm = N->getSExtValue();
43156 return CurDAG->getSignedTargetConstant(Val: (Imm - SignExtend64<12>(x: Imm)) >> 16,
43157 DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
43158
43159 }
43160 case 3: {
43161 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43162
43163 return CurDAG->getSignedTargetConstant(Val: SignExtend64<12>(x: N->getSExtValue()),
43164 DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
43165
43166 }
43167 case 4: {
43168 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43169
43170 int64_t Imm = N->getSExtValue() < 0 ? -2048 : 2047;
43171 return CurDAG->getSignedTargetConstant(Val: Imm, DL: SDLoc(N),
43172 VT: N->getValueType(ResNo: 0));
43173
43174 }
43175 case 5: {
43176 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43177
43178 int64_t Imm = N->getSExtValue();
43179 int64_t Adj = Imm < 0 ? -2048 : 2047;
43180 return CurDAG->getSignedTargetConstant(Val: Imm - Adj, DL: SDLoc(N),
43181 VT: N->getValueType(ResNo: 0));
43182
43183 }
43184 case 6: {
43185 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43186
43187 return CurDAG->getSignedTargetConstant(Val: N->getSExtValue() >> 16, DL: SDLoc(N),
43188 VT: N->getValueType(ResNo: 0));
43189
43190 }
43191 case 7: {
43192 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43193
43194 auto CN = cast<ConstantSDNode>(Val: N);
43195 return CurDAG->getSignedTargetConstant(Val: CN->getSExtValue(), DL: SDLoc(N),
43196 VT: Subtarget->getGRLenVT());
43197
43198 }
43199 case 8: {
43200 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43201
43202 uint64_t Imm = N->getZExtValue();
43203 unsigned MaskIdx, MaskLen;
43204 N->getValueType(ResNo: 0).getSizeInBits() == 32
43205 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
43206 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
43207 return CurDAG->getTargetConstant(Val: MaskIdx + MaskLen - 1, DL: SDLoc(N),
43208 VT: N->getValueType(ResNo: 0));
43209
43210 }
43211 case 9: {
43212 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43213
43214 uint64_t Imm = N->getZExtValue();
43215 unsigned MaskIdx, MaskLen;
43216 N->getValueType(ResNo: 0).getSizeInBits() == 32
43217 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
43218 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
43219 return CurDAG->getTargetConstant(Val: MaskIdx, DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
43220
43221 }
43222 case 10: {
43223 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43224
43225 return CurDAG->getSignedTargetConstant(Val: -N->getSExtValue(), DL: SDLoc(N),
43226 VT: N->getValueType(ResNo: 0));
43227
43228 }
43229 case 11: {
43230 SDNode *N = V.getNode();
43231
43232 ISD::CondCode CC = cast<CondCodeSDNode>(Val: N->getOperand(Num: 2))->get();
43233 unsigned BrCC = getBranchOpcForIntCC(CC);
43234 return CurDAG->getTargetConstant(Val: BrCC, DL: SDLoc(N), VT: Subtarget->getGRLenVT());
43235
43236 }
43237 case 12: {
43238 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
43239
43240 uint64_t Check = N->getZExtValue();
43241 unsigned Mask = 0;
43242 if (Check & fcSNan)
43243 Mask |= LoongArch::FClassMaskSignalingNaN;
43244 if (Check & fcQNan)
43245 Mask |= LoongArch::FClassMaskQuietNaN;
43246 if (Check & fcPosInf)
43247 Mask |= LoongArch::FClassMaskPositiveInfinity;
43248 if (Check & fcNegInf)
43249 Mask |= LoongArch::FClassMaskNegativeInfinity;
43250 if (Check & fcPosNormal)
43251 Mask |= LoongArch::FClassMaskPositiveNormal;
43252 if (Check & fcNegNormal)
43253 Mask |= LoongArch::FClassMaskNegativeNormal;
43254 if (Check & fcPosSubnormal)
43255 Mask |= LoongArch::FClassMaskPositiveSubnormal;
43256 if (Check & fcNegSubnormal)
43257 Mask |= LoongArch::FClassMaskNegativeSubnormal;
43258 if (Check & fcPosZero)
43259 Mask |= LoongArch::FClassMaskPositiveZero;
43260 if (Check & fcNegZero)
43261 Mask |= LoongArch::FClassMaskNegativeZero;
43262 return CurDAG->getTargetConstant(Val: Mask, DL: SDLoc(N), VT: Subtarget->getGRLenVT());
43263
43264 }
43265 case 13: {
43266 ConstantFPSDNode *N = cast<ConstantFPSDNode>(Val: V.getNode());
43267
43268 uint64_t x = N->getValueAPF().bitcastToAPInt().getZExtValue();
43269 x = (0b11011 << 8) | (((x >> 24) & 0xc0) ^ 0x40) | ((x >> 19) & 0x3f);
43270 return CurDAG->getSignedTargetConstant(Val: SignExtend32<13>(X: x), DL: SDLoc(N),
43271 VT: MVT::i32);
43272
43273 }
43274 case 14: {
43275 ConstantFPSDNode *N = cast<ConstantFPSDNode>(Val: V.getNode());
43276
43277 uint64_t x = N->getValueAPF().bitcastToAPInt().getZExtValue();
43278 x = (0b11100 << 8) | (((x >> 56) & 0xc0) ^ 0x40) | ((x >> 48) & 0x3f);
43279 return CurDAG->getSignedTargetConstant(Val: SignExtend32<13>(X: x), DL: SDLoc(N),
43280 VT: MVT::i32);
43281
43282 }
43283 }
43284}
43285#endif // GET_DAGISEL_BODY
43286
43287#ifdef GET_DAGISEL_DECL
43288MVT getValueTypeForHwMode(unsigned Index) const override;
43289#endif
43290#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
43291MVT DAGISEL_CLASS_COLONCOLON getValueTypeForHwMode(unsigned Index) const
43292#if DAGISEL_INLINE
43293 override
43294#endif
43295{
43296 switch (Index) {
43297 default: llvm_unreachable("Unexpected index");
43298 case 6:
43299 return MVT::i32;
43300 case 3:
43301 switch (HwMode) {
43302 default:
43303 return MVT::i32;
43304 case 1:
43305 return MVT::i32;
43306 }
43307 break;
43308 case 0:
43309 switch (HwMode) {
43310 default:
43311 return MVT::i32;
43312 case 1:
43313 return MVT::i64;
43314 }
43315 break;
43316 case 2:
43317 switch (HwMode) {
43318 default:
43319 return MVT::i64;
43320 case 1:
43321 return MVT::i64;
43322 }
43323 break;
43324 case 4:
43325 switch (HwMode) {
43326 default:
43327 return MVT::f32;
43328 case 1:
43329 return MVT::f32;
43330 }
43331 break;
43332 case 5:
43333 switch (HwMode) {
43334 default:
43335 return MVT::f64;
43336 case 1:
43337 return MVT::f64;
43338 }
43339 break;
43340 case 1:
43341 switch (HwMode) {
43342 default:
43343 return MVT();
43344 case 1:
43345 return MVT::i64;
43346 }
43347 break;
43348 }
43349}
43350#endif // GET_DAGISEL_BODY
43351
43352
43353#ifdef DAGISEL_INLINE
43354#undef DAGISEL_INLINE
43355#endif
43356#ifdef DAGISEL_CLASS_COLONCOLON
43357#undef DAGISEL_CLASS_COLONCOLON
43358#endif
43359#ifdef GET_DAGISEL_DECL
43360#undef GET_DAGISEL_DECL
43361#endif
43362#ifdef GET_DAGISEL_BODY
43363#undef GET_DAGISEL_BODY
43364#endif
43365