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, 13,
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, 13,
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, 13,
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, 11,
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, 13,
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, 13,
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, 13,
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, 13,
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, 13,
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, 13,
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, 11|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, 29|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, 13,
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, 13,
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, 13,
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, 13,
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, 13,
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, 13,
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, 11,
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, 13,
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, 13,
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, 13,
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, 15|128,1,
2374 OPC_RecordChild1,
2375 OPC_MoveChild1,
2376 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2377 OPC_CheckPredicate, 11,
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, 31|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, 13,
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, 13,
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, 13,
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, 13,
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, 13,
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, 13,
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, 11|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, 29|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, 15|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, 31|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, 13,
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, 11,
3305 OPC_CheckTypeByHwMode0,
3306 OPC_MoveParent,
3307 OPC_CheckTypeByHwMode0,
3308 OPC_MoveParent,
3309 OPC_RecordChild2,
3310 OPC_CheckPredicate0,
3311 OPC_CheckPredicate, 13,
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, 13,
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, 11|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, 29|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, 13,
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, 13,
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, 11,
3449 OPC_CheckTypeByHwMode0,
3450 OPC_MoveParent,
3451 OPC_CheckTypeByHwMode0,
3452 OPC_MoveParent,
3453 OPC_RecordChild2,
3454 OPC_CheckPredicate0,
3455 OPC_CheckPredicate, 13,
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, 15|128,1,
3486 OPC_RecordChild1,
3487 OPC_MoveChild1,
3488 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3489 OPC_CheckPredicate, 11,
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, 31|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, 13,
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, 13,
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, 13,
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, 11|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, 29|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, 15|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, 31|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, 13,
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, 11|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, 29|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, 15|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, 31|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, 13,
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, 13,
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, 11|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, 29|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, 15|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, 31|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 56|128,4, TARGET_VAL(LoongArchISD::BSTRPICK),
4442 OPC_Scope, 123|128,3,
4443 OPC_MoveChild0,
4444 OPC_SwitchOpcode , 70, 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 43|128,3, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
4489 OPC_RecordChild0,
4490 OPC_Scope, 79|128,2,
4491 OPC_CheckChild0Type, MVT::v16i16,
4492 OPC_Scope, 36,
4493 OPC_CheckChild1Integer, 8,
4494 OPC_MoveParent,
4495 OPC_CheckChild1Integer, 15,
4496 OPC_CheckChild1TypeByHwMode0,
4497 OPC_CheckChild2Integer, 0,
4498 OPC_CheckTypeByHwMode0,
4499 OPC_CheckPatternPredicate0,
4500 OPC_EmitIntegerByHwMode0, 14,
4501 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
4502 MVT::v32i8, 2, 9,
4503 OPC_EmitIntegerI32, LoongArch::sub_128,
4504 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4505 MVT::v16i8, 2, 49,
4506 OPC_EmitIntegerByHwMode0, 0,
4507 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
4508 1, 0, 2, 93,
4509 36,
4510 OPC_CheckChild1Integer, 9,
4511 OPC_MoveParent,
4512 OPC_CheckChild1Integer, 15,
4513 OPC_CheckChild1TypeByHwMode0,
4514 OPC_CheckChild2Integer, 0,
4515 OPC_CheckTypeByHwMode0,
4516 OPC_CheckPatternPredicate0,
4517 OPC_EmitIntegerByHwMode0, 14,
4518 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
4519 MVT::v32i8, 2, 9,
4520 OPC_EmitIntegerI32, LoongArch::sub_128,
4521 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4522 MVT::v16i8, 2, 49,
4523 OPC_EmitIntegerByHwMode0, 1,
4524 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
4525 1, 0, 2, 93,
4526 36,
4527 OPC_CheckChild1Integer, 10,
4528 OPC_MoveParent,
4529 OPC_CheckChild1Integer, 15,
4530 OPC_CheckChild1TypeByHwMode0,
4531 OPC_CheckChild2Integer, 0,
4532 OPC_CheckTypeByHwMode0,
4533 OPC_CheckPatternPredicate0,
4534 OPC_EmitIntegerByHwMode0, 14,
4535 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
4536 MVT::v32i8, 2, 9,
4537 OPC_EmitIntegerI32, LoongArch::sub_128,
4538 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4539 MVT::v16i8, 2, 49,
4540 OPC_EmitIntegerByHwMode0, 2,
4541 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
4542 1, 0, 2, 93,
4543 36,
4544 OPC_CheckChild1Integer, 11,
4545 OPC_MoveParent,
4546 OPC_CheckChild1Integer, 15,
4547 OPC_CheckChild1TypeByHwMode0,
4548 OPC_CheckChild2Integer, 0,
4549 OPC_CheckTypeByHwMode0,
4550 OPC_CheckPatternPredicate0,
4551 OPC_EmitIntegerByHwMode0, 14,
4552 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
4553 MVT::v32i8, 2, 9,
4554 OPC_EmitIntegerI32, LoongArch::sub_128,
4555 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4556 MVT::v16i8, 2, 49,
4557 OPC_EmitIntegerByHwMode0, 3,
4558 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
4559 1, 0, 2, 93,
4560 36,
4561 OPC_CheckChild1Integer, 12,
4562 OPC_MoveParent,
4563 OPC_CheckChild1Integer, 15,
4564 OPC_CheckChild1TypeByHwMode0,
4565 OPC_CheckChild2Integer, 0,
4566 OPC_CheckTypeByHwMode0,
4567 OPC_CheckPatternPredicate0,
4568 OPC_EmitIntegerByHwMode0, 14,
4569 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
4570 MVT::v32i8, 2, 9,
4571 OPC_EmitIntegerI32, LoongArch::sub_128,
4572 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4573 MVT::v16i8, 2, 49,
4574 OPC_EmitIntegerByHwMode0, 4,
4575 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
4576 1, 0, 2, 93,
4577 36,
4578 OPC_CheckChild1Integer, 13,
4579 OPC_MoveParent,
4580 OPC_CheckChild1Integer, 15,
4581 OPC_CheckChild1TypeByHwMode0,
4582 OPC_CheckChild2Integer, 0,
4583 OPC_CheckTypeByHwMode0,
4584 OPC_CheckPatternPredicate0,
4585 OPC_EmitIntegerByHwMode0, 14,
4586 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
4587 MVT::v32i8, 2, 9,
4588 OPC_EmitIntegerI32, LoongArch::sub_128,
4589 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4590 MVT::v16i8, 2, 49,
4591 OPC_EmitIntegerByHwMode0, 5,
4592 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
4593 1, 0, 2, 93,
4594 36,
4595 OPC_CheckChild1Integer, 14,
4596 OPC_MoveParent,
4597 OPC_CheckChild1Integer, 15,
4598 OPC_CheckChild1TypeByHwMode0,
4599 OPC_CheckChild2Integer, 0,
4600 OPC_CheckTypeByHwMode0,
4601 OPC_CheckPatternPredicate0,
4602 OPC_EmitIntegerByHwMode0, 14,
4603 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
4604 MVT::v32i8, 2, 9,
4605 OPC_EmitIntegerI32, LoongArch::sub_128,
4606 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4607 MVT::v16i8, 2, 49,
4608 OPC_EmitIntegerByHwMode0, 6,
4609 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
4610 1, 0, 2, 93,
4611 36,
4612 OPC_CheckChild1Integer, 15,
4613 OPC_MoveParent,
4614 OPC_CheckChild1Integer, 15,
4615 OPC_CheckChild1TypeByHwMode0,
4616 OPC_CheckChild2Integer, 0,
4617 OPC_CheckTypeByHwMode0,
4618 OPC_CheckPatternPredicate0,
4619 OPC_EmitIntegerByHwMode0, 14,
4620 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
4621 MVT::v32i8, 2, 9,
4622 OPC_EmitIntegerI32, LoongArch::sub_128,
4623 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4624 MVT::v16i8, 2, 49,
4625 OPC_EmitIntegerByHwMode0, 7,
4626 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
4627 1, 0, 2, 93,
4628 34,
4629 OPC_RecordChild1,
4630 OPC_MoveChild1,
4631 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4632 OPC_CheckPredicate, 11,
4633 OPC_CheckTypeByHwMode0,
4634 OPC_MoveParent,
4635 OPC_MoveParent,
4636 OPC_CheckChild1Integer, 15,
4637 OPC_CheckChild1TypeByHwMode0,
4638 OPC_CheckChild2Integer, 0,
4639 OPC_CheckTypeByHwMode0,
4640 OPC_CheckPatternPredicate0,
4641 OPC_EmitIntegerI32, LoongArch::sub_128,
4642 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
4643 MVT::v16i8, 2, 22,
4644 OPC_EmitConvertToTarget1,
4645 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
4646 1, 0, 2, 76,
4647 0,
4648 28,
4649 OPC_CheckChild0Type, MVT::v8i16,
4650 OPC_RecordChild1,
4651 OPC_MoveChild1,
4652 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4653 OPC_CheckPredicate, 11,
4654 OPC_CheckTypeByHwMode0,
4655 OPC_MoveParent,
4656 OPC_MoveParent,
4657 OPC_CheckChild1Integer, 15,
4658 OPC_CheckChild1TypeByHwMode0,
4659 OPC_CheckChild2Integer, 0,
4660 OPC_CheckTypeByHwMode0,
4661 OPC_CheckPatternPredicate1,
4662 OPC_EmitConvertToTarget1,
4663 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
4664 1, 0, 2, 22,
4665 28,
4666 OPC_CheckChild0Type, MVT::v4i32,
4667 OPC_RecordChild1,
4668 OPC_MoveChild1,
4669 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4670 OPC_CheckPredicate, 18,
4671 OPC_CheckTypeByHwMode0,
4672 OPC_MoveParent,
4673 OPC_MoveParent,
4674 OPC_CheckChild1Integer, 31,
4675 OPC_CheckChild1TypeByHwMode0,
4676 OPC_CheckChild2Integer, 0,
4677 OPC_CheckTypeByHwMode0,
4678 OPC_CheckPatternPredicate1,
4679 OPC_EmitConvertToTarget1,
4680 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_WU), 0,
4681 1, 0, 2, 22,
4682 28,
4683 OPC_CheckChild0Type, MVT::v8i32,
4684 OPC_RecordChild1,
4685 OPC_MoveChild1,
4686 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4687 OPC_CheckPredicate, 11,
4688 OPC_CheckTypeByHwMode0,
4689 OPC_MoveParent,
4690 OPC_MoveParent,
4691 OPC_CheckChild1Integer, 31,
4692 OPC_CheckChild1TypeByHwMode0,
4693 OPC_CheckChild2Integer, 0,
4694 OPC_CheckTypeByHwMode0,
4695 OPC_CheckPatternPredicate0,
4696 OPC_EmitConvertToTarget1,
4697 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_WU), 0,
4698 1, 0, 2, 22,
4699 0,
4700 0,
4701 56,
4702 OPC_RecordChild0,
4703 OPC_RecordChild1,
4704 OPC_MoveChild1,
4705 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4706 OPC_Scope, 23,
4707 OPC_CheckPredicate, 20,
4708 OPC_CheckTypeByHwMode0,
4709 OPC_MoveSibling2,
4710 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4711 OPC_RecordNode,
4712 OPC_CheckPredicate, 20,
4713 OPC_MoveParent,
4714 OPC_CheckTypeByHwMode0,
4715 OPC_CheckPatternPredicate6,
4716 OPC_EmitConvertToTarget1,
4717 OPC_EmitConvertToTarget2,
4718 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRPICK_W), 0,
4719 1, 0, 3, 75,
4720 23,
4721 OPC_CheckPredicate, 26,
4722 OPC_CheckTypeByHwMode0,
4723 OPC_MoveSibling2,
4724 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4725 OPC_RecordNode,
4726 OPC_CheckPredicate, 26,
4727 OPC_MoveParent,
4728 OPC_CheckTypeByHwMode0,
4729 OPC_CheckPatternPredicate2,
4730 OPC_EmitConvertToTarget1,
4731 OPC_EmitConvertToTarget2,
4732 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRPICK_D), 0,
4733 1, 0, 3, 75,
4734 0,
4735 0,
4736 2|128,27, TARGET_VAL(ISD::OR),
4737 OPC_Scope, 51|128,4,
4738 OPC_MoveChild0,
4739 OPC_SwitchOpcode , 20|128,2, TARGET_VAL(ISD::SHL),
4740 OPC_RecordChild0,
4741 OPC_Scope, 54,
4742 OPC_CheckChild1Integer, 8,
4743 OPC_Scope, 24,
4744 OPC_CheckChild1TypeByHwMode, 3,
4745 OPC_MoveSibling1,
4746 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4747 OPC_RecordChild0,
4748 OPC_CheckChild1Integer, 24,
4749 OPC_CheckChild1TypeByHwMode, 3,
4750 OPC_MoveParent,
4751 OPC_CheckTypeByHwMode0,
4752 OPC_CheckPatternPredicate6,
4753 OPC_EmitIntegerByHwMode0, 1,
4754 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4755 1, 0, 3, 21,
4756 24,
4757 OPC_CheckChild1TypeByHwMode, 2,
4758 OPC_MoveSibling1,
4759 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4760 OPC_RecordChild0,
4761 OPC_CheckChild1Integer, 56,
4762 OPC_CheckChild1TypeByHwMode, 2,
4763 OPC_MoveParent,
4764 OPC_CheckTypeByHwMode0,
4765 OPC_CheckPatternPredicate2,
4766 OPC_EmitIntegerByHwMode0, 1,
4767 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4768 1, 0, 3, 21,
4769 0,
4770 54,
4771 OPC_CheckChild1Integer, 16,
4772 OPC_Scope, 24,
4773 OPC_CheckChild1TypeByHwMode, 3,
4774 OPC_MoveSibling1,
4775 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4776 OPC_RecordChild0,
4777 OPC_CheckChild1Integer, 16,
4778 OPC_CheckChild1TypeByHwMode, 3,
4779 OPC_MoveParent,
4780 OPC_CheckTypeByHwMode0,
4781 OPC_CheckPatternPredicate6,
4782 OPC_EmitIntegerByHwMode0, 2,
4783 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4784 1, 0, 3, 21,
4785 24,
4786 OPC_CheckChild1TypeByHwMode, 2,
4787 OPC_MoveSibling1,
4788 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4789 OPC_RecordChild0,
4790 OPC_CheckChild1Integer, 48,
4791 OPC_CheckChild1TypeByHwMode, 2,
4792 OPC_MoveParent,
4793 OPC_CheckTypeByHwMode0,
4794 OPC_CheckPatternPredicate2,
4795 OPC_EmitIntegerByHwMode0, 2,
4796 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4797 1, 0, 3, 21,
4798 0,
4799 54,
4800 OPC_CheckChild1Integer, 24,
4801 OPC_Scope, 24,
4802 OPC_CheckChild1TypeByHwMode, 3,
4803 OPC_MoveSibling1,
4804 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4805 OPC_RecordChild0,
4806 OPC_CheckChild1Integer, 8,
4807 OPC_CheckChild1TypeByHwMode, 3,
4808 OPC_MoveParent,
4809 OPC_CheckTypeByHwMode0,
4810 OPC_CheckPatternPredicate6,
4811 OPC_EmitIntegerByHwMode0, 3,
4812 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4813 1, 0, 3, 21,
4814 24,
4815 OPC_CheckChild1TypeByHwMode, 2,
4816 OPC_MoveSibling1,
4817 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4818 OPC_RecordChild0,
4819 OPC_CheckChild1Integer, 40,
4820 OPC_CheckChild1TypeByHwMode, 2,
4821 OPC_MoveParent,
4822 OPC_CheckTypeByHwMode0,
4823 OPC_CheckPatternPredicate2,
4824 OPC_EmitIntegerByHwMode0, 3,
4825 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4826 1, 0, 3, 21,
4827 0,
4828 26,
4829 OPC_CheckChild1Integer, 32,
4830 OPC_CheckChild1TypeByHwMode, 2,
4831 OPC_MoveSibling1,
4832 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4833 OPC_RecordChild0,
4834 OPC_CheckChild1Integer, 32,
4835 OPC_CheckChild1TypeByHwMode, 2,
4836 OPC_MoveParent,
4837 OPC_CheckTypeByHwMode0,
4838 OPC_CheckPatternPredicate2,
4839 OPC_EmitIntegerByHwMode0, 4,
4840 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4841 1, 0, 3, 21,
4842 26,
4843 OPC_CheckChild1Integer, 40,
4844 OPC_CheckChild1TypeByHwMode, 2,
4845 OPC_MoveSibling1,
4846 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4847 OPC_RecordChild0,
4848 OPC_CheckChild1Integer, 24,
4849 OPC_CheckChild1TypeByHwMode, 2,
4850 OPC_MoveParent,
4851 OPC_CheckTypeByHwMode0,
4852 OPC_CheckPatternPredicate2,
4853 OPC_EmitIntegerByHwMode0, 5,
4854 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4855 1, 0, 3, 21,
4856 26,
4857 OPC_CheckChild1Integer, 48,
4858 OPC_CheckChild1TypeByHwMode, 2,
4859 OPC_MoveSibling1,
4860 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4861 OPC_RecordChild0,
4862 OPC_CheckChild1Integer, 16,
4863 OPC_CheckChild1TypeByHwMode, 2,
4864 OPC_MoveParent,
4865 OPC_CheckTypeByHwMode0,
4866 OPC_CheckPatternPredicate2,
4867 OPC_EmitIntegerByHwMode0, 6,
4868 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4869 1, 0, 3, 21,
4870 26,
4871 OPC_CheckChild1Integer, 56,
4872 OPC_CheckChild1TypeByHwMode, 2,
4873 OPC_MoveSibling1,
4874 OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
4875 OPC_RecordChild0,
4876 OPC_CheckChild1Integer, 8,
4877 OPC_CheckChild1TypeByHwMode, 2,
4878 OPC_MoveParent,
4879 OPC_CheckTypeByHwMode0,
4880 OPC_CheckPatternPredicate2,
4881 OPC_EmitIntegerByHwMode0, 7,
4882 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4883 1, 0, 3, 21,
4884 0,
4885 20|128,2, TARGET_VAL(ISD::SRL),
4886 OPC_RecordChild0,
4887 OPC_Scope, 54,
4888 OPC_CheckChild1Integer, 24,
4889 OPC_Scope, 24,
4890 OPC_CheckChild1TypeByHwMode, 3,
4891 OPC_MoveSibling1,
4892 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4893 OPC_RecordChild0,
4894 OPC_CheckChild1Integer, 8,
4895 OPC_CheckChild1TypeByHwMode, 3,
4896 OPC_MoveParent,
4897 OPC_CheckTypeByHwMode0,
4898 OPC_CheckPatternPredicate6,
4899 OPC_EmitIntegerByHwMode0, 1,
4900 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4901 1, 0, 3, 24,
4902 24,
4903 OPC_CheckChild1TypeByHwMode, 2,
4904 OPC_MoveSibling1,
4905 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4906 OPC_RecordChild0,
4907 OPC_CheckChild1Integer, 40,
4908 OPC_CheckChild1TypeByHwMode, 2,
4909 OPC_MoveParent,
4910 OPC_CheckTypeByHwMode0,
4911 OPC_CheckPatternPredicate2,
4912 OPC_EmitIntegerByHwMode0, 5,
4913 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4914 1, 0, 3, 24,
4915 0,
4916 54,
4917 OPC_CheckChild1Integer, 16,
4918 OPC_Scope, 24,
4919 OPC_CheckChild1TypeByHwMode, 3,
4920 OPC_MoveSibling1,
4921 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4922 OPC_RecordChild0,
4923 OPC_CheckChild1Integer, 16,
4924 OPC_CheckChild1TypeByHwMode, 3,
4925 OPC_MoveParent,
4926 OPC_CheckTypeByHwMode0,
4927 OPC_CheckPatternPredicate6,
4928 OPC_EmitIntegerByHwMode0, 2,
4929 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4930 1, 0, 3, 24,
4931 24,
4932 OPC_CheckChild1TypeByHwMode, 2,
4933 OPC_MoveSibling1,
4934 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4935 OPC_RecordChild0,
4936 OPC_CheckChild1Integer, 48,
4937 OPC_CheckChild1TypeByHwMode, 2,
4938 OPC_MoveParent,
4939 OPC_CheckTypeByHwMode0,
4940 OPC_CheckPatternPredicate2,
4941 OPC_EmitIntegerByHwMode0, 6,
4942 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4943 1, 0, 3, 24,
4944 0,
4945 54,
4946 OPC_CheckChild1Integer, 8,
4947 OPC_Scope, 24,
4948 OPC_CheckChild1TypeByHwMode, 3,
4949 OPC_MoveSibling1,
4950 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4951 OPC_RecordChild0,
4952 OPC_CheckChild1Integer, 24,
4953 OPC_CheckChild1TypeByHwMode, 3,
4954 OPC_MoveParent,
4955 OPC_CheckTypeByHwMode0,
4956 OPC_CheckPatternPredicate6,
4957 OPC_EmitIntegerByHwMode0, 3,
4958 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_W), 0,
4959 1, 0, 3, 24,
4960 24,
4961 OPC_CheckChild1TypeByHwMode, 2,
4962 OPC_MoveSibling1,
4963 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4964 OPC_RecordChild0,
4965 OPC_CheckChild1Integer, 56,
4966 OPC_CheckChild1TypeByHwMode, 2,
4967 OPC_MoveParent,
4968 OPC_CheckTypeByHwMode0,
4969 OPC_CheckPatternPredicate2,
4970 OPC_EmitIntegerByHwMode0, 7,
4971 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4972 1, 0, 3, 24,
4973 0,
4974 26,
4975 OPC_CheckChild1Integer, 56,
4976 OPC_CheckChild1TypeByHwMode, 2,
4977 OPC_MoveSibling1,
4978 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4979 OPC_RecordChild0,
4980 OPC_CheckChild1Integer, 8,
4981 OPC_CheckChild1TypeByHwMode, 2,
4982 OPC_MoveParent,
4983 OPC_CheckTypeByHwMode0,
4984 OPC_CheckPatternPredicate2,
4985 OPC_EmitIntegerByHwMode0, 1,
4986 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
4987 1, 0, 3, 24,
4988 26,
4989 OPC_CheckChild1Integer, 48,
4990 OPC_CheckChild1TypeByHwMode, 2,
4991 OPC_MoveSibling1,
4992 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
4993 OPC_RecordChild0,
4994 OPC_CheckChild1Integer, 16,
4995 OPC_CheckChild1TypeByHwMode, 2,
4996 OPC_MoveParent,
4997 OPC_CheckTypeByHwMode0,
4998 OPC_CheckPatternPredicate2,
4999 OPC_EmitIntegerByHwMode0, 2,
5000 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
5001 1, 0, 3, 24,
5002 26,
5003 OPC_CheckChild1Integer, 40,
5004 OPC_CheckChild1TypeByHwMode, 2,
5005 OPC_MoveSibling1,
5006 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5007 OPC_RecordChild0,
5008 OPC_CheckChild1Integer, 24,
5009 OPC_CheckChild1TypeByHwMode, 2,
5010 OPC_MoveParent,
5011 OPC_CheckTypeByHwMode0,
5012 OPC_CheckPatternPredicate2,
5013 OPC_EmitIntegerByHwMode0, 3,
5014 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
5015 1, 0, 3, 24,
5016 26,
5017 OPC_CheckChild1Integer, 32,
5018 OPC_CheckChild1TypeByHwMode, 2,
5019 OPC_MoveSibling1,
5020 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5021 OPC_RecordChild0,
5022 OPC_CheckChild1Integer, 32,
5023 OPC_CheckChild1TypeByHwMode, 2,
5024 OPC_MoveParent,
5025 OPC_CheckTypeByHwMode0,
5026 OPC_CheckPatternPredicate2,
5027 OPC_EmitIntegerByHwMode0, 4,
5028 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BYTEPICK_D), 0,
5029 1, 0, 3, 24,
5030 0,
5031 0,
5032 59,
5033 OPC_RecordChild0,
5034 OPC_Scope, 37,
5035 OPC_RecordChild1,
5036 OPC_MoveChild1,
5037 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5038 OPC_CheckPredicate4,
5039 OPC_MoveParent,
5040 OPC_CheckPredicate2,
5041 OPC_Scope, 11,
5042 OPC_CheckTypeI32,
5043 OPC_CheckPatternPredicate5,
5044 OPC_CheckComplexPat0, /*#*/0,
5045 OPC_EmitConvertToTarget1,
5046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
5047 MVT::i32, 2, 49,
5048 14,
5049 OPC_CheckTypeByHwMode, 1,
5050 OPC_CheckPatternPredicate2,
5051 OPC_CheckComplexPat0, /*#*/0,
5052 OPC_EmitConvertToTarget1,
5053 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
5054 1, 1, 2, 49,
5055 0,
5056 17,
5057 OPC_MoveChild1,
5058 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5059 OPC_RecordChild0,
5060 OPC_CheckChild1Integer, 127,
5061 OPC_MoveParent,
5062 OPC_CheckTypeByHwMode0,
5063 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ORN), 0,
5064 1, 0, 2, 9,
5065 0,
5066 18,
5067 OPC_MoveChild0,
5068 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
5069 OPC_RecordChild0,
5070 OPC_CheckChild1Integer, 127,
5071 OPC_MoveParent,
5072 OPC_RecordChild1,
5073 OPC_CheckTypeByHwMode0,
5074 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ORN), 0,
5075 1, 0, 2, 3,
5076 88|128,1,
5077 OPC_RecordChild0,
5078 OPC_Scope, 31,
5079 OPC_RecordChild1,
5080 OPC_Scope, 17,
5081 OPC_MoveChild1,
5082 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5083 OPC_CheckPredicate, 48,
5084 OPC_MoveParent,
5085 OPC_CheckTypeByHwMode0,
5086 OPC_EmitConvertToTarget1,
5087 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ORI), 0,
5088 1, 0, 2, 22,
5089 9,
5090 OPC_CheckTypeByHwMode0,
5091 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::OR), 0,
5092 1, 0, 2, 9,
5093 0,
5094 51|128,1,
5095 OPC_MoveChild1,
5096 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5097 OPC_MoveChild0,
5098 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5099 OPC_CheckPredicate, 12,
5100 OPC_MoveSibling1,
5101 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5102 OPC_Scope, 11|128,1,
5103 OPC_RecordChild0,
5104 OPC_MoveChild1,
5105 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5106 OPC_Scope, 16,
5107 OPC_CheckPredicate, 14,
5108 OPC_MoveParent,
5109 OPC_CheckType, MVT::v16i8,
5110 OPC_MoveParent,
5111 OPC_MoveParent,
5112 OPC_CheckType, MVT::v16i8,
5113 OPC_CheckPatternPredicate1,
5114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
5115 MVT::v16i8, 2, 9,
5116 16,
5117 OPC_CheckPredicate, 15,
5118 OPC_MoveParent,
5119 OPC_CheckType, MVT::v8i16,
5120 OPC_MoveParent,
5121 OPC_MoveParent,
5122 OPC_CheckType, MVT::v8i16,
5123 OPC_CheckPatternPredicate1,
5124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
5125 MVT::v8i16, 2, 9,
5126 16,
5127 OPC_CheckPredicate, 16,
5128 OPC_MoveParent,
5129 OPC_CheckType, MVT::v4i32,
5130 OPC_MoveParent,
5131 OPC_MoveParent,
5132 OPC_CheckType, MVT::v4i32,
5133 OPC_CheckPatternPredicate1,
5134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
5135 MVT::v4i32, 2, 9,
5136 14,
5137 OPC_CheckPredicate, 17,
5138 OPC_MoveParent,
5139 OPC_MoveParent,
5140 OPC_MoveParent,
5141 OPC_CheckType, MVT::v2i64,
5142 OPC_CheckPatternPredicate1,
5143 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
5144 MVT::v2i64, 2, 9,
5145 14,
5146 OPC_CheckPredicate, 14,
5147 OPC_MoveParent,
5148 OPC_MoveParent,
5149 OPC_MoveParent,
5150 OPC_CheckType, MVT::v32i8,
5151 OPC_CheckPatternPredicate0,
5152 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
5153 MVT::v32i8, 2, 9,
5154 16,
5155 OPC_CheckPredicate, 15,
5156 OPC_MoveParent,
5157 OPC_CheckType, MVT::v16i16,
5158 OPC_MoveParent,
5159 OPC_MoveParent,
5160 OPC_CheckType, MVT::v16i16,
5161 OPC_CheckPatternPredicate0,
5162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
5163 MVT::v16i16, 2, 9,
5164 16,
5165 OPC_CheckPredicate, 16,
5166 OPC_MoveParent,
5167 OPC_CheckType, MVT::v8i32,
5168 OPC_MoveParent,
5169 OPC_MoveParent,
5170 OPC_CheckType, MVT::v8i32,
5171 OPC_CheckPatternPredicate0,
5172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
5173 MVT::v8i32, 2, 9,
5174 16,
5175 OPC_CheckPredicate, 17,
5176 OPC_MoveParent,
5177 OPC_CheckType, MVT::v4i64,
5178 OPC_MoveParent,
5179 OPC_MoveParent,
5180 OPC_CheckType, MVT::v4i64,
5181 OPC_CheckPatternPredicate0,
5182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
5183 MVT::v4i64, 2, 9,
5184 0,
5185 21,
5186 OPC_MoveChild0,
5187 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5188 OPC_CheckPredicate, 14,
5189 OPC_MoveParent,
5190 OPC_RecordChild1,
5191 OPC_CheckType, MVT::v16i8,
5192 OPC_MoveParent,
5193 OPC_MoveParent,
5194 OPC_CheckType, MVT::v16i8,
5195 OPC_CheckPatternPredicate1,
5196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
5197 MVT::v16i8, 2, 9,
5198 0,
5199 0,
5200 62,
5201 OPC_MoveChild0,
5202 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5203 OPC_MoveChild0,
5204 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5205 OPC_CheckPredicate, 12,
5206 OPC_MoveSibling1,
5207 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5208 OPC_Scope, 22,
5209 OPC_RecordChild0,
5210 OPC_MoveChild1,
5211 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5212 OPC_CheckPredicate, 14,
5213 OPC_MoveParent,
5214 OPC_CheckType, MVT::v16i8,
5215 OPC_MoveParent,
5216 OPC_MoveParent,
5217 OPC_RecordChild1,
5218 OPC_CheckType, MVT::v16i8,
5219 OPC_CheckPatternPredicate1,
5220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
5221 MVT::v16i8, 2, 3,
5222 22,
5223 OPC_MoveChild0,
5224 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5225 OPC_CheckPredicate, 14,
5226 OPC_MoveParent,
5227 OPC_RecordChild1,
5228 OPC_CheckType, MVT::v16i8,
5229 OPC_MoveParent,
5230 OPC_MoveParent,
5231 OPC_RecordChild1,
5232 OPC_CheckType, MVT::v16i8,
5233 OPC_CheckPatternPredicate1,
5234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
5235 MVT::v16i8, 2, 3,
5236 0,
5237 36,
5238 OPC_RecordChild0,
5239 OPC_MoveChild1,
5240 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5241 OPC_MoveChild0,
5242 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5243 OPC_CheckPredicate, 12,
5244 OPC_MoveSibling1,
5245 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5246 OPC_MoveChild0,
5247 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5248 OPC_CheckPredicate, 15,
5249 OPC_MoveParent,
5250 OPC_RecordChild1,
5251 OPC_CheckType, MVT::v8i16,
5252 OPC_MoveParent,
5253 OPC_MoveParent,
5254 OPC_CheckType, MVT::v8i16,
5255 OPC_CheckPatternPredicate1,
5256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
5257 MVT::v8i16, 2, 9,
5258 62,
5259 OPC_MoveChild0,
5260 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5261 OPC_MoveChild0,
5262 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5263 OPC_CheckPredicate, 12,
5264 OPC_MoveSibling1,
5265 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5266 OPC_Scope, 22,
5267 OPC_RecordChild0,
5268 OPC_MoveChild1,
5269 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5270 OPC_CheckPredicate, 15,
5271 OPC_MoveParent,
5272 OPC_CheckType, MVT::v8i16,
5273 OPC_MoveParent,
5274 OPC_MoveParent,
5275 OPC_RecordChild1,
5276 OPC_CheckType, MVT::v8i16,
5277 OPC_CheckPatternPredicate1,
5278 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
5279 MVT::v8i16, 2, 3,
5280 22,
5281 OPC_MoveChild0,
5282 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5283 OPC_CheckPredicate, 15,
5284 OPC_MoveParent,
5285 OPC_RecordChild1,
5286 OPC_CheckType, MVT::v8i16,
5287 OPC_MoveParent,
5288 OPC_MoveParent,
5289 OPC_RecordChild1,
5290 OPC_CheckType, MVT::v8i16,
5291 OPC_CheckPatternPredicate1,
5292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
5293 MVT::v8i16, 2, 3,
5294 0,
5295 36,
5296 OPC_RecordChild0,
5297 OPC_MoveChild1,
5298 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5299 OPC_MoveChild0,
5300 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5301 OPC_CheckPredicate, 12,
5302 OPC_MoveSibling1,
5303 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5304 OPC_MoveChild0,
5305 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5306 OPC_CheckPredicate, 16,
5307 OPC_MoveParent,
5308 OPC_RecordChild1,
5309 OPC_CheckType, MVT::v4i32,
5310 OPC_MoveParent,
5311 OPC_MoveParent,
5312 OPC_CheckType, MVT::v4i32,
5313 OPC_CheckPatternPredicate1,
5314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
5315 MVT::v4i32, 2, 9,
5316 62,
5317 OPC_MoveChild0,
5318 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5319 OPC_MoveChild0,
5320 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5321 OPC_CheckPredicate, 12,
5322 OPC_MoveSibling1,
5323 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5324 OPC_Scope, 22,
5325 OPC_RecordChild0,
5326 OPC_MoveChild1,
5327 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5328 OPC_CheckPredicate, 16,
5329 OPC_MoveParent,
5330 OPC_CheckType, MVT::v4i32,
5331 OPC_MoveParent,
5332 OPC_MoveParent,
5333 OPC_RecordChild1,
5334 OPC_CheckType, MVT::v4i32,
5335 OPC_CheckPatternPredicate1,
5336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
5337 MVT::v4i32, 2, 3,
5338 22,
5339 OPC_MoveChild0,
5340 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5341 OPC_CheckPredicate, 16,
5342 OPC_MoveParent,
5343 OPC_RecordChild1,
5344 OPC_CheckType, MVT::v4i32,
5345 OPC_MoveParent,
5346 OPC_MoveParent,
5347 OPC_RecordChild1,
5348 OPC_CheckType, MVT::v4i32,
5349 OPC_CheckPatternPredicate1,
5350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
5351 MVT::v4i32, 2, 3,
5352 0,
5353 34,
5354 OPC_RecordChild0,
5355 OPC_MoveChild1,
5356 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5357 OPC_MoveChild0,
5358 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5359 OPC_CheckPredicate, 12,
5360 OPC_MoveSibling1,
5361 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5362 OPC_MoveChild0,
5363 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5364 OPC_CheckPredicate, 17,
5365 OPC_MoveParent,
5366 OPC_RecordChild1,
5367 OPC_MoveParent,
5368 OPC_MoveParent,
5369 OPC_CheckType, MVT::v2i64,
5370 OPC_CheckPatternPredicate1,
5371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
5372 MVT::v2i64, 2, 9,
5373 58,
5374 OPC_MoveChild0,
5375 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5376 OPC_MoveChild0,
5377 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5378 OPC_CheckPredicate, 12,
5379 OPC_MoveSibling1,
5380 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5381 OPC_Scope, 20,
5382 OPC_RecordChild0,
5383 OPC_MoveChild1,
5384 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5385 OPC_CheckPredicate, 17,
5386 OPC_MoveParent,
5387 OPC_MoveParent,
5388 OPC_MoveParent,
5389 OPC_RecordChild1,
5390 OPC_CheckType, MVT::v2i64,
5391 OPC_CheckPatternPredicate1,
5392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
5393 MVT::v2i64, 2, 3,
5394 20,
5395 OPC_MoveChild0,
5396 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5397 OPC_CheckPredicate, 17,
5398 OPC_MoveParent,
5399 OPC_RecordChild1,
5400 OPC_MoveParent,
5401 OPC_MoveParent,
5402 OPC_RecordChild1,
5403 OPC_CheckType, MVT::v2i64,
5404 OPC_CheckPatternPredicate1,
5405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
5406 MVT::v2i64, 2, 3,
5407 0,
5408 34,
5409 OPC_RecordChild0,
5410 OPC_MoveChild1,
5411 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5412 OPC_MoveChild0,
5413 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5414 OPC_CheckPredicate, 12,
5415 OPC_MoveSibling1,
5416 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5417 OPC_MoveChild0,
5418 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5419 OPC_CheckPredicate, 14,
5420 OPC_MoveParent,
5421 OPC_RecordChild1,
5422 OPC_MoveParent,
5423 OPC_MoveParent,
5424 OPC_CheckType, MVT::v32i8,
5425 OPC_CheckPatternPredicate0,
5426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
5427 MVT::v32i8, 2, 9,
5428 58,
5429 OPC_MoveChild0,
5430 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5431 OPC_MoveChild0,
5432 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5433 OPC_CheckPredicate, 12,
5434 OPC_MoveSibling1,
5435 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5436 OPC_Scope, 20,
5437 OPC_RecordChild0,
5438 OPC_MoveChild1,
5439 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5440 OPC_CheckPredicate, 14,
5441 OPC_MoveParent,
5442 OPC_MoveParent,
5443 OPC_MoveParent,
5444 OPC_RecordChild1,
5445 OPC_CheckType, MVT::v32i8,
5446 OPC_CheckPatternPredicate0,
5447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
5448 MVT::v32i8, 2, 3,
5449 20,
5450 OPC_MoveChild0,
5451 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5452 OPC_CheckPredicate, 14,
5453 OPC_MoveParent,
5454 OPC_RecordChild1,
5455 OPC_MoveParent,
5456 OPC_MoveParent,
5457 OPC_RecordChild1,
5458 OPC_CheckType, MVT::v32i8,
5459 OPC_CheckPatternPredicate0,
5460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
5461 MVT::v32i8, 2, 3,
5462 0,
5463 36,
5464 OPC_RecordChild0,
5465 OPC_MoveChild1,
5466 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5467 OPC_MoveChild0,
5468 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5469 OPC_CheckPredicate, 12,
5470 OPC_MoveSibling1,
5471 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5472 OPC_MoveChild0,
5473 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5474 OPC_CheckPredicate, 15,
5475 OPC_MoveParent,
5476 OPC_RecordChild1,
5477 OPC_CheckType, MVT::v16i16,
5478 OPC_MoveParent,
5479 OPC_MoveParent,
5480 OPC_CheckType, MVT::v16i16,
5481 OPC_CheckPatternPredicate0,
5482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
5483 MVT::v16i16, 2, 9,
5484 62,
5485 OPC_MoveChild0,
5486 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5487 OPC_MoveChild0,
5488 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5489 OPC_CheckPredicate, 12,
5490 OPC_MoveSibling1,
5491 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5492 OPC_Scope, 22,
5493 OPC_RecordChild0,
5494 OPC_MoveChild1,
5495 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5496 OPC_CheckPredicate, 15,
5497 OPC_MoveParent,
5498 OPC_CheckType, MVT::v16i16,
5499 OPC_MoveParent,
5500 OPC_MoveParent,
5501 OPC_RecordChild1,
5502 OPC_CheckType, MVT::v16i16,
5503 OPC_CheckPatternPredicate0,
5504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
5505 MVT::v16i16, 2, 3,
5506 22,
5507 OPC_MoveChild0,
5508 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5509 OPC_CheckPredicate, 15,
5510 OPC_MoveParent,
5511 OPC_RecordChild1,
5512 OPC_CheckType, MVT::v16i16,
5513 OPC_MoveParent,
5514 OPC_MoveParent,
5515 OPC_RecordChild1,
5516 OPC_CheckType, MVT::v16i16,
5517 OPC_CheckPatternPredicate0,
5518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
5519 MVT::v16i16, 2, 3,
5520 0,
5521 36,
5522 OPC_RecordChild0,
5523 OPC_MoveChild1,
5524 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5525 OPC_MoveChild0,
5526 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5527 OPC_CheckPredicate, 12,
5528 OPC_MoveSibling1,
5529 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5530 OPC_MoveChild0,
5531 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5532 OPC_CheckPredicate, 16,
5533 OPC_MoveParent,
5534 OPC_RecordChild1,
5535 OPC_CheckType, MVT::v8i32,
5536 OPC_MoveParent,
5537 OPC_MoveParent,
5538 OPC_CheckType, MVT::v8i32,
5539 OPC_CheckPatternPredicate0,
5540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
5541 MVT::v8i32, 2, 9,
5542 62,
5543 OPC_MoveChild0,
5544 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5545 OPC_MoveChild0,
5546 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5547 OPC_CheckPredicate, 12,
5548 OPC_MoveSibling1,
5549 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5550 OPC_Scope, 22,
5551 OPC_RecordChild0,
5552 OPC_MoveChild1,
5553 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5554 OPC_CheckPredicate, 16,
5555 OPC_MoveParent,
5556 OPC_CheckType, MVT::v8i32,
5557 OPC_MoveParent,
5558 OPC_MoveParent,
5559 OPC_RecordChild1,
5560 OPC_CheckType, MVT::v8i32,
5561 OPC_CheckPatternPredicate0,
5562 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
5563 MVT::v8i32, 2, 3,
5564 22,
5565 OPC_MoveChild0,
5566 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5567 OPC_CheckPredicate, 16,
5568 OPC_MoveParent,
5569 OPC_RecordChild1,
5570 OPC_CheckType, MVT::v8i32,
5571 OPC_MoveParent,
5572 OPC_MoveParent,
5573 OPC_RecordChild1,
5574 OPC_CheckType, MVT::v8i32,
5575 OPC_CheckPatternPredicate0,
5576 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
5577 MVT::v8i32, 2, 3,
5578 0,
5579 36,
5580 OPC_RecordChild0,
5581 OPC_MoveChild1,
5582 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
5583 OPC_MoveChild0,
5584 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5585 OPC_CheckPredicate, 12,
5586 OPC_MoveSibling1,
5587 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5588 OPC_MoveChild0,
5589 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5590 OPC_CheckPredicate, 17,
5591 OPC_MoveParent,
5592 OPC_RecordChild1,
5593 OPC_CheckType, MVT::v4i64,
5594 OPC_MoveParent,
5595 OPC_MoveParent,
5596 OPC_CheckType, MVT::v4i64,
5597 OPC_CheckPatternPredicate0,
5598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
5599 MVT::v4i64, 2, 9,
5600 80|128,1,
5601 OPC_MoveChild0,
5602 OPC_SwitchOpcode , 58, TARGET_VAL(ISD::SHL),
5603 OPC_MoveChild0,
5604 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5605 OPC_CheckPredicate, 12,
5606 OPC_MoveSibling1,
5607 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5608 OPC_Scope, 22,
5609 OPC_RecordChild0,
5610 OPC_MoveChild1,
5611 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5612 OPC_CheckPredicate, 17,
5613 OPC_MoveParent,
5614 OPC_CheckType, MVT::v4i64,
5615 OPC_MoveParent,
5616 OPC_MoveParent,
5617 OPC_RecordChild1,
5618 OPC_CheckType, MVT::v4i64,
5619 OPC_CheckPatternPredicate0,
5620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
5621 MVT::v4i64, 2, 3,
5622 22,
5623 OPC_MoveChild0,
5624 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5625 OPC_CheckPredicate, 17,
5626 OPC_MoveParent,
5627 OPC_RecordChild1,
5628 OPC_CheckType, MVT::v4i64,
5629 OPC_MoveParent,
5630 OPC_MoveParent,
5631 OPC_RecordChild1,
5632 OPC_CheckType, MVT::v4i64,
5633 OPC_CheckPatternPredicate0,
5634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
5635 MVT::v4i64, 2, 3,
5636 0,
5637 66, TARGET_VAL(ISD::AND),
5638 OPC_RecordChild0,
5639 OPC_RecordChild1,
5640 OPC_MoveSibling1,
5641 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::VANDN),
5642 OPC_Scope, 28,
5643 OPC_CheckChild0Same, 0,
5644 OPC_RecordChild1,
5645 OPC_MoveParent,
5646 OPC_SwitchType , 9, MVT::v16i8,
5647 OPC_CheckPatternPredicate1,
5648 OPC_CheckComplexPat7, /*#*/1,
5649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
5650 MVT::v16i8, 3, 48,
5651 9, MVT::v32i8,
5652 OPC_CheckPatternPredicate0,
5653 OPC_CheckComplexPat7, /*#*/1,
5654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
5655 MVT::v32i8, 3, 48,
5656 0,
5657 28,
5658 OPC_CheckChild0Same, 1,
5659 OPC_RecordChild1,
5660 OPC_MoveParent,
5661 OPC_SwitchType , 9, MVT::v16i8,
5662 OPC_CheckPatternPredicate1,
5663 OPC_CheckComplexPat7, /*#*/0,
5664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
5665 MVT::v16i8, 3, 51,
5666 9, MVT::v32i8,
5667 OPC_CheckPatternPredicate0,
5668 OPC_CheckComplexPat7, /*#*/0,
5669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
5670 MVT::v32i8, 3, 51,
5671 0,
5672 0,
5673 72, TARGET_VAL(LoongArchISD::VANDN),
5674 OPC_RecordChild0,
5675 OPC_RecordChild1,
5676 OPC_MoveSibling1,
5677 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
5678 OPC_Scope, 15,
5679 OPC_CheckChild0Same, 0,
5680 OPC_RecordChild1,
5681 OPC_MoveParent,
5682 OPC_CheckType, MVT::v16i8,
5683 OPC_CheckPatternPredicate1,
5684 OPC_CheckComplexPat7, /*#*/2,
5685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
5686 MVT::v16i8, 3, 42,
5687 15,
5688 OPC_RecordChild0,
5689 OPC_CheckChild1Same, 0,
5690 OPC_MoveParent,
5691 OPC_CheckType, MVT::v16i8,
5692 OPC_CheckPatternPredicate1,
5693 OPC_CheckComplexPat7, /*#*/2,
5694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
5695 MVT::v16i8, 3, 42,
5696 15,
5697 OPC_CheckChild0Same, 0,
5698 OPC_RecordChild1,
5699 OPC_MoveParent,
5700 OPC_CheckType, MVT::v32i8,
5701 OPC_CheckPatternPredicate0,
5702 OPC_CheckComplexPat7, /*#*/2,
5703 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
5704 MVT::v32i8, 3, 42,
5705 15,
5706 OPC_RecordChild0,
5707 OPC_CheckChild1Same, 0,
5708 OPC_MoveParent,
5709 OPC_CheckType, MVT::v32i8,
5710 OPC_CheckPatternPredicate0,
5711 OPC_CheckComplexPat7, /*#*/2,
5712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
5713 MVT::v32i8, 3, 42,
5714 0,
5715 0,
5716 71|128,1,
5717 OPC_RecordChild0,
5718 OPC_MoveChild1,
5719 OPC_SwitchOpcode , 79, TARGET_VAL(ISD::XOR),
5720 OPC_RecordChild0,
5721 OPC_MoveChild1,
5722 OPC_CheckImmAllOnesV,
5723 OPC_MoveParent,
5724 OPC_MoveParent,
5725 OPC_SwitchType , 7, MVT::v16i8,
5726 OPC_CheckPatternPredicate1,
5727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5728 MVT::v16i8, 2, 9,
5729 7, MVT::v8i16,
5730 OPC_CheckPatternPredicate1,
5731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5732 MVT::v8i16, 2, 9,
5733 7, MVT::v4i32,
5734 OPC_CheckPatternPredicate1,
5735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5736 MVT::v4i32, 2, 9,
5737 7, MVT::v2i64,
5738 OPC_CheckPatternPredicate1,
5739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5740 MVT::v2i64, 2, 9,
5741 7, MVT::v32i8,
5742 OPC_CheckPatternPredicate0,
5743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5744 MVT::v32i8, 2, 9,
5745 7, MVT::v16i16,
5746 OPC_CheckPatternPredicate0,
5747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5748 MVT::v16i16, 2, 9,
5749 7, MVT::v8i32,
5750 OPC_CheckPatternPredicate0,
5751 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5752 MVT::v8i32, 2, 9,
5753 7, MVT::v4i64,
5754 OPC_CheckPatternPredicate0,
5755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5756 MVT::v4i64, 2, 9,
5757 0,
5758 110, TARGET_VAL(ISD::SHL),
5759 OPC_MoveChild0,
5760 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5761 OPC_CheckPredicate, 12,
5762 OPC_MoveParent,
5763 OPC_RecordChild1,
5764 OPC_Scope, 12,
5765 OPC_CheckChild1Type, MVT::v16i8,
5766 OPC_MoveParent,
5767 OPC_CheckType, MVT::v16i8,
5768 OPC_CheckPatternPredicate1,
5769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
5770 MVT::v16i8, 2, 9,
5771 12,
5772 OPC_CheckChild1Type, MVT::v8i16,
5773 OPC_MoveParent,
5774 OPC_CheckType, MVT::v8i16,
5775 OPC_CheckPatternPredicate1,
5776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
5777 MVT::v8i16, 2, 9,
5778 12,
5779 OPC_CheckChild1Type, MVT::v4i32,
5780 OPC_MoveParent,
5781 OPC_CheckType, MVT::v4i32,
5782 OPC_CheckPatternPredicate1,
5783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
5784 MVT::v4i32, 2, 9,
5785 21,
5786 OPC_MoveParent,
5787 OPC_SwitchType , 7, MVT::v2i64,
5788 OPC_CheckPatternPredicate1,
5789 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
5790 MVT::v2i64, 2, 9,
5791 7, MVT::v32i8,
5792 OPC_CheckPatternPredicate0,
5793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
5794 MVT::v32i8, 2, 9,
5795 0,
5796 12,
5797 OPC_CheckChild1Type, MVT::v16i16,
5798 OPC_MoveParent,
5799 OPC_CheckType, MVT::v16i16,
5800 OPC_CheckPatternPredicate0,
5801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
5802 MVT::v16i16, 2, 9,
5803 12,
5804 OPC_CheckChild1Type, MVT::v8i32,
5805 OPC_MoveParent,
5806 OPC_CheckType, MVT::v8i32,
5807 OPC_CheckPatternPredicate0,
5808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
5809 MVT::v8i32, 2, 9,
5810 12,
5811 OPC_CheckChild1Type, MVT::v4i64,
5812 OPC_MoveParent,
5813 OPC_CheckType, MVT::v4i64,
5814 OPC_CheckPatternPredicate0,
5815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
5816 MVT::v4i64, 2, 9,
5817 0,
5818 0,
5819 78|128,1,
5820 OPC_MoveChild0,
5821 OPC_SwitchOpcode , 80, TARGET_VAL(ISD::XOR),
5822 OPC_RecordChild0,
5823 OPC_MoveChild1,
5824 OPC_CheckImmAllOnesV,
5825 OPC_MoveParent,
5826 OPC_MoveParent,
5827 OPC_RecordChild1,
5828 OPC_SwitchType , 7, MVT::v16i8,
5829 OPC_CheckPatternPredicate1,
5830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5831 MVT::v16i8, 2, 3,
5832 7, MVT::v8i16,
5833 OPC_CheckPatternPredicate1,
5834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5835 MVT::v8i16, 2, 3,
5836 7, MVT::v4i32,
5837 OPC_CheckPatternPredicate1,
5838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5839 MVT::v4i32, 2, 3,
5840 7, MVT::v2i64,
5841 OPC_CheckPatternPredicate1,
5842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
5843 MVT::v2i64, 2, 3,
5844 7, MVT::v32i8,
5845 OPC_CheckPatternPredicate0,
5846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5847 MVT::v32i8, 2, 3,
5848 7, MVT::v16i16,
5849 OPC_CheckPatternPredicate0,
5850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5851 MVT::v16i16, 2, 3,
5852 7, MVT::v8i32,
5853 OPC_CheckPatternPredicate0,
5854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5855 MVT::v8i32, 2, 3,
5856 7, MVT::v4i64,
5857 OPC_CheckPatternPredicate0,
5858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
5859 MVT::v4i64, 2, 3,
5860 0,
5861 117, TARGET_VAL(ISD::SHL),
5862 OPC_MoveChild0,
5863 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
5864 OPC_CheckPredicate, 12,
5865 OPC_MoveParent,
5866 OPC_RecordChild1,
5867 OPC_Scope, 13,
5868 OPC_CheckChild1Type, MVT::v16i8,
5869 OPC_MoveParent,
5870 OPC_RecordChild1,
5871 OPC_CheckType, MVT::v16i8,
5872 OPC_CheckPatternPredicate1,
5873 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_B),
5874 MVT::v16i8, 2, 3,
5875 13,
5876 OPC_CheckChild1Type, MVT::v8i16,
5877 OPC_MoveParent,
5878 OPC_RecordChild1,
5879 OPC_CheckType, MVT::v8i16,
5880 OPC_CheckPatternPredicate1,
5881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_H),
5882 MVT::v8i16, 2, 3,
5883 13,
5884 OPC_CheckChild1Type, MVT::v4i32,
5885 OPC_MoveParent,
5886 OPC_RecordChild1,
5887 OPC_CheckType, MVT::v4i32,
5888 OPC_CheckPatternPredicate1,
5889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_W),
5890 MVT::v4i32, 2, 3,
5891 22,
5892 OPC_MoveParent,
5893 OPC_RecordChild1,
5894 OPC_SwitchType , 7, MVT::v2i64,
5895 OPC_CheckPatternPredicate1,
5896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSET_D),
5897 MVT::v2i64, 2, 3,
5898 7, MVT::v32i8,
5899 OPC_CheckPatternPredicate0,
5900 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_B),
5901 MVT::v32i8, 2, 3,
5902 0,
5903 13,
5904 OPC_CheckChild1Type, MVT::v16i16,
5905 OPC_MoveParent,
5906 OPC_RecordChild1,
5907 OPC_CheckType, MVT::v16i16,
5908 OPC_CheckPatternPredicate0,
5909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_H),
5910 MVT::v16i16, 2, 3,
5911 13,
5912 OPC_CheckChild1Type, MVT::v8i32,
5913 OPC_MoveParent,
5914 OPC_RecordChild1,
5915 OPC_CheckType, MVT::v8i32,
5916 OPC_CheckPatternPredicate0,
5917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_W),
5918 MVT::v8i32, 2, 3,
5919 13,
5920 OPC_CheckChild1Type, MVT::v4i64,
5921 OPC_MoveParent,
5922 OPC_RecordChild1,
5923 OPC_CheckType, MVT::v4i64,
5924 OPC_CheckPatternPredicate0,
5925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSET_D),
5926 MVT::v4i64, 2, 3,
5927 0,
5928 0,
5929 46|128,1,
5930 OPC_RecordChild0,
5931 OPC_RecordChild1,
5932 OPC_SwitchType , 51, MVT::v8i16,
5933 OPC_CheckPatternPredicate1,
5934 OPC_Scope, 8,
5935 OPC_CheckComplexPat5, /*#*/1,
5936 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
5937 MVT::v8i16, 2, 22,
5938 8,
5939 OPC_CheckComplexPat6, /*#*/1,
5940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5941 MVT::v8i16, 2, 22,
5942 9,
5943 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
5944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
5945 MVT::v8i16, 2, 22,
5946 9,
5947 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
5948 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5949 MVT::v8i16, 2, 22,
5950 9,
5951 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
5952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5953 MVT::v8i16, 2, 22,
5954 0,
5955 51, MVT::v4i32,
5956 OPC_CheckPatternPredicate1,
5957 OPC_Scope, 8,
5958 OPC_CheckComplexPat5, /*#*/1,
5959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
5960 MVT::v4i32, 2, 22,
5961 8,
5962 OPC_CheckComplexPat6, /*#*/1,
5963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5964 MVT::v4i32, 2, 22,
5965 9,
5966 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
5967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
5968 MVT::v4i32, 2, 22,
5969 9,
5970 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
5971 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5972 MVT::v4i32, 2, 22,
5973 9,
5974 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
5975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5976 MVT::v4i32, 2, 22,
5977 0,
5978 51, MVT::v2i64,
5979 OPC_CheckPatternPredicate1,
5980 OPC_Scope, 8,
5981 OPC_CheckComplexPat5, /*#*/1,
5982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
5983 MVT::v2i64, 2, 22,
5984 8,
5985 OPC_CheckComplexPat6, /*#*/1,
5986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
5987 MVT::v2i64, 2, 22,
5988 9,
5989 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
5990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
5991 MVT::v2i64, 2, 22,
5992 9,
5993 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
5994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
5995 MVT::v2i64, 2, 22,
5996 9,
5997 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
5998 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
5999 MVT::v2i64, 2, 22,
6000 0,
6001 9, MVT::v16i8,
6002 OPC_CheckPatternPredicate1,
6003 OPC_CheckComplexPat6, /*#*/1,
6004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
6005 MVT::v16i8, 2, 22,
6006 0,
6007 52,
6008 OPC_MoveChild0,
6009 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6010 OPC_RecordChild0,
6011 OPC_RecordChild1,
6012 OPC_MoveSibling1,
6013 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::VANDN),
6014 OPC_CheckChild0Same, 0,
6015 OPC_RecordChild1,
6016 OPC_MoveParent,
6017 OPC_SwitchType , 7, MVT::v16i8,
6018 OPC_CheckPatternPredicate1,
6019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6020 MVT::v16i8, 3, 2,
6021 7, MVT::v8i16,
6022 OPC_CheckPatternPredicate1,
6023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6024 MVT::v8i16, 3, 2,
6025 7, MVT::v4i32,
6026 OPC_CheckPatternPredicate1,
6027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6028 MVT::v4i32, 3, 2,
6029 7, MVT::v2i64,
6030 OPC_CheckPatternPredicate1,
6031 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6032 MVT::v2i64, 3, 2,
6033 0,
6034 46|128,1,
6035 OPC_RecordChild0,
6036 OPC_RecordChild1,
6037 OPC_SwitchType , 51, MVT::v16i16,
6038 OPC_CheckPatternPredicate0,
6039 OPC_Scope, 8,
6040 OPC_CheckComplexPat5, /*#*/1,
6041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6042 MVT::v16i16, 2, 22,
6043 8,
6044 OPC_CheckComplexPat6, /*#*/1,
6045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6046 MVT::v16i16, 2, 22,
6047 9,
6048 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
6049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6050 MVT::v16i16, 2, 22,
6051 9,
6052 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
6053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6054 MVT::v16i16, 2, 22,
6055 9,
6056 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
6057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6058 MVT::v16i16, 2, 22,
6059 0,
6060 51, MVT::v8i32,
6061 OPC_CheckPatternPredicate0,
6062 OPC_Scope, 8,
6063 OPC_CheckComplexPat5, /*#*/1,
6064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6065 MVT::v8i32, 2, 22,
6066 8,
6067 OPC_CheckComplexPat6, /*#*/1,
6068 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6069 MVT::v8i32, 2, 22,
6070 9,
6071 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
6072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6073 MVT::v8i32, 2, 22,
6074 9,
6075 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
6076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6077 MVT::v8i32, 2, 22,
6078 9,
6079 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
6080 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6081 MVT::v8i32, 2, 22,
6082 0,
6083 51, MVT::v4i64,
6084 OPC_CheckPatternPredicate0,
6085 OPC_Scope, 8,
6086 OPC_CheckComplexPat5, /*#*/1,
6087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6088 MVT::v4i64, 2, 22,
6089 8,
6090 OPC_CheckComplexPat6, /*#*/1,
6091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
6092 MVT::v4i64, 2, 22,
6093 9,
6094 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
6095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6096 MVT::v4i64, 2, 22,
6097 9,
6098 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
6099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6100 MVT::v4i64, 2, 22,
6101 9,
6102 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
6103 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6104 MVT::v4i64, 2, 22,
6105 0,
6106 9, MVT::v32i8,
6107 OPC_CheckPatternPredicate0,
6108 OPC_CheckComplexPat6, /*#*/1,
6109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6110 MVT::v32i8, 2, 22,
6111 0,
6112 52,
6113 OPC_MoveChild0,
6114 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6115 OPC_RecordChild0,
6116 OPC_RecordChild1,
6117 OPC_MoveSibling1,
6118 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::VANDN),
6119 OPC_CheckChild0Same, 0,
6120 OPC_RecordChild1,
6121 OPC_MoveParent,
6122 OPC_SwitchType , 7, MVT::v32i8,
6123 OPC_CheckPatternPredicate0,
6124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6125 MVT::v32i8, 3, 2,
6126 7, MVT::v16i16,
6127 OPC_CheckPatternPredicate0,
6128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6129 MVT::v16i16, 3, 2,
6130 7, MVT::v8i32,
6131 OPC_CheckPatternPredicate0,
6132 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6133 MVT::v8i32, 3, 2,
6134 7, MVT::v4i64,
6135 OPC_CheckPatternPredicate0,
6136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6137 MVT::v4i64, 3, 2,
6138 0,
6139 46|128,1,
6140 OPC_RecordChild0,
6141 OPC_RecordChild1,
6142 OPC_SwitchType , 51, MVT::v8i16,
6143 OPC_CheckPatternPredicate1,
6144 OPC_Scope, 8,
6145 OPC_CheckComplexPat5, /*#*/0,
6146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
6147 MVT::v8i16, 2, 25,
6148 8,
6149 OPC_CheckComplexPat6, /*#*/0,
6150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
6151 MVT::v8i16, 2, 25,
6152 9,
6153 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
6154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
6155 MVT::v8i16, 2, 25,
6156 9,
6157 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
6158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
6159 MVT::v8i16, 2, 25,
6160 9,
6161 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
6162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
6163 MVT::v8i16, 2, 25,
6164 0,
6165 51, MVT::v4i32,
6166 OPC_CheckPatternPredicate1,
6167 OPC_Scope, 8,
6168 OPC_CheckComplexPat5, /*#*/0,
6169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
6170 MVT::v4i32, 2, 25,
6171 8,
6172 OPC_CheckComplexPat6, /*#*/0,
6173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
6174 MVT::v4i32, 2, 25,
6175 9,
6176 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
6177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
6178 MVT::v4i32, 2, 25,
6179 9,
6180 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
6181 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
6182 MVT::v4i32, 2, 25,
6183 9,
6184 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
6185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
6186 MVT::v4i32, 2, 25,
6187 0,
6188 51, MVT::v2i64,
6189 OPC_CheckPatternPredicate1,
6190 OPC_Scope, 8,
6191 OPC_CheckComplexPat5, /*#*/0,
6192 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
6193 MVT::v2i64, 2, 25,
6194 8,
6195 OPC_CheckComplexPat6, /*#*/0,
6196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_D),
6197 MVT::v2i64, 2, 25,
6198 9,
6199 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
6200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
6201 MVT::v2i64, 2, 25,
6202 9,
6203 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
6204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_H),
6205 MVT::v2i64, 2, 25,
6206 9,
6207 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
6208 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_W),
6209 MVT::v2i64, 2, 25,
6210 0,
6211 9, MVT::v16i8,
6212 OPC_CheckPatternPredicate1,
6213 OPC_CheckComplexPat6, /*#*/0,
6214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSETI_B),
6215 MVT::v16i8, 2, 25,
6216 0,
6217 49|128,1,
6218 OPC_MoveChild0,
6219 OPC_SwitchOpcode , 48, TARGET_VAL(ISD::AND),
6220 OPC_RecordChild0,
6221 OPC_RecordChild1,
6222 OPC_MoveSibling1,
6223 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::VANDN),
6224 OPC_CheckChild0Same, 1,
6225 OPC_RecordChild1,
6226 OPC_MoveParent,
6227 OPC_SwitchType , 7, MVT::v16i8,
6228 OPC_CheckPatternPredicate1,
6229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6230 MVT::v16i8, 3, 11,
6231 7, MVT::v8i16,
6232 OPC_CheckPatternPredicate1,
6233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6234 MVT::v8i16, 3, 11,
6235 7, MVT::v4i32,
6236 OPC_CheckPatternPredicate1,
6237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6238 MVT::v4i32, 3, 11,
6239 7, MVT::v2i64,
6240 OPC_CheckPatternPredicate1,
6241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6242 MVT::v2i64, 3, 11,
6243 0,
6244 120, TARGET_VAL(LoongArchISD::VANDN),
6245 OPC_RecordChild0,
6246 OPC_RecordChild1,
6247 OPC_MoveSibling1,
6248 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6249 OPC_Scope, 13,
6250 OPC_CheckChild0Same, 0,
6251 OPC_RecordChild1,
6252 OPC_MoveParent,
6253 OPC_CheckType, MVT::v16i8,
6254 OPC_CheckPatternPredicate1,
6255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6256 MVT::v16i8, 3, 5,
6257 13,
6258 OPC_RecordChild0,
6259 OPC_CheckChild1Same, 0,
6260 OPC_MoveParent,
6261 OPC_CheckType, MVT::v16i8,
6262 OPC_CheckPatternPredicate1,
6263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6264 MVT::v16i8, 3, 5,
6265 13,
6266 OPC_CheckChild0Same, 0,
6267 OPC_RecordChild1,
6268 OPC_MoveParent,
6269 OPC_CheckType, MVT::v8i16,
6270 OPC_CheckPatternPredicate1,
6271 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6272 MVT::v8i16, 3, 5,
6273 13,
6274 OPC_RecordChild0,
6275 OPC_CheckChild1Same, 0,
6276 OPC_MoveParent,
6277 OPC_CheckType, MVT::v8i16,
6278 OPC_CheckPatternPredicate1,
6279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6280 MVT::v8i16, 3, 5,
6281 13,
6282 OPC_CheckChild0Same, 0,
6283 OPC_RecordChild1,
6284 OPC_MoveParent,
6285 OPC_CheckType, MVT::v4i32,
6286 OPC_CheckPatternPredicate1,
6287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6288 MVT::v4i32, 3, 5,
6289 13,
6290 OPC_RecordChild0,
6291 OPC_CheckChild1Same, 0,
6292 OPC_MoveParent,
6293 OPC_CheckType, MVT::v4i32,
6294 OPC_CheckPatternPredicate1,
6295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6296 MVT::v4i32, 3, 5,
6297 13,
6298 OPC_CheckChild0Same, 0,
6299 OPC_RecordChild1,
6300 OPC_MoveParent,
6301 OPC_CheckType, MVT::v2i64,
6302 OPC_CheckPatternPredicate1,
6303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6304 MVT::v2i64, 3, 5,
6305 13,
6306 OPC_RecordChild0,
6307 OPC_CheckChild1Same, 0,
6308 OPC_MoveParent,
6309 OPC_CheckType, MVT::v2i64,
6310 OPC_CheckPatternPredicate1,
6311 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
6312 MVT::v2i64, 3, 5,
6313 0,
6314 0,
6315 46|128,1,
6316 OPC_RecordChild0,
6317 OPC_RecordChild1,
6318 OPC_SwitchType , 51, MVT::v16i16,
6319 OPC_CheckPatternPredicate0,
6320 OPC_Scope, 8,
6321 OPC_CheckComplexPat5, /*#*/0,
6322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6323 MVT::v16i16, 2, 25,
6324 8,
6325 OPC_CheckComplexPat6, /*#*/0,
6326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6327 MVT::v16i16, 2, 25,
6328 9,
6329 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
6330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6331 MVT::v16i16, 2, 25,
6332 9,
6333 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
6334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6335 MVT::v16i16, 2, 25,
6336 9,
6337 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
6338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6339 MVT::v16i16, 2, 25,
6340 0,
6341 51, MVT::v8i32,
6342 OPC_CheckPatternPredicate0,
6343 OPC_Scope, 8,
6344 OPC_CheckComplexPat5, /*#*/0,
6345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6346 MVT::v8i32, 2, 25,
6347 8,
6348 OPC_CheckComplexPat6, /*#*/0,
6349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6350 MVT::v8i32, 2, 25,
6351 9,
6352 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
6353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6354 MVT::v8i32, 2, 25,
6355 9,
6356 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
6357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6358 MVT::v8i32, 2, 25,
6359 9,
6360 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
6361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6362 MVT::v8i32, 2, 25,
6363 0,
6364 51, MVT::v4i64,
6365 OPC_CheckPatternPredicate0,
6366 OPC_Scope, 8,
6367 OPC_CheckComplexPat5, /*#*/0,
6368 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6369 MVT::v4i64, 2, 25,
6370 8,
6371 OPC_CheckComplexPat6, /*#*/0,
6372 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_D),
6373 MVT::v4i64, 2, 25,
6374 9,
6375 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
6376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6377 MVT::v4i64, 2, 25,
6378 9,
6379 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
6380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_H),
6381 MVT::v4i64, 2, 25,
6382 9,
6383 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
6384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_W),
6385 MVT::v4i64, 2, 25,
6386 0,
6387 9, MVT::v32i8,
6388 OPC_CheckPatternPredicate0,
6389 OPC_CheckComplexPat6, /*#*/0,
6390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSETI_B),
6391 MVT::v32i8, 2, 25,
6392 0,
6393 49|128,1,
6394 OPC_MoveChild0,
6395 OPC_SwitchOpcode , 48, TARGET_VAL(ISD::AND),
6396 OPC_RecordChild0,
6397 OPC_RecordChild1,
6398 OPC_MoveSibling1,
6399 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::VANDN),
6400 OPC_CheckChild0Same, 1,
6401 OPC_RecordChild1,
6402 OPC_MoveParent,
6403 OPC_SwitchType , 7, MVT::v32i8,
6404 OPC_CheckPatternPredicate0,
6405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6406 MVT::v32i8, 3, 11,
6407 7, MVT::v16i16,
6408 OPC_CheckPatternPredicate0,
6409 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6410 MVT::v16i16, 3, 11,
6411 7, MVT::v8i32,
6412 OPC_CheckPatternPredicate0,
6413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6414 MVT::v8i32, 3, 11,
6415 7, MVT::v4i64,
6416 OPC_CheckPatternPredicate0,
6417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6418 MVT::v4i64, 3, 11,
6419 0,
6420 120, TARGET_VAL(LoongArchISD::VANDN),
6421 OPC_RecordChild0,
6422 OPC_RecordChild1,
6423 OPC_MoveSibling1,
6424 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
6425 OPC_Scope, 13,
6426 OPC_CheckChild0Same, 0,
6427 OPC_RecordChild1,
6428 OPC_MoveParent,
6429 OPC_CheckType, MVT::v32i8,
6430 OPC_CheckPatternPredicate0,
6431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6432 MVT::v32i8, 3, 5,
6433 13,
6434 OPC_RecordChild0,
6435 OPC_CheckChild1Same, 0,
6436 OPC_MoveParent,
6437 OPC_CheckType, MVT::v32i8,
6438 OPC_CheckPatternPredicate0,
6439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6440 MVT::v32i8, 3, 5,
6441 13,
6442 OPC_CheckChild0Same, 0,
6443 OPC_RecordChild1,
6444 OPC_MoveParent,
6445 OPC_CheckType, MVT::v16i16,
6446 OPC_CheckPatternPredicate0,
6447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6448 MVT::v16i16, 3, 5,
6449 13,
6450 OPC_RecordChild0,
6451 OPC_CheckChild1Same, 0,
6452 OPC_MoveParent,
6453 OPC_CheckType, MVT::v16i16,
6454 OPC_CheckPatternPredicate0,
6455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6456 MVT::v16i16, 3, 5,
6457 13,
6458 OPC_CheckChild0Same, 0,
6459 OPC_RecordChild1,
6460 OPC_MoveParent,
6461 OPC_CheckType, MVT::v8i32,
6462 OPC_CheckPatternPredicate0,
6463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6464 MVT::v8i32, 3, 5,
6465 13,
6466 OPC_RecordChild0,
6467 OPC_CheckChild1Same, 0,
6468 OPC_MoveParent,
6469 OPC_CheckType, MVT::v8i32,
6470 OPC_CheckPatternPredicate0,
6471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6472 MVT::v8i32, 3, 5,
6473 13,
6474 OPC_CheckChild0Same, 0,
6475 OPC_RecordChild1,
6476 OPC_MoveParent,
6477 OPC_CheckType, MVT::v4i64,
6478 OPC_CheckPatternPredicate0,
6479 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6480 MVT::v4i64, 3, 5,
6481 13,
6482 OPC_RecordChild0,
6483 OPC_CheckChild1Same, 0,
6484 OPC_MoveParent,
6485 OPC_CheckType, MVT::v4i64,
6486 OPC_CheckPatternPredicate0,
6487 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
6488 MVT::v4i64, 3, 5,
6489 0,
6490 0,
6491 118,
6492 OPC_RecordChild0,
6493 OPC_RecordChild1,
6494 OPC_SwitchType , 28, MVT::v16i8,
6495 OPC_CheckPatternPredicate1,
6496 OPC_Scope, 8,
6497 OPC_CheckComplexPat7, /*#*/1,
6498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
6499 MVT::v16i8, 2, 22,
6500 8,
6501 OPC_CheckComplexPat7, /*#*/0,
6502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORI_B),
6503 MVT::v16i8, 2, 25,
6504 6,
6505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
6506 MVT::v16i8, 2, 9,
6507 0,
6508 28, MVT::v32i8,
6509 OPC_CheckPatternPredicate0,
6510 OPC_Scope, 8,
6511 OPC_CheckComplexPat7, /*#*/1,
6512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6513 MVT::v32i8, 2, 22,
6514 8,
6515 OPC_CheckComplexPat7, /*#*/0,
6516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORI_B),
6517 MVT::v32i8, 2, 25,
6518 6,
6519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
6520 MVT::v32i8, 2, 9,
6521 0,
6522 7, MVT::v8i16,
6523 OPC_CheckPatternPredicate1,
6524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
6525 MVT::v8i16, 2, 9,
6526 7, MVT::v4i32,
6527 OPC_CheckPatternPredicate1,
6528 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
6529 MVT::v4i32, 2, 9,
6530 7, MVT::v2i64,
6531 OPC_CheckPatternPredicate1,
6532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VOR_V),
6533 MVT::v2i64, 2, 9,
6534 7, MVT::v16i16,
6535 OPC_CheckPatternPredicate0,
6536 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
6537 MVT::v16i16, 2, 9,
6538 7, MVT::v8i32,
6539 OPC_CheckPatternPredicate0,
6540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
6541 MVT::v8i32, 2, 9,
6542 7, MVT::v4i64,
6543 OPC_CheckPatternPredicate0,
6544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVOR_V),
6545 MVT::v4i64, 2, 9,
6546 0,
6547 0,
6548 54|128,1, TARGET_VAL(ISD::CTTZ),
6549 OPC_Scope, 24|128,1,
6550 OPC_MoveChild0,
6551 OPC_SwitchOpcode , 115, TARGET_VAL(ISD::OR),
6552 OPC_MoveChild0,
6553 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
6554 OPC_RecordChild0,
6555 OPC_CheckChild1Integer, 127,
6556 OPC_MoveParent,
6557 OPC_Scope, 50,
6558 OPC_CheckChild1Integer, 0|128,2,
6559 OPC_CheckTypeByHwMode0,
6560 OPC_MoveParent,
6561 OPC_CheckTypeByHwMode0,
6562 OPC_Scope, 20,
6563 OPC_CheckPatternPredicate2,
6564 OPC_EmitIntegerByHwMode0, 127|128,1,
6565 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
6566 1, 0, 2, 9,
6567 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_D), 0,
6568 1, 0, 1, 23,
6569 20,
6570 OPC_CheckPatternPredicate6,
6571 OPC_EmitIntegerByHwMode0, 127|128,1,
6572 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
6573 1, 0, 2, 9,
6574 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_W), 0,
6575 1, 0, 1, 23,
6576 0,
6577 53,
6578 OPC_CheckChild1Integer, 0|128,0|128,4,
6579 OPC_CheckTypeByHwMode0,
6580 OPC_MoveParent,
6581 OPC_CheckTypeByHwMode0,
6582 OPC_Scope, 21,
6583 OPC_CheckPatternPredicate2,
6584 OPC_EmitIntegerByHwMode0, 15,
6585 OPC_EmitIntegerByHwMode0, 0,
6586 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::BSTRPICK_D), 0,
6587 1, 0, 3, 24,
6588 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_D), 0,
6589 1, 0, 1, 35,
6590 21,
6591 OPC_CheckPatternPredicate6,
6592 OPC_EmitIntegerByHwMode0, 15,
6593 OPC_EmitIntegerByHwMode0, 0,
6594 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::BSTRPICK_W), 0,
6595 1, 0, 3, 24,
6596 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_W), 0,
6597 1, 0, 1, 35,
6598 0,
6599 0,
6600 28, TARGET_VAL(ISD::XOR),
6601 OPC_RecordChild0,
6602 OPC_CheckChild1Integer, 127,
6603 OPC_CheckTypeByHwMode0,
6604 OPC_MoveParent,
6605 OPC_CheckTypeByHwMode0,
6606 OPC_Scope, 9,
6607 OPC_CheckPatternPredicate2,
6608 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_D), 0,
6609 1, 0, 1, 1,
6610 9,
6611 OPC_CheckPatternPredicate6,
6612 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_W), 0,
6613 1, 0, 1, 1,
6614 0,
6615 0,
6616 25,
6617 OPC_RecordChild0,
6618 OPC_CheckChild0TypeByHwMode0,
6619 OPC_CheckTypeByHwMode0,
6620 OPC_Scope, 9,
6621 OPC_CheckPatternPredicate2,
6622 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTZ_D), 0,
6623 1, 0, 1, 1,
6624 9,
6625 OPC_CheckPatternPredicate6,
6626 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTZ_W), 0,
6627 1, 0, 1, 1,
6628 0,
6629 0,
6630 83|128,22, TARGET_VAL(ISD::LOAD),
6631 OPC_RecordMemRef,
6632 OPC_RecordNode,
6633 OPC_Scope, 17|128,4,
6634 OPC_MoveChild1,
6635 OPC_SwitchOpcode , 3|128,2, TARGET_VAL(ISD::ADD),
6636 OPC_RecordChild0,
6637 OPC_RecordChild1,
6638 OPC_MoveChild1,
6639 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6640 OPC_Scope, 74|128,1,
6641 OPC_CheckPredicate4,
6642 OPC_MoveParent,
6643 OPC_CheckPredicate2,
6644 OPC_CheckTypeByHwMode0,
6645 OPC_MoveParent,
6646 OPC_CheckPredicate, 9,
6647 OPC_Scope, 16,
6648 OPC_CheckPredicate, 22,
6649 OPC_CheckPredicate5,
6650 OPC_CheckTypeByHwMode0,
6651 OPC_CheckComplexPat0, /*#*/1,
6652 OPC_EmitMergeInputChains1_0,
6653 OPC_EmitConvertToTarget2,
6654 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6655 1, 0, 2, 76,
6656 16,
6657 OPC_CheckPredicate, 23,
6658 OPC_CheckPredicate5,
6659 OPC_CheckTypeByHwMode0,
6660 OPC_CheckComplexPat0, /*#*/1,
6661 OPC_EmitMergeInputChains1_0,
6662 OPC_EmitConvertToTarget2,
6663 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6664 1, 0, 2, 76,
6665 16,
6666 OPC_CheckPredicate, 22,
6667 OPC_CheckPredicate6,
6668 OPC_CheckTypeByHwMode0,
6669 OPC_CheckComplexPat0, /*#*/1,
6670 OPC_EmitMergeInputChains1_0,
6671 OPC_EmitConvertToTarget2,
6672 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6673 1, 0, 2, 76,
6674 16,
6675 OPC_CheckPredicate, 23,
6676 OPC_CheckPredicate6,
6677 OPC_CheckTypeByHwMode0,
6678 OPC_CheckComplexPat0, /*#*/1,
6679 OPC_EmitMergeInputChains1_0,
6680 OPC_EmitConvertToTarget2,
6681 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6682 1, 0, 2, 76,
6683 15,
6684 OPC_CheckPredicate7,
6685 OPC_CheckTypeByHwMode0,
6686 OPC_CheckPatternPredicate5,
6687 OPC_CheckComplexPat0, /*#*/1,
6688 OPC_EmitMergeInputChains1_0,
6689 OPC_EmitConvertToTarget2,
6690 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6691 1, 0, 2, 76,
6692 34,
6693 OPC_CheckPredicate, 24,
6694 OPC_Scope, 14,
6695 OPC_CheckPredicate5,
6696 OPC_CheckTypeByHwMode0,
6697 OPC_CheckComplexPat0, /*#*/1,
6698 OPC_EmitMergeInputChains1_0,
6699 OPC_EmitConvertToTarget2,
6700 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
6701 1, 0, 2, 76,
6702 14,
6703 OPC_CheckPredicate6,
6704 OPC_CheckTypeByHwMode0,
6705 OPC_CheckComplexPat0, /*#*/1,
6706 OPC_EmitMergeInputChains1_0,
6707 OPC_EmitConvertToTarget2,
6708 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
6709 1, 0, 2, 76,
6710 0,
6711 18,
6712 OPC_CheckPredicate, 22,
6713 OPC_CheckPredicate3,
6714 OPC_CheckTypeByHwMode, 1,
6715 OPC_CheckPatternPredicate2,
6716 OPC_CheckComplexPat0, /*#*/1,
6717 OPC_EmitMergeInputChains1_0,
6718 OPC_EmitConvertToTarget2,
6719 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6720 1, 1, 2, 76,
6721 18,
6722 OPC_CheckPredicate, 23,
6723 OPC_CheckPredicate3,
6724 OPC_CheckTypeByHwMode, 1,
6725 OPC_CheckPatternPredicate2,
6726 OPC_CheckComplexPat0, /*#*/1,
6727 OPC_EmitMergeInputChains1_0,
6728 OPC_EmitConvertToTarget2,
6729 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6730 1, 1, 2, 76,
6731 18,
6732 OPC_CheckPredicate, 24,
6733 OPC_CheckPredicate3,
6734 OPC_CheckTypeByHwMode, 1,
6735 OPC_CheckPatternPredicate2,
6736 OPC_CheckComplexPat0, /*#*/1,
6737 OPC_EmitMergeInputChains1_0,
6738 OPC_EmitConvertToTarget2,
6739 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
6740 1, 1, 2, 76,
6741 16,
6742 OPC_CheckPredicate7,
6743 OPC_CheckTypeByHwMode, 1,
6744 OPC_CheckPatternPredicate2,
6745 OPC_CheckComplexPat0, /*#*/1,
6746 OPC_EmitMergeInputChains1_0,
6747 OPC_EmitConvertToTarget2,
6748 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
6749 1, 1, 2, 76,
6750 0,
6751 46,
6752 OPC_CheckPredicate, 44,
6753 OPC_MoveParent,
6754 OPC_CheckPredicate2,
6755 OPC_CheckTypeByHwMode0,
6756 OPC_MoveParent,
6757 OPC_CheckPredicate, 9,
6758 OPC_Scope, 18,
6759 OPC_CheckPredicate, 22,
6760 OPC_CheckPredicate3,
6761 OPC_CheckTypeByHwMode, 1,
6762 OPC_CheckPatternPredicate2,
6763 OPC_CheckComplexPat0, /*#*/1,
6764 OPC_EmitMergeInputChains1_0,
6765 OPC_EmitConvertToTarget2,
6766 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
6767 1, 1, 2, 76,
6768 16,
6769 OPC_CheckPredicate7,
6770 OPC_CheckTypeByHwMode, 1,
6771 OPC_CheckPatternPredicate2,
6772 OPC_CheckComplexPat0, /*#*/1,
6773 OPC_EmitMergeInputChains1_0,
6774 OPC_EmitConvertToTarget2,
6775 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
6776 1, 1, 2, 76,
6777 0,
6778 0,
6779 3|128,2, TARGET_VAL(ISD::OR),
6780 OPC_RecordChild0,
6781 OPC_RecordChild1,
6782 OPC_MoveChild1,
6783 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6784 OPC_Scope, 74|128,1,
6785 OPC_CheckPredicate4,
6786 OPC_MoveParent,
6787 OPC_CheckPredicate2,
6788 OPC_CheckTypeByHwMode0,
6789 OPC_MoveParent,
6790 OPC_CheckPredicate, 9,
6791 OPC_Scope, 16,
6792 OPC_CheckPredicate, 22,
6793 OPC_CheckPredicate5,
6794 OPC_CheckTypeByHwMode0,
6795 OPC_CheckComplexPat0, /*#*/1,
6796 OPC_EmitMergeInputChains1_0,
6797 OPC_EmitConvertToTarget2,
6798 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6799 1, 0, 2, 76,
6800 16,
6801 OPC_CheckPredicate, 23,
6802 OPC_CheckPredicate5,
6803 OPC_CheckTypeByHwMode0,
6804 OPC_CheckComplexPat0, /*#*/1,
6805 OPC_EmitMergeInputChains1_0,
6806 OPC_EmitConvertToTarget2,
6807 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6808 1, 0, 2, 76,
6809 16,
6810 OPC_CheckPredicate, 22,
6811 OPC_CheckPredicate6,
6812 OPC_CheckTypeByHwMode0,
6813 OPC_CheckComplexPat0, /*#*/1,
6814 OPC_EmitMergeInputChains1_0,
6815 OPC_EmitConvertToTarget2,
6816 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6817 1, 0, 2, 76,
6818 16,
6819 OPC_CheckPredicate, 23,
6820 OPC_CheckPredicate6,
6821 OPC_CheckTypeByHwMode0,
6822 OPC_CheckComplexPat0, /*#*/1,
6823 OPC_EmitMergeInputChains1_0,
6824 OPC_EmitConvertToTarget2,
6825 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6826 1, 0, 2, 76,
6827 15,
6828 OPC_CheckPredicate7,
6829 OPC_CheckTypeByHwMode0,
6830 OPC_CheckPatternPredicate5,
6831 OPC_CheckComplexPat0, /*#*/1,
6832 OPC_EmitMergeInputChains1_0,
6833 OPC_EmitConvertToTarget2,
6834 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6835 1, 0, 2, 76,
6836 34,
6837 OPC_CheckPredicate, 24,
6838 OPC_Scope, 14,
6839 OPC_CheckPredicate5,
6840 OPC_CheckTypeByHwMode0,
6841 OPC_CheckComplexPat0, /*#*/1,
6842 OPC_EmitMergeInputChains1_0,
6843 OPC_EmitConvertToTarget2,
6844 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
6845 1, 0, 2, 76,
6846 14,
6847 OPC_CheckPredicate6,
6848 OPC_CheckTypeByHwMode0,
6849 OPC_CheckComplexPat0, /*#*/1,
6850 OPC_EmitMergeInputChains1_0,
6851 OPC_EmitConvertToTarget2,
6852 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
6853 1, 0, 2, 76,
6854 0,
6855 18,
6856 OPC_CheckPredicate, 22,
6857 OPC_CheckPredicate3,
6858 OPC_CheckTypeByHwMode, 1,
6859 OPC_CheckPatternPredicate2,
6860 OPC_CheckComplexPat0, /*#*/1,
6861 OPC_EmitMergeInputChains1_0,
6862 OPC_EmitConvertToTarget2,
6863 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6864 1, 1, 2, 76,
6865 18,
6866 OPC_CheckPredicate, 23,
6867 OPC_CheckPredicate3,
6868 OPC_CheckTypeByHwMode, 1,
6869 OPC_CheckPatternPredicate2,
6870 OPC_CheckComplexPat0, /*#*/1,
6871 OPC_EmitMergeInputChains1_0,
6872 OPC_EmitConvertToTarget2,
6873 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6874 1, 1, 2, 76,
6875 18,
6876 OPC_CheckPredicate, 24,
6877 OPC_CheckPredicate3,
6878 OPC_CheckTypeByHwMode, 1,
6879 OPC_CheckPatternPredicate2,
6880 OPC_CheckComplexPat0, /*#*/1,
6881 OPC_EmitMergeInputChains1_0,
6882 OPC_EmitConvertToTarget2,
6883 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
6884 1, 1, 2, 76,
6885 16,
6886 OPC_CheckPredicate7,
6887 OPC_CheckTypeByHwMode, 1,
6888 OPC_CheckPatternPredicate2,
6889 OPC_CheckComplexPat0, /*#*/1,
6890 OPC_EmitMergeInputChains1_0,
6891 OPC_EmitConvertToTarget2,
6892 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
6893 1, 1, 2, 76,
6894 0,
6895 46,
6896 OPC_CheckPredicate, 44,
6897 OPC_MoveParent,
6898 OPC_CheckPredicate2,
6899 OPC_CheckTypeByHwMode0,
6900 OPC_MoveParent,
6901 OPC_CheckPredicate, 9,
6902 OPC_Scope, 18,
6903 OPC_CheckPredicate, 22,
6904 OPC_CheckPredicate3,
6905 OPC_CheckTypeByHwMode, 1,
6906 OPC_CheckPatternPredicate2,
6907 OPC_CheckComplexPat0, /*#*/1,
6908 OPC_EmitMergeInputChains1_0,
6909 OPC_EmitConvertToTarget2,
6910 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDPTR_W), 0|OPFL_Chain|OPFL_MemRefs,
6911 1, 1, 2, 76,
6912 16,
6913 OPC_CheckPredicate7,
6914 OPC_CheckTypeByHwMode, 1,
6915 OPC_CheckPatternPredicate2,
6916 OPC_CheckComplexPat0, /*#*/1,
6917 OPC_EmitMergeInputChains1_0,
6918 OPC_EmitConvertToTarget2,
6919 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDPTR_D), 0|OPFL_Chain|OPFL_MemRefs,
6920 1, 1, 2, 76,
6921 0,
6922 0,
6923 0,
6924 59|128,1,
6925 OPC_RecordChild1,
6926 OPC_CheckPredicate, 9,
6927 OPC_Scope, 15,
6928 OPC_CheckPredicate, 22,
6929 OPC_CheckPredicate5,
6930 OPC_CheckTypeByHwMode0,
6931 OPC_CheckComplexPat3, /*#*/1,
6932 OPC_EmitMergeInputChains1_0,
6933 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6934 1, 0, 2, 49,
6935 15,
6936 OPC_CheckPredicate, 23,
6937 OPC_CheckPredicate5,
6938 OPC_CheckTypeByHwMode0,
6939 OPC_CheckComplexPat3, /*#*/1,
6940 OPC_EmitMergeInputChains1_0,
6941 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
6942 1, 0, 2, 49,
6943 15,
6944 OPC_CheckPredicate, 22,
6945 OPC_CheckPredicate6,
6946 OPC_CheckTypeByHwMode0,
6947 OPC_CheckComplexPat3, /*#*/1,
6948 OPC_EmitMergeInputChains1_0,
6949 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6950 1, 0, 2, 49,
6951 15,
6952 OPC_CheckPredicate, 23,
6953 OPC_CheckPredicate6,
6954 OPC_CheckTypeByHwMode0,
6955 OPC_CheckComplexPat3, /*#*/1,
6956 OPC_EmitMergeInputChains1_0,
6957 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
6958 1, 0, 2, 49,
6959 14,
6960 OPC_CheckPredicate7,
6961 OPC_CheckTypeByHwMode0,
6962 OPC_CheckPatternPredicate5,
6963 OPC_CheckComplexPat3, /*#*/1,
6964 OPC_EmitMergeInputChains1_0,
6965 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6966 1, 0, 2, 49,
6967 32,
6968 OPC_CheckPredicate, 24,
6969 OPC_Scope, 13,
6970 OPC_CheckPredicate5,
6971 OPC_CheckTypeByHwMode0,
6972 OPC_CheckComplexPat3, /*#*/1,
6973 OPC_EmitMergeInputChains1_0,
6974 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
6975 1, 0, 2, 49,
6976 13,
6977 OPC_CheckPredicate6,
6978 OPC_CheckTypeByHwMode0,
6979 OPC_CheckComplexPat3, /*#*/1,
6980 OPC_EmitMergeInputChains1_0,
6981 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
6982 1, 0, 2, 49,
6983 0,
6984 17,
6985 OPC_CheckPredicate, 22,
6986 OPC_CheckPredicate3,
6987 OPC_CheckTypeByHwMode, 1,
6988 OPC_CheckPatternPredicate2,
6989 OPC_CheckComplexPat3, /*#*/1,
6990 OPC_EmitMergeInputChains1_0,
6991 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
6992 1, 1, 2, 49,
6993 17,
6994 OPC_CheckPredicate, 23,
6995 OPC_CheckPredicate3,
6996 OPC_CheckTypeByHwMode, 1,
6997 OPC_CheckPatternPredicate2,
6998 OPC_CheckComplexPat3, /*#*/1,
6999 OPC_EmitMergeInputChains1_0,
7000 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
7001 1, 1, 2, 49,
7002 17,
7003 OPC_CheckPredicate, 24,
7004 OPC_CheckPredicate3,
7005 OPC_CheckTypeByHwMode, 1,
7006 OPC_CheckPatternPredicate2,
7007 OPC_CheckComplexPat3, /*#*/1,
7008 OPC_EmitMergeInputChains1_0,
7009 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
7010 1, 1, 2, 49,
7011 15,
7012 OPC_CheckPredicate7,
7013 OPC_CheckTypeByHwMode, 1,
7014 OPC_CheckPatternPredicate2,
7015 OPC_CheckComplexPat3, /*#*/1,
7016 OPC_EmitMergeInputChains1_0,
7017 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
7018 1, 1, 2, 49,
7019 0,
7020 112|128,2,
7021 OPC_MoveChild1,
7022 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7023 OPC_RecordChild0,
7024 OPC_RecordChild1,
7025 OPC_CheckTypeByHwMode0,
7026 OPC_MoveParent,
7027 OPC_CheckPredicate, 9,
7028 OPC_Scope, 17,
7029 OPC_CheckPredicate, 23,
7030 OPC_CheckPredicate5,
7031 OPC_CheckTypeByHwMode, 1,
7032 OPC_CheckPatternPredicate2,
7033 OPC_CheckComplexPat1, /*#*/1,
7034 OPC_EmitMergeInputChains1_0,
7035 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
7036 1, 1, 2, 28,
7037 17,
7038 OPC_CheckPredicate, 22,
7039 OPC_CheckPredicate5,
7040 OPC_CheckTypeByHwMode, 1,
7041 OPC_CheckPatternPredicate2,
7042 OPC_CheckComplexPat1, /*#*/1,
7043 OPC_EmitMergeInputChains1_0,
7044 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
7045 1, 1, 2, 28,
7046 17,
7047 OPC_CheckPredicate, 24,
7048 OPC_CheckPredicate5,
7049 OPC_CheckTypeByHwMode, 1,
7050 OPC_CheckPatternPredicate2,
7051 OPC_CheckComplexPat1, /*#*/1,
7052 OPC_EmitMergeInputChains1_0,
7053 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
7054 1, 1, 2, 28,
7055 17,
7056 OPC_CheckPredicate, 23,
7057 OPC_CheckPredicate6,
7058 OPC_CheckTypeByHwMode, 1,
7059 OPC_CheckPatternPredicate2,
7060 OPC_CheckComplexPat1, /*#*/1,
7061 OPC_EmitMergeInputChains1_0,
7062 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
7063 1, 1, 2, 28,
7064 17,
7065 OPC_CheckPredicate, 22,
7066 OPC_CheckPredicate6,
7067 OPC_CheckTypeByHwMode, 1,
7068 OPC_CheckPatternPredicate2,
7069 OPC_CheckComplexPat1, /*#*/1,
7070 OPC_EmitMergeInputChains1_0,
7071 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
7072 1, 1, 2, 28,
7073 17,
7074 OPC_CheckPredicate, 24,
7075 OPC_CheckPredicate6,
7076 OPC_CheckTypeByHwMode, 1,
7077 OPC_CheckPatternPredicate2,
7078 OPC_CheckComplexPat1, /*#*/1,
7079 OPC_EmitMergeInputChains1_0,
7080 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
7081 1, 1, 2, 28,
7082 17,
7083 OPC_CheckPredicate, 23,
7084 OPC_CheckPredicate3,
7085 OPC_CheckTypeByHwMode, 1,
7086 OPC_CheckPatternPredicate2,
7087 OPC_CheckComplexPat1, /*#*/1,
7088 OPC_EmitMergeInputChains1_0,
7089 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
7090 1, 1, 2, 28,
7091 17,
7092 OPC_CheckPredicate, 22,
7093 OPC_CheckPredicate3,
7094 OPC_CheckTypeByHwMode, 1,
7095 OPC_CheckPatternPredicate2,
7096 OPC_CheckComplexPat1, /*#*/1,
7097 OPC_EmitMergeInputChains1_0,
7098 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
7099 1, 1, 2, 28,
7100 17,
7101 OPC_CheckPredicate, 24,
7102 OPC_CheckPredicate3,
7103 OPC_CheckTypeByHwMode, 1,
7104 OPC_CheckPatternPredicate2,
7105 OPC_CheckComplexPat1, /*#*/1,
7106 OPC_EmitMergeInputChains1_0,
7107 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
7108 1, 1, 2, 28,
7109 15,
7110 OPC_CheckPredicate7,
7111 OPC_CheckTypeByHwMode, 1,
7112 OPC_CheckPatternPredicate2,
7113 OPC_CheckComplexPat1, /*#*/1,
7114 OPC_EmitMergeInputChains1_0,
7115 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
7116 1, 1, 2, 28,
7117 17,
7118 OPC_CheckPredicate, 23,
7119 OPC_CheckPredicate5,
7120 OPC_CheckTypeByHwMode, 1,
7121 OPC_CheckPatternPredicate2,
7122 OPC_CheckComplexPat1, /*#*/2,
7123 OPC_EmitMergeInputChains1_0,
7124 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
7125 1, 1, 2, 17,
7126 17,
7127 OPC_CheckPredicate, 22,
7128 OPC_CheckPredicate5,
7129 OPC_CheckTypeByHwMode, 1,
7130 OPC_CheckPatternPredicate2,
7131 OPC_CheckComplexPat1, /*#*/2,
7132 OPC_EmitMergeInputChains1_0,
7133 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_B), 0|OPFL_Chain|OPFL_MemRefs,
7134 1, 1, 2, 17,
7135 17,
7136 OPC_CheckPredicate, 24,
7137 OPC_CheckPredicate5,
7138 OPC_CheckTypeByHwMode, 1,
7139 OPC_CheckPatternPredicate2,
7140 OPC_CheckComplexPat1, /*#*/2,
7141 OPC_EmitMergeInputChains1_0,
7142 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_BU), 0|OPFL_Chain|OPFL_MemRefs,
7143 1, 1, 2, 17,
7144 17,
7145 OPC_CheckPredicate, 23,
7146 OPC_CheckPredicate6,
7147 OPC_CheckTypeByHwMode, 1,
7148 OPC_CheckPatternPredicate2,
7149 OPC_CheckComplexPat1, /*#*/2,
7150 OPC_EmitMergeInputChains1_0,
7151 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
7152 1, 1, 2, 17,
7153 17,
7154 OPC_CheckPredicate, 22,
7155 OPC_CheckPredicate6,
7156 OPC_CheckTypeByHwMode, 1,
7157 OPC_CheckPatternPredicate2,
7158 OPC_CheckComplexPat1, /*#*/2,
7159 OPC_EmitMergeInputChains1_0,
7160 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_H), 0|OPFL_Chain|OPFL_MemRefs,
7161 1, 1, 2, 17,
7162 17,
7163 OPC_CheckPredicate, 24,
7164 OPC_CheckPredicate6,
7165 OPC_CheckTypeByHwMode, 1,
7166 OPC_CheckPatternPredicate2,
7167 OPC_CheckComplexPat1, /*#*/2,
7168 OPC_EmitMergeInputChains1_0,
7169 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_HU), 0|OPFL_Chain|OPFL_MemRefs,
7170 1, 1, 2, 17,
7171 17,
7172 OPC_CheckPredicate, 23,
7173 OPC_CheckPredicate3,
7174 OPC_CheckTypeByHwMode, 1,
7175 OPC_CheckPatternPredicate2,
7176 OPC_CheckComplexPat1, /*#*/2,
7177 OPC_EmitMergeInputChains1_0,
7178 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
7179 1, 1, 2, 17,
7180 17,
7181 OPC_CheckPredicate, 22,
7182 OPC_CheckPredicate3,
7183 OPC_CheckTypeByHwMode, 1,
7184 OPC_CheckPatternPredicate2,
7185 OPC_CheckComplexPat1, /*#*/2,
7186 OPC_EmitMergeInputChains1_0,
7187 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_W), 0|OPFL_Chain|OPFL_MemRefs,
7188 1, 1, 2, 17,
7189 17,
7190 OPC_CheckPredicate, 24,
7191 OPC_CheckPredicate3,
7192 OPC_CheckTypeByHwMode, 1,
7193 OPC_CheckPatternPredicate2,
7194 OPC_CheckComplexPat1, /*#*/2,
7195 OPC_EmitMergeInputChains1_0,
7196 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_WU), 0|OPFL_Chain|OPFL_MemRefs,
7197 1, 1, 2, 17,
7198 15,
7199 OPC_CheckPredicate7,
7200 OPC_CheckTypeByHwMode, 1,
7201 OPC_CheckPatternPredicate2,
7202 OPC_CheckComplexPat1, /*#*/2,
7203 OPC_EmitMergeInputChains1_0,
7204 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDX_D), 0|OPFL_Chain|OPFL_MemRefs,
7205 1, 1, 2, 17,
7206 0,
7207 81|128,1,
7208 OPC_RecordChild1,
7209 OPC_CheckPredicate, 9,
7210 OPC_Scope, 17,
7211 OPC_CheckPredicate, 22,
7212 OPC_CheckPredicate5,
7213 OPC_CheckTypeByHwMode0,
7214 OPC_CheckComplexPat0, /*#*/1,
7215 OPC_EmitMergeInputChains1_0,
7216 OPC_EmitIntegerByHwMode0, 0,
7217 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
7218 1, 0, 2, 49,
7219 17,
7220 OPC_CheckPredicate, 23,
7221 OPC_CheckPredicate5,
7222 OPC_CheckTypeByHwMode0,
7223 OPC_CheckComplexPat0, /*#*/1,
7224 OPC_EmitMergeInputChains1_0,
7225 OPC_EmitIntegerByHwMode0, 0,
7226 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
7227 1, 0, 2, 49,
7228 17,
7229 OPC_CheckPredicate, 22,
7230 OPC_CheckPredicate6,
7231 OPC_CheckTypeByHwMode0,
7232 OPC_CheckComplexPat0, /*#*/1,
7233 OPC_EmitMergeInputChains1_0,
7234 OPC_EmitIntegerByHwMode0, 0,
7235 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
7236 1, 0, 2, 49,
7237 17,
7238 OPC_CheckPredicate, 23,
7239 OPC_CheckPredicate6,
7240 OPC_CheckTypeByHwMode0,
7241 OPC_CheckComplexPat0, /*#*/1,
7242 OPC_EmitMergeInputChains1_0,
7243 OPC_EmitIntegerByHwMode0, 0,
7244 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
7245 1, 0, 2, 49,
7246 16,
7247 OPC_CheckPredicate7,
7248 OPC_CheckTypeByHwMode0,
7249 OPC_CheckPatternPredicate5,
7250 OPC_CheckComplexPat0, /*#*/1,
7251 OPC_EmitMergeInputChains1_0,
7252 OPC_EmitIntegerByHwMode0, 0,
7253 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
7254 1, 0, 2, 49,
7255 36,
7256 OPC_CheckPredicate, 24,
7257 OPC_Scope, 15,
7258 OPC_CheckPredicate5,
7259 OPC_CheckTypeByHwMode0,
7260 OPC_CheckComplexPat0, /*#*/1,
7261 OPC_EmitMergeInputChains1_0,
7262 OPC_EmitIntegerByHwMode0, 0,
7263 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_BU), 0|OPFL_Chain|OPFL_MemRefs,
7264 1, 0, 2, 49,
7265 15,
7266 OPC_CheckPredicate6,
7267 OPC_CheckTypeByHwMode0,
7268 OPC_CheckComplexPat0, /*#*/1,
7269 OPC_EmitMergeInputChains1_0,
7270 OPC_EmitIntegerByHwMode0, 0,
7271 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_HU), 0|OPFL_Chain|OPFL_MemRefs,
7272 1, 0, 2, 49,
7273 0,
7274 19,
7275 OPC_CheckPredicate, 22,
7276 OPC_CheckPredicate3,
7277 OPC_CheckTypeByHwMode, 1,
7278 OPC_CheckPatternPredicate2,
7279 OPC_CheckComplexPat0, /*#*/1,
7280 OPC_EmitMergeInputChains1_0,
7281 OPC_EmitIntegerByHwMode0, 0,
7282 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
7283 1, 1, 2, 49,
7284 19,
7285 OPC_CheckPredicate, 23,
7286 OPC_CheckPredicate3,
7287 OPC_CheckTypeByHwMode, 1,
7288 OPC_CheckPatternPredicate2,
7289 OPC_CheckComplexPat0, /*#*/1,
7290 OPC_EmitMergeInputChains1_0,
7291 OPC_EmitIntegerByHwMode0, 0,
7292 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
7293 1, 1, 2, 49,
7294 19,
7295 OPC_CheckPredicate, 24,
7296 OPC_CheckPredicate3,
7297 OPC_CheckTypeByHwMode, 1,
7298 OPC_CheckPatternPredicate2,
7299 OPC_CheckComplexPat0, /*#*/1,
7300 OPC_EmitMergeInputChains1_0,
7301 OPC_EmitIntegerByHwMode0, 0,
7302 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_WU), 0|OPFL_Chain|OPFL_MemRefs,
7303 1, 1, 2, 49,
7304 17,
7305 OPC_CheckPredicate7,
7306 OPC_CheckTypeByHwMode, 1,
7307 OPC_CheckPatternPredicate2,
7308 OPC_CheckComplexPat0, /*#*/1,
7309 OPC_EmitMergeInputChains1_0,
7310 OPC_EmitIntegerByHwMode0, 0,
7311 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
7312 1, 1, 2, 49,
7313 0,
7314 97,
7315 OPC_MoveChild1,
7316 OPC_SwitchOpcode , 44, TARGET_VAL(ISD::ADD),
7317 OPC_RecordChild0,
7318 OPC_RecordChild1,
7319 OPC_MoveChild1,
7320 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7321 OPC_CheckPredicate4,
7322 OPC_MoveParent,
7323 OPC_CheckPredicate2,
7324 OPC_CheckTypeByHwMode0,
7325 OPC_MoveParent,
7326 OPC_CheckPredicate, 9,
7327 OPC_CheckPredicate7,
7328 OPC_SwitchType , 12, MVT::f32,
7329 OPC_CheckPatternPredicate3,
7330 OPC_CheckComplexPat0, /*#*/1,
7331 OPC_EmitMergeInputChains1_0,
7332 OPC_EmitConvertToTarget2,
7333 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
7334 MVT::f32, 2, 76,
7335 12, MVT::f64,
7336 OPC_CheckPatternPredicate4,
7337 OPC_CheckComplexPat0, /*#*/1,
7338 OPC_EmitMergeInputChains1_0,
7339 OPC_EmitConvertToTarget2,
7340 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
7341 MVT::f64, 2, 76,
7342 0,
7343 44, TARGET_VAL(ISD::OR),
7344 OPC_RecordChild0,
7345 OPC_RecordChild1,
7346 OPC_MoveChild1,
7347 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7348 OPC_CheckPredicate4,
7349 OPC_MoveParent,
7350 OPC_CheckPredicate2,
7351 OPC_CheckTypeByHwMode0,
7352 OPC_MoveParent,
7353 OPC_CheckPredicate, 9,
7354 OPC_CheckPredicate7,
7355 OPC_SwitchType , 12, MVT::f32,
7356 OPC_CheckPatternPredicate3,
7357 OPC_CheckComplexPat0, /*#*/1,
7358 OPC_EmitMergeInputChains1_0,
7359 OPC_EmitConvertToTarget2,
7360 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
7361 MVT::f32, 2, 76,
7362 12, MVT::f64,
7363 OPC_CheckPatternPredicate4,
7364 OPC_CheckComplexPat0, /*#*/1,
7365 OPC_EmitMergeInputChains1_0,
7366 OPC_EmitConvertToTarget2,
7367 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
7368 MVT::f64, 2, 76,
7369 0,
7370 0,
7371 17,
7372 OPC_RecordChild1,
7373 OPC_CheckPredicate, 9,
7374 OPC_CheckPredicate7,
7375 OPC_CheckType, MVT::f32,
7376 OPC_CheckPatternPredicate3,
7377 OPC_CheckComplexPat3, /*#*/1,
7378 OPC_EmitMergeInputChains1_0,
7379 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
7380 MVT::f32, 2, 49,
7381 24,
7382 OPC_MoveChild1,
7383 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7384 OPC_RecordChild0,
7385 OPC_RecordChild1,
7386 OPC_CheckTypeByHwMode0,
7387 OPC_MoveParent,
7388 OPC_CheckPredicate, 9,
7389 OPC_CheckPredicate7,
7390 OPC_CheckType, MVT::f32,
7391 OPC_CheckPatternPredicate3,
7392 OPC_CheckComplexPat1, /*#*/1,
7393 OPC_EmitMergeInputChains1_0,
7394 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
7395 MVT::f32, 2, 28,
7396 17,
7397 OPC_RecordChild1,
7398 OPC_CheckPredicate, 9,
7399 OPC_CheckPredicate7,
7400 OPC_CheckType, MVT::f64,
7401 OPC_CheckPatternPredicate4,
7402 OPC_CheckComplexPat3, /*#*/1,
7403 OPC_EmitMergeInputChains1_0,
7404 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
7405 MVT::f64, 2, 49,
7406 53,
7407 OPC_MoveChild1,
7408 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7409 OPC_RecordChild0,
7410 OPC_RecordChild1,
7411 OPC_CheckTypeByHwMode0,
7412 OPC_MoveParent,
7413 OPC_CheckPredicate, 9,
7414 OPC_CheckPredicate7,
7415 OPC_SwitchType , 25, MVT::f64,
7416 OPC_CheckPatternPredicate4,
7417 OPC_Scope, 10,
7418 OPC_CheckComplexPat1, /*#*/1,
7419 OPC_EmitMergeInputChains1_0,
7420 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
7421 MVT::f64, 2, 28,
7422 10,
7423 OPC_CheckComplexPat1, /*#*/2,
7424 OPC_EmitMergeInputChains1_0,
7425 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_D), 0|OPFL_Chain|OPFL_MemRefs,
7426 MVT::f64, 2, 17,
7427 0,
7428 11, MVT::f32,
7429 OPC_CheckPatternPredicate3,
7430 OPC_CheckComplexPat1, /*#*/2,
7431 OPC_EmitMergeInputChains1_0,
7432 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLDX_S), 0|OPFL_Chain|OPFL_MemRefs,
7433 MVT::f32, 2, 17,
7434 0,
7435 36,
7436 OPC_RecordChild1,
7437 OPC_CheckPredicate, 9,
7438 OPC_CheckPredicate7,
7439 OPC_SwitchType , 13, MVT::f32,
7440 OPC_CheckPatternPredicate3,
7441 OPC_CheckComplexPat0, /*#*/1,
7442 OPC_EmitMergeInputChains1_0,
7443 OPC_EmitIntegerByHwMode0, 0,
7444 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_S), 0|OPFL_Chain|OPFL_MemRefs,
7445 MVT::f32, 2, 49,
7446 13, MVT::f64,
7447 OPC_CheckPatternPredicate4,
7448 OPC_CheckComplexPat0, /*#*/1,
7449 OPC_EmitMergeInputChains1_0,
7450 OPC_EmitIntegerByHwMode0, 0,
7451 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::FLD_D), 0|OPFL_Chain|OPFL_MemRefs,
7452 MVT::f64, 2, 49,
7453 0,
7454 11|128,2,
7455 OPC_MoveChild1,
7456 OPC_SwitchOpcode , 0|128,1, TARGET_VAL(ISD::ADD),
7457 OPC_RecordChild0,
7458 OPC_RecordChild1,
7459 OPC_MoveChild1,
7460 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7461 OPC_CheckPredicate4,
7462 OPC_MoveParent,
7463 OPC_CheckPredicate2,
7464 OPC_CheckTypeByHwMode0,
7465 OPC_MoveParent,
7466 OPC_CheckPredicate, 9,
7467 OPC_CheckPredicate7,
7468 OPC_SwitchType , 12, MVT::v16i8,
7469 OPC_CheckPatternPredicate1,
7470 OPC_CheckComplexPat0, /*#*/1,
7471 OPC_EmitMergeInputChains1_0,
7472 OPC_EmitConvertToTarget2,
7473 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7474 MVT::v16i8, 2, 76,
7475 12, MVT::v8i16,
7476 OPC_CheckPatternPredicate1,
7477 OPC_CheckComplexPat0, /*#*/1,
7478 OPC_EmitMergeInputChains1_0,
7479 OPC_EmitConvertToTarget2,
7480 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7481 MVT::v8i16, 2, 76,
7482 12, MVT::v4i32,
7483 OPC_CheckPatternPredicate1,
7484 OPC_CheckComplexPat0, /*#*/1,
7485 OPC_EmitMergeInputChains1_0,
7486 OPC_EmitConvertToTarget2,
7487 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7488 MVT::v4i32, 2, 76,
7489 12, MVT::v2i64,
7490 OPC_CheckPatternPredicate1,
7491 OPC_CheckComplexPat0, /*#*/1,
7492 OPC_EmitMergeInputChains1_0,
7493 OPC_EmitConvertToTarget2,
7494 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7495 MVT::v2i64, 2, 76,
7496 12, MVT::v32i8,
7497 OPC_CheckPatternPredicate0,
7498 OPC_CheckComplexPat0, /*#*/1,
7499 OPC_EmitMergeInputChains1_0,
7500 OPC_EmitConvertToTarget2,
7501 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7502 MVT::v32i8, 2, 76,
7503 12, MVT::v16i16,
7504 OPC_CheckPatternPredicate0,
7505 OPC_CheckComplexPat0, /*#*/1,
7506 OPC_EmitMergeInputChains1_0,
7507 OPC_EmitConvertToTarget2,
7508 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7509 MVT::v16i16, 2, 76,
7510 12, MVT::v8i32,
7511 OPC_CheckPatternPredicate0,
7512 OPC_CheckComplexPat0, /*#*/1,
7513 OPC_EmitMergeInputChains1_0,
7514 OPC_EmitConvertToTarget2,
7515 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7516 MVT::v8i32, 2, 76,
7517 12, MVT::v4i64,
7518 OPC_CheckPatternPredicate0,
7519 OPC_CheckComplexPat0, /*#*/1,
7520 OPC_EmitMergeInputChains1_0,
7521 OPC_EmitConvertToTarget2,
7522 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7523 MVT::v4i64, 2, 76,
7524 0,
7525 0|128,1, TARGET_VAL(ISD::OR),
7526 OPC_RecordChild0,
7527 OPC_RecordChild1,
7528 OPC_MoveChild1,
7529 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7530 OPC_CheckPredicate4,
7531 OPC_MoveParent,
7532 OPC_CheckPredicate2,
7533 OPC_CheckTypeByHwMode0,
7534 OPC_MoveParent,
7535 OPC_CheckPredicate, 9,
7536 OPC_CheckPredicate7,
7537 OPC_SwitchType , 12, MVT::v16i8,
7538 OPC_CheckPatternPredicate1,
7539 OPC_CheckComplexPat0, /*#*/1,
7540 OPC_EmitMergeInputChains1_0,
7541 OPC_EmitConvertToTarget2,
7542 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7543 MVT::v16i8, 2, 76,
7544 12, MVT::v8i16,
7545 OPC_CheckPatternPredicate1,
7546 OPC_CheckComplexPat0, /*#*/1,
7547 OPC_EmitMergeInputChains1_0,
7548 OPC_EmitConvertToTarget2,
7549 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7550 MVT::v8i16, 2, 76,
7551 12, MVT::v4i32,
7552 OPC_CheckPatternPredicate1,
7553 OPC_CheckComplexPat0, /*#*/1,
7554 OPC_EmitMergeInputChains1_0,
7555 OPC_EmitConvertToTarget2,
7556 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7557 MVT::v4i32, 2, 76,
7558 12, MVT::v2i64,
7559 OPC_CheckPatternPredicate1,
7560 OPC_CheckComplexPat0, /*#*/1,
7561 OPC_EmitMergeInputChains1_0,
7562 OPC_EmitConvertToTarget2,
7563 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7564 MVT::v2i64, 2, 76,
7565 12, MVT::v32i8,
7566 OPC_CheckPatternPredicate0,
7567 OPC_CheckComplexPat0, /*#*/1,
7568 OPC_EmitMergeInputChains1_0,
7569 OPC_EmitConvertToTarget2,
7570 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7571 MVT::v32i8, 2, 76,
7572 12, MVT::v16i16,
7573 OPC_CheckPatternPredicate0,
7574 OPC_CheckComplexPat0, /*#*/1,
7575 OPC_EmitMergeInputChains1_0,
7576 OPC_EmitConvertToTarget2,
7577 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7578 MVT::v16i16, 2, 76,
7579 12, MVT::v8i32,
7580 OPC_CheckPatternPredicate0,
7581 OPC_CheckComplexPat0, /*#*/1,
7582 OPC_EmitMergeInputChains1_0,
7583 OPC_EmitConvertToTarget2,
7584 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7585 MVT::v8i32, 2, 76,
7586 12, MVT::v4i64,
7587 OPC_CheckPatternPredicate0,
7588 OPC_CheckComplexPat0, /*#*/1,
7589 OPC_EmitMergeInputChains1_0,
7590 OPC_EmitConvertToTarget2,
7591 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7592 MVT::v4i64, 2, 76,
7593 0,
7594 0,
7595 17,
7596 OPC_RecordChild1,
7597 OPC_CheckPredicate, 9,
7598 OPC_CheckPredicate7,
7599 OPC_CheckType, MVT::v16i8,
7600 OPC_CheckPatternPredicate1,
7601 OPC_CheckComplexPat3, /*#*/1,
7602 OPC_EmitMergeInputChains1_0,
7603 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7604 MVT::v16i8, 2, 49,
7605 24,
7606 OPC_MoveChild1,
7607 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7608 OPC_RecordChild0,
7609 OPC_RecordChild1,
7610 OPC_CheckTypeByHwMode0,
7611 OPC_MoveParent,
7612 OPC_CheckPredicate, 9,
7613 OPC_CheckPredicate7,
7614 OPC_CheckType, MVT::v16i8,
7615 OPC_CheckPatternPredicate1,
7616 OPC_CheckComplexPat1, /*#*/1,
7617 OPC_EmitMergeInputChains1_0,
7618 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7619 MVT::v16i8, 2, 28,
7620 17,
7621 OPC_RecordChild1,
7622 OPC_CheckPredicate, 9,
7623 OPC_CheckPredicate7,
7624 OPC_CheckType, MVT::v8i16,
7625 OPC_CheckPatternPredicate1,
7626 OPC_CheckComplexPat3, /*#*/1,
7627 OPC_EmitMergeInputChains1_0,
7628 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7629 MVT::v8i16, 2, 49,
7630 24,
7631 OPC_MoveChild1,
7632 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7633 OPC_RecordChild0,
7634 OPC_RecordChild1,
7635 OPC_CheckTypeByHwMode0,
7636 OPC_MoveParent,
7637 OPC_CheckPredicate, 9,
7638 OPC_CheckPredicate7,
7639 OPC_CheckType, MVT::v8i16,
7640 OPC_CheckPatternPredicate1,
7641 OPC_CheckComplexPat1, /*#*/1,
7642 OPC_EmitMergeInputChains1_0,
7643 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7644 MVT::v8i16, 2, 28,
7645 17,
7646 OPC_RecordChild1,
7647 OPC_CheckPredicate, 9,
7648 OPC_CheckPredicate7,
7649 OPC_CheckType, MVT::v4i32,
7650 OPC_CheckPatternPredicate1,
7651 OPC_CheckComplexPat3, /*#*/1,
7652 OPC_EmitMergeInputChains1_0,
7653 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7654 MVT::v4i32, 2, 49,
7655 24,
7656 OPC_MoveChild1,
7657 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7658 OPC_RecordChild0,
7659 OPC_RecordChild1,
7660 OPC_CheckTypeByHwMode0,
7661 OPC_MoveParent,
7662 OPC_CheckPredicate, 9,
7663 OPC_CheckPredicate7,
7664 OPC_CheckType, MVT::v4i32,
7665 OPC_CheckPatternPredicate1,
7666 OPC_CheckComplexPat1, /*#*/1,
7667 OPC_EmitMergeInputChains1_0,
7668 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7669 MVT::v4i32, 2, 28,
7670 17,
7671 OPC_RecordChild1,
7672 OPC_CheckPredicate, 9,
7673 OPC_CheckPredicate7,
7674 OPC_CheckType, MVT::v2i64,
7675 OPC_CheckPatternPredicate1,
7676 OPC_CheckComplexPat3, /*#*/1,
7677 OPC_EmitMergeInputChains1_0,
7678 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7679 MVT::v2i64, 2, 49,
7680 24,
7681 OPC_MoveChild1,
7682 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7683 OPC_RecordChild0,
7684 OPC_RecordChild1,
7685 OPC_CheckTypeByHwMode0,
7686 OPC_MoveParent,
7687 OPC_CheckPredicate, 9,
7688 OPC_CheckPredicate7,
7689 OPC_CheckType, MVT::v2i64,
7690 OPC_CheckPatternPredicate1,
7691 OPC_CheckComplexPat1, /*#*/1,
7692 OPC_EmitMergeInputChains1_0,
7693 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7694 MVT::v2i64, 2, 28,
7695 17,
7696 OPC_RecordChild1,
7697 OPC_CheckPredicate, 9,
7698 OPC_CheckPredicate7,
7699 OPC_CheckType, MVT::v32i8,
7700 OPC_CheckPatternPredicate0,
7701 OPC_CheckComplexPat3, /*#*/1,
7702 OPC_EmitMergeInputChains1_0,
7703 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7704 MVT::v32i8, 2, 49,
7705 24,
7706 OPC_MoveChild1,
7707 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7708 OPC_RecordChild0,
7709 OPC_RecordChild1,
7710 OPC_CheckTypeByHwMode0,
7711 OPC_MoveParent,
7712 OPC_CheckPredicate, 9,
7713 OPC_CheckPredicate7,
7714 OPC_CheckType, MVT::v32i8,
7715 OPC_CheckPatternPredicate0,
7716 OPC_CheckComplexPat1, /*#*/1,
7717 OPC_EmitMergeInputChains1_0,
7718 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7719 MVT::v32i8, 2, 28,
7720 17,
7721 OPC_RecordChild1,
7722 OPC_CheckPredicate, 9,
7723 OPC_CheckPredicate7,
7724 OPC_CheckType, MVT::v16i16,
7725 OPC_CheckPatternPredicate0,
7726 OPC_CheckComplexPat3, /*#*/1,
7727 OPC_EmitMergeInputChains1_0,
7728 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7729 MVT::v16i16, 2, 49,
7730 24,
7731 OPC_MoveChild1,
7732 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7733 OPC_RecordChild0,
7734 OPC_RecordChild1,
7735 OPC_CheckTypeByHwMode0,
7736 OPC_MoveParent,
7737 OPC_CheckPredicate, 9,
7738 OPC_CheckPredicate7,
7739 OPC_CheckType, MVT::v16i16,
7740 OPC_CheckPatternPredicate0,
7741 OPC_CheckComplexPat1, /*#*/1,
7742 OPC_EmitMergeInputChains1_0,
7743 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7744 MVT::v16i16, 2, 28,
7745 17,
7746 OPC_RecordChild1,
7747 OPC_CheckPredicate, 9,
7748 OPC_CheckPredicate7,
7749 OPC_CheckType, MVT::v8i32,
7750 OPC_CheckPatternPredicate0,
7751 OPC_CheckComplexPat3, /*#*/1,
7752 OPC_EmitMergeInputChains1_0,
7753 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7754 MVT::v8i32, 2, 49,
7755 24,
7756 OPC_MoveChild1,
7757 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7758 OPC_RecordChild0,
7759 OPC_RecordChild1,
7760 OPC_CheckTypeByHwMode0,
7761 OPC_MoveParent,
7762 OPC_CheckPredicate, 9,
7763 OPC_CheckPredicate7,
7764 OPC_CheckType, MVT::v8i32,
7765 OPC_CheckPatternPredicate0,
7766 OPC_CheckComplexPat1, /*#*/1,
7767 OPC_EmitMergeInputChains1_0,
7768 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7769 MVT::v8i32, 2, 28,
7770 17,
7771 OPC_RecordChild1,
7772 OPC_CheckPredicate, 9,
7773 OPC_CheckPredicate7,
7774 OPC_CheckType, MVT::v4i64,
7775 OPC_CheckPatternPredicate0,
7776 OPC_CheckComplexPat3, /*#*/1,
7777 OPC_EmitMergeInputChains1_0,
7778 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7779 MVT::v4i64, 2, 49,
7780 3|128,1,
7781 OPC_MoveChild1,
7782 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
7783 OPC_RecordChild0,
7784 OPC_RecordChild1,
7785 OPC_CheckTypeByHwMode0,
7786 OPC_MoveParent,
7787 OPC_CheckPredicate, 9,
7788 OPC_CheckPredicate7,
7789 OPC_SwitchType , 25, MVT::v4i64,
7790 OPC_CheckPatternPredicate0,
7791 OPC_Scope, 10,
7792 OPC_CheckComplexPat1, /*#*/1,
7793 OPC_EmitMergeInputChains1_0,
7794 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7795 MVT::v4i64, 2, 28,
7796 10,
7797 OPC_CheckComplexPat1, /*#*/2,
7798 OPC_EmitMergeInputChains1_0,
7799 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7800 MVT::v4i64, 2, 17,
7801 0,
7802 11, MVT::v16i8,
7803 OPC_CheckPatternPredicate1,
7804 OPC_CheckComplexPat1, /*#*/2,
7805 OPC_EmitMergeInputChains1_0,
7806 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7807 MVT::v16i8, 2, 17,
7808 11, MVT::v8i16,
7809 OPC_CheckPatternPredicate1,
7810 OPC_CheckComplexPat1, /*#*/2,
7811 OPC_EmitMergeInputChains1_0,
7812 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7813 MVT::v8i16, 2, 17,
7814 11, MVT::v4i32,
7815 OPC_CheckPatternPredicate1,
7816 OPC_CheckComplexPat1, /*#*/2,
7817 OPC_EmitMergeInputChains1_0,
7818 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7819 MVT::v4i32, 2, 17,
7820 11, MVT::v2i64,
7821 OPC_CheckPatternPredicate1,
7822 OPC_CheckComplexPat1, /*#*/2,
7823 OPC_EmitMergeInputChains1_0,
7824 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
7825 MVT::v2i64, 2, 17,
7826 11, MVT::v32i8,
7827 OPC_CheckPatternPredicate0,
7828 OPC_CheckComplexPat1, /*#*/2,
7829 OPC_EmitMergeInputChains1_0,
7830 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7831 MVT::v32i8, 2, 17,
7832 11, MVT::v16i16,
7833 OPC_CheckPatternPredicate0,
7834 OPC_CheckComplexPat1, /*#*/2,
7835 OPC_EmitMergeInputChains1_0,
7836 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7837 MVT::v16i16, 2, 17,
7838 11, MVT::v8i32,
7839 OPC_CheckPatternPredicate0,
7840 OPC_CheckComplexPat1, /*#*/2,
7841 OPC_EmitMergeInputChains1_0,
7842 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
7843 MVT::v8i32, 2, 17,
7844 0,
7845 126,
7846 OPC_RecordChild1,
7847 OPC_CheckPredicate, 9,
7848 OPC_CheckPredicate7,
7849 OPC_SwitchType , 13, MVT::v16i8,
7850 OPC_CheckPatternPredicate1,
7851 OPC_CheckComplexPat0, /*#*/1,
7852 OPC_EmitMergeInputChains1_0,
7853 OPC_EmitIntegerByHwMode0, 0,
7854 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7855 MVT::v16i8, 2, 49,
7856 13, MVT::v8i16,
7857 OPC_CheckPatternPredicate1,
7858 OPC_CheckComplexPat0, /*#*/1,
7859 OPC_EmitMergeInputChains1_0,
7860 OPC_EmitIntegerByHwMode0, 0,
7861 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7862 MVT::v8i16, 2, 49,
7863 13, MVT::v4i32,
7864 OPC_CheckPatternPredicate1,
7865 OPC_CheckComplexPat0, /*#*/1,
7866 OPC_EmitMergeInputChains1_0,
7867 OPC_EmitIntegerByHwMode0, 0,
7868 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7869 MVT::v4i32, 2, 49,
7870 13, MVT::v2i64,
7871 OPC_CheckPatternPredicate1,
7872 OPC_CheckComplexPat0, /*#*/1,
7873 OPC_EmitMergeInputChains1_0,
7874 OPC_EmitIntegerByHwMode0, 0,
7875 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7876 MVT::v2i64, 2, 49,
7877 13, MVT::v32i8,
7878 OPC_CheckPatternPredicate0,
7879 OPC_CheckComplexPat0, /*#*/1,
7880 OPC_EmitMergeInputChains1_0,
7881 OPC_EmitIntegerByHwMode0, 0,
7882 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7883 MVT::v32i8, 2, 49,
7884 13, MVT::v16i16,
7885 OPC_CheckPatternPredicate0,
7886 OPC_CheckComplexPat0, /*#*/1,
7887 OPC_EmitMergeInputChains1_0,
7888 OPC_EmitIntegerByHwMode0, 0,
7889 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7890 MVT::v16i16, 2, 49,
7891 13, MVT::v8i32,
7892 OPC_CheckPatternPredicate0,
7893 OPC_CheckComplexPat0, /*#*/1,
7894 OPC_EmitMergeInputChains1_0,
7895 OPC_EmitIntegerByHwMode0, 0,
7896 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7897 MVT::v8i32, 2, 49,
7898 13, MVT::v4i64,
7899 OPC_CheckPatternPredicate0,
7900 OPC_CheckComplexPat0, /*#*/1,
7901 OPC_EmitMergeInputChains1_0,
7902 OPC_EmitIntegerByHwMode0, 0,
7903 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7904 MVT::v4i64, 2, 49,
7905 0,
7906 41|128,1,
7907 OPC_MoveChild1,
7908 OPC_SwitchOpcode , 80, TARGET_VAL(ISD::ADD),
7909 OPC_RecordChild0,
7910 OPC_RecordChild1,
7911 OPC_MoveChild1,
7912 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7913 OPC_CheckPredicate4,
7914 OPC_MoveParent,
7915 OPC_CheckPredicate2,
7916 OPC_CheckTypeByHwMode0,
7917 OPC_MoveParent,
7918 OPC_CheckPredicate, 9,
7919 OPC_CheckPredicate7,
7920 OPC_SwitchType , 13, 11|128,1,
7921 OPC_CheckPatternPredicate1,
7922 OPC_CheckComplexPat0, /*#*/1,
7923 OPC_EmitMergeInputChains1_0,
7924 OPC_EmitConvertToTarget2,
7925 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7926 11|128,1, 2, 76,
7927 13, 29|128,1,
7928 OPC_CheckPatternPredicate1,
7929 OPC_CheckComplexPat0, /*#*/1,
7930 OPC_EmitMergeInputChains1_0,
7931 OPC_EmitConvertToTarget2,
7932 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7933 29|128,1, 2, 76,
7934 13, 15|128,1,
7935 OPC_CheckPatternPredicate0,
7936 OPC_CheckComplexPat0, /*#*/1,
7937 OPC_EmitMergeInputChains1_0,
7938 OPC_EmitConvertToTarget2,
7939 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7940 15|128,1, 2, 76,
7941 13, 31|128,1,
7942 OPC_CheckPatternPredicate0,
7943 OPC_CheckComplexPat0, /*#*/1,
7944 OPC_EmitMergeInputChains1_0,
7945 OPC_EmitConvertToTarget2,
7946 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7947 31|128,1, 2, 76,
7948 0,
7949 80, TARGET_VAL(ISD::OR),
7950 OPC_RecordChild0,
7951 OPC_RecordChild1,
7952 OPC_MoveChild1,
7953 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7954 OPC_CheckPredicate4,
7955 OPC_MoveParent,
7956 OPC_CheckPredicate2,
7957 OPC_CheckTypeByHwMode0,
7958 OPC_MoveParent,
7959 OPC_CheckPredicate, 9,
7960 OPC_CheckPredicate7,
7961 OPC_SwitchType , 13, 11|128,1,
7962 OPC_CheckPatternPredicate1,
7963 OPC_CheckComplexPat0, /*#*/1,
7964 OPC_EmitMergeInputChains1_0,
7965 OPC_EmitConvertToTarget2,
7966 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7967 11|128,1, 2, 76,
7968 13, 29|128,1,
7969 OPC_CheckPatternPredicate1,
7970 OPC_CheckComplexPat0, /*#*/1,
7971 OPC_EmitMergeInputChains1_0,
7972 OPC_EmitConvertToTarget2,
7973 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
7974 29|128,1, 2, 76,
7975 13, 15|128,1,
7976 OPC_CheckPatternPredicate0,
7977 OPC_CheckComplexPat0, /*#*/1,
7978 OPC_EmitMergeInputChains1_0,
7979 OPC_EmitConvertToTarget2,
7980 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7981 15|128,1, 2, 76,
7982 13, 31|128,1,
7983 OPC_CheckPatternPredicate0,
7984 OPC_CheckComplexPat0, /*#*/1,
7985 OPC_EmitMergeInputChains1_0,
7986 OPC_EmitConvertToTarget2,
7987 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
7988 31|128,1, 2, 76,
7989 0,
7990 0,
7991 19,
7992 OPC_RecordChild1,
7993 OPC_CheckPredicate, 9,
7994 OPC_CheckPredicate7,
7995 OPC_CheckType, 11|128,1,
7996 OPC_CheckPatternPredicate1,
7997 OPC_CheckComplexPat3, /*#*/1,
7998 OPC_EmitMergeInputChains1_0,
7999 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
8000 11|128,1, 2, 49,
8001 26,
8002 OPC_MoveChild1,
8003 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8004 OPC_RecordChild0,
8005 OPC_RecordChild1,
8006 OPC_CheckTypeByHwMode0,
8007 OPC_MoveParent,
8008 OPC_CheckPredicate, 9,
8009 OPC_CheckPredicate7,
8010 OPC_CheckType, 11|128,1,
8011 OPC_CheckPatternPredicate1,
8012 OPC_CheckComplexPat1, /*#*/1,
8013 OPC_EmitMergeInputChains1_0,
8014 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
8015 11|128,1, 2, 28,
8016 19,
8017 OPC_RecordChild1,
8018 OPC_CheckPredicate, 9,
8019 OPC_CheckPredicate7,
8020 OPC_CheckType, 29|128,1,
8021 OPC_CheckPatternPredicate1,
8022 OPC_CheckComplexPat3, /*#*/1,
8023 OPC_EmitMergeInputChains1_0,
8024 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
8025 29|128,1, 2, 49,
8026 26,
8027 OPC_MoveChild1,
8028 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8029 OPC_RecordChild0,
8030 OPC_RecordChild1,
8031 OPC_CheckTypeByHwMode0,
8032 OPC_MoveParent,
8033 OPC_CheckPredicate, 9,
8034 OPC_CheckPredicate7,
8035 OPC_CheckType, 29|128,1,
8036 OPC_CheckPatternPredicate1,
8037 OPC_CheckComplexPat1, /*#*/1,
8038 OPC_EmitMergeInputChains1_0,
8039 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
8040 29|128,1, 2, 28,
8041 19,
8042 OPC_RecordChild1,
8043 OPC_CheckPredicate, 9,
8044 OPC_CheckPredicate7,
8045 OPC_CheckType, 15|128,1,
8046 OPC_CheckPatternPredicate0,
8047 OPC_CheckComplexPat3, /*#*/1,
8048 OPC_EmitMergeInputChains1_0,
8049 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
8050 15|128,1, 2, 49,
8051 26,
8052 OPC_MoveChild1,
8053 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8054 OPC_RecordChild0,
8055 OPC_RecordChild1,
8056 OPC_CheckTypeByHwMode0,
8057 OPC_MoveParent,
8058 OPC_CheckPredicate, 9,
8059 OPC_CheckPredicate7,
8060 OPC_CheckType, 15|128,1,
8061 OPC_CheckPatternPredicate0,
8062 OPC_CheckComplexPat1, /*#*/1,
8063 OPC_EmitMergeInputChains1_0,
8064 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
8065 15|128,1, 2, 28,
8066 19,
8067 OPC_RecordChild1,
8068 OPC_CheckPredicate, 9,
8069 OPC_CheckPredicate7,
8070 OPC_CheckType, 31|128,1,
8071 OPC_CheckPatternPredicate0,
8072 OPC_CheckComplexPat3, /*#*/1,
8073 OPC_EmitMergeInputChains1_0,
8074 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
8075 31|128,1, 2, 49,
8076 88,
8077 OPC_MoveChild1,
8078 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
8079 OPC_RecordChild0,
8080 OPC_RecordChild1,
8081 OPC_CheckTypeByHwMode0,
8082 OPC_MoveParent,
8083 OPC_CheckPredicate, 9,
8084 OPC_CheckPredicate7,
8085 OPC_SwitchType , 27, 31|128,1,
8086 OPC_CheckPatternPredicate0,
8087 OPC_Scope, 11,
8088 OPC_CheckComplexPat1, /*#*/1,
8089 OPC_EmitMergeInputChains1_0,
8090 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
8091 31|128,1, 2, 28,
8092 11,
8093 OPC_CheckComplexPat1, /*#*/2,
8094 OPC_EmitMergeInputChains1_0,
8095 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
8096 31|128,1, 2, 17,
8097 0,
8098 12, 11|128,1,
8099 OPC_CheckPatternPredicate1,
8100 OPC_CheckComplexPat1, /*#*/2,
8101 OPC_EmitMergeInputChains1_0,
8102 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
8103 11|128,1, 2, 17,
8104 12, 29|128,1,
8105 OPC_CheckPatternPredicate1,
8106 OPC_CheckComplexPat1, /*#*/2,
8107 OPC_EmitMergeInputChains1_0,
8108 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDX), 0|OPFL_Chain|OPFL_MemRefs,
8109 29|128,1, 2, 17,
8110 12, 15|128,1,
8111 OPC_CheckPatternPredicate0,
8112 OPC_CheckComplexPat1, /*#*/2,
8113 OPC_EmitMergeInputChains1_0,
8114 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDX), 0|OPFL_Chain|OPFL_MemRefs,
8115 15|128,1, 2, 17,
8116 0,
8117 74,
8118 OPC_RecordChild1,
8119 OPC_CheckPredicate, 9,
8120 OPC_CheckPredicate7,
8121 OPC_SwitchType , 14, 11|128,1,
8122 OPC_CheckPatternPredicate1,
8123 OPC_CheckComplexPat0, /*#*/1,
8124 OPC_EmitMergeInputChains1_0,
8125 OPC_EmitIntegerByHwMode0, 0,
8126 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
8127 11|128,1, 2, 49,
8128 14, 29|128,1,
8129 OPC_CheckPatternPredicate1,
8130 OPC_CheckComplexPat0, /*#*/1,
8131 OPC_EmitMergeInputChains1_0,
8132 OPC_EmitIntegerByHwMode0, 0,
8133 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLD), 0|OPFL_Chain|OPFL_MemRefs,
8134 29|128,1, 2, 49,
8135 14, 15|128,1,
8136 OPC_CheckPatternPredicate0,
8137 OPC_CheckComplexPat0, /*#*/1,
8138 OPC_EmitMergeInputChains1_0,
8139 OPC_EmitIntegerByHwMode0, 0,
8140 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
8141 15|128,1, 2, 49,
8142 14, 31|128,1,
8143 OPC_CheckPatternPredicate0,
8144 OPC_CheckComplexPat0, /*#*/1,
8145 OPC_EmitMergeInputChains1_0,
8146 OPC_EmitIntegerByHwMode0, 0,
8147 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLD), 0|OPFL_Chain|OPFL_MemRefs,
8148 31|128,1, 2, 49,
8149 0,
8150 0,
8151 100|128,4, TARGET_VAL(ISD::ATOMIC_LOAD),
8152 OPC_RecordMemRef,
8153 OPC_RecordNode,
8154 OPC_Scope, 63|128,2,
8155 OPC_MoveChild1,
8156 OPC_SwitchOpcode , 26|128,1, TARGET_VAL(ISD::ADD),
8157 OPC_RecordChild0,
8158 OPC_RecordChild1,
8159 OPC_MoveChild1,
8160 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8161 OPC_CheckPredicate4,
8162 OPC_MoveParent,
8163 OPC_CheckPredicate2,
8164 OPC_CheckTypeByHwMode0,
8165 OPC_MoveParent,
8166 OPC_Scope, 16,
8167 OPC_CheckPredicate, 27,
8168 OPC_CheckPredicate5,
8169 OPC_CheckTypeByHwMode0,
8170 OPC_CheckComplexPat0, /*#*/1,
8171 OPC_EmitMergeInputChains1_0,
8172 OPC_EmitConvertToTarget2,
8173 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8174 1, 0, 2, 76,
8175 16,
8176 OPC_CheckPredicate, 28,
8177 OPC_CheckPredicate5,
8178 OPC_CheckTypeByHwMode0,
8179 OPC_CheckComplexPat0, /*#*/1,
8180 OPC_EmitMergeInputChains1_0,
8181 OPC_EmitConvertToTarget2,
8182 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8183 1, 0, 2, 76,
8184 16,
8185 OPC_CheckPredicate, 27,
8186 OPC_CheckPredicate6,
8187 OPC_CheckTypeByHwMode0,
8188 OPC_CheckComplexPat0, /*#*/1,
8189 OPC_EmitMergeInputChains1_0,
8190 OPC_EmitConvertToTarget2,
8191 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8192 1, 0, 2, 76,
8193 16,
8194 OPC_CheckPredicate, 28,
8195 OPC_CheckPredicate6,
8196 OPC_CheckTypeByHwMode0,
8197 OPC_CheckComplexPat0, /*#*/1,
8198 OPC_EmitMergeInputChains1_0,
8199 OPC_EmitConvertToTarget2,
8200 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8201 1, 0, 2, 76,
8202 17,
8203 OPC_CheckPredicate, 36,
8204 OPC_CheckPredicate3,
8205 OPC_CheckTypeByHwMode0,
8206 OPC_CheckPatternPredicate5,
8207 OPC_CheckComplexPat0, /*#*/1,
8208 OPC_EmitMergeInputChains1_0,
8209 OPC_EmitConvertToTarget2,
8210 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8211 1, 0, 2, 76,
8212 17,
8213 OPC_CheckPredicate, 27,
8214 OPC_CheckPredicate3,
8215 OPC_CheckTypeByHwMode0,
8216 OPC_CheckPatternPredicate2,
8217 OPC_CheckComplexPat0, /*#*/1,
8218 OPC_EmitMergeInputChains1_0,
8219 OPC_EmitConvertToTarget2,
8220 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8221 1, 0, 2, 76,
8222 17,
8223 OPC_CheckPredicate, 28,
8224 OPC_CheckPredicate3,
8225 OPC_CheckTypeByHwMode0,
8226 OPC_CheckPatternPredicate2,
8227 OPC_CheckComplexPat0, /*#*/1,
8228 OPC_EmitMergeInputChains1_0,
8229 OPC_EmitConvertToTarget2,
8230 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8231 1, 0, 2, 76,
8232 18,
8233 OPC_CheckPredicate, 36,
8234 OPC_CheckPredicate, 19,
8235 OPC_CheckTypeByHwMode0,
8236 OPC_CheckPatternPredicate2,
8237 OPC_CheckComplexPat0, /*#*/1,
8238 OPC_EmitMergeInputChains1_0,
8239 OPC_EmitConvertToTarget2,
8240 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
8241 1, 0, 2, 76,
8242 0,
8243 26|128,1, TARGET_VAL(ISD::OR),
8244 OPC_RecordChild0,
8245 OPC_RecordChild1,
8246 OPC_MoveChild1,
8247 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8248 OPC_CheckPredicate4,
8249 OPC_MoveParent,
8250 OPC_CheckPredicate2,
8251 OPC_CheckTypeByHwMode0,
8252 OPC_MoveParent,
8253 OPC_Scope, 16,
8254 OPC_CheckPredicate, 27,
8255 OPC_CheckPredicate5,
8256 OPC_CheckTypeByHwMode0,
8257 OPC_CheckComplexPat0, /*#*/1,
8258 OPC_EmitMergeInputChains1_0,
8259 OPC_EmitConvertToTarget2,
8260 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8261 1, 0, 2, 76,
8262 16,
8263 OPC_CheckPredicate, 28,
8264 OPC_CheckPredicate5,
8265 OPC_CheckTypeByHwMode0,
8266 OPC_CheckComplexPat0, /*#*/1,
8267 OPC_EmitMergeInputChains1_0,
8268 OPC_EmitConvertToTarget2,
8269 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8270 1, 0, 2, 76,
8271 16,
8272 OPC_CheckPredicate, 27,
8273 OPC_CheckPredicate6,
8274 OPC_CheckTypeByHwMode0,
8275 OPC_CheckComplexPat0, /*#*/1,
8276 OPC_EmitMergeInputChains1_0,
8277 OPC_EmitConvertToTarget2,
8278 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8279 1, 0, 2, 76,
8280 16,
8281 OPC_CheckPredicate, 28,
8282 OPC_CheckPredicate6,
8283 OPC_CheckTypeByHwMode0,
8284 OPC_CheckComplexPat0, /*#*/1,
8285 OPC_EmitMergeInputChains1_0,
8286 OPC_EmitConvertToTarget2,
8287 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8288 1, 0, 2, 76,
8289 17,
8290 OPC_CheckPredicate, 36,
8291 OPC_CheckPredicate3,
8292 OPC_CheckTypeByHwMode0,
8293 OPC_CheckPatternPredicate5,
8294 OPC_CheckComplexPat0, /*#*/1,
8295 OPC_EmitMergeInputChains1_0,
8296 OPC_EmitConvertToTarget2,
8297 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8298 1, 0, 2, 76,
8299 17,
8300 OPC_CheckPredicate, 27,
8301 OPC_CheckPredicate3,
8302 OPC_CheckTypeByHwMode0,
8303 OPC_CheckPatternPredicate2,
8304 OPC_CheckComplexPat0, /*#*/1,
8305 OPC_EmitMergeInputChains1_0,
8306 OPC_EmitConvertToTarget2,
8307 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8308 1, 0, 2, 76,
8309 17,
8310 OPC_CheckPredicate, 28,
8311 OPC_CheckPredicate3,
8312 OPC_CheckTypeByHwMode0,
8313 OPC_CheckPatternPredicate2,
8314 OPC_CheckComplexPat0, /*#*/1,
8315 OPC_EmitMergeInputChains1_0,
8316 OPC_EmitConvertToTarget2,
8317 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8318 1, 0, 2, 76,
8319 18,
8320 OPC_CheckPredicate, 36,
8321 OPC_CheckPredicate, 19,
8322 OPC_CheckTypeByHwMode0,
8323 OPC_CheckPatternPredicate2,
8324 OPC_CheckComplexPat0, /*#*/1,
8325 OPC_EmitMergeInputChains1_0,
8326 OPC_EmitConvertToTarget2,
8327 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
8328 1, 0, 2, 76,
8329 0,
8330 0,
8331 29|128,2,
8332 OPC_RecordChild1,
8333 OPC_Scope, 15,
8334 OPC_CheckPredicate, 27,
8335 OPC_CheckPredicate5,
8336 OPC_CheckTypeByHwMode0,
8337 OPC_CheckComplexPat3, /*#*/1,
8338 OPC_EmitMergeInputChains1_0,
8339 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8340 1, 0, 2, 49,
8341 15,
8342 OPC_CheckPredicate, 28,
8343 OPC_CheckPredicate5,
8344 OPC_CheckTypeByHwMode0,
8345 OPC_CheckComplexPat3, /*#*/1,
8346 OPC_EmitMergeInputChains1_0,
8347 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8348 1, 0, 2, 49,
8349 15,
8350 OPC_CheckPredicate, 27,
8351 OPC_CheckPredicate6,
8352 OPC_CheckTypeByHwMode0,
8353 OPC_CheckComplexPat3, /*#*/1,
8354 OPC_EmitMergeInputChains1_0,
8355 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8356 1, 0, 2, 49,
8357 15,
8358 OPC_CheckPredicate, 28,
8359 OPC_CheckPredicate6,
8360 OPC_CheckTypeByHwMode0,
8361 OPC_CheckComplexPat3, /*#*/1,
8362 OPC_EmitMergeInputChains1_0,
8363 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8364 1, 0, 2, 49,
8365 16,
8366 OPC_CheckPredicate, 36,
8367 OPC_CheckPredicate3,
8368 OPC_CheckTypeByHwMode0,
8369 OPC_CheckPatternPredicate5,
8370 OPC_CheckComplexPat3, /*#*/1,
8371 OPC_EmitMergeInputChains1_0,
8372 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8373 1, 0, 2, 49,
8374 16,
8375 OPC_CheckPredicate, 27,
8376 OPC_CheckPredicate3,
8377 OPC_CheckTypeByHwMode0,
8378 OPC_CheckPatternPredicate2,
8379 OPC_CheckComplexPat3, /*#*/1,
8380 OPC_EmitMergeInputChains1_0,
8381 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8382 1, 0, 2, 49,
8383 16,
8384 OPC_CheckPredicate, 28,
8385 OPC_CheckPredicate3,
8386 OPC_CheckTypeByHwMode0,
8387 OPC_CheckPatternPredicate2,
8388 OPC_CheckComplexPat3, /*#*/1,
8389 OPC_EmitMergeInputChains1_0,
8390 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8391 1, 0, 2, 49,
8392 17,
8393 OPC_CheckPredicate, 36,
8394 OPC_CheckPredicate, 19,
8395 OPC_CheckTypeByHwMode0,
8396 OPC_CheckPatternPredicate2,
8397 OPC_CheckComplexPat3, /*#*/1,
8398 OPC_EmitMergeInputChains1_0,
8399 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
8400 1, 0, 2, 49,
8401 17,
8402 OPC_CheckPredicate, 27,
8403 OPC_CheckPredicate5,
8404 OPC_CheckTypeByHwMode0,
8405 OPC_CheckComplexPat0, /*#*/1,
8406 OPC_EmitMergeInputChains1_0,
8407 OPC_EmitIntegerByHwMode0, 0,
8408 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8409 1, 0, 2, 49,
8410 17,
8411 OPC_CheckPredicate, 28,
8412 OPC_CheckPredicate5,
8413 OPC_CheckTypeByHwMode0,
8414 OPC_CheckComplexPat0, /*#*/1,
8415 OPC_EmitMergeInputChains1_0,
8416 OPC_EmitIntegerByHwMode0, 0,
8417 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
8418 1, 0, 2, 49,
8419 17,
8420 OPC_CheckPredicate, 27,
8421 OPC_CheckPredicate6,
8422 OPC_CheckTypeByHwMode0,
8423 OPC_CheckComplexPat0, /*#*/1,
8424 OPC_EmitMergeInputChains1_0,
8425 OPC_EmitIntegerByHwMode0, 0,
8426 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8427 1, 0, 2, 49,
8428 17,
8429 OPC_CheckPredicate, 28,
8430 OPC_CheckPredicate6,
8431 OPC_CheckTypeByHwMode0,
8432 OPC_CheckComplexPat0, /*#*/1,
8433 OPC_EmitMergeInputChains1_0,
8434 OPC_EmitIntegerByHwMode0, 0,
8435 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
8436 1, 0, 2, 49,
8437 18,
8438 OPC_CheckPredicate, 36,
8439 OPC_CheckPredicate3,
8440 OPC_CheckTypeByHwMode0,
8441 OPC_CheckPatternPredicate5,
8442 OPC_CheckComplexPat0, /*#*/1,
8443 OPC_EmitMergeInputChains1_0,
8444 OPC_EmitIntegerByHwMode0, 0,
8445 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8446 1, 0, 2, 49,
8447 18,
8448 OPC_CheckPredicate, 27,
8449 OPC_CheckPredicate3,
8450 OPC_CheckTypeByHwMode0,
8451 OPC_CheckPatternPredicate2,
8452 OPC_CheckComplexPat0, /*#*/1,
8453 OPC_EmitMergeInputChains1_0,
8454 OPC_EmitIntegerByHwMode0, 0,
8455 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8456 1, 0, 2, 49,
8457 18,
8458 OPC_CheckPredicate, 28,
8459 OPC_CheckPredicate3,
8460 OPC_CheckTypeByHwMode0,
8461 OPC_CheckPatternPredicate2,
8462 OPC_CheckComplexPat0, /*#*/1,
8463 OPC_EmitMergeInputChains1_0,
8464 OPC_EmitIntegerByHwMode0, 0,
8465 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
8466 1, 0, 2, 49,
8467 19,
8468 OPC_CheckPredicate, 36,
8469 OPC_CheckPredicate, 19,
8470 OPC_CheckTypeByHwMode0,
8471 OPC_CheckPatternPredicate2,
8472 OPC_CheckComplexPat0, /*#*/1,
8473 OPC_EmitMergeInputChains1_0,
8474 OPC_EmitIntegerByHwMode0, 0,
8475 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
8476 1, 0, 2, 49,
8477 0,
8478 0,
8479 67|128,3, TARGET_VAL(ISD::ATOMIC_STORE),
8480 OPC_RecordMemRef,
8481 OPC_RecordNode,
8482 OPC_RecordChild1,
8483 OPC_Scope, 84,
8484 OPC_CheckChild1TypeByHwMode0,
8485 OPC_MoveChild2,
8486 OPC_SwitchOpcode , 37, TARGET_VAL(ISD::ADD),
8487 OPC_RecordChild0,
8488 OPC_RecordChild1,
8489 OPC_MoveChild1,
8490 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8491 OPC_CheckPredicate4,
8492 OPC_MoveParent,
8493 OPC_CheckPredicate2,
8494 OPC_CheckTypeByHwMode0,
8495 OPC_MoveParent,
8496 OPC_Scope, 11,
8497 OPC_CheckPredicate5,
8498 OPC_CheckComplexPat0, /*#*/2,
8499 OPC_EmitMergeInputChains1_0,
8500 OPC_EmitConvertToTarget3,
8501 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
8502 3, 96,
8503 11,
8504 OPC_CheckPredicate6,
8505 OPC_CheckComplexPat0, /*#*/2,
8506 OPC_EmitMergeInputChains1_0,
8507 OPC_EmitConvertToTarget3,
8508 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
8509 3, 96,
8510 0,
8511 37, TARGET_VAL(ISD::OR),
8512 OPC_RecordChild0,
8513 OPC_RecordChild1,
8514 OPC_MoveChild1,
8515 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8516 OPC_CheckPredicate4,
8517 OPC_MoveParent,
8518 OPC_CheckPredicate2,
8519 OPC_CheckTypeByHwMode0,
8520 OPC_MoveParent,
8521 OPC_Scope, 11,
8522 OPC_CheckPredicate5,
8523 OPC_CheckComplexPat0, /*#*/2,
8524 OPC_EmitMergeInputChains1_0,
8525 OPC_EmitConvertToTarget3,
8526 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
8527 3, 96,
8528 11,
8529 OPC_CheckPredicate6,
8530 OPC_CheckComplexPat0, /*#*/2,
8531 OPC_EmitMergeInputChains1_0,
8532 OPC_EmitConvertToTarget3,
8533 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
8534 3, 96,
8535 0,
8536 0,
8537 60,
8538 OPC_CheckChild1TypeI32,
8539 OPC_MoveChild2,
8540 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::ADD),
8541 OPC_RecordChild0,
8542 OPC_RecordChild1,
8543 OPC_MoveChild1,
8544 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8545 OPC_CheckPredicate4,
8546 OPC_MoveParent,
8547 OPC_CheckPredicate2,
8548 OPC_CheckTypeByHwMode0,
8549 OPC_MoveParent,
8550 OPC_CheckPredicate3,
8551 OPC_CheckPredicate, 29,
8552 OPC_CheckPatternPredicate5,
8553 OPC_CheckComplexPat0, /*#*/2,
8554 OPC_EmitMergeInputChains1_0,
8555 OPC_EmitConvertToTarget3,
8556 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8557 3, 96,
8558 25, TARGET_VAL(ISD::OR),
8559 OPC_RecordChild0,
8560 OPC_RecordChild1,
8561 OPC_MoveChild1,
8562 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8563 OPC_CheckPredicate4,
8564 OPC_MoveParent,
8565 OPC_CheckPredicate2,
8566 OPC_CheckTypeByHwMode0,
8567 OPC_MoveParent,
8568 OPC_CheckPredicate3,
8569 OPC_CheckPredicate, 29,
8570 OPC_CheckPatternPredicate5,
8571 OPC_CheckComplexPat0, /*#*/2,
8572 OPC_EmitMergeInputChains1_0,
8573 OPC_EmitConvertToTarget3,
8574 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8575 3, 96,
8576 0,
8577 99,
8578 OPC_CheckChild1TypeByHwMode, 1,
8579 OPC_MoveChild2,
8580 OPC_SwitchOpcode , 44, TARGET_VAL(ISD::ADD),
8581 OPC_RecordChild0,
8582 OPC_RecordChild1,
8583 OPC_MoveChild1,
8584 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8585 OPC_CheckPredicate4,
8586 OPC_MoveParent,
8587 OPC_CheckPredicate2,
8588 OPC_CheckTypeByHwMode0,
8589 OPC_MoveParent,
8590 OPC_Scope, 14,
8591 OPC_CheckPredicate3,
8592 OPC_CheckPredicate, 29,
8593 OPC_CheckPatternPredicate2,
8594 OPC_CheckComplexPat0, /*#*/2,
8595 OPC_EmitMergeInputChains1_0,
8596 OPC_EmitConvertToTarget3,
8597 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8598 3, 96,
8599 15,
8600 OPC_CheckPredicate, 19,
8601 OPC_CheckPredicate, 29,
8602 OPC_CheckPatternPredicate2,
8603 OPC_CheckComplexPat0, /*#*/2,
8604 OPC_EmitMergeInputChains1_0,
8605 OPC_EmitConvertToTarget3,
8606 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
8607 3, 96,
8608 0,
8609 44, TARGET_VAL(ISD::OR),
8610 OPC_RecordChild0,
8611 OPC_RecordChild1,
8612 OPC_MoveChild1,
8613 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8614 OPC_CheckPredicate4,
8615 OPC_MoveParent,
8616 OPC_CheckPredicate2,
8617 OPC_CheckTypeByHwMode0,
8618 OPC_MoveParent,
8619 OPC_Scope, 14,
8620 OPC_CheckPredicate3,
8621 OPC_CheckPredicate, 29,
8622 OPC_CheckPatternPredicate2,
8623 OPC_CheckComplexPat0, /*#*/2,
8624 OPC_EmitMergeInputChains1_0,
8625 OPC_EmitConvertToTarget3,
8626 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8627 3, 96,
8628 15,
8629 OPC_CheckPredicate, 19,
8630 OPC_CheckPredicate, 29,
8631 OPC_CheckPatternPredicate2,
8632 OPC_CheckComplexPat0, /*#*/2,
8633 OPC_EmitMergeInputChains1_0,
8634 OPC_EmitConvertToTarget3,
8635 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
8636 3, 96,
8637 0,
8638 0,
8639 26,
8640 OPC_CheckChild1TypeByHwMode0,
8641 OPC_RecordChild2,
8642 OPC_Scope, 10,
8643 OPC_CheckPredicate5,
8644 OPC_CheckComplexPat3, /*#*/2,
8645 OPC_EmitMergeInputChains1_0,
8646 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
8647 3, 78,
8648 10,
8649 OPC_CheckPredicate6,
8650 OPC_CheckComplexPat3, /*#*/2,
8651 OPC_EmitMergeInputChains1_0,
8652 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
8653 3, 78,
8654 0,
8655 15,
8656 OPC_CheckChild1TypeI32,
8657 OPC_RecordChild2,
8658 OPC_CheckPredicate3,
8659 OPC_CheckPredicate, 29,
8660 OPC_CheckPatternPredicate5,
8661 OPC_CheckComplexPat3, /*#*/2,
8662 OPC_EmitMergeInputChains1_0,
8663 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8664 3, 78,
8665 34,
8666 OPC_CheckChild1TypeByHwMode, 1,
8667 OPC_RecordChild2,
8668 OPC_Scope, 13,
8669 OPC_CheckPredicate3,
8670 OPC_CheckPredicate, 29,
8671 OPC_CheckPatternPredicate2,
8672 OPC_CheckComplexPat3, /*#*/2,
8673 OPC_EmitMergeInputChains1_0,
8674 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8675 3, 78,
8676 14,
8677 OPC_CheckPredicate, 19,
8678 OPC_CheckPredicate, 29,
8679 OPC_CheckPatternPredicate2,
8680 OPC_CheckComplexPat3, /*#*/2,
8681 OPC_EmitMergeInputChains1_0,
8682 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
8683 3, 78,
8684 0,
8685 30,
8686 OPC_CheckChild1TypeByHwMode0,
8687 OPC_RecordChild2,
8688 OPC_Scope, 12,
8689 OPC_CheckPredicate5,
8690 OPC_CheckComplexPat0, /*#*/2,
8691 OPC_EmitMergeInputChains1_0,
8692 OPC_EmitIntegerByHwMode0, 0,
8693 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
8694 3, 78,
8695 12,
8696 OPC_CheckPredicate6,
8697 OPC_CheckComplexPat0, /*#*/2,
8698 OPC_EmitMergeInputChains1_0,
8699 OPC_EmitIntegerByHwMode0, 0,
8700 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
8701 3, 78,
8702 0,
8703 17,
8704 OPC_CheckChild1TypeI32,
8705 OPC_RecordChild2,
8706 OPC_CheckPredicate3,
8707 OPC_CheckPredicate, 29,
8708 OPC_CheckPatternPredicate5,
8709 OPC_CheckComplexPat0, /*#*/2,
8710 OPC_EmitMergeInputChains1_0,
8711 OPC_EmitIntegerByHwMode0, 0,
8712 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8713 3, 78,
8714 38,
8715 OPC_CheckChild1TypeByHwMode, 1,
8716 OPC_RecordChild2,
8717 OPC_Scope, 15,
8718 OPC_CheckPredicate3,
8719 OPC_CheckPredicate, 29,
8720 OPC_CheckPatternPredicate2,
8721 OPC_CheckComplexPat0, /*#*/2,
8722 OPC_EmitMergeInputChains1_0,
8723 OPC_EmitIntegerByHwMode0, 0,
8724 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
8725 3, 78,
8726 16,
8727 OPC_CheckPredicate, 19,
8728 OPC_CheckPredicate, 29,
8729 OPC_CheckPatternPredicate2,
8730 OPC_CheckComplexPat0, /*#*/2,
8731 OPC_EmitMergeInputChains1_0,
8732 OPC_EmitIntegerByHwMode0, 0,
8733 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
8734 3, 78,
8735 0,
8736 33,
8737 OPC_CheckChild1TypeByHwMode0,
8738 OPC_RecordChild2,
8739 OPC_CheckChild2TypeByHwMode0,
8740 OPC_Scope, 12,
8741 OPC_CheckPredicate3,
8742 OPC_CheckPredicate, 54,
8743 OPC_EmitMergeInputChains1_0,
8744 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicStoreW), 0|OPFL_Chain|OPFL_MemRefs,
8745 1, 0, 2, 25,
8746 14,
8747 OPC_CheckPredicate, 19,
8748 OPC_CheckPredicate, 54,
8749 OPC_CheckPatternPredicate2,
8750 OPC_EmitMergeInputChains1_0,
8751 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicStoreD), 0|OPFL_Chain|OPFL_MemRefs,
8752 1, 0, 2, 25,
8753 0,
8754 0,
8755 45|128,14, TARGET_VAL(ISD::AND),
8756 OPC_Scope, 12|128,4,
8757 OPC_CheckAndImm, 127|128,1,
8758 OPC_MoveChild0,
8759 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
8760 OPC_RecordChild0,
8761 OPC_CheckChild0Type, MVT::v32i8,
8762 OPC_Scope, 31,
8763 OPC_CheckChild1Integer, 16,
8764 OPC_MoveParent,
8765 OPC_CheckTypeByHwMode0,
8766 OPC_CheckPatternPredicate0,
8767 OPC_EmitIntegerByHwMode0, 14,
8768 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8769 MVT::v32i8, 2, 9,
8770 OPC_EmitIntegerI32, LoongArch::sub_128,
8771 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8772 MVT::v16i8, 2, 49,
8773 OPC_EmitIntegerByHwMode0, 0,
8774 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8775 1, 0, 2, 93,
8776 31,
8777 OPC_CheckChild1Integer, 17,
8778 OPC_MoveParent,
8779 OPC_CheckTypeByHwMode0,
8780 OPC_CheckPatternPredicate0,
8781 OPC_EmitIntegerByHwMode0, 14,
8782 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8783 MVT::v32i8, 2, 9,
8784 OPC_EmitIntegerI32, LoongArch::sub_128,
8785 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8786 MVT::v16i8, 2, 49,
8787 OPC_EmitIntegerByHwMode0, 1,
8788 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8789 1, 0, 2, 93,
8790 31,
8791 OPC_CheckChild1Integer, 18,
8792 OPC_MoveParent,
8793 OPC_CheckTypeByHwMode0,
8794 OPC_CheckPatternPredicate0,
8795 OPC_EmitIntegerByHwMode0, 14,
8796 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8797 MVT::v32i8, 2, 9,
8798 OPC_EmitIntegerI32, LoongArch::sub_128,
8799 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8800 MVT::v16i8, 2, 49,
8801 OPC_EmitIntegerByHwMode0, 2,
8802 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8803 1, 0, 2, 93,
8804 31,
8805 OPC_CheckChild1Integer, 19,
8806 OPC_MoveParent,
8807 OPC_CheckTypeByHwMode0,
8808 OPC_CheckPatternPredicate0,
8809 OPC_EmitIntegerByHwMode0, 14,
8810 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8811 MVT::v32i8, 2, 9,
8812 OPC_EmitIntegerI32, LoongArch::sub_128,
8813 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8814 MVT::v16i8, 2, 49,
8815 OPC_EmitIntegerByHwMode0, 3,
8816 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8817 1, 0, 2, 93,
8818 31,
8819 OPC_CheckChild1Integer, 20,
8820 OPC_MoveParent,
8821 OPC_CheckTypeByHwMode0,
8822 OPC_CheckPatternPredicate0,
8823 OPC_EmitIntegerByHwMode0, 14,
8824 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8825 MVT::v32i8, 2, 9,
8826 OPC_EmitIntegerI32, LoongArch::sub_128,
8827 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8828 MVT::v16i8, 2, 49,
8829 OPC_EmitIntegerByHwMode0, 4,
8830 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8831 1, 0, 2, 93,
8832 31,
8833 OPC_CheckChild1Integer, 21,
8834 OPC_MoveParent,
8835 OPC_CheckTypeByHwMode0,
8836 OPC_CheckPatternPredicate0,
8837 OPC_EmitIntegerByHwMode0, 14,
8838 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8839 MVT::v32i8, 2, 9,
8840 OPC_EmitIntegerI32, LoongArch::sub_128,
8841 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8842 MVT::v16i8, 2, 49,
8843 OPC_EmitIntegerByHwMode0, 5,
8844 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8845 1, 0, 2, 93,
8846 31,
8847 OPC_CheckChild1Integer, 22,
8848 OPC_MoveParent,
8849 OPC_CheckTypeByHwMode0,
8850 OPC_CheckPatternPredicate0,
8851 OPC_EmitIntegerByHwMode0, 14,
8852 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8853 MVT::v32i8, 2, 9,
8854 OPC_EmitIntegerI32, LoongArch::sub_128,
8855 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8856 MVT::v16i8, 2, 49,
8857 OPC_EmitIntegerByHwMode0, 6,
8858 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8859 1, 0, 2, 93,
8860 31,
8861 OPC_CheckChild1Integer, 23,
8862 OPC_MoveParent,
8863 OPC_CheckTypeByHwMode0,
8864 OPC_CheckPatternPredicate0,
8865 OPC_EmitIntegerByHwMode0, 14,
8866 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8867 MVT::v32i8, 2, 9,
8868 OPC_EmitIntegerI32, LoongArch::sub_128,
8869 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8870 MVT::v16i8, 2, 49,
8871 OPC_EmitIntegerByHwMode0, 7,
8872 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8873 1, 0, 2, 93,
8874 31,
8875 OPC_CheckChild1Integer, 24,
8876 OPC_MoveParent,
8877 OPC_CheckTypeByHwMode0,
8878 OPC_CheckPatternPredicate0,
8879 OPC_EmitIntegerByHwMode0, 14,
8880 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8881 MVT::v32i8, 2, 9,
8882 OPC_EmitIntegerI32, LoongArch::sub_128,
8883 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8884 MVT::v16i8, 2, 49,
8885 OPC_EmitIntegerByHwMode0, 8,
8886 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8887 1, 0, 2, 93,
8888 31,
8889 OPC_CheckChild1Integer, 25,
8890 OPC_MoveParent,
8891 OPC_CheckTypeByHwMode0,
8892 OPC_CheckPatternPredicate0,
8893 OPC_EmitIntegerByHwMode0, 14,
8894 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8895 MVT::v32i8, 2, 9,
8896 OPC_EmitIntegerI32, LoongArch::sub_128,
8897 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8898 MVT::v16i8, 2, 49,
8899 OPC_EmitIntegerByHwMode0, 9,
8900 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8901 1, 0, 2, 93,
8902 31,
8903 OPC_CheckChild1Integer, 26,
8904 OPC_MoveParent,
8905 OPC_CheckTypeByHwMode0,
8906 OPC_CheckPatternPredicate0,
8907 OPC_EmitIntegerByHwMode0, 14,
8908 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8909 MVT::v32i8, 2, 9,
8910 OPC_EmitIntegerI32, LoongArch::sub_128,
8911 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8912 MVT::v16i8, 2, 49,
8913 OPC_EmitIntegerByHwMode0, 10,
8914 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8915 1, 0, 2, 93,
8916 31,
8917 OPC_CheckChild1Integer, 27,
8918 OPC_MoveParent,
8919 OPC_CheckTypeByHwMode0,
8920 OPC_CheckPatternPredicate0,
8921 OPC_EmitIntegerByHwMode0, 14,
8922 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8923 MVT::v32i8, 2, 9,
8924 OPC_EmitIntegerI32, LoongArch::sub_128,
8925 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8926 MVT::v16i8, 2, 49,
8927 OPC_EmitIntegerByHwMode0, 11,
8928 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8929 1, 0, 2, 93,
8930 31,
8931 OPC_CheckChild1Integer, 28,
8932 OPC_MoveParent,
8933 OPC_CheckTypeByHwMode0,
8934 OPC_CheckPatternPredicate0,
8935 OPC_EmitIntegerByHwMode0, 14,
8936 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8937 MVT::v32i8, 2, 9,
8938 OPC_EmitIntegerI32, LoongArch::sub_128,
8939 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8940 MVT::v16i8, 2, 49,
8941 OPC_EmitIntegerByHwMode0, 12,
8942 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8943 1, 0, 2, 93,
8944 31,
8945 OPC_CheckChild1Integer, 29,
8946 OPC_MoveParent,
8947 OPC_CheckTypeByHwMode0,
8948 OPC_CheckPatternPredicate0,
8949 OPC_EmitIntegerByHwMode0, 14,
8950 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8951 MVT::v32i8, 2, 9,
8952 OPC_EmitIntegerI32, LoongArch::sub_128,
8953 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8954 MVT::v16i8, 2, 49,
8955 OPC_EmitIntegerByHwMode0, 13,
8956 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8957 1, 0, 2, 93,
8958 31,
8959 OPC_CheckChild1Integer, 30,
8960 OPC_MoveParent,
8961 OPC_CheckTypeByHwMode0,
8962 OPC_CheckPatternPredicate0,
8963 OPC_EmitIntegerByHwMode0, 14,
8964 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8965 MVT::v32i8, 2, 9,
8966 OPC_EmitIntegerI32, LoongArch::sub_128,
8967 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8968 MVT::v16i8, 2, 49,
8969 OPC_EmitIntegerByHwMode0, 14,
8970 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8971 1, 0, 2, 93,
8972 31,
8973 OPC_CheckChild1Integer, 31,
8974 OPC_MoveParent,
8975 OPC_CheckTypeByHwMode0,
8976 OPC_CheckPatternPredicate0,
8977 OPC_EmitIntegerByHwMode0, 14,
8978 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
8979 MVT::v32i8, 2, 9,
8980 OPC_EmitIntegerI32, LoongArch::sub_128,
8981 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
8982 MVT::v16i8, 2, 49,
8983 OPC_EmitIntegerByHwMode0, 15,
8984 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
8985 1, 0, 2, 93,
8986 0,
8987 13|128,2,
8988 OPC_CheckAndImm, 127|128,127|128,3,
8989 OPC_MoveChild0,
8990 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
8991 OPC_RecordChild0,
8992 OPC_CheckChild0Type, MVT::v16i16,
8993 OPC_Scope, 31,
8994 OPC_CheckChild1Integer, 8,
8995 OPC_MoveParent,
8996 OPC_CheckTypeByHwMode0,
8997 OPC_CheckPatternPredicate0,
8998 OPC_EmitIntegerByHwMode0, 14,
8999 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
9000 MVT::v32i8, 2, 9,
9001 OPC_EmitIntegerI32, LoongArch::sub_128,
9002 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9003 MVT::v16i8, 2, 49,
9004 OPC_EmitIntegerByHwMode0, 0,
9005 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
9006 1, 0, 2, 93,
9007 31,
9008 OPC_CheckChild1Integer, 9,
9009 OPC_MoveParent,
9010 OPC_CheckTypeByHwMode0,
9011 OPC_CheckPatternPredicate0,
9012 OPC_EmitIntegerByHwMode0, 14,
9013 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
9014 MVT::v32i8, 2, 9,
9015 OPC_EmitIntegerI32, LoongArch::sub_128,
9016 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9017 MVT::v16i8, 2, 49,
9018 OPC_EmitIntegerByHwMode0, 1,
9019 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
9020 1, 0, 2, 93,
9021 31,
9022 OPC_CheckChild1Integer, 10,
9023 OPC_MoveParent,
9024 OPC_CheckTypeByHwMode0,
9025 OPC_CheckPatternPredicate0,
9026 OPC_EmitIntegerByHwMode0, 14,
9027 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
9028 MVT::v32i8, 2, 9,
9029 OPC_EmitIntegerI32, LoongArch::sub_128,
9030 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9031 MVT::v16i8, 2, 49,
9032 OPC_EmitIntegerByHwMode0, 2,
9033 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
9034 1, 0, 2, 93,
9035 31,
9036 OPC_CheckChild1Integer, 11,
9037 OPC_MoveParent,
9038 OPC_CheckTypeByHwMode0,
9039 OPC_CheckPatternPredicate0,
9040 OPC_EmitIntegerByHwMode0, 14,
9041 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
9042 MVT::v32i8, 2, 9,
9043 OPC_EmitIntegerI32, LoongArch::sub_128,
9044 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9045 MVT::v16i8, 2, 49,
9046 OPC_EmitIntegerByHwMode0, 3,
9047 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
9048 1, 0, 2, 93,
9049 31,
9050 OPC_CheckChild1Integer, 12,
9051 OPC_MoveParent,
9052 OPC_CheckTypeByHwMode0,
9053 OPC_CheckPatternPredicate0,
9054 OPC_EmitIntegerByHwMode0, 14,
9055 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
9056 MVT::v32i8, 2, 9,
9057 OPC_EmitIntegerI32, LoongArch::sub_128,
9058 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9059 MVT::v16i8, 2, 49,
9060 OPC_EmitIntegerByHwMode0, 4,
9061 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
9062 1, 0, 2, 93,
9063 31,
9064 OPC_CheckChild1Integer, 13,
9065 OPC_MoveParent,
9066 OPC_CheckTypeByHwMode0,
9067 OPC_CheckPatternPredicate0,
9068 OPC_EmitIntegerByHwMode0, 14,
9069 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
9070 MVT::v32i8, 2, 9,
9071 OPC_EmitIntegerI32, LoongArch::sub_128,
9072 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9073 MVT::v16i8, 2, 49,
9074 OPC_EmitIntegerByHwMode0, 5,
9075 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
9076 1, 0, 2, 93,
9077 31,
9078 OPC_CheckChild1Integer, 14,
9079 OPC_MoveParent,
9080 OPC_CheckTypeByHwMode0,
9081 OPC_CheckPatternPredicate0,
9082 OPC_EmitIntegerByHwMode0, 14,
9083 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
9084 MVT::v32i8, 2, 9,
9085 OPC_EmitIntegerI32, LoongArch::sub_128,
9086 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9087 MVT::v16i8, 2, 49,
9088 OPC_EmitIntegerByHwMode0, 6,
9089 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
9090 1, 0, 2, 93,
9091 31,
9092 OPC_CheckChild1Integer, 15,
9093 OPC_MoveParent,
9094 OPC_CheckTypeByHwMode0,
9095 OPC_CheckPatternPredicate0,
9096 OPC_EmitIntegerByHwMode0, 14,
9097 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
9098 MVT::v32i8, 2, 9,
9099 OPC_EmitIntegerI32, LoongArch::sub_128,
9100 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9101 MVT::v16i8, 2, 49,
9102 OPC_EmitIntegerByHwMode0, 7,
9103 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
9104 1, 0, 2, 93,
9105 0,
9106 31,
9107 OPC_CheckAndImm, 127|128,1,
9108 OPC_MoveChild0,
9109 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
9110 OPC_RecordChild0,
9111 OPC_CheckChild0Type, MVT::v16i8,
9112 OPC_RecordChild1,
9113 OPC_MoveChild1,
9114 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9115 OPC_CheckPredicate, 21,
9116 OPC_CheckTypeByHwMode0,
9117 OPC_MoveParent,
9118 OPC_MoveParent,
9119 OPC_CheckTypeByHwMode0,
9120 OPC_CheckPatternPredicate1,
9121 OPC_EmitConvertToTarget1,
9122 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
9123 1, 0, 2, 22,
9124 32,
9125 OPC_CheckAndImm, 127|128,127|128,3,
9126 OPC_MoveChild0,
9127 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
9128 OPC_RecordChild0,
9129 OPC_CheckChild0Type, MVT::v8i16,
9130 OPC_RecordChild1,
9131 OPC_MoveChild1,
9132 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9133 OPC_CheckPredicate, 11,
9134 OPC_CheckTypeByHwMode0,
9135 OPC_MoveParent,
9136 OPC_MoveParent,
9137 OPC_CheckTypeByHwMode0,
9138 OPC_CheckPatternPredicate1,
9139 OPC_EmitConvertToTarget1,
9140 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
9141 1, 0, 2, 22,
9142 39,
9143 OPC_CheckAndImm, 127|128,1,
9144 OPC_MoveChild0,
9145 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
9146 OPC_RecordChild0,
9147 OPC_CheckChild0Type, MVT::v32i8,
9148 OPC_RecordChild1,
9149 OPC_MoveChild1,
9150 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9151 OPC_CheckPredicate, 21,
9152 OPC_CheckTypeByHwMode0,
9153 OPC_MoveParent,
9154 OPC_MoveParent,
9155 OPC_CheckTypeByHwMode0,
9156 OPC_CheckPatternPredicate0,
9157 OPC_EmitIntegerI32, LoongArch::sub_128,
9158 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9159 MVT::v16i8, 2, 22,
9160 OPC_EmitConvertToTarget1,
9161 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
9162 1, 0, 2, 76,
9163 40,
9164 OPC_CheckAndImm, 127|128,127|128,3,
9165 OPC_MoveChild0,
9166 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
9167 OPC_RecordChild0,
9168 OPC_CheckChild0Type, MVT::v16i16,
9169 OPC_RecordChild1,
9170 OPC_MoveChild1,
9171 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9172 OPC_CheckPredicate, 11,
9173 OPC_CheckTypeByHwMode0,
9174 OPC_MoveParent,
9175 OPC_MoveParent,
9176 OPC_CheckTypeByHwMode0,
9177 OPC_CheckPatternPredicate0,
9178 OPC_EmitIntegerI32, LoongArch::sub_128,
9179 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
9180 MVT::v16i8, 2, 22,
9181 OPC_EmitConvertToTarget1,
9182 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
9183 1, 0, 2, 76,
9184 18,
9185 OPC_RecordChild0,
9186 OPC_MoveChild1,
9187 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
9188 OPC_RecordChild0,
9189 OPC_CheckChild1Integer, 127,
9190 OPC_MoveParent,
9191 OPC_CheckTypeByHwMode0,
9192 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ANDN), 0,
9193 1, 0, 2, 9,
9194 18,
9195 OPC_MoveChild0,
9196 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
9197 OPC_RecordChild0,
9198 OPC_CheckChild1Integer, 127,
9199 OPC_MoveParent,
9200 OPC_RecordChild1,
9201 OPC_CheckTypeByHwMode0,
9202 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ANDN), 0,
9203 1, 0, 2, 3,
9204 84|128,6,
9205 OPC_RecordChild0,
9206 OPC_RecordChild1,
9207 OPC_Scope, 69,
9208 OPC_MoveChild1,
9209 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9210 OPC_Scope, 13,
9211 OPC_CheckPredicate, 48,
9212 OPC_MoveParent,
9213 OPC_CheckTypeByHwMode0,
9214 OPC_EmitConvertToTarget1,
9215 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
9216 1, 0, 2, 22,
9217 48,
9218 OPC_CheckPredicate, 64,
9219 OPC_MoveParent,
9220 OPC_CheckTypeByHwMode0,
9221 OPC_Scope, 20,
9222 OPC_CheckPatternPredicate6,
9223 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
9224 OPC_EmitConvertToTarget1,
9225 OPC_EmitNodeXForm, 6, 3,
9226 OPC_EmitConvertToTarget1,
9227 OPC_EmitNodeXForm, 7, 5,
9228 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRINS_W), 0,
9229 1, 0, 4, 109,
9230 20,
9231 OPC_CheckPatternPredicate2,
9232 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
9233 OPC_EmitConvertToTarget1,
9234 OPC_EmitNodeXForm, 6, 3,
9235 OPC_EmitConvertToTarget1,
9236 OPC_EmitNodeXForm, 7, 5,
9237 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRINS_D), 0,
9238 1, 0, 4, 109,
9239 0,
9240 0,
9241 9,
9242 OPC_CheckTypeByHwMode0,
9243 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AND), 0,
9244 1, 0, 2, 9,
9245 110,
9246 OPC_CheckType, MVT::v8i16,
9247 OPC_CheckPatternPredicate1,
9248 OPC_Scope, 8,
9249 OPC_CheckComplexPat5, /*#*/1,
9250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
9251 MVT::v8i16, 2, 22,
9252 9,
9253 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
9254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
9255 MVT::v8i16, 2, 22,
9256 9,
9257 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
9258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
9259 MVT::v8i16, 2, 22,
9260 9,
9261 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
9262 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
9263 MVT::v8i16, 2, 22,
9264 9,
9265 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
9266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
9267 MVT::v8i16, 2, 22,
9268 8,
9269 OPC_CheckComplexPat5, /*#*/0,
9270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
9271 MVT::v8i16, 2, 25,
9272 9,
9273 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
9274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
9275 MVT::v8i16, 2, 25,
9276 9,
9277 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
9278 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
9279 MVT::v8i16, 2, 25,
9280 9,
9281 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
9282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
9283 MVT::v8i16, 2, 25,
9284 9,
9285 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
9286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
9287 MVT::v8i16, 2, 25,
9288 6,
9289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
9290 MVT::v8i16, 2, 9,
9291 0,
9292 110,
9293 OPC_CheckType, MVT::v4i32,
9294 OPC_CheckPatternPredicate1,
9295 OPC_Scope, 8,
9296 OPC_CheckComplexPat5, /*#*/1,
9297 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
9298 MVT::v4i32, 2, 22,
9299 9,
9300 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
9301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
9302 MVT::v4i32, 2, 22,
9303 9,
9304 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
9305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
9306 MVT::v4i32, 2, 22,
9307 9,
9308 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
9309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
9310 MVT::v4i32, 2, 22,
9311 9,
9312 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
9313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
9314 MVT::v4i32, 2, 22,
9315 8,
9316 OPC_CheckComplexPat5, /*#*/0,
9317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
9318 MVT::v4i32, 2, 25,
9319 9,
9320 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
9321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
9322 MVT::v4i32, 2, 25,
9323 9,
9324 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
9325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
9326 MVT::v4i32, 2, 25,
9327 9,
9328 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
9329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
9330 MVT::v4i32, 2, 25,
9331 9,
9332 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
9333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
9334 MVT::v4i32, 2, 25,
9335 6,
9336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
9337 MVT::v4i32, 2, 9,
9338 0,
9339 110,
9340 OPC_CheckType, MVT::v2i64,
9341 OPC_CheckPatternPredicate1,
9342 OPC_Scope, 8,
9343 OPC_CheckComplexPat5, /*#*/1,
9344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
9345 MVT::v2i64, 2, 22,
9346 9,
9347 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
9348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
9349 MVT::v2i64, 2, 22,
9350 9,
9351 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
9352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
9353 MVT::v2i64, 2, 22,
9354 9,
9355 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
9356 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
9357 MVT::v2i64, 2, 22,
9358 9,
9359 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
9360 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
9361 MVT::v2i64, 2, 22,
9362 8,
9363 OPC_CheckComplexPat5, /*#*/0,
9364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
9365 MVT::v2i64, 2, 25,
9366 9,
9367 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
9368 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_D),
9369 MVT::v2i64, 2, 25,
9370 9,
9371 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
9372 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
9373 MVT::v2i64, 2, 25,
9374 9,
9375 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
9376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_H),
9377 MVT::v2i64, 2, 25,
9378 9,
9379 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
9380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_W),
9381 MVT::v2i64, 2, 25,
9382 6,
9383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
9384 MVT::v2i64, 2, 9,
9385 0,
9386 50,
9387 OPC_CheckType, MVT::v16i8,
9388 OPC_CheckPatternPredicate1,
9389 OPC_Scope, 9,
9390 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
9391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
9392 MVT::v16i8, 2, 22,
9393 9,
9394 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
9395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLRI_B),
9396 MVT::v16i8, 2, 25,
9397 8,
9398 OPC_CheckComplexPat7, /*#*/1,
9399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
9400 MVT::v16i8, 2, 22,
9401 8,
9402 OPC_CheckComplexPat7, /*#*/0,
9403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDI_B),
9404 MVT::v16i8, 2, 25,
9405 6,
9406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAND_V),
9407 MVT::v16i8, 2, 9,
9408 0,
9409 110,
9410 OPC_CheckType, MVT::v16i16,
9411 OPC_CheckPatternPredicate0,
9412 OPC_Scope, 8,
9413 OPC_CheckComplexPat5, /*#*/1,
9414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
9415 MVT::v16i16, 2, 22,
9416 9,
9417 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
9418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
9419 MVT::v16i16, 2, 22,
9420 9,
9421 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
9422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
9423 MVT::v16i16, 2, 22,
9424 9,
9425 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
9426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
9427 MVT::v16i16, 2, 22,
9428 9,
9429 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
9430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
9431 MVT::v16i16, 2, 22,
9432 8,
9433 OPC_CheckComplexPat5, /*#*/0,
9434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
9435 MVT::v16i16, 2, 25,
9436 9,
9437 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
9438 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
9439 MVT::v16i16, 2, 25,
9440 9,
9441 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
9442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
9443 MVT::v16i16, 2, 25,
9444 9,
9445 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
9446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
9447 MVT::v16i16, 2, 25,
9448 9,
9449 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
9450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
9451 MVT::v16i16, 2, 25,
9452 6,
9453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
9454 MVT::v16i16, 2, 9,
9455 0,
9456 110,
9457 OPC_CheckType, MVT::v8i32,
9458 OPC_CheckPatternPredicate0,
9459 OPC_Scope, 8,
9460 OPC_CheckComplexPat5, /*#*/1,
9461 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
9462 MVT::v8i32, 2, 22,
9463 9,
9464 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
9465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
9466 MVT::v8i32, 2, 22,
9467 9,
9468 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
9469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
9470 MVT::v8i32, 2, 22,
9471 9,
9472 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
9473 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
9474 MVT::v8i32, 2, 22,
9475 9,
9476 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
9477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
9478 MVT::v8i32, 2, 22,
9479 8,
9480 OPC_CheckComplexPat5, /*#*/0,
9481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
9482 MVT::v8i32, 2, 25,
9483 9,
9484 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
9485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
9486 MVT::v8i32, 2, 25,
9487 9,
9488 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
9489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
9490 MVT::v8i32, 2, 25,
9491 9,
9492 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
9493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
9494 MVT::v8i32, 2, 25,
9495 9,
9496 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
9497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
9498 MVT::v8i32, 2, 25,
9499 6,
9500 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
9501 MVT::v8i32, 2, 9,
9502 0,
9503 110,
9504 OPC_CheckType, MVT::v4i64,
9505 OPC_CheckPatternPredicate0,
9506 OPC_Scope, 8,
9507 OPC_CheckComplexPat5, /*#*/1,
9508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
9509 MVT::v4i64, 2, 22,
9510 9,
9511 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
9512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
9513 MVT::v4i64, 2, 22,
9514 9,
9515 OPC_CheckComplexPat, /*CP*/13, /*#*/1,
9516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
9517 MVT::v4i64, 2, 22,
9518 9,
9519 OPC_CheckComplexPat, /*CP*/14, /*#*/1,
9520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
9521 MVT::v4i64, 2, 22,
9522 9,
9523 OPC_CheckComplexPat, /*CP*/15, /*#*/1,
9524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
9525 MVT::v4i64, 2, 22,
9526 8,
9527 OPC_CheckComplexPat5, /*#*/0,
9528 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
9529 MVT::v4i64, 2, 25,
9530 9,
9531 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
9532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_D),
9533 MVT::v4i64, 2, 25,
9534 9,
9535 OPC_CheckComplexPat, /*CP*/13, /*#*/0,
9536 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
9537 MVT::v4i64, 2, 25,
9538 9,
9539 OPC_CheckComplexPat, /*CP*/14, /*#*/0,
9540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_H),
9541 MVT::v4i64, 2, 25,
9542 9,
9543 OPC_CheckComplexPat, /*CP*/15, /*#*/0,
9544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_W),
9545 MVT::v4i64, 2, 25,
9546 6,
9547 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
9548 MVT::v4i64, 2, 9,
9549 0,
9550 50,
9551 OPC_CheckType, MVT::v32i8,
9552 OPC_CheckPatternPredicate0,
9553 OPC_Scope, 9,
9554 OPC_CheckComplexPat, /*CP*/12, /*#*/1,
9555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
9556 MVT::v32i8, 2, 22,
9557 9,
9558 OPC_CheckComplexPat, /*CP*/12, /*#*/0,
9559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLRI_B),
9560 MVT::v32i8, 2, 25,
9561 8,
9562 OPC_CheckComplexPat7, /*#*/1,
9563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
9564 MVT::v32i8, 2, 22,
9565 8,
9566 OPC_CheckComplexPat7, /*#*/0,
9567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDI_B),
9568 MVT::v32i8, 2, 25,
9569 6,
9570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAND_V),
9571 MVT::v32i8, 2, 9,
9572 0,
9573 0,
9574 0,
9575 78|128,1, TARGET_VAL(ISD::CTPOP),
9576 OPC_Scope, 82,
9577 OPC_MoveChild0,
9578 OPC_Scope, 43,
9579 OPC_CheckOpcode, TARGET_VAL(LoongArchISD::BSTRPICK),
9580 OPC_RecordChild0,
9581 OPC_Scope, 17,
9582 OPC_CheckChild1Integer, 15,
9583 OPC_CheckChild1TypeByHwMode0,
9584 OPC_CheckChild2Integer, 0,
9585 OPC_CheckTypeByHwMode0,
9586 OPC_MoveParent,
9587 OPC_CheckTypeByHwMode0,
9588 OPC_CheckPatternPredicate1,
9589 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_H), 0,
9590 1, 0, 1, 1,
9591 18,
9592 OPC_CheckChild1Integer, 31,
9593 OPC_CheckChild1TypeI64,
9594 OPC_CheckChild2Integer, 0,
9595 OPC_CheckTypeByHwMode, 2,
9596 OPC_MoveParent,
9597 OPC_CheckTypeByHwMode0,
9598 OPC_CheckPatternPredicate2,
9599 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_W), 0,
9600 1, 0, 1, 1,
9601 0,
9602 16,
9603 OPC_CheckAndImm, 127|128,1,
9604 OPC_RecordChild0,
9605 OPC_CheckTypeByHwMode0,
9606 OPC_MoveParent,
9607 OPC_CheckTypeByHwMode0,
9608 OPC_CheckPatternPredicate1,
9609 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_B), 0,
9610 1, 0, 1, 1,
9611 17,
9612 OPC_CheckAndImm, 127|128,127|128,3,
9613 OPC_RecordChild0,
9614 OPC_CheckTypeByHwMode0,
9615 OPC_MoveParent,
9616 OPC_CheckTypeByHwMode0,
9617 OPC_CheckPatternPredicate5,
9618 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_H_LA32), 0,
9619 1, 0, 1, 1,
9620 0,
9621 120,
9622 OPC_RecordChild0,
9623 OPC_Scope, 24,
9624 OPC_CheckChild0TypeByHwMode0,
9625 OPC_CheckTypeByHwMode0,
9626 OPC_Scope, 9,
9627 OPC_CheckPatternPredicate5,
9628 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_W_LA32), 0,
9629 1, 0, 1, 1,
9630 9,
9631 OPC_CheckPatternPredicate2,
9632 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCTPOP_D), 0,
9633 1, 0, 1, 1,
9634 0,
9635 11,
9636 OPC_CheckChild0Type, MVT::v16i8,
9637 OPC_CheckType, MVT::v16i8,
9638 OPC_CheckPatternPredicate1,
9639 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_B),
9640 MVT::v16i8, 1, 1,
9641 11,
9642 OPC_CheckChild0Type, MVT::v8i16,
9643 OPC_CheckType, MVT::v8i16,
9644 OPC_CheckPatternPredicate1,
9645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_H),
9646 MVT::v8i16, 1, 1,
9647 11,
9648 OPC_CheckChild0Type, MVT::v4i32,
9649 OPC_CheckType, MVT::v4i32,
9650 OPC_CheckPatternPredicate1,
9651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_W),
9652 MVT::v4i32, 1, 1,
9653 9,
9654 OPC_CheckType, MVT::v2i64,
9655 OPC_CheckPatternPredicate1,
9656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPCNT_D),
9657 MVT::v2i64, 1, 1,
9658 9,
9659 OPC_CheckType, MVT::v32i8,
9660 OPC_CheckPatternPredicate0,
9661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_B),
9662 MVT::v32i8, 1, 1,
9663 11,
9664 OPC_CheckType, MVT::v16i16,
9665 OPC_CheckChild0Type, MVT::v16i16,
9666 OPC_CheckPatternPredicate0,
9667 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_H),
9668 MVT::v16i16, 1, 1,
9669 11,
9670 OPC_CheckType, MVT::v8i32,
9671 OPC_CheckChild0Type, MVT::v8i32,
9672 OPC_CheckPatternPredicate0,
9673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_W),
9674 MVT::v8i32, 1, 1,
9675 11,
9676 OPC_CheckType, MVT::v4i64,
9677 OPC_CheckChild0Type, MVT::v4i64,
9678 OPC_CheckPatternPredicate0,
9679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPCNT_D),
9680 MVT::v4i64, 1, 1,
9681 0,
9682 0,
9683 122|128,7, TARGET_VAL(ISD::ADD),
9684 OPC_Scope, 82,
9685 OPC_RecordChild0,
9686 OPC_Scope, 37,
9687 OPC_RecordChild1,
9688 OPC_MoveChild1,
9689 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9690 OPC_CheckPredicate4,
9691 OPC_MoveParent,
9692 OPC_CheckPredicate2,
9693 OPC_Scope, 11,
9694 OPC_CheckTypeI32,
9695 OPC_CheckPatternPredicate5,
9696 OPC_CheckComplexPat0, /*#*/0,
9697 OPC_EmitConvertToTarget1,
9698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::ADDI_W),
9699 MVT::i32, 2, 49,
9700 14,
9701 OPC_CheckTypeByHwMode, 1,
9702 OPC_CheckPatternPredicate2,
9703 OPC_CheckComplexPat0, /*#*/0,
9704 OPC_EmitConvertToTarget1,
9705 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
9706 1, 1, 2, 49,
9707 0,
9708 40,
9709 OPC_MoveChild1,
9710 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
9711 OPC_RecordChild0,
9712 OPC_RecordChild1,
9713 OPC_MoveChild1,
9714 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9715 OPC_CheckPredicate, 40,
9716 OPC_CheckTypeByHwMode0,
9717 OPC_MoveParent,
9718 OPC_MoveParent,
9719 OPC_CheckTypeByHwMode0,
9720 OPC_Scope, 10,
9721 OPC_CheckPatternPredicate6,
9722 OPC_EmitConvertToTarget2,
9723 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
9724 1, 0, 3, 36,
9725 10,
9726 OPC_CheckPatternPredicate2,
9727 OPC_EmitConvertToTarget2,
9728 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
9729 1, 0, 3, 36,
9730 0,
9731 0,
9732 41,
9733 OPC_MoveChild0,
9734 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
9735 OPC_RecordChild0,
9736 OPC_RecordChild1,
9737 OPC_MoveChild1,
9738 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9739 OPC_CheckPredicate, 40,
9740 OPC_CheckTypeByHwMode0,
9741 OPC_MoveParent,
9742 OPC_MoveParent,
9743 OPC_RecordChild1,
9744 OPC_CheckTypeByHwMode0,
9745 OPC_Scope, 10,
9746 OPC_CheckPatternPredicate6,
9747 OPC_EmitConvertToTarget1,
9748 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_W), 0,
9749 1, 0, 3, 48,
9750 10,
9751 OPC_CheckPatternPredicate2,
9752 OPC_EmitConvertToTarget1,
9753 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ALSL_D), 0,
9754 1, 0, 3, 48,
9755 0,
9756 92|128,1,
9757 OPC_RecordChild0,
9758 OPC_RecordChild1,
9759 OPC_Scope, 10|128,1,
9760 OPC_MoveChild1,
9761 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
9762 OPC_Scope, 27,
9763 OPC_CheckPredicate4,
9764 OPC_MoveParent,
9765 OPC_CheckTypeByHwMode0,
9766 OPC_Scope, 10,
9767 OPC_CheckPatternPredicate5,
9768 OPC_EmitConvertToTarget1,
9769 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
9770 1, 0, 2, 22,
9771 10,
9772 OPC_CheckPatternPredicate2,
9773 OPC_EmitConvertToTarget1,
9774 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
9775 1, 0, 2, 22,
9776 0,
9777 16,
9778 OPC_CheckPredicate, 65,
9779 OPC_MoveParent,
9780 OPC_CheckTypeByHwMode0,
9781 OPC_CheckPatternPredicate2,
9782 OPC_EmitNodeXForm, 8, 1,
9783 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDU16I_D), 0,
9784 1, 0, 2, 22,
9785 27,
9786 OPC_CheckPredicate, 52,
9787 OPC_MoveParent,
9788 OPC_CheckTypeByHwMode0,
9789 OPC_CheckPatternPredicate2,
9790 OPC_EmitNodeXForm, 2, 1,
9791 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDU16I_D), 0,
9792 1, 0, 2, 22,
9793 OPC_EmitNodeXForm, 3, 1,
9794 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
9795 1, 0, 2, 76,
9796 58,
9797 OPC_CheckPredicate, 53,
9798 OPC_MoveParent,
9799 OPC_CheckTypeByHwMode0,
9800 OPC_Scope, 25,
9801 OPC_CheckPatternPredicate5,
9802 OPC_EmitConvertToTarget1,
9803 OPC_EmitNodeXForm, 4, 2,
9804 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
9805 1, 0, 2, 34,
9806 OPC_EmitConvertToTarget1,
9807 OPC_EmitNodeXForm, 5, 5,
9808 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
9809 1, 0, 2, 111,
9810 25,
9811 OPC_CheckPatternPredicate2,
9812 OPC_EmitConvertToTarget1,
9813 OPC_EmitNodeXForm, 4, 2,
9814 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
9815 1, 0, 2, 34,
9816 OPC_EmitConvertToTarget1,
9817 OPC_EmitNodeXForm, 5, 5,
9818 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
9819 1, 0, 2, 111,
9820 0,
9821 0,
9822 23,
9823 OPC_CheckTypeByHwMode0,
9824 OPC_Scope, 9,
9825 OPC_CheckPatternPredicate5,
9826 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADD_W), 0,
9827 1, 0, 2, 9,
9828 9,
9829 OPC_CheckPatternPredicate2,
9830 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ADD_D), 0,
9831 1, 0, 2, 9,
9832 0,
9833 12,
9834 OPC_CheckType, MVT::v16i8,
9835 OPC_CheckPatternPredicate1,
9836 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
9837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
9838 MVT::v16i8, 2, 22,
9839 12,
9840 OPC_CheckType, MVT::v8i16,
9841 OPC_CheckPatternPredicate1,
9842 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
9843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
9844 MVT::v8i16, 2, 22,
9845 12,
9846 OPC_CheckType, MVT::v4i32,
9847 OPC_CheckPatternPredicate1,
9848 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
9849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
9850 MVT::v4i32, 2, 22,
9851 12,
9852 OPC_CheckType, MVT::v2i64,
9853 OPC_CheckPatternPredicate1,
9854 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
9855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
9856 MVT::v2i64, 2, 22,
9857 0,
9858 49,
9859 OPC_MoveChild0,
9860 OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
9861 OPC_RecordChild0,
9862 OPC_MoveSibling1,
9863 OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
9864 OPC_RecordChild0,
9865 OPC_MoveParent,
9866 OPC_SwitchType , 7, MVT::v16i8,
9867 OPC_CheckPatternPredicate1,
9868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_B),
9869 MVT::v16i8, 2, 9,
9870 7, MVT::v8i16,
9871 OPC_CheckPatternPredicate1,
9872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_H),
9873 MVT::v8i16, 2, 9,
9874 7, MVT::v4i32,
9875 OPC_CheckPatternPredicate1,
9876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_W),
9877 MVT::v4i32, 2, 9,
9878 7, MVT::v2i64,
9879 OPC_CheckPatternPredicate1,
9880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_D),
9881 MVT::v2i64, 2, 9,
9882 0,
9883 52,
9884 OPC_RecordChild0,
9885 OPC_RecordChild1,
9886 OPC_SwitchType , 10, MVT::v32i8,
9887 OPC_CheckPatternPredicate0,
9888 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
9889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
9890 MVT::v32i8, 2, 22,
9891 10, MVT::v16i16,
9892 OPC_CheckPatternPredicate0,
9893 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
9894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
9895 MVT::v16i16, 2, 22,
9896 10, MVT::v8i32,
9897 OPC_CheckPatternPredicate0,
9898 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
9899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
9900 MVT::v8i32, 2, 22,
9901 10, MVT::v4i64,
9902 OPC_CheckPatternPredicate0,
9903 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
9904 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
9905 MVT::v4i64, 2, 22,
9906 0,
9907 49,
9908 OPC_MoveChild0,
9909 OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
9910 OPC_RecordChild0,
9911 OPC_MoveSibling1,
9912 OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
9913 OPC_RecordChild0,
9914 OPC_MoveParent,
9915 OPC_SwitchType , 7, MVT::v32i8,
9916 OPC_CheckPatternPredicate0,
9917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_B),
9918 MVT::v32i8, 2, 9,
9919 7, MVT::v16i16,
9920 OPC_CheckPatternPredicate0,
9921 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_H),
9922 MVT::v16i16, 2, 9,
9923 7, MVT::v8i32,
9924 OPC_CheckPatternPredicate0,
9925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_W),
9926 MVT::v8i32, 2, 9,
9927 7, MVT::v4i64,
9928 OPC_CheckPatternPredicate0,
9929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_D),
9930 MVT::v4i64, 2, 9,
9931 0,
9932 98|128,2,
9933 OPC_RecordChild0,
9934 OPC_Scope, 11|128,2,
9935 OPC_RecordChild1,
9936 OPC_SwitchType , 31, MVT::v16i8,
9937 OPC_CheckPatternPredicate1,
9938 OPC_Scope, 9,
9939 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
9940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
9941 MVT::v16i8, 2, 25,
9942 8,
9943 OPC_CheckComplexPat2, /*#*/1,
9944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
9945 MVT::v16i8, 2, 22,
9946 8,
9947 OPC_CheckComplexPat2, /*#*/0,
9948 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
9949 MVT::v16i8, 2, 25,
9950 0,
9951 31, MVT::v8i16,
9952 OPC_CheckPatternPredicate1,
9953 OPC_Scope, 9,
9954 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
9955 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
9956 MVT::v8i16, 2, 25,
9957 8,
9958 OPC_CheckComplexPat2, /*#*/1,
9959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
9960 MVT::v8i16, 2, 22,
9961 8,
9962 OPC_CheckComplexPat2, /*#*/0,
9963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
9964 MVT::v8i16, 2, 25,
9965 0,
9966 31, MVT::v4i32,
9967 OPC_CheckPatternPredicate1,
9968 OPC_Scope, 9,
9969 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
9970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
9971 MVT::v4i32, 2, 25,
9972 8,
9973 OPC_CheckComplexPat2, /*#*/1,
9974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
9975 MVT::v4i32, 2, 22,
9976 8,
9977 OPC_CheckComplexPat2, /*#*/0,
9978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
9979 MVT::v4i32, 2, 25,
9980 0,
9981 31, MVT::v2i64,
9982 OPC_CheckPatternPredicate1,
9983 OPC_Scope, 9,
9984 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
9985 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
9986 MVT::v2i64, 2, 25,
9987 8,
9988 OPC_CheckComplexPat2, /*#*/1,
9989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
9990 MVT::v2i64, 2, 22,
9991 8,
9992 OPC_CheckComplexPat2, /*#*/0,
9993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
9994 MVT::v2i64, 2, 25,
9995 0,
9996 31, MVT::v32i8,
9997 OPC_CheckPatternPredicate0,
9998 OPC_Scope, 9,
9999 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
10000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
10001 MVT::v32i8, 2, 25,
10002 8,
10003 OPC_CheckComplexPat2, /*#*/1,
10004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10005 MVT::v32i8, 2, 22,
10006 8,
10007 OPC_CheckComplexPat2, /*#*/0,
10008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
10009 MVT::v32i8, 2, 25,
10010 0,
10011 31, MVT::v16i16,
10012 OPC_CheckPatternPredicate0,
10013 OPC_Scope, 9,
10014 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
10015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
10016 MVT::v16i16, 2, 25,
10017 8,
10018 OPC_CheckComplexPat2, /*#*/1,
10019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10020 MVT::v16i16, 2, 22,
10021 8,
10022 OPC_CheckComplexPat2, /*#*/0,
10023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
10024 MVT::v16i16, 2, 25,
10025 0,
10026 31, MVT::v8i32,
10027 OPC_CheckPatternPredicate0,
10028 OPC_Scope, 9,
10029 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
10030 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
10031 MVT::v8i32, 2, 25,
10032 8,
10033 OPC_CheckComplexPat2, /*#*/1,
10034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10035 MVT::v8i32, 2, 22,
10036 8,
10037 OPC_CheckComplexPat2, /*#*/0,
10038 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
10039 MVT::v8i32, 2, 25,
10040 0,
10041 31, MVT::v4i64,
10042 OPC_CheckPatternPredicate0,
10043 OPC_Scope, 9,
10044 OPC_CheckComplexPat, /*CP*/11, /*#*/0,
10045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
10046 MVT::v4i64, 2, 25,
10047 8,
10048 OPC_CheckComplexPat2, /*#*/1,
10049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10050 MVT::v4i64, 2, 22,
10051 8,
10052 OPC_CheckComplexPat2, /*#*/0,
10053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
10054 MVT::v4i64, 2, 25,
10055 0,
10056 0,
10057 81,
10058 OPC_MoveChild1,
10059 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10060 OPC_RecordChild0,
10061 OPC_RecordChild1,
10062 OPC_MoveParent,
10063 OPC_SwitchType , 7, MVT::v16i8,
10064 OPC_CheckPatternPredicate1,
10065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
10066 MVT::v16i8, 3, 24,
10067 7, MVT::v8i16,
10068 OPC_CheckPatternPredicate1,
10069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
10070 MVT::v8i16, 3, 24,
10071 7, MVT::v4i32,
10072 OPC_CheckPatternPredicate1,
10073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
10074 MVT::v4i32, 3, 24,
10075 7, MVT::v2i64,
10076 OPC_CheckPatternPredicate1,
10077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
10078 MVT::v2i64, 3, 24,
10079 7, MVT::v32i8,
10080 OPC_CheckPatternPredicate0,
10081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
10082 MVT::v32i8, 3, 24,
10083 7, MVT::v16i16,
10084 OPC_CheckPatternPredicate0,
10085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
10086 MVT::v16i16, 3, 24,
10087 7, MVT::v8i32,
10088 OPC_CheckPatternPredicate0,
10089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
10090 MVT::v8i32, 3, 24,
10091 7, MVT::v4i64,
10092 OPC_CheckPatternPredicate0,
10093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
10094 MVT::v4i64, 3, 24,
10095 0,
10096 0,
10097 82,
10098 OPC_MoveChild0,
10099 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
10100 OPC_RecordChild0,
10101 OPC_RecordChild1,
10102 OPC_MoveParent,
10103 OPC_RecordChild1,
10104 OPC_SwitchType , 7, MVT::v16i8,
10105 OPC_CheckPatternPredicate1,
10106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_B),
10107 MVT::v16i8, 3, 11,
10108 7, MVT::v8i16,
10109 OPC_CheckPatternPredicate1,
10110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_H),
10111 MVT::v8i16, 3, 11,
10112 7, MVT::v4i32,
10113 OPC_CheckPatternPredicate1,
10114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_W),
10115 MVT::v4i32, 3, 11,
10116 7, MVT::v2i64,
10117 OPC_CheckPatternPredicate1,
10118 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADD_D),
10119 MVT::v2i64, 3, 11,
10120 7, MVT::v32i8,
10121 OPC_CheckPatternPredicate0,
10122 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_B),
10123 MVT::v32i8, 3, 11,
10124 7, MVT::v16i16,
10125 OPC_CheckPatternPredicate0,
10126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_H),
10127 MVT::v16i16, 3, 11,
10128 7, MVT::v8i32,
10129 OPC_CheckPatternPredicate0,
10130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_W),
10131 MVT::v8i32, 3, 11,
10132 7, MVT::v4i64,
10133 OPC_CheckPatternPredicate0,
10134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADD_D),
10135 MVT::v4i64, 3, 11,
10136 0,
10137 76,
10138 OPC_RecordChild0,
10139 OPC_RecordChild1,
10140 OPC_SwitchType , 7, MVT::v16i8,
10141 OPC_CheckPatternPredicate1,
10142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_B),
10143 MVT::v16i8, 2, 9,
10144 7, MVT::v8i16,
10145 OPC_CheckPatternPredicate1,
10146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_H),
10147 MVT::v8i16, 2, 9,
10148 7, MVT::v4i32,
10149 OPC_CheckPatternPredicate1,
10150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_W),
10151 MVT::v4i32, 2, 9,
10152 7, MVT::v2i64,
10153 OPC_CheckPatternPredicate1,
10154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_D),
10155 MVT::v2i64, 2, 9,
10156 7, MVT::v32i8,
10157 OPC_CheckPatternPredicate0,
10158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_B),
10159 MVT::v32i8, 2, 9,
10160 7, MVT::v16i16,
10161 OPC_CheckPatternPredicate0,
10162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_H),
10163 MVT::v16i16, 2, 9,
10164 7, MVT::v8i32,
10165 OPC_CheckPatternPredicate0,
10166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_W),
10167 MVT::v8i32, 2, 9,
10168 7, MVT::v4i64,
10169 OPC_CheckPatternPredicate0,
10170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_D),
10171 MVT::v4i64, 2, 9,
10172 0,
10173 0,
10174 37|128,3, TARGET_VAL(ISD::INTRINSIC_VOID),
10175 OPC_RecordNode,
10176 OPC_Scope, 22,
10177 OPC_CheckChild1Integer, 51|128,50,
10178 OPC_RecordChild2,
10179 OPC_MoveChild2,
10180 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10181 OPC_MoveParent,
10182 OPC_RecordChild3,
10183 OPC_RecordChild4,
10184 OPC_MoveChild4,
10185 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10186 OPC_MoveParent,
10187 OPC_EmitMergeInputChains1_0,
10188 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
10189 3, 51,
10190 30,
10191 OPC_CheckChild1Integer, 122|128,61,
10192 OPC_RecordChild2,
10193 OPC_RecordChild3,
10194 OPC_CheckChild3TypeByHwMode0,
10195 OPC_RecordChild4,
10196 OPC_MoveChild4,
10197 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10198 OPC_MoveSibling5,
10199 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10200 OPC_RecordNode,
10201 OPC_MoveParent,
10202 OPC_CheckPatternPredicate1,
10203 OPC_EmitMergeInputChains1_0,
10204 OPC_EmitNodeXForm, 9, 3,
10205 OPC_EmitNodeXForm, 9, 4,
10206 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_B),
10207 4, 116,
10208 30,
10209 OPC_CheckChild1Integer, 124|128,61,
10210 OPC_RecordChild2,
10211 OPC_RecordChild3,
10212 OPC_CheckChild3TypeByHwMode0,
10213 OPC_RecordChild4,
10214 OPC_MoveChild4,
10215 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10216 OPC_MoveSibling5,
10217 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10218 OPC_RecordNode,
10219 OPC_MoveParent,
10220 OPC_CheckPatternPredicate1,
10221 OPC_EmitMergeInputChains1_0,
10222 OPC_EmitNodeXForm, 9, 3,
10223 OPC_EmitNodeXForm, 9, 4,
10224 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_H),
10225 4, 116,
10226 30,
10227 OPC_CheckChild1Integer, 125|128,61,
10228 OPC_RecordChild2,
10229 OPC_RecordChild3,
10230 OPC_CheckChild3TypeByHwMode0,
10231 OPC_RecordChild4,
10232 OPC_MoveChild4,
10233 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10234 OPC_MoveSibling5,
10235 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10236 OPC_RecordNode,
10237 OPC_MoveParent,
10238 OPC_CheckPatternPredicate1,
10239 OPC_EmitMergeInputChains1_0,
10240 OPC_EmitNodeXForm, 9, 3,
10241 OPC_EmitNodeXForm, 9, 4,
10242 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_W),
10243 4, 116,
10244 30,
10245 OPC_CheckChild1Integer, 123|128,61,
10246 OPC_RecordChild2,
10247 OPC_RecordChild3,
10248 OPC_CheckChild3TypeByHwMode0,
10249 OPC_RecordChild4,
10250 OPC_MoveChild4,
10251 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10252 OPC_MoveSibling5,
10253 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10254 OPC_RecordNode,
10255 OPC_MoveParent,
10256 OPC_CheckPatternPredicate1,
10257 OPC_EmitMergeInputChains1_0,
10258 OPC_EmitNodeXForm, 9, 3,
10259 OPC_EmitNodeXForm, 9, 4,
10260 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTELM_D),
10261 4, 116,
10262 30,
10263 OPC_CheckChild1Integer, 40|128,56,
10264 OPC_RecordChild2,
10265 OPC_RecordChild3,
10266 OPC_CheckChild3TypeByHwMode0,
10267 OPC_RecordChild4,
10268 OPC_MoveChild4,
10269 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10270 OPC_MoveSibling5,
10271 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10272 OPC_RecordNode,
10273 OPC_MoveParent,
10274 OPC_CheckPatternPredicate0,
10275 OPC_EmitMergeInputChains1_0,
10276 OPC_EmitNodeXForm, 9, 3,
10277 OPC_EmitNodeXForm, 9, 4,
10278 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_B),
10279 4, 116,
10280 30,
10281 OPC_CheckChild1Integer, 42|128,56,
10282 OPC_RecordChild2,
10283 OPC_RecordChild3,
10284 OPC_CheckChild3TypeByHwMode0,
10285 OPC_RecordChild4,
10286 OPC_MoveChild4,
10287 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10288 OPC_MoveSibling5,
10289 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10290 OPC_RecordNode,
10291 OPC_MoveParent,
10292 OPC_CheckPatternPredicate0,
10293 OPC_EmitMergeInputChains1_0,
10294 OPC_EmitNodeXForm, 9, 3,
10295 OPC_EmitNodeXForm, 9, 4,
10296 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_H),
10297 4, 116,
10298 30,
10299 OPC_CheckChild1Integer, 43|128,56,
10300 OPC_RecordChild2,
10301 OPC_RecordChild3,
10302 OPC_CheckChild3TypeByHwMode0,
10303 OPC_RecordChild4,
10304 OPC_MoveChild4,
10305 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10306 OPC_MoveSibling5,
10307 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10308 OPC_RecordNode,
10309 OPC_MoveParent,
10310 OPC_CheckPatternPredicate0,
10311 OPC_EmitMergeInputChains1_0,
10312 OPC_EmitNodeXForm, 9, 3,
10313 OPC_EmitNodeXForm, 9, 4,
10314 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_W),
10315 4, 116,
10316 30,
10317 OPC_CheckChild1Integer, 41|128,56,
10318 OPC_RecordChild2,
10319 OPC_RecordChild3,
10320 OPC_CheckChild3TypeByHwMode0,
10321 OPC_RecordChild4,
10322 OPC_MoveChild4,
10323 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10324 OPC_MoveSibling5,
10325 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10326 OPC_RecordNode,
10327 OPC_MoveParent,
10328 OPC_CheckPatternPredicate0,
10329 OPC_EmitMergeInputChains1_0,
10330 OPC_EmitNodeXForm, 9, 3,
10331 OPC_EmitNodeXForm, 9, 4,
10332 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTELM_D),
10333 4, 116,
10334 19,
10335 OPC_CheckChild1Integer, 73|128,56,
10336 OPC_RecordChild2,
10337 OPC_CheckChild2TypeByHwMode, 1,
10338 OPC_RecordChild3,
10339 OPC_MoveChild3,
10340 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10341 OPC_MoveParent,
10342 OPC_CheckPatternPredicate2,
10343 OPC_EmitMergeInputChains1_0,
10344 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::LDPTE),
10345 2, 25,
10346 22,
10347 OPC_CheckChild1Integer, 121|128,61,
10348 OPC_RecordChild2,
10349 OPC_RecordChild3,
10350 OPC_CheckChild3TypeByHwMode0,
10351 OPC_RecordChild4,
10352 OPC_MoveChild4,
10353 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10354 OPC_MoveParent,
10355 OPC_CheckPatternPredicate1,
10356 OPC_EmitMergeInputChains1_0,
10357 OPC_EmitNodeXForm, 9, 3,
10358 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VST),
10359 3, 69,
10360 22,
10361 OPC_CheckChild1Integer, 39|128,56,
10362 OPC_RecordChild2,
10363 OPC_RecordChild3,
10364 OPC_CheckChild3TypeByHwMode0,
10365 OPC_RecordChild4,
10366 OPC_MoveChild4,
10367 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10368 OPC_MoveParent,
10369 OPC_CheckPatternPredicate0,
10370 OPC_EmitMergeInputChains1_0,
10371 OPC_EmitNodeXForm, 9, 3,
10372 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVST),
10373 3, 69,
10374 12,
10375 OPC_CheckChild1Integer, 52|128,50,
10376 OPC_RecordChild2,
10377 OPC_RecordChild3,
10378 OPC_RecordChild4,
10379 OPC_EmitMergeInputChains1_0,
10380 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::CACOP),
10381 3, 51,
10382 16,
10383 OPC_CheckChild1Integer, 49|128,50,
10384 OPC_RecordChild2,
10385 OPC_CheckChild2TypeByHwMode, 1,
10386 OPC_RecordChild3,
10387 OPC_CheckChild3TypeByHwMode, 1,
10388 OPC_CheckPatternPredicate2,
10389 OPC_EmitMergeInputChains1_0,
10390 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTLE_D),
10391 2, 25,
10392 16,
10393 OPC_CheckChild1Integer, 48|128,50,
10394 OPC_RecordChild2,
10395 OPC_CheckChild2TypeByHwMode, 1,
10396 OPC_RecordChild3,
10397 OPC_CheckChild3TypeByHwMode, 1,
10398 OPC_CheckPatternPredicate2,
10399 OPC_EmitMergeInputChains1_0,
10400 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::ASRTGT_D),
10401 2, 25,
10402 16,
10403 OPC_CheckChild1Integer, 126|128,61,
10404 OPC_RecordChild2,
10405 OPC_RecordChild3,
10406 OPC_CheckChild3TypeByHwMode0,
10407 OPC_RecordChild4,
10408 OPC_CheckChild4TypeByHwMode, 1,
10409 OPC_CheckPatternPredicate1,
10410 OPC_EmitMergeInputChains1_0,
10411 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::VSTX),
10412 3, 51,
10413 16,
10414 OPC_CheckChild1Integer, 44|128,56,
10415 OPC_RecordChild2,
10416 OPC_RecordChild3,
10417 OPC_CheckChild3TypeByHwMode0,
10418 OPC_RecordChild4,
10419 OPC_CheckChild4TypeByHwMode, 1,
10420 OPC_CheckPatternPredicate0,
10421 OPC_EmitMergeInputChains1_0,
10422 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::XVSTX),
10423 3, 51,
10424 0,
10425 23|128,17, TARGET_VAL(LoongArchISD::BRCOND),
10426 OPC_RecordNode,
10427 OPC_Scope, 73|128,11,
10428 OPC_MoveChild1,
10429 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
10430 OPC_MoveChild0,
10431 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
10432 OPC_RecordChild0,
10433 OPC_Scope, 93|128,5,
10434 OPC_CheckChild0Type, MVT::f32,
10435 OPC_RecordChild1,
10436 OPC_Scope, 55,
10437 OPC_CheckChild2CondCode, ISD::SETOEQ,
10438 OPC_MoveParent,
10439 OPC_Scope, 24,
10440 OPC_CheckChild1Integer, 127,
10441 OPC_CheckTypeByHwMode0,
10442 OPC_MoveSibling2,
10443 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10444 OPC_RecordNode,
10445 OPC_MoveParent,
10446 OPC_CheckPatternPredicate3,
10447 OPC_EmitMergeInputChains1_0,
10448 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
10449 1, 0, 2, 25,
10450 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10451 2, 63,
10452 24,
10453 OPC_CheckChild1Integer, 1,
10454 OPC_CheckTypeByHwMode0,
10455 OPC_MoveSibling2,
10456 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10457 OPC_RecordNode,
10458 OPC_MoveParent,
10459 OPC_CheckPatternPredicate3,
10460 OPC_EmitMergeInputChains1_0,
10461 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
10462 1, 0, 2, 25,
10463 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10464 2, 63,
10465 0,
10466 55,
10467 OPC_CheckChild2CondCode, ISD::SETEQ,
10468 OPC_MoveParent,
10469 OPC_Scope, 24,
10470 OPC_CheckChild1Integer, 127,
10471 OPC_CheckTypeByHwMode0,
10472 OPC_MoveSibling2,
10473 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10474 OPC_RecordNode,
10475 OPC_MoveParent,
10476 OPC_CheckPatternPredicate3,
10477 OPC_EmitMergeInputChains1_0,
10478 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
10479 1, 0, 2, 25,
10480 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10481 2, 63,
10482 24,
10483 OPC_CheckChild1Integer, 1,
10484 OPC_CheckTypeByHwMode0,
10485 OPC_MoveSibling2,
10486 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10487 OPC_RecordNode,
10488 OPC_MoveParent,
10489 OPC_CheckPatternPredicate3,
10490 OPC_EmitMergeInputChains1_0,
10491 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
10492 1, 0, 2, 25,
10493 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10494 2, 63,
10495 0,
10496 55,
10497 OPC_CheckChild2CondCode, ISD::SETOLT,
10498 OPC_MoveParent,
10499 OPC_Scope, 24,
10500 OPC_CheckChild1Integer, 127,
10501 OPC_CheckTypeByHwMode0,
10502 OPC_MoveSibling2,
10503 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10504 OPC_RecordNode,
10505 OPC_MoveParent,
10506 OPC_CheckPatternPredicate3,
10507 OPC_EmitMergeInputChains1_0,
10508 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
10509 1, 0, 2, 25,
10510 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10511 2, 63,
10512 24,
10513 OPC_CheckChild1Integer, 1,
10514 OPC_CheckTypeByHwMode0,
10515 OPC_MoveSibling2,
10516 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10517 OPC_RecordNode,
10518 OPC_MoveParent,
10519 OPC_CheckPatternPredicate3,
10520 OPC_EmitMergeInputChains1_0,
10521 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
10522 1, 0, 2, 25,
10523 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10524 2, 63,
10525 0,
10526 55,
10527 OPC_CheckChild2CondCode, ISD::SETOLE,
10528 OPC_MoveParent,
10529 OPC_Scope, 24,
10530 OPC_CheckChild1Integer, 127,
10531 OPC_CheckTypeByHwMode0,
10532 OPC_MoveSibling2,
10533 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10534 OPC_RecordNode,
10535 OPC_MoveParent,
10536 OPC_CheckPatternPredicate3,
10537 OPC_EmitMergeInputChains1_0,
10538 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
10539 1, 0, 2, 25,
10540 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10541 2, 63,
10542 24,
10543 OPC_CheckChild1Integer, 1,
10544 OPC_CheckTypeByHwMode0,
10545 OPC_MoveSibling2,
10546 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10547 OPC_RecordNode,
10548 OPC_MoveParent,
10549 OPC_CheckPatternPredicate3,
10550 OPC_EmitMergeInputChains1_0,
10551 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
10552 1, 0, 2, 25,
10553 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10554 2, 63,
10555 0,
10556 55,
10557 OPC_CheckChild2CondCode, ISD::SETLE,
10558 OPC_MoveParent,
10559 OPC_Scope, 24,
10560 OPC_CheckChild1Integer, 127,
10561 OPC_CheckTypeByHwMode0,
10562 OPC_MoveSibling2,
10563 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10564 OPC_RecordNode,
10565 OPC_MoveParent,
10566 OPC_CheckPatternPredicate3,
10567 OPC_EmitMergeInputChains1_0,
10568 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
10569 1, 0, 2, 25,
10570 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10571 2, 63,
10572 24,
10573 OPC_CheckChild1Integer, 1,
10574 OPC_CheckTypeByHwMode0,
10575 OPC_MoveSibling2,
10576 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10577 OPC_RecordNode,
10578 OPC_MoveParent,
10579 OPC_CheckPatternPredicate3,
10580 OPC_EmitMergeInputChains1_0,
10581 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
10582 1, 0, 2, 25,
10583 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10584 2, 63,
10585 0,
10586 55,
10587 OPC_CheckChild2CondCode, ISD::SETONE,
10588 OPC_MoveParent,
10589 OPC_Scope, 24,
10590 OPC_CheckChild1Integer, 127,
10591 OPC_CheckTypeByHwMode0,
10592 OPC_MoveSibling2,
10593 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10594 OPC_RecordNode,
10595 OPC_MoveParent,
10596 OPC_CheckPatternPredicate3,
10597 OPC_EmitMergeInputChains1_0,
10598 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0,
10599 1, 0, 2, 25,
10600 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10601 2, 63,
10602 24,
10603 OPC_CheckChild1Integer, 1,
10604 OPC_CheckTypeByHwMode0,
10605 OPC_MoveSibling2,
10606 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10607 OPC_RecordNode,
10608 OPC_MoveParent,
10609 OPC_CheckPatternPredicate3,
10610 OPC_EmitMergeInputChains1_0,
10611 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0,
10612 1, 0, 2, 25,
10613 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10614 2, 63,
10615 0,
10616 55,
10617 OPC_CheckChild2CondCode, ISD::SETO,
10618 OPC_MoveParent,
10619 OPC_Scope, 24,
10620 OPC_CheckChild1Integer, 127,
10621 OPC_CheckTypeByHwMode0,
10622 OPC_MoveSibling2,
10623 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10624 OPC_RecordNode,
10625 OPC_MoveParent,
10626 OPC_CheckPatternPredicate3,
10627 OPC_EmitMergeInputChains1_0,
10628 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0,
10629 1, 0, 2, 25,
10630 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10631 2, 63,
10632 24,
10633 OPC_CheckChild1Integer, 1,
10634 OPC_CheckTypeByHwMode0,
10635 OPC_MoveSibling2,
10636 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10637 OPC_RecordNode,
10638 OPC_MoveParent,
10639 OPC_CheckPatternPredicate3,
10640 OPC_EmitMergeInputChains1_0,
10641 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0,
10642 1, 0, 2, 25,
10643 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10644 2, 63,
10645 0,
10646 55,
10647 OPC_CheckChild2CondCode, ISD::SETUEQ,
10648 OPC_MoveParent,
10649 OPC_Scope, 24,
10650 OPC_CheckChild1Integer, 127,
10651 OPC_CheckTypeByHwMode0,
10652 OPC_MoveSibling2,
10653 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10654 OPC_RecordNode,
10655 OPC_MoveParent,
10656 OPC_CheckPatternPredicate3,
10657 OPC_EmitMergeInputChains1_0,
10658 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0,
10659 1, 0, 2, 25,
10660 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10661 2, 63,
10662 24,
10663 OPC_CheckChild1Integer, 1,
10664 OPC_CheckTypeByHwMode0,
10665 OPC_MoveSibling2,
10666 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10667 OPC_RecordNode,
10668 OPC_MoveParent,
10669 OPC_CheckPatternPredicate3,
10670 OPC_EmitMergeInputChains1_0,
10671 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0,
10672 1, 0, 2, 25,
10673 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10674 2, 63,
10675 0,
10676 55,
10677 OPC_CheckChild2CondCode, ISD::SETULT,
10678 OPC_MoveParent,
10679 OPC_Scope, 24,
10680 OPC_CheckChild1Integer, 127,
10681 OPC_CheckTypeByHwMode0,
10682 OPC_MoveSibling2,
10683 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10684 OPC_RecordNode,
10685 OPC_MoveParent,
10686 OPC_CheckPatternPredicate3,
10687 OPC_EmitMergeInputChains1_0,
10688 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0,
10689 1, 0, 2, 25,
10690 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10691 2, 63,
10692 24,
10693 OPC_CheckChild1Integer, 1,
10694 OPC_CheckTypeByHwMode0,
10695 OPC_MoveSibling2,
10696 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10697 OPC_RecordNode,
10698 OPC_MoveParent,
10699 OPC_CheckPatternPredicate3,
10700 OPC_EmitMergeInputChains1_0,
10701 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0,
10702 1, 0, 2, 25,
10703 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10704 2, 63,
10705 0,
10706 55,
10707 OPC_CheckChild2CondCode, ISD::SETULE,
10708 OPC_MoveParent,
10709 OPC_Scope, 24,
10710 OPC_CheckChild1Integer, 127,
10711 OPC_CheckTypeByHwMode0,
10712 OPC_MoveSibling2,
10713 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10714 OPC_RecordNode,
10715 OPC_MoveParent,
10716 OPC_CheckPatternPredicate3,
10717 OPC_EmitMergeInputChains1_0,
10718 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0,
10719 1, 0, 2, 25,
10720 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10721 2, 63,
10722 24,
10723 OPC_CheckChild1Integer, 1,
10724 OPC_CheckTypeByHwMode0,
10725 OPC_MoveSibling2,
10726 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10727 OPC_RecordNode,
10728 OPC_MoveParent,
10729 OPC_CheckPatternPredicate3,
10730 OPC_EmitMergeInputChains1_0,
10731 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0,
10732 1, 0, 2, 25,
10733 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10734 2, 63,
10735 0,
10736 55,
10737 OPC_CheckChild2CondCode, ISD::SETUNE,
10738 OPC_MoveParent,
10739 OPC_Scope, 24,
10740 OPC_CheckChild1Integer, 127,
10741 OPC_CheckTypeByHwMode0,
10742 OPC_MoveSibling2,
10743 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10744 OPC_RecordNode,
10745 OPC_MoveParent,
10746 OPC_CheckPatternPredicate3,
10747 OPC_EmitMergeInputChains1_0,
10748 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0,
10749 1, 0, 2, 25,
10750 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10751 2, 63,
10752 24,
10753 OPC_CheckChild1Integer, 1,
10754 OPC_CheckTypeByHwMode0,
10755 OPC_MoveSibling2,
10756 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10757 OPC_RecordNode,
10758 OPC_MoveParent,
10759 OPC_CheckPatternPredicate3,
10760 OPC_EmitMergeInputChains1_0,
10761 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0,
10762 1, 0, 2, 25,
10763 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10764 2, 63,
10765 0,
10766 55,
10767 OPC_CheckChild2CondCode, ISD::SETUO,
10768 OPC_MoveParent,
10769 OPC_Scope, 24,
10770 OPC_CheckChild1Integer, 127,
10771 OPC_CheckTypeByHwMode0,
10772 OPC_MoveSibling2,
10773 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10774 OPC_RecordNode,
10775 OPC_MoveParent,
10776 OPC_CheckPatternPredicate3,
10777 OPC_EmitMergeInputChains1_0,
10778 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0,
10779 1, 0, 2, 25,
10780 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10781 2, 63,
10782 24,
10783 OPC_CheckChild1Integer, 1,
10784 OPC_CheckTypeByHwMode0,
10785 OPC_MoveSibling2,
10786 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10787 OPC_RecordNode,
10788 OPC_MoveParent,
10789 OPC_CheckPatternPredicate3,
10790 OPC_EmitMergeInputChains1_0,
10791 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0,
10792 1, 0, 2, 25,
10793 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10794 2, 63,
10795 0,
10796 55,
10797 OPC_CheckChild2CondCode, ISD::SETLT,
10798 OPC_MoveParent,
10799 OPC_Scope, 24,
10800 OPC_CheckChild1Integer, 127,
10801 OPC_CheckTypeByHwMode0,
10802 OPC_MoveSibling2,
10803 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10804 OPC_RecordNode,
10805 OPC_MoveParent,
10806 OPC_CheckPatternPredicate3,
10807 OPC_EmitMergeInputChains1_0,
10808 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
10809 1, 0, 2, 25,
10810 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10811 2, 63,
10812 24,
10813 OPC_CheckChild1Integer, 1,
10814 OPC_CheckTypeByHwMode0,
10815 OPC_MoveSibling2,
10816 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10817 OPC_RecordNode,
10818 OPC_MoveParent,
10819 OPC_CheckPatternPredicate3,
10820 OPC_EmitMergeInputChains1_0,
10821 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
10822 1, 0, 2, 25,
10823 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10824 2, 63,
10825 0,
10826 0,
10827 93|128,5,
10828 OPC_CheckChild0Type, MVT::f64,
10829 OPC_RecordChild1,
10830 OPC_Scope, 55,
10831 OPC_CheckChild2CondCode, ISD::SETOEQ,
10832 OPC_MoveParent,
10833 OPC_Scope, 24,
10834 OPC_CheckChild1Integer, 127,
10835 OPC_CheckTypeByHwMode0,
10836 OPC_MoveSibling2,
10837 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10838 OPC_RecordNode,
10839 OPC_MoveParent,
10840 OPC_CheckPatternPredicate4,
10841 OPC_EmitMergeInputChains1_0,
10842 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
10843 1, 0, 2, 25,
10844 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10845 2, 63,
10846 24,
10847 OPC_CheckChild1Integer, 1,
10848 OPC_CheckTypeByHwMode0,
10849 OPC_MoveSibling2,
10850 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10851 OPC_RecordNode,
10852 OPC_MoveParent,
10853 OPC_CheckPatternPredicate4,
10854 OPC_EmitMergeInputChains1_0,
10855 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
10856 1, 0, 2, 25,
10857 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10858 2, 63,
10859 0,
10860 55,
10861 OPC_CheckChild2CondCode, ISD::SETEQ,
10862 OPC_MoveParent,
10863 OPC_Scope, 24,
10864 OPC_CheckChild1Integer, 127,
10865 OPC_CheckTypeByHwMode0,
10866 OPC_MoveSibling2,
10867 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10868 OPC_RecordNode,
10869 OPC_MoveParent,
10870 OPC_CheckPatternPredicate4,
10871 OPC_EmitMergeInputChains1_0,
10872 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
10873 1, 0, 2, 25,
10874 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10875 2, 63,
10876 24,
10877 OPC_CheckChild1Integer, 1,
10878 OPC_CheckTypeByHwMode0,
10879 OPC_MoveSibling2,
10880 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10881 OPC_RecordNode,
10882 OPC_MoveParent,
10883 OPC_CheckPatternPredicate4,
10884 OPC_EmitMergeInputChains1_0,
10885 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
10886 1, 0, 2, 25,
10887 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10888 2, 63,
10889 0,
10890 55,
10891 OPC_CheckChild2CondCode, ISD::SETOLT,
10892 OPC_MoveParent,
10893 OPC_Scope, 24,
10894 OPC_CheckChild1Integer, 127,
10895 OPC_CheckTypeByHwMode0,
10896 OPC_MoveSibling2,
10897 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10898 OPC_RecordNode,
10899 OPC_MoveParent,
10900 OPC_CheckPatternPredicate4,
10901 OPC_EmitMergeInputChains1_0,
10902 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
10903 1, 0, 2, 25,
10904 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10905 2, 63,
10906 24,
10907 OPC_CheckChild1Integer, 1,
10908 OPC_CheckTypeByHwMode0,
10909 OPC_MoveSibling2,
10910 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10911 OPC_RecordNode,
10912 OPC_MoveParent,
10913 OPC_CheckPatternPredicate4,
10914 OPC_EmitMergeInputChains1_0,
10915 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
10916 1, 0, 2, 25,
10917 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10918 2, 63,
10919 0,
10920 55,
10921 OPC_CheckChild2CondCode, ISD::SETOLE,
10922 OPC_MoveParent,
10923 OPC_Scope, 24,
10924 OPC_CheckChild1Integer, 127,
10925 OPC_CheckTypeByHwMode0,
10926 OPC_MoveSibling2,
10927 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10928 OPC_RecordNode,
10929 OPC_MoveParent,
10930 OPC_CheckPatternPredicate4,
10931 OPC_EmitMergeInputChains1_0,
10932 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
10933 1, 0, 2, 25,
10934 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10935 2, 63,
10936 24,
10937 OPC_CheckChild1Integer, 1,
10938 OPC_CheckTypeByHwMode0,
10939 OPC_MoveSibling2,
10940 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10941 OPC_RecordNode,
10942 OPC_MoveParent,
10943 OPC_CheckPatternPredicate4,
10944 OPC_EmitMergeInputChains1_0,
10945 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
10946 1, 0, 2, 25,
10947 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10948 2, 63,
10949 0,
10950 55,
10951 OPC_CheckChild2CondCode, ISD::SETLE,
10952 OPC_MoveParent,
10953 OPC_Scope, 24,
10954 OPC_CheckChild1Integer, 127,
10955 OPC_CheckTypeByHwMode0,
10956 OPC_MoveSibling2,
10957 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10958 OPC_RecordNode,
10959 OPC_MoveParent,
10960 OPC_CheckPatternPredicate4,
10961 OPC_EmitMergeInputChains1_0,
10962 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
10963 1, 0, 2, 25,
10964 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10965 2, 63,
10966 24,
10967 OPC_CheckChild1Integer, 1,
10968 OPC_CheckTypeByHwMode0,
10969 OPC_MoveSibling2,
10970 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10971 OPC_RecordNode,
10972 OPC_MoveParent,
10973 OPC_CheckPatternPredicate4,
10974 OPC_EmitMergeInputChains1_0,
10975 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
10976 1, 0, 2, 25,
10977 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10978 2, 63,
10979 0,
10980 55,
10981 OPC_CheckChild2CondCode, ISD::SETONE,
10982 OPC_MoveParent,
10983 OPC_Scope, 24,
10984 OPC_CheckChild1Integer, 127,
10985 OPC_CheckTypeByHwMode0,
10986 OPC_MoveSibling2,
10987 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
10988 OPC_RecordNode,
10989 OPC_MoveParent,
10990 OPC_CheckPatternPredicate4,
10991 OPC_EmitMergeInputChains1_0,
10992 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0,
10993 1, 0, 2, 25,
10994 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
10995 2, 63,
10996 24,
10997 OPC_CheckChild1Integer, 1,
10998 OPC_CheckTypeByHwMode0,
10999 OPC_MoveSibling2,
11000 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11001 OPC_RecordNode,
11002 OPC_MoveParent,
11003 OPC_CheckPatternPredicate4,
11004 OPC_EmitMergeInputChains1_0,
11005 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0,
11006 1, 0, 2, 25,
11007 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11008 2, 63,
11009 0,
11010 55,
11011 OPC_CheckChild2CondCode, ISD::SETO,
11012 OPC_MoveParent,
11013 OPC_Scope, 24,
11014 OPC_CheckChild1Integer, 127,
11015 OPC_CheckTypeByHwMode0,
11016 OPC_MoveSibling2,
11017 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11018 OPC_RecordNode,
11019 OPC_MoveParent,
11020 OPC_CheckPatternPredicate4,
11021 OPC_EmitMergeInputChains1_0,
11022 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0,
11023 1, 0, 2, 25,
11024 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11025 2, 63,
11026 24,
11027 OPC_CheckChild1Integer, 1,
11028 OPC_CheckTypeByHwMode0,
11029 OPC_MoveSibling2,
11030 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11031 OPC_RecordNode,
11032 OPC_MoveParent,
11033 OPC_CheckPatternPredicate4,
11034 OPC_EmitMergeInputChains1_0,
11035 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0,
11036 1, 0, 2, 25,
11037 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11038 2, 63,
11039 0,
11040 55,
11041 OPC_CheckChild2CondCode, ISD::SETUEQ,
11042 OPC_MoveParent,
11043 OPC_Scope, 24,
11044 OPC_CheckChild1Integer, 127,
11045 OPC_CheckTypeByHwMode0,
11046 OPC_MoveSibling2,
11047 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11048 OPC_RecordNode,
11049 OPC_MoveParent,
11050 OPC_CheckPatternPredicate4,
11051 OPC_EmitMergeInputChains1_0,
11052 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0,
11053 1, 0, 2, 25,
11054 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11055 2, 63,
11056 24,
11057 OPC_CheckChild1Integer, 1,
11058 OPC_CheckTypeByHwMode0,
11059 OPC_MoveSibling2,
11060 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11061 OPC_RecordNode,
11062 OPC_MoveParent,
11063 OPC_CheckPatternPredicate4,
11064 OPC_EmitMergeInputChains1_0,
11065 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0,
11066 1, 0, 2, 25,
11067 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11068 2, 63,
11069 0,
11070 55,
11071 OPC_CheckChild2CondCode, ISD::SETULT,
11072 OPC_MoveParent,
11073 OPC_Scope, 24,
11074 OPC_CheckChild1Integer, 127,
11075 OPC_CheckTypeByHwMode0,
11076 OPC_MoveSibling2,
11077 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11078 OPC_RecordNode,
11079 OPC_MoveParent,
11080 OPC_CheckPatternPredicate4,
11081 OPC_EmitMergeInputChains1_0,
11082 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0,
11083 1, 0, 2, 25,
11084 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11085 2, 63,
11086 24,
11087 OPC_CheckChild1Integer, 1,
11088 OPC_CheckTypeByHwMode0,
11089 OPC_MoveSibling2,
11090 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11091 OPC_RecordNode,
11092 OPC_MoveParent,
11093 OPC_CheckPatternPredicate4,
11094 OPC_EmitMergeInputChains1_0,
11095 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0,
11096 1, 0, 2, 25,
11097 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11098 2, 63,
11099 0,
11100 55,
11101 OPC_CheckChild2CondCode, ISD::SETULE,
11102 OPC_MoveParent,
11103 OPC_Scope, 24,
11104 OPC_CheckChild1Integer, 127,
11105 OPC_CheckTypeByHwMode0,
11106 OPC_MoveSibling2,
11107 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11108 OPC_RecordNode,
11109 OPC_MoveParent,
11110 OPC_CheckPatternPredicate4,
11111 OPC_EmitMergeInputChains1_0,
11112 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0,
11113 1, 0, 2, 25,
11114 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11115 2, 63,
11116 24,
11117 OPC_CheckChild1Integer, 1,
11118 OPC_CheckTypeByHwMode0,
11119 OPC_MoveSibling2,
11120 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11121 OPC_RecordNode,
11122 OPC_MoveParent,
11123 OPC_CheckPatternPredicate4,
11124 OPC_EmitMergeInputChains1_0,
11125 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0,
11126 1, 0, 2, 25,
11127 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11128 2, 63,
11129 0,
11130 55,
11131 OPC_CheckChild2CondCode, ISD::SETUNE,
11132 OPC_MoveParent,
11133 OPC_Scope, 24,
11134 OPC_CheckChild1Integer, 127,
11135 OPC_CheckTypeByHwMode0,
11136 OPC_MoveSibling2,
11137 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11138 OPC_RecordNode,
11139 OPC_MoveParent,
11140 OPC_CheckPatternPredicate4,
11141 OPC_EmitMergeInputChains1_0,
11142 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0,
11143 1, 0, 2, 25,
11144 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11145 2, 63,
11146 24,
11147 OPC_CheckChild1Integer, 1,
11148 OPC_CheckTypeByHwMode0,
11149 OPC_MoveSibling2,
11150 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11151 OPC_RecordNode,
11152 OPC_MoveParent,
11153 OPC_CheckPatternPredicate4,
11154 OPC_EmitMergeInputChains1_0,
11155 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0,
11156 1, 0, 2, 25,
11157 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11158 2, 63,
11159 0,
11160 55,
11161 OPC_CheckChild2CondCode, ISD::SETUO,
11162 OPC_MoveParent,
11163 OPC_Scope, 24,
11164 OPC_CheckChild1Integer, 127,
11165 OPC_CheckTypeByHwMode0,
11166 OPC_MoveSibling2,
11167 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11168 OPC_RecordNode,
11169 OPC_MoveParent,
11170 OPC_CheckPatternPredicate4,
11171 OPC_EmitMergeInputChains1_0,
11172 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0,
11173 1, 0, 2, 25,
11174 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11175 2, 63,
11176 24,
11177 OPC_CheckChild1Integer, 1,
11178 OPC_CheckTypeByHwMode0,
11179 OPC_MoveSibling2,
11180 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11181 OPC_RecordNode,
11182 OPC_MoveParent,
11183 OPC_CheckPatternPredicate4,
11184 OPC_EmitMergeInputChains1_0,
11185 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0,
11186 1, 0, 2, 25,
11187 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11188 2, 63,
11189 0,
11190 55,
11191 OPC_CheckChild2CondCode, ISD::SETLT,
11192 OPC_MoveParent,
11193 OPC_Scope, 24,
11194 OPC_CheckChild1Integer, 127,
11195 OPC_CheckTypeByHwMode0,
11196 OPC_MoveSibling2,
11197 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11198 OPC_RecordNode,
11199 OPC_MoveParent,
11200 OPC_CheckPatternPredicate4,
11201 OPC_EmitMergeInputChains1_0,
11202 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
11203 1, 0, 2, 25,
11204 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11205 2, 63,
11206 24,
11207 OPC_CheckChild1Integer, 1,
11208 OPC_CheckTypeByHwMode0,
11209 OPC_MoveSibling2,
11210 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11211 OPC_RecordNode,
11212 OPC_MoveParent,
11213 OPC_CheckPatternPredicate4,
11214 OPC_EmitMergeInputChains1_0,
11215 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
11216 1, 0, 2, 25,
11217 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCEQZ),
11218 2, 63,
11219 0,
11220 0,
11221 0,
11222 19,
11223 OPC_CheckChild1Integer, 0,
11224 OPC_CheckChild1TypeByHwMode0,
11225 OPC_RecordChild2,
11226 OPC_MoveChild2,
11227 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11228 OPC_MoveParent,
11229 OPC_CheckPatternPredicate3,
11230 OPC_EmitMergeInputChains1_0,
11231 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
11232 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
11233 2, 14,
11234 19,
11235 OPC_CheckChild1Integer, 1,
11236 OPC_CheckChild1TypeByHwMode0,
11237 OPC_RecordChild2,
11238 OPC_MoveChild2,
11239 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11240 OPC_MoveParent,
11241 OPC_CheckPatternPredicate3,
11242 OPC_EmitMergeInputChains1_0,
11243 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
11244 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQZ),
11245 2, 14,
11246 31|128,5,
11247 OPC_MoveChild1,
11248 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
11249 OPC_RecordChild0,
11250 OPC_Scope, 74|128,2,
11251 OPC_CheckChild0Type, MVT::f32,
11252 OPC_RecordChild1,
11253 OPC_Scope, 24,
11254 OPC_CheckChild2CondCode, ISD::SETOEQ,
11255 OPC_CheckTypeByHwMode0,
11256 OPC_MoveSibling2,
11257 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11258 OPC_RecordNode,
11259 OPC_MoveParent,
11260 OPC_CheckPatternPredicate3,
11261 OPC_EmitMergeInputChains1_0,
11262 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
11263 1, 0, 2, 25,
11264 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11265 2, 63,
11266 24,
11267 OPC_CheckChild2CondCode, ISD::SETEQ,
11268 OPC_CheckTypeByHwMode0,
11269 OPC_MoveSibling2,
11270 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11271 OPC_RecordNode,
11272 OPC_MoveParent,
11273 OPC_CheckPatternPredicate3,
11274 OPC_EmitMergeInputChains1_0,
11275 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
11276 1, 0, 2, 25,
11277 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11278 2, 63,
11279 24,
11280 OPC_CheckChild2CondCode, ISD::SETOLT,
11281 OPC_CheckTypeByHwMode0,
11282 OPC_MoveSibling2,
11283 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11284 OPC_RecordNode,
11285 OPC_MoveParent,
11286 OPC_CheckPatternPredicate3,
11287 OPC_EmitMergeInputChains1_0,
11288 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
11289 1, 0, 2, 25,
11290 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11291 2, 63,
11292 24,
11293 OPC_CheckChild2CondCode, ISD::SETOLE,
11294 OPC_CheckTypeByHwMode0,
11295 OPC_MoveSibling2,
11296 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11297 OPC_RecordNode,
11298 OPC_MoveParent,
11299 OPC_CheckPatternPredicate3,
11300 OPC_EmitMergeInputChains1_0,
11301 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
11302 1, 0, 2, 25,
11303 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11304 2, 63,
11305 24,
11306 OPC_CheckChild2CondCode, ISD::SETLE,
11307 OPC_CheckTypeByHwMode0,
11308 OPC_MoveSibling2,
11309 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11310 OPC_RecordNode,
11311 OPC_MoveParent,
11312 OPC_CheckPatternPredicate3,
11313 OPC_EmitMergeInputChains1_0,
11314 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
11315 1, 0, 2, 25,
11316 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11317 2, 63,
11318 24,
11319 OPC_CheckChild2CondCode, ISD::SETONE,
11320 OPC_CheckTypeByHwMode0,
11321 OPC_MoveSibling2,
11322 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11323 OPC_RecordNode,
11324 OPC_MoveParent,
11325 OPC_CheckPatternPredicate3,
11326 OPC_EmitMergeInputChains1_0,
11327 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0,
11328 1, 0, 2, 25,
11329 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11330 2, 63,
11331 24,
11332 OPC_CheckChild2CondCode, ISD::SETO,
11333 OPC_CheckTypeByHwMode0,
11334 OPC_MoveSibling2,
11335 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11336 OPC_RecordNode,
11337 OPC_MoveParent,
11338 OPC_CheckPatternPredicate3,
11339 OPC_EmitMergeInputChains1_0,
11340 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0,
11341 1, 0, 2, 25,
11342 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11343 2, 63,
11344 24,
11345 OPC_CheckChild2CondCode, ISD::SETUEQ,
11346 OPC_CheckTypeByHwMode0,
11347 OPC_MoveSibling2,
11348 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11349 OPC_RecordNode,
11350 OPC_MoveParent,
11351 OPC_CheckPatternPredicate3,
11352 OPC_EmitMergeInputChains1_0,
11353 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0,
11354 1, 0, 2, 25,
11355 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11356 2, 63,
11357 24,
11358 OPC_CheckChild2CondCode, ISD::SETULT,
11359 OPC_CheckTypeByHwMode0,
11360 OPC_MoveSibling2,
11361 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11362 OPC_RecordNode,
11363 OPC_MoveParent,
11364 OPC_CheckPatternPredicate3,
11365 OPC_EmitMergeInputChains1_0,
11366 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0,
11367 1, 0, 2, 25,
11368 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11369 2, 63,
11370 24,
11371 OPC_CheckChild2CondCode, ISD::SETULE,
11372 OPC_CheckTypeByHwMode0,
11373 OPC_MoveSibling2,
11374 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11375 OPC_RecordNode,
11376 OPC_MoveParent,
11377 OPC_CheckPatternPredicate3,
11378 OPC_EmitMergeInputChains1_0,
11379 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0,
11380 1, 0, 2, 25,
11381 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11382 2, 63,
11383 24,
11384 OPC_CheckChild2CondCode, ISD::SETUNE,
11385 OPC_CheckTypeByHwMode0,
11386 OPC_MoveSibling2,
11387 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11388 OPC_RecordNode,
11389 OPC_MoveParent,
11390 OPC_CheckPatternPredicate3,
11391 OPC_EmitMergeInputChains1_0,
11392 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0,
11393 1, 0, 2, 25,
11394 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11395 2, 63,
11396 24,
11397 OPC_CheckChild2CondCode, ISD::SETUO,
11398 OPC_CheckTypeByHwMode0,
11399 OPC_MoveSibling2,
11400 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11401 OPC_RecordNode,
11402 OPC_MoveParent,
11403 OPC_CheckPatternPredicate3,
11404 OPC_EmitMergeInputChains1_0,
11405 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0,
11406 1, 0, 2, 25,
11407 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11408 2, 63,
11409 24,
11410 OPC_CheckChild2CondCode, ISD::SETLT,
11411 OPC_CheckTypeByHwMode0,
11412 OPC_MoveSibling2,
11413 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11414 OPC_RecordNode,
11415 OPC_MoveParent,
11416 OPC_CheckPatternPredicate3,
11417 OPC_EmitMergeInputChains1_0,
11418 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
11419 1, 0, 2, 25,
11420 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11421 2, 63,
11422 0,
11423 74|128,2,
11424 OPC_CheckChild0Type, MVT::f64,
11425 OPC_RecordChild1,
11426 OPC_Scope, 24,
11427 OPC_CheckChild2CondCode, ISD::SETOEQ,
11428 OPC_CheckTypeByHwMode0,
11429 OPC_MoveSibling2,
11430 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11431 OPC_RecordNode,
11432 OPC_MoveParent,
11433 OPC_CheckPatternPredicate4,
11434 OPC_EmitMergeInputChains1_0,
11435 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
11436 1, 0, 2, 25,
11437 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11438 2, 63,
11439 24,
11440 OPC_CheckChild2CondCode, ISD::SETEQ,
11441 OPC_CheckTypeByHwMode0,
11442 OPC_MoveSibling2,
11443 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11444 OPC_RecordNode,
11445 OPC_MoveParent,
11446 OPC_CheckPatternPredicate4,
11447 OPC_EmitMergeInputChains1_0,
11448 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
11449 1, 0, 2, 25,
11450 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11451 2, 63,
11452 24,
11453 OPC_CheckChild2CondCode, ISD::SETOLT,
11454 OPC_CheckTypeByHwMode0,
11455 OPC_MoveSibling2,
11456 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11457 OPC_RecordNode,
11458 OPC_MoveParent,
11459 OPC_CheckPatternPredicate4,
11460 OPC_EmitMergeInputChains1_0,
11461 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
11462 1, 0, 2, 25,
11463 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11464 2, 63,
11465 24,
11466 OPC_CheckChild2CondCode, ISD::SETOLE,
11467 OPC_CheckTypeByHwMode0,
11468 OPC_MoveSibling2,
11469 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11470 OPC_RecordNode,
11471 OPC_MoveParent,
11472 OPC_CheckPatternPredicate4,
11473 OPC_EmitMergeInputChains1_0,
11474 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
11475 1, 0, 2, 25,
11476 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11477 2, 63,
11478 24,
11479 OPC_CheckChild2CondCode, ISD::SETLE,
11480 OPC_CheckTypeByHwMode0,
11481 OPC_MoveSibling2,
11482 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11483 OPC_RecordNode,
11484 OPC_MoveParent,
11485 OPC_CheckPatternPredicate4,
11486 OPC_EmitMergeInputChains1_0,
11487 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
11488 1, 0, 2, 25,
11489 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11490 2, 63,
11491 24,
11492 OPC_CheckChild2CondCode, ISD::SETONE,
11493 OPC_CheckTypeByHwMode0,
11494 OPC_MoveSibling2,
11495 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11496 OPC_RecordNode,
11497 OPC_MoveParent,
11498 OPC_CheckPatternPredicate4,
11499 OPC_EmitMergeInputChains1_0,
11500 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0,
11501 1, 0, 2, 25,
11502 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11503 2, 63,
11504 24,
11505 OPC_CheckChild2CondCode, ISD::SETO,
11506 OPC_CheckTypeByHwMode0,
11507 OPC_MoveSibling2,
11508 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11509 OPC_RecordNode,
11510 OPC_MoveParent,
11511 OPC_CheckPatternPredicate4,
11512 OPC_EmitMergeInputChains1_0,
11513 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0,
11514 1, 0, 2, 25,
11515 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11516 2, 63,
11517 24,
11518 OPC_CheckChild2CondCode, ISD::SETUEQ,
11519 OPC_CheckTypeByHwMode0,
11520 OPC_MoveSibling2,
11521 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11522 OPC_RecordNode,
11523 OPC_MoveParent,
11524 OPC_CheckPatternPredicate4,
11525 OPC_EmitMergeInputChains1_0,
11526 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0,
11527 1, 0, 2, 25,
11528 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11529 2, 63,
11530 24,
11531 OPC_CheckChild2CondCode, ISD::SETULT,
11532 OPC_CheckTypeByHwMode0,
11533 OPC_MoveSibling2,
11534 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11535 OPC_RecordNode,
11536 OPC_MoveParent,
11537 OPC_CheckPatternPredicate4,
11538 OPC_EmitMergeInputChains1_0,
11539 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0,
11540 1, 0, 2, 25,
11541 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11542 2, 63,
11543 24,
11544 OPC_CheckChild2CondCode, ISD::SETULE,
11545 OPC_CheckTypeByHwMode0,
11546 OPC_MoveSibling2,
11547 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11548 OPC_RecordNode,
11549 OPC_MoveParent,
11550 OPC_CheckPatternPredicate4,
11551 OPC_EmitMergeInputChains1_0,
11552 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0,
11553 1, 0, 2, 25,
11554 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11555 2, 63,
11556 24,
11557 OPC_CheckChild2CondCode, ISD::SETUNE,
11558 OPC_CheckTypeByHwMode0,
11559 OPC_MoveSibling2,
11560 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11561 OPC_RecordNode,
11562 OPC_MoveParent,
11563 OPC_CheckPatternPredicate4,
11564 OPC_EmitMergeInputChains1_0,
11565 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0,
11566 1, 0, 2, 25,
11567 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11568 2, 63,
11569 24,
11570 OPC_CheckChild2CondCode, ISD::SETUO,
11571 OPC_CheckTypeByHwMode0,
11572 OPC_MoveSibling2,
11573 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11574 OPC_RecordNode,
11575 OPC_MoveParent,
11576 OPC_CheckPatternPredicate4,
11577 OPC_EmitMergeInputChains1_0,
11578 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0,
11579 1, 0, 2, 25,
11580 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11581 2, 63,
11582 24,
11583 OPC_CheckChild2CondCode, ISD::SETLT,
11584 OPC_CheckTypeByHwMode0,
11585 OPC_MoveSibling2,
11586 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
11587 OPC_RecordNode,
11588 OPC_MoveParent,
11589 OPC_CheckPatternPredicate4,
11590 OPC_EmitMergeInputChains1_0,
11591 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
11592 1, 0, 2, 25,
11593 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
11594 2, 63,
11595 0,
11596 0,
11597 0,
11598 107|128,17, TARGET_VAL(ISD::XOR),
11599 OPC_Scope, 18,
11600 OPC_MoveChild0,
11601 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
11602 OPC_RecordChild0,
11603 OPC_RecordChild1,
11604 OPC_MoveParent,
11605 OPC_CheckChild1Integer, 127,
11606 OPC_CheckTypeByHwMode0,
11607 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::NOR), 0,
11608 1, 0, 2, 9,
11609 103|128,1,
11610 OPC_RecordChild0,
11611 OPC_Scope, 14,
11612 OPC_CheckChild1Integer, 127,
11613 OPC_CheckTypeByHwMode0,
11614 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
11615 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::NOR), 0,
11616 1, 0, 2, 9,
11617 31,
11618 OPC_RecordChild1,
11619 OPC_Scope, 17,
11620 OPC_MoveChild1,
11621 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11622 OPC_CheckPredicate, 48,
11623 OPC_MoveParent,
11624 OPC_CheckTypeByHwMode0,
11625 OPC_EmitConvertToTarget1,
11626 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XORI), 0,
11627 1, 0, 2, 22,
11628 9,
11629 OPC_CheckTypeByHwMode0,
11630 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XOR), 0,
11631 1, 0, 2, 9,
11632 0,
11633 51|128,1,
11634 OPC_MoveChild1,
11635 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11636 OPC_MoveChild0,
11637 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11638 OPC_CheckPredicate, 12,
11639 OPC_MoveSibling1,
11640 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11641 OPC_Scope, 11|128,1,
11642 OPC_RecordChild0,
11643 OPC_MoveChild1,
11644 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11645 OPC_Scope, 16,
11646 OPC_CheckPredicate, 14,
11647 OPC_MoveParent,
11648 OPC_CheckType, MVT::v16i8,
11649 OPC_MoveParent,
11650 OPC_MoveParent,
11651 OPC_CheckType, MVT::v16i8,
11652 OPC_CheckPatternPredicate1,
11653 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
11654 MVT::v16i8, 2, 9,
11655 16,
11656 OPC_CheckPredicate, 15,
11657 OPC_MoveParent,
11658 OPC_CheckType, MVT::v8i16,
11659 OPC_MoveParent,
11660 OPC_MoveParent,
11661 OPC_CheckType, MVT::v8i16,
11662 OPC_CheckPatternPredicate1,
11663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
11664 MVT::v8i16, 2, 9,
11665 16,
11666 OPC_CheckPredicate, 16,
11667 OPC_MoveParent,
11668 OPC_CheckType, MVT::v4i32,
11669 OPC_MoveParent,
11670 OPC_MoveParent,
11671 OPC_CheckType, MVT::v4i32,
11672 OPC_CheckPatternPredicate1,
11673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
11674 MVT::v4i32, 2, 9,
11675 14,
11676 OPC_CheckPredicate, 17,
11677 OPC_MoveParent,
11678 OPC_MoveParent,
11679 OPC_MoveParent,
11680 OPC_CheckType, MVT::v2i64,
11681 OPC_CheckPatternPredicate1,
11682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
11683 MVT::v2i64, 2, 9,
11684 14,
11685 OPC_CheckPredicate, 14,
11686 OPC_MoveParent,
11687 OPC_MoveParent,
11688 OPC_MoveParent,
11689 OPC_CheckType, MVT::v32i8,
11690 OPC_CheckPatternPredicate0,
11691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
11692 MVT::v32i8, 2, 9,
11693 16,
11694 OPC_CheckPredicate, 15,
11695 OPC_MoveParent,
11696 OPC_CheckType, MVT::v16i16,
11697 OPC_MoveParent,
11698 OPC_MoveParent,
11699 OPC_CheckType, MVT::v16i16,
11700 OPC_CheckPatternPredicate0,
11701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
11702 MVT::v16i16, 2, 9,
11703 16,
11704 OPC_CheckPredicate, 16,
11705 OPC_MoveParent,
11706 OPC_CheckType, MVT::v8i32,
11707 OPC_MoveParent,
11708 OPC_MoveParent,
11709 OPC_CheckType, MVT::v8i32,
11710 OPC_CheckPatternPredicate0,
11711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
11712 MVT::v8i32, 2, 9,
11713 16,
11714 OPC_CheckPredicate, 17,
11715 OPC_MoveParent,
11716 OPC_CheckType, MVT::v4i64,
11717 OPC_MoveParent,
11718 OPC_MoveParent,
11719 OPC_CheckType, MVT::v4i64,
11720 OPC_CheckPatternPredicate0,
11721 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
11722 MVT::v4i64, 2, 9,
11723 0,
11724 21,
11725 OPC_MoveChild0,
11726 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11727 OPC_CheckPredicate, 14,
11728 OPC_MoveParent,
11729 OPC_RecordChild1,
11730 OPC_CheckType, MVT::v16i8,
11731 OPC_MoveParent,
11732 OPC_MoveParent,
11733 OPC_CheckType, MVT::v16i8,
11734 OPC_CheckPatternPredicate1,
11735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
11736 MVT::v16i8, 2, 9,
11737 0,
11738 0,
11739 62,
11740 OPC_MoveChild0,
11741 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11742 OPC_MoveChild0,
11743 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11744 OPC_CheckPredicate, 12,
11745 OPC_MoveSibling1,
11746 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11747 OPC_Scope, 22,
11748 OPC_RecordChild0,
11749 OPC_MoveChild1,
11750 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11751 OPC_CheckPredicate, 14,
11752 OPC_MoveParent,
11753 OPC_CheckType, MVT::v16i8,
11754 OPC_MoveParent,
11755 OPC_MoveParent,
11756 OPC_RecordChild1,
11757 OPC_CheckType, MVT::v16i8,
11758 OPC_CheckPatternPredicate1,
11759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
11760 MVT::v16i8, 2, 3,
11761 22,
11762 OPC_MoveChild0,
11763 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11764 OPC_CheckPredicate, 14,
11765 OPC_MoveParent,
11766 OPC_RecordChild1,
11767 OPC_CheckType, MVT::v16i8,
11768 OPC_MoveParent,
11769 OPC_MoveParent,
11770 OPC_RecordChild1,
11771 OPC_CheckType, MVT::v16i8,
11772 OPC_CheckPatternPredicate1,
11773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
11774 MVT::v16i8, 2, 3,
11775 0,
11776 36,
11777 OPC_RecordChild0,
11778 OPC_MoveChild1,
11779 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11780 OPC_MoveChild0,
11781 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11782 OPC_CheckPredicate, 12,
11783 OPC_MoveSibling1,
11784 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11785 OPC_MoveChild0,
11786 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11787 OPC_CheckPredicate, 15,
11788 OPC_MoveParent,
11789 OPC_RecordChild1,
11790 OPC_CheckType, MVT::v8i16,
11791 OPC_MoveParent,
11792 OPC_MoveParent,
11793 OPC_CheckType, MVT::v8i16,
11794 OPC_CheckPatternPredicate1,
11795 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
11796 MVT::v8i16, 2, 9,
11797 62,
11798 OPC_MoveChild0,
11799 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11800 OPC_MoveChild0,
11801 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11802 OPC_CheckPredicate, 12,
11803 OPC_MoveSibling1,
11804 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11805 OPC_Scope, 22,
11806 OPC_RecordChild0,
11807 OPC_MoveChild1,
11808 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11809 OPC_CheckPredicate, 15,
11810 OPC_MoveParent,
11811 OPC_CheckType, MVT::v8i16,
11812 OPC_MoveParent,
11813 OPC_MoveParent,
11814 OPC_RecordChild1,
11815 OPC_CheckType, MVT::v8i16,
11816 OPC_CheckPatternPredicate1,
11817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
11818 MVT::v8i16, 2, 3,
11819 22,
11820 OPC_MoveChild0,
11821 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11822 OPC_CheckPredicate, 15,
11823 OPC_MoveParent,
11824 OPC_RecordChild1,
11825 OPC_CheckType, MVT::v8i16,
11826 OPC_MoveParent,
11827 OPC_MoveParent,
11828 OPC_RecordChild1,
11829 OPC_CheckType, MVT::v8i16,
11830 OPC_CheckPatternPredicate1,
11831 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
11832 MVT::v8i16, 2, 3,
11833 0,
11834 36,
11835 OPC_RecordChild0,
11836 OPC_MoveChild1,
11837 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11838 OPC_MoveChild0,
11839 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11840 OPC_CheckPredicate, 12,
11841 OPC_MoveSibling1,
11842 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11843 OPC_MoveChild0,
11844 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11845 OPC_CheckPredicate, 16,
11846 OPC_MoveParent,
11847 OPC_RecordChild1,
11848 OPC_CheckType, MVT::v4i32,
11849 OPC_MoveParent,
11850 OPC_MoveParent,
11851 OPC_CheckType, MVT::v4i32,
11852 OPC_CheckPatternPredicate1,
11853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
11854 MVT::v4i32, 2, 9,
11855 62,
11856 OPC_MoveChild0,
11857 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11858 OPC_MoveChild0,
11859 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11860 OPC_CheckPredicate, 12,
11861 OPC_MoveSibling1,
11862 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11863 OPC_Scope, 22,
11864 OPC_RecordChild0,
11865 OPC_MoveChild1,
11866 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11867 OPC_CheckPredicate, 16,
11868 OPC_MoveParent,
11869 OPC_CheckType, MVT::v4i32,
11870 OPC_MoveParent,
11871 OPC_MoveParent,
11872 OPC_RecordChild1,
11873 OPC_CheckType, MVT::v4i32,
11874 OPC_CheckPatternPredicate1,
11875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
11876 MVT::v4i32, 2, 3,
11877 22,
11878 OPC_MoveChild0,
11879 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11880 OPC_CheckPredicate, 16,
11881 OPC_MoveParent,
11882 OPC_RecordChild1,
11883 OPC_CheckType, MVT::v4i32,
11884 OPC_MoveParent,
11885 OPC_MoveParent,
11886 OPC_RecordChild1,
11887 OPC_CheckType, MVT::v4i32,
11888 OPC_CheckPatternPredicate1,
11889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
11890 MVT::v4i32, 2, 3,
11891 0,
11892 34,
11893 OPC_RecordChild0,
11894 OPC_MoveChild1,
11895 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11896 OPC_MoveChild0,
11897 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11898 OPC_CheckPredicate, 12,
11899 OPC_MoveSibling1,
11900 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11901 OPC_MoveChild0,
11902 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11903 OPC_CheckPredicate, 17,
11904 OPC_MoveParent,
11905 OPC_RecordChild1,
11906 OPC_MoveParent,
11907 OPC_MoveParent,
11908 OPC_CheckType, MVT::v2i64,
11909 OPC_CheckPatternPredicate1,
11910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
11911 MVT::v2i64, 2, 9,
11912 58,
11913 OPC_MoveChild0,
11914 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11915 OPC_MoveChild0,
11916 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11917 OPC_CheckPredicate, 12,
11918 OPC_MoveSibling1,
11919 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11920 OPC_Scope, 20,
11921 OPC_RecordChild0,
11922 OPC_MoveChild1,
11923 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11924 OPC_CheckPredicate, 17,
11925 OPC_MoveParent,
11926 OPC_MoveParent,
11927 OPC_MoveParent,
11928 OPC_RecordChild1,
11929 OPC_CheckType, MVT::v2i64,
11930 OPC_CheckPatternPredicate1,
11931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
11932 MVT::v2i64, 2, 3,
11933 20,
11934 OPC_MoveChild0,
11935 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11936 OPC_CheckPredicate, 17,
11937 OPC_MoveParent,
11938 OPC_RecordChild1,
11939 OPC_MoveParent,
11940 OPC_MoveParent,
11941 OPC_RecordChild1,
11942 OPC_CheckType, MVT::v2i64,
11943 OPC_CheckPatternPredicate1,
11944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
11945 MVT::v2i64, 2, 3,
11946 0,
11947 34,
11948 OPC_RecordChild0,
11949 OPC_MoveChild1,
11950 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11951 OPC_MoveChild0,
11952 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11953 OPC_CheckPredicate, 12,
11954 OPC_MoveSibling1,
11955 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11956 OPC_MoveChild0,
11957 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11958 OPC_CheckPredicate, 14,
11959 OPC_MoveParent,
11960 OPC_RecordChild1,
11961 OPC_MoveParent,
11962 OPC_MoveParent,
11963 OPC_CheckType, MVT::v32i8,
11964 OPC_CheckPatternPredicate0,
11965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
11966 MVT::v32i8, 2, 9,
11967 58,
11968 OPC_MoveChild0,
11969 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11970 OPC_MoveChild0,
11971 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11972 OPC_CheckPredicate, 12,
11973 OPC_MoveSibling1,
11974 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11975 OPC_Scope, 20,
11976 OPC_RecordChild0,
11977 OPC_MoveChild1,
11978 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11979 OPC_CheckPredicate, 14,
11980 OPC_MoveParent,
11981 OPC_MoveParent,
11982 OPC_MoveParent,
11983 OPC_RecordChild1,
11984 OPC_CheckType, MVT::v32i8,
11985 OPC_CheckPatternPredicate0,
11986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
11987 MVT::v32i8, 2, 3,
11988 20,
11989 OPC_MoveChild0,
11990 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11991 OPC_CheckPredicate, 14,
11992 OPC_MoveParent,
11993 OPC_RecordChild1,
11994 OPC_MoveParent,
11995 OPC_MoveParent,
11996 OPC_RecordChild1,
11997 OPC_CheckType, MVT::v32i8,
11998 OPC_CheckPatternPredicate0,
11999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12000 MVT::v32i8, 2, 3,
12001 0,
12002 36,
12003 OPC_RecordChild0,
12004 OPC_MoveChild1,
12005 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12006 OPC_MoveChild0,
12007 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12008 OPC_CheckPredicate, 12,
12009 OPC_MoveSibling1,
12010 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12011 OPC_MoveChild0,
12012 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12013 OPC_CheckPredicate, 15,
12014 OPC_MoveParent,
12015 OPC_RecordChild1,
12016 OPC_CheckType, MVT::v16i16,
12017 OPC_MoveParent,
12018 OPC_MoveParent,
12019 OPC_CheckType, MVT::v16i16,
12020 OPC_CheckPatternPredicate0,
12021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12022 MVT::v16i16, 2, 9,
12023 62,
12024 OPC_MoveChild0,
12025 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12026 OPC_MoveChild0,
12027 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12028 OPC_CheckPredicate, 12,
12029 OPC_MoveSibling1,
12030 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12031 OPC_Scope, 22,
12032 OPC_RecordChild0,
12033 OPC_MoveChild1,
12034 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12035 OPC_CheckPredicate, 15,
12036 OPC_MoveParent,
12037 OPC_CheckType, MVT::v16i16,
12038 OPC_MoveParent,
12039 OPC_MoveParent,
12040 OPC_RecordChild1,
12041 OPC_CheckType, MVT::v16i16,
12042 OPC_CheckPatternPredicate0,
12043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12044 MVT::v16i16, 2, 3,
12045 22,
12046 OPC_MoveChild0,
12047 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12048 OPC_CheckPredicate, 15,
12049 OPC_MoveParent,
12050 OPC_RecordChild1,
12051 OPC_CheckType, MVT::v16i16,
12052 OPC_MoveParent,
12053 OPC_MoveParent,
12054 OPC_RecordChild1,
12055 OPC_CheckType, MVT::v16i16,
12056 OPC_CheckPatternPredicate0,
12057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12058 MVT::v16i16, 2, 3,
12059 0,
12060 36,
12061 OPC_RecordChild0,
12062 OPC_MoveChild1,
12063 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12064 OPC_MoveChild0,
12065 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12066 OPC_CheckPredicate, 12,
12067 OPC_MoveSibling1,
12068 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12069 OPC_MoveChild0,
12070 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12071 OPC_CheckPredicate, 16,
12072 OPC_MoveParent,
12073 OPC_RecordChild1,
12074 OPC_CheckType, MVT::v8i32,
12075 OPC_MoveParent,
12076 OPC_MoveParent,
12077 OPC_CheckType, MVT::v8i32,
12078 OPC_CheckPatternPredicate0,
12079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
12080 MVT::v8i32, 2, 9,
12081 62,
12082 OPC_MoveChild0,
12083 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12084 OPC_MoveChild0,
12085 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12086 OPC_CheckPredicate, 12,
12087 OPC_MoveSibling1,
12088 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12089 OPC_Scope, 22,
12090 OPC_RecordChild0,
12091 OPC_MoveChild1,
12092 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12093 OPC_CheckPredicate, 16,
12094 OPC_MoveParent,
12095 OPC_CheckType, MVT::v8i32,
12096 OPC_MoveParent,
12097 OPC_MoveParent,
12098 OPC_RecordChild1,
12099 OPC_CheckType, MVT::v8i32,
12100 OPC_CheckPatternPredicate0,
12101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
12102 MVT::v8i32, 2, 3,
12103 22,
12104 OPC_MoveChild0,
12105 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12106 OPC_CheckPredicate, 16,
12107 OPC_MoveParent,
12108 OPC_RecordChild1,
12109 OPC_CheckType, MVT::v8i32,
12110 OPC_MoveParent,
12111 OPC_MoveParent,
12112 OPC_RecordChild1,
12113 OPC_CheckType, MVT::v8i32,
12114 OPC_CheckPatternPredicate0,
12115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
12116 MVT::v8i32, 2, 3,
12117 0,
12118 36,
12119 OPC_RecordChild0,
12120 OPC_MoveChild1,
12121 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12122 OPC_MoveChild0,
12123 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12124 OPC_CheckPredicate, 12,
12125 OPC_MoveSibling1,
12126 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12127 OPC_MoveChild0,
12128 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12129 OPC_CheckPredicate, 17,
12130 OPC_MoveParent,
12131 OPC_RecordChild1,
12132 OPC_CheckType, MVT::v4i64,
12133 OPC_MoveParent,
12134 OPC_MoveParent,
12135 OPC_CheckType, MVT::v4i64,
12136 OPC_CheckPatternPredicate0,
12137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12138 MVT::v4i64, 2, 9,
12139 31|128,2,
12140 OPC_MoveChild0,
12141 OPC_SwitchOpcode , 58, TARGET_VAL(ISD::SHL),
12142 OPC_MoveChild0,
12143 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12144 OPC_CheckPredicate, 12,
12145 OPC_MoveSibling1,
12146 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12147 OPC_Scope, 22,
12148 OPC_RecordChild0,
12149 OPC_MoveChild1,
12150 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12151 OPC_CheckPredicate, 17,
12152 OPC_MoveParent,
12153 OPC_CheckType, MVT::v4i64,
12154 OPC_MoveParent,
12155 OPC_MoveParent,
12156 OPC_RecordChild1,
12157 OPC_CheckType, MVT::v4i64,
12158 OPC_CheckPatternPredicate0,
12159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12160 MVT::v4i64, 2, 3,
12161 22,
12162 OPC_MoveChild0,
12163 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12164 OPC_CheckPredicate, 17,
12165 OPC_MoveParent,
12166 OPC_RecordChild1,
12167 OPC_CheckType, MVT::v4i64,
12168 OPC_MoveParent,
12169 OPC_MoveParent,
12170 OPC_RecordChild1,
12171 OPC_CheckType, MVT::v4i64,
12172 OPC_CheckPatternPredicate0,
12173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12174 MVT::v4i64, 2, 3,
12175 0,
12176 91|128,1, TARGET_VAL(ISD::OR),
12177 OPC_RecordChild0,
12178 OPC_RecordChild1,
12179 OPC_MoveSibling1,
12180 OPC_CheckImmAllOnesV,
12181 OPC_MoveParent,
12182 OPC_SwitchType , 28, MVT::v8i16,
12183 OPC_CheckPatternPredicate1,
12184 OPC_Scope, 8,
12185 OPC_CheckComplexPat5, /*#*/1,
12186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
12187 MVT::v8i16, 2, 22,
12188 8,
12189 OPC_CheckComplexPat5, /*#*/0,
12190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
12191 MVT::v8i16, 2, 25,
12192 6,
12193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
12194 MVT::v8i16, 2, 9,
12195 0,
12196 28, MVT::v4i32,
12197 OPC_CheckPatternPredicate1,
12198 OPC_Scope, 8,
12199 OPC_CheckComplexPat5, /*#*/1,
12200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
12201 MVT::v4i32, 2, 22,
12202 8,
12203 OPC_CheckComplexPat5, /*#*/0,
12204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
12205 MVT::v4i32, 2, 25,
12206 6,
12207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
12208 MVT::v4i32, 2, 9,
12209 0,
12210 28, MVT::v2i64,
12211 OPC_CheckPatternPredicate1,
12212 OPC_Scope, 8,
12213 OPC_CheckComplexPat5, /*#*/1,
12214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
12215 MVT::v2i64, 2, 22,
12216 8,
12217 OPC_CheckComplexPat5, /*#*/0,
12218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
12219 MVT::v2i64, 2, 25,
12220 6,
12221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
12222 MVT::v2i64, 2, 9,
12223 0,
12224 21, MVT::v16i16,
12225 OPC_CheckPatternPredicate0,
12226 OPC_Scope, 8,
12227 OPC_CheckComplexPat5, /*#*/1,
12228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
12229 MVT::v16i16, 2, 22,
12230 8,
12231 OPC_CheckComplexPat5, /*#*/0,
12232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
12233 MVT::v16i16, 2, 25,
12234 0,
12235 21, MVT::v8i32,
12236 OPC_CheckPatternPredicate0,
12237 OPC_Scope, 8,
12238 OPC_CheckComplexPat5, /*#*/1,
12239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
12240 MVT::v8i32, 2, 22,
12241 8,
12242 OPC_CheckComplexPat5, /*#*/0,
12243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
12244 MVT::v8i32, 2, 25,
12245 0,
12246 21, MVT::v4i64,
12247 OPC_CheckPatternPredicate0,
12248 OPC_Scope, 8,
12249 OPC_CheckComplexPat5, /*#*/1,
12250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
12251 MVT::v4i64, 2, 22,
12252 8,
12253 OPC_CheckComplexPat5, /*#*/0,
12254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
12255 MVT::v4i64, 2, 25,
12256 0,
12257 28, MVT::v16i8,
12258 OPC_CheckPatternPredicate1,
12259 OPC_Scope, 8,
12260 OPC_CheckComplexPat7, /*#*/1,
12261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
12262 MVT::v16i8, 2, 22,
12263 8,
12264 OPC_CheckComplexPat7, /*#*/0,
12265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
12266 MVT::v16i8, 2, 25,
12267 6,
12268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNOR_V),
12269 MVT::v16i8, 2, 9,
12270 0,
12271 21, MVT::v32i8,
12272 OPC_CheckPatternPredicate0,
12273 OPC_Scope, 8,
12274 OPC_CheckComplexPat7, /*#*/1,
12275 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
12276 MVT::v32i8, 2, 22,
12277 8,
12278 OPC_CheckComplexPat7, /*#*/0,
12279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
12280 MVT::v32i8, 2, 25,
12281 0,
12282 0,
12283 0,
12284 65,
12285 OPC_RecordChild0,
12286 OPC_MoveChild1,
12287 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12288 OPC_MoveChild0,
12289 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12290 OPC_CheckPredicate, 12,
12291 OPC_MoveParent,
12292 OPC_RecordChild1,
12293 OPC_Scope, 12,
12294 OPC_CheckChild1Type, MVT::v16i8,
12295 OPC_MoveParent,
12296 OPC_CheckType, MVT::v16i8,
12297 OPC_CheckPatternPredicate1,
12298 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12299 MVT::v16i8, 2, 9,
12300 12,
12301 OPC_CheckChild1Type, MVT::v8i16,
12302 OPC_MoveParent,
12303 OPC_CheckType, MVT::v8i16,
12304 OPC_CheckPatternPredicate1,
12305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12306 MVT::v8i16, 2, 9,
12307 12,
12308 OPC_CheckChild1Type, MVT::v4i32,
12309 OPC_MoveParent,
12310 OPC_CheckType, MVT::v4i32,
12311 OPC_CheckPatternPredicate1,
12312 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
12313 MVT::v4i32, 2, 9,
12314 10,
12315 OPC_MoveParent,
12316 OPC_CheckType, MVT::v2i64,
12317 OPC_CheckPatternPredicate1,
12318 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12319 MVT::v2i64, 2, 9,
12320 0,
12321 47,
12322 OPC_MoveChild0,
12323 OPC_CheckOpcode, TARGET_VAL(ISD::OR),
12324 OPC_RecordChild0,
12325 OPC_RecordChild1,
12326 OPC_MoveSibling1,
12327 OPC_CheckImmAllOnesV,
12328 OPC_MoveParent,
12329 OPC_SwitchType , 7, MVT::v32i8,
12330 OPC_CheckPatternPredicate0,
12331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
12332 MVT::v32i8, 2, 9,
12333 7, MVT::v16i16,
12334 OPC_CheckPatternPredicate0,
12335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
12336 MVT::v16i16, 2, 9,
12337 7, MVT::v8i32,
12338 OPC_CheckPatternPredicate0,
12339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
12340 MVT::v8i32, 2, 9,
12341 7, MVT::v4i64,
12342 OPC_CheckPatternPredicate0,
12343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNOR_V),
12344 MVT::v4i64, 2, 9,
12345 0,
12346 65,
12347 OPC_RecordChild0,
12348 OPC_MoveChild1,
12349 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12350 OPC_MoveChild0,
12351 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12352 OPC_CheckPredicate, 12,
12353 OPC_MoveParent,
12354 OPC_RecordChild1,
12355 OPC_Scope, 10,
12356 OPC_MoveParent,
12357 OPC_CheckType, MVT::v32i8,
12358 OPC_CheckPatternPredicate0,
12359 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12360 MVT::v32i8, 2, 9,
12361 12,
12362 OPC_CheckChild1Type, MVT::v16i16,
12363 OPC_MoveParent,
12364 OPC_CheckType, MVT::v16i16,
12365 OPC_CheckPatternPredicate0,
12366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12367 MVT::v16i16, 2, 9,
12368 12,
12369 OPC_CheckChild1Type, MVT::v8i32,
12370 OPC_MoveParent,
12371 OPC_CheckType, MVT::v8i32,
12372 OPC_CheckPatternPredicate0,
12373 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
12374 MVT::v8i32, 2, 9,
12375 12,
12376 OPC_CheckChild1Type, MVT::v4i64,
12377 OPC_MoveParent,
12378 OPC_CheckType, MVT::v4i64,
12379 OPC_CheckPatternPredicate0,
12380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12381 MVT::v4i64, 2, 9,
12382 0,
12383 121,
12384 OPC_MoveChild0,
12385 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12386 OPC_MoveChild0,
12387 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12388 OPC_CheckPredicate, 12,
12389 OPC_MoveParent,
12390 OPC_RecordChild1,
12391 OPC_Scope, 13,
12392 OPC_CheckChild1Type, MVT::v16i8,
12393 OPC_MoveParent,
12394 OPC_RecordChild1,
12395 OPC_CheckType, MVT::v16i8,
12396 OPC_CheckPatternPredicate1,
12397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_B),
12398 MVT::v16i8, 2, 3,
12399 13,
12400 OPC_CheckChild1Type, MVT::v8i16,
12401 OPC_MoveParent,
12402 OPC_RecordChild1,
12403 OPC_CheckType, MVT::v8i16,
12404 OPC_CheckPatternPredicate1,
12405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_H),
12406 MVT::v8i16, 2, 3,
12407 13,
12408 OPC_CheckChild1Type, MVT::v4i32,
12409 OPC_MoveParent,
12410 OPC_RecordChild1,
12411 OPC_CheckType, MVT::v4i32,
12412 OPC_CheckPatternPredicate1,
12413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_W),
12414 MVT::v4i32, 2, 3,
12415 22,
12416 OPC_MoveParent,
12417 OPC_RecordChild1,
12418 OPC_SwitchType , 7, MVT::v2i64,
12419 OPC_CheckPatternPredicate1,
12420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREV_D),
12421 MVT::v2i64, 2, 3,
12422 7, MVT::v32i8,
12423 OPC_CheckPatternPredicate0,
12424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_B),
12425 MVT::v32i8, 2, 3,
12426 0,
12427 13,
12428 OPC_CheckChild1Type, MVT::v16i16,
12429 OPC_MoveParent,
12430 OPC_RecordChild1,
12431 OPC_CheckType, MVT::v16i16,
12432 OPC_CheckPatternPredicate0,
12433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_H),
12434 MVT::v16i16, 2, 3,
12435 13,
12436 OPC_CheckChild1Type, MVT::v8i32,
12437 OPC_MoveParent,
12438 OPC_RecordChild1,
12439 OPC_CheckType, MVT::v8i32,
12440 OPC_CheckPatternPredicate0,
12441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_W),
12442 MVT::v8i32, 2, 3,
12443 13,
12444 OPC_CheckChild1Type, MVT::v4i64,
12445 OPC_MoveParent,
12446 OPC_RecordChild1,
12447 OPC_CheckType, MVT::v4i64,
12448 OPC_CheckPatternPredicate0,
12449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREV_D),
12450 MVT::v4i64, 2, 3,
12451 0,
12452 108|128,5,
12453 OPC_RecordChild0,
12454 OPC_RecordChild1,
12455 OPC_SwitchType , 106, MVT::v8i16,
12456 OPC_CheckPatternPredicate1,
12457 OPC_Scope, 8,
12458 OPC_CheckComplexPat5, /*#*/1,
12459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
12460 MVT::v8i16, 2, 22,
12461 8,
12462 OPC_CheckComplexPat6, /*#*/1,
12463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
12464 MVT::v8i16, 2, 22,
12465 9,
12466 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
12467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
12468 MVT::v8i16, 2, 22,
12469 9,
12470 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
12471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
12472 MVT::v8i16, 2, 22,
12473 9,
12474 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
12475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
12476 MVT::v8i16, 2, 22,
12477 8,
12478 OPC_CheckComplexPat5, /*#*/0,
12479 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
12480 MVT::v8i16, 2, 25,
12481 8,
12482 OPC_CheckComplexPat6, /*#*/0,
12483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
12484 MVT::v8i16, 2, 25,
12485 9,
12486 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
12487 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
12488 MVT::v8i16, 2, 25,
12489 9,
12490 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
12491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
12492 MVT::v8i16, 2, 25,
12493 9,
12494 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
12495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
12496 MVT::v8i16, 2, 25,
12497 6,
12498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
12499 MVT::v8i16, 2, 9,
12500 0,
12501 106, MVT::v4i32,
12502 OPC_CheckPatternPredicate1,
12503 OPC_Scope, 8,
12504 OPC_CheckComplexPat5, /*#*/1,
12505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
12506 MVT::v4i32, 2, 22,
12507 8,
12508 OPC_CheckComplexPat6, /*#*/1,
12509 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
12510 MVT::v4i32, 2, 22,
12511 9,
12512 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
12513 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
12514 MVT::v4i32, 2, 22,
12515 9,
12516 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
12517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
12518 MVT::v4i32, 2, 22,
12519 9,
12520 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
12521 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
12522 MVT::v4i32, 2, 22,
12523 8,
12524 OPC_CheckComplexPat5, /*#*/0,
12525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
12526 MVT::v4i32, 2, 25,
12527 8,
12528 OPC_CheckComplexPat6, /*#*/0,
12529 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
12530 MVT::v4i32, 2, 25,
12531 9,
12532 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
12533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
12534 MVT::v4i32, 2, 25,
12535 9,
12536 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
12537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
12538 MVT::v4i32, 2, 25,
12539 9,
12540 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
12541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
12542 MVT::v4i32, 2, 25,
12543 6,
12544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
12545 MVT::v4i32, 2, 9,
12546 0,
12547 106, MVT::v2i64,
12548 OPC_CheckPatternPredicate1,
12549 OPC_Scope, 8,
12550 OPC_CheckComplexPat5, /*#*/1,
12551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
12552 MVT::v2i64, 2, 22,
12553 8,
12554 OPC_CheckComplexPat6, /*#*/1,
12555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
12556 MVT::v2i64, 2, 22,
12557 9,
12558 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
12559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
12560 MVT::v2i64, 2, 22,
12561 9,
12562 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
12563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
12564 MVT::v2i64, 2, 22,
12565 9,
12566 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
12567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
12568 MVT::v2i64, 2, 22,
12569 8,
12570 OPC_CheckComplexPat5, /*#*/0,
12571 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
12572 MVT::v2i64, 2, 25,
12573 8,
12574 OPC_CheckComplexPat6, /*#*/0,
12575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
12576 MVT::v2i64, 2, 25,
12577 9,
12578 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
12579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
12580 MVT::v2i64, 2, 25,
12581 9,
12582 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
12583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_H),
12584 MVT::v2i64, 2, 25,
12585 9,
12586 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
12587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
12588 MVT::v2i64, 2, 25,
12589 6,
12590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
12591 MVT::v2i64, 2, 9,
12592 0,
12593 46, MVT::v16i8,
12594 OPC_CheckPatternPredicate1,
12595 OPC_Scope, 8,
12596 OPC_CheckComplexPat6, /*#*/1,
12597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
12598 MVT::v16i8, 2, 22,
12599 8,
12600 OPC_CheckComplexPat6, /*#*/0,
12601 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_B),
12602 MVT::v16i8, 2, 25,
12603 8,
12604 OPC_CheckComplexPat7, /*#*/1,
12605 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
12606 MVT::v16i8, 2, 22,
12607 8,
12608 OPC_CheckComplexPat7, /*#*/0,
12609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXORI_B),
12610 MVT::v16i8, 2, 25,
12611 6,
12612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VXOR_V),
12613 MVT::v16i8, 2, 9,
12614 0,
12615 106, MVT::v16i16,
12616 OPC_CheckPatternPredicate0,
12617 OPC_Scope, 8,
12618 OPC_CheckComplexPat5, /*#*/1,
12619 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
12620 MVT::v16i16, 2, 22,
12621 8,
12622 OPC_CheckComplexPat6, /*#*/1,
12623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
12624 MVT::v16i16, 2, 22,
12625 9,
12626 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
12627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
12628 MVT::v16i16, 2, 22,
12629 9,
12630 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
12631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
12632 MVT::v16i16, 2, 22,
12633 9,
12634 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
12635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
12636 MVT::v16i16, 2, 22,
12637 8,
12638 OPC_CheckComplexPat5, /*#*/0,
12639 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
12640 MVT::v16i16, 2, 25,
12641 8,
12642 OPC_CheckComplexPat6, /*#*/0,
12643 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
12644 MVT::v16i16, 2, 25,
12645 9,
12646 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
12647 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
12648 MVT::v16i16, 2, 25,
12649 9,
12650 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
12651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
12652 MVT::v16i16, 2, 25,
12653 9,
12654 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
12655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
12656 MVT::v16i16, 2, 25,
12657 6,
12658 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
12659 MVT::v16i16, 2, 9,
12660 0,
12661 106, MVT::v8i32,
12662 OPC_CheckPatternPredicate0,
12663 OPC_Scope, 8,
12664 OPC_CheckComplexPat5, /*#*/1,
12665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
12666 MVT::v8i32, 2, 22,
12667 8,
12668 OPC_CheckComplexPat6, /*#*/1,
12669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
12670 MVT::v8i32, 2, 22,
12671 9,
12672 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
12673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
12674 MVT::v8i32, 2, 22,
12675 9,
12676 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
12677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
12678 MVT::v8i32, 2, 22,
12679 9,
12680 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
12681 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
12682 MVT::v8i32, 2, 22,
12683 8,
12684 OPC_CheckComplexPat5, /*#*/0,
12685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
12686 MVT::v8i32, 2, 25,
12687 8,
12688 OPC_CheckComplexPat6, /*#*/0,
12689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
12690 MVT::v8i32, 2, 25,
12691 9,
12692 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
12693 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
12694 MVT::v8i32, 2, 25,
12695 9,
12696 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
12697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
12698 MVT::v8i32, 2, 25,
12699 9,
12700 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
12701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
12702 MVT::v8i32, 2, 25,
12703 6,
12704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
12705 MVT::v8i32, 2, 9,
12706 0,
12707 106, MVT::v4i64,
12708 OPC_CheckPatternPredicate0,
12709 OPC_Scope, 8,
12710 OPC_CheckComplexPat5, /*#*/1,
12711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
12712 MVT::v4i64, 2, 22,
12713 8,
12714 OPC_CheckComplexPat6, /*#*/1,
12715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
12716 MVT::v4i64, 2, 22,
12717 9,
12718 OPC_CheckComplexPat, /*CP*/8, /*#*/1,
12719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
12720 MVT::v4i64, 2, 22,
12721 9,
12722 OPC_CheckComplexPat, /*CP*/9, /*#*/1,
12723 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
12724 MVT::v4i64, 2, 22,
12725 9,
12726 OPC_CheckComplexPat, /*CP*/10, /*#*/1,
12727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
12728 MVT::v4i64, 2, 22,
12729 8,
12730 OPC_CheckComplexPat5, /*#*/0,
12731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
12732 MVT::v4i64, 2, 25,
12733 8,
12734 OPC_CheckComplexPat6, /*#*/0,
12735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
12736 MVT::v4i64, 2, 25,
12737 9,
12738 OPC_CheckComplexPat, /*CP*/8, /*#*/0,
12739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
12740 MVT::v4i64, 2, 25,
12741 9,
12742 OPC_CheckComplexPat, /*CP*/9, /*#*/0,
12743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_H),
12744 MVT::v4i64, 2, 25,
12745 9,
12746 OPC_CheckComplexPat, /*CP*/10, /*#*/0,
12747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
12748 MVT::v4i64, 2, 25,
12749 6,
12750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
12751 MVT::v4i64, 2, 9,
12752 0,
12753 46, MVT::v32i8,
12754 OPC_CheckPatternPredicate0,
12755 OPC_Scope, 8,
12756 OPC_CheckComplexPat6, /*#*/1,
12757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
12758 MVT::v32i8, 2, 22,
12759 8,
12760 OPC_CheckComplexPat6, /*#*/0,
12761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_B),
12762 MVT::v32i8, 2, 25,
12763 8,
12764 OPC_CheckComplexPat7, /*#*/1,
12765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
12766 MVT::v32i8, 2, 22,
12767 8,
12768 OPC_CheckComplexPat7, /*#*/0,
12769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXORI_B),
12770 MVT::v32i8, 2, 25,
12771 6,
12772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVXOR_V),
12773 MVT::v32i8, 2, 9,
12774 0,
12775 0,
12776 0,
12777 4|128,2, TARGET_VAL(ISD::CTLZ),
12778 OPC_Scope, 32,
12779 OPC_MoveChild0,
12780 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12781 OPC_RecordChild0,
12782 OPC_CheckChild1Integer, 127,
12783 OPC_CheckTypeByHwMode0,
12784 OPC_MoveParent,
12785 OPC_CheckTypeByHwMode0,
12786 OPC_Scope, 9,
12787 OPC_CheckPatternPredicate2,
12788 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLO_D), 0,
12789 1, 0, 1, 1,
12790 9,
12791 OPC_CheckPatternPredicate6,
12792 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLO_W), 0,
12793 1, 0, 1, 1,
12794 0,
12795 25,
12796 OPC_RecordChild0,
12797 OPC_CheckChild0TypeByHwMode0,
12798 OPC_CheckTypeByHwMode0,
12799 OPC_Scope, 9,
12800 OPC_CheckPatternPredicate2,
12801 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLZ_D), 0,
12802 1, 0, 1, 1,
12803 9,
12804 OPC_CheckPatternPredicate6,
12805 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLZ_W), 0,
12806 1, 0, 1, 1,
12807 0,
12808 110,
12809 OPC_MoveChild0,
12810 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12811 OPC_RecordChild0,
12812 OPC_MoveChild1,
12813 OPC_CheckImmAllOnesV,
12814 OPC_MoveParent,
12815 OPC_Scope, 12,
12816 OPC_CheckType, MVT::v16i8,
12817 OPC_MoveParent,
12818 OPC_CheckType, MVT::v16i8,
12819 OPC_CheckPatternPredicate1,
12820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_B),
12821 MVT::v16i8, 1, 1,
12822 12,
12823 OPC_CheckType, MVT::v8i16,
12824 OPC_MoveParent,
12825 OPC_CheckType, MVT::v8i16,
12826 OPC_CheckPatternPredicate1,
12827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_H),
12828 MVT::v8i16, 1, 1,
12829 12,
12830 OPC_CheckType, MVT::v4i32,
12831 OPC_MoveParent,
12832 OPC_CheckType, MVT::v4i32,
12833 OPC_CheckPatternPredicate1,
12834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_W),
12835 MVT::v4i32, 1, 1,
12836 21,
12837 OPC_MoveParent,
12838 OPC_SwitchType , 7, MVT::v2i64,
12839 OPC_CheckPatternPredicate1,
12840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_D),
12841 MVT::v2i64, 1, 1,
12842 7, MVT::v32i8,
12843 OPC_CheckPatternPredicate0,
12844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_B),
12845 MVT::v32i8, 1, 1,
12846 0,
12847 12,
12848 OPC_CheckType, MVT::v16i16,
12849 OPC_MoveParent,
12850 OPC_CheckType, MVT::v16i16,
12851 OPC_CheckPatternPredicate0,
12852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_H),
12853 MVT::v16i16, 1, 1,
12854 12,
12855 OPC_CheckType, MVT::v8i32,
12856 OPC_MoveParent,
12857 OPC_CheckType, MVT::v8i32,
12858 OPC_CheckPatternPredicate0,
12859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_W),
12860 MVT::v8i32, 1, 1,
12861 12,
12862 OPC_CheckType, MVT::v4i64,
12863 OPC_MoveParent,
12864 OPC_CheckType, MVT::v4i64,
12865 OPC_CheckPatternPredicate0,
12866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_D),
12867 MVT::v4i64, 1, 1,
12868 0,
12869 87,
12870 OPC_RecordChild0,
12871 OPC_SwitchType , 9, MVT::v16i8,
12872 OPC_CheckChild0Type, MVT::v16i8,
12873 OPC_CheckPatternPredicate1,
12874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_B),
12875 MVT::v16i8, 1, 1,
12876 9, MVT::v8i16,
12877 OPC_CheckChild0Type, MVT::v8i16,
12878 OPC_CheckPatternPredicate1,
12879 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_H),
12880 MVT::v8i16, 1, 1,
12881 9, MVT::v4i32,
12882 OPC_CheckChild0Type, MVT::v4i32,
12883 OPC_CheckPatternPredicate1,
12884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_W),
12885 MVT::v4i32, 1, 1,
12886 7, MVT::v2i64,
12887 OPC_CheckPatternPredicate1,
12888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLZ_D),
12889 MVT::v2i64, 1, 1,
12890 7, MVT::v32i8,
12891 OPC_CheckPatternPredicate0,
12892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_B),
12893 MVT::v32i8, 1, 1,
12894 9, MVT::v16i16,
12895 OPC_CheckChild0Type, MVT::v16i16,
12896 OPC_CheckPatternPredicate0,
12897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_H),
12898 MVT::v16i16, 1, 1,
12899 9, MVT::v8i32,
12900 OPC_CheckChild0Type, MVT::v8i32,
12901 OPC_CheckPatternPredicate0,
12902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_W),
12903 MVT::v8i32, 1, 1,
12904 9, MVT::v4i64,
12905 OPC_CheckChild0Type, MVT::v4i64,
12906 OPC_CheckPatternPredicate0,
12907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLZ_D),
12908 MVT::v4i64, 1, 1,
12909 0,
12910 0,
12911 35, TARGET_VAL(LoongArchISD::CLZ_W),
12912 OPC_Scope, 19,
12913 OPC_MoveChild0,
12914 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12915 OPC_RecordChild0,
12916 OPC_CheckChild1Integer, 127,
12917 OPC_CheckTypeByHwMode0,
12918 OPC_MoveParent,
12919 OPC_CheckTypeByHwMode0,
12920 OPC_CheckPatternPredicate2,
12921 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLO_W), 0,
12922 1, 0, 1, 1,
12923 12,
12924 OPC_RecordChild0,
12925 OPC_CheckChild0TypeByHwMode0,
12926 OPC_CheckTypeByHwMode0,
12927 OPC_CheckPatternPredicate2,
12928 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CLZ_W), 0,
12929 1, 0, 1, 1,
12930 0,
12931 35, TARGET_VAL(LoongArchISD::CTZ_W),
12932 OPC_Scope, 19,
12933 OPC_MoveChild0,
12934 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12935 OPC_RecordChild0,
12936 OPC_CheckChild1Integer, 127,
12937 OPC_CheckTypeByHwMode0,
12938 OPC_MoveParent,
12939 OPC_CheckTypeByHwMode0,
12940 OPC_CheckPatternPredicate2,
12941 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTO_W), 0,
12942 1, 0, 1, 1,
12943 12,
12944 OPC_RecordChild0,
12945 OPC_CheckChild0TypeByHwMode0,
12946 OPC_CheckTypeByHwMode0,
12947 OPC_CheckPatternPredicate2,
12948 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CTZ_W), 0,
12949 1, 0, 1, 1,
12950 0,
12951 57, TARGET_VAL(LoongArchISD::BSTRINS),
12952 OPC_RecordChild0,
12953 OPC_RecordChild1,
12954 OPC_RecordChild2,
12955 OPC_MoveChild2,
12956 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12957 OPC_Scope, 23,
12958 OPC_CheckPredicate, 20,
12959 OPC_CheckTypeByHwMode0,
12960 OPC_MoveSibling3,
12961 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12962 OPC_RecordNode,
12963 OPC_CheckPredicate, 20,
12964 OPC_MoveParent,
12965 OPC_CheckTypeByHwMode0,
12966 OPC_CheckPatternPredicate6,
12967 OPC_EmitConvertToTarget2,
12968 OPC_EmitConvertToTarget3,
12969 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRINS_W), 0,
12970 1, 0, 4, 95,
12971 23,
12972 OPC_CheckPredicate, 26,
12973 OPC_CheckTypeByHwMode0,
12974 OPC_MoveSibling3,
12975 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12976 OPC_RecordNode,
12977 OPC_CheckPredicate, 26,
12978 OPC_MoveParent,
12979 OPC_CheckTypeByHwMode0,
12980 OPC_CheckPatternPredicate2,
12981 OPC_EmitConvertToTarget2,
12982 OPC_EmitConvertToTarget3,
12983 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BSTRINS_D), 0,
12984 1, 0, 4, 95,
12985 0,
12986 67, TARGET_VAL(ISD::ATOMIC_FENCE),
12987 OPC_RecordNode,
12988 OPC_Scope, 15,
12989 OPC_CheckChild1Integer, 4,
12990 OPC_MoveChild2,
12991 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
12992 OPC_MoveParent,
12993 OPC_EmitMergeInputChains1_0,
12994 OPC_EmitIntegerByHwMode0, 20,
12995 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
12996 1, 10,
12997 15,
12998 OPC_CheckChild1Integer, 5,
12999 OPC_MoveChild2,
13000 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13001 OPC_MoveParent,
13002 OPC_EmitMergeInputChains1_0,
13003 OPC_EmitIntegerByHwMode0, 18,
13004 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
13005 1, 10,
13006 15,
13007 OPC_CheckChild1Integer, 6,
13008 OPC_MoveChild2,
13009 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13010 OPC_MoveParent,
13011 OPC_EmitMergeInputChains1_0,
13012 OPC_EmitIntegerByHwMode0, 16,
13013 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
13014 1, 10,
13015 15,
13016 OPC_CheckChild1Integer, 7,
13017 OPC_MoveChild2,
13018 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13019 OPC_MoveParent,
13020 OPC_EmitMergeInputChains1_0,
13021 OPC_EmitIntegerByHwMode0, 16,
13022 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
13023 1, 10,
13024 0,
13025 78|128,6, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
13026 OPC_RecordNode,
13027 OPC_Scope, 30,
13028 OPC_CheckChild1Integer, 41|128,62,
13029 OPC_RecordChild2,
13030 OPC_CheckChild2TypeByHwMode0,
13031 OPC_RecordChild3,
13032 OPC_CheckChild3TypeByHwMode, 1,
13033 OPC_RecordChild4,
13034 OPC_CheckChild4TypeByHwMode, 1,
13035 OPC_RecordChild5,
13036 OPC_MoveChild5,
13037 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13038 OPC_MoveParent,
13039 OPC_CheckTypeByHwMode, 1,
13040 OPC_CheckPatternPredicate2,
13041 OPC_EmitMergeInputChains1_0,
13042 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32), 0|OPFL_Chain,
13043 2, 1, 0, 4, 81,
13044 30,
13045 OPC_CheckChild1Integer, 27|128,62,
13046 OPC_RecordChild2,
13047 OPC_CheckChild2TypeByHwMode0,
13048 OPC_RecordChild3,
13049 OPC_CheckChild3TypeByHwMode, 1,
13050 OPC_RecordChild4,
13051 OPC_CheckChild4TypeByHwMode, 1,
13052 OPC_RecordChild5,
13053 OPC_MoveChild5,
13054 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13055 OPC_MoveParent,
13056 OPC_CheckTypeByHwMode, 1,
13057 OPC_CheckPatternPredicate2,
13058 OPC_EmitMergeInputChains1_0,
13059 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32), 0|OPFL_Chain,
13060 2, 1, 0, 4, 81,
13061 30,
13062 OPC_CheckChild1Integer, 35|128,62,
13063 OPC_RecordChild2,
13064 OPC_CheckChild2TypeByHwMode0,
13065 OPC_RecordChild3,
13066 OPC_CheckChild3TypeByHwMode, 1,
13067 OPC_RecordChild4,
13068 OPC_CheckChild4TypeByHwMode, 1,
13069 OPC_RecordChild5,
13070 OPC_MoveChild5,
13071 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13072 OPC_MoveParent,
13073 OPC_CheckTypeByHwMode, 1,
13074 OPC_CheckPatternPredicate2,
13075 OPC_EmitMergeInputChains1_0,
13076 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32), 0|OPFL_Chain,
13077 2, 1, 0, 4, 81,
13078 30,
13079 OPC_CheckChild1Integer, 33|128,62,
13080 OPC_RecordChild2,
13081 OPC_CheckChild2TypeByHwMode0,
13082 OPC_RecordChild3,
13083 OPC_CheckChild3TypeByHwMode, 1,
13084 OPC_RecordChild4,
13085 OPC_CheckChild4TypeByHwMode, 1,
13086 OPC_RecordChild5,
13087 OPC_MoveChild5,
13088 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13089 OPC_MoveParent,
13090 OPC_CheckTypeByHwMode, 1,
13091 OPC_CheckPatternPredicate2,
13092 OPC_EmitMergeInputChains1_0,
13093 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32), 0|OPFL_Chain,
13094 2, 1, 0, 4, 81,
13095 31,
13096 OPC_CheckChild1Integer, 37|128,62,
13097 OPC_RecordChild2,
13098 OPC_CheckChild2TypeByHwMode0,
13099 OPC_RecordChild3,
13100 OPC_CheckChild3TypeByHwMode, 1,
13101 OPC_RecordChild4,
13102 OPC_CheckChild4TypeByHwMode, 1,
13103 OPC_RecordChild5,
13104 OPC_MoveChild5,
13105 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13106 OPC_MoveParent,
13107 OPC_CheckTypeByHwMode, 1,
13108 OPC_CheckPatternPredicate2,
13109 OPC_EmitMergeInputChains1_0,
13110 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMax32), 0|OPFL_Chain,
13111 3, 1, 0, 0, 4, 81,
13112 31,
13113 OPC_CheckChild1Integer, 39|128,62,
13114 OPC_RecordChild2,
13115 OPC_CheckChild2TypeByHwMode0,
13116 OPC_RecordChild3,
13117 OPC_CheckChild3TypeByHwMode, 1,
13118 OPC_RecordChild4,
13119 OPC_CheckChild4TypeByHwMode, 1,
13120 OPC_RecordChild5,
13121 OPC_MoveChild5,
13122 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13123 OPC_MoveParent,
13124 OPC_CheckTypeByHwMode, 1,
13125 OPC_CheckPatternPredicate2,
13126 OPC_EmitMergeInputChains1_0,
13127 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMin32), 0|OPFL_Chain,
13128 3, 1, 0, 0, 4, 81,
13129 33,
13130 OPC_CheckChild1Integer, 43|128,62,
13131 OPC_RecordChild2,
13132 OPC_CheckChild2TypeByHwMode0,
13133 OPC_RecordChild3,
13134 OPC_CheckChild3TypeByHwMode, 1,
13135 OPC_RecordChild4,
13136 OPC_CheckChild4TypeByHwMode, 1,
13137 OPC_RecordChild5,
13138 OPC_CheckChild5TypeByHwMode, 1,
13139 OPC_RecordChild6,
13140 OPC_MoveChild6,
13141 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13142 OPC_MoveParent,
13143 OPC_CheckTypeByHwMode, 1,
13144 OPC_CheckPatternPredicate2,
13145 OPC_EmitMergeInputChains1_0,
13146 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedCmpXchg32), 0|OPFL_Chain,
13147 2, 1, 0, 5, 102,
13148 34,
13149 OPC_CheckChild1Integer, 29|128,62,
13150 OPC_RecordChild2,
13151 OPC_CheckChild2TypeByHwMode0,
13152 OPC_RecordChild3,
13153 OPC_CheckChild3TypeByHwMode, 1,
13154 OPC_RecordChild4,
13155 OPC_CheckChild4TypeByHwMode, 1,
13156 OPC_RecordChild5,
13157 OPC_CheckChild5TypeByHwMode, 1,
13158 OPC_RecordChild6,
13159 OPC_MoveChild6,
13160 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13161 OPC_MoveParent,
13162 OPC_CheckTypeByHwMode, 1,
13163 OPC_CheckPatternPredicate2,
13164 OPC_EmitMergeInputChains1_0,
13165 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMax32), 0|OPFL_Chain,
13166 3, 1, 0, 0, 5, 102,
13167 34,
13168 OPC_CheckChild1Integer, 31|128,62,
13169 OPC_RecordChild2,
13170 OPC_CheckChild2TypeByHwMode0,
13171 OPC_RecordChild3,
13172 OPC_CheckChild3TypeByHwMode, 1,
13173 OPC_RecordChild4,
13174 OPC_CheckChild4TypeByHwMode, 1,
13175 OPC_RecordChild5,
13176 OPC_CheckChild5TypeByHwMode, 1,
13177 OPC_RecordChild6,
13178 OPC_MoveChild6,
13179 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13180 OPC_MoveParent,
13181 OPC_CheckTypeByHwMode, 1,
13182 OPC_CheckPatternPredicate2,
13183 OPC_EmitMergeInputChains1_0,
13184 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMin32), 0|OPFL_Chain,
13185 3, 1, 0, 0, 5, 102,
13186 27,
13187 OPC_CheckChild1Integer, 40|128,62,
13188 OPC_RecordChild2,
13189 OPC_CheckChild2TypeByHwMode0,
13190 OPC_RecordChild3,
13191 OPC_CheckChild3TypeI32,
13192 OPC_RecordChild4,
13193 OPC_CheckChild4TypeI32,
13194 OPC_RecordChild5,
13195 OPC_MoveChild5,
13196 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13197 OPC_MoveParent,
13198 OPC_CheckTypeI32,
13199 OPC_CheckPatternPredicate5,
13200 OPC_EmitMergeInputChains1_0,
13201 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicSwap32), 0|OPFL_Chain,
13202 2, 6, 0, 4, 81,
13203 27,
13204 OPC_CheckChild1Integer, 26|128,62,
13205 OPC_RecordChild2,
13206 OPC_CheckChild2TypeByHwMode0,
13207 OPC_RecordChild3,
13208 OPC_CheckChild3TypeI32,
13209 OPC_RecordChild4,
13210 OPC_CheckChild4TypeI32,
13211 OPC_RecordChild5,
13212 OPC_MoveChild5,
13213 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13214 OPC_MoveParent,
13215 OPC_CheckTypeI32,
13216 OPC_CheckPatternPredicate5,
13217 OPC_EmitMergeInputChains1_0,
13218 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadAdd32), 0|OPFL_Chain,
13219 2, 6, 0, 4, 81,
13220 27,
13221 OPC_CheckChild1Integer, 34|128,62,
13222 OPC_RecordChild2,
13223 OPC_CheckChild2TypeByHwMode0,
13224 OPC_RecordChild3,
13225 OPC_CheckChild3TypeI32,
13226 OPC_RecordChild4,
13227 OPC_CheckChild4TypeI32,
13228 OPC_RecordChild5,
13229 OPC_MoveChild5,
13230 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13231 OPC_MoveParent,
13232 OPC_CheckTypeI32,
13233 OPC_CheckPatternPredicate5,
13234 OPC_EmitMergeInputChains1_0,
13235 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadSub32), 0|OPFL_Chain,
13236 2, 6, 0, 4, 81,
13237 27,
13238 OPC_CheckChild1Integer, 32|128,62,
13239 OPC_RecordChild2,
13240 OPC_CheckChild2TypeByHwMode0,
13241 OPC_RecordChild3,
13242 OPC_CheckChild3TypeI32,
13243 OPC_RecordChild4,
13244 OPC_CheckChild4TypeI32,
13245 OPC_RecordChild5,
13246 OPC_MoveChild5,
13247 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13248 OPC_MoveParent,
13249 OPC_CheckTypeI32,
13250 OPC_CheckPatternPredicate5,
13251 OPC_EmitMergeInputChains1_0,
13252 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadNand32), 0|OPFL_Chain,
13253 2, 6, 0, 4, 81,
13254 28,
13255 OPC_CheckChild1Integer, 36|128,62,
13256 OPC_RecordChild2,
13257 OPC_CheckChild2TypeByHwMode0,
13258 OPC_RecordChild3,
13259 OPC_CheckChild3TypeI32,
13260 OPC_RecordChild4,
13261 OPC_CheckChild4TypeI32,
13262 OPC_RecordChild5,
13263 OPC_MoveChild5,
13264 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13265 OPC_MoveParent,
13266 OPC_CheckTypeI32,
13267 OPC_CheckPatternPredicate5,
13268 OPC_EmitMergeInputChains1_0,
13269 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMax32), 0|OPFL_Chain,
13270 3, 6, 0, 0, 4, 81,
13271 28,
13272 OPC_CheckChild1Integer, 38|128,62,
13273 OPC_RecordChild2,
13274 OPC_CheckChild2TypeByHwMode0,
13275 OPC_RecordChild3,
13276 OPC_CheckChild3TypeI32,
13277 OPC_RecordChild4,
13278 OPC_CheckChild4TypeI32,
13279 OPC_RecordChild5,
13280 OPC_MoveChild5,
13281 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13282 OPC_MoveParent,
13283 OPC_CheckTypeI32,
13284 OPC_CheckPatternPredicate5,
13285 OPC_EmitMergeInputChains1_0,
13286 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadUMin32), 0|OPFL_Chain,
13287 3, 6, 0, 0, 4, 81,
13288 30,
13289 OPC_CheckChild1Integer, 28|128,62,
13290 OPC_RecordChild2,
13291 OPC_CheckChild2TypeByHwMode0,
13292 OPC_RecordChild3,
13293 OPC_CheckChild3TypeI32,
13294 OPC_RecordChild4,
13295 OPC_CheckChild4TypeI32,
13296 OPC_RecordChild5,
13297 OPC_CheckChild5TypeI32,
13298 OPC_RecordChild6,
13299 OPC_MoveChild6,
13300 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13301 OPC_MoveParent,
13302 OPC_CheckTypeI32,
13303 OPC_CheckPatternPredicate5,
13304 OPC_EmitMergeInputChains1_0,
13305 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMax32), 0|OPFL_Chain,
13306 3, 6, 0, 0, 5, 102,
13307 30,
13308 OPC_CheckChild1Integer, 30|128,62,
13309 OPC_RecordChild2,
13310 OPC_CheckChild2TypeByHwMode0,
13311 OPC_RecordChild3,
13312 OPC_CheckChild3TypeI32,
13313 OPC_RecordChild4,
13314 OPC_CheckChild4TypeI32,
13315 OPC_RecordChild5,
13316 OPC_CheckChild5TypeI32,
13317 OPC_RecordChild6,
13318 OPC_MoveChild6,
13319 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13320 OPC_MoveParent,
13321 OPC_CheckTypeI32,
13322 OPC_CheckPatternPredicate5,
13323 OPC_EmitMergeInputChains1_0,
13324 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedAtomicLoadMin32), 0|OPFL_Chain,
13325 3, 6, 0, 0, 5, 102,
13326 29,
13327 OPC_CheckChild1Integer, 42|128,62,
13328 OPC_RecordChild2,
13329 OPC_CheckChild2TypeByHwMode0,
13330 OPC_RecordChild3,
13331 OPC_CheckChild3TypeI32,
13332 OPC_RecordChild4,
13333 OPC_CheckChild4TypeI32,
13334 OPC_RecordChild5,
13335 OPC_CheckChild5TypeI32,
13336 OPC_RecordChild6,
13337 OPC_MoveChild6,
13338 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13339 OPC_MoveParent,
13340 OPC_CheckTypeI32,
13341 OPC_CheckPatternPredicate5,
13342 OPC_EmitMergeInputChains1_0,
13343 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoMaskedCmpXchg32), 0|OPFL_Chain,
13344 2, 6, 0, 5, 102,
13345 24,
13346 OPC_CheckChild1Integer, 72|128,56,
13347 OPC_RecordChild2,
13348 OPC_CheckChild2TypeByHwMode, 1,
13349 OPC_RecordChild3,
13350 OPC_MoveChild3,
13351 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13352 OPC_MoveParent,
13353 OPC_CheckTypeByHwMode, 1,
13354 OPC_CheckPatternPredicate2,
13355 OPC_EmitMergeInputChains1_0,
13356 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::LDDIR), 0|OPFL_Chain,
13357 1, 1, 2, 25,
13358 22,
13359 OPC_CheckChild1Integer, 116|128,58,
13360 OPC_RecordChild2,
13361 OPC_CheckChild2TypeByHwMode0,
13362 OPC_RecordChild3,
13363 OPC_MoveChild3,
13364 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13365 OPC_MoveParent,
13366 OPC_CheckPatternPredicate1,
13367 OPC_EmitMergeInputChains1_0,
13368 OPC_EmitNodeXForm, 9, 2,
13369 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLD),
13370 MVT::v16i8, 2, 43,
13371 22,
13372 OPC_CheckChild1Integer, 118|128,58,
13373 OPC_RecordChild2,
13374 OPC_CheckChild2TypeByHwMode0,
13375 OPC_RecordChild3,
13376 OPC_MoveChild3,
13377 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13378 OPC_MoveParent,
13379 OPC_CheckPatternPredicate1,
13380 OPC_EmitMergeInputChains1_0,
13381 OPC_EmitNodeXForm, 9, 2,
13382 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_B),
13383 MVT::v16i8, 2, 43,
13384 22,
13385 OPC_CheckChild1Integer, 120|128,58,
13386 OPC_RecordChild2,
13387 OPC_CheckChild2TypeByHwMode0,
13388 OPC_RecordChild3,
13389 OPC_MoveChild3,
13390 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13391 OPC_MoveParent,
13392 OPC_CheckPatternPredicate1,
13393 OPC_EmitMergeInputChains1_0,
13394 OPC_EmitNodeXForm, 9, 2,
13395 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_H),
13396 MVT::v8i16, 2, 43,
13397 22,
13398 OPC_CheckChild1Integer, 121|128,58,
13399 OPC_RecordChild2,
13400 OPC_CheckChild2TypeByHwMode0,
13401 OPC_RecordChild3,
13402 OPC_MoveChild3,
13403 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13404 OPC_MoveParent,
13405 OPC_CheckPatternPredicate1,
13406 OPC_EmitMergeInputChains1_0,
13407 OPC_EmitNodeXForm, 9, 2,
13408 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_W),
13409 MVT::v4i32, 2, 43,
13410 22,
13411 OPC_CheckChild1Integer, 119|128,58,
13412 OPC_RecordChild2,
13413 OPC_CheckChild2TypeByHwMode0,
13414 OPC_RecordChild3,
13415 OPC_MoveChild3,
13416 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13417 OPC_MoveParent,
13418 OPC_CheckPatternPredicate1,
13419 OPC_EmitMergeInputChains1_0,
13420 OPC_EmitNodeXForm, 9, 2,
13421 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDREPL_D),
13422 MVT::v2i64, 2, 43,
13423 22,
13424 OPC_CheckChild1Integer, 26|128,53,
13425 OPC_RecordChild2,
13426 OPC_CheckChild2TypeByHwMode0,
13427 OPC_RecordChild3,
13428 OPC_MoveChild3,
13429 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13430 OPC_MoveParent,
13431 OPC_CheckPatternPredicate0,
13432 OPC_EmitMergeInputChains1_0,
13433 OPC_EmitNodeXForm, 9, 2,
13434 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLD),
13435 MVT::v32i8, 2, 43,
13436 22,
13437 OPC_CheckChild1Integer, 28|128,53,
13438 OPC_RecordChild2,
13439 OPC_CheckChild2TypeByHwMode0,
13440 OPC_RecordChild3,
13441 OPC_MoveChild3,
13442 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13443 OPC_MoveParent,
13444 OPC_CheckPatternPredicate0,
13445 OPC_EmitMergeInputChains1_0,
13446 OPC_EmitNodeXForm, 9, 2,
13447 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_B),
13448 MVT::v32i8, 2, 43,
13449 22,
13450 OPC_CheckChild1Integer, 30|128,53,
13451 OPC_RecordChild2,
13452 OPC_CheckChild2TypeByHwMode0,
13453 OPC_RecordChild3,
13454 OPC_MoveChild3,
13455 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13456 OPC_MoveParent,
13457 OPC_CheckPatternPredicate0,
13458 OPC_EmitMergeInputChains1_0,
13459 OPC_EmitNodeXForm, 9, 2,
13460 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_H),
13461 MVT::v16i16, 2, 43,
13462 22,
13463 OPC_CheckChild1Integer, 31|128,53,
13464 OPC_RecordChild2,
13465 OPC_CheckChild2TypeByHwMode0,
13466 OPC_RecordChild3,
13467 OPC_MoveChild3,
13468 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13469 OPC_MoveParent,
13470 OPC_CheckPatternPredicate0,
13471 OPC_EmitMergeInputChains1_0,
13472 OPC_EmitNodeXForm, 9, 2,
13473 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_W),
13474 MVT::v8i32, 2, 43,
13475 22,
13476 OPC_CheckChild1Integer, 29|128,53,
13477 OPC_RecordChild2,
13478 OPC_CheckChild2TypeByHwMode0,
13479 OPC_RecordChild3,
13480 OPC_MoveChild3,
13481 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13482 OPC_MoveParent,
13483 OPC_CheckPatternPredicate0,
13484 OPC_EmitMergeInputChains1_0,
13485 OPC_EmitNodeXForm, 9, 2,
13486 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDREPL_D),
13487 MVT::v4i64, 2, 43,
13488 16,
13489 OPC_CheckChild1Integer, 122|128,58,
13490 OPC_RecordChild2,
13491 OPC_CheckChild2TypeByHwMode0,
13492 OPC_RecordChild3,
13493 OPC_CheckChild3TypeByHwMode, 1,
13494 OPC_CheckPatternPredicate1,
13495 OPC_EmitMergeInputChains1_0,
13496 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::VLDX),
13497 MVT::v16i8, 2, 25,
13498 16,
13499 OPC_CheckChild1Integer, 32|128,53,
13500 OPC_RecordChild2,
13501 OPC_CheckChild2TypeByHwMode0,
13502 OPC_RecordChild3,
13503 OPC_CheckChild3TypeByHwMode, 1,
13504 OPC_CheckPatternPredicate0,
13505 OPC_EmitMergeInputChains1_0,
13506 OPC_MorphNodeTo1Chain, TARGET_VAL(LoongArch::XVLDX),
13507 MVT::v32i8, 2, 25,
13508 0,
13509 44|128,1|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
13510 OPC_Scope, 24,
13511 OPC_CheckChild0Integer, 13|128,60,
13512 OPC_RecordChild1,
13513 OPC_RecordChild2,
13514 OPC_MoveChild2,
13515 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13516 OPC_MoveParent,
13517 OPC_CheckTypeByHwMode, 1,
13518 OPC_CheckPatternPredicate1,
13519 OPC_EmitNodeXForm, 9, 1,
13520 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_D), 0,
13521 1, 1, 2, 22,
13522 24,
13523 OPC_CheckChild0Integer, 14|128,60,
13524 OPC_RecordChild1,
13525 OPC_RecordChild2,
13526 OPC_MoveChild2,
13527 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13528 OPC_MoveParent,
13529 OPC_CheckTypeByHwMode, 1,
13530 OPC_CheckPatternPredicate1,
13531 OPC_EmitNodeXForm, 9, 1,
13532 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_DU), 0,
13533 1, 1, 2, 22,
13534 24,
13535 OPC_CheckChild0Integer, 56|128,54,
13536 OPC_RecordChild1,
13537 OPC_RecordChild2,
13538 OPC_MoveChild2,
13539 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13540 OPC_MoveParent,
13541 OPC_CheckTypeByHwMode, 1,
13542 OPC_CheckPatternPredicate0,
13543 OPC_EmitNodeXForm, 9, 1,
13544 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_D), 0,
13545 1, 1, 2, 22,
13546 24,
13547 OPC_CheckChild0Integer, 57|128,54,
13548 OPC_RecordChild1,
13549 OPC_RecordChild2,
13550 OPC_MoveChild2,
13551 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13552 OPC_MoveParent,
13553 OPC_CheckTypeByHwMode, 1,
13554 OPC_CheckPatternPredicate0,
13555 OPC_EmitNodeXForm, 9, 1,
13556 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_DU), 0,
13557 1, 1, 2, 22,
13558 11,
13559 OPC_CheckChild0Integer, 70|128,50,
13560 OPC_RecordChild1,
13561 OPC_CheckPatternPredicate7,
13562 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_S),
13563 MVT::f32, 1, 1,
13564 11,
13565 OPC_CheckChild0Integer, 72|128,50,
13566 OPC_RecordChild1,
13567 OPC_CheckPatternPredicate7,
13568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_S),
13569 MVT::f32, 1, 1,
13570 11,
13571 OPC_CheckChild0Integer, 69|128,50,
13572 OPC_RecordChild1,
13573 OPC_CheckPatternPredicate7,
13574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_D),
13575 MVT::f64, 1, 1,
13576 11,
13577 OPC_CheckChild0Integer, 71|128,50,
13578 OPC_RecordChild1,
13579 OPC_CheckPatternPredicate7,
13580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_D),
13581 MVT::f64, 1, 1,
13582 19,
13583 OPC_CheckChild0Integer, 117|128,58,
13584 OPC_RecordChild1,
13585 OPC_MoveChild1,
13586 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13587 OPC_MoveParent,
13588 OPC_CheckPatternPredicate1,
13589 OPC_EmitNodeXForm, 9, 0,
13590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VLDI),
13591 MVT::v2i64, 1, 10,
13592 19,
13593 OPC_CheckChild0Integer, 23|128,60,
13594 OPC_RecordChild1,
13595 OPC_MoveChild1,
13596 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13597 OPC_MoveParent,
13598 OPC_CheckPatternPredicate1,
13599 OPC_EmitNodeXForm, 9, 0,
13600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_B),
13601 MVT::v16i8, 1, 10,
13602 19,
13603 OPC_CheckChild0Integer, 25|128,60,
13604 OPC_RecordChild1,
13605 OPC_MoveChild1,
13606 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13607 OPC_MoveParent,
13608 OPC_CheckPatternPredicate1,
13609 OPC_EmitNodeXForm, 9, 0,
13610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_H),
13611 MVT::v8i16, 1, 10,
13612 19,
13613 OPC_CheckChild0Integer, 26|128,60,
13614 OPC_RecordChild1,
13615 OPC_MoveChild1,
13616 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13617 OPC_MoveParent,
13618 OPC_CheckPatternPredicate1,
13619 OPC_EmitNodeXForm, 9, 0,
13620 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_W),
13621 MVT::v4i32, 1, 10,
13622 19,
13623 OPC_CheckChild0Integer, 24|128,60,
13624 OPC_RecordChild1,
13625 OPC_MoveChild1,
13626 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13627 OPC_MoveParent,
13628 OPC_CheckPatternPredicate1,
13629 OPC_EmitNodeXForm, 9, 0,
13630 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoVREPLI_D),
13631 MVT::v2i64, 1, 10,
13632 20,
13633 OPC_CheckChild0Integer, 51|128,60,
13634 OPC_RecordChild1,
13635 OPC_RecordChild2,
13636 OPC_MoveChild2,
13637 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13638 OPC_MoveParent,
13639 OPC_CheckPatternPredicate1,
13640 OPC_EmitNodeXForm, 9, 1,
13641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_B),
13642 MVT::v16i8, 2, 22,
13643 20,
13644 OPC_CheckChild0Integer, 52|128,60,
13645 OPC_RecordChild1,
13646 OPC_RecordChild2,
13647 OPC_MoveChild2,
13648 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13649 OPC_MoveParent,
13650 OPC_CheckPatternPredicate1,
13651 OPC_EmitNodeXForm, 9, 1,
13652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_BU),
13653 MVT::v16i8, 2, 22,
13654 20,
13655 OPC_CheckChild0Integer, 114|128,59,
13656 OPC_RecordChild1,
13657 OPC_RecordChild2,
13658 OPC_MoveChild2,
13659 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13660 OPC_MoveParent,
13661 OPC_CheckPatternPredicate1,
13662 OPC_EmitNodeXForm, 9, 1,
13663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNORI_B),
13664 MVT::v16i8, 2, 22,
13665 20,
13666 OPC_CheckChild0Integer, 39|128,60,
13667 OPC_RecordChild1,
13668 OPC_RecordChild2,
13669 OPC_MoveChild2,
13670 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13671 OPC_MoveParent,
13672 OPC_CheckPatternPredicate1,
13673 OPC_EmitNodeXForm, 9, 1,
13674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
13675 MVT::v16i8, 2, 22,
13676 20,
13677 OPC_CheckChild0Integer, 105|128,60,
13678 OPC_RecordChild1,
13679 OPC_RecordChild2,
13680 OPC_MoveChild2,
13681 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13682 OPC_MoveParent,
13683 OPC_CheckPatternPredicate1,
13684 OPC_EmitNodeXForm, 9, 1,
13685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
13686 MVT::v8i16, 2, 22,
13687 20,
13688 OPC_CheckChild0Integer, 106|128,60,
13689 OPC_RecordChild1,
13690 OPC_RecordChild2,
13691 OPC_MoveChild2,
13692 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13693 OPC_MoveParent,
13694 OPC_CheckPatternPredicate1,
13695 OPC_EmitNodeXForm, 9, 1,
13696 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
13697 MVT::v8i16, 2, 22,
13698 20,
13699 OPC_CheckChild0Integer, 46|128,61,
13700 OPC_RecordChild1,
13701 OPC_RecordChild2,
13702 OPC_MoveChild2,
13703 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13704 OPC_MoveParent,
13705 OPC_CheckPatternPredicate1,
13706 OPC_EmitNodeXForm, 9, 1,
13707 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
13708 MVT::v16i8, 2, 22,
13709 20,
13710 OPC_CheckChild0Integer, 16|128,61,
13711 OPC_RecordChild1,
13712 OPC_RecordChild2,
13713 OPC_MoveChild2,
13714 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13715 OPC_MoveParent,
13716 OPC_CheckPatternPredicate1,
13717 OPC_EmitNodeXForm, 9, 1,
13718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
13719 MVT::v16i8, 2, 22,
13720 20,
13721 OPC_CheckChild0Integer, 63|128,60,
13722 OPC_RecordChild1,
13723 OPC_RecordChild2,
13724 OPC_MoveChild2,
13725 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13726 OPC_MoveParent,
13727 OPC_CheckPatternPredicate1,
13728 OPC_EmitNodeXForm, 9, 1,
13729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
13730 MVT::v16i8, 2, 22,
13731 20,
13732 OPC_CheckChild0Integer, 87|128,60,
13733 OPC_RecordChild1,
13734 OPC_RecordChild2,
13735 OPC_MoveChild2,
13736 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13737 OPC_MoveParent,
13738 OPC_CheckPatternPredicate1,
13739 OPC_EmitNodeXForm, 9, 1,
13740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
13741 MVT::v16i8, 2, 22,
13742 20,
13743 OPC_CheckChild0Integer, 88|128,60,
13744 OPC_RecordChild1,
13745 OPC_RecordChild2,
13746 OPC_MoveChild2,
13747 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13748 OPC_MoveParent,
13749 OPC_CheckPatternPredicate1,
13750 OPC_EmitNodeXForm, 9, 1,
13751 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
13752 MVT::v16i8, 2, 22,
13753 20,
13754 OPC_CheckChild0Integer, 117|128,60,
13755 OPC_RecordChild1,
13756 OPC_RecordChild2,
13757 OPC_MoveChild2,
13758 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13759 OPC_MoveParent,
13760 OPC_CheckPatternPredicate1,
13761 OPC_EmitNodeXForm, 9, 1,
13762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
13763 MVT::v16i8, 2, 22,
13764 20,
13765 OPC_CheckChild0Integer, 118|128,60,
13766 OPC_RecordChild1,
13767 OPC_RecordChild2,
13768 OPC_MoveChild2,
13769 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13770 OPC_MoveParent,
13771 OPC_CheckPatternPredicate1,
13772 OPC_EmitNodeXForm, 9, 1,
13773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
13774 MVT::v16i8, 2, 22,
13775 20,
13776 OPC_CheckChild0Integer, 31|128,60,
13777 OPC_RecordChild1,
13778 OPC_RecordChild2,
13779 OPC_MoveChild2,
13780 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13781 OPC_MoveParent,
13782 OPC_CheckPatternPredicate1,
13783 OPC_EmitNodeXForm, 9, 1,
13784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
13785 MVT::v16i8, 2, 22,
13786 20,
13787 OPC_CheckChild0Integer, 46|128,57,
13788 OPC_RecordChild1,
13789 OPC_RecordChild2,
13790 OPC_MoveChild2,
13791 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13792 OPC_MoveParent,
13793 OPC_CheckPatternPredicate1,
13794 OPC_EmitNodeXForm, 9, 1,
13795 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
13796 MVT::v16i8, 2, 22,
13797 20,
13798 OPC_CheckChild0Integer, 47|128,57,
13799 OPC_RecordChild1,
13800 OPC_RecordChild2,
13801 OPC_MoveChild2,
13802 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13803 OPC_MoveParent,
13804 OPC_CheckPatternPredicate1,
13805 OPC_EmitNodeXForm, 9, 1,
13806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
13807 MVT::v16i8, 2, 22,
13808 20,
13809 OPC_CheckChild0Integer, 71|128,60,
13810 OPC_RecordChild1,
13811 OPC_RecordChild2,
13812 OPC_MoveChild2,
13813 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13814 OPC_MoveParent,
13815 OPC_CheckPatternPredicate1,
13816 OPC_EmitNodeXForm, 9, 1,
13817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
13818 MVT::v16i8, 2, 22,
13819 20,
13820 OPC_CheckChild0Integer, 55|128,60,
13821 OPC_RecordChild1,
13822 OPC_RecordChild2,
13823 OPC_MoveChild2,
13824 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13825 OPC_MoveParent,
13826 OPC_CheckPatternPredicate1,
13827 OPC_EmitNodeXForm, 9, 1,
13828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_H),
13829 MVT::v8i16, 2, 22,
13830 20,
13831 OPC_CheckChild0Integer, 56|128,60,
13832 OPC_RecordChild1,
13833 OPC_RecordChild2,
13834 OPC_MoveChild2,
13835 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13836 OPC_MoveParent,
13837 OPC_CheckPatternPredicate1,
13838 OPC_EmitNodeXForm, 9, 1,
13839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_HU),
13840 MVT::v8i16, 2, 22,
13841 20,
13842 OPC_CheckChild0Integer, 41|128,60,
13843 OPC_RecordChild1,
13844 OPC_RecordChild2,
13845 OPC_MoveChild2,
13846 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13847 OPC_MoveParent,
13848 OPC_CheckPatternPredicate1,
13849 OPC_EmitNodeXForm, 9, 1,
13850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
13851 MVT::v8i16, 2, 22,
13852 20,
13853 OPC_CheckChild0Integer, 107|128,60,
13854 OPC_RecordChild1,
13855 OPC_RecordChild2,
13856 OPC_MoveChild2,
13857 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13858 OPC_MoveParent,
13859 OPC_CheckPatternPredicate1,
13860 OPC_EmitNodeXForm, 9, 1,
13861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
13862 MVT::v4i32, 2, 22,
13863 20,
13864 OPC_CheckChild0Integer, 108|128,60,
13865 OPC_RecordChild1,
13866 OPC_RecordChild2,
13867 OPC_MoveChild2,
13868 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13869 OPC_MoveParent,
13870 OPC_CheckPatternPredicate1,
13871 OPC_EmitNodeXForm, 9, 1,
13872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
13873 MVT::v4i32, 2, 22,
13874 20,
13875 OPC_CheckChild0Integer, 48|128,61,
13876 OPC_RecordChild1,
13877 OPC_RecordChild2,
13878 OPC_MoveChild2,
13879 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13880 OPC_MoveParent,
13881 OPC_CheckPatternPredicate1,
13882 OPC_EmitNodeXForm, 9, 1,
13883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
13884 MVT::v8i16, 2, 22,
13885 20,
13886 OPC_CheckChild0Integer, 18|128,61,
13887 OPC_RecordChild1,
13888 OPC_RecordChild2,
13889 OPC_MoveChild2,
13890 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13891 OPC_MoveParent,
13892 OPC_CheckPatternPredicate1,
13893 OPC_EmitNodeXForm, 9, 1,
13894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
13895 MVT::v8i16, 2, 22,
13896 20,
13897 OPC_CheckChild0Integer, 65|128,60,
13898 OPC_RecordChild1,
13899 OPC_RecordChild2,
13900 OPC_MoveChild2,
13901 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13902 OPC_MoveParent,
13903 OPC_CheckPatternPredicate1,
13904 OPC_EmitNodeXForm, 9, 1,
13905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
13906 MVT::v8i16, 2, 22,
13907 20,
13908 OPC_CheckChild0Integer, 91|128,60,
13909 OPC_RecordChild1,
13910 OPC_RecordChild2,
13911 OPC_MoveChild2,
13912 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13913 OPC_MoveParent,
13914 OPC_CheckPatternPredicate1,
13915 OPC_EmitNodeXForm, 9, 1,
13916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
13917 MVT::v8i16, 2, 22,
13918 20,
13919 OPC_CheckChild0Integer, 92|128,60,
13920 OPC_RecordChild1,
13921 OPC_RecordChild2,
13922 OPC_MoveChild2,
13923 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13924 OPC_MoveParent,
13925 OPC_CheckPatternPredicate1,
13926 OPC_EmitNodeXForm, 9, 1,
13927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
13928 MVT::v8i16, 2, 22,
13929 20,
13930 OPC_CheckChild0Integer, 121|128,60,
13931 OPC_RecordChild1,
13932 OPC_RecordChild2,
13933 OPC_MoveChild2,
13934 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13935 OPC_MoveParent,
13936 OPC_CheckPatternPredicate1,
13937 OPC_EmitNodeXForm, 9, 1,
13938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
13939 MVT::v8i16, 2, 22,
13940 20,
13941 OPC_CheckChild0Integer, 122|128,60,
13942 OPC_RecordChild1,
13943 OPC_RecordChild2,
13944 OPC_MoveChild2,
13945 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13946 OPC_MoveParent,
13947 OPC_CheckPatternPredicate1,
13948 OPC_EmitNodeXForm, 9, 1,
13949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
13950 MVT::v8i16, 2, 22,
13951 20,
13952 OPC_CheckChild0Integer, 33|128,60,
13953 OPC_RecordChild1,
13954 OPC_RecordChild2,
13955 OPC_MoveChild2,
13956 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13957 OPC_MoveParent,
13958 OPC_CheckPatternPredicate1,
13959 OPC_EmitNodeXForm, 9, 1,
13960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
13961 MVT::v8i16, 2, 22,
13962 20,
13963 OPC_CheckChild0Integer, 73|128,60,
13964 OPC_RecordChild1,
13965 OPC_RecordChild2,
13966 OPC_MoveChild2,
13967 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13968 OPC_MoveParent,
13969 OPC_CheckPatternPredicate1,
13970 OPC_EmitNodeXForm, 9, 1,
13971 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
13972 MVT::v8i16, 2, 22,
13973 20,
13974 OPC_CheckChild0Integer, 57|128,60,
13975 OPC_RecordChild1,
13976 OPC_RecordChild2,
13977 OPC_MoveChild2,
13978 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13979 OPC_MoveParent,
13980 OPC_CheckPatternPredicate1,
13981 OPC_EmitNodeXForm, 9, 1,
13982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_W),
13983 MVT::v4i32, 2, 22,
13984 20,
13985 OPC_CheckChild0Integer, 58|128,60,
13986 OPC_RecordChild1,
13987 OPC_RecordChild2,
13988 OPC_MoveChild2,
13989 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13990 OPC_MoveParent,
13991 OPC_CheckPatternPredicate1,
13992 OPC_EmitNodeXForm, 9, 1,
13993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_WU),
13994 MVT::v4i32, 2, 22,
13995 20,
13996 OPC_CheckChild0Integer, 42|128,60,
13997 OPC_RecordChild1,
13998 OPC_RecordChild2,
13999 OPC_MoveChild2,
14000 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14001 OPC_MoveParent,
14002 OPC_CheckPatternPredicate1,
14003 OPC_EmitNodeXForm, 9, 1,
14004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
14005 MVT::v4i32, 2, 22,
14006 20,
14007 OPC_CheckChild0Integer, 103|128,60,
14008 OPC_RecordChild1,
14009 OPC_RecordChild2,
14010 OPC_MoveChild2,
14011 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14012 OPC_MoveParent,
14013 OPC_CheckPatternPredicate1,
14014 OPC_EmitNodeXForm, 9, 1,
14015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
14016 MVT::v2i64, 2, 22,
14017 20,
14018 OPC_CheckChild0Integer, 104|128,60,
14019 OPC_RecordChild1,
14020 OPC_RecordChild2,
14021 OPC_MoveChild2,
14022 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14023 OPC_MoveParent,
14024 OPC_CheckPatternPredicate1,
14025 OPC_EmitNodeXForm, 9, 1,
14026 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
14027 MVT::v2i64, 2, 22,
14028 20,
14029 OPC_CheckChild0Integer, 49|128,61,
14030 OPC_RecordChild1,
14031 OPC_RecordChild2,
14032 OPC_MoveChild2,
14033 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14034 OPC_MoveParent,
14035 OPC_CheckPatternPredicate1,
14036 OPC_EmitNodeXForm, 9, 1,
14037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
14038 MVT::v4i32, 2, 22,
14039 20,
14040 OPC_CheckChild0Integer, 19|128,61,
14041 OPC_RecordChild1,
14042 OPC_RecordChild2,
14043 OPC_MoveChild2,
14044 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14045 OPC_MoveParent,
14046 OPC_CheckPatternPredicate1,
14047 OPC_EmitNodeXForm, 9, 1,
14048 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
14049 MVT::v4i32, 2, 22,
14050 20,
14051 OPC_CheckChild0Integer, 66|128,60,
14052 OPC_RecordChild1,
14053 OPC_RecordChild2,
14054 OPC_MoveChild2,
14055 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14056 OPC_MoveParent,
14057 OPC_CheckPatternPredicate1,
14058 OPC_EmitNodeXForm, 9, 1,
14059 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
14060 MVT::v4i32, 2, 22,
14061 20,
14062 OPC_CheckChild0Integer, 93|128,60,
14063 OPC_RecordChild1,
14064 OPC_RecordChild2,
14065 OPC_MoveChild2,
14066 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14067 OPC_MoveParent,
14068 OPC_CheckPatternPredicate1,
14069 OPC_EmitNodeXForm, 9, 1,
14070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
14071 MVT::v4i32, 2, 22,
14072 20,
14073 OPC_CheckChild0Integer, 94|128,60,
14074 OPC_RecordChild1,
14075 OPC_RecordChild2,
14076 OPC_MoveChild2,
14077 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14078 OPC_MoveParent,
14079 OPC_CheckPatternPredicate1,
14080 OPC_EmitNodeXForm, 9, 1,
14081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
14082 MVT::v4i32, 2, 22,
14083 20,
14084 OPC_CheckChild0Integer, 123|128,60,
14085 OPC_RecordChild1,
14086 OPC_RecordChild2,
14087 OPC_MoveChild2,
14088 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14089 OPC_MoveParent,
14090 OPC_CheckPatternPredicate1,
14091 OPC_EmitNodeXForm, 9, 1,
14092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
14093 MVT::v4i32, 2, 22,
14094 20,
14095 OPC_CheckChild0Integer, 124|128,60,
14096 OPC_RecordChild1,
14097 OPC_RecordChild2,
14098 OPC_MoveChild2,
14099 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14100 OPC_MoveParent,
14101 OPC_CheckPatternPredicate1,
14102 OPC_EmitNodeXForm, 9, 1,
14103 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
14104 MVT::v4i32, 2, 22,
14105 20,
14106 OPC_CheckChild0Integer, 34|128,60,
14107 OPC_RecordChild1,
14108 OPC_RecordChild2,
14109 OPC_MoveChild2,
14110 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14111 OPC_MoveParent,
14112 OPC_CheckPatternPredicate1,
14113 OPC_EmitNodeXForm, 9, 1,
14114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
14115 MVT::v4i32, 2, 22,
14116 20,
14117 OPC_CheckChild0Integer, 74|128,60,
14118 OPC_RecordChild1,
14119 OPC_RecordChild2,
14120 OPC_MoveChild2,
14121 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14122 OPC_MoveParent,
14123 OPC_CheckPatternPredicate1,
14124 OPC_EmitNodeXForm, 9, 1,
14125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
14126 MVT::v4i32, 2, 22,
14127 20,
14128 OPC_CheckChild0Integer, 53|128,60,
14129 OPC_RecordChild1,
14130 OPC_RecordChild2,
14131 OPC_MoveChild2,
14132 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14133 OPC_MoveParent,
14134 OPC_CheckPatternPredicate1,
14135 OPC_EmitNodeXForm, 9, 1,
14136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_D),
14137 MVT::v2i64, 2, 22,
14138 20,
14139 OPC_CheckChild0Integer, 54|128,60,
14140 OPC_RecordChild1,
14141 OPC_RecordChild2,
14142 OPC_MoveChild2,
14143 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14144 OPC_MoveParent,
14145 OPC_CheckPatternPredicate1,
14146 OPC_EmitNodeXForm, 9, 1,
14147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSAT_DU),
14148 MVT::v2i64, 2, 22,
14149 20,
14150 OPC_CheckChild0Integer, 40|128,60,
14151 OPC_RecordChild1,
14152 OPC_RecordChild2,
14153 OPC_MoveChild2,
14154 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14155 OPC_MoveParent,
14156 OPC_CheckPatternPredicate1,
14157 OPC_EmitNodeXForm, 9, 1,
14158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
14159 MVT::v2i64, 2, 22,
14160 20,
14161 OPC_CheckChild0Integer, 47|128,61,
14162 OPC_RecordChild1,
14163 OPC_RecordChild2,
14164 OPC_MoveChild2,
14165 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14166 OPC_MoveParent,
14167 OPC_CheckPatternPredicate1,
14168 OPC_EmitNodeXForm, 9, 1,
14169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
14170 MVT::v2i64, 2, 22,
14171 20,
14172 OPC_CheckChild0Integer, 17|128,61,
14173 OPC_RecordChild1,
14174 OPC_RecordChild2,
14175 OPC_MoveChild2,
14176 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14177 OPC_MoveParent,
14178 OPC_CheckPatternPredicate1,
14179 OPC_EmitNodeXForm, 9, 1,
14180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
14181 MVT::v2i64, 2, 22,
14182 20,
14183 OPC_CheckChild0Integer, 64|128,60,
14184 OPC_RecordChild1,
14185 OPC_RecordChild2,
14186 OPC_MoveChild2,
14187 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14188 OPC_MoveParent,
14189 OPC_CheckPatternPredicate1,
14190 OPC_EmitNodeXForm, 9, 1,
14191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
14192 MVT::v2i64, 2, 22,
14193 20,
14194 OPC_CheckChild0Integer, 89|128,60,
14195 OPC_RecordChild1,
14196 OPC_RecordChild2,
14197 OPC_MoveChild2,
14198 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14199 OPC_MoveParent,
14200 OPC_CheckPatternPredicate1,
14201 OPC_EmitNodeXForm, 9, 1,
14202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
14203 MVT::v2i64, 2, 22,
14204 20,
14205 OPC_CheckChild0Integer, 90|128,60,
14206 OPC_RecordChild1,
14207 OPC_RecordChild2,
14208 OPC_MoveChild2,
14209 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14210 OPC_MoveParent,
14211 OPC_CheckPatternPredicate1,
14212 OPC_EmitNodeXForm, 9, 1,
14213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
14214 MVT::v2i64, 2, 22,
14215 20,
14216 OPC_CheckChild0Integer, 119|128,60,
14217 OPC_RecordChild1,
14218 OPC_RecordChild2,
14219 OPC_MoveChild2,
14220 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14221 OPC_MoveParent,
14222 OPC_CheckPatternPredicate1,
14223 OPC_EmitNodeXForm, 9, 1,
14224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
14225 MVT::v2i64, 2, 22,
14226 20,
14227 OPC_CheckChild0Integer, 120|128,60,
14228 OPC_RecordChild1,
14229 OPC_RecordChild2,
14230 OPC_MoveChild2,
14231 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14232 OPC_MoveParent,
14233 OPC_CheckPatternPredicate1,
14234 OPC_EmitNodeXForm, 9, 1,
14235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
14236 MVT::v2i64, 2, 22,
14237 20,
14238 OPC_CheckChild0Integer, 32|128,60,
14239 OPC_RecordChild1,
14240 OPC_RecordChild2,
14241 OPC_MoveChild2,
14242 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14243 OPC_MoveParent,
14244 OPC_CheckPatternPredicate1,
14245 OPC_EmitNodeXForm, 9, 1,
14246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
14247 MVT::v2i64, 2, 22,
14248 21,
14249 OPC_CheckChild0Integer, 38|128,61,
14250 OPC_RecordChild1,
14251 OPC_RecordChild2,
14252 OPC_RecordChild3,
14253 OPC_MoveChild3,
14254 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14255 OPC_MoveParent,
14256 OPC_CheckPatternPredicate1,
14257 OPC_EmitNodeXForm, 9, 2,
14258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_B_H),
14259 MVT::v16i8, 3, 42,
14260 21,
14261 OPC_CheckChild0Integer, 8|128,61,
14262 OPC_RecordChild1,
14263 OPC_RecordChild2,
14264 OPC_RecordChild3,
14265 OPC_MoveChild3,
14266 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14267 OPC_MoveParent,
14268 OPC_CheckPatternPredicate1,
14269 OPC_EmitNodeXForm, 9, 2,
14270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_B_H),
14271 MVT::v16i8, 3, 42,
14272 21,
14273 OPC_CheckChild0Integer, 53|128,61,
14274 OPC_RecordChild1,
14275 OPC_RecordChild2,
14276 OPC_RecordChild3,
14277 OPC_MoveChild3,
14278 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14279 OPC_MoveParent,
14280 OPC_CheckPatternPredicate1,
14281 OPC_EmitNodeXForm, 9, 2,
14282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_B_H),
14283 MVT::v16i8, 3, 42,
14284 21,
14285 OPC_CheckChild0Integer, 23|128,61,
14286 OPC_RecordChild1,
14287 OPC_RecordChild2,
14288 OPC_RecordChild3,
14289 OPC_MoveChild3,
14290 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14291 OPC_MoveParent,
14292 OPC_CheckPatternPredicate1,
14293 OPC_EmitNodeXForm, 9, 2,
14294 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_B_H),
14295 MVT::v16i8, 3, 42,
14296 21,
14297 OPC_CheckChild0Integer, 91|128,61,
14298 OPC_RecordChild1,
14299 OPC_RecordChild2,
14300 OPC_RecordChild3,
14301 OPC_MoveChild3,
14302 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14303 OPC_MoveParent,
14304 OPC_CheckPatternPredicate1,
14305 OPC_EmitNodeXForm, 9, 2,
14306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_B_H),
14307 MVT::v16i8, 3, 42,
14308 21,
14309 OPC_CheckChild0Integer, 63|128,61,
14310 OPC_RecordChild1,
14311 OPC_RecordChild2,
14312 OPC_RecordChild3,
14313 OPC_MoveChild3,
14314 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14315 OPC_MoveParent,
14316 OPC_CheckPatternPredicate1,
14317 OPC_EmitNodeXForm, 9, 2,
14318 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_B_H),
14319 MVT::v16i8, 3, 42,
14320 21,
14321 OPC_CheckChild0Integer, 92|128,61,
14322 OPC_RecordChild1,
14323 OPC_RecordChild2,
14324 OPC_RecordChild3,
14325 OPC_MoveChild3,
14326 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14327 OPC_MoveParent,
14328 OPC_CheckPatternPredicate1,
14329 OPC_EmitNodeXForm, 9, 2,
14330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_BU_H),
14331 MVT::v16i8, 3, 42,
14332 21,
14333 OPC_CheckChild0Integer, 64|128,61,
14334 OPC_RecordChild1,
14335 OPC_RecordChild2,
14336 OPC_RecordChild3,
14337 OPC_MoveChild3,
14338 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14339 OPC_MoveParent,
14340 OPC_CheckPatternPredicate1,
14341 OPC_EmitNodeXForm, 9, 2,
14342 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_BU_H),
14343 MVT::v16i8, 3, 42,
14344 21,
14345 OPC_CheckChild0Integer, 105|128,61,
14346 OPC_RecordChild1,
14347 OPC_RecordChild2,
14348 OPC_RecordChild3,
14349 OPC_MoveChild3,
14350 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14351 OPC_MoveParent,
14352 OPC_CheckPatternPredicate1,
14353 OPC_EmitNodeXForm, 9, 2,
14354 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_B_H),
14355 MVT::v16i8, 3, 42,
14356 21,
14357 OPC_CheckChild0Integer, 77|128,61,
14358 OPC_RecordChild1,
14359 OPC_RecordChild2,
14360 OPC_RecordChild3,
14361 OPC_MoveChild3,
14362 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14363 OPC_MoveParent,
14364 OPC_CheckPatternPredicate1,
14365 OPC_EmitNodeXForm, 9, 2,
14366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_B_H),
14367 MVT::v16i8, 3, 42,
14368 21,
14369 OPC_CheckChild0Integer, 106|128,61,
14370 OPC_RecordChild1,
14371 OPC_RecordChild2,
14372 OPC_RecordChild3,
14373 OPC_MoveChild3,
14374 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14375 OPC_MoveParent,
14376 OPC_CheckPatternPredicate1,
14377 OPC_EmitNodeXForm, 9, 2,
14378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_BU_H),
14379 MVT::v16i8, 3, 42,
14380 21,
14381 OPC_CheckChild0Integer, 78|128,61,
14382 OPC_RecordChild1,
14383 OPC_RecordChild2,
14384 OPC_RecordChild3,
14385 OPC_MoveChild3,
14386 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14387 OPC_MoveParent,
14388 OPC_CheckPatternPredicate1,
14389 OPC_EmitNodeXForm, 9, 2,
14390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_BU_H),
14391 MVT::v16i8, 3, 42,
14392 21,
14393 OPC_CheckChild0Integer, 53|128,58,
14394 OPC_RecordChild1,
14395 OPC_RecordChild2,
14396 OPC_RecordChild3,
14397 OPC_MoveChild3,
14398 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14399 OPC_MoveParent,
14400 OPC_CheckPatternPredicate1,
14401 OPC_EmitNodeXForm, 9, 2,
14402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_B),
14403 MVT::v16i8, 3, 42,
14404 21,
14405 OPC_CheckChild0Integer, 37|128,57,
14406 OPC_RecordChild1,
14407 OPC_RecordChild2,
14408 OPC_RecordChild3,
14409 OPC_MoveChild3,
14410 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14411 OPC_MoveParent,
14412 OPC_CheckPatternPredicate1,
14413 OPC_EmitNodeXForm, 9, 2,
14414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
14415 MVT::v16i8, 3, 42,
14416 21,
14417 OPC_CheckChild0Integer, 74|128,57,
14418 OPC_RecordChild1,
14419 OPC_RecordChild2,
14420 OPC_RecordChild3,
14421 OPC_MoveChild3,
14422 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14423 OPC_MoveParent,
14424 OPC_CheckPatternPredicate1,
14425 OPC_EmitNodeXForm, 9, 2,
14426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
14427 MVT::v16i8, 3, 42,
14428 21,
14429 OPC_CheckChild0Integer, 40|128,61,
14430 OPC_RecordChild1,
14431 OPC_RecordChild2,
14432 OPC_RecordChild3,
14433 OPC_MoveChild3,
14434 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14435 OPC_MoveParent,
14436 OPC_CheckPatternPredicate1,
14437 OPC_EmitNodeXForm, 9, 2,
14438 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_H_W),
14439 MVT::v8i16, 3, 42,
14440 21,
14441 OPC_CheckChild0Integer, 10|128,61,
14442 OPC_RecordChild1,
14443 OPC_RecordChild2,
14444 OPC_RecordChild3,
14445 OPC_MoveChild3,
14446 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14447 OPC_MoveParent,
14448 OPC_CheckPatternPredicate1,
14449 OPC_EmitNodeXForm, 9, 2,
14450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_H_W),
14451 MVT::v8i16, 3, 42,
14452 21,
14453 OPC_CheckChild0Integer, 55|128,61,
14454 OPC_RecordChild1,
14455 OPC_RecordChild2,
14456 OPC_RecordChild3,
14457 OPC_MoveChild3,
14458 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14459 OPC_MoveParent,
14460 OPC_CheckPatternPredicate1,
14461 OPC_EmitNodeXForm, 9, 2,
14462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_H_W),
14463 MVT::v8i16, 3, 42,
14464 21,
14465 OPC_CheckChild0Integer, 25|128,61,
14466 OPC_RecordChild1,
14467 OPC_RecordChild2,
14468 OPC_RecordChild3,
14469 OPC_MoveChild3,
14470 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14471 OPC_MoveParent,
14472 OPC_CheckPatternPredicate1,
14473 OPC_EmitNodeXForm, 9, 2,
14474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_H_W),
14475 MVT::v8i16, 3, 42,
14476 21,
14477 OPC_CheckChild0Integer, 95|128,61,
14478 OPC_RecordChild1,
14479 OPC_RecordChild2,
14480 OPC_RecordChild3,
14481 OPC_MoveChild3,
14482 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14483 OPC_MoveParent,
14484 OPC_CheckPatternPredicate1,
14485 OPC_EmitNodeXForm, 9, 2,
14486 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_H_W),
14487 MVT::v8i16, 3, 42,
14488 21,
14489 OPC_CheckChild0Integer, 67|128,61,
14490 OPC_RecordChild1,
14491 OPC_RecordChild2,
14492 OPC_RecordChild3,
14493 OPC_MoveChild3,
14494 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14495 OPC_MoveParent,
14496 OPC_CheckPatternPredicate1,
14497 OPC_EmitNodeXForm, 9, 2,
14498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_H_W),
14499 MVT::v8i16, 3, 42,
14500 21,
14501 OPC_CheckChild0Integer, 96|128,61,
14502 OPC_RecordChild1,
14503 OPC_RecordChild2,
14504 OPC_RecordChild3,
14505 OPC_MoveChild3,
14506 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14507 OPC_MoveParent,
14508 OPC_CheckPatternPredicate1,
14509 OPC_EmitNodeXForm, 9, 2,
14510 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_HU_W),
14511 MVT::v8i16, 3, 42,
14512 21,
14513 OPC_CheckChild0Integer, 68|128,61,
14514 OPC_RecordChild1,
14515 OPC_RecordChild2,
14516 OPC_RecordChild3,
14517 OPC_MoveChild3,
14518 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14519 OPC_MoveParent,
14520 OPC_CheckPatternPredicate1,
14521 OPC_EmitNodeXForm, 9, 2,
14522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_HU_W),
14523 MVT::v8i16, 3, 42,
14524 21,
14525 OPC_CheckChild0Integer, 109|128,61,
14526 OPC_RecordChild1,
14527 OPC_RecordChild2,
14528 OPC_RecordChild3,
14529 OPC_MoveChild3,
14530 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14531 OPC_MoveParent,
14532 OPC_CheckPatternPredicate1,
14533 OPC_EmitNodeXForm, 9, 2,
14534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_H_W),
14535 MVT::v8i16, 3, 42,
14536 21,
14537 OPC_CheckChild0Integer, 81|128,61,
14538 OPC_RecordChild1,
14539 OPC_RecordChild2,
14540 OPC_RecordChild3,
14541 OPC_MoveChild3,
14542 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14543 OPC_MoveParent,
14544 OPC_CheckPatternPredicate1,
14545 OPC_EmitNodeXForm, 9, 2,
14546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_H_W),
14547 MVT::v8i16, 3, 42,
14548 21,
14549 OPC_CheckChild0Integer, 110|128,61,
14550 OPC_RecordChild1,
14551 OPC_RecordChild2,
14552 OPC_RecordChild3,
14553 OPC_MoveChild3,
14554 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14555 OPC_MoveParent,
14556 OPC_CheckPatternPredicate1,
14557 OPC_EmitNodeXForm, 9, 2,
14558 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_HU_W),
14559 MVT::v8i16, 3, 42,
14560 21,
14561 OPC_CheckChild0Integer, 82|128,61,
14562 OPC_RecordChild1,
14563 OPC_RecordChild2,
14564 OPC_RecordChild3,
14565 OPC_MoveChild3,
14566 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14567 OPC_MoveParent,
14568 OPC_CheckPatternPredicate1,
14569 OPC_EmitNodeXForm, 9, 2,
14570 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_HU_W),
14571 MVT::v8i16, 3, 42,
14572 21,
14573 OPC_CheckChild0Integer, 54|128,58,
14574 OPC_RecordChild1,
14575 OPC_RecordChild2,
14576 OPC_RecordChild3,
14577 OPC_MoveChild3,
14578 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14579 OPC_MoveParent,
14580 OPC_CheckPatternPredicate1,
14581 OPC_EmitNodeXForm, 9, 2,
14582 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTPI_H),
14583 MVT::v8i16, 3, 42,
14584 21,
14585 OPC_CheckChild0Integer, 76|128,57,
14586 OPC_RecordChild1,
14587 OPC_RecordChild2,
14588 OPC_RecordChild3,
14589 OPC_MoveChild3,
14590 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14591 OPC_MoveParent,
14592 OPC_CheckPatternPredicate1,
14593 OPC_EmitNodeXForm, 9, 2,
14594 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
14595 MVT::v8i16, 3, 42,
14596 21,
14597 OPC_CheckChild0Integer, 41|128,61,
14598 OPC_RecordChild1,
14599 OPC_RecordChild2,
14600 OPC_RecordChild3,
14601 OPC_MoveChild3,
14602 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14603 OPC_MoveParent,
14604 OPC_CheckPatternPredicate1,
14605 OPC_EmitNodeXForm, 9, 2,
14606 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_W_D),
14607 MVT::v4i32, 3, 42,
14608 21,
14609 OPC_CheckChild0Integer, 11|128,61,
14610 OPC_RecordChild1,
14611 OPC_RecordChild2,
14612 OPC_RecordChild3,
14613 OPC_MoveChild3,
14614 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14615 OPC_MoveParent,
14616 OPC_CheckPatternPredicate1,
14617 OPC_EmitNodeXForm, 9, 2,
14618 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_W_D),
14619 MVT::v4i32, 3, 42,
14620 21,
14621 OPC_CheckChild0Integer, 56|128,61,
14622 OPC_RecordChild1,
14623 OPC_RecordChild2,
14624 OPC_RecordChild3,
14625 OPC_MoveChild3,
14626 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14627 OPC_MoveParent,
14628 OPC_CheckPatternPredicate1,
14629 OPC_EmitNodeXForm, 9, 2,
14630 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_W_D),
14631 MVT::v4i32, 3, 42,
14632 21,
14633 OPC_CheckChild0Integer, 26|128,61,
14634 OPC_RecordChild1,
14635 OPC_RecordChild2,
14636 OPC_RecordChild3,
14637 OPC_MoveChild3,
14638 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14639 OPC_MoveParent,
14640 OPC_CheckPatternPredicate1,
14641 OPC_EmitNodeXForm, 9, 2,
14642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_W_D),
14643 MVT::v4i32, 3, 42,
14644 21,
14645 OPC_CheckChild0Integer, 97|128,61,
14646 OPC_RecordChild1,
14647 OPC_RecordChild2,
14648 OPC_RecordChild3,
14649 OPC_MoveChild3,
14650 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14651 OPC_MoveParent,
14652 OPC_CheckPatternPredicate1,
14653 OPC_EmitNodeXForm, 9, 2,
14654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_W_D),
14655 MVT::v4i32, 3, 42,
14656 21,
14657 OPC_CheckChild0Integer, 69|128,61,
14658 OPC_RecordChild1,
14659 OPC_RecordChild2,
14660 OPC_RecordChild3,
14661 OPC_MoveChild3,
14662 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14663 OPC_MoveParent,
14664 OPC_CheckPatternPredicate1,
14665 OPC_EmitNodeXForm, 9, 2,
14666 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_W_D),
14667 MVT::v4i32, 3, 42,
14668 21,
14669 OPC_CheckChild0Integer, 98|128,61,
14670 OPC_RecordChild1,
14671 OPC_RecordChild2,
14672 OPC_RecordChild3,
14673 OPC_MoveChild3,
14674 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14675 OPC_MoveParent,
14676 OPC_CheckPatternPredicate1,
14677 OPC_EmitNodeXForm, 9, 2,
14678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_WU_D),
14679 MVT::v4i32, 3, 42,
14680 21,
14681 OPC_CheckChild0Integer, 70|128,61,
14682 OPC_RecordChild1,
14683 OPC_RecordChild2,
14684 OPC_RecordChild3,
14685 OPC_MoveChild3,
14686 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14687 OPC_MoveParent,
14688 OPC_CheckPatternPredicate1,
14689 OPC_EmitNodeXForm, 9, 2,
14690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_WU_D),
14691 MVT::v4i32, 3, 42,
14692 21,
14693 OPC_CheckChild0Integer, 111|128,61,
14694 OPC_RecordChild1,
14695 OPC_RecordChild2,
14696 OPC_RecordChild3,
14697 OPC_MoveChild3,
14698 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14699 OPC_MoveParent,
14700 OPC_CheckPatternPredicate1,
14701 OPC_EmitNodeXForm, 9, 2,
14702 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_W_D),
14703 MVT::v4i32, 3, 42,
14704 21,
14705 OPC_CheckChild0Integer, 83|128,61,
14706 OPC_RecordChild1,
14707 OPC_RecordChild2,
14708 OPC_RecordChild3,
14709 OPC_MoveChild3,
14710 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14711 OPC_MoveParent,
14712 OPC_CheckPatternPredicate1,
14713 OPC_EmitNodeXForm, 9, 2,
14714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_W_D),
14715 MVT::v4i32, 3, 42,
14716 21,
14717 OPC_CheckChild0Integer, 112|128,61,
14718 OPC_RecordChild1,
14719 OPC_RecordChild2,
14720 OPC_RecordChild3,
14721 OPC_MoveChild3,
14722 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14723 OPC_MoveParent,
14724 OPC_CheckPatternPredicate1,
14725 OPC_EmitNodeXForm, 9, 2,
14726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_WU_D),
14727 MVT::v4i32, 3, 42,
14728 21,
14729 OPC_CheckChild0Integer, 84|128,61,
14730 OPC_RecordChild1,
14731 OPC_RecordChild2,
14732 OPC_RecordChild3,
14733 OPC_MoveChild3,
14734 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14735 OPC_MoveParent,
14736 OPC_CheckPatternPredicate1,
14737 OPC_EmitNodeXForm, 9, 2,
14738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_WU_D),
14739 MVT::v4i32, 3, 42,
14740 21,
14741 OPC_CheckChild0Integer, 2|128,60,
14742 OPC_RecordChild1,
14743 OPC_RecordChild2,
14744 OPC_RecordChild3,
14745 OPC_MoveChild3,
14746 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14747 OPC_MoveParent,
14748 OPC_CheckPatternPredicate1,
14749 OPC_EmitNodeXForm, 9, 2,
14750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
14751 MVT::v4i32, 3, 42,
14752 21,
14753 OPC_CheckChild0Integer, 77|128,57,
14754 OPC_RecordChild1,
14755 OPC_RecordChild2,
14756 OPC_RecordChild3,
14757 OPC_MoveChild3,
14758 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14759 OPC_MoveParent,
14760 OPC_CheckPatternPredicate1,
14761 OPC_EmitNodeXForm, 9, 2,
14762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
14763 MVT::v4i32, 3, 42,
14764 21,
14765 OPC_CheckChild0Integer, 39|128,61,
14766 OPC_RecordChild1,
14767 OPC_RecordChild2,
14768 OPC_RecordChild3,
14769 OPC_MoveChild3,
14770 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14771 OPC_MoveParent,
14772 OPC_CheckPatternPredicate1,
14773 OPC_EmitNodeXForm, 9, 2,
14774 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLNI_D_Q),
14775 MVT::v2i64, 3, 42,
14776 21,
14777 OPC_CheckChild0Integer, 9|128,61,
14778 OPC_RecordChild1,
14779 OPC_RecordChild2,
14780 OPC_RecordChild3,
14781 OPC_MoveChild3,
14782 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14783 OPC_MoveParent,
14784 OPC_CheckPatternPredicate1,
14785 OPC_EmitNodeXForm, 9, 2,
14786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRANI_D_Q),
14787 MVT::v2i64, 3, 42,
14788 21,
14789 OPC_CheckChild0Integer, 54|128,61,
14790 OPC_RecordChild1,
14791 OPC_RecordChild2,
14792 OPC_RecordChild3,
14793 OPC_MoveChild3,
14794 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14795 OPC_MoveParent,
14796 OPC_CheckPatternPredicate1,
14797 OPC_EmitNodeXForm, 9, 2,
14798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRNI_D_Q),
14799 MVT::v2i64, 3, 42,
14800 21,
14801 OPC_CheckChild0Integer, 24|128,61,
14802 OPC_RecordChild1,
14803 OPC_RecordChild2,
14804 OPC_RecordChild3,
14805 OPC_MoveChild3,
14806 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14807 OPC_MoveParent,
14808 OPC_CheckPatternPredicate1,
14809 OPC_EmitNodeXForm, 9, 2,
14810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARNI_D_Q),
14811 MVT::v2i64, 3, 42,
14812 21,
14813 OPC_CheckChild0Integer, 93|128,61,
14814 OPC_RecordChild1,
14815 OPC_RecordChild2,
14816 OPC_RecordChild3,
14817 OPC_MoveChild3,
14818 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14819 OPC_MoveParent,
14820 OPC_CheckPatternPredicate1,
14821 OPC_EmitNodeXForm, 9, 2,
14822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_D_Q),
14823 MVT::v2i64, 3, 42,
14824 21,
14825 OPC_CheckChild0Integer, 65|128,61,
14826 OPC_RecordChild1,
14827 OPC_RecordChild2,
14828 OPC_RecordChild3,
14829 OPC_MoveChild3,
14830 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14831 OPC_MoveParent,
14832 OPC_CheckPatternPredicate1,
14833 OPC_EmitNodeXForm, 9, 2,
14834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_D_Q),
14835 MVT::v2i64, 3, 42,
14836 21,
14837 OPC_CheckChild0Integer, 94|128,61,
14838 OPC_RecordChild1,
14839 OPC_RecordChild2,
14840 OPC_RecordChild3,
14841 OPC_MoveChild3,
14842 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14843 OPC_MoveParent,
14844 OPC_CheckPatternPredicate1,
14845 OPC_EmitNodeXForm, 9, 2,
14846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLNI_DU_Q),
14847 MVT::v2i64, 3, 42,
14848 21,
14849 OPC_CheckChild0Integer, 66|128,61,
14850 OPC_RecordChild1,
14851 OPC_RecordChild2,
14852 OPC_RecordChild3,
14853 OPC_MoveChild3,
14854 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14855 OPC_MoveParent,
14856 OPC_CheckPatternPredicate1,
14857 OPC_EmitNodeXForm, 9, 2,
14858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRANI_DU_Q),
14859 MVT::v2i64, 3, 42,
14860 21,
14861 OPC_CheckChild0Integer, 107|128,61,
14862 OPC_RecordChild1,
14863 OPC_RecordChild2,
14864 OPC_RecordChild3,
14865 OPC_MoveChild3,
14866 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14867 OPC_MoveParent,
14868 OPC_CheckPatternPredicate1,
14869 OPC_EmitNodeXForm, 9, 2,
14870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_D_Q),
14871 MVT::v2i64, 3, 42,
14872 21,
14873 OPC_CheckChild0Integer, 79|128,61,
14874 OPC_RecordChild1,
14875 OPC_RecordChild2,
14876 OPC_RecordChild3,
14877 OPC_MoveChild3,
14878 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14879 OPC_MoveParent,
14880 OPC_CheckPatternPredicate1,
14881 OPC_EmitNodeXForm, 9, 2,
14882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_D_Q),
14883 MVT::v2i64, 3, 42,
14884 21,
14885 OPC_CheckChild0Integer, 108|128,61,
14886 OPC_RecordChild1,
14887 OPC_RecordChild2,
14888 OPC_RecordChild3,
14889 OPC_MoveChild3,
14890 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14891 OPC_MoveParent,
14892 OPC_CheckPatternPredicate1,
14893 OPC_EmitNodeXForm, 9, 2,
14894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRNI_DU_Q),
14895 MVT::v2i64, 3, 42,
14896 21,
14897 OPC_CheckChild0Integer, 80|128,61,
14898 OPC_RecordChild1,
14899 OPC_RecordChild2,
14900 OPC_RecordChild3,
14901 OPC_MoveChild3,
14902 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14903 OPC_MoveParent,
14904 OPC_CheckPatternPredicate1,
14905 OPC_EmitNodeXForm, 9, 2,
14906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARNI_DU_Q),
14907 MVT::v2i64, 3, 42,
14908 21,
14909 OPC_CheckChild0Integer, 72|128,60,
14910 OPC_RecordChild1,
14911 OPC_RecordChild2,
14912 OPC_RecordChild3,
14913 OPC_MoveChild3,
14914 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14915 OPC_MoveParent,
14916 OPC_CheckPatternPredicate1,
14917 OPC_EmitNodeXForm, 9, 2,
14918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
14919 MVT::v2i64, 3, 42,
14920 21,
14921 OPC_CheckChild0Integer, 75|128,57,
14922 OPC_RecordChild1,
14923 OPC_RecordChild2,
14924 OPC_RecordChild3,
14925 OPC_MoveChild3,
14926 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14927 OPC_MoveParent,
14928 OPC_CheckPatternPredicate1,
14929 OPC_EmitNodeXForm, 9, 2,
14930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
14931 MVT::v2i64, 3, 42,
14932 19,
14933 OPC_CheckChild0Integer, 27|128,53,
14934 OPC_RecordChild1,
14935 OPC_MoveChild1,
14936 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14937 OPC_MoveParent,
14938 OPC_CheckPatternPredicate0,
14939 OPC_EmitNodeXForm, 9, 0,
14940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVLDI),
14941 MVT::v4i64, 1, 10,
14942 19,
14943 OPC_CheckChild0Integer, 68|128,54,
14944 OPC_RecordChild1,
14945 OPC_MoveChild1,
14946 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14947 OPC_MoveParent,
14948 OPC_CheckPatternPredicate0,
14949 OPC_EmitNodeXForm, 9, 0,
14950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_B),
14951 MVT::v32i8, 1, 10,
14952 19,
14953 OPC_CheckChild0Integer, 70|128,54,
14954 OPC_RecordChild1,
14955 OPC_MoveChild1,
14956 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14957 OPC_MoveParent,
14958 OPC_CheckPatternPredicate0,
14959 OPC_EmitNodeXForm, 9, 0,
14960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_H),
14961 MVT::v16i16, 1, 10,
14962 19,
14963 OPC_CheckChild0Integer, 71|128,54,
14964 OPC_RecordChild1,
14965 OPC_MoveChild1,
14966 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14967 OPC_MoveParent,
14968 OPC_CheckPatternPredicate0,
14969 OPC_EmitNodeXForm, 9, 0,
14970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_W),
14971 MVT::v8i32, 1, 10,
14972 19,
14973 OPC_CheckChild0Integer, 69|128,54,
14974 OPC_RecordChild1,
14975 OPC_MoveChild1,
14976 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14977 OPC_MoveParent,
14978 OPC_CheckPatternPredicate0,
14979 OPC_EmitNodeXForm, 9, 0,
14980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVREPLI_D),
14981 MVT::v4i64, 1, 10,
14982 20,
14983 OPC_CheckChild0Integer, 97|128,54,
14984 OPC_RecordChild1,
14985 OPC_RecordChild2,
14986 OPC_MoveChild2,
14987 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14988 OPC_MoveParent,
14989 OPC_CheckPatternPredicate0,
14990 OPC_EmitNodeXForm, 9, 1,
14991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_B),
14992 MVT::v32i8, 2, 22,
14993 20,
14994 OPC_CheckChild0Integer, 98|128,54,
14995 OPC_RecordChild1,
14996 OPC_RecordChild2,
14997 OPC_MoveChild2,
14998 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
14999 OPC_MoveParent,
15000 OPC_CheckPatternPredicate0,
15001 OPC_EmitNodeXForm, 9, 1,
15002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_BU),
15003 MVT::v32i8, 2, 22,
15004 20,
15005 OPC_CheckChild0Integer, 24|128,54,
15006 OPC_RecordChild1,
15007 OPC_RecordChild2,
15008 OPC_MoveChild2,
15009 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15010 OPC_MoveParent,
15011 OPC_CheckPatternPredicate0,
15012 OPC_EmitNodeXForm, 9, 1,
15013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNORI_B),
15014 MVT::v32i8, 2, 22,
15015 20,
15016 OPC_CheckChild0Integer, 85|128,54,
15017 OPC_RecordChild1,
15018 OPC_RecordChild2,
15019 OPC_MoveChild2,
15020 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15021 OPC_MoveParent,
15022 OPC_CheckPatternPredicate0,
15023 OPC_EmitNodeXForm, 9, 1,
15024 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
15025 MVT::v32i8, 2, 22,
15026 20,
15027 OPC_CheckChild0Integer, 23|128,55,
15028 OPC_RecordChild1,
15029 OPC_RecordChild2,
15030 OPC_MoveChild2,
15031 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15032 OPC_MoveParent,
15033 OPC_CheckPatternPredicate0,
15034 OPC_EmitNodeXForm, 9, 1,
15035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
15036 MVT::v16i16, 2, 22,
15037 20,
15038 OPC_CheckChild0Integer, 24|128,55,
15039 OPC_RecordChild1,
15040 OPC_RecordChild2,
15041 OPC_MoveChild2,
15042 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15043 OPC_MoveParent,
15044 OPC_CheckPatternPredicate0,
15045 OPC_EmitNodeXForm, 9, 1,
15046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
15047 MVT::v16i16, 2, 22,
15048 20,
15049 OPC_CheckChild0Integer, 92|128,55,
15050 OPC_RecordChild1,
15051 OPC_RecordChild2,
15052 OPC_MoveChild2,
15053 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15054 OPC_MoveParent,
15055 OPC_CheckPatternPredicate0,
15056 OPC_EmitNodeXForm, 9, 1,
15057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
15058 MVT::v32i8, 2, 22,
15059 20,
15060 OPC_CheckChild0Integer, 62|128,55,
15061 OPC_RecordChild1,
15062 OPC_RecordChild2,
15063 OPC_MoveChild2,
15064 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15065 OPC_MoveParent,
15066 OPC_CheckPatternPredicate0,
15067 OPC_EmitNodeXForm, 9, 1,
15068 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
15069 MVT::v32i8, 2, 22,
15070 20,
15071 OPC_CheckChild0Integer, 109|128,54,
15072 OPC_RecordChild1,
15073 OPC_RecordChild2,
15074 OPC_MoveChild2,
15075 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15076 OPC_MoveParent,
15077 OPC_CheckPatternPredicate0,
15078 OPC_EmitNodeXForm, 9, 1,
15079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
15080 MVT::v32i8, 2, 22,
15081 20,
15082 OPC_CheckChild0Integer, 5|128,55,
15083 OPC_RecordChild1,
15084 OPC_RecordChild2,
15085 OPC_MoveChild2,
15086 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15087 OPC_MoveParent,
15088 OPC_CheckPatternPredicate0,
15089 OPC_EmitNodeXForm, 9, 1,
15090 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
15091 MVT::v32i8, 2, 22,
15092 20,
15093 OPC_CheckChild0Integer, 6|128,55,
15094 OPC_RecordChild1,
15095 OPC_RecordChild2,
15096 OPC_MoveChild2,
15097 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15098 OPC_MoveParent,
15099 OPC_CheckPatternPredicate0,
15100 OPC_EmitNodeXForm, 9, 1,
15101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
15102 MVT::v32i8, 2, 22,
15103 20,
15104 OPC_CheckChild0Integer, 35|128,55,
15105 OPC_RecordChild1,
15106 OPC_RecordChild2,
15107 OPC_MoveChild2,
15108 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15109 OPC_MoveParent,
15110 OPC_CheckPatternPredicate0,
15111 OPC_EmitNodeXForm, 9, 1,
15112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
15113 MVT::v32i8, 2, 22,
15114 20,
15115 OPC_CheckChild0Integer, 36|128,55,
15116 OPC_RecordChild1,
15117 OPC_RecordChild2,
15118 OPC_MoveChild2,
15119 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15120 OPC_MoveParent,
15121 OPC_CheckPatternPredicate0,
15122 OPC_EmitNodeXForm, 9, 1,
15123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
15124 MVT::v32i8, 2, 22,
15125 20,
15126 OPC_CheckChild0Integer, 60|128,54,
15127 OPC_RecordChild1,
15128 OPC_RecordChild2,
15129 OPC_MoveChild2,
15130 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15131 OPC_MoveParent,
15132 OPC_CheckPatternPredicate0,
15133 OPC_EmitNodeXForm, 9, 1,
15134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
15135 MVT::v32i8, 2, 22,
15136 20,
15137 OPC_CheckChild0Integer, 84|128,51,
15138 OPC_RecordChild1,
15139 OPC_RecordChild2,
15140 OPC_MoveChild2,
15141 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15142 OPC_MoveParent,
15143 OPC_CheckPatternPredicate0,
15144 OPC_EmitNodeXForm, 9, 1,
15145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
15146 MVT::v32i8, 2, 22,
15147 20,
15148 OPC_CheckChild0Integer, 85|128,51,
15149 OPC_RecordChild1,
15150 OPC_RecordChild2,
15151 OPC_MoveChild2,
15152 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15153 OPC_MoveParent,
15154 OPC_CheckPatternPredicate0,
15155 OPC_EmitNodeXForm, 9, 1,
15156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
15157 MVT::v32i8, 2, 22,
15158 20,
15159 OPC_CheckChild0Integer, 117|128,54,
15160 OPC_RecordChild1,
15161 OPC_RecordChild2,
15162 OPC_MoveChild2,
15163 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15164 OPC_MoveParent,
15165 OPC_CheckPatternPredicate0,
15166 OPC_EmitNodeXForm, 9, 1,
15167 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
15168 MVT::v32i8, 2, 22,
15169 20,
15170 OPC_CheckChild0Integer, 101|128,54,
15171 OPC_RecordChild1,
15172 OPC_RecordChild2,
15173 OPC_MoveChild2,
15174 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15175 OPC_MoveParent,
15176 OPC_CheckPatternPredicate0,
15177 OPC_EmitNodeXForm, 9, 1,
15178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_H),
15179 MVT::v16i16, 2, 22,
15180 20,
15181 OPC_CheckChild0Integer, 102|128,54,
15182 OPC_RecordChild1,
15183 OPC_RecordChild2,
15184 OPC_MoveChild2,
15185 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15186 OPC_MoveParent,
15187 OPC_CheckPatternPredicate0,
15188 OPC_EmitNodeXForm, 9, 1,
15189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_HU),
15190 MVT::v16i16, 2, 22,
15191 20,
15192 OPC_CheckChild0Integer, 87|128,54,
15193 OPC_RecordChild1,
15194 OPC_RecordChild2,
15195 OPC_MoveChild2,
15196 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15197 OPC_MoveParent,
15198 OPC_CheckPatternPredicate0,
15199 OPC_EmitNodeXForm, 9, 1,
15200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
15201 MVT::v16i16, 2, 22,
15202 20,
15203 OPC_CheckChild0Integer, 25|128,55,
15204 OPC_RecordChild1,
15205 OPC_RecordChild2,
15206 OPC_MoveChild2,
15207 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15208 OPC_MoveParent,
15209 OPC_CheckPatternPredicate0,
15210 OPC_EmitNodeXForm, 9, 1,
15211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
15212 MVT::v8i32, 2, 22,
15213 20,
15214 OPC_CheckChild0Integer, 26|128,55,
15215 OPC_RecordChild1,
15216 OPC_RecordChild2,
15217 OPC_MoveChild2,
15218 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15219 OPC_MoveParent,
15220 OPC_CheckPatternPredicate0,
15221 OPC_EmitNodeXForm, 9, 1,
15222 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
15223 MVT::v8i32, 2, 22,
15224 20,
15225 OPC_CheckChild0Integer, 94|128,55,
15226 OPC_RecordChild1,
15227 OPC_RecordChild2,
15228 OPC_MoveChild2,
15229 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15230 OPC_MoveParent,
15231 OPC_CheckPatternPredicate0,
15232 OPC_EmitNodeXForm, 9, 1,
15233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
15234 MVT::v16i16, 2, 22,
15235 20,
15236 OPC_CheckChild0Integer, 64|128,55,
15237 OPC_RecordChild1,
15238 OPC_RecordChild2,
15239 OPC_MoveChild2,
15240 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15241 OPC_MoveParent,
15242 OPC_CheckPatternPredicate0,
15243 OPC_EmitNodeXForm, 9, 1,
15244 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
15245 MVT::v16i16, 2, 22,
15246 20,
15247 OPC_CheckChild0Integer, 111|128,54,
15248 OPC_RecordChild1,
15249 OPC_RecordChild2,
15250 OPC_MoveChild2,
15251 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15252 OPC_MoveParent,
15253 OPC_CheckPatternPredicate0,
15254 OPC_EmitNodeXForm, 9, 1,
15255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
15256 MVT::v16i16, 2, 22,
15257 20,
15258 OPC_CheckChild0Integer, 9|128,55,
15259 OPC_RecordChild1,
15260 OPC_RecordChild2,
15261 OPC_MoveChild2,
15262 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15263 OPC_MoveParent,
15264 OPC_CheckPatternPredicate0,
15265 OPC_EmitNodeXForm, 9, 1,
15266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
15267 MVT::v16i16, 2, 22,
15268 20,
15269 OPC_CheckChild0Integer, 10|128,55,
15270 OPC_RecordChild1,
15271 OPC_RecordChild2,
15272 OPC_MoveChild2,
15273 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15274 OPC_MoveParent,
15275 OPC_CheckPatternPredicate0,
15276 OPC_EmitNodeXForm, 9, 1,
15277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
15278 MVT::v16i16, 2, 22,
15279 20,
15280 OPC_CheckChild0Integer, 39|128,55,
15281 OPC_RecordChild1,
15282 OPC_RecordChild2,
15283 OPC_MoveChild2,
15284 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15285 OPC_MoveParent,
15286 OPC_CheckPatternPredicate0,
15287 OPC_EmitNodeXForm, 9, 1,
15288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
15289 MVT::v16i16, 2, 22,
15290 20,
15291 OPC_CheckChild0Integer, 40|128,55,
15292 OPC_RecordChild1,
15293 OPC_RecordChild2,
15294 OPC_MoveChild2,
15295 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15296 OPC_MoveParent,
15297 OPC_CheckPatternPredicate0,
15298 OPC_EmitNodeXForm, 9, 1,
15299 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
15300 MVT::v16i16, 2, 22,
15301 20,
15302 OPC_CheckChild0Integer, 62|128,54,
15303 OPC_RecordChild1,
15304 OPC_RecordChild2,
15305 OPC_MoveChild2,
15306 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15307 OPC_MoveParent,
15308 OPC_CheckPatternPredicate0,
15309 OPC_EmitNodeXForm, 9, 1,
15310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
15311 MVT::v16i16, 2, 22,
15312 20,
15313 OPC_CheckChild0Integer, 119|128,54,
15314 OPC_RecordChild1,
15315 OPC_RecordChild2,
15316 OPC_MoveChild2,
15317 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15318 OPC_MoveParent,
15319 OPC_CheckPatternPredicate0,
15320 OPC_EmitNodeXForm, 9, 1,
15321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
15322 MVT::v16i16, 2, 22,
15323 20,
15324 OPC_CheckChild0Integer, 103|128,54,
15325 OPC_RecordChild1,
15326 OPC_RecordChild2,
15327 OPC_MoveChild2,
15328 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15329 OPC_MoveParent,
15330 OPC_CheckPatternPredicate0,
15331 OPC_EmitNodeXForm, 9, 1,
15332 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_W),
15333 MVT::v8i32, 2, 22,
15334 20,
15335 OPC_CheckChild0Integer, 104|128,54,
15336 OPC_RecordChild1,
15337 OPC_RecordChild2,
15338 OPC_MoveChild2,
15339 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15340 OPC_MoveParent,
15341 OPC_CheckPatternPredicate0,
15342 OPC_EmitNodeXForm, 9, 1,
15343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_WU),
15344 MVT::v8i32, 2, 22,
15345 20,
15346 OPC_CheckChild0Integer, 88|128,54,
15347 OPC_RecordChild1,
15348 OPC_RecordChild2,
15349 OPC_MoveChild2,
15350 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15351 OPC_MoveParent,
15352 OPC_CheckPatternPredicate0,
15353 OPC_EmitNodeXForm, 9, 1,
15354 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
15355 MVT::v8i32, 2, 22,
15356 20,
15357 OPC_CheckChild0Integer, 21|128,55,
15358 OPC_RecordChild1,
15359 OPC_RecordChild2,
15360 OPC_MoveChild2,
15361 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15362 OPC_MoveParent,
15363 OPC_CheckPatternPredicate0,
15364 OPC_EmitNodeXForm, 9, 1,
15365 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
15366 MVT::v4i64, 2, 22,
15367 20,
15368 OPC_CheckChild0Integer, 22|128,55,
15369 OPC_RecordChild1,
15370 OPC_RecordChild2,
15371 OPC_MoveChild2,
15372 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15373 OPC_MoveParent,
15374 OPC_CheckPatternPredicate0,
15375 OPC_EmitNodeXForm, 9, 1,
15376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
15377 MVT::v4i64, 2, 22,
15378 20,
15379 OPC_CheckChild0Integer, 95|128,55,
15380 OPC_RecordChild1,
15381 OPC_RecordChild2,
15382 OPC_MoveChild2,
15383 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15384 OPC_MoveParent,
15385 OPC_CheckPatternPredicate0,
15386 OPC_EmitNodeXForm, 9, 1,
15387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
15388 MVT::v8i32, 2, 22,
15389 20,
15390 OPC_CheckChild0Integer, 65|128,55,
15391 OPC_RecordChild1,
15392 OPC_RecordChild2,
15393 OPC_MoveChild2,
15394 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15395 OPC_MoveParent,
15396 OPC_CheckPatternPredicate0,
15397 OPC_EmitNodeXForm, 9, 1,
15398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
15399 MVT::v8i32, 2, 22,
15400 20,
15401 OPC_CheckChild0Integer, 112|128,54,
15402 OPC_RecordChild1,
15403 OPC_RecordChild2,
15404 OPC_MoveChild2,
15405 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15406 OPC_MoveParent,
15407 OPC_CheckPatternPredicate0,
15408 OPC_EmitNodeXForm, 9, 1,
15409 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
15410 MVT::v8i32, 2, 22,
15411 20,
15412 OPC_CheckChild0Integer, 11|128,55,
15413 OPC_RecordChild1,
15414 OPC_RecordChild2,
15415 OPC_MoveChild2,
15416 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15417 OPC_MoveParent,
15418 OPC_CheckPatternPredicate0,
15419 OPC_EmitNodeXForm, 9, 1,
15420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
15421 MVT::v8i32, 2, 22,
15422 20,
15423 OPC_CheckChild0Integer, 12|128,55,
15424 OPC_RecordChild1,
15425 OPC_RecordChild2,
15426 OPC_MoveChild2,
15427 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15428 OPC_MoveParent,
15429 OPC_CheckPatternPredicate0,
15430 OPC_EmitNodeXForm, 9, 1,
15431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
15432 MVT::v8i32, 2, 22,
15433 20,
15434 OPC_CheckChild0Integer, 41|128,55,
15435 OPC_RecordChild1,
15436 OPC_RecordChild2,
15437 OPC_MoveChild2,
15438 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15439 OPC_MoveParent,
15440 OPC_CheckPatternPredicate0,
15441 OPC_EmitNodeXForm, 9, 1,
15442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
15443 MVT::v8i32, 2, 22,
15444 20,
15445 OPC_CheckChild0Integer, 42|128,55,
15446 OPC_RecordChild1,
15447 OPC_RecordChild2,
15448 OPC_MoveChild2,
15449 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15450 OPC_MoveParent,
15451 OPC_CheckPatternPredicate0,
15452 OPC_EmitNodeXForm, 9, 1,
15453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
15454 MVT::v8i32, 2, 22,
15455 20,
15456 OPC_CheckChild0Integer, 63|128,54,
15457 OPC_RecordChild1,
15458 OPC_RecordChild2,
15459 OPC_MoveChild2,
15460 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15461 OPC_MoveParent,
15462 OPC_CheckPatternPredicate0,
15463 OPC_EmitNodeXForm, 9, 1,
15464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
15465 MVT::v8i32, 2, 22,
15466 20,
15467 OPC_CheckChild0Integer, 120|128,54,
15468 OPC_RecordChild1,
15469 OPC_RecordChild2,
15470 OPC_MoveChild2,
15471 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15472 OPC_MoveParent,
15473 OPC_CheckPatternPredicate0,
15474 OPC_EmitNodeXForm, 9, 1,
15475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
15476 MVT::v8i32, 2, 22,
15477 20,
15478 OPC_CheckChild0Integer, 54|128,54,
15479 OPC_RecordChild1,
15480 OPC_RecordChild2,
15481 OPC_MoveChild2,
15482 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15483 OPC_MoveParent,
15484 OPC_CheckPatternPredicate0,
15485 OPC_EmitNodeXForm, 9, 1,
15486 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
15487 MVT::v8i32, 2, 22,
15488 20,
15489 OPC_CheckChild0Integer, 99|128,54,
15490 OPC_RecordChild1,
15491 OPC_RecordChild2,
15492 OPC_MoveChild2,
15493 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15494 OPC_MoveParent,
15495 OPC_CheckPatternPredicate0,
15496 OPC_EmitNodeXForm, 9, 1,
15497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_D),
15498 MVT::v4i64, 2, 22,
15499 20,
15500 OPC_CheckChild0Integer, 100|128,54,
15501 OPC_RecordChild1,
15502 OPC_RecordChild2,
15503 OPC_MoveChild2,
15504 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15505 OPC_MoveParent,
15506 OPC_CheckPatternPredicate0,
15507 OPC_EmitNodeXForm, 9, 1,
15508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSAT_DU),
15509 MVT::v4i64, 2, 22,
15510 20,
15511 OPC_CheckChild0Integer, 86|128,54,
15512 OPC_RecordChild1,
15513 OPC_RecordChild2,
15514 OPC_MoveChild2,
15515 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15516 OPC_MoveParent,
15517 OPC_CheckPatternPredicate0,
15518 OPC_EmitNodeXForm, 9, 1,
15519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
15520 MVT::v4i64, 2, 22,
15521 20,
15522 OPC_CheckChild0Integer, 93|128,55,
15523 OPC_RecordChild1,
15524 OPC_RecordChild2,
15525 OPC_MoveChild2,
15526 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15527 OPC_MoveParent,
15528 OPC_CheckPatternPredicate0,
15529 OPC_EmitNodeXForm, 9, 1,
15530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
15531 MVT::v4i64, 2, 22,
15532 20,
15533 OPC_CheckChild0Integer, 63|128,55,
15534 OPC_RecordChild1,
15535 OPC_RecordChild2,
15536 OPC_MoveChild2,
15537 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15538 OPC_MoveParent,
15539 OPC_CheckPatternPredicate0,
15540 OPC_EmitNodeXForm, 9, 1,
15541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
15542 MVT::v4i64, 2, 22,
15543 20,
15544 OPC_CheckChild0Integer, 110|128,54,
15545 OPC_RecordChild1,
15546 OPC_RecordChild2,
15547 OPC_MoveChild2,
15548 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15549 OPC_MoveParent,
15550 OPC_CheckPatternPredicate0,
15551 OPC_EmitNodeXForm, 9, 1,
15552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
15553 MVT::v4i64, 2, 22,
15554 20,
15555 OPC_CheckChild0Integer, 7|128,55,
15556 OPC_RecordChild1,
15557 OPC_RecordChild2,
15558 OPC_MoveChild2,
15559 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15560 OPC_MoveParent,
15561 OPC_CheckPatternPredicate0,
15562 OPC_EmitNodeXForm, 9, 1,
15563 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
15564 MVT::v4i64, 2, 22,
15565 20,
15566 OPC_CheckChild0Integer, 8|128,55,
15567 OPC_RecordChild1,
15568 OPC_RecordChild2,
15569 OPC_MoveChild2,
15570 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15571 OPC_MoveParent,
15572 OPC_CheckPatternPredicate0,
15573 OPC_EmitNodeXForm, 9, 1,
15574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
15575 MVT::v4i64, 2, 22,
15576 20,
15577 OPC_CheckChild0Integer, 37|128,55,
15578 OPC_RecordChild1,
15579 OPC_RecordChild2,
15580 OPC_MoveChild2,
15581 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15582 OPC_MoveParent,
15583 OPC_CheckPatternPredicate0,
15584 OPC_EmitNodeXForm, 9, 1,
15585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
15586 MVT::v4i64, 2, 22,
15587 20,
15588 OPC_CheckChild0Integer, 38|128,55,
15589 OPC_RecordChild1,
15590 OPC_RecordChild2,
15591 OPC_MoveChild2,
15592 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15593 OPC_MoveParent,
15594 OPC_CheckPatternPredicate0,
15595 OPC_EmitNodeXForm, 9, 1,
15596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
15597 MVT::v4i64, 2, 22,
15598 20,
15599 OPC_CheckChild0Integer, 61|128,54,
15600 OPC_RecordChild1,
15601 OPC_RecordChild2,
15602 OPC_MoveChild2,
15603 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15604 OPC_MoveParent,
15605 OPC_CheckPatternPredicate0,
15606 OPC_EmitNodeXForm, 9, 1,
15607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
15608 MVT::v4i64, 2, 22,
15609 20,
15610 OPC_CheckChild0Integer, 41|128,54,
15611 OPC_RecordChild1,
15612 OPC_RecordChild2,
15613 OPC_MoveChild2,
15614 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15615 OPC_MoveParent,
15616 OPC_CheckPatternPredicate0,
15617 OPC_EmitNodeXForm, 9, 1,
15618 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
15619 MVT::v4i64, 2, 22,
15620 20,
15621 OPC_CheckChild0Integer, 52|128,54,
15622 OPC_RecordChild1,
15623 OPC_RecordChild2,
15624 OPC_MoveChild2,
15625 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15626 OPC_MoveParent,
15627 OPC_CheckPatternPredicate0,
15628 OPC_EmitNodeXForm, 9, 1,
15629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
15630 MVT::v4i64, 2, 22,
15631 21,
15632 OPC_CheckChild0Integer, 84|128,55,
15633 OPC_RecordChild1,
15634 OPC_RecordChild2,
15635 OPC_RecordChild3,
15636 OPC_MoveChild3,
15637 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15638 OPC_MoveParent,
15639 OPC_CheckPatternPredicate0,
15640 OPC_EmitNodeXForm, 9, 2,
15641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_B_H),
15642 MVT::v32i8, 3, 42,
15643 21,
15644 OPC_CheckChild0Integer, 54|128,55,
15645 OPC_RecordChild1,
15646 OPC_RecordChild2,
15647 OPC_RecordChild3,
15648 OPC_MoveChild3,
15649 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15650 OPC_MoveParent,
15651 OPC_CheckPatternPredicate0,
15652 OPC_EmitNodeXForm, 9, 2,
15653 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_B_H),
15654 MVT::v32i8, 3, 42,
15655 21,
15656 OPC_CheckChild0Integer, 99|128,55,
15657 OPC_RecordChild1,
15658 OPC_RecordChild2,
15659 OPC_RecordChild3,
15660 OPC_MoveChild3,
15661 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15662 OPC_MoveParent,
15663 OPC_CheckPatternPredicate0,
15664 OPC_EmitNodeXForm, 9, 2,
15665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_B_H),
15666 MVT::v32i8, 3, 42,
15667 21,
15668 OPC_CheckChild0Integer, 69|128,55,
15669 OPC_RecordChild1,
15670 OPC_RecordChild2,
15671 OPC_RecordChild3,
15672 OPC_MoveChild3,
15673 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15674 OPC_MoveParent,
15675 OPC_CheckPatternPredicate0,
15676 OPC_EmitNodeXForm, 9, 2,
15677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_B_H),
15678 MVT::v32i8, 3, 42,
15679 21,
15680 OPC_CheckChild0Integer, 9|128,56,
15681 OPC_RecordChild1,
15682 OPC_RecordChild2,
15683 OPC_RecordChild3,
15684 OPC_MoveChild3,
15685 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15686 OPC_MoveParent,
15687 OPC_CheckPatternPredicate0,
15688 OPC_EmitNodeXForm, 9, 2,
15689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_B_H),
15690 MVT::v32i8, 3, 42,
15691 21,
15692 OPC_CheckChild0Integer, 109|128,55,
15693 OPC_RecordChild1,
15694 OPC_RecordChild2,
15695 OPC_RecordChild3,
15696 OPC_MoveChild3,
15697 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15698 OPC_MoveParent,
15699 OPC_CheckPatternPredicate0,
15700 OPC_EmitNodeXForm, 9, 2,
15701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_B_H),
15702 MVT::v32i8, 3, 42,
15703 21,
15704 OPC_CheckChild0Integer, 10|128,56,
15705 OPC_RecordChild1,
15706 OPC_RecordChild2,
15707 OPC_RecordChild3,
15708 OPC_MoveChild3,
15709 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15710 OPC_MoveParent,
15711 OPC_CheckPatternPredicate0,
15712 OPC_EmitNodeXForm, 9, 2,
15713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_BU_H),
15714 MVT::v32i8, 3, 42,
15715 21,
15716 OPC_CheckChild0Integer, 110|128,55,
15717 OPC_RecordChild1,
15718 OPC_RecordChild2,
15719 OPC_RecordChild3,
15720 OPC_MoveChild3,
15721 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15722 OPC_MoveParent,
15723 OPC_CheckPatternPredicate0,
15724 OPC_EmitNodeXForm, 9, 2,
15725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_BU_H),
15726 MVT::v32i8, 3, 42,
15727 21,
15728 OPC_CheckChild0Integer, 23|128,56,
15729 OPC_RecordChild1,
15730 OPC_RecordChild2,
15731 OPC_RecordChild3,
15732 OPC_MoveChild3,
15733 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15734 OPC_MoveParent,
15735 OPC_CheckPatternPredicate0,
15736 OPC_EmitNodeXForm, 9, 2,
15737 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_B_H),
15738 MVT::v32i8, 3, 42,
15739 21,
15740 OPC_CheckChild0Integer, 123|128,55,
15741 OPC_RecordChild1,
15742 OPC_RecordChild2,
15743 OPC_RecordChild3,
15744 OPC_MoveChild3,
15745 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15746 OPC_MoveParent,
15747 OPC_CheckPatternPredicate0,
15748 OPC_EmitNodeXForm, 9, 2,
15749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_B_H),
15750 MVT::v32i8, 3, 42,
15751 21,
15752 OPC_CheckChild0Integer, 24|128,56,
15753 OPC_RecordChild1,
15754 OPC_RecordChild2,
15755 OPC_RecordChild3,
15756 OPC_MoveChild3,
15757 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15758 OPC_MoveParent,
15759 OPC_CheckPatternPredicate0,
15760 OPC_EmitNodeXForm, 9, 2,
15761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_BU_H),
15762 MVT::v32i8, 3, 42,
15763 21,
15764 OPC_CheckChild0Integer, 124|128,55,
15765 OPC_RecordChild1,
15766 OPC_RecordChild2,
15767 OPC_RecordChild3,
15768 OPC_MoveChild3,
15769 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15770 OPC_MoveParent,
15771 OPC_CheckPatternPredicate0,
15772 OPC_EmitNodeXForm, 9, 2,
15773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_BU_H),
15774 MVT::v32i8, 3, 42,
15775 21,
15776 OPC_CheckChild0Integer, 91|128,52,
15777 OPC_RecordChild1,
15778 OPC_RecordChild2,
15779 OPC_RecordChild3,
15780 OPC_MoveChild3,
15781 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15782 OPC_MoveParent,
15783 OPC_CheckPatternPredicate0,
15784 OPC_EmitNodeXForm, 9, 2,
15785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_B),
15786 MVT::v32i8, 3, 42,
15787 21,
15788 OPC_CheckChild0Integer, 75|128,51,
15789 OPC_RecordChild1,
15790 OPC_RecordChild2,
15791 OPC_RecordChild3,
15792 OPC_MoveChild3,
15793 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15794 OPC_MoveParent,
15795 OPC_CheckPatternPredicate0,
15796 OPC_EmitNodeXForm, 9, 2,
15797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
15798 MVT::v32i8, 3, 42,
15799 21,
15800 OPC_CheckChild0Integer, 112|128,51,
15801 OPC_RecordChild1,
15802 OPC_RecordChild2,
15803 OPC_RecordChild3,
15804 OPC_MoveChild3,
15805 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15806 OPC_MoveParent,
15807 OPC_CheckPatternPredicate0,
15808 OPC_EmitNodeXForm, 9, 2,
15809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
15810 MVT::v32i8, 3, 42,
15811 21,
15812 OPC_CheckChild0Integer, 42|128,54,
15813 OPC_RecordChild1,
15814 OPC_RecordChild2,
15815 OPC_RecordChild3,
15816 OPC_MoveChild3,
15817 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15818 OPC_MoveParent,
15819 OPC_CheckPatternPredicate0,
15820 OPC_EmitNodeXForm, 9, 2,
15821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
15822 MVT::v32i8, 3, 42,
15823 21,
15824 OPC_CheckChild0Integer, 86|128,55,
15825 OPC_RecordChild1,
15826 OPC_RecordChild2,
15827 OPC_RecordChild3,
15828 OPC_MoveChild3,
15829 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15830 OPC_MoveParent,
15831 OPC_CheckPatternPredicate0,
15832 OPC_EmitNodeXForm, 9, 2,
15833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_H_W),
15834 MVT::v16i16, 3, 42,
15835 21,
15836 OPC_CheckChild0Integer, 56|128,55,
15837 OPC_RecordChild1,
15838 OPC_RecordChild2,
15839 OPC_RecordChild3,
15840 OPC_MoveChild3,
15841 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15842 OPC_MoveParent,
15843 OPC_CheckPatternPredicate0,
15844 OPC_EmitNodeXForm, 9, 2,
15845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_H_W),
15846 MVT::v16i16, 3, 42,
15847 21,
15848 OPC_CheckChild0Integer, 101|128,55,
15849 OPC_RecordChild1,
15850 OPC_RecordChild2,
15851 OPC_RecordChild3,
15852 OPC_MoveChild3,
15853 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15854 OPC_MoveParent,
15855 OPC_CheckPatternPredicate0,
15856 OPC_EmitNodeXForm, 9, 2,
15857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_H_W),
15858 MVT::v16i16, 3, 42,
15859 21,
15860 OPC_CheckChild0Integer, 71|128,55,
15861 OPC_RecordChild1,
15862 OPC_RecordChild2,
15863 OPC_RecordChild3,
15864 OPC_MoveChild3,
15865 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15866 OPC_MoveParent,
15867 OPC_CheckPatternPredicate0,
15868 OPC_EmitNodeXForm, 9, 2,
15869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_H_W),
15870 MVT::v16i16, 3, 42,
15871 21,
15872 OPC_CheckChild0Integer, 13|128,56,
15873 OPC_RecordChild1,
15874 OPC_RecordChild2,
15875 OPC_RecordChild3,
15876 OPC_MoveChild3,
15877 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15878 OPC_MoveParent,
15879 OPC_CheckPatternPredicate0,
15880 OPC_EmitNodeXForm, 9, 2,
15881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_H_W),
15882 MVT::v16i16, 3, 42,
15883 21,
15884 OPC_CheckChild0Integer, 113|128,55,
15885 OPC_RecordChild1,
15886 OPC_RecordChild2,
15887 OPC_RecordChild3,
15888 OPC_MoveChild3,
15889 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15890 OPC_MoveParent,
15891 OPC_CheckPatternPredicate0,
15892 OPC_EmitNodeXForm, 9, 2,
15893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_H_W),
15894 MVT::v16i16, 3, 42,
15895 21,
15896 OPC_CheckChild0Integer, 14|128,56,
15897 OPC_RecordChild1,
15898 OPC_RecordChild2,
15899 OPC_RecordChild3,
15900 OPC_MoveChild3,
15901 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15902 OPC_MoveParent,
15903 OPC_CheckPatternPredicate0,
15904 OPC_EmitNodeXForm, 9, 2,
15905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_HU_W),
15906 MVT::v16i16, 3, 42,
15907 21,
15908 OPC_CheckChild0Integer, 114|128,55,
15909 OPC_RecordChild1,
15910 OPC_RecordChild2,
15911 OPC_RecordChild3,
15912 OPC_MoveChild3,
15913 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15914 OPC_MoveParent,
15915 OPC_CheckPatternPredicate0,
15916 OPC_EmitNodeXForm, 9, 2,
15917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_HU_W),
15918 MVT::v16i16, 3, 42,
15919 21,
15920 OPC_CheckChild0Integer, 27|128,56,
15921 OPC_RecordChild1,
15922 OPC_RecordChild2,
15923 OPC_RecordChild3,
15924 OPC_MoveChild3,
15925 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15926 OPC_MoveParent,
15927 OPC_CheckPatternPredicate0,
15928 OPC_EmitNodeXForm, 9, 2,
15929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_H_W),
15930 MVT::v16i16, 3, 42,
15931 21,
15932 OPC_CheckChild0Integer, 127|128,55,
15933 OPC_RecordChild1,
15934 OPC_RecordChild2,
15935 OPC_RecordChild3,
15936 OPC_MoveChild3,
15937 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15938 OPC_MoveParent,
15939 OPC_CheckPatternPredicate0,
15940 OPC_EmitNodeXForm, 9, 2,
15941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_H_W),
15942 MVT::v16i16, 3, 42,
15943 21,
15944 OPC_CheckChild0Integer, 28|128,56,
15945 OPC_RecordChild1,
15946 OPC_RecordChild2,
15947 OPC_RecordChild3,
15948 OPC_MoveChild3,
15949 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15950 OPC_MoveParent,
15951 OPC_CheckPatternPredicate0,
15952 OPC_EmitNodeXForm, 9, 2,
15953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_HU_W),
15954 MVT::v16i16, 3, 42,
15955 21,
15956 OPC_CheckChild0Integer, 0|128,56,
15957 OPC_RecordChild1,
15958 OPC_RecordChild2,
15959 OPC_RecordChild3,
15960 OPC_MoveChild3,
15961 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15962 OPC_MoveParent,
15963 OPC_CheckPatternPredicate0,
15964 OPC_EmitNodeXForm, 9, 2,
15965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_HU_W),
15966 MVT::v16i16, 3, 42,
15967 21,
15968 OPC_CheckChild0Integer, 92|128,52,
15969 OPC_RecordChild1,
15970 OPC_RecordChild2,
15971 OPC_RecordChild3,
15972 OPC_MoveChild3,
15973 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15974 OPC_MoveParent,
15975 OPC_CheckPatternPredicate0,
15976 OPC_EmitNodeXForm, 9, 2,
15977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTPI_H),
15978 MVT::v16i16, 3, 42,
15979 21,
15980 OPC_CheckChild0Integer, 114|128,51,
15981 OPC_RecordChild1,
15982 OPC_RecordChild2,
15983 OPC_RecordChild3,
15984 OPC_MoveChild3,
15985 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15986 OPC_MoveParent,
15987 OPC_CheckPatternPredicate0,
15988 OPC_EmitNodeXForm, 9, 2,
15989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
15990 MVT::v16i16, 3, 42,
15991 21,
15992 OPC_CheckChild0Integer, 87|128,55,
15993 OPC_RecordChild1,
15994 OPC_RecordChild2,
15995 OPC_RecordChild3,
15996 OPC_MoveChild3,
15997 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
15998 OPC_MoveParent,
15999 OPC_CheckPatternPredicate0,
16000 OPC_EmitNodeXForm, 9, 2,
16001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_W_D),
16002 MVT::v8i32, 3, 42,
16003 21,
16004 OPC_CheckChild0Integer, 57|128,55,
16005 OPC_RecordChild1,
16006 OPC_RecordChild2,
16007 OPC_RecordChild3,
16008 OPC_MoveChild3,
16009 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16010 OPC_MoveParent,
16011 OPC_CheckPatternPredicate0,
16012 OPC_EmitNodeXForm, 9, 2,
16013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_W_D),
16014 MVT::v8i32, 3, 42,
16015 21,
16016 OPC_CheckChild0Integer, 102|128,55,
16017 OPC_RecordChild1,
16018 OPC_RecordChild2,
16019 OPC_RecordChild3,
16020 OPC_MoveChild3,
16021 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16022 OPC_MoveParent,
16023 OPC_CheckPatternPredicate0,
16024 OPC_EmitNodeXForm, 9, 2,
16025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_W_D),
16026 MVT::v8i32, 3, 42,
16027 21,
16028 OPC_CheckChild0Integer, 72|128,55,
16029 OPC_RecordChild1,
16030 OPC_RecordChild2,
16031 OPC_RecordChild3,
16032 OPC_MoveChild3,
16033 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16034 OPC_MoveParent,
16035 OPC_CheckPatternPredicate0,
16036 OPC_EmitNodeXForm, 9, 2,
16037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_W_D),
16038 MVT::v8i32, 3, 42,
16039 21,
16040 OPC_CheckChild0Integer, 15|128,56,
16041 OPC_RecordChild1,
16042 OPC_RecordChild2,
16043 OPC_RecordChild3,
16044 OPC_MoveChild3,
16045 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16046 OPC_MoveParent,
16047 OPC_CheckPatternPredicate0,
16048 OPC_EmitNodeXForm, 9, 2,
16049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_W_D),
16050 MVT::v8i32, 3, 42,
16051 21,
16052 OPC_CheckChild0Integer, 115|128,55,
16053 OPC_RecordChild1,
16054 OPC_RecordChild2,
16055 OPC_RecordChild3,
16056 OPC_MoveChild3,
16057 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16058 OPC_MoveParent,
16059 OPC_CheckPatternPredicate0,
16060 OPC_EmitNodeXForm, 9, 2,
16061 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_W_D),
16062 MVT::v8i32, 3, 42,
16063 21,
16064 OPC_CheckChild0Integer, 16|128,56,
16065 OPC_RecordChild1,
16066 OPC_RecordChild2,
16067 OPC_RecordChild3,
16068 OPC_MoveChild3,
16069 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16070 OPC_MoveParent,
16071 OPC_CheckPatternPredicate0,
16072 OPC_EmitNodeXForm, 9, 2,
16073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_WU_D),
16074 MVT::v8i32, 3, 42,
16075 21,
16076 OPC_CheckChild0Integer, 116|128,55,
16077 OPC_RecordChild1,
16078 OPC_RecordChild2,
16079 OPC_RecordChild3,
16080 OPC_MoveChild3,
16081 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16082 OPC_MoveParent,
16083 OPC_CheckPatternPredicate0,
16084 OPC_EmitNodeXForm, 9, 2,
16085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_WU_D),
16086 MVT::v8i32, 3, 42,
16087 21,
16088 OPC_CheckChild0Integer, 29|128,56,
16089 OPC_RecordChild1,
16090 OPC_RecordChild2,
16091 OPC_RecordChild3,
16092 OPC_MoveChild3,
16093 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16094 OPC_MoveParent,
16095 OPC_CheckPatternPredicate0,
16096 OPC_EmitNodeXForm, 9, 2,
16097 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_W_D),
16098 MVT::v8i32, 3, 42,
16099 21,
16100 OPC_CheckChild0Integer, 1|128,56,
16101 OPC_RecordChild1,
16102 OPC_RecordChild2,
16103 OPC_RecordChild3,
16104 OPC_MoveChild3,
16105 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16106 OPC_MoveParent,
16107 OPC_CheckPatternPredicate0,
16108 OPC_EmitNodeXForm, 9, 2,
16109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_W_D),
16110 MVT::v8i32, 3, 42,
16111 21,
16112 OPC_CheckChild0Integer, 30|128,56,
16113 OPC_RecordChild1,
16114 OPC_RecordChild2,
16115 OPC_RecordChild3,
16116 OPC_MoveChild3,
16117 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16118 OPC_MoveParent,
16119 OPC_CheckPatternPredicate0,
16120 OPC_EmitNodeXForm, 9, 2,
16121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_WU_D),
16122 MVT::v8i32, 3, 42,
16123 21,
16124 OPC_CheckChild0Integer, 2|128,56,
16125 OPC_RecordChild1,
16126 OPC_RecordChild2,
16127 OPC_RecordChild3,
16128 OPC_MoveChild3,
16129 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16130 OPC_MoveParent,
16131 OPC_CheckPatternPredicate0,
16132 OPC_EmitNodeXForm, 9, 2,
16133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_WU_D),
16134 MVT::v8i32, 3, 42,
16135 21,
16136 OPC_CheckChild0Integer, 43|128,54,
16137 OPC_RecordChild1,
16138 OPC_RecordChild2,
16139 OPC_RecordChild3,
16140 OPC_MoveChild3,
16141 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16142 OPC_MoveParent,
16143 OPC_CheckPatternPredicate0,
16144 OPC_EmitNodeXForm, 9, 2,
16145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
16146 MVT::v8i32, 3, 42,
16147 21,
16148 OPC_CheckChild0Integer, 115|128,51,
16149 OPC_RecordChild1,
16150 OPC_RecordChild2,
16151 OPC_RecordChild3,
16152 OPC_MoveChild3,
16153 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16154 OPC_MoveParent,
16155 OPC_CheckPatternPredicate0,
16156 OPC_EmitNodeXForm, 9, 2,
16157 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
16158 MVT::v8i32, 3, 42,
16159 21,
16160 OPC_CheckChild0Integer, 25|128,53,
16161 OPC_RecordChild1,
16162 OPC_RecordChild2,
16163 OPC_RecordChild3,
16164 OPC_MoveChild3,
16165 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16166 OPC_MoveParent,
16167 OPC_CheckPatternPredicate0,
16168 OPC_EmitNodeXForm, 9, 2,
16169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
16170 MVT::v8i32, 3, 42,
16171 21,
16172 OPC_CheckChild0Integer, 85|128,55,
16173 OPC_RecordChild1,
16174 OPC_RecordChild2,
16175 OPC_RecordChild3,
16176 OPC_MoveChild3,
16177 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16178 OPC_MoveParent,
16179 OPC_CheckPatternPredicate0,
16180 OPC_EmitNodeXForm, 9, 2,
16181 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLNI_D_Q),
16182 MVT::v4i64, 3, 42,
16183 21,
16184 OPC_CheckChild0Integer, 55|128,55,
16185 OPC_RecordChild1,
16186 OPC_RecordChild2,
16187 OPC_RecordChild3,
16188 OPC_MoveChild3,
16189 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16190 OPC_MoveParent,
16191 OPC_CheckPatternPredicate0,
16192 OPC_EmitNodeXForm, 9, 2,
16193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRANI_D_Q),
16194 MVT::v4i64, 3, 42,
16195 21,
16196 OPC_CheckChild0Integer, 100|128,55,
16197 OPC_RecordChild1,
16198 OPC_RecordChild2,
16199 OPC_RecordChild3,
16200 OPC_MoveChild3,
16201 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16202 OPC_MoveParent,
16203 OPC_CheckPatternPredicate0,
16204 OPC_EmitNodeXForm, 9, 2,
16205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRNI_D_Q),
16206 MVT::v4i64, 3, 42,
16207 21,
16208 OPC_CheckChild0Integer, 70|128,55,
16209 OPC_RecordChild1,
16210 OPC_RecordChild2,
16211 OPC_RecordChild3,
16212 OPC_MoveChild3,
16213 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16214 OPC_MoveParent,
16215 OPC_CheckPatternPredicate0,
16216 OPC_EmitNodeXForm, 9, 2,
16217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARNI_D_Q),
16218 MVT::v4i64, 3, 42,
16219 21,
16220 OPC_CheckChild0Integer, 11|128,56,
16221 OPC_RecordChild1,
16222 OPC_RecordChild2,
16223 OPC_RecordChild3,
16224 OPC_MoveChild3,
16225 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16226 OPC_MoveParent,
16227 OPC_CheckPatternPredicate0,
16228 OPC_EmitNodeXForm, 9, 2,
16229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_D_Q),
16230 MVT::v4i64, 3, 42,
16231 21,
16232 OPC_CheckChild0Integer, 111|128,55,
16233 OPC_RecordChild1,
16234 OPC_RecordChild2,
16235 OPC_RecordChild3,
16236 OPC_MoveChild3,
16237 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16238 OPC_MoveParent,
16239 OPC_CheckPatternPredicate0,
16240 OPC_EmitNodeXForm, 9, 2,
16241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_D_Q),
16242 MVT::v4i64, 3, 42,
16243 21,
16244 OPC_CheckChild0Integer, 12|128,56,
16245 OPC_RecordChild1,
16246 OPC_RecordChild2,
16247 OPC_RecordChild3,
16248 OPC_MoveChild3,
16249 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16250 OPC_MoveParent,
16251 OPC_CheckPatternPredicate0,
16252 OPC_EmitNodeXForm, 9, 2,
16253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLNI_DU_Q),
16254 MVT::v4i64, 3, 42,
16255 21,
16256 OPC_CheckChild0Integer, 112|128,55,
16257 OPC_RecordChild1,
16258 OPC_RecordChild2,
16259 OPC_RecordChild3,
16260 OPC_MoveChild3,
16261 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16262 OPC_MoveParent,
16263 OPC_CheckPatternPredicate0,
16264 OPC_EmitNodeXForm, 9, 2,
16265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRANI_DU_Q),
16266 MVT::v4i64, 3, 42,
16267 21,
16268 OPC_CheckChild0Integer, 25|128,56,
16269 OPC_RecordChild1,
16270 OPC_RecordChild2,
16271 OPC_RecordChild3,
16272 OPC_MoveChild3,
16273 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16274 OPC_MoveParent,
16275 OPC_CheckPatternPredicate0,
16276 OPC_EmitNodeXForm, 9, 2,
16277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_D_Q),
16278 MVT::v4i64, 3, 42,
16279 21,
16280 OPC_CheckChild0Integer, 125|128,55,
16281 OPC_RecordChild1,
16282 OPC_RecordChild2,
16283 OPC_RecordChild3,
16284 OPC_MoveChild3,
16285 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16286 OPC_MoveParent,
16287 OPC_CheckPatternPredicate0,
16288 OPC_EmitNodeXForm, 9, 2,
16289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_D_Q),
16290 MVT::v4i64, 3, 42,
16291 21,
16292 OPC_CheckChild0Integer, 26|128,56,
16293 OPC_RecordChild1,
16294 OPC_RecordChild2,
16295 OPC_RecordChild3,
16296 OPC_MoveChild3,
16297 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16298 OPC_MoveParent,
16299 OPC_CheckPatternPredicate0,
16300 OPC_EmitNodeXForm, 9, 2,
16301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRNI_DU_Q),
16302 MVT::v4i64, 3, 42,
16303 21,
16304 OPC_CheckChild0Integer, 126|128,55,
16305 OPC_RecordChild1,
16306 OPC_RecordChild2,
16307 OPC_RecordChild3,
16308 OPC_MoveChild3,
16309 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16310 OPC_MoveParent,
16311 OPC_CheckPatternPredicate0,
16312 OPC_EmitNodeXForm, 9, 2,
16313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARNI_DU_Q),
16314 MVT::v4i64, 3, 42,
16315 21,
16316 OPC_CheckChild0Integer, 118|128,54,
16317 OPC_RecordChild1,
16318 OPC_RecordChild2,
16319 OPC_RecordChild3,
16320 OPC_MoveChild3,
16321 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16322 OPC_MoveParent,
16323 OPC_CheckPatternPredicate0,
16324 OPC_EmitNodeXForm, 9, 2,
16325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
16326 MVT::v4i64, 3, 42,
16327 21,
16328 OPC_CheckChild0Integer, 113|128,51,
16329 OPC_RecordChild1,
16330 OPC_RecordChild2,
16331 OPC_RecordChild3,
16332 OPC_MoveChild3,
16333 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16334 OPC_MoveParent,
16335 OPC_CheckPatternPredicate0,
16336 OPC_EmitNodeXForm, 9, 2,
16337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
16338 MVT::v4i64, 3, 42,
16339 21,
16340 OPC_CheckChild0Integer, 24|128,53,
16341 OPC_RecordChild1,
16342 OPC_RecordChild2,
16343 OPC_RecordChild3,
16344 OPC_MoveChild3,
16345 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
16346 OPC_MoveParent,
16347 OPC_CheckPatternPredicate0,
16348 OPC_EmitNodeXForm, 9, 2,
16349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
16350 MVT::v4i64, 3, 42,
16351 12,
16352 OPC_CheckChild0Integer, 43|128,60,
16353 OPC_RecordChild1,
16354 OPC_RecordChild2,
16355 OPC_CheckPatternPredicate1,
16356 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_B),
16357 MVT::v16i8, 2, 9,
16358 12,
16359 OPC_CheckChild0Integer, 44|128,60,
16360 OPC_RecordChild1,
16361 OPC_RecordChild2,
16362 OPC_CheckPatternPredicate1,
16363 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_BU),
16364 MVT::v16i8, 2, 9,
16365 12,
16366 OPC_CheckChild0Integer, 113|128,61,
16367 OPC_RecordChild1,
16368 OPC_RecordChild2,
16369 OPC_CheckPatternPredicate1,
16370 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_B),
16371 MVT::v16i8, 2, 9,
16372 12,
16373 OPC_CheckChild0Integer, 114|128,61,
16374 OPC_RecordChild1,
16375 OPC_RecordChild2,
16376 OPC_CheckPatternPredicate1,
16377 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_BU),
16378 MVT::v16i8, 2, 9,
16379 12,
16380 OPC_CheckChild0Integer, 90|128,58,
16381 OPC_RecordChild1,
16382 OPC_RecordChild2,
16383 OPC_CheckPatternPredicate1,
16384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_H_B),
16385 MVT::v8i16, 2, 9,
16386 12,
16387 OPC_CheckChild0Integer, 91|128,58,
16388 OPC_RecordChild1,
16389 OPC_RecordChild2,
16390 OPC_CheckPatternPredicate1,
16391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_HU_BU),
16392 MVT::v8i16, 2, 9,
16393 12,
16394 OPC_CheckChild0Integer, 98|128,58,
16395 OPC_RecordChild1,
16396 OPC_RecordChild2,
16397 OPC_CheckPatternPredicate1,
16398 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_H_B),
16399 MVT::v8i16, 2, 9,
16400 12,
16401 OPC_CheckChild0Integer, 99|128,58,
16402 OPC_RecordChild1,
16403 OPC_RecordChild2,
16404 OPC_CheckPatternPredicate1,
16405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_HU_BU),
16406 MVT::v8i16, 2, 9,
16407 12,
16408 OPC_CheckChild0Integer, 108|128,56,
16409 OPC_RecordChild1,
16410 OPC_RecordChild2,
16411 OPC_CheckPatternPredicate1,
16412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_B),
16413 MVT::v8i16, 2, 9,
16414 12,
16415 OPC_CheckChild0Integer, 120|128,56,
16416 OPC_RecordChild1,
16417 OPC_RecordChild2,
16418 OPC_CheckPatternPredicate1,
16419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_B),
16420 MVT::v8i16, 2, 9,
16421 12,
16422 OPC_CheckChild0Integer, 10|128,62,
16423 OPC_RecordChild1,
16424 OPC_RecordChild2,
16425 OPC_CheckPatternPredicate1,
16426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_B),
16427 MVT::v8i16, 2, 9,
16428 12,
16429 OPC_CheckChild0Integer, 18|128,62,
16430 OPC_RecordChild1,
16431 OPC_RecordChild2,
16432 OPC_CheckPatternPredicate1,
16433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_B),
16434 MVT::v8i16, 2, 9,
16435 12,
16436 OPC_CheckChild0Integer, 109|128,56,
16437 OPC_RecordChild1,
16438 OPC_RecordChild2,
16439 OPC_CheckPatternPredicate1,
16440 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU),
16441 MVT::v8i16, 2, 9,
16442 12,
16443 OPC_CheckChild0Integer, 121|128,56,
16444 OPC_RecordChild1,
16445 OPC_RecordChild2,
16446 OPC_CheckPatternPredicate1,
16447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU),
16448 MVT::v8i16, 2, 9,
16449 12,
16450 OPC_CheckChild0Integer, 11|128,62,
16451 OPC_RecordChild1,
16452 OPC_RecordChild2,
16453 OPC_CheckPatternPredicate1,
16454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_H_BU),
16455 MVT::v8i16, 2, 9,
16456 12,
16457 OPC_CheckChild0Integer, 19|128,62,
16458 OPC_RecordChild1,
16459 OPC_RecordChild2,
16460 OPC_CheckPatternPredicate1,
16461 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_H_BU),
16462 MVT::v8i16, 2, 9,
16463 12,
16464 OPC_CheckChild0Integer, 110|128,56,
16465 OPC_RecordChild1,
16466 OPC_RecordChild2,
16467 OPC_CheckPatternPredicate1,
16468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_H_BU_B),
16469 MVT::v8i16, 2, 9,
16470 12,
16471 OPC_CheckChild0Integer, 122|128,56,
16472 OPC_RecordChild1,
16473 OPC_RecordChild2,
16474 OPC_CheckPatternPredicate1,
16475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_H_BU_B),
16476 MVT::v8i16, 2, 9,
16477 12,
16478 OPC_CheckChild0Integer, 4|128,57,
16479 OPC_RecordChild1,
16480 OPC_RecordChild2,
16481 OPC_CheckPatternPredicate1,
16482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_B),
16483 MVT::v16i8, 2, 9,
16484 12,
16485 OPC_CheckChild0Integer, 5|128,57,
16486 OPC_RecordChild1,
16487 OPC_RecordChild2,
16488 OPC_CheckPatternPredicate1,
16489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_BU),
16490 MVT::v16i8, 2, 9,
16491 12,
16492 OPC_CheckChild0Integer, 12|128,57,
16493 OPC_RecordChild1,
16494 OPC_RecordChild2,
16495 OPC_CheckPatternPredicate1,
16496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_B),
16497 MVT::v16i8, 2, 9,
16498 12,
16499 OPC_CheckChild0Integer, 13|128,57,
16500 OPC_RecordChild1,
16501 OPC_RecordChild2,
16502 OPC_CheckPatternPredicate1,
16503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_BU),
16504 MVT::v16i8, 2, 9,
16505 12,
16506 OPC_CheckChild0Integer, 84|128,56,
16507 OPC_RecordChild1,
16508 OPC_RecordChild2,
16509 OPC_CheckPatternPredicate1,
16510 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_B),
16511 MVT::v16i8, 2, 9,
16512 12,
16513 OPC_CheckChild0Integer, 85|128,56,
16514 OPC_RecordChild1,
16515 OPC_RecordChild2,
16516 OPC_CheckPatternPredicate1,
16517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_BU),
16518 MVT::v16i8, 2, 9,
16519 12,
16520 OPC_CheckChild0Integer, 97|128,56,
16521 OPC_RecordChild1,
16522 OPC_RecordChild2,
16523 OPC_CheckPatternPredicate1,
16524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_B),
16525 MVT::v16i8, 2, 9,
16526 12,
16527 OPC_CheckChild0Integer, 73|128,59,
16528 OPC_RecordChild1,
16529 OPC_RecordChild2,
16530 OPC_CheckPatternPredicate1,
16531 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
16532 MVT::v16i8, 2, 9,
16533 12,
16534 OPC_CheckChild0Integer, 74|128,59,
16535 OPC_RecordChild1,
16536 OPC_RecordChild2,
16537 OPC_CheckPatternPredicate1,
16538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
16539 MVT::v16i8, 2, 9,
16540 12,
16541 OPC_CheckChild0Integer, 88|128,59,
16542 OPC_RecordChild1,
16543 OPC_RecordChild2,
16544 OPC_CheckPatternPredicate1,
16545 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_B),
16546 MVT::v8i16, 2, 9,
16547 12,
16548 OPC_CheckChild0Integer, 100|128,59,
16549 OPC_RecordChild1,
16550 OPC_RecordChild2,
16551 OPC_CheckPatternPredicate1,
16552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_B),
16553 MVT::v8i16, 2, 9,
16554 12,
16555 OPC_CheckChild0Integer, 89|128,59,
16556 OPC_RecordChild1,
16557 OPC_RecordChild2,
16558 OPC_CheckPatternPredicate1,
16559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU),
16560 MVT::v8i16, 2, 9,
16561 12,
16562 OPC_CheckChild0Integer, 101|128,59,
16563 OPC_RecordChild1,
16564 OPC_RecordChild2,
16565 OPC_CheckPatternPredicate1,
16566 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU),
16567 MVT::v8i16, 2, 9,
16568 12,
16569 OPC_CheckChild0Integer, 90|128,59,
16570 OPC_RecordChild1,
16571 OPC_RecordChild2,
16572 OPC_CheckPatternPredicate1,
16573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_H_BU_B),
16574 MVT::v8i16, 2, 9,
16575 12,
16576 OPC_CheckChild0Integer, 102|128,59,
16577 OPC_RecordChild1,
16578 OPC_RecordChild2,
16579 OPC_CheckPatternPredicate1,
16580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_H_BU_B),
16581 MVT::v8i16, 2, 9,
16582 12,
16583 OPC_CheckChild0Integer, 75|128,60,
16584 OPC_RecordChild1,
16585 OPC_RecordChild2,
16586 OPC_CheckPatternPredicate1,
16587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_B),
16588 MVT::v16i8, 2, 9,
16589 12,
16590 OPC_CheckChild0Integer, 3|128,57,
16591 OPC_RecordChild1,
16592 OPC_RecordChild2,
16593 OPC_CheckPatternPredicate1,
16594 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
16595 MVT::v16i8, 2, 9,
16596 12,
16597 OPC_CheckChild0Integer, 117|128,59,
16598 OPC_RecordChild1,
16599 OPC_RecordChild2,
16600 OPC_CheckPatternPredicate1,
16601 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VORN_V),
16602 MVT::v16i8, 2, 9,
16603 12,
16604 OPC_CheckChild0Integer, 35|128,60,
16605 OPC_RecordChild1,
16606 OPC_RecordChild2,
16607 OPC_CheckPatternPredicate1,
16608 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
16609 MVT::v16i8, 2, 9,
16610 12,
16611 OPC_CheckChild0Integer, 42|128,61,
16612 OPC_RecordChild1,
16613 OPC_RecordChild2,
16614 OPC_CheckPatternPredicate1,
16615 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_B),
16616 MVT::v16i8, 2, 9,
16617 12,
16618 OPC_CheckChild0Integer, 12|128,61,
16619 OPC_RecordChild1,
16620 OPC_RecordChild2,
16621 OPC_CheckPatternPredicate1,
16622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_B),
16623 MVT::v16i8, 2, 9,
16624 12,
16625 OPC_CheckChild0Integer, 59|128,60,
16626 OPC_RecordChild1,
16627 OPC_RecordChild2,
16628 OPC_CheckPatternPredicate1,
16629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
16630 MVT::v16i8, 2, 9,
16631 12,
16632 OPC_CheckChild0Integer, 79|128,60,
16633 OPC_RecordChild1,
16634 OPC_RecordChild2,
16635 OPC_CheckPatternPredicate1,
16636 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
16637 MVT::v16i8, 2, 9,
16638 12,
16639 OPC_CheckChild0Integer, 80|128,60,
16640 OPC_RecordChild1,
16641 OPC_RecordChild2,
16642 OPC_CheckPatternPredicate1,
16643 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
16644 MVT::v16i8, 2, 9,
16645 12,
16646 OPC_CheckChild0Integer, 109|128,60,
16647 OPC_RecordChild1,
16648 OPC_RecordChild2,
16649 OPC_CheckPatternPredicate1,
16650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
16651 MVT::v16i8, 2, 9,
16652 12,
16653 OPC_CheckChild0Integer, 110|128,60,
16654 OPC_RecordChild1,
16655 OPC_RecordChild2,
16656 OPC_CheckPatternPredicate1,
16657 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
16658 MVT::v16i8, 2, 9,
16659 12,
16660 OPC_CheckChild0Integer, 118|128,59,
16661 OPC_RecordChild1,
16662 OPC_RecordChild2,
16663 OPC_CheckPatternPredicate1,
16664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_B),
16665 MVT::v16i8, 2, 9,
16666 12,
16667 OPC_CheckChild0Integer, 122|128,59,
16668 OPC_RecordChild1,
16669 OPC_RecordChild2,
16670 OPC_CheckPatternPredicate1,
16671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_B),
16672 MVT::v16i8, 2, 9,
16673 12,
16674 OPC_CheckChild0Integer, 3|128,60,
16675 OPC_RecordChild1,
16676 OPC_RecordChild2,
16677 OPC_CheckPatternPredicate1,
16678 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_B),
16679 MVT::v16i8, 2, 9,
16680 12,
16681 OPC_CheckChild0Integer, 7|128,60,
16682 OPC_RecordChild1,
16683 OPC_RecordChild2,
16684 OPC_CheckPatternPredicate1,
16685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_B),
16686 MVT::v16i8, 2, 9,
16687 12,
16688 OPC_CheckChild0Integer, 108|128,58,
16689 OPC_RecordChild1,
16690 OPC_RecordChild2,
16691 OPC_CheckPatternPredicate1,
16692 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_B),
16693 MVT::v16i8, 2, 9,
16694 12,
16695 OPC_CheckChild0Integer, 104|128,58,
16696 OPC_RecordChild1,
16697 OPC_RecordChild2,
16698 OPC_CheckPatternPredicate1,
16699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_B),
16700 MVT::v16i8, 2, 9,
16701 12,
16702 OPC_CheckChild0Integer, 47|128,60,
16703 OPC_RecordChild1,
16704 OPC_RecordChild2,
16705 OPC_CheckPatternPredicate1,
16706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_H),
16707 MVT::v8i16, 2, 9,
16708 12,
16709 OPC_CheckChild0Integer, 48|128,60,
16710 OPC_RecordChild1,
16711 OPC_RecordChild2,
16712 OPC_CheckPatternPredicate1,
16713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_HU),
16714 MVT::v8i16, 2, 9,
16715 12,
16716 OPC_CheckChild0Integer, 117|128,61,
16717 OPC_RecordChild1,
16718 OPC_RecordChild2,
16719 OPC_CheckPatternPredicate1,
16720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_H),
16721 MVT::v8i16, 2, 9,
16722 12,
16723 OPC_CheckChild0Integer, 118|128,61,
16724 OPC_RecordChild1,
16725 OPC_RecordChild2,
16726 OPC_CheckPatternPredicate1,
16727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_HU),
16728 MVT::v8i16, 2, 9,
16729 12,
16730 OPC_CheckChild0Integer, 94|128,58,
16731 OPC_RecordChild1,
16732 OPC_RecordChild2,
16733 OPC_CheckPatternPredicate1,
16734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_W_H),
16735 MVT::v4i32, 2, 9,
16736 12,
16737 OPC_CheckChild0Integer, 95|128,58,
16738 OPC_RecordChild1,
16739 OPC_RecordChild2,
16740 OPC_CheckPatternPredicate1,
16741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_WU_HU),
16742 MVT::v4i32, 2, 9,
16743 12,
16744 OPC_CheckChild0Integer, 102|128,58,
16745 OPC_RecordChild1,
16746 OPC_RecordChild2,
16747 OPC_CheckPatternPredicate1,
16748 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_W_H),
16749 MVT::v4i32, 2, 9,
16750 12,
16751 OPC_CheckChild0Integer, 103|128,58,
16752 OPC_RecordChild1,
16753 OPC_RecordChild2,
16754 OPC_CheckPatternPredicate1,
16755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_WU_HU),
16756 MVT::v4i32, 2, 9,
16757 12,
16758 OPC_CheckChild0Integer, 114|128,56,
16759 OPC_RecordChild1,
16760 OPC_RecordChild2,
16761 OPC_CheckPatternPredicate1,
16762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_H),
16763 MVT::v4i32, 2, 9,
16764 12,
16765 OPC_CheckChild0Integer, 126|128,56,
16766 OPC_RecordChild1,
16767 OPC_RecordChild2,
16768 OPC_CheckPatternPredicate1,
16769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_H),
16770 MVT::v4i32, 2, 9,
16771 12,
16772 OPC_CheckChild0Integer, 14|128,62,
16773 OPC_RecordChild1,
16774 OPC_RecordChild2,
16775 OPC_CheckPatternPredicate1,
16776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_H),
16777 MVT::v4i32, 2, 9,
16778 12,
16779 OPC_CheckChild0Integer, 22|128,62,
16780 OPC_RecordChild1,
16781 OPC_RecordChild2,
16782 OPC_CheckPatternPredicate1,
16783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_H),
16784 MVT::v4i32, 2, 9,
16785 12,
16786 OPC_CheckChild0Integer, 115|128,56,
16787 OPC_RecordChild1,
16788 OPC_RecordChild2,
16789 OPC_CheckPatternPredicate1,
16790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU),
16791 MVT::v4i32, 2, 9,
16792 12,
16793 OPC_CheckChild0Integer, 127|128,56,
16794 OPC_RecordChild1,
16795 OPC_RecordChild2,
16796 OPC_CheckPatternPredicate1,
16797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU),
16798 MVT::v4i32, 2, 9,
16799 12,
16800 OPC_CheckChild0Integer, 15|128,62,
16801 OPC_RecordChild1,
16802 OPC_RecordChild2,
16803 OPC_CheckPatternPredicate1,
16804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_W_HU),
16805 MVT::v4i32, 2, 9,
16806 12,
16807 OPC_CheckChild0Integer, 23|128,62,
16808 OPC_RecordChild1,
16809 OPC_RecordChild2,
16810 OPC_CheckPatternPredicate1,
16811 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_W_HU),
16812 MVT::v4i32, 2, 9,
16813 12,
16814 OPC_CheckChild0Integer, 116|128,56,
16815 OPC_RecordChild1,
16816 OPC_RecordChild2,
16817 OPC_CheckPatternPredicate1,
16818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_W_HU_H),
16819 MVT::v4i32, 2, 9,
16820 12,
16821 OPC_CheckChild0Integer, 0|128,57,
16822 OPC_RecordChild1,
16823 OPC_RecordChild2,
16824 OPC_CheckPatternPredicate1,
16825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_W_HU_H),
16826 MVT::v4i32, 2, 9,
16827 12,
16828 OPC_CheckChild0Integer, 8|128,57,
16829 OPC_RecordChild1,
16830 OPC_RecordChild2,
16831 OPC_CheckPatternPredicate1,
16832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_H),
16833 MVT::v8i16, 2, 9,
16834 12,
16835 OPC_CheckChild0Integer, 9|128,57,
16836 OPC_RecordChild1,
16837 OPC_RecordChild2,
16838 OPC_CheckPatternPredicate1,
16839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_HU),
16840 MVT::v8i16, 2, 9,
16841 12,
16842 OPC_CheckChild0Integer, 16|128,57,
16843 OPC_RecordChild1,
16844 OPC_RecordChild2,
16845 OPC_CheckPatternPredicate1,
16846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_H),
16847 MVT::v8i16, 2, 9,
16848 12,
16849 OPC_CheckChild0Integer, 17|128,57,
16850 OPC_RecordChild1,
16851 OPC_RecordChild2,
16852 OPC_CheckPatternPredicate1,
16853 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_HU),
16854 MVT::v8i16, 2, 9,
16855 12,
16856 OPC_CheckChild0Integer, 88|128,56,
16857 OPC_RecordChild1,
16858 OPC_RecordChild2,
16859 OPC_CheckPatternPredicate1,
16860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_H),
16861 MVT::v8i16, 2, 9,
16862 12,
16863 OPC_CheckChild0Integer, 89|128,56,
16864 OPC_RecordChild1,
16865 OPC_RecordChild2,
16866 OPC_CheckPatternPredicate1,
16867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_HU),
16868 MVT::v8i16, 2, 9,
16869 12,
16870 OPC_CheckChild0Integer, 99|128,56,
16871 OPC_RecordChild1,
16872 OPC_RecordChild2,
16873 OPC_CheckPatternPredicate1,
16874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_H),
16875 MVT::v8i16, 2, 9,
16876 12,
16877 OPC_CheckChild0Integer, 77|128,59,
16878 OPC_RecordChild1,
16879 OPC_RecordChild2,
16880 OPC_CheckPatternPredicate1,
16881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
16882 MVT::v8i16, 2, 9,
16883 12,
16884 OPC_CheckChild0Integer, 78|128,59,
16885 OPC_RecordChild1,
16886 OPC_RecordChild2,
16887 OPC_CheckPatternPredicate1,
16888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
16889 MVT::v8i16, 2, 9,
16890 12,
16891 OPC_CheckChild0Integer, 94|128,59,
16892 OPC_RecordChild1,
16893 OPC_RecordChild2,
16894 OPC_CheckPatternPredicate1,
16895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_H),
16896 MVT::v4i32, 2, 9,
16897 12,
16898 OPC_CheckChild0Integer, 106|128,59,
16899 OPC_RecordChild1,
16900 OPC_RecordChild2,
16901 OPC_CheckPatternPredicate1,
16902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_H),
16903 MVT::v4i32, 2, 9,
16904 12,
16905 OPC_CheckChild0Integer, 95|128,59,
16906 OPC_RecordChild1,
16907 OPC_RecordChild2,
16908 OPC_CheckPatternPredicate1,
16909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU),
16910 MVT::v4i32, 2, 9,
16911 12,
16912 OPC_CheckChild0Integer, 107|128,59,
16913 OPC_RecordChild1,
16914 OPC_RecordChild2,
16915 OPC_CheckPatternPredicate1,
16916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU),
16917 MVT::v4i32, 2, 9,
16918 12,
16919 OPC_CheckChild0Integer, 96|128,59,
16920 OPC_RecordChild1,
16921 OPC_RecordChild2,
16922 OPC_CheckPatternPredicate1,
16923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_W_HU_H),
16924 MVT::v4i32, 2, 9,
16925 12,
16926 OPC_CheckChild0Integer, 108|128,59,
16927 OPC_RecordChild1,
16928 OPC_RecordChild2,
16929 OPC_CheckPatternPredicate1,
16930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_W_HU_H),
16931 MVT::v4i32, 2, 9,
16932 12,
16933 OPC_CheckChild0Integer, 77|128,60,
16934 OPC_RecordChild1,
16935 OPC_RecordChild2,
16936 OPC_CheckPatternPredicate1,
16937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_H),
16938 MVT::v8i16, 2, 9,
16939 12,
16940 OPC_CheckChild0Integer, 37|128,60,
16941 OPC_RecordChild1,
16942 OPC_RecordChild2,
16943 OPC_CheckPatternPredicate1,
16944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
16945 MVT::v8i16, 2, 9,
16946 12,
16947 OPC_CheckChild0Integer, 44|128,61,
16948 OPC_RecordChild1,
16949 OPC_RecordChild2,
16950 OPC_CheckPatternPredicate1,
16951 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_H),
16952 MVT::v8i16, 2, 9,
16953 12,
16954 OPC_CheckChild0Integer, 14|128,61,
16955 OPC_RecordChild1,
16956 OPC_RecordChild2,
16957 OPC_CheckPatternPredicate1,
16958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_H),
16959 MVT::v8i16, 2, 9,
16960 12,
16961 OPC_CheckChild0Integer, 35|128,61,
16962 OPC_RecordChild1,
16963 OPC_RecordChild2,
16964 OPC_CheckPatternPredicate1,
16965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_B_H),
16966 MVT::v16i8, 2, 9,
16967 12,
16968 OPC_CheckChild0Integer, 5|128,61,
16969 OPC_RecordChild1,
16970 OPC_RecordChild2,
16971 OPC_CheckPatternPredicate1,
16972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_B_H),
16973 MVT::v16i8, 2, 9,
16974 12,
16975 OPC_CheckChild0Integer, 50|128,61,
16976 OPC_RecordChild1,
16977 OPC_RecordChild2,
16978 OPC_CheckPatternPredicate1,
16979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_B_H),
16980 MVT::v16i8, 2, 9,
16981 12,
16982 OPC_CheckChild0Integer, 20|128,61,
16983 OPC_RecordChild1,
16984 OPC_RecordChild2,
16985 OPC_CheckPatternPredicate1,
16986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_B_H),
16987 MVT::v16i8, 2, 9,
16988 12,
16989 OPC_CheckChild0Integer, 85|128,61,
16990 OPC_RecordChild1,
16991 OPC_RecordChild2,
16992 OPC_CheckPatternPredicate1,
16993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_B_H),
16994 MVT::v16i8, 2, 9,
16995 12,
16996 OPC_CheckChild0Integer, 57|128,61,
16997 OPC_RecordChild1,
16998 OPC_RecordChild2,
16999 OPC_CheckPatternPredicate1,
17000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_B_H),
17001 MVT::v16i8, 2, 9,
17002 12,
17003 OPC_CheckChild0Integer, 86|128,61,
17004 OPC_RecordChild1,
17005 OPC_RecordChild2,
17006 OPC_CheckPatternPredicate1,
17007 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_BU_H),
17008 MVT::v16i8, 2, 9,
17009 12,
17010 OPC_CheckChild0Integer, 58|128,61,
17011 OPC_RecordChild1,
17012 OPC_RecordChild2,
17013 OPC_CheckPatternPredicate1,
17014 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_BU_H),
17015 MVT::v16i8, 2, 9,
17016 12,
17017 OPC_CheckChild0Integer, 99|128,61,
17018 OPC_RecordChild1,
17019 OPC_RecordChild2,
17020 OPC_CheckPatternPredicate1,
17021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_B_H),
17022 MVT::v16i8, 2, 9,
17023 12,
17024 OPC_CheckChild0Integer, 71|128,61,
17025 OPC_RecordChild1,
17026 OPC_RecordChild2,
17027 OPC_CheckPatternPredicate1,
17028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_B_H),
17029 MVT::v16i8, 2, 9,
17030 12,
17031 OPC_CheckChild0Integer, 100|128,61,
17032 OPC_RecordChild1,
17033 OPC_RecordChild2,
17034 OPC_CheckPatternPredicate1,
17035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_BU_H),
17036 MVT::v16i8, 2, 9,
17037 12,
17038 OPC_CheckChild0Integer, 72|128,61,
17039 OPC_RecordChild1,
17040 OPC_RecordChild2,
17041 OPC_CheckPatternPredicate1,
17042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_BU_H),
17043 MVT::v16i8, 2, 9,
17044 12,
17045 OPC_CheckChild0Integer, 61|128,60,
17046 OPC_RecordChild1,
17047 OPC_RecordChild2,
17048 OPC_CheckPatternPredicate1,
17049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
17050 MVT::v8i16, 2, 9,
17051 12,
17052 OPC_CheckChild0Integer, 83|128,60,
17053 OPC_RecordChild1,
17054 OPC_RecordChild2,
17055 OPC_CheckPatternPredicate1,
17056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
17057 MVT::v8i16, 2, 9,
17058 12,
17059 OPC_CheckChild0Integer, 84|128,60,
17060 OPC_RecordChild1,
17061 OPC_RecordChild2,
17062 OPC_CheckPatternPredicate1,
17063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
17064 MVT::v8i16, 2, 9,
17065 12,
17066 OPC_CheckChild0Integer, 113|128,60,
17067 OPC_RecordChild1,
17068 OPC_RecordChild2,
17069 OPC_CheckPatternPredicate1,
17070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
17071 MVT::v8i16, 2, 9,
17072 12,
17073 OPC_CheckChild0Integer, 114|128,60,
17074 OPC_RecordChild1,
17075 OPC_RecordChild2,
17076 OPC_CheckPatternPredicate1,
17077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
17078 MVT::v8i16, 2, 9,
17079 12,
17080 OPC_CheckChild0Integer, 120|128,59,
17081 OPC_RecordChild1,
17082 OPC_RecordChild2,
17083 OPC_CheckPatternPredicate1,
17084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_H),
17085 MVT::v8i16, 2, 9,
17086 12,
17087 OPC_CheckChild0Integer, 124|128,59,
17088 OPC_RecordChild1,
17089 OPC_RecordChild2,
17090 OPC_CheckPatternPredicate1,
17091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_H),
17092 MVT::v8i16, 2, 9,
17093 12,
17094 OPC_CheckChild0Integer, 5|128,60,
17095 OPC_RecordChild1,
17096 OPC_RecordChild2,
17097 OPC_CheckPatternPredicate1,
17098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_H),
17099 MVT::v8i16, 2, 9,
17100 12,
17101 OPC_CheckChild0Integer, 9|128,60,
17102 OPC_RecordChild1,
17103 OPC_RecordChild2,
17104 OPC_CheckPatternPredicate1,
17105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_H),
17106 MVT::v8i16, 2, 9,
17107 12,
17108 OPC_CheckChild0Integer, 110|128,58,
17109 OPC_RecordChild1,
17110 OPC_RecordChild2,
17111 OPC_CheckPatternPredicate1,
17112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_H),
17113 MVT::v8i16, 2, 9,
17114 12,
17115 OPC_CheckChild0Integer, 106|128,58,
17116 OPC_RecordChild1,
17117 OPC_RecordChild2,
17118 OPC_CheckPatternPredicate1,
17119 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_H),
17120 MVT::v8i16, 2, 9,
17121 12,
17122 OPC_CheckChild0Integer, 49|128,60,
17123 OPC_RecordChild1,
17124 OPC_RecordChild2,
17125 OPC_CheckPatternPredicate1,
17126 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_W),
17127 MVT::v4i32, 2, 9,
17128 12,
17129 OPC_CheckChild0Integer, 50|128,60,
17130 OPC_RecordChild1,
17131 OPC_RecordChild2,
17132 OPC_CheckPatternPredicate1,
17133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_WU),
17134 MVT::v4i32, 2, 9,
17135 12,
17136 OPC_CheckChild0Integer, 119|128,61,
17137 OPC_RecordChild1,
17138 OPC_RecordChild2,
17139 OPC_CheckPatternPredicate1,
17140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_W),
17141 MVT::v4i32, 2, 9,
17142 12,
17143 OPC_CheckChild0Integer, 120|128,61,
17144 OPC_RecordChild1,
17145 OPC_RecordChild2,
17146 OPC_CheckPatternPredicate1,
17147 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_WU),
17148 MVT::v4i32, 2, 9,
17149 12,
17150 OPC_CheckChild0Integer, 88|128,58,
17151 OPC_RecordChild1,
17152 OPC_RecordChild2,
17153 OPC_CheckPatternPredicate1,
17154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_D_W),
17155 MVT::v2i64, 2, 9,
17156 12,
17157 OPC_CheckChild0Integer, 89|128,58,
17158 OPC_RecordChild1,
17159 OPC_RecordChild2,
17160 OPC_CheckPatternPredicate1,
17161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_DU_WU),
17162 MVT::v2i64, 2, 9,
17163 12,
17164 OPC_CheckChild0Integer, 96|128,58,
17165 OPC_RecordChild1,
17166 OPC_RecordChild2,
17167 OPC_CheckPatternPredicate1,
17168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_D_W),
17169 MVT::v2i64, 2, 9,
17170 12,
17171 OPC_CheckChild0Integer, 97|128,58,
17172 OPC_RecordChild1,
17173 OPC_RecordChild2,
17174 OPC_CheckPatternPredicate1,
17175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_DU_WU),
17176 MVT::v2i64, 2, 9,
17177 12,
17178 OPC_CheckChild0Integer, 105|128,56,
17179 OPC_RecordChild1,
17180 OPC_RecordChild2,
17181 OPC_CheckPatternPredicate1,
17182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_W),
17183 MVT::v2i64, 2, 9,
17184 12,
17185 OPC_CheckChild0Integer, 117|128,56,
17186 OPC_RecordChild1,
17187 OPC_RecordChild2,
17188 OPC_CheckPatternPredicate1,
17189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_W),
17190 MVT::v2i64, 2, 9,
17191 12,
17192 OPC_CheckChild0Integer, 8|128,62,
17193 OPC_RecordChild1,
17194 OPC_RecordChild2,
17195 OPC_CheckPatternPredicate1,
17196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_W),
17197 MVT::v2i64, 2, 9,
17198 12,
17199 OPC_CheckChild0Integer, 16|128,62,
17200 OPC_RecordChild1,
17201 OPC_RecordChild2,
17202 OPC_CheckPatternPredicate1,
17203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_W),
17204 MVT::v2i64, 2, 9,
17205 12,
17206 OPC_CheckChild0Integer, 106|128,56,
17207 OPC_RecordChild1,
17208 OPC_RecordChild2,
17209 OPC_CheckPatternPredicate1,
17210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU),
17211 MVT::v2i64, 2, 9,
17212 12,
17213 OPC_CheckChild0Integer, 118|128,56,
17214 OPC_RecordChild1,
17215 OPC_RecordChild2,
17216 OPC_CheckPatternPredicate1,
17217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU),
17218 MVT::v2i64, 2, 9,
17219 12,
17220 OPC_CheckChild0Integer, 9|128,62,
17221 OPC_RecordChild1,
17222 OPC_RecordChild2,
17223 OPC_CheckPatternPredicate1,
17224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_D_WU),
17225 MVT::v2i64, 2, 9,
17226 12,
17227 OPC_CheckChild0Integer, 17|128,62,
17228 OPC_RecordChild1,
17229 OPC_RecordChild2,
17230 OPC_CheckPatternPredicate1,
17231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_D_WU),
17232 MVT::v2i64, 2, 9,
17233 12,
17234 OPC_CheckChild0Integer, 107|128,56,
17235 OPC_RecordChild1,
17236 OPC_RecordChild2,
17237 OPC_CheckPatternPredicate1,
17238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_D_WU_W),
17239 MVT::v2i64, 2, 9,
17240 12,
17241 OPC_CheckChild0Integer, 119|128,56,
17242 OPC_RecordChild1,
17243 OPC_RecordChild2,
17244 OPC_CheckPatternPredicate1,
17245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_D_WU_W),
17246 MVT::v2i64, 2, 9,
17247 12,
17248 OPC_CheckChild0Integer, 10|128,57,
17249 OPC_RecordChild1,
17250 OPC_RecordChild2,
17251 OPC_CheckPatternPredicate1,
17252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_W),
17253 MVT::v4i32, 2, 9,
17254 12,
17255 OPC_CheckChild0Integer, 11|128,57,
17256 OPC_RecordChild1,
17257 OPC_RecordChild2,
17258 OPC_CheckPatternPredicate1,
17259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_WU),
17260 MVT::v4i32, 2, 9,
17261 12,
17262 OPC_CheckChild0Integer, 18|128,57,
17263 OPC_RecordChild1,
17264 OPC_RecordChild2,
17265 OPC_CheckPatternPredicate1,
17266 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_W),
17267 MVT::v4i32, 2, 9,
17268 12,
17269 OPC_CheckChild0Integer, 19|128,57,
17270 OPC_RecordChild1,
17271 OPC_RecordChild2,
17272 OPC_CheckPatternPredicate1,
17273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_WU),
17274 MVT::v4i32, 2, 9,
17275 12,
17276 OPC_CheckChild0Integer, 90|128,56,
17277 OPC_RecordChild1,
17278 OPC_RecordChild2,
17279 OPC_CheckPatternPredicate1,
17280 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_W),
17281 MVT::v4i32, 2, 9,
17282 12,
17283 OPC_CheckChild0Integer, 91|128,56,
17284 OPC_RecordChild1,
17285 OPC_RecordChild2,
17286 OPC_CheckPatternPredicate1,
17287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_WU),
17288 MVT::v4i32, 2, 9,
17289 12,
17290 OPC_CheckChild0Integer, 100|128,56,
17291 OPC_RecordChild1,
17292 OPC_RecordChild2,
17293 OPC_CheckPatternPredicate1,
17294 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_W),
17295 MVT::v4i32, 2, 9,
17296 12,
17297 OPC_CheckChild0Integer, 79|128,59,
17298 OPC_RecordChild1,
17299 OPC_RecordChild2,
17300 OPC_CheckPatternPredicate1,
17301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
17302 MVT::v4i32, 2, 9,
17303 12,
17304 OPC_CheckChild0Integer, 80|128,59,
17305 OPC_RecordChild1,
17306 OPC_RecordChild2,
17307 OPC_CheckPatternPredicate1,
17308 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
17309 MVT::v4i32, 2, 9,
17310 12,
17311 OPC_CheckChild0Integer, 85|128,59,
17312 OPC_RecordChild1,
17313 OPC_RecordChild2,
17314 OPC_CheckPatternPredicate1,
17315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_W),
17316 MVT::v2i64, 2, 9,
17317 12,
17318 OPC_CheckChild0Integer, 97|128,59,
17319 OPC_RecordChild1,
17320 OPC_RecordChild2,
17321 OPC_CheckPatternPredicate1,
17322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_W),
17323 MVT::v2i64, 2, 9,
17324 12,
17325 OPC_CheckChild0Integer, 86|128,59,
17326 OPC_RecordChild1,
17327 OPC_RecordChild2,
17328 OPC_CheckPatternPredicate1,
17329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU),
17330 MVT::v2i64, 2, 9,
17331 12,
17332 OPC_CheckChild0Integer, 98|128,59,
17333 OPC_RecordChild1,
17334 OPC_RecordChild2,
17335 OPC_CheckPatternPredicate1,
17336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU),
17337 MVT::v2i64, 2, 9,
17338 12,
17339 OPC_CheckChild0Integer, 87|128,59,
17340 OPC_RecordChild1,
17341 OPC_RecordChild2,
17342 OPC_CheckPatternPredicate1,
17343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_D_WU_W),
17344 MVT::v2i64, 2, 9,
17345 12,
17346 OPC_CheckChild0Integer, 99|128,59,
17347 OPC_RecordChild1,
17348 OPC_RecordChild2,
17349 OPC_CheckPatternPredicate1,
17350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_D_WU_W),
17351 MVT::v2i64, 2, 9,
17352 12,
17353 OPC_CheckChild0Integer, 78|128,60,
17354 OPC_RecordChild1,
17355 OPC_RecordChild2,
17356 OPC_CheckPatternPredicate1,
17357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_W),
17358 MVT::v4i32, 2, 9,
17359 12,
17360 OPC_CheckChild0Integer, 38|128,60,
17361 OPC_RecordChild1,
17362 OPC_RecordChild2,
17363 OPC_CheckPatternPredicate1,
17364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
17365 MVT::v4i32, 2, 9,
17366 12,
17367 OPC_CheckChild0Integer, 45|128,61,
17368 OPC_RecordChild1,
17369 OPC_RecordChild2,
17370 OPC_CheckPatternPredicate1,
17371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_W),
17372 MVT::v4i32, 2, 9,
17373 12,
17374 OPC_CheckChild0Integer, 15|128,61,
17375 OPC_RecordChild1,
17376 OPC_RecordChild2,
17377 OPC_CheckPatternPredicate1,
17378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_W),
17379 MVT::v4i32, 2, 9,
17380 12,
17381 OPC_CheckChild0Integer, 36|128,61,
17382 OPC_RecordChild1,
17383 OPC_RecordChild2,
17384 OPC_CheckPatternPredicate1,
17385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_H_W),
17386 MVT::v8i16, 2, 9,
17387 12,
17388 OPC_CheckChild0Integer, 6|128,61,
17389 OPC_RecordChild1,
17390 OPC_RecordChild2,
17391 OPC_CheckPatternPredicate1,
17392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_H_W),
17393 MVT::v8i16, 2, 9,
17394 12,
17395 OPC_CheckChild0Integer, 51|128,61,
17396 OPC_RecordChild1,
17397 OPC_RecordChild2,
17398 OPC_CheckPatternPredicate1,
17399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_H_W),
17400 MVT::v8i16, 2, 9,
17401 12,
17402 OPC_CheckChild0Integer, 21|128,61,
17403 OPC_RecordChild1,
17404 OPC_RecordChild2,
17405 OPC_CheckPatternPredicate1,
17406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_H_W),
17407 MVT::v8i16, 2, 9,
17408 12,
17409 OPC_CheckChild0Integer, 87|128,61,
17410 OPC_RecordChild1,
17411 OPC_RecordChild2,
17412 OPC_CheckPatternPredicate1,
17413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_H_W),
17414 MVT::v8i16, 2, 9,
17415 12,
17416 OPC_CheckChild0Integer, 59|128,61,
17417 OPC_RecordChild1,
17418 OPC_RecordChild2,
17419 OPC_CheckPatternPredicate1,
17420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_H_W),
17421 MVT::v8i16, 2, 9,
17422 12,
17423 OPC_CheckChild0Integer, 88|128,61,
17424 OPC_RecordChild1,
17425 OPC_RecordChild2,
17426 OPC_CheckPatternPredicate1,
17427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_HU_W),
17428 MVT::v8i16, 2, 9,
17429 12,
17430 OPC_CheckChild0Integer, 60|128,61,
17431 OPC_RecordChild1,
17432 OPC_RecordChild2,
17433 OPC_CheckPatternPredicate1,
17434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_HU_W),
17435 MVT::v8i16, 2, 9,
17436 12,
17437 OPC_CheckChild0Integer, 101|128,61,
17438 OPC_RecordChild1,
17439 OPC_RecordChild2,
17440 OPC_CheckPatternPredicate1,
17441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_H_W),
17442 MVT::v8i16, 2, 9,
17443 12,
17444 OPC_CheckChild0Integer, 73|128,61,
17445 OPC_RecordChild1,
17446 OPC_RecordChild2,
17447 OPC_CheckPatternPredicate1,
17448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_H_W),
17449 MVT::v8i16, 2, 9,
17450 12,
17451 OPC_CheckChild0Integer, 102|128,61,
17452 OPC_RecordChild1,
17453 OPC_RecordChild2,
17454 OPC_CheckPatternPredicate1,
17455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_HU_W),
17456 MVT::v8i16, 2, 9,
17457 12,
17458 OPC_CheckChild0Integer, 74|128,61,
17459 OPC_RecordChild1,
17460 OPC_RecordChild2,
17461 OPC_CheckPatternPredicate1,
17462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_HU_W),
17463 MVT::v8i16, 2, 9,
17464 12,
17465 OPC_CheckChild0Integer, 62|128,60,
17466 OPC_RecordChild1,
17467 OPC_RecordChild2,
17468 OPC_CheckPatternPredicate1,
17469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
17470 MVT::v4i32, 2, 9,
17471 12,
17472 OPC_CheckChild0Integer, 85|128,60,
17473 OPC_RecordChild1,
17474 OPC_RecordChild2,
17475 OPC_CheckPatternPredicate1,
17476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
17477 MVT::v4i32, 2, 9,
17478 12,
17479 OPC_CheckChild0Integer, 86|128,60,
17480 OPC_RecordChild1,
17481 OPC_RecordChild2,
17482 OPC_CheckPatternPredicate1,
17483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
17484 MVT::v4i32, 2, 9,
17485 12,
17486 OPC_CheckChild0Integer, 115|128,60,
17487 OPC_RecordChild1,
17488 OPC_RecordChild2,
17489 OPC_CheckPatternPredicate1,
17490 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
17491 MVT::v4i32, 2, 9,
17492 12,
17493 OPC_CheckChild0Integer, 116|128,60,
17494 OPC_RecordChild1,
17495 OPC_RecordChild2,
17496 OPC_CheckPatternPredicate1,
17497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
17498 MVT::v4i32, 2, 9,
17499 12,
17500 OPC_CheckChild0Integer, 121|128,59,
17501 OPC_RecordChild1,
17502 OPC_RecordChild2,
17503 OPC_CheckPatternPredicate1,
17504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
17505 MVT::v4i32, 2, 9,
17506 12,
17507 OPC_CheckChild0Integer, 125|128,59,
17508 OPC_RecordChild1,
17509 OPC_RecordChild2,
17510 OPC_CheckPatternPredicate1,
17511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
17512 MVT::v4i32, 2, 9,
17513 12,
17514 OPC_CheckChild0Integer, 6|128,60,
17515 OPC_RecordChild1,
17516 OPC_RecordChild2,
17517 OPC_CheckPatternPredicate1,
17518 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
17519 MVT::v4i32, 2, 9,
17520 12,
17521 OPC_CheckChild0Integer, 10|128,60,
17522 OPC_RecordChild1,
17523 OPC_RecordChild2,
17524 OPC_CheckPatternPredicate1,
17525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
17526 MVT::v4i32, 2, 9,
17527 12,
17528 OPC_CheckChild0Integer, 111|128,58,
17529 OPC_RecordChild1,
17530 OPC_RecordChild2,
17531 OPC_CheckPatternPredicate1,
17532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
17533 MVT::v4i32, 2, 9,
17534 12,
17535 OPC_CheckChild0Integer, 107|128,58,
17536 OPC_RecordChild1,
17537 OPC_RecordChild2,
17538 OPC_CheckPatternPredicate1,
17539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
17540 MVT::v4i32, 2, 9,
17541 12,
17542 OPC_CheckChild0Integer, 95|128,56,
17543 OPC_RecordChild1,
17544 OPC_RecordChild2,
17545 OPC_CheckPatternPredicate1,
17546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADD_Q),
17547 MVT::v2i64, 2, 9,
17548 12,
17549 OPC_CheckChild0Integer, 2|128,62,
17550 OPC_RecordChild1,
17551 OPC_RecordChild2,
17552 OPC_CheckPatternPredicate1,
17553 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_Q),
17554 MVT::v2i64, 2, 9,
17555 12,
17556 OPC_CheckChild0Integer, 45|128,60,
17557 OPC_RecordChild1,
17558 OPC_RecordChild2,
17559 OPC_CheckPatternPredicate1,
17560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_D),
17561 MVT::v2i64, 2, 9,
17562 12,
17563 OPC_CheckChild0Integer, 46|128,60,
17564 OPC_RecordChild1,
17565 OPC_RecordChild2,
17566 OPC_CheckPatternPredicate1,
17567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_DU),
17568 MVT::v2i64, 2, 9,
17569 12,
17570 OPC_CheckChild0Integer, 115|128,61,
17571 OPC_RecordChild1,
17572 OPC_RecordChild2,
17573 OPC_CheckPatternPredicate1,
17574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_D),
17575 MVT::v2i64, 2, 9,
17576 12,
17577 OPC_CheckChild0Integer, 116|128,61,
17578 OPC_RecordChild1,
17579 OPC_RecordChild2,
17580 OPC_CheckPatternPredicate1,
17581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_DU),
17582 MVT::v2i64, 2, 9,
17583 12,
17584 OPC_CheckChild0Integer, 92|128,58,
17585 OPC_RecordChild1,
17586 OPC_RecordChild2,
17587 OPC_CheckPatternPredicate1,
17588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_Q_D),
17589 MVT::v2i64, 2, 9,
17590 12,
17591 OPC_CheckChild0Integer, 93|128,58,
17592 OPC_RecordChild1,
17593 OPC_RecordChild2,
17594 OPC_CheckPatternPredicate1,
17595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_QU_DU),
17596 MVT::v2i64, 2, 9,
17597 12,
17598 OPC_CheckChild0Integer, 100|128,58,
17599 OPC_RecordChild1,
17600 OPC_RecordChild2,
17601 OPC_CheckPatternPredicate1,
17602 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_Q_D),
17603 MVT::v2i64, 2, 9,
17604 12,
17605 OPC_CheckChild0Integer, 101|128,58,
17606 OPC_RecordChild1,
17607 OPC_RecordChild2,
17608 OPC_CheckPatternPredicate1,
17609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_QU_DU),
17610 MVT::v2i64, 2, 9,
17611 12,
17612 OPC_CheckChild0Integer, 111|128,56,
17613 OPC_RecordChild1,
17614 OPC_RecordChild2,
17615 OPC_CheckPatternPredicate1,
17616 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_D),
17617 MVT::v2i64, 2, 9,
17618 12,
17619 OPC_CheckChild0Integer, 123|128,56,
17620 OPC_RecordChild1,
17621 OPC_RecordChild2,
17622 OPC_CheckPatternPredicate1,
17623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_D),
17624 MVT::v2i64, 2, 9,
17625 12,
17626 OPC_CheckChild0Integer, 12|128,62,
17627 OPC_RecordChild1,
17628 OPC_RecordChild2,
17629 OPC_CheckPatternPredicate1,
17630 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_D),
17631 MVT::v2i64, 2, 9,
17632 12,
17633 OPC_CheckChild0Integer, 20|128,62,
17634 OPC_RecordChild1,
17635 OPC_RecordChild2,
17636 OPC_CheckPatternPredicate1,
17637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_D),
17638 MVT::v2i64, 2, 9,
17639 12,
17640 OPC_CheckChild0Integer, 112|128,56,
17641 OPC_RecordChild1,
17642 OPC_RecordChild2,
17643 OPC_CheckPatternPredicate1,
17644 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU),
17645 MVT::v2i64, 2, 9,
17646 12,
17647 OPC_CheckChild0Integer, 124|128,56,
17648 OPC_RecordChild1,
17649 OPC_RecordChild2,
17650 OPC_CheckPatternPredicate1,
17651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU),
17652 MVT::v2i64, 2, 9,
17653 12,
17654 OPC_CheckChild0Integer, 13|128,62,
17655 OPC_RecordChild1,
17656 OPC_RecordChild2,
17657 OPC_CheckPatternPredicate1,
17658 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWEV_Q_DU),
17659 MVT::v2i64, 2, 9,
17660 12,
17661 OPC_CheckChild0Integer, 21|128,62,
17662 OPC_RecordChild1,
17663 OPC_RecordChild2,
17664 OPC_CheckPatternPredicate1,
17665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBWOD_Q_DU),
17666 MVT::v2i64, 2, 9,
17667 12,
17668 OPC_CheckChild0Integer, 113|128,56,
17669 OPC_RecordChild1,
17670 OPC_RecordChild2,
17671 OPC_CheckPatternPredicate1,
17672 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWEV_Q_DU_D),
17673 MVT::v2i64, 2, 9,
17674 12,
17675 OPC_CheckChild0Integer, 125|128,56,
17676 OPC_RecordChild1,
17677 OPC_RecordChild2,
17678 OPC_CheckPatternPredicate1,
17679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDWOD_Q_DU_D),
17680 MVT::v2i64, 2, 9,
17681 12,
17682 OPC_CheckChild0Integer, 6|128,57,
17683 OPC_RecordChild1,
17684 OPC_RecordChild2,
17685 OPC_CheckPatternPredicate1,
17686 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_D),
17687 MVT::v2i64, 2, 9,
17688 12,
17689 OPC_CheckChild0Integer, 7|128,57,
17690 OPC_RecordChild1,
17691 OPC_RecordChild2,
17692 OPC_CheckPatternPredicate1,
17693 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_DU),
17694 MVT::v2i64, 2, 9,
17695 12,
17696 OPC_CheckChild0Integer, 14|128,57,
17697 OPC_RecordChild1,
17698 OPC_RecordChild2,
17699 OPC_CheckPatternPredicate1,
17700 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_D),
17701 MVT::v2i64, 2, 9,
17702 12,
17703 OPC_CheckChild0Integer, 15|128,57,
17704 OPC_RecordChild1,
17705 OPC_RecordChild2,
17706 OPC_CheckPatternPredicate1,
17707 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_DU),
17708 MVT::v2i64, 2, 9,
17709 12,
17710 OPC_CheckChild0Integer, 86|128,56,
17711 OPC_RecordChild1,
17712 OPC_RecordChild2,
17713 OPC_CheckPatternPredicate1,
17714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_D),
17715 MVT::v2i64, 2, 9,
17716 12,
17717 OPC_CheckChild0Integer, 87|128,56,
17718 OPC_RecordChild1,
17719 OPC_RecordChild2,
17720 OPC_CheckPatternPredicate1,
17721 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_DU),
17722 MVT::v2i64, 2, 9,
17723 12,
17724 OPC_CheckChild0Integer, 98|128,56,
17725 OPC_RecordChild1,
17726 OPC_RecordChild2,
17727 OPC_CheckPatternPredicate1,
17728 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDA_D),
17729 MVT::v2i64, 2, 9,
17730 12,
17731 OPC_CheckChild0Integer, 75|128,59,
17732 OPC_RecordChild1,
17733 OPC_RecordChild2,
17734 OPC_CheckPatternPredicate1,
17735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
17736 MVT::v2i64, 2, 9,
17737 12,
17738 OPC_CheckChild0Integer, 76|128,59,
17739 OPC_RecordChild1,
17740 OPC_RecordChild2,
17741 OPC_CheckPatternPredicate1,
17742 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
17743 MVT::v2i64, 2, 9,
17744 12,
17745 OPC_CheckChild0Integer, 91|128,59,
17746 OPC_RecordChild1,
17747 OPC_RecordChild2,
17748 OPC_CheckPatternPredicate1,
17749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_D),
17750 MVT::v2i64, 2, 9,
17751 12,
17752 OPC_CheckChild0Integer, 103|128,59,
17753 OPC_RecordChild1,
17754 OPC_RecordChild2,
17755 OPC_CheckPatternPredicate1,
17756 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_D),
17757 MVT::v2i64, 2, 9,
17758 12,
17759 OPC_CheckChild0Integer, 92|128,59,
17760 OPC_RecordChild1,
17761 OPC_RecordChild2,
17762 OPC_CheckPatternPredicate1,
17763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU),
17764 MVT::v2i64, 2, 9,
17765 12,
17766 OPC_CheckChild0Integer, 104|128,59,
17767 OPC_RecordChild1,
17768 OPC_RecordChild2,
17769 OPC_CheckPatternPredicate1,
17770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU),
17771 MVT::v2i64, 2, 9,
17772 12,
17773 OPC_CheckChild0Integer, 93|128,59,
17774 OPC_RecordChild1,
17775 OPC_RecordChild2,
17776 OPC_CheckPatternPredicate1,
17777 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWEV_Q_DU_D),
17778 MVT::v2i64, 2, 9,
17779 12,
17780 OPC_CheckChild0Integer, 105|128,59,
17781 OPC_RecordChild1,
17782 OPC_RecordChild2,
17783 OPC_CheckPatternPredicate1,
17784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMULWOD_Q_DU_D),
17785 MVT::v2i64, 2, 9,
17786 12,
17787 OPC_CheckChild0Integer, 76|128,60,
17788 OPC_RecordChild1,
17789 OPC_RecordChild2,
17790 OPC_CheckPatternPredicate1,
17791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_D),
17792 MVT::v2i64, 2, 9,
17793 12,
17794 OPC_CheckChild0Integer, 36|128,60,
17795 OPC_RecordChild1,
17796 OPC_RecordChild2,
17797 OPC_CheckPatternPredicate1,
17798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
17799 MVT::v2i64, 2, 9,
17800 12,
17801 OPC_CheckChild0Integer, 43|128,61,
17802 OPC_RecordChild1,
17803 OPC_RecordChild2,
17804 OPC_CheckPatternPredicate1,
17805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_D),
17806 MVT::v2i64, 2, 9,
17807 12,
17808 OPC_CheckChild0Integer, 13|128,61,
17809 OPC_RecordChild1,
17810 OPC_RecordChild2,
17811 OPC_CheckPatternPredicate1,
17812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_D),
17813 MVT::v2i64, 2, 9,
17814 12,
17815 OPC_CheckChild0Integer, 37|128,61,
17816 OPC_RecordChild1,
17817 OPC_RecordChild2,
17818 OPC_CheckPatternPredicate1,
17819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLN_W_D),
17820 MVT::v4i32, 2, 9,
17821 12,
17822 OPC_CheckChild0Integer, 7|128,61,
17823 OPC_RecordChild1,
17824 OPC_RecordChild2,
17825 OPC_CheckPatternPredicate1,
17826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAN_W_D),
17827 MVT::v4i32, 2, 9,
17828 12,
17829 OPC_CheckChild0Integer, 52|128,61,
17830 OPC_RecordChild1,
17831 OPC_RecordChild2,
17832 OPC_CheckPatternPredicate1,
17833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRN_W_D),
17834 MVT::v4i32, 2, 9,
17835 12,
17836 OPC_CheckChild0Integer, 22|128,61,
17837 OPC_RecordChild1,
17838 OPC_RecordChild2,
17839 OPC_CheckPatternPredicate1,
17840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARN_W_D),
17841 MVT::v4i32, 2, 9,
17842 12,
17843 OPC_CheckChild0Integer, 89|128,61,
17844 OPC_RecordChild1,
17845 OPC_RecordChild2,
17846 OPC_CheckPatternPredicate1,
17847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_W_D),
17848 MVT::v4i32, 2, 9,
17849 12,
17850 OPC_CheckChild0Integer, 61|128,61,
17851 OPC_RecordChild1,
17852 OPC_RecordChild2,
17853 OPC_CheckPatternPredicate1,
17854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_W_D),
17855 MVT::v4i32, 2, 9,
17856 12,
17857 OPC_CheckChild0Integer, 90|128,61,
17858 OPC_RecordChild1,
17859 OPC_RecordChild2,
17860 OPC_CheckPatternPredicate1,
17861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLN_WU_D),
17862 MVT::v4i32, 2, 9,
17863 12,
17864 OPC_CheckChild0Integer, 62|128,61,
17865 OPC_RecordChild1,
17866 OPC_RecordChild2,
17867 OPC_CheckPatternPredicate1,
17868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRAN_WU_D),
17869 MVT::v4i32, 2, 9,
17870 12,
17871 OPC_CheckChild0Integer, 103|128,61,
17872 OPC_RecordChild1,
17873 OPC_RecordChild2,
17874 OPC_CheckPatternPredicate1,
17875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_W_D),
17876 MVT::v4i32, 2, 9,
17877 12,
17878 OPC_CheckChild0Integer, 75|128,61,
17879 OPC_RecordChild1,
17880 OPC_RecordChild2,
17881 OPC_CheckPatternPredicate1,
17882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_W_D),
17883 MVT::v4i32, 2, 9,
17884 12,
17885 OPC_CheckChild0Integer, 104|128,61,
17886 OPC_RecordChild1,
17887 OPC_RecordChild2,
17888 OPC_CheckPatternPredicate1,
17889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRLRN_WU_D),
17890 MVT::v4i32, 2, 9,
17891 12,
17892 OPC_CheckChild0Integer, 76|128,61,
17893 OPC_RecordChild1,
17894 OPC_RecordChild2,
17895 OPC_CheckPatternPredicate1,
17896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSRARN_WU_D),
17897 MVT::v4i32, 2, 9,
17898 12,
17899 OPC_CheckChild0Integer, 60|128,60,
17900 OPC_RecordChild1,
17901 OPC_RecordChild2,
17902 OPC_CheckPatternPredicate1,
17903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
17904 MVT::v2i64, 2, 9,
17905 12,
17906 OPC_CheckChild0Integer, 81|128,60,
17907 OPC_RecordChild1,
17908 OPC_RecordChild2,
17909 OPC_CheckPatternPredicate1,
17910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
17911 MVT::v2i64, 2, 9,
17912 12,
17913 OPC_CheckChild0Integer, 82|128,60,
17914 OPC_RecordChild1,
17915 OPC_RecordChild2,
17916 OPC_CheckPatternPredicate1,
17917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
17918 MVT::v2i64, 2, 9,
17919 12,
17920 OPC_CheckChild0Integer, 111|128,60,
17921 OPC_RecordChild1,
17922 OPC_RecordChild2,
17923 OPC_CheckPatternPredicate1,
17924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
17925 MVT::v2i64, 2, 9,
17926 12,
17927 OPC_CheckChild0Integer, 112|128,60,
17928 OPC_RecordChild1,
17929 OPC_RecordChild2,
17930 OPC_CheckPatternPredicate1,
17931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
17932 MVT::v2i64, 2, 9,
17933 12,
17934 OPC_CheckChild0Integer, 119|128,59,
17935 OPC_RecordChild1,
17936 OPC_RecordChild2,
17937 OPC_CheckPatternPredicate1,
17938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
17939 MVT::v2i64, 2, 9,
17940 12,
17941 OPC_CheckChild0Integer, 123|128,59,
17942 OPC_RecordChild1,
17943 OPC_RecordChild2,
17944 OPC_CheckPatternPredicate1,
17945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
17946 MVT::v2i64, 2, 9,
17947 12,
17948 OPC_CheckChild0Integer, 4|128,60,
17949 OPC_RecordChild1,
17950 OPC_RecordChild2,
17951 OPC_CheckPatternPredicate1,
17952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
17953 MVT::v2i64, 2, 9,
17954 12,
17955 OPC_CheckChild0Integer, 8|128,60,
17956 OPC_RecordChild1,
17957 OPC_RecordChild2,
17958 OPC_CheckPatternPredicate1,
17959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
17960 MVT::v2i64, 2, 9,
17961 12,
17962 OPC_CheckChild0Integer, 109|128,58,
17963 OPC_RecordChild1,
17964 OPC_RecordChild2,
17965 OPC_CheckPatternPredicate1,
17966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
17967 MVT::v2i64, 2, 9,
17968 12,
17969 OPC_CheckChild0Integer, 105|128,58,
17970 OPC_RecordChild1,
17971 OPC_RecordChild2,
17972 OPC_CheckPatternPredicate1,
17973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
17974 MVT::v2i64, 2, 9,
17975 13,
17976 OPC_CheckChild0Integer, 2|128,59,
17977 OPC_RecordChild1,
17978 OPC_RecordChild2,
17979 OPC_RecordChild3,
17980 OPC_CheckPatternPredicate1,
17981 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_B),
17982 MVT::v8i16, 3, 24,
17983 13,
17984 OPC_CheckChild0Integer, 14|128,59,
17985 OPC_RecordChild1,
17986 OPC_RecordChild2,
17987 OPC_RecordChild3,
17988 OPC_CheckPatternPredicate1,
17989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_B),
17990 MVT::v8i16, 3, 24,
17991 13,
17992 OPC_CheckChild0Integer, 3|128,59,
17993 OPC_RecordChild1,
17994 OPC_RecordChild2,
17995 OPC_RecordChild3,
17996 OPC_CheckPatternPredicate1,
17997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU),
17998 MVT::v8i16, 3, 24,
17999 13,
18000 OPC_CheckChild0Integer, 15|128,59,
18001 OPC_RecordChild1,
18002 OPC_RecordChild2,
18003 OPC_RecordChild3,
18004 OPC_CheckPatternPredicate1,
18005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU),
18006 MVT::v8i16, 3, 24,
18007 13,
18008 OPC_CheckChild0Integer, 4|128,59,
18009 OPC_RecordChild1,
18010 OPC_RecordChild2,
18011 OPC_RecordChild3,
18012 OPC_CheckPatternPredicate1,
18013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_H_BU_B),
18014 MVT::v8i16, 3, 24,
18015 13,
18016 OPC_CheckChild0Integer, 16|128,59,
18017 OPC_RecordChild1,
18018 OPC_RecordChild2,
18019 OPC_RecordChild3,
18020 OPC_CheckPatternPredicate1,
18021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_H_BU_B),
18022 MVT::v8i16, 3, 24,
18023 13,
18024 OPC_CheckChild0Integer, 8|128,59,
18025 OPC_RecordChild1,
18026 OPC_RecordChild2,
18027 OPC_RecordChild3,
18028 OPC_CheckPatternPredicate1,
18029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_H),
18030 MVT::v4i32, 3, 24,
18031 13,
18032 OPC_CheckChild0Integer, 20|128,59,
18033 OPC_RecordChild1,
18034 OPC_RecordChild2,
18035 OPC_RecordChild3,
18036 OPC_CheckPatternPredicate1,
18037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_H),
18038 MVT::v4i32, 3, 24,
18039 13,
18040 OPC_CheckChild0Integer, 9|128,59,
18041 OPC_RecordChild1,
18042 OPC_RecordChild2,
18043 OPC_RecordChild3,
18044 OPC_CheckPatternPredicate1,
18045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU),
18046 MVT::v4i32, 3, 24,
18047 13,
18048 OPC_CheckChild0Integer, 21|128,59,
18049 OPC_RecordChild1,
18050 OPC_RecordChild2,
18051 OPC_RecordChild3,
18052 OPC_CheckPatternPredicate1,
18053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU),
18054 MVT::v4i32, 3, 24,
18055 13,
18056 OPC_CheckChild0Integer, 10|128,59,
18057 OPC_RecordChild1,
18058 OPC_RecordChild2,
18059 OPC_RecordChild3,
18060 OPC_CheckPatternPredicate1,
18061 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_W_HU_H),
18062 MVT::v4i32, 3, 24,
18063 13,
18064 OPC_CheckChild0Integer, 22|128,59,
18065 OPC_RecordChild1,
18066 OPC_RecordChild2,
18067 OPC_RecordChild3,
18068 OPC_CheckPatternPredicate1,
18069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_W_HU_H),
18070 MVT::v4i32, 3, 24,
18071 13,
18072 OPC_CheckChild0Integer, 127|128,58,
18073 OPC_RecordChild1,
18074 OPC_RecordChild2,
18075 OPC_RecordChild3,
18076 OPC_CheckPatternPredicate1,
18077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_W),
18078 MVT::v2i64, 3, 24,
18079 13,
18080 OPC_CheckChild0Integer, 11|128,59,
18081 OPC_RecordChild1,
18082 OPC_RecordChild2,
18083 OPC_RecordChild3,
18084 OPC_CheckPatternPredicate1,
18085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_W),
18086 MVT::v2i64, 3, 24,
18087 13,
18088 OPC_CheckChild0Integer, 0|128,59,
18089 OPC_RecordChild1,
18090 OPC_RecordChild2,
18091 OPC_RecordChild3,
18092 OPC_CheckPatternPredicate1,
18093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU),
18094 MVT::v2i64, 3, 24,
18095 13,
18096 OPC_CheckChild0Integer, 12|128,59,
18097 OPC_RecordChild1,
18098 OPC_RecordChild2,
18099 OPC_RecordChild3,
18100 OPC_CheckPatternPredicate1,
18101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU),
18102 MVT::v2i64, 3, 24,
18103 13,
18104 OPC_CheckChild0Integer, 1|128,59,
18105 OPC_RecordChild1,
18106 OPC_RecordChild2,
18107 OPC_RecordChild3,
18108 OPC_CheckPatternPredicate1,
18109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_D_WU_W),
18110 MVT::v2i64, 3, 24,
18111 13,
18112 OPC_CheckChild0Integer, 13|128,59,
18113 OPC_RecordChild1,
18114 OPC_RecordChild2,
18115 OPC_RecordChild3,
18116 OPC_CheckPatternPredicate1,
18117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_D_WU_W),
18118 MVT::v2i64, 3, 24,
18119 13,
18120 OPC_CheckChild0Integer, 5|128,59,
18121 OPC_RecordChild1,
18122 OPC_RecordChild2,
18123 OPC_RecordChild3,
18124 OPC_CheckPatternPredicate1,
18125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_D),
18126 MVT::v2i64, 3, 24,
18127 13,
18128 OPC_CheckChild0Integer, 17|128,59,
18129 OPC_RecordChild1,
18130 OPC_RecordChild2,
18131 OPC_RecordChild3,
18132 OPC_CheckPatternPredicate1,
18133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_D),
18134 MVT::v2i64, 3, 24,
18135 13,
18136 OPC_CheckChild0Integer, 6|128,59,
18137 OPC_RecordChild1,
18138 OPC_RecordChild2,
18139 OPC_RecordChild3,
18140 OPC_CheckPatternPredicate1,
18141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU),
18142 MVT::v2i64, 3, 24,
18143 13,
18144 OPC_CheckChild0Integer, 18|128,59,
18145 OPC_RecordChild1,
18146 OPC_RecordChild2,
18147 OPC_RecordChild3,
18148 OPC_CheckPatternPredicate1,
18149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU),
18150 MVT::v2i64, 3, 24,
18151 13,
18152 OPC_CheckChild0Integer, 7|128,59,
18153 OPC_RecordChild1,
18154 OPC_RecordChild2,
18155 OPC_RecordChild3,
18156 OPC_CheckPatternPredicate1,
18157 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWEV_Q_DU_D),
18158 MVT::v2i64, 3, 24,
18159 13,
18160 OPC_CheckChild0Integer, 19|128,59,
18161 OPC_RecordChild1,
18162 OPC_RecordChild2,
18163 OPC_RecordChild3,
18164 OPC_CheckPatternPredicate1,
18165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMADDWOD_Q_DU_D),
18166 MVT::v2i64, 3, 24,
18167 11,
18168 OPC_CheckChild0Integer, 66|128,57,
18169 OPC_RecordChild1,
18170 OPC_CheckPatternPredicate1,
18171 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_H_B),
18172 MVT::v8i16, 1, 1,
18173 11,
18174 OPC_CheckChild0Integer, 67|128,57,
18175 OPC_RecordChild1,
18176 OPC_CheckPatternPredicate1,
18177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_HU_BU),
18178 MVT::v8i16, 1, 1,
18179 11,
18180 OPC_CheckChild0Integer, 64|128,59,
18181 OPC_RecordChild1,
18182 OPC_CheckPatternPredicate1,
18183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_B),
18184 MVT::v16i8, 1, 1,
18185 11,
18186 OPC_CheckChild0Integer, 63|128,59,
18187 OPC_RecordChild1,
18188 OPC_CheckPatternPredicate1,
18189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKGEZ_B),
18190 MVT::v16i8, 1, 1,
18191 11,
18192 OPC_CheckChild0Integer, 68|128,59,
18193 OPC_RecordChild1,
18194 OPC_CheckPatternPredicate1,
18195 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKNZ_B),
18196 MVT::v16i8, 1, 1,
18197 11,
18198 OPC_CheckChild0Integer, 48|128,57,
18199 OPC_RecordChild1,
18200 OPC_CheckPatternPredicate1,
18201 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_B),
18202 MVT::v16i8, 1, 1,
18203 11,
18204 OPC_CheckChild0Integer, 70|128,57,
18205 OPC_RecordChild1,
18206 OPC_CheckPatternPredicate1,
18207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_W_H),
18208 MVT::v4i32, 1, 1,
18209 11,
18210 OPC_CheckChild0Integer, 71|128,57,
18211 OPC_RecordChild1,
18212 OPC_CheckPatternPredicate1,
18213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_WU_HU),
18214 MVT::v4i32, 1, 1,
18215 11,
18216 OPC_CheckChild0Integer, 66|128,59,
18217 OPC_RecordChild1,
18218 OPC_CheckPatternPredicate1,
18219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_H),
18220 MVT::v8i16, 1, 1,
18221 11,
18222 OPC_CheckChild0Integer, 50|128,57,
18223 OPC_RecordChild1,
18224 OPC_CheckPatternPredicate1,
18225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_H),
18226 MVT::v8i16, 1, 1,
18227 11,
18228 OPC_CheckChild0Integer, 64|128,57,
18229 OPC_RecordChild1,
18230 OPC_CheckPatternPredicate1,
18231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_D_W),
18232 MVT::v2i64, 1, 1,
18233 11,
18234 OPC_CheckChild0Integer, 65|128,57,
18235 OPC_RecordChild1,
18236 OPC_CheckPatternPredicate1,
18237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_DU_WU),
18238 MVT::v2i64, 1, 1,
18239 11,
18240 OPC_CheckChild0Integer, 67|128,59,
18241 OPC_RecordChild1,
18242 OPC_CheckPatternPredicate1,
18243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_W),
18244 MVT::v4i32, 1, 1,
18245 11,
18246 OPC_CheckChild0Integer, 51|128,57,
18247 OPC_RecordChild1,
18248 OPC_CheckPatternPredicate1,
18249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_W),
18250 MVT::v4i32, 1, 1,
18251 11,
18252 OPC_CheckChild0Integer, 68|128,57,
18253 OPC_RecordChild1,
18254 OPC_CheckPatternPredicate1,
18255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_Q_D),
18256 MVT::v2i64, 1, 1,
18257 11,
18258 OPC_CheckChild0Integer, 69|128,57,
18259 OPC_RecordChild1,
18260 OPC_CheckPatternPredicate1,
18261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_QU_DU),
18262 MVT::v2i64, 1, 1,
18263 11,
18264 OPC_CheckChild0Integer, 65|128,59,
18265 OPC_RecordChild1,
18266 OPC_CheckPatternPredicate1,
18267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSKLTZ_D),
18268 MVT::v2i64, 1, 1,
18269 11,
18270 OPC_CheckChild0Integer, 72|128,57,
18271 OPC_RecordChild1,
18272 OPC_CheckPatternPredicate1,
18273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_Q_D),
18274 MVT::v2i64, 1, 1,
18275 11,
18276 OPC_CheckChild0Integer, 73|128,57,
18277 OPC_RecordChild1,
18278 OPC_CheckPatternPredicate1,
18279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTL_QU_DU),
18280 MVT::v2i64, 1, 1,
18281 11,
18282 OPC_CheckChild0Integer, 49|128,57,
18283 OPC_RecordChild1,
18284 OPC_CheckPatternPredicate1,
18285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VCLO_D),
18286 MVT::v2i64, 1, 1,
18287 13,
18288 OPC_CheckChild0Integer, 51|128,58,
18289 OPC_RecordChild1,
18290 OPC_RecordChild2,
18291 OPC_RecordChild3,
18292 OPC_CheckPatternPredicate1,
18293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_B),
18294 MVT::v16i8, 3, 24,
18295 13,
18296 OPC_CheckChild0Integer, 36|128,57,
18297 OPC_RecordChild1,
18298 OPC_RecordChild2,
18299 OPC_RecordChild3,
18300 OPC_CheckPatternPredicate1,
18301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
18302 MVT::v16i8, 3, 24,
18303 13,
18304 OPC_CheckChild0Integer, 67|128,60,
18305 OPC_RecordChild1,
18306 OPC_RecordChild2,
18307 OPC_RecordChild3,
18308 OPC_CheckPatternPredicate1,
18309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_B),
18310 MVT::v16i8, 3, 24,
18311 13,
18312 OPC_CheckChild0Integer, 52|128,58,
18313 OPC_RecordChild1,
18314 OPC_RecordChild2,
18315 OPC_RecordChild3,
18316 OPC_CheckPatternPredicate1,
18317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSTP_H),
18318 MVT::v8i16, 3, 24,
18319 13,
18320 OPC_CheckChild0Integer, 69|128,60,
18321 OPC_RecordChild1,
18322 OPC_RecordChild2,
18323 OPC_RecordChild3,
18324 OPC_CheckPatternPredicate1,
18325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_H),
18326 MVT::v8i16, 3, 24,
18327 13,
18328 OPC_CheckChild0Integer, 70|128,60,
18329 OPC_RecordChild1,
18330 OPC_RecordChild2,
18331 OPC_RecordChild3,
18332 OPC_CheckPatternPredicate1,
18333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
18334 MVT::v4i32, 3, 24,
18335 13,
18336 OPC_CheckChild0Integer, 68|128,60,
18337 OPC_RecordChild1,
18338 OPC_RecordChild2,
18339 OPC_RecordChild3,
18340 OPC_CheckPatternPredicate1,
18341 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
18342 MVT::v2i64, 3, 24,
18343 12,
18344 OPC_CheckChild0Integer, 126|128,57,
18345 OPC_RecordChild1,
18346 OPC_RecordChild2,
18347 OPC_CheckPatternPredicate1,
18348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_H_S),
18349 MVT::v8i16, 2, 9,
18350 12,
18351 OPC_CheckChild0Integer, 83|128,57,
18352 OPC_RecordChild1,
18353 OPC_RecordChild2,
18354 OPC_CheckPatternPredicate1,
18355 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_S),
18356 MVT::v4i32, 2, 9,
18357 12,
18358 OPC_CheckChild0Integer, 101|128,57,
18359 OPC_RecordChild1,
18360 OPC_RecordChild2,
18361 OPC_CheckPatternPredicate1,
18362 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
18363 MVT::v4i32, 2, 9,
18364 12,
18365 OPC_CheckChild0Integer, 85|128,57,
18366 OPC_RecordChild1,
18367 OPC_RecordChild2,
18368 OPC_CheckPatternPredicate1,
18369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
18370 MVT::v4i32, 2, 9,
18371 12,
18372 OPC_CheckChild0Integer, 95|128,57,
18373 OPC_RecordChild1,
18374 OPC_RecordChild2,
18375 OPC_CheckPatternPredicate1,
18376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
18377 MVT::v4i32, 2, 9,
18378 12,
18379 OPC_CheckChild0Integer, 89|128,57,
18380 OPC_RecordChild1,
18381 OPC_RecordChild2,
18382 OPC_CheckPatternPredicate1,
18383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
18384 MVT::v4i32, 2, 9,
18385 12,
18386 OPC_CheckChild0Integer, 99|128,57,
18387 OPC_RecordChild1,
18388 OPC_RecordChild2,
18389 OPC_CheckPatternPredicate1,
18390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
18391 MVT::v4i32, 2, 9,
18392 12,
18393 OPC_CheckChild0Integer, 87|128,57,
18394 OPC_RecordChild1,
18395 OPC_RecordChild2,
18396 OPC_CheckPatternPredicate1,
18397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
18398 MVT::v4i32, 2, 9,
18399 12,
18400 OPC_CheckChild0Integer, 97|128,57,
18401 OPC_RecordChild1,
18402 OPC_RecordChild2,
18403 OPC_CheckPatternPredicate1,
18404 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
18405 MVT::v4i32, 2, 9,
18406 12,
18407 OPC_CheckChild0Integer, 91|128,57,
18408 OPC_RecordChild1,
18409 OPC_RecordChild2,
18410 OPC_CheckPatternPredicate1,
18411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
18412 MVT::v4i32, 2, 9,
18413 12,
18414 OPC_CheckChild0Integer, 93|128,57,
18415 OPC_RecordChild1,
18416 OPC_RecordChild2,
18417 OPC_CheckPatternPredicate1,
18418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
18419 MVT::v4i32, 2, 9,
18420 12,
18421 OPC_CheckChild0Integer, 103|128,57,
18422 OPC_RecordChild1,
18423 OPC_RecordChild2,
18424 OPC_CheckPatternPredicate1,
18425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
18426 MVT::v4i32, 2, 9,
18427 12,
18428 OPC_CheckChild0Integer, 105|128,57,
18429 OPC_RecordChild1,
18430 OPC_RecordChild2,
18431 OPC_CheckPatternPredicate1,
18432 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_S),
18433 MVT::v4i32, 2, 9,
18434 12,
18435 OPC_CheckChild0Integer, 123|128,57,
18436 OPC_RecordChild1,
18437 OPC_RecordChild2,
18438 OPC_CheckPatternPredicate1,
18439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_S),
18440 MVT::v4i32, 2, 9,
18441 12,
18442 OPC_CheckChild0Integer, 107|128,57,
18443 OPC_RecordChild1,
18444 OPC_RecordChild2,
18445 OPC_CheckPatternPredicate1,
18446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_S),
18447 MVT::v4i32, 2, 9,
18448 12,
18449 OPC_CheckChild0Integer, 117|128,57,
18450 OPC_RecordChild1,
18451 OPC_RecordChild2,
18452 OPC_CheckPatternPredicate1,
18453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_S),
18454 MVT::v4i32, 2, 9,
18455 12,
18456 OPC_CheckChild0Integer, 111|128,57,
18457 OPC_RecordChild1,
18458 OPC_RecordChild2,
18459 OPC_CheckPatternPredicate1,
18460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_S),
18461 MVT::v4i32, 2, 9,
18462 12,
18463 OPC_CheckChild0Integer, 121|128,57,
18464 OPC_RecordChild1,
18465 OPC_RecordChild2,
18466 OPC_CheckPatternPredicate1,
18467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_S),
18468 MVT::v4i32, 2, 9,
18469 12,
18470 OPC_CheckChild0Integer, 109|128,57,
18471 OPC_RecordChild1,
18472 OPC_RecordChild2,
18473 OPC_CheckPatternPredicate1,
18474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_S),
18475 MVT::v4i32, 2, 9,
18476 12,
18477 OPC_CheckChild0Integer, 119|128,57,
18478 OPC_RecordChild1,
18479 OPC_RecordChild2,
18480 OPC_CheckPatternPredicate1,
18481 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_S),
18482 MVT::v4i32, 2, 9,
18483 12,
18484 OPC_CheckChild0Integer, 113|128,57,
18485 OPC_RecordChild1,
18486 OPC_RecordChild2,
18487 OPC_CheckPatternPredicate1,
18488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_S),
18489 MVT::v4i32, 2, 9,
18490 12,
18491 OPC_CheckChild0Integer, 115|128,57,
18492 OPC_RecordChild1,
18493 OPC_RecordChild2,
18494 OPC_CheckPatternPredicate1,
18495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_S),
18496 MVT::v4i32, 2, 9,
18497 12,
18498 OPC_CheckChild0Integer, 125|128,57,
18499 OPC_RecordChild1,
18500 OPC_RecordChild2,
18501 OPC_CheckPatternPredicate1,
18502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_S),
18503 MVT::v4i32, 2, 9,
18504 12,
18505 OPC_CheckChild0Integer, 72|128,58,
18506 OPC_RecordChild1,
18507 OPC_RecordChild2,
18508 OPC_CheckPatternPredicate1,
18509 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_D),
18510 MVT::v4i32, 2, 9,
18511 12,
18512 OPC_CheckChild0Integer, 83|128,58,
18513 OPC_RecordChild1,
18514 OPC_RecordChild2,
18515 OPC_CheckPatternPredicate1,
18516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_D),
18517 MVT::v4i32, 2, 9,
18518 12,
18519 OPC_CheckChild0Integer, 77|128,58,
18520 OPC_RecordChild1,
18521 OPC_RecordChild2,
18522 OPC_CheckPatternPredicate1,
18523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_D),
18524 MVT::v4i32, 2, 9,
18525 12,
18526 OPC_CheckChild0Integer, 67|128,58,
18527 OPC_RecordChild1,
18528 OPC_RecordChild2,
18529 OPC_CheckPatternPredicate1,
18530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_D),
18531 MVT::v4i32, 2, 9,
18532 12,
18533 OPC_CheckChild0Integer, 61|128,58,
18534 OPC_RecordChild1,
18535 OPC_RecordChild2,
18536 OPC_CheckPatternPredicate1,
18537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_D),
18538 MVT::v4i32, 2, 9,
18539 12,
18540 OPC_CheckChild0Integer, 82|128,57,
18541 OPC_RecordChild1,
18542 OPC_RecordChild2,
18543 OPC_CheckPatternPredicate1,
18544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CAF_D),
18545 MVT::v2i64, 2, 9,
18546 12,
18547 OPC_CheckChild0Integer, 100|128,57,
18548 OPC_RecordChild1,
18549 OPC_RecordChild2,
18550 OPC_CheckPatternPredicate1,
18551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
18552 MVT::v2i64, 2, 9,
18553 12,
18554 OPC_CheckChild0Integer, 84|128,57,
18555 OPC_RecordChild1,
18556 OPC_RecordChild2,
18557 OPC_CheckPatternPredicate1,
18558 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
18559 MVT::v2i64, 2, 9,
18560 12,
18561 OPC_CheckChild0Integer, 94|128,57,
18562 OPC_RecordChild1,
18563 OPC_RecordChild2,
18564 OPC_CheckPatternPredicate1,
18565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
18566 MVT::v2i64, 2, 9,
18567 12,
18568 OPC_CheckChild0Integer, 88|128,57,
18569 OPC_RecordChild1,
18570 OPC_RecordChild2,
18571 OPC_CheckPatternPredicate1,
18572 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
18573 MVT::v2i64, 2, 9,
18574 12,
18575 OPC_CheckChild0Integer, 98|128,57,
18576 OPC_RecordChild1,
18577 OPC_RecordChild2,
18578 OPC_CheckPatternPredicate1,
18579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
18580 MVT::v2i64, 2, 9,
18581 12,
18582 OPC_CheckChild0Integer, 86|128,57,
18583 OPC_RecordChild1,
18584 OPC_RecordChild2,
18585 OPC_CheckPatternPredicate1,
18586 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
18587 MVT::v2i64, 2, 9,
18588 12,
18589 OPC_CheckChild0Integer, 96|128,57,
18590 OPC_RecordChild1,
18591 OPC_RecordChild2,
18592 OPC_CheckPatternPredicate1,
18593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
18594 MVT::v2i64, 2, 9,
18595 12,
18596 OPC_CheckChild0Integer, 90|128,57,
18597 OPC_RecordChild1,
18598 OPC_RecordChild2,
18599 OPC_CheckPatternPredicate1,
18600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
18601 MVT::v2i64, 2, 9,
18602 12,
18603 OPC_CheckChild0Integer, 92|128,57,
18604 OPC_RecordChild1,
18605 OPC_RecordChild2,
18606 OPC_CheckPatternPredicate1,
18607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
18608 MVT::v2i64, 2, 9,
18609 12,
18610 OPC_CheckChild0Integer, 102|128,57,
18611 OPC_RecordChild1,
18612 OPC_RecordChild2,
18613 OPC_CheckPatternPredicate1,
18614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
18615 MVT::v2i64, 2, 9,
18616 12,
18617 OPC_CheckChild0Integer, 104|128,57,
18618 OPC_RecordChild1,
18619 OPC_RecordChild2,
18620 OPC_CheckPatternPredicate1,
18621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SAF_D),
18622 MVT::v2i64, 2, 9,
18623 12,
18624 OPC_CheckChild0Integer, 122|128,57,
18625 OPC_RecordChild1,
18626 OPC_RecordChild2,
18627 OPC_CheckPatternPredicate1,
18628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUN_D),
18629 MVT::v2i64, 2, 9,
18630 12,
18631 OPC_CheckChild0Integer, 106|128,57,
18632 OPC_RecordChild1,
18633 OPC_RecordChild2,
18634 OPC_CheckPatternPredicate1,
18635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SEQ_D),
18636 MVT::v2i64, 2, 9,
18637 12,
18638 OPC_CheckChild0Integer, 116|128,57,
18639 OPC_RecordChild1,
18640 OPC_RecordChild2,
18641 OPC_CheckPatternPredicate1,
18642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUEQ_D),
18643 MVT::v2i64, 2, 9,
18644 12,
18645 OPC_CheckChild0Integer, 110|128,57,
18646 OPC_RecordChild1,
18647 OPC_RecordChild2,
18648 OPC_CheckPatternPredicate1,
18649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLT_D),
18650 MVT::v2i64, 2, 9,
18651 12,
18652 OPC_CheckChild0Integer, 120|128,57,
18653 OPC_RecordChild1,
18654 OPC_RecordChild2,
18655 OPC_CheckPatternPredicate1,
18656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULT_D),
18657 MVT::v2i64, 2, 9,
18658 12,
18659 OPC_CheckChild0Integer, 108|128,57,
18660 OPC_RecordChild1,
18661 OPC_RecordChild2,
18662 OPC_CheckPatternPredicate1,
18663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SLE_D),
18664 MVT::v2i64, 2, 9,
18665 12,
18666 OPC_CheckChild0Integer, 118|128,57,
18667 OPC_RecordChild1,
18668 OPC_RecordChild2,
18669 OPC_CheckPatternPredicate1,
18670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SULE_D),
18671 MVT::v2i64, 2, 9,
18672 12,
18673 OPC_CheckChild0Integer, 112|128,57,
18674 OPC_RecordChild1,
18675 OPC_RecordChild2,
18676 OPC_CheckPatternPredicate1,
18677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SNE_D),
18678 MVT::v2i64, 2, 9,
18679 12,
18680 OPC_CheckChild0Integer, 114|128,57,
18681 OPC_RecordChild1,
18682 OPC_RecordChild2,
18683 OPC_CheckPatternPredicate1,
18684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SOR_D),
18685 MVT::v2i64, 2, 9,
18686 12,
18687 OPC_CheckChild0Integer, 124|128,57,
18688 OPC_RecordChild1,
18689 OPC_RecordChild2,
18690 OPC_CheckPatternPredicate1,
18691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_SUNE_D),
18692 MVT::v2i64, 2, 9,
18693 11,
18694 OPC_CheckChild0Integer, 81|128,57,
18695 OPC_RecordChild1,
18696 OPC_CheckPatternPredicate1,
18697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_S),
18698 MVT::v4i32, 1, 1,
18699 11,
18700 OPC_CheckChild0Integer, 73|128,58,
18701 OPC_RecordChild1,
18702 OPC_CheckPatternPredicate1,
18703 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_W_S),
18704 MVT::v4i32, 1, 1,
18705 11,
18706 OPC_CheckChild0Integer, 84|128,58,
18707 OPC_RecordChild1,
18708 OPC_CheckPatternPredicate1,
18709 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
18710 MVT::v4i32, 1, 1,
18711 11,
18712 OPC_CheckChild0Integer, 78|128,58,
18713 OPC_RecordChild1,
18714 OPC_CheckPatternPredicate1,
18715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_W_S),
18716 MVT::v4i32, 1, 1,
18717 11,
18718 OPC_CheckChild0Integer, 68|128,58,
18719 OPC_RecordChild1,
18720 OPC_CheckPatternPredicate1,
18721 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_W_S),
18722 MVT::v4i32, 1, 1,
18723 11,
18724 OPC_CheckChild0Integer, 62|128,58,
18725 OPC_RecordChild1,
18726 OPC_CheckPatternPredicate1,
18727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_W_S),
18728 MVT::v4i32, 1, 1,
18729 11,
18730 OPC_CheckChild0Integer, 85|128,58,
18731 OPC_RecordChild1,
18732 OPC_CheckPatternPredicate1,
18733 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
18734 MVT::v4i32, 1, 1,
18735 11,
18736 OPC_CheckChild0Integer, 63|128,58,
18737 OPC_RecordChild1,
18738 OPC_CheckPatternPredicate1,
18739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_WU_S),
18740 MVT::v4i32, 1, 1,
18741 11,
18742 OPC_CheckChild0Integer, 75|128,58,
18743 OPC_RecordChild1,
18744 OPC_CheckPatternPredicate1,
18745 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEL_L_S),
18746 MVT::v2i64, 1, 1,
18747 11,
18748 OPC_CheckChild0Integer, 74|128,58,
18749 OPC_RecordChild1,
18750 OPC_CheckPatternPredicate1,
18751 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNEH_L_S),
18752 MVT::v2i64, 1, 1,
18753 11,
18754 OPC_CheckChild0Integer, 87|128,58,
18755 OPC_RecordChild1,
18756 OPC_CheckPatternPredicate1,
18757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZL_L_S),
18758 MVT::v2i64, 1, 1,
18759 11,
18760 OPC_CheckChild0Integer, 86|128,58,
18761 OPC_RecordChild1,
18762 OPC_CheckPatternPredicate1,
18763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZH_L_S),
18764 MVT::v2i64, 1, 1,
18765 11,
18766 OPC_CheckChild0Integer, 80|128,58,
18767 OPC_RecordChild1,
18768 OPC_CheckPatternPredicate1,
18769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPL_L_S),
18770 MVT::v2i64, 1, 1,
18771 11,
18772 OPC_CheckChild0Integer, 79|128,58,
18773 OPC_RecordChild1,
18774 OPC_CheckPatternPredicate1,
18775 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRPH_L_S),
18776 MVT::v2i64, 1, 1,
18777 11,
18778 OPC_CheckChild0Integer, 70|128,58,
18779 OPC_RecordChild1,
18780 OPC_CheckPatternPredicate1,
18781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRML_L_S),
18782 MVT::v2i64, 1, 1,
18783 11,
18784 OPC_CheckChild0Integer, 69|128,58,
18785 OPC_RecordChild1,
18786 OPC_CheckPatternPredicate1,
18787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRMH_L_S),
18788 MVT::v2i64, 1, 1,
18789 11,
18790 OPC_CheckChild0Integer, 65|128,58,
18791 OPC_RecordChild1,
18792 OPC_CheckPatternPredicate1,
18793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTL_L_S),
18794 MVT::v2i64, 1, 1,
18795 11,
18796 OPC_CheckChild0Integer, 64|128,58,
18797 OPC_RecordChild1,
18798 OPC_CheckPatternPredicate1,
18799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTH_L_S),
18800 MVT::v2i64, 1, 1,
18801 11,
18802 OPC_CheckChild0Integer, 80|128,57,
18803 OPC_RecordChild1,
18804 OPC_CheckPatternPredicate1,
18805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCLASS_D),
18806 MVT::v2i64, 1, 1,
18807 11,
18808 OPC_CheckChild0Integer, 71|128,58,
18809 OPC_RecordChild1,
18810 OPC_CheckPatternPredicate1,
18811 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRNE_L_D),
18812 MVT::v2i64, 1, 1,
18813 11,
18814 OPC_CheckChild0Integer, 81|128,58,
18815 OPC_RecordChild1,
18816 OPC_CheckPatternPredicate1,
18817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_L_D),
18818 MVT::v2i64, 1, 1,
18819 11,
18820 OPC_CheckChild0Integer, 76|128,58,
18821 OPC_RecordChild1,
18822 OPC_CheckPatternPredicate1,
18823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRP_L_D),
18824 MVT::v2i64, 1, 1,
18825 11,
18826 OPC_CheckChild0Integer, 66|128,58,
18827 OPC_RecordChild1,
18828 OPC_CheckPatternPredicate1,
18829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRM_L_D),
18830 MVT::v2i64, 1, 1,
18831 11,
18832 OPC_CheckChild0Integer, 59|128,58,
18833 OPC_RecordChild1,
18834 OPC_CheckPatternPredicate1,
18835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_L_D),
18836 MVT::v2i64, 1, 1,
18837 11,
18838 OPC_CheckChild0Integer, 82|128,58,
18839 OPC_RecordChild1,
18840 OPC_CheckPatternPredicate1,
18841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_LU_D),
18842 MVT::v2i64, 1, 1,
18843 11,
18844 OPC_CheckChild0Integer, 60|128,58,
18845 OPC_RecordChild1,
18846 OPC_CheckPatternPredicate1,
18847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINT_LU_D),
18848 MVT::v2i64, 1, 1,
18849 13,
18850 OPC_CheckChild0Integer, 91|128,50,
18851 OPC_RecordChild1,
18852 OPC_CheckPatternPredicate0,
18853 OPC_EmitIntegerI32, LoongArch::sub_128,
18854 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
18855 MVT::v2i64, 2, 9,
18856 12,
18857 OPC_CheckChild0Integer, 89|128,54,
18858 OPC_RecordChild1,
18859 OPC_RecordChild2,
18860 OPC_CheckPatternPredicate0,
18861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_B),
18862 MVT::v32i8, 2, 9,
18863 12,
18864 OPC_CheckChild0Integer, 90|128,54,
18865 OPC_RecordChild1,
18866 OPC_RecordChild2,
18867 OPC_CheckPatternPredicate0,
18868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_BU),
18869 MVT::v32i8, 2, 9,
18870 12,
18871 OPC_CheckChild0Integer, 31|128,56,
18872 OPC_RecordChild1,
18873 OPC_RecordChild2,
18874 OPC_CheckPatternPredicate0,
18875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_B),
18876 MVT::v32i8, 2, 9,
18877 12,
18878 OPC_CheckChild0Integer, 32|128,56,
18879 OPC_RecordChild1,
18880 OPC_RecordChild2,
18881 OPC_CheckPatternPredicate0,
18882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_BU),
18883 MVT::v32i8, 2, 9,
18884 12,
18885 OPC_CheckChild0Integer, 0|128,53,
18886 OPC_RecordChild1,
18887 OPC_RecordChild2,
18888 OPC_CheckPatternPredicate0,
18889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_H_B),
18890 MVT::v16i16, 2, 9,
18891 12,
18892 OPC_CheckChild0Integer, 1|128,53,
18893 OPC_RecordChild1,
18894 OPC_RecordChild2,
18895 OPC_CheckPatternPredicate0,
18896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_HU_BU),
18897 MVT::v16i16, 2, 9,
18898 12,
18899 OPC_CheckChild0Integer, 8|128,53,
18900 OPC_RecordChild1,
18901 OPC_RecordChild2,
18902 OPC_CheckPatternPredicate0,
18903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_H_B),
18904 MVT::v16i16, 2, 9,
18905 12,
18906 OPC_CheckChild0Integer, 9|128,53,
18907 OPC_RecordChild1,
18908 OPC_RecordChild2,
18909 OPC_CheckPatternPredicate0,
18910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_HU_BU),
18911 MVT::v16i16, 2, 9,
18912 12,
18913 OPC_CheckChild0Integer, 18|128,51,
18914 OPC_RecordChild1,
18915 OPC_RecordChild2,
18916 OPC_CheckPatternPredicate0,
18917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_B),
18918 MVT::v16i16, 2, 9,
18919 12,
18920 OPC_CheckChild0Integer, 30|128,51,
18921 OPC_RecordChild1,
18922 OPC_RecordChild2,
18923 OPC_CheckPatternPredicate0,
18924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_B),
18925 MVT::v16i16, 2, 9,
18926 12,
18927 OPC_CheckChild0Integer, 56|128,56,
18928 OPC_RecordChild1,
18929 OPC_RecordChild2,
18930 OPC_CheckPatternPredicate0,
18931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_B),
18932 MVT::v16i16, 2, 9,
18933 12,
18934 OPC_CheckChild0Integer, 64|128,56,
18935 OPC_RecordChild1,
18936 OPC_RecordChild2,
18937 OPC_CheckPatternPredicate0,
18938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_B),
18939 MVT::v16i16, 2, 9,
18940 12,
18941 OPC_CheckChild0Integer, 19|128,51,
18942 OPC_RecordChild1,
18943 OPC_RecordChild2,
18944 OPC_CheckPatternPredicate0,
18945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU),
18946 MVT::v16i16, 2, 9,
18947 12,
18948 OPC_CheckChild0Integer, 31|128,51,
18949 OPC_RecordChild1,
18950 OPC_RecordChild2,
18951 OPC_CheckPatternPredicate0,
18952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU),
18953 MVT::v16i16, 2, 9,
18954 12,
18955 OPC_CheckChild0Integer, 57|128,56,
18956 OPC_RecordChild1,
18957 OPC_RecordChild2,
18958 OPC_CheckPatternPredicate0,
18959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_H_BU),
18960 MVT::v16i16, 2, 9,
18961 12,
18962 OPC_CheckChild0Integer, 65|128,56,
18963 OPC_RecordChild1,
18964 OPC_RecordChild2,
18965 OPC_CheckPatternPredicate0,
18966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_H_BU),
18967 MVT::v16i16, 2, 9,
18968 12,
18969 OPC_CheckChild0Integer, 20|128,51,
18970 OPC_RecordChild1,
18971 OPC_RecordChild2,
18972 OPC_CheckPatternPredicate0,
18973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_H_BU_B),
18974 MVT::v16i16, 2, 9,
18975 12,
18976 OPC_CheckChild0Integer, 32|128,51,
18977 OPC_RecordChild1,
18978 OPC_RecordChild2,
18979 OPC_CheckPatternPredicate0,
18980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_H_BU_B),
18981 MVT::v16i16, 2, 9,
18982 12,
18983 OPC_CheckChild0Integer, 42|128,51,
18984 OPC_RecordChild1,
18985 OPC_RecordChild2,
18986 OPC_CheckPatternPredicate0,
18987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_B),
18988 MVT::v32i8, 2, 9,
18989 12,
18990 OPC_CheckChild0Integer, 43|128,51,
18991 OPC_RecordChild1,
18992 OPC_RecordChild2,
18993 OPC_CheckPatternPredicate0,
18994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_BU),
18995 MVT::v32i8, 2, 9,
18996 12,
18997 OPC_CheckChild0Integer, 50|128,51,
18998 OPC_RecordChild1,
18999 OPC_RecordChild2,
19000 OPC_CheckPatternPredicate0,
19001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_B),
19002 MVT::v32i8, 2, 9,
19003 12,
19004 OPC_CheckChild0Integer, 51|128,51,
19005 OPC_RecordChild1,
19006 OPC_RecordChild2,
19007 OPC_CheckPatternPredicate0,
19008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_BU),
19009 MVT::v32i8, 2, 9,
19010 12,
19011 OPC_CheckChild0Integer, 122|128,50,
19012 OPC_RecordChild1,
19013 OPC_RecordChild2,
19014 OPC_CheckPatternPredicate0,
19015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_B),
19016 MVT::v32i8, 2, 9,
19017 12,
19018 OPC_CheckChild0Integer, 123|128,50,
19019 OPC_RecordChild1,
19020 OPC_RecordChild2,
19021 OPC_CheckPatternPredicate0,
19022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_BU),
19023 MVT::v32i8, 2, 9,
19024 12,
19025 OPC_CheckChild0Integer, 7|128,51,
19026 OPC_RecordChild1,
19027 OPC_RecordChild2,
19028 OPC_CheckPatternPredicate0,
19029 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_B),
19030 MVT::v32i8, 2, 9,
19031 12,
19032 OPC_CheckChild0Integer, 111|128,53,
19033 OPC_RecordChild1,
19034 OPC_RecordChild2,
19035 OPC_CheckPatternPredicate0,
19036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
19037 MVT::v32i8, 2, 9,
19038 12,
19039 OPC_CheckChild0Integer, 112|128,53,
19040 OPC_RecordChild1,
19041 OPC_RecordChild2,
19042 OPC_CheckPatternPredicate0,
19043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
19044 MVT::v32i8, 2, 9,
19045 12,
19046 OPC_CheckChild0Integer, 126|128,53,
19047 OPC_RecordChild1,
19048 OPC_RecordChild2,
19049 OPC_CheckPatternPredicate0,
19050 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_B),
19051 MVT::v16i16, 2, 9,
19052 12,
19053 OPC_CheckChild0Integer, 10|128,54,
19054 OPC_RecordChild1,
19055 OPC_RecordChild2,
19056 OPC_CheckPatternPredicate0,
19057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_B),
19058 MVT::v16i16, 2, 9,
19059 12,
19060 OPC_CheckChild0Integer, 127|128,53,
19061 OPC_RecordChild1,
19062 OPC_RecordChild2,
19063 OPC_CheckPatternPredicate0,
19064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU),
19065 MVT::v16i16, 2, 9,
19066 12,
19067 OPC_CheckChild0Integer, 11|128,54,
19068 OPC_RecordChild1,
19069 OPC_RecordChild2,
19070 OPC_CheckPatternPredicate0,
19071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU),
19072 MVT::v16i16, 2, 9,
19073 12,
19074 OPC_CheckChild0Integer, 0|128,54,
19075 OPC_RecordChild1,
19076 OPC_RecordChild2,
19077 OPC_CheckPatternPredicate0,
19078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_H_BU_B),
19079 MVT::v16i16, 2, 9,
19080 12,
19081 OPC_CheckChild0Integer, 12|128,54,
19082 OPC_RecordChild1,
19083 OPC_RecordChild2,
19084 OPC_CheckPatternPredicate0,
19085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_H_BU_B),
19086 MVT::v16i16, 2, 9,
19087 12,
19088 OPC_CheckChild0Integer, 121|128,54,
19089 OPC_RecordChild1,
19090 OPC_RecordChild2,
19091 OPC_CheckPatternPredicate0,
19092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_B),
19093 MVT::v32i8, 2, 9,
19094 12,
19095 OPC_CheckChild0Integer, 41|128,51,
19096 OPC_RecordChild1,
19097 OPC_RecordChild2,
19098 OPC_CheckPatternPredicate0,
19099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
19100 MVT::v32i8, 2, 9,
19101 12,
19102 OPC_CheckChild0Integer, 27|128,54,
19103 OPC_RecordChild1,
19104 OPC_RecordChild2,
19105 OPC_CheckPatternPredicate0,
19106 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVORN_V),
19107 MVT::v32i8, 2, 9,
19108 12,
19109 OPC_CheckChild0Integer, 81|128,54,
19110 OPC_RecordChild1,
19111 OPC_RecordChild2,
19112 OPC_CheckPatternPredicate0,
19113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
19114 MVT::v32i8, 2, 9,
19115 12,
19116 OPC_CheckChild0Integer, 88|128,55,
19117 OPC_RecordChild1,
19118 OPC_RecordChild2,
19119 OPC_CheckPatternPredicate0,
19120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_B),
19121 MVT::v32i8, 2, 9,
19122 12,
19123 OPC_CheckChild0Integer, 58|128,55,
19124 OPC_RecordChild1,
19125 OPC_RecordChild2,
19126 OPC_CheckPatternPredicate0,
19127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_B),
19128 MVT::v32i8, 2, 9,
19129 12,
19130 OPC_CheckChild0Integer, 105|128,54,
19131 OPC_RecordChild1,
19132 OPC_RecordChild2,
19133 OPC_CheckPatternPredicate0,
19134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
19135 MVT::v32i8, 2, 9,
19136 12,
19137 OPC_CheckChild0Integer, 125|128,54,
19138 OPC_RecordChild1,
19139 OPC_RecordChild2,
19140 OPC_CheckPatternPredicate0,
19141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
19142 MVT::v32i8, 2, 9,
19143 12,
19144 OPC_CheckChild0Integer, 126|128,54,
19145 OPC_RecordChild1,
19146 OPC_RecordChild2,
19147 OPC_CheckPatternPredicate0,
19148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
19149 MVT::v32i8, 2, 9,
19150 12,
19151 OPC_CheckChild0Integer, 27|128,55,
19152 OPC_RecordChild1,
19153 OPC_RecordChild2,
19154 OPC_CheckPatternPredicate0,
19155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
19156 MVT::v32i8, 2, 9,
19157 12,
19158 OPC_CheckChild0Integer, 28|128,55,
19159 OPC_RecordChild1,
19160 OPC_RecordChild2,
19161 OPC_CheckPatternPredicate0,
19162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
19163 MVT::v32i8, 2, 9,
19164 12,
19165 OPC_CheckChild0Integer, 28|128,54,
19166 OPC_RecordChild1,
19167 OPC_RecordChild2,
19168 OPC_CheckPatternPredicate0,
19169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_B),
19170 MVT::v32i8, 2, 9,
19171 12,
19172 OPC_CheckChild0Integer, 32|128,54,
19173 OPC_RecordChild1,
19174 OPC_RecordChild2,
19175 OPC_CheckPatternPredicate0,
19176 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_B),
19177 MVT::v32i8, 2, 9,
19178 12,
19179 OPC_CheckChild0Integer, 44|128,54,
19180 OPC_RecordChild1,
19181 OPC_RecordChild2,
19182 OPC_CheckPatternPredicate0,
19183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_B),
19184 MVT::v32i8, 2, 9,
19185 12,
19186 OPC_CheckChild0Integer, 48|128,54,
19187 OPC_RecordChild1,
19188 OPC_RecordChild2,
19189 OPC_CheckPatternPredicate0,
19190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_B),
19191 MVT::v32i8, 2, 9,
19192 12,
19193 OPC_CheckChild0Integer, 18|128,53,
19194 OPC_RecordChild1,
19195 OPC_RecordChild2,
19196 OPC_CheckPatternPredicate0,
19197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_B),
19198 MVT::v32i8, 2, 9,
19199 12,
19200 OPC_CheckChild0Integer, 14|128,53,
19201 OPC_RecordChild1,
19202 OPC_RecordChild2,
19203 OPC_CheckPatternPredicate0,
19204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_B),
19205 MVT::v32i8, 2, 9,
19206 12,
19207 OPC_CheckChild0Integer, 93|128,54,
19208 OPC_RecordChild1,
19209 OPC_RecordChild2,
19210 OPC_CheckPatternPredicate0,
19211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_H),
19212 MVT::v16i16, 2, 9,
19213 12,
19214 OPC_CheckChild0Integer, 94|128,54,
19215 OPC_RecordChild1,
19216 OPC_RecordChild2,
19217 OPC_CheckPatternPredicate0,
19218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_HU),
19219 MVT::v16i16, 2, 9,
19220 12,
19221 OPC_CheckChild0Integer, 35|128,56,
19222 OPC_RecordChild1,
19223 OPC_RecordChild2,
19224 OPC_CheckPatternPredicate0,
19225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_H),
19226 MVT::v16i16, 2, 9,
19227 12,
19228 OPC_CheckChild0Integer, 36|128,56,
19229 OPC_RecordChild1,
19230 OPC_RecordChild2,
19231 OPC_CheckPatternPredicate0,
19232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_HU),
19233 MVT::v16i16, 2, 9,
19234 12,
19235 OPC_CheckChild0Integer, 4|128,53,
19236 OPC_RecordChild1,
19237 OPC_RecordChild2,
19238 OPC_CheckPatternPredicate0,
19239 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_W_H),
19240 MVT::v8i32, 2, 9,
19241 12,
19242 OPC_CheckChild0Integer, 5|128,53,
19243 OPC_RecordChild1,
19244 OPC_RecordChild2,
19245 OPC_CheckPatternPredicate0,
19246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_WU_HU),
19247 MVT::v8i32, 2, 9,
19248 12,
19249 OPC_CheckChild0Integer, 12|128,53,
19250 OPC_RecordChild1,
19251 OPC_RecordChild2,
19252 OPC_CheckPatternPredicate0,
19253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_W_H),
19254 MVT::v8i32, 2, 9,
19255 12,
19256 OPC_CheckChild0Integer, 13|128,53,
19257 OPC_RecordChild1,
19258 OPC_RecordChild2,
19259 OPC_CheckPatternPredicate0,
19260 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_WU_HU),
19261 MVT::v8i32, 2, 9,
19262 12,
19263 OPC_CheckChild0Integer, 24|128,51,
19264 OPC_RecordChild1,
19265 OPC_RecordChild2,
19266 OPC_CheckPatternPredicate0,
19267 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_H),
19268 MVT::v8i32, 2, 9,
19269 12,
19270 OPC_CheckChild0Integer, 36|128,51,
19271 OPC_RecordChild1,
19272 OPC_RecordChild2,
19273 OPC_CheckPatternPredicate0,
19274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_H),
19275 MVT::v8i32, 2, 9,
19276 12,
19277 OPC_CheckChild0Integer, 60|128,56,
19278 OPC_RecordChild1,
19279 OPC_RecordChild2,
19280 OPC_CheckPatternPredicate0,
19281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_H),
19282 MVT::v8i32, 2, 9,
19283 12,
19284 OPC_CheckChild0Integer, 68|128,56,
19285 OPC_RecordChild1,
19286 OPC_RecordChild2,
19287 OPC_CheckPatternPredicate0,
19288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_H),
19289 MVT::v8i32, 2, 9,
19290 12,
19291 OPC_CheckChild0Integer, 25|128,51,
19292 OPC_RecordChild1,
19293 OPC_RecordChild2,
19294 OPC_CheckPatternPredicate0,
19295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU),
19296 MVT::v8i32, 2, 9,
19297 12,
19298 OPC_CheckChild0Integer, 37|128,51,
19299 OPC_RecordChild1,
19300 OPC_RecordChild2,
19301 OPC_CheckPatternPredicate0,
19302 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU),
19303 MVT::v8i32, 2, 9,
19304 12,
19305 OPC_CheckChild0Integer, 61|128,56,
19306 OPC_RecordChild1,
19307 OPC_RecordChild2,
19308 OPC_CheckPatternPredicate0,
19309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_W_HU),
19310 MVT::v8i32, 2, 9,
19311 12,
19312 OPC_CheckChild0Integer, 69|128,56,
19313 OPC_RecordChild1,
19314 OPC_RecordChild2,
19315 OPC_CheckPatternPredicate0,
19316 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_W_HU),
19317 MVT::v8i32, 2, 9,
19318 12,
19319 OPC_CheckChild0Integer, 26|128,51,
19320 OPC_RecordChild1,
19321 OPC_RecordChild2,
19322 OPC_CheckPatternPredicate0,
19323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_W_HU_H),
19324 MVT::v8i32, 2, 9,
19325 12,
19326 OPC_CheckChild0Integer, 38|128,51,
19327 OPC_RecordChild1,
19328 OPC_RecordChild2,
19329 OPC_CheckPatternPredicate0,
19330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_W_HU_H),
19331 MVT::v8i32, 2, 9,
19332 12,
19333 OPC_CheckChild0Integer, 46|128,51,
19334 OPC_RecordChild1,
19335 OPC_RecordChild2,
19336 OPC_CheckPatternPredicate0,
19337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_H),
19338 MVT::v16i16, 2, 9,
19339 12,
19340 OPC_CheckChild0Integer, 47|128,51,
19341 OPC_RecordChild1,
19342 OPC_RecordChild2,
19343 OPC_CheckPatternPredicate0,
19344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_HU),
19345 MVT::v16i16, 2, 9,
19346 12,
19347 OPC_CheckChild0Integer, 54|128,51,
19348 OPC_RecordChild1,
19349 OPC_RecordChild2,
19350 OPC_CheckPatternPredicate0,
19351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_H),
19352 MVT::v16i16, 2, 9,
19353 12,
19354 OPC_CheckChild0Integer, 55|128,51,
19355 OPC_RecordChild1,
19356 OPC_RecordChild2,
19357 OPC_CheckPatternPredicate0,
19358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_HU),
19359 MVT::v16i16, 2, 9,
19360 12,
19361 OPC_CheckChild0Integer, 126|128,50,
19362 OPC_RecordChild1,
19363 OPC_RecordChild2,
19364 OPC_CheckPatternPredicate0,
19365 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_H),
19366 MVT::v16i16, 2, 9,
19367 12,
19368 OPC_CheckChild0Integer, 127|128,50,
19369 OPC_RecordChild1,
19370 OPC_RecordChild2,
19371 OPC_CheckPatternPredicate0,
19372 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_HU),
19373 MVT::v16i16, 2, 9,
19374 12,
19375 OPC_CheckChild0Integer, 9|128,51,
19376 OPC_RecordChild1,
19377 OPC_RecordChild2,
19378 OPC_CheckPatternPredicate0,
19379 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_H),
19380 MVT::v16i16, 2, 9,
19381 12,
19382 OPC_CheckChild0Integer, 115|128,53,
19383 OPC_RecordChild1,
19384 OPC_RecordChild2,
19385 OPC_CheckPatternPredicate0,
19386 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
19387 MVT::v16i16, 2, 9,
19388 12,
19389 OPC_CheckChild0Integer, 116|128,53,
19390 OPC_RecordChild1,
19391 OPC_RecordChild2,
19392 OPC_CheckPatternPredicate0,
19393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
19394 MVT::v16i16, 2, 9,
19395 12,
19396 OPC_CheckChild0Integer, 4|128,54,
19397 OPC_RecordChild1,
19398 OPC_RecordChild2,
19399 OPC_CheckPatternPredicate0,
19400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_H),
19401 MVT::v8i32, 2, 9,
19402 12,
19403 OPC_CheckChild0Integer, 16|128,54,
19404 OPC_RecordChild1,
19405 OPC_RecordChild2,
19406 OPC_CheckPatternPredicate0,
19407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_H),
19408 MVT::v8i32, 2, 9,
19409 12,
19410 OPC_CheckChild0Integer, 5|128,54,
19411 OPC_RecordChild1,
19412 OPC_RecordChild2,
19413 OPC_CheckPatternPredicate0,
19414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU),
19415 MVT::v8i32, 2, 9,
19416 12,
19417 OPC_CheckChild0Integer, 17|128,54,
19418 OPC_RecordChild1,
19419 OPC_RecordChild2,
19420 OPC_CheckPatternPredicate0,
19421 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU),
19422 MVT::v8i32, 2, 9,
19423 12,
19424 OPC_CheckChild0Integer, 6|128,54,
19425 OPC_RecordChild1,
19426 OPC_RecordChild2,
19427 OPC_CheckPatternPredicate0,
19428 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_W_HU_H),
19429 MVT::v8i32, 2, 9,
19430 12,
19431 OPC_CheckChild0Integer, 18|128,54,
19432 OPC_RecordChild1,
19433 OPC_RecordChild2,
19434 OPC_CheckPatternPredicate0,
19435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_W_HU_H),
19436 MVT::v8i32, 2, 9,
19437 12,
19438 OPC_CheckChild0Integer, 123|128,54,
19439 OPC_RecordChild1,
19440 OPC_RecordChild2,
19441 OPC_CheckPatternPredicate0,
19442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_H),
19443 MVT::v16i16, 2, 9,
19444 12,
19445 OPC_CheckChild0Integer, 83|128,54,
19446 OPC_RecordChild1,
19447 OPC_RecordChild2,
19448 OPC_CheckPatternPredicate0,
19449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
19450 MVT::v16i16, 2, 9,
19451 12,
19452 OPC_CheckChild0Integer, 90|128,55,
19453 OPC_RecordChild1,
19454 OPC_RecordChild2,
19455 OPC_CheckPatternPredicate0,
19456 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_H),
19457 MVT::v16i16, 2, 9,
19458 12,
19459 OPC_CheckChild0Integer, 60|128,55,
19460 OPC_RecordChild1,
19461 OPC_RecordChild2,
19462 OPC_CheckPatternPredicate0,
19463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_H),
19464 MVT::v16i16, 2, 9,
19465 12,
19466 OPC_CheckChild0Integer, 81|128,55,
19467 OPC_RecordChild1,
19468 OPC_RecordChild2,
19469 OPC_CheckPatternPredicate0,
19470 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_B_H),
19471 MVT::v32i8, 2, 9,
19472 12,
19473 OPC_CheckChild0Integer, 51|128,55,
19474 OPC_RecordChild1,
19475 OPC_RecordChild2,
19476 OPC_CheckPatternPredicate0,
19477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_B_H),
19478 MVT::v32i8, 2, 9,
19479 12,
19480 OPC_CheckChild0Integer, 96|128,55,
19481 OPC_RecordChild1,
19482 OPC_RecordChild2,
19483 OPC_CheckPatternPredicate0,
19484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_B_H),
19485 MVT::v32i8, 2, 9,
19486 12,
19487 OPC_CheckChild0Integer, 66|128,55,
19488 OPC_RecordChild1,
19489 OPC_RecordChild2,
19490 OPC_CheckPatternPredicate0,
19491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_B_H),
19492 MVT::v32i8, 2, 9,
19493 12,
19494 OPC_CheckChild0Integer, 3|128,56,
19495 OPC_RecordChild1,
19496 OPC_RecordChild2,
19497 OPC_CheckPatternPredicate0,
19498 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_B_H),
19499 MVT::v32i8, 2, 9,
19500 12,
19501 OPC_CheckChild0Integer, 103|128,55,
19502 OPC_RecordChild1,
19503 OPC_RecordChild2,
19504 OPC_CheckPatternPredicate0,
19505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_B_H),
19506 MVT::v32i8, 2, 9,
19507 12,
19508 OPC_CheckChild0Integer, 4|128,56,
19509 OPC_RecordChild1,
19510 OPC_RecordChild2,
19511 OPC_CheckPatternPredicate0,
19512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_BU_H),
19513 MVT::v32i8, 2, 9,
19514 12,
19515 OPC_CheckChild0Integer, 104|128,55,
19516 OPC_RecordChild1,
19517 OPC_RecordChild2,
19518 OPC_CheckPatternPredicate0,
19519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_BU_H),
19520 MVT::v32i8, 2, 9,
19521 12,
19522 OPC_CheckChild0Integer, 17|128,56,
19523 OPC_RecordChild1,
19524 OPC_RecordChild2,
19525 OPC_CheckPatternPredicate0,
19526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_B_H),
19527 MVT::v32i8, 2, 9,
19528 12,
19529 OPC_CheckChild0Integer, 117|128,55,
19530 OPC_RecordChild1,
19531 OPC_RecordChild2,
19532 OPC_CheckPatternPredicate0,
19533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_B_H),
19534 MVT::v32i8, 2, 9,
19535 12,
19536 OPC_CheckChild0Integer, 18|128,56,
19537 OPC_RecordChild1,
19538 OPC_RecordChild2,
19539 OPC_CheckPatternPredicate0,
19540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_BU_H),
19541 MVT::v32i8, 2, 9,
19542 12,
19543 OPC_CheckChild0Integer, 118|128,55,
19544 OPC_RecordChild1,
19545 OPC_RecordChild2,
19546 OPC_CheckPatternPredicate0,
19547 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_BU_H),
19548 MVT::v32i8, 2, 9,
19549 12,
19550 OPC_CheckChild0Integer, 107|128,54,
19551 OPC_RecordChild1,
19552 OPC_RecordChild2,
19553 OPC_CheckPatternPredicate0,
19554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
19555 MVT::v16i16, 2, 9,
19556 12,
19557 OPC_CheckChild0Integer, 1|128,55,
19558 OPC_RecordChild1,
19559 OPC_RecordChild2,
19560 OPC_CheckPatternPredicate0,
19561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
19562 MVT::v16i16, 2, 9,
19563 12,
19564 OPC_CheckChild0Integer, 2|128,55,
19565 OPC_RecordChild1,
19566 OPC_RecordChild2,
19567 OPC_CheckPatternPredicate0,
19568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
19569 MVT::v16i16, 2, 9,
19570 12,
19571 OPC_CheckChild0Integer, 31|128,55,
19572 OPC_RecordChild1,
19573 OPC_RecordChild2,
19574 OPC_CheckPatternPredicate0,
19575 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
19576 MVT::v16i16, 2, 9,
19577 12,
19578 OPC_CheckChild0Integer, 32|128,55,
19579 OPC_RecordChild1,
19580 OPC_RecordChild2,
19581 OPC_CheckPatternPredicate0,
19582 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
19583 MVT::v16i16, 2, 9,
19584 12,
19585 OPC_CheckChild0Integer, 30|128,54,
19586 OPC_RecordChild1,
19587 OPC_RecordChild2,
19588 OPC_CheckPatternPredicate0,
19589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_H),
19590 MVT::v16i16, 2, 9,
19591 12,
19592 OPC_CheckChild0Integer, 34|128,54,
19593 OPC_RecordChild1,
19594 OPC_RecordChild2,
19595 OPC_CheckPatternPredicate0,
19596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_H),
19597 MVT::v16i16, 2, 9,
19598 12,
19599 OPC_CheckChild0Integer, 46|128,54,
19600 OPC_RecordChild1,
19601 OPC_RecordChild2,
19602 OPC_CheckPatternPredicate0,
19603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_H),
19604 MVT::v16i16, 2, 9,
19605 12,
19606 OPC_CheckChild0Integer, 50|128,54,
19607 OPC_RecordChild1,
19608 OPC_RecordChild2,
19609 OPC_CheckPatternPredicate0,
19610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_H),
19611 MVT::v16i16, 2, 9,
19612 12,
19613 OPC_CheckChild0Integer, 20|128,53,
19614 OPC_RecordChild1,
19615 OPC_RecordChild2,
19616 OPC_CheckPatternPredicate0,
19617 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_H),
19618 MVT::v16i16, 2, 9,
19619 12,
19620 OPC_CheckChild0Integer, 16|128,53,
19621 OPC_RecordChild1,
19622 OPC_RecordChild2,
19623 OPC_CheckPatternPredicate0,
19624 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_H),
19625 MVT::v16i16, 2, 9,
19626 12,
19627 OPC_CheckChild0Integer, 95|128,54,
19628 OPC_RecordChild1,
19629 OPC_RecordChild2,
19630 OPC_CheckPatternPredicate0,
19631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_W),
19632 MVT::v8i32, 2, 9,
19633 12,
19634 OPC_CheckChild0Integer, 96|128,54,
19635 OPC_RecordChild1,
19636 OPC_RecordChild2,
19637 OPC_CheckPatternPredicate0,
19638 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_WU),
19639 MVT::v8i32, 2, 9,
19640 12,
19641 OPC_CheckChild0Integer, 37|128,56,
19642 OPC_RecordChild1,
19643 OPC_RecordChild2,
19644 OPC_CheckPatternPredicate0,
19645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_W),
19646 MVT::v8i32, 2, 9,
19647 12,
19648 OPC_CheckChild0Integer, 38|128,56,
19649 OPC_RecordChild1,
19650 OPC_RecordChild2,
19651 OPC_CheckPatternPredicate0,
19652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_WU),
19653 MVT::v8i32, 2, 9,
19654 12,
19655 OPC_CheckChild0Integer, 126|128,52,
19656 OPC_RecordChild1,
19657 OPC_RecordChild2,
19658 OPC_CheckPatternPredicate0,
19659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_D_W),
19660 MVT::v4i64, 2, 9,
19661 12,
19662 OPC_CheckChild0Integer, 127|128,52,
19663 OPC_RecordChild1,
19664 OPC_RecordChild2,
19665 OPC_CheckPatternPredicate0,
19666 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_DU_WU),
19667 MVT::v4i64, 2, 9,
19668 12,
19669 OPC_CheckChild0Integer, 6|128,53,
19670 OPC_RecordChild1,
19671 OPC_RecordChild2,
19672 OPC_CheckPatternPredicate0,
19673 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_D_W),
19674 MVT::v4i64, 2, 9,
19675 12,
19676 OPC_CheckChild0Integer, 7|128,53,
19677 OPC_RecordChild1,
19678 OPC_RecordChild2,
19679 OPC_CheckPatternPredicate0,
19680 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_DU_WU),
19681 MVT::v4i64, 2, 9,
19682 12,
19683 OPC_CheckChild0Integer, 15|128,51,
19684 OPC_RecordChild1,
19685 OPC_RecordChild2,
19686 OPC_CheckPatternPredicate0,
19687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_W),
19688 MVT::v4i64, 2, 9,
19689 12,
19690 OPC_CheckChild0Integer, 27|128,51,
19691 OPC_RecordChild1,
19692 OPC_RecordChild2,
19693 OPC_CheckPatternPredicate0,
19694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_W),
19695 MVT::v4i64, 2, 9,
19696 12,
19697 OPC_CheckChild0Integer, 54|128,56,
19698 OPC_RecordChild1,
19699 OPC_RecordChild2,
19700 OPC_CheckPatternPredicate0,
19701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_W),
19702 MVT::v4i64, 2, 9,
19703 12,
19704 OPC_CheckChild0Integer, 62|128,56,
19705 OPC_RecordChild1,
19706 OPC_RecordChild2,
19707 OPC_CheckPatternPredicate0,
19708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_W),
19709 MVT::v4i64, 2, 9,
19710 12,
19711 OPC_CheckChild0Integer, 16|128,51,
19712 OPC_RecordChild1,
19713 OPC_RecordChild2,
19714 OPC_CheckPatternPredicate0,
19715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU),
19716 MVT::v4i64, 2, 9,
19717 12,
19718 OPC_CheckChild0Integer, 28|128,51,
19719 OPC_RecordChild1,
19720 OPC_RecordChild2,
19721 OPC_CheckPatternPredicate0,
19722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU),
19723 MVT::v4i64, 2, 9,
19724 12,
19725 OPC_CheckChild0Integer, 55|128,56,
19726 OPC_RecordChild1,
19727 OPC_RecordChild2,
19728 OPC_CheckPatternPredicate0,
19729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_D_WU),
19730 MVT::v4i64, 2, 9,
19731 12,
19732 OPC_CheckChild0Integer, 63|128,56,
19733 OPC_RecordChild1,
19734 OPC_RecordChild2,
19735 OPC_CheckPatternPredicate0,
19736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_D_WU),
19737 MVT::v4i64, 2, 9,
19738 12,
19739 OPC_CheckChild0Integer, 17|128,51,
19740 OPC_RecordChild1,
19741 OPC_RecordChild2,
19742 OPC_CheckPatternPredicate0,
19743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_D_WU_W),
19744 MVT::v4i64, 2, 9,
19745 12,
19746 OPC_CheckChild0Integer, 29|128,51,
19747 OPC_RecordChild1,
19748 OPC_RecordChild2,
19749 OPC_CheckPatternPredicate0,
19750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_D_WU_W),
19751 MVT::v4i64, 2, 9,
19752 12,
19753 OPC_CheckChild0Integer, 48|128,51,
19754 OPC_RecordChild1,
19755 OPC_RecordChild2,
19756 OPC_CheckPatternPredicate0,
19757 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_W),
19758 MVT::v8i32, 2, 9,
19759 12,
19760 OPC_CheckChild0Integer, 49|128,51,
19761 OPC_RecordChild1,
19762 OPC_RecordChild2,
19763 OPC_CheckPatternPredicate0,
19764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_WU),
19765 MVT::v8i32, 2, 9,
19766 12,
19767 OPC_CheckChild0Integer, 56|128,51,
19768 OPC_RecordChild1,
19769 OPC_RecordChild2,
19770 OPC_CheckPatternPredicate0,
19771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_W),
19772 MVT::v8i32, 2, 9,
19773 12,
19774 OPC_CheckChild0Integer, 57|128,51,
19775 OPC_RecordChild1,
19776 OPC_RecordChild2,
19777 OPC_CheckPatternPredicate0,
19778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_WU),
19779 MVT::v8i32, 2, 9,
19780 12,
19781 OPC_CheckChild0Integer, 0|128,51,
19782 OPC_RecordChild1,
19783 OPC_RecordChild2,
19784 OPC_CheckPatternPredicate0,
19785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_W),
19786 MVT::v8i32, 2, 9,
19787 12,
19788 OPC_CheckChild0Integer, 1|128,51,
19789 OPC_RecordChild1,
19790 OPC_RecordChild2,
19791 OPC_CheckPatternPredicate0,
19792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_WU),
19793 MVT::v8i32, 2, 9,
19794 12,
19795 OPC_CheckChild0Integer, 10|128,51,
19796 OPC_RecordChild1,
19797 OPC_RecordChild2,
19798 OPC_CheckPatternPredicate0,
19799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_W),
19800 MVT::v8i32, 2, 9,
19801 12,
19802 OPC_CheckChild0Integer, 117|128,53,
19803 OPC_RecordChild1,
19804 OPC_RecordChild2,
19805 OPC_CheckPatternPredicate0,
19806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
19807 MVT::v8i32, 2, 9,
19808 12,
19809 OPC_CheckChild0Integer, 118|128,53,
19810 OPC_RecordChild1,
19811 OPC_RecordChild2,
19812 OPC_CheckPatternPredicate0,
19813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
19814 MVT::v8i32, 2, 9,
19815 12,
19816 OPC_CheckChild0Integer, 123|128,53,
19817 OPC_RecordChild1,
19818 OPC_RecordChild2,
19819 OPC_CheckPatternPredicate0,
19820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_W),
19821 MVT::v4i64, 2, 9,
19822 12,
19823 OPC_CheckChild0Integer, 7|128,54,
19824 OPC_RecordChild1,
19825 OPC_RecordChild2,
19826 OPC_CheckPatternPredicate0,
19827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_W),
19828 MVT::v4i64, 2, 9,
19829 12,
19830 OPC_CheckChild0Integer, 124|128,53,
19831 OPC_RecordChild1,
19832 OPC_RecordChild2,
19833 OPC_CheckPatternPredicate0,
19834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU),
19835 MVT::v4i64, 2, 9,
19836 12,
19837 OPC_CheckChild0Integer, 8|128,54,
19838 OPC_RecordChild1,
19839 OPC_RecordChild2,
19840 OPC_CheckPatternPredicate0,
19841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU),
19842 MVT::v4i64, 2, 9,
19843 12,
19844 OPC_CheckChild0Integer, 125|128,53,
19845 OPC_RecordChild1,
19846 OPC_RecordChild2,
19847 OPC_CheckPatternPredicate0,
19848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_D_WU_W),
19849 MVT::v4i64, 2, 9,
19850 12,
19851 OPC_CheckChild0Integer, 9|128,54,
19852 OPC_RecordChild1,
19853 OPC_RecordChild2,
19854 OPC_CheckPatternPredicate0,
19855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_D_WU_W),
19856 MVT::v4i64, 2, 9,
19857 12,
19858 OPC_CheckChild0Integer, 124|128,54,
19859 OPC_RecordChild1,
19860 OPC_RecordChild2,
19861 OPC_CheckPatternPredicate0,
19862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_W),
19863 MVT::v8i32, 2, 9,
19864 12,
19865 OPC_CheckChild0Integer, 84|128,54,
19866 OPC_RecordChild1,
19867 OPC_RecordChild2,
19868 OPC_CheckPatternPredicate0,
19869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
19870 MVT::v8i32, 2, 9,
19871 12,
19872 OPC_CheckChild0Integer, 91|128,55,
19873 OPC_RecordChild1,
19874 OPC_RecordChild2,
19875 OPC_CheckPatternPredicate0,
19876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_W),
19877 MVT::v8i32, 2, 9,
19878 12,
19879 OPC_CheckChild0Integer, 61|128,55,
19880 OPC_RecordChild1,
19881 OPC_RecordChild2,
19882 OPC_CheckPatternPredicate0,
19883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_W),
19884 MVT::v8i32, 2, 9,
19885 12,
19886 OPC_CheckChild0Integer, 82|128,55,
19887 OPC_RecordChild1,
19888 OPC_RecordChild2,
19889 OPC_CheckPatternPredicate0,
19890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_H_W),
19891 MVT::v16i16, 2, 9,
19892 12,
19893 OPC_CheckChild0Integer, 52|128,55,
19894 OPC_RecordChild1,
19895 OPC_RecordChild2,
19896 OPC_CheckPatternPredicate0,
19897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_H_W),
19898 MVT::v16i16, 2, 9,
19899 12,
19900 OPC_CheckChild0Integer, 97|128,55,
19901 OPC_RecordChild1,
19902 OPC_RecordChild2,
19903 OPC_CheckPatternPredicate0,
19904 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_H_W),
19905 MVT::v16i16, 2, 9,
19906 12,
19907 OPC_CheckChild0Integer, 67|128,55,
19908 OPC_RecordChild1,
19909 OPC_RecordChild2,
19910 OPC_CheckPatternPredicate0,
19911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_H_W),
19912 MVT::v16i16, 2, 9,
19913 12,
19914 OPC_CheckChild0Integer, 5|128,56,
19915 OPC_RecordChild1,
19916 OPC_RecordChild2,
19917 OPC_CheckPatternPredicate0,
19918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_H_W),
19919 MVT::v16i16, 2, 9,
19920 12,
19921 OPC_CheckChild0Integer, 105|128,55,
19922 OPC_RecordChild1,
19923 OPC_RecordChild2,
19924 OPC_CheckPatternPredicate0,
19925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_H_W),
19926 MVT::v16i16, 2, 9,
19927 12,
19928 OPC_CheckChild0Integer, 6|128,56,
19929 OPC_RecordChild1,
19930 OPC_RecordChild2,
19931 OPC_CheckPatternPredicate0,
19932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_HU_W),
19933 MVT::v16i16, 2, 9,
19934 12,
19935 OPC_CheckChild0Integer, 106|128,55,
19936 OPC_RecordChild1,
19937 OPC_RecordChild2,
19938 OPC_CheckPatternPredicate0,
19939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_HU_W),
19940 MVT::v16i16, 2, 9,
19941 12,
19942 OPC_CheckChild0Integer, 19|128,56,
19943 OPC_RecordChild1,
19944 OPC_RecordChild2,
19945 OPC_CheckPatternPredicate0,
19946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_H_W),
19947 MVT::v16i16, 2, 9,
19948 12,
19949 OPC_CheckChild0Integer, 119|128,55,
19950 OPC_RecordChild1,
19951 OPC_RecordChild2,
19952 OPC_CheckPatternPredicate0,
19953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_H_W),
19954 MVT::v16i16, 2, 9,
19955 12,
19956 OPC_CheckChild0Integer, 20|128,56,
19957 OPC_RecordChild1,
19958 OPC_RecordChild2,
19959 OPC_CheckPatternPredicate0,
19960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_HU_W),
19961 MVT::v16i16, 2, 9,
19962 12,
19963 OPC_CheckChild0Integer, 120|128,55,
19964 OPC_RecordChild1,
19965 OPC_RecordChild2,
19966 OPC_CheckPatternPredicate0,
19967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_HU_W),
19968 MVT::v16i16, 2, 9,
19969 12,
19970 OPC_CheckChild0Integer, 108|128,54,
19971 OPC_RecordChild1,
19972 OPC_RecordChild2,
19973 OPC_CheckPatternPredicate0,
19974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
19975 MVT::v8i32, 2, 9,
19976 12,
19977 OPC_CheckChild0Integer, 3|128,55,
19978 OPC_RecordChild1,
19979 OPC_RecordChild2,
19980 OPC_CheckPatternPredicate0,
19981 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
19982 MVT::v8i32, 2, 9,
19983 12,
19984 OPC_CheckChild0Integer, 4|128,55,
19985 OPC_RecordChild1,
19986 OPC_RecordChild2,
19987 OPC_CheckPatternPredicate0,
19988 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
19989 MVT::v8i32, 2, 9,
19990 12,
19991 OPC_CheckChild0Integer, 33|128,55,
19992 OPC_RecordChild1,
19993 OPC_RecordChild2,
19994 OPC_CheckPatternPredicate0,
19995 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
19996 MVT::v8i32, 2, 9,
19997 12,
19998 OPC_CheckChild0Integer, 34|128,55,
19999 OPC_RecordChild1,
20000 OPC_RecordChild2,
20001 OPC_CheckPatternPredicate0,
20002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
20003 MVT::v8i32, 2, 9,
20004 12,
20005 OPC_CheckChild0Integer, 31|128,54,
20006 OPC_RecordChild1,
20007 OPC_RecordChild2,
20008 OPC_CheckPatternPredicate0,
20009 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
20010 MVT::v8i32, 2, 9,
20011 12,
20012 OPC_CheckChild0Integer, 35|128,54,
20013 OPC_RecordChild1,
20014 OPC_RecordChild2,
20015 OPC_CheckPatternPredicate0,
20016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
20017 MVT::v8i32, 2, 9,
20018 12,
20019 OPC_CheckChild0Integer, 47|128,54,
20020 OPC_RecordChild1,
20021 OPC_RecordChild2,
20022 OPC_CheckPatternPredicate0,
20023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
20024 MVT::v8i32, 2, 9,
20025 12,
20026 OPC_CheckChild0Integer, 51|128,54,
20027 OPC_RecordChild1,
20028 OPC_RecordChild2,
20029 OPC_CheckPatternPredicate0,
20030 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
20031 MVT::v8i32, 2, 9,
20032 12,
20033 OPC_CheckChild0Integer, 21|128,53,
20034 OPC_RecordChild1,
20035 OPC_RecordChild2,
20036 OPC_CheckPatternPredicate0,
20037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
20038 MVT::v8i32, 2, 9,
20039 12,
20040 OPC_CheckChild0Integer, 17|128,53,
20041 OPC_RecordChild1,
20042 OPC_RecordChild2,
20043 OPC_CheckPatternPredicate0,
20044 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
20045 MVT::v8i32, 2, 9,
20046 12,
20047 OPC_CheckChild0Integer, 40|128,54,
20048 OPC_RecordChild1,
20049 OPC_RecordChild2,
20050 OPC_CheckPatternPredicate0,
20051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
20052 MVT::v8i32, 2, 9,
20053 12,
20054 OPC_CheckChild0Integer, 5|128,51,
20055 OPC_RecordChild1,
20056 OPC_RecordChild2,
20057 OPC_CheckPatternPredicate0,
20058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADD_Q),
20059 MVT::v4i64, 2, 9,
20060 12,
20061 OPC_CheckChild0Integer, 48|128,56,
20062 OPC_RecordChild1,
20063 OPC_RecordChild2,
20064 OPC_CheckPatternPredicate0,
20065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_Q),
20066 MVT::v4i64, 2, 9,
20067 12,
20068 OPC_CheckChild0Integer, 91|128,54,
20069 OPC_RecordChild1,
20070 OPC_RecordChild2,
20071 OPC_CheckPatternPredicate0,
20072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_D),
20073 MVT::v4i64, 2, 9,
20074 12,
20075 OPC_CheckChild0Integer, 92|128,54,
20076 OPC_RecordChild1,
20077 OPC_RecordChild2,
20078 OPC_CheckPatternPredicate0,
20079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_DU),
20080 MVT::v4i64, 2, 9,
20081 12,
20082 OPC_CheckChild0Integer, 33|128,56,
20083 OPC_RecordChild1,
20084 OPC_RecordChild2,
20085 OPC_CheckPatternPredicate0,
20086 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_D),
20087 MVT::v4i64, 2, 9,
20088 12,
20089 OPC_CheckChild0Integer, 34|128,56,
20090 OPC_RecordChild1,
20091 OPC_RecordChild2,
20092 OPC_CheckPatternPredicate0,
20093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_DU),
20094 MVT::v4i64, 2, 9,
20095 12,
20096 OPC_CheckChild0Integer, 2|128,53,
20097 OPC_RecordChild1,
20098 OPC_RecordChild2,
20099 OPC_CheckPatternPredicate0,
20100 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_Q_D),
20101 MVT::v4i64, 2, 9,
20102 12,
20103 OPC_CheckChild0Integer, 3|128,53,
20104 OPC_RecordChild1,
20105 OPC_RecordChild2,
20106 OPC_CheckPatternPredicate0,
20107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_QU_DU),
20108 MVT::v4i64, 2, 9,
20109 12,
20110 OPC_CheckChild0Integer, 10|128,53,
20111 OPC_RecordChild1,
20112 OPC_RecordChild2,
20113 OPC_CheckPatternPredicate0,
20114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_Q_D),
20115 MVT::v4i64, 2, 9,
20116 12,
20117 OPC_CheckChild0Integer, 11|128,53,
20118 OPC_RecordChild1,
20119 OPC_RecordChild2,
20120 OPC_CheckPatternPredicate0,
20121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_QU_DU),
20122 MVT::v4i64, 2, 9,
20123 12,
20124 OPC_CheckChild0Integer, 21|128,51,
20125 OPC_RecordChild1,
20126 OPC_RecordChild2,
20127 OPC_CheckPatternPredicate0,
20128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_D),
20129 MVT::v4i64, 2, 9,
20130 12,
20131 OPC_CheckChild0Integer, 33|128,51,
20132 OPC_RecordChild1,
20133 OPC_RecordChild2,
20134 OPC_CheckPatternPredicate0,
20135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_D),
20136 MVT::v4i64, 2, 9,
20137 12,
20138 OPC_CheckChild0Integer, 58|128,56,
20139 OPC_RecordChild1,
20140 OPC_RecordChild2,
20141 OPC_CheckPatternPredicate0,
20142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_D),
20143 MVT::v4i64, 2, 9,
20144 12,
20145 OPC_CheckChild0Integer, 66|128,56,
20146 OPC_RecordChild1,
20147 OPC_RecordChild2,
20148 OPC_CheckPatternPredicate0,
20149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_D),
20150 MVT::v4i64, 2, 9,
20151 12,
20152 OPC_CheckChild0Integer, 22|128,51,
20153 OPC_RecordChild1,
20154 OPC_RecordChild2,
20155 OPC_CheckPatternPredicate0,
20156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU),
20157 MVT::v4i64, 2, 9,
20158 12,
20159 OPC_CheckChild0Integer, 34|128,51,
20160 OPC_RecordChild1,
20161 OPC_RecordChild2,
20162 OPC_CheckPatternPredicate0,
20163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU),
20164 MVT::v4i64, 2, 9,
20165 12,
20166 OPC_CheckChild0Integer, 59|128,56,
20167 OPC_RecordChild1,
20168 OPC_RecordChild2,
20169 OPC_CheckPatternPredicate0,
20170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWEV_Q_DU),
20171 MVT::v4i64, 2, 9,
20172 12,
20173 OPC_CheckChild0Integer, 67|128,56,
20174 OPC_RecordChild1,
20175 OPC_RecordChild2,
20176 OPC_CheckPatternPredicate0,
20177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBWOD_Q_DU),
20178 MVT::v4i64, 2, 9,
20179 12,
20180 OPC_CheckChild0Integer, 23|128,51,
20181 OPC_RecordChild1,
20182 OPC_RecordChild2,
20183 OPC_CheckPatternPredicate0,
20184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWEV_Q_DU_D),
20185 MVT::v4i64, 2, 9,
20186 12,
20187 OPC_CheckChild0Integer, 35|128,51,
20188 OPC_RecordChild1,
20189 OPC_RecordChild2,
20190 OPC_CheckPatternPredicate0,
20191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDWOD_Q_DU_D),
20192 MVT::v4i64, 2, 9,
20193 12,
20194 OPC_CheckChild0Integer, 44|128,51,
20195 OPC_RecordChild1,
20196 OPC_RecordChild2,
20197 OPC_CheckPatternPredicate0,
20198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_D),
20199 MVT::v4i64, 2, 9,
20200 12,
20201 OPC_CheckChild0Integer, 45|128,51,
20202 OPC_RecordChild1,
20203 OPC_RecordChild2,
20204 OPC_CheckPatternPredicate0,
20205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_DU),
20206 MVT::v4i64, 2, 9,
20207 12,
20208 OPC_CheckChild0Integer, 52|128,51,
20209 OPC_RecordChild1,
20210 OPC_RecordChild2,
20211 OPC_CheckPatternPredicate0,
20212 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_D),
20213 MVT::v4i64, 2, 9,
20214 12,
20215 OPC_CheckChild0Integer, 53|128,51,
20216 OPC_RecordChild1,
20217 OPC_RecordChild2,
20218 OPC_CheckPatternPredicate0,
20219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_DU),
20220 MVT::v4i64, 2, 9,
20221 12,
20222 OPC_CheckChild0Integer, 124|128,50,
20223 OPC_RecordChild1,
20224 OPC_RecordChild2,
20225 OPC_CheckPatternPredicate0,
20226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_D),
20227 MVT::v4i64, 2, 9,
20228 12,
20229 OPC_CheckChild0Integer, 125|128,50,
20230 OPC_RecordChild1,
20231 OPC_RecordChild2,
20232 OPC_CheckPatternPredicate0,
20233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_DU),
20234 MVT::v4i64, 2, 9,
20235 12,
20236 OPC_CheckChild0Integer, 8|128,51,
20237 OPC_RecordChild1,
20238 OPC_RecordChild2,
20239 OPC_CheckPatternPredicate0,
20240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDA_D),
20241 MVT::v4i64, 2, 9,
20242 12,
20243 OPC_CheckChild0Integer, 113|128,53,
20244 OPC_RecordChild1,
20245 OPC_RecordChild2,
20246 OPC_CheckPatternPredicate0,
20247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
20248 MVT::v4i64, 2, 9,
20249 12,
20250 OPC_CheckChild0Integer, 114|128,53,
20251 OPC_RecordChild1,
20252 OPC_RecordChild2,
20253 OPC_CheckPatternPredicate0,
20254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
20255 MVT::v4i64, 2, 9,
20256 12,
20257 OPC_CheckChild0Integer, 1|128,54,
20258 OPC_RecordChild1,
20259 OPC_RecordChild2,
20260 OPC_CheckPatternPredicate0,
20261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_D),
20262 MVT::v4i64, 2, 9,
20263 12,
20264 OPC_CheckChild0Integer, 13|128,54,
20265 OPC_RecordChild1,
20266 OPC_RecordChild2,
20267 OPC_CheckPatternPredicate0,
20268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_D),
20269 MVT::v4i64, 2, 9,
20270 12,
20271 OPC_CheckChild0Integer, 2|128,54,
20272 OPC_RecordChild1,
20273 OPC_RecordChild2,
20274 OPC_CheckPatternPredicate0,
20275 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU),
20276 MVT::v4i64, 2, 9,
20277 12,
20278 OPC_CheckChild0Integer, 14|128,54,
20279 OPC_RecordChild1,
20280 OPC_RecordChild2,
20281 OPC_CheckPatternPredicate0,
20282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU),
20283 MVT::v4i64, 2, 9,
20284 12,
20285 OPC_CheckChild0Integer, 3|128,54,
20286 OPC_RecordChild1,
20287 OPC_RecordChild2,
20288 OPC_CheckPatternPredicate0,
20289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWEV_Q_DU_D),
20290 MVT::v4i64, 2, 9,
20291 12,
20292 OPC_CheckChild0Integer, 15|128,54,
20293 OPC_RecordChild1,
20294 OPC_RecordChild2,
20295 OPC_CheckPatternPredicate0,
20296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMULWOD_Q_DU_D),
20297 MVT::v4i64, 2, 9,
20298 12,
20299 OPC_CheckChild0Integer, 122|128,54,
20300 OPC_RecordChild1,
20301 OPC_RecordChild2,
20302 OPC_CheckPatternPredicate0,
20303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_D),
20304 MVT::v4i64, 2, 9,
20305 12,
20306 OPC_CheckChild0Integer, 82|128,54,
20307 OPC_RecordChild1,
20308 OPC_RecordChild2,
20309 OPC_CheckPatternPredicate0,
20310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
20311 MVT::v4i64, 2, 9,
20312 12,
20313 OPC_CheckChild0Integer, 89|128,55,
20314 OPC_RecordChild1,
20315 OPC_RecordChild2,
20316 OPC_CheckPatternPredicate0,
20317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_D),
20318 MVT::v4i64, 2, 9,
20319 12,
20320 OPC_CheckChild0Integer, 59|128,55,
20321 OPC_RecordChild1,
20322 OPC_RecordChild2,
20323 OPC_CheckPatternPredicate0,
20324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_D),
20325 MVT::v4i64, 2, 9,
20326 12,
20327 OPC_CheckChild0Integer, 83|128,55,
20328 OPC_RecordChild1,
20329 OPC_RecordChild2,
20330 OPC_CheckPatternPredicate0,
20331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLN_W_D),
20332 MVT::v8i32, 2, 9,
20333 12,
20334 OPC_CheckChild0Integer, 53|128,55,
20335 OPC_RecordChild1,
20336 OPC_RecordChild2,
20337 OPC_CheckPatternPredicate0,
20338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAN_W_D),
20339 MVT::v8i32, 2, 9,
20340 12,
20341 OPC_CheckChild0Integer, 98|128,55,
20342 OPC_RecordChild1,
20343 OPC_RecordChild2,
20344 OPC_CheckPatternPredicate0,
20345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRN_W_D),
20346 MVT::v8i32, 2, 9,
20347 12,
20348 OPC_CheckChild0Integer, 68|128,55,
20349 OPC_RecordChild1,
20350 OPC_RecordChild2,
20351 OPC_CheckPatternPredicate0,
20352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARN_W_D),
20353 MVT::v8i32, 2, 9,
20354 12,
20355 OPC_CheckChild0Integer, 7|128,56,
20356 OPC_RecordChild1,
20357 OPC_RecordChild2,
20358 OPC_CheckPatternPredicate0,
20359 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_W_D),
20360 MVT::v8i32, 2, 9,
20361 12,
20362 OPC_CheckChild0Integer, 107|128,55,
20363 OPC_RecordChild1,
20364 OPC_RecordChild2,
20365 OPC_CheckPatternPredicate0,
20366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_W_D),
20367 MVT::v8i32, 2, 9,
20368 12,
20369 OPC_CheckChild0Integer, 8|128,56,
20370 OPC_RecordChild1,
20371 OPC_RecordChild2,
20372 OPC_CheckPatternPredicate0,
20373 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLN_WU_D),
20374 MVT::v8i32, 2, 9,
20375 12,
20376 OPC_CheckChild0Integer, 108|128,55,
20377 OPC_RecordChild1,
20378 OPC_RecordChild2,
20379 OPC_CheckPatternPredicate0,
20380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRAN_WU_D),
20381 MVT::v8i32, 2, 9,
20382 12,
20383 OPC_CheckChild0Integer, 21|128,56,
20384 OPC_RecordChild1,
20385 OPC_RecordChild2,
20386 OPC_CheckPatternPredicate0,
20387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_W_D),
20388 MVT::v8i32, 2, 9,
20389 12,
20390 OPC_CheckChild0Integer, 121|128,55,
20391 OPC_RecordChild1,
20392 OPC_RecordChild2,
20393 OPC_CheckPatternPredicate0,
20394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_W_D),
20395 MVT::v8i32, 2, 9,
20396 12,
20397 OPC_CheckChild0Integer, 22|128,56,
20398 OPC_RecordChild1,
20399 OPC_RecordChild2,
20400 OPC_CheckPatternPredicate0,
20401 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRLRN_WU_D),
20402 MVT::v8i32, 2, 9,
20403 12,
20404 OPC_CheckChild0Integer, 122|128,55,
20405 OPC_RecordChild1,
20406 OPC_RecordChild2,
20407 OPC_CheckPatternPredicate0,
20408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSRARN_WU_D),
20409 MVT::v8i32, 2, 9,
20410 12,
20411 OPC_CheckChild0Integer, 106|128,54,
20412 OPC_RecordChild1,
20413 OPC_RecordChild2,
20414 OPC_CheckPatternPredicate0,
20415 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
20416 MVT::v4i64, 2, 9,
20417 12,
20418 OPC_CheckChild0Integer, 127|128,54,
20419 OPC_RecordChild1,
20420 OPC_RecordChild2,
20421 OPC_CheckPatternPredicate0,
20422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
20423 MVT::v4i64, 2, 9,
20424 12,
20425 OPC_CheckChild0Integer, 0|128,55,
20426 OPC_RecordChild1,
20427 OPC_RecordChild2,
20428 OPC_CheckPatternPredicate0,
20429 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
20430 MVT::v4i64, 2, 9,
20431 12,
20432 OPC_CheckChild0Integer, 29|128,55,
20433 OPC_RecordChild1,
20434 OPC_RecordChild2,
20435 OPC_CheckPatternPredicate0,
20436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
20437 MVT::v4i64, 2, 9,
20438 12,
20439 OPC_CheckChild0Integer, 30|128,55,
20440 OPC_RecordChild1,
20441 OPC_RecordChild2,
20442 OPC_CheckPatternPredicate0,
20443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
20444 MVT::v4i64, 2, 9,
20445 12,
20446 OPC_CheckChild0Integer, 29|128,54,
20447 OPC_RecordChild1,
20448 OPC_RecordChild2,
20449 OPC_CheckPatternPredicate0,
20450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
20451 MVT::v4i64, 2, 9,
20452 12,
20453 OPC_CheckChild0Integer, 33|128,54,
20454 OPC_RecordChild1,
20455 OPC_RecordChild2,
20456 OPC_CheckPatternPredicate0,
20457 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
20458 MVT::v4i64, 2, 9,
20459 12,
20460 OPC_CheckChild0Integer, 45|128,54,
20461 OPC_RecordChild1,
20462 OPC_RecordChild2,
20463 OPC_CheckPatternPredicate0,
20464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
20465 MVT::v4i64, 2, 9,
20466 12,
20467 OPC_CheckChild0Integer, 49|128,54,
20468 OPC_RecordChild1,
20469 OPC_RecordChild2,
20470 OPC_CheckPatternPredicate0,
20471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
20472 MVT::v4i64, 2, 9,
20473 12,
20474 OPC_CheckChild0Integer, 19|128,53,
20475 OPC_RecordChild1,
20476 OPC_RecordChild2,
20477 OPC_CheckPatternPredicate0,
20478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
20479 MVT::v4i64, 2, 9,
20480 12,
20481 OPC_CheckChild0Integer, 15|128,53,
20482 OPC_RecordChild1,
20483 OPC_RecordChild2,
20484 OPC_CheckPatternPredicate0,
20485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
20486 MVT::v4i64, 2, 9,
20487 13,
20488 OPC_CheckChild0Integer, 40|128,53,
20489 OPC_RecordChild1,
20490 OPC_RecordChild2,
20491 OPC_RecordChild3,
20492 OPC_CheckPatternPredicate0,
20493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_B),
20494 MVT::v16i16, 3, 24,
20495 13,
20496 OPC_CheckChild0Integer, 52|128,53,
20497 OPC_RecordChild1,
20498 OPC_RecordChild2,
20499 OPC_RecordChild3,
20500 OPC_CheckPatternPredicate0,
20501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_B),
20502 MVT::v16i16, 3, 24,
20503 13,
20504 OPC_CheckChild0Integer, 41|128,53,
20505 OPC_RecordChild1,
20506 OPC_RecordChild2,
20507 OPC_RecordChild3,
20508 OPC_CheckPatternPredicate0,
20509 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU),
20510 MVT::v16i16, 3, 24,
20511 13,
20512 OPC_CheckChild0Integer, 53|128,53,
20513 OPC_RecordChild1,
20514 OPC_RecordChild2,
20515 OPC_RecordChild3,
20516 OPC_CheckPatternPredicate0,
20517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU),
20518 MVT::v16i16, 3, 24,
20519 13,
20520 OPC_CheckChild0Integer, 42|128,53,
20521 OPC_RecordChild1,
20522 OPC_RecordChild2,
20523 OPC_RecordChild3,
20524 OPC_CheckPatternPredicate0,
20525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_H_BU_B),
20526 MVT::v16i16, 3, 24,
20527 13,
20528 OPC_CheckChild0Integer, 54|128,53,
20529 OPC_RecordChild1,
20530 OPC_RecordChild2,
20531 OPC_RecordChild3,
20532 OPC_CheckPatternPredicate0,
20533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_H_BU_B),
20534 MVT::v16i16, 3, 24,
20535 13,
20536 OPC_CheckChild0Integer, 46|128,53,
20537 OPC_RecordChild1,
20538 OPC_RecordChild2,
20539 OPC_RecordChild3,
20540 OPC_CheckPatternPredicate0,
20541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_H),
20542 MVT::v8i32, 3, 24,
20543 13,
20544 OPC_CheckChild0Integer, 58|128,53,
20545 OPC_RecordChild1,
20546 OPC_RecordChild2,
20547 OPC_RecordChild3,
20548 OPC_CheckPatternPredicate0,
20549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_H),
20550 MVT::v8i32, 3, 24,
20551 13,
20552 OPC_CheckChild0Integer, 47|128,53,
20553 OPC_RecordChild1,
20554 OPC_RecordChild2,
20555 OPC_RecordChild3,
20556 OPC_CheckPatternPredicate0,
20557 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU),
20558 MVT::v8i32, 3, 24,
20559 13,
20560 OPC_CheckChild0Integer, 59|128,53,
20561 OPC_RecordChild1,
20562 OPC_RecordChild2,
20563 OPC_RecordChild3,
20564 OPC_CheckPatternPredicate0,
20565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU),
20566 MVT::v8i32, 3, 24,
20567 13,
20568 OPC_CheckChild0Integer, 48|128,53,
20569 OPC_RecordChild1,
20570 OPC_RecordChild2,
20571 OPC_RecordChild3,
20572 OPC_CheckPatternPredicate0,
20573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_W_HU_H),
20574 MVT::v8i32, 3, 24,
20575 13,
20576 OPC_CheckChild0Integer, 60|128,53,
20577 OPC_RecordChild1,
20578 OPC_RecordChild2,
20579 OPC_RecordChild3,
20580 OPC_CheckPatternPredicate0,
20581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_W_HU_H),
20582 MVT::v8i32, 3, 24,
20583 13,
20584 OPC_CheckChild0Integer, 37|128,53,
20585 OPC_RecordChild1,
20586 OPC_RecordChild2,
20587 OPC_RecordChild3,
20588 OPC_CheckPatternPredicate0,
20589 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_W),
20590 MVT::v4i64, 3, 24,
20591 13,
20592 OPC_CheckChild0Integer, 49|128,53,
20593 OPC_RecordChild1,
20594 OPC_RecordChild2,
20595 OPC_RecordChild3,
20596 OPC_CheckPatternPredicate0,
20597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_W),
20598 MVT::v4i64, 3, 24,
20599 13,
20600 OPC_CheckChild0Integer, 38|128,53,
20601 OPC_RecordChild1,
20602 OPC_RecordChild2,
20603 OPC_RecordChild3,
20604 OPC_CheckPatternPredicate0,
20605 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU),
20606 MVT::v4i64, 3, 24,
20607 13,
20608 OPC_CheckChild0Integer, 50|128,53,
20609 OPC_RecordChild1,
20610 OPC_RecordChild2,
20611 OPC_RecordChild3,
20612 OPC_CheckPatternPredicate0,
20613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU),
20614 MVT::v4i64, 3, 24,
20615 13,
20616 OPC_CheckChild0Integer, 39|128,53,
20617 OPC_RecordChild1,
20618 OPC_RecordChild2,
20619 OPC_RecordChild3,
20620 OPC_CheckPatternPredicate0,
20621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_D_WU_W),
20622 MVT::v4i64, 3, 24,
20623 13,
20624 OPC_CheckChild0Integer, 51|128,53,
20625 OPC_RecordChild1,
20626 OPC_RecordChild2,
20627 OPC_RecordChild3,
20628 OPC_CheckPatternPredicate0,
20629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_D_WU_W),
20630 MVT::v4i64, 3, 24,
20631 13,
20632 OPC_CheckChild0Integer, 43|128,53,
20633 OPC_RecordChild1,
20634 OPC_RecordChild2,
20635 OPC_RecordChild3,
20636 OPC_CheckPatternPredicate0,
20637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_D),
20638 MVT::v4i64, 3, 24,
20639 13,
20640 OPC_CheckChild0Integer, 55|128,53,
20641 OPC_RecordChild1,
20642 OPC_RecordChild2,
20643 OPC_RecordChild3,
20644 OPC_CheckPatternPredicate0,
20645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_D),
20646 MVT::v4i64, 3, 24,
20647 13,
20648 OPC_CheckChild0Integer, 44|128,53,
20649 OPC_RecordChild1,
20650 OPC_RecordChild2,
20651 OPC_RecordChild3,
20652 OPC_CheckPatternPredicate0,
20653 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU),
20654 MVT::v4i64, 3, 24,
20655 13,
20656 OPC_CheckChild0Integer, 56|128,53,
20657 OPC_RecordChild1,
20658 OPC_RecordChild2,
20659 OPC_RecordChild3,
20660 OPC_CheckPatternPredicate0,
20661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU),
20662 MVT::v4i64, 3, 24,
20663 13,
20664 OPC_CheckChild0Integer, 45|128,53,
20665 OPC_RecordChild1,
20666 OPC_RecordChild2,
20667 OPC_RecordChild3,
20668 OPC_CheckPatternPredicate0,
20669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWEV_Q_DU_D),
20670 MVT::v4i64, 3, 24,
20671 13,
20672 OPC_CheckChild0Integer, 57|128,53,
20673 OPC_RecordChild1,
20674 OPC_RecordChild2,
20675 OPC_RecordChild3,
20676 OPC_CheckPatternPredicate0,
20677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMADDWOD_Q_DU_D),
20678 MVT::v4i64, 3, 24,
20679 11,
20680 OPC_CheckChild0Integer, 104|128,51,
20681 OPC_RecordChild1,
20682 OPC_CheckPatternPredicate0,
20683 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_H_B),
20684 MVT::v16i16, 1, 1,
20685 11,
20686 OPC_CheckChild0Integer, 105|128,51,
20687 OPC_RecordChild1,
20688 OPC_CheckPatternPredicate0,
20689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_HU_BU),
20690 MVT::v16i16, 1, 1,
20691 11,
20692 OPC_CheckChild0Integer, 102|128,53,
20693 OPC_RecordChild1,
20694 OPC_CheckPatternPredicate0,
20695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_B),
20696 MVT::v32i8, 1, 1,
20697 11,
20698 OPC_CheckChild0Integer, 101|128,53,
20699 OPC_RecordChild1,
20700 OPC_CheckPatternPredicate0,
20701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKGEZ_B),
20702 MVT::v32i8, 1, 1,
20703 11,
20704 OPC_CheckChild0Integer, 106|128,53,
20705 OPC_RecordChild1,
20706 OPC_CheckPatternPredicate0,
20707 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKNZ_B),
20708 MVT::v32i8, 1, 1,
20709 11,
20710 OPC_CheckChild0Integer, 86|128,51,
20711 OPC_RecordChild1,
20712 OPC_CheckPatternPredicate0,
20713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_B),
20714 MVT::v32i8, 1, 1,
20715 11,
20716 OPC_CheckChild0Integer, 106|128,50,
20717 OPC_RecordChild1,
20718 OPC_CheckPatternPredicate0,
20719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
20720 MVT::v16i16, 1, 1,
20721 11,
20722 OPC_CheckChild0Integer, 107|128,50,
20723 OPC_RecordChild1,
20724 OPC_CheckPatternPredicate0,
20725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
20726 MVT::v16i16, 1, 1,
20727 11,
20728 OPC_CheckChild0Integer, 108|128,50,
20729 OPC_RecordChild1,
20730 OPC_CheckPatternPredicate0,
20731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
20732 MVT::v8i32, 1, 1,
20733 11,
20734 OPC_CheckChild0Integer, 110|128,50,
20735 OPC_RecordChild1,
20736 OPC_CheckPatternPredicate0,
20737 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
20738 MVT::v8i32, 1, 1,
20739 11,
20740 OPC_CheckChild0Integer, 100|128,50,
20741 OPC_RecordChild1,
20742 OPC_CheckPatternPredicate0,
20743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_B),
20744 MVT::v4i64, 1, 1,
20745 11,
20746 OPC_CheckChild0Integer, 103|128,50,
20747 OPC_RecordChild1,
20748 OPC_CheckPatternPredicate0,
20749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_BU),
20750 MVT::v4i64, 1, 1,
20751 11,
20752 OPC_CheckChild0Integer, 76|128,54,
20753 OPC_RecordChild1,
20754 OPC_CheckPatternPredicate0,
20755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_B),
20756 MVT::v32i8, 1, 1,
20757 11,
20758 OPC_CheckChild0Integer, 79|128,54,
20759 OPC_RecordChild1,
20760 OPC_CheckPatternPredicate0,
20761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
20762 MVT::v32i8, 1, 1,
20763 11,
20764 OPC_CheckChild0Integer, 108|128,51,
20765 OPC_RecordChild1,
20766 OPC_CheckPatternPredicate0,
20767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_W_H),
20768 MVT::v8i32, 1, 1,
20769 11,
20770 OPC_CheckChild0Integer, 109|128,51,
20771 OPC_RecordChild1,
20772 OPC_CheckPatternPredicate0,
20773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_WU_HU),
20774 MVT::v8i32, 1, 1,
20775 11,
20776 OPC_CheckChild0Integer, 104|128,53,
20777 OPC_RecordChild1,
20778 OPC_CheckPatternPredicate0,
20779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_H),
20780 MVT::v16i16, 1, 1,
20781 11,
20782 OPC_CheckChild0Integer, 88|128,51,
20783 OPC_RecordChild1,
20784 OPC_CheckPatternPredicate0,
20785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_H),
20786 MVT::v16i16, 1, 1,
20787 11,
20788 OPC_CheckChild0Integer, 109|128,50,
20789 OPC_RecordChild1,
20790 OPC_CheckPatternPredicate0,
20791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
20792 MVT::v8i32, 1, 1,
20793 11,
20794 OPC_CheckChild0Integer, 111|128,50,
20795 OPC_RecordChild1,
20796 OPC_CheckPatternPredicate0,
20797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
20798 MVT::v8i32, 1, 1,
20799 11,
20800 OPC_CheckChild0Integer, 101|128,50,
20801 OPC_RecordChild1,
20802 OPC_CheckPatternPredicate0,
20803 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_H),
20804 MVT::v4i64, 1, 1,
20805 11,
20806 OPC_CheckChild0Integer, 104|128,50,
20807 OPC_RecordChild1,
20808 OPC_CheckPatternPredicate0,
20809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_HU),
20810 MVT::v4i64, 1, 1,
20811 11,
20812 OPC_CheckChild0Integer, 78|128,54,
20813 OPC_RecordChild1,
20814 OPC_CheckPatternPredicate0,
20815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_H),
20816 MVT::v16i16, 1, 1,
20817 11,
20818 OPC_CheckChild0Integer, 102|128,51,
20819 OPC_RecordChild1,
20820 OPC_CheckPatternPredicate0,
20821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_D_W),
20822 MVT::v4i64, 1, 1,
20823 11,
20824 OPC_CheckChild0Integer, 103|128,51,
20825 OPC_RecordChild1,
20826 OPC_CheckPatternPredicate0,
20827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_DU_WU),
20828 MVT::v4i64, 1, 1,
20829 11,
20830 OPC_CheckChild0Integer, 105|128,53,
20831 OPC_RecordChild1,
20832 OPC_CheckPatternPredicate0,
20833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_W),
20834 MVT::v8i32, 1, 1,
20835 11,
20836 OPC_CheckChild0Integer, 89|128,51,
20837 OPC_RecordChild1,
20838 OPC_CheckPatternPredicate0,
20839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_W),
20840 MVT::v8i32, 1, 1,
20841 11,
20842 OPC_CheckChild0Integer, 102|128,50,
20843 OPC_RecordChild1,
20844 OPC_CheckPatternPredicate0,
20845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
20846 MVT::v4i64, 1, 1,
20847 11,
20848 OPC_CheckChild0Integer, 105|128,50,
20849 OPC_RecordChild1,
20850 OPC_CheckPatternPredicate0,
20851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
20852 MVT::v4i64, 1, 1,
20853 11,
20854 OPC_CheckChild0Integer, 80|128,54,
20855 OPC_RecordChild1,
20856 OPC_CheckPatternPredicate0,
20857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
20858 MVT::v8i32, 1, 1,
20859 11,
20860 OPC_CheckChild0Integer, 106|128,51,
20861 OPC_RecordChild1,
20862 OPC_CheckPatternPredicate0,
20863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_Q_D),
20864 MVT::v4i64, 1, 1,
20865 11,
20866 OPC_CheckChild0Integer, 107|128,51,
20867 OPC_RecordChild1,
20868 OPC_CheckPatternPredicate0,
20869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_QU_DU),
20870 MVT::v4i64, 1, 1,
20871 11,
20872 OPC_CheckChild0Integer, 103|128,53,
20873 OPC_RecordChild1,
20874 OPC_CheckPatternPredicate0,
20875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSKLTZ_D),
20876 MVT::v4i64, 1, 1,
20877 11,
20878 OPC_CheckChild0Integer, 110|128,51,
20879 OPC_RecordChild1,
20880 OPC_CheckPatternPredicate0,
20881 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_Q_D),
20882 MVT::v4i64, 1, 1,
20883 11,
20884 OPC_CheckChild0Integer, 111|128,51,
20885 OPC_RecordChild1,
20886 OPC_CheckPatternPredicate0,
20887 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTL_QU_DU),
20888 MVT::v4i64, 1, 1,
20889 11,
20890 OPC_CheckChild0Integer, 87|128,51,
20891 OPC_RecordChild1,
20892 OPC_CheckPatternPredicate0,
20893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVCLO_D),
20894 MVT::v4i64, 1, 1,
20895 11,
20896 OPC_CheckChild0Integer, 77|128,54,
20897 OPC_RecordChild1,
20898 OPC_CheckPatternPredicate0,
20899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
20900 MVT::v4i64, 1, 1,
20901 13,
20902 OPC_CheckChild0Integer, 89|128,52,
20903 OPC_RecordChild1,
20904 OPC_RecordChild2,
20905 OPC_RecordChild3,
20906 OPC_CheckPatternPredicate0,
20907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_B),
20908 MVT::v32i8, 3, 24,
20909 13,
20910 OPC_CheckChild0Integer, 74|128,51,
20911 OPC_RecordChild1,
20912 OPC_RecordChild2,
20913 OPC_RecordChild3,
20914 OPC_CheckPatternPredicate0,
20915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
20916 MVT::v32i8, 3, 24,
20917 13,
20918 OPC_CheckChild0Integer, 113|128,54,
20919 OPC_RecordChild1,
20920 OPC_RecordChild2,
20921 OPC_RecordChild3,
20922 OPC_CheckPatternPredicate0,
20923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_B),
20924 MVT::v32i8, 3, 24,
20925 13,
20926 OPC_CheckChild0Integer, 90|128,52,
20927 OPC_RecordChild1,
20928 OPC_RecordChild2,
20929 OPC_RecordChild3,
20930 OPC_CheckPatternPredicate0,
20931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSTP_H),
20932 MVT::v16i16, 3, 24,
20933 13,
20934 OPC_CheckChild0Integer, 115|128,54,
20935 OPC_RecordChild1,
20936 OPC_RecordChild2,
20937 OPC_RecordChild3,
20938 OPC_CheckPatternPredicate0,
20939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_H),
20940 MVT::v16i16, 3, 24,
20941 13,
20942 OPC_CheckChild0Integer, 116|128,54,
20943 OPC_RecordChild1,
20944 OPC_RecordChild2,
20945 OPC_RecordChild3,
20946 OPC_CheckPatternPredicate0,
20947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
20948 MVT::v8i32, 3, 24,
20949 13,
20950 OPC_CheckChild0Integer, 114|128,54,
20951 OPC_RecordChild1,
20952 OPC_RecordChild2,
20953 OPC_RecordChild3,
20954 OPC_CheckPatternPredicate0,
20955 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
20956 MVT::v4i64, 3, 24,
20957 12,
20958 OPC_CheckChild0Integer, 36|128,52,
20959 OPC_RecordChild1,
20960 OPC_RecordChild2,
20961 OPC_CheckPatternPredicate0,
20962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_H_S),
20963 MVT::v16i16, 2, 9,
20964 12,
20965 OPC_CheckChild0Integer, 121|128,51,
20966 OPC_RecordChild1,
20967 OPC_RecordChild2,
20968 OPC_CheckPatternPredicate0,
20969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_S),
20970 MVT::v8i32, 2, 9,
20971 12,
20972 OPC_CheckChild0Integer, 11|128,52,
20973 OPC_RecordChild1,
20974 OPC_RecordChild2,
20975 OPC_CheckPatternPredicate0,
20976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
20977 MVT::v8i32, 2, 9,
20978 12,
20979 OPC_CheckChild0Integer, 123|128,51,
20980 OPC_RecordChild1,
20981 OPC_RecordChild2,
20982 OPC_CheckPatternPredicate0,
20983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
20984 MVT::v8i32, 2, 9,
20985 12,
20986 OPC_CheckChild0Integer, 5|128,52,
20987 OPC_RecordChild1,
20988 OPC_RecordChild2,
20989 OPC_CheckPatternPredicate0,
20990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
20991 MVT::v8i32, 2, 9,
20992 12,
20993 OPC_CheckChild0Integer, 127|128,51,
20994 OPC_RecordChild1,
20995 OPC_RecordChild2,
20996 OPC_CheckPatternPredicate0,
20997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
20998 MVT::v8i32, 2, 9,
20999 12,
21000 OPC_CheckChild0Integer, 9|128,52,
21001 OPC_RecordChild1,
21002 OPC_RecordChild2,
21003 OPC_CheckPatternPredicate0,
21004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
21005 MVT::v8i32, 2, 9,
21006 12,
21007 OPC_CheckChild0Integer, 125|128,51,
21008 OPC_RecordChild1,
21009 OPC_RecordChild2,
21010 OPC_CheckPatternPredicate0,
21011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
21012 MVT::v8i32, 2, 9,
21013 12,
21014 OPC_CheckChild0Integer, 7|128,52,
21015 OPC_RecordChild1,
21016 OPC_RecordChild2,
21017 OPC_CheckPatternPredicate0,
21018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
21019 MVT::v8i32, 2, 9,
21020 12,
21021 OPC_CheckChild0Integer, 1|128,52,
21022 OPC_RecordChild1,
21023 OPC_RecordChild2,
21024 OPC_CheckPatternPredicate0,
21025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
21026 MVT::v8i32, 2, 9,
21027 12,
21028 OPC_CheckChild0Integer, 3|128,52,
21029 OPC_RecordChild1,
21030 OPC_RecordChild2,
21031 OPC_CheckPatternPredicate0,
21032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
21033 MVT::v8i32, 2, 9,
21034 12,
21035 OPC_CheckChild0Integer, 13|128,52,
21036 OPC_RecordChild1,
21037 OPC_RecordChild2,
21038 OPC_CheckPatternPredicate0,
21039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
21040 MVT::v8i32, 2, 9,
21041 12,
21042 OPC_CheckChild0Integer, 15|128,52,
21043 OPC_RecordChild1,
21044 OPC_RecordChild2,
21045 OPC_CheckPatternPredicate0,
21046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_S),
21047 MVT::v8i32, 2, 9,
21048 12,
21049 OPC_CheckChild0Integer, 33|128,52,
21050 OPC_RecordChild1,
21051 OPC_RecordChild2,
21052 OPC_CheckPatternPredicate0,
21053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_S),
21054 MVT::v8i32, 2, 9,
21055 12,
21056 OPC_CheckChild0Integer, 17|128,52,
21057 OPC_RecordChild1,
21058 OPC_RecordChild2,
21059 OPC_CheckPatternPredicate0,
21060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_S),
21061 MVT::v8i32, 2, 9,
21062 12,
21063 OPC_CheckChild0Integer, 27|128,52,
21064 OPC_RecordChild1,
21065 OPC_RecordChild2,
21066 OPC_CheckPatternPredicate0,
21067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_S),
21068 MVT::v8i32, 2, 9,
21069 12,
21070 OPC_CheckChild0Integer, 21|128,52,
21071 OPC_RecordChild1,
21072 OPC_RecordChild2,
21073 OPC_CheckPatternPredicate0,
21074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_S),
21075 MVT::v8i32, 2, 9,
21076 12,
21077 OPC_CheckChild0Integer, 31|128,52,
21078 OPC_RecordChild1,
21079 OPC_RecordChild2,
21080 OPC_CheckPatternPredicate0,
21081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_S),
21082 MVT::v8i32, 2, 9,
21083 12,
21084 OPC_CheckChild0Integer, 19|128,52,
21085 OPC_RecordChild1,
21086 OPC_RecordChild2,
21087 OPC_CheckPatternPredicate0,
21088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_S),
21089 MVT::v8i32, 2, 9,
21090 12,
21091 OPC_CheckChild0Integer, 29|128,52,
21092 OPC_RecordChild1,
21093 OPC_RecordChild2,
21094 OPC_CheckPatternPredicate0,
21095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_S),
21096 MVT::v8i32, 2, 9,
21097 12,
21098 OPC_CheckChild0Integer, 23|128,52,
21099 OPC_RecordChild1,
21100 OPC_RecordChild2,
21101 OPC_CheckPatternPredicate0,
21102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_S),
21103 MVT::v8i32, 2, 9,
21104 12,
21105 OPC_CheckChild0Integer, 25|128,52,
21106 OPC_RecordChild1,
21107 OPC_RecordChild2,
21108 OPC_CheckPatternPredicate0,
21109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_S),
21110 MVT::v8i32, 2, 9,
21111 12,
21112 OPC_CheckChild0Integer, 35|128,52,
21113 OPC_RecordChild1,
21114 OPC_RecordChild2,
21115 OPC_CheckPatternPredicate0,
21116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_S),
21117 MVT::v8i32, 2, 9,
21118 12,
21119 OPC_CheckChild0Integer, 110|128,52,
21120 OPC_RecordChild1,
21121 OPC_RecordChild2,
21122 OPC_CheckPatternPredicate0,
21123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_D),
21124 MVT::v8i32, 2, 9,
21125 12,
21126 OPC_CheckChild0Integer, 121|128,52,
21127 OPC_RecordChild1,
21128 OPC_RecordChild2,
21129 OPC_CheckPatternPredicate0,
21130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_D),
21131 MVT::v8i32, 2, 9,
21132 12,
21133 OPC_CheckChild0Integer, 115|128,52,
21134 OPC_RecordChild1,
21135 OPC_RecordChild2,
21136 OPC_CheckPatternPredicate0,
21137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_D),
21138 MVT::v8i32, 2, 9,
21139 12,
21140 OPC_CheckChild0Integer, 105|128,52,
21141 OPC_RecordChild1,
21142 OPC_RecordChild2,
21143 OPC_CheckPatternPredicate0,
21144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_D),
21145 MVT::v8i32, 2, 9,
21146 12,
21147 OPC_CheckChild0Integer, 99|128,52,
21148 OPC_RecordChild1,
21149 OPC_RecordChild2,
21150 OPC_CheckPatternPredicate0,
21151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_D),
21152 MVT::v8i32, 2, 9,
21153 12,
21154 OPC_CheckChild0Integer, 120|128,51,
21155 OPC_RecordChild1,
21156 OPC_RecordChild2,
21157 OPC_CheckPatternPredicate0,
21158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CAF_D),
21159 MVT::v4i64, 2, 9,
21160 12,
21161 OPC_CheckChild0Integer, 10|128,52,
21162 OPC_RecordChild1,
21163 OPC_RecordChild2,
21164 OPC_CheckPatternPredicate0,
21165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
21166 MVT::v4i64, 2, 9,
21167 12,
21168 OPC_CheckChild0Integer, 122|128,51,
21169 OPC_RecordChild1,
21170 OPC_RecordChild2,
21171 OPC_CheckPatternPredicate0,
21172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
21173 MVT::v4i64, 2, 9,
21174 12,
21175 OPC_CheckChild0Integer, 4|128,52,
21176 OPC_RecordChild1,
21177 OPC_RecordChild2,
21178 OPC_CheckPatternPredicate0,
21179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
21180 MVT::v4i64, 2, 9,
21181 12,
21182 OPC_CheckChild0Integer, 126|128,51,
21183 OPC_RecordChild1,
21184 OPC_RecordChild2,
21185 OPC_CheckPatternPredicate0,
21186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
21187 MVT::v4i64, 2, 9,
21188 12,
21189 OPC_CheckChild0Integer, 8|128,52,
21190 OPC_RecordChild1,
21191 OPC_RecordChild2,
21192 OPC_CheckPatternPredicate0,
21193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
21194 MVT::v4i64, 2, 9,
21195 12,
21196 OPC_CheckChild0Integer, 124|128,51,
21197 OPC_RecordChild1,
21198 OPC_RecordChild2,
21199 OPC_CheckPatternPredicate0,
21200 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
21201 MVT::v4i64, 2, 9,
21202 12,
21203 OPC_CheckChild0Integer, 6|128,52,
21204 OPC_RecordChild1,
21205 OPC_RecordChild2,
21206 OPC_CheckPatternPredicate0,
21207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
21208 MVT::v4i64, 2, 9,
21209 12,
21210 OPC_CheckChild0Integer, 0|128,52,
21211 OPC_RecordChild1,
21212 OPC_RecordChild2,
21213 OPC_CheckPatternPredicate0,
21214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
21215 MVT::v4i64, 2, 9,
21216 12,
21217 OPC_CheckChild0Integer, 2|128,52,
21218 OPC_RecordChild1,
21219 OPC_RecordChild2,
21220 OPC_CheckPatternPredicate0,
21221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
21222 MVT::v4i64, 2, 9,
21223 12,
21224 OPC_CheckChild0Integer, 12|128,52,
21225 OPC_RecordChild1,
21226 OPC_RecordChild2,
21227 OPC_CheckPatternPredicate0,
21228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
21229 MVT::v4i64, 2, 9,
21230 12,
21231 OPC_CheckChild0Integer, 14|128,52,
21232 OPC_RecordChild1,
21233 OPC_RecordChild2,
21234 OPC_CheckPatternPredicate0,
21235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SAF_D),
21236 MVT::v4i64, 2, 9,
21237 12,
21238 OPC_CheckChild0Integer, 32|128,52,
21239 OPC_RecordChild1,
21240 OPC_RecordChild2,
21241 OPC_CheckPatternPredicate0,
21242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUN_D),
21243 MVT::v4i64, 2, 9,
21244 12,
21245 OPC_CheckChild0Integer, 16|128,52,
21246 OPC_RecordChild1,
21247 OPC_RecordChild2,
21248 OPC_CheckPatternPredicate0,
21249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SEQ_D),
21250 MVT::v4i64, 2, 9,
21251 12,
21252 OPC_CheckChild0Integer, 26|128,52,
21253 OPC_RecordChild1,
21254 OPC_RecordChild2,
21255 OPC_CheckPatternPredicate0,
21256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUEQ_D),
21257 MVT::v4i64, 2, 9,
21258 12,
21259 OPC_CheckChild0Integer, 20|128,52,
21260 OPC_RecordChild1,
21261 OPC_RecordChild2,
21262 OPC_CheckPatternPredicate0,
21263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLT_D),
21264 MVT::v4i64, 2, 9,
21265 12,
21266 OPC_CheckChild0Integer, 30|128,52,
21267 OPC_RecordChild1,
21268 OPC_RecordChild2,
21269 OPC_CheckPatternPredicate0,
21270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULT_D),
21271 MVT::v4i64, 2, 9,
21272 12,
21273 OPC_CheckChild0Integer, 18|128,52,
21274 OPC_RecordChild1,
21275 OPC_RecordChild2,
21276 OPC_CheckPatternPredicate0,
21277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SLE_D),
21278 MVT::v4i64, 2, 9,
21279 12,
21280 OPC_CheckChild0Integer, 28|128,52,
21281 OPC_RecordChild1,
21282 OPC_RecordChild2,
21283 OPC_CheckPatternPredicate0,
21284 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SULE_D),
21285 MVT::v4i64, 2, 9,
21286 12,
21287 OPC_CheckChild0Integer, 22|128,52,
21288 OPC_RecordChild1,
21289 OPC_RecordChild2,
21290 OPC_CheckPatternPredicate0,
21291 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SNE_D),
21292 MVT::v4i64, 2, 9,
21293 12,
21294 OPC_CheckChild0Integer, 24|128,52,
21295 OPC_RecordChild1,
21296 OPC_RecordChild2,
21297 OPC_CheckPatternPredicate0,
21298 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SOR_D),
21299 MVT::v4i64, 2, 9,
21300 12,
21301 OPC_CheckChild0Integer, 34|128,52,
21302 OPC_RecordChild1,
21303 OPC_RecordChild2,
21304 OPC_CheckPatternPredicate0,
21305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_SUNE_D),
21306 MVT::v4i64, 2, 9,
21307 11,
21308 OPC_CheckChild0Integer, 119|128,51,
21309 OPC_RecordChild1,
21310 OPC_CheckPatternPredicate0,
21311 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_S),
21312 MVT::v8i32, 1, 1,
21313 11,
21314 OPC_CheckChild0Integer, 111|128,52,
21315 OPC_RecordChild1,
21316 OPC_CheckPatternPredicate0,
21317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_W_S),
21318 MVT::v8i32, 1, 1,
21319 11,
21320 OPC_CheckChild0Integer, 122|128,52,
21321 OPC_RecordChild1,
21322 OPC_CheckPatternPredicate0,
21323 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
21324 MVT::v8i32, 1, 1,
21325 11,
21326 OPC_CheckChild0Integer, 116|128,52,
21327 OPC_RecordChild1,
21328 OPC_CheckPatternPredicate0,
21329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_W_S),
21330 MVT::v8i32, 1, 1,
21331 11,
21332 OPC_CheckChild0Integer, 106|128,52,
21333 OPC_RecordChild1,
21334 OPC_CheckPatternPredicate0,
21335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_W_S),
21336 MVT::v8i32, 1, 1,
21337 11,
21338 OPC_CheckChild0Integer, 100|128,52,
21339 OPC_RecordChild1,
21340 OPC_CheckPatternPredicate0,
21341 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_W_S),
21342 MVT::v8i32, 1, 1,
21343 11,
21344 OPC_CheckChild0Integer, 123|128,52,
21345 OPC_RecordChild1,
21346 OPC_CheckPatternPredicate0,
21347 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_WU_S),
21348 MVT::v8i32, 1, 1,
21349 11,
21350 OPC_CheckChild0Integer, 101|128,52,
21351 OPC_RecordChild1,
21352 OPC_CheckPatternPredicate0,
21353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_WU_S),
21354 MVT::v8i32, 1, 1,
21355 11,
21356 OPC_CheckChild0Integer, 113|128,52,
21357 OPC_RecordChild1,
21358 OPC_CheckPatternPredicate0,
21359 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEL_L_S),
21360 MVT::v4i64, 1, 1,
21361 11,
21362 OPC_CheckChild0Integer, 112|128,52,
21363 OPC_RecordChild1,
21364 OPC_CheckPatternPredicate0,
21365 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNEH_L_S),
21366 MVT::v4i64, 1, 1,
21367 11,
21368 OPC_CheckChild0Integer, 125|128,52,
21369 OPC_RecordChild1,
21370 OPC_CheckPatternPredicate0,
21371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZL_L_S),
21372 MVT::v4i64, 1, 1,
21373 11,
21374 OPC_CheckChild0Integer, 124|128,52,
21375 OPC_RecordChild1,
21376 OPC_CheckPatternPredicate0,
21377 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZH_L_S),
21378 MVT::v4i64, 1, 1,
21379 11,
21380 OPC_CheckChild0Integer, 118|128,52,
21381 OPC_RecordChild1,
21382 OPC_CheckPatternPredicate0,
21383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPL_L_S),
21384 MVT::v4i64, 1, 1,
21385 11,
21386 OPC_CheckChild0Integer, 117|128,52,
21387 OPC_RecordChild1,
21388 OPC_CheckPatternPredicate0,
21389 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRPH_L_S),
21390 MVT::v4i64, 1, 1,
21391 11,
21392 OPC_CheckChild0Integer, 108|128,52,
21393 OPC_RecordChild1,
21394 OPC_CheckPatternPredicate0,
21395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRML_L_S),
21396 MVT::v4i64, 1, 1,
21397 11,
21398 OPC_CheckChild0Integer, 107|128,52,
21399 OPC_RecordChild1,
21400 OPC_CheckPatternPredicate0,
21401 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRMH_L_S),
21402 MVT::v4i64, 1, 1,
21403 11,
21404 OPC_CheckChild0Integer, 103|128,52,
21405 OPC_RecordChild1,
21406 OPC_CheckPatternPredicate0,
21407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTL_L_S),
21408 MVT::v4i64, 1, 1,
21409 11,
21410 OPC_CheckChild0Integer, 102|128,52,
21411 OPC_RecordChild1,
21412 OPC_CheckPatternPredicate0,
21413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTH_L_S),
21414 MVT::v4i64, 1, 1,
21415 11,
21416 OPC_CheckChild0Integer, 118|128,51,
21417 OPC_RecordChild1,
21418 OPC_CheckPatternPredicate0,
21419 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCLASS_D),
21420 MVT::v4i64, 1, 1,
21421 11,
21422 OPC_CheckChild0Integer, 109|128,52,
21423 OPC_RecordChild1,
21424 OPC_CheckPatternPredicate0,
21425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRNE_L_D),
21426 MVT::v4i64, 1, 1,
21427 11,
21428 OPC_CheckChild0Integer, 119|128,52,
21429 OPC_RecordChild1,
21430 OPC_CheckPatternPredicate0,
21431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
21432 MVT::v4i64, 1, 1,
21433 11,
21434 OPC_CheckChild0Integer, 114|128,52,
21435 OPC_RecordChild1,
21436 OPC_CheckPatternPredicate0,
21437 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRP_L_D),
21438 MVT::v4i64, 1, 1,
21439 11,
21440 OPC_CheckChild0Integer, 104|128,52,
21441 OPC_RecordChild1,
21442 OPC_CheckPatternPredicate0,
21443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRM_L_D),
21444 MVT::v4i64, 1, 1,
21445 11,
21446 OPC_CheckChild0Integer, 97|128,52,
21447 OPC_RecordChild1,
21448 OPC_CheckPatternPredicate0,
21449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_L_D),
21450 MVT::v4i64, 1, 1,
21451 11,
21452 OPC_CheckChild0Integer, 120|128,52,
21453 OPC_RecordChild1,
21454 OPC_CheckPatternPredicate0,
21455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
21456 MVT::v4i64, 1, 1,
21457 11,
21458 OPC_CheckChild0Integer, 98|128,52,
21459 OPC_RecordChild1,
21460 OPC_CheckPatternPredicate0,
21461 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINT_LU_D),
21462 MVT::v4i64, 1, 1,
21463 18,
21464 OPC_CheckChild0Integer, 82|128,50,
21465 OPC_RecordChild1,
21466 OPC_CheckPatternPredicate0,
21467 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21468 MVT::v4i64, 0,
21469 OPC_EmitIntegerI32, LoongArch::sub_128,
21470 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
21471 MVT::v4i64, 3, 21,
21472 26,
21473 OPC_CheckChild0Integer, 88|128,50,
21474 OPC_RecordChild1,
21475 OPC_CheckPatternPredicate0,
21476 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21477 MVT::v32i8, 0,
21478 OPC_EmitIntegerByHwMode0, 1,
21479 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21480 MVT::v32i8, 3, 21,
21481 OPC_EmitIntegerI32, LoongArch::sub_128,
21482 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21483 MVT::v2i64, 2, 76,
21484 27,
21485 OPC_CheckChild0Integer, 97|128,50,
21486 OPC_RecordChild1,
21487 OPC_RecordChild2,
21488 OPC_CheckPatternPredicate0,
21489 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21490 MVT::v32i8, 0,
21491 OPC_EmitIntegerI32, LoongArch::sub_128,
21492 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
21493 MVT::v32i8, 3, 45,
21494 OPC_EmitIntegerByHwMode0, 48,
21495 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21496 MVT::v4i64, 3, 92,
21497 27,
21498 OPC_CheckChild0Integer, 94|128,50,
21499 OPC_RecordChild1,
21500 OPC_RecordChild2,
21501 OPC_CheckPatternPredicate0,
21502 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
21503 MVT::v32i8, 0,
21504 OPC_EmitIntegerI32, LoongArch::sub_128,
21505 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
21506 MVT::v32i8, 3, 45,
21507 OPC_EmitIntegerByHwMode0, 2,
21508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
21509 MVT::v4i64, 3, 92,
21510 21,
21511 OPC_CheckChild0Integer, 55|128,54,
21512 OPC_RecordChild1,
21513 OPC_RecordChild2,
21514 OPC_MoveChild2,
21515 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21516 OPC_MoveParent,
21517 OPC_CheckPatternPredicate0,
21518 OPC_EmitNodeXForm, 9, 1,
21519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_W),
21520 15|128,1, 2, 22,
21521 21,
21522 OPC_CheckChild0Integer, 53|128,54,
21523 OPC_RecordChild1,
21524 OPC_RecordChild2,
21525 OPC_MoveChild2,
21526 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21527 OPC_MoveParent,
21528 OPC_CheckPatternPredicate0,
21529 OPC_EmitNodeXForm, 9, 1,
21530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKVE_D),
21531 31|128,1, 2, 22,
21532 13,
21533 OPC_CheckChild0Integer, 8|128,58,
21534 OPC_RecordChild1,
21535 OPC_RecordChild2,
21536 OPC_CheckPatternPredicate1,
21537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_L),
21538 11|128,1, 2, 9,
21539 12,
21540 OPC_CheckChild0Integer, 3|128,58,
21541 OPC_RecordChild1,
21542 OPC_CheckPatternPredicate1,
21543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_S_H),
21544 11|128,1, 1, 1,
21545 12,
21546 OPC_CheckChild0Integer, 1|128,58,
21547 OPC_RecordChild1,
21548 OPC_CheckPatternPredicate1,
21549 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_S_H),
21550 11|128,1, 1, 1,
21551 12,
21552 OPC_CheckChild0Integer, 9|128,58,
21553 OPC_RecordChild1,
21554 OPC_CheckPatternPredicate1,
21555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_W),
21556 11|128,1, 1, 1,
21557 12,
21558 OPC_CheckChild0Integer, 10|128,58,
21559 OPC_RecordChild1,
21560 OPC_CheckPatternPredicate1,
21561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_WU),
21562 11|128,1, 1, 1,
21563 12,
21564 OPC_CheckChild0Integer, 12|128,58,
21565 OPC_RecordChild1,
21566 OPC_CheckPatternPredicate1,
21567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTL_D_W),
21568 29|128,1, 1, 1,
21569 12,
21570 OPC_CheckChild0Integer, 11|128,58,
21571 OPC_RecordChild1,
21572 OPC_CheckPatternPredicate1,
21573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINTH_D_W),
21574 29|128,1, 1, 1,
21575 12,
21576 OPC_CheckChild0Integer, 6|128,58,
21577 OPC_RecordChild1,
21578 OPC_CheckPatternPredicate1,
21579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_L),
21580 29|128,1, 1, 1,
21581 12,
21582 OPC_CheckChild0Integer, 7|128,58,
21583 OPC_RecordChild1,
21584 OPC_CheckPatternPredicate1,
21585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_LU),
21586 29|128,1, 1, 1,
21587 14,
21588 OPC_CheckChild0Integer, 26|128,58,
21589 OPC_RecordChild1,
21590 OPC_RecordChild2,
21591 OPC_RecordChild3,
21592 OPC_CheckPatternPredicate1,
21593 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
21594 11|128,1, 3, 24,
21595 14,
21596 OPC_CheckChild0Integer, 30|128,58,
21597 OPC_RecordChild1,
21598 OPC_RecordChild2,
21599 OPC_RecordChild3,
21600 OPC_CheckPatternPredicate1,
21601 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
21602 11|128,1, 3, 24,
21603 14,
21604 OPC_CheckChild0Integer, 32|128,58,
21605 OPC_RecordChild1,
21606 OPC_RecordChild2,
21607 OPC_RecordChild3,
21608 OPC_CheckPatternPredicate1,
21609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
21610 11|128,1, 3, 24,
21611 14,
21612 OPC_CheckChild0Integer, 25|128,58,
21613 OPC_RecordChild1,
21614 OPC_RecordChild2,
21615 OPC_RecordChild3,
21616 OPC_CheckPatternPredicate1,
21617 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
21618 29|128,1, 3, 24,
21619 14,
21620 OPC_CheckChild0Integer, 29|128,58,
21621 OPC_RecordChild1,
21622 OPC_RecordChild2,
21623 OPC_RecordChild3,
21624 OPC_CheckPatternPredicate1,
21625 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
21626 29|128,1, 3, 24,
21627 14,
21628 OPC_CheckChild0Integer, 31|128,58,
21629 OPC_RecordChild1,
21630 OPC_RecordChild2,
21631 OPC_RecordChild3,
21632 OPC_CheckPatternPredicate1,
21633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
21634 29|128,1, 3, 24,
21635 13,
21636 OPC_CheckChild0Integer, 18|128,58,
21637 OPC_RecordChild1,
21638 OPC_RecordChild2,
21639 OPC_CheckPatternPredicate1,
21640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_S),
21641 11|128,1, 2, 9,
21642 13,
21643 OPC_CheckChild0Integer, 22|128,58,
21644 OPC_RecordChild1,
21645 OPC_RecordChild2,
21646 OPC_CheckPatternPredicate1,
21647 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_S),
21648 11|128,1, 2, 9,
21649 13,
21650 OPC_CheckChild0Integer, 20|128,58,
21651 OPC_RecordChild1,
21652 OPC_RecordChild2,
21653 OPC_CheckPatternPredicate1,
21654 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_S),
21655 11|128,1, 2, 9,
21656 13,
21657 OPC_CheckChild0Integer, 24|128,58,
21658 OPC_RecordChild1,
21659 OPC_RecordChild2,
21660 OPC_CheckPatternPredicate1,
21661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_S),
21662 11|128,1, 2, 9,
21663 13,
21664 OPC_CheckChild0Integer, 17|128,58,
21665 OPC_RecordChild1,
21666 OPC_RecordChild2,
21667 OPC_CheckPatternPredicate1,
21668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_D),
21669 29|128,1, 2, 9,
21670 13,
21671 OPC_CheckChild0Integer, 21|128,58,
21672 OPC_RecordChild1,
21673 OPC_RecordChild2,
21674 OPC_CheckPatternPredicate1,
21675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_D),
21676 29|128,1, 2, 9,
21677 13,
21678 OPC_CheckChild0Integer, 19|128,58,
21679 OPC_RecordChild1,
21680 OPC_RecordChild2,
21681 OPC_CheckPatternPredicate1,
21682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAXA_D),
21683 29|128,1, 2, 9,
21684 13,
21685 OPC_CheckChild0Integer, 23|128,58,
21686 OPC_RecordChild1,
21687 OPC_RecordChild2,
21688 OPC_CheckPatternPredicate1,
21689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMINA_D),
21690 29|128,1, 2, 9,
21691 13,
21692 OPC_CheckChild0Integer, 127|128,57,
21693 OPC_RecordChild1,
21694 OPC_RecordChild2,
21695 OPC_CheckPatternPredicate1,
21696 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_S_D),
21697 11|128,1, 2, 9,
21698 12,
21699 OPC_CheckChild0Integer, 14|128,58,
21700 OPC_RecordChild1,
21701 OPC_CheckPatternPredicate1,
21702 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_S),
21703 11|128,1, 1, 1,
21704 12,
21705 OPC_CheckChild0Integer, 56|128,58,
21706 OPC_RecordChild1,
21707 OPC_CheckPatternPredicate1,
21708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
21709 11|128,1, 1, 1,
21710 12,
21711 OPC_CheckChild0Integer, 34|128,58,
21712 OPC_RecordChild1,
21713 OPC_CheckPatternPredicate1,
21714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
21715 11|128,1, 1, 1,
21716 12,
21717 OPC_CheckChild0Integer, 48|128,58,
21718 OPC_RecordChild1,
21719 OPC_CheckPatternPredicate1,
21720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
21721 11|128,1, 1, 1,
21722 12,
21723 OPC_CheckChild0Integer, 38|128,58,
21724 OPC_RecordChild1,
21725 OPC_CheckPatternPredicate1,
21726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_S),
21727 11|128,1, 1, 1,
21728 12,
21729 OPC_CheckChild0Integer, 2|128,58,
21730 OPC_RecordChild1,
21731 OPC_CheckPatternPredicate1,
21732 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_D_S),
21733 29|128,1, 1, 1,
21734 12,
21735 OPC_CheckChild0Integer, 0|128,58,
21736 OPC_RecordChild1,
21737 OPC_CheckPatternPredicate1,
21738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_D_S),
21739 29|128,1, 1, 1,
21740 12,
21741 OPC_CheckChild0Integer, 42|128,58,
21742 OPC_RecordChild1,
21743 OPC_CheckPatternPredicate1,
21744 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
21745 11|128,1, 1, 1,
21746 12,
21747 OPC_CheckChild0Integer, 46|128,58,
21748 OPC_RecordChild1,
21749 OPC_CheckPatternPredicate1,
21750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
21751 11|128,1, 1, 1,
21752 12,
21753 OPC_CheckChild0Integer, 44|128,58,
21754 OPC_RecordChild1,
21755 OPC_CheckPatternPredicate1,
21756 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_S),
21757 11|128,1, 1, 1,
21758 12,
21759 OPC_CheckChild0Integer, 40|128,58,
21760 OPC_RecordChild1,
21761 OPC_CheckPatternPredicate1,
21762 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_S),
21763 11|128,1, 1, 1,
21764 12,
21765 OPC_CheckChild0Integer, 13|128,58,
21766 OPC_RecordChild1,
21767 OPC_CheckPatternPredicate1,
21768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFLOGB_D),
21769 29|128,1, 1, 1,
21770 12,
21771 OPC_CheckChild0Integer, 55|128,58,
21772 OPC_RecordChild1,
21773 OPC_CheckPatternPredicate1,
21774 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
21775 29|128,1, 1, 1,
21776 12,
21777 OPC_CheckChild0Integer, 33|128,58,
21778 OPC_RecordChild1,
21779 OPC_CheckPatternPredicate1,
21780 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
21781 29|128,1, 1, 1,
21782 12,
21783 OPC_CheckChild0Integer, 47|128,58,
21784 OPC_RecordChild1,
21785 OPC_CheckPatternPredicate1,
21786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
21787 29|128,1, 1, 1,
21788 12,
21789 OPC_CheckChild0Integer, 37|128,58,
21790 OPC_RecordChild1,
21791 OPC_CheckPatternPredicate1,
21792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINT_D),
21793 29|128,1, 1, 1,
21794 12,
21795 OPC_CheckChild0Integer, 41|128,58,
21796 OPC_RecordChild1,
21797 OPC_CheckPatternPredicate1,
21798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
21799 29|128,1, 1, 1,
21800 12,
21801 OPC_CheckChild0Integer, 45|128,58,
21802 OPC_RecordChild1,
21803 OPC_CheckPatternPredicate1,
21804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
21805 29|128,1, 1, 1,
21806 12,
21807 OPC_CheckChild0Integer, 43|128,58,
21808 OPC_RecordChild1,
21809 OPC_CheckPatternPredicate1,
21810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_D),
21811 29|128,1, 1, 1,
21812 12,
21813 OPC_CheckChild0Integer, 39|128,58,
21814 OPC_RecordChild1,
21815 OPC_CheckPatternPredicate1,
21816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_D),
21817 29|128,1, 1, 1,
21818 12,
21819 OPC_CheckChild0Integer, 36|128,58,
21820 OPC_RecordChild1,
21821 OPC_CheckPatternPredicate7,
21822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_S),
21823 11|128,1, 1, 1,
21824 12,
21825 OPC_CheckChild0Integer, 50|128,58,
21826 OPC_RecordChild1,
21827 OPC_CheckPatternPredicate7,
21828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_S),
21829 11|128,1, 1, 1,
21830 12,
21831 OPC_CheckChild0Integer, 35|128,58,
21832 OPC_RecordChild1,
21833 OPC_CheckPatternPredicate7,
21834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_D),
21835 29|128,1, 1, 1,
21836 12,
21837 OPC_CheckChild0Integer, 49|128,58,
21838 OPC_RecordChild1,
21839 OPC_CheckPatternPredicate7,
21840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_D),
21841 29|128,1, 1, 1,
21842 14,
21843 OPC_CheckChild0Integer, 93|128,50,
21844 OPC_RecordChild1,
21845 OPC_CheckPatternPredicate0,
21846 OPC_EmitIntegerI32, LoongArch::sub_128,
21847 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21848 11|128,1, 2, 9,
21849 14,
21850 OPC_CheckChild0Integer, 92|128,50,
21851 OPC_RecordChild1,
21852 OPC_CheckPatternPredicate0,
21853 OPC_EmitIntegerI32, LoongArch::sub_128,
21854 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21855 29|128,1, 2, 9,
21856 13,
21857 OPC_CheckChild0Integer, 46|128,52,
21858 OPC_RecordChild1,
21859 OPC_RecordChild2,
21860 OPC_CheckPatternPredicate0,
21861 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_L),
21862 15|128,1, 2, 9,
21863 12,
21864 OPC_CheckChild0Integer, 41|128,52,
21865 OPC_RecordChild1,
21866 OPC_CheckPatternPredicate0,
21867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_S_H),
21868 15|128,1, 1, 1,
21869 12,
21870 OPC_CheckChild0Integer, 39|128,52,
21871 OPC_RecordChild1,
21872 OPC_CheckPatternPredicate0,
21873 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_S_H),
21874 15|128,1, 1, 1,
21875 12,
21876 OPC_CheckChild0Integer, 47|128,52,
21877 OPC_RecordChild1,
21878 OPC_CheckPatternPredicate0,
21879 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_W),
21880 15|128,1, 1, 1,
21881 12,
21882 OPC_CheckChild0Integer, 48|128,52,
21883 OPC_RecordChild1,
21884 OPC_CheckPatternPredicate0,
21885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_WU),
21886 15|128,1, 1, 1,
21887 12,
21888 OPC_CheckChild0Integer, 50|128,52,
21889 OPC_RecordChild1,
21890 OPC_CheckPatternPredicate0,
21891 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTL_D_W),
21892 31|128,1, 1, 1,
21893 12,
21894 OPC_CheckChild0Integer, 49|128,52,
21895 OPC_RecordChild1,
21896 OPC_CheckPatternPredicate0,
21897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINTH_D_W),
21898 31|128,1, 1, 1,
21899 12,
21900 OPC_CheckChild0Integer, 44|128,52,
21901 OPC_RecordChild1,
21902 OPC_CheckPatternPredicate0,
21903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
21904 31|128,1, 1, 1,
21905 12,
21906 OPC_CheckChild0Integer, 45|128,52,
21907 OPC_RecordChild1,
21908 OPC_CheckPatternPredicate0,
21909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
21910 31|128,1, 1, 1,
21911 14,
21912 OPC_CheckChild0Integer, 64|128,52,
21913 OPC_RecordChild1,
21914 OPC_RecordChild2,
21915 OPC_RecordChild3,
21916 OPC_CheckPatternPredicate0,
21917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
21918 15|128,1, 3, 24,
21919 14,
21920 OPC_CheckChild0Integer, 68|128,52,
21921 OPC_RecordChild1,
21922 OPC_RecordChild2,
21923 OPC_RecordChild3,
21924 OPC_CheckPatternPredicate0,
21925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
21926 15|128,1, 3, 24,
21927 14,
21928 OPC_CheckChild0Integer, 70|128,52,
21929 OPC_RecordChild1,
21930 OPC_RecordChild2,
21931 OPC_RecordChild3,
21932 OPC_CheckPatternPredicate0,
21933 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
21934 15|128,1, 3, 24,
21935 14,
21936 OPC_CheckChild0Integer, 63|128,52,
21937 OPC_RecordChild1,
21938 OPC_RecordChild2,
21939 OPC_RecordChild3,
21940 OPC_CheckPatternPredicate0,
21941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
21942 31|128,1, 3, 24,
21943 14,
21944 OPC_CheckChild0Integer, 67|128,52,
21945 OPC_RecordChild1,
21946 OPC_RecordChild2,
21947 OPC_RecordChild3,
21948 OPC_CheckPatternPredicate0,
21949 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
21950 31|128,1, 3, 24,
21951 14,
21952 OPC_CheckChild0Integer, 69|128,52,
21953 OPC_RecordChild1,
21954 OPC_RecordChild2,
21955 OPC_RecordChild3,
21956 OPC_CheckPatternPredicate0,
21957 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
21958 31|128,1, 3, 24,
21959 13,
21960 OPC_CheckChild0Integer, 56|128,52,
21961 OPC_RecordChild1,
21962 OPC_RecordChild2,
21963 OPC_CheckPatternPredicate0,
21964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_S),
21965 15|128,1, 2, 9,
21966 13,
21967 OPC_CheckChild0Integer, 60|128,52,
21968 OPC_RecordChild1,
21969 OPC_RecordChild2,
21970 OPC_CheckPatternPredicate0,
21971 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_S),
21972 15|128,1, 2, 9,
21973 13,
21974 OPC_CheckChild0Integer, 58|128,52,
21975 OPC_RecordChild1,
21976 OPC_RecordChild2,
21977 OPC_CheckPatternPredicate0,
21978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_S),
21979 15|128,1, 2, 9,
21980 13,
21981 OPC_CheckChild0Integer, 62|128,52,
21982 OPC_RecordChild1,
21983 OPC_RecordChild2,
21984 OPC_CheckPatternPredicate0,
21985 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_S),
21986 15|128,1, 2, 9,
21987 13,
21988 OPC_CheckChild0Integer, 55|128,52,
21989 OPC_RecordChild1,
21990 OPC_RecordChild2,
21991 OPC_CheckPatternPredicate0,
21992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_D),
21993 31|128,1, 2, 9,
21994 13,
21995 OPC_CheckChild0Integer, 59|128,52,
21996 OPC_RecordChild1,
21997 OPC_RecordChild2,
21998 OPC_CheckPatternPredicate0,
21999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_D),
22000 31|128,1, 2, 9,
22001 13,
22002 OPC_CheckChild0Integer, 57|128,52,
22003 OPC_RecordChild1,
22004 OPC_RecordChild2,
22005 OPC_CheckPatternPredicate0,
22006 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAXA_D),
22007 31|128,1, 2, 9,
22008 13,
22009 OPC_CheckChild0Integer, 61|128,52,
22010 OPC_RecordChild1,
22011 OPC_RecordChild2,
22012 OPC_CheckPatternPredicate0,
22013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMINA_D),
22014 31|128,1, 2, 9,
22015 13,
22016 OPC_CheckChild0Integer, 37|128,52,
22017 OPC_RecordChild1,
22018 OPC_RecordChild2,
22019 OPC_CheckPatternPredicate0,
22020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
22021 15|128,1, 2, 9,
22022 12,
22023 OPC_CheckChild0Integer, 52|128,52,
22024 OPC_RecordChild1,
22025 OPC_CheckPatternPredicate0,
22026 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_S),
22027 15|128,1, 1, 1,
22028 12,
22029 OPC_CheckChild0Integer, 94|128,52,
22030 OPC_RecordChild1,
22031 OPC_CheckPatternPredicate0,
22032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
22033 15|128,1, 1, 1,
22034 12,
22035 OPC_CheckChild0Integer, 72|128,52,
22036 OPC_RecordChild1,
22037 OPC_CheckPatternPredicate0,
22038 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
22039 15|128,1, 1, 1,
22040 12,
22041 OPC_CheckChild0Integer, 86|128,52,
22042 OPC_RecordChild1,
22043 OPC_CheckPatternPredicate0,
22044 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
22045 15|128,1, 1, 1,
22046 12,
22047 OPC_CheckChild0Integer, 76|128,52,
22048 OPC_RecordChild1,
22049 OPC_CheckPatternPredicate0,
22050 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_S),
22051 15|128,1, 1, 1,
22052 12,
22053 OPC_CheckChild0Integer, 40|128,52,
22054 OPC_RecordChild1,
22055 OPC_CheckPatternPredicate0,
22056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_D_S),
22057 31|128,1, 1, 1,
22058 12,
22059 OPC_CheckChild0Integer, 38|128,52,
22060 OPC_RecordChild1,
22061 OPC_CheckPatternPredicate0,
22062 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_D_S),
22063 31|128,1, 1, 1,
22064 12,
22065 OPC_CheckChild0Integer, 80|128,52,
22066 OPC_RecordChild1,
22067 OPC_CheckPatternPredicate0,
22068 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_S),
22069 15|128,1, 1, 1,
22070 12,
22071 OPC_CheckChild0Integer, 84|128,52,
22072 OPC_RecordChild1,
22073 OPC_CheckPatternPredicate0,
22074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_S),
22075 15|128,1, 1, 1,
22076 12,
22077 OPC_CheckChild0Integer, 82|128,52,
22078 OPC_RecordChild1,
22079 OPC_CheckPatternPredicate0,
22080 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_S),
22081 15|128,1, 1, 1,
22082 12,
22083 OPC_CheckChild0Integer, 78|128,52,
22084 OPC_RecordChild1,
22085 OPC_CheckPatternPredicate0,
22086 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_S),
22087 15|128,1, 1, 1,
22088 12,
22089 OPC_CheckChild0Integer, 51|128,52,
22090 OPC_RecordChild1,
22091 OPC_CheckPatternPredicate0,
22092 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFLOGB_D),
22093 31|128,1, 1, 1,
22094 12,
22095 OPC_CheckChild0Integer, 93|128,52,
22096 OPC_RecordChild1,
22097 OPC_CheckPatternPredicate0,
22098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
22099 31|128,1, 1, 1,
22100 12,
22101 OPC_CheckChild0Integer, 71|128,52,
22102 OPC_RecordChild1,
22103 OPC_CheckPatternPredicate0,
22104 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
22105 31|128,1, 1, 1,
22106 12,
22107 OPC_CheckChild0Integer, 85|128,52,
22108 OPC_RecordChild1,
22109 OPC_CheckPatternPredicate0,
22110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
22111 31|128,1, 1, 1,
22112 12,
22113 OPC_CheckChild0Integer, 75|128,52,
22114 OPC_RecordChild1,
22115 OPC_CheckPatternPredicate0,
22116 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINT_D),
22117 31|128,1, 1, 1,
22118 12,
22119 OPC_CheckChild0Integer, 79|128,52,
22120 OPC_RecordChild1,
22121 OPC_CheckPatternPredicate0,
22122 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_D),
22123 31|128,1, 1, 1,
22124 12,
22125 OPC_CheckChild0Integer, 83|128,52,
22126 OPC_RecordChild1,
22127 OPC_CheckPatternPredicate0,
22128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_D),
22129 31|128,1, 1, 1,
22130 12,
22131 OPC_CheckChild0Integer, 81|128,52,
22132 OPC_RecordChild1,
22133 OPC_CheckPatternPredicate0,
22134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_D),
22135 31|128,1, 1, 1,
22136 12,
22137 OPC_CheckChild0Integer, 77|128,52,
22138 OPC_RecordChild1,
22139 OPC_CheckPatternPredicate0,
22140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_D),
22141 31|128,1, 1, 1,
22142 12,
22143 OPC_CheckChild0Integer, 74|128,52,
22144 OPC_RecordChild1,
22145 OPC_CheckPatternPredicate7,
22146 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_S),
22147 15|128,1, 1, 1,
22148 12,
22149 OPC_CheckChild0Integer, 88|128,52,
22150 OPC_RecordChild1,
22151 OPC_CheckPatternPredicate7,
22152 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_S),
22153 15|128,1, 1, 1,
22154 12,
22155 OPC_CheckChild0Integer, 73|128,52,
22156 OPC_RecordChild1,
22157 OPC_CheckPatternPredicate7,
22158 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_D),
22159 31|128,1, 1, 1,
22160 12,
22161 OPC_CheckChild0Integer, 87|128,52,
22162 OPC_RecordChild1,
22163 OPC_CheckPatternPredicate7,
22164 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_D),
22165 31|128,1, 1, 1,
22166 20,
22167 OPC_CheckChild0Integer, 84|128,50,
22168 OPC_RecordChild1,
22169 OPC_CheckPatternPredicate0,
22170 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22171 15|128,1, 0,
22172 OPC_EmitIntegerI32, LoongArch::sub_128,
22173 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22174 15|128,1, 3, 21,
22175 20,
22176 OPC_CheckChild0Integer, 83|128,50,
22177 OPC_RecordChild1,
22178 OPC_CheckPatternPredicate0,
22179 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22180 31|128,1, 0,
22181 OPC_EmitIntegerI32, LoongArch::sub_128,
22182 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22183 31|128,1, 3, 21,
22184 27,
22185 OPC_CheckChild0Integer, 90|128,50,
22186 OPC_RecordChild1,
22187 OPC_CheckPatternPredicate0,
22188 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22189 MVT::v32i8, 0,
22190 OPC_EmitIntegerByHwMode0, 1,
22191 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
22192 MVT::v32i8, 3, 21,
22193 OPC_EmitIntegerI32, LoongArch::sub_128,
22194 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22195 11|128,1, 2, 76,
22196 27,
22197 OPC_CheckChild0Integer, 89|128,50,
22198 OPC_RecordChild1,
22199 OPC_CheckPatternPredicate0,
22200 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22201 MVT::v32i8, 0,
22202 OPC_EmitIntegerByHwMode0, 1,
22203 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
22204 MVT::v32i8, 3, 21,
22205 OPC_EmitIntegerI32, LoongArch::sub_128,
22206 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
22207 29|128,1, 2, 76,
22208 28,
22209 OPC_CheckChild0Integer, 99|128,50,
22210 OPC_RecordChild1,
22211 OPC_RecordChild2,
22212 OPC_CheckPatternPredicate0,
22213 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22214 MVT::v32i8, 0,
22215 OPC_EmitIntegerI32, LoongArch::sub_128,
22216 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22217 MVT::v32i8, 3, 45,
22218 OPC_EmitIntegerByHwMode0, 48,
22219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
22220 15|128,1, 3, 92,
22221 28,
22222 OPC_CheckChild0Integer, 98|128,50,
22223 OPC_RecordChild1,
22224 OPC_RecordChild2,
22225 OPC_CheckPatternPredicate0,
22226 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22227 MVT::v32i8, 0,
22228 OPC_EmitIntegerI32, LoongArch::sub_128,
22229 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22230 MVT::v32i8, 3, 45,
22231 OPC_EmitIntegerByHwMode0, 48,
22232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
22233 31|128,1, 3, 92,
22234 28,
22235 OPC_CheckChild0Integer, 96|128,50,
22236 OPC_RecordChild1,
22237 OPC_RecordChild2,
22238 OPC_CheckPatternPredicate0,
22239 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22240 MVT::v32i8, 0,
22241 OPC_EmitIntegerI32, LoongArch::sub_128,
22242 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22243 MVT::v32i8, 3, 45,
22244 OPC_EmitIntegerByHwMode0, 2,
22245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
22246 15|128,1, 3, 92,
22247 28,
22248 OPC_CheckChild0Integer, 95|128,50,
22249 OPC_RecordChild1,
22250 OPC_RecordChild2,
22251 OPC_CheckPatternPredicate0,
22252 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
22253 MVT::v32i8, 0,
22254 OPC_EmitIntegerI32, LoongArch::sub_128,
22255 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
22256 MVT::v32i8, 3, 45,
22257 OPC_EmitIntegerByHwMode0, 2,
22258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
22259 31|128,1, 3, 92,
22260 0,
22261 118|128,5, TARGET_VAL(LoongArchISD::BR_CC),
22262 OPC_RecordNode,
22263 OPC_Scope, 1|128,4,
22264 OPC_MoveChild1,
22265 OPC_SwitchOpcode , 123|128,1, TARGET_VAL(LoongArchISD::VANYNONZERO),
22266 OPC_RecordChild0,
22267 OPC_Scope, 30,
22268 OPC_CheckChild0Type, MVT::v16i8,
22269 OPC_CheckTypeByHwMode0,
22270 OPC_MoveParent,
22271 OPC_CheckChild2Integer, 0,
22272 OPC_MoveChild3,
22273 OPC_CheckCondCode, ISD::SETNE,
22274 OPC_MoveSibling4,
22275 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22276 OPC_RecordNode,
22277 OPC_MoveParent,
22278 OPC_CheckPatternPredicate1,
22279 OPC_EmitMergeInputChains1_0,
22280 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETNEZ_V), 0,
22281 1, 0, 1, 10,
22282 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22283 2, 28,
22284 30,
22285 OPC_CheckChild0Type, MVT::v8i16,
22286 OPC_CheckTypeByHwMode0,
22287 OPC_MoveParent,
22288 OPC_CheckChild2Integer, 0,
22289 OPC_MoveChild3,
22290 OPC_CheckCondCode, ISD::SETNE,
22291 OPC_MoveSibling4,
22292 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22293 OPC_RecordNode,
22294 OPC_MoveParent,
22295 OPC_CheckPatternPredicate1,
22296 OPC_EmitMergeInputChains1_0,
22297 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETNEZ_V), 0,
22298 1, 0, 1, 10,
22299 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22300 2, 28,
22301 30,
22302 OPC_CheckChild0Type, MVT::v4i32,
22303 OPC_CheckTypeByHwMode0,
22304 OPC_MoveParent,
22305 OPC_CheckChild2Integer, 0,
22306 OPC_MoveChild3,
22307 OPC_CheckCondCode, ISD::SETNE,
22308 OPC_MoveSibling4,
22309 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22310 OPC_RecordNode,
22311 OPC_MoveParent,
22312 OPC_CheckPatternPredicate1,
22313 OPC_EmitMergeInputChains1_0,
22314 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETNEZ_V), 0,
22315 1, 0, 1, 10,
22316 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22317 2, 28,
22318 30,
22319 OPC_CheckChild0Type, MVT::v2i64,
22320 OPC_CheckTypeByHwMode0,
22321 OPC_MoveParent,
22322 OPC_CheckChild2Integer, 0,
22323 OPC_MoveChild3,
22324 OPC_CheckCondCode, ISD::SETNE,
22325 OPC_MoveSibling4,
22326 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22327 OPC_RecordNode,
22328 OPC_MoveParent,
22329 OPC_CheckPatternPredicate1,
22330 OPC_EmitMergeInputChains1_0,
22331 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETNEZ_V), 0,
22332 1, 0, 1, 10,
22333 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22334 2, 28,
22335 30,
22336 OPC_CheckChild0Type, MVT::v32i8,
22337 OPC_CheckTypeByHwMode0,
22338 OPC_MoveParent,
22339 OPC_CheckChild2Integer, 0,
22340 OPC_MoveChild3,
22341 OPC_CheckCondCode, ISD::SETNE,
22342 OPC_MoveSibling4,
22343 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22344 OPC_RecordNode,
22345 OPC_MoveParent,
22346 OPC_CheckPatternPredicate0,
22347 OPC_EmitMergeInputChains1_0,
22348 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETNEZ_V), 0,
22349 1, 0, 1, 10,
22350 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22351 2, 28,
22352 30,
22353 OPC_CheckChild0Type, MVT::v16i16,
22354 OPC_CheckTypeByHwMode0,
22355 OPC_MoveParent,
22356 OPC_CheckChild2Integer, 0,
22357 OPC_MoveChild3,
22358 OPC_CheckCondCode, ISD::SETNE,
22359 OPC_MoveSibling4,
22360 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22361 OPC_RecordNode,
22362 OPC_MoveParent,
22363 OPC_CheckPatternPredicate0,
22364 OPC_EmitMergeInputChains1_0,
22365 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETNEZ_V), 0,
22366 1, 0, 1, 10,
22367 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22368 2, 28,
22369 30,
22370 OPC_CheckChild0Type, MVT::v8i32,
22371 OPC_CheckTypeByHwMode0,
22372 OPC_MoveParent,
22373 OPC_CheckChild2Integer, 0,
22374 OPC_MoveChild3,
22375 OPC_CheckCondCode, ISD::SETNE,
22376 OPC_MoveSibling4,
22377 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22378 OPC_RecordNode,
22379 OPC_MoveParent,
22380 OPC_CheckPatternPredicate0,
22381 OPC_EmitMergeInputChains1_0,
22382 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETNEZ_V), 0,
22383 1, 0, 1, 10,
22384 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22385 2, 28,
22386 30,
22387 OPC_CheckChild0Type, MVT::v4i64,
22388 OPC_CheckTypeByHwMode0,
22389 OPC_MoveParent,
22390 OPC_CheckChild2Integer, 0,
22391 OPC_MoveChild3,
22392 OPC_CheckCondCode, ISD::SETNE,
22393 OPC_MoveSibling4,
22394 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22395 OPC_RecordNode,
22396 OPC_MoveParent,
22397 OPC_CheckPatternPredicate0,
22398 OPC_EmitMergeInputChains1_0,
22399 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETNEZ_V), 0,
22400 1, 0, 1, 10,
22401 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22402 2, 28,
22403 0,
22404 123|128,1, TARGET_VAL(LoongArchISD::VALLZERO),
22405 OPC_RecordChild0,
22406 OPC_Scope, 30,
22407 OPC_CheckChild0Type, MVT::v16i8,
22408 OPC_CheckTypeByHwMode0,
22409 OPC_MoveParent,
22410 OPC_CheckChild2Integer, 0,
22411 OPC_MoveChild3,
22412 OPC_CheckCondCode, ISD::SETNE,
22413 OPC_MoveSibling4,
22414 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22415 OPC_RecordNode,
22416 OPC_MoveParent,
22417 OPC_CheckPatternPredicate1,
22418 OPC_EmitMergeInputChains1_0,
22419 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETEQZ_V), 0,
22420 1, 0, 1, 10,
22421 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22422 2, 28,
22423 30,
22424 OPC_CheckChild0Type, MVT::v8i16,
22425 OPC_CheckTypeByHwMode0,
22426 OPC_MoveParent,
22427 OPC_CheckChild2Integer, 0,
22428 OPC_MoveChild3,
22429 OPC_CheckCondCode, ISD::SETNE,
22430 OPC_MoveSibling4,
22431 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22432 OPC_RecordNode,
22433 OPC_MoveParent,
22434 OPC_CheckPatternPredicate1,
22435 OPC_EmitMergeInputChains1_0,
22436 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETEQZ_V), 0,
22437 1, 0, 1, 10,
22438 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22439 2, 28,
22440 30,
22441 OPC_CheckChild0Type, MVT::v4i32,
22442 OPC_CheckTypeByHwMode0,
22443 OPC_MoveParent,
22444 OPC_CheckChild2Integer, 0,
22445 OPC_MoveChild3,
22446 OPC_CheckCondCode, ISD::SETNE,
22447 OPC_MoveSibling4,
22448 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22449 OPC_RecordNode,
22450 OPC_MoveParent,
22451 OPC_CheckPatternPredicate1,
22452 OPC_EmitMergeInputChains1_0,
22453 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETEQZ_V), 0,
22454 1, 0, 1, 10,
22455 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22456 2, 28,
22457 30,
22458 OPC_CheckChild0Type, MVT::v2i64,
22459 OPC_CheckTypeByHwMode0,
22460 OPC_MoveParent,
22461 OPC_CheckChild2Integer, 0,
22462 OPC_MoveChild3,
22463 OPC_CheckCondCode, ISD::SETNE,
22464 OPC_MoveSibling4,
22465 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22466 OPC_RecordNode,
22467 OPC_MoveParent,
22468 OPC_CheckPatternPredicate1,
22469 OPC_EmitMergeInputChains1_0,
22470 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETEQZ_V), 0,
22471 1, 0, 1, 10,
22472 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22473 2, 28,
22474 30,
22475 OPC_CheckChild0Type, MVT::v32i8,
22476 OPC_CheckTypeByHwMode0,
22477 OPC_MoveParent,
22478 OPC_CheckChild2Integer, 0,
22479 OPC_MoveChild3,
22480 OPC_CheckCondCode, ISD::SETNE,
22481 OPC_MoveSibling4,
22482 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22483 OPC_RecordNode,
22484 OPC_MoveParent,
22485 OPC_CheckPatternPredicate0,
22486 OPC_EmitMergeInputChains1_0,
22487 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETEQZ_V), 0,
22488 1, 0, 1, 10,
22489 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22490 2, 28,
22491 30,
22492 OPC_CheckChild0Type, MVT::v16i16,
22493 OPC_CheckTypeByHwMode0,
22494 OPC_MoveParent,
22495 OPC_CheckChild2Integer, 0,
22496 OPC_MoveChild3,
22497 OPC_CheckCondCode, ISD::SETNE,
22498 OPC_MoveSibling4,
22499 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22500 OPC_RecordNode,
22501 OPC_MoveParent,
22502 OPC_CheckPatternPredicate0,
22503 OPC_EmitMergeInputChains1_0,
22504 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETEQZ_V), 0,
22505 1, 0, 1, 10,
22506 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22507 2, 28,
22508 30,
22509 OPC_CheckChild0Type, MVT::v8i32,
22510 OPC_CheckTypeByHwMode0,
22511 OPC_MoveParent,
22512 OPC_CheckChild2Integer, 0,
22513 OPC_MoveChild3,
22514 OPC_CheckCondCode, ISD::SETNE,
22515 OPC_MoveSibling4,
22516 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22517 OPC_RecordNode,
22518 OPC_MoveParent,
22519 OPC_CheckPatternPredicate0,
22520 OPC_EmitMergeInputChains1_0,
22521 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETEQZ_V), 0,
22522 1, 0, 1, 10,
22523 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22524 2, 28,
22525 30,
22526 OPC_CheckChild0Type, MVT::v4i64,
22527 OPC_CheckTypeByHwMode0,
22528 OPC_MoveParent,
22529 OPC_CheckChild2Integer, 0,
22530 OPC_MoveChild3,
22531 OPC_CheckCondCode, ISD::SETNE,
22532 OPC_MoveSibling4,
22533 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22534 OPC_RecordNode,
22535 OPC_MoveParent,
22536 OPC_CheckPatternPredicate0,
22537 OPC_EmitMergeInputChains1_0,
22538 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETEQZ_V), 0,
22539 1, 0, 1, 10,
22540 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BCNEZ),
22541 2, 28,
22542 0,
22543 0,
22544 110|128,1,
22545 OPC_RecordChild1,
22546 OPC_CheckChild1TypeByHwMode0,
22547 OPC_Scope, 9|128,1,
22548 OPC_CheckChild2Integer, 0,
22549 OPC_MoveChild3,
22550 OPC_Scope, 29,
22551 OPC_CheckCondCode, ISD::SETEQ,
22552 OPC_MoveSibling4,
22553 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22554 OPC_RecordNode,
22555 OPC_MoveParent,
22556 OPC_Scope, 8,
22557 OPC_CheckPatternPredicate, 11,
22558 OPC_EmitMergeInputChains1_0,
22559 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQZ),
22560 2, 25,
22561 9,
22562 OPC_EmitMergeInputChains1_0,
22563 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
22564 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
22565 3, 27,
22566 0,
22567 29,
22568 OPC_CheckCondCode, ISD::SETNE,
22569 OPC_MoveSibling4,
22570 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22571 OPC_RecordNode,
22572 OPC_MoveParent,
22573 OPC_Scope, 8,
22574 OPC_CheckPatternPredicate, 11,
22575 OPC_EmitMergeInputChains1_0,
22576 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNEZ),
22577 2, 25,
22578 9,
22579 OPC_EmitMergeInputChains1_0,
22580 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
22581 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
22582 3, 27,
22583 0,
22584 17,
22585 OPC_CheckCondCode, ISD::SETLT,
22586 OPC_MoveSibling4,
22587 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22588 OPC_RecordNode,
22589 OPC_MoveParent,
22590 OPC_EmitMergeInputChains1_0,
22591 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
22592 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
22593 3, 27,
22594 17,
22595 OPC_CheckCondCode, ISD::SETGE,
22596 OPC_MoveSibling4,
22597 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22598 OPC_RecordNode,
22599 OPC_MoveParent,
22600 OPC_EmitMergeInputChains1_0,
22601 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
22602 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
22603 3, 27,
22604 17,
22605 OPC_CheckCondCode, ISD::SETULT,
22606 OPC_MoveSibling4,
22607 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22608 OPC_RecordNode,
22609 OPC_MoveParent,
22610 OPC_EmitMergeInputChains1_0,
22611 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
22612 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
22613 3, 27,
22614 17,
22615 OPC_CheckCondCode, ISD::SETUGE,
22616 OPC_MoveSibling4,
22617 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22618 OPC_RecordNode,
22619 OPC_MoveParent,
22620 OPC_EmitMergeInputChains1_0,
22621 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
22622 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
22623 3, 27,
22624 0,
22625 94,
22626 OPC_RecordChild2,
22627 OPC_MoveChild3,
22628 OPC_Scope, 14,
22629 OPC_CheckCondCode, ISD::SETEQ,
22630 OPC_MoveSibling4,
22631 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22632 OPC_RecordNode,
22633 OPC_MoveParent,
22634 OPC_EmitMergeInputChains1_0,
22635 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BEQ),
22636 3, 51,
22637 14,
22638 OPC_CheckCondCode, ISD::SETNE,
22639 OPC_MoveSibling4,
22640 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22641 OPC_RecordNode,
22642 OPC_MoveParent,
22643 OPC_EmitMergeInputChains1_0,
22644 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BNE),
22645 3, 51,
22646 14,
22647 OPC_CheckCondCode, ISD::SETLT,
22648 OPC_MoveSibling4,
22649 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22650 OPC_RecordNode,
22651 OPC_MoveParent,
22652 OPC_EmitMergeInputChains1_0,
22653 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLT),
22654 3, 51,
22655 14,
22656 OPC_CheckCondCode, ISD::SETGE,
22657 OPC_MoveSibling4,
22658 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22659 OPC_RecordNode,
22660 OPC_MoveParent,
22661 OPC_EmitMergeInputChains1_0,
22662 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGE),
22663 3, 51,
22664 14,
22665 OPC_CheckCondCode, ISD::SETULT,
22666 OPC_MoveSibling4,
22667 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22668 OPC_RecordNode,
22669 OPC_MoveParent,
22670 OPC_EmitMergeInputChains1_0,
22671 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BLTU),
22672 3, 51,
22673 14,
22674 OPC_CheckCondCode, ISD::SETUGE,
22675 OPC_MoveSibling4,
22676 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
22677 OPC_RecordNode,
22678 OPC_MoveParent,
22679 OPC_EmitMergeInputChains1_0,
22680 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BGEU),
22681 3, 51,
22682 0,
22683 0,
22684 0,
22685 37, TARGET_VAL(ISD::BRIND),
22686 OPC_RecordNode,
22687 OPC_Scope, 22,
22688 OPC_MoveChild1,
22689 OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
22690 OPC_RecordChild0,
22691 OPC_RecordChild1,
22692 OPC_MoveChild1,
22693 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22694 OPC_CheckPredicate, 66,
22695 OPC_MoveParent,
22696 OPC_CheckTypeByHwMode0,
22697 OPC_MoveParent,
22698 OPC_EmitMergeInputChains1_0,
22699 OPC_EmitConvertToTarget2,
22700 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
22701 2, 43,
22702 10,
22703 OPC_RecordChild1,
22704 OPC_CheckChild1TypeByHwMode0,
22705 OPC_EmitMergeInputChains1_0,
22706 OPC_EmitIntegerByHwMode0, 0,
22707 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBRIND),
22708 2, 25,
22709 0,
22710 76, TARGET_VAL(LoongArchISD::MOVFR2GR_S_LA64),
22711 OPC_Scope, 59,
22712 OPC_MoveChild0,
22713 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
22714 OPC_RecordChild0,
22715 OPC_Scope, 25,
22716 OPC_CheckChild0Type, 11|128,1,
22717 OPC_RecordChild1,
22718 OPC_MoveChild1,
22719 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22720 OPC_CheckPredicate, 18,
22721 OPC_CheckTypeByHwMode0,
22722 OPC_MoveParent,
22723 OPC_MoveParent,
22724 OPC_CheckTypeByHwMode, 1,
22725 OPC_CheckPatternPredicate1,
22726 OPC_EmitConvertToTarget1,
22727 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_W), 0,
22728 1, 1, 2, 22,
22729 25,
22730 OPC_CheckChild0Type, 15|128,1,
22731 OPC_RecordChild1,
22732 OPC_MoveChild1,
22733 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22734 OPC_CheckPredicate, 11,
22735 OPC_CheckTypeByHwMode0,
22736 OPC_MoveParent,
22737 OPC_MoveParent,
22738 OPC_CheckTypeByHwMode, 1,
22739 OPC_CheckPatternPredicate0,
22740 OPC_EmitConvertToTarget1,
22741 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_W), 0,
22742 1, 1, 2, 22,
22743 0,
22744 13,
22745 OPC_RecordChild0,
22746 OPC_CheckTypeByHwMode, 1,
22747 OPC_CheckPatternPredicate, 12,
22748 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVFR2GR_S), 0,
22749 1, 1, 1, 1,
22750 0,
22751 120, TARGET_VAL(ISD::BITCAST),
22752 OPC_Scope, 63,
22753 OPC_MoveChild0,
22754 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
22755 OPC_RecordChild0,
22756 OPC_Scope, 27,
22757 OPC_CheckChild0Type, 29|128,1,
22758 OPC_RecordChild1,
22759 OPC_MoveChild1,
22760 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22761 OPC_CheckPredicate, 25,
22762 OPC_CheckTypeByHwMode0,
22763 OPC_MoveParent,
22764 OPC_CheckType, MVT::f64,
22765 OPC_MoveParent,
22766 OPC_CheckTypeByHwMode, 1,
22767 OPC_CheckPatternPredicate1,
22768 OPC_EmitConvertToTarget1,
22769 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_D), 0,
22770 1, 1, 2, 22,
22771 27,
22772 OPC_CheckChild0Type, 31|128,1,
22773 OPC_RecordChild1,
22774 OPC_MoveChild1,
22775 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22776 OPC_CheckPredicate, 18,
22777 OPC_CheckTypeByHwMode0,
22778 OPC_MoveParent,
22779 OPC_CheckType, MVT::f64,
22780 OPC_MoveParent,
22781 OPC_CheckTypeByHwMode, 1,
22782 OPC_CheckPatternPredicate0,
22783 OPC_EmitConvertToTarget1,
22784 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_D), 0,
22785 1, 1, 2, 22,
22786 0,
22787 53,
22788 OPC_RecordChild0,
22789 OPC_Scope, 11,
22790 OPC_CheckChild0Type, MVT::f32,
22791 OPC_CheckTypeI32,
22792 OPC_CheckPatternPredicate, 14,
22793 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVFR2GR_S),
22794 MVT::i32, 1, 1,
22795 13,
22796 OPC_CheckChild0Type, MVT::f64,
22797 OPC_CheckTypeByHwMode0,
22798 OPC_CheckPatternPredicate, 9,
22799 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVFR2GR_D), 0,
22800 1, 0, 1, 1,
22801 11,
22802 OPC_CheckChild0TypeI32,
22803 OPC_CheckType, MVT::f32,
22804 OPC_CheckPatternPredicate, 14,
22805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
22806 MVT::f32, 1, 1,
22807 11,
22808 OPC_CheckChild0TypeByHwMode0,
22809 OPC_CheckType, MVT::f64,
22810 OPC_CheckPatternPredicate, 9,
22811 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
22812 MVT::f64, 1, 1,
22813 0,
22814 0,
22815 19, TARGET_VAL(ISD::CALLSEQ_START),
22816 OPC_RecordNode,
22817 OPC_RecordChild1,
22818 OPC_MoveChild1,
22819 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22820 OPC_MoveSibling2,
22821 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22822 OPC_RecordNode,
22823 OPC_MoveParent,
22824 OPC_EmitMergeInputChains1_0,
22825 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
22826 2, 25,
22827 20, TARGET_VAL(ISD::CALLSEQ_END),
22828 OPC_RecordNode,
22829 OPC_CaptureGlueInput,
22830 OPC_RecordChild1,
22831 OPC_MoveChild1,
22832 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22833 OPC_MoveSibling2,
22834 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22835 OPC_RecordNode,
22836 OPC_MoveParent,
22837 OPC_EmitMergeInputChains1_0,
22838 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
22839 2, 25,
22840 103|128,17, TARGET_VAL(ISD::SETCC),
22841 OPC_RecordChild0,
22842 OPC_Scope, 122|128,2,
22843 OPC_CheckChild0TypeByHwMode0,
22844 OPC_Scope, 33,
22845 OPC_CheckChild1Integer, 0,
22846 OPC_Scope, 13,
22847 OPC_CheckChild2CondCode, ISD::SETEQ,
22848 OPC_CheckTypeByHwMode0,
22849 OPC_EmitIntegerByHwMode0, 1,
22850 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTUI), 0,
22851 1, 0, 2, 9,
22852 14,
22853 OPC_CheckChild2CondCode, ISD::SETNE,
22854 OPC_CheckTypeByHwMode0,
22855 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
22856 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
22857 1, 0, 2, 3,
22858 0,
22859 83|128,2,
22860 OPC_RecordChild1,
22861 OPC_Scope, 25|128,1,
22862 OPC_MoveChild1,
22863 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22864 OPC_Scope, 30,
22865 OPC_CheckPredicate4,
22866 OPC_MoveParent,
22867 OPC_Scope, 12,
22868 OPC_CheckChild2CondCode, ISD::SETLT,
22869 OPC_CheckTypeByHwMode0,
22870 OPC_EmitConvertToTarget1,
22871 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTI), 0,
22872 1, 0, 2, 22,
22873 12,
22874 OPC_CheckChild2CondCode, ISD::SETULT,
22875 OPC_CheckTypeByHwMode0,
22876 OPC_EmitConvertToTarget1,
22877 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTUI), 0,
22878 1, 0, 2, 22,
22879 0,
22880 115,
22881 OPC_CheckPredicate, 67,
22882 OPC_MoveParent,
22883 OPC_Scope, 53,
22884 OPC_CheckChild2CondCode, ISD::SETEQ,
22885 OPC_CheckTypeByHwMode0,
22886 OPC_Scope, 23,
22887 OPC_CheckPatternPredicate5,
22888 OPC_EmitConvertToTarget1,
22889 OPC_EmitNodeXForm, 10, 2,
22890 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
22891 1, 0, 2, 34,
22892 OPC_EmitIntegerByHwMode0, 1,
22893 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTUI), 0,
22894 1, 0, 2, 93,
22895 23,
22896 OPC_CheckPatternPredicate2,
22897 OPC_EmitConvertToTarget1,
22898 OPC_EmitNodeXForm, 10, 2,
22899 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
22900 1, 0, 2, 34,
22901 OPC_EmitIntegerByHwMode0, 1,
22902 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTUI), 0,
22903 1, 0, 2, 93,
22904 0,
22905 55,
22906 OPC_CheckChild2CondCode, ISD::SETNE,
22907 OPC_CheckTypeByHwMode0,
22908 OPC_Scope, 24,
22909 OPC_CheckPatternPredicate5,
22910 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
22911 OPC_EmitConvertToTarget1,
22912 OPC_EmitNodeXForm, 10, 3,
22913 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
22914 1, 0, 2, 65,
22915 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
22916 1, 0, 2, 90,
22917 24,
22918 OPC_CheckPatternPredicate2,
22919 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
22920 OPC_EmitConvertToTarget1,
22921 OPC_EmitNodeXForm, 10, 3,
22922 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
22923 1, 0, 2, 65,
22924 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
22925 1, 0, 2, 90,
22926 0,
22927 0,
22928 0,
22929 11,
22930 OPC_CheckChild2CondCode, ISD::SETLT,
22931 OPC_CheckTypeByHwMode0,
22932 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLT), 0,
22933 1, 0, 2, 9,
22934 11,
22935 OPC_CheckChild2CondCode, ISD::SETULT,
22936 OPC_CheckTypeByHwMode0,
22937 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
22938 1, 0, 2, 9,
22939 11,
22940 OPC_CheckChild2CondCode, ISD::SETUGT,
22941 OPC_CheckTypeByHwMode0,
22942 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
22943 1, 0, 2, 3,
22944 11,
22945 OPC_CheckChild2CondCode, ISD::SETGT,
22946 OPC_CheckTypeByHwMode0,
22947 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLT), 0,
22948 1, 0, 2, 3,
22949 21,
22950 OPC_CheckChild2CondCode, ISD::SETEQ,
22951 OPC_CheckTypeByHwMode0,
22952 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XOR), 0,
22953 1, 0, 2, 9,
22954 OPC_EmitIntegerByHwMode0, 1,
22955 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTUI), 0,
22956 1, 0, 2, 49,
22957 22,
22958 OPC_CheckChild2CondCode, ISD::SETNE,
22959 OPC_CheckTypeByHwMode0,
22960 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
22961 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XOR), 0,
22962 1, 0, 2, 9,
22963 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
22964 1, 0, 2, 49,
22965 21,
22966 OPC_CheckChild2CondCode, ISD::SETUGE,
22967 OPC_CheckTypeByHwMode0,
22968 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
22969 1, 0, 2, 9,
22970 OPC_EmitIntegerByHwMode0, 1,
22971 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XORI), 0,
22972 1, 0, 2, 49,
22973 21,
22974 OPC_CheckChild2CondCode, ISD::SETULE,
22975 OPC_CheckTypeByHwMode0,
22976 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
22977 1, 0, 2, 3,
22978 OPC_EmitIntegerByHwMode0, 1,
22979 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XORI), 0,
22980 1, 0, 2, 49,
22981 21,
22982 OPC_CheckChild2CondCode, ISD::SETGE,
22983 OPC_CheckTypeByHwMode0,
22984 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SLT), 0,
22985 1, 0, 2, 9,
22986 OPC_EmitIntegerByHwMode0, 1,
22987 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XORI), 0,
22988 1, 0, 2, 49,
22989 21,
22990 OPC_CheckChild2CondCode, ISD::SETLE,
22991 OPC_CheckTypeByHwMode0,
22992 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SLT), 0,
22993 1, 0, 2, 3,
22994 OPC_EmitIntegerByHwMode0, 1,
22995 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XORI), 0,
22996 1, 0, 2, 49,
22997 0,
22998 0,
22999 46|128,1,
23000 OPC_CheckChild0Type, MVT::f32,
23001 OPC_RecordChild1,
23002 OPC_Scope, 12,
23003 OPC_CheckChild2CondCode, ISD::SETOEQ,
23004 OPC_CheckTypeByHwMode0,
23005 OPC_CheckPatternPredicate3,
23006 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
23007 1, 0, 2, 9,
23008 12,
23009 OPC_CheckChild2CondCode, ISD::SETEQ,
23010 OPC_CheckTypeByHwMode0,
23011 OPC_CheckPatternPredicate3,
23012 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
23013 1, 0, 2, 9,
23014 12,
23015 OPC_CheckChild2CondCode, ISD::SETOLT,
23016 OPC_CheckTypeByHwMode0,
23017 OPC_CheckPatternPredicate3,
23018 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
23019 1, 0, 2, 9,
23020 12,
23021 OPC_CheckChild2CondCode, ISD::SETOLE,
23022 OPC_CheckTypeByHwMode0,
23023 OPC_CheckPatternPredicate3,
23024 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
23025 1, 0, 2, 9,
23026 12,
23027 OPC_CheckChild2CondCode, ISD::SETLE,
23028 OPC_CheckTypeByHwMode0,
23029 OPC_CheckPatternPredicate3,
23030 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
23031 1, 0, 2, 9,
23032 12,
23033 OPC_CheckChild2CondCode, ISD::SETONE,
23034 OPC_CheckTypeByHwMode0,
23035 OPC_CheckPatternPredicate3,
23036 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0,
23037 1, 0, 2, 9,
23038 12,
23039 OPC_CheckChild2CondCode, ISD::SETO,
23040 OPC_CheckTypeByHwMode0,
23041 OPC_CheckPatternPredicate3,
23042 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0,
23043 1, 0, 2, 9,
23044 12,
23045 OPC_CheckChild2CondCode, ISD::SETUEQ,
23046 OPC_CheckTypeByHwMode0,
23047 OPC_CheckPatternPredicate3,
23048 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0,
23049 1, 0, 2, 9,
23050 12,
23051 OPC_CheckChild2CondCode, ISD::SETULT,
23052 OPC_CheckTypeByHwMode0,
23053 OPC_CheckPatternPredicate3,
23054 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0,
23055 1, 0, 2, 9,
23056 12,
23057 OPC_CheckChild2CondCode, ISD::SETULE,
23058 OPC_CheckTypeByHwMode0,
23059 OPC_CheckPatternPredicate3,
23060 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0,
23061 1, 0, 2, 9,
23062 12,
23063 OPC_CheckChild2CondCode, ISD::SETUNE,
23064 OPC_CheckTypeByHwMode0,
23065 OPC_CheckPatternPredicate3,
23066 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0,
23067 1, 0, 2, 9,
23068 12,
23069 OPC_CheckChild2CondCode, ISD::SETUO,
23070 OPC_CheckTypeByHwMode0,
23071 OPC_CheckPatternPredicate3,
23072 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0,
23073 1, 0, 2, 9,
23074 12,
23075 OPC_CheckChild2CondCode, ISD::SETLT,
23076 OPC_CheckTypeByHwMode0,
23077 OPC_CheckPatternPredicate3,
23078 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
23079 1, 0, 2, 9,
23080 0,
23081 46|128,1,
23082 OPC_CheckChild0Type, MVT::f64,
23083 OPC_RecordChild1,
23084 OPC_Scope, 12,
23085 OPC_CheckChild2CondCode, ISD::SETOEQ,
23086 OPC_CheckTypeByHwMode0,
23087 OPC_CheckPatternPredicate4,
23088 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
23089 1, 0, 2, 9,
23090 12,
23091 OPC_CheckChild2CondCode, ISD::SETEQ,
23092 OPC_CheckTypeByHwMode0,
23093 OPC_CheckPatternPredicate4,
23094 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
23095 1, 0, 2, 9,
23096 12,
23097 OPC_CheckChild2CondCode, ISD::SETOLT,
23098 OPC_CheckTypeByHwMode0,
23099 OPC_CheckPatternPredicate4,
23100 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
23101 1, 0, 2, 9,
23102 12,
23103 OPC_CheckChild2CondCode, ISD::SETOLE,
23104 OPC_CheckTypeByHwMode0,
23105 OPC_CheckPatternPredicate4,
23106 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
23107 1, 0, 2, 9,
23108 12,
23109 OPC_CheckChild2CondCode, ISD::SETLE,
23110 OPC_CheckTypeByHwMode0,
23111 OPC_CheckPatternPredicate4,
23112 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
23113 1, 0, 2, 9,
23114 12,
23115 OPC_CheckChild2CondCode, ISD::SETONE,
23116 OPC_CheckTypeByHwMode0,
23117 OPC_CheckPatternPredicate4,
23118 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0,
23119 1, 0, 2, 9,
23120 12,
23121 OPC_CheckChild2CondCode, ISD::SETO,
23122 OPC_CheckTypeByHwMode0,
23123 OPC_CheckPatternPredicate4,
23124 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0,
23125 1, 0, 2, 9,
23126 12,
23127 OPC_CheckChild2CondCode, ISD::SETUEQ,
23128 OPC_CheckTypeByHwMode0,
23129 OPC_CheckPatternPredicate4,
23130 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0,
23131 1, 0, 2, 9,
23132 12,
23133 OPC_CheckChild2CondCode, ISD::SETULT,
23134 OPC_CheckTypeByHwMode0,
23135 OPC_CheckPatternPredicate4,
23136 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0,
23137 1, 0, 2, 9,
23138 12,
23139 OPC_CheckChild2CondCode, ISD::SETULE,
23140 OPC_CheckTypeByHwMode0,
23141 OPC_CheckPatternPredicate4,
23142 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0,
23143 1, 0, 2, 9,
23144 12,
23145 OPC_CheckChild2CondCode, ISD::SETUNE,
23146 OPC_CheckTypeByHwMode0,
23147 OPC_CheckPatternPredicate4,
23148 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0,
23149 1, 0, 2, 9,
23150 12,
23151 OPC_CheckChild2CondCode, ISD::SETUO,
23152 OPC_CheckTypeByHwMode0,
23153 OPC_CheckPatternPredicate4,
23154 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0,
23155 1, 0, 2, 9,
23156 12,
23157 OPC_CheckChild2CondCode, ISD::SETLT,
23158 OPC_CheckTypeByHwMode0,
23159 OPC_CheckPatternPredicate4,
23160 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
23161 1, 0, 2, 9,
23162 0,
23163 117,
23164 OPC_CheckChild0Type, MVT::v16i8,
23165 OPC_RecordChild1,
23166 OPC_CheckType, MVT::v16i8,
23167 OPC_Scope, 21,
23168 OPC_CheckChild2CondCode, ISD::SETEQ,
23169 OPC_CheckPatternPredicate1,
23170 OPC_Scope, 8,
23171 OPC_CheckComplexPat4, /*#*/1,
23172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_B),
23173 MVT::v16i8, 2, 22,
23174 6,
23175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_B),
23176 MVT::v16i8, 2, 9,
23177 0,
23178 21,
23179 OPC_CheckChild2CondCode, ISD::SETLE,
23180 OPC_CheckPatternPredicate1,
23181 OPC_Scope, 8,
23182 OPC_CheckComplexPat4, /*#*/1,
23183 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_B),
23184 MVT::v16i8, 2, 22,
23185 6,
23186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_B),
23187 MVT::v16i8, 2, 9,
23188 0,
23189 21,
23190 OPC_CheckChild2CondCode, ISD::SETLT,
23191 OPC_CheckPatternPredicate1,
23192 OPC_Scope, 8,
23193 OPC_CheckComplexPat4, /*#*/1,
23194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_B),
23195 MVT::v16i8, 2, 22,
23196 6,
23197 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_B),
23198 MVT::v16i8, 2, 9,
23199 0,
23200 21,
23201 OPC_CheckChild2CondCode, ISD::SETULE,
23202 OPC_CheckPatternPredicate1,
23203 OPC_Scope, 8,
23204 OPC_CheckComplexPat2, /*#*/1,
23205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_BU),
23206 MVT::v16i8, 2, 22,
23207 6,
23208 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_BU),
23209 MVT::v16i8, 2, 9,
23210 0,
23211 21,
23212 OPC_CheckChild2CondCode, ISD::SETULT,
23213 OPC_CheckPatternPredicate1,
23214 OPC_Scope, 8,
23215 OPC_CheckComplexPat2, /*#*/1,
23216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_BU),
23217 MVT::v16i8, 2, 22,
23218 6,
23219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_BU),
23220 MVT::v16i8, 2, 9,
23221 0,
23222 0,
23223 117,
23224 OPC_CheckChild0Type, MVT::v8i16,
23225 OPC_RecordChild1,
23226 OPC_CheckType, MVT::v8i16,
23227 OPC_Scope, 21,
23228 OPC_CheckChild2CondCode, ISD::SETEQ,
23229 OPC_CheckPatternPredicate1,
23230 OPC_Scope, 8,
23231 OPC_CheckComplexPat4, /*#*/1,
23232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_H),
23233 MVT::v8i16, 2, 22,
23234 6,
23235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_H),
23236 MVT::v8i16, 2, 9,
23237 0,
23238 21,
23239 OPC_CheckChild2CondCode, ISD::SETLE,
23240 OPC_CheckPatternPredicate1,
23241 OPC_Scope, 8,
23242 OPC_CheckComplexPat4, /*#*/1,
23243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_H),
23244 MVT::v8i16, 2, 22,
23245 6,
23246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_H),
23247 MVT::v8i16, 2, 9,
23248 0,
23249 21,
23250 OPC_CheckChild2CondCode, ISD::SETLT,
23251 OPC_CheckPatternPredicate1,
23252 OPC_Scope, 8,
23253 OPC_CheckComplexPat4, /*#*/1,
23254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_H),
23255 MVT::v8i16, 2, 22,
23256 6,
23257 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_H),
23258 MVT::v8i16, 2, 9,
23259 0,
23260 21,
23261 OPC_CheckChild2CondCode, ISD::SETULE,
23262 OPC_CheckPatternPredicate1,
23263 OPC_Scope, 8,
23264 OPC_CheckComplexPat2, /*#*/1,
23265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_HU),
23266 MVT::v8i16, 2, 22,
23267 6,
23268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_HU),
23269 MVT::v8i16, 2, 9,
23270 0,
23271 21,
23272 OPC_CheckChild2CondCode, ISD::SETULT,
23273 OPC_CheckPatternPredicate1,
23274 OPC_Scope, 8,
23275 OPC_CheckComplexPat2, /*#*/1,
23276 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_HU),
23277 MVT::v8i16, 2, 22,
23278 6,
23279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_HU),
23280 MVT::v8i16, 2, 9,
23281 0,
23282 0,
23283 117,
23284 OPC_CheckChild0Type, MVT::v4i32,
23285 OPC_RecordChild1,
23286 OPC_CheckType, MVT::v4i32,
23287 OPC_Scope, 21,
23288 OPC_CheckChild2CondCode, ISD::SETEQ,
23289 OPC_CheckPatternPredicate1,
23290 OPC_Scope, 8,
23291 OPC_CheckComplexPat4, /*#*/1,
23292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_W),
23293 MVT::v4i32, 2, 22,
23294 6,
23295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_W),
23296 MVT::v4i32, 2, 9,
23297 0,
23298 21,
23299 OPC_CheckChild2CondCode, ISD::SETLE,
23300 OPC_CheckPatternPredicate1,
23301 OPC_Scope, 8,
23302 OPC_CheckComplexPat4, /*#*/1,
23303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_W),
23304 MVT::v4i32, 2, 22,
23305 6,
23306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_W),
23307 MVT::v4i32, 2, 9,
23308 0,
23309 21,
23310 OPC_CheckChild2CondCode, ISD::SETLT,
23311 OPC_CheckPatternPredicate1,
23312 OPC_Scope, 8,
23313 OPC_CheckComplexPat4, /*#*/1,
23314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_W),
23315 MVT::v4i32, 2, 22,
23316 6,
23317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_W),
23318 MVT::v4i32, 2, 9,
23319 0,
23320 21,
23321 OPC_CheckChild2CondCode, ISD::SETULE,
23322 OPC_CheckPatternPredicate1,
23323 OPC_Scope, 8,
23324 OPC_CheckComplexPat2, /*#*/1,
23325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_WU),
23326 MVT::v4i32, 2, 22,
23327 6,
23328 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_WU),
23329 MVT::v4i32, 2, 9,
23330 0,
23331 21,
23332 OPC_CheckChild2CondCode, ISD::SETULT,
23333 OPC_CheckPatternPredicate1,
23334 OPC_Scope, 8,
23335 OPC_CheckComplexPat2, /*#*/1,
23336 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_WU),
23337 MVT::v4i32, 2, 22,
23338 6,
23339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_WU),
23340 MVT::v4i32, 2, 9,
23341 0,
23342 0,
23343 117,
23344 OPC_CheckChild0Type, MVT::v2i64,
23345 OPC_RecordChild1,
23346 OPC_CheckType, MVT::v2i64,
23347 OPC_Scope, 21,
23348 OPC_CheckChild2CondCode, ISD::SETEQ,
23349 OPC_CheckPatternPredicate1,
23350 OPC_Scope, 8,
23351 OPC_CheckComplexPat4, /*#*/1,
23352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQI_D),
23353 MVT::v2i64, 2, 22,
23354 6,
23355 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSEQ_D),
23356 MVT::v2i64, 2, 9,
23357 0,
23358 21,
23359 OPC_CheckChild2CondCode, ISD::SETLE,
23360 OPC_CheckPatternPredicate1,
23361 OPC_Scope, 8,
23362 OPC_CheckComplexPat4, /*#*/1,
23363 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_D),
23364 MVT::v2i64, 2, 22,
23365 6,
23366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_D),
23367 MVT::v2i64, 2, 9,
23368 0,
23369 21,
23370 OPC_CheckChild2CondCode, ISD::SETLT,
23371 OPC_CheckPatternPredicate1,
23372 OPC_Scope, 8,
23373 OPC_CheckComplexPat4, /*#*/1,
23374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_D),
23375 MVT::v2i64, 2, 22,
23376 6,
23377 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_D),
23378 MVT::v2i64, 2, 9,
23379 0,
23380 21,
23381 OPC_CheckChild2CondCode, ISD::SETULE,
23382 OPC_CheckPatternPredicate1,
23383 OPC_Scope, 8,
23384 OPC_CheckComplexPat2, /*#*/1,
23385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLEI_DU),
23386 MVT::v2i64, 2, 22,
23387 6,
23388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLE_DU),
23389 MVT::v2i64, 2, 9,
23390 0,
23391 21,
23392 OPC_CheckChild2CondCode, ISD::SETULT,
23393 OPC_CheckPatternPredicate1,
23394 OPC_Scope, 8,
23395 OPC_CheckComplexPat2, /*#*/1,
23396 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLTI_DU),
23397 MVT::v2i64, 2, 22,
23398 6,
23399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLT_DU),
23400 MVT::v2i64, 2, 9,
23401 0,
23402 0,
23403 117,
23404 OPC_CheckChild0Type, MVT::v32i8,
23405 OPC_RecordChild1,
23406 OPC_CheckType, MVT::v32i8,
23407 OPC_Scope, 21,
23408 OPC_CheckChild2CondCode, ISD::SETEQ,
23409 OPC_CheckPatternPredicate0,
23410 OPC_Scope, 8,
23411 OPC_CheckComplexPat4, /*#*/1,
23412 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_B),
23413 MVT::v32i8, 2, 22,
23414 6,
23415 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_B),
23416 MVT::v32i8, 2, 9,
23417 0,
23418 21,
23419 OPC_CheckChild2CondCode, ISD::SETLE,
23420 OPC_CheckPatternPredicate0,
23421 OPC_Scope, 8,
23422 OPC_CheckComplexPat4, /*#*/1,
23423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_B),
23424 MVT::v32i8, 2, 22,
23425 6,
23426 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_B),
23427 MVT::v32i8, 2, 9,
23428 0,
23429 21,
23430 OPC_CheckChild2CondCode, ISD::SETLT,
23431 OPC_CheckPatternPredicate0,
23432 OPC_Scope, 8,
23433 OPC_CheckComplexPat4, /*#*/1,
23434 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_B),
23435 MVT::v32i8, 2, 22,
23436 6,
23437 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_B),
23438 MVT::v32i8, 2, 9,
23439 0,
23440 21,
23441 OPC_CheckChild2CondCode, ISD::SETULE,
23442 OPC_CheckPatternPredicate0,
23443 OPC_Scope, 8,
23444 OPC_CheckComplexPat2, /*#*/1,
23445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_BU),
23446 MVT::v32i8, 2, 22,
23447 6,
23448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_BU),
23449 MVT::v32i8, 2, 9,
23450 0,
23451 21,
23452 OPC_CheckChild2CondCode, ISD::SETULT,
23453 OPC_CheckPatternPredicate0,
23454 OPC_Scope, 8,
23455 OPC_CheckComplexPat2, /*#*/1,
23456 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_BU),
23457 MVT::v32i8, 2, 22,
23458 6,
23459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_BU),
23460 MVT::v32i8, 2, 9,
23461 0,
23462 0,
23463 117,
23464 OPC_CheckChild0Type, MVT::v16i16,
23465 OPC_RecordChild1,
23466 OPC_CheckType, MVT::v16i16,
23467 OPC_Scope, 21,
23468 OPC_CheckChild2CondCode, ISD::SETEQ,
23469 OPC_CheckPatternPredicate0,
23470 OPC_Scope, 8,
23471 OPC_CheckComplexPat4, /*#*/1,
23472 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_H),
23473 MVT::v16i16, 2, 22,
23474 6,
23475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_H),
23476 MVT::v16i16, 2, 9,
23477 0,
23478 21,
23479 OPC_CheckChild2CondCode, ISD::SETLE,
23480 OPC_CheckPatternPredicate0,
23481 OPC_Scope, 8,
23482 OPC_CheckComplexPat4, /*#*/1,
23483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_H),
23484 MVT::v16i16, 2, 22,
23485 6,
23486 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_H),
23487 MVT::v16i16, 2, 9,
23488 0,
23489 21,
23490 OPC_CheckChild2CondCode, ISD::SETLT,
23491 OPC_CheckPatternPredicate0,
23492 OPC_Scope, 8,
23493 OPC_CheckComplexPat4, /*#*/1,
23494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_H),
23495 MVT::v16i16, 2, 22,
23496 6,
23497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_H),
23498 MVT::v16i16, 2, 9,
23499 0,
23500 21,
23501 OPC_CheckChild2CondCode, ISD::SETULE,
23502 OPC_CheckPatternPredicate0,
23503 OPC_Scope, 8,
23504 OPC_CheckComplexPat2, /*#*/1,
23505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_HU),
23506 MVT::v16i16, 2, 22,
23507 6,
23508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_HU),
23509 MVT::v16i16, 2, 9,
23510 0,
23511 21,
23512 OPC_CheckChild2CondCode, ISD::SETULT,
23513 OPC_CheckPatternPredicate0,
23514 OPC_Scope, 8,
23515 OPC_CheckComplexPat2, /*#*/1,
23516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_HU),
23517 MVT::v16i16, 2, 22,
23518 6,
23519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_HU),
23520 MVT::v16i16, 2, 9,
23521 0,
23522 0,
23523 117,
23524 OPC_CheckChild0Type, MVT::v8i32,
23525 OPC_RecordChild1,
23526 OPC_CheckType, MVT::v8i32,
23527 OPC_Scope, 21,
23528 OPC_CheckChild2CondCode, ISD::SETEQ,
23529 OPC_CheckPatternPredicate0,
23530 OPC_Scope, 8,
23531 OPC_CheckComplexPat4, /*#*/1,
23532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_W),
23533 MVT::v8i32, 2, 22,
23534 6,
23535 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_W),
23536 MVT::v8i32, 2, 9,
23537 0,
23538 21,
23539 OPC_CheckChild2CondCode, ISD::SETLE,
23540 OPC_CheckPatternPredicate0,
23541 OPC_Scope, 8,
23542 OPC_CheckComplexPat4, /*#*/1,
23543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_W),
23544 MVT::v8i32, 2, 22,
23545 6,
23546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_W),
23547 MVT::v8i32, 2, 9,
23548 0,
23549 21,
23550 OPC_CheckChild2CondCode, ISD::SETLT,
23551 OPC_CheckPatternPredicate0,
23552 OPC_Scope, 8,
23553 OPC_CheckComplexPat4, /*#*/1,
23554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_W),
23555 MVT::v8i32, 2, 22,
23556 6,
23557 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_W),
23558 MVT::v8i32, 2, 9,
23559 0,
23560 21,
23561 OPC_CheckChild2CondCode, ISD::SETULE,
23562 OPC_CheckPatternPredicate0,
23563 OPC_Scope, 8,
23564 OPC_CheckComplexPat2, /*#*/1,
23565 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_WU),
23566 MVT::v8i32, 2, 22,
23567 6,
23568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_WU),
23569 MVT::v8i32, 2, 9,
23570 0,
23571 21,
23572 OPC_CheckChild2CondCode, ISD::SETULT,
23573 OPC_CheckPatternPredicate0,
23574 OPC_Scope, 8,
23575 OPC_CheckComplexPat2, /*#*/1,
23576 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_WU),
23577 MVT::v8i32, 2, 22,
23578 6,
23579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_WU),
23580 MVT::v8i32, 2, 9,
23581 0,
23582 0,
23583 117,
23584 OPC_CheckChild0Type, MVT::v4i64,
23585 OPC_RecordChild1,
23586 OPC_CheckType, MVT::v4i64,
23587 OPC_Scope, 21,
23588 OPC_CheckChild2CondCode, ISD::SETEQ,
23589 OPC_CheckPatternPredicate0,
23590 OPC_Scope, 8,
23591 OPC_CheckComplexPat4, /*#*/1,
23592 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQI_D),
23593 MVT::v4i64, 2, 22,
23594 6,
23595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSEQ_D),
23596 MVT::v4i64, 2, 9,
23597 0,
23598 21,
23599 OPC_CheckChild2CondCode, ISD::SETLE,
23600 OPC_CheckPatternPredicate0,
23601 OPC_Scope, 8,
23602 OPC_CheckComplexPat4, /*#*/1,
23603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_D),
23604 MVT::v4i64, 2, 22,
23605 6,
23606 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_D),
23607 MVT::v4i64, 2, 9,
23608 0,
23609 21,
23610 OPC_CheckChild2CondCode, ISD::SETLT,
23611 OPC_CheckPatternPredicate0,
23612 OPC_Scope, 8,
23613 OPC_CheckComplexPat4, /*#*/1,
23614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_D),
23615 MVT::v4i64, 2, 22,
23616 6,
23617 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_D),
23618 MVT::v4i64, 2, 9,
23619 0,
23620 21,
23621 OPC_CheckChild2CondCode, ISD::SETULE,
23622 OPC_CheckPatternPredicate0,
23623 OPC_Scope, 8,
23624 OPC_CheckComplexPat2, /*#*/1,
23625 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLEI_DU),
23626 MVT::v4i64, 2, 22,
23627 6,
23628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLE_DU),
23629 MVT::v4i64, 2, 9,
23630 0,
23631 21,
23632 OPC_CheckChild2CondCode, ISD::SETULT,
23633 OPC_CheckPatternPredicate0,
23634 OPC_Scope, 8,
23635 OPC_CheckComplexPat2, /*#*/1,
23636 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLTI_DU),
23637 MVT::v4i64, 2, 22,
23638 6,
23639 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLT_DU),
23640 MVT::v4i64, 2, 9,
23641 0,
23642 0,
23643 20|128,1,
23644 OPC_CheckChild0Type, 11|128,1,
23645 OPC_RecordChild1,
23646 OPC_CheckType, MVT::v4i32,
23647 OPC_Scope, 9,
23648 OPC_CheckChild2CondCode, ISD::SETEQ,
23649 OPC_CheckPatternPredicate1,
23650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
23651 MVT::v4i32, 2, 9,
23652 9,
23653 OPC_CheckChild2CondCode, ISD::SETOEQ,
23654 OPC_CheckPatternPredicate1,
23655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_S),
23656 MVT::v4i32, 2, 9,
23657 9,
23658 OPC_CheckChild2CondCode, ISD::SETUEQ,
23659 OPC_CheckPatternPredicate1,
23660 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_S),
23661 MVT::v4i32, 2, 9,
23662 9,
23663 OPC_CheckChild2CondCode, ISD::SETLE,
23664 OPC_CheckPatternPredicate1,
23665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
23666 MVT::v4i32, 2, 9,
23667 9,
23668 OPC_CheckChild2CondCode, ISD::SETOLE,
23669 OPC_CheckPatternPredicate1,
23670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_S),
23671 MVT::v4i32, 2, 9,
23672 9,
23673 OPC_CheckChild2CondCode, ISD::SETULE,
23674 OPC_CheckPatternPredicate1,
23675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_S),
23676 MVT::v4i32, 2, 9,
23677 9,
23678 OPC_CheckChild2CondCode, ISD::SETLT,
23679 OPC_CheckPatternPredicate1,
23680 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
23681 MVT::v4i32, 2, 9,
23682 9,
23683 OPC_CheckChild2CondCode, ISD::SETOLT,
23684 OPC_CheckPatternPredicate1,
23685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_S),
23686 MVT::v4i32, 2, 9,
23687 9,
23688 OPC_CheckChild2CondCode, ISD::SETULT,
23689 OPC_CheckPatternPredicate1,
23690 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_S),
23691 MVT::v4i32, 2, 9,
23692 9,
23693 OPC_CheckChild2CondCode, ISD::SETNE,
23694 OPC_CheckPatternPredicate1,
23695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
23696 MVT::v4i32, 2, 9,
23697 9,
23698 OPC_CheckChild2CondCode, ISD::SETONE,
23699 OPC_CheckPatternPredicate1,
23700 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_S),
23701 MVT::v4i32, 2, 9,
23702 9,
23703 OPC_CheckChild2CondCode, ISD::SETUNE,
23704 OPC_CheckPatternPredicate1,
23705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_S),
23706 MVT::v4i32, 2, 9,
23707 9,
23708 OPC_CheckChild2CondCode, ISD::SETO,
23709 OPC_CheckPatternPredicate1,
23710 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_S),
23711 MVT::v4i32, 2, 9,
23712 9,
23713 OPC_CheckChild2CondCode, ISD::SETUO,
23714 OPC_CheckPatternPredicate1,
23715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_S),
23716 MVT::v4i32, 2, 9,
23717 0,
23718 20|128,1,
23719 OPC_CheckChild0Type, 29|128,1,
23720 OPC_RecordChild1,
23721 OPC_CheckType, MVT::v2i64,
23722 OPC_Scope, 9,
23723 OPC_CheckChild2CondCode, ISD::SETEQ,
23724 OPC_CheckPatternPredicate1,
23725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
23726 MVT::v2i64, 2, 9,
23727 9,
23728 OPC_CheckChild2CondCode, ISD::SETOEQ,
23729 OPC_CheckPatternPredicate1,
23730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CEQ_D),
23731 MVT::v2i64, 2, 9,
23732 9,
23733 OPC_CheckChild2CondCode, ISD::SETUEQ,
23734 OPC_CheckPatternPredicate1,
23735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUEQ_D),
23736 MVT::v2i64, 2, 9,
23737 9,
23738 OPC_CheckChild2CondCode, ISD::SETLE,
23739 OPC_CheckPatternPredicate1,
23740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
23741 MVT::v2i64, 2, 9,
23742 9,
23743 OPC_CheckChild2CondCode, ISD::SETOLE,
23744 OPC_CheckPatternPredicate1,
23745 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLE_D),
23746 MVT::v2i64, 2, 9,
23747 9,
23748 OPC_CheckChild2CondCode, ISD::SETULE,
23749 OPC_CheckPatternPredicate1,
23750 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULE_D),
23751 MVT::v2i64, 2, 9,
23752 9,
23753 OPC_CheckChild2CondCode, ISD::SETLT,
23754 OPC_CheckPatternPredicate1,
23755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
23756 MVT::v2i64, 2, 9,
23757 9,
23758 OPC_CheckChild2CondCode, ISD::SETOLT,
23759 OPC_CheckPatternPredicate1,
23760 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CLT_D),
23761 MVT::v2i64, 2, 9,
23762 9,
23763 OPC_CheckChild2CondCode, ISD::SETULT,
23764 OPC_CheckPatternPredicate1,
23765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CULT_D),
23766 MVT::v2i64, 2, 9,
23767 9,
23768 OPC_CheckChild2CondCode, ISD::SETNE,
23769 OPC_CheckPatternPredicate1,
23770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
23771 MVT::v2i64, 2, 9,
23772 9,
23773 OPC_CheckChild2CondCode, ISD::SETONE,
23774 OPC_CheckPatternPredicate1,
23775 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CNE_D),
23776 MVT::v2i64, 2, 9,
23777 9,
23778 OPC_CheckChild2CondCode, ISD::SETUNE,
23779 OPC_CheckPatternPredicate1,
23780 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUNE_D),
23781 MVT::v2i64, 2, 9,
23782 9,
23783 OPC_CheckChild2CondCode, ISD::SETO,
23784 OPC_CheckPatternPredicate1,
23785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_COR_D),
23786 MVT::v2i64, 2, 9,
23787 9,
23788 OPC_CheckChild2CondCode, ISD::SETUO,
23789 OPC_CheckPatternPredicate1,
23790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCMP_CUN_D),
23791 MVT::v2i64, 2, 9,
23792 0,
23793 20|128,1,
23794 OPC_CheckChild0Type, 15|128,1,
23795 OPC_RecordChild1,
23796 OPC_CheckType, MVT::v8i32,
23797 OPC_Scope, 9,
23798 OPC_CheckChild2CondCode, ISD::SETEQ,
23799 OPC_CheckPatternPredicate0,
23800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
23801 MVT::v8i32, 2, 9,
23802 9,
23803 OPC_CheckChild2CondCode, ISD::SETOEQ,
23804 OPC_CheckPatternPredicate0,
23805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_S),
23806 MVT::v8i32, 2, 9,
23807 9,
23808 OPC_CheckChild2CondCode, ISD::SETUEQ,
23809 OPC_CheckPatternPredicate0,
23810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_S),
23811 MVT::v8i32, 2, 9,
23812 9,
23813 OPC_CheckChild2CondCode, ISD::SETLE,
23814 OPC_CheckPatternPredicate0,
23815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
23816 MVT::v8i32, 2, 9,
23817 9,
23818 OPC_CheckChild2CondCode, ISD::SETOLE,
23819 OPC_CheckPatternPredicate0,
23820 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_S),
23821 MVT::v8i32, 2, 9,
23822 9,
23823 OPC_CheckChild2CondCode, ISD::SETULE,
23824 OPC_CheckPatternPredicate0,
23825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_S),
23826 MVT::v8i32, 2, 9,
23827 9,
23828 OPC_CheckChild2CondCode, ISD::SETLT,
23829 OPC_CheckPatternPredicate0,
23830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
23831 MVT::v8i32, 2, 9,
23832 9,
23833 OPC_CheckChild2CondCode, ISD::SETOLT,
23834 OPC_CheckPatternPredicate0,
23835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_S),
23836 MVT::v8i32, 2, 9,
23837 9,
23838 OPC_CheckChild2CondCode, ISD::SETULT,
23839 OPC_CheckPatternPredicate0,
23840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_S),
23841 MVT::v8i32, 2, 9,
23842 9,
23843 OPC_CheckChild2CondCode, ISD::SETNE,
23844 OPC_CheckPatternPredicate0,
23845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
23846 MVT::v8i32, 2, 9,
23847 9,
23848 OPC_CheckChild2CondCode, ISD::SETONE,
23849 OPC_CheckPatternPredicate0,
23850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_S),
23851 MVT::v8i32, 2, 9,
23852 9,
23853 OPC_CheckChild2CondCode, ISD::SETUNE,
23854 OPC_CheckPatternPredicate0,
23855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_S),
23856 MVT::v8i32, 2, 9,
23857 9,
23858 OPC_CheckChild2CondCode, ISD::SETO,
23859 OPC_CheckPatternPredicate0,
23860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_S),
23861 MVT::v8i32, 2, 9,
23862 9,
23863 OPC_CheckChild2CondCode, ISD::SETUO,
23864 OPC_CheckPatternPredicate0,
23865 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_S),
23866 MVT::v8i32, 2, 9,
23867 0,
23868 20|128,1,
23869 OPC_CheckChild0Type, 31|128,1,
23870 OPC_RecordChild1,
23871 OPC_CheckType, MVT::v4i64,
23872 OPC_Scope, 9,
23873 OPC_CheckChild2CondCode, ISD::SETEQ,
23874 OPC_CheckPatternPredicate0,
23875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
23876 MVT::v4i64, 2, 9,
23877 9,
23878 OPC_CheckChild2CondCode, ISD::SETOEQ,
23879 OPC_CheckPatternPredicate0,
23880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CEQ_D),
23881 MVT::v4i64, 2, 9,
23882 9,
23883 OPC_CheckChild2CondCode, ISD::SETUEQ,
23884 OPC_CheckPatternPredicate0,
23885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUEQ_D),
23886 MVT::v4i64, 2, 9,
23887 9,
23888 OPC_CheckChild2CondCode, ISD::SETLE,
23889 OPC_CheckPatternPredicate0,
23890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
23891 MVT::v4i64, 2, 9,
23892 9,
23893 OPC_CheckChild2CondCode, ISD::SETOLE,
23894 OPC_CheckPatternPredicate0,
23895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLE_D),
23896 MVT::v4i64, 2, 9,
23897 9,
23898 OPC_CheckChild2CondCode, ISD::SETULE,
23899 OPC_CheckPatternPredicate0,
23900 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULE_D),
23901 MVT::v4i64, 2, 9,
23902 9,
23903 OPC_CheckChild2CondCode, ISD::SETLT,
23904 OPC_CheckPatternPredicate0,
23905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
23906 MVT::v4i64, 2, 9,
23907 9,
23908 OPC_CheckChild2CondCode, ISD::SETOLT,
23909 OPC_CheckPatternPredicate0,
23910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CLT_D),
23911 MVT::v4i64, 2, 9,
23912 9,
23913 OPC_CheckChild2CondCode, ISD::SETULT,
23914 OPC_CheckPatternPredicate0,
23915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CULT_D),
23916 MVT::v4i64, 2, 9,
23917 9,
23918 OPC_CheckChild2CondCode, ISD::SETNE,
23919 OPC_CheckPatternPredicate0,
23920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
23921 MVT::v4i64, 2, 9,
23922 9,
23923 OPC_CheckChild2CondCode, ISD::SETONE,
23924 OPC_CheckPatternPredicate0,
23925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CNE_D),
23926 MVT::v4i64, 2, 9,
23927 9,
23928 OPC_CheckChild2CondCode, ISD::SETUNE,
23929 OPC_CheckPatternPredicate0,
23930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUNE_D),
23931 MVT::v4i64, 2, 9,
23932 9,
23933 OPC_CheckChild2CondCode, ISD::SETO,
23934 OPC_CheckPatternPredicate0,
23935 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_COR_D),
23936 MVT::v4i64, 2, 9,
23937 9,
23938 OPC_CheckChild2CondCode, ISD::SETUO,
23939 OPC_CheckPatternPredicate0,
23940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCMP_CUN_D),
23941 MVT::v4i64, 2, 9,
23942 0,
23943 0,
23944 83|128,4, TARGET_VAL(ISD::SELECT),
23945 OPC_Scope, 64,
23946 OPC_RecordChild0,
23947 OPC_CheckChild0TypeByHwMode0,
23948 OPC_Scope, 14,
23949 OPC_RecordChild1,
23950 OPC_CheckChild2Integer, 0,
23951 OPC_CheckTypeByHwMode0,
23952 OPC_CheckPatternPredicate, 11,
23953 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MASKEQZ), 0,
23954 1, 0, 2, 3,
23955 14,
23956 OPC_CheckChild1Integer, 0,
23957 OPC_RecordChild2,
23958 OPC_CheckTypeByHwMode0,
23959 OPC_CheckPatternPredicate, 11,
23960 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MASKNEZ), 0,
23961 1, 0, 2, 3,
23962 29,
23963 OPC_RecordChild1,
23964 OPC_RecordChild2,
23965 OPC_CheckTypeByHwMode0,
23966 OPC_CheckPatternPredicate, 11,
23967 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::MASKEQZ), 0,
23968 1, 0, 2, 3,
23969 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::MASKNEZ), 0,
23970 1, 0, 2, 6,
23971 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::OR), 0,
23972 1, 0, 2, 76,
23973 0,
23974 117|128,3,
23975 OPC_MoveChild0,
23976 OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
23977 OPC_RecordChild0,
23978 OPC_Scope, 117|128,1,
23979 OPC_CheckChild0Type, MVT::f32,
23980 OPC_RecordChild1,
23981 OPC_Scope, 23,
23982 OPC_CheckChild2CondCode, ISD::SETOEQ,
23983 OPC_CheckTypeByHwMode0,
23984 OPC_MoveParent,
23985 OPC_RecordChild1,
23986 OPC_RecordChild2,
23987 OPC_CheckType, MVT::f32,
23988 OPC_CheckPatternPredicate3,
23989 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0,
23990 1, 0, 2, 9,
23991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
23992 MVT::f32, 3, 72,
23993 23,
23994 OPC_CheckChild2CondCode, ISD::SETOLT,
23995 OPC_CheckTypeByHwMode0,
23996 OPC_MoveParent,
23997 OPC_RecordChild1,
23998 OPC_RecordChild2,
23999 OPC_CheckType, MVT::f32,
24000 OPC_CheckPatternPredicate3,
24001 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0,
24002 1, 0, 2, 9,
24003 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
24004 MVT::f32, 3, 72,
24005 23,
24006 OPC_CheckChild2CondCode, ISD::SETOLE,
24007 OPC_CheckTypeByHwMode0,
24008 OPC_MoveParent,
24009 OPC_RecordChild1,
24010 OPC_RecordChild2,
24011 OPC_CheckType, MVT::f32,
24012 OPC_CheckPatternPredicate3,
24013 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0,
24014 1, 0, 2, 9,
24015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
24016 MVT::f32, 3, 72,
24017 23,
24018 OPC_CheckChild2CondCode, ISD::SETONE,
24019 OPC_CheckTypeByHwMode0,
24020 OPC_MoveParent,
24021 OPC_RecordChild1,
24022 OPC_RecordChild2,
24023 OPC_CheckType, MVT::f32,
24024 OPC_CheckPatternPredicate3,
24025 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0,
24026 1, 0, 2, 9,
24027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
24028 MVT::f32, 3, 72,
24029 23,
24030 OPC_CheckChild2CondCode, ISD::SETO,
24031 OPC_CheckTypeByHwMode0,
24032 OPC_MoveParent,
24033 OPC_RecordChild1,
24034 OPC_RecordChild2,
24035 OPC_CheckType, MVT::f32,
24036 OPC_CheckPatternPredicate3,
24037 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0,
24038 1, 0, 2, 9,
24039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
24040 MVT::f32, 3, 72,
24041 23,
24042 OPC_CheckChild2CondCode, ISD::SETUEQ,
24043 OPC_CheckTypeByHwMode0,
24044 OPC_MoveParent,
24045 OPC_RecordChild1,
24046 OPC_RecordChild2,
24047 OPC_CheckType, MVT::f32,
24048 OPC_CheckPatternPredicate3,
24049 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0,
24050 1, 0, 2, 9,
24051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
24052 MVT::f32, 3, 72,
24053 23,
24054 OPC_CheckChild2CondCode, ISD::SETULT,
24055 OPC_CheckTypeByHwMode0,
24056 OPC_MoveParent,
24057 OPC_RecordChild1,
24058 OPC_RecordChild2,
24059 OPC_CheckType, MVT::f32,
24060 OPC_CheckPatternPredicate3,
24061 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0,
24062 1, 0, 2, 9,
24063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
24064 MVT::f32, 3, 72,
24065 23,
24066 OPC_CheckChild2CondCode, ISD::SETULE,
24067 OPC_CheckTypeByHwMode0,
24068 OPC_MoveParent,
24069 OPC_RecordChild1,
24070 OPC_RecordChild2,
24071 OPC_CheckType, MVT::f32,
24072 OPC_CheckPatternPredicate3,
24073 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0,
24074 1, 0, 2, 9,
24075 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
24076 MVT::f32, 3, 72,
24077 23,
24078 OPC_CheckChild2CondCode, ISD::SETUNE,
24079 OPC_CheckTypeByHwMode0,
24080 OPC_MoveParent,
24081 OPC_RecordChild1,
24082 OPC_RecordChild2,
24083 OPC_CheckType, MVT::f32,
24084 OPC_CheckPatternPredicate3,
24085 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0,
24086 1, 0, 2, 9,
24087 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
24088 MVT::f32, 3, 72,
24089 23,
24090 OPC_CheckChild2CondCode, ISD::SETUO,
24091 OPC_CheckTypeByHwMode0,
24092 OPC_MoveParent,
24093 OPC_RecordChild1,
24094 OPC_RecordChild2,
24095 OPC_CheckType, MVT::f32,
24096 OPC_CheckPatternPredicate3,
24097 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0,
24098 1, 0, 2, 9,
24099 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
24100 MVT::f32, 3, 72,
24101 0,
24102 117|128,1,
24103 OPC_CheckChild0Type, MVT::f64,
24104 OPC_RecordChild1,
24105 OPC_Scope, 23,
24106 OPC_CheckChild2CondCode, ISD::SETOEQ,
24107 OPC_CheckTypeByHwMode0,
24108 OPC_MoveParent,
24109 OPC_RecordChild1,
24110 OPC_RecordChild2,
24111 OPC_CheckType, MVT::f64,
24112 OPC_CheckPatternPredicate4,
24113 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0,
24114 1, 0, 2, 9,
24115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
24116 MVT::f64, 3, 72,
24117 23,
24118 OPC_CheckChild2CondCode, ISD::SETOLT,
24119 OPC_CheckTypeByHwMode0,
24120 OPC_MoveParent,
24121 OPC_RecordChild1,
24122 OPC_RecordChild2,
24123 OPC_CheckType, MVT::f64,
24124 OPC_CheckPatternPredicate4,
24125 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0,
24126 1, 0, 2, 9,
24127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
24128 MVT::f64, 3, 72,
24129 23,
24130 OPC_CheckChild2CondCode, ISD::SETOLE,
24131 OPC_CheckTypeByHwMode0,
24132 OPC_MoveParent,
24133 OPC_RecordChild1,
24134 OPC_RecordChild2,
24135 OPC_CheckType, MVT::f64,
24136 OPC_CheckPatternPredicate4,
24137 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0,
24138 1, 0, 2, 9,
24139 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
24140 MVT::f64, 3, 72,
24141 23,
24142 OPC_CheckChild2CondCode, ISD::SETONE,
24143 OPC_CheckTypeByHwMode0,
24144 OPC_MoveParent,
24145 OPC_RecordChild1,
24146 OPC_RecordChild2,
24147 OPC_CheckType, MVT::f64,
24148 OPC_CheckPatternPredicate4,
24149 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0,
24150 1, 0, 2, 9,
24151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
24152 MVT::f64, 3, 72,
24153 23,
24154 OPC_CheckChild2CondCode, ISD::SETO,
24155 OPC_CheckTypeByHwMode0,
24156 OPC_MoveParent,
24157 OPC_RecordChild1,
24158 OPC_RecordChild2,
24159 OPC_CheckType, MVT::f64,
24160 OPC_CheckPatternPredicate4,
24161 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0,
24162 1, 0, 2, 9,
24163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
24164 MVT::f64, 3, 72,
24165 23,
24166 OPC_CheckChild2CondCode, ISD::SETUEQ,
24167 OPC_CheckTypeByHwMode0,
24168 OPC_MoveParent,
24169 OPC_RecordChild1,
24170 OPC_RecordChild2,
24171 OPC_CheckType, MVT::f64,
24172 OPC_CheckPatternPredicate4,
24173 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0,
24174 1, 0, 2, 9,
24175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
24176 MVT::f64, 3, 72,
24177 23,
24178 OPC_CheckChild2CondCode, ISD::SETULT,
24179 OPC_CheckTypeByHwMode0,
24180 OPC_MoveParent,
24181 OPC_RecordChild1,
24182 OPC_RecordChild2,
24183 OPC_CheckType, MVT::f64,
24184 OPC_CheckPatternPredicate4,
24185 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0,
24186 1, 0, 2, 9,
24187 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
24188 MVT::f64, 3, 72,
24189 23,
24190 OPC_CheckChild2CondCode, ISD::SETULE,
24191 OPC_CheckTypeByHwMode0,
24192 OPC_MoveParent,
24193 OPC_RecordChild1,
24194 OPC_RecordChild2,
24195 OPC_CheckType, MVT::f64,
24196 OPC_CheckPatternPredicate4,
24197 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0,
24198 1, 0, 2, 9,
24199 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
24200 MVT::f64, 3, 72,
24201 23,
24202 OPC_CheckChild2CondCode, ISD::SETUNE,
24203 OPC_CheckTypeByHwMode0,
24204 OPC_MoveParent,
24205 OPC_RecordChild1,
24206 OPC_RecordChild2,
24207 OPC_CheckType, MVT::f64,
24208 OPC_CheckPatternPredicate4,
24209 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0,
24210 1, 0, 2, 9,
24211 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
24212 MVT::f64, 3, 72,
24213 23,
24214 OPC_CheckChild2CondCode, ISD::SETUO,
24215 OPC_CheckTypeByHwMode0,
24216 OPC_MoveParent,
24217 OPC_RecordChild1,
24218 OPC_RecordChild2,
24219 OPC_CheckType, MVT::f64,
24220 OPC_CheckPatternPredicate4,
24221 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0,
24222 1, 0, 2, 9,
24223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
24224 MVT::f64, 3, 72,
24225 0,
24226 0,
24227 24,
24228 OPC_RecordChild0,
24229 OPC_CheckChild0TypeByHwMode0,
24230 OPC_RecordChild1,
24231 OPC_RecordChild2,
24232 OPC_SwitchType , 7, MVT::f32,
24233 OPC_CheckPatternPredicate3,
24234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xS),
24235 MVT::f32, 3, 2,
24236 7, MVT::f64,
24237 OPC_CheckPatternPredicate4,
24238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSEL_xD),
24239 MVT::f64, 3, 2,
24240 0,
24241 0,
24242 117|128,9, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
24243 OPC_RecordChild0,
24244 OPC_Scope, 17|128,4,
24245 OPC_CheckChild0Type, MVT::v32i8,
24246 OPC_Scope, 30,
24247 OPC_CheckChild1Integer, 16,
24248 OPC_CheckTypeByHwMode0,
24249 OPC_CheckPatternPredicate0,
24250 OPC_EmitIntegerByHwMode0, 14,
24251 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24252 MVT::v32i8, 2, 9,
24253 OPC_EmitIntegerI32, LoongArch::sub_128,
24254 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24255 MVT::v16i8, 2, 49,
24256 OPC_EmitIntegerByHwMode0, 0,
24257 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24258 1, 0, 2, 93,
24259 30,
24260 OPC_CheckChild1Integer, 17,
24261 OPC_CheckTypeByHwMode0,
24262 OPC_CheckPatternPredicate0,
24263 OPC_EmitIntegerByHwMode0, 14,
24264 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24265 MVT::v32i8, 2, 9,
24266 OPC_EmitIntegerI32, LoongArch::sub_128,
24267 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24268 MVT::v16i8, 2, 49,
24269 OPC_EmitIntegerByHwMode0, 1,
24270 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24271 1, 0, 2, 93,
24272 30,
24273 OPC_CheckChild1Integer, 18,
24274 OPC_CheckTypeByHwMode0,
24275 OPC_CheckPatternPredicate0,
24276 OPC_EmitIntegerByHwMode0, 14,
24277 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24278 MVT::v32i8, 2, 9,
24279 OPC_EmitIntegerI32, LoongArch::sub_128,
24280 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24281 MVT::v16i8, 2, 49,
24282 OPC_EmitIntegerByHwMode0, 2,
24283 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24284 1, 0, 2, 93,
24285 30,
24286 OPC_CheckChild1Integer, 19,
24287 OPC_CheckTypeByHwMode0,
24288 OPC_CheckPatternPredicate0,
24289 OPC_EmitIntegerByHwMode0, 14,
24290 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24291 MVT::v32i8, 2, 9,
24292 OPC_EmitIntegerI32, LoongArch::sub_128,
24293 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24294 MVT::v16i8, 2, 49,
24295 OPC_EmitIntegerByHwMode0, 3,
24296 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24297 1, 0, 2, 93,
24298 30,
24299 OPC_CheckChild1Integer, 20,
24300 OPC_CheckTypeByHwMode0,
24301 OPC_CheckPatternPredicate0,
24302 OPC_EmitIntegerByHwMode0, 14,
24303 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24304 MVT::v32i8, 2, 9,
24305 OPC_EmitIntegerI32, LoongArch::sub_128,
24306 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24307 MVT::v16i8, 2, 49,
24308 OPC_EmitIntegerByHwMode0, 4,
24309 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24310 1, 0, 2, 93,
24311 30,
24312 OPC_CheckChild1Integer, 21,
24313 OPC_CheckTypeByHwMode0,
24314 OPC_CheckPatternPredicate0,
24315 OPC_EmitIntegerByHwMode0, 14,
24316 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24317 MVT::v32i8, 2, 9,
24318 OPC_EmitIntegerI32, LoongArch::sub_128,
24319 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24320 MVT::v16i8, 2, 49,
24321 OPC_EmitIntegerByHwMode0, 5,
24322 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24323 1, 0, 2, 93,
24324 30,
24325 OPC_CheckChild1Integer, 22,
24326 OPC_CheckTypeByHwMode0,
24327 OPC_CheckPatternPredicate0,
24328 OPC_EmitIntegerByHwMode0, 14,
24329 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24330 MVT::v32i8, 2, 9,
24331 OPC_EmitIntegerI32, LoongArch::sub_128,
24332 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24333 MVT::v16i8, 2, 49,
24334 OPC_EmitIntegerByHwMode0, 6,
24335 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24336 1, 0, 2, 93,
24337 30,
24338 OPC_CheckChild1Integer, 23,
24339 OPC_CheckTypeByHwMode0,
24340 OPC_CheckPatternPredicate0,
24341 OPC_EmitIntegerByHwMode0, 14,
24342 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24343 MVT::v32i8, 2, 9,
24344 OPC_EmitIntegerI32, LoongArch::sub_128,
24345 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24346 MVT::v16i8, 2, 49,
24347 OPC_EmitIntegerByHwMode0, 7,
24348 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24349 1, 0, 2, 93,
24350 30,
24351 OPC_CheckChild1Integer, 24,
24352 OPC_CheckTypeByHwMode0,
24353 OPC_CheckPatternPredicate0,
24354 OPC_EmitIntegerByHwMode0, 14,
24355 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24356 MVT::v32i8, 2, 9,
24357 OPC_EmitIntegerI32, LoongArch::sub_128,
24358 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24359 MVT::v16i8, 2, 49,
24360 OPC_EmitIntegerByHwMode0, 8,
24361 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24362 1, 0, 2, 93,
24363 30,
24364 OPC_CheckChild1Integer, 25,
24365 OPC_CheckTypeByHwMode0,
24366 OPC_CheckPatternPredicate0,
24367 OPC_EmitIntegerByHwMode0, 14,
24368 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24369 MVT::v32i8, 2, 9,
24370 OPC_EmitIntegerI32, LoongArch::sub_128,
24371 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24372 MVT::v16i8, 2, 49,
24373 OPC_EmitIntegerByHwMode0, 9,
24374 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24375 1, 0, 2, 93,
24376 30,
24377 OPC_CheckChild1Integer, 26,
24378 OPC_CheckTypeByHwMode0,
24379 OPC_CheckPatternPredicate0,
24380 OPC_EmitIntegerByHwMode0, 14,
24381 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24382 MVT::v32i8, 2, 9,
24383 OPC_EmitIntegerI32, LoongArch::sub_128,
24384 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24385 MVT::v16i8, 2, 49,
24386 OPC_EmitIntegerByHwMode0, 10,
24387 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24388 1, 0, 2, 93,
24389 30,
24390 OPC_CheckChild1Integer, 27,
24391 OPC_CheckTypeByHwMode0,
24392 OPC_CheckPatternPredicate0,
24393 OPC_EmitIntegerByHwMode0, 14,
24394 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24395 MVT::v32i8, 2, 9,
24396 OPC_EmitIntegerI32, LoongArch::sub_128,
24397 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24398 MVT::v16i8, 2, 49,
24399 OPC_EmitIntegerByHwMode0, 11,
24400 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24401 1, 0, 2, 93,
24402 30,
24403 OPC_CheckChild1Integer, 28,
24404 OPC_CheckTypeByHwMode0,
24405 OPC_CheckPatternPredicate0,
24406 OPC_EmitIntegerByHwMode0, 14,
24407 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24408 MVT::v32i8, 2, 9,
24409 OPC_EmitIntegerI32, LoongArch::sub_128,
24410 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24411 MVT::v16i8, 2, 49,
24412 OPC_EmitIntegerByHwMode0, 12,
24413 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24414 1, 0, 2, 93,
24415 30,
24416 OPC_CheckChild1Integer, 29,
24417 OPC_CheckTypeByHwMode0,
24418 OPC_CheckPatternPredicate0,
24419 OPC_EmitIntegerByHwMode0, 14,
24420 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24421 MVT::v32i8, 2, 9,
24422 OPC_EmitIntegerI32, LoongArch::sub_128,
24423 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24424 MVT::v16i8, 2, 49,
24425 OPC_EmitIntegerByHwMode0, 13,
24426 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24427 1, 0, 2, 93,
24428 30,
24429 OPC_CheckChild1Integer, 30,
24430 OPC_CheckTypeByHwMode0,
24431 OPC_CheckPatternPredicate0,
24432 OPC_EmitIntegerByHwMode0, 14,
24433 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24434 MVT::v32i8, 2, 9,
24435 OPC_EmitIntegerI32, LoongArch::sub_128,
24436 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24437 MVT::v16i8, 2, 49,
24438 OPC_EmitIntegerByHwMode0, 14,
24439 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24440 1, 0, 2, 93,
24441 30,
24442 OPC_CheckChild1Integer, 31,
24443 OPC_CheckTypeByHwMode0,
24444 OPC_CheckPatternPredicate0,
24445 OPC_EmitIntegerByHwMode0, 14,
24446 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24447 MVT::v32i8, 2, 9,
24448 OPC_EmitIntegerI32, LoongArch::sub_128,
24449 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24450 MVT::v16i8, 2, 49,
24451 OPC_EmitIntegerByHwMode0, 15,
24452 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24453 1, 0, 2, 93,
24454 28,
24455 OPC_RecordChild1,
24456 OPC_MoveChild1,
24457 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24458 OPC_CheckPredicate, 21,
24459 OPC_CheckTypeByHwMode0,
24460 OPC_MoveParent,
24461 OPC_CheckTypeByHwMode0,
24462 OPC_CheckPatternPredicate0,
24463 OPC_EmitIntegerI32, LoongArch::sub_128,
24464 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24465 MVT::v16i8, 2, 22,
24466 OPC_EmitConvertToTarget1,
24467 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24468 1, 0, 2, 76,
24469 0,
24470 25|128,2,
24471 OPC_CheckChild0Type, MVT::v16i16,
24472 OPC_Scope, 30,
24473 OPC_CheckChild1Integer, 8,
24474 OPC_CheckTypeByHwMode0,
24475 OPC_CheckPatternPredicate0,
24476 OPC_EmitIntegerByHwMode0, 14,
24477 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24478 MVT::v32i8, 2, 9,
24479 OPC_EmitIntegerI32, LoongArch::sub_128,
24480 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24481 MVT::v16i8, 2, 49,
24482 OPC_EmitIntegerByHwMode0, 0,
24483 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
24484 1, 0, 2, 93,
24485 30,
24486 OPC_CheckChild1Integer, 9,
24487 OPC_CheckTypeByHwMode0,
24488 OPC_CheckPatternPredicate0,
24489 OPC_EmitIntegerByHwMode0, 14,
24490 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24491 MVT::v32i8, 2, 9,
24492 OPC_EmitIntegerI32, LoongArch::sub_128,
24493 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24494 MVT::v16i8, 2, 49,
24495 OPC_EmitIntegerByHwMode0, 1,
24496 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
24497 1, 0, 2, 93,
24498 30,
24499 OPC_CheckChild1Integer, 10,
24500 OPC_CheckTypeByHwMode0,
24501 OPC_CheckPatternPredicate0,
24502 OPC_EmitIntegerByHwMode0, 14,
24503 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24504 MVT::v32i8, 2, 9,
24505 OPC_EmitIntegerI32, LoongArch::sub_128,
24506 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24507 MVT::v16i8, 2, 49,
24508 OPC_EmitIntegerByHwMode0, 2,
24509 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
24510 1, 0, 2, 93,
24511 30,
24512 OPC_CheckChild1Integer, 11,
24513 OPC_CheckTypeByHwMode0,
24514 OPC_CheckPatternPredicate0,
24515 OPC_EmitIntegerByHwMode0, 14,
24516 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24517 MVT::v32i8, 2, 9,
24518 OPC_EmitIntegerI32, LoongArch::sub_128,
24519 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24520 MVT::v16i8, 2, 49,
24521 OPC_EmitIntegerByHwMode0, 3,
24522 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
24523 1, 0, 2, 93,
24524 30,
24525 OPC_CheckChild1Integer, 12,
24526 OPC_CheckTypeByHwMode0,
24527 OPC_CheckPatternPredicate0,
24528 OPC_EmitIntegerByHwMode0, 14,
24529 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24530 MVT::v32i8, 2, 9,
24531 OPC_EmitIntegerI32, LoongArch::sub_128,
24532 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24533 MVT::v16i8, 2, 49,
24534 OPC_EmitIntegerByHwMode0, 4,
24535 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
24536 1, 0, 2, 93,
24537 30,
24538 OPC_CheckChild1Integer, 13,
24539 OPC_CheckTypeByHwMode0,
24540 OPC_CheckPatternPredicate0,
24541 OPC_EmitIntegerByHwMode0, 14,
24542 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24543 MVT::v32i8, 2, 9,
24544 OPC_EmitIntegerI32, LoongArch::sub_128,
24545 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24546 MVT::v16i8, 2, 49,
24547 OPC_EmitIntegerByHwMode0, 5,
24548 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
24549 1, 0, 2, 93,
24550 30,
24551 OPC_CheckChild1Integer, 14,
24552 OPC_CheckTypeByHwMode0,
24553 OPC_CheckPatternPredicate0,
24554 OPC_EmitIntegerByHwMode0, 14,
24555 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24556 MVT::v32i8, 2, 9,
24557 OPC_EmitIntegerI32, LoongArch::sub_128,
24558 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24559 MVT::v16i8, 2, 49,
24560 OPC_EmitIntegerByHwMode0, 6,
24561 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
24562 1, 0, 2, 93,
24563 30,
24564 OPC_CheckChild1Integer, 15,
24565 OPC_CheckTypeByHwMode0,
24566 OPC_CheckPatternPredicate0,
24567 OPC_EmitIntegerByHwMode0, 14,
24568 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
24569 MVT::v32i8, 2, 9,
24570 OPC_EmitIntegerI32, LoongArch::sub_128,
24571 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24572 MVT::v16i8, 2, 49,
24573 OPC_EmitIntegerByHwMode0, 7,
24574 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
24575 1, 0, 2, 93,
24576 28,
24577 OPC_RecordChild1,
24578 OPC_MoveChild1,
24579 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24580 OPC_CheckPredicate, 11,
24581 OPC_CheckTypeByHwMode0,
24582 OPC_MoveParent,
24583 OPC_CheckTypeByHwMode0,
24584 OPC_CheckPatternPredicate0,
24585 OPC_EmitIntegerI32, LoongArch::sub_128,
24586 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24587 MVT::v16i8, 2, 22,
24588 OPC_EmitConvertToTarget1,
24589 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
24590 1, 0, 2, 76,
24591 0,
24592 63,
24593 OPC_CheckChild0Type, MVT::v16i8,
24594 OPC_RecordChild1,
24595 OPC_Scope, 19,
24596 OPC_MoveChild1,
24597 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24598 OPC_CheckPredicate, 21,
24599 OPC_CheckTypeByHwMode0,
24600 OPC_MoveParent,
24601 OPC_CheckTypeByHwMode0,
24602 OPC_CheckPatternPredicate1,
24603 OPC_EmitConvertToTarget1,
24604 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
24605 1, 0, 2, 22,
24606 37,
24607 OPC_CheckChild1TypeByHwMode0,
24608 OPC_CheckTypeByHwMode0,
24609 OPC_CheckPatternPredicate1,
24610 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_B),
24611 MVT::v16i8, 2, 9,
24612 OPC_EmitIntegerI32, LoongArch::sub_32,
24613 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24614 MVT::f32, 2, 49,
24615 OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
24616 OPC_EmitNodeByHwMode, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
24617 1, 0, 2, 93,
24618 OPC_EmitIntegerByHwMode0, 24,
24619 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRAI_W), 0,
24620 1, 0, 2, 126,
24621 0,
24622 63,
24623 OPC_CheckChild0Type, MVT::v8i16,
24624 OPC_RecordChild1,
24625 OPC_Scope, 19,
24626 OPC_MoveChild1,
24627 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24628 OPC_CheckPredicate, 11,
24629 OPC_CheckTypeByHwMode0,
24630 OPC_MoveParent,
24631 OPC_CheckTypeByHwMode0,
24632 OPC_CheckPatternPredicate1,
24633 OPC_EmitConvertToTarget1,
24634 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
24635 1, 0, 2, 22,
24636 37,
24637 OPC_CheckChild1TypeByHwMode0,
24638 OPC_CheckTypeByHwMode0,
24639 OPC_CheckPatternPredicate1,
24640 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_H),
24641 MVT::v16i8, 2, 9,
24642 OPC_EmitIntegerI32, LoongArch::sub_32,
24643 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24644 MVT::f32, 2, 49,
24645 OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
24646 OPC_EmitNodeByHwMode, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
24647 1, 0, 2, 93,
24648 OPC_EmitIntegerByHwMode0, 16,
24649 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRAI_W), 0,
24650 1, 0, 2, 126,
24651 0,
24652 53,
24653 OPC_CheckChild0Type, MVT::v4i32,
24654 OPC_RecordChild1,
24655 OPC_Scope, 19,
24656 OPC_MoveChild1,
24657 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24658 OPC_CheckPredicate, 18,
24659 OPC_CheckTypeByHwMode0,
24660 OPC_MoveParent,
24661 OPC_CheckTypeByHwMode0,
24662 OPC_CheckPatternPredicate1,
24663 OPC_EmitConvertToTarget1,
24664 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_W), 0,
24665 1, 0, 2, 22,
24666 27,
24667 OPC_CheckChild1TypeByHwMode0,
24668 OPC_CheckTypeByHwMode0,
24669 OPC_CheckPatternPredicate1,
24670 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
24671 MVT::v16i8, 2, 9,
24672 OPC_EmitIntegerI32, LoongArch::sub_32,
24673 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24674 MVT::f32, 2, 49,
24675 OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
24676 OPC_MorphNodeToByHwMode, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
24677 1, 0, 2, 93,
24678 0,
24679 54,
24680 OPC_CheckChild0Type, MVT::v2i64,
24681 OPC_RecordChild1,
24682 OPC_Scope, 20,
24683 OPC_MoveChild1,
24684 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24685 OPC_CheckPredicate, 25,
24686 OPC_CheckTypeByHwMode0,
24687 OPC_MoveParent,
24688 OPC_CheckTypeByHwMode, 1,
24689 OPC_CheckPatternPredicate1,
24690 OPC_EmitConvertToTarget1,
24691 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_D), 0,
24692 1, 1, 2, 22,
24693 27,
24694 OPC_CheckChild1TypeByHwMode0,
24695 OPC_CheckTypeByHwMode0,
24696 OPC_CheckPatternPredicate1,
24697 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
24698 MVT::v16i8, 2, 9,
24699 OPC_EmitIntegerI32, LoongArch::sub_64,
24700 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24701 MVT::f64, 2, 49,
24702 OPC_EmitIntegerI32, LoongArch::GPRRegClassID,
24703 OPC_MorphNodeToByHwMode, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
24704 1, 0, 2, 93,
24705 0,
24706 22,
24707 OPC_CheckChild0Type, MVT::v8i32,
24708 OPC_RecordChild1,
24709 OPC_MoveChild1,
24710 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24711 OPC_CheckPredicate, 11,
24712 OPC_CheckTypeByHwMode0,
24713 OPC_MoveParent,
24714 OPC_CheckTypeByHwMode0,
24715 OPC_CheckPatternPredicate0,
24716 OPC_EmitConvertToTarget1,
24717 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_W), 0,
24718 1, 0, 2, 22,
24719 23,
24720 OPC_CheckChild0Type, MVT::v4i64,
24721 OPC_RecordChild1,
24722 OPC_MoveChild1,
24723 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24724 OPC_CheckPredicate, 18,
24725 OPC_CheckTypeByHwMode0,
24726 OPC_MoveParent,
24727 OPC_CheckTypeByHwMode, 1,
24728 OPC_CheckPatternPredicate0,
24729 OPC_EmitConvertToTarget1,
24730 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_D), 0,
24731 1, 1, 2, 22,
24732 52,
24733 OPC_CheckChild0Type, 11|128,1,
24734 OPC_RecordChild1,
24735 OPC_Scope, 26,
24736 OPC_MoveChild1,
24737 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24738 OPC_CheckPredicate, 18,
24739 OPC_CheckTypeByHwMode0,
24740 OPC_MoveParent,
24741 OPC_CheckType, MVT::f32,
24742 OPC_CheckPatternPredicate1,
24743 OPC_EmitConvertToTarget1,
24744 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
24745 MVT::v16i8, 2, 22,
24746 OPC_EmitIntegerI32, LoongArch::sub_32,
24747 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24748 MVT::f32, 2, 76,
24749 18,
24750 OPC_CheckChild1TypeByHwMode0,
24751 OPC_CheckType, MVT::f32,
24752 OPC_CheckPatternPredicate1,
24753 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_W),
24754 MVT::v16i8, 2, 9,
24755 OPC_EmitIntegerI32, LoongArch::sub_32,
24756 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24757 MVT::f32, 2, 49,
24758 0,
24759 52,
24760 OPC_CheckChild0Type, 29|128,1,
24761 OPC_RecordChild1,
24762 OPC_Scope, 26,
24763 OPC_MoveChild1,
24764 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24765 OPC_CheckPredicate, 25,
24766 OPC_CheckTypeByHwMode0,
24767 OPC_MoveParent,
24768 OPC_CheckType, MVT::f64,
24769 OPC_CheckPatternPredicate1,
24770 OPC_EmitConvertToTarget1,
24771 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
24772 MVT::v16i8, 2, 22,
24773 OPC_EmitIntegerI32, LoongArch::sub_64,
24774 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24775 MVT::f64, 2, 76,
24776 18,
24777 OPC_CheckChild1TypeByHwMode0,
24778 OPC_CheckType, MVT::f64,
24779 OPC_CheckPatternPredicate1,
24780 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVE_D),
24781 MVT::v16i8, 2, 9,
24782 OPC_EmitIntegerI32, LoongArch::sub_64,
24783 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24784 MVT::f64, 2, 49,
24785 0,
24786 30,
24787 OPC_CheckChild0Type, 15|128,1,
24788 OPC_RecordChild1,
24789 OPC_MoveChild1,
24790 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24791 OPC_CheckPredicate, 11,
24792 OPC_CheckTypeByHwMode0,
24793 OPC_MoveParent,
24794 OPC_CheckType, MVT::f32,
24795 OPC_CheckPatternPredicate0,
24796 OPC_EmitConvertToTarget1,
24797 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_W),
24798 MVT::v32i8, 2, 22,
24799 OPC_EmitIntegerI32, LoongArch::sub_32,
24800 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24801 MVT::f32, 2, 76,
24802 30,
24803 OPC_CheckChild0Type, 31|128,1,
24804 OPC_RecordChild1,
24805 OPC_MoveChild1,
24806 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24807 OPC_CheckPredicate, 18,
24808 OPC_CheckTypeByHwMode0,
24809 OPC_MoveParent,
24810 OPC_CheckType, MVT::f64,
24811 OPC_CheckPatternPredicate0,
24812 OPC_EmitConvertToTarget1,
24813 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_D),
24814 MVT::v32i8, 2, 22,
24815 OPC_EmitIntegerI32, LoongArch::sub_64,
24816 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
24817 MVT::f64, 2, 76,
24818 0,
24819 51, TARGET_VAL(LoongArchISD::SELECT_CC),
24820 OPC_RecordNode,
24821 OPC_RecordChild0,
24822 OPC_CheckChild0TypeByHwMode0,
24823 OPC_Scope, 24,
24824 OPC_CheckChild1Integer, 0,
24825 OPC_MoveChild2,
24826 OPC_CheckOpcode, TARGET_VAL(ISD::CONDCODE),
24827 OPC_MoveParent,
24828 OPC_RecordChild3,
24829 OPC_RecordChild4,
24830 OPC_CheckTypeByHwMode0,
24831 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
24832 OPC_EmitNodeXForm, 11, 0,
24833 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::Select_GPR_Using_CC_GPR), 0,
24834 1, 0, 5, 57,
24835 20,
24836 OPC_RecordChild1,
24837 OPC_MoveChild2,
24838 OPC_CheckOpcode, TARGET_VAL(ISD::CONDCODE),
24839 OPC_MoveParent,
24840 OPC_RecordChild3,
24841 OPC_RecordChild4,
24842 OPC_CheckTypeByHwMode0,
24843 OPC_EmitNodeXForm, 11, 0,
24844 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::Select_GPR_Using_CC_GPR), 0,
24845 1, 0, 5, 85,
24846 0,
24847 37|128,4, TARGET_VAL(ISD::ROTR),
24848 OPC_RecordChild0,
24849 OPC_Scope, 73,
24850 OPC_RecordChild1,
24851 OPC_Scope, 38,
24852 OPC_MoveChild1,
24853 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
24854 OPC_Scope, 15,
24855 OPC_CheckPredicate, 20,
24856 OPC_CheckTypeByHwMode0,
24857 OPC_MoveParent,
24858 OPC_CheckTypeByHwMode0,
24859 OPC_CheckPatternPredicate6,
24860 OPC_EmitConvertToTarget1,
24861 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTRI_W), 0,
24862 1, 0, 2, 22,
24863 15,
24864 OPC_CheckPredicate, 26,
24865 OPC_CheckTypeByHwMode0,
24866 OPC_MoveParent,
24867 OPC_CheckTypeByHwMode0,
24868 OPC_CheckPatternPredicate2,
24869 OPC_EmitConvertToTarget1,
24870 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTRI_D), 0,
24871 1, 0, 2, 22,
24872 0,
24873 30,
24874 OPC_CheckChild1TypeByHwMode0,
24875 OPC_CheckTypeByHwMode0,
24876 OPC_Scope, 12,
24877 OPC_CheckPatternPredicate6,
24878 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
24879 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTR_W), 0,
24880 1, 0, 2, 22,
24881 12,
24882 OPC_CheckPatternPredicate2,
24883 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
24884 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTR_D), 0,
24885 1, 0, 2, 22,
24886 0,
24887 0,
24888 23|128,2,
24889 OPC_MoveChild1,
24890 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
24891 OPC_Scope, 10|128,1,
24892 OPC_MoveChild0,
24893 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
24894 OPC_Scope, 16,
24895 OPC_CheckPredicate, 14,
24896 OPC_MoveParent,
24897 OPC_RecordChild1,
24898 OPC_CheckType, MVT::v16i8,
24899 OPC_MoveParent,
24900 OPC_CheckType, MVT::v16i8,
24901 OPC_CheckPatternPredicate1,
24902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
24903 MVT::v16i8, 2, 9,
24904 16,
24905 OPC_CheckPredicate, 15,
24906 OPC_MoveParent,
24907 OPC_RecordChild1,
24908 OPC_CheckType, MVT::v8i16,
24909 OPC_MoveParent,
24910 OPC_CheckType, MVT::v8i16,
24911 OPC_CheckPatternPredicate1,
24912 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
24913 MVT::v8i16, 2, 9,
24914 16,
24915 OPC_CheckPredicate, 16,
24916 OPC_MoveParent,
24917 OPC_RecordChild1,
24918 OPC_CheckType, MVT::v4i32,
24919 OPC_MoveParent,
24920 OPC_CheckType, MVT::v4i32,
24921 OPC_CheckPatternPredicate1,
24922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
24923 MVT::v4i32, 2, 9,
24924 14,
24925 OPC_CheckPredicate, 17,
24926 OPC_MoveParent,
24927 OPC_RecordChild1,
24928 OPC_MoveParent,
24929 OPC_CheckType, MVT::v2i64,
24930 OPC_CheckPatternPredicate1,
24931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
24932 MVT::v2i64, 2, 9,
24933 14,
24934 OPC_CheckPredicate, 14,
24935 OPC_MoveParent,
24936 OPC_RecordChild1,
24937 OPC_MoveParent,
24938 OPC_CheckType, MVT::v32i8,
24939 OPC_CheckPatternPredicate0,
24940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
24941 MVT::v32i8, 2, 9,
24942 16,
24943 OPC_CheckPredicate, 15,
24944 OPC_MoveParent,
24945 OPC_RecordChild1,
24946 OPC_CheckType, MVT::v16i16,
24947 OPC_MoveParent,
24948 OPC_CheckType, MVT::v16i16,
24949 OPC_CheckPatternPredicate0,
24950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
24951 MVT::v16i16, 2, 9,
24952 16,
24953 OPC_CheckPredicate, 16,
24954 OPC_MoveParent,
24955 OPC_RecordChild1,
24956 OPC_CheckType, MVT::v8i32,
24957 OPC_MoveParent,
24958 OPC_CheckType, MVT::v8i32,
24959 OPC_CheckPatternPredicate0,
24960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
24961 MVT::v8i32, 2, 9,
24962 16,
24963 OPC_CheckPredicate, 17,
24964 OPC_MoveParent,
24965 OPC_RecordChild1,
24966 OPC_CheckType, MVT::v4i64,
24967 OPC_MoveParent,
24968 OPC_CheckType, MVT::v4i64,
24969 OPC_CheckPatternPredicate0,
24970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
24971 MVT::v4i64, 2, 9,
24972 0,
24973 3|128,1,
24974 OPC_RecordChild0,
24975 OPC_MoveChild1,
24976 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
24977 OPC_Scope, 15,
24978 OPC_CheckPredicate, 14,
24979 OPC_MoveParent,
24980 OPC_CheckType, MVT::v16i8,
24981 OPC_MoveParent,
24982 OPC_CheckType, MVT::v16i8,
24983 OPC_CheckPatternPredicate1,
24984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
24985 MVT::v16i8, 2, 9,
24986 15,
24987 OPC_CheckPredicate, 15,
24988 OPC_MoveParent,
24989 OPC_CheckType, MVT::v8i16,
24990 OPC_MoveParent,
24991 OPC_CheckType, MVT::v8i16,
24992 OPC_CheckPatternPredicate1,
24993 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
24994 MVT::v8i16, 2, 9,
24995 15,
24996 OPC_CheckPredicate, 16,
24997 OPC_MoveParent,
24998 OPC_CheckType, MVT::v4i32,
24999 OPC_MoveParent,
25000 OPC_CheckType, MVT::v4i32,
25001 OPC_CheckPatternPredicate1,
25002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
25003 MVT::v4i32, 2, 9,
25004 13,
25005 OPC_CheckPredicate, 17,
25006 OPC_MoveParent,
25007 OPC_MoveParent,
25008 OPC_CheckType, MVT::v2i64,
25009 OPC_CheckPatternPredicate1,
25010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
25011 MVT::v2i64, 2, 9,
25012 13,
25013 OPC_CheckPredicate, 14,
25014 OPC_MoveParent,
25015 OPC_MoveParent,
25016 OPC_CheckType, MVT::v32i8,
25017 OPC_CheckPatternPredicate0,
25018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
25019 MVT::v32i8, 2, 9,
25020 15,
25021 OPC_CheckPredicate, 15,
25022 OPC_MoveParent,
25023 OPC_CheckType, MVT::v16i16,
25024 OPC_MoveParent,
25025 OPC_CheckType, MVT::v16i16,
25026 OPC_CheckPatternPredicate0,
25027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
25028 MVT::v16i16, 2, 9,
25029 15,
25030 OPC_CheckPredicate, 16,
25031 OPC_MoveParent,
25032 OPC_CheckType, MVT::v8i32,
25033 OPC_MoveParent,
25034 OPC_CheckType, MVT::v8i32,
25035 OPC_CheckPatternPredicate0,
25036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
25037 MVT::v8i32, 2, 9,
25038 15,
25039 OPC_CheckPredicate, 17,
25040 OPC_MoveParent,
25041 OPC_CheckType, MVT::v4i64,
25042 OPC_MoveParent,
25043 OPC_CheckType, MVT::v4i64,
25044 OPC_CheckPatternPredicate0,
25045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
25046 MVT::v4i64, 2, 9,
25047 0,
25048 0,
25049 61|128,1,
25050 OPC_RecordChild1,
25051 OPC_SwitchType , 22, MVT::v16i8,
25052 OPC_CheckChild1Type, MVT::v16i8,
25053 OPC_CheckPatternPredicate1,
25054 OPC_Scope, 9,
25055 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
25056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_B),
25057 MVT::v16i8, 2, 22,
25058 6,
25059 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_B),
25060 MVT::v16i8, 2, 9,
25061 0,
25062 22, MVT::v8i16,
25063 OPC_CheckChild1Type, MVT::v8i16,
25064 OPC_CheckPatternPredicate1,
25065 OPC_Scope, 9,
25066 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
25067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_H),
25068 MVT::v8i16, 2, 22,
25069 6,
25070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_H),
25071 MVT::v8i16, 2, 9,
25072 0,
25073 21, MVT::v4i32,
25074 OPC_CheckChild1Type, MVT::v4i32,
25075 OPC_CheckPatternPredicate1,
25076 OPC_Scope, 8,
25077 OPC_CheckComplexPat2, /*#*/1,
25078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_W),
25079 MVT::v4i32, 2, 22,
25080 6,
25081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_W),
25082 MVT::v4i32, 2, 9,
25083 0,
25084 20, MVT::v2i64,
25085 OPC_CheckPatternPredicate1,
25086 OPC_Scope, 9,
25087 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
25088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTRI_D),
25089 MVT::v2i64, 2, 22,
25090 6,
25091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VROTR_D),
25092 MVT::v2i64, 2, 9,
25093 0,
25094 20, MVT::v32i8,
25095 OPC_CheckPatternPredicate0,
25096 OPC_Scope, 9,
25097 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
25098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_B),
25099 MVT::v32i8, 2, 22,
25100 6,
25101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_B),
25102 MVT::v32i8, 2, 9,
25103 0,
25104 22, MVT::v16i16,
25105 OPC_CheckChild1Type, MVT::v16i16,
25106 OPC_CheckPatternPredicate0,
25107 OPC_Scope, 9,
25108 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
25109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_H),
25110 MVT::v16i16, 2, 22,
25111 6,
25112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_H),
25113 MVT::v16i16, 2, 9,
25114 0,
25115 21, MVT::v8i32,
25116 OPC_CheckChild1Type, MVT::v8i32,
25117 OPC_CheckPatternPredicate0,
25118 OPC_Scope, 8,
25119 OPC_CheckComplexPat2, /*#*/1,
25120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_W),
25121 MVT::v8i32, 2, 22,
25122 6,
25123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_W),
25124 MVT::v8i32, 2, 9,
25125 0,
25126 22, MVT::v4i64,
25127 OPC_CheckChild1Type, MVT::v4i64,
25128 OPC_CheckPatternPredicate0,
25129 OPC_Scope, 9,
25130 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
25131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTRI_D),
25132 MVT::v4i64, 2, 22,
25133 6,
25134 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVROTR_D),
25135 MVT::v4i64, 2, 9,
25136 0,
25137 0,
25138 0,
25139 39, TARGET_VAL(LoongArchISD::ROTR_W),
25140 OPC_RecordChild0,
25141 OPC_RecordChild1,
25142 OPC_Scope, 19,
25143 OPC_MoveChild1,
25144 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25145 OPC_CheckPredicate, 20,
25146 OPC_MoveParent,
25147 OPC_CheckTypeByHwMode, 1,
25148 OPC_CheckPatternPredicate2,
25149 OPC_EmitConvertToTarget1,
25150 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTRI_W), 0,
25151 1, 1, 2, 22,
25152 14,
25153 OPC_CheckTypeByHwMode, 1,
25154 OPC_CheckPatternPredicate2,
25155 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
25156 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTR_W), 0,
25157 1, 1, 2, 22,
25158 0,
25159 37|128,4, TARGET_VAL(ISD::SHL),
25160 OPC_RecordChild0,
25161 OPC_Scope, 73,
25162 OPC_RecordChild1,
25163 OPC_Scope, 38,
25164 OPC_MoveChild1,
25165 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25166 OPC_Scope, 15,
25167 OPC_CheckPredicate, 20,
25168 OPC_CheckTypeByHwMode0,
25169 OPC_MoveParent,
25170 OPC_CheckTypeByHwMode0,
25171 OPC_CheckPatternPredicate5,
25172 OPC_EmitConvertToTarget1,
25173 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLLI_W), 0,
25174 1, 0, 2, 22,
25175 15,
25176 OPC_CheckPredicate, 26,
25177 OPC_CheckTypeByHwMode0,
25178 OPC_MoveParent,
25179 OPC_CheckTypeByHwMode0,
25180 OPC_CheckPatternPredicate2,
25181 OPC_EmitConvertToTarget1,
25182 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLLI_D), 0,
25183 1, 0, 2, 22,
25184 0,
25185 30,
25186 OPC_CheckChild1TypeByHwMode0,
25187 OPC_CheckTypeByHwMode0,
25188 OPC_Scope, 12,
25189 OPC_CheckPatternPredicate5,
25190 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
25191 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLL_W), 0,
25192 1, 0, 2, 22,
25193 12,
25194 OPC_CheckPatternPredicate2,
25195 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
25196 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLL_D), 0,
25197 1, 0, 2, 22,
25198 0,
25199 0,
25200 23|128,2,
25201 OPC_MoveChild1,
25202 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
25203 OPC_Scope, 10|128,1,
25204 OPC_MoveChild0,
25205 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
25206 OPC_Scope, 16,
25207 OPC_CheckPredicate, 14,
25208 OPC_MoveParent,
25209 OPC_RecordChild1,
25210 OPC_CheckType, MVT::v16i8,
25211 OPC_MoveParent,
25212 OPC_CheckType, MVT::v16i8,
25213 OPC_CheckPatternPredicate1,
25214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
25215 MVT::v16i8, 2, 9,
25216 16,
25217 OPC_CheckPredicate, 15,
25218 OPC_MoveParent,
25219 OPC_RecordChild1,
25220 OPC_CheckType, MVT::v8i16,
25221 OPC_MoveParent,
25222 OPC_CheckType, MVT::v8i16,
25223 OPC_CheckPatternPredicate1,
25224 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
25225 MVT::v8i16, 2, 9,
25226 16,
25227 OPC_CheckPredicate, 16,
25228 OPC_MoveParent,
25229 OPC_RecordChild1,
25230 OPC_CheckType, MVT::v4i32,
25231 OPC_MoveParent,
25232 OPC_CheckType, MVT::v4i32,
25233 OPC_CheckPatternPredicate1,
25234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
25235 MVT::v4i32, 2, 9,
25236 14,
25237 OPC_CheckPredicate, 17,
25238 OPC_MoveParent,
25239 OPC_RecordChild1,
25240 OPC_MoveParent,
25241 OPC_CheckType, MVT::v2i64,
25242 OPC_CheckPatternPredicate1,
25243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
25244 MVT::v2i64, 2, 9,
25245 14,
25246 OPC_CheckPredicate, 14,
25247 OPC_MoveParent,
25248 OPC_RecordChild1,
25249 OPC_MoveParent,
25250 OPC_CheckType, MVT::v32i8,
25251 OPC_CheckPatternPredicate0,
25252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
25253 MVT::v32i8, 2, 9,
25254 16,
25255 OPC_CheckPredicate, 15,
25256 OPC_MoveParent,
25257 OPC_RecordChild1,
25258 OPC_CheckType, MVT::v16i16,
25259 OPC_MoveParent,
25260 OPC_CheckType, MVT::v16i16,
25261 OPC_CheckPatternPredicate0,
25262 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
25263 MVT::v16i16, 2, 9,
25264 16,
25265 OPC_CheckPredicate, 16,
25266 OPC_MoveParent,
25267 OPC_RecordChild1,
25268 OPC_CheckType, MVT::v8i32,
25269 OPC_MoveParent,
25270 OPC_CheckType, MVT::v8i32,
25271 OPC_CheckPatternPredicate0,
25272 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
25273 MVT::v8i32, 2, 9,
25274 16,
25275 OPC_CheckPredicate, 17,
25276 OPC_MoveParent,
25277 OPC_RecordChild1,
25278 OPC_CheckType, MVT::v4i64,
25279 OPC_MoveParent,
25280 OPC_CheckType, MVT::v4i64,
25281 OPC_CheckPatternPredicate0,
25282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
25283 MVT::v4i64, 2, 9,
25284 0,
25285 3|128,1,
25286 OPC_RecordChild0,
25287 OPC_MoveChild1,
25288 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
25289 OPC_Scope, 15,
25290 OPC_CheckPredicate, 14,
25291 OPC_MoveParent,
25292 OPC_CheckType, MVT::v16i8,
25293 OPC_MoveParent,
25294 OPC_CheckType, MVT::v16i8,
25295 OPC_CheckPatternPredicate1,
25296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
25297 MVT::v16i8, 2, 9,
25298 15,
25299 OPC_CheckPredicate, 15,
25300 OPC_MoveParent,
25301 OPC_CheckType, MVT::v8i16,
25302 OPC_MoveParent,
25303 OPC_CheckType, MVT::v8i16,
25304 OPC_CheckPatternPredicate1,
25305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
25306 MVT::v8i16, 2, 9,
25307 15,
25308 OPC_CheckPredicate, 16,
25309 OPC_MoveParent,
25310 OPC_CheckType, MVT::v4i32,
25311 OPC_MoveParent,
25312 OPC_CheckType, MVT::v4i32,
25313 OPC_CheckPatternPredicate1,
25314 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
25315 MVT::v4i32, 2, 9,
25316 13,
25317 OPC_CheckPredicate, 17,
25318 OPC_MoveParent,
25319 OPC_MoveParent,
25320 OPC_CheckType, MVT::v2i64,
25321 OPC_CheckPatternPredicate1,
25322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
25323 MVT::v2i64, 2, 9,
25324 13,
25325 OPC_CheckPredicate, 14,
25326 OPC_MoveParent,
25327 OPC_MoveParent,
25328 OPC_CheckType, MVT::v32i8,
25329 OPC_CheckPatternPredicate0,
25330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
25331 MVT::v32i8, 2, 9,
25332 15,
25333 OPC_CheckPredicate, 15,
25334 OPC_MoveParent,
25335 OPC_CheckType, MVT::v16i16,
25336 OPC_MoveParent,
25337 OPC_CheckType, MVT::v16i16,
25338 OPC_CheckPatternPredicate0,
25339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
25340 MVT::v16i16, 2, 9,
25341 15,
25342 OPC_CheckPredicate, 16,
25343 OPC_MoveParent,
25344 OPC_CheckType, MVT::v8i32,
25345 OPC_MoveParent,
25346 OPC_CheckType, MVT::v8i32,
25347 OPC_CheckPatternPredicate0,
25348 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
25349 MVT::v8i32, 2, 9,
25350 15,
25351 OPC_CheckPredicate, 17,
25352 OPC_MoveParent,
25353 OPC_CheckType, MVT::v4i64,
25354 OPC_MoveParent,
25355 OPC_CheckType, MVT::v4i64,
25356 OPC_CheckPatternPredicate0,
25357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
25358 MVT::v4i64, 2, 9,
25359 0,
25360 0,
25361 61|128,1,
25362 OPC_RecordChild1,
25363 OPC_SwitchType , 22, MVT::v16i8,
25364 OPC_CheckChild1Type, MVT::v16i8,
25365 OPC_CheckPatternPredicate1,
25366 OPC_Scope, 9,
25367 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
25368 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
25369 MVT::v16i8, 2, 22,
25370 6,
25371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_B),
25372 MVT::v16i8, 2, 9,
25373 0,
25374 22, MVT::v8i16,
25375 OPC_CheckChild1Type, MVT::v8i16,
25376 OPC_CheckPatternPredicate1,
25377 OPC_Scope, 9,
25378 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
25379 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
25380 MVT::v8i16, 2, 22,
25381 6,
25382 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_H),
25383 MVT::v8i16, 2, 9,
25384 0,
25385 21, MVT::v4i32,
25386 OPC_CheckChild1Type, MVT::v4i32,
25387 OPC_CheckPatternPredicate1,
25388 OPC_Scope, 8,
25389 OPC_CheckComplexPat2, /*#*/1,
25390 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
25391 MVT::v4i32, 2, 22,
25392 6,
25393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_W),
25394 MVT::v4i32, 2, 9,
25395 0,
25396 20, MVT::v2i64,
25397 OPC_CheckPatternPredicate1,
25398 OPC_Scope, 9,
25399 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
25400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
25401 MVT::v2i64, 2, 22,
25402 6,
25403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLL_D),
25404 MVT::v2i64, 2, 9,
25405 0,
25406 20, MVT::v32i8,
25407 OPC_CheckPatternPredicate0,
25408 OPC_Scope, 9,
25409 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
25410 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
25411 MVT::v32i8, 2, 22,
25412 6,
25413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_B),
25414 MVT::v32i8, 2, 9,
25415 0,
25416 22, MVT::v16i16,
25417 OPC_CheckChild1Type, MVT::v16i16,
25418 OPC_CheckPatternPredicate0,
25419 OPC_Scope, 9,
25420 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
25421 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
25422 MVT::v16i16, 2, 22,
25423 6,
25424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_H),
25425 MVT::v16i16, 2, 9,
25426 0,
25427 21, MVT::v8i32,
25428 OPC_CheckChild1Type, MVT::v8i32,
25429 OPC_CheckPatternPredicate0,
25430 OPC_Scope, 8,
25431 OPC_CheckComplexPat2, /*#*/1,
25432 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
25433 MVT::v8i32, 2, 22,
25434 6,
25435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_W),
25436 MVT::v8i32, 2, 9,
25437 0,
25438 22, MVT::v4i64,
25439 OPC_CheckChild1Type, MVT::v4i64,
25440 OPC_CheckPatternPredicate0,
25441 OPC_Scope, 9,
25442 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
25443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
25444 MVT::v4i64, 2, 22,
25445 6,
25446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLL_D),
25447 MVT::v4i64, 2, 9,
25448 0,
25449 0,
25450 0,
25451 37|128,4, TARGET_VAL(ISD::SRA),
25452 OPC_RecordChild0,
25453 OPC_Scope, 73,
25454 OPC_RecordChild1,
25455 OPC_Scope, 38,
25456 OPC_MoveChild1,
25457 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25458 OPC_Scope, 15,
25459 OPC_CheckPredicate, 20,
25460 OPC_CheckTypeByHwMode0,
25461 OPC_MoveParent,
25462 OPC_CheckTypeByHwMode0,
25463 OPC_CheckPatternPredicate5,
25464 OPC_EmitConvertToTarget1,
25465 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRAI_W), 0,
25466 1, 0, 2, 22,
25467 15,
25468 OPC_CheckPredicate, 26,
25469 OPC_CheckTypeByHwMode0,
25470 OPC_MoveParent,
25471 OPC_CheckTypeByHwMode0,
25472 OPC_CheckPatternPredicate2,
25473 OPC_EmitConvertToTarget1,
25474 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRAI_D), 0,
25475 1, 0, 2, 22,
25476 0,
25477 30,
25478 OPC_CheckChild1TypeByHwMode0,
25479 OPC_CheckTypeByHwMode0,
25480 OPC_Scope, 12,
25481 OPC_CheckPatternPredicate5,
25482 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
25483 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRA_W), 0,
25484 1, 0, 2, 22,
25485 12,
25486 OPC_CheckPatternPredicate2,
25487 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
25488 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRA_D), 0,
25489 1, 0, 2, 22,
25490 0,
25491 0,
25492 23|128,2,
25493 OPC_MoveChild1,
25494 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
25495 OPC_Scope, 10|128,1,
25496 OPC_MoveChild0,
25497 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
25498 OPC_Scope, 16,
25499 OPC_CheckPredicate, 14,
25500 OPC_MoveParent,
25501 OPC_RecordChild1,
25502 OPC_CheckType, MVT::v16i8,
25503 OPC_MoveParent,
25504 OPC_CheckType, MVT::v16i8,
25505 OPC_CheckPatternPredicate1,
25506 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
25507 MVT::v16i8, 2, 9,
25508 16,
25509 OPC_CheckPredicate, 15,
25510 OPC_MoveParent,
25511 OPC_RecordChild1,
25512 OPC_CheckType, MVT::v8i16,
25513 OPC_MoveParent,
25514 OPC_CheckType, MVT::v8i16,
25515 OPC_CheckPatternPredicate1,
25516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
25517 MVT::v8i16, 2, 9,
25518 16,
25519 OPC_CheckPredicate, 16,
25520 OPC_MoveParent,
25521 OPC_RecordChild1,
25522 OPC_CheckType, MVT::v4i32,
25523 OPC_MoveParent,
25524 OPC_CheckType, MVT::v4i32,
25525 OPC_CheckPatternPredicate1,
25526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
25527 MVT::v4i32, 2, 9,
25528 14,
25529 OPC_CheckPredicate, 17,
25530 OPC_MoveParent,
25531 OPC_RecordChild1,
25532 OPC_MoveParent,
25533 OPC_CheckType, MVT::v2i64,
25534 OPC_CheckPatternPredicate1,
25535 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
25536 MVT::v2i64, 2, 9,
25537 14,
25538 OPC_CheckPredicate, 14,
25539 OPC_MoveParent,
25540 OPC_RecordChild1,
25541 OPC_MoveParent,
25542 OPC_CheckType, MVT::v32i8,
25543 OPC_CheckPatternPredicate0,
25544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
25545 MVT::v32i8, 2, 9,
25546 16,
25547 OPC_CheckPredicate, 15,
25548 OPC_MoveParent,
25549 OPC_RecordChild1,
25550 OPC_CheckType, MVT::v16i16,
25551 OPC_MoveParent,
25552 OPC_CheckType, MVT::v16i16,
25553 OPC_CheckPatternPredicate0,
25554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
25555 MVT::v16i16, 2, 9,
25556 16,
25557 OPC_CheckPredicate, 16,
25558 OPC_MoveParent,
25559 OPC_RecordChild1,
25560 OPC_CheckType, MVT::v8i32,
25561 OPC_MoveParent,
25562 OPC_CheckType, MVT::v8i32,
25563 OPC_CheckPatternPredicate0,
25564 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
25565 MVT::v8i32, 2, 9,
25566 16,
25567 OPC_CheckPredicate, 17,
25568 OPC_MoveParent,
25569 OPC_RecordChild1,
25570 OPC_CheckType, MVT::v4i64,
25571 OPC_MoveParent,
25572 OPC_CheckType, MVT::v4i64,
25573 OPC_CheckPatternPredicate0,
25574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
25575 MVT::v4i64, 2, 9,
25576 0,
25577 3|128,1,
25578 OPC_RecordChild0,
25579 OPC_MoveChild1,
25580 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
25581 OPC_Scope, 15,
25582 OPC_CheckPredicate, 14,
25583 OPC_MoveParent,
25584 OPC_CheckType, MVT::v16i8,
25585 OPC_MoveParent,
25586 OPC_CheckType, MVT::v16i8,
25587 OPC_CheckPatternPredicate1,
25588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
25589 MVT::v16i8, 2, 9,
25590 15,
25591 OPC_CheckPredicate, 15,
25592 OPC_MoveParent,
25593 OPC_CheckType, MVT::v8i16,
25594 OPC_MoveParent,
25595 OPC_CheckType, MVT::v8i16,
25596 OPC_CheckPatternPredicate1,
25597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
25598 MVT::v8i16, 2, 9,
25599 15,
25600 OPC_CheckPredicate, 16,
25601 OPC_MoveParent,
25602 OPC_CheckType, MVT::v4i32,
25603 OPC_MoveParent,
25604 OPC_CheckType, MVT::v4i32,
25605 OPC_CheckPatternPredicate1,
25606 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
25607 MVT::v4i32, 2, 9,
25608 13,
25609 OPC_CheckPredicate, 17,
25610 OPC_MoveParent,
25611 OPC_MoveParent,
25612 OPC_CheckType, MVT::v2i64,
25613 OPC_CheckPatternPredicate1,
25614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
25615 MVT::v2i64, 2, 9,
25616 13,
25617 OPC_CheckPredicate, 14,
25618 OPC_MoveParent,
25619 OPC_MoveParent,
25620 OPC_CheckType, MVT::v32i8,
25621 OPC_CheckPatternPredicate0,
25622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
25623 MVT::v32i8, 2, 9,
25624 15,
25625 OPC_CheckPredicate, 15,
25626 OPC_MoveParent,
25627 OPC_CheckType, MVT::v16i16,
25628 OPC_MoveParent,
25629 OPC_CheckType, MVT::v16i16,
25630 OPC_CheckPatternPredicate0,
25631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
25632 MVT::v16i16, 2, 9,
25633 15,
25634 OPC_CheckPredicate, 16,
25635 OPC_MoveParent,
25636 OPC_CheckType, MVT::v8i32,
25637 OPC_MoveParent,
25638 OPC_CheckType, MVT::v8i32,
25639 OPC_CheckPatternPredicate0,
25640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
25641 MVT::v8i32, 2, 9,
25642 15,
25643 OPC_CheckPredicate, 17,
25644 OPC_MoveParent,
25645 OPC_CheckType, MVT::v4i64,
25646 OPC_MoveParent,
25647 OPC_CheckType, MVT::v4i64,
25648 OPC_CheckPatternPredicate0,
25649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
25650 MVT::v4i64, 2, 9,
25651 0,
25652 0,
25653 61|128,1,
25654 OPC_RecordChild1,
25655 OPC_SwitchType , 22, MVT::v16i8,
25656 OPC_CheckChild1Type, MVT::v16i8,
25657 OPC_CheckPatternPredicate1,
25658 OPC_Scope, 9,
25659 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
25660 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_B),
25661 MVT::v16i8, 2, 22,
25662 6,
25663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_B),
25664 MVT::v16i8, 2, 9,
25665 0,
25666 22, MVT::v8i16,
25667 OPC_CheckChild1Type, MVT::v8i16,
25668 OPC_CheckPatternPredicate1,
25669 OPC_Scope, 9,
25670 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
25671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_H),
25672 MVT::v8i16, 2, 22,
25673 6,
25674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_H),
25675 MVT::v8i16, 2, 9,
25676 0,
25677 21, MVT::v4i32,
25678 OPC_CheckChild1Type, MVT::v4i32,
25679 OPC_CheckPatternPredicate1,
25680 OPC_Scope, 8,
25681 OPC_CheckComplexPat2, /*#*/1,
25682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_W),
25683 MVT::v4i32, 2, 22,
25684 6,
25685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_W),
25686 MVT::v4i32, 2, 9,
25687 0,
25688 20, MVT::v2i64,
25689 OPC_CheckPatternPredicate1,
25690 OPC_Scope, 9,
25691 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
25692 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAI_D),
25693 MVT::v2i64, 2, 22,
25694 6,
25695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRA_D),
25696 MVT::v2i64, 2, 9,
25697 0,
25698 20, MVT::v32i8,
25699 OPC_CheckPatternPredicate0,
25700 OPC_Scope, 9,
25701 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
25702 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_B),
25703 MVT::v32i8, 2, 22,
25704 6,
25705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_B),
25706 MVT::v32i8, 2, 9,
25707 0,
25708 22, MVT::v16i16,
25709 OPC_CheckChild1Type, MVT::v16i16,
25710 OPC_CheckPatternPredicate0,
25711 OPC_Scope, 9,
25712 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
25713 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_H),
25714 MVT::v16i16, 2, 22,
25715 6,
25716 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_H),
25717 MVT::v16i16, 2, 9,
25718 0,
25719 21, MVT::v8i32,
25720 OPC_CheckChild1Type, MVT::v8i32,
25721 OPC_CheckPatternPredicate0,
25722 OPC_Scope, 8,
25723 OPC_CheckComplexPat2, /*#*/1,
25724 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_W),
25725 MVT::v8i32, 2, 22,
25726 6,
25727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_W),
25728 MVT::v8i32, 2, 9,
25729 0,
25730 22, MVT::v4i64,
25731 OPC_CheckChild1Type, MVT::v4i64,
25732 OPC_CheckPatternPredicate0,
25733 OPC_Scope, 9,
25734 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
25735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAI_D),
25736 MVT::v4i64, 2, 22,
25737 6,
25738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRA_D),
25739 MVT::v4i64, 2, 9,
25740 0,
25741 0,
25742 0,
25743 37|128,4, TARGET_VAL(ISD::SRL),
25744 OPC_RecordChild0,
25745 OPC_Scope, 73,
25746 OPC_RecordChild1,
25747 OPC_Scope, 38,
25748 OPC_MoveChild1,
25749 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
25750 OPC_Scope, 15,
25751 OPC_CheckPredicate, 20,
25752 OPC_CheckTypeByHwMode0,
25753 OPC_MoveParent,
25754 OPC_CheckTypeByHwMode0,
25755 OPC_CheckPatternPredicate5,
25756 OPC_EmitConvertToTarget1,
25757 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRLI_W), 0,
25758 1, 0, 2, 22,
25759 15,
25760 OPC_CheckPredicate, 26,
25761 OPC_CheckTypeByHwMode0,
25762 OPC_MoveParent,
25763 OPC_CheckTypeByHwMode0,
25764 OPC_CheckPatternPredicate2,
25765 OPC_EmitConvertToTarget1,
25766 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRLI_D), 0,
25767 1, 0, 2, 22,
25768 0,
25769 30,
25770 OPC_CheckChild1TypeByHwMode0,
25771 OPC_CheckTypeByHwMode0,
25772 OPC_Scope, 12,
25773 OPC_CheckPatternPredicate5,
25774 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
25775 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRL_W), 0,
25776 1, 0, 2, 22,
25777 12,
25778 OPC_CheckPatternPredicate2,
25779 OPC_CheckComplexPat, /*CP*/19, /*#*/1,
25780 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRL_D), 0,
25781 1, 0, 2, 22,
25782 0,
25783 0,
25784 23|128,2,
25785 OPC_MoveChild1,
25786 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
25787 OPC_Scope, 10|128,1,
25788 OPC_MoveChild0,
25789 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
25790 OPC_Scope, 16,
25791 OPC_CheckPredicate, 14,
25792 OPC_MoveParent,
25793 OPC_RecordChild1,
25794 OPC_CheckType, MVT::v16i8,
25795 OPC_MoveParent,
25796 OPC_CheckType, MVT::v16i8,
25797 OPC_CheckPatternPredicate1,
25798 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
25799 MVT::v16i8, 2, 9,
25800 16,
25801 OPC_CheckPredicate, 15,
25802 OPC_MoveParent,
25803 OPC_RecordChild1,
25804 OPC_CheckType, MVT::v8i16,
25805 OPC_MoveParent,
25806 OPC_CheckType, MVT::v8i16,
25807 OPC_CheckPatternPredicate1,
25808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
25809 MVT::v8i16, 2, 9,
25810 16,
25811 OPC_CheckPredicate, 16,
25812 OPC_MoveParent,
25813 OPC_RecordChild1,
25814 OPC_CheckType, MVT::v4i32,
25815 OPC_MoveParent,
25816 OPC_CheckType, MVT::v4i32,
25817 OPC_CheckPatternPredicate1,
25818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
25819 MVT::v4i32, 2, 9,
25820 14,
25821 OPC_CheckPredicate, 17,
25822 OPC_MoveParent,
25823 OPC_RecordChild1,
25824 OPC_MoveParent,
25825 OPC_CheckType, MVT::v2i64,
25826 OPC_CheckPatternPredicate1,
25827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
25828 MVT::v2i64, 2, 9,
25829 14,
25830 OPC_CheckPredicate, 14,
25831 OPC_MoveParent,
25832 OPC_RecordChild1,
25833 OPC_MoveParent,
25834 OPC_CheckType, MVT::v32i8,
25835 OPC_CheckPatternPredicate0,
25836 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
25837 MVT::v32i8, 2, 9,
25838 16,
25839 OPC_CheckPredicate, 15,
25840 OPC_MoveParent,
25841 OPC_RecordChild1,
25842 OPC_CheckType, MVT::v16i16,
25843 OPC_MoveParent,
25844 OPC_CheckType, MVT::v16i16,
25845 OPC_CheckPatternPredicate0,
25846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
25847 MVT::v16i16, 2, 9,
25848 16,
25849 OPC_CheckPredicate, 16,
25850 OPC_MoveParent,
25851 OPC_RecordChild1,
25852 OPC_CheckType, MVT::v8i32,
25853 OPC_MoveParent,
25854 OPC_CheckType, MVT::v8i32,
25855 OPC_CheckPatternPredicate0,
25856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
25857 MVT::v8i32, 2, 9,
25858 16,
25859 OPC_CheckPredicate, 17,
25860 OPC_MoveParent,
25861 OPC_RecordChild1,
25862 OPC_CheckType, MVT::v4i64,
25863 OPC_MoveParent,
25864 OPC_CheckType, MVT::v4i64,
25865 OPC_CheckPatternPredicate0,
25866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
25867 MVT::v4i64, 2, 9,
25868 0,
25869 3|128,1,
25870 OPC_RecordChild0,
25871 OPC_MoveChild1,
25872 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
25873 OPC_Scope, 15,
25874 OPC_CheckPredicate, 14,
25875 OPC_MoveParent,
25876 OPC_CheckType, MVT::v16i8,
25877 OPC_MoveParent,
25878 OPC_CheckType, MVT::v16i8,
25879 OPC_CheckPatternPredicate1,
25880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
25881 MVT::v16i8, 2, 9,
25882 15,
25883 OPC_CheckPredicate, 15,
25884 OPC_MoveParent,
25885 OPC_CheckType, MVT::v8i16,
25886 OPC_MoveParent,
25887 OPC_CheckType, MVT::v8i16,
25888 OPC_CheckPatternPredicate1,
25889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
25890 MVT::v8i16, 2, 9,
25891 15,
25892 OPC_CheckPredicate, 16,
25893 OPC_MoveParent,
25894 OPC_CheckType, MVT::v4i32,
25895 OPC_MoveParent,
25896 OPC_CheckType, MVT::v4i32,
25897 OPC_CheckPatternPredicate1,
25898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
25899 MVT::v4i32, 2, 9,
25900 13,
25901 OPC_CheckPredicate, 17,
25902 OPC_MoveParent,
25903 OPC_MoveParent,
25904 OPC_CheckType, MVT::v2i64,
25905 OPC_CheckPatternPredicate1,
25906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
25907 MVT::v2i64, 2, 9,
25908 13,
25909 OPC_CheckPredicate, 14,
25910 OPC_MoveParent,
25911 OPC_MoveParent,
25912 OPC_CheckType, MVT::v32i8,
25913 OPC_CheckPatternPredicate0,
25914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
25915 MVT::v32i8, 2, 9,
25916 15,
25917 OPC_CheckPredicate, 15,
25918 OPC_MoveParent,
25919 OPC_CheckType, MVT::v16i16,
25920 OPC_MoveParent,
25921 OPC_CheckType, MVT::v16i16,
25922 OPC_CheckPatternPredicate0,
25923 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
25924 MVT::v16i16, 2, 9,
25925 15,
25926 OPC_CheckPredicate, 16,
25927 OPC_MoveParent,
25928 OPC_CheckType, MVT::v8i32,
25929 OPC_MoveParent,
25930 OPC_CheckType, MVT::v8i32,
25931 OPC_CheckPatternPredicate0,
25932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
25933 MVT::v8i32, 2, 9,
25934 15,
25935 OPC_CheckPredicate, 17,
25936 OPC_MoveParent,
25937 OPC_CheckType, MVT::v4i64,
25938 OPC_MoveParent,
25939 OPC_CheckType, MVT::v4i64,
25940 OPC_CheckPatternPredicate0,
25941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
25942 MVT::v4i64, 2, 9,
25943 0,
25944 0,
25945 61|128,1,
25946 OPC_RecordChild1,
25947 OPC_SwitchType , 22, MVT::v16i8,
25948 OPC_CheckChild1Type, MVT::v16i8,
25949 OPC_CheckPatternPredicate1,
25950 OPC_Scope, 9,
25951 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
25952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
25953 MVT::v16i8, 2, 22,
25954 6,
25955 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_B),
25956 MVT::v16i8, 2, 9,
25957 0,
25958 22, MVT::v8i16,
25959 OPC_CheckChild1Type, MVT::v8i16,
25960 OPC_CheckPatternPredicate1,
25961 OPC_Scope, 9,
25962 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
25963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
25964 MVT::v8i16, 2, 22,
25965 6,
25966 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_H),
25967 MVT::v8i16, 2, 9,
25968 0,
25969 21, MVT::v4i32,
25970 OPC_CheckChild1Type, MVT::v4i32,
25971 OPC_CheckPatternPredicate1,
25972 OPC_Scope, 8,
25973 OPC_CheckComplexPat2, /*#*/1,
25974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
25975 MVT::v4i32, 2, 22,
25976 6,
25977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_W),
25978 MVT::v4i32, 2, 9,
25979 0,
25980 20, MVT::v2i64,
25981 OPC_CheckPatternPredicate1,
25982 OPC_Scope, 9,
25983 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
25984 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
25985 MVT::v2i64, 2, 22,
25986 6,
25987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRL_D),
25988 MVT::v2i64, 2, 9,
25989 0,
25990 20, MVT::v32i8,
25991 OPC_CheckPatternPredicate0,
25992 OPC_Scope, 9,
25993 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
25994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
25995 MVT::v32i8, 2, 22,
25996 6,
25997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_B),
25998 MVT::v32i8, 2, 9,
25999 0,
26000 22, MVT::v16i16,
26001 OPC_CheckChild1Type, MVT::v16i16,
26002 OPC_CheckPatternPredicate0,
26003 OPC_Scope, 9,
26004 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
26005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
26006 MVT::v16i16, 2, 22,
26007 6,
26008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_H),
26009 MVT::v16i16, 2, 9,
26010 0,
26011 21, MVT::v8i32,
26012 OPC_CheckChild1Type, MVT::v8i32,
26013 OPC_CheckPatternPredicate0,
26014 OPC_Scope, 8,
26015 OPC_CheckComplexPat2, /*#*/1,
26016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
26017 MVT::v8i32, 2, 22,
26018 6,
26019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_W),
26020 MVT::v8i32, 2, 9,
26021 0,
26022 22, MVT::v4i64,
26023 OPC_CheckChild1Type, MVT::v4i64,
26024 OPC_CheckPatternPredicate0,
26025 OPC_Scope, 9,
26026 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
26027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
26028 MVT::v4i64, 2, 22,
26029 6,
26030 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRL_D),
26031 MVT::v4i64, 2, 9,
26032 0,
26033 0,
26034 0,
26035 16, TARGET_VAL(LoongArchISD::DBAR),
26036 OPC_RecordNode,
26037 OPC_RecordChild1,
26038 OPC_MoveChild1,
26039 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26040 OPC_CheckPredicate, 45,
26041 OPC_MoveParent,
26042 OPC_EmitMergeInputChains1_0,
26043 OPC_EmitConvertToTarget1,
26044 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::DBAR),
26045 1, 23,
26046 16, TARGET_VAL(LoongArchISD::IBAR),
26047 OPC_RecordNode,
26048 OPC_RecordChild1,
26049 OPC_MoveChild1,
26050 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26051 OPC_CheckPredicate, 45,
26052 OPC_MoveParent,
26053 OPC_EmitMergeInputChains1_0,
26054 OPC_EmitConvertToTarget1,
26055 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IBAR),
26056 1, 23,
26057 16, TARGET_VAL(LoongArchISD::BREAK),
26058 OPC_RecordNode,
26059 OPC_RecordChild1,
26060 OPC_MoveChild1,
26061 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26062 OPC_CheckPredicate, 45,
26063 OPC_MoveParent,
26064 OPC_EmitMergeInputChains1_0,
26065 OPC_EmitConvertToTarget1,
26066 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
26067 1, 23,
26068 16, TARGET_VAL(LoongArchISD::SYSCALL),
26069 OPC_RecordNode,
26070 OPC_RecordChild1,
26071 OPC_MoveChild1,
26072 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26073 OPC_CheckPredicate, 45,
26074 OPC_MoveParent,
26075 OPC_EmitMergeInputChains1_0,
26076 OPC_EmitConvertToTarget1,
26077 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::SYSCALL),
26078 1, 23,
26079 20, TARGET_VAL(LoongArchISD::CSRRD),
26080 OPC_RecordNode,
26081 OPC_RecordChild1,
26082 OPC_MoveChild1,
26083 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26084 OPC_CheckPredicate, 49,
26085 OPC_MoveParent,
26086 OPC_CheckTypeByHwMode0,
26087 OPC_EmitMergeInputChains1_0,
26088 OPC_EmitConvertToTarget1,
26089 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CSRRD), 0|OPFL_Chain,
26090 1, 0, 1, 23,
26091 21, TARGET_VAL(LoongArchISD::CSRWR),
26092 OPC_RecordNode,
26093 OPC_RecordChild1,
26094 OPC_RecordChild2,
26095 OPC_MoveChild2,
26096 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26097 OPC_CheckPredicate, 49,
26098 OPC_MoveParent,
26099 OPC_CheckTypeByHwMode0,
26100 OPC_EmitMergeInputChains1_0,
26101 OPC_EmitConvertToTarget2,
26102 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CSRWR), 0|OPFL_Chain,
26103 1, 0, 2, 43,
26104 22, TARGET_VAL(LoongArchISD::CSRXCHG),
26105 OPC_RecordNode,
26106 OPC_RecordChild1,
26107 OPC_RecordChild2,
26108 OPC_RecordChild3,
26109 OPC_MoveChild3,
26110 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26111 OPC_CheckPredicate, 49,
26112 OPC_MoveParent,
26113 OPC_CheckTypeByHwMode0,
26114 OPC_EmitMergeInputChains1_0,
26115 OPC_EmitConvertToTarget3,
26116 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CSRXCHG), 0|OPFL_Chain,
26117 1, 0, 3, 69,
26118 107, TARGET_VAL(LoongArchISD::VPICK_SEXT_ELT),
26119 OPC_RecordChild0,
26120 OPC_Scope, 25,
26121 OPC_CheckChild0Type, MVT::v16i8,
26122 OPC_RecordChild1,
26123 OPC_MoveChild1,
26124 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26125 OPC_CheckPredicate, 21,
26126 OPC_CheckTypeByHwMode0,
26127 OPC_MoveSibling2,
26128 OPC_CheckValueType, MVT::i8,
26129 OPC_MoveParent,
26130 OPC_CheckTypeByHwMode0,
26131 OPC_CheckPatternPredicate1,
26132 OPC_EmitConvertToTarget1,
26133 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_B), 0,
26134 1, 0, 2, 22,
26135 25,
26136 OPC_CheckChild0Type, MVT::v8i16,
26137 OPC_RecordChild1,
26138 OPC_MoveChild1,
26139 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26140 OPC_CheckPredicate, 11,
26141 OPC_CheckTypeByHwMode0,
26142 OPC_MoveSibling2,
26143 OPC_CheckValueType, MVT::i16,
26144 OPC_MoveParent,
26145 OPC_CheckTypeByHwMode0,
26146 OPC_CheckPatternPredicate1,
26147 OPC_EmitConvertToTarget1,
26148 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_H), 0,
26149 1, 0, 2, 22,
26150 25,
26151 OPC_CheckChild0Type, MVT::v4i32,
26152 OPC_RecordChild1,
26153 OPC_MoveChild1,
26154 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26155 OPC_CheckPredicate, 18,
26156 OPC_CheckTypeByHwMode0,
26157 OPC_MoveSibling2,
26158 OPC_CheckValueType, MVT::i32,
26159 OPC_MoveParent,
26160 OPC_CheckTypeByHwMode0,
26161 OPC_CheckPatternPredicate1,
26162 OPC_EmitConvertToTarget1,
26163 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_W), 0,
26164 1, 0, 2, 22,
26165 25,
26166 OPC_CheckChild0Type, MVT::v8i32,
26167 OPC_RecordChild1,
26168 OPC_MoveChild1,
26169 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26170 OPC_CheckPredicate, 11,
26171 OPC_CheckTypeByHwMode0,
26172 OPC_MoveSibling2,
26173 OPC_CheckValueType, MVT::i32,
26174 OPC_MoveParent,
26175 OPC_CheckTypeByHwMode0,
26176 OPC_CheckPatternPredicate0,
26177 OPC_EmitConvertToTarget1,
26178 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_W), 0,
26179 1, 0, 2, 22,
26180 0,
26181 107, TARGET_VAL(LoongArchISD::VPICK_ZEXT_ELT),
26182 OPC_RecordChild0,
26183 OPC_Scope, 25,
26184 OPC_CheckChild0Type, MVT::v16i8,
26185 OPC_RecordChild1,
26186 OPC_MoveChild1,
26187 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26188 OPC_CheckPredicate, 21,
26189 OPC_CheckTypeByHwMode0,
26190 OPC_MoveSibling2,
26191 OPC_CheckValueType, MVT::i8,
26192 OPC_MoveParent,
26193 OPC_CheckTypeByHwMode0,
26194 OPC_CheckPatternPredicate1,
26195 OPC_EmitConvertToTarget1,
26196 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_BU), 0,
26197 1, 0, 2, 22,
26198 25,
26199 OPC_CheckChild0Type, MVT::v8i16,
26200 OPC_RecordChild1,
26201 OPC_MoveChild1,
26202 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26203 OPC_CheckPredicate, 11,
26204 OPC_CheckTypeByHwMode0,
26205 OPC_MoveSibling2,
26206 OPC_CheckValueType, MVT::i16,
26207 OPC_MoveParent,
26208 OPC_CheckTypeByHwMode0,
26209 OPC_CheckPatternPredicate1,
26210 OPC_EmitConvertToTarget1,
26211 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_HU), 0,
26212 1, 0, 2, 22,
26213 25,
26214 OPC_CheckChild0Type, MVT::v4i32,
26215 OPC_RecordChild1,
26216 OPC_MoveChild1,
26217 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26218 OPC_CheckPredicate, 18,
26219 OPC_CheckTypeByHwMode0,
26220 OPC_MoveSibling2,
26221 OPC_CheckValueType, MVT::i32,
26222 OPC_MoveParent,
26223 OPC_CheckTypeByHwMode0,
26224 OPC_CheckPatternPredicate1,
26225 OPC_EmitConvertToTarget1,
26226 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::VPICKVE2GR_WU), 0,
26227 1, 0, 2, 22,
26228 25,
26229 OPC_CheckChild0Type, MVT::v8i32,
26230 OPC_RecordChild1,
26231 OPC_MoveChild1,
26232 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26233 OPC_CheckPredicate, 11,
26234 OPC_CheckTypeByHwMode0,
26235 OPC_MoveSibling2,
26236 OPC_CheckValueType, MVT::i32,
26237 OPC_MoveParent,
26238 OPC_CheckTypeByHwMode0,
26239 OPC_CheckPatternPredicate0,
26240 OPC_EmitConvertToTarget1,
26241 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::XVPICKVE2GR_WU), 0,
26242 1, 0, 2, 22,
26243 0,
26244 18, TARGET_VAL(LoongArchISD::MOVGR2FCSR),
26245 OPC_RecordNode,
26246 OPC_RecordChild1,
26247 OPC_MoveChild1,
26248 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26249 OPC_CheckPredicate, 18,
26250 OPC_MoveParent,
26251 OPC_RecordChild2,
26252 OPC_CheckPatternPredicate3,
26253 OPC_EmitMergeInputChains1_0,
26254 OPC_EmitConvertToTarget1,
26255 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::WRFCSR),
26256 2, 28,
26257 20, TARGET_VAL(LoongArchISD::MOVFCSR2GR),
26258 OPC_RecordNode,
26259 OPC_RecordChild1,
26260 OPC_MoveChild1,
26261 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
26262 OPC_CheckPredicate, 18,
26263 OPC_MoveParent,
26264 OPC_CheckPatternPredicate3,
26265 OPC_EmitMergeInputChains1_0,
26266 OPC_EmitConvertToTarget1,
26267 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::RDFCSR), 0|OPFL_Chain,
26268 1, 0, 1, 23,
26269 16, TARGET_VAL(LoongArchISD::SLL_W),
26270 OPC_RecordChild0,
26271 OPC_RecordChild1,
26272 OPC_CheckTypeByHwMode, 1,
26273 OPC_CheckPatternPredicate2,
26274 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
26275 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLL_W), 0,
26276 1, 1, 2, 22,
26277 16, TARGET_VAL(LoongArchISD::SRA_W),
26278 OPC_RecordChild0,
26279 OPC_RecordChild1,
26280 OPC_CheckTypeByHwMode, 1,
26281 OPC_CheckPatternPredicate2,
26282 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
26283 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRA_W), 0,
26284 1, 1, 2, 22,
26285 16, TARGET_VAL(LoongArchISD::SRL_W),
26286 OPC_RecordChild0,
26287 OPC_RecordChild1,
26288 OPC_CheckTypeByHwMode, 1,
26289 OPC_CheckPatternPredicate2,
26290 OPC_CheckComplexPat, /*CP*/20, /*#*/1,
26291 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SRL_W), 0,
26292 1, 1, 2, 22,
26293 39, TARGET_VAL(LoongArchISD::CALL),
26294 OPC_RecordNode,
26295 OPC_CaptureGlueInput,
26296 OPC_RecordChild1,
26297 OPC_Scope, 25,
26298 OPC_MoveChild1,
26299 OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
26300 OPC_MoveParent,
26301 OPC_EmitMergeInputChains1_0,
26302 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26303 1, 10,
26304 8, TARGET_VAL(ISD::TargetExternalSymbol),
26305 OPC_MoveParent,
26306 OPC_EmitMergeInputChains1_0,
26307 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26308 1, 10,
26309 0,
26310 7,
26311 OPC_EmitMergeInputChains1_0,
26312 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26313 1, 10,
26314 0,
26315 39, TARGET_VAL(LoongArchISD::CALL_MEDIUM),
26316 OPC_RecordNode,
26317 OPC_CaptureGlueInput,
26318 OPC_RecordChild1,
26319 OPC_Scope, 25,
26320 OPC_MoveChild1,
26321 OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
26322 OPC_MoveParent,
26323 OPC_EmitMergeInputChains1_0,
26324 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26325 1, 10,
26326 8, TARGET_VAL(ISD::TargetExternalSymbol),
26327 OPC_MoveParent,
26328 OPC_EmitMergeInputChains1_0,
26329 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26330 1, 10,
26331 0,
26332 7,
26333 OPC_EmitMergeInputChains1_0,
26334 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26335 1, 10,
26336 0,
26337 42, TARGET_VAL(LoongArchISD::CALL_LARGE),
26338 OPC_RecordNode,
26339 OPC_CaptureGlueInput,
26340 OPC_RecordChild1,
26341 OPC_Scope, 27,
26342 OPC_MoveChild1,
26343 OPC_SwitchOpcode , 9, TARGET_VAL(ISD::TargetGlobalAddress),
26344 OPC_MoveParent,
26345 OPC_CheckPatternPredicate2,
26346 OPC_EmitMergeInputChains1_0,
26347 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26348 1, 10,
26349 9, TARGET_VAL(ISD::TargetExternalSymbol),
26350 OPC_MoveParent,
26351 OPC_CheckPatternPredicate2,
26352 OPC_EmitMergeInputChains1_0,
26353 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26354 1, 10,
26355 0,
26356 8,
26357 OPC_CheckPatternPredicate2,
26358 OPC_EmitMergeInputChains1_0,
26359 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoCALLIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26360 1, 10,
26361 0,
26362 39, TARGET_VAL(LoongArchISD::TAIL),
26363 OPC_RecordNode,
26364 OPC_CaptureGlueInput,
26365 OPC_RecordChild1,
26366 OPC_Scope, 25,
26367 OPC_MoveChild1,
26368 OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
26369 OPC_MoveParent,
26370 OPC_EmitMergeInputChains1_0,
26371 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26372 1, 10,
26373 8, TARGET_VAL(ISD::TargetExternalSymbol),
26374 OPC_MoveParent,
26375 OPC_EmitMergeInputChains1_0,
26376 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_SMALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26377 1, 10,
26378 0,
26379 7,
26380 OPC_EmitMergeInputChains1_0,
26381 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26382 1, 10,
26383 0,
26384 39, TARGET_VAL(LoongArchISD::TAIL_MEDIUM),
26385 OPC_RecordNode,
26386 OPC_CaptureGlueInput,
26387 OPC_RecordChild1,
26388 OPC_Scope, 25,
26389 OPC_MoveChild1,
26390 OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
26391 OPC_MoveParent,
26392 OPC_EmitMergeInputChains1_0,
26393 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26394 1, 10,
26395 8, TARGET_VAL(ISD::TargetExternalSymbol),
26396 OPC_MoveParent,
26397 OPC_EmitMergeInputChains1_0,
26398 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_MEDIUM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26399 1, 10,
26400 0,
26401 7,
26402 OPC_EmitMergeInputChains1_0,
26403 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26404 1, 10,
26405 0,
26406 42, TARGET_VAL(LoongArchISD::TAIL_LARGE),
26407 OPC_RecordNode,
26408 OPC_CaptureGlueInput,
26409 OPC_RecordChild1,
26410 OPC_Scope, 27,
26411 OPC_MoveChild1,
26412 OPC_SwitchOpcode , 9, TARGET_VAL(ISD::TargetGlobalAddress),
26413 OPC_MoveParent,
26414 OPC_CheckPatternPredicate2,
26415 OPC_EmitMergeInputChains1_0,
26416 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26417 1, 10,
26418 9, TARGET_VAL(ISD::TargetExternalSymbol),
26419 OPC_MoveParent,
26420 OPC_CheckPatternPredicate2,
26421 OPC_EmitMergeInputChains1_0,
26422 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAIL_LARGE), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26423 1, 10,
26424 0,
26425 8,
26426 OPC_CheckPatternPredicate2,
26427 OPC_EmitMergeInputChains1_0,
26428 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoTAILIndirect), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
26429 1, 10,
26430 0,
26431 35|128,1, TARGET_VAL(ISD::BSWAP),
26432 OPC_Scope, 29,
26433 OPC_MoveChild0,
26434 OPC_CheckOpcode, TARGET_VAL(ISD::BITREVERSE),
26435 OPC_RecordChild0,
26436 OPC_MoveParent,
26437 OPC_CheckTypeByHwMode0,
26438 OPC_Scope, 9,
26439 OPC_CheckPatternPredicate6,
26440 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_4B), 0,
26441 1, 0, 1, 1,
26442 9,
26443 OPC_CheckPatternPredicate2,
26444 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_8B), 0,
26445 1, 0, 1, 1,
26446 0,
26447 1|128,1,
26448 OPC_RecordChild0,
26449 OPC_Scope, 33,
26450 OPC_CheckTypeByHwMode0,
26451 OPC_Scope, 9,
26452 OPC_CheckPatternPredicate2,
26453 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::REVB_D), 0,
26454 1, 0, 1, 1,
26455 19,
26456 OPC_CheckPatternPredicate6,
26457 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::REVB_2H), 0,
26458 1, 0, 1, 1,
26459 OPC_EmitIntegerByHwMode0, 16,
26460 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::ROTRI_W), 0,
26461 1, 0, 2, 25,
26462 0,
26463 12,
26464 OPC_CheckType, MVT::v8i16,
26465 OPC_CheckPatternPredicate1,
26466 OPC_EmitIntegerByHwMode0, 49|128,1,
26467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
26468 MVT::v8i16, 2, 9,
26469 11,
26470 OPC_CheckType, MVT::v4i32,
26471 OPC_CheckPatternPredicate1,
26472 OPC_EmitIntegerByHwMode0, 27,
26473 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
26474 MVT::v4i32, 2, 9,
26475 12,
26476 OPC_CheckType, MVT::v16i16,
26477 OPC_CheckPatternPredicate0,
26478 OPC_EmitIntegerByHwMode0, 49|128,1,
26479 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
26480 MVT::v16i16, 2, 9,
26481 11,
26482 OPC_CheckType, MVT::v8i32,
26483 OPC_CheckPatternPredicate0,
26484 OPC_EmitIntegerByHwMode0, 27,
26485 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
26486 MVT::v8i32, 2, 9,
26487 20,
26488 OPC_CheckType, MVT::v2i64,
26489 OPC_CheckPatternPredicate1,
26490 OPC_EmitIntegerByHwMode0, 27,
26491 OPC_EmitNode1None, TARGET_VAL(LoongArch::VSHUF4I_B),
26492 MVT::v16i8, 2, 9,
26493 OPC_EmitIntegerByHwMode0, 49|128,1,
26494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
26495 MVT::v2i64, 2, 49,
26496 20,
26497 OPC_CheckType, MVT::v4i64,
26498 OPC_CheckPatternPredicate0,
26499 OPC_EmitIntegerByHwMode0, 27,
26500 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
26501 MVT::v32i8, 2, 9,
26502 OPC_EmitIntegerByHwMode0, 49|128,1,
26503 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
26504 MVT::v4i64, 2, 49,
26505 0,
26506 0,
26507 57, TARGET_VAL(ISD::BITREVERSE),
26508 OPC_Scope, 29,
26509 OPC_MoveChild0,
26510 OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
26511 OPC_RecordChild0,
26512 OPC_MoveParent,
26513 OPC_CheckTypeByHwMode0,
26514 OPC_Scope, 9,
26515 OPC_CheckPatternPredicate6,
26516 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_4B), 0,
26517 1, 0, 1, 1,
26518 9,
26519 OPC_CheckPatternPredicate2,
26520 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_8B), 0,
26521 1, 0, 1, 1,
26522 0,
26523 24,
26524 OPC_RecordChild0,
26525 OPC_CheckTypeByHwMode0,
26526 OPC_Scope, 9,
26527 OPC_CheckPatternPredicate6,
26528 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_W), 0,
26529 1, 0, 1, 1,
26530 9,
26531 OPC_CheckPatternPredicate2,
26532 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_D), 0,
26533 1, 0, 1, 1,
26534 0,
26535 0,
26536 12|128,1, TARGET_VAL(ISD::IS_FPCLASS),
26537 OPC_RecordChild0,
26538 OPC_Scope, 47,
26539 OPC_CheckChild0TypeByHwMode, 4,
26540 OPC_RecordChild1,
26541 OPC_MoveChild1,
26542 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26543 OPC_CheckTypeI32,
26544 OPC_MoveParent,
26545 OPC_CheckTypeByHwMode0,
26546 OPC_CheckPatternPredicate3,
26547 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
26548 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_S),
26549 MVT::f32, 1, 1,
26550 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::MOVFR2GR_S), 0,
26551 1, 0, 1, 35,
26552 OPC_EmitNodeXForm, 12, 1,
26553 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
26554 1, 0, 2, 93,
26555 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
26556 1, 0, 2, 107,
26557 88,
26558 OPC_CheckChild0TypeByHwMode, 5,
26559 OPC_RecordChild1,
26560 OPC_MoveChild1,
26561 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
26562 OPC_CheckTypeI32,
26563 OPC_MoveParent,
26564 OPC_CheckTypeByHwMode0,
26565 OPC_Scope, 37,
26566 OPC_CheckPatternPredicate5,
26567 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
26568 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
26569 MVT::f64, 1, 1,
26570 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::MOVFR2GR_S_64), 0,
26571 1, 0, 1, 35,
26572 OPC_EmitNodeXForm, 12, 1,
26573 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
26574 1, 0, 2, 93,
26575 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
26576 1, 0, 2, 107,
26577 37,
26578 OPC_CheckPatternPredicate2,
26579 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
26580 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCLASS_D),
26581 MVT::f64, 1, 1,
26582 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::MOVFR2GR_D), 0,
26583 1, 0, 1, 35,
26584 OPC_EmitNodeXForm, 12, 1,
26585 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ANDI), 0,
26586 1, 0, 2, 93,
26587 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SLTU), 0,
26588 1, 0, 2, 107,
26589 0,
26590 0,
26591 86|128,1, TARGET_VAL(ISD::ATOMIC_SWAP),
26592 OPC_RecordMemRef,
26593 OPC_RecordNode,
26594 OPC_RecordChild1,
26595 OPC_CheckChild1TypeByHwMode0,
26596 OPC_RecordChild2,
26597 OPC_Scope, 15,
26598 OPC_CheckPredicate5,
26599 OPC_CheckPredicate, 10,
26600 OPC_CheckTypeByHwMode0,
26601 OPC_CheckPatternPredicate, 8,
26602 OPC_EmitMergeInputChains1_0,
26603 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP_B), 0|OPFL_Chain|OPFL_MemRefs,
26604 1, 0, 2, 14,
26605 15,
26606 OPC_CheckPredicate6,
26607 OPC_CheckPredicate, 10,
26608 OPC_CheckTypeByHwMode0,
26609 OPC_CheckPatternPredicate, 8,
26610 OPC_EmitMergeInputChains1_0,
26611 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP_H), 0|OPFL_Chain|OPFL_MemRefs,
26612 1, 0, 2, 14,
26613 13,
26614 OPC_CheckPredicate5,
26615 OPC_CheckTypeByHwMode0,
26616 OPC_CheckPatternPredicate, 8,
26617 OPC_EmitMergeInputChains1_0,
26618 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
26619 1, 0, 2, 14,
26620 13,
26621 OPC_CheckPredicate6,
26622 OPC_CheckTypeByHwMode0,
26623 OPC_CheckPatternPredicate, 8,
26624 OPC_EmitMergeInputChains1_0,
26625 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
26626 1, 0, 2, 14,
26627 14,
26628 OPC_CheckPredicate3,
26629 OPC_CheckPredicate, 10,
26630 OPC_CheckTypeByHwMode0,
26631 OPC_CheckPatternPredicate2,
26632 OPC_EmitMergeInputChains1_0,
26633 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP_W), 0|OPFL_Chain|OPFL_MemRefs,
26634 1, 0, 2, 14,
26635 15,
26636 OPC_CheckPredicate, 19,
26637 OPC_CheckPredicate, 10,
26638 OPC_CheckTypeByHwMode0,
26639 OPC_CheckPatternPredicate2,
26640 OPC_EmitMergeInputChains1_0,
26641 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP_D), 0|OPFL_Chain|OPFL_MemRefs,
26642 1, 0, 2, 14,
26643 12,
26644 OPC_CheckPredicate3,
26645 OPC_CheckTypeByHwMode0,
26646 OPC_CheckPatternPredicate2,
26647 OPC_EmitMergeInputChains1_0,
26648 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
26649 1, 0, 2, 14,
26650 13,
26651 OPC_CheckPredicate, 19,
26652 OPC_CheckTypeByHwMode0,
26653 OPC_CheckPatternPredicate2,
26654 OPC_EmitMergeInputChains1_0,
26655 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMSWAP__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
26656 1, 0, 2, 14,
26657 88,
26658 OPC_CheckPredicate3,
26659 OPC_Scope, 16,
26660 OPC_CheckPredicate, 10,
26661 OPC_CheckTypeByHwMode0,
26662 OPC_CheckPatternPredicate5,
26663 OPC_EmitMergeInputChains1_0,
26664 OPC_EmitIntegerByHwMode0, 2,
26665 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
26666 2, 0, 0, 3, 51,
26667 16,
26668 OPC_CheckPredicate, 30,
26669 OPC_CheckTypeByHwMode0,
26670 OPC_CheckPatternPredicate5,
26671 OPC_EmitMergeInputChains1_0,
26672 OPC_EmitIntegerByHwMode0, 4,
26673 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
26674 2, 0, 0, 3, 51,
26675 16,
26676 OPC_CheckPredicate, 31,
26677 OPC_CheckTypeByHwMode0,
26678 OPC_CheckPatternPredicate5,
26679 OPC_EmitMergeInputChains1_0,
26680 OPC_EmitIntegerByHwMode0, 5,
26681 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
26682 2, 0, 0, 3, 51,
26683 16,
26684 OPC_CheckPredicate, 32,
26685 OPC_CheckTypeByHwMode0,
26686 OPC_CheckPatternPredicate5,
26687 OPC_EmitMergeInputChains1_0,
26688 OPC_EmitIntegerByHwMode0, 6,
26689 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
26690 2, 0, 0, 3, 51,
26691 16,
26692 OPC_CheckPredicate, 33,
26693 OPC_CheckTypeByHwMode0,
26694 OPC_CheckPatternPredicate5,
26695 OPC_EmitMergeInputChains1_0,
26696 OPC_EmitIntegerByHwMode0, 7,
26697 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicSwap32), 0|OPFL_Chain|OPFL_MemRefs,
26698 2, 0, 0, 3, 51,
26699 0,
26700 0,
26701 86|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
26702 OPC_RecordMemRef,
26703 OPC_RecordNode,
26704 OPC_RecordChild1,
26705 OPC_CheckChild1TypeByHwMode0,
26706 OPC_RecordChild2,
26707 OPC_Scope, 15,
26708 OPC_CheckPredicate5,
26709 OPC_CheckPredicate, 10,
26710 OPC_CheckTypeByHwMode0,
26711 OPC_CheckPatternPredicate, 8,
26712 OPC_EmitMergeInputChains1_0,
26713 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_B), 0|OPFL_Chain|OPFL_MemRefs,
26714 1, 0, 2, 14,
26715 15,
26716 OPC_CheckPredicate6,
26717 OPC_CheckPredicate, 10,
26718 OPC_CheckTypeByHwMode0,
26719 OPC_CheckPatternPredicate, 8,
26720 OPC_EmitMergeInputChains1_0,
26721 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_H), 0|OPFL_Chain|OPFL_MemRefs,
26722 1, 0, 2, 14,
26723 13,
26724 OPC_CheckPredicate5,
26725 OPC_CheckTypeByHwMode0,
26726 OPC_CheckPatternPredicate, 8,
26727 OPC_EmitMergeInputChains1_0,
26728 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
26729 1, 0, 2, 14,
26730 13,
26731 OPC_CheckPredicate6,
26732 OPC_CheckTypeByHwMode0,
26733 OPC_CheckPatternPredicate, 8,
26734 OPC_EmitMergeInputChains1_0,
26735 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
26736 1, 0, 2, 14,
26737 14,
26738 OPC_CheckPredicate3,
26739 OPC_CheckPredicate, 10,
26740 OPC_CheckTypeByHwMode0,
26741 OPC_CheckPatternPredicate2,
26742 OPC_EmitMergeInputChains1_0,
26743 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_W), 0|OPFL_Chain|OPFL_MemRefs,
26744 1, 0, 2, 14,
26745 15,
26746 OPC_CheckPredicate, 19,
26747 OPC_CheckPredicate, 10,
26748 OPC_CheckTypeByHwMode0,
26749 OPC_CheckPatternPredicate2,
26750 OPC_EmitMergeInputChains1_0,
26751 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_D), 0|OPFL_Chain|OPFL_MemRefs,
26752 1, 0, 2, 14,
26753 12,
26754 OPC_CheckPredicate3,
26755 OPC_CheckTypeByHwMode0,
26756 OPC_CheckPatternPredicate2,
26757 OPC_EmitMergeInputChains1_0,
26758 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
26759 1, 0, 2, 14,
26760 13,
26761 OPC_CheckPredicate, 19,
26762 OPC_CheckTypeByHwMode0,
26763 OPC_CheckPatternPredicate2,
26764 OPC_EmitMergeInputChains1_0,
26765 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
26766 1, 0, 2, 14,
26767 88,
26768 OPC_CheckPredicate3,
26769 OPC_Scope, 16,
26770 OPC_CheckPredicate, 10,
26771 OPC_CheckTypeByHwMode0,
26772 OPC_CheckPatternPredicate5,
26773 OPC_EmitMergeInputChains1_0,
26774 OPC_EmitIntegerByHwMode0, 2,
26775 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
26776 2, 0, 0, 3, 51,
26777 16,
26778 OPC_CheckPredicate, 30,
26779 OPC_CheckTypeByHwMode0,
26780 OPC_CheckPatternPredicate5,
26781 OPC_EmitMergeInputChains1_0,
26782 OPC_EmitIntegerByHwMode0, 4,
26783 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
26784 2, 0, 0, 3, 51,
26785 16,
26786 OPC_CheckPredicate, 31,
26787 OPC_CheckTypeByHwMode0,
26788 OPC_CheckPatternPredicate5,
26789 OPC_EmitMergeInputChains1_0,
26790 OPC_EmitIntegerByHwMode0, 5,
26791 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
26792 2, 0, 0, 3, 51,
26793 16,
26794 OPC_CheckPredicate, 32,
26795 OPC_CheckTypeByHwMode0,
26796 OPC_CheckPatternPredicate5,
26797 OPC_EmitMergeInputChains1_0,
26798 OPC_EmitIntegerByHwMode0, 6,
26799 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
26800 2, 0, 0, 3, 51,
26801 16,
26802 OPC_CheckPredicate, 33,
26803 OPC_CheckTypeByHwMode0,
26804 OPC_CheckPatternPredicate5,
26805 OPC_EmitMergeInputChains1_0,
26806 OPC_EmitIntegerByHwMode0, 7,
26807 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAdd32), 0|OPFL_Chain|OPFL_MemRefs,
26808 2, 0, 0, 3, 51,
26809 0,
26810 0,
26811 51|128,2, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
26812 OPC_RecordMemRef,
26813 OPC_RecordNode,
26814 OPC_RecordChild1,
26815 OPC_CheckChild1TypeByHwMode0,
26816 OPC_RecordChild2,
26817 OPC_RecordChild3,
26818 OPC_Scope, 15,
26819 OPC_CheckPredicate5,
26820 OPC_CheckPredicate, 10,
26821 OPC_CheckTypeByHwMode0,
26822 OPC_CheckPatternPredicate, 10,
26823 OPC_EmitMergeInputChains1_0,
26824 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS_B), 0|OPFL_Chain|OPFL_MemRefs,
26825 1, 0, 3, 16,
26826 15,
26827 OPC_CheckPredicate6,
26828 OPC_CheckPredicate, 10,
26829 OPC_CheckTypeByHwMode0,
26830 OPC_CheckPatternPredicate, 10,
26831 OPC_EmitMergeInputChains1_0,
26832 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS_H), 0|OPFL_Chain|OPFL_MemRefs,
26833 1, 0, 3, 16,
26834 15,
26835 OPC_CheckPredicate3,
26836 OPC_CheckPredicate, 10,
26837 OPC_CheckTypeByHwMode0,
26838 OPC_CheckPatternPredicate, 10,
26839 OPC_EmitMergeInputChains1_0,
26840 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS_W), 0|OPFL_Chain|OPFL_MemRefs,
26841 1, 0, 3, 16,
26842 16,
26843 OPC_CheckPredicate, 19,
26844 OPC_CheckPredicate, 10,
26845 OPC_CheckTypeByHwMode0,
26846 OPC_CheckPatternPredicate, 10,
26847 OPC_EmitMergeInputChains1_0,
26848 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS_D), 0|OPFL_Chain|OPFL_MemRefs,
26849 1, 0, 3, 16,
26850 13,
26851 OPC_CheckPredicate5,
26852 OPC_CheckTypeByHwMode0,
26853 OPC_CheckPatternPredicate, 10,
26854 OPC_EmitMergeInputChains1_0,
26855 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
26856 1, 0, 3, 16,
26857 13,
26858 OPC_CheckPredicate6,
26859 OPC_CheckTypeByHwMode0,
26860 OPC_CheckPatternPredicate, 10,
26861 OPC_EmitMergeInputChains1_0,
26862 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
26863 1, 0, 3, 16,
26864 13,
26865 OPC_CheckPredicate3,
26866 OPC_CheckTypeByHwMode0,
26867 OPC_CheckPatternPredicate, 10,
26868 OPC_EmitMergeInputChains1_0,
26869 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
26870 1, 0, 3, 16,
26871 107,
26872 OPC_CheckPredicate, 19,
26873 OPC_Scope, 12,
26874 OPC_CheckTypeByHwMode0,
26875 OPC_CheckPatternPredicate, 10,
26876 OPC_EmitMergeInputChains1_0,
26877 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMCAS__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
26878 1, 0, 3, 16,
26879 17,
26880 OPC_CheckPredicate, 55,
26881 OPC_CheckTypeByHwMode, 1,
26882 OPC_CheckPatternPredicate2,
26883 OPC_EmitMergeInputChains1_0,
26884 OPC_EmitIntegerByHwMode0, 2,
26885 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
26886 2, 1, 0, 4, 81,
26887 17,
26888 OPC_CheckPredicate, 56,
26889 OPC_CheckTypeByHwMode, 1,
26890 OPC_CheckPatternPredicate2,
26891 OPC_EmitMergeInputChains1_0,
26892 OPC_EmitIntegerByHwMode0, 4,
26893 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
26894 2, 1, 0, 4, 81,
26895 17,
26896 OPC_CheckPredicate, 57,
26897 OPC_CheckTypeByHwMode, 1,
26898 OPC_CheckPatternPredicate2,
26899 OPC_EmitMergeInputChains1_0,
26900 OPC_EmitIntegerByHwMode0, 5,
26901 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
26902 2, 1, 0, 4, 81,
26903 17,
26904 OPC_CheckPredicate, 58,
26905 OPC_CheckTypeByHwMode, 1,
26906 OPC_CheckPatternPredicate2,
26907 OPC_EmitMergeInputChains1_0,
26908 OPC_EmitIntegerByHwMode0, 6,
26909 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
26910 2, 1, 0, 4, 81,
26911 17,
26912 OPC_CheckPredicate, 59,
26913 OPC_CheckTypeByHwMode, 1,
26914 OPC_CheckPatternPredicate2,
26915 OPC_EmitMergeInputChains1_0,
26916 OPC_EmitIntegerByHwMode0, 7,
26917 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg64), 0|OPFL_Chain|OPFL_MemRefs,
26918 2, 1, 0, 4, 81,
26919 0,
26920 83,
26921 OPC_CheckPredicate3,
26922 OPC_Scope, 15,
26923 OPC_CheckPredicate, 55,
26924 OPC_CheckTypeByHwMode0,
26925 OPC_EmitMergeInputChains1_0,
26926 OPC_EmitIntegerByHwMode0, 2,
26927 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
26928 2, 0, 0, 4, 81,
26929 15,
26930 OPC_CheckPredicate, 56,
26931 OPC_CheckTypeByHwMode0,
26932 OPC_EmitMergeInputChains1_0,
26933 OPC_EmitIntegerByHwMode0, 4,
26934 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
26935 2, 0, 0, 4, 81,
26936 15,
26937 OPC_CheckPredicate, 57,
26938 OPC_CheckTypeByHwMode0,
26939 OPC_EmitMergeInputChains1_0,
26940 OPC_EmitIntegerByHwMode0, 5,
26941 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
26942 2, 0, 0, 4, 81,
26943 15,
26944 OPC_CheckPredicate, 58,
26945 OPC_CheckTypeByHwMode0,
26946 OPC_EmitMergeInputChains1_0,
26947 OPC_EmitIntegerByHwMode0, 6,
26948 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
26949 2, 0, 0, 4, 81,
26950 15,
26951 OPC_CheckPredicate, 59,
26952 OPC_CheckTypeByHwMode0,
26953 OPC_EmitMergeInputChains1_0,
26954 OPC_EmitIntegerByHwMode0, 7,
26955 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoCmpXchg32), 0|OPFL_Chain|OPFL_MemRefs,
26956 2, 0, 0, 4, 81,
26957 0,
26958 0,
26959 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
26960 OPC_RecordMemRef,
26961 OPC_RecordNode,
26962 OPC_RecordChild1,
26963 OPC_CheckChild1TypeByHwMode0,
26964 OPC_RecordChild2,
26965 OPC_Scope, 14,
26966 OPC_CheckPredicate3,
26967 OPC_CheckPredicate, 10,
26968 OPC_CheckTypeByHwMode0,
26969 OPC_CheckPatternPredicate2,
26970 OPC_EmitMergeInputChains1_0,
26971 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMAND_W), 0|OPFL_Chain|OPFL_MemRefs,
26972 1, 0, 2, 14,
26973 15,
26974 OPC_CheckPredicate, 19,
26975 OPC_CheckPredicate, 10,
26976 OPC_CheckTypeByHwMode0,
26977 OPC_CheckPatternPredicate2,
26978 OPC_EmitMergeInputChains1_0,
26979 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMAND_D), 0|OPFL_Chain|OPFL_MemRefs,
26980 1, 0, 2, 14,
26981 12,
26982 OPC_CheckPredicate3,
26983 OPC_CheckTypeByHwMode0,
26984 OPC_CheckPatternPredicate2,
26985 OPC_EmitMergeInputChains1_0,
26986 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMAND__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
26987 1, 0, 2, 14,
26988 13,
26989 OPC_CheckPredicate, 19,
26990 OPC_CheckTypeByHwMode0,
26991 OPC_CheckPatternPredicate2,
26992 OPC_EmitMergeInputChains1_0,
26993 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMAND__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
26994 1, 0, 2, 14,
26995 88,
26996 OPC_CheckPredicate3,
26997 OPC_Scope, 16,
26998 OPC_CheckPredicate, 10,
26999 OPC_CheckTypeByHwMode0,
27000 OPC_CheckPatternPredicate5,
27001 OPC_EmitMergeInputChains1_0,
27002 OPC_EmitIntegerByHwMode0, 2,
27003 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
27004 2, 0, 0, 3, 51,
27005 16,
27006 OPC_CheckPredicate, 30,
27007 OPC_CheckTypeByHwMode0,
27008 OPC_CheckPatternPredicate5,
27009 OPC_EmitMergeInputChains1_0,
27010 OPC_EmitIntegerByHwMode0, 4,
27011 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
27012 2, 0, 0, 3, 51,
27013 16,
27014 OPC_CheckPredicate, 31,
27015 OPC_CheckTypeByHwMode0,
27016 OPC_CheckPatternPredicate5,
27017 OPC_EmitMergeInputChains1_0,
27018 OPC_EmitIntegerByHwMode0, 5,
27019 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
27020 2, 0, 0, 3, 51,
27021 16,
27022 OPC_CheckPredicate, 32,
27023 OPC_CheckTypeByHwMode0,
27024 OPC_CheckPatternPredicate5,
27025 OPC_EmitMergeInputChains1_0,
27026 OPC_EmitIntegerByHwMode0, 6,
27027 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
27028 2, 0, 0, 3, 51,
27029 16,
27030 OPC_CheckPredicate, 33,
27031 OPC_CheckTypeByHwMode0,
27032 OPC_CheckPatternPredicate5,
27033 OPC_EmitMergeInputChains1_0,
27034 OPC_EmitIntegerByHwMode0, 7,
27035 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadAnd32), 0|OPFL_Chain|OPFL_MemRefs,
27036 2, 0, 0, 3, 51,
27037 0,
27038 0,
27039 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
27040 OPC_RecordMemRef,
27041 OPC_RecordNode,
27042 OPC_RecordChild1,
27043 OPC_CheckChild1TypeByHwMode0,
27044 OPC_RecordChild2,
27045 OPC_Scope, 14,
27046 OPC_CheckPredicate3,
27047 OPC_CheckPredicate, 10,
27048 OPC_CheckTypeByHwMode0,
27049 OPC_CheckPatternPredicate2,
27050 OPC_EmitMergeInputChains1_0,
27051 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMOR_W), 0|OPFL_Chain|OPFL_MemRefs,
27052 1, 0, 2, 14,
27053 15,
27054 OPC_CheckPredicate, 19,
27055 OPC_CheckPredicate, 10,
27056 OPC_CheckTypeByHwMode0,
27057 OPC_CheckPatternPredicate2,
27058 OPC_EmitMergeInputChains1_0,
27059 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMOR_D), 0|OPFL_Chain|OPFL_MemRefs,
27060 1, 0, 2, 14,
27061 12,
27062 OPC_CheckPredicate3,
27063 OPC_CheckTypeByHwMode0,
27064 OPC_CheckPatternPredicate2,
27065 OPC_EmitMergeInputChains1_0,
27066 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
27067 1, 0, 2, 14,
27068 13,
27069 OPC_CheckPredicate, 19,
27070 OPC_CheckTypeByHwMode0,
27071 OPC_CheckPatternPredicate2,
27072 OPC_EmitMergeInputChains1_0,
27073 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
27074 1, 0, 2, 14,
27075 88,
27076 OPC_CheckPredicate3,
27077 OPC_Scope, 16,
27078 OPC_CheckPredicate, 10,
27079 OPC_CheckTypeByHwMode0,
27080 OPC_CheckPatternPredicate5,
27081 OPC_EmitMergeInputChains1_0,
27082 OPC_EmitIntegerByHwMode0, 2,
27083 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
27084 2, 0, 0, 3, 51,
27085 16,
27086 OPC_CheckPredicate, 30,
27087 OPC_CheckTypeByHwMode0,
27088 OPC_CheckPatternPredicate5,
27089 OPC_EmitMergeInputChains1_0,
27090 OPC_EmitIntegerByHwMode0, 4,
27091 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
27092 2, 0, 0, 3, 51,
27093 16,
27094 OPC_CheckPredicate, 31,
27095 OPC_CheckTypeByHwMode0,
27096 OPC_CheckPatternPredicate5,
27097 OPC_EmitMergeInputChains1_0,
27098 OPC_EmitIntegerByHwMode0, 5,
27099 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
27100 2, 0, 0, 3, 51,
27101 16,
27102 OPC_CheckPredicate, 32,
27103 OPC_CheckTypeByHwMode0,
27104 OPC_CheckPatternPredicate5,
27105 OPC_EmitMergeInputChains1_0,
27106 OPC_EmitIntegerByHwMode0, 6,
27107 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
27108 2, 0, 0, 3, 51,
27109 16,
27110 OPC_CheckPredicate, 33,
27111 OPC_CheckTypeByHwMode0,
27112 OPC_CheckPatternPredicate5,
27113 OPC_EmitMergeInputChains1_0,
27114 OPC_EmitIntegerByHwMode0, 7,
27115 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadOr32), 0|OPFL_Chain|OPFL_MemRefs,
27116 2, 0, 0, 3, 51,
27117 0,
27118 0,
27119 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
27120 OPC_RecordMemRef,
27121 OPC_RecordNode,
27122 OPC_RecordChild1,
27123 OPC_CheckChild1TypeByHwMode0,
27124 OPC_RecordChild2,
27125 OPC_Scope, 14,
27126 OPC_CheckPredicate3,
27127 OPC_CheckPredicate, 10,
27128 OPC_CheckTypeByHwMode0,
27129 OPC_CheckPatternPredicate2,
27130 OPC_EmitMergeInputChains1_0,
27131 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMXOR_W), 0|OPFL_Chain|OPFL_MemRefs,
27132 1, 0, 2, 14,
27133 15,
27134 OPC_CheckPredicate, 19,
27135 OPC_CheckPredicate, 10,
27136 OPC_CheckTypeByHwMode0,
27137 OPC_CheckPatternPredicate2,
27138 OPC_EmitMergeInputChains1_0,
27139 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMXOR_D), 0|OPFL_Chain|OPFL_MemRefs,
27140 1, 0, 2, 14,
27141 12,
27142 OPC_CheckPredicate3,
27143 OPC_CheckTypeByHwMode0,
27144 OPC_CheckPatternPredicate2,
27145 OPC_EmitMergeInputChains1_0,
27146 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMXOR__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
27147 1, 0, 2, 14,
27148 13,
27149 OPC_CheckPredicate, 19,
27150 OPC_CheckTypeByHwMode0,
27151 OPC_CheckPatternPredicate2,
27152 OPC_EmitMergeInputChains1_0,
27153 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMXOR__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
27154 1, 0, 2, 14,
27155 88,
27156 OPC_CheckPredicate3,
27157 OPC_Scope, 16,
27158 OPC_CheckPredicate, 10,
27159 OPC_CheckTypeByHwMode0,
27160 OPC_CheckPatternPredicate5,
27161 OPC_EmitMergeInputChains1_0,
27162 OPC_EmitIntegerByHwMode0, 2,
27163 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
27164 2, 0, 0, 3, 51,
27165 16,
27166 OPC_CheckPredicate, 30,
27167 OPC_CheckTypeByHwMode0,
27168 OPC_CheckPatternPredicate5,
27169 OPC_EmitMergeInputChains1_0,
27170 OPC_EmitIntegerByHwMode0, 4,
27171 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
27172 2, 0, 0, 3, 51,
27173 16,
27174 OPC_CheckPredicate, 31,
27175 OPC_CheckTypeByHwMode0,
27176 OPC_CheckPatternPredicate5,
27177 OPC_EmitMergeInputChains1_0,
27178 OPC_EmitIntegerByHwMode0, 5,
27179 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
27180 2, 0, 0, 3, 51,
27181 16,
27182 OPC_CheckPredicate, 32,
27183 OPC_CheckTypeByHwMode0,
27184 OPC_CheckPatternPredicate5,
27185 OPC_EmitMergeInputChains1_0,
27186 OPC_EmitIntegerByHwMode0, 6,
27187 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
27188 2, 0, 0, 3, 51,
27189 16,
27190 OPC_CheckPredicate, 33,
27191 OPC_CheckTypeByHwMode0,
27192 OPC_CheckPatternPredicate5,
27193 OPC_EmitMergeInputChains1_0,
27194 OPC_EmitIntegerByHwMode0, 7,
27195 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadXor32), 0|OPFL_Chain|OPFL_MemRefs,
27196 2, 0, 0, 3, 51,
27197 0,
27198 0,
27199 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
27200 OPC_RecordMemRef,
27201 OPC_RecordNode,
27202 OPC_RecordChild1,
27203 OPC_CheckChild1TypeByHwMode0,
27204 OPC_RecordChild2,
27205 OPC_Scope, 14,
27206 OPC_CheckPredicate3,
27207 OPC_CheckPredicate, 10,
27208 OPC_CheckTypeByHwMode0,
27209 OPC_CheckPatternPredicate2,
27210 OPC_EmitMergeInputChains1_0,
27211 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN_WU), 0|OPFL_Chain|OPFL_MemRefs,
27212 1, 0, 2, 14,
27213 15,
27214 OPC_CheckPredicate, 19,
27215 OPC_CheckPredicate, 10,
27216 OPC_CheckTypeByHwMode0,
27217 OPC_CheckPatternPredicate2,
27218 OPC_EmitMergeInputChains1_0,
27219 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN_DU), 0|OPFL_Chain|OPFL_MemRefs,
27220 1, 0, 2, 14,
27221 12,
27222 OPC_CheckPredicate3,
27223 OPC_CheckTypeByHwMode0,
27224 OPC_CheckPatternPredicate2,
27225 OPC_EmitMergeInputChains1_0,
27226 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
27227 1, 0, 2, 14,
27228 13,
27229 OPC_CheckPredicate, 19,
27230 OPC_CheckTypeByHwMode0,
27231 OPC_CheckPatternPredicate2,
27232 OPC_EmitMergeInputChains1_0,
27233 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
27234 1, 0, 2, 14,
27235 88,
27236 OPC_CheckPredicate3,
27237 OPC_Scope, 16,
27238 OPC_CheckPredicate, 10,
27239 OPC_CheckTypeByHwMode0,
27240 OPC_CheckPatternPredicate5,
27241 OPC_EmitMergeInputChains1_0,
27242 OPC_EmitIntegerByHwMode0, 2,
27243 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
27244 2, 0, 0, 3, 51,
27245 16,
27246 OPC_CheckPredicate, 30,
27247 OPC_CheckTypeByHwMode0,
27248 OPC_CheckPatternPredicate5,
27249 OPC_EmitMergeInputChains1_0,
27250 OPC_EmitIntegerByHwMode0, 4,
27251 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
27252 2, 0, 0, 3, 51,
27253 16,
27254 OPC_CheckPredicate, 31,
27255 OPC_CheckTypeByHwMode0,
27256 OPC_CheckPatternPredicate5,
27257 OPC_EmitMergeInputChains1_0,
27258 OPC_EmitIntegerByHwMode0, 5,
27259 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
27260 2, 0, 0, 3, 51,
27261 16,
27262 OPC_CheckPredicate, 32,
27263 OPC_CheckTypeByHwMode0,
27264 OPC_CheckPatternPredicate5,
27265 OPC_EmitMergeInputChains1_0,
27266 OPC_EmitIntegerByHwMode0, 6,
27267 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
27268 2, 0, 0, 3, 51,
27269 16,
27270 OPC_CheckPredicate, 33,
27271 OPC_CheckTypeByHwMode0,
27272 OPC_CheckPatternPredicate5,
27273 OPC_EmitMergeInputChains1_0,
27274 OPC_EmitIntegerByHwMode0, 7,
27275 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMin32), 0|OPFL_Chain|OPFL_MemRefs,
27276 2, 0, 0, 3, 51,
27277 0,
27278 0,
27279 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
27280 OPC_RecordMemRef,
27281 OPC_RecordNode,
27282 OPC_RecordChild1,
27283 OPC_CheckChild1TypeByHwMode0,
27284 OPC_RecordChild2,
27285 OPC_Scope, 14,
27286 OPC_CheckPredicate3,
27287 OPC_CheckPredicate, 10,
27288 OPC_CheckTypeByHwMode0,
27289 OPC_CheckPatternPredicate2,
27290 OPC_EmitMergeInputChains1_0,
27291 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX_WU), 0|OPFL_Chain|OPFL_MemRefs,
27292 1, 0, 2, 14,
27293 15,
27294 OPC_CheckPredicate, 19,
27295 OPC_CheckPredicate, 10,
27296 OPC_CheckTypeByHwMode0,
27297 OPC_CheckPatternPredicate2,
27298 OPC_EmitMergeInputChains1_0,
27299 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX_DU), 0|OPFL_Chain|OPFL_MemRefs,
27300 1, 0, 2, 14,
27301 12,
27302 OPC_CheckPredicate3,
27303 OPC_CheckTypeByHwMode0,
27304 OPC_CheckPatternPredicate2,
27305 OPC_EmitMergeInputChains1_0,
27306 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX__DB_WU), 0|OPFL_Chain|OPFL_MemRefs,
27307 1, 0, 2, 14,
27308 13,
27309 OPC_CheckPredicate, 19,
27310 OPC_CheckTypeByHwMode0,
27311 OPC_CheckPatternPredicate2,
27312 OPC_EmitMergeInputChains1_0,
27313 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX__DB_DU), 0|OPFL_Chain|OPFL_MemRefs,
27314 1, 0, 2, 14,
27315 88,
27316 OPC_CheckPredicate3,
27317 OPC_Scope, 16,
27318 OPC_CheckPredicate, 10,
27319 OPC_CheckTypeByHwMode0,
27320 OPC_CheckPatternPredicate5,
27321 OPC_EmitMergeInputChains1_0,
27322 OPC_EmitIntegerByHwMode0, 2,
27323 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
27324 2, 0, 0, 3, 51,
27325 16,
27326 OPC_CheckPredicate, 30,
27327 OPC_CheckTypeByHwMode0,
27328 OPC_CheckPatternPredicate5,
27329 OPC_EmitMergeInputChains1_0,
27330 OPC_EmitIntegerByHwMode0, 4,
27331 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
27332 2, 0, 0, 3, 51,
27333 16,
27334 OPC_CheckPredicate, 31,
27335 OPC_CheckTypeByHwMode0,
27336 OPC_CheckPatternPredicate5,
27337 OPC_EmitMergeInputChains1_0,
27338 OPC_EmitIntegerByHwMode0, 5,
27339 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
27340 2, 0, 0, 3, 51,
27341 16,
27342 OPC_CheckPredicate, 32,
27343 OPC_CheckTypeByHwMode0,
27344 OPC_CheckPatternPredicate5,
27345 OPC_EmitMergeInputChains1_0,
27346 OPC_EmitIntegerByHwMode0, 6,
27347 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
27348 2, 0, 0, 3, 51,
27349 16,
27350 OPC_CheckPredicate, 33,
27351 OPC_CheckTypeByHwMode0,
27352 OPC_CheckPatternPredicate5,
27353 OPC_EmitMergeInputChains1_0,
27354 OPC_EmitIntegerByHwMode0, 7,
27355 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadUMax32), 0|OPFL_Chain|OPFL_MemRefs,
27356 2, 0, 0, 3, 51,
27357 0,
27358 0,
27359 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
27360 OPC_RecordMemRef,
27361 OPC_RecordNode,
27362 OPC_RecordChild1,
27363 OPC_CheckChild1TypeByHwMode0,
27364 OPC_RecordChild2,
27365 OPC_Scope, 14,
27366 OPC_CheckPredicate3,
27367 OPC_CheckPredicate, 10,
27368 OPC_CheckTypeByHwMode0,
27369 OPC_CheckPatternPredicate2,
27370 OPC_EmitMergeInputChains1_0,
27371 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN_W), 0|OPFL_Chain|OPFL_MemRefs,
27372 1, 0, 2, 14,
27373 15,
27374 OPC_CheckPredicate, 19,
27375 OPC_CheckPredicate, 10,
27376 OPC_CheckTypeByHwMode0,
27377 OPC_CheckPatternPredicate2,
27378 OPC_EmitMergeInputChains1_0,
27379 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN_D), 0|OPFL_Chain|OPFL_MemRefs,
27380 1, 0, 2, 14,
27381 12,
27382 OPC_CheckPredicate3,
27383 OPC_CheckTypeByHwMode0,
27384 OPC_CheckPatternPredicate2,
27385 OPC_EmitMergeInputChains1_0,
27386 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
27387 1, 0, 2, 14,
27388 13,
27389 OPC_CheckPredicate, 19,
27390 OPC_CheckTypeByHwMode0,
27391 OPC_CheckPatternPredicate2,
27392 OPC_EmitMergeInputChains1_0,
27393 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMIN__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
27394 1, 0, 2, 14,
27395 88,
27396 OPC_CheckPredicate3,
27397 OPC_Scope, 16,
27398 OPC_CheckPredicate, 10,
27399 OPC_CheckTypeByHwMode0,
27400 OPC_CheckPatternPredicate5,
27401 OPC_EmitMergeInputChains1_0,
27402 OPC_EmitIntegerByHwMode0, 2,
27403 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
27404 2, 0, 0, 3, 51,
27405 16,
27406 OPC_CheckPredicate, 30,
27407 OPC_CheckTypeByHwMode0,
27408 OPC_CheckPatternPredicate5,
27409 OPC_EmitMergeInputChains1_0,
27410 OPC_EmitIntegerByHwMode0, 4,
27411 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
27412 2, 0, 0, 3, 51,
27413 16,
27414 OPC_CheckPredicate, 31,
27415 OPC_CheckTypeByHwMode0,
27416 OPC_CheckPatternPredicate5,
27417 OPC_EmitMergeInputChains1_0,
27418 OPC_EmitIntegerByHwMode0, 5,
27419 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
27420 2, 0, 0, 3, 51,
27421 16,
27422 OPC_CheckPredicate, 32,
27423 OPC_CheckTypeByHwMode0,
27424 OPC_CheckPatternPredicate5,
27425 OPC_EmitMergeInputChains1_0,
27426 OPC_EmitIntegerByHwMode0, 6,
27427 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
27428 2, 0, 0, 3, 51,
27429 16,
27430 OPC_CheckPredicate, 33,
27431 OPC_CheckTypeByHwMode0,
27432 OPC_CheckPatternPredicate5,
27433 OPC_EmitMergeInputChains1_0,
27434 OPC_EmitIntegerByHwMode0, 7,
27435 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMin32), 0|OPFL_Chain|OPFL_MemRefs,
27436 2, 0, 0, 3, 51,
27437 0,
27438 0,
27439 26|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
27440 OPC_RecordMemRef,
27441 OPC_RecordNode,
27442 OPC_RecordChild1,
27443 OPC_CheckChild1TypeByHwMode0,
27444 OPC_RecordChild2,
27445 OPC_Scope, 14,
27446 OPC_CheckPredicate3,
27447 OPC_CheckPredicate, 10,
27448 OPC_CheckTypeByHwMode0,
27449 OPC_CheckPatternPredicate2,
27450 OPC_EmitMergeInputChains1_0,
27451 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX_W), 0|OPFL_Chain|OPFL_MemRefs,
27452 1, 0, 2, 14,
27453 15,
27454 OPC_CheckPredicate, 19,
27455 OPC_CheckPredicate, 10,
27456 OPC_CheckTypeByHwMode0,
27457 OPC_CheckPatternPredicate2,
27458 OPC_EmitMergeInputChains1_0,
27459 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX_D), 0|OPFL_Chain|OPFL_MemRefs,
27460 1, 0, 2, 14,
27461 12,
27462 OPC_CheckPredicate3,
27463 OPC_CheckTypeByHwMode0,
27464 OPC_CheckPatternPredicate2,
27465 OPC_EmitMergeInputChains1_0,
27466 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
27467 1, 0, 2, 14,
27468 13,
27469 OPC_CheckPredicate, 19,
27470 OPC_CheckTypeByHwMode0,
27471 OPC_CheckPatternPredicate2,
27472 OPC_EmitMergeInputChains1_0,
27473 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMMAX__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
27474 1, 0, 2, 14,
27475 88,
27476 OPC_CheckPredicate3,
27477 OPC_Scope, 16,
27478 OPC_CheckPredicate, 10,
27479 OPC_CheckTypeByHwMode0,
27480 OPC_CheckPatternPredicate5,
27481 OPC_EmitMergeInputChains1_0,
27482 OPC_EmitIntegerByHwMode0, 2,
27483 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
27484 2, 0, 0, 3, 51,
27485 16,
27486 OPC_CheckPredicate, 30,
27487 OPC_CheckTypeByHwMode0,
27488 OPC_CheckPatternPredicate5,
27489 OPC_EmitMergeInputChains1_0,
27490 OPC_EmitIntegerByHwMode0, 4,
27491 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
27492 2, 0, 0, 3, 51,
27493 16,
27494 OPC_CheckPredicate, 31,
27495 OPC_CheckTypeByHwMode0,
27496 OPC_CheckPatternPredicate5,
27497 OPC_EmitMergeInputChains1_0,
27498 OPC_EmitIntegerByHwMode0, 5,
27499 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
27500 2, 0, 0, 3, 51,
27501 16,
27502 OPC_CheckPredicate, 32,
27503 OPC_CheckTypeByHwMode0,
27504 OPC_CheckPatternPredicate5,
27505 OPC_EmitMergeInputChains1_0,
27506 OPC_EmitIntegerByHwMode0, 6,
27507 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
27508 2, 0, 0, 3, 51,
27509 16,
27510 OPC_CheckPredicate, 33,
27511 OPC_CheckTypeByHwMode0,
27512 OPC_CheckPatternPredicate5,
27513 OPC_EmitMergeInputChains1_0,
27514 OPC_EmitIntegerByHwMode0, 7,
27515 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadMax32), 0|OPFL_Chain|OPFL_MemRefs,
27516 2, 0, 0, 3, 51,
27517 0,
27518 0,
27519 53|128,1, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
27520 OPC_RecordMemRef,
27521 OPC_RecordNode,
27522 OPC_RecordChild1,
27523 OPC_CheckChild1TypeByHwMode0,
27524 OPC_RecordChild2,
27525 OPC_Scope, 89,
27526 OPC_CheckPredicate, 19,
27527 OPC_Scope, 16,
27528 OPC_CheckPredicate, 10,
27529 OPC_CheckTypeByHwMode0,
27530 OPC_CheckPatternPredicate2,
27531 OPC_EmitMergeInputChains1_0,
27532 OPC_EmitIntegerByHwMode0, 2,
27533 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
27534 2, 0, 0, 3, 51,
27535 16,
27536 OPC_CheckPredicate, 30,
27537 OPC_CheckTypeByHwMode0,
27538 OPC_CheckPatternPredicate2,
27539 OPC_EmitMergeInputChains1_0,
27540 OPC_EmitIntegerByHwMode0, 4,
27541 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
27542 2, 0, 0, 3, 51,
27543 16,
27544 OPC_CheckPredicate, 31,
27545 OPC_CheckTypeByHwMode0,
27546 OPC_CheckPatternPredicate2,
27547 OPC_EmitMergeInputChains1_0,
27548 OPC_EmitIntegerByHwMode0, 5,
27549 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
27550 2, 0, 0, 3, 51,
27551 16,
27552 OPC_CheckPredicate, 32,
27553 OPC_CheckTypeByHwMode0,
27554 OPC_CheckPatternPredicate2,
27555 OPC_EmitMergeInputChains1_0,
27556 OPC_EmitIntegerByHwMode0, 6,
27557 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
27558 2, 0, 0, 3, 51,
27559 16,
27560 OPC_CheckPredicate, 33,
27561 OPC_CheckTypeByHwMode0,
27562 OPC_CheckPatternPredicate2,
27563 OPC_EmitMergeInputChains1_0,
27564 OPC_EmitIntegerByHwMode0, 7,
27565 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand64), 0|OPFL_Chain|OPFL_MemRefs,
27566 2, 0, 0, 3, 51,
27567 0,
27568 83,
27569 OPC_CheckPredicate3,
27570 OPC_Scope, 15,
27571 OPC_CheckPredicate, 10,
27572 OPC_CheckTypeByHwMode0,
27573 OPC_EmitMergeInputChains1_0,
27574 OPC_EmitIntegerByHwMode0, 2,
27575 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
27576 2, 0, 0, 3, 51,
27577 15,
27578 OPC_CheckPredicate, 30,
27579 OPC_CheckTypeByHwMode0,
27580 OPC_EmitMergeInputChains1_0,
27581 OPC_EmitIntegerByHwMode0, 4,
27582 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
27583 2, 0, 0, 3, 51,
27584 15,
27585 OPC_CheckPredicate, 31,
27586 OPC_CheckTypeByHwMode0,
27587 OPC_EmitMergeInputChains1_0,
27588 OPC_EmitIntegerByHwMode0, 5,
27589 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
27590 2, 0, 0, 3, 51,
27591 15,
27592 OPC_CheckPredicate, 32,
27593 OPC_CheckTypeByHwMode0,
27594 OPC_EmitMergeInputChains1_0,
27595 OPC_EmitIntegerByHwMode0, 6,
27596 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
27597 2, 0, 0, 3, 51,
27598 15,
27599 OPC_CheckPredicate, 33,
27600 OPC_CheckTypeByHwMode0,
27601 OPC_EmitMergeInputChains1_0,
27602 OPC_EmitIntegerByHwMode0, 7,
27603 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadNand32), 0|OPFL_Chain|OPFL_MemRefs,
27604 2, 0, 0, 3, 51,
27605 0,
27606 0,
27607 46|128,2, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
27608 OPC_RecordMemRef,
27609 OPC_RecordNode,
27610 OPC_RecordChild1,
27611 OPC_CheckChild1TypeByHwMode0,
27612 OPC_RecordChild2,
27613 OPC_Scope, 88,
27614 OPC_CheckPredicate3,
27615 OPC_Scope, 16,
27616 OPC_CheckPredicate, 10,
27617 OPC_CheckTypeByHwMode0,
27618 OPC_CheckPatternPredicate5,
27619 OPC_EmitMergeInputChains1_0,
27620 OPC_EmitIntegerByHwMode0, 2,
27621 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
27622 2, 0, 0, 3, 51,
27623 16,
27624 OPC_CheckPredicate, 30,
27625 OPC_CheckTypeByHwMode0,
27626 OPC_CheckPatternPredicate5,
27627 OPC_EmitMergeInputChains1_0,
27628 OPC_EmitIntegerByHwMode0, 4,
27629 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
27630 2, 0, 0, 3, 51,
27631 16,
27632 OPC_CheckPredicate, 31,
27633 OPC_CheckTypeByHwMode0,
27634 OPC_CheckPatternPredicate5,
27635 OPC_EmitMergeInputChains1_0,
27636 OPC_EmitIntegerByHwMode0, 5,
27637 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
27638 2, 0, 0, 3, 51,
27639 16,
27640 OPC_CheckPredicate, 32,
27641 OPC_CheckTypeByHwMode0,
27642 OPC_CheckPatternPredicate5,
27643 OPC_EmitMergeInputChains1_0,
27644 OPC_EmitIntegerByHwMode0, 6,
27645 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
27646 2, 0, 0, 3, 51,
27647 16,
27648 OPC_CheckPredicate, 33,
27649 OPC_CheckTypeByHwMode0,
27650 OPC_CheckPatternPredicate5,
27651 OPC_EmitMergeInputChains1_0,
27652 OPC_EmitIntegerByHwMode0, 7,
27653 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoAtomicLoadSub32), 0|OPFL_Chain|OPFL_MemRefs,
27654 2, 0, 0, 3, 51,
27655 0,
27656 26,
27657 OPC_CheckPredicate5,
27658 OPC_CheckPredicate, 10,
27659 OPC_CheckTypeByHwMode0,
27660 OPC_CheckPatternPredicate, 8,
27661 OPC_EmitMergeInputChains1_0,
27662 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
27663 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
27664 1, 0, 2, 28,
27665 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_B), 0|OPFL_Chain|OPFL_MemRefs,
27666 1, 0, 2, 19,
27667 26,
27668 OPC_CheckPredicate6,
27669 OPC_CheckPredicate, 10,
27670 OPC_CheckTypeByHwMode0,
27671 OPC_CheckPatternPredicate, 8,
27672 OPC_EmitMergeInputChains1_0,
27673 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
27674 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
27675 1, 0, 2, 28,
27676 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_H), 0|OPFL_Chain|OPFL_MemRefs,
27677 1, 0, 2, 19,
27678 24,
27679 OPC_CheckPredicate5,
27680 OPC_CheckTypeByHwMode0,
27681 OPC_CheckPatternPredicate, 8,
27682 OPC_EmitMergeInputChains1_0,
27683 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
27684 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
27685 1, 0, 2, 28,
27686 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_B), 0|OPFL_Chain|OPFL_MemRefs,
27687 1, 0, 2, 19,
27688 24,
27689 OPC_CheckPredicate6,
27690 OPC_CheckTypeByHwMode0,
27691 OPC_CheckPatternPredicate, 8,
27692 OPC_EmitMergeInputChains1_0,
27693 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
27694 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
27695 1, 0, 2, 28,
27696 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_H), 0|OPFL_Chain|OPFL_MemRefs,
27697 1, 0, 2, 19,
27698 25,
27699 OPC_CheckPredicate3,
27700 OPC_CheckPredicate, 10,
27701 OPC_CheckTypeByHwMode0,
27702 OPC_CheckPatternPredicate2,
27703 OPC_EmitMergeInputChains1_0,
27704 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
27705 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
27706 1, 0, 2, 28,
27707 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_W), 0|OPFL_Chain|OPFL_MemRefs,
27708 1, 0, 2, 19,
27709 26,
27710 OPC_CheckPredicate, 19,
27711 OPC_CheckPredicate, 10,
27712 OPC_CheckTypeByHwMode0,
27713 OPC_CheckPatternPredicate2,
27714 OPC_EmitMergeInputChains1_0,
27715 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
27716 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_D), 0,
27717 1, 0, 2, 28,
27718 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD_D), 0|OPFL_Chain|OPFL_MemRefs,
27719 1, 0, 2, 19,
27720 23,
27721 OPC_CheckPredicate3,
27722 OPC_CheckTypeByHwMode0,
27723 OPC_CheckPatternPredicate2,
27724 OPC_EmitMergeInputChains1_0,
27725 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
27726 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
27727 1, 0, 2, 28,
27728 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_W), 0|OPFL_Chain|OPFL_MemRefs,
27729 1, 0, 2, 19,
27730 24,
27731 OPC_CheckPredicate, 19,
27732 OPC_CheckTypeByHwMode0,
27733 OPC_CheckPatternPredicate2,
27734 OPC_EmitMergeInputChains1_0,
27735 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
27736 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::SUB_D), 0,
27737 1, 0, 2, 28,
27738 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::AMADD__DB_D), 0|OPFL_Chain|OPFL_MemRefs,
27739 1, 0, 2, 19,
27740 0,
27741 90|128,3, TARGET_VAL(ISD::SUB),
27742 OPC_Scope, 100|128,1,
27743 OPC_RecordChild0,
27744 OPC_RecordChild1,
27745 OPC_Scope, 23,
27746 OPC_CheckTypeByHwMode0,
27747 OPC_Scope, 9,
27748 OPC_CheckPatternPredicate5,
27749 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SUB_W), 0,
27750 1, 0, 2, 9,
27751 9,
27752 OPC_CheckPatternPredicate2,
27753 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::SUB_D), 0,
27754 1, 0, 2, 9,
27755 0,
27756 24,
27757 OPC_CheckType, MVT::v16i8,
27758 OPC_CheckPatternPredicate1,
27759 OPC_Scope, 9,
27760 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
27761 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_BU),
27762 MVT::v16i8, 2, 22,
27763 8,
27764 OPC_CheckComplexPat2, /*#*/1,
27765 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_BU),
27766 MVT::v16i8, 2, 22,
27767 0,
27768 24,
27769 OPC_CheckType, MVT::v8i16,
27770 OPC_CheckPatternPredicate1,
27771 OPC_Scope, 9,
27772 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
27773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_HU),
27774 MVT::v8i16, 2, 22,
27775 8,
27776 OPC_CheckComplexPat2, /*#*/1,
27777 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_HU),
27778 MVT::v8i16, 2, 22,
27779 0,
27780 24,
27781 OPC_CheckType, MVT::v4i32,
27782 OPC_CheckPatternPredicate1,
27783 OPC_Scope, 9,
27784 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
27785 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_WU),
27786 MVT::v4i32, 2, 22,
27787 8,
27788 OPC_CheckComplexPat2, /*#*/1,
27789 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_WU),
27790 MVT::v4i32, 2, 22,
27791 0,
27792 24,
27793 OPC_CheckType, MVT::v2i64,
27794 OPC_CheckPatternPredicate1,
27795 OPC_Scope, 9,
27796 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
27797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VADDI_DU),
27798 MVT::v2i64, 2, 22,
27799 8,
27800 OPC_CheckComplexPat2, /*#*/1,
27801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUBI_DU),
27802 MVT::v2i64, 2, 22,
27803 0,
27804 24,
27805 OPC_CheckType, MVT::v32i8,
27806 OPC_CheckPatternPredicate0,
27807 OPC_Scope, 9,
27808 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
27809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_BU),
27810 MVT::v32i8, 2, 22,
27811 8,
27812 OPC_CheckComplexPat2, /*#*/1,
27813 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_BU),
27814 MVT::v32i8, 2, 22,
27815 0,
27816 24,
27817 OPC_CheckType, MVT::v16i16,
27818 OPC_CheckPatternPredicate0,
27819 OPC_Scope, 9,
27820 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
27821 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_HU),
27822 MVT::v16i16, 2, 22,
27823 8,
27824 OPC_CheckComplexPat2, /*#*/1,
27825 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_HU),
27826 MVT::v16i16, 2, 22,
27827 0,
27828 24,
27829 OPC_CheckType, MVT::v8i32,
27830 OPC_CheckPatternPredicate0,
27831 OPC_Scope, 9,
27832 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
27833 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_WU),
27834 MVT::v8i32, 2, 22,
27835 8,
27836 OPC_CheckComplexPat2, /*#*/1,
27837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_WU),
27838 MVT::v8i32, 2, 22,
27839 0,
27840 24,
27841 OPC_CheckType, MVT::v4i64,
27842 OPC_CheckPatternPredicate0,
27843 OPC_Scope, 9,
27844 OPC_CheckComplexPat, /*CP*/11, /*#*/1,
27845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVADDI_DU),
27846 MVT::v4i64, 2, 22,
27847 8,
27848 OPC_CheckComplexPat2, /*#*/1,
27849 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUBI_DU),
27850 MVT::v4i64, 2, 22,
27851 0,
27852 0,
27853 78,
27854 OPC_MoveChild0,
27855 OPC_CheckImmAllZerosV,
27856 OPC_MoveParent,
27857 OPC_RecordChild1,
27858 OPC_SwitchType , 7, MVT::v16i8,
27859 OPC_CheckPatternPredicate1,
27860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_B),
27861 MVT::v16i8, 1, 1,
27862 7, MVT::v8i16,
27863 OPC_CheckPatternPredicate1,
27864 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_H),
27865 MVT::v8i16, 1, 1,
27866 7, MVT::v4i32,
27867 OPC_CheckPatternPredicate1,
27868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_W),
27869 MVT::v4i32, 1, 1,
27870 7, MVT::v2i64,
27871 OPC_CheckPatternPredicate1,
27872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VNEG_D),
27873 MVT::v2i64, 1, 1,
27874 7, MVT::v32i8,
27875 OPC_CheckPatternPredicate0,
27876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_B),
27877 MVT::v32i8, 1, 1,
27878 7, MVT::v16i16,
27879 OPC_CheckPatternPredicate0,
27880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_H),
27881 MVT::v16i16, 1, 1,
27882 7, MVT::v8i32,
27883 OPC_CheckPatternPredicate0,
27884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_W),
27885 MVT::v8i32, 1, 1,
27886 7, MVT::v4i64,
27887 OPC_CheckPatternPredicate0,
27888 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVNEG_D),
27889 MVT::v4i64, 1, 1,
27890 0,
27891 33|128,1,
27892 OPC_RecordChild0,
27893 OPC_Scope, 81,
27894 OPC_MoveChild1,
27895 OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
27896 OPC_RecordChild0,
27897 OPC_RecordChild1,
27898 OPC_MoveParent,
27899 OPC_SwitchType , 7, MVT::v16i8,
27900 OPC_CheckPatternPredicate1,
27901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_B),
27902 MVT::v16i8, 3, 24,
27903 7, MVT::v8i16,
27904 OPC_CheckPatternPredicate1,
27905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_H),
27906 MVT::v8i16, 3, 24,
27907 7, MVT::v4i32,
27908 OPC_CheckPatternPredicate1,
27909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_W),
27910 MVT::v4i32, 3, 24,
27911 7, MVT::v2i64,
27912 OPC_CheckPatternPredicate1,
27913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMSUB_D),
27914 MVT::v2i64, 3, 24,
27915 7, MVT::v32i8,
27916 OPC_CheckPatternPredicate0,
27917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_B),
27918 MVT::v32i8, 3, 24,
27919 7, MVT::v16i16,
27920 OPC_CheckPatternPredicate0,
27921 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_H),
27922 MVT::v16i16, 3, 24,
27923 7, MVT::v8i32,
27924 OPC_CheckPatternPredicate0,
27925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_W),
27926 MVT::v8i32, 3, 24,
27927 7, MVT::v4i64,
27928 OPC_CheckPatternPredicate0,
27929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMSUB_D),
27930 MVT::v4i64, 3, 24,
27931 0,
27932 75,
27933 OPC_RecordChild1,
27934 OPC_SwitchType , 7, MVT::v16i8,
27935 OPC_CheckPatternPredicate1,
27936 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_B),
27937 MVT::v16i8, 2, 9,
27938 7, MVT::v8i16,
27939 OPC_CheckPatternPredicate1,
27940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_H),
27941 MVT::v8i16, 2, 9,
27942 7, MVT::v4i32,
27943 OPC_CheckPatternPredicate1,
27944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_W),
27945 MVT::v4i32, 2, 9,
27946 7, MVT::v2i64,
27947 OPC_CheckPatternPredicate1,
27948 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSUB_D),
27949 MVT::v2i64, 2, 9,
27950 7, MVT::v32i8,
27951 OPC_CheckPatternPredicate0,
27952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_B),
27953 MVT::v32i8, 2, 9,
27954 7, MVT::v16i16,
27955 OPC_CheckPatternPredicate0,
27956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_H),
27957 MVT::v16i16, 2, 9,
27958 7, MVT::v8i32,
27959 OPC_CheckPatternPredicate0,
27960 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_W),
27961 MVT::v8i32, 2, 9,
27962 7, MVT::v4i64,
27963 OPC_CheckPatternPredicate0,
27964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSUB_D),
27965 MVT::v4i64, 2, 9,
27966 0,
27967 0,
27968 0,
27969 108, TARGET_VAL(ISD::MULHS),
27970 OPC_RecordChild0,
27971 OPC_RecordChild1,
27972 OPC_Scope, 23,
27973 OPC_CheckTypeByHwMode0,
27974 OPC_Scope, 9,
27975 OPC_CheckPatternPredicate5,
27976 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MULH_W), 0,
27977 1, 0, 2, 9,
27978 9,
27979 OPC_CheckPatternPredicate2,
27980 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MULH_D), 0,
27981 1, 0, 2, 9,
27982 0,
27983 9,
27984 OPC_CheckType, MVT::v16i8,
27985 OPC_CheckPatternPredicate1,
27986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_B),
27987 MVT::v16i8, 2, 9,
27988 9,
27989 OPC_CheckType, MVT::v8i16,
27990 OPC_CheckPatternPredicate1,
27991 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_H),
27992 MVT::v8i16, 2, 9,
27993 9,
27994 OPC_CheckType, MVT::v4i32,
27995 OPC_CheckPatternPredicate1,
27996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_W),
27997 MVT::v4i32, 2, 9,
27998 9,
27999 OPC_CheckType, MVT::v2i64,
28000 OPC_CheckPatternPredicate1,
28001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_D),
28002 MVT::v2i64, 2, 9,
28003 9,
28004 OPC_CheckType, MVT::v32i8,
28005 OPC_CheckPatternPredicate0,
28006 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_B),
28007 MVT::v32i8, 2, 9,
28008 9,
28009 OPC_CheckType, MVT::v16i16,
28010 OPC_CheckPatternPredicate0,
28011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_H),
28012 MVT::v16i16, 2, 9,
28013 9,
28014 OPC_CheckType, MVT::v8i32,
28015 OPC_CheckPatternPredicate0,
28016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_W),
28017 MVT::v8i32, 2, 9,
28018 9,
28019 OPC_CheckType, MVT::v4i64,
28020 OPC_CheckPatternPredicate0,
28021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_D),
28022 MVT::v4i64, 2, 9,
28023 0,
28024 108, TARGET_VAL(ISD::MULHU),
28025 OPC_RecordChild0,
28026 OPC_RecordChild1,
28027 OPC_Scope, 23,
28028 OPC_CheckTypeByHwMode0,
28029 OPC_Scope, 9,
28030 OPC_CheckPatternPredicate5,
28031 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MULH_WU), 0,
28032 1, 0, 2, 9,
28033 9,
28034 OPC_CheckPatternPredicate2,
28035 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MULH_DU), 0,
28036 1, 0, 2, 9,
28037 0,
28038 9,
28039 OPC_CheckType, MVT::v16i8,
28040 OPC_CheckPatternPredicate1,
28041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_BU),
28042 MVT::v16i8, 2, 9,
28043 9,
28044 OPC_CheckType, MVT::v8i16,
28045 OPC_CheckPatternPredicate1,
28046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_HU),
28047 MVT::v8i16, 2, 9,
28048 9,
28049 OPC_CheckType, MVT::v4i32,
28050 OPC_CheckPatternPredicate1,
28051 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_WU),
28052 MVT::v4i32, 2, 9,
28053 9,
28054 OPC_CheckType, MVT::v2i64,
28055 OPC_CheckPatternPredicate1,
28056 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMUH_DU),
28057 MVT::v2i64, 2, 9,
28058 9,
28059 OPC_CheckType, MVT::v32i8,
28060 OPC_CheckPatternPredicate0,
28061 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_BU),
28062 MVT::v32i8, 2, 9,
28063 9,
28064 OPC_CheckType, MVT::v16i16,
28065 OPC_CheckPatternPredicate0,
28066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_HU),
28067 MVT::v16i16, 2, 9,
28068 9,
28069 OPC_CheckType, MVT::v8i32,
28070 OPC_CheckPatternPredicate0,
28071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_WU),
28072 MVT::v8i32, 2, 9,
28073 9,
28074 OPC_CheckType, MVT::v4i64,
28075 OPC_CheckPatternPredicate0,
28076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMUH_DU),
28077 MVT::v4i64, 2, 9,
28078 0,
28079 6, TARGET_VAL(ISD::TRAP),
28080 OPC_RecordNode,
28081 OPC_EmitMergeInputChains1_0,
28082 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoUNIMP),
28083 0,
28084 9, TARGET_VAL(ISD::DEBUGTRAP),
28085 OPC_RecordNode,
28086 OPC_EmitMergeInputChains1_0,
28087 OPC_EmitIntegerByHwMode0, 0,
28088 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::BREAK),
28089 1, 10,
28090 13, TARGET_VAL(ISD::BR),
28091 OPC_RecordNode,
28092 OPC_RecordChild1,
28093 OPC_MoveChild1,
28094 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
28095 OPC_MoveParent,
28096 OPC_EmitMergeInputChains1_0,
28097 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PseudoBR),
28098 1, 10,
28099 8, TARGET_VAL(LoongArchISD::RET),
28100 OPC_RecordNode,
28101 OPC_CaptureGlueInput,
28102 OPC_EmitMergeInputChains1_0,
28103 OPC_MorphNodeTo0, TARGET_VAL(LoongArch::PseudoRET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
28104 0,
28105 11, TARGET_VAL(LoongArchISD::REVB_2H),
28106 OPC_RecordChild0,
28107 OPC_CheckChild0TypeByHwMode0,
28108 OPC_CheckTypeByHwMode0,
28109 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::REVB_2H), 0,
28110 1, 0, 1, 1,
28111 11, TARGET_VAL(LoongArchISD::BITREV_4B),
28112 OPC_RecordChild0,
28113 OPC_CheckChild0TypeByHwMode0,
28114 OPC_CheckTypeByHwMode0,
28115 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_4B), 0,
28116 1, 0, 1, 1,
28117 12, TARGET_VAL(LoongArchISD::REVB_2W),
28118 OPC_RecordChild0,
28119 OPC_CheckChild0TypeByHwMode0,
28120 OPC_CheckTypeByHwMode0,
28121 OPC_CheckPatternPredicate2,
28122 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::REVB_2W), 0,
28123 1, 0, 1, 1,
28124 12, TARGET_VAL(LoongArchISD::BITREV_8B),
28125 OPC_RecordChild0,
28126 OPC_CheckChild0TypeByHwMode0,
28127 OPC_CheckTypeByHwMode0,
28128 OPC_CheckPatternPredicate2,
28129 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_8B), 0,
28130 1, 0, 1, 1,
28131 12, TARGET_VAL(LoongArchISD::BITREV_W),
28132 OPC_RecordChild0,
28133 OPC_CheckChild0TypeByHwMode0,
28134 OPC_CheckTypeByHwMode0,
28135 OPC_CheckPatternPredicate2,
28136 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::BITREV_W), 0,
28137 1, 0, 1, 1,
28138 15, TARGET_VAL(LoongArchISD::CRC_W_B_W),
28139 OPC_RecordNode,
28140 OPC_RecordChild1,
28141 OPC_RecordChild2,
28142 OPC_CheckTypeByHwMode, 1,
28143 OPC_CheckPatternPredicate2,
28144 OPC_EmitMergeInputChains1_0,
28145 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRC_W_B_W), 0|OPFL_Chain,
28146 1, 1, 2, 25,
28147 15, TARGET_VAL(LoongArchISD::CRC_W_H_W),
28148 OPC_RecordNode,
28149 OPC_RecordChild1,
28150 OPC_RecordChild2,
28151 OPC_CheckTypeByHwMode, 1,
28152 OPC_CheckPatternPredicate2,
28153 OPC_EmitMergeInputChains1_0,
28154 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRC_W_H_W), 0|OPFL_Chain,
28155 1, 1, 2, 25,
28156 15, TARGET_VAL(LoongArchISD::CRC_W_W_W),
28157 OPC_RecordNode,
28158 OPC_RecordChild1,
28159 OPC_RecordChild2,
28160 OPC_CheckTypeByHwMode, 1,
28161 OPC_CheckPatternPredicate2,
28162 OPC_EmitMergeInputChains1_0,
28163 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRC_W_W_W), 0|OPFL_Chain,
28164 1, 1, 2, 25,
28165 15, TARGET_VAL(LoongArchISD::CRC_W_D_W),
28166 OPC_RecordNode,
28167 OPC_RecordChild1,
28168 OPC_RecordChild2,
28169 OPC_CheckTypeByHwMode, 1,
28170 OPC_CheckPatternPredicate2,
28171 OPC_EmitMergeInputChains1_0,
28172 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRC_W_D_W), 0|OPFL_Chain,
28173 1, 1, 2, 25,
28174 15, TARGET_VAL(LoongArchISD::CRCC_W_B_W),
28175 OPC_RecordNode,
28176 OPC_RecordChild1,
28177 OPC_RecordChild2,
28178 OPC_CheckTypeByHwMode, 1,
28179 OPC_CheckPatternPredicate2,
28180 OPC_EmitMergeInputChains1_0,
28181 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRCC_W_B_W), 0|OPFL_Chain,
28182 1, 1, 2, 25,
28183 15, TARGET_VAL(LoongArchISD::CRCC_W_H_W),
28184 OPC_RecordNode,
28185 OPC_RecordChild1,
28186 OPC_RecordChild2,
28187 OPC_CheckTypeByHwMode, 1,
28188 OPC_CheckPatternPredicate2,
28189 OPC_EmitMergeInputChains1_0,
28190 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRCC_W_H_W), 0|OPFL_Chain,
28191 1, 1, 2, 25,
28192 15, TARGET_VAL(LoongArchISD::CRCC_W_W_W),
28193 OPC_RecordNode,
28194 OPC_RecordChild1,
28195 OPC_RecordChild2,
28196 OPC_CheckTypeByHwMode, 1,
28197 OPC_CheckPatternPredicate2,
28198 OPC_EmitMergeInputChains1_0,
28199 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRCC_W_W_W), 0|OPFL_Chain,
28200 1, 1, 2, 25,
28201 15, TARGET_VAL(LoongArchISD::CRCC_W_D_W),
28202 OPC_RecordNode,
28203 OPC_RecordChild1,
28204 OPC_RecordChild2,
28205 OPC_CheckTypeByHwMode, 1,
28206 OPC_CheckPatternPredicate2,
28207 OPC_EmitMergeInputChains1_0,
28208 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CRCC_W_D_W), 0|OPFL_Chain,
28209 1, 1, 2, 25,
28210 26|128,3, TARGET_VAL(ISD::STRICT_FSETCC),
28211 OPC_RecordNode,
28212 OPC_RecordChild1,
28213 OPC_Scope, 73|128,1,
28214 OPC_CheckChild1Type, MVT::f32,
28215 OPC_RecordChild2,
28216 OPC_MoveChild3,
28217 OPC_Scope, 14,
28218 OPC_CheckCondCode, ISD::SETOEQ,
28219 OPC_MoveParent,
28220 OPC_CheckTypeByHwMode0,
28221 OPC_CheckPatternPredicate3,
28222 OPC_EmitMergeInputChains1_0,
28223 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0|OPFL_Chain,
28224 1, 0, 2, 25,
28225 14,
28226 OPC_CheckCondCode, ISD::SETEQ,
28227 OPC_MoveParent,
28228 OPC_CheckTypeByHwMode0,
28229 OPC_CheckPatternPredicate3,
28230 OPC_EmitMergeInputChains1_0,
28231 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_S), 0|OPFL_Chain,
28232 1, 0, 2, 25,
28233 14,
28234 OPC_CheckCondCode, ISD::SETOLT,
28235 OPC_MoveParent,
28236 OPC_CheckTypeByHwMode0,
28237 OPC_CheckPatternPredicate3,
28238 OPC_EmitMergeInputChains1_0,
28239 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0|OPFL_Chain,
28240 1, 0, 2, 25,
28241 14,
28242 OPC_CheckCondCode, ISD::SETOLE,
28243 OPC_MoveParent,
28244 OPC_CheckTypeByHwMode0,
28245 OPC_CheckPatternPredicate3,
28246 OPC_EmitMergeInputChains1_0,
28247 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0|OPFL_Chain,
28248 1, 0, 2, 25,
28249 14,
28250 OPC_CheckCondCode, ISD::SETLE,
28251 OPC_MoveParent,
28252 OPC_CheckTypeByHwMode0,
28253 OPC_CheckPatternPredicate3,
28254 OPC_EmitMergeInputChains1_0,
28255 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_S), 0|OPFL_Chain,
28256 1, 0, 2, 25,
28257 14,
28258 OPC_CheckCondCode, ISD::SETONE,
28259 OPC_MoveParent,
28260 OPC_CheckTypeByHwMode0,
28261 OPC_CheckPatternPredicate3,
28262 OPC_EmitMergeInputChains1_0,
28263 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_S), 0|OPFL_Chain,
28264 1, 0, 2, 25,
28265 14,
28266 OPC_CheckCondCode, ISD::SETO,
28267 OPC_MoveParent,
28268 OPC_CheckTypeByHwMode0,
28269 OPC_CheckPatternPredicate3,
28270 OPC_EmitMergeInputChains1_0,
28271 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_COR_S), 0|OPFL_Chain,
28272 1, 0, 2, 25,
28273 14,
28274 OPC_CheckCondCode, ISD::SETUEQ,
28275 OPC_MoveParent,
28276 OPC_CheckTypeByHwMode0,
28277 OPC_CheckPatternPredicate3,
28278 OPC_EmitMergeInputChains1_0,
28279 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_S), 0|OPFL_Chain,
28280 1, 0, 2, 25,
28281 14,
28282 OPC_CheckCondCode, ISD::SETULT,
28283 OPC_MoveParent,
28284 OPC_CheckTypeByHwMode0,
28285 OPC_CheckPatternPredicate3,
28286 OPC_EmitMergeInputChains1_0,
28287 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_S), 0|OPFL_Chain,
28288 1, 0, 2, 25,
28289 14,
28290 OPC_CheckCondCode, ISD::SETULE,
28291 OPC_MoveParent,
28292 OPC_CheckTypeByHwMode0,
28293 OPC_CheckPatternPredicate3,
28294 OPC_EmitMergeInputChains1_0,
28295 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_S), 0|OPFL_Chain,
28296 1, 0, 2, 25,
28297 14,
28298 OPC_CheckCondCode, ISD::SETUNE,
28299 OPC_MoveParent,
28300 OPC_CheckTypeByHwMode0,
28301 OPC_CheckPatternPredicate3,
28302 OPC_EmitMergeInputChains1_0,
28303 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_S), 0|OPFL_Chain,
28304 1, 0, 2, 25,
28305 14,
28306 OPC_CheckCondCode, ISD::SETUO,
28307 OPC_MoveParent,
28308 OPC_CheckTypeByHwMode0,
28309 OPC_CheckPatternPredicate3,
28310 OPC_EmitMergeInputChains1_0,
28311 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_S), 0|OPFL_Chain,
28312 1, 0, 2, 25,
28313 14,
28314 OPC_CheckCondCode, ISD::SETLT,
28315 OPC_MoveParent,
28316 OPC_CheckTypeByHwMode0,
28317 OPC_CheckPatternPredicate3,
28318 OPC_EmitMergeInputChains1_0,
28319 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_S), 0|OPFL_Chain,
28320 1, 0, 2, 25,
28321 0,
28322 73|128,1,
28323 OPC_CheckChild1Type, MVT::f64,
28324 OPC_RecordChild2,
28325 OPC_MoveChild3,
28326 OPC_Scope, 14,
28327 OPC_CheckCondCode, ISD::SETOEQ,
28328 OPC_MoveParent,
28329 OPC_CheckTypeByHwMode0,
28330 OPC_CheckPatternPredicate4,
28331 OPC_EmitMergeInputChains1_0,
28332 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0|OPFL_Chain,
28333 1, 0, 2, 25,
28334 14,
28335 OPC_CheckCondCode, ISD::SETEQ,
28336 OPC_MoveParent,
28337 OPC_CheckTypeByHwMode0,
28338 OPC_CheckPatternPredicate4,
28339 OPC_EmitMergeInputChains1_0,
28340 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CEQ_D), 0|OPFL_Chain,
28341 1, 0, 2, 25,
28342 14,
28343 OPC_CheckCondCode, ISD::SETOLT,
28344 OPC_MoveParent,
28345 OPC_CheckTypeByHwMode0,
28346 OPC_CheckPatternPredicate4,
28347 OPC_EmitMergeInputChains1_0,
28348 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0|OPFL_Chain,
28349 1, 0, 2, 25,
28350 14,
28351 OPC_CheckCondCode, ISD::SETOLE,
28352 OPC_MoveParent,
28353 OPC_CheckTypeByHwMode0,
28354 OPC_CheckPatternPredicate4,
28355 OPC_EmitMergeInputChains1_0,
28356 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0|OPFL_Chain,
28357 1, 0, 2, 25,
28358 14,
28359 OPC_CheckCondCode, ISD::SETLE,
28360 OPC_MoveParent,
28361 OPC_CheckTypeByHwMode0,
28362 OPC_CheckPatternPredicate4,
28363 OPC_EmitMergeInputChains1_0,
28364 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLE_D), 0|OPFL_Chain,
28365 1, 0, 2, 25,
28366 14,
28367 OPC_CheckCondCode, ISD::SETONE,
28368 OPC_MoveParent,
28369 OPC_CheckTypeByHwMode0,
28370 OPC_CheckPatternPredicate4,
28371 OPC_EmitMergeInputChains1_0,
28372 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CNE_D), 0|OPFL_Chain,
28373 1, 0, 2, 25,
28374 14,
28375 OPC_CheckCondCode, ISD::SETO,
28376 OPC_MoveParent,
28377 OPC_CheckTypeByHwMode0,
28378 OPC_CheckPatternPredicate4,
28379 OPC_EmitMergeInputChains1_0,
28380 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_COR_D), 0|OPFL_Chain,
28381 1, 0, 2, 25,
28382 14,
28383 OPC_CheckCondCode, ISD::SETUEQ,
28384 OPC_MoveParent,
28385 OPC_CheckTypeByHwMode0,
28386 OPC_CheckPatternPredicate4,
28387 OPC_EmitMergeInputChains1_0,
28388 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUEQ_D), 0|OPFL_Chain,
28389 1, 0, 2, 25,
28390 14,
28391 OPC_CheckCondCode, ISD::SETULT,
28392 OPC_MoveParent,
28393 OPC_CheckTypeByHwMode0,
28394 OPC_CheckPatternPredicate4,
28395 OPC_EmitMergeInputChains1_0,
28396 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULT_D), 0|OPFL_Chain,
28397 1, 0, 2, 25,
28398 14,
28399 OPC_CheckCondCode, ISD::SETULE,
28400 OPC_MoveParent,
28401 OPC_CheckTypeByHwMode0,
28402 OPC_CheckPatternPredicate4,
28403 OPC_EmitMergeInputChains1_0,
28404 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CULE_D), 0|OPFL_Chain,
28405 1, 0, 2, 25,
28406 14,
28407 OPC_CheckCondCode, ISD::SETUNE,
28408 OPC_MoveParent,
28409 OPC_CheckTypeByHwMode0,
28410 OPC_CheckPatternPredicate4,
28411 OPC_EmitMergeInputChains1_0,
28412 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUNE_D), 0|OPFL_Chain,
28413 1, 0, 2, 25,
28414 14,
28415 OPC_CheckCondCode, ISD::SETUO,
28416 OPC_MoveParent,
28417 OPC_CheckTypeByHwMode0,
28418 OPC_CheckPatternPredicate4,
28419 OPC_EmitMergeInputChains1_0,
28420 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CUN_D), 0|OPFL_Chain,
28421 1, 0, 2, 25,
28422 14,
28423 OPC_CheckCondCode, ISD::SETLT,
28424 OPC_MoveParent,
28425 OPC_CheckTypeByHwMode0,
28426 OPC_CheckPatternPredicate4,
28427 OPC_EmitMergeInputChains1_0,
28428 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_CLT_D), 0|OPFL_Chain,
28429 1, 0, 2, 25,
28430 0,
28431 0,
28432 94|128,2, TARGET_VAL(ISD::STRICT_FSETCCS),
28433 OPC_RecordNode,
28434 OPC_RecordChild1,
28435 OPC_Scope, 43|128,1,
28436 OPC_CheckChild1Type, MVT::f32,
28437 OPC_RecordChild2,
28438 OPC_MoveChild3,
28439 OPC_Scope, 14,
28440 OPC_CheckCondCode, ISD::SETOEQ,
28441 OPC_MoveParent,
28442 OPC_CheckTypeByHwMode0,
28443 OPC_CheckPatternPredicate3,
28444 OPC_EmitMergeInputChains1_0,
28445 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SEQ_S), 0|OPFL_Chain,
28446 1, 0, 2, 25,
28447 14,
28448 OPC_CheckCondCode, ISD::SETOLT,
28449 OPC_MoveParent,
28450 OPC_CheckTypeByHwMode0,
28451 OPC_CheckPatternPredicate3,
28452 OPC_EmitMergeInputChains1_0,
28453 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLT_S), 0|OPFL_Chain,
28454 1, 0, 2, 25,
28455 14,
28456 OPC_CheckCondCode, ISD::SETOLE,
28457 OPC_MoveParent,
28458 OPC_CheckTypeByHwMode0,
28459 OPC_CheckPatternPredicate3,
28460 OPC_EmitMergeInputChains1_0,
28461 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLE_S), 0|OPFL_Chain,
28462 1, 0, 2, 25,
28463 14,
28464 OPC_CheckCondCode, ISD::SETONE,
28465 OPC_MoveParent,
28466 OPC_CheckTypeByHwMode0,
28467 OPC_CheckPatternPredicate3,
28468 OPC_EmitMergeInputChains1_0,
28469 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SNE_S), 0|OPFL_Chain,
28470 1, 0, 2, 25,
28471 14,
28472 OPC_CheckCondCode, ISD::SETO,
28473 OPC_MoveParent,
28474 OPC_CheckTypeByHwMode0,
28475 OPC_CheckPatternPredicate3,
28476 OPC_EmitMergeInputChains1_0,
28477 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SOR_S), 0|OPFL_Chain,
28478 1, 0, 2, 25,
28479 14,
28480 OPC_CheckCondCode, ISD::SETUEQ,
28481 OPC_MoveParent,
28482 OPC_CheckTypeByHwMode0,
28483 OPC_CheckPatternPredicate3,
28484 OPC_EmitMergeInputChains1_0,
28485 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUEQ_S), 0|OPFL_Chain,
28486 1, 0, 2, 25,
28487 14,
28488 OPC_CheckCondCode, ISD::SETULT,
28489 OPC_MoveParent,
28490 OPC_CheckTypeByHwMode0,
28491 OPC_CheckPatternPredicate3,
28492 OPC_EmitMergeInputChains1_0,
28493 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SULT_S), 0|OPFL_Chain,
28494 1, 0, 2, 25,
28495 14,
28496 OPC_CheckCondCode, ISD::SETULE,
28497 OPC_MoveParent,
28498 OPC_CheckTypeByHwMode0,
28499 OPC_CheckPatternPredicate3,
28500 OPC_EmitMergeInputChains1_0,
28501 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SULE_S), 0|OPFL_Chain,
28502 1, 0, 2, 25,
28503 14,
28504 OPC_CheckCondCode, ISD::SETUNE,
28505 OPC_MoveParent,
28506 OPC_CheckTypeByHwMode0,
28507 OPC_CheckPatternPredicate3,
28508 OPC_EmitMergeInputChains1_0,
28509 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUNE_S), 0|OPFL_Chain,
28510 1, 0, 2, 25,
28511 14,
28512 OPC_CheckCondCode, ISD::SETUO,
28513 OPC_MoveParent,
28514 OPC_CheckTypeByHwMode0,
28515 OPC_CheckPatternPredicate3,
28516 OPC_EmitMergeInputChains1_0,
28517 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUN_S), 0|OPFL_Chain,
28518 1, 0, 2, 25,
28519 14,
28520 OPC_CheckCondCode, ISD::SETLT,
28521 OPC_MoveParent,
28522 OPC_CheckTypeByHwMode0,
28523 OPC_CheckPatternPredicate3,
28524 OPC_EmitMergeInputChains1_0,
28525 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLT_S), 0|OPFL_Chain,
28526 1, 0, 2, 25,
28527 0,
28528 43|128,1,
28529 OPC_CheckChild1Type, MVT::f64,
28530 OPC_RecordChild2,
28531 OPC_MoveChild3,
28532 OPC_Scope, 14,
28533 OPC_CheckCondCode, ISD::SETOEQ,
28534 OPC_MoveParent,
28535 OPC_CheckTypeByHwMode0,
28536 OPC_CheckPatternPredicate4,
28537 OPC_EmitMergeInputChains1_0,
28538 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SEQ_D), 0|OPFL_Chain,
28539 1, 0, 2, 25,
28540 14,
28541 OPC_CheckCondCode, ISD::SETOLT,
28542 OPC_MoveParent,
28543 OPC_CheckTypeByHwMode0,
28544 OPC_CheckPatternPredicate4,
28545 OPC_EmitMergeInputChains1_0,
28546 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLT_D), 0|OPFL_Chain,
28547 1, 0, 2, 25,
28548 14,
28549 OPC_CheckCondCode, ISD::SETOLE,
28550 OPC_MoveParent,
28551 OPC_CheckTypeByHwMode0,
28552 OPC_CheckPatternPredicate4,
28553 OPC_EmitMergeInputChains1_0,
28554 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLE_D), 0|OPFL_Chain,
28555 1, 0, 2, 25,
28556 14,
28557 OPC_CheckCondCode, ISD::SETONE,
28558 OPC_MoveParent,
28559 OPC_CheckTypeByHwMode0,
28560 OPC_CheckPatternPredicate4,
28561 OPC_EmitMergeInputChains1_0,
28562 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SNE_D), 0|OPFL_Chain,
28563 1, 0, 2, 25,
28564 14,
28565 OPC_CheckCondCode, ISD::SETO,
28566 OPC_MoveParent,
28567 OPC_CheckTypeByHwMode0,
28568 OPC_CheckPatternPredicate4,
28569 OPC_EmitMergeInputChains1_0,
28570 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SOR_D), 0|OPFL_Chain,
28571 1, 0, 2, 25,
28572 14,
28573 OPC_CheckCondCode, ISD::SETUEQ,
28574 OPC_MoveParent,
28575 OPC_CheckTypeByHwMode0,
28576 OPC_CheckPatternPredicate4,
28577 OPC_EmitMergeInputChains1_0,
28578 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUEQ_D), 0|OPFL_Chain,
28579 1, 0, 2, 25,
28580 14,
28581 OPC_CheckCondCode, ISD::SETULT,
28582 OPC_MoveParent,
28583 OPC_CheckTypeByHwMode0,
28584 OPC_CheckPatternPredicate4,
28585 OPC_EmitMergeInputChains1_0,
28586 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SULT_D), 0|OPFL_Chain,
28587 1, 0, 2, 25,
28588 14,
28589 OPC_CheckCondCode, ISD::SETULE,
28590 OPC_MoveParent,
28591 OPC_CheckTypeByHwMode0,
28592 OPC_CheckPatternPredicate4,
28593 OPC_EmitMergeInputChains1_0,
28594 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SULE_D), 0|OPFL_Chain,
28595 1, 0, 2, 25,
28596 14,
28597 OPC_CheckCondCode, ISD::SETUNE,
28598 OPC_MoveParent,
28599 OPC_CheckTypeByHwMode0,
28600 OPC_CheckPatternPredicate4,
28601 OPC_EmitMergeInputChains1_0,
28602 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUNE_D), 0|OPFL_Chain,
28603 1, 0, 2, 25,
28604 14,
28605 OPC_CheckCondCode, ISD::SETUO,
28606 OPC_MoveParent,
28607 OPC_CheckTypeByHwMode0,
28608 OPC_CheckPatternPredicate4,
28609 OPC_EmitMergeInputChains1_0,
28610 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SUN_D), 0|OPFL_Chain,
28611 1, 0, 2, 25,
28612 14,
28613 OPC_CheckCondCode, ISD::SETLT,
28614 OPC_MoveParent,
28615 OPC_CheckTypeByHwMode0,
28616 OPC_CheckPatternPredicate4,
28617 OPC_EmitMergeInputChains1_0,
28618 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::FCMP_SLT_D), 0|OPFL_Chain,
28619 1, 0, 2, 25,
28620 0,
28621 0,
28622 13, TARGET_VAL(LoongArchISD::IOCSRRD_B),
28623 OPC_RecordNode,
28624 OPC_RecordChild1,
28625 OPC_CheckChild1TypeByHwMode0,
28626 OPC_CheckTypeByHwMode0,
28627 OPC_EmitMergeInputChains1_0,
28628 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::IOCSRRD_B), 0|OPFL_Chain,
28629 1, 0, 1, 10,
28630 13, TARGET_VAL(LoongArchISD::IOCSRRD_H),
28631 OPC_RecordNode,
28632 OPC_RecordChild1,
28633 OPC_CheckChild1TypeByHwMode0,
28634 OPC_CheckTypeByHwMode0,
28635 OPC_EmitMergeInputChains1_0,
28636 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::IOCSRRD_H), 0|OPFL_Chain,
28637 1, 0, 1, 10,
28638 13, TARGET_VAL(LoongArchISD::IOCSRRD_W),
28639 OPC_RecordNode,
28640 OPC_RecordChild1,
28641 OPC_CheckChild1TypeByHwMode0,
28642 OPC_CheckTypeByHwMode0,
28643 OPC_EmitMergeInputChains1_0,
28644 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::IOCSRRD_W), 0|OPFL_Chain,
28645 1, 0, 1, 10,
28646 10, TARGET_VAL(LoongArchISD::IOCSRWR_B),
28647 OPC_RecordNode,
28648 OPC_RecordChild1,
28649 OPC_CheckChild1TypeByHwMode0,
28650 OPC_RecordChild2,
28651 OPC_EmitMergeInputChains1_0,
28652 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_B),
28653 2, 25,
28654 10, TARGET_VAL(LoongArchISD::IOCSRWR_H),
28655 OPC_RecordNode,
28656 OPC_RecordChild1,
28657 OPC_CheckChild1TypeByHwMode0,
28658 OPC_RecordChild2,
28659 OPC_EmitMergeInputChains1_0,
28660 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_H),
28661 2, 25,
28662 10, TARGET_VAL(LoongArchISD::IOCSRWR_W),
28663 OPC_RecordNode,
28664 OPC_RecordChild1,
28665 OPC_CheckChild1TypeByHwMode0,
28666 OPC_RecordChild2,
28667 OPC_EmitMergeInputChains1_0,
28668 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_W),
28669 2, 25,
28670 13, TARGET_VAL(LoongArchISD::CPUCFG),
28671 OPC_RecordNode,
28672 OPC_RecordChild1,
28673 OPC_CheckChild1TypeByHwMode0,
28674 OPC_CheckTypeByHwMode0,
28675 OPC_EmitMergeInputChains1_0,
28676 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::CPUCFG), 0|OPFL_Chain,
28677 1, 0, 1, 10,
28678 14, TARGET_VAL(LoongArchISD::IOCSRRD_D),
28679 OPC_RecordNode,
28680 OPC_RecordChild1,
28681 OPC_CheckChild1TypeByHwMode0,
28682 OPC_CheckTypeByHwMode0,
28683 OPC_CheckPatternPredicate2,
28684 OPC_EmitMergeInputChains1_0,
28685 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::IOCSRRD_D), 0|OPFL_Chain,
28686 1, 0, 1, 10,
28687 11, TARGET_VAL(LoongArchISD::IOCSRWR_D),
28688 OPC_RecordNode,
28689 OPC_RecordChild1,
28690 OPC_CheckChild1TypeByHwMode0,
28691 OPC_RecordChild2,
28692 OPC_CheckPatternPredicate2,
28693 OPC_EmitMergeInputChains1_0,
28694 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::IOCSRWR_D),
28695 2, 25,
28696 43|128,1, TARGET_VAL(LoongArchISD::VANYNONZERO),
28697 OPC_RecordChild0,
28698 OPC_Scope, 20,
28699 OPC_CheckChild0Type, MVT::v16i8,
28700 OPC_CheckTypeByHwMode0,
28701 OPC_CheckPatternPredicate1,
28702 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETNEZ_V), 0,
28703 1, 0, 1, 1,
28704 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28705 1, 0, 1, 10,
28706 20,
28707 OPC_CheckChild0Type, MVT::v8i16,
28708 OPC_CheckTypeByHwMode0,
28709 OPC_CheckPatternPredicate1,
28710 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETNEZ_V), 0,
28711 1, 0, 1, 1,
28712 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28713 1, 0, 1, 10,
28714 20,
28715 OPC_CheckChild0Type, MVT::v4i32,
28716 OPC_CheckTypeByHwMode0,
28717 OPC_CheckPatternPredicate1,
28718 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETNEZ_V), 0,
28719 1, 0, 1, 1,
28720 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28721 1, 0, 1, 10,
28722 20,
28723 OPC_CheckChild0Type, MVT::v2i64,
28724 OPC_CheckTypeByHwMode0,
28725 OPC_CheckPatternPredicate1,
28726 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETNEZ_V), 0,
28727 1, 0, 1, 1,
28728 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28729 1, 0, 1, 10,
28730 20,
28731 OPC_CheckChild0Type, MVT::v32i8,
28732 OPC_CheckTypeByHwMode0,
28733 OPC_CheckPatternPredicate0,
28734 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETNEZ_V), 0,
28735 1, 0, 1, 1,
28736 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28737 1, 0, 1, 10,
28738 20,
28739 OPC_CheckChild0Type, MVT::v16i16,
28740 OPC_CheckTypeByHwMode0,
28741 OPC_CheckPatternPredicate0,
28742 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETNEZ_V), 0,
28743 1, 0, 1, 1,
28744 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28745 1, 0, 1, 10,
28746 20,
28747 OPC_CheckChild0Type, MVT::v8i32,
28748 OPC_CheckTypeByHwMode0,
28749 OPC_CheckPatternPredicate0,
28750 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETNEZ_V), 0,
28751 1, 0, 1, 1,
28752 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28753 1, 0, 1, 10,
28754 20,
28755 OPC_CheckChild0Type, MVT::v4i64,
28756 OPC_CheckTypeByHwMode0,
28757 OPC_CheckPatternPredicate0,
28758 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETNEZ_V), 0,
28759 1, 0, 1, 1,
28760 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28761 1, 0, 1, 10,
28762 0,
28763 43|128,1, TARGET_VAL(LoongArchISD::VALLZERO),
28764 OPC_RecordChild0,
28765 OPC_Scope, 20,
28766 OPC_CheckChild0Type, MVT::v16i8,
28767 OPC_CheckTypeByHwMode0,
28768 OPC_CheckPatternPredicate1,
28769 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETEQZ_V), 0,
28770 1, 0, 1, 1,
28771 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28772 1, 0, 1, 10,
28773 20,
28774 OPC_CheckChild0Type, MVT::v8i16,
28775 OPC_CheckTypeByHwMode0,
28776 OPC_CheckPatternPredicate1,
28777 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETEQZ_V), 0,
28778 1, 0, 1, 1,
28779 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28780 1, 0, 1, 10,
28781 20,
28782 OPC_CheckChild0Type, MVT::v4i32,
28783 OPC_CheckTypeByHwMode0,
28784 OPC_CheckPatternPredicate1,
28785 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETEQZ_V), 0,
28786 1, 0, 1, 1,
28787 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28788 1, 0, 1, 10,
28789 20,
28790 OPC_CheckChild0Type, MVT::v2i64,
28791 OPC_CheckTypeByHwMode0,
28792 OPC_CheckPatternPredicate1,
28793 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::VSETEQZ_V), 0,
28794 1, 0, 1, 1,
28795 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28796 1, 0, 1, 10,
28797 20,
28798 OPC_CheckChild0Type, MVT::v32i8,
28799 OPC_CheckTypeByHwMode0,
28800 OPC_CheckPatternPredicate0,
28801 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETEQZ_V), 0,
28802 1, 0, 1, 1,
28803 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28804 1, 0, 1, 10,
28805 20,
28806 OPC_CheckChild0Type, MVT::v16i16,
28807 OPC_CheckTypeByHwMode0,
28808 OPC_CheckPatternPredicate0,
28809 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETEQZ_V), 0,
28810 1, 0, 1, 1,
28811 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28812 1, 0, 1, 10,
28813 20,
28814 OPC_CheckChild0Type, MVT::v8i32,
28815 OPC_CheckTypeByHwMode0,
28816 OPC_CheckPatternPredicate0,
28817 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETEQZ_V), 0,
28818 1, 0, 1, 1,
28819 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28820 1, 0, 1, 10,
28821 20,
28822 OPC_CheckChild0Type, MVT::v4i64,
28823 OPC_CheckTypeByHwMode0,
28824 OPC_CheckPatternPredicate0,
28825 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::XVSETEQZ_V), 0,
28826 1, 0, 1, 1,
28827 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOVCF2GR), 0,
28828 1, 0, 1, 10,
28829 0,
28830 108, TARGET_VAL(ISD::SDIV),
28831 OPC_RecordChild0,
28832 OPC_RecordChild1,
28833 OPC_Scope, 23,
28834 OPC_CheckTypeByHwMode0,
28835 OPC_Scope, 9,
28836 OPC_CheckPatternPredicate5,
28837 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_W), 0,
28838 1, 0, 2, 9,
28839 9,
28840 OPC_CheckPatternPredicate2,
28841 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_D), 0,
28842 1, 0, 2, 9,
28843 0,
28844 9,
28845 OPC_CheckType, MVT::v16i8,
28846 OPC_CheckPatternPredicate1,
28847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_B),
28848 MVT::v16i8, 2, 9,
28849 9,
28850 OPC_CheckType, MVT::v8i16,
28851 OPC_CheckPatternPredicate1,
28852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_H),
28853 MVT::v8i16, 2, 9,
28854 9,
28855 OPC_CheckType, MVT::v4i32,
28856 OPC_CheckPatternPredicate1,
28857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_W),
28858 MVT::v4i32, 2, 9,
28859 9,
28860 OPC_CheckType, MVT::v2i64,
28861 OPC_CheckPatternPredicate1,
28862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_D),
28863 MVT::v2i64, 2, 9,
28864 9,
28865 OPC_CheckType, MVT::v32i8,
28866 OPC_CheckPatternPredicate0,
28867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_B),
28868 MVT::v32i8, 2, 9,
28869 9,
28870 OPC_CheckType, MVT::v16i16,
28871 OPC_CheckPatternPredicate0,
28872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_H),
28873 MVT::v16i16, 2, 9,
28874 9,
28875 OPC_CheckType, MVT::v8i32,
28876 OPC_CheckPatternPredicate0,
28877 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_W),
28878 MVT::v8i32, 2, 9,
28879 9,
28880 OPC_CheckType, MVT::v4i64,
28881 OPC_CheckPatternPredicate0,
28882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_D),
28883 MVT::v4i64, 2, 9,
28884 0,
28885 108, TARGET_VAL(ISD::UDIV),
28886 OPC_RecordChild0,
28887 OPC_RecordChild1,
28888 OPC_Scope, 23,
28889 OPC_CheckTypeByHwMode0,
28890 OPC_Scope, 9,
28891 OPC_CheckPatternPredicate5,
28892 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_WU), 0,
28893 1, 0, 2, 9,
28894 9,
28895 OPC_CheckPatternPredicate2,
28896 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_DU), 0,
28897 1, 0, 2, 9,
28898 0,
28899 9,
28900 OPC_CheckType, MVT::v16i8,
28901 OPC_CheckPatternPredicate1,
28902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_BU),
28903 MVT::v16i8, 2, 9,
28904 9,
28905 OPC_CheckType, MVT::v8i16,
28906 OPC_CheckPatternPredicate1,
28907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_HU),
28908 MVT::v8i16, 2, 9,
28909 9,
28910 OPC_CheckType, MVT::v4i32,
28911 OPC_CheckPatternPredicate1,
28912 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_WU),
28913 MVT::v4i32, 2, 9,
28914 9,
28915 OPC_CheckType, MVT::v2i64,
28916 OPC_CheckPatternPredicate1,
28917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VDIV_DU),
28918 MVT::v2i64, 2, 9,
28919 9,
28920 OPC_CheckType, MVT::v32i8,
28921 OPC_CheckPatternPredicate0,
28922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_BU),
28923 MVT::v32i8, 2, 9,
28924 9,
28925 OPC_CheckType, MVT::v16i16,
28926 OPC_CheckPatternPredicate0,
28927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_HU),
28928 MVT::v16i16, 2, 9,
28929 9,
28930 OPC_CheckType, MVT::v8i32,
28931 OPC_CheckPatternPredicate0,
28932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_WU),
28933 MVT::v8i32, 2, 9,
28934 9,
28935 OPC_CheckType, MVT::v4i64,
28936 OPC_CheckPatternPredicate0,
28937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVDIV_DU),
28938 MVT::v4i64, 2, 9,
28939 0,
28940 108, TARGET_VAL(ISD::SREM),
28941 OPC_RecordChild0,
28942 OPC_RecordChild1,
28943 OPC_Scope, 23,
28944 OPC_CheckTypeByHwMode0,
28945 OPC_Scope, 9,
28946 OPC_CheckPatternPredicate5,
28947 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_W), 0,
28948 1, 0, 2, 9,
28949 9,
28950 OPC_CheckPatternPredicate2,
28951 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_D), 0,
28952 1, 0, 2, 9,
28953 0,
28954 9,
28955 OPC_CheckType, MVT::v16i8,
28956 OPC_CheckPatternPredicate1,
28957 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_B),
28958 MVT::v16i8, 2, 9,
28959 9,
28960 OPC_CheckType, MVT::v8i16,
28961 OPC_CheckPatternPredicate1,
28962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_H),
28963 MVT::v8i16, 2, 9,
28964 9,
28965 OPC_CheckType, MVT::v4i32,
28966 OPC_CheckPatternPredicate1,
28967 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_W),
28968 MVT::v4i32, 2, 9,
28969 9,
28970 OPC_CheckType, MVT::v2i64,
28971 OPC_CheckPatternPredicate1,
28972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_D),
28973 MVT::v2i64, 2, 9,
28974 9,
28975 OPC_CheckType, MVT::v32i8,
28976 OPC_CheckPatternPredicate0,
28977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_B),
28978 MVT::v32i8, 2, 9,
28979 9,
28980 OPC_CheckType, MVT::v16i16,
28981 OPC_CheckPatternPredicate0,
28982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_H),
28983 MVT::v16i16, 2, 9,
28984 9,
28985 OPC_CheckType, MVT::v8i32,
28986 OPC_CheckPatternPredicate0,
28987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_W),
28988 MVT::v8i32, 2, 9,
28989 9,
28990 OPC_CheckType, MVT::v4i64,
28991 OPC_CheckPatternPredicate0,
28992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_D),
28993 MVT::v4i64, 2, 9,
28994 0,
28995 108, TARGET_VAL(ISD::UREM),
28996 OPC_RecordChild0,
28997 OPC_RecordChild1,
28998 OPC_Scope, 23,
28999 OPC_CheckTypeByHwMode0,
29000 OPC_Scope, 9,
29001 OPC_CheckPatternPredicate5,
29002 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_WU), 0,
29003 1, 0, 2, 9,
29004 9,
29005 OPC_CheckPatternPredicate2,
29006 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_DU), 0,
29007 1, 0, 2, 9,
29008 0,
29009 9,
29010 OPC_CheckType, MVT::v16i8,
29011 OPC_CheckPatternPredicate1,
29012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_BU),
29013 MVT::v16i8, 2, 9,
29014 9,
29015 OPC_CheckType, MVT::v8i16,
29016 OPC_CheckPatternPredicate1,
29017 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_HU),
29018 MVT::v8i16, 2, 9,
29019 9,
29020 OPC_CheckType, MVT::v4i32,
29021 OPC_CheckPatternPredicate1,
29022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_WU),
29023 MVT::v4i32, 2, 9,
29024 9,
29025 OPC_CheckType, MVT::v2i64,
29026 OPC_CheckPatternPredicate1,
29027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMOD_DU),
29028 MVT::v2i64, 2, 9,
29029 9,
29030 OPC_CheckType, MVT::v32i8,
29031 OPC_CheckPatternPredicate0,
29032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_BU),
29033 MVT::v32i8, 2, 9,
29034 9,
29035 OPC_CheckType, MVT::v16i16,
29036 OPC_CheckPatternPredicate0,
29037 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_HU),
29038 MVT::v16i16, 2, 9,
29039 9,
29040 OPC_CheckType, MVT::v8i32,
29041 OPC_CheckPatternPredicate0,
29042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_WU),
29043 MVT::v8i32, 2, 9,
29044 9,
29045 OPC_CheckType, MVT::v4i64,
29046 OPC_CheckPatternPredicate0,
29047 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMOD_DU),
29048 MVT::v4i64, 2, 9,
29049 0,
29050 13, TARGET_VAL(LoongArchISD::DIV_W),
29051 OPC_RecordChild0,
29052 OPC_RecordChild1,
29053 OPC_CheckTypeByHwMode, 1,
29054 OPC_CheckPatternPredicate2,
29055 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_W), 0,
29056 1, 1, 2, 9,
29057 13, TARGET_VAL(LoongArchISD::DIV_WU),
29058 OPC_RecordChild0,
29059 OPC_RecordChild1,
29060 OPC_CheckTypeByHwMode, 1,
29061 OPC_CheckPatternPredicate2,
29062 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::DIV_WU), 0,
29063 1, 1, 2, 9,
29064 13, TARGET_VAL(LoongArchISD::MOD_W),
29065 OPC_RecordChild0,
29066 OPC_RecordChild1,
29067 OPC_CheckTypeByHwMode, 1,
29068 OPC_CheckPatternPredicate2,
29069 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_W), 0,
29070 1, 1, 2, 9,
29071 13, TARGET_VAL(LoongArchISD::MOD_WU),
29072 OPC_RecordChild0,
29073 OPC_RecordChild1,
29074 OPC_CheckTypeByHwMode, 1,
29075 OPC_CheckPatternPredicate2,
29076 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::MOD_WU), 0,
29077 1, 1, 2, 9,
29078 9, TARGET_VAL(LoongArchISD::PROBED_ALLOCA),
29079 OPC_RecordNode,
29080 OPC_RecordChild1,
29081 OPC_CheckChild1TypeByHwMode0,
29082 OPC_EmitMergeInputChains1_0,
29083 OPC_MorphNodeTo0Chain, TARGET_VAL(LoongArch::PROBED_STACKALLOC_DYN),
29084 1, 10,
29085 14, TARGET_VAL(LoongArchISD::SPLIT_PAIR_F64),
29086 OPC_RecordChild0,
29087 OPC_CheckTypeI32,
29088 OPC_CheckTypeRes, 1, MVT::i32,
29089 OPC_CheckPatternPredicate, 13,
29090 OPC_MorphNodeTo2None, TARGET_VAL(LoongArch::SplitPairF64Pseudo),
29091 MVT::i32, MVT::i32, 1, 1,
29092 107, TARGET_VAL(LoongArchISD::VALL_NONZERO),
29093 OPC_RecordChild0,
29094 OPC_Scope, 12,
29095 OPC_CheckChild0Type, MVT::v16i8,
29096 OPC_CheckTypeByHwMode0,
29097 OPC_CheckPatternPredicate1,
29098 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBNZ_B), 0,
29099 1, 0, 1, 1,
29100 12,
29101 OPC_CheckChild0Type, MVT::v8i16,
29102 OPC_CheckTypeByHwMode0,
29103 OPC_CheckPatternPredicate1,
29104 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBNZ_H), 0,
29105 1, 0, 1, 1,
29106 12,
29107 OPC_CheckChild0Type, MVT::v4i32,
29108 OPC_CheckTypeByHwMode0,
29109 OPC_CheckPatternPredicate1,
29110 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBNZ_W), 0,
29111 1, 0, 1, 1,
29112 12,
29113 OPC_CheckChild0Type, MVT::v2i64,
29114 OPC_CheckTypeByHwMode0,
29115 OPC_CheckPatternPredicate1,
29116 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBNZ_D), 0,
29117 1, 0, 1, 1,
29118 12,
29119 OPC_CheckChild0Type, MVT::v32i8,
29120 OPC_CheckTypeByHwMode0,
29121 OPC_CheckPatternPredicate0,
29122 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBNZ_B), 0,
29123 1, 0, 1, 1,
29124 12,
29125 OPC_CheckChild0Type, MVT::v16i16,
29126 OPC_CheckTypeByHwMode0,
29127 OPC_CheckPatternPredicate0,
29128 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBNZ_H), 0,
29129 1, 0, 1, 1,
29130 12,
29131 OPC_CheckChild0Type, MVT::v8i32,
29132 OPC_CheckTypeByHwMode0,
29133 OPC_CheckPatternPredicate0,
29134 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBNZ_W), 0,
29135 1, 0, 1, 1,
29136 12,
29137 OPC_CheckChild0Type, MVT::v4i64,
29138 OPC_CheckTypeByHwMode0,
29139 OPC_CheckPatternPredicate0,
29140 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBNZ_D), 0,
29141 1, 0, 1, 1,
29142 0,
29143 29, TARGET_VAL(LoongArchISD::VANY_NONZERO),
29144 OPC_RecordChild0,
29145 OPC_Scope, 12,
29146 OPC_CheckChild0Type, MVT::v16i8,
29147 OPC_CheckTypeByHwMode0,
29148 OPC_CheckPatternPredicate1,
29149 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBNZ), 0,
29150 1, 0, 1, 1,
29151 12,
29152 OPC_CheckChild0Type, MVT::v32i8,
29153 OPC_CheckTypeByHwMode0,
29154 OPC_CheckPatternPredicate0,
29155 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBNZ), 0,
29156 1, 0, 1, 1,
29157 0,
29158 107, TARGET_VAL(LoongArchISD::VALL_ZERO),
29159 OPC_RecordChild0,
29160 OPC_Scope, 12,
29161 OPC_CheckChild0Type, MVT::v16i8,
29162 OPC_CheckTypeByHwMode0,
29163 OPC_CheckPatternPredicate1,
29164 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBZ_B), 0,
29165 1, 0, 1, 1,
29166 12,
29167 OPC_CheckChild0Type, MVT::v8i16,
29168 OPC_CheckTypeByHwMode0,
29169 OPC_CheckPatternPredicate1,
29170 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBZ_H), 0,
29171 1, 0, 1, 1,
29172 12,
29173 OPC_CheckChild0Type, MVT::v4i32,
29174 OPC_CheckTypeByHwMode0,
29175 OPC_CheckPatternPredicate1,
29176 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBZ_W), 0,
29177 1, 0, 1, 1,
29178 12,
29179 OPC_CheckChild0Type, MVT::v2i64,
29180 OPC_CheckTypeByHwMode0,
29181 OPC_CheckPatternPredicate1,
29182 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBZ_D), 0,
29183 1, 0, 1, 1,
29184 12,
29185 OPC_CheckChild0Type, MVT::v32i8,
29186 OPC_CheckTypeByHwMode0,
29187 OPC_CheckPatternPredicate0,
29188 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBZ_B), 0,
29189 1, 0, 1, 1,
29190 12,
29191 OPC_CheckChild0Type, MVT::v16i16,
29192 OPC_CheckTypeByHwMode0,
29193 OPC_CheckPatternPredicate0,
29194 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBZ_H), 0,
29195 1, 0, 1, 1,
29196 12,
29197 OPC_CheckChild0Type, MVT::v8i32,
29198 OPC_CheckTypeByHwMode0,
29199 OPC_CheckPatternPredicate0,
29200 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBZ_W), 0,
29201 1, 0, 1, 1,
29202 12,
29203 OPC_CheckChild0Type, MVT::v4i64,
29204 OPC_CheckTypeByHwMode0,
29205 OPC_CheckPatternPredicate0,
29206 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBZ_D), 0,
29207 1, 0, 1, 1,
29208 0,
29209 29, TARGET_VAL(LoongArchISD::VANY_ZERO),
29210 OPC_RecordChild0,
29211 OPC_Scope, 12,
29212 OPC_CheckChild0Type, MVT::v16i8,
29213 OPC_CheckTypeByHwMode0,
29214 OPC_CheckPatternPredicate1,
29215 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVBZ), 0,
29216 1, 0, 1, 1,
29217 12,
29218 OPC_CheckChild0Type, MVT::v32i8,
29219 OPC_CheckTypeByHwMode0,
29220 OPC_CheckPatternPredicate0,
29221 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVBZ), 0,
29222 1, 0, 1, 1,
29223 0,
29224 55, TARGET_VAL(LoongArchISD::VMSKLTZ),
29225 OPC_RecordChild0,
29226 OPC_Scope, 12,
29227 OPC_CheckChild0Type, MVT::v16i8,
29228 OPC_CheckTypeByHwMode0,
29229 OPC_CheckPatternPredicate1,
29230 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKLTZ_B), 0,
29231 1, 0, 1, 1,
29232 12,
29233 OPC_CheckChild0Type, MVT::v8i16,
29234 OPC_CheckTypeByHwMode0,
29235 OPC_CheckPatternPredicate1,
29236 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKLTZ_H), 0,
29237 1, 0, 1, 1,
29238 12,
29239 OPC_CheckChild0Type, MVT::v4i32,
29240 OPC_CheckTypeByHwMode0,
29241 OPC_CheckPatternPredicate1,
29242 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKLTZ_W), 0,
29243 1, 0, 1, 1,
29244 12,
29245 OPC_CheckChild0Type, MVT::v2i64,
29246 OPC_CheckTypeByHwMode0,
29247 OPC_CheckPatternPredicate1,
29248 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKLTZ_D), 0,
29249 1, 0, 1, 1,
29250 0,
29251 13, TARGET_VAL(LoongArchISD::VMSKGEZ),
29252 OPC_RecordChild0,
29253 OPC_CheckChild0Type, MVT::v16i8,
29254 OPC_CheckTypeByHwMode0,
29255 OPC_CheckPatternPredicate1,
29256 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKGEZ_B), 0,
29257 1, 0, 1, 1,
29258 13, TARGET_VAL(LoongArchISD::VMSKEQZ),
29259 OPC_RecordChild0,
29260 OPC_CheckChild0Type, MVT::v16i8,
29261 OPC_CheckTypeByHwMode0,
29262 OPC_CheckPatternPredicate1,
29263 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKEQZ_B), 0,
29264 1, 0, 1, 1,
29265 13, TARGET_VAL(LoongArchISD::VMSKNEZ),
29266 OPC_RecordChild0,
29267 OPC_CheckChild0Type, MVT::v16i8,
29268 OPC_CheckTypeByHwMode0,
29269 OPC_CheckPatternPredicate1,
29270 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoVMSKNEZ_B), 0,
29271 1, 0, 1, 1,
29272 55, TARGET_VAL(LoongArchISD::XVMSKLTZ),
29273 OPC_RecordChild0,
29274 OPC_Scope, 12,
29275 OPC_CheckChild0Type, MVT::v32i8,
29276 OPC_CheckTypeByHwMode0,
29277 OPC_CheckPatternPredicate0,
29278 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_B), 0,
29279 1, 0, 1, 1,
29280 12,
29281 OPC_CheckChild0Type, MVT::v16i16,
29282 OPC_CheckTypeByHwMode0,
29283 OPC_CheckPatternPredicate0,
29284 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_H), 0,
29285 1, 0, 1, 1,
29286 12,
29287 OPC_CheckChild0Type, MVT::v8i32,
29288 OPC_CheckTypeByHwMode0,
29289 OPC_CheckPatternPredicate0,
29290 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_W), 0,
29291 1, 0, 1, 1,
29292 12,
29293 OPC_CheckChild0Type, MVT::v4i64,
29294 OPC_CheckTypeByHwMode0,
29295 OPC_CheckPatternPredicate0,
29296 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKLTZ_D), 0,
29297 1, 0, 1, 1,
29298 0,
29299 13, TARGET_VAL(LoongArchISD::XVMSKGEZ),
29300 OPC_RecordChild0,
29301 OPC_CheckChild0Type, MVT::v32i8,
29302 OPC_CheckTypeByHwMode0,
29303 OPC_CheckPatternPredicate0,
29304 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKGEZ_B), 0,
29305 1, 0, 1, 1,
29306 13, TARGET_VAL(LoongArchISD::XVMSKEQZ),
29307 OPC_RecordChild0,
29308 OPC_CheckChild0Type, MVT::v32i8,
29309 OPC_CheckTypeByHwMode0,
29310 OPC_CheckPatternPredicate0,
29311 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKEQZ_B), 0,
29312 1, 0, 1, 1,
29313 13, TARGET_VAL(LoongArchISD::XVMSKNEZ),
29314 OPC_RecordChild0,
29315 OPC_CheckChild0Type, MVT::v32i8,
29316 OPC_CheckTypeByHwMode0,
29317 OPC_CheckPatternPredicate0,
29318 OPC_MorphNodeToByHwMode, TARGET_VAL(LoongArch::PseudoXVMSKNEZ_B), 0,
29319 1, 0, 1, 1,
29320 7|128,4, TARGET_VAL(ISD::FDIV),
29321 OPC_Scope, 43|128,1,
29322 OPC_MoveChild0,
29323 OPC_SwitchOpcode , 34, TARGET_VAL(LoongArchISD::MOVGR2FR_D_LO_HI),
29324 OPC_CheckChild0Integer, 0,
29325 OPC_CheckChild1Integer, 0|128,0|128,64|128,127|128,3,
29326 OPC_Scope, 13,
29327 OPC_MoveSibling1,
29328 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
29329 OPC_RecordChild0,
29330 OPC_MoveParent,
29331 OPC_CheckPatternPredicate5,
29332 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_D),
29333 MVT::f64, 1, 1,
29334 9,
29335 OPC_MoveParent,
29336 OPC_RecordChild1,
29337 OPC_CheckPatternPredicate5,
29338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_D),
29339 MVT::f64, 1, 1,
29340 0,
29341 34, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
29342 OPC_CheckChild0Integer, 0|128,0|128,0|128,124|128,3,
29343 OPC_Scope, 14,
29344 OPC_MoveSibling1,
29345 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
29346 OPC_RecordChild0,
29347 OPC_MoveParent,
29348 OPC_CheckPatternPredicate, 12,
29349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
29350 MVT::f32, 1, 1,
29351 10,
29352 OPC_MoveParent,
29353 OPC_RecordChild1,
29354 OPC_CheckPatternPredicate, 12,
29355 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
29356 MVT::f32, 1, 1,
29357 0,
29358 34, TARGET_VAL(LoongArchISD::MOVGR2FR_W),
29359 OPC_CheckChild0Integer, 0|128,0|128,0|128,124|128,3,
29360 OPC_Scope, 14,
29361 OPC_MoveSibling1,
29362 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
29363 OPC_RecordChild0,
29364 OPC_MoveParent,
29365 OPC_CheckPatternPredicate, 14,
29366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
29367 MVT::f32, 1, 1,
29368 10,
29369 OPC_MoveParent,
29370 OPC_RecordChild1,
29371 OPC_CheckPatternPredicate, 14,
29372 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
29373 MVT::f32, 1, 1,
29374 0,
29375 54, TARGET_VAL(ISD::ConstantFP),
29376 OPC_CheckPredicate, 50,
29377 OPC_Scope, 26,
29378 OPC_MoveSibling1,
29379 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
29380 OPC_RecordChild0,
29381 OPC_MoveParent,
29382 OPC_SwitchType , 7, MVT::f32,
29383 OPC_CheckPatternPredicate3,
29384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_S),
29385 MVT::f32, 1, 1,
29386 7, MVT::f64,
29387 OPC_CheckPatternPredicate4,
29388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRT_D),
29389 MVT::f64, 1, 1,
29390 0,
29391 22,
29392 OPC_MoveParent,
29393 OPC_RecordChild1,
29394 OPC_SwitchType , 7, MVT::f32,
29395 OPC_CheckPatternPredicate3,
29396 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_S),
29397 MVT::f32, 1, 1,
29398 7, MVT::f64,
29399 OPC_CheckPatternPredicate4,
29400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIP_D),
29401 MVT::f64, 1, 1,
29402 0,
29403 0,
29404 0,
29405 22,
29406 OPC_RecordChild0,
29407 OPC_RecordChild1,
29408 OPC_SwitchType , 7, MVT::f32,
29409 OPC_CheckPatternPredicate3,
29410 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_S),
29411 MVT::f32, 2, 9,
29412 7, MVT::f64,
29413 OPC_CheckPatternPredicate4,
29414 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FDIV_D),
29415 MVT::f64, 2, 9,
29416 0,
29417 14|128,2,
29418 OPC_MoveChild0,
29419 OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
29420 OPC_MoveChild0,
29421 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
29422 OPC_SwitchType , 63, MVT::v4i32,
29423 OPC_MoveParent,
29424 OPC_CheckPredicate, 60,
29425 OPC_Scope, 30,
29426 OPC_MoveSibling1,
29427 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
29428 OPC_RecordChild0,
29429 OPC_MoveParent,
29430 OPC_SwitchType , 8, 11|128,1,
29431 OPC_CheckPatternPredicate1,
29432 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
29433 11|128,1, 1, 1,
29434 8, 15|128,1,
29435 OPC_CheckPatternPredicate0,
29436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
29437 15|128,1, 1, 1,
29438 0,
29439 26,
29440 OPC_MoveParent,
29441 OPC_RecordChild1,
29442 OPC_SwitchType , 8, 11|128,1,
29443 OPC_CheckPatternPredicate1,
29444 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
29445 11|128,1, 1, 1,
29446 8, 15|128,1,
29447 OPC_CheckPatternPredicate0,
29448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
29449 15|128,1, 1, 1,
29450 0,
29451 0,
29452 63, MVT::v8i32,
29453 OPC_MoveParent,
29454 OPC_CheckPredicate, 60,
29455 OPC_Scope, 30,
29456 OPC_MoveSibling1,
29457 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
29458 OPC_RecordChild0,
29459 OPC_MoveParent,
29460 OPC_SwitchType , 8, 11|128,1,
29461 OPC_CheckPatternPredicate1,
29462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_S),
29463 11|128,1, 1, 1,
29464 8, 15|128,1,
29465 OPC_CheckPatternPredicate0,
29466 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_S),
29467 15|128,1, 1, 1,
29468 0,
29469 26,
29470 OPC_MoveParent,
29471 OPC_RecordChild1,
29472 OPC_SwitchType , 8, 11|128,1,
29473 OPC_CheckPatternPredicate1,
29474 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_S),
29475 11|128,1, 1, 1,
29476 8, 15|128,1,
29477 OPC_CheckPatternPredicate0,
29478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_S),
29479 15|128,1, 1, 1,
29480 0,
29481 0,
29482 63, MVT::v2i64,
29483 OPC_MoveParent,
29484 OPC_CheckPredicate, 61,
29485 OPC_Scope, 30,
29486 OPC_MoveSibling1,
29487 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
29488 OPC_RecordChild0,
29489 OPC_MoveParent,
29490 OPC_SwitchType , 8, 29|128,1,
29491 OPC_CheckPatternPredicate1,
29492 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
29493 29|128,1, 1, 1,
29494 8, 31|128,1,
29495 OPC_CheckPatternPredicate0,
29496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
29497 31|128,1, 1, 1,
29498 0,
29499 26,
29500 OPC_MoveParent,
29501 OPC_RecordChild1,
29502 OPC_SwitchType , 8, 29|128,1,
29503 OPC_CheckPatternPredicate1,
29504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
29505 29|128,1, 1, 1,
29506 8, 31|128,1,
29507 OPC_CheckPatternPredicate0,
29508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
29509 31|128,1, 1, 1,
29510 0,
29511 0,
29512 63, MVT::v4i64,
29513 OPC_MoveParent,
29514 OPC_CheckPredicate, 61,
29515 OPC_Scope, 30,
29516 OPC_MoveSibling1,
29517 OPC_CheckOpcode, TARGET_VAL(ISD::FSQRT),
29518 OPC_RecordChild0,
29519 OPC_MoveParent,
29520 OPC_SwitchType , 8, 29|128,1,
29521 OPC_CheckPatternPredicate1,
29522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRT_D),
29523 29|128,1, 1, 1,
29524 8, 31|128,1,
29525 OPC_CheckPatternPredicate0,
29526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRT_D),
29527 31|128,1, 1, 1,
29528 0,
29529 26,
29530 OPC_MoveParent,
29531 OPC_RecordChild1,
29532 OPC_SwitchType , 8, 29|128,1,
29533 OPC_CheckPatternPredicate1,
29534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIP_D),
29535 29|128,1, 1, 1,
29536 8, 31|128,1,
29537 OPC_CheckPatternPredicate0,
29538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIP_D),
29539 31|128,1, 1, 1,
29540 0,
29541 0,
29542 0,
29543 48,
29544 OPC_RecordChild0,
29545 OPC_RecordChild1,
29546 OPC_SwitchType , 8, 11|128,1,
29547 OPC_CheckPatternPredicate1,
29548 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_S),
29549 11|128,1, 2, 9,
29550 8, 29|128,1,
29551 OPC_CheckPatternPredicate1,
29552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFDIV_D),
29553 29|128,1, 2, 9,
29554 8, 15|128,1,
29555 OPC_CheckPatternPredicate0,
29556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_S),
29557 15|128,1, 2, 9,
29558 8, 31|128,1,
29559 OPC_CheckPatternPredicate0,
29560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFDIV_D),
29561 31|128,1, 2, 9,
29562 0,
29563 0,
29564 25|128,4, TARGET_VAL(ISD::FMA),
29565 OPC_Scope, 35,
29566 OPC_MoveChild0,
29567 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29568 OPC_RecordChild0,
29569 OPC_MoveParent,
29570 OPC_RecordChild1,
29571 OPC_MoveChild2,
29572 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29573 OPC_RecordChild0,
29574 OPC_MoveParent,
29575 OPC_CheckPredicate, 37,
29576 OPC_SwitchType , 7, MVT::f32,
29577 OPC_CheckPatternPredicate3,
29578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
29579 MVT::f32, 3, 24,
29580 7, MVT::f64,
29581 OPC_CheckPatternPredicate4,
29582 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
29583 MVT::f64, 3, 24,
29584 0,
29585 34,
29586 OPC_RecordChild0,
29587 OPC_MoveChild1,
29588 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29589 OPC_RecordChild0,
29590 OPC_MoveSibling2,
29591 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29592 OPC_RecordChild0,
29593 OPC_MoveParent,
29594 OPC_CheckPredicate, 37,
29595 OPC_SwitchType , 7, MVT::f32,
29596 OPC_CheckPatternPredicate3,
29597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
29598 MVT::f32, 3, 21,
29599 7, MVT::f64,
29600 OPC_CheckPatternPredicate4,
29601 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
29602 MVT::f64, 3, 21,
29603 0,
29604 30,
29605 OPC_MoveChild0,
29606 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29607 OPC_RecordChild0,
29608 OPC_MoveParent,
29609 OPC_RecordChild1,
29610 OPC_RecordChild2,
29611 OPC_CheckPredicate, 37,
29612 OPC_SwitchType , 7, MVT::f32,
29613 OPC_CheckPatternPredicate3,
29614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
29615 MVT::f32, 3, 24,
29616 7, MVT::f64,
29617 OPC_CheckPatternPredicate4,
29618 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
29619 MVT::f64, 3, 24,
29620 0,
29621 86,
29622 OPC_RecordChild0,
29623 OPC_Scope, 29,
29624 OPC_MoveChild1,
29625 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29626 OPC_RecordChild0,
29627 OPC_MoveParent,
29628 OPC_RecordChild2,
29629 OPC_CheckPredicate, 37,
29630 OPC_SwitchType , 7, MVT::f32,
29631 OPC_CheckPatternPredicate3,
29632 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
29633 MVT::f32, 3, 21,
29634 7, MVT::f64,
29635 OPC_CheckPatternPredicate4,
29636 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
29637 MVT::f64, 3, 21,
29638 0,
29639 52,
29640 OPC_RecordChild1,
29641 OPC_Scope, 26,
29642 OPC_MoveChild2,
29643 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29644 OPC_RecordChild0,
29645 OPC_MoveParent,
29646 OPC_SwitchType , 7, MVT::f32,
29647 OPC_CheckPatternPredicate3,
29648 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_S),
29649 MVT::f32, 3, 24,
29650 7, MVT::f64,
29651 OPC_CheckPatternPredicate4,
29652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMSUB_D),
29653 MVT::f64, 3, 24,
29654 0,
29655 21,
29656 OPC_RecordChild2,
29657 OPC_SwitchType , 7, MVT::f32,
29658 OPC_CheckPatternPredicate3,
29659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_S),
29660 MVT::f32, 3, 24,
29661 7, MVT::f64,
29662 OPC_CheckPatternPredicate4,
29663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMADD_D),
29664 MVT::f64, 3, 24,
29665 0,
29666 0,
29667 0,
29668 61,
29669 OPC_MoveChild0,
29670 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29671 OPC_RecordChild0,
29672 OPC_MoveParent,
29673 OPC_RecordChild1,
29674 OPC_MoveChild2,
29675 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29676 OPC_RecordChild0,
29677 OPC_MoveParent,
29678 OPC_CheckPredicate, 37,
29679 OPC_SwitchType , 8, 11|128,1,
29680 OPC_CheckPatternPredicate1,
29681 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
29682 11|128,1, 3, 24,
29683 8, 29|128,1,
29684 OPC_CheckPatternPredicate1,
29685 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
29686 29|128,1, 3, 24,
29687 8, 15|128,1,
29688 OPC_CheckPatternPredicate0,
29689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
29690 15|128,1, 3, 24,
29691 8, 31|128,1,
29692 OPC_CheckPatternPredicate0,
29693 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
29694 31|128,1, 3, 24,
29695 0,
29696 60,
29697 OPC_RecordChild0,
29698 OPC_MoveChild1,
29699 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29700 OPC_RecordChild0,
29701 OPC_MoveSibling2,
29702 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29703 OPC_RecordChild0,
29704 OPC_MoveParent,
29705 OPC_CheckPredicate, 37,
29706 OPC_SwitchType , 8, 11|128,1,
29707 OPC_CheckPatternPredicate1,
29708 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
29709 11|128,1, 3, 21,
29710 8, 29|128,1,
29711 OPC_CheckPatternPredicate1,
29712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
29713 29|128,1, 3, 21,
29714 8, 15|128,1,
29715 OPC_CheckPatternPredicate0,
29716 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
29717 15|128,1, 3, 21,
29718 8, 31|128,1,
29719 OPC_CheckPatternPredicate0,
29720 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
29721 31|128,1, 3, 21,
29722 0,
29723 56,
29724 OPC_MoveChild0,
29725 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29726 OPC_RecordChild0,
29727 OPC_MoveParent,
29728 OPC_RecordChild1,
29729 OPC_RecordChild2,
29730 OPC_CheckPredicate, 37,
29731 OPC_SwitchType , 8, 11|128,1,
29732 OPC_CheckPatternPredicate1,
29733 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
29734 11|128,1, 3, 24,
29735 8, 29|128,1,
29736 OPC_CheckPatternPredicate1,
29737 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
29738 29|128,1, 3, 24,
29739 8, 15|128,1,
29740 OPC_CheckPatternPredicate0,
29741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
29742 15|128,1, 3, 24,
29743 8, 31|128,1,
29744 OPC_CheckPatternPredicate0,
29745 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
29746 31|128,1, 3, 24,
29747 0,
29748 36|128,1,
29749 OPC_RecordChild0,
29750 OPC_Scope, 55,
29751 OPC_MoveChild1,
29752 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29753 OPC_RecordChild0,
29754 OPC_MoveParent,
29755 OPC_RecordChild2,
29756 OPC_CheckPredicate, 37,
29757 OPC_SwitchType , 8, 11|128,1,
29758 OPC_CheckPatternPredicate1,
29759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
29760 11|128,1, 3, 21,
29761 8, 29|128,1,
29762 OPC_CheckPatternPredicate1,
29763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
29764 29|128,1, 3, 21,
29765 8, 15|128,1,
29766 OPC_CheckPatternPredicate0,
29767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
29768 15|128,1, 3, 21,
29769 8, 31|128,1,
29770 OPC_CheckPatternPredicate0,
29771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
29772 31|128,1, 3, 21,
29773 0,
29774 104,
29775 OPC_RecordChild1,
29776 OPC_Scope, 52,
29777 OPC_MoveChild2,
29778 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29779 OPC_RecordChild0,
29780 OPC_MoveParent,
29781 OPC_SwitchType , 8, 11|128,1,
29782 OPC_CheckPatternPredicate1,
29783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_S),
29784 11|128,1, 3, 24,
29785 8, 29|128,1,
29786 OPC_CheckPatternPredicate1,
29787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMSUB_D),
29788 29|128,1, 3, 24,
29789 8, 15|128,1,
29790 OPC_CheckPatternPredicate0,
29791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_S),
29792 15|128,1, 3, 24,
29793 8, 31|128,1,
29794 OPC_CheckPatternPredicate0,
29795 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMSUB_D),
29796 31|128,1, 3, 24,
29797 0,
29798 47,
29799 OPC_RecordChild2,
29800 OPC_SwitchType , 8, 11|128,1,
29801 OPC_CheckPatternPredicate1,
29802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_S),
29803 11|128,1, 3, 24,
29804 8, 29|128,1,
29805 OPC_CheckPatternPredicate1,
29806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMADD_D),
29807 29|128,1, 3, 24,
29808 8, 15|128,1,
29809 OPC_CheckPatternPredicate0,
29810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_S),
29811 15|128,1, 3, 24,
29812 8, 31|128,1,
29813 OPC_CheckPatternPredicate0,
29814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMADD_D),
29815 31|128,1, 3, 24,
29816 0,
29817 0,
29818 0,
29819 0,
29820 124|128,1, TARGET_VAL(ISD::FNEG),
29821 OPC_Scope, 59,
29822 OPC_MoveChild0,
29823 OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
29824 OPC_RecordChild0,
29825 OPC_RecordChild1,
29826 OPC_Scope, 27,
29827 OPC_MoveChild2,
29828 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29829 OPC_RecordChild0,
29830 OPC_MoveParent,
29831 OPC_MoveParent,
29832 OPC_SwitchType , 7, MVT::f32,
29833 OPC_CheckPatternPredicate3,
29834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_S),
29835 MVT::f32, 3, 24,
29836 7, MVT::f64,
29837 OPC_CheckPatternPredicate4,
29838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMSUB_D),
29839 MVT::f64, 3, 24,
29840 0,
29841 22,
29842 OPC_RecordChild2,
29843 OPC_MoveParent,
29844 OPC_SwitchType , 7, MVT::f32,
29845 OPC_CheckPatternPredicate3,
29846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_S),
29847 MVT::f32, 3, 24,
29848 7, MVT::f64,
29849 OPC_CheckPatternPredicate4,
29850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNMADD_D),
29851 MVT::f64, 3, 24,
29852 0,
29853 0,
29854 21,
29855 OPC_RecordChild0,
29856 OPC_SwitchType , 7, MVT::f32,
29857 OPC_CheckPatternPredicate3,
29858 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
29859 MVT::f32, 1, 1,
29860 7, MVT::f64,
29861 OPC_CheckPatternPredicate4,
29862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
29863 MVT::f64, 1, 1,
29864 0,
29865 111,
29866 OPC_MoveChild0,
29867 OPC_CheckOpcode, TARGET_VAL(ISD::FMA),
29868 OPC_RecordChild0,
29869 OPC_RecordChild1,
29870 OPC_Scope, 53,
29871 OPC_MoveChild2,
29872 OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
29873 OPC_RecordChild0,
29874 OPC_MoveParent,
29875 OPC_MoveParent,
29876 OPC_SwitchType , 8, 11|128,1,
29877 OPC_CheckPatternPredicate1,
29878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_S),
29879 11|128,1, 3, 24,
29880 8, 29|128,1,
29881 OPC_CheckPatternPredicate1,
29882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMSUB_D),
29883 29|128,1, 3, 24,
29884 8, 15|128,1,
29885 OPC_CheckPatternPredicate0,
29886 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_S),
29887 15|128,1, 3, 24,
29888 8, 31|128,1,
29889 OPC_CheckPatternPredicate0,
29890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMSUB_D),
29891 31|128,1, 3, 24,
29892 0,
29893 48,
29894 OPC_RecordChild2,
29895 OPC_MoveParent,
29896 OPC_SwitchType , 8, 11|128,1,
29897 OPC_CheckPatternPredicate1,
29898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_S),
29899 11|128,1, 3, 24,
29900 8, 29|128,1,
29901 OPC_CheckPatternPredicate1,
29902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFNMADD_D),
29903 29|128,1, 3, 24,
29904 8, 15|128,1,
29905 OPC_CheckPatternPredicate0,
29906 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_S),
29907 15|128,1, 3, 24,
29908 8, 31|128,1,
29909 OPC_CheckPatternPredicate0,
29910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFNMADD_D),
29911 31|128,1, 3, 24,
29912 0,
29913 0,
29914 55,
29915 OPC_RecordChild0,
29916 OPC_SwitchType , 10, 11|128,1,
29917 OPC_CheckPatternPredicate1,
29918 OPC_EmitIntegerByHwMode0, 31,
29919 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_W),
29920 11|128,1, 2, 9,
29921 10, 29|128,1,
29922 OPC_CheckPatternPredicate1,
29923 OPC_EmitIntegerByHwMode0, 63,
29924 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITREVI_D),
29925 29|128,1, 2, 9,
29926 10, 15|128,1,
29927 OPC_CheckPatternPredicate0,
29928 OPC_EmitIntegerByHwMode0, 31,
29929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_W),
29930 15|128,1, 2, 9,
29931 10, 31|128,1,
29932 OPC_CheckPatternPredicate0,
29933 OPC_EmitIntegerByHwMode0, 63,
29934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITREVI_D),
29935 31|128,1, 2, 9,
29936 0,
29937 0,
29938 73|128,1, TARGET_VAL(ISD::SINT_TO_FP),
29939 OPC_RecordChild0,
29940 OPC_Scope, 41,
29941 OPC_CheckChild0TypeI64,
29942 OPC_SwitchType , 17, MVT::f32,
29943 OPC_CheckPatternPredicate, 12,
29944 OPC_CheckComplexPat, /*CP*/21, /*#*/0,
29945 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
29946 MVT::f32, 1, 10,
29947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
29948 MVT::f32, 1, 23,
29949 17, MVT::f64,
29950 OPC_CheckPatternPredicate, 9,
29951 OPC_CheckComplexPat, /*CP*/21, /*#*/0,
29952 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
29953 MVT::f32, 1, 10,
29954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
29955 MVT::f64, 1, 23,
29956 0,
29957 17,
29958 OPC_CheckChild0TypeI32,
29959 OPC_CheckType, MVT::f32,
29960 OPC_CheckPatternPredicate, 14,
29961 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
29962 MVT::f32, 1, 1,
29963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
29964 MVT::f32, 1, 10,
29965 37,
29966 OPC_CheckChild0TypeByHwMode0,
29967 OPC_Scope, 16,
29968 OPC_CheckTypeByHwMode, 4,
29969 OPC_CheckPatternPredicate, 9,
29970 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
29971 MVT::f64, 1, 1,
29972 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_L),
29973 MVT::f32, 1, 10,
29974 16,
29975 OPC_CheckTypeByHwMode, 5,
29976 OPC_CheckPatternPredicate, 9,
29977 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
29978 MVT::f64, 1, 1,
29979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
29980 MVT::f64, 1, 10,
29981 0,
29982 17,
29983 OPC_CheckChild0TypeI32,
29984 OPC_CheckType, MVT::f64,
29985 OPC_CheckPatternPredicate, 13,
29986 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
29987 MVT::f32, 1, 1,
29988 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_W),
29989 MVT::f64, 1, 10,
29990 13,
29991 OPC_CheckChild0Type, MVT::v4i32,
29992 OPC_CheckType, 11|128,1,
29993 OPC_CheckPatternPredicate1,
29994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_W),
29995 11|128,1, 1, 1,
29996 11,
29997 OPC_CheckType, 29|128,1,
29998 OPC_CheckPatternPredicate1,
29999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_L),
30000 29|128,1, 1, 1,
30001 13,
30002 OPC_CheckType, 15|128,1,
30003 OPC_CheckChild0Type, MVT::v8i32,
30004 OPC_CheckPatternPredicate0,
30005 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_W),
30006 15|128,1, 1, 1,
30007 41,
30008 OPC_CheckType, 31|128,1,
30009 OPC_Scope, 10,
30010 OPC_CheckChild0Type, MVT::v4i64,
30011 OPC_CheckPatternPredicate0,
30012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
30013 31|128,1, 1, 1,
30014 24,
30015 OPC_CheckChild0Type, MVT::v4i32,
30016 OPC_CheckPatternPredicate0,
30017 OPC_EmitIntegerI32, LoongArch::sub_128,
30018 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
30019 MVT::v32i8, 2, 9,
30020 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
30021 MVT::v32i8, 1, 23,
30022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_L),
30023 31|128,1, 1, 35,
30024 0,
30025 0,
30026 101, TARGET_VAL(ISD::UINT_TO_FP),
30027 OPC_RecordChild0,
30028 OPC_SwitchType , 18, MVT::f32,
30029 OPC_CheckChild0TypeI64,
30030 OPC_CheckPatternPredicate, 12,
30031 OPC_CheckComplexPat, /*CP*/21, /*#*/0,
30032 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
30033 MVT::f32, 1, 10,
30034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
30035 MVT::f32, 1, 23,
30036 10, 11|128,1,
30037 OPC_CheckChild0Type, MVT::v4i32,
30038 OPC_CheckPatternPredicate1,
30039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_WU),
30040 11|128,1, 1, 1,
30041 8, 29|128,1,
30042 OPC_CheckPatternPredicate1,
30043 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_D_LU),
30044 29|128,1, 1, 1,
30045 10, 15|128,1,
30046 OPC_CheckChild0Type, MVT::v8i32,
30047 OPC_CheckPatternPredicate0,
30048 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_WU),
30049 15|128,1, 1, 1,
30050 38, 31|128,1,
30051 OPC_Scope, 10,
30052 OPC_CheckChild0Type, MVT::v4i64,
30053 OPC_CheckPatternPredicate0,
30054 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
30055 31|128,1, 1, 1,
30056 24,
30057 OPC_CheckChild0Type, MVT::v4i32,
30058 OPC_CheckPatternPredicate0,
30059 OPC_EmitIntegerI32, LoongArch::sub_128,
30060 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
30061 MVT::v32i8, 2, 9,
30062 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
30063 MVT::v32i8, 1, 23,
30064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_D_LU),
30065 31|128,1, 1, 35,
30066 0,
30067 0,
30068 24|128,2, TARGET_VAL(ISD::ConstantFP),
30069 OPC_Scope, 29,
30070 OPC_CheckPredicate, 62,
30071 OPC_SwitchType , 10, MVT::f32,
30072 OPC_CheckPatternPredicate3,
30073 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
30074 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
30075 MVT::f32, 1, 1,
30076 11, MVT::f64,
30077 OPC_CheckPatternPredicate, 9,
30078 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
30079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
30080 MVT::f64, 1, 1,
30081 0,
30082 41,
30083 OPC_CheckPredicate, 63,
30084 OPC_SwitchType , 16, MVT::f32,
30085 OPC_CheckPatternPredicate3,
30086 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
30087 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
30088 MVT::f32, 1, 1,
30089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_S),
30090 MVT::f32, 1, 10,
30091 17, MVT::f64,
30092 OPC_CheckPatternPredicate, 9,
30093 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
30094 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
30095 MVT::f64, 1, 1,
30096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
30097 MVT::f64, 1, 10,
30098 0,
30099 24,
30100 OPC_CheckPredicate, 62,
30101 OPC_CheckType, MVT::f64,
30102 OPC_CheckPatternPredicate, 13,
30103 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
30104 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
30105 MVT::f64, 1, 1,
30106 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
30107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
30108 MVT::f64, 2, 25,
30109 49,
30110 OPC_RecordNode,
30111 OPC_SwitchType , 21, MVT::f32,
30112 OPC_CheckPredicate, 68,
30113 OPC_CheckPatternPredicate1,
30114 OPC_EmitConvertToTarget0,
30115 OPC_EmitNodeXForm, 13, 1,
30116 OPC_EmitNode1None, TARGET_VAL(LoongArch::VLDI),
30117 MVT::v16i8, 1, 23,
30118 OPC_EmitIntegerI32, LoongArch::sub_32,
30119 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
30120 MVT::f32, 2, 76,
30121 21, MVT::f64,
30122 OPC_CheckPredicate, 69,
30123 OPC_CheckPatternPredicate1,
30124 OPC_EmitConvertToTarget0,
30125 OPC_EmitNodeXForm, 14, 1,
30126 OPC_EmitNode1None, TARGET_VAL(LoongArch::VLDI),
30127 MVT::v16i8, 1, 23,
30128 OPC_EmitIntegerI32, LoongArch::sub_64,
30129 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
30130 MVT::f64, 2, 76,
30131 0,
30132 61,
30133 OPC_CheckPredicate, 50,
30134 OPC_SwitchType , 26, MVT::f32,
30135 OPC_CheckPatternPredicate3,
30136 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
30137 OPC_EmitIntegerByHwMode0, 1,
30138 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
30139 1, 0, 2, 9,
30140 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
30141 MVT::f32, 1, 23,
30142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
30143 MVT::f32, 1, 35,
30144 27, MVT::f64,
30145 OPC_CheckPatternPredicate, 9,
30146 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
30147 OPC_EmitIntegerByHwMode0, 1,
30148 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_D), 0,
30149 1, 0, 2, 9,
30150 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
30151 MVT::f64, 1, 23,
30152 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
30153 MVT::f64, 1, 35,
30154 0,
30155 30,
30156 OPC_CheckPredicate, 63,
30157 OPC_CheckType, MVT::f64,
30158 OPC_CheckPatternPredicate, 13,
30159 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
30160 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
30161 MVT::f64, 1, 1,
30162 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
30163 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
30164 MVT::f64, 2, 25,
30165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FNEG_D),
30166 MVT::f64, 1, 35,
30167 37,
30168 OPC_CheckPredicate, 50,
30169 OPC_CheckType, MVT::f64,
30170 OPC_CheckPatternPredicate, 13,
30171 OPC_EmitRegisterByHwMode, 0, LoongArch::R0,
30172 OPC_EmitIntegerByHwMode0, 1,
30173 OPC_EmitNodeByHwMode, TARGET_VAL(LoongArch::ADDI_W), 0,
30174 1, 0, 2, 9,
30175 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
30176 MVT::f32, 1, 23,
30177 OPC_EmitNode1None, TARGET_VAL(LoongArch::FFINT_S_W),
30178 MVT::f32, 1, 35,
30179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
30180 MVT::f64, 1, 66,
30181 0,
30182 66, TARGET_VAL(ISD::FADD),
30183 OPC_RecordChild0,
30184 OPC_RecordChild1,
30185 OPC_SwitchType , 7, MVT::f32,
30186 OPC_CheckPatternPredicate3,
30187 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_S),
30188 MVT::f32, 2, 9,
30189 7, MVT::f64,
30190 OPC_CheckPatternPredicate4,
30191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FADD_D),
30192 MVT::f64, 2, 9,
30193 8, 11|128,1,
30194 OPC_CheckPatternPredicate1,
30195 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_S),
30196 11|128,1, 2, 9,
30197 8, 29|128,1,
30198 OPC_CheckPatternPredicate1,
30199 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFADD_D),
30200 29|128,1, 2, 9,
30201 8, 15|128,1,
30202 OPC_CheckPatternPredicate0,
30203 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_S),
30204 15|128,1, 2, 9,
30205 8, 31|128,1,
30206 OPC_CheckPatternPredicate0,
30207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFADD_D),
30208 31|128,1, 2, 9,
30209 0,
30210 66, TARGET_VAL(ISD::FSUB),
30211 OPC_RecordChild0,
30212 OPC_RecordChild1,
30213 OPC_SwitchType , 7, MVT::f32,
30214 OPC_CheckPatternPredicate3,
30215 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_S),
30216 MVT::f32, 2, 9,
30217 7, MVT::f64,
30218 OPC_CheckPatternPredicate4,
30219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSUB_D),
30220 MVT::f64, 2, 9,
30221 8, 11|128,1,
30222 OPC_CheckPatternPredicate1,
30223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_S),
30224 11|128,1, 2, 9,
30225 8, 29|128,1,
30226 OPC_CheckPatternPredicate1,
30227 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSUB_D),
30228 29|128,1, 2, 9,
30229 8, 15|128,1,
30230 OPC_CheckPatternPredicate0,
30231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_S),
30232 15|128,1, 2, 9,
30233 8, 31|128,1,
30234 OPC_CheckPatternPredicate0,
30235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSUB_D),
30236 31|128,1, 2, 9,
30237 0,
30238 66, TARGET_VAL(ISD::FMUL),
30239 OPC_RecordChild0,
30240 OPC_RecordChild1,
30241 OPC_SwitchType , 7, MVT::f32,
30242 OPC_CheckPatternPredicate3,
30243 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_S),
30244 MVT::f32, 2, 9,
30245 7, MVT::f64,
30246 OPC_CheckPatternPredicate4,
30247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMUL_D),
30248 MVT::f64, 2, 9,
30249 8, 11|128,1,
30250 OPC_CheckPatternPredicate1,
30251 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_S),
30252 11|128,1, 2, 9,
30253 8, 29|128,1,
30254 OPC_CheckPatternPredicate1,
30255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMUL_D),
30256 29|128,1, 2, 9,
30257 8, 15|128,1,
30258 OPC_CheckPatternPredicate0,
30259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_S),
30260 15|128,1, 2, 9,
30261 8, 31|128,1,
30262 OPC_CheckPatternPredicate0,
30263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMUL_D),
30264 31|128,1, 2, 9,
30265 0,
30266 62, TARGET_VAL(ISD::FCOPYSIGN),
30267 OPC_RecordChild0,
30268 OPC_RecordChild1,
30269 OPC_Scope, 28,
30270 OPC_CheckChild1Type, MVT::f32,
30271 OPC_SwitchType , 7, MVT::f32,
30272 OPC_CheckPatternPredicate3,
30273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
30274 MVT::f32, 2, 9,
30275 13, MVT::f64,
30276 OPC_CheckPatternPredicate4,
30277 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_D_S),
30278 MVT::f64, 1, 10,
30279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
30280 MVT::f64, 2, 22,
30281 0,
30282 28,
30283 OPC_CheckChild1Type, MVT::f64,
30284 OPC_SwitchType , 7, MVT::f64,
30285 OPC_CheckPatternPredicate4,
30286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_D),
30287 MVT::f64, 2, 9,
30288 13, MVT::f32,
30289 OPC_CheckPatternPredicate4,
30290 OPC_EmitNode1None, TARGET_VAL(LoongArch::FCVT_S_D),
30291 MVT::f32, 1, 10,
30292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCOPYSIGN_S),
30293 MVT::f32, 2, 22,
30294 0,
30295 0,
30296 22, TARGET_VAL(ISD::FMAXNUM_IEEE),
30297 OPC_RecordChild0,
30298 OPC_RecordChild1,
30299 OPC_SwitchType , 7, MVT::f32,
30300 OPC_CheckPatternPredicate3,
30301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
30302 MVT::f32, 2, 9,
30303 7, MVT::f64,
30304 OPC_CheckPatternPredicate4,
30305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
30306 MVT::f64, 2, 9,
30307 0,
30308 66, TARGET_VAL(ISD::FMAXNUM),
30309 OPC_RecordChild0,
30310 OPC_RecordChild1,
30311 OPC_SwitchType , 7, MVT::f32,
30312 OPC_CheckPatternPredicate3,
30313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
30314 MVT::f32, 2, 9,
30315 7, MVT::f64,
30316 OPC_CheckPatternPredicate4,
30317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
30318 MVT::f64, 2, 9,
30319 8, 11|128,1,
30320 OPC_CheckPatternPredicate1,
30321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_S),
30322 11|128,1, 2, 9,
30323 8, 29|128,1,
30324 OPC_CheckPatternPredicate1,
30325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMAX_D),
30326 29|128,1, 2, 9,
30327 8, 15|128,1,
30328 OPC_CheckPatternPredicate0,
30329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_S),
30330 15|128,1, 2, 9,
30331 8, 31|128,1,
30332 OPC_CheckPatternPredicate0,
30333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMAX_D),
30334 31|128,1, 2, 9,
30335 0,
30336 22, TARGET_VAL(ISD::FMINNUM_IEEE),
30337 OPC_RecordChild0,
30338 OPC_RecordChild1,
30339 OPC_SwitchType , 7, MVT::f32,
30340 OPC_CheckPatternPredicate3,
30341 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_S),
30342 MVT::f32, 2, 9,
30343 7, MVT::f64,
30344 OPC_CheckPatternPredicate4,
30345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_D),
30346 MVT::f64, 2, 9,
30347 0,
30348 66, TARGET_VAL(ISD::FMINNUM),
30349 OPC_RecordChild0,
30350 OPC_RecordChild1,
30351 OPC_SwitchType , 7, MVT::f32,
30352 OPC_CheckPatternPredicate3,
30353 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_S),
30354 MVT::f32, 2, 9,
30355 7, MVT::f64,
30356 OPC_CheckPatternPredicate4,
30357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMIN_D),
30358 MVT::f64, 2, 9,
30359 8, 11|128,1,
30360 OPC_CheckPatternPredicate1,
30361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_S),
30362 11|128,1, 2, 9,
30363 8, 29|128,1,
30364 OPC_CheckPatternPredicate1,
30365 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFMIN_D),
30366 29|128,1, 2, 9,
30367 8, 15|128,1,
30368 OPC_CheckPatternPredicate0,
30369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_S),
30370 15|128,1, 2, 9,
30371 8, 31|128,1,
30372 OPC_CheckPatternPredicate0,
30373 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFMIN_D),
30374 31|128,1, 2, 9,
30375 0,
30376 21, TARGET_VAL(ISD::FABS),
30377 OPC_RecordChild0,
30378 OPC_SwitchType , 7, MVT::f32,
30379 OPC_CheckPatternPredicate3,
30380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_S),
30381 MVT::f32, 1, 1,
30382 7, MVT::f64,
30383 OPC_CheckPatternPredicate4,
30384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FABS_D),
30385 MVT::f64, 1, 1,
30386 0,
30387 65, TARGET_VAL(ISD::FSQRT),
30388 OPC_RecordChild0,
30389 OPC_SwitchType , 7, MVT::f32,
30390 OPC_CheckPatternPredicate3,
30391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_S),
30392 MVT::f32, 1, 1,
30393 7, MVT::f64,
30394 OPC_CheckPatternPredicate4,
30395 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FSQRT_D),
30396 MVT::f64, 1, 1,
30397 8, 11|128,1,
30398 OPC_CheckPatternPredicate1,
30399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_S),
30400 11|128,1, 1, 1,
30401 8, 29|128,1,
30402 OPC_CheckPatternPredicate1,
30403 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFSQRT_D),
30404 29|128,1, 1, 1,
30405 8, 15|128,1,
30406 OPC_CheckPatternPredicate0,
30407 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_S),
30408 15|128,1, 1, 1,
30409 8, 31|128,1,
30410 OPC_CheckPatternPredicate0,
30411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFSQRT_D),
30412 31|128,1, 1, 1,
30413 0,
30414 21, TARGET_VAL(ISD::FCANONICALIZE),
30415 OPC_RecordChild0,
30416 OPC_SwitchType , 7, MVT::f32,
30417 OPC_CheckPatternPredicate3,
30418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_S),
30419 MVT::f32, 2, 0,
30420 7, MVT::f64,
30421 OPC_CheckPatternPredicate4,
30422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FMAX_D),
30423 MVT::f64, 2, 0,
30424 0,
30425 49, TARGET_VAL(LoongArchISD::FTINT),
30426 OPC_RecordChild0,
30427 OPC_Scope, 22,
30428 OPC_CheckChild0Type, MVT::f32,
30429 OPC_SwitchType , 7, MVT::f32,
30430 OPC_CheckPatternPredicate3,
30431 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_S),
30432 MVT::f32, 1, 1,
30433 7, MVT::f64,
30434 OPC_CheckPatternPredicate4,
30435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_S),
30436 MVT::f64, 1, 1,
30437 0,
30438 22,
30439 OPC_CheckChild0Type, MVT::f64,
30440 OPC_SwitchType , 7, MVT::f32,
30441 OPC_CheckPatternPredicate4,
30442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_W_D),
30443 MVT::f32, 1, 1,
30444 7, MVT::f64,
30445 OPC_CheckPatternPredicate4,
30446 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FTINTRZ_L_D),
30447 MVT::f64, 1, 1,
30448 0,
30449 0,
30450 69, TARGET_VAL(LoongArchISD::FRECIPE),
30451 OPC_RecordChild0,
30452 OPC_SwitchType , 9, MVT::f32,
30453 OPC_CheckChild0Type, MVT::f32,
30454 OPC_CheckPatternPredicate7,
30455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_S),
30456 MVT::f32, 1, 1,
30457 9, MVT::f64,
30458 OPC_CheckChild0Type, MVT::f64,
30459 OPC_CheckPatternPredicate7,
30460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRECIPE_D),
30461 MVT::f64, 1, 1,
30462 8, 11|128,1,
30463 OPC_CheckPatternPredicate7,
30464 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_S),
30465 11|128,1, 1, 1,
30466 8, 29|128,1,
30467 OPC_CheckPatternPredicate7,
30468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRECIPE_D),
30469 29|128,1, 1, 1,
30470 8, 15|128,1,
30471 OPC_CheckPatternPredicate7,
30472 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_S),
30473 15|128,1, 1, 1,
30474 8, 31|128,1,
30475 OPC_CheckPatternPredicate7,
30476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRECIPE_D),
30477 31|128,1, 1, 1,
30478 0,
30479 69, TARGET_VAL(LoongArchISD::FRSQRTE),
30480 OPC_RecordChild0,
30481 OPC_SwitchType , 9, MVT::f32,
30482 OPC_CheckChild0Type, MVT::f32,
30483 OPC_CheckPatternPredicate7,
30484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_S),
30485 MVT::f32, 1, 1,
30486 9, MVT::f64,
30487 OPC_CheckChild0Type, MVT::f64,
30488 OPC_CheckPatternPredicate7,
30489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRSQRTE_D),
30490 MVT::f64, 1, 1,
30491 8, 11|128,1,
30492 OPC_CheckPatternPredicate7,
30493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_S),
30494 11|128,1, 1, 1,
30495 8, 29|128,1,
30496 OPC_CheckPatternPredicate7,
30497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRSQRTE_D),
30498 29|128,1, 1, 1,
30499 8, 15|128,1,
30500 OPC_CheckPatternPredicate7,
30501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_S),
30502 15|128,1, 1, 1,
30503 8, 31|128,1,
30504 OPC_CheckPatternPredicate7,
30505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRSQRTE_D),
30506 31|128,1, 1, 1,
30507 0,
30508 21, TARGET_VAL(LoongArchISD::SITOF),
30509 OPC_RecordChild0,
30510 OPC_SwitchType , 7, MVT::f32,
30511 OPC_CheckPatternPredicate3,
30512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_S_W),
30513 MVT::f32, 1, 1,
30514 7, MVT::f64,
30515 OPC_CheckPatternPredicate4,
30516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FFINT_D_L),
30517 MVT::f64, 1, 1,
30518 0,
30519 11, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
30520 OPC_RecordChild0,
30521 OPC_CheckChild0TypeByHwMode, 1,
30522 OPC_CheckPatternPredicate, 12,
30523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
30524 MVT::f32, 1, 1,
30525 23, TARGET_VAL(ISD::FRINT),
30526 OPC_RecordChild0,
30527 OPC_SwitchType , 8, MVT::f32,
30528 OPC_CheckPatternPredicate, 12,
30529 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_S),
30530 MVT::f32, 1, 1,
30531 8, MVT::f64,
30532 OPC_CheckPatternPredicate, 9,
30533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FRINT_D),
30534 MVT::f64, 1, 1,
30535 0,
30536 10, TARGET_VAL(LoongArchISD::MOVGR2FR_W),
30537 OPC_RecordChild0,
30538 OPC_CheckChild0TypeI32,
30539 OPC_CheckPatternPredicate, 14,
30540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_W),
30541 MVT::f32, 1, 1,
30542 10, TARGET_VAL(ISD::FP_ROUND),
30543 OPC_RecordChild0,
30544 OPC_CheckType, MVT::f32,
30545 OPC_CheckPatternPredicate4,
30546 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_S_D),
30547 MVT::f32, 1, 1,
30548 10, TARGET_VAL(ISD::FP_EXTEND),
30549 OPC_RecordChild0,
30550 OPC_CheckType, MVT::f64,
30551 OPC_CheckPatternPredicate4,
30552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::FCVT_D_S),
30553 MVT::f64, 1, 1,
30554 11, TARGET_VAL(LoongArchISD::MOVGR2FR_D),
30555 OPC_RecordChild0,
30556 OPC_CheckChild0TypeByHwMode, 1,
30557 OPC_CheckPatternPredicate, 9,
30558 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FR_D),
30559 MVT::f64, 1, 1,
30560 17, TARGET_VAL(LoongArchISD::MOVGR2FR_D_LO_HI),
30561 OPC_RecordChild0,
30562 OPC_CheckChild0TypeI32,
30563 OPC_RecordChild1,
30564 OPC_CheckPatternPredicate, 13,
30565 OPC_EmitNode1None, TARGET_VAL(LoongArch::MOVGR2FR_W_64),
30566 MVT::f64, 1, 1,
30567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::MOVGR2FRH_W),
30568 MVT::f64, 2, 14,
30569 113, TARGET_VAL(ISD::FCEIL),
30570 OPC_RecordChild0,
30571 OPC_SwitchType , 31, MVT::f32,
30572 OPC_CheckPatternPredicate1,
30573 OPC_EmitIntegerI32, LoongArch::sub_32,
30574 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
30575 MVT::v16i8, 2, 9,
30576 OPC_EmitIntegerByHwMode0, 0,
30577 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
30578 MVT::v16i8, 2, 49,
30579 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRP_S),
30580 MVT::v16i8, 1, 66,
30581 OPC_EmitIntegerI32, LoongArch::sub_32,
30582 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
30583 MVT::f32, 2, 114,
30584 31, MVT::f64,
30585 OPC_CheckPatternPredicate1,
30586 OPC_EmitIntegerI32, LoongArch::sub_64,
30587 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
30588 MVT::v16i8, 2, 9,
30589 OPC_EmitIntegerByHwMode0, 0,
30590 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
30591 MVT::v16i8, 2, 49,
30592 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRP_D),
30593 MVT::v16i8, 1, 66,
30594 OPC_EmitIntegerI32, LoongArch::sub_64,
30595 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
30596 MVT::f64, 2, 114,
30597 8, 11|128,1,
30598 OPC_CheckPatternPredicate1,
30599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_S),
30600 11|128,1, 1, 1,
30601 8, 29|128,1,
30602 OPC_CheckPatternPredicate1,
30603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRP_D),
30604 29|128,1, 1, 1,
30605 8, 15|128,1,
30606 OPC_CheckPatternPredicate0,
30607 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_S),
30608 15|128,1, 1, 1,
30609 8, 31|128,1,
30610 OPC_CheckPatternPredicate0,
30611 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRP_D),
30612 31|128,1, 1, 1,
30613 0,
30614 113, TARGET_VAL(ISD::FFLOOR),
30615 OPC_RecordChild0,
30616 OPC_SwitchType , 31, MVT::f32,
30617 OPC_CheckPatternPredicate1,
30618 OPC_EmitIntegerI32, LoongArch::sub_32,
30619 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
30620 MVT::v16i8, 2, 9,
30621 OPC_EmitIntegerByHwMode0, 0,
30622 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
30623 MVT::v16i8, 2, 49,
30624 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRM_S),
30625 MVT::v16i8, 1, 66,
30626 OPC_EmitIntegerI32, LoongArch::sub_32,
30627 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
30628 MVT::f32, 2, 114,
30629 31, MVT::f64,
30630 OPC_CheckPatternPredicate1,
30631 OPC_EmitIntegerI32, LoongArch::sub_64,
30632 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
30633 MVT::v16i8, 2, 9,
30634 OPC_EmitIntegerByHwMode0, 0,
30635 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
30636 MVT::v16i8, 2, 49,
30637 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRM_D),
30638 MVT::v16i8, 1, 66,
30639 OPC_EmitIntegerI32, LoongArch::sub_64,
30640 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
30641 MVT::f64, 2, 114,
30642 8, 11|128,1,
30643 OPC_CheckPatternPredicate1,
30644 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_S),
30645 11|128,1, 1, 1,
30646 8, 29|128,1,
30647 OPC_CheckPatternPredicate1,
30648 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRM_D),
30649 29|128,1, 1, 1,
30650 8, 15|128,1,
30651 OPC_CheckPatternPredicate0,
30652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_S),
30653 15|128,1, 1, 1,
30654 8, 31|128,1,
30655 OPC_CheckPatternPredicate0,
30656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRM_D),
30657 31|128,1, 1, 1,
30658 0,
30659 113, TARGET_VAL(ISD::FTRUNC),
30660 OPC_RecordChild0,
30661 OPC_SwitchType , 31, MVT::f32,
30662 OPC_CheckPatternPredicate1,
30663 OPC_EmitIntegerI32, LoongArch::sub_32,
30664 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
30665 MVT::v16i8, 2, 9,
30666 OPC_EmitIntegerByHwMode0, 0,
30667 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
30668 MVT::v16i8, 2, 49,
30669 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
30670 MVT::v16i8, 1, 66,
30671 OPC_EmitIntegerI32, LoongArch::sub_32,
30672 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
30673 MVT::f32, 2, 114,
30674 31, MVT::f64,
30675 OPC_CheckPatternPredicate1,
30676 OPC_EmitIntegerI32, LoongArch::sub_64,
30677 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
30678 MVT::v16i8, 2, 9,
30679 OPC_EmitIntegerByHwMode0, 0,
30680 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
30681 MVT::v16i8, 2, 49,
30682 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
30683 MVT::v16i8, 1, 66,
30684 OPC_EmitIntegerI32, LoongArch::sub_64,
30685 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
30686 MVT::f64, 2, 114,
30687 8, 11|128,1,
30688 OPC_CheckPatternPredicate1,
30689 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_S),
30690 11|128,1, 1, 1,
30691 8, 29|128,1,
30692 OPC_CheckPatternPredicate1,
30693 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRZ_D),
30694 29|128,1, 1, 1,
30695 8, 15|128,1,
30696 OPC_CheckPatternPredicate0,
30697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_S),
30698 15|128,1, 1, 1,
30699 8, 31|128,1,
30700 OPC_CheckPatternPredicate0,
30701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRZ_D),
30702 31|128,1, 1, 1,
30703 0,
30704 113, TARGET_VAL(ISD::FROUNDEVEN),
30705 OPC_RecordChild0,
30706 OPC_SwitchType , 31, MVT::f32,
30707 OPC_CheckPatternPredicate1,
30708 OPC_EmitIntegerI32, LoongArch::sub_32,
30709 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
30710 MVT::v16i8, 2, 9,
30711 OPC_EmitIntegerByHwMode0, 0,
30712 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_W),
30713 MVT::v16i8, 2, 49,
30714 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
30715 MVT::v16i8, 1, 66,
30716 OPC_EmitIntegerI32, LoongArch::sub_32,
30717 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
30718 MVT::f32, 2, 114,
30719 31, MVT::f64,
30720 OPC_CheckPatternPredicate1,
30721 OPC_EmitIntegerI32, LoongArch::sub_64,
30722 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
30723 MVT::v16i8, 2, 9,
30724 OPC_EmitIntegerByHwMode0, 0,
30725 OPC_EmitNode1None, TARGET_VAL(LoongArch::VREPLVEI_D),
30726 MVT::v16i8, 2, 49,
30727 OPC_EmitNode1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
30728 MVT::v16i8, 1, 66,
30729 OPC_EmitIntegerI32, LoongArch::sub_64,
30730 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
30731 MVT::f64, 2, 114,
30732 8, 11|128,1,
30733 OPC_CheckPatternPredicate1,
30734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_S),
30735 11|128,1, 1, 1,
30736 8, 29|128,1,
30737 OPC_CheckPatternPredicate1,
30738 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFRINTRNE_D),
30739 29|128,1, 1, 1,
30740 8, 15|128,1,
30741 OPC_CheckPatternPredicate0,
30742 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_S),
30743 15|128,1, 1, 1,
30744 8, 31|128,1,
30745 OPC_CheckPatternPredicate0,
30746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFRINTRNE_D),
30747 31|128,1, 1, 1,
30748 0,
30749 11, TARGET_VAL(LoongArchISD::BUILD_PAIR_F64),
30750 OPC_RecordChild0,
30751 OPC_CheckChild0TypeI32,
30752 OPC_RecordChild1,
30753 OPC_CheckPatternPredicate, 13,
30754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::BuildPairF64Pseudo),
30755 MVT::f64, 2, 9,
30756 44|128,121, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
30757 OPC_Scope, 117|128,72,
30758 OPC_MoveChild0,
30759 OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
30760 OPC_RecordChild0,
30761 OPC_MoveChild1,
30762 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30763 OPC_RecordChild0,
30764 OPC_Scope, 68|128,54,
30765 OPC_CheckChild0Type, MVT::v32i8,
30766 OPC_Scope, 50|128,3,
30767 OPC_CheckChild1Integer, 0,
30768 OPC_CheckTypeByHwMode0,
30769 OPC_MoveParent,
30770 OPC_Scope, 25,
30771 OPC_CheckChild2Integer, 0,
30772 OPC_MoveSibling1,
30773 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30774 OPC_CheckChild0Same, 1,
30775 OPC_CheckChild1Integer, 16,
30776 OPC_CheckTypeByHwMode0,
30777 OPC_MoveParent,
30778 OPC_CheckChild2Integer, 16,
30779 OPC_CheckType, MVT::v32i8,
30780 OPC_CheckPatternPredicate0,
30781 OPC_EmitIntegerByHwMode0, 0,
30782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30783 MVT::v32i8, 3, 24,
30784 25,
30785 OPC_CheckChild2Integer, 1,
30786 OPC_MoveSibling1,
30787 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30788 OPC_CheckChild0Same, 1,
30789 OPC_CheckChild1Integer, 16,
30790 OPC_CheckTypeByHwMode0,
30791 OPC_MoveParent,
30792 OPC_CheckChild2Integer, 17,
30793 OPC_CheckType, MVT::v32i8,
30794 OPC_CheckPatternPredicate0,
30795 OPC_EmitIntegerByHwMode0, 16,
30796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30797 MVT::v32i8, 3, 24,
30798 25,
30799 OPC_CheckChild2Integer, 2,
30800 OPC_MoveSibling1,
30801 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30802 OPC_CheckChild0Same, 1,
30803 OPC_CheckChild1Integer, 16,
30804 OPC_CheckTypeByHwMode0,
30805 OPC_MoveParent,
30806 OPC_CheckChild2Integer, 18,
30807 OPC_CheckType, MVT::v32i8,
30808 OPC_CheckPatternPredicate0,
30809 OPC_EmitIntegerByHwMode0, 32,
30810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30811 MVT::v32i8, 3, 24,
30812 25,
30813 OPC_CheckChild2Integer, 3,
30814 OPC_MoveSibling1,
30815 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30816 OPC_CheckChild0Same, 1,
30817 OPC_CheckChild1Integer, 16,
30818 OPC_CheckTypeByHwMode0,
30819 OPC_MoveParent,
30820 OPC_CheckChild2Integer, 19,
30821 OPC_CheckType, MVT::v32i8,
30822 OPC_CheckPatternPredicate0,
30823 OPC_EmitIntegerByHwMode0, 48,
30824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30825 MVT::v32i8, 3, 24,
30826 26,
30827 OPC_CheckChild2Integer, 4,
30828 OPC_MoveSibling1,
30829 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30830 OPC_CheckChild0Same, 1,
30831 OPC_CheckChild1Integer, 16,
30832 OPC_CheckTypeByHwMode0,
30833 OPC_MoveParent,
30834 OPC_CheckChild2Integer, 20,
30835 OPC_CheckType, MVT::v32i8,
30836 OPC_CheckPatternPredicate0,
30837 OPC_EmitIntegerByHwMode0, 64|128,0,
30838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30839 MVT::v32i8, 3, 24,
30840 26,
30841 OPC_CheckChild2Integer, 5,
30842 OPC_MoveSibling1,
30843 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30844 OPC_CheckChild0Same, 1,
30845 OPC_CheckChild1Integer, 16,
30846 OPC_CheckTypeByHwMode0,
30847 OPC_MoveParent,
30848 OPC_CheckChild2Integer, 21,
30849 OPC_CheckType, MVT::v32i8,
30850 OPC_CheckPatternPredicate0,
30851 OPC_EmitIntegerByHwMode0, 80|128,0,
30852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30853 MVT::v32i8, 3, 24,
30854 26,
30855 OPC_CheckChild2Integer, 6,
30856 OPC_MoveSibling1,
30857 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30858 OPC_CheckChild0Same, 1,
30859 OPC_CheckChild1Integer, 16,
30860 OPC_CheckTypeByHwMode0,
30861 OPC_MoveParent,
30862 OPC_CheckChild2Integer, 22,
30863 OPC_CheckType, MVT::v32i8,
30864 OPC_CheckPatternPredicate0,
30865 OPC_EmitIntegerByHwMode0, 96|128,0,
30866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30867 MVT::v32i8, 3, 24,
30868 26,
30869 OPC_CheckChild2Integer, 7,
30870 OPC_MoveSibling1,
30871 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30872 OPC_CheckChild0Same, 1,
30873 OPC_CheckChild1Integer, 16,
30874 OPC_CheckTypeByHwMode0,
30875 OPC_MoveParent,
30876 OPC_CheckChild2Integer, 23,
30877 OPC_CheckType, MVT::v32i8,
30878 OPC_CheckPatternPredicate0,
30879 OPC_EmitIntegerByHwMode0, 112|128,0,
30880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30881 MVT::v32i8, 3, 24,
30882 26,
30883 OPC_CheckChild2Integer, 8,
30884 OPC_MoveSibling1,
30885 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30886 OPC_CheckChild0Same, 1,
30887 OPC_CheckChild1Integer, 16,
30888 OPC_CheckTypeByHwMode0,
30889 OPC_MoveParent,
30890 OPC_CheckChild2Integer, 24,
30891 OPC_CheckType, MVT::v32i8,
30892 OPC_CheckPatternPredicate0,
30893 OPC_EmitIntegerByHwMode0, 0|128,1,
30894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30895 MVT::v32i8, 3, 24,
30896 26,
30897 OPC_CheckChild2Integer, 9,
30898 OPC_MoveSibling1,
30899 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30900 OPC_CheckChild0Same, 1,
30901 OPC_CheckChild1Integer, 16,
30902 OPC_CheckTypeByHwMode0,
30903 OPC_MoveParent,
30904 OPC_CheckChild2Integer, 25,
30905 OPC_CheckType, MVT::v32i8,
30906 OPC_CheckPatternPredicate0,
30907 OPC_EmitIntegerByHwMode0, 16|128,1,
30908 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30909 MVT::v32i8, 3, 24,
30910 26,
30911 OPC_CheckChild2Integer, 10,
30912 OPC_MoveSibling1,
30913 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30914 OPC_CheckChild0Same, 1,
30915 OPC_CheckChild1Integer, 16,
30916 OPC_CheckTypeByHwMode0,
30917 OPC_MoveParent,
30918 OPC_CheckChild2Integer, 26,
30919 OPC_CheckType, MVT::v32i8,
30920 OPC_CheckPatternPredicate0,
30921 OPC_EmitIntegerByHwMode0, 32|128,1,
30922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30923 MVT::v32i8, 3, 24,
30924 26,
30925 OPC_CheckChild2Integer, 11,
30926 OPC_MoveSibling1,
30927 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30928 OPC_CheckChild0Same, 1,
30929 OPC_CheckChild1Integer, 16,
30930 OPC_CheckTypeByHwMode0,
30931 OPC_MoveParent,
30932 OPC_CheckChild2Integer, 27,
30933 OPC_CheckType, MVT::v32i8,
30934 OPC_CheckPatternPredicate0,
30935 OPC_EmitIntegerByHwMode0, 48|128,1,
30936 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30937 MVT::v32i8, 3, 24,
30938 26,
30939 OPC_CheckChild2Integer, 12,
30940 OPC_MoveSibling1,
30941 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30942 OPC_CheckChild0Same, 1,
30943 OPC_CheckChild1Integer, 16,
30944 OPC_CheckTypeByHwMode0,
30945 OPC_MoveParent,
30946 OPC_CheckChild2Integer, 28,
30947 OPC_CheckType, MVT::v32i8,
30948 OPC_CheckPatternPredicate0,
30949 OPC_EmitIntegerByHwMode0, 64|128,1,
30950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30951 MVT::v32i8, 3, 24,
30952 26,
30953 OPC_CheckChild2Integer, 13,
30954 OPC_MoveSibling1,
30955 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30956 OPC_CheckChild0Same, 1,
30957 OPC_CheckChild1Integer, 16,
30958 OPC_CheckTypeByHwMode0,
30959 OPC_MoveParent,
30960 OPC_CheckChild2Integer, 29,
30961 OPC_CheckType, MVT::v32i8,
30962 OPC_CheckPatternPredicate0,
30963 OPC_EmitIntegerByHwMode0, 80|128,1,
30964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30965 MVT::v32i8, 3, 24,
30966 26,
30967 OPC_CheckChild2Integer, 14,
30968 OPC_MoveSibling1,
30969 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30970 OPC_CheckChild0Same, 1,
30971 OPC_CheckChild1Integer, 16,
30972 OPC_CheckTypeByHwMode0,
30973 OPC_MoveParent,
30974 OPC_CheckChild2Integer, 30,
30975 OPC_CheckType, MVT::v32i8,
30976 OPC_CheckPatternPredicate0,
30977 OPC_EmitIntegerByHwMode0, 96|128,1,
30978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30979 MVT::v32i8, 3, 24,
30980 26,
30981 OPC_CheckChild2Integer, 15,
30982 OPC_MoveSibling1,
30983 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
30984 OPC_CheckChild0Same, 1,
30985 OPC_CheckChild1Integer, 16,
30986 OPC_CheckTypeByHwMode0,
30987 OPC_MoveParent,
30988 OPC_CheckChild2Integer, 31,
30989 OPC_CheckType, MVT::v32i8,
30990 OPC_CheckPatternPredicate0,
30991 OPC_EmitIntegerByHwMode0, 112|128,1,
30992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
30993 MVT::v32i8, 3, 24,
30994 0,
30995 50|128,3,
30996 OPC_CheckChild1Integer, 1,
30997 OPC_CheckTypeByHwMode0,
30998 OPC_MoveParent,
30999 OPC_Scope, 25,
31000 OPC_CheckChild2Integer, 0,
31001 OPC_MoveSibling1,
31002 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31003 OPC_CheckChild0Same, 1,
31004 OPC_CheckChild1Integer, 17,
31005 OPC_CheckTypeByHwMode0,
31006 OPC_MoveParent,
31007 OPC_CheckChild2Integer, 16,
31008 OPC_CheckType, MVT::v32i8,
31009 OPC_CheckPatternPredicate0,
31010 OPC_EmitIntegerByHwMode0, 1,
31011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31012 MVT::v32i8, 3, 24,
31013 25,
31014 OPC_CheckChild2Integer, 1,
31015 OPC_MoveSibling1,
31016 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31017 OPC_CheckChild0Same, 1,
31018 OPC_CheckChild1Integer, 17,
31019 OPC_CheckTypeByHwMode0,
31020 OPC_MoveParent,
31021 OPC_CheckChild2Integer, 17,
31022 OPC_CheckType, MVT::v32i8,
31023 OPC_CheckPatternPredicate0,
31024 OPC_EmitIntegerByHwMode0, 17,
31025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31026 MVT::v32i8, 3, 24,
31027 25,
31028 OPC_CheckChild2Integer, 2,
31029 OPC_MoveSibling1,
31030 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31031 OPC_CheckChild0Same, 1,
31032 OPC_CheckChild1Integer, 17,
31033 OPC_CheckTypeByHwMode0,
31034 OPC_MoveParent,
31035 OPC_CheckChild2Integer, 18,
31036 OPC_CheckType, MVT::v32i8,
31037 OPC_CheckPatternPredicate0,
31038 OPC_EmitIntegerByHwMode0, 33,
31039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31040 MVT::v32i8, 3, 24,
31041 25,
31042 OPC_CheckChild2Integer, 3,
31043 OPC_MoveSibling1,
31044 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31045 OPC_CheckChild0Same, 1,
31046 OPC_CheckChild1Integer, 17,
31047 OPC_CheckTypeByHwMode0,
31048 OPC_MoveParent,
31049 OPC_CheckChild2Integer, 19,
31050 OPC_CheckType, MVT::v32i8,
31051 OPC_CheckPatternPredicate0,
31052 OPC_EmitIntegerByHwMode0, 49,
31053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31054 MVT::v32i8, 3, 24,
31055 26,
31056 OPC_CheckChild2Integer, 4,
31057 OPC_MoveSibling1,
31058 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31059 OPC_CheckChild0Same, 1,
31060 OPC_CheckChild1Integer, 17,
31061 OPC_CheckTypeByHwMode0,
31062 OPC_MoveParent,
31063 OPC_CheckChild2Integer, 20,
31064 OPC_CheckType, MVT::v32i8,
31065 OPC_CheckPatternPredicate0,
31066 OPC_EmitIntegerByHwMode0, 65|128,0,
31067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31068 MVT::v32i8, 3, 24,
31069 26,
31070 OPC_CheckChild2Integer, 5,
31071 OPC_MoveSibling1,
31072 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31073 OPC_CheckChild0Same, 1,
31074 OPC_CheckChild1Integer, 17,
31075 OPC_CheckTypeByHwMode0,
31076 OPC_MoveParent,
31077 OPC_CheckChild2Integer, 21,
31078 OPC_CheckType, MVT::v32i8,
31079 OPC_CheckPatternPredicate0,
31080 OPC_EmitIntegerByHwMode0, 81|128,0,
31081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31082 MVT::v32i8, 3, 24,
31083 26,
31084 OPC_CheckChild2Integer, 6,
31085 OPC_MoveSibling1,
31086 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31087 OPC_CheckChild0Same, 1,
31088 OPC_CheckChild1Integer, 17,
31089 OPC_CheckTypeByHwMode0,
31090 OPC_MoveParent,
31091 OPC_CheckChild2Integer, 22,
31092 OPC_CheckType, MVT::v32i8,
31093 OPC_CheckPatternPredicate0,
31094 OPC_EmitIntegerByHwMode0, 97|128,0,
31095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31096 MVT::v32i8, 3, 24,
31097 26,
31098 OPC_CheckChild2Integer, 7,
31099 OPC_MoveSibling1,
31100 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31101 OPC_CheckChild0Same, 1,
31102 OPC_CheckChild1Integer, 17,
31103 OPC_CheckTypeByHwMode0,
31104 OPC_MoveParent,
31105 OPC_CheckChild2Integer, 23,
31106 OPC_CheckType, MVT::v32i8,
31107 OPC_CheckPatternPredicate0,
31108 OPC_EmitIntegerByHwMode0, 113|128,0,
31109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31110 MVT::v32i8, 3, 24,
31111 26,
31112 OPC_CheckChild2Integer, 8,
31113 OPC_MoveSibling1,
31114 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31115 OPC_CheckChild0Same, 1,
31116 OPC_CheckChild1Integer, 17,
31117 OPC_CheckTypeByHwMode0,
31118 OPC_MoveParent,
31119 OPC_CheckChild2Integer, 24,
31120 OPC_CheckType, MVT::v32i8,
31121 OPC_CheckPatternPredicate0,
31122 OPC_EmitIntegerByHwMode0, 1|128,1,
31123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31124 MVT::v32i8, 3, 24,
31125 26,
31126 OPC_CheckChild2Integer, 9,
31127 OPC_MoveSibling1,
31128 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31129 OPC_CheckChild0Same, 1,
31130 OPC_CheckChild1Integer, 17,
31131 OPC_CheckTypeByHwMode0,
31132 OPC_MoveParent,
31133 OPC_CheckChild2Integer, 25,
31134 OPC_CheckType, MVT::v32i8,
31135 OPC_CheckPatternPredicate0,
31136 OPC_EmitIntegerByHwMode0, 17|128,1,
31137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31138 MVT::v32i8, 3, 24,
31139 26,
31140 OPC_CheckChild2Integer, 10,
31141 OPC_MoveSibling1,
31142 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31143 OPC_CheckChild0Same, 1,
31144 OPC_CheckChild1Integer, 17,
31145 OPC_CheckTypeByHwMode0,
31146 OPC_MoveParent,
31147 OPC_CheckChild2Integer, 26,
31148 OPC_CheckType, MVT::v32i8,
31149 OPC_CheckPatternPredicate0,
31150 OPC_EmitIntegerByHwMode0, 33|128,1,
31151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31152 MVT::v32i8, 3, 24,
31153 26,
31154 OPC_CheckChild2Integer, 11,
31155 OPC_MoveSibling1,
31156 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31157 OPC_CheckChild0Same, 1,
31158 OPC_CheckChild1Integer, 17,
31159 OPC_CheckTypeByHwMode0,
31160 OPC_MoveParent,
31161 OPC_CheckChild2Integer, 27,
31162 OPC_CheckType, MVT::v32i8,
31163 OPC_CheckPatternPredicate0,
31164 OPC_EmitIntegerByHwMode0, 49|128,1,
31165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31166 MVT::v32i8, 3, 24,
31167 26,
31168 OPC_CheckChild2Integer, 12,
31169 OPC_MoveSibling1,
31170 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31171 OPC_CheckChild0Same, 1,
31172 OPC_CheckChild1Integer, 17,
31173 OPC_CheckTypeByHwMode0,
31174 OPC_MoveParent,
31175 OPC_CheckChild2Integer, 28,
31176 OPC_CheckType, MVT::v32i8,
31177 OPC_CheckPatternPredicate0,
31178 OPC_EmitIntegerByHwMode0, 65|128,1,
31179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31180 MVT::v32i8, 3, 24,
31181 26,
31182 OPC_CheckChild2Integer, 13,
31183 OPC_MoveSibling1,
31184 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31185 OPC_CheckChild0Same, 1,
31186 OPC_CheckChild1Integer, 17,
31187 OPC_CheckTypeByHwMode0,
31188 OPC_MoveParent,
31189 OPC_CheckChild2Integer, 29,
31190 OPC_CheckType, MVT::v32i8,
31191 OPC_CheckPatternPredicate0,
31192 OPC_EmitIntegerByHwMode0, 81|128,1,
31193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31194 MVT::v32i8, 3, 24,
31195 26,
31196 OPC_CheckChild2Integer, 14,
31197 OPC_MoveSibling1,
31198 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31199 OPC_CheckChild0Same, 1,
31200 OPC_CheckChild1Integer, 17,
31201 OPC_CheckTypeByHwMode0,
31202 OPC_MoveParent,
31203 OPC_CheckChild2Integer, 30,
31204 OPC_CheckType, MVT::v32i8,
31205 OPC_CheckPatternPredicate0,
31206 OPC_EmitIntegerByHwMode0, 97|128,1,
31207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31208 MVT::v32i8, 3, 24,
31209 26,
31210 OPC_CheckChild2Integer, 15,
31211 OPC_MoveSibling1,
31212 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31213 OPC_CheckChild0Same, 1,
31214 OPC_CheckChild1Integer, 17,
31215 OPC_CheckTypeByHwMode0,
31216 OPC_MoveParent,
31217 OPC_CheckChild2Integer, 31,
31218 OPC_CheckType, MVT::v32i8,
31219 OPC_CheckPatternPredicate0,
31220 OPC_EmitIntegerByHwMode0, 113|128,1,
31221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31222 MVT::v32i8, 3, 24,
31223 0,
31224 50|128,3,
31225 OPC_CheckChild1Integer, 2,
31226 OPC_CheckTypeByHwMode0,
31227 OPC_MoveParent,
31228 OPC_Scope, 25,
31229 OPC_CheckChild2Integer, 0,
31230 OPC_MoveSibling1,
31231 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31232 OPC_CheckChild0Same, 1,
31233 OPC_CheckChild1Integer, 18,
31234 OPC_CheckTypeByHwMode0,
31235 OPC_MoveParent,
31236 OPC_CheckChild2Integer, 16,
31237 OPC_CheckType, MVT::v32i8,
31238 OPC_CheckPatternPredicate0,
31239 OPC_EmitIntegerByHwMode0, 2,
31240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31241 MVT::v32i8, 3, 24,
31242 25,
31243 OPC_CheckChild2Integer, 1,
31244 OPC_MoveSibling1,
31245 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31246 OPC_CheckChild0Same, 1,
31247 OPC_CheckChild1Integer, 18,
31248 OPC_CheckTypeByHwMode0,
31249 OPC_MoveParent,
31250 OPC_CheckChild2Integer, 17,
31251 OPC_CheckType, MVT::v32i8,
31252 OPC_CheckPatternPredicate0,
31253 OPC_EmitIntegerByHwMode0, 18,
31254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31255 MVT::v32i8, 3, 24,
31256 25,
31257 OPC_CheckChild2Integer, 2,
31258 OPC_MoveSibling1,
31259 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31260 OPC_CheckChild0Same, 1,
31261 OPC_CheckChild1Integer, 18,
31262 OPC_CheckTypeByHwMode0,
31263 OPC_MoveParent,
31264 OPC_CheckChild2Integer, 18,
31265 OPC_CheckType, MVT::v32i8,
31266 OPC_CheckPatternPredicate0,
31267 OPC_EmitIntegerByHwMode0, 34,
31268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31269 MVT::v32i8, 3, 24,
31270 25,
31271 OPC_CheckChild2Integer, 3,
31272 OPC_MoveSibling1,
31273 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31274 OPC_CheckChild0Same, 1,
31275 OPC_CheckChild1Integer, 18,
31276 OPC_CheckTypeByHwMode0,
31277 OPC_MoveParent,
31278 OPC_CheckChild2Integer, 19,
31279 OPC_CheckType, MVT::v32i8,
31280 OPC_CheckPatternPredicate0,
31281 OPC_EmitIntegerByHwMode0, 50,
31282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31283 MVT::v32i8, 3, 24,
31284 26,
31285 OPC_CheckChild2Integer, 4,
31286 OPC_MoveSibling1,
31287 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31288 OPC_CheckChild0Same, 1,
31289 OPC_CheckChild1Integer, 18,
31290 OPC_CheckTypeByHwMode0,
31291 OPC_MoveParent,
31292 OPC_CheckChild2Integer, 20,
31293 OPC_CheckType, MVT::v32i8,
31294 OPC_CheckPatternPredicate0,
31295 OPC_EmitIntegerByHwMode0, 66|128,0,
31296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31297 MVT::v32i8, 3, 24,
31298 26,
31299 OPC_CheckChild2Integer, 5,
31300 OPC_MoveSibling1,
31301 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31302 OPC_CheckChild0Same, 1,
31303 OPC_CheckChild1Integer, 18,
31304 OPC_CheckTypeByHwMode0,
31305 OPC_MoveParent,
31306 OPC_CheckChild2Integer, 21,
31307 OPC_CheckType, MVT::v32i8,
31308 OPC_CheckPatternPredicate0,
31309 OPC_EmitIntegerByHwMode0, 82|128,0,
31310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31311 MVT::v32i8, 3, 24,
31312 26,
31313 OPC_CheckChild2Integer, 6,
31314 OPC_MoveSibling1,
31315 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31316 OPC_CheckChild0Same, 1,
31317 OPC_CheckChild1Integer, 18,
31318 OPC_CheckTypeByHwMode0,
31319 OPC_MoveParent,
31320 OPC_CheckChild2Integer, 22,
31321 OPC_CheckType, MVT::v32i8,
31322 OPC_CheckPatternPredicate0,
31323 OPC_EmitIntegerByHwMode0, 98|128,0,
31324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31325 MVT::v32i8, 3, 24,
31326 26,
31327 OPC_CheckChild2Integer, 7,
31328 OPC_MoveSibling1,
31329 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31330 OPC_CheckChild0Same, 1,
31331 OPC_CheckChild1Integer, 18,
31332 OPC_CheckTypeByHwMode0,
31333 OPC_MoveParent,
31334 OPC_CheckChild2Integer, 23,
31335 OPC_CheckType, MVT::v32i8,
31336 OPC_CheckPatternPredicate0,
31337 OPC_EmitIntegerByHwMode0, 114|128,0,
31338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31339 MVT::v32i8, 3, 24,
31340 26,
31341 OPC_CheckChild2Integer, 8,
31342 OPC_MoveSibling1,
31343 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31344 OPC_CheckChild0Same, 1,
31345 OPC_CheckChild1Integer, 18,
31346 OPC_CheckTypeByHwMode0,
31347 OPC_MoveParent,
31348 OPC_CheckChild2Integer, 24,
31349 OPC_CheckType, MVT::v32i8,
31350 OPC_CheckPatternPredicate0,
31351 OPC_EmitIntegerByHwMode0, 2|128,1,
31352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31353 MVT::v32i8, 3, 24,
31354 26,
31355 OPC_CheckChild2Integer, 9,
31356 OPC_MoveSibling1,
31357 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31358 OPC_CheckChild0Same, 1,
31359 OPC_CheckChild1Integer, 18,
31360 OPC_CheckTypeByHwMode0,
31361 OPC_MoveParent,
31362 OPC_CheckChild2Integer, 25,
31363 OPC_CheckType, MVT::v32i8,
31364 OPC_CheckPatternPredicate0,
31365 OPC_EmitIntegerByHwMode0, 18|128,1,
31366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31367 MVT::v32i8, 3, 24,
31368 26,
31369 OPC_CheckChild2Integer, 10,
31370 OPC_MoveSibling1,
31371 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31372 OPC_CheckChild0Same, 1,
31373 OPC_CheckChild1Integer, 18,
31374 OPC_CheckTypeByHwMode0,
31375 OPC_MoveParent,
31376 OPC_CheckChild2Integer, 26,
31377 OPC_CheckType, MVT::v32i8,
31378 OPC_CheckPatternPredicate0,
31379 OPC_EmitIntegerByHwMode0, 34|128,1,
31380 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31381 MVT::v32i8, 3, 24,
31382 26,
31383 OPC_CheckChild2Integer, 11,
31384 OPC_MoveSibling1,
31385 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31386 OPC_CheckChild0Same, 1,
31387 OPC_CheckChild1Integer, 18,
31388 OPC_CheckTypeByHwMode0,
31389 OPC_MoveParent,
31390 OPC_CheckChild2Integer, 27,
31391 OPC_CheckType, MVT::v32i8,
31392 OPC_CheckPatternPredicate0,
31393 OPC_EmitIntegerByHwMode0, 50|128,1,
31394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31395 MVT::v32i8, 3, 24,
31396 26,
31397 OPC_CheckChild2Integer, 12,
31398 OPC_MoveSibling1,
31399 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31400 OPC_CheckChild0Same, 1,
31401 OPC_CheckChild1Integer, 18,
31402 OPC_CheckTypeByHwMode0,
31403 OPC_MoveParent,
31404 OPC_CheckChild2Integer, 28,
31405 OPC_CheckType, MVT::v32i8,
31406 OPC_CheckPatternPredicate0,
31407 OPC_EmitIntegerByHwMode0, 66|128,1,
31408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31409 MVT::v32i8, 3, 24,
31410 26,
31411 OPC_CheckChild2Integer, 13,
31412 OPC_MoveSibling1,
31413 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31414 OPC_CheckChild0Same, 1,
31415 OPC_CheckChild1Integer, 18,
31416 OPC_CheckTypeByHwMode0,
31417 OPC_MoveParent,
31418 OPC_CheckChild2Integer, 29,
31419 OPC_CheckType, MVT::v32i8,
31420 OPC_CheckPatternPredicate0,
31421 OPC_EmitIntegerByHwMode0, 82|128,1,
31422 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31423 MVT::v32i8, 3, 24,
31424 26,
31425 OPC_CheckChild2Integer, 14,
31426 OPC_MoveSibling1,
31427 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31428 OPC_CheckChild0Same, 1,
31429 OPC_CheckChild1Integer, 18,
31430 OPC_CheckTypeByHwMode0,
31431 OPC_MoveParent,
31432 OPC_CheckChild2Integer, 30,
31433 OPC_CheckType, MVT::v32i8,
31434 OPC_CheckPatternPredicate0,
31435 OPC_EmitIntegerByHwMode0, 98|128,1,
31436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31437 MVT::v32i8, 3, 24,
31438 26,
31439 OPC_CheckChild2Integer, 15,
31440 OPC_MoveSibling1,
31441 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31442 OPC_CheckChild0Same, 1,
31443 OPC_CheckChild1Integer, 18,
31444 OPC_CheckTypeByHwMode0,
31445 OPC_MoveParent,
31446 OPC_CheckChild2Integer, 31,
31447 OPC_CheckType, MVT::v32i8,
31448 OPC_CheckPatternPredicate0,
31449 OPC_EmitIntegerByHwMode0, 114|128,1,
31450 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31451 MVT::v32i8, 3, 24,
31452 0,
31453 50|128,3,
31454 OPC_CheckChild1Integer, 3,
31455 OPC_CheckTypeByHwMode0,
31456 OPC_MoveParent,
31457 OPC_Scope, 25,
31458 OPC_CheckChild2Integer, 0,
31459 OPC_MoveSibling1,
31460 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31461 OPC_CheckChild0Same, 1,
31462 OPC_CheckChild1Integer, 19,
31463 OPC_CheckTypeByHwMode0,
31464 OPC_MoveParent,
31465 OPC_CheckChild2Integer, 16,
31466 OPC_CheckType, MVT::v32i8,
31467 OPC_CheckPatternPredicate0,
31468 OPC_EmitIntegerByHwMode0, 3,
31469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31470 MVT::v32i8, 3, 24,
31471 25,
31472 OPC_CheckChild2Integer, 1,
31473 OPC_MoveSibling1,
31474 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31475 OPC_CheckChild0Same, 1,
31476 OPC_CheckChild1Integer, 19,
31477 OPC_CheckTypeByHwMode0,
31478 OPC_MoveParent,
31479 OPC_CheckChild2Integer, 17,
31480 OPC_CheckType, MVT::v32i8,
31481 OPC_CheckPatternPredicate0,
31482 OPC_EmitIntegerByHwMode0, 19,
31483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31484 MVT::v32i8, 3, 24,
31485 25,
31486 OPC_CheckChild2Integer, 2,
31487 OPC_MoveSibling1,
31488 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31489 OPC_CheckChild0Same, 1,
31490 OPC_CheckChild1Integer, 19,
31491 OPC_CheckTypeByHwMode0,
31492 OPC_MoveParent,
31493 OPC_CheckChild2Integer, 18,
31494 OPC_CheckType, MVT::v32i8,
31495 OPC_CheckPatternPredicate0,
31496 OPC_EmitIntegerByHwMode0, 35,
31497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31498 MVT::v32i8, 3, 24,
31499 25,
31500 OPC_CheckChild2Integer, 3,
31501 OPC_MoveSibling1,
31502 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31503 OPC_CheckChild0Same, 1,
31504 OPC_CheckChild1Integer, 19,
31505 OPC_CheckTypeByHwMode0,
31506 OPC_MoveParent,
31507 OPC_CheckChild2Integer, 19,
31508 OPC_CheckType, MVT::v32i8,
31509 OPC_CheckPatternPredicate0,
31510 OPC_EmitIntegerByHwMode0, 51,
31511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31512 MVT::v32i8, 3, 24,
31513 26,
31514 OPC_CheckChild2Integer, 4,
31515 OPC_MoveSibling1,
31516 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31517 OPC_CheckChild0Same, 1,
31518 OPC_CheckChild1Integer, 19,
31519 OPC_CheckTypeByHwMode0,
31520 OPC_MoveParent,
31521 OPC_CheckChild2Integer, 20,
31522 OPC_CheckType, MVT::v32i8,
31523 OPC_CheckPatternPredicate0,
31524 OPC_EmitIntegerByHwMode0, 67|128,0,
31525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31526 MVT::v32i8, 3, 24,
31527 26,
31528 OPC_CheckChild2Integer, 5,
31529 OPC_MoveSibling1,
31530 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31531 OPC_CheckChild0Same, 1,
31532 OPC_CheckChild1Integer, 19,
31533 OPC_CheckTypeByHwMode0,
31534 OPC_MoveParent,
31535 OPC_CheckChild2Integer, 21,
31536 OPC_CheckType, MVT::v32i8,
31537 OPC_CheckPatternPredicate0,
31538 OPC_EmitIntegerByHwMode0, 83|128,0,
31539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31540 MVT::v32i8, 3, 24,
31541 26,
31542 OPC_CheckChild2Integer, 6,
31543 OPC_MoveSibling1,
31544 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31545 OPC_CheckChild0Same, 1,
31546 OPC_CheckChild1Integer, 19,
31547 OPC_CheckTypeByHwMode0,
31548 OPC_MoveParent,
31549 OPC_CheckChild2Integer, 22,
31550 OPC_CheckType, MVT::v32i8,
31551 OPC_CheckPatternPredicate0,
31552 OPC_EmitIntegerByHwMode0, 99|128,0,
31553 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31554 MVT::v32i8, 3, 24,
31555 26,
31556 OPC_CheckChild2Integer, 7,
31557 OPC_MoveSibling1,
31558 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31559 OPC_CheckChild0Same, 1,
31560 OPC_CheckChild1Integer, 19,
31561 OPC_CheckTypeByHwMode0,
31562 OPC_MoveParent,
31563 OPC_CheckChild2Integer, 23,
31564 OPC_CheckType, MVT::v32i8,
31565 OPC_CheckPatternPredicate0,
31566 OPC_EmitIntegerByHwMode0, 115|128,0,
31567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31568 MVT::v32i8, 3, 24,
31569 26,
31570 OPC_CheckChild2Integer, 8,
31571 OPC_MoveSibling1,
31572 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31573 OPC_CheckChild0Same, 1,
31574 OPC_CheckChild1Integer, 19,
31575 OPC_CheckTypeByHwMode0,
31576 OPC_MoveParent,
31577 OPC_CheckChild2Integer, 24,
31578 OPC_CheckType, MVT::v32i8,
31579 OPC_CheckPatternPredicate0,
31580 OPC_EmitIntegerByHwMode0, 3|128,1,
31581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31582 MVT::v32i8, 3, 24,
31583 26,
31584 OPC_CheckChild2Integer, 9,
31585 OPC_MoveSibling1,
31586 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31587 OPC_CheckChild0Same, 1,
31588 OPC_CheckChild1Integer, 19,
31589 OPC_CheckTypeByHwMode0,
31590 OPC_MoveParent,
31591 OPC_CheckChild2Integer, 25,
31592 OPC_CheckType, MVT::v32i8,
31593 OPC_CheckPatternPredicate0,
31594 OPC_EmitIntegerByHwMode0, 19|128,1,
31595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31596 MVT::v32i8, 3, 24,
31597 26,
31598 OPC_CheckChild2Integer, 10,
31599 OPC_MoveSibling1,
31600 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31601 OPC_CheckChild0Same, 1,
31602 OPC_CheckChild1Integer, 19,
31603 OPC_CheckTypeByHwMode0,
31604 OPC_MoveParent,
31605 OPC_CheckChild2Integer, 26,
31606 OPC_CheckType, MVT::v32i8,
31607 OPC_CheckPatternPredicate0,
31608 OPC_EmitIntegerByHwMode0, 35|128,1,
31609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31610 MVT::v32i8, 3, 24,
31611 26,
31612 OPC_CheckChild2Integer, 11,
31613 OPC_MoveSibling1,
31614 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31615 OPC_CheckChild0Same, 1,
31616 OPC_CheckChild1Integer, 19,
31617 OPC_CheckTypeByHwMode0,
31618 OPC_MoveParent,
31619 OPC_CheckChild2Integer, 27,
31620 OPC_CheckType, MVT::v32i8,
31621 OPC_CheckPatternPredicate0,
31622 OPC_EmitIntegerByHwMode0, 51|128,1,
31623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31624 MVT::v32i8, 3, 24,
31625 26,
31626 OPC_CheckChild2Integer, 12,
31627 OPC_MoveSibling1,
31628 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31629 OPC_CheckChild0Same, 1,
31630 OPC_CheckChild1Integer, 19,
31631 OPC_CheckTypeByHwMode0,
31632 OPC_MoveParent,
31633 OPC_CheckChild2Integer, 28,
31634 OPC_CheckType, MVT::v32i8,
31635 OPC_CheckPatternPredicate0,
31636 OPC_EmitIntegerByHwMode0, 67|128,1,
31637 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31638 MVT::v32i8, 3, 24,
31639 26,
31640 OPC_CheckChild2Integer, 13,
31641 OPC_MoveSibling1,
31642 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31643 OPC_CheckChild0Same, 1,
31644 OPC_CheckChild1Integer, 19,
31645 OPC_CheckTypeByHwMode0,
31646 OPC_MoveParent,
31647 OPC_CheckChild2Integer, 29,
31648 OPC_CheckType, MVT::v32i8,
31649 OPC_CheckPatternPredicate0,
31650 OPC_EmitIntegerByHwMode0, 83|128,1,
31651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31652 MVT::v32i8, 3, 24,
31653 26,
31654 OPC_CheckChild2Integer, 14,
31655 OPC_MoveSibling1,
31656 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31657 OPC_CheckChild0Same, 1,
31658 OPC_CheckChild1Integer, 19,
31659 OPC_CheckTypeByHwMode0,
31660 OPC_MoveParent,
31661 OPC_CheckChild2Integer, 30,
31662 OPC_CheckType, MVT::v32i8,
31663 OPC_CheckPatternPredicate0,
31664 OPC_EmitIntegerByHwMode0, 99|128,1,
31665 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31666 MVT::v32i8, 3, 24,
31667 26,
31668 OPC_CheckChild2Integer, 15,
31669 OPC_MoveSibling1,
31670 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31671 OPC_CheckChild0Same, 1,
31672 OPC_CheckChild1Integer, 19,
31673 OPC_CheckTypeByHwMode0,
31674 OPC_MoveParent,
31675 OPC_CheckChild2Integer, 31,
31676 OPC_CheckType, MVT::v32i8,
31677 OPC_CheckPatternPredicate0,
31678 OPC_EmitIntegerByHwMode0, 115|128,1,
31679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31680 MVT::v32i8, 3, 24,
31681 0,
31682 50|128,3,
31683 OPC_CheckChild1Integer, 4,
31684 OPC_CheckTypeByHwMode0,
31685 OPC_MoveParent,
31686 OPC_Scope, 25,
31687 OPC_CheckChild2Integer, 0,
31688 OPC_MoveSibling1,
31689 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31690 OPC_CheckChild0Same, 1,
31691 OPC_CheckChild1Integer, 20,
31692 OPC_CheckTypeByHwMode0,
31693 OPC_MoveParent,
31694 OPC_CheckChild2Integer, 16,
31695 OPC_CheckType, MVT::v32i8,
31696 OPC_CheckPatternPredicate0,
31697 OPC_EmitIntegerByHwMode0, 4,
31698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31699 MVT::v32i8, 3, 24,
31700 25,
31701 OPC_CheckChild2Integer, 1,
31702 OPC_MoveSibling1,
31703 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31704 OPC_CheckChild0Same, 1,
31705 OPC_CheckChild1Integer, 20,
31706 OPC_CheckTypeByHwMode0,
31707 OPC_MoveParent,
31708 OPC_CheckChild2Integer, 17,
31709 OPC_CheckType, MVT::v32i8,
31710 OPC_CheckPatternPredicate0,
31711 OPC_EmitIntegerByHwMode0, 20,
31712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31713 MVT::v32i8, 3, 24,
31714 25,
31715 OPC_CheckChild2Integer, 2,
31716 OPC_MoveSibling1,
31717 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31718 OPC_CheckChild0Same, 1,
31719 OPC_CheckChild1Integer, 20,
31720 OPC_CheckTypeByHwMode0,
31721 OPC_MoveParent,
31722 OPC_CheckChild2Integer, 18,
31723 OPC_CheckType, MVT::v32i8,
31724 OPC_CheckPatternPredicate0,
31725 OPC_EmitIntegerByHwMode0, 36,
31726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31727 MVT::v32i8, 3, 24,
31728 25,
31729 OPC_CheckChild2Integer, 3,
31730 OPC_MoveSibling1,
31731 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31732 OPC_CheckChild0Same, 1,
31733 OPC_CheckChild1Integer, 20,
31734 OPC_CheckTypeByHwMode0,
31735 OPC_MoveParent,
31736 OPC_CheckChild2Integer, 19,
31737 OPC_CheckType, MVT::v32i8,
31738 OPC_CheckPatternPredicate0,
31739 OPC_EmitIntegerByHwMode0, 52,
31740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31741 MVT::v32i8, 3, 24,
31742 26,
31743 OPC_CheckChild2Integer, 4,
31744 OPC_MoveSibling1,
31745 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31746 OPC_CheckChild0Same, 1,
31747 OPC_CheckChild1Integer, 20,
31748 OPC_CheckTypeByHwMode0,
31749 OPC_MoveParent,
31750 OPC_CheckChild2Integer, 20,
31751 OPC_CheckType, MVT::v32i8,
31752 OPC_CheckPatternPredicate0,
31753 OPC_EmitIntegerByHwMode0, 68|128,0,
31754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31755 MVT::v32i8, 3, 24,
31756 26,
31757 OPC_CheckChild2Integer, 5,
31758 OPC_MoveSibling1,
31759 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31760 OPC_CheckChild0Same, 1,
31761 OPC_CheckChild1Integer, 20,
31762 OPC_CheckTypeByHwMode0,
31763 OPC_MoveParent,
31764 OPC_CheckChild2Integer, 21,
31765 OPC_CheckType, MVT::v32i8,
31766 OPC_CheckPatternPredicate0,
31767 OPC_EmitIntegerByHwMode0, 84|128,0,
31768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31769 MVT::v32i8, 3, 24,
31770 26,
31771 OPC_CheckChild2Integer, 6,
31772 OPC_MoveSibling1,
31773 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31774 OPC_CheckChild0Same, 1,
31775 OPC_CheckChild1Integer, 20,
31776 OPC_CheckTypeByHwMode0,
31777 OPC_MoveParent,
31778 OPC_CheckChild2Integer, 22,
31779 OPC_CheckType, MVT::v32i8,
31780 OPC_CheckPatternPredicate0,
31781 OPC_EmitIntegerByHwMode0, 100|128,0,
31782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31783 MVT::v32i8, 3, 24,
31784 26,
31785 OPC_CheckChild2Integer, 7,
31786 OPC_MoveSibling1,
31787 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31788 OPC_CheckChild0Same, 1,
31789 OPC_CheckChild1Integer, 20,
31790 OPC_CheckTypeByHwMode0,
31791 OPC_MoveParent,
31792 OPC_CheckChild2Integer, 23,
31793 OPC_CheckType, MVT::v32i8,
31794 OPC_CheckPatternPredicate0,
31795 OPC_EmitIntegerByHwMode0, 116|128,0,
31796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31797 MVT::v32i8, 3, 24,
31798 26,
31799 OPC_CheckChild2Integer, 8,
31800 OPC_MoveSibling1,
31801 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31802 OPC_CheckChild0Same, 1,
31803 OPC_CheckChild1Integer, 20,
31804 OPC_CheckTypeByHwMode0,
31805 OPC_MoveParent,
31806 OPC_CheckChild2Integer, 24,
31807 OPC_CheckType, MVT::v32i8,
31808 OPC_CheckPatternPredicate0,
31809 OPC_EmitIntegerByHwMode0, 4|128,1,
31810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31811 MVT::v32i8, 3, 24,
31812 26,
31813 OPC_CheckChild2Integer, 9,
31814 OPC_MoveSibling1,
31815 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31816 OPC_CheckChild0Same, 1,
31817 OPC_CheckChild1Integer, 20,
31818 OPC_CheckTypeByHwMode0,
31819 OPC_MoveParent,
31820 OPC_CheckChild2Integer, 25,
31821 OPC_CheckType, MVT::v32i8,
31822 OPC_CheckPatternPredicate0,
31823 OPC_EmitIntegerByHwMode0, 20|128,1,
31824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31825 MVT::v32i8, 3, 24,
31826 26,
31827 OPC_CheckChild2Integer, 10,
31828 OPC_MoveSibling1,
31829 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31830 OPC_CheckChild0Same, 1,
31831 OPC_CheckChild1Integer, 20,
31832 OPC_CheckTypeByHwMode0,
31833 OPC_MoveParent,
31834 OPC_CheckChild2Integer, 26,
31835 OPC_CheckType, MVT::v32i8,
31836 OPC_CheckPatternPredicate0,
31837 OPC_EmitIntegerByHwMode0, 36|128,1,
31838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31839 MVT::v32i8, 3, 24,
31840 26,
31841 OPC_CheckChild2Integer, 11,
31842 OPC_MoveSibling1,
31843 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31844 OPC_CheckChild0Same, 1,
31845 OPC_CheckChild1Integer, 20,
31846 OPC_CheckTypeByHwMode0,
31847 OPC_MoveParent,
31848 OPC_CheckChild2Integer, 27,
31849 OPC_CheckType, MVT::v32i8,
31850 OPC_CheckPatternPredicate0,
31851 OPC_EmitIntegerByHwMode0, 52|128,1,
31852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31853 MVT::v32i8, 3, 24,
31854 26,
31855 OPC_CheckChild2Integer, 12,
31856 OPC_MoveSibling1,
31857 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31858 OPC_CheckChild0Same, 1,
31859 OPC_CheckChild1Integer, 20,
31860 OPC_CheckTypeByHwMode0,
31861 OPC_MoveParent,
31862 OPC_CheckChild2Integer, 28,
31863 OPC_CheckType, MVT::v32i8,
31864 OPC_CheckPatternPredicate0,
31865 OPC_EmitIntegerByHwMode0, 68|128,1,
31866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31867 MVT::v32i8, 3, 24,
31868 26,
31869 OPC_CheckChild2Integer, 13,
31870 OPC_MoveSibling1,
31871 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31872 OPC_CheckChild0Same, 1,
31873 OPC_CheckChild1Integer, 20,
31874 OPC_CheckTypeByHwMode0,
31875 OPC_MoveParent,
31876 OPC_CheckChild2Integer, 29,
31877 OPC_CheckType, MVT::v32i8,
31878 OPC_CheckPatternPredicate0,
31879 OPC_EmitIntegerByHwMode0, 84|128,1,
31880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31881 MVT::v32i8, 3, 24,
31882 26,
31883 OPC_CheckChild2Integer, 14,
31884 OPC_MoveSibling1,
31885 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31886 OPC_CheckChild0Same, 1,
31887 OPC_CheckChild1Integer, 20,
31888 OPC_CheckTypeByHwMode0,
31889 OPC_MoveParent,
31890 OPC_CheckChild2Integer, 30,
31891 OPC_CheckType, MVT::v32i8,
31892 OPC_CheckPatternPredicate0,
31893 OPC_EmitIntegerByHwMode0, 100|128,1,
31894 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31895 MVT::v32i8, 3, 24,
31896 26,
31897 OPC_CheckChild2Integer, 15,
31898 OPC_MoveSibling1,
31899 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31900 OPC_CheckChild0Same, 1,
31901 OPC_CheckChild1Integer, 20,
31902 OPC_CheckTypeByHwMode0,
31903 OPC_MoveParent,
31904 OPC_CheckChild2Integer, 31,
31905 OPC_CheckType, MVT::v32i8,
31906 OPC_CheckPatternPredicate0,
31907 OPC_EmitIntegerByHwMode0, 116|128,1,
31908 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31909 MVT::v32i8, 3, 24,
31910 0,
31911 50|128,3,
31912 OPC_CheckChild1Integer, 5,
31913 OPC_CheckTypeByHwMode0,
31914 OPC_MoveParent,
31915 OPC_Scope, 25,
31916 OPC_CheckChild2Integer, 0,
31917 OPC_MoveSibling1,
31918 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31919 OPC_CheckChild0Same, 1,
31920 OPC_CheckChild1Integer, 21,
31921 OPC_CheckTypeByHwMode0,
31922 OPC_MoveParent,
31923 OPC_CheckChild2Integer, 16,
31924 OPC_CheckType, MVT::v32i8,
31925 OPC_CheckPatternPredicate0,
31926 OPC_EmitIntegerByHwMode0, 5,
31927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31928 MVT::v32i8, 3, 24,
31929 25,
31930 OPC_CheckChild2Integer, 1,
31931 OPC_MoveSibling1,
31932 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31933 OPC_CheckChild0Same, 1,
31934 OPC_CheckChild1Integer, 21,
31935 OPC_CheckTypeByHwMode0,
31936 OPC_MoveParent,
31937 OPC_CheckChild2Integer, 17,
31938 OPC_CheckType, MVT::v32i8,
31939 OPC_CheckPatternPredicate0,
31940 OPC_EmitIntegerByHwMode0, 21,
31941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31942 MVT::v32i8, 3, 24,
31943 25,
31944 OPC_CheckChild2Integer, 2,
31945 OPC_MoveSibling1,
31946 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31947 OPC_CheckChild0Same, 1,
31948 OPC_CheckChild1Integer, 21,
31949 OPC_CheckTypeByHwMode0,
31950 OPC_MoveParent,
31951 OPC_CheckChild2Integer, 18,
31952 OPC_CheckType, MVT::v32i8,
31953 OPC_CheckPatternPredicate0,
31954 OPC_EmitIntegerByHwMode0, 37,
31955 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31956 MVT::v32i8, 3, 24,
31957 25,
31958 OPC_CheckChild2Integer, 3,
31959 OPC_MoveSibling1,
31960 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31961 OPC_CheckChild0Same, 1,
31962 OPC_CheckChild1Integer, 21,
31963 OPC_CheckTypeByHwMode0,
31964 OPC_MoveParent,
31965 OPC_CheckChild2Integer, 19,
31966 OPC_CheckType, MVT::v32i8,
31967 OPC_CheckPatternPredicate0,
31968 OPC_EmitIntegerByHwMode0, 53,
31969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31970 MVT::v32i8, 3, 24,
31971 26,
31972 OPC_CheckChild2Integer, 4,
31973 OPC_MoveSibling1,
31974 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31975 OPC_CheckChild0Same, 1,
31976 OPC_CheckChild1Integer, 21,
31977 OPC_CheckTypeByHwMode0,
31978 OPC_MoveParent,
31979 OPC_CheckChild2Integer, 20,
31980 OPC_CheckType, MVT::v32i8,
31981 OPC_CheckPatternPredicate0,
31982 OPC_EmitIntegerByHwMode0, 69|128,0,
31983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31984 MVT::v32i8, 3, 24,
31985 26,
31986 OPC_CheckChild2Integer, 5,
31987 OPC_MoveSibling1,
31988 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
31989 OPC_CheckChild0Same, 1,
31990 OPC_CheckChild1Integer, 21,
31991 OPC_CheckTypeByHwMode0,
31992 OPC_MoveParent,
31993 OPC_CheckChild2Integer, 21,
31994 OPC_CheckType, MVT::v32i8,
31995 OPC_CheckPatternPredicate0,
31996 OPC_EmitIntegerByHwMode0, 85|128,0,
31997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
31998 MVT::v32i8, 3, 24,
31999 26,
32000 OPC_CheckChild2Integer, 6,
32001 OPC_MoveSibling1,
32002 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32003 OPC_CheckChild0Same, 1,
32004 OPC_CheckChild1Integer, 21,
32005 OPC_CheckTypeByHwMode0,
32006 OPC_MoveParent,
32007 OPC_CheckChild2Integer, 22,
32008 OPC_CheckType, MVT::v32i8,
32009 OPC_CheckPatternPredicate0,
32010 OPC_EmitIntegerByHwMode0, 101|128,0,
32011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32012 MVT::v32i8, 3, 24,
32013 26,
32014 OPC_CheckChild2Integer, 7,
32015 OPC_MoveSibling1,
32016 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32017 OPC_CheckChild0Same, 1,
32018 OPC_CheckChild1Integer, 21,
32019 OPC_CheckTypeByHwMode0,
32020 OPC_MoveParent,
32021 OPC_CheckChild2Integer, 23,
32022 OPC_CheckType, MVT::v32i8,
32023 OPC_CheckPatternPredicate0,
32024 OPC_EmitIntegerByHwMode0, 117|128,0,
32025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32026 MVT::v32i8, 3, 24,
32027 26,
32028 OPC_CheckChild2Integer, 8,
32029 OPC_MoveSibling1,
32030 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32031 OPC_CheckChild0Same, 1,
32032 OPC_CheckChild1Integer, 21,
32033 OPC_CheckTypeByHwMode0,
32034 OPC_MoveParent,
32035 OPC_CheckChild2Integer, 24,
32036 OPC_CheckType, MVT::v32i8,
32037 OPC_CheckPatternPredicate0,
32038 OPC_EmitIntegerByHwMode0, 5|128,1,
32039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32040 MVT::v32i8, 3, 24,
32041 26,
32042 OPC_CheckChild2Integer, 9,
32043 OPC_MoveSibling1,
32044 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32045 OPC_CheckChild0Same, 1,
32046 OPC_CheckChild1Integer, 21,
32047 OPC_CheckTypeByHwMode0,
32048 OPC_MoveParent,
32049 OPC_CheckChild2Integer, 25,
32050 OPC_CheckType, MVT::v32i8,
32051 OPC_CheckPatternPredicate0,
32052 OPC_EmitIntegerByHwMode0, 21|128,1,
32053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32054 MVT::v32i8, 3, 24,
32055 26,
32056 OPC_CheckChild2Integer, 10,
32057 OPC_MoveSibling1,
32058 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32059 OPC_CheckChild0Same, 1,
32060 OPC_CheckChild1Integer, 21,
32061 OPC_CheckTypeByHwMode0,
32062 OPC_MoveParent,
32063 OPC_CheckChild2Integer, 26,
32064 OPC_CheckType, MVT::v32i8,
32065 OPC_CheckPatternPredicate0,
32066 OPC_EmitIntegerByHwMode0, 37|128,1,
32067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32068 MVT::v32i8, 3, 24,
32069 26,
32070 OPC_CheckChild2Integer, 11,
32071 OPC_MoveSibling1,
32072 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32073 OPC_CheckChild0Same, 1,
32074 OPC_CheckChild1Integer, 21,
32075 OPC_CheckTypeByHwMode0,
32076 OPC_MoveParent,
32077 OPC_CheckChild2Integer, 27,
32078 OPC_CheckType, MVT::v32i8,
32079 OPC_CheckPatternPredicate0,
32080 OPC_EmitIntegerByHwMode0, 53|128,1,
32081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32082 MVT::v32i8, 3, 24,
32083 26,
32084 OPC_CheckChild2Integer, 12,
32085 OPC_MoveSibling1,
32086 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32087 OPC_CheckChild0Same, 1,
32088 OPC_CheckChild1Integer, 21,
32089 OPC_CheckTypeByHwMode0,
32090 OPC_MoveParent,
32091 OPC_CheckChild2Integer, 28,
32092 OPC_CheckType, MVT::v32i8,
32093 OPC_CheckPatternPredicate0,
32094 OPC_EmitIntegerByHwMode0, 69|128,1,
32095 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32096 MVT::v32i8, 3, 24,
32097 26,
32098 OPC_CheckChild2Integer, 13,
32099 OPC_MoveSibling1,
32100 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32101 OPC_CheckChild0Same, 1,
32102 OPC_CheckChild1Integer, 21,
32103 OPC_CheckTypeByHwMode0,
32104 OPC_MoveParent,
32105 OPC_CheckChild2Integer, 29,
32106 OPC_CheckType, MVT::v32i8,
32107 OPC_CheckPatternPredicate0,
32108 OPC_EmitIntegerByHwMode0, 85|128,1,
32109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32110 MVT::v32i8, 3, 24,
32111 26,
32112 OPC_CheckChild2Integer, 14,
32113 OPC_MoveSibling1,
32114 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32115 OPC_CheckChild0Same, 1,
32116 OPC_CheckChild1Integer, 21,
32117 OPC_CheckTypeByHwMode0,
32118 OPC_MoveParent,
32119 OPC_CheckChild2Integer, 30,
32120 OPC_CheckType, MVT::v32i8,
32121 OPC_CheckPatternPredicate0,
32122 OPC_EmitIntegerByHwMode0, 101|128,1,
32123 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32124 MVT::v32i8, 3, 24,
32125 26,
32126 OPC_CheckChild2Integer, 15,
32127 OPC_MoveSibling1,
32128 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32129 OPC_CheckChild0Same, 1,
32130 OPC_CheckChild1Integer, 21,
32131 OPC_CheckTypeByHwMode0,
32132 OPC_MoveParent,
32133 OPC_CheckChild2Integer, 31,
32134 OPC_CheckType, MVT::v32i8,
32135 OPC_CheckPatternPredicate0,
32136 OPC_EmitIntegerByHwMode0, 117|128,1,
32137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32138 MVT::v32i8, 3, 24,
32139 0,
32140 50|128,3,
32141 OPC_CheckChild1Integer, 6,
32142 OPC_CheckTypeByHwMode0,
32143 OPC_MoveParent,
32144 OPC_Scope, 25,
32145 OPC_CheckChild2Integer, 0,
32146 OPC_MoveSibling1,
32147 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32148 OPC_CheckChild0Same, 1,
32149 OPC_CheckChild1Integer, 22,
32150 OPC_CheckTypeByHwMode0,
32151 OPC_MoveParent,
32152 OPC_CheckChild2Integer, 16,
32153 OPC_CheckType, MVT::v32i8,
32154 OPC_CheckPatternPredicate0,
32155 OPC_EmitIntegerByHwMode0, 6,
32156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32157 MVT::v32i8, 3, 24,
32158 25,
32159 OPC_CheckChild2Integer, 1,
32160 OPC_MoveSibling1,
32161 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32162 OPC_CheckChild0Same, 1,
32163 OPC_CheckChild1Integer, 22,
32164 OPC_CheckTypeByHwMode0,
32165 OPC_MoveParent,
32166 OPC_CheckChild2Integer, 17,
32167 OPC_CheckType, MVT::v32i8,
32168 OPC_CheckPatternPredicate0,
32169 OPC_EmitIntegerByHwMode0, 22,
32170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32171 MVT::v32i8, 3, 24,
32172 25,
32173 OPC_CheckChild2Integer, 2,
32174 OPC_MoveSibling1,
32175 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32176 OPC_CheckChild0Same, 1,
32177 OPC_CheckChild1Integer, 22,
32178 OPC_CheckTypeByHwMode0,
32179 OPC_MoveParent,
32180 OPC_CheckChild2Integer, 18,
32181 OPC_CheckType, MVT::v32i8,
32182 OPC_CheckPatternPredicate0,
32183 OPC_EmitIntegerByHwMode0, 38,
32184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32185 MVT::v32i8, 3, 24,
32186 25,
32187 OPC_CheckChild2Integer, 3,
32188 OPC_MoveSibling1,
32189 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32190 OPC_CheckChild0Same, 1,
32191 OPC_CheckChild1Integer, 22,
32192 OPC_CheckTypeByHwMode0,
32193 OPC_MoveParent,
32194 OPC_CheckChild2Integer, 19,
32195 OPC_CheckType, MVT::v32i8,
32196 OPC_CheckPatternPredicate0,
32197 OPC_EmitIntegerByHwMode0, 54,
32198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32199 MVT::v32i8, 3, 24,
32200 26,
32201 OPC_CheckChild2Integer, 4,
32202 OPC_MoveSibling1,
32203 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32204 OPC_CheckChild0Same, 1,
32205 OPC_CheckChild1Integer, 22,
32206 OPC_CheckTypeByHwMode0,
32207 OPC_MoveParent,
32208 OPC_CheckChild2Integer, 20,
32209 OPC_CheckType, MVT::v32i8,
32210 OPC_CheckPatternPredicate0,
32211 OPC_EmitIntegerByHwMode0, 70|128,0,
32212 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32213 MVT::v32i8, 3, 24,
32214 26,
32215 OPC_CheckChild2Integer, 5,
32216 OPC_MoveSibling1,
32217 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32218 OPC_CheckChild0Same, 1,
32219 OPC_CheckChild1Integer, 22,
32220 OPC_CheckTypeByHwMode0,
32221 OPC_MoveParent,
32222 OPC_CheckChild2Integer, 21,
32223 OPC_CheckType, MVT::v32i8,
32224 OPC_CheckPatternPredicate0,
32225 OPC_EmitIntegerByHwMode0, 86|128,0,
32226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32227 MVT::v32i8, 3, 24,
32228 26,
32229 OPC_CheckChild2Integer, 6,
32230 OPC_MoveSibling1,
32231 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32232 OPC_CheckChild0Same, 1,
32233 OPC_CheckChild1Integer, 22,
32234 OPC_CheckTypeByHwMode0,
32235 OPC_MoveParent,
32236 OPC_CheckChild2Integer, 22,
32237 OPC_CheckType, MVT::v32i8,
32238 OPC_CheckPatternPredicate0,
32239 OPC_EmitIntegerByHwMode0, 102|128,0,
32240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32241 MVT::v32i8, 3, 24,
32242 26,
32243 OPC_CheckChild2Integer, 7,
32244 OPC_MoveSibling1,
32245 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32246 OPC_CheckChild0Same, 1,
32247 OPC_CheckChild1Integer, 22,
32248 OPC_CheckTypeByHwMode0,
32249 OPC_MoveParent,
32250 OPC_CheckChild2Integer, 23,
32251 OPC_CheckType, MVT::v32i8,
32252 OPC_CheckPatternPredicate0,
32253 OPC_EmitIntegerByHwMode0, 118|128,0,
32254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32255 MVT::v32i8, 3, 24,
32256 26,
32257 OPC_CheckChild2Integer, 8,
32258 OPC_MoveSibling1,
32259 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32260 OPC_CheckChild0Same, 1,
32261 OPC_CheckChild1Integer, 22,
32262 OPC_CheckTypeByHwMode0,
32263 OPC_MoveParent,
32264 OPC_CheckChild2Integer, 24,
32265 OPC_CheckType, MVT::v32i8,
32266 OPC_CheckPatternPredicate0,
32267 OPC_EmitIntegerByHwMode0, 6|128,1,
32268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32269 MVT::v32i8, 3, 24,
32270 26,
32271 OPC_CheckChild2Integer, 9,
32272 OPC_MoveSibling1,
32273 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32274 OPC_CheckChild0Same, 1,
32275 OPC_CheckChild1Integer, 22,
32276 OPC_CheckTypeByHwMode0,
32277 OPC_MoveParent,
32278 OPC_CheckChild2Integer, 25,
32279 OPC_CheckType, MVT::v32i8,
32280 OPC_CheckPatternPredicate0,
32281 OPC_EmitIntegerByHwMode0, 22|128,1,
32282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32283 MVT::v32i8, 3, 24,
32284 26,
32285 OPC_CheckChild2Integer, 10,
32286 OPC_MoveSibling1,
32287 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32288 OPC_CheckChild0Same, 1,
32289 OPC_CheckChild1Integer, 22,
32290 OPC_CheckTypeByHwMode0,
32291 OPC_MoveParent,
32292 OPC_CheckChild2Integer, 26,
32293 OPC_CheckType, MVT::v32i8,
32294 OPC_CheckPatternPredicate0,
32295 OPC_EmitIntegerByHwMode0, 38|128,1,
32296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32297 MVT::v32i8, 3, 24,
32298 26,
32299 OPC_CheckChild2Integer, 11,
32300 OPC_MoveSibling1,
32301 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32302 OPC_CheckChild0Same, 1,
32303 OPC_CheckChild1Integer, 22,
32304 OPC_CheckTypeByHwMode0,
32305 OPC_MoveParent,
32306 OPC_CheckChild2Integer, 27,
32307 OPC_CheckType, MVT::v32i8,
32308 OPC_CheckPatternPredicate0,
32309 OPC_EmitIntegerByHwMode0, 54|128,1,
32310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32311 MVT::v32i8, 3, 24,
32312 26,
32313 OPC_CheckChild2Integer, 12,
32314 OPC_MoveSibling1,
32315 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32316 OPC_CheckChild0Same, 1,
32317 OPC_CheckChild1Integer, 22,
32318 OPC_CheckTypeByHwMode0,
32319 OPC_MoveParent,
32320 OPC_CheckChild2Integer, 28,
32321 OPC_CheckType, MVT::v32i8,
32322 OPC_CheckPatternPredicate0,
32323 OPC_EmitIntegerByHwMode0, 70|128,1,
32324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32325 MVT::v32i8, 3, 24,
32326 26,
32327 OPC_CheckChild2Integer, 13,
32328 OPC_MoveSibling1,
32329 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32330 OPC_CheckChild0Same, 1,
32331 OPC_CheckChild1Integer, 22,
32332 OPC_CheckTypeByHwMode0,
32333 OPC_MoveParent,
32334 OPC_CheckChild2Integer, 29,
32335 OPC_CheckType, MVT::v32i8,
32336 OPC_CheckPatternPredicate0,
32337 OPC_EmitIntegerByHwMode0, 86|128,1,
32338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32339 MVT::v32i8, 3, 24,
32340 26,
32341 OPC_CheckChild2Integer, 14,
32342 OPC_MoveSibling1,
32343 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32344 OPC_CheckChild0Same, 1,
32345 OPC_CheckChild1Integer, 22,
32346 OPC_CheckTypeByHwMode0,
32347 OPC_MoveParent,
32348 OPC_CheckChild2Integer, 30,
32349 OPC_CheckType, MVT::v32i8,
32350 OPC_CheckPatternPredicate0,
32351 OPC_EmitIntegerByHwMode0, 102|128,1,
32352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32353 MVT::v32i8, 3, 24,
32354 26,
32355 OPC_CheckChild2Integer, 15,
32356 OPC_MoveSibling1,
32357 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32358 OPC_CheckChild0Same, 1,
32359 OPC_CheckChild1Integer, 22,
32360 OPC_CheckTypeByHwMode0,
32361 OPC_MoveParent,
32362 OPC_CheckChild2Integer, 31,
32363 OPC_CheckType, MVT::v32i8,
32364 OPC_CheckPatternPredicate0,
32365 OPC_EmitIntegerByHwMode0, 118|128,1,
32366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32367 MVT::v32i8, 3, 24,
32368 0,
32369 50|128,3,
32370 OPC_CheckChild1Integer, 7,
32371 OPC_CheckTypeByHwMode0,
32372 OPC_MoveParent,
32373 OPC_Scope, 25,
32374 OPC_CheckChild2Integer, 0,
32375 OPC_MoveSibling1,
32376 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32377 OPC_CheckChild0Same, 1,
32378 OPC_CheckChild1Integer, 23,
32379 OPC_CheckTypeByHwMode0,
32380 OPC_MoveParent,
32381 OPC_CheckChild2Integer, 16,
32382 OPC_CheckType, MVT::v32i8,
32383 OPC_CheckPatternPredicate0,
32384 OPC_EmitIntegerByHwMode0, 7,
32385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32386 MVT::v32i8, 3, 24,
32387 25,
32388 OPC_CheckChild2Integer, 1,
32389 OPC_MoveSibling1,
32390 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32391 OPC_CheckChild0Same, 1,
32392 OPC_CheckChild1Integer, 23,
32393 OPC_CheckTypeByHwMode0,
32394 OPC_MoveParent,
32395 OPC_CheckChild2Integer, 17,
32396 OPC_CheckType, MVT::v32i8,
32397 OPC_CheckPatternPredicate0,
32398 OPC_EmitIntegerByHwMode0, 23,
32399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32400 MVT::v32i8, 3, 24,
32401 25,
32402 OPC_CheckChild2Integer, 2,
32403 OPC_MoveSibling1,
32404 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32405 OPC_CheckChild0Same, 1,
32406 OPC_CheckChild1Integer, 23,
32407 OPC_CheckTypeByHwMode0,
32408 OPC_MoveParent,
32409 OPC_CheckChild2Integer, 18,
32410 OPC_CheckType, MVT::v32i8,
32411 OPC_CheckPatternPredicate0,
32412 OPC_EmitIntegerByHwMode0, 39,
32413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32414 MVT::v32i8, 3, 24,
32415 25,
32416 OPC_CheckChild2Integer, 3,
32417 OPC_MoveSibling1,
32418 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32419 OPC_CheckChild0Same, 1,
32420 OPC_CheckChild1Integer, 23,
32421 OPC_CheckTypeByHwMode0,
32422 OPC_MoveParent,
32423 OPC_CheckChild2Integer, 19,
32424 OPC_CheckType, MVT::v32i8,
32425 OPC_CheckPatternPredicate0,
32426 OPC_EmitIntegerByHwMode0, 55,
32427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32428 MVT::v32i8, 3, 24,
32429 26,
32430 OPC_CheckChild2Integer, 4,
32431 OPC_MoveSibling1,
32432 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32433 OPC_CheckChild0Same, 1,
32434 OPC_CheckChild1Integer, 23,
32435 OPC_CheckTypeByHwMode0,
32436 OPC_MoveParent,
32437 OPC_CheckChild2Integer, 20,
32438 OPC_CheckType, MVT::v32i8,
32439 OPC_CheckPatternPredicate0,
32440 OPC_EmitIntegerByHwMode0, 71|128,0,
32441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32442 MVT::v32i8, 3, 24,
32443 26,
32444 OPC_CheckChild2Integer, 5,
32445 OPC_MoveSibling1,
32446 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32447 OPC_CheckChild0Same, 1,
32448 OPC_CheckChild1Integer, 23,
32449 OPC_CheckTypeByHwMode0,
32450 OPC_MoveParent,
32451 OPC_CheckChild2Integer, 21,
32452 OPC_CheckType, MVT::v32i8,
32453 OPC_CheckPatternPredicate0,
32454 OPC_EmitIntegerByHwMode0, 87|128,0,
32455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32456 MVT::v32i8, 3, 24,
32457 26,
32458 OPC_CheckChild2Integer, 6,
32459 OPC_MoveSibling1,
32460 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32461 OPC_CheckChild0Same, 1,
32462 OPC_CheckChild1Integer, 23,
32463 OPC_CheckTypeByHwMode0,
32464 OPC_MoveParent,
32465 OPC_CheckChild2Integer, 22,
32466 OPC_CheckType, MVT::v32i8,
32467 OPC_CheckPatternPredicate0,
32468 OPC_EmitIntegerByHwMode0, 103|128,0,
32469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32470 MVT::v32i8, 3, 24,
32471 26,
32472 OPC_CheckChild2Integer, 7,
32473 OPC_MoveSibling1,
32474 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32475 OPC_CheckChild0Same, 1,
32476 OPC_CheckChild1Integer, 23,
32477 OPC_CheckTypeByHwMode0,
32478 OPC_MoveParent,
32479 OPC_CheckChild2Integer, 23,
32480 OPC_CheckType, MVT::v32i8,
32481 OPC_CheckPatternPredicate0,
32482 OPC_EmitIntegerByHwMode0, 119|128,0,
32483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32484 MVT::v32i8, 3, 24,
32485 26,
32486 OPC_CheckChild2Integer, 8,
32487 OPC_MoveSibling1,
32488 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32489 OPC_CheckChild0Same, 1,
32490 OPC_CheckChild1Integer, 23,
32491 OPC_CheckTypeByHwMode0,
32492 OPC_MoveParent,
32493 OPC_CheckChild2Integer, 24,
32494 OPC_CheckType, MVT::v32i8,
32495 OPC_CheckPatternPredicate0,
32496 OPC_EmitIntegerByHwMode0, 7|128,1,
32497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32498 MVT::v32i8, 3, 24,
32499 26,
32500 OPC_CheckChild2Integer, 9,
32501 OPC_MoveSibling1,
32502 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32503 OPC_CheckChild0Same, 1,
32504 OPC_CheckChild1Integer, 23,
32505 OPC_CheckTypeByHwMode0,
32506 OPC_MoveParent,
32507 OPC_CheckChild2Integer, 25,
32508 OPC_CheckType, MVT::v32i8,
32509 OPC_CheckPatternPredicate0,
32510 OPC_EmitIntegerByHwMode0, 23|128,1,
32511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32512 MVT::v32i8, 3, 24,
32513 26,
32514 OPC_CheckChild2Integer, 10,
32515 OPC_MoveSibling1,
32516 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32517 OPC_CheckChild0Same, 1,
32518 OPC_CheckChild1Integer, 23,
32519 OPC_CheckTypeByHwMode0,
32520 OPC_MoveParent,
32521 OPC_CheckChild2Integer, 26,
32522 OPC_CheckType, MVT::v32i8,
32523 OPC_CheckPatternPredicate0,
32524 OPC_EmitIntegerByHwMode0, 39|128,1,
32525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32526 MVT::v32i8, 3, 24,
32527 26,
32528 OPC_CheckChild2Integer, 11,
32529 OPC_MoveSibling1,
32530 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32531 OPC_CheckChild0Same, 1,
32532 OPC_CheckChild1Integer, 23,
32533 OPC_CheckTypeByHwMode0,
32534 OPC_MoveParent,
32535 OPC_CheckChild2Integer, 27,
32536 OPC_CheckType, MVT::v32i8,
32537 OPC_CheckPatternPredicate0,
32538 OPC_EmitIntegerByHwMode0, 55|128,1,
32539 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32540 MVT::v32i8, 3, 24,
32541 26,
32542 OPC_CheckChild2Integer, 12,
32543 OPC_MoveSibling1,
32544 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32545 OPC_CheckChild0Same, 1,
32546 OPC_CheckChild1Integer, 23,
32547 OPC_CheckTypeByHwMode0,
32548 OPC_MoveParent,
32549 OPC_CheckChild2Integer, 28,
32550 OPC_CheckType, MVT::v32i8,
32551 OPC_CheckPatternPredicate0,
32552 OPC_EmitIntegerByHwMode0, 71|128,1,
32553 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32554 MVT::v32i8, 3, 24,
32555 26,
32556 OPC_CheckChild2Integer, 13,
32557 OPC_MoveSibling1,
32558 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32559 OPC_CheckChild0Same, 1,
32560 OPC_CheckChild1Integer, 23,
32561 OPC_CheckTypeByHwMode0,
32562 OPC_MoveParent,
32563 OPC_CheckChild2Integer, 29,
32564 OPC_CheckType, MVT::v32i8,
32565 OPC_CheckPatternPredicate0,
32566 OPC_EmitIntegerByHwMode0, 87|128,1,
32567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32568 MVT::v32i8, 3, 24,
32569 26,
32570 OPC_CheckChild2Integer, 14,
32571 OPC_MoveSibling1,
32572 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32573 OPC_CheckChild0Same, 1,
32574 OPC_CheckChild1Integer, 23,
32575 OPC_CheckTypeByHwMode0,
32576 OPC_MoveParent,
32577 OPC_CheckChild2Integer, 30,
32578 OPC_CheckType, MVT::v32i8,
32579 OPC_CheckPatternPredicate0,
32580 OPC_EmitIntegerByHwMode0, 103|128,1,
32581 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32582 MVT::v32i8, 3, 24,
32583 26,
32584 OPC_CheckChild2Integer, 15,
32585 OPC_MoveSibling1,
32586 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32587 OPC_CheckChild0Same, 1,
32588 OPC_CheckChild1Integer, 23,
32589 OPC_CheckTypeByHwMode0,
32590 OPC_MoveParent,
32591 OPC_CheckChild2Integer, 31,
32592 OPC_CheckType, MVT::v32i8,
32593 OPC_CheckPatternPredicate0,
32594 OPC_EmitIntegerByHwMode0, 119|128,1,
32595 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32596 MVT::v32i8, 3, 24,
32597 0,
32598 50|128,3,
32599 OPC_CheckChild1Integer, 8,
32600 OPC_CheckTypeByHwMode0,
32601 OPC_MoveParent,
32602 OPC_Scope, 25,
32603 OPC_CheckChild2Integer, 0,
32604 OPC_MoveSibling1,
32605 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32606 OPC_CheckChild0Same, 1,
32607 OPC_CheckChild1Integer, 24,
32608 OPC_CheckTypeByHwMode0,
32609 OPC_MoveParent,
32610 OPC_CheckChild2Integer, 16,
32611 OPC_CheckType, MVT::v32i8,
32612 OPC_CheckPatternPredicate0,
32613 OPC_EmitIntegerByHwMode0, 8,
32614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32615 MVT::v32i8, 3, 24,
32616 25,
32617 OPC_CheckChild2Integer, 1,
32618 OPC_MoveSibling1,
32619 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32620 OPC_CheckChild0Same, 1,
32621 OPC_CheckChild1Integer, 24,
32622 OPC_CheckTypeByHwMode0,
32623 OPC_MoveParent,
32624 OPC_CheckChild2Integer, 17,
32625 OPC_CheckType, MVT::v32i8,
32626 OPC_CheckPatternPredicate0,
32627 OPC_EmitIntegerByHwMode0, 24,
32628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32629 MVT::v32i8, 3, 24,
32630 25,
32631 OPC_CheckChild2Integer, 2,
32632 OPC_MoveSibling1,
32633 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32634 OPC_CheckChild0Same, 1,
32635 OPC_CheckChild1Integer, 24,
32636 OPC_CheckTypeByHwMode0,
32637 OPC_MoveParent,
32638 OPC_CheckChild2Integer, 18,
32639 OPC_CheckType, MVT::v32i8,
32640 OPC_CheckPatternPredicate0,
32641 OPC_EmitIntegerByHwMode0, 40,
32642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32643 MVT::v32i8, 3, 24,
32644 25,
32645 OPC_CheckChild2Integer, 3,
32646 OPC_MoveSibling1,
32647 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32648 OPC_CheckChild0Same, 1,
32649 OPC_CheckChild1Integer, 24,
32650 OPC_CheckTypeByHwMode0,
32651 OPC_MoveParent,
32652 OPC_CheckChild2Integer, 19,
32653 OPC_CheckType, MVT::v32i8,
32654 OPC_CheckPatternPredicate0,
32655 OPC_EmitIntegerByHwMode0, 56,
32656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32657 MVT::v32i8, 3, 24,
32658 26,
32659 OPC_CheckChild2Integer, 4,
32660 OPC_MoveSibling1,
32661 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32662 OPC_CheckChild0Same, 1,
32663 OPC_CheckChild1Integer, 24,
32664 OPC_CheckTypeByHwMode0,
32665 OPC_MoveParent,
32666 OPC_CheckChild2Integer, 20,
32667 OPC_CheckType, MVT::v32i8,
32668 OPC_CheckPatternPredicate0,
32669 OPC_EmitIntegerByHwMode0, 72|128,0,
32670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32671 MVT::v32i8, 3, 24,
32672 26,
32673 OPC_CheckChild2Integer, 5,
32674 OPC_MoveSibling1,
32675 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32676 OPC_CheckChild0Same, 1,
32677 OPC_CheckChild1Integer, 24,
32678 OPC_CheckTypeByHwMode0,
32679 OPC_MoveParent,
32680 OPC_CheckChild2Integer, 21,
32681 OPC_CheckType, MVT::v32i8,
32682 OPC_CheckPatternPredicate0,
32683 OPC_EmitIntegerByHwMode0, 88|128,0,
32684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32685 MVT::v32i8, 3, 24,
32686 26,
32687 OPC_CheckChild2Integer, 6,
32688 OPC_MoveSibling1,
32689 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32690 OPC_CheckChild0Same, 1,
32691 OPC_CheckChild1Integer, 24,
32692 OPC_CheckTypeByHwMode0,
32693 OPC_MoveParent,
32694 OPC_CheckChild2Integer, 22,
32695 OPC_CheckType, MVT::v32i8,
32696 OPC_CheckPatternPredicate0,
32697 OPC_EmitIntegerByHwMode0, 104|128,0,
32698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32699 MVT::v32i8, 3, 24,
32700 26,
32701 OPC_CheckChild2Integer, 7,
32702 OPC_MoveSibling1,
32703 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32704 OPC_CheckChild0Same, 1,
32705 OPC_CheckChild1Integer, 24,
32706 OPC_CheckTypeByHwMode0,
32707 OPC_MoveParent,
32708 OPC_CheckChild2Integer, 23,
32709 OPC_CheckType, MVT::v32i8,
32710 OPC_CheckPatternPredicate0,
32711 OPC_EmitIntegerByHwMode0, 120|128,0,
32712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32713 MVT::v32i8, 3, 24,
32714 26,
32715 OPC_CheckChild2Integer, 8,
32716 OPC_MoveSibling1,
32717 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32718 OPC_CheckChild0Same, 1,
32719 OPC_CheckChild1Integer, 24,
32720 OPC_CheckTypeByHwMode0,
32721 OPC_MoveParent,
32722 OPC_CheckChild2Integer, 24,
32723 OPC_CheckType, MVT::v32i8,
32724 OPC_CheckPatternPredicate0,
32725 OPC_EmitIntegerByHwMode0, 8|128,1,
32726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32727 MVT::v32i8, 3, 24,
32728 26,
32729 OPC_CheckChild2Integer, 9,
32730 OPC_MoveSibling1,
32731 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32732 OPC_CheckChild0Same, 1,
32733 OPC_CheckChild1Integer, 24,
32734 OPC_CheckTypeByHwMode0,
32735 OPC_MoveParent,
32736 OPC_CheckChild2Integer, 25,
32737 OPC_CheckType, MVT::v32i8,
32738 OPC_CheckPatternPredicate0,
32739 OPC_EmitIntegerByHwMode0, 24|128,1,
32740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32741 MVT::v32i8, 3, 24,
32742 26,
32743 OPC_CheckChild2Integer, 10,
32744 OPC_MoveSibling1,
32745 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32746 OPC_CheckChild0Same, 1,
32747 OPC_CheckChild1Integer, 24,
32748 OPC_CheckTypeByHwMode0,
32749 OPC_MoveParent,
32750 OPC_CheckChild2Integer, 26,
32751 OPC_CheckType, MVT::v32i8,
32752 OPC_CheckPatternPredicate0,
32753 OPC_EmitIntegerByHwMode0, 40|128,1,
32754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32755 MVT::v32i8, 3, 24,
32756 26,
32757 OPC_CheckChild2Integer, 11,
32758 OPC_MoveSibling1,
32759 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32760 OPC_CheckChild0Same, 1,
32761 OPC_CheckChild1Integer, 24,
32762 OPC_CheckTypeByHwMode0,
32763 OPC_MoveParent,
32764 OPC_CheckChild2Integer, 27,
32765 OPC_CheckType, MVT::v32i8,
32766 OPC_CheckPatternPredicate0,
32767 OPC_EmitIntegerByHwMode0, 56|128,1,
32768 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32769 MVT::v32i8, 3, 24,
32770 26,
32771 OPC_CheckChild2Integer, 12,
32772 OPC_MoveSibling1,
32773 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32774 OPC_CheckChild0Same, 1,
32775 OPC_CheckChild1Integer, 24,
32776 OPC_CheckTypeByHwMode0,
32777 OPC_MoveParent,
32778 OPC_CheckChild2Integer, 28,
32779 OPC_CheckType, MVT::v32i8,
32780 OPC_CheckPatternPredicate0,
32781 OPC_EmitIntegerByHwMode0, 72|128,1,
32782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32783 MVT::v32i8, 3, 24,
32784 26,
32785 OPC_CheckChild2Integer, 13,
32786 OPC_MoveSibling1,
32787 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32788 OPC_CheckChild0Same, 1,
32789 OPC_CheckChild1Integer, 24,
32790 OPC_CheckTypeByHwMode0,
32791 OPC_MoveParent,
32792 OPC_CheckChild2Integer, 29,
32793 OPC_CheckType, MVT::v32i8,
32794 OPC_CheckPatternPredicate0,
32795 OPC_EmitIntegerByHwMode0, 88|128,1,
32796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32797 MVT::v32i8, 3, 24,
32798 26,
32799 OPC_CheckChild2Integer, 14,
32800 OPC_MoveSibling1,
32801 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32802 OPC_CheckChild0Same, 1,
32803 OPC_CheckChild1Integer, 24,
32804 OPC_CheckTypeByHwMode0,
32805 OPC_MoveParent,
32806 OPC_CheckChild2Integer, 30,
32807 OPC_CheckType, MVT::v32i8,
32808 OPC_CheckPatternPredicate0,
32809 OPC_EmitIntegerByHwMode0, 104|128,1,
32810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32811 MVT::v32i8, 3, 24,
32812 26,
32813 OPC_CheckChild2Integer, 15,
32814 OPC_MoveSibling1,
32815 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32816 OPC_CheckChild0Same, 1,
32817 OPC_CheckChild1Integer, 24,
32818 OPC_CheckTypeByHwMode0,
32819 OPC_MoveParent,
32820 OPC_CheckChild2Integer, 31,
32821 OPC_CheckType, MVT::v32i8,
32822 OPC_CheckPatternPredicate0,
32823 OPC_EmitIntegerByHwMode0, 120|128,1,
32824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32825 MVT::v32i8, 3, 24,
32826 0,
32827 50|128,3,
32828 OPC_CheckChild1Integer, 9,
32829 OPC_CheckTypeByHwMode0,
32830 OPC_MoveParent,
32831 OPC_Scope, 25,
32832 OPC_CheckChild2Integer, 0,
32833 OPC_MoveSibling1,
32834 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32835 OPC_CheckChild0Same, 1,
32836 OPC_CheckChild1Integer, 25,
32837 OPC_CheckTypeByHwMode0,
32838 OPC_MoveParent,
32839 OPC_CheckChild2Integer, 16,
32840 OPC_CheckType, MVT::v32i8,
32841 OPC_CheckPatternPredicate0,
32842 OPC_EmitIntegerByHwMode0, 9,
32843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32844 MVT::v32i8, 3, 24,
32845 25,
32846 OPC_CheckChild2Integer, 1,
32847 OPC_MoveSibling1,
32848 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32849 OPC_CheckChild0Same, 1,
32850 OPC_CheckChild1Integer, 25,
32851 OPC_CheckTypeByHwMode0,
32852 OPC_MoveParent,
32853 OPC_CheckChild2Integer, 17,
32854 OPC_CheckType, MVT::v32i8,
32855 OPC_CheckPatternPredicate0,
32856 OPC_EmitIntegerByHwMode0, 25,
32857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32858 MVT::v32i8, 3, 24,
32859 25,
32860 OPC_CheckChild2Integer, 2,
32861 OPC_MoveSibling1,
32862 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32863 OPC_CheckChild0Same, 1,
32864 OPC_CheckChild1Integer, 25,
32865 OPC_CheckTypeByHwMode0,
32866 OPC_MoveParent,
32867 OPC_CheckChild2Integer, 18,
32868 OPC_CheckType, MVT::v32i8,
32869 OPC_CheckPatternPredicate0,
32870 OPC_EmitIntegerByHwMode0, 41,
32871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32872 MVT::v32i8, 3, 24,
32873 25,
32874 OPC_CheckChild2Integer, 3,
32875 OPC_MoveSibling1,
32876 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32877 OPC_CheckChild0Same, 1,
32878 OPC_CheckChild1Integer, 25,
32879 OPC_CheckTypeByHwMode0,
32880 OPC_MoveParent,
32881 OPC_CheckChild2Integer, 19,
32882 OPC_CheckType, MVT::v32i8,
32883 OPC_CheckPatternPredicate0,
32884 OPC_EmitIntegerByHwMode0, 57,
32885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32886 MVT::v32i8, 3, 24,
32887 26,
32888 OPC_CheckChild2Integer, 4,
32889 OPC_MoveSibling1,
32890 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32891 OPC_CheckChild0Same, 1,
32892 OPC_CheckChild1Integer, 25,
32893 OPC_CheckTypeByHwMode0,
32894 OPC_MoveParent,
32895 OPC_CheckChild2Integer, 20,
32896 OPC_CheckType, MVT::v32i8,
32897 OPC_CheckPatternPredicate0,
32898 OPC_EmitIntegerByHwMode0, 73|128,0,
32899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32900 MVT::v32i8, 3, 24,
32901 26,
32902 OPC_CheckChild2Integer, 5,
32903 OPC_MoveSibling1,
32904 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32905 OPC_CheckChild0Same, 1,
32906 OPC_CheckChild1Integer, 25,
32907 OPC_CheckTypeByHwMode0,
32908 OPC_MoveParent,
32909 OPC_CheckChild2Integer, 21,
32910 OPC_CheckType, MVT::v32i8,
32911 OPC_CheckPatternPredicate0,
32912 OPC_EmitIntegerByHwMode0, 89|128,0,
32913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32914 MVT::v32i8, 3, 24,
32915 26,
32916 OPC_CheckChild2Integer, 6,
32917 OPC_MoveSibling1,
32918 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32919 OPC_CheckChild0Same, 1,
32920 OPC_CheckChild1Integer, 25,
32921 OPC_CheckTypeByHwMode0,
32922 OPC_MoveParent,
32923 OPC_CheckChild2Integer, 22,
32924 OPC_CheckType, MVT::v32i8,
32925 OPC_CheckPatternPredicate0,
32926 OPC_EmitIntegerByHwMode0, 105|128,0,
32927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32928 MVT::v32i8, 3, 24,
32929 26,
32930 OPC_CheckChild2Integer, 7,
32931 OPC_MoveSibling1,
32932 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32933 OPC_CheckChild0Same, 1,
32934 OPC_CheckChild1Integer, 25,
32935 OPC_CheckTypeByHwMode0,
32936 OPC_MoveParent,
32937 OPC_CheckChild2Integer, 23,
32938 OPC_CheckType, MVT::v32i8,
32939 OPC_CheckPatternPredicate0,
32940 OPC_EmitIntegerByHwMode0, 121|128,0,
32941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32942 MVT::v32i8, 3, 24,
32943 26,
32944 OPC_CheckChild2Integer, 8,
32945 OPC_MoveSibling1,
32946 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32947 OPC_CheckChild0Same, 1,
32948 OPC_CheckChild1Integer, 25,
32949 OPC_CheckTypeByHwMode0,
32950 OPC_MoveParent,
32951 OPC_CheckChild2Integer, 24,
32952 OPC_CheckType, MVT::v32i8,
32953 OPC_CheckPatternPredicate0,
32954 OPC_EmitIntegerByHwMode0, 9|128,1,
32955 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32956 MVT::v32i8, 3, 24,
32957 26,
32958 OPC_CheckChild2Integer, 9,
32959 OPC_MoveSibling1,
32960 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32961 OPC_CheckChild0Same, 1,
32962 OPC_CheckChild1Integer, 25,
32963 OPC_CheckTypeByHwMode0,
32964 OPC_MoveParent,
32965 OPC_CheckChild2Integer, 25,
32966 OPC_CheckType, MVT::v32i8,
32967 OPC_CheckPatternPredicate0,
32968 OPC_EmitIntegerByHwMode0, 25|128,1,
32969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32970 MVT::v32i8, 3, 24,
32971 26,
32972 OPC_CheckChild2Integer, 10,
32973 OPC_MoveSibling1,
32974 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32975 OPC_CheckChild0Same, 1,
32976 OPC_CheckChild1Integer, 25,
32977 OPC_CheckTypeByHwMode0,
32978 OPC_MoveParent,
32979 OPC_CheckChild2Integer, 26,
32980 OPC_CheckType, MVT::v32i8,
32981 OPC_CheckPatternPredicate0,
32982 OPC_EmitIntegerByHwMode0, 41|128,1,
32983 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32984 MVT::v32i8, 3, 24,
32985 26,
32986 OPC_CheckChild2Integer, 11,
32987 OPC_MoveSibling1,
32988 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
32989 OPC_CheckChild0Same, 1,
32990 OPC_CheckChild1Integer, 25,
32991 OPC_CheckTypeByHwMode0,
32992 OPC_MoveParent,
32993 OPC_CheckChild2Integer, 27,
32994 OPC_CheckType, MVT::v32i8,
32995 OPC_CheckPatternPredicate0,
32996 OPC_EmitIntegerByHwMode0, 57|128,1,
32997 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
32998 MVT::v32i8, 3, 24,
32999 26,
33000 OPC_CheckChild2Integer, 12,
33001 OPC_MoveSibling1,
33002 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33003 OPC_CheckChild0Same, 1,
33004 OPC_CheckChild1Integer, 25,
33005 OPC_CheckTypeByHwMode0,
33006 OPC_MoveParent,
33007 OPC_CheckChild2Integer, 28,
33008 OPC_CheckType, MVT::v32i8,
33009 OPC_CheckPatternPredicate0,
33010 OPC_EmitIntegerByHwMode0, 73|128,1,
33011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33012 MVT::v32i8, 3, 24,
33013 26,
33014 OPC_CheckChild2Integer, 13,
33015 OPC_MoveSibling1,
33016 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33017 OPC_CheckChild0Same, 1,
33018 OPC_CheckChild1Integer, 25,
33019 OPC_CheckTypeByHwMode0,
33020 OPC_MoveParent,
33021 OPC_CheckChild2Integer, 29,
33022 OPC_CheckType, MVT::v32i8,
33023 OPC_CheckPatternPredicate0,
33024 OPC_EmitIntegerByHwMode0, 89|128,1,
33025 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33026 MVT::v32i8, 3, 24,
33027 26,
33028 OPC_CheckChild2Integer, 14,
33029 OPC_MoveSibling1,
33030 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33031 OPC_CheckChild0Same, 1,
33032 OPC_CheckChild1Integer, 25,
33033 OPC_CheckTypeByHwMode0,
33034 OPC_MoveParent,
33035 OPC_CheckChild2Integer, 30,
33036 OPC_CheckType, MVT::v32i8,
33037 OPC_CheckPatternPredicate0,
33038 OPC_EmitIntegerByHwMode0, 105|128,1,
33039 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33040 MVT::v32i8, 3, 24,
33041 26,
33042 OPC_CheckChild2Integer, 15,
33043 OPC_MoveSibling1,
33044 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33045 OPC_CheckChild0Same, 1,
33046 OPC_CheckChild1Integer, 25,
33047 OPC_CheckTypeByHwMode0,
33048 OPC_MoveParent,
33049 OPC_CheckChild2Integer, 31,
33050 OPC_CheckType, MVT::v32i8,
33051 OPC_CheckPatternPredicate0,
33052 OPC_EmitIntegerByHwMode0, 121|128,1,
33053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33054 MVT::v32i8, 3, 24,
33055 0,
33056 50|128,3,
33057 OPC_CheckChild1Integer, 10,
33058 OPC_CheckTypeByHwMode0,
33059 OPC_MoveParent,
33060 OPC_Scope, 25,
33061 OPC_CheckChild2Integer, 0,
33062 OPC_MoveSibling1,
33063 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33064 OPC_CheckChild0Same, 1,
33065 OPC_CheckChild1Integer, 26,
33066 OPC_CheckTypeByHwMode0,
33067 OPC_MoveParent,
33068 OPC_CheckChild2Integer, 16,
33069 OPC_CheckType, MVT::v32i8,
33070 OPC_CheckPatternPredicate0,
33071 OPC_EmitIntegerByHwMode0, 10,
33072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33073 MVT::v32i8, 3, 24,
33074 25,
33075 OPC_CheckChild2Integer, 1,
33076 OPC_MoveSibling1,
33077 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33078 OPC_CheckChild0Same, 1,
33079 OPC_CheckChild1Integer, 26,
33080 OPC_CheckTypeByHwMode0,
33081 OPC_MoveParent,
33082 OPC_CheckChild2Integer, 17,
33083 OPC_CheckType, MVT::v32i8,
33084 OPC_CheckPatternPredicate0,
33085 OPC_EmitIntegerByHwMode0, 26,
33086 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33087 MVT::v32i8, 3, 24,
33088 25,
33089 OPC_CheckChild2Integer, 2,
33090 OPC_MoveSibling1,
33091 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33092 OPC_CheckChild0Same, 1,
33093 OPC_CheckChild1Integer, 26,
33094 OPC_CheckTypeByHwMode0,
33095 OPC_MoveParent,
33096 OPC_CheckChild2Integer, 18,
33097 OPC_CheckType, MVT::v32i8,
33098 OPC_CheckPatternPredicate0,
33099 OPC_EmitIntegerByHwMode0, 42,
33100 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33101 MVT::v32i8, 3, 24,
33102 25,
33103 OPC_CheckChild2Integer, 3,
33104 OPC_MoveSibling1,
33105 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33106 OPC_CheckChild0Same, 1,
33107 OPC_CheckChild1Integer, 26,
33108 OPC_CheckTypeByHwMode0,
33109 OPC_MoveParent,
33110 OPC_CheckChild2Integer, 19,
33111 OPC_CheckType, MVT::v32i8,
33112 OPC_CheckPatternPredicate0,
33113 OPC_EmitIntegerByHwMode0, 58,
33114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33115 MVT::v32i8, 3, 24,
33116 26,
33117 OPC_CheckChild2Integer, 4,
33118 OPC_MoveSibling1,
33119 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33120 OPC_CheckChild0Same, 1,
33121 OPC_CheckChild1Integer, 26,
33122 OPC_CheckTypeByHwMode0,
33123 OPC_MoveParent,
33124 OPC_CheckChild2Integer, 20,
33125 OPC_CheckType, MVT::v32i8,
33126 OPC_CheckPatternPredicate0,
33127 OPC_EmitIntegerByHwMode0, 74|128,0,
33128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33129 MVT::v32i8, 3, 24,
33130 26,
33131 OPC_CheckChild2Integer, 5,
33132 OPC_MoveSibling1,
33133 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33134 OPC_CheckChild0Same, 1,
33135 OPC_CheckChild1Integer, 26,
33136 OPC_CheckTypeByHwMode0,
33137 OPC_MoveParent,
33138 OPC_CheckChild2Integer, 21,
33139 OPC_CheckType, MVT::v32i8,
33140 OPC_CheckPatternPredicate0,
33141 OPC_EmitIntegerByHwMode0, 90|128,0,
33142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33143 MVT::v32i8, 3, 24,
33144 26,
33145 OPC_CheckChild2Integer, 6,
33146 OPC_MoveSibling1,
33147 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33148 OPC_CheckChild0Same, 1,
33149 OPC_CheckChild1Integer, 26,
33150 OPC_CheckTypeByHwMode0,
33151 OPC_MoveParent,
33152 OPC_CheckChild2Integer, 22,
33153 OPC_CheckType, MVT::v32i8,
33154 OPC_CheckPatternPredicate0,
33155 OPC_EmitIntegerByHwMode0, 106|128,0,
33156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33157 MVT::v32i8, 3, 24,
33158 26,
33159 OPC_CheckChild2Integer, 7,
33160 OPC_MoveSibling1,
33161 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33162 OPC_CheckChild0Same, 1,
33163 OPC_CheckChild1Integer, 26,
33164 OPC_CheckTypeByHwMode0,
33165 OPC_MoveParent,
33166 OPC_CheckChild2Integer, 23,
33167 OPC_CheckType, MVT::v32i8,
33168 OPC_CheckPatternPredicate0,
33169 OPC_EmitIntegerByHwMode0, 122|128,0,
33170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33171 MVT::v32i8, 3, 24,
33172 26,
33173 OPC_CheckChild2Integer, 8,
33174 OPC_MoveSibling1,
33175 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33176 OPC_CheckChild0Same, 1,
33177 OPC_CheckChild1Integer, 26,
33178 OPC_CheckTypeByHwMode0,
33179 OPC_MoveParent,
33180 OPC_CheckChild2Integer, 24,
33181 OPC_CheckType, MVT::v32i8,
33182 OPC_CheckPatternPredicate0,
33183 OPC_EmitIntegerByHwMode0, 10|128,1,
33184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33185 MVT::v32i8, 3, 24,
33186 26,
33187 OPC_CheckChild2Integer, 9,
33188 OPC_MoveSibling1,
33189 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33190 OPC_CheckChild0Same, 1,
33191 OPC_CheckChild1Integer, 26,
33192 OPC_CheckTypeByHwMode0,
33193 OPC_MoveParent,
33194 OPC_CheckChild2Integer, 25,
33195 OPC_CheckType, MVT::v32i8,
33196 OPC_CheckPatternPredicate0,
33197 OPC_EmitIntegerByHwMode0, 26|128,1,
33198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33199 MVT::v32i8, 3, 24,
33200 26,
33201 OPC_CheckChild2Integer, 10,
33202 OPC_MoveSibling1,
33203 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33204 OPC_CheckChild0Same, 1,
33205 OPC_CheckChild1Integer, 26,
33206 OPC_CheckTypeByHwMode0,
33207 OPC_MoveParent,
33208 OPC_CheckChild2Integer, 26,
33209 OPC_CheckType, MVT::v32i8,
33210 OPC_CheckPatternPredicate0,
33211 OPC_EmitIntegerByHwMode0, 42|128,1,
33212 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33213 MVT::v32i8, 3, 24,
33214 26,
33215 OPC_CheckChild2Integer, 11,
33216 OPC_MoveSibling1,
33217 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33218 OPC_CheckChild0Same, 1,
33219 OPC_CheckChild1Integer, 26,
33220 OPC_CheckTypeByHwMode0,
33221 OPC_MoveParent,
33222 OPC_CheckChild2Integer, 27,
33223 OPC_CheckType, MVT::v32i8,
33224 OPC_CheckPatternPredicate0,
33225 OPC_EmitIntegerByHwMode0, 58|128,1,
33226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33227 MVT::v32i8, 3, 24,
33228 26,
33229 OPC_CheckChild2Integer, 12,
33230 OPC_MoveSibling1,
33231 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33232 OPC_CheckChild0Same, 1,
33233 OPC_CheckChild1Integer, 26,
33234 OPC_CheckTypeByHwMode0,
33235 OPC_MoveParent,
33236 OPC_CheckChild2Integer, 28,
33237 OPC_CheckType, MVT::v32i8,
33238 OPC_CheckPatternPredicate0,
33239 OPC_EmitIntegerByHwMode0, 74|128,1,
33240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33241 MVT::v32i8, 3, 24,
33242 26,
33243 OPC_CheckChild2Integer, 13,
33244 OPC_MoveSibling1,
33245 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33246 OPC_CheckChild0Same, 1,
33247 OPC_CheckChild1Integer, 26,
33248 OPC_CheckTypeByHwMode0,
33249 OPC_MoveParent,
33250 OPC_CheckChild2Integer, 29,
33251 OPC_CheckType, MVT::v32i8,
33252 OPC_CheckPatternPredicate0,
33253 OPC_EmitIntegerByHwMode0, 90|128,1,
33254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33255 MVT::v32i8, 3, 24,
33256 26,
33257 OPC_CheckChild2Integer, 14,
33258 OPC_MoveSibling1,
33259 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33260 OPC_CheckChild0Same, 1,
33261 OPC_CheckChild1Integer, 26,
33262 OPC_CheckTypeByHwMode0,
33263 OPC_MoveParent,
33264 OPC_CheckChild2Integer, 30,
33265 OPC_CheckType, MVT::v32i8,
33266 OPC_CheckPatternPredicate0,
33267 OPC_EmitIntegerByHwMode0, 106|128,1,
33268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33269 MVT::v32i8, 3, 24,
33270 26,
33271 OPC_CheckChild2Integer, 15,
33272 OPC_MoveSibling1,
33273 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33274 OPC_CheckChild0Same, 1,
33275 OPC_CheckChild1Integer, 26,
33276 OPC_CheckTypeByHwMode0,
33277 OPC_MoveParent,
33278 OPC_CheckChild2Integer, 31,
33279 OPC_CheckType, MVT::v32i8,
33280 OPC_CheckPatternPredicate0,
33281 OPC_EmitIntegerByHwMode0, 122|128,1,
33282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33283 MVT::v32i8, 3, 24,
33284 0,
33285 50|128,3,
33286 OPC_CheckChild1Integer, 11,
33287 OPC_CheckTypeByHwMode0,
33288 OPC_MoveParent,
33289 OPC_Scope, 25,
33290 OPC_CheckChild2Integer, 0,
33291 OPC_MoveSibling1,
33292 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33293 OPC_CheckChild0Same, 1,
33294 OPC_CheckChild1Integer, 27,
33295 OPC_CheckTypeByHwMode0,
33296 OPC_MoveParent,
33297 OPC_CheckChild2Integer, 16,
33298 OPC_CheckType, MVT::v32i8,
33299 OPC_CheckPatternPredicate0,
33300 OPC_EmitIntegerByHwMode0, 11,
33301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33302 MVT::v32i8, 3, 24,
33303 25,
33304 OPC_CheckChild2Integer, 1,
33305 OPC_MoveSibling1,
33306 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33307 OPC_CheckChild0Same, 1,
33308 OPC_CheckChild1Integer, 27,
33309 OPC_CheckTypeByHwMode0,
33310 OPC_MoveParent,
33311 OPC_CheckChild2Integer, 17,
33312 OPC_CheckType, MVT::v32i8,
33313 OPC_CheckPatternPredicate0,
33314 OPC_EmitIntegerByHwMode0, 27,
33315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33316 MVT::v32i8, 3, 24,
33317 25,
33318 OPC_CheckChild2Integer, 2,
33319 OPC_MoveSibling1,
33320 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33321 OPC_CheckChild0Same, 1,
33322 OPC_CheckChild1Integer, 27,
33323 OPC_CheckTypeByHwMode0,
33324 OPC_MoveParent,
33325 OPC_CheckChild2Integer, 18,
33326 OPC_CheckType, MVT::v32i8,
33327 OPC_CheckPatternPredicate0,
33328 OPC_EmitIntegerByHwMode0, 43,
33329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33330 MVT::v32i8, 3, 24,
33331 25,
33332 OPC_CheckChild2Integer, 3,
33333 OPC_MoveSibling1,
33334 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33335 OPC_CheckChild0Same, 1,
33336 OPC_CheckChild1Integer, 27,
33337 OPC_CheckTypeByHwMode0,
33338 OPC_MoveParent,
33339 OPC_CheckChild2Integer, 19,
33340 OPC_CheckType, MVT::v32i8,
33341 OPC_CheckPatternPredicate0,
33342 OPC_EmitIntegerByHwMode0, 59,
33343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33344 MVT::v32i8, 3, 24,
33345 26,
33346 OPC_CheckChild2Integer, 4,
33347 OPC_MoveSibling1,
33348 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33349 OPC_CheckChild0Same, 1,
33350 OPC_CheckChild1Integer, 27,
33351 OPC_CheckTypeByHwMode0,
33352 OPC_MoveParent,
33353 OPC_CheckChild2Integer, 20,
33354 OPC_CheckType, MVT::v32i8,
33355 OPC_CheckPatternPredicate0,
33356 OPC_EmitIntegerByHwMode0, 75|128,0,
33357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33358 MVT::v32i8, 3, 24,
33359 26,
33360 OPC_CheckChild2Integer, 5,
33361 OPC_MoveSibling1,
33362 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33363 OPC_CheckChild0Same, 1,
33364 OPC_CheckChild1Integer, 27,
33365 OPC_CheckTypeByHwMode0,
33366 OPC_MoveParent,
33367 OPC_CheckChild2Integer, 21,
33368 OPC_CheckType, MVT::v32i8,
33369 OPC_CheckPatternPredicate0,
33370 OPC_EmitIntegerByHwMode0, 91|128,0,
33371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33372 MVT::v32i8, 3, 24,
33373 26,
33374 OPC_CheckChild2Integer, 6,
33375 OPC_MoveSibling1,
33376 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33377 OPC_CheckChild0Same, 1,
33378 OPC_CheckChild1Integer, 27,
33379 OPC_CheckTypeByHwMode0,
33380 OPC_MoveParent,
33381 OPC_CheckChild2Integer, 22,
33382 OPC_CheckType, MVT::v32i8,
33383 OPC_CheckPatternPredicate0,
33384 OPC_EmitIntegerByHwMode0, 107|128,0,
33385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33386 MVT::v32i8, 3, 24,
33387 26,
33388 OPC_CheckChild2Integer, 7,
33389 OPC_MoveSibling1,
33390 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33391 OPC_CheckChild0Same, 1,
33392 OPC_CheckChild1Integer, 27,
33393 OPC_CheckTypeByHwMode0,
33394 OPC_MoveParent,
33395 OPC_CheckChild2Integer, 23,
33396 OPC_CheckType, MVT::v32i8,
33397 OPC_CheckPatternPredicate0,
33398 OPC_EmitIntegerByHwMode0, 123|128,0,
33399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33400 MVT::v32i8, 3, 24,
33401 26,
33402 OPC_CheckChild2Integer, 8,
33403 OPC_MoveSibling1,
33404 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33405 OPC_CheckChild0Same, 1,
33406 OPC_CheckChild1Integer, 27,
33407 OPC_CheckTypeByHwMode0,
33408 OPC_MoveParent,
33409 OPC_CheckChild2Integer, 24,
33410 OPC_CheckType, MVT::v32i8,
33411 OPC_CheckPatternPredicate0,
33412 OPC_EmitIntegerByHwMode0, 11|128,1,
33413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33414 MVT::v32i8, 3, 24,
33415 26,
33416 OPC_CheckChild2Integer, 9,
33417 OPC_MoveSibling1,
33418 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33419 OPC_CheckChild0Same, 1,
33420 OPC_CheckChild1Integer, 27,
33421 OPC_CheckTypeByHwMode0,
33422 OPC_MoveParent,
33423 OPC_CheckChild2Integer, 25,
33424 OPC_CheckType, MVT::v32i8,
33425 OPC_CheckPatternPredicate0,
33426 OPC_EmitIntegerByHwMode0, 27|128,1,
33427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33428 MVT::v32i8, 3, 24,
33429 26,
33430 OPC_CheckChild2Integer, 10,
33431 OPC_MoveSibling1,
33432 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33433 OPC_CheckChild0Same, 1,
33434 OPC_CheckChild1Integer, 27,
33435 OPC_CheckTypeByHwMode0,
33436 OPC_MoveParent,
33437 OPC_CheckChild2Integer, 26,
33438 OPC_CheckType, MVT::v32i8,
33439 OPC_CheckPatternPredicate0,
33440 OPC_EmitIntegerByHwMode0, 43|128,1,
33441 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33442 MVT::v32i8, 3, 24,
33443 26,
33444 OPC_CheckChild2Integer, 11,
33445 OPC_MoveSibling1,
33446 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33447 OPC_CheckChild0Same, 1,
33448 OPC_CheckChild1Integer, 27,
33449 OPC_CheckTypeByHwMode0,
33450 OPC_MoveParent,
33451 OPC_CheckChild2Integer, 27,
33452 OPC_CheckType, MVT::v32i8,
33453 OPC_CheckPatternPredicate0,
33454 OPC_EmitIntegerByHwMode0, 59|128,1,
33455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33456 MVT::v32i8, 3, 24,
33457 26,
33458 OPC_CheckChild2Integer, 12,
33459 OPC_MoveSibling1,
33460 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33461 OPC_CheckChild0Same, 1,
33462 OPC_CheckChild1Integer, 27,
33463 OPC_CheckTypeByHwMode0,
33464 OPC_MoveParent,
33465 OPC_CheckChild2Integer, 28,
33466 OPC_CheckType, MVT::v32i8,
33467 OPC_CheckPatternPredicate0,
33468 OPC_EmitIntegerByHwMode0, 75|128,1,
33469 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33470 MVT::v32i8, 3, 24,
33471 26,
33472 OPC_CheckChild2Integer, 13,
33473 OPC_MoveSibling1,
33474 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33475 OPC_CheckChild0Same, 1,
33476 OPC_CheckChild1Integer, 27,
33477 OPC_CheckTypeByHwMode0,
33478 OPC_MoveParent,
33479 OPC_CheckChild2Integer, 29,
33480 OPC_CheckType, MVT::v32i8,
33481 OPC_CheckPatternPredicate0,
33482 OPC_EmitIntegerByHwMode0, 91|128,1,
33483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33484 MVT::v32i8, 3, 24,
33485 26,
33486 OPC_CheckChild2Integer, 14,
33487 OPC_MoveSibling1,
33488 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33489 OPC_CheckChild0Same, 1,
33490 OPC_CheckChild1Integer, 27,
33491 OPC_CheckTypeByHwMode0,
33492 OPC_MoveParent,
33493 OPC_CheckChild2Integer, 30,
33494 OPC_CheckType, MVT::v32i8,
33495 OPC_CheckPatternPredicate0,
33496 OPC_EmitIntegerByHwMode0, 107|128,1,
33497 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33498 MVT::v32i8, 3, 24,
33499 26,
33500 OPC_CheckChild2Integer, 15,
33501 OPC_MoveSibling1,
33502 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33503 OPC_CheckChild0Same, 1,
33504 OPC_CheckChild1Integer, 27,
33505 OPC_CheckTypeByHwMode0,
33506 OPC_MoveParent,
33507 OPC_CheckChild2Integer, 31,
33508 OPC_CheckType, MVT::v32i8,
33509 OPC_CheckPatternPredicate0,
33510 OPC_EmitIntegerByHwMode0, 123|128,1,
33511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33512 MVT::v32i8, 3, 24,
33513 0,
33514 50|128,3,
33515 OPC_CheckChild1Integer, 12,
33516 OPC_CheckTypeByHwMode0,
33517 OPC_MoveParent,
33518 OPC_Scope, 25,
33519 OPC_CheckChild2Integer, 0,
33520 OPC_MoveSibling1,
33521 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33522 OPC_CheckChild0Same, 1,
33523 OPC_CheckChild1Integer, 28,
33524 OPC_CheckTypeByHwMode0,
33525 OPC_MoveParent,
33526 OPC_CheckChild2Integer, 16,
33527 OPC_CheckType, MVT::v32i8,
33528 OPC_CheckPatternPredicate0,
33529 OPC_EmitIntegerByHwMode0, 12,
33530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33531 MVT::v32i8, 3, 24,
33532 25,
33533 OPC_CheckChild2Integer, 1,
33534 OPC_MoveSibling1,
33535 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33536 OPC_CheckChild0Same, 1,
33537 OPC_CheckChild1Integer, 28,
33538 OPC_CheckTypeByHwMode0,
33539 OPC_MoveParent,
33540 OPC_CheckChild2Integer, 17,
33541 OPC_CheckType, MVT::v32i8,
33542 OPC_CheckPatternPredicate0,
33543 OPC_EmitIntegerByHwMode0, 28,
33544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33545 MVT::v32i8, 3, 24,
33546 25,
33547 OPC_CheckChild2Integer, 2,
33548 OPC_MoveSibling1,
33549 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33550 OPC_CheckChild0Same, 1,
33551 OPC_CheckChild1Integer, 28,
33552 OPC_CheckTypeByHwMode0,
33553 OPC_MoveParent,
33554 OPC_CheckChild2Integer, 18,
33555 OPC_CheckType, MVT::v32i8,
33556 OPC_CheckPatternPredicate0,
33557 OPC_EmitIntegerByHwMode0, 44,
33558 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33559 MVT::v32i8, 3, 24,
33560 25,
33561 OPC_CheckChild2Integer, 3,
33562 OPC_MoveSibling1,
33563 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33564 OPC_CheckChild0Same, 1,
33565 OPC_CheckChild1Integer, 28,
33566 OPC_CheckTypeByHwMode0,
33567 OPC_MoveParent,
33568 OPC_CheckChild2Integer, 19,
33569 OPC_CheckType, MVT::v32i8,
33570 OPC_CheckPatternPredicate0,
33571 OPC_EmitIntegerByHwMode0, 60,
33572 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33573 MVT::v32i8, 3, 24,
33574 26,
33575 OPC_CheckChild2Integer, 4,
33576 OPC_MoveSibling1,
33577 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33578 OPC_CheckChild0Same, 1,
33579 OPC_CheckChild1Integer, 28,
33580 OPC_CheckTypeByHwMode0,
33581 OPC_MoveParent,
33582 OPC_CheckChild2Integer, 20,
33583 OPC_CheckType, MVT::v32i8,
33584 OPC_CheckPatternPredicate0,
33585 OPC_EmitIntegerByHwMode0, 76|128,0,
33586 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33587 MVT::v32i8, 3, 24,
33588 26,
33589 OPC_CheckChild2Integer, 5,
33590 OPC_MoveSibling1,
33591 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33592 OPC_CheckChild0Same, 1,
33593 OPC_CheckChild1Integer, 28,
33594 OPC_CheckTypeByHwMode0,
33595 OPC_MoveParent,
33596 OPC_CheckChild2Integer, 21,
33597 OPC_CheckType, MVT::v32i8,
33598 OPC_CheckPatternPredicate0,
33599 OPC_EmitIntegerByHwMode0, 92|128,0,
33600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33601 MVT::v32i8, 3, 24,
33602 26,
33603 OPC_CheckChild2Integer, 6,
33604 OPC_MoveSibling1,
33605 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33606 OPC_CheckChild0Same, 1,
33607 OPC_CheckChild1Integer, 28,
33608 OPC_CheckTypeByHwMode0,
33609 OPC_MoveParent,
33610 OPC_CheckChild2Integer, 22,
33611 OPC_CheckType, MVT::v32i8,
33612 OPC_CheckPatternPredicate0,
33613 OPC_EmitIntegerByHwMode0, 108|128,0,
33614 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33615 MVT::v32i8, 3, 24,
33616 26,
33617 OPC_CheckChild2Integer, 7,
33618 OPC_MoveSibling1,
33619 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33620 OPC_CheckChild0Same, 1,
33621 OPC_CheckChild1Integer, 28,
33622 OPC_CheckTypeByHwMode0,
33623 OPC_MoveParent,
33624 OPC_CheckChild2Integer, 23,
33625 OPC_CheckType, MVT::v32i8,
33626 OPC_CheckPatternPredicate0,
33627 OPC_EmitIntegerByHwMode0, 124|128,0,
33628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33629 MVT::v32i8, 3, 24,
33630 26,
33631 OPC_CheckChild2Integer, 8,
33632 OPC_MoveSibling1,
33633 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33634 OPC_CheckChild0Same, 1,
33635 OPC_CheckChild1Integer, 28,
33636 OPC_CheckTypeByHwMode0,
33637 OPC_MoveParent,
33638 OPC_CheckChild2Integer, 24,
33639 OPC_CheckType, MVT::v32i8,
33640 OPC_CheckPatternPredicate0,
33641 OPC_EmitIntegerByHwMode0, 12|128,1,
33642 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33643 MVT::v32i8, 3, 24,
33644 26,
33645 OPC_CheckChild2Integer, 9,
33646 OPC_MoveSibling1,
33647 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33648 OPC_CheckChild0Same, 1,
33649 OPC_CheckChild1Integer, 28,
33650 OPC_CheckTypeByHwMode0,
33651 OPC_MoveParent,
33652 OPC_CheckChild2Integer, 25,
33653 OPC_CheckType, MVT::v32i8,
33654 OPC_CheckPatternPredicate0,
33655 OPC_EmitIntegerByHwMode0, 28|128,1,
33656 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33657 MVT::v32i8, 3, 24,
33658 26,
33659 OPC_CheckChild2Integer, 10,
33660 OPC_MoveSibling1,
33661 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33662 OPC_CheckChild0Same, 1,
33663 OPC_CheckChild1Integer, 28,
33664 OPC_CheckTypeByHwMode0,
33665 OPC_MoveParent,
33666 OPC_CheckChild2Integer, 26,
33667 OPC_CheckType, MVT::v32i8,
33668 OPC_CheckPatternPredicate0,
33669 OPC_EmitIntegerByHwMode0, 44|128,1,
33670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33671 MVT::v32i8, 3, 24,
33672 26,
33673 OPC_CheckChild2Integer, 11,
33674 OPC_MoveSibling1,
33675 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33676 OPC_CheckChild0Same, 1,
33677 OPC_CheckChild1Integer, 28,
33678 OPC_CheckTypeByHwMode0,
33679 OPC_MoveParent,
33680 OPC_CheckChild2Integer, 27,
33681 OPC_CheckType, MVT::v32i8,
33682 OPC_CheckPatternPredicate0,
33683 OPC_EmitIntegerByHwMode0, 60|128,1,
33684 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33685 MVT::v32i8, 3, 24,
33686 26,
33687 OPC_CheckChild2Integer, 12,
33688 OPC_MoveSibling1,
33689 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33690 OPC_CheckChild0Same, 1,
33691 OPC_CheckChild1Integer, 28,
33692 OPC_CheckTypeByHwMode0,
33693 OPC_MoveParent,
33694 OPC_CheckChild2Integer, 28,
33695 OPC_CheckType, MVT::v32i8,
33696 OPC_CheckPatternPredicate0,
33697 OPC_EmitIntegerByHwMode0, 76|128,1,
33698 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33699 MVT::v32i8, 3, 24,
33700 26,
33701 OPC_CheckChild2Integer, 13,
33702 OPC_MoveSibling1,
33703 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33704 OPC_CheckChild0Same, 1,
33705 OPC_CheckChild1Integer, 28,
33706 OPC_CheckTypeByHwMode0,
33707 OPC_MoveParent,
33708 OPC_CheckChild2Integer, 29,
33709 OPC_CheckType, MVT::v32i8,
33710 OPC_CheckPatternPredicate0,
33711 OPC_EmitIntegerByHwMode0, 92|128,1,
33712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33713 MVT::v32i8, 3, 24,
33714 26,
33715 OPC_CheckChild2Integer, 14,
33716 OPC_MoveSibling1,
33717 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33718 OPC_CheckChild0Same, 1,
33719 OPC_CheckChild1Integer, 28,
33720 OPC_CheckTypeByHwMode0,
33721 OPC_MoveParent,
33722 OPC_CheckChild2Integer, 30,
33723 OPC_CheckType, MVT::v32i8,
33724 OPC_CheckPatternPredicate0,
33725 OPC_EmitIntegerByHwMode0, 108|128,1,
33726 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33727 MVT::v32i8, 3, 24,
33728 26,
33729 OPC_CheckChild2Integer, 15,
33730 OPC_MoveSibling1,
33731 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33732 OPC_CheckChild0Same, 1,
33733 OPC_CheckChild1Integer, 28,
33734 OPC_CheckTypeByHwMode0,
33735 OPC_MoveParent,
33736 OPC_CheckChild2Integer, 31,
33737 OPC_CheckType, MVT::v32i8,
33738 OPC_CheckPatternPredicate0,
33739 OPC_EmitIntegerByHwMode0, 124|128,1,
33740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33741 MVT::v32i8, 3, 24,
33742 0,
33743 50|128,3,
33744 OPC_CheckChild1Integer, 13,
33745 OPC_CheckTypeByHwMode0,
33746 OPC_MoveParent,
33747 OPC_Scope, 25,
33748 OPC_CheckChild2Integer, 0,
33749 OPC_MoveSibling1,
33750 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33751 OPC_CheckChild0Same, 1,
33752 OPC_CheckChild1Integer, 29,
33753 OPC_CheckTypeByHwMode0,
33754 OPC_MoveParent,
33755 OPC_CheckChild2Integer, 16,
33756 OPC_CheckType, MVT::v32i8,
33757 OPC_CheckPatternPredicate0,
33758 OPC_EmitIntegerByHwMode0, 13,
33759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33760 MVT::v32i8, 3, 24,
33761 25,
33762 OPC_CheckChild2Integer, 1,
33763 OPC_MoveSibling1,
33764 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33765 OPC_CheckChild0Same, 1,
33766 OPC_CheckChild1Integer, 29,
33767 OPC_CheckTypeByHwMode0,
33768 OPC_MoveParent,
33769 OPC_CheckChild2Integer, 17,
33770 OPC_CheckType, MVT::v32i8,
33771 OPC_CheckPatternPredicate0,
33772 OPC_EmitIntegerByHwMode0, 29,
33773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33774 MVT::v32i8, 3, 24,
33775 25,
33776 OPC_CheckChild2Integer, 2,
33777 OPC_MoveSibling1,
33778 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33779 OPC_CheckChild0Same, 1,
33780 OPC_CheckChild1Integer, 29,
33781 OPC_CheckTypeByHwMode0,
33782 OPC_MoveParent,
33783 OPC_CheckChild2Integer, 18,
33784 OPC_CheckType, MVT::v32i8,
33785 OPC_CheckPatternPredicate0,
33786 OPC_EmitIntegerByHwMode0, 45,
33787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33788 MVT::v32i8, 3, 24,
33789 25,
33790 OPC_CheckChild2Integer, 3,
33791 OPC_MoveSibling1,
33792 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33793 OPC_CheckChild0Same, 1,
33794 OPC_CheckChild1Integer, 29,
33795 OPC_CheckTypeByHwMode0,
33796 OPC_MoveParent,
33797 OPC_CheckChild2Integer, 19,
33798 OPC_CheckType, MVT::v32i8,
33799 OPC_CheckPatternPredicate0,
33800 OPC_EmitIntegerByHwMode0, 61,
33801 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33802 MVT::v32i8, 3, 24,
33803 26,
33804 OPC_CheckChild2Integer, 4,
33805 OPC_MoveSibling1,
33806 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33807 OPC_CheckChild0Same, 1,
33808 OPC_CheckChild1Integer, 29,
33809 OPC_CheckTypeByHwMode0,
33810 OPC_MoveParent,
33811 OPC_CheckChild2Integer, 20,
33812 OPC_CheckType, MVT::v32i8,
33813 OPC_CheckPatternPredicate0,
33814 OPC_EmitIntegerByHwMode0, 77|128,0,
33815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33816 MVT::v32i8, 3, 24,
33817 26,
33818 OPC_CheckChild2Integer, 5,
33819 OPC_MoveSibling1,
33820 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33821 OPC_CheckChild0Same, 1,
33822 OPC_CheckChild1Integer, 29,
33823 OPC_CheckTypeByHwMode0,
33824 OPC_MoveParent,
33825 OPC_CheckChild2Integer, 21,
33826 OPC_CheckType, MVT::v32i8,
33827 OPC_CheckPatternPredicate0,
33828 OPC_EmitIntegerByHwMode0, 93|128,0,
33829 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33830 MVT::v32i8, 3, 24,
33831 26,
33832 OPC_CheckChild2Integer, 6,
33833 OPC_MoveSibling1,
33834 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33835 OPC_CheckChild0Same, 1,
33836 OPC_CheckChild1Integer, 29,
33837 OPC_CheckTypeByHwMode0,
33838 OPC_MoveParent,
33839 OPC_CheckChild2Integer, 22,
33840 OPC_CheckType, MVT::v32i8,
33841 OPC_CheckPatternPredicate0,
33842 OPC_EmitIntegerByHwMode0, 109|128,0,
33843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33844 MVT::v32i8, 3, 24,
33845 26,
33846 OPC_CheckChild2Integer, 7,
33847 OPC_MoveSibling1,
33848 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33849 OPC_CheckChild0Same, 1,
33850 OPC_CheckChild1Integer, 29,
33851 OPC_CheckTypeByHwMode0,
33852 OPC_MoveParent,
33853 OPC_CheckChild2Integer, 23,
33854 OPC_CheckType, MVT::v32i8,
33855 OPC_CheckPatternPredicate0,
33856 OPC_EmitIntegerByHwMode0, 125|128,0,
33857 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33858 MVT::v32i8, 3, 24,
33859 26,
33860 OPC_CheckChild2Integer, 8,
33861 OPC_MoveSibling1,
33862 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33863 OPC_CheckChild0Same, 1,
33864 OPC_CheckChild1Integer, 29,
33865 OPC_CheckTypeByHwMode0,
33866 OPC_MoveParent,
33867 OPC_CheckChild2Integer, 24,
33868 OPC_CheckType, MVT::v32i8,
33869 OPC_CheckPatternPredicate0,
33870 OPC_EmitIntegerByHwMode0, 13|128,1,
33871 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33872 MVT::v32i8, 3, 24,
33873 26,
33874 OPC_CheckChild2Integer, 9,
33875 OPC_MoveSibling1,
33876 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33877 OPC_CheckChild0Same, 1,
33878 OPC_CheckChild1Integer, 29,
33879 OPC_CheckTypeByHwMode0,
33880 OPC_MoveParent,
33881 OPC_CheckChild2Integer, 25,
33882 OPC_CheckType, MVT::v32i8,
33883 OPC_CheckPatternPredicate0,
33884 OPC_EmitIntegerByHwMode0, 29|128,1,
33885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33886 MVT::v32i8, 3, 24,
33887 26,
33888 OPC_CheckChild2Integer, 10,
33889 OPC_MoveSibling1,
33890 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33891 OPC_CheckChild0Same, 1,
33892 OPC_CheckChild1Integer, 29,
33893 OPC_CheckTypeByHwMode0,
33894 OPC_MoveParent,
33895 OPC_CheckChild2Integer, 26,
33896 OPC_CheckType, MVT::v32i8,
33897 OPC_CheckPatternPredicate0,
33898 OPC_EmitIntegerByHwMode0, 45|128,1,
33899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33900 MVT::v32i8, 3, 24,
33901 26,
33902 OPC_CheckChild2Integer, 11,
33903 OPC_MoveSibling1,
33904 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33905 OPC_CheckChild0Same, 1,
33906 OPC_CheckChild1Integer, 29,
33907 OPC_CheckTypeByHwMode0,
33908 OPC_MoveParent,
33909 OPC_CheckChild2Integer, 27,
33910 OPC_CheckType, MVT::v32i8,
33911 OPC_CheckPatternPredicate0,
33912 OPC_EmitIntegerByHwMode0, 61|128,1,
33913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33914 MVT::v32i8, 3, 24,
33915 26,
33916 OPC_CheckChild2Integer, 12,
33917 OPC_MoveSibling1,
33918 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33919 OPC_CheckChild0Same, 1,
33920 OPC_CheckChild1Integer, 29,
33921 OPC_CheckTypeByHwMode0,
33922 OPC_MoveParent,
33923 OPC_CheckChild2Integer, 28,
33924 OPC_CheckType, MVT::v32i8,
33925 OPC_CheckPatternPredicate0,
33926 OPC_EmitIntegerByHwMode0, 77|128,1,
33927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33928 MVT::v32i8, 3, 24,
33929 26,
33930 OPC_CheckChild2Integer, 13,
33931 OPC_MoveSibling1,
33932 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33933 OPC_CheckChild0Same, 1,
33934 OPC_CheckChild1Integer, 29,
33935 OPC_CheckTypeByHwMode0,
33936 OPC_MoveParent,
33937 OPC_CheckChild2Integer, 29,
33938 OPC_CheckType, MVT::v32i8,
33939 OPC_CheckPatternPredicate0,
33940 OPC_EmitIntegerByHwMode0, 93|128,1,
33941 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33942 MVT::v32i8, 3, 24,
33943 26,
33944 OPC_CheckChild2Integer, 14,
33945 OPC_MoveSibling1,
33946 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33947 OPC_CheckChild0Same, 1,
33948 OPC_CheckChild1Integer, 29,
33949 OPC_CheckTypeByHwMode0,
33950 OPC_MoveParent,
33951 OPC_CheckChild2Integer, 30,
33952 OPC_CheckType, MVT::v32i8,
33953 OPC_CheckPatternPredicate0,
33954 OPC_EmitIntegerByHwMode0, 109|128,1,
33955 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33956 MVT::v32i8, 3, 24,
33957 26,
33958 OPC_CheckChild2Integer, 15,
33959 OPC_MoveSibling1,
33960 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33961 OPC_CheckChild0Same, 1,
33962 OPC_CheckChild1Integer, 29,
33963 OPC_CheckTypeByHwMode0,
33964 OPC_MoveParent,
33965 OPC_CheckChild2Integer, 31,
33966 OPC_CheckType, MVT::v32i8,
33967 OPC_CheckPatternPredicate0,
33968 OPC_EmitIntegerByHwMode0, 125|128,1,
33969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33970 MVT::v32i8, 3, 24,
33971 0,
33972 50|128,3,
33973 OPC_CheckChild1Integer, 14,
33974 OPC_CheckTypeByHwMode0,
33975 OPC_MoveParent,
33976 OPC_Scope, 25,
33977 OPC_CheckChild2Integer, 0,
33978 OPC_MoveSibling1,
33979 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33980 OPC_CheckChild0Same, 1,
33981 OPC_CheckChild1Integer, 30,
33982 OPC_CheckTypeByHwMode0,
33983 OPC_MoveParent,
33984 OPC_CheckChild2Integer, 16,
33985 OPC_CheckType, MVT::v32i8,
33986 OPC_CheckPatternPredicate0,
33987 OPC_EmitIntegerByHwMode0, 14,
33988 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
33989 MVT::v32i8, 3, 24,
33990 25,
33991 OPC_CheckChild2Integer, 1,
33992 OPC_MoveSibling1,
33993 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
33994 OPC_CheckChild0Same, 1,
33995 OPC_CheckChild1Integer, 30,
33996 OPC_CheckTypeByHwMode0,
33997 OPC_MoveParent,
33998 OPC_CheckChild2Integer, 17,
33999 OPC_CheckType, MVT::v32i8,
34000 OPC_CheckPatternPredicate0,
34001 OPC_EmitIntegerByHwMode0, 30,
34002 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34003 MVT::v32i8, 3, 24,
34004 25,
34005 OPC_CheckChild2Integer, 2,
34006 OPC_MoveSibling1,
34007 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34008 OPC_CheckChild0Same, 1,
34009 OPC_CheckChild1Integer, 30,
34010 OPC_CheckTypeByHwMode0,
34011 OPC_MoveParent,
34012 OPC_CheckChild2Integer, 18,
34013 OPC_CheckType, MVT::v32i8,
34014 OPC_CheckPatternPredicate0,
34015 OPC_EmitIntegerByHwMode0, 46,
34016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34017 MVT::v32i8, 3, 24,
34018 25,
34019 OPC_CheckChild2Integer, 3,
34020 OPC_MoveSibling1,
34021 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34022 OPC_CheckChild0Same, 1,
34023 OPC_CheckChild1Integer, 30,
34024 OPC_CheckTypeByHwMode0,
34025 OPC_MoveParent,
34026 OPC_CheckChild2Integer, 19,
34027 OPC_CheckType, MVT::v32i8,
34028 OPC_CheckPatternPredicate0,
34029 OPC_EmitIntegerByHwMode0, 62,
34030 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34031 MVT::v32i8, 3, 24,
34032 26,
34033 OPC_CheckChild2Integer, 4,
34034 OPC_MoveSibling1,
34035 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34036 OPC_CheckChild0Same, 1,
34037 OPC_CheckChild1Integer, 30,
34038 OPC_CheckTypeByHwMode0,
34039 OPC_MoveParent,
34040 OPC_CheckChild2Integer, 20,
34041 OPC_CheckType, MVT::v32i8,
34042 OPC_CheckPatternPredicate0,
34043 OPC_EmitIntegerByHwMode0, 78|128,0,
34044 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34045 MVT::v32i8, 3, 24,
34046 26,
34047 OPC_CheckChild2Integer, 5,
34048 OPC_MoveSibling1,
34049 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34050 OPC_CheckChild0Same, 1,
34051 OPC_CheckChild1Integer, 30,
34052 OPC_CheckTypeByHwMode0,
34053 OPC_MoveParent,
34054 OPC_CheckChild2Integer, 21,
34055 OPC_CheckType, MVT::v32i8,
34056 OPC_CheckPatternPredicate0,
34057 OPC_EmitIntegerByHwMode0, 94|128,0,
34058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34059 MVT::v32i8, 3, 24,
34060 26,
34061 OPC_CheckChild2Integer, 6,
34062 OPC_MoveSibling1,
34063 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34064 OPC_CheckChild0Same, 1,
34065 OPC_CheckChild1Integer, 30,
34066 OPC_CheckTypeByHwMode0,
34067 OPC_MoveParent,
34068 OPC_CheckChild2Integer, 22,
34069 OPC_CheckType, MVT::v32i8,
34070 OPC_CheckPatternPredicate0,
34071 OPC_EmitIntegerByHwMode0, 110|128,0,
34072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34073 MVT::v32i8, 3, 24,
34074 26,
34075 OPC_CheckChild2Integer, 7,
34076 OPC_MoveSibling1,
34077 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34078 OPC_CheckChild0Same, 1,
34079 OPC_CheckChild1Integer, 30,
34080 OPC_CheckTypeByHwMode0,
34081 OPC_MoveParent,
34082 OPC_CheckChild2Integer, 23,
34083 OPC_CheckType, MVT::v32i8,
34084 OPC_CheckPatternPredicate0,
34085 OPC_EmitIntegerByHwMode0, 126|128,0,
34086 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34087 MVT::v32i8, 3, 24,
34088 26,
34089 OPC_CheckChild2Integer, 8,
34090 OPC_MoveSibling1,
34091 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34092 OPC_CheckChild0Same, 1,
34093 OPC_CheckChild1Integer, 30,
34094 OPC_CheckTypeByHwMode0,
34095 OPC_MoveParent,
34096 OPC_CheckChild2Integer, 24,
34097 OPC_CheckType, MVT::v32i8,
34098 OPC_CheckPatternPredicate0,
34099 OPC_EmitIntegerByHwMode0, 14|128,1,
34100 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34101 MVT::v32i8, 3, 24,
34102 26,
34103 OPC_CheckChild2Integer, 9,
34104 OPC_MoveSibling1,
34105 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34106 OPC_CheckChild0Same, 1,
34107 OPC_CheckChild1Integer, 30,
34108 OPC_CheckTypeByHwMode0,
34109 OPC_MoveParent,
34110 OPC_CheckChild2Integer, 25,
34111 OPC_CheckType, MVT::v32i8,
34112 OPC_CheckPatternPredicate0,
34113 OPC_EmitIntegerByHwMode0, 30|128,1,
34114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34115 MVT::v32i8, 3, 24,
34116 26,
34117 OPC_CheckChild2Integer, 10,
34118 OPC_MoveSibling1,
34119 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34120 OPC_CheckChild0Same, 1,
34121 OPC_CheckChild1Integer, 30,
34122 OPC_CheckTypeByHwMode0,
34123 OPC_MoveParent,
34124 OPC_CheckChild2Integer, 26,
34125 OPC_CheckType, MVT::v32i8,
34126 OPC_CheckPatternPredicate0,
34127 OPC_EmitIntegerByHwMode0, 46|128,1,
34128 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34129 MVT::v32i8, 3, 24,
34130 26,
34131 OPC_CheckChild2Integer, 11,
34132 OPC_MoveSibling1,
34133 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34134 OPC_CheckChild0Same, 1,
34135 OPC_CheckChild1Integer, 30,
34136 OPC_CheckTypeByHwMode0,
34137 OPC_MoveParent,
34138 OPC_CheckChild2Integer, 27,
34139 OPC_CheckType, MVT::v32i8,
34140 OPC_CheckPatternPredicate0,
34141 OPC_EmitIntegerByHwMode0, 62|128,1,
34142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34143 MVT::v32i8, 3, 24,
34144 26,
34145 OPC_CheckChild2Integer, 12,
34146 OPC_MoveSibling1,
34147 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34148 OPC_CheckChild0Same, 1,
34149 OPC_CheckChild1Integer, 30,
34150 OPC_CheckTypeByHwMode0,
34151 OPC_MoveParent,
34152 OPC_CheckChild2Integer, 28,
34153 OPC_CheckType, MVT::v32i8,
34154 OPC_CheckPatternPredicate0,
34155 OPC_EmitIntegerByHwMode0, 78|128,1,
34156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34157 MVT::v32i8, 3, 24,
34158 26,
34159 OPC_CheckChild2Integer, 13,
34160 OPC_MoveSibling1,
34161 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34162 OPC_CheckChild0Same, 1,
34163 OPC_CheckChild1Integer, 30,
34164 OPC_CheckTypeByHwMode0,
34165 OPC_MoveParent,
34166 OPC_CheckChild2Integer, 29,
34167 OPC_CheckType, MVT::v32i8,
34168 OPC_CheckPatternPredicate0,
34169 OPC_EmitIntegerByHwMode0, 94|128,1,
34170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34171 MVT::v32i8, 3, 24,
34172 26,
34173 OPC_CheckChild2Integer, 14,
34174 OPC_MoveSibling1,
34175 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34176 OPC_CheckChild0Same, 1,
34177 OPC_CheckChild1Integer, 30,
34178 OPC_CheckTypeByHwMode0,
34179 OPC_MoveParent,
34180 OPC_CheckChild2Integer, 30,
34181 OPC_CheckType, MVT::v32i8,
34182 OPC_CheckPatternPredicate0,
34183 OPC_EmitIntegerByHwMode0, 110|128,1,
34184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34185 MVT::v32i8, 3, 24,
34186 26,
34187 OPC_CheckChild2Integer, 15,
34188 OPC_MoveSibling1,
34189 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34190 OPC_CheckChild0Same, 1,
34191 OPC_CheckChild1Integer, 30,
34192 OPC_CheckTypeByHwMode0,
34193 OPC_MoveParent,
34194 OPC_CheckChild2Integer, 31,
34195 OPC_CheckType, MVT::v32i8,
34196 OPC_CheckPatternPredicate0,
34197 OPC_EmitIntegerByHwMode0, 126|128,1,
34198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34199 MVT::v32i8, 3, 24,
34200 0,
34201 50|128,3,
34202 OPC_CheckChild1Integer, 15,
34203 OPC_CheckTypeByHwMode0,
34204 OPC_MoveParent,
34205 OPC_Scope, 25,
34206 OPC_CheckChild2Integer, 0,
34207 OPC_MoveSibling1,
34208 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34209 OPC_CheckChild0Same, 1,
34210 OPC_CheckChild1Integer, 31,
34211 OPC_CheckTypeByHwMode0,
34212 OPC_MoveParent,
34213 OPC_CheckChild2Integer, 16,
34214 OPC_CheckType, MVT::v32i8,
34215 OPC_CheckPatternPredicate0,
34216 OPC_EmitIntegerByHwMode0, 15,
34217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34218 MVT::v32i8, 3, 24,
34219 25,
34220 OPC_CheckChild2Integer, 1,
34221 OPC_MoveSibling1,
34222 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34223 OPC_CheckChild0Same, 1,
34224 OPC_CheckChild1Integer, 31,
34225 OPC_CheckTypeByHwMode0,
34226 OPC_MoveParent,
34227 OPC_CheckChild2Integer, 17,
34228 OPC_CheckType, MVT::v32i8,
34229 OPC_CheckPatternPredicate0,
34230 OPC_EmitIntegerByHwMode0, 31,
34231 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34232 MVT::v32i8, 3, 24,
34233 25,
34234 OPC_CheckChild2Integer, 2,
34235 OPC_MoveSibling1,
34236 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34237 OPC_CheckChild0Same, 1,
34238 OPC_CheckChild1Integer, 31,
34239 OPC_CheckTypeByHwMode0,
34240 OPC_MoveParent,
34241 OPC_CheckChild2Integer, 18,
34242 OPC_CheckType, MVT::v32i8,
34243 OPC_CheckPatternPredicate0,
34244 OPC_EmitIntegerByHwMode0, 47,
34245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34246 MVT::v32i8, 3, 24,
34247 25,
34248 OPC_CheckChild2Integer, 3,
34249 OPC_MoveSibling1,
34250 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34251 OPC_CheckChild0Same, 1,
34252 OPC_CheckChild1Integer, 31,
34253 OPC_CheckTypeByHwMode0,
34254 OPC_MoveParent,
34255 OPC_CheckChild2Integer, 19,
34256 OPC_CheckType, MVT::v32i8,
34257 OPC_CheckPatternPredicate0,
34258 OPC_EmitIntegerByHwMode0, 63,
34259 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34260 MVT::v32i8, 3, 24,
34261 26,
34262 OPC_CheckChild2Integer, 4,
34263 OPC_MoveSibling1,
34264 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34265 OPC_CheckChild0Same, 1,
34266 OPC_CheckChild1Integer, 31,
34267 OPC_CheckTypeByHwMode0,
34268 OPC_MoveParent,
34269 OPC_CheckChild2Integer, 20,
34270 OPC_CheckType, MVT::v32i8,
34271 OPC_CheckPatternPredicate0,
34272 OPC_EmitIntegerByHwMode0, 79|128,0,
34273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34274 MVT::v32i8, 3, 24,
34275 26,
34276 OPC_CheckChild2Integer, 5,
34277 OPC_MoveSibling1,
34278 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34279 OPC_CheckChild0Same, 1,
34280 OPC_CheckChild1Integer, 31,
34281 OPC_CheckTypeByHwMode0,
34282 OPC_MoveParent,
34283 OPC_CheckChild2Integer, 21,
34284 OPC_CheckType, MVT::v32i8,
34285 OPC_CheckPatternPredicate0,
34286 OPC_EmitIntegerByHwMode0, 95|128,0,
34287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34288 MVT::v32i8, 3, 24,
34289 26,
34290 OPC_CheckChild2Integer, 6,
34291 OPC_MoveSibling1,
34292 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34293 OPC_CheckChild0Same, 1,
34294 OPC_CheckChild1Integer, 31,
34295 OPC_CheckTypeByHwMode0,
34296 OPC_MoveParent,
34297 OPC_CheckChild2Integer, 22,
34298 OPC_CheckType, MVT::v32i8,
34299 OPC_CheckPatternPredicate0,
34300 OPC_EmitIntegerByHwMode0, 111|128,0,
34301 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34302 MVT::v32i8, 3, 24,
34303 26,
34304 OPC_CheckChild2Integer, 7,
34305 OPC_MoveSibling1,
34306 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34307 OPC_CheckChild0Same, 1,
34308 OPC_CheckChild1Integer, 31,
34309 OPC_CheckTypeByHwMode0,
34310 OPC_MoveParent,
34311 OPC_CheckChild2Integer, 23,
34312 OPC_CheckType, MVT::v32i8,
34313 OPC_CheckPatternPredicate0,
34314 OPC_EmitIntegerByHwMode0, 127|128,0,
34315 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34316 MVT::v32i8, 3, 24,
34317 26,
34318 OPC_CheckChild2Integer, 8,
34319 OPC_MoveSibling1,
34320 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34321 OPC_CheckChild0Same, 1,
34322 OPC_CheckChild1Integer, 31,
34323 OPC_CheckTypeByHwMode0,
34324 OPC_MoveParent,
34325 OPC_CheckChild2Integer, 24,
34326 OPC_CheckType, MVT::v32i8,
34327 OPC_CheckPatternPredicate0,
34328 OPC_EmitIntegerByHwMode0, 15|128,1,
34329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34330 MVT::v32i8, 3, 24,
34331 26,
34332 OPC_CheckChild2Integer, 9,
34333 OPC_MoveSibling1,
34334 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34335 OPC_CheckChild0Same, 1,
34336 OPC_CheckChild1Integer, 31,
34337 OPC_CheckTypeByHwMode0,
34338 OPC_MoveParent,
34339 OPC_CheckChild2Integer, 25,
34340 OPC_CheckType, MVT::v32i8,
34341 OPC_CheckPatternPredicate0,
34342 OPC_EmitIntegerByHwMode0, 31|128,1,
34343 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34344 MVT::v32i8, 3, 24,
34345 26,
34346 OPC_CheckChild2Integer, 10,
34347 OPC_MoveSibling1,
34348 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34349 OPC_CheckChild0Same, 1,
34350 OPC_CheckChild1Integer, 31,
34351 OPC_CheckTypeByHwMode0,
34352 OPC_MoveParent,
34353 OPC_CheckChild2Integer, 26,
34354 OPC_CheckType, MVT::v32i8,
34355 OPC_CheckPatternPredicate0,
34356 OPC_EmitIntegerByHwMode0, 47|128,1,
34357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34358 MVT::v32i8, 3, 24,
34359 26,
34360 OPC_CheckChild2Integer, 11,
34361 OPC_MoveSibling1,
34362 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34363 OPC_CheckChild0Same, 1,
34364 OPC_CheckChild1Integer, 31,
34365 OPC_CheckTypeByHwMode0,
34366 OPC_MoveParent,
34367 OPC_CheckChild2Integer, 27,
34368 OPC_CheckType, MVT::v32i8,
34369 OPC_CheckPatternPredicate0,
34370 OPC_EmitIntegerByHwMode0, 63|128,1,
34371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34372 MVT::v32i8, 3, 24,
34373 26,
34374 OPC_CheckChild2Integer, 12,
34375 OPC_MoveSibling1,
34376 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34377 OPC_CheckChild0Same, 1,
34378 OPC_CheckChild1Integer, 31,
34379 OPC_CheckTypeByHwMode0,
34380 OPC_MoveParent,
34381 OPC_CheckChild2Integer, 28,
34382 OPC_CheckType, MVT::v32i8,
34383 OPC_CheckPatternPredicate0,
34384 OPC_EmitIntegerByHwMode0, 79|128,1,
34385 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34386 MVT::v32i8, 3, 24,
34387 26,
34388 OPC_CheckChild2Integer, 13,
34389 OPC_MoveSibling1,
34390 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34391 OPC_CheckChild0Same, 1,
34392 OPC_CheckChild1Integer, 31,
34393 OPC_CheckTypeByHwMode0,
34394 OPC_MoveParent,
34395 OPC_CheckChild2Integer, 29,
34396 OPC_CheckType, MVT::v32i8,
34397 OPC_CheckPatternPredicate0,
34398 OPC_EmitIntegerByHwMode0, 95|128,1,
34399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34400 MVT::v32i8, 3, 24,
34401 26,
34402 OPC_CheckChild2Integer, 14,
34403 OPC_MoveSibling1,
34404 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34405 OPC_CheckChild0Same, 1,
34406 OPC_CheckChild1Integer, 31,
34407 OPC_CheckTypeByHwMode0,
34408 OPC_MoveParent,
34409 OPC_CheckChild2Integer, 30,
34410 OPC_CheckType, MVT::v32i8,
34411 OPC_CheckPatternPredicate0,
34412 OPC_EmitIntegerByHwMode0, 111|128,1,
34413 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34414 MVT::v32i8, 3, 24,
34415 26,
34416 OPC_CheckChild2Integer, 15,
34417 OPC_MoveSibling1,
34418 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34419 OPC_CheckChild0Same, 1,
34420 OPC_CheckChild1Integer, 31,
34421 OPC_CheckTypeByHwMode0,
34422 OPC_MoveParent,
34423 OPC_CheckChild2Integer, 31,
34424 OPC_CheckType, MVT::v32i8,
34425 OPC_CheckPatternPredicate0,
34426 OPC_EmitIntegerByHwMode0, 127|128,1,
34427 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_B),
34428 MVT::v32i8, 3, 24,
34429 0,
34430 0,
34431 100|128,13,
34432 OPC_CheckChild0Type, MVT::v16i16,
34433 OPC_Scope, 90|128,1,
34434 OPC_CheckChild1Integer, 0,
34435 OPC_CheckTypeByHwMode0,
34436 OPC_MoveParent,
34437 OPC_Scope, 25,
34438 OPC_CheckChild2Integer, 0,
34439 OPC_MoveSibling1,
34440 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34441 OPC_CheckChild0Same, 1,
34442 OPC_CheckChild1Integer, 8,
34443 OPC_CheckTypeByHwMode0,
34444 OPC_MoveParent,
34445 OPC_CheckChild2Integer, 8,
34446 OPC_CheckType, MVT::v16i16,
34447 OPC_CheckPatternPredicate0,
34448 OPC_EmitIntegerByHwMode0, 0,
34449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34450 MVT::v16i16, 3, 24,
34451 25,
34452 OPC_CheckChild2Integer, 1,
34453 OPC_MoveSibling1,
34454 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34455 OPC_CheckChild0Same, 1,
34456 OPC_CheckChild1Integer, 8,
34457 OPC_CheckTypeByHwMode0,
34458 OPC_MoveParent,
34459 OPC_CheckChild2Integer, 9,
34460 OPC_CheckType, MVT::v16i16,
34461 OPC_CheckPatternPredicate0,
34462 OPC_EmitIntegerByHwMode0, 16,
34463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34464 MVT::v16i16, 3, 24,
34465 25,
34466 OPC_CheckChild2Integer, 2,
34467 OPC_MoveSibling1,
34468 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34469 OPC_CheckChild0Same, 1,
34470 OPC_CheckChild1Integer, 8,
34471 OPC_CheckTypeByHwMode0,
34472 OPC_MoveParent,
34473 OPC_CheckChild2Integer, 10,
34474 OPC_CheckType, MVT::v16i16,
34475 OPC_CheckPatternPredicate0,
34476 OPC_EmitIntegerByHwMode0, 32,
34477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34478 MVT::v16i16, 3, 24,
34479 25,
34480 OPC_CheckChild2Integer, 3,
34481 OPC_MoveSibling1,
34482 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34483 OPC_CheckChild0Same, 1,
34484 OPC_CheckChild1Integer, 8,
34485 OPC_CheckTypeByHwMode0,
34486 OPC_MoveParent,
34487 OPC_CheckChild2Integer, 11,
34488 OPC_CheckType, MVT::v16i16,
34489 OPC_CheckPatternPredicate0,
34490 OPC_EmitIntegerByHwMode0, 48,
34491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34492 MVT::v16i16, 3, 24,
34493 26,
34494 OPC_CheckChild2Integer, 4,
34495 OPC_MoveSibling1,
34496 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34497 OPC_CheckChild0Same, 1,
34498 OPC_CheckChild1Integer, 8,
34499 OPC_CheckTypeByHwMode0,
34500 OPC_MoveParent,
34501 OPC_CheckChild2Integer, 12,
34502 OPC_CheckType, MVT::v16i16,
34503 OPC_CheckPatternPredicate0,
34504 OPC_EmitIntegerByHwMode0, 64|128,0,
34505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34506 MVT::v16i16, 3, 24,
34507 26,
34508 OPC_CheckChild2Integer, 5,
34509 OPC_MoveSibling1,
34510 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34511 OPC_CheckChild0Same, 1,
34512 OPC_CheckChild1Integer, 8,
34513 OPC_CheckTypeByHwMode0,
34514 OPC_MoveParent,
34515 OPC_CheckChild2Integer, 13,
34516 OPC_CheckType, MVT::v16i16,
34517 OPC_CheckPatternPredicate0,
34518 OPC_EmitIntegerByHwMode0, 80|128,0,
34519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34520 MVT::v16i16, 3, 24,
34521 26,
34522 OPC_CheckChild2Integer, 6,
34523 OPC_MoveSibling1,
34524 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34525 OPC_CheckChild0Same, 1,
34526 OPC_CheckChild1Integer, 8,
34527 OPC_CheckTypeByHwMode0,
34528 OPC_MoveParent,
34529 OPC_CheckChild2Integer, 14,
34530 OPC_CheckType, MVT::v16i16,
34531 OPC_CheckPatternPredicate0,
34532 OPC_EmitIntegerByHwMode0, 96|128,0,
34533 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34534 MVT::v16i16, 3, 24,
34535 26,
34536 OPC_CheckChild2Integer, 7,
34537 OPC_MoveSibling1,
34538 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34539 OPC_CheckChild0Same, 1,
34540 OPC_CheckChild1Integer, 8,
34541 OPC_CheckTypeByHwMode0,
34542 OPC_MoveParent,
34543 OPC_CheckChild2Integer, 15,
34544 OPC_CheckType, MVT::v16i16,
34545 OPC_CheckPatternPredicate0,
34546 OPC_EmitIntegerByHwMode0, 112|128,0,
34547 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34548 MVT::v16i16, 3, 24,
34549 0,
34550 90|128,1,
34551 OPC_CheckChild1Integer, 1,
34552 OPC_CheckTypeByHwMode0,
34553 OPC_MoveParent,
34554 OPC_Scope, 25,
34555 OPC_CheckChild2Integer, 0,
34556 OPC_MoveSibling1,
34557 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34558 OPC_CheckChild0Same, 1,
34559 OPC_CheckChild1Integer, 9,
34560 OPC_CheckTypeByHwMode0,
34561 OPC_MoveParent,
34562 OPC_CheckChild2Integer, 8,
34563 OPC_CheckType, MVT::v16i16,
34564 OPC_CheckPatternPredicate0,
34565 OPC_EmitIntegerByHwMode0, 1,
34566 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34567 MVT::v16i16, 3, 24,
34568 25,
34569 OPC_CheckChild2Integer, 1,
34570 OPC_MoveSibling1,
34571 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34572 OPC_CheckChild0Same, 1,
34573 OPC_CheckChild1Integer, 9,
34574 OPC_CheckTypeByHwMode0,
34575 OPC_MoveParent,
34576 OPC_CheckChild2Integer, 9,
34577 OPC_CheckType, MVT::v16i16,
34578 OPC_CheckPatternPredicate0,
34579 OPC_EmitIntegerByHwMode0, 17,
34580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34581 MVT::v16i16, 3, 24,
34582 25,
34583 OPC_CheckChild2Integer, 2,
34584 OPC_MoveSibling1,
34585 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34586 OPC_CheckChild0Same, 1,
34587 OPC_CheckChild1Integer, 9,
34588 OPC_CheckTypeByHwMode0,
34589 OPC_MoveParent,
34590 OPC_CheckChild2Integer, 10,
34591 OPC_CheckType, MVT::v16i16,
34592 OPC_CheckPatternPredicate0,
34593 OPC_EmitIntegerByHwMode0, 33,
34594 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34595 MVT::v16i16, 3, 24,
34596 25,
34597 OPC_CheckChild2Integer, 3,
34598 OPC_MoveSibling1,
34599 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34600 OPC_CheckChild0Same, 1,
34601 OPC_CheckChild1Integer, 9,
34602 OPC_CheckTypeByHwMode0,
34603 OPC_MoveParent,
34604 OPC_CheckChild2Integer, 11,
34605 OPC_CheckType, MVT::v16i16,
34606 OPC_CheckPatternPredicate0,
34607 OPC_EmitIntegerByHwMode0, 49,
34608 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34609 MVT::v16i16, 3, 24,
34610 26,
34611 OPC_CheckChild2Integer, 4,
34612 OPC_MoveSibling1,
34613 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34614 OPC_CheckChild0Same, 1,
34615 OPC_CheckChild1Integer, 9,
34616 OPC_CheckTypeByHwMode0,
34617 OPC_MoveParent,
34618 OPC_CheckChild2Integer, 12,
34619 OPC_CheckType, MVT::v16i16,
34620 OPC_CheckPatternPredicate0,
34621 OPC_EmitIntegerByHwMode0, 65|128,0,
34622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34623 MVT::v16i16, 3, 24,
34624 26,
34625 OPC_CheckChild2Integer, 5,
34626 OPC_MoveSibling1,
34627 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34628 OPC_CheckChild0Same, 1,
34629 OPC_CheckChild1Integer, 9,
34630 OPC_CheckTypeByHwMode0,
34631 OPC_MoveParent,
34632 OPC_CheckChild2Integer, 13,
34633 OPC_CheckType, MVT::v16i16,
34634 OPC_CheckPatternPredicate0,
34635 OPC_EmitIntegerByHwMode0, 81|128,0,
34636 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34637 MVT::v16i16, 3, 24,
34638 26,
34639 OPC_CheckChild2Integer, 6,
34640 OPC_MoveSibling1,
34641 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34642 OPC_CheckChild0Same, 1,
34643 OPC_CheckChild1Integer, 9,
34644 OPC_CheckTypeByHwMode0,
34645 OPC_MoveParent,
34646 OPC_CheckChild2Integer, 14,
34647 OPC_CheckType, MVT::v16i16,
34648 OPC_CheckPatternPredicate0,
34649 OPC_EmitIntegerByHwMode0, 97|128,0,
34650 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34651 MVT::v16i16, 3, 24,
34652 26,
34653 OPC_CheckChild2Integer, 7,
34654 OPC_MoveSibling1,
34655 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34656 OPC_CheckChild0Same, 1,
34657 OPC_CheckChild1Integer, 9,
34658 OPC_CheckTypeByHwMode0,
34659 OPC_MoveParent,
34660 OPC_CheckChild2Integer, 15,
34661 OPC_CheckType, MVT::v16i16,
34662 OPC_CheckPatternPredicate0,
34663 OPC_EmitIntegerByHwMode0, 113|128,0,
34664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34665 MVT::v16i16, 3, 24,
34666 0,
34667 90|128,1,
34668 OPC_CheckChild1Integer, 2,
34669 OPC_CheckTypeByHwMode0,
34670 OPC_MoveParent,
34671 OPC_Scope, 25,
34672 OPC_CheckChild2Integer, 0,
34673 OPC_MoveSibling1,
34674 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34675 OPC_CheckChild0Same, 1,
34676 OPC_CheckChild1Integer, 10,
34677 OPC_CheckTypeByHwMode0,
34678 OPC_MoveParent,
34679 OPC_CheckChild2Integer, 8,
34680 OPC_CheckType, MVT::v16i16,
34681 OPC_CheckPatternPredicate0,
34682 OPC_EmitIntegerByHwMode0, 2,
34683 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34684 MVT::v16i16, 3, 24,
34685 25,
34686 OPC_CheckChild2Integer, 1,
34687 OPC_MoveSibling1,
34688 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34689 OPC_CheckChild0Same, 1,
34690 OPC_CheckChild1Integer, 10,
34691 OPC_CheckTypeByHwMode0,
34692 OPC_MoveParent,
34693 OPC_CheckChild2Integer, 9,
34694 OPC_CheckType, MVT::v16i16,
34695 OPC_CheckPatternPredicate0,
34696 OPC_EmitIntegerByHwMode0, 18,
34697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34698 MVT::v16i16, 3, 24,
34699 25,
34700 OPC_CheckChild2Integer, 2,
34701 OPC_MoveSibling1,
34702 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34703 OPC_CheckChild0Same, 1,
34704 OPC_CheckChild1Integer, 10,
34705 OPC_CheckTypeByHwMode0,
34706 OPC_MoveParent,
34707 OPC_CheckChild2Integer, 10,
34708 OPC_CheckType, MVT::v16i16,
34709 OPC_CheckPatternPredicate0,
34710 OPC_EmitIntegerByHwMode0, 34,
34711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34712 MVT::v16i16, 3, 24,
34713 25,
34714 OPC_CheckChild2Integer, 3,
34715 OPC_MoveSibling1,
34716 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34717 OPC_CheckChild0Same, 1,
34718 OPC_CheckChild1Integer, 10,
34719 OPC_CheckTypeByHwMode0,
34720 OPC_MoveParent,
34721 OPC_CheckChild2Integer, 11,
34722 OPC_CheckType, MVT::v16i16,
34723 OPC_CheckPatternPredicate0,
34724 OPC_EmitIntegerByHwMode0, 50,
34725 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34726 MVT::v16i16, 3, 24,
34727 26,
34728 OPC_CheckChild2Integer, 4,
34729 OPC_MoveSibling1,
34730 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34731 OPC_CheckChild0Same, 1,
34732 OPC_CheckChild1Integer, 10,
34733 OPC_CheckTypeByHwMode0,
34734 OPC_MoveParent,
34735 OPC_CheckChild2Integer, 12,
34736 OPC_CheckType, MVT::v16i16,
34737 OPC_CheckPatternPredicate0,
34738 OPC_EmitIntegerByHwMode0, 66|128,0,
34739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34740 MVT::v16i16, 3, 24,
34741 26,
34742 OPC_CheckChild2Integer, 5,
34743 OPC_MoveSibling1,
34744 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34745 OPC_CheckChild0Same, 1,
34746 OPC_CheckChild1Integer, 10,
34747 OPC_CheckTypeByHwMode0,
34748 OPC_MoveParent,
34749 OPC_CheckChild2Integer, 13,
34750 OPC_CheckType, MVT::v16i16,
34751 OPC_CheckPatternPredicate0,
34752 OPC_EmitIntegerByHwMode0, 82|128,0,
34753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34754 MVT::v16i16, 3, 24,
34755 26,
34756 OPC_CheckChild2Integer, 6,
34757 OPC_MoveSibling1,
34758 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34759 OPC_CheckChild0Same, 1,
34760 OPC_CheckChild1Integer, 10,
34761 OPC_CheckTypeByHwMode0,
34762 OPC_MoveParent,
34763 OPC_CheckChild2Integer, 14,
34764 OPC_CheckType, MVT::v16i16,
34765 OPC_CheckPatternPredicate0,
34766 OPC_EmitIntegerByHwMode0, 98|128,0,
34767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34768 MVT::v16i16, 3, 24,
34769 26,
34770 OPC_CheckChild2Integer, 7,
34771 OPC_MoveSibling1,
34772 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34773 OPC_CheckChild0Same, 1,
34774 OPC_CheckChild1Integer, 10,
34775 OPC_CheckTypeByHwMode0,
34776 OPC_MoveParent,
34777 OPC_CheckChild2Integer, 15,
34778 OPC_CheckType, MVT::v16i16,
34779 OPC_CheckPatternPredicate0,
34780 OPC_EmitIntegerByHwMode0, 114|128,0,
34781 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34782 MVT::v16i16, 3, 24,
34783 0,
34784 90|128,1,
34785 OPC_CheckChild1Integer, 3,
34786 OPC_CheckTypeByHwMode0,
34787 OPC_MoveParent,
34788 OPC_Scope, 25,
34789 OPC_CheckChild2Integer, 0,
34790 OPC_MoveSibling1,
34791 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34792 OPC_CheckChild0Same, 1,
34793 OPC_CheckChild1Integer, 11,
34794 OPC_CheckTypeByHwMode0,
34795 OPC_MoveParent,
34796 OPC_CheckChild2Integer, 8,
34797 OPC_CheckType, MVT::v16i16,
34798 OPC_CheckPatternPredicate0,
34799 OPC_EmitIntegerByHwMode0, 3,
34800 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34801 MVT::v16i16, 3, 24,
34802 25,
34803 OPC_CheckChild2Integer, 1,
34804 OPC_MoveSibling1,
34805 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34806 OPC_CheckChild0Same, 1,
34807 OPC_CheckChild1Integer, 11,
34808 OPC_CheckTypeByHwMode0,
34809 OPC_MoveParent,
34810 OPC_CheckChild2Integer, 9,
34811 OPC_CheckType, MVT::v16i16,
34812 OPC_CheckPatternPredicate0,
34813 OPC_EmitIntegerByHwMode0, 19,
34814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34815 MVT::v16i16, 3, 24,
34816 25,
34817 OPC_CheckChild2Integer, 2,
34818 OPC_MoveSibling1,
34819 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34820 OPC_CheckChild0Same, 1,
34821 OPC_CheckChild1Integer, 11,
34822 OPC_CheckTypeByHwMode0,
34823 OPC_MoveParent,
34824 OPC_CheckChild2Integer, 10,
34825 OPC_CheckType, MVT::v16i16,
34826 OPC_CheckPatternPredicate0,
34827 OPC_EmitIntegerByHwMode0, 35,
34828 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34829 MVT::v16i16, 3, 24,
34830 25,
34831 OPC_CheckChild2Integer, 3,
34832 OPC_MoveSibling1,
34833 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34834 OPC_CheckChild0Same, 1,
34835 OPC_CheckChild1Integer, 11,
34836 OPC_CheckTypeByHwMode0,
34837 OPC_MoveParent,
34838 OPC_CheckChild2Integer, 11,
34839 OPC_CheckType, MVT::v16i16,
34840 OPC_CheckPatternPredicate0,
34841 OPC_EmitIntegerByHwMode0, 51,
34842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34843 MVT::v16i16, 3, 24,
34844 26,
34845 OPC_CheckChild2Integer, 4,
34846 OPC_MoveSibling1,
34847 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34848 OPC_CheckChild0Same, 1,
34849 OPC_CheckChild1Integer, 11,
34850 OPC_CheckTypeByHwMode0,
34851 OPC_MoveParent,
34852 OPC_CheckChild2Integer, 12,
34853 OPC_CheckType, MVT::v16i16,
34854 OPC_CheckPatternPredicate0,
34855 OPC_EmitIntegerByHwMode0, 67|128,0,
34856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34857 MVT::v16i16, 3, 24,
34858 26,
34859 OPC_CheckChild2Integer, 5,
34860 OPC_MoveSibling1,
34861 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34862 OPC_CheckChild0Same, 1,
34863 OPC_CheckChild1Integer, 11,
34864 OPC_CheckTypeByHwMode0,
34865 OPC_MoveParent,
34866 OPC_CheckChild2Integer, 13,
34867 OPC_CheckType, MVT::v16i16,
34868 OPC_CheckPatternPredicate0,
34869 OPC_EmitIntegerByHwMode0, 83|128,0,
34870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34871 MVT::v16i16, 3, 24,
34872 26,
34873 OPC_CheckChild2Integer, 6,
34874 OPC_MoveSibling1,
34875 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34876 OPC_CheckChild0Same, 1,
34877 OPC_CheckChild1Integer, 11,
34878 OPC_CheckTypeByHwMode0,
34879 OPC_MoveParent,
34880 OPC_CheckChild2Integer, 14,
34881 OPC_CheckType, MVT::v16i16,
34882 OPC_CheckPatternPredicate0,
34883 OPC_EmitIntegerByHwMode0, 99|128,0,
34884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34885 MVT::v16i16, 3, 24,
34886 26,
34887 OPC_CheckChild2Integer, 7,
34888 OPC_MoveSibling1,
34889 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34890 OPC_CheckChild0Same, 1,
34891 OPC_CheckChild1Integer, 11,
34892 OPC_CheckTypeByHwMode0,
34893 OPC_MoveParent,
34894 OPC_CheckChild2Integer, 15,
34895 OPC_CheckType, MVT::v16i16,
34896 OPC_CheckPatternPredicate0,
34897 OPC_EmitIntegerByHwMode0, 115|128,0,
34898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34899 MVT::v16i16, 3, 24,
34900 0,
34901 90|128,1,
34902 OPC_CheckChild1Integer, 4,
34903 OPC_CheckTypeByHwMode0,
34904 OPC_MoveParent,
34905 OPC_Scope, 25,
34906 OPC_CheckChild2Integer, 0,
34907 OPC_MoveSibling1,
34908 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34909 OPC_CheckChild0Same, 1,
34910 OPC_CheckChild1Integer, 12,
34911 OPC_CheckTypeByHwMode0,
34912 OPC_MoveParent,
34913 OPC_CheckChild2Integer, 8,
34914 OPC_CheckType, MVT::v16i16,
34915 OPC_CheckPatternPredicate0,
34916 OPC_EmitIntegerByHwMode0, 4,
34917 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34918 MVT::v16i16, 3, 24,
34919 25,
34920 OPC_CheckChild2Integer, 1,
34921 OPC_MoveSibling1,
34922 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34923 OPC_CheckChild0Same, 1,
34924 OPC_CheckChild1Integer, 12,
34925 OPC_CheckTypeByHwMode0,
34926 OPC_MoveParent,
34927 OPC_CheckChild2Integer, 9,
34928 OPC_CheckType, MVT::v16i16,
34929 OPC_CheckPatternPredicate0,
34930 OPC_EmitIntegerByHwMode0, 20,
34931 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34932 MVT::v16i16, 3, 24,
34933 25,
34934 OPC_CheckChild2Integer, 2,
34935 OPC_MoveSibling1,
34936 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34937 OPC_CheckChild0Same, 1,
34938 OPC_CheckChild1Integer, 12,
34939 OPC_CheckTypeByHwMode0,
34940 OPC_MoveParent,
34941 OPC_CheckChild2Integer, 10,
34942 OPC_CheckType, MVT::v16i16,
34943 OPC_CheckPatternPredicate0,
34944 OPC_EmitIntegerByHwMode0, 36,
34945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34946 MVT::v16i16, 3, 24,
34947 25,
34948 OPC_CheckChild2Integer, 3,
34949 OPC_MoveSibling1,
34950 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34951 OPC_CheckChild0Same, 1,
34952 OPC_CheckChild1Integer, 12,
34953 OPC_CheckTypeByHwMode0,
34954 OPC_MoveParent,
34955 OPC_CheckChild2Integer, 11,
34956 OPC_CheckType, MVT::v16i16,
34957 OPC_CheckPatternPredicate0,
34958 OPC_EmitIntegerByHwMode0, 52,
34959 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34960 MVT::v16i16, 3, 24,
34961 26,
34962 OPC_CheckChild2Integer, 4,
34963 OPC_MoveSibling1,
34964 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34965 OPC_CheckChild0Same, 1,
34966 OPC_CheckChild1Integer, 12,
34967 OPC_CheckTypeByHwMode0,
34968 OPC_MoveParent,
34969 OPC_CheckChild2Integer, 12,
34970 OPC_CheckType, MVT::v16i16,
34971 OPC_CheckPatternPredicate0,
34972 OPC_EmitIntegerByHwMode0, 68|128,0,
34973 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34974 MVT::v16i16, 3, 24,
34975 26,
34976 OPC_CheckChild2Integer, 5,
34977 OPC_MoveSibling1,
34978 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34979 OPC_CheckChild0Same, 1,
34980 OPC_CheckChild1Integer, 12,
34981 OPC_CheckTypeByHwMode0,
34982 OPC_MoveParent,
34983 OPC_CheckChild2Integer, 13,
34984 OPC_CheckType, MVT::v16i16,
34985 OPC_CheckPatternPredicate0,
34986 OPC_EmitIntegerByHwMode0, 84|128,0,
34987 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
34988 MVT::v16i16, 3, 24,
34989 26,
34990 OPC_CheckChild2Integer, 6,
34991 OPC_MoveSibling1,
34992 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
34993 OPC_CheckChild0Same, 1,
34994 OPC_CheckChild1Integer, 12,
34995 OPC_CheckTypeByHwMode0,
34996 OPC_MoveParent,
34997 OPC_CheckChild2Integer, 14,
34998 OPC_CheckType, MVT::v16i16,
34999 OPC_CheckPatternPredicate0,
35000 OPC_EmitIntegerByHwMode0, 100|128,0,
35001 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35002 MVT::v16i16, 3, 24,
35003 26,
35004 OPC_CheckChild2Integer, 7,
35005 OPC_MoveSibling1,
35006 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35007 OPC_CheckChild0Same, 1,
35008 OPC_CheckChild1Integer, 12,
35009 OPC_CheckTypeByHwMode0,
35010 OPC_MoveParent,
35011 OPC_CheckChild2Integer, 15,
35012 OPC_CheckType, MVT::v16i16,
35013 OPC_CheckPatternPredicate0,
35014 OPC_EmitIntegerByHwMode0, 116|128,0,
35015 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35016 MVT::v16i16, 3, 24,
35017 0,
35018 90|128,1,
35019 OPC_CheckChild1Integer, 5,
35020 OPC_CheckTypeByHwMode0,
35021 OPC_MoveParent,
35022 OPC_Scope, 25,
35023 OPC_CheckChild2Integer, 0,
35024 OPC_MoveSibling1,
35025 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35026 OPC_CheckChild0Same, 1,
35027 OPC_CheckChild1Integer, 13,
35028 OPC_CheckTypeByHwMode0,
35029 OPC_MoveParent,
35030 OPC_CheckChild2Integer, 8,
35031 OPC_CheckType, MVT::v16i16,
35032 OPC_CheckPatternPredicate0,
35033 OPC_EmitIntegerByHwMode0, 5,
35034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35035 MVT::v16i16, 3, 24,
35036 25,
35037 OPC_CheckChild2Integer, 1,
35038 OPC_MoveSibling1,
35039 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35040 OPC_CheckChild0Same, 1,
35041 OPC_CheckChild1Integer, 13,
35042 OPC_CheckTypeByHwMode0,
35043 OPC_MoveParent,
35044 OPC_CheckChild2Integer, 9,
35045 OPC_CheckType, MVT::v16i16,
35046 OPC_CheckPatternPredicate0,
35047 OPC_EmitIntegerByHwMode0, 21,
35048 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35049 MVT::v16i16, 3, 24,
35050 25,
35051 OPC_CheckChild2Integer, 2,
35052 OPC_MoveSibling1,
35053 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35054 OPC_CheckChild0Same, 1,
35055 OPC_CheckChild1Integer, 13,
35056 OPC_CheckTypeByHwMode0,
35057 OPC_MoveParent,
35058 OPC_CheckChild2Integer, 10,
35059 OPC_CheckType, MVT::v16i16,
35060 OPC_CheckPatternPredicate0,
35061 OPC_EmitIntegerByHwMode0, 37,
35062 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35063 MVT::v16i16, 3, 24,
35064 25,
35065 OPC_CheckChild2Integer, 3,
35066 OPC_MoveSibling1,
35067 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35068 OPC_CheckChild0Same, 1,
35069 OPC_CheckChild1Integer, 13,
35070 OPC_CheckTypeByHwMode0,
35071 OPC_MoveParent,
35072 OPC_CheckChild2Integer, 11,
35073 OPC_CheckType, MVT::v16i16,
35074 OPC_CheckPatternPredicate0,
35075 OPC_EmitIntegerByHwMode0, 53,
35076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35077 MVT::v16i16, 3, 24,
35078 26,
35079 OPC_CheckChild2Integer, 4,
35080 OPC_MoveSibling1,
35081 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35082 OPC_CheckChild0Same, 1,
35083 OPC_CheckChild1Integer, 13,
35084 OPC_CheckTypeByHwMode0,
35085 OPC_MoveParent,
35086 OPC_CheckChild2Integer, 12,
35087 OPC_CheckType, MVT::v16i16,
35088 OPC_CheckPatternPredicate0,
35089 OPC_EmitIntegerByHwMode0, 69|128,0,
35090 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35091 MVT::v16i16, 3, 24,
35092 26,
35093 OPC_CheckChild2Integer, 5,
35094 OPC_MoveSibling1,
35095 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35096 OPC_CheckChild0Same, 1,
35097 OPC_CheckChild1Integer, 13,
35098 OPC_CheckTypeByHwMode0,
35099 OPC_MoveParent,
35100 OPC_CheckChild2Integer, 13,
35101 OPC_CheckType, MVT::v16i16,
35102 OPC_CheckPatternPredicate0,
35103 OPC_EmitIntegerByHwMode0, 85|128,0,
35104 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35105 MVT::v16i16, 3, 24,
35106 26,
35107 OPC_CheckChild2Integer, 6,
35108 OPC_MoveSibling1,
35109 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35110 OPC_CheckChild0Same, 1,
35111 OPC_CheckChild1Integer, 13,
35112 OPC_CheckTypeByHwMode0,
35113 OPC_MoveParent,
35114 OPC_CheckChild2Integer, 14,
35115 OPC_CheckType, MVT::v16i16,
35116 OPC_CheckPatternPredicate0,
35117 OPC_EmitIntegerByHwMode0, 101|128,0,
35118 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35119 MVT::v16i16, 3, 24,
35120 26,
35121 OPC_CheckChild2Integer, 7,
35122 OPC_MoveSibling1,
35123 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35124 OPC_CheckChild0Same, 1,
35125 OPC_CheckChild1Integer, 13,
35126 OPC_CheckTypeByHwMode0,
35127 OPC_MoveParent,
35128 OPC_CheckChild2Integer, 15,
35129 OPC_CheckType, MVT::v16i16,
35130 OPC_CheckPatternPredicate0,
35131 OPC_EmitIntegerByHwMode0, 117|128,0,
35132 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35133 MVT::v16i16, 3, 24,
35134 0,
35135 90|128,1,
35136 OPC_CheckChild1Integer, 6,
35137 OPC_CheckTypeByHwMode0,
35138 OPC_MoveParent,
35139 OPC_Scope, 25,
35140 OPC_CheckChild2Integer, 0,
35141 OPC_MoveSibling1,
35142 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35143 OPC_CheckChild0Same, 1,
35144 OPC_CheckChild1Integer, 14,
35145 OPC_CheckTypeByHwMode0,
35146 OPC_MoveParent,
35147 OPC_CheckChild2Integer, 8,
35148 OPC_CheckType, MVT::v16i16,
35149 OPC_CheckPatternPredicate0,
35150 OPC_EmitIntegerByHwMode0, 6,
35151 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35152 MVT::v16i16, 3, 24,
35153 25,
35154 OPC_CheckChild2Integer, 1,
35155 OPC_MoveSibling1,
35156 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35157 OPC_CheckChild0Same, 1,
35158 OPC_CheckChild1Integer, 14,
35159 OPC_CheckTypeByHwMode0,
35160 OPC_MoveParent,
35161 OPC_CheckChild2Integer, 9,
35162 OPC_CheckType, MVT::v16i16,
35163 OPC_CheckPatternPredicate0,
35164 OPC_EmitIntegerByHwMode0, 22,
35165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35166 MVT::v16i16, 3, 24,
35167 25,
35168 OPC_CheckChild2Integer, 2,
35169 OPC_MoveSibling1,
35170 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35171 OPC_CheckChild0Same, 1,
35172 OPC_CheckChild1Integer, 14,
35173 OPC_CheckTypeByHwMode0,
35174 OPC_MoveParent,
35175 OPC_CheckChild2Integer, 10,
35176 OPC_CheckType, MVT::v16i16,
35177 OPC_CheckPatternPredicate0,
35178 OPC_EmitIntegerByHwMode0, 38,
35179 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35180 MVT::v16i16, 3, 24,
35181 25,
35182 OPC_CheckChild2Integer, 3,
35183 OPC_MoveSibling1,
35184 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35185 OPC_CheckChild0Same, 1,
35186 OPC_CheckChild1Integer, 14,
35187 OPC_CheckTypeByHwMode0,
35188 OPC_MoveParent,
35189 OPC_CheckChild2Integer, 11,
35190 OPC_CheckType, MVT::v16i16,
35191 OPC_CheckPatternPredicate0,
35192 OPC_EmitIntegerByHwMode0, 54,
35193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35194 MVT::v16i16, 3, 24,
35195 26,
35196 OPC_CheckChild2Integer, 4,
35197 OPC_MoveSibling1,
35198 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35199 OPC_CheckChild0Same, 1,
35200 OPC_CheckChild1Integer, 14,
35201 OPC_CheckTypeByHwMode0,
35202 OPC_MoveParent,
35203 OPC_CheckChild2Integer, 12,
35204 OPC_CheckType, MVT::v16i16,
35205 OPC_CheckPatternPredicate0,
35206 OPC_EmitIntegerByHwMode0, 70|128,0,
35207 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35208 MVT::v16i16, 3, 24,
35209 26,
35210 OPC_CheckChild2Integer, 5,
35211 OPC_MoveSibling1,
35212 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35213 OPC_CheckChild0Same, 1,
35214 OPC_CheckChild1Integer, 14,
35215 OPC_CheckTypeByHwMode0,
35216 OPC_MoveParent,
35217 OPC_CheckChild2Integer, 13,
35218 OPC_CheckType, MVT::v16i16,
35219 OPC_CheckPatternPredicate0,
35220 OPC_EmitIntegerByHwMode0, 86|128,0,
35221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35222 MVT::v16i16, 3, 24,
35223 26,
35224 OPC_CheckChild2Integer, 6,
35225 OPC_MoveSibling1,
35226 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35227 OPC_CheckChild0Same, 1,
35228 OPC_CheckChild1Integer, 14,
35229 OPC_CheckTypeByHwMode0,
35230 OPC_MoveParent,
35231 OPC_CheckChild2Integer, 14,
35232 OPC_CheckType, MVT::v16i16,
35233 OPC_CheckPatternPredicate0,
35234 OPC_EmitIntegerByHwMode0, 102|128,0,
35235 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35236 MVT::v16i16, 3, 24,
35237 26,
35238 OPC_CheckChild2Integer, 7,
35239 OPC_MoveSibling1,
35240 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35241 OPC_CheckChild0Same, 1,
35242 OPC_CheckChild1Integer, 14,
35243 OPC_CheckTypeByHwMode0,
35244 OPC_MoveParent,
35245 OPC_CheckChild2Integer, 15,
35246 OPC_CheckType, MVT::v16i16,
35247 OPC_CheckPatternPredicate0,
35248 OPC_EmitIntegerByHwMode0, 118|128,0,
35249 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35250 MVT::v16i16, 3, 24,
35251 0,
35252 90|128,1,
35253 OPC_CheckChild1Integer, 7,
35254 OPC_CheckTypeByHwMode0,
35255 OPC_MoveParent,
35256 OPC_Scope, 25,
35257 OPC_CheckChild2Integer, 0,
35258 OPC_MoveSibling1,
35259 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35260 OPC_CheckChild0Same, 1,
35261 OPC_CheckChild1Integer, 15,
35262 OPC_CheckTypeByHwMode0,
35263 OPC_MoveParent,
35264 OPC_CheckChild2Integer, 8,
35265 OPC_CheckType, MVT::v16i16,
35266 OPC_CheckPatternPredicate0,
35267 OPC_EmitIntegerByHwMode0, 7,
35268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35269 MVT::v16i16, 3, 24,
35270 25,
35271 OPC_CheckChild2Integer, 1,
35272 OPC_MoveSibling1,
35273 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35274 OPC_CheckChild0Same, 1,
35275 OPC_CheckChild1Integer, 15,
35276 OPC_CheckTypeByHwMode0,
35277 OPC_MoveParent,
35278 OPC_CheckChild2Integer, 9,
35279 OPC_CheckType, MVT::v16i16,
35280 OPC_CheckPatternPredicate0,
35281 OPC_EmitIntegerByHwMode0, 23,
35282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35283 MVT::v16i16, 3, 24,
35284 25,
35285 OPC_CheckChild2Integer, 2,
35286 OPC_MoveSibling1,
35287 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35288 OPC_CheckChild0Same, 1,
35289 OPC_CheckChild1Integer, 15,
35290 OPC_CheckTypeByHwMode0,
35291 OPC_MoveParent,
35292 OPC_CheckChild2Integer, 10,
35293 OPC_CheckType, MVT::v16i16,
35294 OPC_CheckPatternPredicate0,
35295 OPC_EmitIntegerByHwMode0, 39,
35296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35297 MVT::v16i16, 3, 24,
35298 25,
35299 OPC_CheckChild2Integer, 3,
35300 OPC_MoveSibling1,
35301 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35302 OPC_CheckChild0Same, 1,
35303 OPC_CheckChild1Integer, 15,
35304 OPC_CheckTypeByHwMode0,
35305 OPC_MoveParent,
35306 OPC_CheckChild2Integer, 11,
35307 OPC_CheckType, MVT::v16i16,
35308 OPC_CheckPatternPredicate0,
35309 OPC_EmitIntegerByHwMode0, 55,
35310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35311 MVT::v16i16, 3, 24,
35312 26,
35313 OPC_CheckChild2Integer, 4,
35314 OPC_MoveSibling1,
35315 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35316 OPC_CheckChild0Same, 1,
35317 OPC_CheckChild1Integer, 15,
35318 OPC_CheckTypeByHwMode0,
35319 OPC_MoveParent,
35320 OPC_CheckChild2Integer, 12,
35321 OPC_CheckType, MVT::v16i16,
35322 OPC_CheckPatternPredicate0,
35323 OPC_EmitIntegerByHwMode0, 71|128,0,
35324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35325 MVT::v16i16, 3, 24,
35326 26,
35327 OPC_CheckChild2Integer, 5,
35328 OPC_MoveSibling1,
35329 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35330 OPC_CheckChild0Same, 1,
35331 OPC_CheckChild1Integer, 15,
35332 OPC_CheckTypeByHwMode0,
35333 OPC_MoveParent,
35334 OPC_CheckChild2Integer, 13,
35335 OPC_CheckType, MVT::v16i16,
35336 OPC_CheckPatternPredicate0,
35337 OPC_EmitIntegerByHwMode0, 87|128,0,
35338 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35339 MVT::v16i16, 3, 24,
35340 26,
35341 OPC_CheckChild2Integer, 6,
35342 OPC_MoveSibling1,
35343 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35344 OPC_CheckChild0Same, 1,
35345 OPC_CheckChild1Integer, 15,
35346 OPC_CheckTypeByHwMode0,
35347 OPC_MoveParent,
35348 OPC_CheckChild2Integer, 14,
35349 OPC_CheckType, MVT::v16i16,
35350 OPC_CheckPatternPredicate0,
35351 OPC_EmitIntegerByHwMode0, 103|128,0,
35352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35353 MVT::v16i16, 3, 24,
35354 26,
35355 OPC_CheckChild2Integer, 7,
35356 OPC_MoveSibling1,
35357 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35358 OPC_CheckChild0Same, 1,
35359 OPC_CheckChild1Integer, 15,
35360 OPC_CheckTypeByHwMode0,
35361 OPC_MoveParent,
35362 OPC_CheckChild2Integer, 15,
35363 OPC_CheckType, MVT::v16i16,
35364 OPC_CheckPatternPredicate0,
35365 OPC_EmitIntegerByHwMode0, 119|128,0,
35366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_H),
35367 MVT::v16i16, 3, 24,
35368 0,
35369 0,
35370 64|128,3,
35371 OPC_CheckChild0Type, MVT::v8i32,
35372 OPC_Scope, 110,
35373 OPC_CheckChild1Integer, 0,
35374 OPC_CheckTypeByHwMode0,
35375 OPC_MoveParent,
35376 OPC_Scope, 25,
35377 OPC_CheckChild2Integer, 0,
35378 OPC_MoveSibling1,
35379 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35380 OPC_CheckChild0Same, 1,
35381 OPC_CheckChild1Integer, 4,
35382 OPC_CheckTypeByHwMode0,
35383 OPC_MoveParent,
35384 OPC_CheckChild2Integer, 4,
35385 OPC_CheckType, MVT::v8i32,
35386 OPC_CheckPatternPredicate0,
35387 OPC_EmitIntegerByHwMode0, 0,
35388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35389 MVT::v8i32, 3, 24,
35390 25,
35391 OPC_CheckChild2Integer, 1,
35392 OPC_MoveSibling1,
35393 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35394 OPC_CheckChild0Same, 1,
35395 OPC_CheckChild1Integer, 4,
35396 OPC_CheckTypeByHwMode0,
35397 OPC_MoveParent,
35398 OPC_CheckChild2Integer, 5,
35399 OPC_CheckType, MVT::v8i32,
35400 OPC_CheckPatternPredicate0,
35401 OPC_EmitIntegerByHwMode0, 16,
35402 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35403 MVT::v8i32, 3, 24,
35404 25,
35405 OPC_CheckChild2Integer, 2,
35406 OPC_MoveSibling1,
35407 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35408 OPC_CheckChild0Same, 1,
35409 OPC_CheckChild1Integer, 4,
35410 OPC_CheckTypeByHwMode0,
35411 OPC_MoveParent,
35412 OPC_CheckChild2Integer, 6,
35413 OPC_CheckType, MVT::v8i32,
35414 OPC_CheckPatternPredicate0,
35415 OPC_EmitIntegerByHwMode0, 32,
35416 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35417 MVT::v8i32, 3, 24,
35418 25,
35419 OPC_CheckChild2Integer, 3,
35420 OPC_MoveSibling1,
35421 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35422 OPC_CheckChild0Same, 1,
35423 OPC_CheckChild1Integer, 4,
35424 OPC_CheckTypeByHwMode0,
35425 OPC_MoveParent,
35426 OPC_CheckChild2Integer, 7,
35427 OPC_CheckType, MVT::v8i32,
35428 OPC_CheckPatternPredicate0,
35429 OPC_EmitIntegerByHwMode0, 48,
35430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35431 MVT::v8i32, 3, 24,
35432 0,
35433 110,
35434 OPC_CheckChild1Integer, 1,
35435 OPC_CheckTypeByHwMode0,
35436 OPC_MoveParent,
35437 OPC_Scope, 25,
35438 OPC_CheckChild2Integer, 0,
35439 OPC_MoveSibling1,
35440 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35441 OPC_CheckChild0Same, 1,
35442 OPC_CheckChild1Integer, 5,
35443 OPC_CheckTypeByHwMode0,
35444 OPC_MoveParent,
35445 OPC_CheckChild2Integer, 4,
35446 OPC_CheckType, MVT::v8i32,
35447 OPC_CheckPatternPredicate0,
35448 OPC_EmitIntegerByHwMode0, 1,
35449 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35450 MVT::v8i32, 3, 24,
35451 25,
35452 OPC_CheckChild2Integer, 1,
35453 OPC_MoveSibling1,
35454 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35455 OPC_CheckChild0Same, 1,
35456 OPC_CheckChild1Integer, 5,
35457 OPC_CheckTypeByHwMode0,
35458 OPC_MoveParent,
35459 OPC_CheckChild2Integer, 5,
35460 OPC_CheckType, MVT::v8i32,
35461 OPC_CheckPatternPredicate0,
35462 OPC_EmitIntegerByHwMode0, 17,
35463 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35464 MVT::v8i32, 3, 24,
35465 25,
35466 OPC_CheckChild2Integer, 2,
35467 OPC_MoveSibling1,
35468 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35469 OPC_CheckChild0Same, 1,
35470 OPC_CheckChild1Integer, 5,
35471 OPC_CheckTypeByHwMode0,
35472 OPC_MoveParent,
35473 OPC_CheckChild2Integer, 6,
35474 OPC_CheckType, MVT::v8i32,
35475 OPC_CheckPatternPredicate0,
35476 OPC_EmitIntegerByHwMode0, 33,
35477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35478 MVT::v8i32, 3, 24,
35479 25,
35480 OPC_CheckChild2Integer, 3,
35481 OPC_MoveSibling1,
35482 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35483 OPC_CheckChild0Same, 1,
35484 OPC_CheckChild1Integer, 5,
35485 OPC_CheckTypeByHwMode0,
35486 OPC_MoveParent,
35487 OPC_CheckChild2Integer, 7,
35488 OPC_CheckType, MVT::v8i32,
35489 OPC_CheckPatternPredicate0,
35490 OPC_EmitIntegerByHwMode0, 49,
35491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35492 MVT::v8i32, 3, 24,
35493 0,
35494 110,
35495 OPC_CheckChild1Integer, 2,
35496 OPC_CheckTypeByHwMode0,
35497 OPC_MoveParent,
35498 OPC_Scope, 25,
35499 OPC_CheckChild2Integer, 0,
35500 OPC_MoveSibling1,
35501 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35502 OPC_CheckChild0Same, 1,
35503 OPC_CheckChild1Integer, 6,
35504 OPC_CheckTypeByHwMode0,
35505 OPC_MoveParent,
35506 OPC_CheckChild2Integer, 4,
35507 OPC_CheckType, MVT::v8i32,
35508 OPC_CheckPatternPredicate0,
35509 OPC_EmitIntegerByHwMode0, 2,
35510 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35511 MVT::v8i32, 3, 24,
35512 25,
35513 OPC_CheckChild2Integer, 1,
35514 OPC_MoveSibling1,
35515 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35516 OPC_CheckChild0Same, 1,
35517 OPC_CheckChild1Integer, 6,
35518 OPC_CheckTypeByHwMode0,
35519 OPC_MoveParent,
35520 OPC_CheckChild2Integer, 5,
35521 OPC_CheckType, MVT::v8i32,
35522 OPC_CheckPatternPredicate0,
35523 OPC_EmitIntegerByHwMode0, 18,
35524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35525 MVT::v8i32, 3, 24,
35526 25,
35527 OPC_CheckChild2Integer, 2,
35528 OPC_MoveSibling1,
35529 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35530 OPC_CheckChild0Same, 1,
35531 OPC_CheckChild1Integer, 6,
35532 OPC_CheckTypeByHwMode0,
35533 OPC_MoveParent,
35534 OPC_CheckChild2Integer, 6,
35535 OPC_CheckType, MVT::v8i32,
35536 OPC_CheckPatternPredicate0,
35537 OPC_EmitIntegerByHwMode0, 34,
35538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35539 MVT::v8i32, 3, 24,
35540 25,
35541 OPC_CheckChild2Integer, 3,
35542 OPC_MoveSibling1,
35543 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35544 OPC_CheckChild0Same, 1,
35545 OPC_CheckChild1Integer, 6,
35546 OPC_CheckTypeByHwMode0,
35547 OPC_MoveParent,
35548 OPC_CheckChild2Integer, 7,
35549 OPC_CheckType, MVT::v8i32,
35550 OPC_CheckPatternPredicate0,
35551 OPC_EmitIntegerByHwMode0, 50,
35552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35553 MVT::v8i32, 3, 24,
35554 0,
35555 110,
35556 OPC_CheckChild1Integer, 3,
35557 OPC_CheckTypeByHwMode0,
35558 OPC_MoveParent,
35559 OPC_Scope, 25,
35560 OPC_CheckChild2Integer, 0,
35561 OPC_MoveSibling1,
35562 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35563 OPC_CheckChild0Same, 1,
35564 OPC_CheckChild1Integer, 7,
35565 OPC_CheckTypeByHwMode0,
35566 OPC_MoveParent,
35567 OPC_CheckChild2Integer, 4,
35568 OPC_CheckType, MVT::v8i32,
35569 OPC_CheckPatternPredicate0,
35570 OPC_EmitIntegerByHwMode0, 3,
35571 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35572 MVT::v8i32, 3, 24,
35573 25,
35574 OPC_CheckChild2Integer, 1,
35575 OPC_MoveSibling1,
35576 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35577 OPC_CheckChild0Same, 1,
35578 OPC_CheckChild1Integer, 7,
35579 OPC_CheckTypeByHwMode0,
35580 OPC_MoveParent,
35581 OPC_CheckChild2Integer, 5,
35582 OPC_CheckType, MVT::v8i32,
35583 OPC_CheckPatternPredicate0,
35584 OPC_EmitIntegerByHwMode0, 19,
35585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35586 MVT::v8i32, 3, 24,
35587 25,
35588 OPC_CheckChild2Integer, 2,
35589 OPC_MoveSibling1,
35590 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35591 OPC_CheckChild0Same, 1,
35592 OPC_CheckChild1Integer, 7,
35593 OPC_CheckTypeByHwMode0,
35594 OPC_MoveParent,
35595 OPC_CheckChild2Integer, 6,
35596 OPC_CheckType, MVT::v8i32,
35597 OPC_CheckPatternPredicate0,
35598 OPC_EmitIntegerByHwMode0, 35,
35599 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35600 MVT::v8i32, 3, 24,
35601 25,
35602 OPC_CheckChild2Integer, 3,
35603 OPC_MoveSibling1,
35604 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35605 OPC_CheckChild0Same, 1,
35606 OPC_CheckChild1Integer, 7,
35607 OPC_CheckTypeByHwMode0,
35608 OPC_MoveParent,
35609 OPC_CheckChild2Integer, 7,
35610 OPC_CheckType, MVT::v8i32,
35611 OPC_CheckPatternPredicate0,
35612 OPC_EmitIntegerByHwMode0, 51,
35613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
35614 MVT::v8i32, 3, 24,
35615 0,
35616 0,
35617 122,
35618 OPC_CheckChild0Type, MVT::v4i64,
35619 OPC_Scope, 58,
35620 OPC_CheckChild1Integer, 0,
35621 OPC_CheckTypeByHwMode0,
35622 OPC_MoveParent,
35623 OPC_Scope, 25,
35624 OPC_CheckChild2Integer, 0,
35625 OPC_MoveSibling1,
35626 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35627 OPC_CheckChild0Same, 1,
35628 OPC_CheckChild1Integer, 2,
35629 OPC_CheckTypeByHwMode0,
35630 OPC_MoveParent,
35631 OPC_CheckChild2Integer, 2,
35632 OPC_CheckType, MVT::v4i64,
35633 OPC_CheckPatternPredicate0,
35634 OPC_EmitIntegerByHwMode0, 0,
35635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
35636 MVT::v4i64, 3, 24,
35637 25,
35638 OPC_CheckChild2Integer, 1,
35639 OPC_MoveSibling1,
35640 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35641 OPC_CheckChild0Same, 1,
35642 OPC_CheckChild1Integer, 2,
35643 OPC_CheckTypeByHwMode0,
35644 OPC_MoveParent,
35645 OPC_CheckChild2Integer, 3,
35646 OPC_CheckType, MVT::v4i64,
35647 OPC_CheckPatternPredicate0,
35648 OPC_EmitIntegerByHwMode0, 16,
35649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
35650 MVT::v4i64, 3, 24,
35651 0,
35652 58,
35653 OPC_CheckChild1Integer, 1,
35654 OPC_CheckTypeByHwMode0,
35655 OPC_MoveParent,
35656 OPC_Scope, 25,
35657 OPC_CheckChild2Integer, 0,
35658 OPC_MoveSibling1,
35659 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35660 OPC_CheckChild0Same, 1,
35661 OPC_CheckChild1Integer, 3,
35662 OPC_CheckTypeByHwMode0,
35663 OPC_MoveParent,
35664 OPC_CheckChild2Integer, 2,
35665 OPC_CheckType, MVT::v4i64,
35666 OPC_CheckPatternPredicate0,
35667 OPC_EmitIntegerByHwMode0, 1,
35668 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
35669 MVT::v4i64, 3, 24,
35670 25,
35671 OPC_CheckChild2Integer, 1,
35672 OPC_MoveSibling1,
35673 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35674 OPC_CheckChild0Same, 1,
35675 OPC_CheckChild1Integer, 3,
35676 OPC_CheckTypeByHwMode0,
35677 OPC_MoveParent,
35678 OPC_CheckChild2Integer, 3,
35679 OPC_CheckType, MVT::v4i64,
35680 OPC_CheckPatternPredicate0,
35681 OPC_EmitIntegerByHwMode0, 17,
35682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
35683 MVT::v4i64, 3, 24,
35684 0,
35685 0,
35686 0,
35687 22|128,38,
35688 OPC_RecordChild0,
35689 OPC_Scope, 14|128,37,
35690 OPC_MoveChild1,
35691 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
35692 OPC_RecordChild0,
35693 OPC_Scope, 100|128,26,
35694 OPC_CheckChild0Type, MVT::v16i8,
35695 OPC_Scope, 84|128,1,
35696 OPC_CheckChild1Integer, 0,
35697 OPC_CheckTypeByHwMode0,
35698 OPC_MoveParent,
35699 OPC_CheckType, MVT::v16i8,
35700 OPC_Scope, 11,
35701 OPC_CheckChild2Integer, 0,
35702 OPC_CheckPatternPredicate1,
35703 OPC_EmitIntegerByHwMode0, 0,
35704 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35705 MVT::v16i8, 3, 24,
35706 11,
35707 OPC_CheckChild2Integer, 1,
35708 OPC_CheckPatternPredicate1,
35709 OPC_EmitIntegerByHwMode0, 16,
35710 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35711 MVT::v16i8, 3, 24,
35712 11,
35713 OPC_CheckChild2Integer, 2,
35714 OPC_CheckPatternPredicate1,
35715 OPC_EmitIntegerByHwMode0, 32,
35716 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35717 MVT::v16i8, 3, 24,
35718 11,
35719 OPC_CheckChild2Integer, 3,
35720 OPC_CheckPatternPredicate1,
35721 OPC_EmitIntegerByHwMode0, 48,
35722 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35723 MVT::v16i8, 3, 24,
35724 12,
35725 OPC_CheckChild2Integer, 4,
35726 OPC_CheckPatternPredicate1,
35727 OPC_EmitIntegerByHwMode0, 64|128,0,
35728 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35729 MVT::v16i8, 3, 24,
35730 12,
35731 OPC_CheckChild2Integer, 5,
35732 OPC_CheckPatternPredicate1,
35733 OPC_EmitIntegerByHwMode0, 80|128,0,
35734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35735 MVT::v16i8, 3, 24,
35736 12,
35737 OPC_CheckChild2Integer, 6,
35738 OPC_CheckPatternPredicate1,
35739 OPC_EmitIntegerByHwMode0, 96|128,0,
35740 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35741 MVT::v16i8, 3, 24,
35742 12,
35743 OPC_CheckChild2Integer, 7,
35744 OPC_CheckPatternPredicate1,
35745 OPC_EmitIntegerByHwMode0, 112|128,0,
35746 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35747 MVT::v16i8, 3, 24,
35748 12,
35749 OPC_CheckChild2Integer, 8,
35750 OPC_CheckPatternPredicate1,
35751 OPC_EmitIntegerByHwMode0, 0|128,1,
35752 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35753 MVT::v16i8, 3, 24,
35754 12,
35755 OPC_CheckChild2Integer, 9,
35756 OPC_CheckPatternPredicate1,
35757 OPC_EmitIntegerByHwMode0, 16|128,1,
35758 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35759 MVT::v16i8, 3, 24,
35760 12,
35761 OPC_CheckChild2Integer, 10,
35762 OPC_CheckPatternPredicate1,
35763 OPC_EmitIntegerByHwMode0, 32|128,1,
35764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35765 MVT::v16i8, 3, 24,
35766 12,
35767 OPC_CheckChild2Integer, 11,
35768 OPC_CheckPatternPredicate1,
35769 OPC_EmitIntegerByHwMode0, 48|128,1,
35770 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35771 MVT::v16i8, 3, 24,
35772 12,
35773 OPC_CheckChild2Integer, 12,
35774 OPC_CheckPatternPredicate1,
35775 OPC_EmitIntegerByHwMode0, 64|128,1,
35776 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35777 MVT::v16i8, 3, 24,
35778 12,
35779 OPC_CheckChild2Integer, 13,
35780 OPC_CheckPatternPredicate1,
35781 OPC_EmitIntegerByHwMode0, 80|128,1,
35782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35783 MVT::v16i8, 3, 24,
35784 12,
35785 OPC_CheckChild2Integer, 14,
35786 OPC_CheckPatternPredicate1,
35787 OPC_EmitIntegerByHwMode0, 96|128,1,
35788 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35789 MVT::v16i8, 3, 24,
35790 12,
35791 OPC_CheckChild2Integer, 15,
35792 OPC_CheckPatternPredicate1,
35793 OPC_EmitIntegerByHwMode0, 112|128,1,
35794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35795 MVT::v16i8, 3, 24,
35796 0,
35797 84|128,1,
35798 OPC_CheckChild1Integer, 1,
35799 OPC_CheckTypeByHwMode0,
35800 OPC_MoveParent,
35801 OPC_CheckType, MVT::v16i8,
35802 OPC_Scope, 11,
35803 OPC_CheckChild2Integer, 0,
35804 OPC_CheckPatternPredicate1,
35805 OPC_EmitIntegerByHwMode0, 1,
35806 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35807 MVT::v16i8, 3, 24,
35808 11,
35809 OPC_CheckChild2Integer, 1,
35810 OPC_CheckPatternPredicate1,
35811 OPC_EmitIntegerByHwMode0, 17,
35812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35813 MVT::v16i8, 3, 24,
35814 11,
35815 OPC_CheckChild2Integer, 2,
35816 OPC_CheckPatternPredicate1,
35817 OPC_EmitIntegerByHwMode0, 33,
35818 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35819 MVT::v16i8, 3, 24,
35820 11,
35821 OPC_CheckChild2Integer, 3,
35822 OPC_CheckPatternPredicate1,
35823 OPC_EmitIntegerByHwMode0, 49,
35824 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35825 MVT::v16i8, 3, 24,
35826 12,
35827 OPC_CheckChild2Integer, 4,
35828 OPC_CheckPatternPredicate1,
35829 OPC_EmitIntegerByHwMode0, 65|128,0,
35830 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35831 MVT::v16i8, 3, 24,
35832 12,
35833 OPC_CheckChild2Integer, 5,
35834 OPC_CheckPatternPredicate1,
35835 OPC_EmitIntegerByHwMode0, 81|128,0,
35836 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35837 MVT::v16i8, 3, 24,
35838 12,
35839 OPC_CheckChild2Integer, 6,
35840 OPC_CheckPatternPredicate1,
35841 OPC_EmitIntegerByHwMode0, 97|128,0,
35842 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35843 MVT::v16i8, 3, 24,
35844 12,
35845 OPC_CheckChild2Integer, 7,
35846 OPC_CheckPatternPredicate1,
35847 OPC_EmitIntegerByHwMode0, 113|128,0,
35848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35849 MVT::v16i8, 3, 24,
35850 12,
35851 OPC_CheckChild2Integer, 8,
35852 OPC_CheckPatternPredicate1,
35853 OPC_EmitIntegerByHwMode0, 1|128,1,
35854 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35855 MVT::v16i8, 3, 24,
35856 12,
35857 OPC_CheckChild2Integer, 9,
35858 OPC_CheckPatternPredicate1,
35859 OPC_EmitIntegerByHwMode0, 17|128,1,
35860 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35861 MVT::v16i8, 3, 24,
35862 12,
35863 OPC_CheckChild2Integer, 10,
35864 OPC_CheckPatternPredicate1,
35865 OPC_EmitIntegerByHwMode0, 33|128,1,
35866 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35867 MVT::v16i8, 3, 24,
35868 12,
35869 OPC_CheckChild2Integer, 11,
35870 OPC_CheckPatternPredicate1,
35871 OPC_EmitIntegerByHwMode0, 49|128,1,
35872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35873 MVT::v16i8, 3, 24,
35874 12,
35875 OPC_CheckChild2Integer, 12,
35876 OPC_CheckPatternPredicate1,
35877 OPC_EmitIntegerByHwMode0, 65|128,1,
35878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35879 MVT::v16i8, 3, 24,
35880 12,
35881 OPC_CheckChild2Integer, 13,
35882 OPC_CheckPatternPredicate1,
35883 OPC_EmitIntegerByHwMode0, 81|128,1,
35884 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35885 MVT::v16i8, 3, 24,
35886 12,
35887 OPC_CheckChild2Integer, 14,
35888 OPC_CheckPatternPredicate1,
35889 OPC_EmitIntegerByHwMode0, 97|128,1,
35890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35891 MVT::v16i8, 3, 24,
35892 12,
35893 OPC_CheckChild2Integer, 15,
35894 OPC_CheckPatternPredicate1,
35895 OPC_EmitIntegerByHwMode0, 113|128,1,
35896 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35897 MVT::v16i8, 3, 24,
35898 0,
35899 84|128,1,
35900 OPC_CheckChild1Integer, 2,
35901 OPC_CheckTypeByHwMode0,
35902 OPC_MoveParent,
35903 OPC_CheckType, MVT::v16i8,
35904 OPC_Scope, 11,
35905 OPC_CheckChild2Integer, 0,
35906 OPC_CheckPatternPredicate1,
35907 OPC_EmitIntegerByHwMode0, 2,
35908 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35909 MVT::v16i8, 3, 24,
35910 11,
35911 OPC_CheckChild2Integer, 1,
35912 OPC_CheckPatternPredicate1,
35913 OPC_EmitIntegerByHwMode0, 18,
35914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35915 MVT::v16i8, 3, 24,
35916 11,
35917 OPC_CheckChild2Integer, 2,
35918 OPC_CheckPatternPredicate1,
35919 OPC_EmitIntegerByHwMode0, 34,
35920 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35921 MVT::v16i8, 3, 24,
35922 11,
35923 OPC_CheckChild2Integer, 3,
35924 OPC_CheckPatternPredicate1,
35925 OPC_EmitIntegerByHwMode0, 50,
35926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35927 MVT::v16i8, 3, 24,
35928 12,
35929 OPC_CheckChild2Integer, 4,
35930 OPC_CheckPatternPredicate1,
35931 OPC_EmitIntegerByHwMode0, 66|128,0,
35932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35933 MVT::v16i8, 3, 24,
35934 12,
35935 OPC_CheckChild2Integer, 5,
35936 OPC_CheckPatternPredicate1,
35937 OPC_EmitIntegerByHwMode0, 82|128,0,
35938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35939 MVT::v16i8, 3, 24,
35940 12,
35941 OPC_CheckChild2Integer, 6,
35942 OPC_CheckPatternPredicate1,
35943 OPC_EmitIntegerByHwMode0, 98|128,0,
35944 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35945 MVT::v16i8, 3, 24,
35946 12,
35947 OPC_CheckChild2Integer, 7,
35948 OPC_CheckPatternPredicate1,
35949 OPC_EmitIntegerByHwMode0, 114|128,0,
35950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35951 MVT::v16i8, 3, 24,
35952 12,
35953 OPC_CheckChild2Integer, 8,
35954 OPC_CheckPatternPredicate1,
35955 OPC_EmitIntegerByHwMode0, 2|128,1,
35956 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35957 MVT::v16i8, 3, 24,
35958 12,
35959 OPC_CheckChild2Integer, 9,
35960 OPC_CheckPatternPredicate1,
35961 OPC_EmitIntegerByHwMode0, 18|128,1,
35962 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35963 MVT::v16i8, 3, 24,
35964 12,
35965 OPC_CheckChild2Integer, 10,
35966 OPC_CheckPatternPredicate1,
35967 OPC_EmitIntegerByHwMode0, 34|128,1,
35968 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35969 MVT::v16i8, 3, 24,
35970 12,
35971 OPC_CheckChild2Integer, 11,
35972 OPC_CheckPatternPredicate1,
35973 OPC_EmitIntegerByHwMode0, 50|128,1,
35974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35975 MVT::v16i8, 3, 24,
35976 12,
35977 OPC_CheckChild2Integer, 12,
35978 OPC_CheckPatternPredicate1,
35979 OPC_EmitIntegerByHwMode0, 66|128,1,
35980 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35981 MVT::v16i8, 3, 24,
35982 12,
35983 OPC_CheckChild2Integer, 13,
35984 OPC_CheckPatternPredicate1,
35985 OPC_EmitIntegerByHwMode0, 82|128,1,
35986 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35987 MVT::v16i8, 3, 24,
35988 12,
35989 OPC_CheckChild2Integer, 14,
35990 OPC_CheckPatternPredicate1,
35991 OPC_EmitIntegerByHwMode0, 98|128,1,
35992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35993 MVT::v16i8, 3, 24,
35994 12,
35995 OPC_CheckChild2Integer, 15,
35996 OPC_CheckPatternPredicate1,
35997 OPC_EmitIntegerByHwMode0, 114|128,1,
35998 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
35999 MVT::v16i8, 3, 24,
36000 0,
36001 84|128,1,
36002 OPC_CheckChild1Integer, 3,
36003 OPC_CheckTypeByHwMode0,
36004 OPC_MoveParent,
36005 OPC_CheckType, MVT::v16i8,
36006 OPC_Scope, 11,
36007 OPC_CheckChild2Integer, 0,
36008 OPC_CheckPatternPredicate1,
36009 OPC_EmitIntegerByHwMode0, 3,
36010 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36011 MVT::v16i8, 3, 24,
36012 11,
36013 OPC_CheckChild2Integer, 1,
36014 OPC_CheckPatternPredicate1,
36015 OPC_EmitIntegerByHwMode0, 19,
36016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36017 MVT::v16i8, 3, 24,
36018 11,
36019 OPC_CheckChild2Integer, 2,
36020 OPC_CheckPatternPredicate1,
36021 OPC_EmitIntegerByHwMode0, 35,
36022 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36023 MVT::v16i8, 3, 24,
36024 11,
36025 OPC_CheckChild2Integer, 3,
36026 OPC_CheckPatternPredicate1,
36027 OPC_EmitIntegerByHwMode0, 51,
36028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36029 MVT::v16i8, 3, 24,
36030 12,
36031 OPC_CheckChild2Integer, 4,
36032 OPC_CheckPatternPredicate1,
36033 OPC_EmitIntegerByHwMode0, 67|128,0,
36034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36035 MVT::v16i8, 3, 24,
36036 12,
36037 OPC_CheckChild2Integer, 5,
36038 OPC_CheckPatternPredicate1,
36039 OPC_EmitIntegerByHwMode0, 83|128,0,
36040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36041 MVT::v16i8, 3, 24,
36042 12,
36043 OPC_CheckChild2Integer, 6,
36044 OPC_CheckPatternPredicate1,
36045 OPC_EmitIntegerByHwMode0, 99|128,0,
36046 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36047 MVT::v16i8, 3, 24,
36048 12,
36049 OPC_CheckChild2Integer, 7,
36050 OPC_CheckPatternPredicate1,
36051 OPC_EmitIntegerByHwMode0, 115|128,0,
36052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36053 MVT::v16i8, 3, 24,
36054 12,
36055 OPC_CheckChild2Integer, 8,
36056 OPC_CheckPatternPredicate1,
36057 OPC_EmitIntegerByHwMode0, 3|128,1,
36058 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36059 MVT::v16i8, 3, 24,
36060 12,
36061 OPC_CheckChild2Integer, 9,
36062 OPC_CheckPatternPredicate1,
36063 OPC_EmitIntegerByHwMode0, 19|128,1,
36064 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36065 MVT::v16i8, 3, 24,
36066 12,
36067 OPC_CheckChild2Integer, 10,
36068 OPC_CheckPatternPredicate1,
36069 OPC_EmitIntegerByHwMode0, 35|128,1,
36070 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36071 MVT::v16i8, 3, 24,
36072 12,
36073 OPC_CheckChild2Integer, 11,
36074 OPC_CheckPatternPredicate1,
36075 OPC_EmitIntegerByHwMode0, 51|128,1,
36076 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36077 MVT::v16i8, 3, 24,
36078 12,
36079 OPC_CheckChild2Integer, 12,
36080 OPC_CheckPatternPredicate1,
36081 OPC_EmitIntegerByHwMode0, 67|128,1,
36082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36083 MVT::v16i8, 3, 24,
36084 12,
36085 OPC_CheckChild2Integer, 13,
36086 OPC_CheckPatternPredicate1,
36087 OPC_EmitIntegerByHwMode0, 83|128,1,
36088 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36089 MVT::v16i8, 3, 24,
36090 12,
36091 OPC_CheckChild2Integer, 14,
36092 OPC_CheckPatternPredicate1,
36093 OPC_EmitIntegerByHwMode0, 99|128,1,
36094 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36095 MVT::v16i8, 3, 24,
36096 12,
36097 OPC_CheckChild2Integer, 15,
36098 OPC_CheckPatternPredicate1,
36099 OPC_EmitIntegerByHwMode0, 115|128,1,
36100 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36101 MVT::v16i8, 3, 24,
36102 0,
36103 84|128,1,
36104 OPC_CheckChild1Integer, 4,
36105 OPC_CheckTypeByHwMode0,
36106 OPC_MoveParent,
36107 OPC_CheckType, MVT::v16i8,
36108 OPC_Scope, 11,
36109 OPC_CheckChild2Integer, 0,
36110 OPC_CheckPatternPredicate1,
36111 OPC_EmitIntegerByHwMode0, 4,
36112 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36113 MVT::v16i8, 3, 24,
36114 11,
36115 OPC_CheckChild2Integer, 1,
36116 OPC_CheckPatternPredicate1,
36117 OPC_EmitIntegerByHwMode0, 20,
36118 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36119 MVT::v16i8, 3, 24,
36120 11,
36121 OPC_CheckChild2Integer, 2,
36122 OPC_CheckPatternPredicate1,
36123 OPC_EmitIntegerByHwMode0, 36,
36124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36125 MVT::v16i8, 3, 24,
36126 11,
36127 OPC_CheckChild2Integer, 3,
36128 OPC_CheckPatternPredicate1,
36129 OPC_EmitIntegerByHwMode0, 52,
36130 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36131 MVT::v16i8, 3, 24,
36132 12,
36133 OPC_CheckChild2Integer, 4,
36134 OPC_CheckPatternPredicate1,
36135 OPC_EmitIntegerByHwMode0, 68|128,0,
36136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36137 MVT::v16i8, 3, 24,
36138 12,
36139 OPC_CheckChild2Integer, 5,
36140 OPC_CheckPatternPredicate1,
36141 OPC_EmitIntegerByHwMode0, 84|128,0,
36142 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36143 MVT::v16i8, 3, 24,
36144 12,
36145 OPC_CheckChild2Integer, 6,
36146 OPC_CheckPatternPredicate1,
36147 OPC_EmitIntegerByHwMode0, 100|128,0,
36148 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36149 MVT::v16i8, 3, 24,
36150 12,
36151 OPC_CheckChild2Integer, 7,
36152 OPC_CheckPatternPredicate1,
36153 OPC_EmitIntegerByHwMode0, 116|128,0,
36154 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36155 MVT::v16i8, 3, 24,
36156 12,
36157 OPC_CheckChild2Integer, 8,
36158 OPC_CheckPatternPredicate1,
36159 OPC_EmitIntegerByHwMode0, 4|128,1,
36160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36161 MVT::v16i8, 3, 24,
36162 12,
36163 OPC_CheckChild2Integer, 9,
36164 OPC_CheckPatternPredicate1,
36165 OPC_EmitIntegerByHwMode0, 20|128,1,
36166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36167 MVT::v16i8, 3, 24,
36168 12,
36169 OPC_CheckChild2Integer, 10,
36170 OPC_CheckPatternPredicate1,
36171 OPC_EmitIntegerByHwMode0, 36|128,1,
36172 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36173 MVT::v16i8, 3, 24,
36174 12,
36175 OPC_CheckChild2Integer, 11,
36176 OPC_CheckPatternPredicate1,
36177 OPC_EmitIntegerByHwMode0, 52|128,1,
36178 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36179 MVT::v16i8, 3, 24,
36180 12,
36181 OPC_CheckChild2Integer, 12,
36182 OPC_CheckPatternPredicate1,
36183 OPC_EmitIntegerByHwMode0, 68|128,1,
36184 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36185 MVT::v16i8, 3, 24,
36186 12,
36187 OPC_CheckChild2Integer, 13,
36188 OPC_CheckPatternPredicate1,
36189 OPC_EmitIntegerByHwMode0, 84|128,1,
36190 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36191 MVT::v16i8, 3, 24,
36192 12,
36193 OPC_CheckChild2Integer, 14,
36194 OPC_CheckPatternPredicate1,
36195 OPC_EmitIntegerByHwMode0, 100|128,1,
36196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36197 MVT::v16i8, 3, 24,
36198 12,
36199 OPC_CheckChild2Integer, 15,
36200 OPC_CheckPatternPredicate1,
36201 OPC_EmitIntegerByHwMode0, 116|128,1,
36202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36203 MVT::v16i8, 3, 24,
36204 0,
36205 84|128,1,
36206 OPC_CheckChild1Integer, 5,
36207 OPC_CheckTypeByHwMode0,
36208 OPC_MoveParent,
36209 OPC_CheckType, MVT::v16i8,
36210 OPC_Scope, 11,
36211 OPC_CheckChild2Integer, 0,
36212 OPC_CheckPatternPredicate1,
36213 OPC_EmitIntegerByHwMode0, 5,
36214 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36215 MVT::v16i8, 3, 24,
36216 11,
36217 OPC_CheckChild2Integer, 1,
36218 OPC_CheckPatternPredicate1,
36219 OPC_EmitIntegerByHwMode0, 21,
36220 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36221 MVT::v16i8, 3, 24,
36222 11,
36223 OPC_CheckChild2Integer, 2,
36224 OPC_CheckPatternPredicate1,
36225 OPC_EmitIntegerByHwMode0, 37,
36226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36227 MVT::v16i8, 3, 24,
36228 11,
36229 OPC_CheckChild2Integer, 3,
36230 OPC_CheckPatternPredicate1,
36231 OPC_EmitIntegerByHwMode0, 53,
36232 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36233 MVT::v16i8, 3, 24,
36234 12,
36235 OPC_CheckChild2Integer, 4,
36236 OPC_CheckPatternPredicate1,
36237 OPC_EmitIntegerByHwMode0, 69|128,0,
36238 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36239 MVT::v16i8, 3, 24,
36240 12,
36241 OPC_CheckChild2Integer, 5,
36242 OPC_CheckPatternPredicate1,
36243 OPC_EmitIntegerByHwMode0, 85|128,0,
36244 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36245 MVT::v16i8, 3, 24,
36246 12,
36247 OPC_CheckChild2Integer, 6,
36248 OPC_CheckPatternPredicate1,
36249 OPC_EmitIntegerByHwMode0, 101|128,0,
36250 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36251 MVT::v16i8, 3, 24,
36252 12,
36253 OPC_CheckChild2Integer, 7,
36254 OPC_CheckPatternPredicate1,
36255 OPC_EmitIntegerByHwMode0, 117|128,0,
36256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36257 MVT::v16i8, 3, 24,
36258 12,
36259 OPC_CheckChild2Integer, 8,
36260 OPC_CheckPatternPredicate1,
36261 OPC_EmitIntegerByHwMode0, 5|128,1,
36262 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36263 MVT::v16i8, 3, 24,
36264 12,
36265 OPC_CheckChild2Integer, 9,
36266 OPC_CheckPatternPredicate1,
36267 OPC_EmitIntegerByHwMode0, 21|128,1,
36268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36269 MVT::v16i8, 3, 24,
36270 12,
36271 OPC_CheckChild2Integer, 10,
36272 OPC_CheckPatternPredicate1,
36273 OPC_EmitIntegerByHwMode0, 37|128,1,
36274 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36275 MVT::v16i8, 3, 24,
36276 12,
36277 OPC_CheckChild2Integer, 11,
36278 OPC_CheckPatternPredicate1,
36279 OPC_EmitIntegerByHwMode0, 53|128,1,
36280 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36281 MVT::v16i8, 3, 24,
36282 12,
36283 OPC_CheckChild2Integer, 12,
36284 OPC_CheckPatternPredicate1,
36285 OPC_EmitIntegerByHwMode0, 69|128,1,
36286 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36287 MVT::v16i8, 3, 24,
36288 12,
36289 OPC_CheckChild2Integer, 13,
36290 OPC_CheckPatternPredicate1,
36291 OPC_EmitIntegerByHwMode0, 85|128,1,
36292 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36293 MVT::v16i8, 3, 24,
36294 12,
36295 OPC_CheckChild2Integer, 14,
36296 OPC_CheckPatternPredicate1,
36297 OPC_EmitIntegerByHwMode0, 101|128,1,
36298 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36299 MVT::v16i8, 3, 24,
36300 12,
36301 OPC_CheckChild2Integer, 15,
36302 OPC_CheckPatternPredicate1,
36303 OPC_EmitIntegerByHwMode0, 117|128,1,
36304 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36305 MVT::v16i8, 3, 24,
36306 0,
36307 84|128,1,
36308 OPC_CheckChild1Integer, 6,
36309 OPC_CheckTypeByHwMode0,
36310 OPC_MoveParent,
36311 OPC_CheckType, MVT::v16i8,
36312 OPC_Scope, 11,
36313 OPC_CheckChild2Integer, 0,
36314 OPC_CheckPatternPredicate1,
36315 OPC_EmitIntegerByHwMode0, 6,
36316 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36317 MVT::v16i8, 3, 24,
36318 11,
36319 OPC_CheckChild2Integer, 1,
36320 OPC_CheckPatternPredicate1,
36321 OPC_EmitIntegerByHwMode0, 22,
36322 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36323 MVT::v16i8, 3, 24,
36324 11,
36325 OPC_CheckChild2Integer, 2,
36326 OPC_CheckPatternPredicate1,
36327 OPC_EmitIntegerByHwMode0, 38,
36328 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36329 MVT::v16i8, 3, 24,
36330 11,
36331 OPC_CheckChild2Integer, 3,
36332 OPC_CheckPatternPredicate1,
36333 OPC_EmitIntegerByHwMode0, 54,
36334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36335 MVT::v16i8, 3, 24,
36336 12,
36337 OPC_CheckChild2Integer, 4,
36338 OPC_CheckPatternPredicate1,
36339 OPC_EmitIntegerByHwMode0, 70|128,0,
36340 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36341 MVT::v16i8, 3, 24,
36342 12,
36343 OPC_CheckChild2Integer, 5,
36344 OPC_CheckPatternPredicate1,
36345 OPC_EmitIntegerByHwMode0, 86|128,0,
36346 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36347 MVT::v16i8, 3, 24,
36348 12,
36349 OPC_CheckChild2Integer, 6,
36350 OPC_CheckPatternPredicate1,
36351 OPC_EmitIntegerByHwMode0, 102|128,0,
36352 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36353 MVT::v16i8, 3, 24,
36354 12,
36355 OPC_CheckChild2Integer, 7,
36356 OPC_CheckPatternPredicate1,
36357 OPC_EmitIntegerByHwMode0, 118|128,0,
36358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36359 MVT::v16i8, 3, 24,
36360 12,
36361 OPC_CheckChild2Integer, 8,
36362 OPC_CheckPatternPredicate1,
36363 OPC_EmitIntegerByHwMode0, 6|128,1,
36364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36365 MVT::v16i8, 3, 24,
36366 12,
36367 OPC_CheckChild2Integer, 9,
36368 OPC_CheckPatternPredicate1,
36369 OPC_EmitIntegerByHwMode0, 22|128,1,
36370 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36371 MVT::v16i8, 3, 24,
36372 12,
36373 OPC_CheckChild2Integer, 10,
36374 OPC_CheckPatternPredicate1,
36375 OPC_EmitIntegerByHwMode0, 38|128,1,
36376 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36377 MVT::v16i8, 3, 24,
36378 12,
36379 OPC_CheckChild2Integer, 11,
36380 OPC_CheckPatternPredicate1,
36381 OPC_EmitIntegerByHwMode0, 54|128,1,
36382 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36383 MVT::v16i8, 3, 24,
36384 12,
36385 OPC_CheckChild2Integer, 12,
36386 OPC_CheckPatternPredicate1,
36387 OPC_EmitIntegerByHwMode0, 70|128,1,
36388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36389 MVT::v16i8, 3, 24,
36390 12,
36391 OPC_CheckChild2Integer, 13,
36392 OPC_CheckPatternPredicate1,
36393 OPC_EmitIntegerByHwMode0, 86|128,1,
36394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36395 MVT::v16i8, 3, 24,
36396 12,
36397 OPC_CheckChild2Integer, 14,
36398 OPC_CheckPatternPredicate1,
36399 OPC_EmitIntegerByHwMode0, 102|128,1,
36400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36401 MVT::v16i8, 3, 24,
36402 12,
36403 OPC_CheckChild2Integer, 15,
36404 OPC_CheckPatternPredicate1,
36405 OPC_EmitIntegerByHwMode0, 118|128,1,
36406 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36407 MVT::v16i8, 3, 24,
36408 0,
36409 84|128,1,
36410 OPC_CheckChild1Integer, 7,
36411 OPC_CheckTypeByHwMode0,
36412 OPC_MoveParent,
36413 OPC_CheckType, MVT::v16i8,
36414 OPC_Scope, 11,
36415 OPC_CheckChild2Integer, 0,
36416 OPC_CheckPatternPredicate1,
36417 OPC_EmitIntegerByHwMode0, 7,
36418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36419 MVT::v16i8, 3, 24,
36420 11,
36421 OPC_CheckChild2Integer, 1,
36422 OPC_CheckPatternPredicate1,
36423 OPC_EmitIntegerByHwMode0, 23,
36424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36425 MVT::v16i8, 3, 24,
36426 11,
36427 OPC_CheckChild2Integer, 2,
36428 OPC_CheckPatternPredicate1,
36429 OPC_EmitIntegerByHwMode0, 39,
36430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36431 MVT::v16i8, 3, 24,
36432 11,
36433 OPC_CheckChild2Integer, 3,
36434 OPC_CheckPatternPredicate1,
36435 OPC_EmitIntegerByHwMode0, 55,
36436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36437 MVT::v16i8, 3, 24,
36438 12,
36439 OPC_CheckChild2Integer, 4,
36440 OPC_CheckPatternPredicate1,
36441 OPC_EmitIntegerByHwMode0, 71|128,0,
36442 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36443 MVT::v16i8, 3, 24,
36444 12,
36445 OPC_CheckChild2Integer, 5,
36446 OPC_CheckPatternPredicate1,
36447 OPC_EmitIntegerByHwMode0, 87|128,0,
36448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36449 MVT::v16i8, 3, 24,
36450 12,
36451 OPC_CheckChild2Integer, 6,
36452 OPC_CheckPatternPredicate1,
36453 OPC_EmitIntegerByHwMode0, 103|128,0,
36454 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36455 MVT::v16i8, 3, 24,
36456 12,
36457 OPC_CheckChild2Integer, 7,
36458 OPC_CheckPatternPredicate1,
36459 OPC_EmitIntegerByHwMode0, 119|128,0,
36460 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36461 MVT::v16i8, 3, 24,
36462 12,
36463 OPC_CheckChild2Integer, 8,
36464 OPC_CheckPatternPredicate1,
36465 OPC_EmitIntegerByHwMode0, 7|128,1,
36466 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36467 MVT::v16i8, 3, 24,
36468 12,
36469 OPC_CheckChild2Integer, 9,
36470 OPC_CheckPatternPredicate1,
36471 OPC_EmitIntegerByHwMode0, 23|128,1,
36472 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36473 MVT::v16i8, 3, 24,
36474 12,
36475 OPC_CheckChild2Integer, 10,
36476 OPC_CheckPatternPredicate1,
36477 OPC_EmitIntegerByHwMode0, 39|128,1,
36478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36479 MVT::v16i8, 3, 24,
36480 12,
36481 OPC_CheckChild2Integer, 11,
36482 OPC_CheckPatternPredicate1,
36483 OPC_EmitIntegerByHwMode0, 55|128,1,
36484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36485 MVT::v16i8, 3, 24,
36486 12,
36487 OPC_CheckChild2Integer, 12,
36488 OPC_CheckPatternPredicate1,
36489 OPC_EmitIntegerByHwMode0, 71|128,1,
36490 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36491 MVT::v16i8, 3, 24,
36492 12,
36493 OPC_CheckChild2Integer, 13,
36494 OPC_CheckPatternPredicate1,
36495 OPC_EmitIntegerByHwMode0, 87|128,1,
36496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36497 MVT::v16i8, 3, 24,
36498 12,
36499 OPC_CheckChild2Integer, 14,
36500 OPC_CheckPatternPredicate1,
36501 OPC_EmitIntegerByHwMode0, 103|128,1,
36502 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36503 MVT::v16i8, 3, 24,
36504 12,
36505 OPC_CheckChild2Integer, 15,
36506 OPC_CheckPatternPredicate1,
36507 OPC_EmitIntegerByHwMode0, 119|128,1,
36508 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36509 MVT::v16i8, 3, 24,
36510 0,
36511 84|128,1,
36512 OPC_CheckChild1Integer, 8,
36513 OPC_CheckTypeByHwMode0,
36514 OPC_MoveParent,
36515 OPC_CheckType, MVT::v16i8,
36516 OPC_Scope, 11,
36517 OPC_CheckChild2Integer, 0,
36518 OPC_CheckPatternPredicate1,
36519 OPC_EmitIntegerByHwMode0, 8,
36520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36521 MVT::v16i8, 3, 24,
36522 11,
36523 OPC_CheckChild2Integer, 1,
36524 OPC_CheckPatternPredicate1,
36525 OPC_EmitIntegerByHwMode0, 24,
36526 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36527 MVT::v16i8, 3, 24,
36528 11,
36529 OPC_CheckChild2Integer, 2,
36530 OPC_CheckPatternPredicate1,
36531 OPC_EmitIntegerByHwMode0, 40,
36532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36533 MVT::v16i8, 3, 24,
36534 11,
36535 OPC_CheckChild2Integer, 3,
36536 OPC_CheckPatternPredicate1,
36537 OPC_EmitIntegerByHwMode0, 56,
36538 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36539 MVT::v16i8, 3, 24,
36540 12,
36541 OPC_CheckChild2Integer, 4,
36542 OPC_CheckPatternPredicate1,
36543 OPC_EmitIntegerByHwMode0, 72|128,0,
36544 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36545 MVT::v16i8, 3, 24,
36546 12,
36547 OPC_CheckChild2Integer, 5,
36548 OPC_CheckPatternPredicate1,
36549 OPC_EmitIntegerByHwMode0, 88|128,0,
36550 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36551 MVT::v16i8, 3, 24,
36552 12,
36553 OPC_CheckChild2Integer, 6,
36554 OPC_CheckPatternPredicate1,
36555 OPC_EmitIntegerByHwMode0, 104|128,0,
36556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36557 MVT::v16i8, 3, 24,
36558 12,
36559 OPC_CheckChild2Integer, 7,
36560 OPC_CheckPatternPredicate1,
36561 OPC_EmitIntegerByHwMode0, 120|128,0,
36562 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36563 MVT::v16i8, 3, 24,
36564 12,
36565 OPC_CheckChild2Integer, 8,
36566 OPC_CheckPatternPredicate1,
36567 OPC_EmitIntegerByHwMode0, 8|128,1,
36568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36569 MVT::v16i8, 3, 24,
36570 12,
36571 OPC_CheckChild2Integer, 9,
36572 OPC_CheckPatternPredicate1,
36573 OPC_EmitIntegerByHwMode0, 24|128,1,
36574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36575 MVT::v16i8, 3, 24,
36576 12,
36577 OPC_CheckChild2Integer, 10,
36578 OPC_CheckPatternPredicate1,
36579 OPC_EmitIntegerByHwMode0, 40|128,1,
36580 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36581 MVT::v16i8, 3, 24,
36582 12,
36583 OPC_CheckChild2Integer, 11,
36584 OPC_CheckPatternPredicate1,
36585 OPC_EmitIntegerByHwMode0, 56|128,1,
36586 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36587 MVT::v16i8, 3, 24,
36588 12,
36589 OPC_CheckChild2Integer, 12,
36590 OPC_CheckPatternPredicate1,
36591 OPC_EmitIntegerByHwMode0, 72|128,1,
36592 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36593 MVT::v16i8, 3, 24,
36594 12,
36595 OPC_CheckChild2Integer, 13,
36596 OPC_CheckPatternPredicate1,
36597 OPC_EmitIntegerByHwMode0, 88|128,1,
36598 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36599 MVT::v16i8, 3, 24,
36600 12,
36601 OPC_CheckChild2Integer, 14,
36602 OPC_CheckPatternPredicate1,
36603 OPC_EmitIntegerByHwMode0, 104|128,1,
36604 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36605 MVT::v16i8, 3, 24,
36606 12,
36607 OPC_CheckChild2Integer, 15,
36608 OPC_CheckPatternPredicate1,
36609 OPC_EmitIntegerByHwMode0, 120|128,1,
36610 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36611 MVT::v16i8, 3, 24,
36612 0,
36613 84|128,1,
36614 OPC_CheckChild1Integer, 9,
36615 OPC_CheckTypeByHwMode0,
36616 OPC_MoveParent,
36617 OPC_CheckType, MVT::v16i8,
36618 OPC_Scope, 11,
36619 OPC_CheckChild2Integer, 0,
36620 OPC_CheckPatternPredicate1,
36621 OPC_EmitIntegerByHwMode0, 9,
36622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36623 MVT::v16i8, 3, 24,
36624 11,
36625 OPC_CheckChild2Integer, 1,
36626 OPC_CheckPatternPredicate1,
36627 OPC_EmitIntegerByHwMode0, 25,
36628 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36629 MVT::v16i8, 3, 24,
36630 11,
36631 OPC_CheckChild2Integer, 2,
36632 OPC_CheckPatternPredicate1,
36633 OPC_EmitIntegerByHwMode0, 41,
36634 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36635 MVT::v16i8, 3, 24,
36636 11,
36637 OPC_CheckChild2Integer, 3,
36638 OPC_CheckPatternPredicate1,
36639 OPC_EmitIntegerByHwMode0, 57,
36640 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36641 MVT::v16i8, 3, 24,
36642 12,
36643 OPC_CheckChild2Integer, 4,
36644 OPC_CheckPatternPredicate1,
36645 OPC_EmitIntegerByHwMode0, 73|128,0,
36646 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36647 MVT::v16i8, 3, 24,
36648 12,
36649 OPC_CheckChild2Integer, 5,
36650 OPC_CheckPatternPredicate1,
36651 OPC_EmitIntegerByHwMode0, 89|128,0,
36652 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36653 MVT::v16i8, 3, 24,
36654 12,
36655 OPC_CheckChild2Integer, 6,
36656 OPC_CheckPatternPredicate1,
36657 OPC_EmitIntegerByHwMode0, 105|128,0,
36658 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36659 MVT::v16i8, 3, 24,
36660 12,
36661 OPC_CheckChild2Integer, 7,
36662 OPC_CheckPatternPredicate1,
36663 OPC_EmitIntegerByHwMode0, 121|128,0,
36664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36665 MVT::v16i8, 3, 24,
36666 12,
36667 OPC_CheckChild2Integer, 8,
36668 OPC_CheckPatternPredicate1,
36669 OPC_EmitIntegerByHwMode0, 9|128,1,
36670 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36671 MVT::v16i8, 3, 24,
36672 12,
36673 OPC_CheckChild2Integer, 9,
36674 OPC_CheckPatternPredicate1,
36675 OPC_EmitIntegerByHwMode0, 25|128,1,
36676 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36677 MVT::v16i8, 3, 24,
36678 12,
36679 OPC_CheckChild2Integer, 10,
36680 OPC_CheckPatternPredicate1,
36681 OPC_EmitIntegerByHwMode0, 41|128,1,
36682 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36683 MVT::v16i8, 3, 24,
36684 12,
36685 OPC_CheckChild2Integer, 11,
36686 OPC_CheckPatternPredicate1,
36687 OPC_EmitIntegerByHwMode0, 57|128,1,
36688 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36689 MVT::v16i8, 3, 24,
36690 12,
36691 OPC_CheckChild2Integer, 12,
36692 OPC_CheckPatternPredicate1,
36693 OPC_EmitIntegerByHwMode0, 73|128,1,
36694 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36695 MVT::v16i8, 3, 24,
36696 12,
36697 OPC_CheckChild2Integer, 13,
36698 OPC_CheckPatternPredicate1,
36699 OPC_EmitIntegerByHwMode0, 89|128,1,
36700 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36701 MVT::v16i8, 3, 24,
36702 12,
36703 OPC_CheckChild2Integer, 14,
36704 OPC_CheckPatternPredicate1,
36705 OPC_EmitIntegerByHwMode0, 105|128,1,
36706 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36707 MVT::v16i8, 3, 24,
36708 12,
36709 OPC_CheckChild2Integer, 15,
36710 OPC_CheckPatternPredicate1,
36711 OPC_EmitIntegerByHwMode0, 121|128,1,
36712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36713 MVT::v16i8, 3, 24,
36714 0,
36715 84|128,1,
36716 OPC_CheckChild1Integer, 10,
36717 OPC_CheckTypeByHwMode0,
36718 OPC_MoveParent,
36719 OPC_CheckType, MVT::v16i8,
36720 OPC_Scope, 11,
36721 OPC_CheckChild2Integer, 0,
36722 OPC_CheckPatternPredicate1,
36723 OPC_EmitIntegerByHwMode0, 10,
36724 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36725 MVT::v16i8, 3, 24,
36726 11,
36727 OPC_CheckChild2Integer, 1,
36728 OPC_CheckPatternPredicate1,
36729 OPC_EmitIntegerByHwMode0, 26,
36730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36731 MVT::v16i8, 3, 24,
36732 11,
36733 OPC_CheckChild2Integer, 2,
36734 OPC_CheckPatternPredicate1,
36735 OPC_EmitIntegerByHwMode0, 42,
36736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36737 MVT::v16i8, 3, 24,
36738 11,
36739 OPC_CheckChild2Integer, 3,
36740 OPC_CheckPatternPredicate1,
36741 OPC_EmitIntegerByHwMode0, 58,
36742 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36743 MVT::v16i8, 3, 24,
36744 12,
36745 OPC_CheckChild2Integer, 4,
36746 OPC_CheckPatternPredicate1,
36747 OPC_EmitIntegerByHwMode0, 74|128,0,
36748 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36749 MVT::v16i8, 3, 24,
36750 12,
36751 OPC_CheckChild2Integer, 5,
36752 OPC_CheckPatternPredicate1,
36753 OPC_EmitIntegerByHwMode0, 90|128,0,
36754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36755 MVT::v16i8, 3, 24,
36756 12,
36757 OPC_CheckChild2Integer, 6,
36758 OPC_CheckPatternPredicate1,
36759 OPC_EmitIntegerByHwMode0, 106|128,0,
36760 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36761 MVT::v16i8, 3, 24,
36762 12,
36763 OPC_CheckChild2Integer, 7,
36764 OPC_CheckPatternPredicate1,
36765 OPC_EmitIntegerByHwMode0, 122|128,0,
36766 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36767 MVT::v16i8, 3, 24,
36768 12,
36769 OPC_CheckChild2Integer, 8,
36770 OPC_CheckPatternPredicate1,
36771 OPC_EmitIntegerByHwMode0, 10|128,1,
36772 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36773 MVT::v16i8, 3, 24,
36774 12,
36775 OPC_CheckChild2Integer, 9,
36776 OPC_CheckPatternPredicate1,
36777 OPC_EmitIntegerByHwMode0, 26|128,1,
36778 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36779 MVT::v16i8, 3, 24,
36780 12,
36781 OPC_CheckChild2Integer, 10,
36782 OPC_CheckPatternPredicate1,
36783 OPC_EmitIntegerByHwMode0, 42|128,1,
36784 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36785 MVT::v16i8, 3, 24,
36786 12,
36787 OPC_CheckChild2Integer, 11,
36788 OPC_CheckPatternPredicate1,
36789 OPC_EmitIntegerByHwMode0, 58|128,1,
36790 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36791 MVT::v16i8, 3, 24,
36792 12,
36793 OPC_CheckChild2Integer, 12,
36794 OPC_CheckPatternPredicate1,
36795 OPC_EmitIntegerByHwMode0, 74|128,1,
36796 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36797 MVT::v16i8, 3, 24,
36798 12,
36799 OPC_CheckChild2Integer, 13,
36800 OPC_CheckPatternPredicate1,
36801 OPC_EmitIntegerByHwMode0, 90|128,1,
36802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36803 MVT::v16i8, 3, 24,
36804 12,
36805 OPC_CheckChild2Integer, 14,
36806 OPC_CheckPatternPredicate1,
36807 OPC_EmitIntegerByHwMode0, 106|128,1,
36808 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36809 MVT::v16i8, 3, 24,
36810 12,
36811 OPC_CheckChild2Integer, 15,
36812 OPC_CheckPatternPredicate1,
36813 OPC_EmitIntegerByHwMode0, 122|128,1,
36814 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36815 MVT::v16i8, 3, 24,
36816 0,
36817 84|128,1,
36818 OPC_CheckChild1Integer, 11,
36819 OPC_CheckTypeByHwMode0,
36820 OPC_MoveParent,
36821 OPC_CheckType, MVT::v16i8,
36822 OPC_Scope, 11,
36823 OPC_CheckChild2Integer, 0,
36824 OPC_CheckPatternPredicate1,
36825 OPC_EmitIntegerByHwMode0, 11,
36826 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36827 MVT::v16i8, 3, 24,
36828 11,
36829 OPC_CheckChild2Integer, 1,
36830 OPC_CheckPatternPredicate1,
36831 OPC_EmitIntegerByHwMode0, 27,
36832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36833 MVT::v16i8, 3, 24,
36834 11,
36835 OPC_CheckChild2Integer, 2,
36836 OPC_CheckPatternPredicate1,
36837 OPC_EmitIntegerByHwMode0, 43,
36838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36839 MVT::v16i8, 3, 24,
36840 11,
36841 OPC_CheckChild2Integer, 3,
36842 OPC_CheckPatternPredicate1,
36843 OPC_EmitIntegerByHwMode0, 59,
36844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36845 MVT::v16i8, 3, 24,
36846 12,
36847 OPC_CheckChild2Integer, 4,
36848 OPC_CheckPatternPredicate1,
36849 OPC_EmitIntegerByHwMode0, 75|128,0,
36850 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36851 MVT::v16i8, 3, 24,
36852 12,
36853 OPC_CheckChild2Integer, 5,
36854 OPC_CheckPatternPredicate1,
36855 OPC_EmitIntegerByHwMode0, 91|128,0,
36856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36857 MVT::v16i8, 3, 24,
36858 12,
36859 OPC_CheckChild2Integer, 6,
36860 OPC_CheckPatternPredicate1,
36861 OPC_EmitIntegerByHwMode0, 107|128,0,
36862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36863 MVT::v16i8, 3, 24,
36864 12,
36865 OPC_CheckChild2Integer, 7,
36866 OPC_CheckPatternPredicate1,
36867 OPC_EmitIntegerByHwMode0, 123|128,0,
36868 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36869 MVT::v16i8, 3, 24,
36870 12,
36871 OPC_CheckChild2Integer, 8,
36872 OPC_CheckPatternPredicate1,
36873 OPC_EmitIntegerByHwMode0, 11|128,1,
36874 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36875 MVT::v16i8, 3, 24,
36876 12,
36877 OPC_CheckChild2Integer, 9,
36878 OPC_CheckPatternPredicate1,
36879 OPC_EmitIntegerByHwMode0, 27|128,1,
36880 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36881 MVT::v16i8, 3, 24,
36882 12,
36883 OPC_CheckChild2Integer, 10,
36884 OPC_CheckPatternPredicate1,
36885 OPC_EmitIntegerByHwMode0, 43|128,1,
36886 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36887 MVT::v16i8, 3, 24,
36888 12,
36889 OPC_CheckChild2Integer, 11,
36890 OPC_CheckPatternPredicate1,
36891 OPC_EmitIntegerByHwMode0, 59|128,1,
36892 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36893 MVT::v16i8, 3, 24,
36894 12,
36895 OPC_CheckChild2Integer, 12,
36896 OPC_CheckPatternPredicate1,
36897 OPC_EmitIntegerByHwMode0, 75|128,1,
36898 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36899 MVT::v16i8, 3, 24,
36900 12,
36901 OPC_CheckChild2Integer, 13,
36902 OPC_CheckPatternPredicate1,
36903 OPC_EmitIntegerByHwMode0, 91|128,1,
36904 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36905 MVT::v16i8, 3, 24,
36906 12,
36907 OPC_CheckChild2Integer, 14,
36908 OPC_CheckPatternPredicate1,
36909 OPC_EmitIntegerByHwMode0, 107|128,1,
36910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36911 MVT::v16i8, 3, 24,
36912 12,
36913 OPC_CheckChild2Integer, 15,
36914 OPC_CheckPatternPredicate1,
36915 OPC_EmitIntegerByHwMode0, 123|128,1,
36916 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36917 MVT::v16i8, 3, 24,
36918 0,
36919 84|128,1,
36920 OPC_CheckChild1Integer, 12,
36921 OPC_CheckTypeByHwMode0,
36922 OPC_MoveParent,
36923 OPC_CheckType, MVT::v16i8,
36924 OPC_Scope, 11,
36925 OPC_CheckChild2Integer, 0,
36926 OPC_CheckPatternPredicate1,
36927 OPC_EmitIntegerByHwMode0, 12,
36928 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36929 MVT::v16i8, 3, 24,
36930 11,
36931 OPC_CheckChild2Integer, 1,
36932 OPC_CheckPatternPredicate1,
36933 OPC_EmitIntegerByHwMode0, 28,
36934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36935 MVT::v16i8, 3, 24,
36936 11,
36937 OPC_CheckChild2Integer, 2,
36938 OPC_CheckPatternPredicate1,
36939 OPC_EmitIntegerByHwMode0, 44,
36940 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36941 MVT::v16i8, 3, 24,
36942 11,
36943 OPC_CheckChild2Integer, 3,
36944 OPC_CheckPatternPredicate1,
36945 OPC_EmitIntegerByHwMode0, 60,
36946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36947 MVT::v16i8, 3, 24,
36948 12,
36949 OPC_CheckChild2Integer, 4,
36950 OPC_CheckPatternPredicate1,
36951 OPC_EmitIntegerByHwMode0, 76|128,0,
36952 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36953 MVT::v16i8, 3, 24,
36954 12,
36955 OPC_CheckChild2Integer, 5,
36956 OPC_CheckPatternPredicate1,
36957 OPC_EmitIntegerByHwMode0, 92|128,0,
36958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36959 MVT::v16i8, 3, 24,
36960 12,
36961 OPC_CheckChild2Integer, 6,
36962 OPC_CheckPatternPredicate1,
36963 OPC_EmitIntegerByHwMode0, 108|128,0,
36964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36965 MVT::v16i8, 3, 24,
36966 12,
36967 OPC_CheckChild2Integer, 7,
36968 OPC_CheckPatternPredicate1,
36969 OPC_EmitIntegerByHwMode0, 124|128,0,
36970 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36971 MVT::v16i8, 3, 24,
36972 12,
36973 OPC_CheckChild2Integer, 8,
36974 OPC_CheckPatternPredicate1,
36975 OPC_EmitIntegerByHwMode0, 12|128,1,
36976 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36977 MVT::v16i8, 3, 24,
36978 12,
36979 OPC_CheckChild2Integer, 9,
36980 OPC_CheckPatternPredicate1,
36981 OPC_EmitIntegerByHwMode0, 28|128,1,
36982 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36983 MVT::v16i8, 3, 24,
36984 12,
36985 OPC_CheckChild2Integer, 10,
36986 OPC_CheckPatternPredicate1,
36987 OPC_EmitIntegerByHwMode0, 44|128,1,
36988 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36989 MVT::v16i8, 3, 24,
36990 12,
36991 OPC_CheckChild2Integer, 11,
36992 OPC_CheckPatternPredicate1,
36993 OPC_EmitIntegerByHwMode0, 60|128,1,
36994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
36995 MVT::v16i8, 3, 24,
36996 12,
36997 OPC_CheckChild2Integer, 12,
36998 OPC_CheckPatternPredicate1,
36999 OPC_EmitIntegerByHwMode0, 76|128,1,
37000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37001 MVT::v16i8, 3, 24,
37002 12,
37003 OPC_CheckChild2Integer, 13,
37004 OPC_CheckPatternPredicate1,
37005 OPC_EmitIntegerByHwMode0, 92|128,1,
37006 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37007 MVT::v16i8, 3, 24,
37008 12,
37009 OPC_CheckChild2Integer, 14,
37010 OPC_CheckPatternPredicate1,
37011 OPC_EmitIntegerByHwMode0, 108|128,1,
37012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37013 MVT::v16i8, 3, 24,
37014 12,
37015 OPC_CheckChild2Integer, 15,
37016 OPC_CheckPatternPredicate1,
37017 OPC_EmitIntegerByHwMode0, 124|128,1,
37018 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37019 MVT::v16i8, 3, 24,
37020 0,
37021 84|128,1,
37022 OPC_CheckChild1Integer, 13,
37023 OPC_CheckTypeByHwMode0,
37024 OPC_MoveParent,
37025 OPC_CheckType, MVT::v16i8,
37026 OPC_Scope, 11,
37027 OPC_CheckChild2Integer, 0,
37028 OPC_CheckPatternPredicate1,
37029 OPC_EmitIntegerByHwMode0, 13,
37030 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37031 MVT::v16i8, 3, 24,
37032 11,
37033 OPC_CheckChild2Integer, 1,
37034 OPC_CheckPatternPredicate1,
37035 OPC_EmitIntegerByHwMode0, 29,
37036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37037 MVT::v16i8, 3, 24,
37038 11,
37039 OPC_CheckChild2Integer, 2,
37040 OPC_CheckPatternPredicate1,
37041 OPC_EmitIntegerByHwMode0, 45,
37042 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37043 MVT::v16i8, 3, 24,
37044 11,
37045 OPC_CheckChild2Integer, 3,
37046 OPC_CheckPatternPredicate1,
37047 OPC_EmitIntegerByHwMode0, 61,
37048 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37049 MVT::v16i8, 3, 24,
37050 12,
37051 OPC_CheckChild2Integer, 4,
37052 OPC_CheckPatternPredicate1,
37053 OPC_EmitIntegerByHwMode0, 77|128,0,
37054 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37055 MVT::v16i8, 3, 24,
37056 12,
37057 OPC_CheckChild2Integer, 5,
37058 OPC_CheckPatternPredicate1,
37059 OPC_EmitIntegerByHwMode0, 93|128,0,
37060 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37061 MVT::v16i8, 3, 24,
37062 12,
37063 OPC_CheckChild2Integer, 6,
37064 OPC_CheckPatternPredicate1,
37065 OPC_EmitIntegerByHwMode0, 109|128,0,
37066 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37067 MVT::v16i8, 3, 24,
37068 12,
37069 OPC_CheckChild2Integer, 7,
37070 OPC_CheckPatternPredicate1,
37071 OPC_EmitIntegerByHwMode0, 125|128,0,
37072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37073 MVT::v16i8, 3, 24,
37074 12,
37075 OPC_CheckChild2Integer, 8,
37076 OPC_CheckPatternPredicate1,
37077 OPC_EmitIntegerByHwMode0, 13|128,1,
37078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37079 MVT::v16i8, 3, 24,
37080 12,
37081 OPC_CheckChild2Integer, 9,
37082 OPC_CheckPatternPredicate1,
37083 OPC_EmitIntegerByHwMode0, 29|128,1,
37084 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37085 MVT::v16i8, 3, 24,
37086 12,
37087 OPC_CheckChild2Integer, 10,
37088 OPC_CheckPatternPredicate1,
37089 OPC_EmitIntegerByHwMode0, 45|128,1,
37090 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37091 MVT::v16i8, 3, 24,
37092 12,
37093 OPC_CheckChild2Integer, 11,
37094 OPC_CheckPatternPredicate1,
37095 OPC_EmitIntegerByHwMode0, 61|128,1,
37096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37097 MVT::v16i8, 3, 24,
37098 12,
37099 OPC_CheckChild2Integer, 12,
37100 OPC_CheckPatternPredicate1,
37101 OPC_EmitIntegerByHwMode0, 77|128,1,
37102 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37103 MVT::v16i8, 3, 24,
37104 12,
37105 OPC_CheckChild2Integer, 13,
37106 OPC_CheckPatternPredicate1,
37107 OPC_EmitIntegerByHwMode0, 93|128,1,
37108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37109 MVT::v16i8, 3, 24,
37110 12,
37111 OPC_CheckChild2Integer, 14,
37112 OPC_CheckPatternPredicate1,
37113 OPC_EmitIntegerByHwMode0, 109|128,1,
37114 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37115 MVT::v16i8, 3, 24,
37116 12,
37117 OPC_CheckChild2Integer, 15,
37118 OPC_CheckPatternPredicate1,
37119 OPC_EmitIntegerByHwMode0, 125|128,1,
37120 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37121 MVT::v16i8, 3, 24,
37122 0,
37123 84|128,1,
37124 OPC_CheckChild1Integer, 14,
37125 OPC_CheckTypeByHwMode0,
37126 OPC_MoveParent,
37127 OPC_CheckType, MVT::v16i8,
37128 OPC_Scope, 11,
37129 OPC_CheckChild2Integer, 0,
37130 OPC_CheckPatternPredicate1,
37131 OPC_EmitIntegerByHwMode0, 14,
37132 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37133 MVT::v16i8, 3, 24,
37134 11,
37135 OPC_CheckChild2Integer, 1,
37136 OPC_CheckPatternPredicate1,
37137 OPC_EmitIntegerByHwMode0, 30,
37138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37139 MVT::v16i8, 3, 24,
37140 11,
37141 OPC_CheckChild2Integer, 2,
37142 OPC_CheckPatternPredicate1,
37143 OPC_EmitIntegerByHwMode0, 46,
37144 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37145 MVT::v16i8, 3, 24,
37146 11,
37147 OPC_CheckChild2Integer, 3,
37148 OPC_CheckPatternPredicate1,
37149 OPC_EmitIntegerByHwMode0, 62,
37150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37151 MVT::v16i8, 3, 24,
37152 12,
37153 OPC_CheckChild2Integer, 4,
37154 OPC_CheckPatternPredicate1,
37155 OPC_EmitIntegerByHwMode0, 78|128,0,
37156 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37157 MVT::v16i8, 3, 24,
37158 12,
37159 OPC_CheckChild2Integer, 5,
37160 OPC_CheckPatternPredicate1,
37161 OPC_EmitIntegerByHwMode0, 94|128,0,
37162 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37163 MVT::v16i8, 3, 24,
37164 12,
37165 OPC_CheckChild2Integer, 6,
37166 OPC_CheckPatternPredicate1,
37167 OPC_EmitIntegerByHwMode0, 110|128,0,
37168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37169 MVT::v16i8, 3, 24,
37170 12,
37171 OPC_CheckChild2Integer, 7,
37172 OPC_CheckPatternPredicate1,
37173 OPC_EmitIntegerByHwMode0, 126|128,0,
37174 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37175 MVT::v16i8, 3, 24,
37176 12,
37177 OPC_CheckChild2Integer, 8,
37178 OPC_CheckPatternPredicate1,
37179 OPC_EmitIntegerByHwMode0, 14|128,1,
37180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37181 MVT::v16i8, 3, 24,
37182 12,
37183 OPC_CheckChild2Integer, 9,
37184 OPC_CheckPatternPredicate1,
37185 OPC_EmitIntegerByHwMode0, 30|128,1,
37186 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37187 MVT::v16i8, 3, 24,
37188 12,
37189 OPC_CheckChild2Integer, 10,
37190 OPC_CheckPatternPredicate1,
37191 OPC_EmitIntegerByHwMode0, 46|128,1,
37192 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37193 MVT::v16i8, 3, 24,
37194 12,
37195 OPC_CheckChild2Integer, 11,
37196 OPC_CheckPatternPredicate1,
37197 OPC_EmitIntegerByHwMode0, 62|128,1,
37198 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37199 MVT::v16i8, 3, 24,
37200 12,
37201 OPC_CheckChild2Integer, 12,
37202 OPC_CheckPatternPredicate1,
37203 OPC_EmitIntegerByHwMode0, 78|128,1,
37204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37205 MVT::v16i8, 3, 24,
37206 12,
37207 OPC_CheckChild2Integer, 13,
37208 OPC_CheckPatternPredicate1,
37209 OPC_EmitIntegerByHwMode0, 94|128,1,
37210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37211 MVT::v16i8, 3, 24,
37212 12,
37213 OPC_CheckChild2Integer, 14,
37214 OPC_CheckPatternPredicate1,
37215 OPC_EmitIntegerByHwMode0, 110|128,1,
37216 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37217 MVT::v16i8, 3, 24,
37218 12,
37219 OPC_CheckChild2Integer, 15,
37220 OPC_CheckPatternPredicate1,
37221 OPC_EmitIntegerByHwMode0, 126|128,1,
37222 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37223 MVT::v16i8, 3, 24,
37224 0,
37225 84|128,1,
37226 OPC_CheckChild1Integer, 15,
37227 OPC_CheckTypeByHwMode0,
37228 OPC_MoveParent,
37229 OPC_CheckType, MVT::v16i8,
37230 OPC_Scope, 11,
37231 OPC_CheckChild2Integer, 0,
37232 OPC_CheckPatternPredicate1,
37233 OPC_EmitIntegerByHwMode0, 15,
37234 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37235 MVT::v16i8, 3, 24,
37236 11,
37237 OPC_CheckChild2Integer, 1,
37238 OPC_CheckPatternPredicate1,
37239 OPC_EmitIntegerByHwMode0, 31,
37240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37241 MVT::v16i8, 3, 24,
37242 11,
37243 OPC_CheckChild2Integer, 2,
37244 OPC_CheckPatternPredicate1,
37245 OPC_EmitIntegerByHwMode0, 47,
37246 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37247 MVT::v16i8, 3, 24,
37248 11,
37249 OPC_CheckChild2Integer, 3,
37250 OPC_CheckPatternPredicate1,
37251 OPC_EmitIntegerByHwMode0, 63,
37252 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37253 MVT::v16i8, 3, 24,
37254 12,
37255 OPC_CheckChild2Integer, 4,
37256 OPC_CheckPatternPredicate1,
37257 OPC_EmitIntegerByHwMode0, 79|128,0,
37258 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37259 MVT::v16i8, 3, 24,
37260 12,
37261 OPC_CheckChild2Integer, 5,
37262 OPC_CheckPatternPredicate1,
37263 OPC_EmitIntegerByHwMode0, 95|128,0,
37264 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37265 MVT::v16i8, 3, 24,
37266 12,
37267 OPC_CheckChild2Integer, 6,
37268 OPC_CheckPatternPredicate1,
37269 OPC_EmitIntegerByHwMode0, 111|128,0,
37270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37271 MVT::v16i8, 3, 24,
37272 12,
37273 OPC_CheckChild2Integer, 7,
37274 OPC_CheckPatternPredicate1,
37275 OPC_EmitIntegerByHwMode0, 127|128,0,
37276 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37277 MVT::v16i8, 3, 24,
37278 12,
37279 OPC_CheckChild2Integer, 8,
37280 OPC_CheckPatternPredicate1,
37281 OPC_EmitIntegerByHwMode0, 15|128,1,
37282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37283 MVT::v16i8, 3, 24,
37284 12,
37285 OPC_CheckChild2Integer, 9,
37286 OPC_CheckPatternPredicate1,
37287 OPC_EmitIntegerByHwMode0, 31|128,1,
37288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37289 MVT::v16i8, 3, 24,
37290 12,
37291 OPC_CheckChild2Integer, 10,
37292 OPC_CheckPatternPredicate1,
37293 OPC_EmitIntegerByHwMode0, 47|128,1,
37294 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37295 MVT::v16i8, 3, 24,
37296 12,
37297 OPC_CheckChild2Integer, 11,
37298 OPC_CheckPatternPredicate1,
37299 OPC_EmitIntegerByHwMode0, 63|128,1,
37300 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37301 MVT::v16i8, 3, 24,
37302 12,
37303 OPC_CheckChild2Integer, 12,
37304 OPC_CheckPatternPredicate1,
37305 OPC_EmitIntegerByHwMode0, 79|128,1,
37306 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37307 MVT::v16i8, 3, 24,
37308 12,
37309 OPC_CheckChild2Integer, 13,
37310 OPC_CheckPatternPredicate1,
37311 OPC_EmitIntegerByHwMode0, 95|128,1,
37312 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37313 MVT::v16i8, 3, 24,
37314 12,
37315 OPC_CheckChild2Integer, 14,
37316 OPC_CheckPatternPredicate1,
37317 OPC_EmitIntegerByHwMode0, 111|128,1,
37318 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37319 MVT::v16i8, 3, 24,
37320 12,
37321 OPC_CheckChild2Integer, 15,
37322 OPC_CheckPatternPredicate1,
37323 OPC_EmitIntegerByHwMode0, 127|128,1,
37324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_B),
37325 MVT::v16i8, 3, 24,
37326 0,
37327 0,
37328 108|128,6,
37329 OPC_CheckChild0Type, MVT::v8i16,
37330 OPC_Scope, 108,
37331 OPC_CheckChild1Integer, 0,
37332 OPC_CheckTypeByHwMode0,
37333 OPC_MoveParent,
37334 OPC_CheckType, MVT::v8i16,
37335 OPC_Scope, 11,
37336 OPC_CheckChild2Integer, 0,
37337 OPC_CheckPatternPredicate1,
37338 OPC_EmitIntegerByHwMode0, 0,
37339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37340 MVT::v8i16, 3, 24,
37341 11,
37342 OPC_CheckChild2Integer, 1,
37343 OPC_CheckPatternPredicate1,
37344 OPC_EmitIntegerByHwMode0, 16,
37345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37346 MVT::v8i16, 3, 24,
37347 11,
37348 OPC_CheckChild2Integer, 2,
37349 OPC_CheckPatternPredicate1,
37350 OPC_EmitIntegerByHwMode0, 32,
37351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37352 MVT::v8i16, 3, 24,
37353 11,
37354 OPC_CheckChild2Integer, 3,
37355 OPC_CheckPatternPredicate1,
37356 OPC_EmitIntegerByHwMode0, 48,
37357 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37358 MVT::v8i16, 3, 24,
37359 12,
37360 OPC_CheckChild2Integer, 4,
37361 OPC_CheckPatternPredicate1,
37362 OPC_EmitIntegerByHwMode0, 64|128,0,
37363 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37364 MVT::v8i16, 3, 24,
37365 12,
37366 OPC_CheckChild2Integer, 5,
37367 OPC_CheckPatternPredicate1,
37368 OPC_EmitIntegerByHwMode0, 80|128,0,
37369 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37370 MVT::v8i16, 3, 24,
37371 12,
37372 OPC_CheckChild2Integer, 6,
37373 OPC_CheckPatternPredicate1,
37374 OPC_EmitIntegerByHwMode0, 96|128,0,
37375 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37376 MVT::v8i16, 3, 24,
37377 12,
37378 OPC_CheckChild2Integer, 7,
37379 OPC_CheckPatternPredicate1,
37380 OPC_EmitIntegerByHwMode0, 112|128,0,
37381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37382 MVT::v8i16, 3, 24,
37383 0,
37384 108,
37385 OPC_CheckChild1Integer, 1,
37386 OPC_CheckTypeByHwMode0,
37387 OPC_MoveParent,
37388 OPC_CheckType, MVT::v8i16,
37389 OPC_Scope, 11,
37390 OPC_CheckChild2Integer, 0,
37391 OPC_CheckPatternPredicate1,
37392 OPC_EmitIntegerByHwMode0, 1,
37393 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37394 MVT::v8i16, 3, 24,
37395 11,
37396 OPC_CheckChild2Integer, 1,
37397 OPC_CheckPatternPredicate1,
37398 OPC_EmitIntegerByHwMode0, 17,
37399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37400 MVT::v8i16, 3, 24,
37401 11,
37402 OPC_CheckChild2Integer, 2,
37403 OPC_CheckPatternPredicate1,
37404 OPC_EmitIntegerByHwMode0, 33,
37405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37406 MVT::v8i16, 3, 24,
37407 11,
37408 OPC_CheckChild2Integer, 3,
37409 OPC_CheckPatternPredicate1,
37410 OPC_EmitIntegerByHwMode0, 49,
37411 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37412 MVT::v8i16, 3, 24,
37413 12,
37414 OPC_CheckChild2Integer, 4,
37415 OPC_CheckPatternPredicate1,
37416 OPC_EmitIntegerByHwMode0, 65|128,0,
37417 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37418 MVT::v8i16, 3, 24,
37419 12,
37420 OPC_CheckChild2Integer, 5,
37421 OPC_CheckPatternPredicate1,
37422 OPC_EmitIntegerByHwMode0, 81|128,0,
37423 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37424 MVT::v8i16, 3, 24,
37425 12,
37426 OPC_CheckChild2Integer, 6,
37427 OPC_CheckPatternPredicate1,
37428 OPC_EmitIntegerByHwMode0, 97|128,0,
37429 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37430 MVT::v8i16, 3, 24,
37431 12,
37432 OPC_CheckChild2Integer, 7,
37433 OPC_CheckPatternPredicate1,
37434 OPC_EmitIntegerByHwMode0, 113|128,0,
37435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37436 MVT::v8i16, 3, 24,
37437 0,
37438 108,
37439 OPC_CheckChild1Integer, 2,
37440 OPC_CheckTypeByHwMode0,
37441 OPC_MoveParent,
37442 OPC_CheckType, MVT::v8i16,
37443 OPC_Scope, 11,
37444 OPC_CheckChild2Integer, 0,
37445 OPC_CheckPatternPredicate1,
37446 OPC_EmitIntegerByHwMode0, 2,
37447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37448 MVT::v8i16, 3, 24,
37449 11,
37450 OPC_CheckChild2Integer, 1,
37451 OPC_CheckPatternPredicate1,
37452 OPC_EmitIntegerByHwMode0, 18,
37453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37454 MVT::v8i16, 3, 24,
37455 11,
37456 OPC_CheckChild2Integer, 2,
37457 OPC_CheckPatternPredicate1,
37458 OPC_EmitIntegerByHwMode0, 34,
37459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37460 MVT::v8i16, 3, 24,
37461 11,
37462 OPC_CheckChild2Integer, 3,
37463 OPC_CheckPatternPredicate1,
37464 OPC_EmitIntegerByHwMode0, 50,
37465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37466 MVT::v8i16, 3, 24,
37467 12,
37468 OPC_CheckChild2Integer, 4,
37469 OPC_CheckPatternPredicate1,
37470 OPC_EmitIntegerByHwMode0, 66|128,0,
37471 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37472 MVT::v8i16, 3, 24,
37473 12,
37474 OPC_CheckChild2Integer, 5,
37475 OPC_CheckPatternPredicate1,
37476 OPC_EmitIntegerByHwMode0, 82|128,0,
37477 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37478 MVT::v8i16, 3, 24,
37479 12,
37480 OPC_CheckChild2Integer, 6,
37481 OPC_CheckPatternPredicate1,
37482 OPC_EmitIntegerByHwMode0, 98|128,0,
37483 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37484 MVT::v8i16, 3, 24,
37485 12,
37486 OPC_CheckChild2Integer, 7,
37487 OPC_CheckPatternPredicate1,
37488 OPC_EmitIntegerByHwMode0, 114|128,0,
37489 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37490 MVT::v8i16, 3, 24,
37491 0,
37492 108,
37493 OPC_CheckChild1Integer, 3,
37494 OPC_CheckTypeByHwMode0,
37495 OPC_MoveParent,
37496 OPC_CheckType, MVT::v8i16,
37497 OPC_Scope, 11,
37498 OPC_CheckChild2Integer, 0,
37499 OPC_CheckPatternPredicate1,
37500 OPC_EmitIntegerByHwMode0, 3,
37501 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37502 MVT::v8i16, 3, 24,
37503 11,
37504 OPC_CheckChild2Integer, 1,
37505 OPC_CheckPatternPredicate1,
37506 OPC_EmitIntegerByHwMode0, 19,
37507 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37508 MVT::v8i16, 3, 24,
37509 11,
37510 OPC_CheckChild2Integer, 2,
37511 OPC_CheckPatternPredicate1,
37512 OPC_EmitIntegerByHwMode0, 35,
37513 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37514 MVT::v8i16, 3, 24,
37515 11,
37516 OPC_CheckChild2Integer, 3,
37517 OPC_CheckPatternPredicate1,
37518 OPC_EmitIntegerByHwMode0, 51,
37519 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37520 MVT::v8i16, 3, 24,
37521 12,
37522 OPC_CheckChild2Integer, 4,
37523 OPC_CheckPatternPredicate1,
37524 OPC_EmitIntegerByHwMode0, 67|128,0,
37525 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37526 MVT::v8i16, 3, 24,
37527 12,
37528 OPC_CheckChild2Integer, 5,
37529 OPC_CheckPatternPredicate1,
37530 OPC_EmitIntegerByHwMode0, 83|128,0,
37531 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37532 MVT::v8i16, 3, 24,
37533 12,
37534 OPC_CheckChild2Integer, 6,
37535 OPC_CheckPatternPredicate1,
37536 OPC_EmitIntegerByHwMode0, 99|128,0,
37537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37538 MVT::v8i16, 3, 24,
37539 12,
37540 OPC_CheckChild2Integer, 7,
37541 OPC_CheckPatternPredicate1,
37542 OPC_EmitIntegerByHwMode0, 115|128,0,
37543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37544 MVT::v8i16, 3, 24,
37545 0,
37546 108,
37547 OPC_CheckChild1Integer, 4,
37548 OPC_CheckTypeByHwMode0,
37549 OPC_MoveParent,
37550 OPC_CheckType, MVT::v8i16,
37551 OPC_Scope, 11,
37552 OPC_CheckChild2Integer, 0,
37553 OPC_CheckPatternPredicate1,
37554 OPC_EmitIntegerByHwMode0, 4,
37555 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37556 MVT::v8i16, 3, 24,
37557 11,
37558 OPC_CheckChild2Integer, 1,
37559 OPC_CheckPatternPredicate1,
37560 OPC_EmitIntegerByHwMode0, 20,
37561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37562 MVT::v8i16, 3, 24,
37563 11,
37564 OPC_CheckChild2Integer, 2,
37565 OPC_CheckPatternPredicate1,
37566 OPC_EmitIntegerByHwMode0, 36,
37567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37568 MVT::v8i16, 3, 24,
37569 11,
37570 OPC_CheckChild2Integer, 3,
37571 OPC_CheckPatternPredicate1,
37572 OPC_EmitIntegerByHwMode0, 52,
37573 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37574 MVT::v8i16, 3, 24,
37575 12,
37576 OPC_CheckChild2Integer, 4,
37577 OPC_CheckPatternPredicate1,
37578 OPC_EmitIntegerByHwMode0, 68|128,0,
37579 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37580 MVT::v8i16, 3, 24,
37581 12,
37582 OPC_CheckChild2Integer, 5,
37583 OPC_CheckPatternPredicate1,
37584 OPC_EmitIntegerByHwMode0, 84|128,0,
37585 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37586 MVT::v8i16, 3, 24,
37587 12,
37588 OPC_CheckChild2Integer, 6,
37589 OPC_CheckPatternPredicate1,
37590 OPC_EmitIntegerByHwMode0, 100|128,0,
37591 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37592 MVT::v8i16, 3, 24,
37593 12,
37594 OPC_CheckChild2Integer, 7,
37595 OPC_CheckPatternPredicate1,
37596 OPC_EmitIntegerByHwMode0, 116|128,0,
37597 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37598 MVT::v8i16, 3, 24,
37599 0,
37600 108,
37601 OPC_CheckChild1Integer, 5,
37602 OPC_CheckTypeByHwMode0,
37603 OPC_MoveParent,
37604 OPC_CheckType, MVT::v8i16,
37605 OPC_Scope, 11,
37606 OPC_CheckChild2Integer, 0,
37607 OPC_CheckPatternPredicate1,
37608 OPC_EmitIntegerByHwMode0, 5,
37609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37610 MVT::v8i16, 3, 24,
37611 11,
37612 OPC_CheckChild2Integer, 1,
37613 OPC_CheckPatternPredicate1,
37614 OPC_EmitIntegerByHwMode0, 21,
37615 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37616 MVT::v8i16, 3, 24,
37617 11,
37618 OPC_CheckChild2Integer, 2,
37619 OPC_CheckPatternPredicate1,
37620 OPC_EmitIntegerByHwMode0, 37,
37621 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37622 MVT::v8i16, 3, 24,
37623 11,
37624 OPC_CheckChild2Integer, 3,
37625 OPC_CheckPatternPredicate1,
37626 OPC_EmitIntegerByHwMode0, 53,
37627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37628 MVT::v8i16, 3, 24,
37629 12,
37630 OPC_CheckChild2Integer, 4,
37631 OPC_CheckPatternPredicate1,
37632 OPC_EmitIntegerByHwMode0, 69|128,0,
37633 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37634 MVT::v8i16, 3, 24,
37635 12,
37636 OPC_CheckChild2Integer, 5,
37637 OPC_CheckPatternPredicate1,
37638 OPC_EmitIntegerByHwMode0, 85|128,0,
37639 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37640 MVT::v8i16, 3, 24,
37641 12,
37642 OPC_CheckChild2Integer, 6,
37643 OPC_CheckPatternPredicate1,
37644 OPC_EmitIntegerByHwMode0, 101|128,0,
37645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37646 MVT::v8i16, 3, 24,
37647 12,
37648 OPC_CheckChild2Integer, 7,
37649 OPC_CheckPatternPredicate1,
37650 OPC_EmitIntegerByHwMode0, 117|128,0,
37651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37652 MVT::v8i16, 3, 24,
37653 0,
37654 108,
37655 OPC_CheckChild1Integer, 6,
37656 OPC_CheckTypeByHwMode0,
37657 OPC_MoveParent,
37658 OPC_CheckType, MVT::v8i16,
37659 OPC_Scope, 11,
37660 OPC_CheckChild2Integer, 0,
37661 OPC_CheckPatternPredicate1,
37662 OPC_EmitIntegerByHwMode0, 6,
37663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37664 MVT::v8i16, 3, 24,
37665 11,
37666 OPC_CheckChild2Integer, 1,
37667 OPC_CheckPatternPredicate1,
37668 OPC_EmitIntegerByHwMode0, 22,
37669 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37670 MVT::v8i16, 3, 24,
37671 11,
37672 OPC_CheckChild2Integer, 2,
37673 OPC_CheckPatternPredicate1,
37674 OPC_EmitIntegerByHwMode0, 38,
37675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37676 MVT::v8i16, 3, 24,
37677 11,
37678 OPC_CheckChild2Integer, 3,
37679 OPC_CheckPatternPredicate1,
37680 OPC_EmitIntegerByHwMode0, 54,
37681 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37682 MVT::v8i16, 3, 24,
37683 12,
37684 OPC_CheckChild2Integer, 4,
37685 OPC_CheckPatternPredicate1,
37686 OPC_EmitIntegerByHwMode0, 70|128,0,
37687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37688 MVT::v8i16, 3, 24,
37689 12,
37690 OPC_CheckChild2Integer, 5,
37691 OPC_CheckPatternPredicate1,
37692 OPC_EmitIntegerByHwMode0, 86|128,0,
37693 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37694 MVT::v8i16, 3, 24,
37695 12,
37696 OPC_CheckChild2Integer, 6,
37697 OPC_CheckPatternPredicate1,
37698 OPC_EmitIntegerByHwMode0, 102|128,0,
37699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37700 MVT::v8i16, 3, 24,
37701 12,
37702 OPC_CheckChild2Integer, 7,
37703 OPC_CheckPatternPredicate1,
37704 OPC_EmitIntegerByHwMode0, 118|128,0,
37705 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37706 MVT::v8i16, 3, 24,
37707 0,
37708 108,
37709 OPC_CheckChild1Integer, 7,
37710 OPC_CheckTypeByHwMode0,
37711 OPC_MoveParent,
37712 OPC_CheckType, MVT::v8i16,
37713 OPC_Scope, 11,
37714 OPC_CheckChild2Integer, 0,
37715 OPC_CheckPatternPredicate1,
37716 OPC_EmitIntegerByHwMode0, 7,
37717 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37718 MVT::v8i16, 3, 24,
37719 11,
37720 OPC_CheckChild2Integer, 1,
37721 OPC_CheckPatternPredicate1,
37722 OPC_EmitIntegerByHwMode0, 23,
37723 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37724 MVT::v8i16, 3, 24,
37725 11,
37726 OPC_CheckChild2Integer, 2,
37727 OPC_CheckPatternPredicate1,
37728 OPC_EmitIntegerByHwMode0, 39,
37729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37730 MVT::v8i16, 3, 24,
37731 11,
37732 OPC_CheckChild2Integer, 3,
37733 OPC_CheckPatternPredicate1,
37734 OPC_EmitIntegerByHwMode0, 55,
37735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37736 MVT::v8i16, 3, 24,
37737 12,
37738 OPC_CheckChild2Integer, 4,
37739 OPC_CheckPatternPredicate1,
37740 OPC_EmitIntegerByHwMode0, 71|128,0,
37741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37742 MVT::v8i16, 3, 24,
37743 12,
37744 OPC_CheckChild2Integer, 5,
37745 OPC_CheckPatternPredicate1,
37746 OPC_EmitIntegerByHwMode0, 87|128,0,
37747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37748 MVT::v8i16, 3, 24,
37749 12,
37750 OPC_CheckChild2Integer, 6,
37751 OPC_CheckPatternPredicate1,
37752 OPC_EmitIntegerByHwMode0, 103|128,0,
37753 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37754 MVT::v8i16, 3, 24,
37755 12,
37756 OPC_CheckChild2Integer, 7,
37757 OPC_CheckPatternPredicate1,
37758 OPC_EmitIntegerByHwMode0, 119|128,0,
37759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_H),
37760 MVT::v8i16, 3, 24,
37761 0,
37762 0,
37763 104|128,1,
37764 OPC_CheckChild0Type, MVT::v4i32,
37765 OPC_Scope, 56,
37766 OPC_CheckChild1Integer, 0,
37767 OPC_CheckTypeByHwMode0,
37768 OPC_MoveParent,
37769 OPC_CheckType, MVT::v4i32,
37770 OPC_Scope, 11,
37771 OPC_CheckChild2Integer, 0,
37772 OPC_CheckPatternPredicate1,
37773 OPC_EmitIntegerByHwMode0, 0,
37774 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37775 MVT::v4i32, 3, 24,
37776 11,
37777 OPC_CheckChild2Integer, 1,
37778 OPC_CheckPatternPredicate1,
37779 OPC_EmitIntegerByHwMode0, 16,
37780 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37781 MVT::v4i32, 3, 24,
37782 11,
37783 OPC_CheckChild2Integer, 2,
37784 OPC_CheckPatternPredicate1,
37785 OPC_EmitIntegerByHwMode0, 32,
37786 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37787 MVT::v4i32, 3, 24,
37788 11,
37789 OPC_CheckChild2Integer, 3,
37790 OPC_CheckPatternPredicate1,
37791 OPC_EmitIntegerByHwMode0, 48,
37792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37793 MVT::v4i32, 3, 24,
37794 0,
37795 56,
37796 OPC_CheckChild1Integer, 1,
37797 OPC_CheckTypeByHwMode0,
37798 OPC_MoveParent,
37799 OPC_CheckType, MVT::v4i32,
37800 OPC_Scope, 11,
37801 OPC_CheckChild2Integer, 0,
37802 OPC_CheckPatternPredicate1,
37803 OPC_EmitIntegerByHwMode0, 1,
37804 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37805 MVT::v4i32, 3, 24,
37806 11,
37807 OPC_CheckChild2Integer, 1,
37808 OPC_CheckPatternPredicate1,
37809 OPC_EmitIntegerByHwMode0, 17,
37810 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37811 MVT::v4i32, 3, 24,
37812 11,
37813 OPC_CheckChild2Integer, 2,
37814 OPC_CheckPatternPredicate1,
37815 OPC_EmitIntegerByHwMode0, 33,
37816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37817 MVT::v4i32, 3, 24,
37818 11,
37819 OPC_CheckChild2Integer, 3,
37820 OPC_CheckPatternPredicate1,
37821 OPC_EmitIntegerByHwMode0, 49,
37822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37823 MVT::v4i32, 3, 24,
37824 0,
37825 56,
37826 OPC_CheckChild1Integer, 2,
37827 OPC_CheckTypeByHwMode0,
37828 OPC_MoveParent,
37829 OPC_CheckType, MVT::v4i32,
37830 OPC_Scope, 11,
37831 OPC_CheckChild2Integer, 0,
37832 OPC_CheckPatternPredicate1,
37833 OPC_EmitIntegerByHwMode0, 2,
37834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37835 MVT::v4i32, 3, 24,
37836 11,
37837 OPC_CheckChild2Integer, 1,
37838 OPC_CheckPatternPredicate1,
37839 OPC_EmitIntegerByHwMode0, 18,
37840 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37841 MVT::v4i32, 3, 24,
37842 11,
37843 OPC_CheckChild2Integer, 2,
37844 OPC_CheckPatternPredicate1,
37845 OPC_EmitIntegerByHwMode0, 34,
37846 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37847 MVT::v4i32, 3, 24,
37848 11,
37849 OPC_CheckChild2Integer, 3,
37850 OPC_CheckPatternPredicate1,
37851 OPC_EmitIntegerByHwMode0, 50,
37852 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37853 MVT::v4i32, 3, 24,
37854 0,
37855 56,
37856 OPC_CheckChild1Integer, 3,
37857 OPC_CheckTypeByHwMode0,
37858 OPC_MoveParent,
37859 OPC_CheckType, MVT::v4i32,
37860 OPC_Scope, 11,
37861 OPC_CheckChild2Integer, 0,
37862 OPC_CheckPatternPredicate1,
37863 OPC_EmitIntegerByHwMode0, 3,
37864 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37865 MVT::v4i32, 3, 24,
37866 11,
37867 OPC_CheckChild2Integer, 1,
37868 OPC_CheckPatternPredicate1,
37869 OPC_EmitIntegerByHwMode0, 19,
37870 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37871 MVT::v4i32, 3, 24,
37872 11,
37873 OPC_CheckChild2Integer, 2,
37874 OPC_CheckPatternPredicate1,
37875 OPC_EmitIntegerByHwMode0, 35,
37876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37877 MVT::v4i32, 3, 24,
37878 11,
37879 OPC_CheckChild2Integer, 3,
37880 OPC_CheckPatternPredicate1,
37881 OPC_EmitIntegerByHwMode0, 51,
37882 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
37883 MVT::v4i32, 3, 24,
37884 0,
37885 0,
37886 70,
37887 OPC_CheckChild0Type, MVT::v2i64,
37888 OPC_Scope, 32,
37889 OPC_CheckChild1Integer, 0,
37890 OPC_CheckTypeByHwMode0,
37891 OPC_MoveParent,
37892 OPC_CheckType, MVT::v2i64,
37893 OPC_Scope, 11,
37894 OPC_CheckChild2Integer, 0,
37895 OPC_CheckPatternPredicate1,
37896 OPC_EmitIntegerByHwMode0, 0,
37897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
37898 MVT::v2i64, 3, 24,
37899 11,
37900 OPC_CheckChild2Integer, 1,
37901 OPC_CheckPatternPredicate1,
37902 OPC_EmitIntegerByHwMode0, 16,
37903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
37904 MVT::v2i64, 3, 24,
37905 0,
37906 32,
37907 OPC_CheckChild1Integer, 1,
37908 OPC_CheckTypeByHwMode0,
37909 OPC_MoveParent,
37910 OPC_CheckType, MVT::v2i64,
37911 OPC_Scope, 11,
37912 OPC_CheckChild2Integer, 0,
37913 OPC_CheckPatternPredicate1,
37914 OPC_EmitIntegerByHwMode0, 1,
37915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
37916 MVT::v2i64, 3, 24,
37917 11,
37918 OPC_CheckChild2Integer, 1,
37919 OPC_CheckPatternPredicate1,
37920 OPC_EmitIntegerByHwMode0, 17,
37921 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
37922 MVT::v2i64, 3, 24,
37923 0,
37924 0,
37925 64,
37926 OPC_CheckChild0Type, MVT::v8i32,
37927 OPC_Scope, 22,
37928 OPC_CheckChild1Integer, 0,
37929 OPC_CheckTypeByHwMode0,
37930 OPC_MoveSibling2,
37931 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37932 OPC_RecordNode,
37933 OPC_CheckPredicate, 11,
37934 OPC_CheckTypeByHwMode0,
37935 OPC_MoveParent,
37936 OPC_CheckType, MVT::v8i32,
37937 OPC_CheckPatternPredicate0,
37938 OPC_EmitConvertToTarget2,
37939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
37940 MVT::v8i32, 3, 42,
37941 36,
37942 OPC_RecordChild1,
37943 OPC_MoveChild1,
37944 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37945 OPC_CheckPredicate, 11,
37946 OPC_CheckTypeByHwMode0,
37947 OPC_MoveParent,
37948 OPC_CheckTypeByHwMode0,
37949 OPC_MoveSibling2,
37950 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37951 OPC_RecordNode,
37952 OPC_CheckPredicate, 11,
37953 OPC_CheckTypeByHwMode0,
37954 OPC_MoveParent,
37955 OPC_CheckType, MVT::v8i32,
37956 OPC_CheckPatternPredicate0,
37957 OPC_EmitConvertToTarget2,
37958 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_W),
37959 MVT::v32i8, 2, 67,
37960 OPC_EmitConvertToTarget3,
37961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
37962 MVT::v8i32, 3, 113,
37963 0,
37964 64,
37965 OPC_CheckChild0Type, MVT::v4i64,
37966 OPC_Scope, 22,
37967 OPC_CheckChild1Integer, 0,
37968 OPC_CheckTypeByHwMode0,
37969 OPC_MoveSibling2,
37970 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37971 OPC_RecordNode,
37972 OPC_CheckPredicate, 18,
37973 OPC_CheckTypeByHwMode0,
37974 OPC_MoveParent,
37975 OPC_CheckType, MVT::v4i64,
37976 OPC_CheckPatternPredicate0,
37977 OPC_EmitConvertToTarget2,
37978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
37979 MVT::v4i64, 3, 42,
37980 36,
37981 OPC_RecordChild1,
37982 OPC_MoveChild1,
37983 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37984 OPC_CheckPredicate, 18,
37985 OPC_CheckTypeByHwMode0,
37986 OPC_MoveParent,
37987 OPC_CheckTypeByHwMode0,
37988 OPC_MoveSibling2,
37989 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
37990 OPC_RecordNode,
37991 OPC_CheckPredicate, 18,
37992 OPC_CheckTypeByHwMode0,
37993 OPC_MoveParent,
37994 OPC_CheckType, MVT::v4i64,
37995 OPC_CheckPatternPredicate0,
37996 OPC_EmitConvertToTarget2,
37997 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKVE_D),
37998 MVT::v32i8, 2, 67,
37999 OPC_EmitConvertToTarget3,
38000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
38001 MVT::v4i64, 3, 113,
38002 0,
38003 0,
38004 1|128,1,
38005 OPC_RecordChild1,
38006 OPC_CheckChild1TypeByHwMode0,
38007 OPC_RecordChild2,
38008 OPC_MoveChild2,
38009 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38010 OPC_Scope, 14,
38011 OPC_CheckPredicate, 21,
38012 OPC_CheckTypeByHwMode0,
38013 OPC_MoveParent,
38014 OPC_CheckType, MVT::v16i8,
38015 OPC_CheckPatternPredicate1,
38016 OPC_EmitConvertToTarget2,
38017 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_B),
38018 MVT::v16i8, 3, 42,
38019 14,
38020 OPC_CheckPredicate, 11,
38021 OPC_CheckTypeByHwMode0,
38022 OPC_MoveParent,
38023 OPC_CheckType, MVT::v8i16,
38024 OPC_CheckPatternPredicate1,
38025 OPC_EmitConvertToTarget2,
38026 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_H),
38027 MVT::v8i16, 3, 42,
38028 14,
38029 OPC_CheckPredicate, 18,
38030 OPC_CheckTypeByHwMode0,
38031 OPC_MoveParent,
38032 OPC_CheckType, MVT::v4i32,
38033 OPC_CheckPatternPredicate1,
38034 OPC_EmitConvertToTarget2,
38035 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38036 MVT::v4i32, 3, 42,
38037 14,
38038 OPC_CheckPredicate, 25,
38039 OPC_CheckTypeByHwMode0,
38040 OPC_MoveParent,
38041 OPC_CheckType, MVT::v2i64,
38042 OPC_CheckPatternPredicate1,
38043 OPC_EmitConvertToTarget2,
38044 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38045 MVT::v2i64, 3, 42,
38046 14,
38047 OPC_CheckPredicate, 11,
38048 OPC_CheckTypeByHwMode0,
38049 OPC_MoveParent,
38050 OPC_CheckType, MVT::v8i32,
38051 OPC_CheckPatternPredicate0,
38052 OPC_EmitConvertToTarget2,
38053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38054 MVT::v8i32, 3, 42,
38055 14,
38056 OPC_CheckPredicate, 18,
38057 OPC_CheckTypeByHwMode0,
38058 OPC_MoveParent,
38059 OPC_CheckType, MVT::v4i64,
38060 OPC_CheckPatternPredicate0,
38061 OPC_EmitConvertToTarget2,
38062 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38063 MVT::v4i64, 3, 42,
38064 14,
38065 OPC_CheckPredicate, 20,
38066 OPC_CheckTypeByHwMode0,
38067 OPC_MoveParent,
38068 OPC_CheckType, MVT::v32i8,
38069 OPC_CheckPatternPredicate0,
38070 OPC_EmitConvertToTarget2,
38071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_B),
38072 MVT::v32i8, 3, 42,
38073 14,
38074 OPC_CheckPredicate, 21,
38075 OPC_CheckTypeByHwMode0,
38076 OPC_MoveParent,
38077 OPC_CheckType, MVT::v16i16,
38078 OPC_CheckPatternPredicate0,
38079 OPC_EmitConvertToTarget2,
38080 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::PseudoXVINSGR2VR_H),
38081 MVT::v16i16, 3, 42,
38082 0,
38083 0,
38084 4|128,5,
38085 OPC_MoveChild0,
38086 OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
38087 OPC_RecordChild0,
38088 OPC_MoveChild1,
38089 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38090 OPC_RecordChild0,
38091 OPC_SwitchType , 109|128,3, MVT::f32,
38092 OPC_CheckChild0Type, 15|128,1,
38093 OPC_Scope, 121,
38094 OPC_CheckChild1Integer, 0,
38095 OPC_MoveParent,
38096 OPC_Scope, 28,
38097 OPC_CheckChild2Integer, 0,
38098 OPC_MoveSibling1,
38099 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38100 OPC_CheckChild0Same, 1,
38101 OPC_CheckChild1Integer, 4,
38102 OPC_CheckType, MVT::f32,
38103 OPC_MoveParent,
38104 OPC_CheckChild2Integer, 4,
38105 OPC_CheckType, 15|128,1,
38106 OPC_CheckPatternPredicate0,
38107 OPC_EmitIntegerByHwMode0, 0,
38108 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38109 15|128,1, 3, 24,
38110 28,
38111 OPC_CheckChild2Integer, 1,
38112 OPC_MoveSibling1,
38113 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38114 OPC_CheckChild0Same, 1,
38115 OPC_CheckChild1Integer, 4,
38116 OPC_CheckType, MVT::f32,
38117 OPC_MoveParent,
38118 OPC_CheckChild2Integer, 5,
38119 OPC_CheckType, 15|128,1,
38120 OPC_CheckPatternPredicate0,
38121 OPC_EmitIntegerByHwMode0, 16,
38122 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38123 15|128,1, 3, 24,
38124 28,
38125 OPC_CheckChild2Integer, 2,
38126 OPC_MoveSibling1,
38127 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38128 OPC_CheckChild0Same, 1,
38129 OPC_CheckChild1Integer, 4,
38130 OPC_CheckType, MVT::f32,
38131 OPC_MoveParent,
38132 OPC_CheckChild2Integer, 6,
38133 OPC_CheckType, 15|128,1,
38134 OPC_CheckPatternPredicate0,
38135 OPC_EmitIntegerByHwMode0, 32,
38136 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38137 15|128,1, 3, 24,
38138 28,
38139 OPC_CheckChild2Integer, 3,
38140 OPC_MoveSibling1,
38141 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38142 OPC_CheckChild0Same, 1,
38143 OPC_CheckChild1Integer, 4,
38144 OPC_CheckType, MVT::f32,
38145 OPC_MoveParent,
38146 OPC_CheckChild2Integer, 7,
38147 OPC_CheckType, 15|128,1,
38148 OPC_CheckPatternPredicate0,
38149 OPC_EmitIntegerByHwMode0, 48,
38150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38151 15|128,1, 3, 24,
38152 0,
38153 121,
38154 OPC_CheckChild1Integer, 1,
38155 OPC_MoveParent,
38156 OPC_Scope, 28,
38157 OPC_CheckChild2Integer, 0,
38158 OPC_MoveSibling1,
38159 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38160 OPC_CheckChild0Same, 1,
38161 OPC_CheckChild1Integer, 5,
38162 OPC_CheckType, MVT::f32,
38163 OPC_MoveParent,
38164 OPC_CheckChild2Integer, 4,
38165 OPC_CheckType, 15|128,1,
38166 OPC_CheckPatternPredicate0,
38167 OPC_EmitIntegerByHwMode0, 1,
38168 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38169 15|128,1, 3, 24,
38170 28,
38171 OPC_CheckChild2Integer, 1,
38172 OPC_MoveSibling1,
38173 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38174 OPC_CheckChild0Same, 1,
38175 OPC_CheckChild1Integer, 5,
38176 OPC_CheckType, MVT::f32,
38177 OPC_MoveParent,
38178 OPC_CheckChild2Integer, 5,
38179 OPC_CheckType, 15|128,1,
38180 OPC_CheckPatternPredicate0,
38181 OPC_EmitIntegerByHwMode0, 17,
38182 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38183 15|128,1, 3, 24,
38184 28,
38185 OPC_CheckChild2Integer, 2,
38186 OPC_MoveSibling1,
38187 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38188 OPC_CheckChild0Same, 1,
38189 OPC_CheckChild1Integer, 5,
38190 OPC_CheckType, MVT::f32,
38191 OPC_MoveParent,
38192 OPC_CheckChild2Integer, 6,
38193 OPC_CheckType, 15|128,1,
38194 OPC_CheckPatternPredicate0,
38195 OPC_EmitIntegerByHwMode0, 33,
38196 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38197 15|128,1, 3, 24,
38198 28,
38199 OPC_CheckChild2Integer, 3,
38200 OPC_MoveSibling1,
38201 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38202 OPC_CheckChild0Same, 1,
38203 OPC_CheckChild1Integer, 5,
38204 OPC_CheckType, MVT::f32,
38205 OPC_MoveParent,
38206 OPC_CheckChild2Integer, 7,
38207 OPC_CheckType, 15|128,1,
38208 OPC_CheckPatternPredicate0,
38209 OPC_EmitIntegerByHwMode0, 49,
38210 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38211 15|128,1, 3, 24,
38212 0,
38213 121,
38214 OPC_CheckChild1Integer, 2,
38215 OPC_MoveParent,
38216 OPC_Scope, 28,
38217 OPC_CheckChild2Integer, 0,
38218 OPC_MoveSibling1,
38219 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38220 OPC_CheckChild0Same, 1,
38221 OPC_CheckChild1Integer, 6,
38222 OPC_CheckType, MVT::f32,
38223 OPC_MoveParent,
38224 OPC_CheckChild2Integer, 4,
38225 OPC_CheckType, 15|128,1,
38226 OPC_CheckPatternPredicate0,
38227 OPC_EmitIntegerByHwMode0, 2,
38228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38229 15|128,1, 3, 24,
38230 28,
38231 OPC_CheckChild2Integer, 1,
38232 OPC_MoveSibling1,
38233 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38234 OPC_CheckChild0Same, 1,
38235 OPC_CheckChild1Integer, 6,
38236 OPC_CheckType, MVT::f32,
38237 OPC_MoveParent,
38238 OPC_CheckChild2Integer, 5,
38239 OPC_CheckType, 15|128,1,
38240 OPC_CheckPatternPredicate0,
38241 OPC_EmitIntegerByHwMode0, 18,
38242 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38243 15|128,1, 3, 24,
38244 28,
38245 OPC_CheckChild2Integer, 2,
38246 OPC_MoveSibling1,
38247 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38248 OPC_CheckChild0Same, 1,
38249 OPC_CheckChild1Integer, 6,
38250 OPC_CheckType, MVT::f32,
38251 OPC_MoveParent,
38252 OPC_CheckChild2Integer, 6,
38253 OPC_CheckType, 15|128,1,
38254 OPC_CheckPatternPredicate0,
38255 OPC_EmitIntegerByHwMode0, 34,
38256 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38257 15|128,1, 3, 24,
38258 28,
38259 OPC_CheckChild2Integer, 3,
38260 OPC_MoveSibling1,
38261 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38262 OPC_CheckChild0Same, 1,
38263 OPC_CheckChild1Integer, 6,
38264 OPC_CheckType, MVT::f32,
38265 OPC_MoveParent,
38266 OPC_CheckChild2Integer, 7,
38267 OPC_CheckType, 15|128,1,
38268 OPC_CheckPatternPredicate0,
38269 OPC_EmitIntegerByHwMode0, 50,
38270 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38271 15|128,1, 3, 24,
38272 0,
38273 121,
38274 OPC_CheckChild1Integer, 3,
38275 OPC_MoveParent,
38276 OPC_Scope, 28,
38277 OPC_CheckChild2Integer, 0,
38278 OPC_MoveSibling1,
38279 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38280 OPC_CheckChild0Same, 1,
38281 OPC_CheckChild1Integer, 7,
38282 OPC_CheckType, MVT::f32,
38283 OPC_MoveParent,
38284 OPC_CheckChild2Integer, 4,
38285 OPC_CheckType, 15|128,1,
38286 OPC_CheckPatternPredicate0,
38287 OPC_EmitIntegerByHwMode0, 3,
38288 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38289 15|128,1, 3, 24,
38290 28,
38291 OPC_CheckChild2Integer, 1,
38292 OPC_MoveSibling1,
38293 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38294 OPC_CheckChild0Same, 1,
38295 OPC_CheckChild1Integer, 7,
38296 OPC_CheckType, MVT::f32,
38297 OPC_MoveParent,
38298 OPC_CheckChild2Integer, 5,
38299 OPC_CheckType, 15|128,1,
38300 OPC_CheckPatternPredicate0,
38301 OPC_EmitIntegerByHwMode0, 19,
38302 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38303 15|128,1, 3, 24,
38304 28,
38305 OPC_CheckChild2Integer, 2,
38306 OPC_MoveSibling1,
38307 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38308 OPC_CheckChild0Same, 1,
38309 OPC_CheckChild1Integer, 7,
38310 OPC_CheckType, MVT::f32,
38311 OPC_MoveParent,
38312 OPC_CheckChild2Integer, 6,
38313 OPC_CheckType, 15|128,1,
38314 OPC_CheckPatternPredicate0,
38315 OPC_EmitIntegerByHwMode0, 35,
38316 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38317 15|128,1, 3, 24,
38318 28,
38319 OPC_CheckChild2Integer, 3,
38320 OPC_MoveSibling1,
38321 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38322 OPC_CheckChild0Same, 1,
38323 OPC_CheckChild1Integer, 7,
38324 OPC_CheckType, MVT::f32,
38325 OPC_MoveParent,
38326 OPC_CheckChild2Integer, 7,
38327 OPC_CheckType, 15|128,1,
38328 OPC_CheckPatternPredicate0,
38329 OPC_EmitIntegerByHwMode0, 51,
38330 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_W),
38331 15|128,1, 3, 24,
38332 0,
38333 0,
38334 5|128,1, MVT::f64,
38335 OPC_CheckChild0Type, 31|128,1,
38336 OPC_Scope, 63,
38337 OPC_CheckChild1Integer, 0,
38338 OPC_MoveParent,
38339 OPC_Scope, 28,
38340 OPC_CheckChild2Integer, 0,
38341 OPC_MoveSibling1,
38342 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38343 OPC_CheckChild0Same, 1,
38344 OPC_CheckChild1Integer, 2,
38345 OPC_CheckType, MVT::f64,
38346 OPC_MoveParent,
38347 OPC_CheckChild2Integer, 2,
38348 OPC_CheckType, 31|128,1,
38349 OPC_CheckPatternPredicate0,
38350 OPC_EmitIntegerByHwMode0, 0,
38351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
38352 31|128,1, 3, 24,
38353 28,
38354 OPC_CheckChild2Integer, 1,
38355 OPC_MoveSibling1,
38356 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38357 OPC_CheckChild0Same, 1,
38358 OPC_CheckChild1Integer, 2,
38359 OPC_CheckType, MVT::f64,
38360 OPC_MoveParent,
38361 OPC_CheckChild2Integer, 3,
38362 OPC_CheckType, 31|128,1,
38363 OPC_CheckPatternPredicate0,
38364 OPC_EmitIntegerByHwMode0, 16,
38365 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
38366 31|128,1, 3, 24,
38367 0,
38368 63,
38369 OPC_CheckChild1Integer, 1,
38370 OPC_MoveParent,
38371 OPC_Scope, 28,
38372 OPC_CheckChild2Integer, 0,
38373 OPC_MoveSibling1,
38374 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38375 OPC_CheckChild0Same, 1,
38376 OPC_CheckChild1Integer, 3,
38377 OPC_CheckType, MVT::f64,
38378 OPC_MoveParent,
38379 OPC_CheckChild2Integer, 2,
38380 OPC_CheckType, 31|128,1,
38381 OPC_CheckPatternPredicate0,
38382 OPC_EmitIntegerByHwMode0, 1,
38383 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
38384 31|128,1, 3, 24,
38385 28,
38386 OPC_CheckChild2Integer, 1,
38387 OPC_MoveSibling1,
38388 OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38389 OPC_CheckChild0Same, 1,
38390 OPC_CheckChild1Integer, 3,
38391 OPC_CheckType, MVT::f64,
38392 OPC_MoveParent,
38393 OPC_CheckChild2Integer, 3,
38394 OPC_CheckType, 31|128,1,
38395 OPC_CheckPatternPredicate0,
38396 OPC_EmitIntegerByHwMode0, 17,
38397 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTRINS_D),
38398 31|128,1, 3, 24,
38399 0,
38400 0,
38401 0,
38402 19|128,5,
38403 OPC_RecordChild0,
38404 OPC_Scope, 50|128,3,
38405 OPC_MoveChild1,
38406 OPC_SwitchOpcode , 76|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
38407 OPC_RecordChild0,
38408 OPC_SwitchType , 121|128,1, MVT::f32,
38409 OPC_CheckChild0Type, 11|128,1,
38410 OPC_Scope, 60,
38411 OPC_CheckChild1Integer, 0,
38412 OPC_MoveParent,
38413 OPC_CheckType, 11|128,1,
38414 OPC_Scope, 12,
38415 OPC_CheckChild2Integer, 0,
38416 OPC_CheckPatternPredicate1,
38417 OPC_EmitIntegerByHwMode0, 0,
38418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38419 11|128,1, 3, 24,
38420 12,
38421 OPC_CheckChild2Integer, 1,
38422 OPC_CheckPatternPredicate1,
38423 OPC_EmitIntegerByHwMode0, 16,
38424 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38425 11|128,1, 3, 24,
38426 12,
38427 OPC_CheckChild2Integer, 2,
38428 OPC_CheckPatternPredicate1,
38429 OPC_EmitIntegerByHwMode0, 32,
38430 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38431 11|128,1, 3, 24,
38432 12,
38433 OPC_CheckChild2Integer, 3,
38434 OPC_CheckPatternPredicate1,
38435 OPC_EmitIntegerByHwMode0, 48,
38436 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38437 11|128,1, 3, 24,
38438 0,
38439 60,
38440 OPC_CheckChild1Integer, 1,
38441 OPC_MoveParent,
38442 OPC_CheckType, 11|128,1,
38443 OPC_Scope, 12,
38444 OPC_CheckChild2Integer, 0,
38445 OPC_CheckPatternPredicate1,
38446 OPC_EmitIntegerByHwMode0, 1,
38447 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38448 11|128,1, 3, 24,
38449 12,
38450 OPC_CheckChild2Integer, 1,
38451 OPC_CheckPatternPredicate1,
38452 OPC_EmitIntegerByHwMode0, 17,
38453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38454 11|128,1, 3, 24,
38455 12,
38456 OPC_CheckChild2Integer, 2,
38457 OPC_CheckPatternPredicate1,
38458 OPC_EmitIntegerByHwMode0, 33,
38459 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38460 11|128,1, 3, 24,
38461 12,
38462 OPC_CheckChild2Integer, 3,
38463 OPC_CheckPatternPredicate1,
38464 OPC_EmitIntegerByHwMode0, 49,
38465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38466 11|128,1, 3, 24,
38467 0,
38468 60,
38469 OPC_CheckChild1Integer, 2,
38470 OPC_MoveParent,
38471 OPC_CheckType, 11|128,1,
38472 OPC_Scope, 12,
38473 OPC_CheckChild2Integer, 0,
38474 OPC_CheckPatternPredicate1,
38475 OPC_EmitIntegerByHwMode0, 2,
38476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38477 11|128,1, 3, 24,
38478 12,
38479 OPC_CheckChild2Integer, 1,
38480 OPC_CheckPatternPredicate1,
38481 OPC_EmitIntegerByHwMode0, 18,
38482 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38483 11|128,1, 3, 24,
38484 12,
38485 OPC_CheckChild2Integer, 2,
38486 OPC_CheckPatternPredicate1,
38487 OPC_EmitIntegerByHwMode0, 34,
38488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38489 11|128,1, 3, 24,
38490 12,
38491 OPC_CheckChild2Integer, 3,
38492 OPC_CheckPatternPredicate1,
38493 OPC_EmitIntegerByHwMode0, 50,
38494 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38495 11|128,1, 3, 24,
38496 0,
38497 60,
38498 OPC_CheckChild1Integer, 3,
38499 OPC_MoveParent,
38500 OPC_CheckType, 11|128,1,
38501 OPC_Scope, 12,
38502 OPC_CheckChild2Integer, 0,
38503 OPC_CheckPatternPredicate1,
38504 OPC_EmitIntegerByHwMode0, 3,
38505 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38506 11|128,1, 3, 24,
38507 12,
38508 OPC_CheckChild2Integer, 1,
38509 OPC_CheckPatternPredicate1,
38510 OPC_EmitIntegerByHwMode0, 19,
38511 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38512 11|128,1, 3, 24,
38513 12,
38514 OPC_CheckChild2Integer, 2,
38515 OPC_CheckPatternPredicate1,
38516 OPC_EmitIntegerByHwMode0, 35,
38517 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38518 11|128,1, 3, 24,
38519 12,
38520 OPC_CheckChild2Integer, 3,
38521 OPC_CheckPatternPredicate1,
38522 OPC_EmitIntegerByHwMode0, 51,
38523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38524 11|128,1, 3, 24,
38525 0,
38526 0,
38527 75, MVT::f64,
38528 OPC_CheckChild0Type, 29|128,1,
38529 OPC_Scope, 34,
38530 OPC_CheckChild1Integer, 0,
38531 OPC_MoveParent,
38532 OPC_CheckType, 29|128,1,
38533 OPC_Scope, 12,
38534 OPC_CheckChild2Integer, 0,
38535 OPC_CheckPatternPredicate1,
38536 OPC_EmitIntegerByHwMode0, 0,
38537 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
38538 29|128,1, 3, 24,
38539 12,
38540 OPC_CheckChild2Integer, 1,
38541 OPC_CheckPatternPredicate1,
38542 OPC_EmitIntegerByHwMode0, 16,
38543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
38544 29|128,1, 3, 24,
38545 0,
38546 34,
38547 OPC_CheckChild1Integer, 1,
38548 OPC_MoveParent,
38549 OPC_CheckType, 29|128,1,
38550 OPC_Scope, 12,
38551 OPC_CheckChild2Integer, 0,
38552 OPC_CheckPatternPredicate1,
38553 OPC_EmitIntegerByHwMode0, 1,
38554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
38555 29|128,1, 3, 24,
38556 12,
38557 OPC_CheckChild2Integer, 1,
38558 OPC_CheckPatternPredicate1,
38559 OPC_EmitIntegerByHwMode0, 17,
38560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
38561 29|128,1, 3, 24,
38562 0,
38563 0,
38564 0,
38565 44, TARGET_VAL(LoongArchISD::MOVGR2FR_W_LA64),
38566 OPC_RecordChild0,
38567 OPC_CheckChild0TypeByHwMode, 1,
38568 OPC_MoveSibling2,
38569 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38570 OPC_RecordNode,
38571 OPC_Scope, 16,
38572 OPC_CheckPredicate, 18,
38573 OPC_CheckTypeByHwMode0,
38574 OPC_MoveParent,
38575 OPC_CheckType, 11|128,1,
38576 OPC_CheckPatternPredicate1,
38577 OPC_EmitConvertToTarget2,
38578 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_W),
38579 11|128,1, 3, 42,
38580 16,
38581 OPC_CheckPredicate, 11,
38582 OPC_CheckTypeByHwMode0,
38583 OPC_MoveParent,
38584 OPC_CheckType, 15|128,1,
38585 OPC_CheckPatternPredicate0,
38586 OPC_EmitConvertToTarget2,
38587 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_W),
38588 15|128,1, 3, 42,
38589 0,
38590 45, TARGET_VAL(ISD::BITCAST),
38591 OPC_RecordChild0,
38592 OPC_CheckChild0TypeI64,
38593 OPC_CheckType, MVT::f64,
38594 OPC_MoveSibling2,
38595 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38596 OPC_RecordNode,
38597 OPC_Scope, 16,
38598 OPC_CheckPredicate, 25,
38599 OPC_CheckTypeByHwMode0,
38600 OPC_MoveParent,
38601 OPC_CheckType, 29|128,1,
38602 OPC_CheckPatternPredicate1,
38603 OPC_EmitConvertToTarget2,
38604 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VINSGR2VR_D),
38605 29|128,1, 3, 42,
38606 16,
38607 OPC_CheckPredicate, 18,
38608 OPC_CheckTypeByHwMode0,
38609 OPC_MoveParent,
38610 OPC_CheckType, 31|128,1,
38611 OPC_CheckPatternPredicate0,
38612 OPC_EmitConvertToTarget2,
38613 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSGR2VR_D),
38614 31|128,1, 3, 42,
38615 0,
38616 0,
38617 90|128,1,
38618 OPC_RecordChild1,
38619 OPC_Scope, 2|128,1,
38620 OPC_CheckChild1Type, MVT::f32,
38621 OPC_Scope, 23,
38622 OPC_CheckChild2Integer, 0,
38623 OPC_CheckType, 11|128,1,
38624 OPC_CheckPatternPredicate1,
38625 OPC_EmitIntegerI32, LoongArch::sub_32,
38626 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38627 MVT::v16i8, 2, 25,
38628 OPC_EmitIntegerByHwMode0, 0,
38629 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38630 11|128,1, 3, 75,
38631 23,
38632 OPC_CheckChild2Integer, 1,
38633 OPC_CheckType, 11|128,1,
38634 OPC_CheckPatternPredicate1,
38635 OPC_EmitIntegerI32, LoongArch::sub_32,
38636 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38637 MVT::v16i8, 2, 25,
38638 OPC_EmitIntegerByHwMode0, 16,
38639 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38640 11|128,1, 3, 75,
38641 23,
38642 OPC_CheckChild2Integer, 2,
38643 OPC_CheckType, 11|128,1,
38644 OPC_CheckPatternPredicate1,
38645 OPC_EmitIntegerI32, LoongArch::sub_32,
38646 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38647 MVT::v16i8, 2, 25,
38648 OPC_EmitIntegerByHwMode0, 32,
38649 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38650 11|128,1, 3, 75,
38651 23,
38652 OPC_CheckChild2Integer, 3,
38653 OPC_CheckType, 11|128,1,
38654 OPC_CheckPatternPredicate1,
38655 OPC_EmitIntegerI32, LoongArch::sub_32,
38656 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38657 MVT::v16i8, 2, 25,
38658 OPC_EmitIntegerByHwMode0, 48,
38659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_W),
38660 11|128,1, 3, 75,
38661 29,
38662 OPC_RecordChild2,
38663 OPC_MoveChild2,
38664 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38665 OPC_CheckPredicate, 11,
38666 OPC_CheckTypeByHwMode0,
38667 OPC_MoveParent,
38668 OPC_CheckType, 15|128,1,
38669 OPC_CheckPatternPredicate0,
38670 OPC_EmitIntegerI32, LoongArch::sub_32,
38671 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38672 MVT::v32i8, 2, 43,
38673 OPC_EmitConvertToTarget2,
38674 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
38675 15|128,1, 3, 92,
38676 0,
38677 82,
38678 OPC_CheckChild1Type, MVT::f64,
38679 OPC_Scope, 23,
38680 OPC_CheckChild2Integer, 0,
38681 OPC_CheckType, 29|128,1,
38682 OPC_CheckPatternPredicate1,
38683 OPC_EmitIntegerI32, LoongArch::sub_64,
38684 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38685 MVT::v16i8, 2, 25,
38686 OPC_EmitIntegerByHwMode0, 0,
38687 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
38688 29|128,1, 3, 75,
38689 23,
38690 OPC_CheckChild2Integer, 1,
38691 OPC_CheckType, 29|128,1,
38692 OPC_CheckPatternPredicate1,
38693 OPC_EmitIntegerI32, LoongArch::sub_64,
38694 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38695 MVT::v16i8, 2, 25,
38696 OPC_EmitIntegerByHwMode0, 16,
38697 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTRINS_D),
38698 29|128,1, 3, 75,
38699 29,
38700 OPC_RecordChild2,
38701 OPC_MoveChild2,
38702 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
38703 OPC_CheckPredicate, 18,
38704 OPC_CheckTypeByHwMode0,
38705 OPC_MoveParent,
38706 OPC_CheckType, 31|128,1,
38707 OPC_CheckPatternPredicate0,
38708 OPC_EmitIntegerI32, LoongArch::sub_64,
38709 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
38710 MVT::v32i8, 2, 43,
38711 OPC_EmitConvertToTarget2,
38712 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
38713 31|128,1, 3, 92,
38714 0,
38715 0,
38716 0,
38717 0,
38718 6|128,4, TARGET_VAL(LoongArchISD::VANDN),
38719 OPC_Scope, 53|128,3,
38720 OPC_MoveChild0,
38721 OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
38722 OPC_MoveChild0,
38723 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
38724 OPC_CheckPredicate, 12,
38725 OPC_Scope, 55|128,2,
38726 OPC_MoveSibling1,
38727 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
38728 OPC_Scope, 19|128,1,
38729 OPC_RecordChild0,
38730 OPC_MoveChild1,
38731 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
38732 OPC_Scope, 17,
38733 OPC_CheckPredicate, 14,
38734 OPC_MoveParent,
38735 OPC_CheckType, MVT::v16i8,
38736 OPC_MoveParent,
38737 OPC_MoveParent,
38738 OPC_RecordChild1,
38739 OPC_CheckType, MVT::v16i8,
38740 OPC_CheckPatternPredicate1,
38741 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
38742 MVT::v16i8, 2, 3,
38743 17,
38744 OPC_CheckPredicate, 15,
38745 OPC_MoveParent,
38746 OPC_CheckType, MVT::v8i16,
38747 OPC_MoveParent,
38748 OPC_MoveParent,
38749 OPC_RecordChild1,
38750 OPC_CheckType, MVT::v8i16,
38751 OPC_CheckPatternPredicate1,
38752 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
38753 MVT::v8i16, 2, 3,
38754 17,
38755 OPC_CheckPredicate, 16,
38756 OPC_MoveParent,
38757 OPC_CheckType, MVT::v4i32,
38758 OPC_MoveParent,
38759 OPC_MoveParent,
38760 OPC_RecordChild1,
38761 OPC_CheckType, MVT::v4i32,
38762 OPC_CheckPatternPredicate1,
38763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
38764 MVT::v4i32, 2, 3,
38765 15,
38766 OPC_CheckPredicate, 17,
38767 OPC_MoveParent,
38768 OPC_MoveParent,
38769 OPC_MoveParent,
38770 OPC_RecordChild1,
38771 OPC_CheckType, MVT::v2i64,
38772 OPC_CheckPatternPredicate1,
38773 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
38774 MVT::v2i64, 2, 3,
38775 15,
38776 OPC_CheckPredicate, 14,
38777 OPC_MoveParent,
38778 OPC_MoveParent,
38779 OPC_MoveParent,
38780 OPC_RecordChild1,
38781 OPC_CheckType, MVT::v32i8,
38782 OPC_CheckPatternPredicate0,
38783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
38784 MVT::v32i8, 2, 3,
38785 17,
38786 OPC_CheckPredicate, 15,
38787 OPC_MoveParent,
38788 OPC_CheckType, MVT::v16i16,
38789 OPC_MoveParent,
38790 OPC_MoveParent,
38791 OPC_RecordChild1,
38792 OPC_CheckType, MVT::v16i16,
38793 OPC_CheckPatternPredicate0,
38794 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
38795 MVT::v16i16, 2, 3,
38796 17,
38797 OPC_CheckPredicate, 16,
38798 OPC_MoveParent,
38799 OPC_CheckType, MVT::v8i32,
38800 OPC_MoveParent,
38801 OPC_MoveParent,
38802 OPC_RecordChild1,
38803 OPC_CheckType, MVT::v8i32,
38804 OPC_CheckPatternPredicate0,
38805 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
38806 MVT::v8i32, 2, 3,
38807 17,
38808 OPC_CheckPredicate, 17,
38809 OPC_MoveParent,
38810 OPC_CheckType, MVT::v4i64,
38811 OPC_MoveParent,
38812 OPC_MoveParent,
38813 OPC_RecordChild1,
38814 OPC_CheckType, MVT::v4i64,
38815 OPC_CheckPatternPredicate0,
38816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
38817 MVT::v4i64, 2, 3,
38818 0,
38819 26|128,1,
38820 OPC_MoveChild0,
38821 OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
38822 OPC_Scope, 18,
38823 OPC_CheckPredicate, 14,
38824 OPC_MoveParent,
38825 OPC_RecordChild1,
38826 OPC_CheckType, MVT::v16i8,
38827 OPC_MoveParent,
38828 OPC_MoveParent,
38829 OPC_RecordChild1,
38830 OPC_CheckType, MVT::v16i8,
38831 OPC_CheckPatternPredicate1,
38832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
38833 MVT::v16i8, 2, 3,
38834 18,
38835 OPC_CheckPredicate, 15,
38836 OPC_MoveParent,
38837 OPC_RecordChild1,
38838 OPC_CheckType, MVT::v8i16,
38839 OPC_MoveParent,
38840 OPC_MoveParent,
38841 OPC_RecordChild1,
38842 OPC_CheckType, MVT::v8i16,
38843 OPC_CheckPatternPredicate1,
38844 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
38845 MVT::v8i16, 2, 3,
38846 18,
38847 OPC_CheckPredicate, 16,
38848 OPC_MoveParent,
38849 OPC_RecordChild1,
38850 OPC_CheckType, MVT::v4i32,
38851 OPC_MoveParent,
38852 OPC_MoveParent,
38853 OPC_RecordChild1,
38854 OPC_CheckType, MVT::v4i32,
38855 OPC_CheckPatternPredicate1,
38856 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
38857 MVT::v4i32, 2, 3,
38858 16,
38859 OPC_CheckPredicate, 17,
38860 OPC_MoveParent,
38861 OPC_RecordChild1,
38862 OPC_MoveParent,
38863 OPC_MoveParent,
38864 OPC_RecordChild1,
38865 OPC_CheckType, MVT::v2i64,
38866 OPC_CheckPatternPredicate1,
38867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
38868 MVT::v2i64, 2, 3,
38869 16,
38870 OPC_CheckPredicate, 14,
38871 OPC_MoveParent,
38872 OPC_RecordChild1,
38873 OPC_MoveParent,
38874 OPC_MoveParent,
38875 OPC_RecordChild1,
38876 OPC_CheckType, MVT::v32i8,
38877 OPC_CheckPatternPredicate0,
38878 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
38879 MVT::v32i8, 2, 3,
38880 18,
38881 OPC_CheckPredicate, 15,
38882 OPC_MoveParent,
38883 OPC_RecordChild1,
38884 OPC_CheckType, MVT::v16i16,
38885 OPC_MoveParent,
38886 OPC_MoveParent,
38887 OPC_RecordChild1,
38888 OPC_CheckType, MVT::v16i16,
38889 OPC_CheckPatternPredicate0,
38890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
38891 MVT::v16i16, 2, 3,
38892 18,
38893 OPC_CheckPredicate, 16,
38894 OPC_MoveParent,
38895 OPC_RecordChild1,
38896 OPC_CheckType, MVT::v8i32,
38897 OPC_MoveParent,
38898 OPC_MoveParent,
38899 OPC_RecordChild1,
38900 OPC_CheckType, MVT::v8i32,
38901 OPC_CheckPatternPredicate0,
38902 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
38903 MVT::v8i32, 2, 3,
38904 18,
38905 OPC_CheckPredicate, 17,
38906 OPC_MoveParent,
38907 OPC_RecordChild1,
38908 OPC_CheckType, MVT::v4i64,
38909 OPC_MoveParent,
38910 OPC_MoveParent,
38911 OPC_RecordChild1,
38912 OPC_CheckType, MVT::v4i64,
38913 OPC_CheckPatternPredicate0,
38914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
38915 MVT::v4i64, 2, 3,
38916 0,
38917 0,
38918 111,
38919 OPC_MoveParent,
38920 OPC_RecordChild1,
38921 OPC_Scope, 13,
38922 OPC_CheckChild1Type, MVT::v16i8,
38923 OPC_MoveParent,
38924 OPC_RecordChild1,
38925 OPC_CheckType, MVT::v16i8,
38926 OPC_CheckPatternPredicate1,
38927 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_B),
38928 MVT::v16i8, 2, 3,
38929 13,
38930 OPC_CheckChild1Type, MVT::v8i16,
38931 OPC_MoveParent,
38932 OPC_RecordChild1,
38933 OPC_CheckType, MVT::v8i16,
38934 OPC_CheckPatternPredicate1,
38935 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_H),
38936 MVT::v8i16, 2, 3,
38937 13,
38938 OPC_CheckChild1Type, MVT::v4i32,
38939 OPC_MoveParent,
38940 OPC_RecordChild1,
38941 OPC_CheckType, MVT::v4i32,
38942 OPC_CheckPatternPredicate1,
38943 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_W),
38944 MVT::v4i32, 2, 3,
38945 22,
38946 OPC_MoveParent,
38947 OPC_RecordChild1,
38948 OPC_SwitchType , 7, MVT::v2i64,
38949 OPC_CheckPatternPredicate1,
38950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITCLR_D),
38951 MVT::v2i64, 2, 3,
38952 7, MVT::v32i8,
38953 OPC_CheckPatternPredicate0,
38954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_B),
38955 MVT::v32i8, 2, 3,
38956 0,
38957 13,
38958 OPC_CheckChild1Type, MVT::v16i16,
38959 OPC_MoveParent,
38960 OPC_RecordChild1,
38961 OPC_CheckType, MVT::v16i16,
38962 OPC_CheckPatternPredicate0,
38963 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_H),
38964 MVT::v16i16, 2, 3,
38965 13,
38966 OPC_CheckChild1Type, MVT::v8i32,
38967 OPC_MoveParent,
38968 OPC_RecordChild1,
38969 OPC_CheckType, MVT::v8i32,
38970 OPC_CheckPatternPredicate0,
38971 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_W),
38972 MVT::v8i32, 2, 3,
38973 13,
38974 OPC_CheckChild1Type, MVT::v4i64,
38975 OPC_MoveParent,
38976 OPC_RecordChild1,
38977 OPC_CheckType, MVT::v4i64,
38978 OPC_CheckPatternPredicate0,
38979 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITCLR_D),
38980 MVT::v4i64, 2, 3,
38981 0,
38982 0,
38983 76,
38984 OPC_RecordChild0,
38985 OPC_RecordChild1,
38986 OPC_SwitchType , 7, MVT::v16i8,
38987 OPC_CheckPatternPredicate1,
38988 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
38989 MVT::v16i8, 2, 9,
38990 7, MVT::v8i16,
38991 OPC_CheckPatternPredicate1,
38992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
38993 MVT::v8i16, 2, 9,
38994 7, MVT::v4i32,
38995 OPC_CheckPatternPredicate1,
38996 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
38997 MVT::v4i32, 2, 9,
38998 7, MVT::v2i64,
38999 OPC_CheckPatternPredicate1,
39000 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VANDN_V),
39001 MVT::v2i64, 2, 9,
39002 7, MVT::v32i8,
39003 OPC_CheckPatternPredicate0,
39004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
39005 MVT::v32i8, 2, 9,
39006 7, MVT::v16i16,
39007 OPC_CheckPatternPredicate0,
39008 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
39009 MVT::v16i16, 2, 9,
39010 7, MVT::v8i32,
39011 OPC_CheckPatternPredicate0,
39012 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
39013 MVT::v8i32, 2, 9,
39014 7, MVT::v4i64,
39015 OPC_CheckPatternPredicate0,
39016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVANDN_V),
39017 MVT::v4i64, 2, 9,
39018 0,
39019 0,
39020 50|128,7, TARGET_VAL(LoongArchISD::VLDREPL),
39021 OPC_RecordMemRef,
39022 OPC_RecordNode,
39023 OPC_Scope, 103|128,2,
39024 OPC_MoveChild1,
39025 OPC_SwitchOpcode , 46|128,1, TARGET_VAL(ISD::ADD),
39026 OPC_RecordChild0,
39027 OPC_RecordChild1,
39028 OPC_MoveChild1,
39029 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39030 OPC_Scope, 19,
39031 OPC_CheckPredicate4,
39032 OPC_MoveParent,
39033 OPC_CheckPredicate2,
39034 OPC_CheckTypeByHwMode0,
39035 OPC_MoveParent,
39036 OPC_CheckType, MVT::v16i8,
39037 OPC_CheckPatternPredicate1,
39038 OPC_CheckComplexPat0, /*#*/1,
39039 OPC_EmitMergeInputChains1_0,
39040 OPC_EmitConvertToTarget2,
39041 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
39042 MVT::v16i8, 2, 76,
39043 20,
39044 OPC_CheckPredicate, 46,
39045 OPC_MoveParent,
39046 OPC_CheckPredicate2,
39047 OPC_CheckTypeByHwMode0,
39048 OPC_MoveParent,
39049 OPC_CheckType, MVT::v8i16,
39050 OPC_CheckPatternPredicate1,
39051 OPC_CheckComplexPat0, /*#*/1,
39052 OPC_EmitMergeInputChains1_0,
39053 OPC_EmitConvertToTarget2,
39054 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
39055 MVT::v8i16, 2, 76,
39056 20,
39057 OPC_CheckPredicate, 38,
39058 OPC_MoveParent,
39059 OPC_CheckPredicate2,
39060 OPC_CheckTypeByHwMode0,
39061 OPC_MoveParent,
39062 OPC_CheckType, MVT::v4i32,
39063 OPC_CheckPatternPredicate1,
39064 OPC_CheckComplexPat0, /*#*/1,
39065 OPC_EmitMergeInputChains1_0,
39066 OPC_EmitConvertToTarget2,
39067 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39068 MVT::v4i32, 2, 76,
39069 20,
39070 OPC_CheckPredicate, 39,
39071 OPC_MoveParent,
39072 OPC_CheckPredicate2,
39073 OPC_CheckTypeByHwMode0,
39074 OPC_MoveParent,
39075 OPC_CheckType, MVT::v2i64,
39076 OPC_CheckPatternPredicate1,
39077 OPC_CheckComplexPat0, /*#*/1,
39078 OPC_EmitMergeInputChains1_0,
39079 OPC_EmitConvertToTarget2,
39080 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39081 MVT::v2i64, 2, 76,
39082 19,
39083 OPC_CheckPredicate4,
39084 OPC_MoveParent,
39085 OPC_CheckPredicate2,
39086 OPC_CheckTypeByHwMode0,
39087 OPC_MoveParent,
39088 OPC_CheckType, MVT::v32i8,
39089 OPC_CheckPatternPredicate0,
39090 OPC_CheckComplexPat0, /*#*/1,
39091 OPC_EmitMergeInputChains1_0,
39092 OPC_EmitConvertToTarget2,
39093 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
39094 MVT::v32i8, 2, 76,
39095 20,
39096 OPC_CheckPredicate, 46,
39097 OPC_MoveParent,
39098 OPC_CheckPredicate2,
39099 OPC_CheckTypeByHwMode0,
39100 OPC_MoveParent,
39101 OPC_CheckType, MVT::v16i16,
39102 OPC_CheckPatternPredicate0,
39103 OPC_CheckComplexPat0, /*#*/1,
39104 OPC_EmitMergeInputChains1_0,
39105 OPC_EmitConvertToTarget2,
39106 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
39107 MVT::v16i16, 2, 76,
39108 20,
39109 OPC_CheckPredicate, 38,
39110 OPC_MoveParent,
39111 OPC_CheckPredicate2,
39112 OPC_CheckTypeByHwMode0,
39113 OPC_MoveParent,
39114 OPC_CheckType, MVT::v8i32,
39115 OPC_CheckPatternPredicate0,
39116 OPC_CheckComplexPat0, /*#*/1,
39117 OPC_EmitMergeInputChains1_0,
39118 OPC_EmitConvertToTarget2,
39119 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39120 MVT::v8i32, 2, 76,
39121 20,
39122 OPC_CheckPredicate, 39,
39123 OPC_MoveParent,
39124 OPC_CheckPredicate2,
39125 OPC_CheckTypeByHwMode0,
39126 OPC_MoveParent,
39127 OPC_CheckType, MVT::v4i64,
39128 OPC_CheckPatternPredicate0,
39129 OPC_CheckComplexPat0, /*#*/1,
39130 OPC_EmitMergeInputChains1_0,
39131 OPC_EmitConvertToTarget2,
39132 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39133 MVT::v4i64, 2, 76,
39134 0,
39135 46|128,1, TARGET_VAL(ISD::OR),
39136 OPC_RecordChild0,
39137 OPC_RecordChild1,
39138 OPC_MoveChild1,
39139 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39140 OPC_Scope, 19,
39141 OPC_CheckPredicate4,
39142 OPC_MoveParent,
39143 OPC_CheckPredicate2,
39144 OPC_CheckTypeByHwMode0,
39145 OPC_MoveParent,
39146 OPC_CheckType, MVT::v16i8,
39147 OPC_CheckPatternPredicate1,
39148 OPC_CheckComplexPat0, /*#*/1,
39149 OPC_EmitMergeInputChains1_0,
39150 OPC_EmitConvertToTarget2,
39151 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
39152 MVT::v16i8, 2, 76,
39153 20,
39154 OPC_CheckPredicate, 46,
39155 OPC_MoveParent,
39156 OPC_CheckPredicate2,
39157 OPC_CheckTypeByHwMode0,
39158 OPC_MoveParent,
39159 OPC_CheckType, MVT::v8i16,
39160 OPC_CheckPatternPredicate1,
39161 OPC_CheckComplexPat0, /*#*/1,
39162 OPC_EmitMergeInputChains1_0,
39163 OPC_EmitConvertToTarget2,
39164 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
39165 MVT::v8i16, 2, 76,
39166 20,
39167 OPC_CheckPredicate, 38,
39168 OPC_MoveParent,
39169 OPC_CheckPredicate2,
39170 OPC_CheckTypeByHwMode0,
39171 OPC_MoveParent,
39172 OPC_CheckType, MVT::v4i32,
39173 OPC_CheckPatternPredicate1,
39174 OPC_CheckComplexPat0, /*#*/1,
39175 OPC_EmitMergeInputChains1_0,
39176 OPC_EmitConvertToTarget2,
39177 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39178 MVT::v4i32, 2, 76,
39179 20,
39180 OPC_CheckPredicate, 39,
39181 OPC_MoveParent,
39182 OPC_CheckPredicate2,
39183 OPC_CheckTypeByHwMode0,
39184 OPC_MoveParent,
39185 OPC_CheckType, MVT::v2i64,
39186 OPC_CheckPatternPredicate1,
39187 OPC_CheckComplexPat0, /*#*/1,
39188 OPC_EmitMergeInputChains1_0,
39189 OPC_EmitConvertToTarget2,
39190 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39191 MVT::v2i64, 2, 76,
39192 19,
39193 OPC_CheckPredicate4,
39194 OPC_MoveParent,
39195 OPC_CheckPredicate2,
39196 OPC_CheckTypeByHwMode0,
39197 OPC_MoveParent,
39198 OPC_CheckType, MVT::v32i8,
39199 OPC_CheckPatternPredicate0,
39200 OPC_CheckComplexPat0, /*#*/1,
39201 OPC_EmitMergeInputChains1_0,
39202 OPC_EmitConvertToTarget2,
39203 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
39204 MVT::v32i8, 2, 76,
39205 20,
39206 OPC_CheckPredicate, 46,
39207 OPC_MoveParent,
39208 OPC_CheckPredicate2,
39209 OPC_CheckTypeByHwMode0,
39210 OPC_MoveParent,
39211 OPC_CheckType, MVT::v16i16,
39212 OPC_CheckPatternPredicate0,
39213 OPC_CheckComplexPat0, /*#*/1,
39214 OPC_EmitMergeInputChains1_0,
39215 OPC_EmitConvertToTarget2,
39216 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
39217 MVT::v16i16, 2, 76,
39218 20,
39219 OPC_CheckPredicate, 38,
39220 OPC_MoveParent,
39221 OPC_CheckPredicate2,
39222 OPC_CheckTypeByHwMode0,
39223 OPC_MoveParent,
39224 OPC_CheckType, MVT::v8i32,
39225 OPC_CheckPatternPredicate0,
39226 OPC_CheckComplexPat0, /*#*/1,
39227 OPC_EmitMergeInputChains1_0,
39228 OPC_EmitConvertToTarget2,
39229 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39230 MVT::v8i32, 2, 76,
39231 20,
39232 OPC_CheckPredicate, 39,
39233 OPC_MoveParent,
39234 OPC_CheckPredicate2,
39235 OPC_CheckTypeByHwMode0,
39236 OPC_MoveParent,
39237 OPC_CheckType, MVT::v4i64,
39238 OPC_CheckPatternPredicate0,
39239 OPC_CheckComplexPat0, /*#*/1,
39240 OPC_EmitMergeInputChains1_0,
39241 OPC_EmitConvertToTarget2,
39242 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39243 MVT::v4i64, 2, 76,
39244 0,
39245 0,
39246 107|128,1,
39247 OPC_RecordChild1,
39248 OPC_SwitchType , 27, MVT::v16i8,
39249 OPC_CheckPatternPredicate1,
39250 OPC_Scope, 10,
39251 OPC_CheckComplexPat3, /*#*/1,
39252 OPC_EmitMergeInputChains1_0,
39253 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
39254 MVT::v16i8, 2, 49,
39255 12,
39256 OPC_CheckComplexPat0, /*#*/1,
39257 OPC_EmitMergeInputChains1_0,
39258 OPC_EmitIntegerByHwMode0, 0,
39259 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
39260 MVT::v16i8, 2, 49,
39261 0,
39262 27, MVT::v8i16,
39263 OPC_CheckPatternPredicate1,
39264 OPC_Scope, 10,
39265 OPC_CheckComplexPat3, /*#*/1,
39266 OPC_EmitMergeInputChains1_0,
39267 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
39268 MVT::v8i16, 2, 49,
39269 12,
39270 OPC_CheckComplexPat0, /*#*/1,
39271 OPC_EmitMergeInputChains1_0,
39272 OPC_EmitIntegerByHwMode0, 0,
39273 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
39274 MVT::v8i16, 2, 49,
39275 0,
39276 27, MVT::v4i32,
39277 OPC_CheckPatternPredicate1,
39278 OPC_Scope, 10,
39279 OPC_CheckComplexPat3, /*#*/1,
39280 OPC_EmitMergeInputChains1_0,
39281 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39282 MVT::v4i32, 2, 49,
39283 12,
39284 OPC_CheckComplexPat0, /*#*/1,
39285 OPC_EmitMergeInputChains1_0,
39286 OPC_EmitIntegerByHwMode0, 0,
39287 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39288 MVT::v4i32, 2, 49,
39289 0,
39290 27, MVT::v2i64,
39291 OPC_CheckPatternPredicate1,
39292 OPC_Scope, 10,
39293 OPC_CheckComplexPat3, /*#*/1,
39294 OPC_EmitMergeInputChains1_0,
39295 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39296 MVT::v2i64, 2, 49,
39297 12,
39298 OPC_CheckComplexPat0, /*#*/1,
39299 OPC_EmitMergeInputChains1_0,
39300 OPC_EmitIntegerByHwMode0, 0,
39301 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39302 MVT::v2i64, 2, 49,
39303 0,
39304 27, MVT::v32i8,
39305 OPC_CheckPatternPredicate0,
39306 OPC_Scope, 10,
39307 OPC_CheckComplexPat3, /*#*/1,
39308 OPC_EmitMergeInputChains1_0,
39309 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
39310 MVT::v32i8, 2, 49,
39311 12,
39312 OPC_CheckComplexPat0, /*#*/1,
39313 OPC_EmitMergeInputChains1_0,
39314 OPC_EmitIntegerByHwMode0, 0,
39315 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_B), 0|OPFL_Chain|OPFL_MemRefs,
39316 MVT::v32i8, 2, 49,
39317 0,
39318 27, MVT::v16i16,
39319 OPC_CheckPatternPredicate0,
39320 OPC_Scope, 10,
39321 OPC_CheckComplexPat3, /*#*/1,
39322 OPC_EmitMergeInputChains1_0,
39323 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
39324 MVT::v16i16, 2, 49,
39325 12,
39326 OPC_CheckComplexPat0, /*#*/1,
39327 OPC_EmitMergeInputChains1_0,
39328 OPC_EmitIntegerByHwMode0, 0,
39329 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_H), 0|OPFL_Chain|OPFL_MemRefs,
39330 MVT::v16i16, 2, 49,
39331 0,
39332 27, MVT::v8i32,
39333 OPC_CheckPatternPredicate0,
39334 OPC_Scope, 10,
39335 OPC_CheckComplexPat3, /*#*/1,
39336 OPC_EmitMergeInputChains1_0,
39337 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39338 MVT::v8i32, 2, 49,
39339 12,
39340 OPC_CheckComplexPat0, /*#*/1,
39341 OPC_EmitMergeInputChains1_0,
39342 OPC_EmitIntegerByHwMode0, 0,
39343 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39344 MVT::v8i32, 2, 49,
39345 0,
39346 27, MVT::v4i64,
39347 OPC_CheckPatternPredicate0,
39348 OPC_Scope, 10,
39349 OPC_CheckComplexPat3, /*#*/1,
39350 OPC_EmitMergeInputChains1_0,
39351 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39352 MVT::v4i64, 2, 49,
39353 12,
39354 OPC_CheckComplexPat0, /*#*/1,
39355 OPC_EmitMergeInputChains1_0,
39356 OPC_EmitIntegerByHwMode0, 0,
39357 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39358 MVT::v4i64, 2, 49,
39359 0,
39360 0,
39361 81|128,1,
39362 OPC_MoveChild1,
39363 OPC_SwitchOpcode , 100, TARGET_VAL(ISD::ADD),
39364 OPC_RecordChild0,
39365 OPC_RecordChild1,
39366 OPC_MoveChild1,
39367 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39368 OPC_Scope, 22,
39369 OPC_CheckPredicate, 38,
39370 OPC_MoveParent,
39371 OPC_CheckPredicate2,
39372 OPC_CheckTypeByHwMode0,
39373 OPC_MoveParent,
39374 OPC_CheckType, 11|128,1,
39375 OPC_CheckPatternPredicate1,
39376 OPC_CheckComplexPat0, /*#*/1,
39377 OPC_EmitMergeInputChains1_0,
39378 OPC_EmitConvertToTarget2,
39379 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39380 11|128,1, 2, 76,
39381 22,
39382 OPC_CheckPredicate, 39,
39383 OPC_MoveParent,
39384 OPC_CheckPredicate2,
39385 OPC_CheckTypeByHwMode0,
39386 OPC_MoveParent,
39387 OPC_CheckType, 29|128,1,
39388 OPC_CheckPatternPredicate1,
39389 OPC_CheckComplexPat0, /*#*/1,
39390 OPC_EmitMergeInputChains1_0,
39391 OPC_EmitConvertToTarget2,
39392 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39393 29|128,1, 2, 76,
39394 22,
39395 OPC_CheckPredicate, 38,
39396 OPC_MoveParent,
39397 OPC_CheckPredicate2,
39398 OPC_CheckTypeByHwMode0,
39399 OPC_MoveParent,
39400 OPC_CheckType, 15|128,1,
39401 OPC_CheckPatternPredicate0,
39402 OPC_CheckComplexPat0, /*#*/1,
39403 OPC_EmitMergeInputChains1_0,
39404 OPC_EmitConvertToTarget2,
39405 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39406 15|128,1, 2, 76,
39407 22,
39408 OPC_CheckPredicate, 39,
39409 OPC_MoveParent,
39410 OPC_CheckPredicate2,
39411 OPC_CheckTypeByHwMode0,
39412 OPC_MoveParent,
39413 OPC_CheckType, 31|128,1,
39414 OPC_CheckPatternPredicate0,
39415 OPC_CheckComplexPat0, /*#*/1,
39416 OPC_EmitMergeInputChains1_0,
39417 OPC_EmitConvertToTarget2,
39418 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39419 31|128,1, 2, 76,
39420 0,
39421 100, TARGET_VAL(ISD::OR),
39422 OPC_RecordChild0,
39423 OPC_RecordChild1,
39424 OPC_MoveChild1,
39425 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
39426 OPC_Scope, 22,
39427 OPC_CheckPredicate, 38,
39428 OPC_MoveParent,
39429 OPC_CheckPredicate2,
39430 OPC_CheckTypeByHwMode0,
39431 OPC_MoveParent,
39432 OPC_CheckType, 11|128,1,
39433 OPC_CheckPatternPredicate1,
39434 OPC_CheckComplexPat0, /*#*/1,
39435 OPC_EmitMergeInputChains1_0,
39436 OPC_EmitConvertToTarget2,
39437 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39438 11|128,1, 2, 76,
39439 22,
39440 OPC_CheckPredicate, 39,
39441 OPC_MoveParent,
39442 OPC_CheckPredicate2,
39443 OPC_CheckTypeByHwMode0,
39444 OPC_MoveParent,
39445 OPC_CheckType, 29|128,1,
39446 OPC_CheckPatternPredicate1,
39447 OPC_CheckComplexPat0, /*#*/1,
39448 OPC_EmitMergeInputChains1_0,
39449 OPC_EmitConvertToTarget2,
39450 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39451 29|128,1, 2, 76,
39452 22,
39453 OPC_CheckPredicate, 38,
39454 OPC_MoveParent,
39455 OPC_CheckPredicate2,
39456 OPC_CheckTypeByHwMode0,
39457 OPC_MoveParent,
39458 OPC_CheckType, 15|128,1,
39459 OPC_CheckPatternPredicate0,
39460 OPC_CheckComplexPat0, /*#*/1,
39461 OPC_EmitMergeInputChains1_0,
39462 OPC_EmitConvertToTarget2,
39463 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39464 15|128,1, 2, 76,
39465 22,
39466 OPC_CheckPredicate, 39,
39467 OPC_MoveParent,
39468 OPC_CheckPredicate2,
39469 OPC_CheckTypeByHwMode0,
39470 OPC_MoveParent,
39471 OPC_CheckType, 31|128,1,
39472 OPC_CheckPatternPredicate0,
39473 OPC_CheckComplexPat0, /*#*/1,
39474 OPC_EmitMergeInputChains1_0,
39475 OPC_EmitConvertToTarget2,
39476 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39477 31|128,1, 2, 76,
39478 0,
39479 0,
39480 3|128,1,
39481 OPC_RecordChild1,
39482 OPC_SwitchType , 29, 11|128,1,
39483 OPC_CheckPatternPredicate1,
39484 OPC_Scope, 11,
39485 OPC_CheckComplexPat3, /*#*/1,
39486 OPC_EmitMergeInputChains1_0,
39487 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39488 11|128,1, 2, 49,
39489 13,
39490 OPC_CheckComplexPat0, /*#*/1,
39491 OPC_EmitMergeInputChains1_0,
39492 OPC_EmitIntegerByHwMode0, 0,
39493 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39494 11|128,1, 2, 49,
39495 0,
39496 29, 29|128,1,
39497 OPC_CheckPatternPredicate1,
39498 OPC_Scope, 11,
39499 OPC_CheckComplexPat3, /*#*/1,
39500 OPC_EmitMergeInputChains1_0,
39501 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39502 29|128,1, 2, 49,
39503 13,
39504 OPC_CheckComplexPat0, /*#*/1,
39505 OPC_EmitMergeInputChains1_0,
39506 OPC_EmitIntegerByHwMode0, 0,
39507 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::VLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39508 29|128,1, 2, 49,
39509 0,
39510 29, 15|128,1,
39511 OPC_CheckPatternPredicate0,
39512 OPC_Scope, 11,
39513 OPC_CheckComplexPat3, /*#*/1,
39514 OPC_EmitMergeInputChains1_0,
39515 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39516 15|128,1, 2, 49,
39517 13,
39518 OPC_CheckComplexPat0, /*#*/1,
39519 OPC_EmitMergeInputChains1_0,
39520 OPC_EmitIntegerByHwMode0, 0,
39521 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_W), 0|OPFL_Chain|OPFL_MemRefs,
39522 15|128,1, 2, 49,
39523 0,
39524 29, 31|128,1,
39525 OPC_CheckPatternPredicate0,
39526 OPC_Scope, 11,
39527 OPC_CheckComplexPat3, /*#*/1,
39528 OPC_EmitMergeInputChains1_0,
39529 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39530 31|128,1, 2, 49,
39531 13,
39532 OPC_CheckComplexPat0, /*#*/1,
39533 OPC_EmitMergeInputChains1_0,
39534 OPC_EmitIntegerByHwMode0, 0,
39535 OPC_MorphNodeTo1, TARGET_VAL(LoongArch::XVLDREPL_D), 0|OPFL_Chain|OPFL_MemRefs,
39536 31|128,1, 2, 49,
39537 0,
39538 0,
39539 0,
39540 117|128,4, TARGET_VAL(ISD::INSERT_SUBVECTOR),
39541 OPC_Scope, 30|128,1,
39542 OPC_MoveChild0,
39543 OPC_Scope, 79,
39544 OPC_CheckOpcode, TARGET_VAL(ISD::FREEZE),
39545 OPC_MoveChild0,
39546 OPC_CheckUndef,
39547 OPC_MoveParent,
39548 OPC_MoveParent,
39549 OPC_RecordChild1,
39550 OPC_CheckChild2Integer, 0,
39551 OPC_CheckChild2Type, 18|128,2,
39552 OPC_SwitchType , 14, MVT::v8i32,
39553 OPC_CheckPatternPredicate0,
39554 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39555 MVT::v8i32, 0,
39556 OPC_EmitIntegerI32, LoongArch::sub_128,
39557 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39558 MVT::v8i32, 3, 21,
39559 14, MVT::v4i64,
39560 OPC_CheckPatternPredicate0,
39561 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39562 MVT::v4i64, 0,
39563 OPC_EmitIntegerI32, LoongArch::sub_128,
39564 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39565 MVT::v4i64, 3, 21,
39566 14, MVT::v16i16,
39567 OPC_CheckPatternPredicate0,
39568 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39569 MVT::v16i16, 0,
39570 OPC_EmitIntegerI32, LoongArch::sub_128,
39571 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39572 MVT::v16i16, 3, 21,
39573 14, MVT::v32i8,
39574 OPC_CheckPatternPredicate0,
39575 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39576 MVT::v32i8, 0,
39577 OPC_EmitIntegerI32, LoongArch::sub_128,
39578 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39579 MVT::v32i8, 3, 21,
39580 0,
39581 74,
39582 OPC_CheckUndef,
39583 OPC_MoveParent,
39584 OPC_RecordChild1,
39585 OPC_CheckChild2Integer, 0,
39586 OPC_CheckChild2Type, 18|128,2,
39587 OPC_SwitchType , 14, MVT::v8i32,
39588 OPC_CheckPatternPredicate0,
39589 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39590 MVT::v8i32, 0,
39591 OPC_EmitIntegerI32, LoongArch::sub_128,
39592 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39593 MVT::v8i32, 3, 21,
39594 14, MVT::v4i64,
39595 OPC_CheckPatternPredicate0,
39596 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39597 MVT::v4i64, 0,
39598 OPC_EmitIntegerI32, LoongArch::sub_128,
39599 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39600 MVT::v4i64, 3, 21,
39601 14, MVT::v16i16,
39602 OPC_CheckPatternPredicate0,
39603 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39604 MVT::v16i16, 0,
39605 OPC_EmitIntegerI32, LoongArch::sub_128,
39606 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39607 MVT::v16i16, 3, 21,
39608 14, MVT::v32i8,
39609 OPC_CheckPatternPredicate0,
39610 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39611 MVT::v32i8, 0,
39612 OPC_EmitIntegerI32, LoongArch::sub_128,
39613 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39614 MVT::v32i8, 3, 21,
39615 0,
39616 0,
39617 100|128,1,
39618 OPC_RecordChild0,
39619 OPC_RecordChild1,
39620 OPC_Scope, 103,
39621 OPC_CheckChild2Integer, 0,
39622 OPC_CheckChild2Type, 18|128,2,
39623 OPC_SwitchType , 22, MVT::v8i32,
39624 OPC_CheckPatternPredicate0,
39625 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39626 MVT::v32i8, 0,
39627 OPC_EmitIntegerI32, LoongArch::sub_128,
39628 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39629 MVT::v32i8, 3, 45,
39630 OPC_EmitIntegerByHwMode0, 48,
39631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39632 MVT::v8i32, 3, 92,
39633 22, MVT::v4i64,
39634 OPC_CheckPatternPredicate0,
39635 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39636 MVT::v32i8, 0,
39637 OPC_EmitIntegerI32, LoongArch::sub_128,
39638 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39639 MVT::v32i8, 3, 45,
39640 OPC_EmitIntegerByHwMode0, 48,
39641 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39642 MVT::v4i64, 3, 92,
39643 22, MVT::v16i16,
39644 OPC_CheckPatternPredicate0,
39645 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39646 MVT::v32i8, 0,
39647 OPC_EmitIntegerI32, LoongArch::sub_128,
39648 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39649 MVT::v32i8, 3, 45,
39650 OPC_EmitIntegerByHwMode0, 48,
39651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39652 MVT::v16i16, 3, 92,
39653 22, MVT::v32i8,
39654 OPC_CheckPatternPredicate0,
39655 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39656 MVT::v32i8, 0,
39657 OPC_EmitIntegerI32, LoongArch::sub_128,
39658 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39659 MVT::v32i8, 3, 45,
39660 OPC_EmitIntegerByHwMode0, 48,
39661 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39662 MVT::v32i8, 3, 92,
39663 0,
39664 29,
39665 OPC_CheckChild2Integer, 4,
39666 OPC_CheckChild2Type, 18|128,2,
39667 OPC_CheckType, MVT::v8i32,
39668 OPC_CheckPatternPredicate0,
39669 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39670 MVT::v32i8, 0,
39671 OPC_EmitIntegerI32, LoongArch::sub_128,
39672 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39673 MVT::v32i8, 3, 45,
39674 OPC_EmitIntegerByHwMode0, 2,
39675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39676 MVT::v8i32, 3, 92,
39677 29,
39678 OPC_CheckChild2Integer, 2,
39679 OPC_CheckChild2Type, 18|128,2,
39680 OPC_CheckType, MVT::v4i64,
39681 OPC_CheckPatternPredicate0,
39682 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39683 MVT::v32i8, 0,
39684 OPC_EmitIntegerI32, LoongArch::sub_128,
39685 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39686 MVT::v32i8, 3, 45,
39687 OPC_EmitIntegerByHwMode0, 2,
39688 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39689 MVT::v4i64, 3, 92,
39690 29,
39691 OPC_CheckChild2Integer, 8,
39692 OPC_CheckChild2Type, 18|128,2,
39693 OPC_CheckType, MVT::v16i16,
39694 OPC_CheckPatternPredicate0,
39695 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39696 MVT::v32i8, 0,
39697 OPC_EmitIntegerI32, LoongArch::sub_128,
39698 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39699 MVT::v32i8, 3, 45,
39700 OPC_EmitIntegerByHwMode0, 2,
39701 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39702 MVT::v16i16, 3, 92,
39703 29,
39704 OPC_CheckChild2Integer, 16,
39705 OPC_CheckChild2Type, 18|128,2,
39706 OPC_CheckType, MVT::v32i8,
39707 OPC_CheckPatternPredicate0,
39708 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39709 MVT::v32i8, 0,
39710 OPC_EmitIntegerI32, LoongArch::sub_128,
39711 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39712 MVT::v32i8, 3, 45,
39713 OPC_EmitIntegerByHwMode0, 2,
39714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39715 MVT::v32i8, 3, 92,
39716 0,
39717 106,
39718 OPC_MoveChild0,
39719 OPC_Scope, 53,
39720 OPC_CheckOpcode, TARGET_VAL(ISD::FREEZE),
39721 OPC_MoveChild0,
39722 OPC_CheckUndef,
39723 OPC_MoveParent,
39724 OPC_MoveParent,
39725 OPC_RecordChild1,
39726 OPC_CheckChild2Integer, 0,
39727 OPC_CheckChild2Type, 18|128,2,
39728 OPC_SwitchType , 16, 15|128,1,
39729 OPC_CheckPatternPredicate0,
39730 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39731 15|128,1, 0,
39732 OPC_EmitIntegerI32, LoongArch::sub_128,
39733 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39734 15|128,1, 3, 21,
39735 16, 31|128,1,
39736 OPC_CheckPatternPredicate0,
39737 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39738 31|128,1, 0,
39739 OPC_EmitIntegerI32, LoongArch::sub_128,
39740 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39741 31|128,1, 3, 21,
39742 0,
39743 48,
39744 OPC_CheckUndef,
39745 OPC_MoveParent,
39746 OPC_RecordChild1,
39747 OPC_CheckChild2Integer, 0,
39748 OPC_CheckChild2Type, 18|128,2,
39749 OPC_SwitchType , 16, 15|128,1,
39750 OPC_CheckPatternPredicate0,
39751 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39752 15|128,1, 0,
39753 OPC_EmitIntegerI32, LoongArch::sub_128,
39754 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39755 15|128,1, 3, 21,
39756 16, 31|128,1,
39757 OPC_CheckPatternPredicate0,
39758 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39759 31|128,1, 0,
39760 OPC_EmitIntegerI32, LoongArch::sub_128,
39761 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39762 31|128,1, 3, 21,
39763 0,
39764 0,
39765 0|128,1,
39766 OPC_RecordChild0,
39767 OPC_RecordChild1,
39768 OPC_Scope, 59,
39769 OPC_CheckChild2Integer, 0,
39770 OPC_CheckChild2Type, 18|128,2,
39771 OPC_SwitchType , 23, 15|128,1,
39772 OPC_CheckPatternPredicate0,
39773 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39774 MVT::v32i8, 0,
39775 OPC_EmitIntegerI32, LoongArch::sub_128,
39776 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39777 MVT::v32i8, 3, 45,
39778 OPC_EmitIntegerByHwMode0, 48,
39779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39780 15|128,1, 3, 92,
39781 23, 31|128,1,
39782 OPC_CheckPatternPredicate0,
39783 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39784 MVT::v32i8, 0,
39785 OPC_EmitIntegerI32, LoongArch::sub_128,
39786 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39787 MVT::v32i8, 3, 45,
39788 OPC_EmitIntegerByHwMode0, 48,
39789 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39790 31|128,1, 3, 92,
39791 0,
39792 31,
39793 OPC_CheckChild2Integer, 4,
39794 OPC_CheckChild2Type, 18|128,2,
39795 OPC_CheckType, 15|128,1,
39796 OPC_CheckPatternPredicate0,
39797 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39798 MVT::v32i8, 0,
39799 OPC_EmitIntegerI32, LoongArch::sub_128,
39800 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39801 MVT::v32i8, 3, 45,
39802 OPC_EmitIntegerByHwMode0, 2,
39803 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39804 15|128,1, 3, 92,
39805 31,
39806 OPC_CheckChild2Integer, 2,
39807 OPC_CheckChild2Type, 18|128,2,
39808 OPC_CheckType, 31|128,1,
39809 OPC_CheckPatternPredicate0,
39810 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
39811 MVT::v32i8, 0,
39812 OPC_EmitIntegerI32, LoongArch::sub_128,
39813 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
39814 MVT::v32i8, 3, 45,
39815 OPC_EmitIntegerByHwMode0, 2,
39816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_Q),
39817 31|128,1, 3, 92,
39818 0,
39819 0,
39820 116|128,1, TARGET_VAL(ISD::SMAX),
39821 OPC_RecordChild0,
39822 OPC_RecordChild1,
39823 OPC_SwitchType , 28, MVT::v16i8,
39824 OPC_CheckPatternPredicate1,
39825 OPC_Scope, 8,
39826 OPC_CheckComplexPat4, /*#*/1,
39827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
39828 MVT::v16i8, 2, 22,
39829 8,
39830 OPC_CheckComplexPat4, /*#*/0,
39831 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_B),
39832 MVT::v16i8, 2, 25,
39833 6,
39834 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_B),
39835 MVT::v16i8, 2, 9,
39836 0,
39837 28, MVT::v8i16,
39838 OPC_CheckPatternPredicate1,
39839 OPC_Scope, 8,
39840 OPC_CheckComplexPat4, /*#*/1,
39841 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
39842 MVT::v8i16, 2, 22,
39843 8,
39844 OPC_CheckComplexPat4, /*#*/0,
39845 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_H),
39846 MVT::v8i16, 2, 25,
39847 6,
39848 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_H),
39849 MVT::v8i16, 2, 9,
39850 0,
39851 28, MVT::v4i32,
39852 OPC_CheckPatternPredicate1,
39853 OPC_Scope, 8,
39854 OPC_CheckComplexPat4, /*#*/1,
39855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
39856 MVT::v4i32, 2, 22,
39857 8,
39858 OPC_CheckComplexPat4, /*#*/0,
39859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_W),
39860 MVT::v4i32, 2, 25,
39861 6,
39862 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_W),
39863 MVT::v4i32, 2, 9,
39864 0,
39865 28, MVT::v2i64,
39866 OPC_CheckPatternPredicate1,
39867 OPC_Scope, 8,
39868 OPC_CheckComplexPat4, /*#*/1,
39869 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
39870 MVT::v2i64, 2, 22,
39871 8,
39872 OPC_CheckComplexPat4, /*#*/0,
39873 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_D),
39874 MVT::v2i64, 2, 25,
39875 6,
39876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_D),
39877 MVT::v2i64, 2, 9,
39878 0,
39879 28, MVT::v32i8,
39880 OPC_CheckPatternPredicate0,
39881 OPC_Scope, 8,
39882 OPC_CheckComplexPat4, /*#*/1,
39883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
39884 MVT::v32i8, 2, 22,
39885 8,
39886 OPC_CheckComplexPat4, /*#*/0,
39887 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_B),
39888 MVT::v32i8, 2, 25,
39889 6,
39890 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_B),
39891 MVT::v32i8, 2, 9,
39892 0,
39893 28, MVT::v16i16,
39894 OPC_CheckPatternPredicate0,
39895 OPC_Scope, 8,
39896 OPC_CheckComplexPat4, /*#*/1,
39897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
39898 MVT::v16i16, 2, 22,
39899 8,
39900 OPC_CheckComplexPat4, /*#*/0,
39901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_H),
39902 MVT::v16i16, 2, 25,
39903 6,
39904 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_H),
39905 MVT::v16i16, 2, 9,
39906 0,
39907 28, MVT::v8i32,
39908 OPC_CheckPatternPredicate0,
39909 OPC_Scope, 8,
39910 OPC_CheckComplexPat4, /*#*/1,
39911 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
39912 MVT::v8i32, 2, 22,
39913 8,
39914 OPC_CheckComplexPat4, /*#*/0,
39915 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_W),
39916 MVT::v8i32, 2, 25,
39917 6,
39918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_W),
39919 MVT::v8i32, 2, 9,
39920 0,
39921 28, MVT::v4i64,
39922 OPC_CheckPatternPredicate0,
39923 OPC_Scope, 8,
39924 OPC_CheckComplexPat4, /*#*/1,
39925 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
39926 MVT::v4i64, 2, 22,
39927 8,
39928 OPC_CheckComplexPat4, /*#*/0,
39929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_D),
39930 MVT::v4i64, 2, 25,
39931 6,
39932 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_D),
39933 MVT::v4i64, 2, 9,
39934 0,
39935 0,
39936 116|128,1, TARGET_VAL(ISD::SMIN),
39937 OPC_RecordChild0,
39938 OPC_RecordChild1,
39939 OPC_SwitchType , 28, MVT::v16i8,
39940 OPC_CheckPatternPredicate1,
39941 OPC_Scope, 8,
39942 OPC_CheckComplexPat4, /*#*/1,
39943 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
39944 MVT::v16i8, 2, 22,
39945 8,
39946 OPC_CheckComplexPat4, /*#*/0,
39947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_B),
39948 MVT::v16i8, 2, 25,
39949 6,
39950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_B),
39951 MVT::v16i8, 2, 9,
39952 0,
39953 28, MVT::v8i16,
39954 OPC_CheckPatternPredicate1,
39955 OPC_Scope, 8,
39956 OPC_CheckComplexPat4, /*#*/1,
39957 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
39958 MVT::v8i16, 2, 22,
39959 8,
39960 OPC_CheckComplexPat4, /*#*/0,
39961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_H),
39962 MVT::v8i16, 2, 25,
39963 6,
39964 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_H),
39965 MVT::v8i16, 2, 9,
39966 0,
39967 28, MVT::v4i32,
39968 OPC_CheckPatternPredicate1,
39969 OPC_Scope, 8,
39970 OPC_CheckComplexPat4, /*#*/1,
39971 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
39972 MVT::v4i32, 2, 22,
39973 8,
39974 OPC_CheckComplexPat4, /*#*/0,
39975 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_W),
39976 MVT::v4i32, 2, 25,
39977 6,
39978 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_W),
39979 MVT::v4i32, 2, 9,
39980 0,
39981 28, MVT::v2i64,
39982 OPC_CheckPatternPredicate1,
39983 OPC_Scope, 8,
39984 OPC_CheckComplexPat4, /*#*/1,
39985 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
39986 MVT::v2i64, 2, 22,
39987 8,
39988 OPC_CheckComplexPat4, /*#*/0,
39989 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_D),
39990 MVT::v2i64, 2, 25,
39991 6,
39992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_D),
39993 MVT::v2i64, 2, 9,
39994 0,
39995 28, MVT::v32i8,
39996 OPC_CheckPatternPredicate0,
39997 OPC_Scope, 8,
39998 OPC_CheckComplexPat4, /*#*/1,
39999 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
40000 MVT::v32i8, 2, 22,
40001 8,
40002 OPC_CheckComplexPat4, /*#*/0,
40003 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_B),
40004 MVT::v32i8, 2, 25,
40005 6,
40006 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_B),
40007 MVT::v32i8, 2, 9,
40008 0,
40009 28, MVT::v16i16,
40010 OPC_CheckPatternPredicate0,
40011 OPC_Scope, 8,
40012 OPC_CheckComplexPat4, /*#*/1,
40013 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
40014 MVT::v16i16, 2, 22,
40015 8,
40016 OPC_CheckComplexPat4, /*#*/0,
40017 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_H),
40018 MVT::v16i16, 2, 25,
40019 6,
40020 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_H),
40021 MVT::v16i16, 2, 9,
40022 0,
40023 28, MVT::v8i32,
40024 OPC_CheckPatternPredicate0,
40025 OPC_Scope, 8,
40026 OPC_CheckComplexPat4, /*#*/1,
40027 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
40028 MVT::v8i32, 2, 22,
40029 8,
40030 OPC_CheckComplexPat4, /*#*/0,
40031 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_W),
40032 MVT::v8i32, 2, 25,
40033 6,
40034 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_W),
40035 MVT::v8i32, 2, 9,
40036 0,
40037 28, MVT::v4i64,
40038 OPC_CheckPatternPredicate0,
40039 OPC_Scope, 8,
40040 OPC_CheckComplexPat4, /*#*/1,
40041 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
40042 MVT::v4i64, 2, 22,
40043 8,
40044 OPC_CheckComplexPat4, /*#*/0,
40045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_D),
40046 MVT::v4i64, 2, 25,
40047 6,
40048 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_D),
40049 MVT::v4i64, 2, 9,
40050 0,
40051 0,
40052 67, TARGET_VAL(ISD::CONCAT_VECTORS),
40053 OPC_MoveChild0,
40054 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
40055 OPC_RecordChild0,
40056 OPC_MoveSibling1,
40057 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
40058 OPC_RecordChild0,
40059 OPC_MoveParent,
40060 OPC_SwitchType , 16, MVT::v8i32,
40061 OPC_CheckPatternPredicate0,
40062 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
40063 MVT::v32i8, 2, 3,
40064 OPC_EmitIntegerByHwMode0, 88|128,1,
40065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
40066 MVT::v8i32, 2, 49,
40067 16, MVT::v16i16,
40068 OPC_CheckPatternPredicate0,
40069 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_H),
40070 MVT::v32i8, 2, 3,
40071 OPC_EmitIntegerByHwMode0, 88|128,1,
40072 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
40073 MVT::v16i16, 2, 49,
40074 16, MVT::v32i8,
40075 OPC_CheckPatternPredicate0,
40076 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_B),
40077 MVT::v32i8, 2, 3,
40078 OPC_EmitIntegerByHwMode0, 88|128,1,
40079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
40080 MVT::v32i8, 2, 49,
40081 0,
40082 116|128,1, TARGET_VAL(ISD::UMAX),
40083 OPC_RecordChild0,
40084 OPC_RecordChild1,
40085 OPC_SwitchType , 28, MVT::v16i8,
40086 OPC_CheckPatternPredicate1,
40087 OPC_Scope, 8,
40088 OPC_CheckComplexPat2, /*#*/1,
40089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
40090 MVT::v16i8, 2, 22,
40091 8,
40092 OPC_CheckComplexPat2, /*#*/0,
40093 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_BU),
40094 MVT::v16i8, 2, 25,
40095 6,
40096 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_BU),
40097 MVT::v16i8, 2, 9,
40098 0,
40099 28, MVT::v8i16,
40100 OPC_CheckPatternPredicate1,
40101 OPC_Scope, 8,
40102 OPC_CheckComplexPat2, /*#*/1,
40103 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
40104 MVT::v8i16, 2, 22,
40105 8,
40106 OPC_CheckComplexPat2, /*#*/0,
40107 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_HU),
40108 MVT::v8i16, 2, 25,
40109 6,
40110 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_HU),
40111 MVT::v8i16, 2, 9,
40112 0,
40113 28, MVT::v4i32,
40114 OPC_CheckPatternPredicate1,
40115 OPC_Scope, 8,
40116 OPC_CheckComplexPat2, /*#*/1,
40117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
40118 MVT::v4i32, 2, 22,
40119 8,
40120 OPC_CheckComplexPat2, /*#*/0,
40121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_WU),
40122 MVT::v4i32, 2, 25,
40123 6,
40124 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_WU),
40125 MVT::v4i32, 2, 9,
40126 0,
40127 28, MVT::v2i64,
40128 OPC_CheckPatternPredicate1,
40129 OPC_Scope, 8,
40130 OPC_CheckComplexPat2, /*#*/1,
40131 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
40132 MVT::v2i64, 2, 22,
40133 8,
40134 OPC_CheckComplexPat2, /*#*/0,
40135 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAXI_DU),
40136 MVT::v2i64, 2, 25,
40137 6,
40138 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMAX_DU),
40139 MVT::v2i64, 2, 9,
40140 0,
40141 28, MVT::v32i8,
40142 OPC_CheckPatternPredicate0,
40143 OPC_Scope, 8,
40144 OPC_CheckComplexPat2, /*#*/1,
40145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
40146 MVT::v32i8, 2, 22,
40147 8,
40148 OPC_CheckComplexPat2, /*#*/0,
40149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_BU),
40150 MVT::v32i8, 2, 25,
40151 6,
40152 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_BU),
40153 MVT::v32i8, 2, 9,
40154 0,
40155 28, MVT::v16i16,
40156 OPC_CheckPatternPredicate0,
40157 OPC_Scope, 8,
40158 OPC_CheckComplexPat2, /*#*/1,
40159 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
40160 MVT::v16i16, 2, 22,
40161 8,
40162 OPC_CheckComplexPat2, /*#*/0,
40163 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_HU),
40164 MVT::v16i16, 2, 25,
40165 6,
40166 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_HU),
40167 MVT::v16i16, 2, 9,
40168 0,
40169 28, MVT::v8i32,
40170 OPC_CheckPatternPredicate0,
40171 OPC_Scope, 8,
40172 OPC_CheckComplexPat2, /*#*/1,
40173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
40174 MVT::v8i32, 2, 22,
40175 8,
40176 OPC_CheckComplexPat2, /*#*/0,
40177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_WU),
40178 MVT::v8i32, 2, 25,
40179 6,
40180 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_WU),
40181 MVT::v8i32, 2, 9,
40182 0,
40183 28, MVT::v4i64,
40184 OPC_CheckPatternPredicate0,
40185 OPC_Scope, 8,
40186 OPC_CheckComplexPat2, /*#*/1,
40187 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
40188 MVT::v4i64, 2, 22,
40189 8,
40190 OPC_CheckComplexPat2, /*#*/0,
40191 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAXI_DU),
40192 MVT::v4i64, 2, 25,
40193 6,
40194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMAX_DU),
40195 MVT::v4i64, 2, 9,
40196 0,
40197 0,
40198 116|128,1, TARGET_VAL(ISD::UMIN),
40199 OPC_RecordChild0,
40200 OPC_RecordChild1,
40201 OPC_SwitchType , 28, MVT::v16i8,
40202 OPC_CheckPatternPredicate1,
40203 OPC_Scope, 8,
40204 OPC_CheckComplexPat2, /*#*/1,
40205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
40206 MVT::v16i8, 2, 22,
40207 8,
40208 OPC_CheckComplexPat2, /*#*/0,
40209 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_BU),
40210 MVT::v16i8, 2, 25,
40211 6,
40212 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_BU),
40213 MVT::v16i8, 2, 9,
40214 0,
40215 28, MVT::v8i16,
40216 OPC_CheckPatternPredicate1,
40217 OPC_Scope, 8,
40218 OPC_CheckComplexPat2, /*#*/1,
40219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
40220 MVT::v8i16, 2, 22,
40221 8,
40222 OPC_CheckComplexPat2, /*#*/0,
40223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_HU),
40224 MVT::v8i16, 2, 25,
40225 6,
40226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_HU),
40227 MVT::v8i16, 2, 9,
40228 0,
40229 28, MVT::v4i32,
40230 OPC_CheckPatternPredicate1,
40231 OPC_Scope, 8,
40232 OPC_CheckComplexPat2, /*#*/1,
40233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
40234 MVT::v4i32, 2, 22,
40235 8,
40236 OPC_CheckComplexPat2, /*#*/0,
40237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_WU),
40238 MVT::v4i32, 2, 25,
40239 6,
40240 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_WU),
40241 MVT::v4i32, 2, 9,
40242 0,
40243 28, MVT::v2i64,
40244 OPC_CheckPatternPredicate1,
40245 OPC_Scope, 8,
40246 OPC_CheckComplexPat2, /*#*/1,
40247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
40248 MVT::v2i64, 2, 22,
40249 8,
40250 OPC_CheckComplexPat2, /*#*/0,
40251 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMINI_DU),
40252 MVT::v2i64, 2, 25,
40253 6,
40254 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VMIN_DU),
40255 MVT::v2i64, 2, 9,
40256 0,
40257 28, MVT::v32i8,
40258 OPC_CheckPatternPredicate0,
40259 OPC_Scope, 8,
40260 OPC_CheckComplexPat2, /*#*/1,
40261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
40262 MVT::v32i8, 2, 22,
40263 8,
40264 OPC_CheckComplexPat2, /*#*/0,
40265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_BU),
40266 MVT::v32i8, 2, 25,
40267 6,
40268 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_BU),
40269 MVT::v32i8, 2, 9,
40270 0,
40271 28, MVT::v16i16,
40272 OPC_CheckPatternPredicate0,
40273 OPC_Scope, 8,
40274 OPC_CheckComplexPat2, /*#*/1,
40275 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
40276 MVT::v16i16, 2, 22,
40277 8,
40278 OPC_CheckComplexPat2, /*#*/0,
40279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_HU),
40280 MVT::v16i16, 2, 25,
40281 6,
40282 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_HU),
40283 MVT::v16i16, 2, 9,
40284 0,
40285 28, MVT::v8i32,
40286 OPC_CheckPatternPredicate0,
40287 OPC_Scope, 8,
40288 OPC_CheckComplexPat2, /*#*/1,
40289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
40290 MVT::v8i32, 2, 22,
40291 8,
40292 OPC_CheckComplexPat2, /*#*/0,
40293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_WU),
40294 MVT::v8i32, 2, 25,
40295 6,
40296 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_WU),
40297 MVT::v8i32, 2, 9,
40298 0,
40299 28, MVT::v4i64,
40300 OPC_CheckPatternPredicate0,
40301 OPC_Scope, 8,
40302 OPC_CheckComplexPat2, /*#*/1,
40303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
40304 MVT::v4i64, 2, 22,
40305 8,
40306 OPC_CheckComplexPat2, /*#*/0,
40307 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMINI_DU),
40308 MVT::v4i64, 2, 25,
40309 6,
40310 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVMIN_DU),
40311 MVT::v4i64, 2, 9,
40312 0,
40313 0,
40314 50|128,1, TARGET_VAL(LoongArchISD::VSRLR),
40315 OPC_RecordChild0,
40316 OPC_RecordChild1,
40317 OPC_SwitchType , 20, MVT::v16i8,
40318 OPC_CheckPatternPredicate1,
40319 OPC_Scope, 9,
40320 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
40321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_B),
40322 MVT::v16i8, 2, 22,
40323 6,
40324 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_B),
40325 MVT::v16i8, 2, 9,
40326 0,
40327 20, MVT::v8i16,
40328 OPC_CheckPatternPredicate1,
40329 OPC_Scope, 9,
40330 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
40331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_H),
40332 MVT::v8i16, 2, 22,
40333 6,
40334 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_H),
40335 MVT::v8i16, 2, 9,
40336 0,
40337 19, MVT::v4i32,
40338 OPC_CheckPatternPredicate1,
40339 OPC_Scope, 8,
40340 OPC_CheckComplexPat2, /*#*/1,
40341 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_W),
40342 MVT::v4i32, 2, 22,
40343 6,
40344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_W),
40345 MVT::v4i32, 2, 9,
40346 0,
40347 20, MVT::v2i64,
40348 OPC_CheckPatternPredicate1,
40349 OPC_Scope, 9,
40350 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
40351 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLRI_D),
40352 MVT::v2i64, 2, 22,
40353 6,
40354 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLR_D),
40355 MVT::v2i64, 2, 9,
40356 0,
40357 20, MVT::v32i8,
40358 OPC_CheckPatternPredicate0,
40359 OPC_Scope, 9,
40360 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
40361 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_B),
40362 MVT::v32i8, 2, 22,
40363 6,
40364 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_B),
40365 MVT::v32i8, 2, 9,
40366 0,
40367 20, MVT::v16i16,
40368 OPC_CheckPatternPredicate0,
40369 OPC_Scope, 9,
40370 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
40371 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_H),
40372 MVT::v16i16, 2, 22,
40373 6,
40374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_H),
40375 MVT::v16i16, 2, 9,
40376 0,
40377 19, MVT::v8i32,
40378 OPC_CheckPatternPredicate0,
40379 OPC_Scope, 8,
40380 OPC_CheckComplexPat2, /*#*/1,
40381 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_W),
40382 MVT::v8i32, 2, 22,
40383 6,
40384 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_W),
40385 MVT::v8i32, 2, 9,
40386 0,
40387 20, MVT::v4i64,
40388 OPC_CheckPatternPredicate0,
40389 OPC_Scope, 9,
40390 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
40391 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLRI_D),
40392 MVT::v4i64, 2, 22,
40393 6,
40394 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLR_D),
40395 MVT::v4i64, 2, 9,
40396 0,
40397 0,
40398 50|128,1, TARGET_VAL(LoongArchISD::VSRAR),
40399 OPC_RecordChild0,
40400 OPC_RecordChild1,
40401 OPC_SwitchType , 20, MVT::v16i8,
40402 OPC_CheckPatternPredicate1,
40403 OPC_Scope, 9,
40404 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
40405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_B),
40406 MVT::v16i8, 2, 22,
40407 6,
40408 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_B),
40409 MVT::v16i8, 2, 9,
40410 0,
40411 20, MVT::v8i16,
40412 OPC_CheckPatternPredicate1,
40413 OPC_Scope, 9,
40414 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
40415 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_H),
40416 MVT::v8i16, 2, 22,
40417 6,
40418 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_H),
40419 MVT::v8i16, 2, 9,
40420 0,
40421 19, MVT::v4i32,
40422 OPC_CheckPatternPredicate1,
40423 OPC_Scope, 8,
40424 OPC_CheckComplexPat2, /*#*/1,
40425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_W),
40426 MVT::v4i32, 2, 22,
40427 6,
40428 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_W),
40429 MVT::v4i32, 2, 9,
40430 0,
40431 20, MVT::v2i64,
40432 OPC_CheckPatternPredicate1,
40433 OPC_Scope, 9,
40434 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
40435 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRARI_D),
40436 MVT::v2i64, 2, 22,
40437 6,
40438 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRAR_D),
40439 MVT::v2i64, 2, 9,
40440 0,
40441 20, MVT::v32i8,
40442 OPC_CheckPatternPredicate0,
40443 OPC_Scope, 9,
40444 OPC_CheckComplexPat, /*CP*/16, /*#*/1,
40445 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_B),
40446 MVT::v32i8, 2, 22,
40447 6,
40448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_B),
40449 MVT::v32i8, 2, 9,
40450 0,
40451 20, MVT::v16i16,
40452 OPC_CheckPatternPredicate0,
40453 OPC_Scope, 9,
40454 OPC_CheckComplexPat, /*CP*/17, /*#*/1,
40455 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_H),
40456 MVT::v16i16, 2, 22,
40457 6,
40458 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_H),
40459 MVT::v16i16, 2, 9,
40460 0,
40461 19, MVT::v8i32,
40462 OPC_CheckPatternPredicate0,
40463 OPC_Scope, 8,
40464 OPC_CheckComplexPat2, /*#*/1,
40465 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_W),
40466 MVT::v8i32, 2, 22,
40467 6,
40468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_W),
40469 MVT::v8i32, 2, 9,
40470 0,
40471 20, MVT::v4i64,
40472 OPC_CheckPatternPredicate0,
40473 OPC_Scope, 9,
40474 OPC_CheckComplexPat, /*CP*/18, /*#*/1,
40475 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRARI_D),
40476 MVT::v4i64, 2, 22,
40477 6,
40478 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRAR_D),
40479 MVT::v4i64, 2, 9,
40480 0,
40481 0,
40482 74|128,1, TARGET_VAL(ISD::VSELECT),
40483 OPC_RecordChild0,
40484 OPC_Scope, 15,
40485 OPC_CheckChild0Type, MVT::v16i8,
40486 OPC_RecordChild1,
40487 OPC_RecordChild2,
40488 OPC_CheckType, MVT::v16i8,
40489 OPC_CheckPatternPredicate1,
40490 OPC_CheckComplexPat7, /*#*/1,
40491 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSELI_B),
40492 MVT::v16i8, 3, 48,
40493 13,
40494 OPC_RecordChild1,
40495 OPC_RecordChild2,
40496 OPC_CheckType, MVT::v32i8,
40497 OPC_CheckPatternPredicate0,
40498 OPC_CheckComplexPat7, /*#*/1,
40499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSELI_B),
40500 MVT::v32i8, 3, 48,
40501 13,
40502 OPC_CheckChild0Type, MVT::v16i8,
40503 OPC_RecordChild1,
40504 OPC_RecordChild2,
40505 OPC_CheckType, MVT::v16i8,
40506 OPC_CheckPatternPredicate1,
40507 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
40508 MVT::v16i8, 3, 2,
40509 13,
40510 OPC_CheckChild0Type, MVT::v8i16,
40511 OPC_RecordChild1,
40512 OPC_RecordChild2,
40513 OPC_CheckType, MVT::v8i16,
40514 OPC_CheckPatternPredicate1,
40515 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
40516 MVT::v8i16, 3, 2,
40517 13,
40518 OPC_CheckChild0Type, MVT::v4i32,
40519 OPC_RecordChild1,
40520 OPC_RecordChild2,
40521 OPC_CheckType, MVT::v4i32,
40522 OPC_CheckPatternPredicate1,
40523 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
40524 MVT::v4i32, 3, 2,
40525 22,
40526 OPC_RecordChild1,
40527 OPC_RecordChild2,
40528 OPC_SwitchType , 7, MVT::v2i64,
40529 OPC_CheckPatternPredicate1,
40530 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
40531 MVT::v2i64, 3, 2,
40532 7, MVT::v32i8,
40533 OPC_CheckPatternPredicate0,
40534 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
40535 MVT::v32i8, 3, 2,
40536 0,
40537 13,
40538 OPC_CheckChild0Type, MVT::v16i16,
40539 OPC_RecordChild1,
40540 OPC_RecordChild2,
40541 OPC_CheckType, MVT::v16i16,
40542 OPC_CheckPatternPredicate0,
40543 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
40544 MVT::v16i16, 3, 2,
40545 13,
40546 OPC_CheckChild0Type, MVT::v8i32,
40547 OPC_RecordChild1,
40548 OPC_RecordChild2,
40549 OPC_CheckType, MVT::v8i32,
40550 OPC_CheckPatternPredicate0,
40551 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
40552 MVT::v8i32, 3, 2,
40553 13,
40554 OPC_CheckChild0Type, MVT::v4i64,
40555 OPC_RecordChild1,
40556 OPC_RecordChild2,
40557 OPC_CheckType, MVT::v4i64,
40558 OPC_CheckPatternPredicate0,
40559 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
40560 MVT::v4i64, 3, 2,
40561 15,
40562 OPC_CheckChild0Type, MVT::v4i32,
40563 OPC_RecordChild1,
40564 OPC_RecordChild2,
40565 OPC_CheckType, 11|128,1,
40566 OPC_CheckPatternPredicate1,
40567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
40568 11|128,1, 3, 2,
40569 13,
40570 OPC_RecordChild1,
40571 OPC_RecordChild2,
40572 OPC_CheckType, 29|128,1,
40573 OPC_CheckPatternPredicate1,
40574 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBITSEL_V),
40575 29|128,1, 3, 2,
40576 15,
40577 OPC_CheckChild0Type, MVT::v8i32,
40578 OPC_RecordChild1,
40579 OPC_RecordChild2,
40580 OPC_CheckType, 15|128,1,
40581 OPC_CheckPatternPredicate0,
40582 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
40583 15|128,1, 3, 2,
40584 15,
40585 OPC_CheckChild0Type, MVT::v4i64,
40586 OPC_RecordChild1,
40587 OPC_RecordChild2,
40588 OPC_CheckType, 31|128,1,
40589 OPC_CheckPatternPredicate0,
40590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBITSEL_V),
40591 31|128,1, 3, 2,
40592 0,
40593 1|128,2, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
40594 OPC_RecordChild0,
40595 OPC_Scope, 77,
40596 OPC_CheckChild1Integer, 0,
40597 OPC_CheckChild1Type, 18|128,2,
40598 OPC_SwitchType , 9, MVT::v4i32,
40599 OPC_CheckPatternPredicate0,
40600 OPC_EmitIntegerI32, LoongArch::sub_128,
40601 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40602 MVT::v4i32, 2, 9,
40603 9, MVT::v2i64,
40604 OPC_CheckPatternPredicate0,
40605 OPC_EmitIntegerI32, LoongArch::sub_128,
40606 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40607 MVT::v2i64, 2, 9,
40608 9, MVT::v8i16,
40609 OPC_CheckPatternPredicate0,
40610 OPC_EmitIntegerI32, LoongArch::sub_128,
40611 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40612 MVT::v8i16, 2, 9,
40613 9, MVT::v16i8,
40614 OPC_CheckPatternPredicate0,
40615 OPC_EmitIntegerI32, LoongArch::sub_128,
40616 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40617 MVT::v16i8, 2, 9,
40618 10, 11|128,1,
40619 OPC_CheckPatternPredicate0,
40620 OPC_EmitIntegerI32, LoongArch::sub_128,
40621 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40622 11|128,1, 2, 9,
40623 10, 29|128,1,
40624 OPC_CheckPatternPredicate0,
40625 OPC_EmitIntegerI32, LoongArch::sub_128,
40626 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40627 29|128,1, 2, 9,
40628 0,
40629 57,
40630 OPC_CheckChild1Integer, 4,
40631 OPC_CheckChild1Type, 18|128,2,
40632 OPC_SwitchType , 22, MVT::v4i32,
40633 OPC_CheckPatternPredicate0,
40634 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
40635 MVT::v32i8, 0,
40636 OPC_EmitIntegerByHwMode0, 1,
40637 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
40638 MVT::v32i8, 3, 21,
40639 OPC_EmitIntegerI32, LoongArch::sub_128,
40640 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40641 MVT::v4i32, 2, 76,
40642 23, 11|128,1,
40643 OPC_CheckPatternPredicate0,
40644 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
40645 MVT::v32i8, 0,
40646 OPC_EmitIntegerByHwMode0, 1,
40647 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
40648 MVT::v32i8, 3, 21,
40649 OPC_EmitIntegerI32, LoongArch::sub_128,
40650 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40651 11|128,1, 2, 76,
40652 0,
40653 57,
40654 OPC_CheckChild1Integer, 2,
40655 OPC_CheckChild1Type, 18|128,2,
40656 OPC_SwitchType , 22, MVT::v2i64,
40657 OPC_CheckPatternPredicate0,
40658 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
40659 MVT::v32i8, 0,
40660 OPC_EmitIntegerByHwMode0, 1,
40661 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
40662 MVT::v32i8, 3, 21,
40663 OPC_EmitIntegerI32, LoongArch::sub_128,
40664 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40665 MVT::v2i64, 2, 76,
40666 23, 29|128,1,
40667 OPC_CheckPatternPredicate0,
40668 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
40669 MVT::v32i8, 0,
40670 OPC_EmitIntegerByHwMode0, 1,
40671 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
40672 MVT::v32i8, 3, 21,
40673 OPC_EmitIntegerI32, LoongArch::sub_128,
40674 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40675 29|128,1, 2, 76,
40676 0,
40677 29,
40678 OPC_CheckChild1Integer, 8,
40679 OPC_CheckChild1Type, 18|128,2,
40680 OPC_CheckType, MVT::v8i16,
40681 OPC_CheckPatternPredicate0,
40682 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
40683 MVT::v32i8, 0,
40684 OPC_EmitIntegerByHwMode0, 1,
40685 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
40686 MVT::v32i8, 3, 21,
40687 OPC_EmitIntegerI32, LoongArch::sub_128,
40688 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40689 MVT::v8i16, 2, 76,
40690 29,
40691 OPC_CheckChild1Integer, 16,
40692 OPC_CheckChild1Type, 18|128,2,
40693 OPC_CheckType, MVT::v16i8,
40694 OPC_CheckPatternPredicate0,
40695 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
40696 MVT::v32i8, 0,
40697 OPC_EmitIntegerByHwMode0, 1,
40698 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_Q),
40699 MVT::v32i8, 3, 21,
40700 OPC_EmitIntegerI32, LoongArch::sub_128,
40701 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
40702 MVT::v16i8, 2, 76,
40703 0,
40704 11|128,1, TARGET_VAL(LoongArchISD::VBSLL),
40705 OPC_RecordChild0,
40706 OPC_RecordChild1,
40707 OPC_MoveChild1,
40708 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40709 OPC_CheckPredicate, 20,
40710 OPC_MoveParent,
40711 OPC_SwitchType , 8, MVT::v16i8,
40712 OPC_CheckPatternPredicate1,
40713 OPC_EmitConvertToTarget1,
40714 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
40715 MVT::v16i8, 2, 22,
40716 8, MVT::v8i16,
40717 OPC_CheckPatternPredicate1,
40718 OPC_EmitConvertToTarget1,
40719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
40720 MVT::v8i16, 2, 22,
40721 8, MVT::v4i32,
40722 OPC_CheckPatternPredicate1,
40723 OPC_EmitConvertToTarget1,
40724 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
40725 MVT::v4i32, 2, 22,
40726 8, MVT::v2i64,
40727 OPC_CheckPatternPredicate1,
40728 OPC_EmitConvertToTarget1,
40729 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
40730 MVT::v2i64, 2, 22,
40731 8, MVT::v32i8,
40732 OPC_CheckPatternPredicate0,
40733 OPC_EmitConvertToTarget1,
40734 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
40735 MVT::v32i8, 2, 22,
40736 8, MVT::v16i16,
40737 OPC_CheckPatternPredicate0,
40738 OPC_EmitConvertToTarget1,
40739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
40740 MVT::v16i16, 2, 22,
40741 8, MVT::v8i32,
40742 OPC_CheckPatternPredicate0,
40743 OPC_EmitConvertToTarget1,
40744 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
40745 MVT::v8i32, 2, 22,
40746 8, MVT::v4i64,
40747 OPC_CheckPatternPredicate0,
40748 OPC_EmitConvertToTarget1,
40749 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
40750 MVT::v4i64, 2, 22,
40751 9, 11|128,1,
40752 OPC_CheckPatternPredicate1,
40753 OPC_EmitConvertToTarget1,
40754 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
40755 11|128,1, 2, 22,
40756 9, 29|128,1,
40757 OPC_CheckPatternPredicate1,
40758 OPC_EmitConvertToTarget1,
40759 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSLL_V),
40760 29|128,1, 2, 22,
40761 9, 15|128,1,
40762 OPC_CheckPatternPredicate0,
40763 OPC_EmitConvertToTarget1,
40764 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
40765 15|128,1, 2, 22,
40766 9, 31|128,1,
40767 OPC_CheckPatternPredicate0,
40768 OPC_EmitConvertToTarget1,
40769 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSLL_V),
40770 31|128,1, 2, 22,
40771 0,
40772 11|128,1, TARGET_VAL(LoongArchISD::VBSRL),
40773 OPC_RecordChild0,
40774 OPC_RecordChild1,
40775 OPC_MoveChild1,
40776 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40777 OPC_CheckPredicate, 20,
40778 OPC_MoveParent,
40779 OPC_SwitchType , 8, MVT::v16i8,
40780 OPC_CheckPatternPredicate1,
40781 OPC_EmitConvertToTarget1,
40782 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
40783 MVT::v16i8, 2, 22,
40784 8, MVT::v8i16,
40785 OPC_CheckPatternPredicate1,
40786 OPC_EmitConvertToTarget1,
40787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
40788 MVT::v8i16, 2, 22,
40789 8, MVT::v4i32,
40790 OPC_CheckPatternPredicate1,
40791 OPC_EmitConvertToTarget1,
40792 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
40793 MVT::v4i32, 2, 22,
40794 8, MVT::v2i64,
40795 OPC_CheckPatternPredicate1,
40796 OPC_EmitConvertToTarget1,
40797 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
40798 MVT::v2i64, 2, 22,
40799 8, MVT::v32i8,
40800 OPC_CheckPatternPredicate0,
40801 OPC_EmitConvertToTarget1,
40802 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
40803 MVT::v32i8, 2, 22,
40804 8, MVT::v16i16,
40805 OPC_CheckPatternPredicate0,
40806 OPC_EmitConvertToTarget1,
40807 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
40808 MVT::v16i16, 2, 22,
40809 8, MVT::v8i32,
40810 OPC_CheckPatternPredicate0,
40811 OPC_EmitConvertToTarget1,
40812 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
40813 MVT::v8i32, 2, 22,
40814 8, MVT::v4i64,
40815 OPC_CheckPatternPredicate0,
40816 OPC_EmitConvertToTarget1,
40817 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
40818 MVT::v4i64, 2, 22,
40819 9, 11|128,1,
40820 OPC_CheckPatternPredicate1,
40821 OPC_EmitConvertToTarget1,
40822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
40823 11|128,1, 2, 22,
40824 9, 29|128,1,
40825 OPC_CheckPatternPredicate1,
40826 OPC_EmitConvertToTarget1,
40827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VBSRL_V),
40828 29|128,1, 2, 22,
40829 9, 15|128,1,
40830 OPC_CheckPatternPredicate0,
40831 OPC_EmitConvertToTarget1,
40832 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
40833 15|128,1, 2, 22,
40834 9, 31|128,1,
40835 OPC_CheckPatternPredicate0,
40836 OPC_EmitConvertToTarget1,
40837 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVBSRL_V),
40838 31|128,1, 2, 22,
40839 0,
40840 120, TARGET_VAL(LoongArchISD::VSLLI),
40841 OPC_RecordChild0,
40842 OPC_RecordChild1,
40843 OPC_MoveChild1,
40844 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40845 OPC_Scope, 13,
40846 OPC_CheckPredicate, 11,
40847 OPC_MoveParent,
40848 OPC_CheckType, MVT::v16i8,
40849 OPC_CheckPatternPredicate1,
40850 OPC_EmitConvertToTarget1,
40851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_B),
40852 MVT::v16i8, 2, 22,
40853 13,
40854 OPC_CheckPredicate, 21,
40855 OPC_MoveParent,
40856 OPC_CheckType, MVT::v8i16,
40857 OPC_CheckPatternPredicate1,
40858 OPC_EmitConvertToTarget1,
40859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_H),
40860 MVT::v8i16, 2, 22,
40861 13,
40862 OPC_CheckPredicate, 20,
40863 OPC_MoveParent,
40864 OPC_CheckType, MVT::v4i32,
40865 OPC_CheckPatternPredicate1,
40866 OPC_EmitConvertToTarget1,
40867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_W),
40868 MVT::v4i32, 2, 22,
40869 13,
40870 OPC_CheckPredicate, 26,
40871 OPC_MoveParent,
40872 OPC_CheckType, MVT::v2i64,
40873 OPC_CheckPatternPredicate1,
40874 OPC_EmitConvertToTarget1,
40875 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLI_D),
40876 MVT::v2i64, 2, 22,
40877 13,
40878 OPC_CheckPredicate, 11,
40879 OPC_MoveParent,
40880 OPC_CheckType, MVT::v32i8,
40881 OPC_CheckPatternPredicate0,
40882 OPC_EmitConvertToTarget1,
40883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_B),
40884 MVT::v32i8, 2, 22,
40885 13,
40886 OPC_CheckPredicate, 21,
40887 OPC_MoveParent,
40888 OPC_CheckType, MVT::v16i16,
40889 OPC_CheckPatternPredicate0,
40890 OPC_EmitConvertToTarget1,
40891 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_H),
40892 MVT::v16i16, 2, 22,
40893 13,
40894 OPC_CheckPredicate, 20,
40895 OPC_MoveParent,
40896 OPC_CheckType, MVT::v8i32,
40897 OPC_CheckPatternPredicate0,
40898 OPC_EmitConvertToTarget1,
40899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_W),
40900 MVT::v8i32, 2, 22,
40901 13,
40902 OPC_CheckPredicate, 26,
40903 OPC_MoveParent,
40904 OPC_CheckType, MVT::v4i64,
40905 OPC_CheckPatternPredicate0,
40906 OPC_EmitConvertToTarget1,
40907 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLI_D),
40908 MVT::v4i64, 2, 22,
40909 0,
40910 120, TARGET_VAL(LoongArchISD::VSRLI),
40911 OPC_RecordChild0,
40912 OPC_RecordChild1,
40913 OPC_MoveChild1,
40914 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40915 OPC_Scope, 13,
40916 OPC_CheckPredicate, 11,
40917 OPC_MoveParent,
40918 OPC_CheckType, MVT::v16i8,
40919 OPC_CheckPatternPredicate1,
40920 OPC_EmitConvertToTarget1,
40921 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_B),
40922 MVT::v16i8, 2, 22,
40923 13,
40924 OPC_CheckPredicate, 21,
40925 OPC_MoveParent,
40926 OPC_CheckType, MVT::v8i16,
40927 OPC_CheckPatternPredicate1,
40928 OPC_EmitConvertToTarget1,
40929 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_H),
40930 MVT::v8i16, 2, 22,
40931 13,
40932 OPC_CheckPredicate, 20,
40933 OPC_MoveParent,
40934 OPC_CheckType, MVT::v4i32,
40935 OPC_CheckPatternPredicate1,
40936 OPC_EmitConvertToTarget1,
40937 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_W),
40938 MVT::v4i32, 2, 22,
40939 13,
40940 OPC_CheckPredicate, 26,
40941 OPC_MoveParent,
40942 OPC_CheckType, MVT::v2i64,
40943 OPC_CheckPatternPredicate1,
40944 OPC_EmitConvertToTarget1,
40945 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSRLI_D),
40946 MVT::v2i64, 2, 22,
40947 13,
40948 OPC_CheckPredicate, 11,
40949 OPC_MoveParent,
40950 OPC_CheckType, MVT::v32i8,
40951 OPC_CheckPatternPredicate0,
40952 OPC_EmitConvertToTarget1,
40953 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_B),
40954 MVT::v32i8, 2, 22,
40955 13,
40956 OPC_CheckPredicate, 21,
40957 OPC_MoveParent,
40958 OPC_CheckType, MVT::v16i16,
40959 OPC_CheckPatternPredicate0,
40960 OPC_EmitConvertToTarget1,
40961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_H),
40962 MVT::v16i16, 2, 22,
40963 13,
40964 OPC_CheckPredicate, 20,
40965 OPC_MoveParent,
40966 OPC_CheckType, MVT::v8i32,
40967 OPC_CheckPatternPredicate0,
40968 OPC_EmitConvertToTarget1,
40969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_W),
40970 MVT::v8i32, 2, 22,
40971 13,
40972 OPC_CheckPredicate, 26,
40973 OPC_MoveParent,
40974 OPC_CheckType, MVT::v4i64,
40975 OPC_CheckPatternPredicate0,
40976 OPC_EmitConvertToTarget1,
40977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSRLI_D),
40978 MVT::v4i64, 2, 22,
40979 0,
40980 1|128,1, TARGET_VAL(LoongArchISD::VSLLWIL),
40981 OPC_RecordChild0,
40982 OPC_Scope, 20,
40983 OPC_CheckChild0Type, MVT::v16i8,
40984 OPC_RecordChild1,
40985 OPC_MoveChild1,
40986 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40987 OPC_CheckPredicate, 11,
40988 OPC_MoveParent,
40989 OPC_CheckType, MVT::v8i16,
40990 OPC_CheckPatternPredicate1,
40991 OPC_EmitConvertToTarget1,
40992 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_H_B),
40993 MVT::v8i16, 2, 22,
40994 20,
40995 OPC_CheckChild0Type, MVT::v8i16,
40996 OPC_RecordChild1,
40997 OPC_MoveChild1,
40998 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
40999 OPC_CheckPredicate, 21,
41000 OPC_MoveParent,
41001 OPC_CheckType, MVT::v4i32,
41002 OPC_CheckPatternPredicate1,
41003 OPC_EmitConvertToTarget1,
41004 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_W_H),
41005 MVT::v4i32, 2, 22,
41006 20,
41007 OPC_CheckChild0Type, MVT::v4i32,
41008 OPC_RecordChild1,
41009 OPC_MoveChild1,
41010 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41011 OPC_CheckPredicate, 20,
41012 OPC_MoveParent,
41013 OPC_CheckType, MVT::v2i64,
41014 OPC_CheckPatternPredicate1,
41015 OPC_EmitConvertToTarget1,
41016 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_D_W),
41017 MVT::v2i64, 2, 22,
41018 20,
41019 OPC_CheckChild0Type, MVT::v32i8,
41020 OPC_RecordChild1,
41021 OPC_MoveChild1,
41022 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41023 OPC_CheckPredicate, 11,
41024 OPC_MoveParent,
41025 OPC_CheckType, MVT::v16i16,
41026 OPC_CheckPatternPredicate0,
41027 OPC_EmitConvertToTarget1,
41028 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_H_B),
41029 MVT::v16i16, 2, 22,
41030 20,
41031 OPC_CheckChild0Type, MVT::v16i16,
41032 OPC_RecordChild1,
41033 OPC_MoveChild1,
41034 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41035 OPC_CheckPredicate, 21,
41036 OPC_MoveParent,
41037 OPC_CheckType, MVT::v8i32,
41038 OPC_CheckPatternPredicate0,
41039 OPC_EmitConvertToTarget1,
41040 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_W_H),
41041 MVT::v8i32, 2, 22,
41042 20,
41043 OPC_CheckChild0Type, MVT::v8i32,
41044 OPC_RecordChild1,
41045 OPC_MoveChild1,
41046 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41047 OPC_CheckPredicate, 20,
41048 OPC_MoveParent,
41049 OPC_CheckType, MVT::v4i64,
41050 OPC_CheckPatternPredicate0,
41051 OPC_EmitConvertToTarget1,
41052 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_D_W),
41053 MVT::v4i64, 2, 22,
41054 0,
41055 1|128,1, TARGET_VAL(LoongArchISD::VSLLWIL_U),
41056 OPC_RecordChild0,
41057 OPC_Scope, 20,
41058 OPC_CheckChild0Type, MVT::v16i8,
41059 OPC_RecordChild1,
41060 OPC_MoveChild1,
41061 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41062 OPC_CheckPredicate, 11,
41063 OPC_MoveParent,
41064 OPC_CheckType, MVT::v8i16,
41065 OPC_CheckPatternPredicate1,
41066 OPC_EmitConvertToTarget1,
41067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_HU_BU),
41068 MVT::v8i16, 2, 22,
41069 20,
41070 OPC_CheckChild0Type, MVT::v8i16,
41071 OPC_RecordChild1,
41072 OPC_MoveChild1,
41073 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41074 OPC_CheckPredicate, 21,
41075 OPC_MoveParent,
41076 OPC_CheckType, MVT::v4i32,
41077 OPC_CheckPatternPredicate1,
41078 OPC_EmitConvertToTarget1,
41079 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_WU_HU),
41080 MVT::v4i32, 2, 22,
41081 20,
41082 OPC_CheckChild0Type, MVT::v4i32,
41083 OPC_RecordChild1,
41084 OPC_MoveChild1,
41085 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41086 OPC_CheckPredicate, 20,
41087 OPC_MoveParent,
41088 OPC_CheckType, MVT::v2i64,
41089 OPC_CheckPatternPredicate1,
41090 OPC_EmitConvertToTarget1,
41091 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSLLWIL_DU_WU),
41092 MVT::v2i64, 2, 22,
41093 20,
41094 OPC_CheckChild0Type, MVT::v32i8,
41095 OPC_RecordChild1,
41096 OPC_MoveChild1,
41097 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41098 OPC_CheckPredicate, 11,
41099 OPC_MoveParent,
41100 OPC_CheckType, MVT::v16i16,
41101 OPC_CheckPatternPredicate0,
41102 OPC_EmitConvertToTarget1,
41103 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_HU_BU),
41104 MVT::v16i16, 2, 22,
41105 20,
41106 OPC_CheckChild0Type, MVT::v16i16,
41107 OPC_RecordChild1,
41108 OPC_MoveChild1,
41109 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41110 OPC_CheckPredicate, 21,
41111 OPC_MoveParent,
41112 OPC_CheckType, MVT::v8i32,
41113 OPC_CheckPatternPredicate0,
41114 OPC_EmitConvertToTarget1,
41115 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_WU_HU),
41116 MVT::v8i32, 2, 22,
41117 20,
41118 OPC_CheckChild0Type, MVT::v8i32,
41119 OPC_RecordChild1,
41120 OPC_MoveChild1,
41121 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41122 OPC_CheckPredicate, 20,
41123 OPC_MoveParent,
41124 OPC_CheckType, MVT::v4i64,
41125 OPC_CheckPatternPredicate0,
41126 OPC_EmitConvertToTarget1,
41127 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSLLWIL_DU_WU),
41128 MVT::v4i64, 2, 22,
41129 0,
41130 95, TARGET_VAL(LoongArchISD::VSHUF4I),
41131 OPC_RecordChild0,
41132 OPC_RecordChild1,
41133 OPC_MoveChild1,
41134 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41135 OPC_CheckPredicate, 47,
41136 OPC_MoveParent,
41137 OPC_SwitchType , 8, MVT::v16i8,
41138 OPC_CheckPatternPredicate1,
41139 OPC_EmitConvertToTarget1,
41140 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_B),
41141 MVT::v16i8, 2, 22,
41142 8, MVT::v8i16,
41143 OPC_CheckPatternPredicate1,
41144 OPC_EmitConvertToTarget1,
41145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_H),
41146 MVT::v8i16, 2, 22,
41147 8, MVT::v4i32,
41148 OPC_CheckPatternPredicate1,
41149 OPC_EmitConvertToTarget1,
41150 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
41151 MVT::v4i32, 2, 22,
41152 8, MVT::v32i8,
41153 OPC_CheckPatternPredicate0,
41154 OPC_EmitConvertToTarget1,
41155 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_B),
41156 MVT::v32i8, 2, 22,
41157 8, MVT::v16i16,
41158 OPC_CheckPatternPredicate0,
41159 OPC_EmitConvertToTarget1,
41160 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_H),
41161 MVT::v16i16, 2, 22,
41162 8, MVT::v8i32,
41163 OPC_CheckPatternPredicate0,
41164 OPC_EmitConvertToTarget1,
41165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
41166 MVT::v8i32, 2, 22,
41167 9, 11|128,1,
41168 OPC_CheckPatternPredicate1,
41169 OPC_EmitConvertToTarget1,
41170 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_W),
41171 11|128,1, 2, 22,
41172 9, 15|128,1,
41173 OPC_CheckPatternPredicate0,
41174 OPC_EmitConvertToTarget1,
41175 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_W),
41176 15|128,1, 2, 22,
41177 0,
41178 56, TARGET_VAL(LoongArchISD::VSHUF4I_D),
41179 OPC_RecordChild0,
41180 OPC_RecordChild1,
41181 OPC_RecordChild2,
41182 OPC_MoveChild2,
41183 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41184 OPC_CheckPredicate, 47,
41185 OPC_MoveParent,
41186 OPC_SwitchType , 8, MVT::v2i64,
41187 OPC_CheckPatternPredicate1,
41188 OPC_EmitConvertToTarget2,
41189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
41190 MVT::v2i64, 3, 42,
41191 8, MVT::v4i64,
41192 OPC_CheckPatternPredicate0,
41193 OPC_EmitConvertToTarget2,
41194 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
41195 MVT::v4i64, 3, 42,
41196 9, 29|128,1,
41197 OPC_CheckPatternPredicate1,
41198 OPC_EmitConvertToTarget2,
41199 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF4I_D),
41200 29|128,1, 3, 42,
41201 9, 31|128,1,
41202 OPC_CheckPatternPredicate0,
41203 OPC_EmitConvertToTarget2,
41204 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF4I_D),
41205 31|128,1, 3, 42,
41206 0,
41207 56, TARGET_VAL(LoongArchISD::VPERMI),
41208 OPC_RecordChild0,
41209 OPC_RecordChild1,
41210 OPC_RecordChild2,
41211 OPC_MoveChild2,
41212 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41213 OPC_CheckPredicate, 47,
41214 OPC_MoveParent,
41215 OPC_SwitchType , 8, MVT::v4i32,
41216 OPC_CheckPatternPredicate1,
41217 OPC_EmitConvertToTarget2,
41218 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
41219 MVT::v4i32, 3, 42,
41220 8, MVT::v8i32,
41221 OPC_CheckPatternPredicate0,
41222 OPC_EmitConvertToTarget2,
41223 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
41224 MVT::v8i32, 3, 42,
41225 9, 11|128,1,
41226 OPC_CheckPatternPredicate1,
41227 OPC_EmitConvertToTarget2,
41228 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPERMI_W),
41229 11|128,1, 3, 42,
41230 9, 15|128,1,
41231 OPC_CheckPatternPredicate0,
41232 OPC_EmitConvertToTarget2,
41233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_W),
41234 15|128,1, 3, 42,
41235 0,
41236 56|128,1, TARGET_VAL(LoongArchISD::VREPLVEI),
41237 OPC_RecordChild0,
41238 OPC_RecordChild1,
41239 OPC_MoveChild1,
41240 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41241 OPC_Scope, 13,
41242 OPC_CheckPredicate, 21,
41243 OPC_MoveParent,
41244 OPC_CheckType, MVT::v16i8,
41245 OPC_CheckPatternPredicate1,
41246 OPC_EmitConvertToTarget1,
41247 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_B),
41248 MVT::v16i8, 2, 22,
41249 13,
41250 OPC_CheckPredicate, 11,
41251 OPC_MoveParent,
41252 OPC_CheckType, MVT::v8i16,
41253 OPC_CheckPatternPredicate1,
41254 OPC_EmitConvertToTarget1,
41255 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_H),
41256 MVT::v8i16, 2, 22,
41257 13,
41258 OPC_CheckPredicate, 18,
41259 OPC_MoveParent,
41260 OPC_CheckType, MVT::v4i32,
41261 OPC_CheckPatternPredicate1,
41262 OPC_EmitConvertToTarget1,
41263 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
41264 MVT::v4i32, 2, 22,
41265 13,
41266 OPC_CheckPredicate, 25,
41267 OPC_MoveParent,
41268 OPC_CheckType, MVT::v2i64,
41269 OPC_CheckPatternPredicate1,
41270 OPC_EmitConvertToTarget1,
41271 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
41272 MVT::v2i64, 2, 22,
41273 13,
41274 OPC_CheckPredicate, 21,
41275 OPC_MoveParent,
41276 OPC_CheckType, MVT::v32i8,
41277 OPC_CheckPatternPredicate0,
41278 OPC_EmitConvertToTarget1,
41279 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_B),
41280 MVT::v32i8, 2, 22,
41281 13,
41282 OPC_CheckPredicate, 11,
41283 OPC_MoveParent,
41284 OPC_CheckType, MVT::v16i16,
41285 OPC_CheckPatternPredicate0,
41286 OPC_EmitConvertToTarget1,
41287 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_H),
41288 MVT::v16i16, 2, 22,
41289 13,
41290 OPC_CheckPredicate, 18,
41291 OPC_MoveParent,
41292 OPC_CheckType, MVT::v8i32,
41293 OPC_CheckPatternPredicate0,
41294 OPC_EmitConvertToTarget1,
41295 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
41296 MVT::v8i32, 2, 22,
41297 13,
41298 OPC_CheckPredicate, 25,
41299 OPC_MoveParent,
41300 OPC_CheckType, MVT::v4i64,
41301 OPC_CheckPatternPredicate0,
41302 OPC_EmitConvertToTarget1,
41303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
41304 MVT::v4i64, 2, 22,
41305 15,
41306 OPC_CheckPredicate, 18,
41307 OPC_MoveParent,
41308 OPC_CheckType, 11|128,1,
41309 OPC_CheckPatternPredicate1,
41310 OPC_EmitConvertToTarget1,
41311 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
41312 11|128,1, 2, 22,
41313 15,
41314 OPC_CheckPredicate, 25,
41315 OPC_MoveParent,
41316 OPC_CheckType, 29|128,1,
41317 OPC_CheckPatternPredicate1,
41318 OPC_EmitConvertToTarget1,
41319 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
41320 29|128,1, 2, 22,
41321 15,
41322 OPC_CheckPredicate, 18,
41323 OPC_MoveParent,
41324 OPC_CheckType, 15|128,1,
41325 OPC_CheckPatternPredicate0,
41326 OPC_EmitConvertToTarget1,
41327 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_W),
41328 15|128,1, 2, 22,
41329 15,
41330 OPC_CheckPredicate, 25,
41331 OPC_MoveParent,
41332 OPC_CheckType, 31|128,1,
41333 OPC_CheckPatternPredicate0,
41334 OPC_EmitConvertToTarget1,
41335 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPL128VEI_D),
41336 31|128,1, 2, 22,
41337 0,
41338 69, TARGET_VAL(LoongArchISD::XVINSVE0),
41339 OPC_RecordChild0,
41340 OPC_RecordChild1,
41341 OPC_RecordChild2,
41342 OPC_MoveChild2,
41343 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41344 OPC_Scope, 13,
41345 OPC_CheckPredicate, 11,
41346 OPC_MoveParent,
41347 OPC_CheckType, MVT::v8i32,
41348 OPC_CheckPatternPredicate0,
41349 OPC_EmitConvertToTarget2,
41350 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
41351 MVT::v8i32, 3, 42,
41352 13,
41353 OPC_CheckPredicate, 18,
41354 OPC_MoveParent,
41355 OPC_CheckType, MVT::v4i64,
41356 OPC_CheckPatternPredicate0,
41357 OPC_EmitConvertToTarget2,
41358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
41359 MVT::v4i64, 3, 42,
41360 15,
41361 OPC_CheckPredicate, 11,
41362 OPC_MoveParent,
41363 OPC_CheckType, 15|128,1,
41364 OPC_CheckPatternPredicate0,
41365 OPC_EmitConvertToTarget2,
41366 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_W),
41367 15|128,1, 3, 42,
41368 15,
41369 OPC_CheckPredicate, 18,
41370 OPC_MoveParent,
41371 OPC_CheckType, 31|128,1,
41372 OPC_CheckPatternPredicate0,
41373 OPC_EmitConvertToTarget2,
41374 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVINSVE0_D),
41375 31|128,1, 3, 42,
41376 0,
41377 33, TARGET_VAL(LoongArchISD::XVPERMI),
41378 OPC_RecordChild0,
41379 OPC_RecordChild1,
41380 OPC_MoveChild1,
41381 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
41382 OPC_CheckPredicate, 47,
41383 OPC_MoveParent,
41384 OPC_SwitchType , 8, MVT::v4i64,
41385 OPC_CheckPatternPredicate0,
41386 OPC_EmitConvertToTarget1,
41387 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
41388 MVT::v4i64, 2, 22,
41389 9, 31|128,1,
41390 OPC_CheckPatternPredicate0,
41391 OPC_EmitConvertToTarget1,
41392 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERMI_D),
41393 31|128,1, 2, 22,
41394 0,
41395 69, TARGET_VAL(LoongArchISD::VEXTH),
41396 OPC_RecordChild0,
41397 OPC_SwitchType , 9, MVT::v8i16,
41398 OPC_CheckChild0Type, MVT::v16i8,
41399 OPC_CheckPatternPredicate1,
41400 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_H_B),
41401 MVT::v8i16, 1, 1,
41402 9, MVT::v4i32,
41403 OPC_CheckChild0Type, MVT::v8i16,
41404 OPC_CheckPatternPredicate1,
41405 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_W_H),
41406 MVT::v4i32, 1, 1,
41407 9, MVT::v2i64,
41408 OPC_CheckChild0Type, MVT::v4i32,
41409 OPC_CheckPatternPredicate1,
41410 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_D_W),
41411 MVT::v2i64, 1, 1,
41412 9, MVT::v16i16,
41413 OPC_CheckChild0Type, MVT::v32i8,
41414 OPC_CheckPatternPredicate0,
41415 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_H_B),
41416 MVT::v16i16, 1, 1,
41417 9, MVT::v8i32,
41418 OPC_CheckChild0Type, MVT::v16i16,
41419 OPC_CheckPatternPredicate0,
41420 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_W_H),
41421 MVT::v8i32, 1, 1,
41422 9, MVT::v4i64,
41423 OPC_CheckChild0Type, MVT::v8i32,
41424 OPC_CheckPatternPredicate0,
41425 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_D_W),
41426 MVT::v4i64, 1, 1,
41427 0,
41428 69, TARGET_VAL(LoongArchISD::VEXTH_U),
41429 OPC_RecordChild0,
41430 OPC_SwitchType , 9, MVT::v8i16,
41431 OPC_CheckChild0Type, MVT::v16i8,
41432 OPC_CheckPatternPredicate1,
41433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_HU_BU),
41434 MVT::v8i16, 1, 1,
41435 9, MVT::v4i32,
41436 OPC_CheckChild0Type, MVT::v8i16,
41437 OPC_CheckPatternPredicate1,
41438 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_WU_HU),
41439 MVT::v4i32, 1, 1,
41440 9, MVT::v2i64,
41441 OPC_CheckChild0Type, MVT::v4i32,
41442 OPC_CheckPatternPredicate1,
41443 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXTH_DU_WU),
41444 MVT::v2i64, 1, 1,
41445 9, MVT::v16i16,
41446 OPC_CheckChild0Type, MVT::v32i8,
41447 OPC_CheckPatternPredicate0,
41448 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_HU_BU),
41449 MVT::v16i16, 1, 1,
41450 9, MVT::v8i32,
41451 OPC_CheckChild0Type, MVT::v16i16,
41452 OPC_CheckPatternPredicate0,
41453 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_WU_HU),
41454 MVT::v8i32, 1, 1,
41455 9, MVT::v4i64,
41456 OPC_CheckChild0Type, MVT::v8i32,
41457 OPC_CheckPatternPredicate0,
41458 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVEXTH_DU_WU),
41459 MVT::v4i64, 1, 1,
41460 0,
41461 103, TARGET_VAL(LoongArchISD::VHADDW),
41462 OPC_RecordChild0,
41463 OPC_SwitchType , 10, MVT::v8i16,
41464 OPC_CheckChild0Type, MVT::v16i8,
41465 OPC_RecordChild1,
41466 OPC_CheckPatternPredicate1,
41467 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_H_B),
41468 MVT::v8i16, 2, 9,
41469 10, MVT::v4i32,
41470 OPC_CheckChild0Type, MVT::v8i16,
41471 OPC_RecordChild1,
41472 OPC_CheckPatternPredicate1,
41473 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_W_H),
41474 MVT::v4i32, 2, 9,
41475 24, MVT::v2i64,
41476 OPC_Scope, 10,
41477 OPC_CheckChild0Type, MVT::v4i32,
41478 OPC_RecordChild1,
41479 OPC_CheckPatternPredicate1,
41480 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_D_W),
41481 MVT::v2i64, 2, 9,
41482 10,
41483 OPC_CheckChild0Type, MVT::v2i64,
41484 OPC_RecordChild1,
41485 OPC_CheckPatternPredicate1,
41486 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_Q_D),
41487 MVT::v2i64, 2, 9,
41488 0,
41489 10, MVT::v16i16,
41490 OPC_CheckChild0Type, MVT::v32i8,
41491 OPC_RecordChild1,
41492 OPC_CheckPatternPredicate0,
41493 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_H_B),
41494 MVT::v16i16, 2, 9,
41495 10, MVT::v8i32,
41496 OPC_CheckChild0Type, MVT::v16i16,
41497 OPC_RecordChild1,
41498 OPC_CheckPatternPredicate0,
41499 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_W_H),
41500 MVT::v8i32, 2, 9,
41501 24, MVT::v4i64,
41502 OPC_Scope, 10,
41503 OPC_CheckChild0Type, MVT::v8i32,
41504 OPC_RecordChild1,
41505 OPC_CheckPatternPredicate0,
41506 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_D_W),
41507 MVT::v4i64, 2, 9,
41508 10,
41509 OPC_CheckChild0Type, MVT::v4i64,
41510 OPC_RecordChild1,
41511 OPC_CheckPatternPredicate0,
41512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_Q_D),
41513 MVT::v4i64, 2, 9,
41514 0,
41515 0,
41516 103, TARGET_VAL(LoongArchISD::VHADDW_U),
41517 OPC_RecordChild0,
41518 OPC_SwitchType , 10, MVT::v8i16,
41519 OPC_CheckChild0Type, MVT::v16i8,
41520 OPC_RecordChild1,
41521 OPC_CheckPatternPredicate1,
41522 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_HU_BU),
41523 MVT::v8i16, 2, 9,
41524 10, MVT::v4i32,
41525 OPC_CheckChild0Type, MVT::v8i16,
41526 OPC_RecordChild1,
41527 OPC_CheckPatternPredicate1,
41528 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_WU_HU),
41529 MVT::v4i32, 2, 9,
41530 24, MVT::v2i64,
41531 OPC_Scope, 10,
41532 OPC_CheckChild0Type, MVT::v4i32,
41533 OPC_RecordChild1,
41534 OPC_CheckPatternPredicate1,
41535 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_DU_WU),
41536 MVT::v2i64, 2, 9,
41537 10,
41538 OPC_CheckChild0Type, MVT::v2i64,
41539 OPC_RecordChild1,
41540 OPC_CheckPatternPredicate1,
41541 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHADDW_QU_DU),
41542 MVT::v2i64, 2, 9,
41543 0,
41544 10, MVT::v16i16,
41545 OPC_CheckChild0Type, MVT::v32i8,
41546 OPC_RecordChild1,
41547 OPC_CheckPatternPredicate0,
41548 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_HU_BU),
41549 MVT::v16i16, 2, 9,
41550 10, MVT::v8i32,
41551 OPC_CheckChild0Type, MVT::v16i16,
41552 OPC_RecordChild1,
41553 OPC_CheckPatternPredicate0,
41554 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_WU_HU),
41555 MVT::v8i32, 2, 9,
41556 24, MVT::v4i64,
41557 OPC_Scope, 10,
41558 OPC_CheckChild0Type, MVT::v8i32,
41559 OPC_RecordChild1,
41560 OPC_CheckPatternPredicate0,
41561 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_DU_WU),
41562 MVT::v4i64, 2, 9,
41563 10,
41564 OPC_CheckChild0Type, MVT::v4i64,
41565 OPC_RecordChild1,
41566 OPC_CheckPatternPredicate0,
41567 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHADDW_QU_DU),
41568 MVT::v4i64, 2, 9,
41569 0,
41570 0,
41571 103, TARGET_VAL(LoongArchISD::VHSUBW),
41572 OPC_RecordChild0,
41573 OPC_SwitchType , 10, MVT::v8i16,
41574 OPC_CheckChild0Type, MVT::v16i8,
41575 OPC_RecordChild1,
41576 OPC_CheckPatternPredicate1,
41577 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_H_B),
41578 MVT::v8i16, 2, 9,
41579 10, MVT::v4i32,
41580 OPC_CheckChild0Type, MVT::v8i16,
41581 OPC_RecordChild1,
41582 OPC_CheckPatternPredicate1,
41583 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_W_H),
41584 MVT::v4i32, 2, 9,
41585 24, MVT::v2i64,
41586 OPC_Scope, 10,
41587 OPC_CheckChild0Type, MVT::v4i32,
41588 OPC_RecordChild1,
41589 OPC_CheckPatternPredicate1,
41590 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_D_W),
41591 MVT::v2i64, 2, 9,
41592 10,
41593 OPC_CheckChild0Type, MVT::v2i64,
41594 OPC_RecordChild1,
41595 OPC_CheckPatternPredicate1,
41596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_Q_D),
41597 MVT::v2i64, 2, 9,
41598 0,
41599 10, MVT::v16i16,
41600 OPC_CheckChild0Type, MVT::v32i8,
41601 OPC_RecordChild1,
41602 OPC_CheckPatternPredicate0,
41603 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_H_B),
41604 MVT::v16i16, 2, 9,
41605 10, MVT::v8i32,
41606 OPC_CheckChild0Type, MVT::v16i16,
41607 OPC_RecordChild1,
41608 OPC_CheckPatternPredicate0,
41609 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_W_H),
41610 MVT::v8i32, 2, 9,
41611 24, MVT::v4i64,
41612 OPC_Scope, 10,
41613 OPC_CheckChild0Type, MVT::v8i32,
41614 OPC_RecordChild1,
41615 OPC_CheckPatternPredicate0,
41616 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_D_W),
41617 MVT::v4i64, 2, 9,
41618 10,
41619 OPC_CheckChild0Type, MVT::v4i64,
41620 OPC_RecordChild1,
41621 OPC_CheckPatternPredicate0,
41622 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_Q_D),
41623 MVT::v4i64, 2, 9,
41624 0,
41625 0,
41626 103, TARGET_VAL(LoongArchISD::VHSUBW_U),
41627 OPC_RecordChild0,
41628 OPC_SwitchType , 10, MVT::v8i16,
41629 OPC_CheckChild0Type, MVT::v16i8,
41630 OPC_RecordChild1,
41631 OPC_CheckPatternPredicate1,
41632 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_HU_BU),
41633 MVT::v8i16, 2, 9,
41634 10, MVT::v4i32,
41635 OPC_CheckChild0Type, MVT::v8i16,
41636 OPC_RecordChild1,
41637 OPC_CheckPatternPredicate1,
41638 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_WU_HU),
41639 MVT::v4i32, 2, 9,
41640 24, MVT::v2i64,
41641 OPC_Scope, 10,
41642 OPC_CheckChild0Type, MVT::v4i32,
41643 OPC_RecordChild1,
41644 OPC_CheckPatternPredicate1,
41645 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_DU_WU),
41646 MVT::v2i64, 2, 9,
41647 10,
41648 OPC_CheckChild0Type, MVT::v2i64,
41649 OPC_RecordChild1,
41650 OPC_CheckPatternPredicate1,
41651 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VHSUBW_QU_DU),
41652 MVT::v2i64, 2, 9,
41653 0,
41654 10, MVT::v16i16,
41655 OPC_CheckChild0Type, MVT::v32i8,
41656 OPC_RecordChild1,
41657 OPC_CheckPatternPredicate0,
41658 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_HU_BU),
41659 MVT::v16i16, 2, 9,
41660 10, MVT::v8i32,
41661 OPC_CheckChild0Type, MVT::v16i16,
41662 OPC_RecordChild1,
41663 OPC_CheckPatternPredicate0,
41664 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_WU_HU),
41665 MVT::v8i32, 2, 9,
41666 24, MVT::v4i64,
41667 OPC_Scope, 10,
41668 OPC_CheckChild0Type, MVT::v8i32,
41669 OPC_RecordChild1,
41670 OPC_CheckPatternPredicate0,
41671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_DU_WU),
41672 MVT::v4i64, 2, 9,
41673 10,
41674 OPC_CheckChild0Type, MVT::v4i64,
41675 OPC_RecordChild1,
41676 OPC_CheckPatternPredicate0,
41677 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVHSUBW_QU_DU),
41678 MVT::v4i64, 2, 9,
41679 0,
41680 0,
41681 5|128,3, TARGET_VAL(ISD::BUILD_VECTOR),
41682 OPC_RecordChild0,
41683 OPC_Scope, 11|128,2,
41684 OPC_CheckChild0TypeByHwMode0,
41685 OPC_CheckChild1Same, 0,
41686 OPC_Scope, 85,
41687 OPC_CheckChild2Same, 0,
41688 OPC_CheckChild3Same, 0,
41689 OPC_Scope, 68,
41690 OPC_MoveChild4,
41691 OPC_CheckSame, 0,
41692 OPC_MoveSibling5,
41693 OPC_CheckSame, 0,
41694 OPC_MoveSibling6,
41695 OPC_CheckSame, 0,
41696 OPC_MoveSibling7,
41697 OPC_CheckSame, 0,
41698 OPC_Scope, 42,
41699 OPC_MoveSibling, 8,
41700 OPC_CheckSame, 0,
41701 OPC_MoveSibling, 9,
41702 OPC_CheckSame, 0,
41703 OPC_MoveSibling, 10,
41704 OPC_CheckSame, 0,
41705 OPC_MoveSibling, 11,
41706 OPC_CheckSame, 0,
41707 OPC_MoveSibling, 12,
41708 OPC_CheckSame, 0,
41709 OPC_MoveSibling, 13,
41710 OPC_CheckSame, 0,
41711 OPC_MoveSibling, 14,
41712 OPC_CheckSame, 0,
41713 OPC_MoveSibling, 15,
41714 OPC_CheckSame, 0,
41715 OPC_MoveParent,
41716 OPC_CheckType, MVT::v16i8,
41717 OPC_CheckPatternPredicate1,
41718 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
41719 MVT::v16i8, 1, 1,
41720 10,
41721 OPC_MoveParent,
41722 OPC_CheckType, MVT::v8i16,
41723 OPC_CheckPatternPredicate1,
41724 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
41725 MVT::v8i16, 1, 1,
41726 0,
41727 9,
41728 OPC_CheckType, MVT::v4i32,
41729 OPC_CheckPatternPredicate1,
41730 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
41731 MVT::v4i32, 1, 1,
41732 0,
41733 9,
41734 OPC_CheckType, MVT::v2i64,
41735 OPC_CheckPatternPredicate1,
41736 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
41737 MVT::v2i64, 1, 1,
41738 36|128,1,
41739 OPC_CheckChild2Same, 0,
41740 OPC_CheckChild3Same, 0,
41741 OPC_Scope, 18|128,1,
41742 OPC_MoveChild4,
41743 OPC_CheckSame, 0,
41744 OPC_MoveSibling5,
41745 OPC_CheckSame, 0,
41746 OPC_MoveSibling6,
41747 OPC_CheckSame, 0,
41748 OPC_MoveSibling7,
41749 OPC_CheckSame, 0,
41750 OPC_Scope, 120,
41751 OPC_MoveSibling, 8,
41752 OPC_CheckSame, 0,
41753 OPC_MoveSibling, 9,
41754 OPC_CheckSame, 0,
41755 OPC_MoveSibling, 10,
41756 OPC_CheckSame, 0,
41757 OPC_MoveSibling, 11,
41758 OPC_CheckSame, 0,
41759 OPC_MoveSibling, 12,
41760 OPC_CheckSame, 0,
41761 OPC_MoveSibling, 13,
41762 OPC_CheckSame, 0,
41763 OPC_MoveSibling, 14,
41764 OPC_CheckSame, 0,
41765 OPC_MoveSibling, 15,
41766 OPC_CheckSame, 0,
41767 OPC_Scope, 74,
41768 OPC_MoveSibling, 16,
41769 OPC_CheckSame, 0,
41770 OPC_MoveSibling, 17,
41771 OPC_CheckSame, 0,
41772 OPC_MoveSibling, 18,
41773 OPC_CheckSame, 0,
41774 OPC_MoveSibling, 19,
41775 OPC_CheckSame, 0,
41776 OPC_MoveSibling, 20,
41777 OPC_CheckSame, 0,
41778 OPC_MoveSibling, 21,
41779 OPC_CheckSame, 0,
41780 OPC_MoveSibling, 22,
41781 OPC_CheckSame, 0,
41782 OPC_MoveSibling, 23,
41783 OPC_CheckSame, 0,
41784 OPC_MoveSibling, 24,
41785 OPC_CheckSame, 0,
41786 OPC_MoveSibling, 25,
41787 OPC_CheckSame, 0,
41788 OPC_MoveSibling, 26,
41789 OPC_CheckSame, 0,
41790 OPC_MoveSibling, 27,
41791 OPC_CheckSame, 0,
41792 OPC_MoveSibling, 28,
41793 OPC_CheckSame, 0,
41794 OPC_MoveSibling, 29,
41795 OPC_CheckSame, 0,
41796 OPC_MoveSibling, 30,
41797 OPC_CheckSame, 0,
41798 OPC_MoveSibling, 31,
41799 OPC_CheckSame, 0,
41800 OPC_MoveParent,
41801 OPC_CheckType, MVT::v32i8,
41802 OPC_CheckPatternPredicate0,
41803 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
41804 MVT::v32i8, 1, 1,
41805 10,
41806 OPC_MoveParent,
41807 OPC_CheckType, MVT::v16i16,
41808 OPC_CheckPatternPredicate0,
41809 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
41810 MVT::v16i16, 1, 1,
41811 0,
41812 10,
41813 OPC_MoveParent,
41814 OPC_CheckType, MVT::v8i32,
41815 OPC_CheckPatternPredicate0,
41816 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
41817 MVT::v8i32, 1, 1,
41818 0,
41819 9,
41820 OPC_CheckType, MVT::v4i64,
41821 OPC_CheckPatternPredicate0,
41822 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
41823 MVT::v4i64, 1, 1,
41824 0,
41825 0,
41826 65,
41827 OPC_CheckChild0Type, MVT::f32,
41828 OPC_CheckChild1Same, 0,
41829 OPC_CheckChild2Same, 0,
41830 OPC_CheckChild3Same, 0,
41831 OPC_Scope, 21,
41832 OPC_CheckType, 11|128,1,
41833 OPC_CheckPatternPredicate1,
41834 OPC_EmitIntegerI32, LoongArch::sub_32,
41835 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41836 MVT::v16i8, 2, 9,
41837 OPC_EmitIntegerByHwMode0, 0,
41838 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_W),
41839 11|128,1, 2, 49,
41840 32,
41841 OPC_MoveChild4,
41842 OPC_CheckSame, 0,
41843 OPC_MoveSibling5,
41844 OPC_CheckSame, 0,
41845 OPC_MoveSibling6,
41846 OPC_CheckSame, 0,
41847 OPC_MoveSibling7,
41848 OPC_CheckSame, 0,
41849 OPC_MoveParent,
41850 OPC_CheckType, 15|128,1,
41851 OPC_CheckPatternPredicate0,
41852 OPC_EmitIntegerI32, LoongArch::sub_32,
41853 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41854 MVT::v32i8, 2, 9,
41855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
41856 15|128,1, 1, 23,
41857 0,
41858 50,
41859 OPC_CheckChild0Type, MVT::f64,
41860 OPC_CheckChild1Same, 0,
41861 OPC_SwitchType , 18, 29|128,1,
41862 OPC_CheckPatternPredicate1,
41863 OPC_EmitIntegerI32, LoongArch::sub_64,
41864 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41865 MVT::v16i8, 2, 9,
41866 OPC_EmitIntegerByHwMode0, 0,
41867 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVEI_D),
41868 29|128,1, 2, 49,
41869 20, 31|128,1,
41870 OPC_CheckChild2Same, 0,
41871 OPC_CheckChild3Same, 0,
41872 OPC_CheckPatternPredicate0,
41873 OPC_EmitIntegerI32, LoongArch::sub_64,
41874 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
41875 MVT::v32i8, 2, 9,
41876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
41877 31|128,1, 1, 23,
41878 0,
41879 0,
41880 76, TARGET_VAL(LoongArchISD::VREPLGR2VR),
41881 OPC_RecordChild0,
41882 OPC_CheckChild0TypeByHwMode0,
41883 OPC_SwitchType , 7, MVT::v16i8,
41884 OPC_CheckPatternPredicate1,
41885 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_B),
41886 MVT::v16i8, 1, 1,
41887 7, MVT::v8i16,
41888 OPC_CheckPatternPredicate1,
41889 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_H),
41890 MVT::v8i16, 1, 1,
41891 7, MVT::v4i32,
41892 OPC_CheckPatternPredicate1,
41893 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_W),
41894 MVT::v4i32, 1, 1,
41895 7, MVT::v2i64,
41896 OPC_CheckPatternPredicate1,
41897 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLGR2VR_D),
41898 MVT::v2i64, 1, 1,
41899 7, MVT::v32i8,
41900 OPC_CheckPatternPredicate0,
41901 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_B),
41902 MVT::v32i8, 1, 1,
41903 7, MVT::v16i16,
41904 OPC_CheckPatternPredicate0,
41905 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_H),
41906 MVT::v16i16, 1, 1,
41907 7, MVT::v8i32,
41908 OPC_CheckPatternPredicate0,
41909 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_W),
41910 MVT::v8i32, 1, 1,
41911 7, MVT::v4i64,
41912 OPC_CheckPatternPredicate0,
41913 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLGR2VR_D),
41914 MVT::v4i64, 1, 1,
41915 0,
41916 77, TARGET_VAL(LoongArchISD::VREPLVE),
41917 OPC_RecordChild0,
41918 OPC_RecordChild1,
41919 OPC_CheckChild1TypeByHwMode0,
41920 OPC_SwitchType , 7, MVT::v16i8,
41921 OPC_CheckPatternPredicate1,
41922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_B),
41923 MVT::v16i8, 2, 9,
41924 7, MVT::v8i16,
41925 OPC_CheckPatternPredicate1,
41926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_H),
41927 MVT::v8i16, 2, 9,
41928 7, MVT::v4i32,
41929 OPC_CheckPatternPredicate1,
41930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_W),
41931 MVT::v4i32, 2, 9,
41932 7, MVT::v2i64,
41933 OPC_CheckPatternPredicate1,
41934 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VREPLVE_D),
41935 MVT::v2i64, 2, 9,
41936 7, MVT::v32i8,
41937 OPC_CheckPatternPredicate0,
41938 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_B),
41939 MVT::v32i8, 2, 9,
41940 7, MVT::v16i16,
41941 OPC_CheckPatternPredicate0,
41942 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_H),
41943 MVT::v16i16, 2, 9,
41944 7, MVT::v8i32,
41945 OPC_CheckPatternPredicate0,
41946 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_W),
41947 MVT::v8i32, 2, 9,
41948 7, MVT::v4i64,
41949 OPC_CheckPatternPredicate0,
41950 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE_D),
41951 MVT::v4i64, 2, 9,
41952 0,
41953 39|128,1, TARGET_VAL(LoongArchISD::VSHUF),
41954 OPC_RecordChild0,
41955 OPC_Scope, 13,
41956 OPC_CheckChild0Type, MVT::v16i8,
41957 OPC_RecordChild1,
41958 OPC_RecordChild2,
41959 OPC_CheckType, MVT::v16i8,
41960 OPC_CheckPatternPredicate1,
41961 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_B),
41962 MVT::v16i8, 3, 5,
41963 13,
41964 OPC_CheckChild0Type, MVT::v8i16,
41965 OPC_RecordChild1,
41966 OPC_RecordChild2,
41967 OPC_CheckType, MVT::v8i16,
41968 OPC_CheckPatternPredicate1,
41969 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_H),
41970 MVT::v8i16, 3, 24,
41971 26,
41972 OPC_CheckChild0Type, MVT::v4i32,
41973 OPC_RecordChild1,
41974 OPC_RecordChild2,
41975 OPC_SwitchType , 7, MVT::v4i32,
41976 OPC_CheckPatternPredicate1,
41977 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
41978 MVT::v4i32, 3, 24,
41979 8, 11|128,1,
41980 OPC_CheckPatternPredicate1,
41981 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_W),
41982 11|128,1, 3, 24,
41983 0,
41984 26,
41985 OPC_CheckChild0Type, MVT::v2i64,
41986 OPC_RecordChild1,
41987 OPC_RecordChild2,
41988 OPC_SwitchType , 7, MVT::v2i64,
41989 OPC_CheckPatternPredicate1,
41990 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
41991 MVT::v2i64, 3, 24,
41992 8, 29|128,1,
41993 OPC_CheckPatternPredicate1,
41994 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSHUF_D),
41995 29|128,1, 3, 24,
41996 0,
41997 13,
41998 OPC_CheckChild0Type, MVT::v32i8,
41999 OPC_RecordChild1,
42000 OPC_RecordChild2,
42001 OPC_CheckType, MVT::v32i8,
42002 OPC_CheckPatternPredicate0,
42003 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_B),
42004 MVT::v32i8, 3, 5,
42005 13,
42006 OPC_CheckChild0Type, MVT::v16i16,
42007 OPC_RecordChild1,
42008 OPC_RecordChild2,
42009 OPC_CheckType, MVT::v16i16,
42010 OPC_CheckPatternPredicate0,
42011 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_H),
42012 MVT::v16i16, 3, 24,
42013 26,
42014 OPC_CheckChild0Type, MVT::v8i32,
42015 OPC_RecordChild1,
42016 OPC_RecordChild2,
42017 OPC_SwitchType , 7, MVT::v8i32,
42018 OPC_CheckPatternPredicate0,
42019 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
42020 MVT::v8i32, 3, 24,
42021 8, 15|128,1,
42022 OPC_CheckPatternPredicate0,
42023 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_W),
42024 15|128,1, 3, 24,
42025 0,
42026 26,
42027 OPC_CheckChild0Type, MVT::v4i64,
42028 OPC_RecordChild1,
42029 OPC_RecordChild2,
42030 OPC_SwitchType , 7, MVT::v4i64,
42031 OPC_CheckPatternPredicate0,
42032 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
42033 MVT::v4i64, 3, 24,
42034 8, 31|128,1,
42035 OPC_CheckPatternPredicate0,
42036 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSHUF_D),
42037 31|128,1, 3, 24,
42038 0,
42039 0,
42040 120, TARGET_VAL(LoongArchISD::VPICKEV),
42041 OPC_RecordChild0,
42042 OPC_RecordChild1,
42043 OPC_SwitchType , 7, MVT::v16i8,
42044 OPC_CheckPatternPredicate1,
42045 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_B),
42046 MVT::v16i8, 2, 9,
42047 7, MVT::v8i16,
42048 OPC_CheckPatternPredicate1,
42049 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_H),
42050 MVT::v8i16, 2, 9,
42051 7, MVT::v4i32,
42052 OPC_CheckPatternPredicate1,
42053 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
42054 MVT::v4i32, 2, 9,
42055 7, MVT::v2i64,
42056 OPC_CheckPatternPredicate1,
42057 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
42058 MVT::v2i64, 2, 9,
42059 7, MVT::v32i8,
42060 OPC_CheckPatternPredicate0,
42061 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_B),
42062 MVT::v32i8, 2, 9,
42063 7, MVT::v16i16,
42064 OPC_CheckPatternPredicate0,
42065 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_H),
42066 MVT::v16i16, 2, 9,
42067 7, MVT::v8i32,
42068 OPC_CheckPatternPredicate0,
42069 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
42070 MVT::v8i32, 2, 9,
42071 7, MVT::v4i64,
42072 OPC_CheckPatternPredicate0,
42073 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
42074 MVT::v4i64, 2, 9,
42075 8, 11|128,1,
42076 OPC_CheckPatternPredicate1,
42077 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_W),
42078 11|128,1, 2, 9,
42079 8, 29|128,1,
42080 OPC_CheckPatternPredicate1,
42081 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKEV_D),
42082 29|128,1, 2, 9,
42083 8, 15|128,1,
42084 OPC_CheckPatternPredicate0,
42085 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_W),
42086 15|128,1, 2, 9,
42087 8, 31|128,1,
42088 OPC_CheckPatternPredicate0,
42089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKEV_D),
42090 31|128,1, 2, 9,
42091 0,
42092 120, TARGET_VAL(LoongArchISD::VPICKOD),
42093 OPC_RecordChild0,
42094 OPC_RecordChild1,
42095 OPC_SwitchType , 7, MVT::v16i8,
42096 OPC_CheckPatternPredicate1,
42097 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_B),
42098 MVT::v16i8, 2, 9,
42099 7, MVT::v8i16,
42100 OPC_CheckPatternPredicate1,
42101 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_H),
42102 MVT::v8i16, 2, 9,
42103 7, MVT::v4i32,
42104 OPC_CheckPatternPredicate1,
42105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
42106 MVT::v4i32, 2, 9,
42107 7, MVT::v2i64,
42108 OPC_CheckPatternPredicate1,
42109 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
42110 MVT::v2i64, 2, 9,
42111 7, MVT::v32i8,
42112 OPC_CheckPatternPredicate0,
42113 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_B),
42114 MVT::v32i8, 2, 9,
42115 7, MVT::v16i16,
42116 OPC_CheckPatternPredicate0,
42117 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_H),
42118 MVT::v16i16, 2, 9,
42119 7, MVT::v8i32,
42120 OPC_CheckPatternPredicate0,
42121 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
42122 MVT::v8i32, 2, 9,
42123 7, MVT::v4i64,
42124 OPC_CheckPatternPredicate0,
42125 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
42126 MVT::v4i64, 2, 9,
42127 8, 11|128,1,
42128 OPC_CheckPatternPredicate1,
42129 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_W),
42130 11|128,1, 2, 9,
42131 8, 29|128,1,
42132 OPC_CheckPatternPredicate1,
42133 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPICKOD_D),
42134 29|128,1, 2, 9,
42135 8, 15|128,1,
42136 OPC_CheckPatternPredicate0,
42137 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_W),
42138 15|128,1, 2, 9,
42139 8, 31|128,1,
42140 OPC_CheckPatternPredicate0,
42141 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPICKOD_D),
42142 31|128,1, 2, 9,
42143 0,
42144 120, TARGET_VAL(LoongArchISD::VPACKEV),
42145 OPC_RecordChild0,
42146 OPC_RecordChild1,
42147 OPC_SwitchType , 7, MVT::v16i8,
42148 OPC_CheckPatternPredicate1,
42149 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_B),
42150 MVT::v16i8, 2, 9,
42151 7, MVT::v8i16,
42152 OPC_CheckPatternPredicate1,
42153 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_H),
42154 MVT::v8i16, 2, 9,
42155 7, MVT::v4i32,
42156 OPC_CheckPatternPredicate1,
42157 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
42158 MVT::v4i32, 2, 9,
42159 7, MVT::v2i64,
42160 OPC_CheckPatternPredicate1,
42161 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
42162 MVT::v2i64, 2, 9,
42163 7, MVT::v32i8,
42164 OPC_CheckPatternPredicate0,
42165 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_B),
42166 MVT::v32i8, 2, 9,
42167 7, MVT::v16i16,
42168 OPC_CheckPatternPredicate0,
42169 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_H),
42170 MVT::v16i16, 2, 9,
42171 7, MVT::v8i32,
42172 OPC_CheckPatternPredicate0,
42173 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
42174 MVT::v8i32, 2, 9,
42175 7, MVT::v4i64,
42176 OPC_CheckPatternPredicate0,
42177 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
42178 MVT::v4i64, 2, 9,
42179 8, 11|128,1,
42180 OPC_CheckPatternPredicate1,
42181 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_W),
42182 11|128,1, 2, 9,
42183 8, 29|128,1,
42184 OPC_CheckPatternPredicate1,
42185 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKEV_D),
42186 29|128,1, 2, 9,
42187 8, 15|128,1,
42188 OPC_CheckPatternPredicate0,
42189 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_W),
42190 15|128,1, 2, 9,
42191 8, 31|128,1,
42192 OPC_CheckPatternPredicate0,
42193 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKEV_D),
42194 31|128,1, 2, 9,
42195 0,
42196 120, TARGET_VAL(LoongArchISD::VPACKOD),
42197 OPC_RecordChild0,
42198 OPC_RecordChild1,
42199 OPC_SwitchType , 7, MVT::v16i8,
42200 OPC_CheckPatternPredicate1,
42201 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_B),
42202 MVT::v16i8, 2, 9,
42203 7, MVT::v8i16,
42204 OPC_CheckPatternPredicate1,
42205 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_H),
42206 MVT::v8i16, 2, 9,
42207 7, MVT::v4i32,
42208 OPC_CheckPatternPredicate1,
42209 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
42210 MVT::v4i32, 2, 9,
42211 7, MVT::v2i64,
42212 OPC_CheckPatternPredicate1,
42213 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
42214 MVT::v2i64, 2, 9,
42215 7, MVT::v32i8,
42216 OPC_CheckPatternPredicate0,
42217 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_B),
42218 MVT::v32i8, 2, 9,
42219 7, MVT::v16i16,
42220 OPC_CheckPatternPredicate0,
42221 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_H),
42222 MVT::v16i16, 2, 9,
42223 7, MVT::v8i32,
42224 OPC_CheckPatternPredicate0,
42225 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
42226 MVT::v8i32, 2, 9,
42227 7, MVT::v4i64,
42228 OPC_CheckPatternPredicate0,
42229 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
42230 MVT::v4i64, 2, 9,
42231 8, 11|128,1,
42232 OPC_CheckPatternPredicate1,
42233 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_W),
42234 11|128,1, 2, 9,
42235 8, 29|128,1,
42236 OPC_CheckPatternPredicate1,
42237 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VPACKOD_D),
42238 29|128,1, 2, 9,
42239 8, 15|128,1,
42240 OPC_CheckPatternPredicate0,
42241 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_W),
42242 15|128,1, 2, 9,
42243 8, 31|128,1,
42244 OPC_CheckPatternPredicate0,
42245 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPACKOD_D),
42246 31|128,1, 2, 9,
42247 0,
42248 120, TARGET_VAL(LoongArchISD::VILVL),
42249 OPC_RecordChild0,
42250 OPC_RecordChild1,
42251 OPC_SwitchType , 7, MVT::v16i8,
42252 OPC_CheckPatternPredicate1,
42253 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_B),
42254 MVT::v16i8, 2, 9,
42255 7, MVT::v8i16,
42256 OPC_CheckPatternPredicate1,
42257 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_H),
42258 MVT::v8i16, 2, 9,
42259 7, MVT::v4i32,
42260 OPC_CheckPatternPredicate1,
42261 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
42262 MVT::v4i32, 2, 9,
42263 7, MVT::v2i64,
42264 OPC_CheckPatternPredicate1,
42265 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
42266 MVT::v2i64, 2, 9,
42267 7, MVT::v32i8,
42268 OPC_CheckPatternPredicate0,
42269 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_B),
42270 MVT::v32i8, 2, 9,
42271 7, MVT::v16i16,
42272 OPC_CheckPatternPredicate0,
42273 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_H),
42274 MVT::v16i16, 2, 9,
42275 7, MVT::v8i32,
42276 OPC_CheckPatternPredicate0,
42277 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
42278 MVT::v8i32, 2, 9,
42279 7, MVT::v4i64,
42280 OPC_CheckPatternPredicate0,
42281 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
42282 MVT::v4i64, 2, 9,
42283 8, 11|128,1,
42284 OPC_CheckPatternPredicate1,
42285 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_W),
42286 11|128,1, 2, 9,
42287 8, 29|128,1,
42288 OPC_CheckPatternPredicate1,
42289 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVL_D),
42290 29|128,1, 2, 9,
42291 8, 15|128,1,
42292 OPC_CheckPatternPredicate0,
42293 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_W),
42294 15|128,1, 2, 9,
42295 8, 31|128,1,
42296 OPC_CheckPatternPredicate0,
42297 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVL_D),
42298 31|128,1, 2, 9,
42299 0,
42300 120, TARGET_VAL(LoongArchISD::VILVH),
42301 OPC_RecordChild0,
42302 OPC_RecordChild1,
42303 OPC_SwitchType , 7, MVT::v16i8,
42304 OPC_CheckPatternPredicate1,
42305 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_B),
42306 MVT::v16i8, 2, 9,
42307 7, MVT::v8i16,
42308 OPC_CheckPatternPredicate1,
42309 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_H),
42310 MVT::v8i16, 2, 9,
42311 7, MVT::v4i32,
42312 OPC_CheckPatternPredicate1,
42313 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
42314 MVT::v4i32, 2, 9,
42315 7, MVT::v2i64,
42316 OPC_CheckPatternPredicate1,
42317 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
42318 MVT::v2i64, 2, 9,
42319 7, MVT::v32i8,
42320 OPC_CheckPatternPredicate0,
42321 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_B),
42322 MVT::v32i8, 2, 9,
42323 7, MVT::v16i16,
42324 OPC_CheckPatternPredicate0,
42325 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_H),
42326 MVT::v16i16, 2, 9,
42327 7, MVT::v8i32,
42328 OPC_CheckPatternPredicate0,
42329 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
42330 MVT::v8i32, 2, 9,
42331 7, MVT::v4i64,
42332 OPC_CheckPatternPredicate0,
42333 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
42334 MVT::v4i64, 2, 9,
42335 8, 11|128,1,
42336 OPC_CheckPatternPredicate1,
42337 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_W),
42338 11|128,1, 2, 9,
42339 8, 29|128,1,
42340 OPC_CheckPatternPredicate1,
42341 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VILVH_D),
42342 29|128,1, 2, 9,
42343 8, 15|128,1,
42344 OPC_CheckPatternPredicate0,
42345 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_W),
42346 15|128,1, 2, 9,
42347 8, 31|128,1,
42348 OPC_CheckPatternPredicate0,
42349 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVILVH_D),
42350 31|128,1, 2, 9,
42351 0,
42352 119, TARGET_VAL(ISD::FP_TO_SINT),
42353 OPC_RecordChild0,
42354 OPC_SwitchType , 53, MVT::v4i32,
42355 OPC_Scope, 10,
42356 OPC_CheckChild0Type, 11|128,1,
42357 OPC_CheckPatternPredicate1,
42358 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_S),
42359 MVT::v4i32, 1, 1,
42360 39,
42361 OPC_CheckChild0Type, 31|128,1,
42362 OPC_CheckPatternPredicate0,
42363 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
42364 MVT::v32i8, 1, 1,
42365 OPC_EmitIntegerByHwMode0, 110|128,1,
42366 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
42367 MVT::v32i8, 2, 25,
42368 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
42369 MVT::v32i8, 1, 1,
42370 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
42371 MVT::v32i8, 2, 76,
42372 OPC_EmitIntegerI32, LoongArch::sub_128,
42373 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42374 MVT::v4i32, 2, 114,
42375 0,
42376 7, MVT::v2i64,
42377 OPC_CheckPatternPredicate1,
42378 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_L_D),
42379 MVT::v2i64, 1, 1,
42380 7, MVT::v8i32,
42381 OPC_CheckPatternPredicate0,
42382 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_S),
42383 MVT::v8i32, 1, 1,
42384 41, MVT::v4i64,
42385 OPC_Scope, 10,
42386 OPC_CheckChild0Type, 31|128,1,
42387 OPC_CheckPatternPredicate0,
42388 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_L_D),
42389 MVT::v4i64, 1, 1,
42390 27,
42391 OPC_CheckChild0Type, 11|128,1,
42392 OPC_CheckPatternPredicate0,
42393 OPC_EmitIntegerI32, LoongArch::sub_128,
42394 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42395 MVT::v32i8, 2, 9,
42396 OPC_EmitIntegerByHwMode0, 88|128,1,
42397 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
42398 MVT::v32i8, 2, 49,
42399 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZL_L_S),
42400 MVT::v4i64, 1, 66,
42401 0,
42402 0,
42403 125, TARGET_VAL(ISD::FP_TO_UINT),
42404 OPC_RecordChild0,
42405 OPC_SwitchType , 53, MVT::v4i32,
42406 OPC_Scope, 10,
42407 OPC_CheckChild0Type, 11|128,1,
42408 OPC_CheckPatternPredicate1,
42409 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_WU_S),
42410 MVT::v4i32, 1, 1,
42411 39,
42412 OPC_CheckChild0Type, 31|128,1,
42413 OPC_CheckPatternPredicate0,
42414 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
42415 MVT::v32i8, 1, 1,
42416 OPC_EmitIntegerByHwMode0, 110|128,1,
42417 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
42418 MVT::v32i8, 2, 25,
42419 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
42420 MVT::v32i8, 1, 1,
42421 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
42422 MVT::v32i8, 2, 76,
42423 OPC_EmitIntegerI32, LoongArch::sub_128,
42424 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42425 MVT::v4i32, 2, 114,
42426 0,
42427 7, MVT::v2i64,
42428 OPC_CheckPatternPredicate1,
42429 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_LU_D),
42430 MVT::v2i64, 1, 1,
42431 7, MVT::v8i32,
42432 OPC_CheckPatternPredicate0,
42433 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_WU_S),
42434 MVT::v8i32, 1, 1,
42435 47, MVT::v4i64,
42436 OPC_Scope, 10,
42437 OPC_CheckChild0Type, 31|128,1,
42438 OPC_CheckPatternPredicate0,
42439 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
42440 MVT::v4i64, 1, 1,
42441 33,
42442 OPC_CheckChild0Type, 11|128,1,
42443 OPC_CheckPatternPredicate0,
42444 OPC_EmitIntegerI32, LoongArch::sub_128,
42445 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42446 MVT::v32i8, 2, 9,
42447 OPC_EmitIntegerByHwMode0, 88|128,1,
42448 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
42449 MVT::v32i8, 2, 49,
42450 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVFCVTL_D_S),
42451 MVT::v32i8, 1, 66,
42452 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_LU_D),
42453 MVT::v4i64, 1, 91,
42454 0,
42455 0,
42456 29, TARGET_VAL(LoongArchISD::VFTINTRZ),
42457 OPC_RecordChild0,
42458 OPC_SwitchType , 11, MVT::v4i32,
42459 OPC_CheckChild0Type, 29|128,1,
42460 OPC_RecordChild1,
42461 OPC_CheckPatternPredicate1,
42462 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFTINTRZ_W_D),
42463 MVT::v4i32, 2, 9,
42464 11, MVT::v8i32,
42465 OPC_CheckChild0Type, 31|128,1,
42466 OPC_RecordChild1,
42467 OPC_CheckPatternPredicate0,
42468 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFTINTRZ_W_D),
42469 MVT::v8i32, 2, 9,
42470 0,
42471 76, TARGET_VAL(ISD::AVGFLOORS),
42472 OPC_RecordChild0,
42473 OPC_RecordChild1,
42474 OPC_SwitchType , 7, MVT::v16i8,
42475 OPC_CheckPatternPredicate1,
42476 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_B),
42477 MVT::v16i8, 2, 9,
42478 7, MVT::v8i16,
42479 OPC_CheckPatternPredicate1,
42480 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_H),
42481 MVT::v8i16, 2, 9,
42482 7, MVT::v4i32,
42483 OPC_CheckPatternPredicate1,
42484 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_W),
42485 MVT::v4i32, 2, 9,
42486 7, MVT::v2i64,
42487 OPC_CheckPatternPredicate1,
42488 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_D),
42489 MVT::v2i64, 2, 9,
42490 7, MVT::v32i8,
42491 OPC_CheckPatternPredicate0,
42492 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_B),
42493 MVT::v32i8, 2, 9,
42494 7, MVT::v16i16,
42495 OPC_CheckPatternPredicate0,
42496 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_H),
42497 MVT::v16i16, 2, 9,
42498 7, MVT::v8i32,
42499 OPC_CheckPatternPredicate0,
42500 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_W),
42501 MVT::v8i32, 2, 9,
42502 7, MVT::v4i64,
42503 OPC_CheckPatternPredicate0,
42504 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_D),
42505 MVT::v4i64, 2, 9,
42506 0,
42507 76, TARGET_VAL(ISD::AVGCEILS),
42508 OPC_RecordChild0,
42509 OPC_RecordChild1,
42510 OPC_SwitchType , 7, MVT::v16i8,
42511 OPC_CheckPatternPredicate1,
42512 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_B),
42513 MVT::v16i8, 2, 9,
42514 7, MVT::v8i16,
42515 OPC_CheckPatternPredicate1,
42516 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_H),
42517 MVT::v8i16, 2, 9,
42518 7, MVT::v4i32,
42519 OPC_CheckPatternPredicate1,
42520 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_W),
42521 MVT::v4i32, 2, 9,
42522 7, MVT::v2i64,
42523 OPC_CheckPatternPredicate1,
42524 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_D),
42525 MVT::v2i64, 2, 9,
42526 7, MVT::v32i8,
42527 OPC_CheckPatternPredicate0,
42528 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_B),
42529 MVT::v32i8, 2, 9,
42530 7, MVT::v16i16,
42531 OPC_CheckPatternPredicate0,
42532 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_H),
42533 MVT::v16i16, 2, 9,
42534 7, MVT::v8i32,
42535 OPC_CheckPatternPredicate0,
42536 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_W),
42537 MVT::v8i32, 2, 9,
42538 7, MVT::v4i64,
42539 OPC_CheckPatternPredicate0,
42540 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_D),
42541 MVT::v4i64, 2, 9,
42542 0,
42543 76, TARGET_VAL(ISD::AVGFLOORU),
42544 OPC_RecordChild0,
42545 OPC_RecordChild1,
42546 OPC_SwitchType , 7, MVT::v16i8,
42547 OPC_CheckPatternPredicate1,
42548 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_BU),
42549 MVT::v16i8, 2, 9,
42550 7, MVT::v8i16,
42551 OPC_CheckPatternPredicate1,
42552 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_HU),
42553 MVT::v8i16, 2, 9,
42554 7, MVT::v4i32,
42555 OPC_CheckPatternPredicate1,
42556 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_WU),
42557 MVT::v4i32, 2, 9,
42558 7, MVT::v2i64,
42559 OPC_CheckPatternPredicate1,
42560 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVG_DU),
42561 MVT::v2i64, 2, 9,
42562 7, MVT::v32i8,
42563 OPC_CheckPatternPredicate0,
42564 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_BU),
42565 MVT::v32i8, 2, 9,
42566 7, MVT::v16i16,
42567 OPC_CheckPatternPredicate0,
42568 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_HU),
42569 MVT::v16i16, 2, 9,
42570 7, MVT::v8i32,
42571 OPC_CheckPatternPredicate0,
42572 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_WU),
42573 MVT::v8i32, 2, 9,
42574 7, MVT::v4i64,
42575 OPC_CheckPatternPredicate0,
42576 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVG_DU),
42577 MVT::v4i64, 2, 9,
42578 0,
42579 76, TARGET_VAL(ISD::AVGCEILU),
42580 OPC_RecordChild0,
42581 OPC_RecordChild1,
42582 OPC_SwitchType , 7, MVT::v16i8,
42583 OPC_CheckPatternPredicate1,
42584 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_BU),
42585 MVT::v16i8, 2, 9,
42586 7, MVT::v8i16,
42587 OPC_CheckPatternPredicate1,
42588 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_HU),
42589 MVT::v8i16, 2, 9,
42590 7, MVT::v4i32,
42591 OPC_CheckPatternPredicate1,
42592 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_WU),
42593 MVT::v4i32, 2, 9,
42594 7, MVT::v2i64,
42595 OPC_CheckPatternPredicate1,
42596 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VAVGR_DU),
42597 MVT::v2i64, 2, 9,
42598 7, MVT::v32i8,
42599 OPC_CheckPatternPredicate0,
42600 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_BU),
42601 MVT::v32i8, 2, 9,
42602 7, MVT::v16i16,
42603 OPC_CheckPatternPredicate0,
42604 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_HU),
42605 MVT::v16i16, 2, 9,
42606 7, MVT::v8i32,
42607 OPC_CheckPatternPredicate0,
42608 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_WU),
42609 MVT::v8i32, 2, 9,
42610 7, MVT::v4i64,
42611 OPC_CheckPatternPredicate0,
42612 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVAVGR_DU),
42613 MVT::v4i64, 2, 9,
42614 0,
42615 75, TARGET_VAL(ISD::ABS),
42616 OPC_RecordChild0,
42617 OPC_SwitchType , 7, MVT::v16i8,
42618 OPC_CheckPatternPredicate1,
42619 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_B),
42620 MVT::v16i8, 2, 0,
42621 7, MVT::v8i16,
42622 OPC_CheckPatternPredicate1,
42623 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_H),
42624 MVT::v8i16, 2, 0,
42625 7, MVT::v4i32,
42626 OPC_CheckPatternPredicate1,
42627 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_W),
42628 MVT::v4i32, 2, 0,
42629 7, MVT::v2i64,
42630 OPC_CheckPatternPredicate1,
42631 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSIGNCOV_D),
42632 MVT::v2i64, 2, 0,
42633 7, MVT::v32i8,
42634 OPC_CheckPatternPredicate0,
42635 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_B),
42636 MVT::v32i8, 2, 0,
42637 7, MVT::v16i16,
42638 OPC_CheckPatternPredicate0,
42639 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_H),
42640 MVT::v16i16, 2, 0,
42641 7, MVT::v8i32,
42642 OPC_CheckPatternPredicate0,
42643 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_W),
42644 MVT::v8i32, 2, 0,
42645 7, MVT::v4i64,
42646 OPC_CheckPatternPredicate0,
42647 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSIGNCOV_D),
42648 MVT::v4i64, 2, 0,
42649 0,
42650 76, TARGET_VAL(ISD::ABDS),
42651 OPC_RecordChild0,
42652 OPC_RecordChild1,
42653 OPC_SwitchType , 7, MVT::v16i8,
42654 OPC_CheckPatternPredicate1,
42655 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_B),
42656 MVT::v16i8, 2, 9,
42657 7, MVT::v8i16,
42658 OPC_CheckPatternPredicate1,
42659 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_H),
42660 MVT::v8i16, 2, 9,
42661 7, MVT::v4i32,
42662 OPC_CheckPatternPredicate1,
42663 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_W),
42664 MVT::v4i32, 2, 9,
42665 7, MVT::v2i64,
42666 OPC_CheckPatternPredicate1,
42667 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_D),
42668 MVT::v2i64, 2, 9,
42669 7, MVT::v32i8,
42670 OPC_CheckPatternPredicate0,
42671 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_B),
42672 MVT::v32i8, 2, 9,
42673 7, MVT::v16i16,
42674 OPC_CheckPatternPredicate0,
42675 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_H),
42676 MVT::v16i16, 2, 9,
42677 7, MVT::v8i32,
42678 OPC_CheckPatternPredicate0,
42679 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_W),
42680 MVT::v8i32, 2, 9,
42681 7, MVT::v4i64,
42682 OPC_CheckPatternPredicate0,
42683 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_D),
42684 MVT::v4i64, 2, 9,
42685 0,
42686 76, TARGET_VAL(ISD::ABDU),
42687 OPC_RecordChild0,
42688 OPC_RecordChild1,
42689 OPC_SwitchType , 7, MVT::v16i8,
42690 OPC_CheckPatternPredicate1,
42691 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_BU),
42692 MVT::v16i8, 2, 9,
42693 7, MVT::v8i16,
42694 OPC_CheckPatternPredicate1,
42695 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_HU),
42696 MVT::v8i16, 2, 9,
42697 7, MVT::v4i32,
42698 OPC_CheckPatternPredicate1,
42699 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_WU),
42700 MVT::v4i32, 2, 9,
42701 7, MVT::v2i64,
42702 OPC_CheckPatternPredicate1,
42703 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VABSD_DU),
42704 MVT::v2i64, 2, 9,
42705 7, MVT::v32i8,
42706 OPC_CheckPatternPredicate0,
42707 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_BU),
42708 MVT::v32i8, 2, 9,
42709 7, MVT::v16i16,
42710 OPC_CheckPatternPredicate0,
42711 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_HU),
42712 MVT::v16i16, 2, 9,
42713 7, MVT::v8i32,
42714 OPC_CheckPatternPredicate0,
42715 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_WU),
42716 MVT::v8i32, 2, 9,
42717 7, MVT::v4i64,
42718 OPC_CheckPatternPredicate0,
42719 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVABSD_DU),
42720 MVT::v4i64, 2, 9,
42721 0,
42722 76, TARGET_VAL(ISD::SADDSAT),
42723 OPC_RecordChild0,
42724 OPC_RecordChild1,
42725 OPC_SwitchType , 7, MVT::v16i8,
42726 OPC_CheckPatternPredicate1,
42727 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_B),
42728 MVT::v16i8, 2, 9,
42729 7, MVT::v8i16,
42730 OPC_CheckPatternPredicate1,
42731 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_H),
42732 MVT::v8i16, 2, 9,
42733 7, MVT::v4i32,
42734 OPC_CheckPatternPredicate1,
42735 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_W),
42736 MVT::v4i32, 2, 9,
42737 7, MVT::v2i64,
42738 OPC_CheckPatternPredicate1,
42739 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_D),
42740 MVT::v2i64, 2, 9,
42741 7, MVT::v32i8,
42742 OPC_CheckPatternPredicate0,
42743 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_B),
42744 MVT::v32i8, 2, 9,
42745 7, MVT::v16i16,
42746 OPC_CheckPatternPredicate0,
42747 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_H),
42748 MVT::v16i16, 2, 9,
42749 7, MVT::v8i32,
42750 OPC_CheckPatternPredicate0,
42751 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_W),
42752 MVT::v8i32, 2, 9,
42753 7, MVT::v4i64,
42754 OPC_CheckPatternPredicate0,
42755 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_D),
42756 MVT::v4i64, 2, 9,
42757 0,
42758 76, TARGET_VAL(ISD::SSUBSAT),
42759 OPC_RecordChild0,
42760 OPC_RecordChild1,
42761 OPC_SwitchType , 7, MVT::v16i8,
42762 OPC_CheckPatternPredicate1,
42763 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_B),
42764 MVT::v16i8, 2, 9,
42765 7, MVT::v8i16,
42766 OPC_CheckPatternPredicate1,
42767 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_H),
42768 MVT::v8i16, 2, 9,
42769 7, MVT::v4i32,
42770 OPC_CheckPatternPredicate1,
42771 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_W),
42772 MVT::v4i32, 2, 9,
42773 7, MVT::v2i64,
42774 OPC_CheckPatternPredicate1,
42775 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_D),
42776 MVT::v2i64, 2, 9,
42777 7, MVT::v32i8,
42778 OPC_CheckPatternPredicate0,
42779 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_B),
42780 MVT::v32i8, 2, 9,
42781 7, MVT::v16i16,
42782 OPC_CheckPatternPredicate0,
42783 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_H),
42784 MVT::v16i16, 2, 9,
42785 7, MVT::v8i32,
42786 OPC_CheckPatternPredicate0,
42787 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_W),
42788 MVT::v8i32, 2, 9,
42789 7, MVT::v4i64,
42790 OPC_CheckPatternPredicate0,
42791 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_D),
42792 MVT::v4i64, 2, 9,
42793 0,
42794 76, TARGET_VAL(ISD::UADDSAT),
42795 OPC_RecordChild0,
42796 OPC_RecordChild1,
42797 OPC_SwitchType , 7, MVT::v16i8,
42798 OPC_CheckPatternPredicate1,
42799 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_BU),
42800 MVT::v16i8, 2, 9,
42801 7, MVT::v8i16,
42802 OPC_CheckPatternPredicate1,
42803 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_HU),
42804 MVT::v8i16, 2, 9,
42805 7, MVT::v4i32,
42806 OPC_CheckPatternPredicate1,
42807 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_WU),
42808 MVT::v4i32, 2, 9,
42809 7, MVT::v2i64,
42810 OPC_CheckPatternPredicate1,
42811 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSADD_DU),
42812 MVT::v2i64, 2, 9,
42813 7, MVT::v32i8,
42814 OPC_CheckPatternPredicate0,
42815 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_BU),
42816 MVT::v32i8, 2, 9,
42817 7, MVT::v16i16,
42818 OPC_CheckPatternPredicate0,
42819 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_HU),
42820 MVT::v16i16, 2, 9,
42821 7, MVT::v8i32,
42822 OPC_CheckPatternPredicate0,
42823 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_WU),
42824 MVT::v8i32, 2, 9,
42825 7, MVT::v4i64,
42826 OPC_CheckPatternPredicate0,
42827 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSADD_DU),
42828 MVT::v4i64, 2, 9,
42829 0,
42830 76, TARGET_VAL(ISD::USUBSAT),
42831 OPC_RecordChild0,
42832 OPC_RecordChild1,
42833 OPC_SwitchType , 7, MVT::v16i8,
42834 OPC_CheckPatternPredicate1,
42835 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_BU),
42836 MVT::v16i8, 2, 9,
42837 7, MVT::v8i16,
42838 OPC_CheckPatternPredicate1,
42839 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_HU),
42840 MVT::v8i16, 2, 9,
42841 7, MVT::v4i32,
42842 OPC_CheckPatternPredicate1,
42843 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_WU),
42844 MVT::v4i32, 2, 9,
42845 7, MVT::v2i64,
42846 OPC_CheckPatternPredicate1,
42847 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VSSUB_DU),
42848 MVT::v2i64, 2, 9,
42849 7, MVT::v32i8,
42850 OPC_CheckPatternPredicate0,
42851 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_BU),
42852 MVT::v32i8, 2, 9,
42853 7, MVT::v16i16,
42854 OPC_CheckPatternPredicate0,
42855 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_HU),
42856 MVT::v16i16, 2, 9,
42857 7, MVT::v8i32,
42858 OPC_CheckPatternPredicate0,
42859 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_WU),
42860 MVT::v8i32, 2, 9,
42861 7, MVT::v4i64,
42862 OPC_CheckPatternPredicate0,
42863 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVSSUB_DU),
42864 MVT::v4i64, 2, 9,
42865 0,
42866 26, TARGET_VAL(LoongArchISD::XVPERM),
42867 OPC_RecordChild0,
42868 OPC_RecordChild1,
42869 OPC_CheckChild1Type, MVT::v8i32,
42870 OPC_SwitchType , 7, MVT::v8i32,
42871 OPC_CheckPatternPredicate0,
42872 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
42873 MVT::v8i32, 2, 9,
42874 8, 15|128,1,
42875 OPC_CheckPatternPredicate0,
42876 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVPERM_W),
42877 15|128,1, 2, 9,
42878 0,
42879 61, TARGET_VAL(LoongArchISD::XVREPLVE0),
42880 OPC_RecordChild0,
42881 OPC_SwitchType , 7, MVT::v32i8,
42882 OPC_CheckPatternPredicate0,
42883 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_B),
42884 MVT::v32i8, 1, 1,
42885 7, MVT::v16i16,
42886 OPC_CheckPatternPredicate0,
42887 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_H),
42888 MVT::v16i16, 1, 1,
42889 7, MVT::v8i32,
42890 OPC_CheckPatternPredicate0,
42891 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
42892 MVT::v8i32, 1, 1,
42893 7, MVT::v4i64,
42894 OPC_CheckPatternPredicate0,
42895 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
42896 MVT::v4i64, 1, 1,
42897 8, 15|128,1,
42898 OPC_CheckPatternPredicate0,
42899 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_W),
42900 15|128,1, 1, 1,
42901 8, 31|128,1,
42902 OPC_CheckPatternPredicate0,
42903 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_D),
42904 31|128,1, 1, 1,
42905 0,
42906 61, TARGET_VAL(LoongArchISD::XVREPLVE0Q),
42907 OPC_RecordChild0,
42908 OPC_SwitchType , 7, MVT::v32i8,
42909 OPC_CheckPatternPredicate0,
42910 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
42911 MVT::v32i8, 1, 1,
42912 7, MVT::v16i16,
42913 OPC_CheckPatternPredicate0,
42914 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
42915 MVT::v16i16, 1, 1,
42916 7, MVT::v8i32,
42917 OPC_CheckPatternPredicate0,
42918 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
42919 MVT::v8i32, 1, 1,
42920 7, MVT::v4i64,
42921 OPC_CheckPatternPredicate0,
42922 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
42923 MVT::v4i64, 1, 1,
42924 8, 15|128,1,
42925 OPC_CheckPatternPredicate0,
42926 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
42927 15|128,1, 1, 1,
42928 8, 31|128,1,
42929 OPC_CheckPatternPredicate0,
42930 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVREPLVE0_Q),
42931 31|128,1, 1, 1,
42932 0,
42933 28|128,2, TARGET_VAL(ISD::SIGN_EXTEND_VECTOR_INREG),
42934 OPC_RecordChild0,
42935 OPC_Scope, 31,
42936 OPC_CheckChild0Type, MVT::v32i8,
42937 OPC_SwitchType , 7, MVT::v4i64,
42938 OPC_CheckPatternPredicate0,
42939 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_B),
42940 MVT::v4i64, 1, 1,
42941 7, MVT::v8i32,
42942 OPC_CheckPatternPredicate0,
42943 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
42944 MVT::v8i32, 1, 1,
42945 7, MVT::v16i16,
42946 OPC_CheckPatternPredicate0,
42947 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
42948 MVT::v16i16, 1, 1,
42949 0,
42950 22,
42951 OPC_CheckChild0Type, MVT::v16i16,
42952 OPC_SwitchType , 7, MVT::v4i64,
42953 OPC_CheckPatternPredicate0,
42954 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_H),
42955 MVT::v4i64, 1, 1,
42956 7, MVT::v8i32,
42957 OPC_CheckPatternPredicate0,
42958 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
42959 MVT::v8i32, 1, 1,
42960 0,
42961 11,
42962 OPC_CheckChild0Type, MVT::v8i32,
42963 OPC_CheckType, MVT::v4i64,
42964 OPC_CheckPatternPredicate0,
42965 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
42966 MVT::v4i64, 1, 1,
42967 113,
42968 OPC_CheckChild0Type, MVT::v16i8,
42969 OPC_SwitchType , 15, MVT::v4i64,
42970 OPC_CheckPatternPredicate0,
42971 OPC_EmitIntegerI32, LoongArch::sub_128,
42972 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42973 MVT::v32i8, 2, 9,
42974 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_B),
42975 MVT::v4i64, 1, 23,
42976 15, MVT::v8i32,
42977 OPC_CheckPatternPredicate0,
42978 OPC_EmitIntegerI32, LoongArch::sub_128,
42979 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42980 MVT::v32i8, 2, 9,
42981 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
42982 MVT::v8i32, 1, 23,
42983 23, MVT::v2i64,
42984 OPC_CheckPatternPredicate0,
42985 OPC_EmitIntegerI32, LoongArch::sub_128,
42986 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42987 MVT::v32i8, 2, 9,
42988 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_D_B),
42989 MVT::v32i8, 1, 23,
42990 OPC_EmitIntegerI32, LoongArch::sub_128,
42991 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
42992 MVT::v2i64, 2, 76,
42993 23, MVT::v4i32,
42994 OPC_CheckPatternPredicate0,
42995 OPC_EmitIntegerI32, LoongArch::sub_128,
42996 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
42997 MVT::v32i8, 2, 9,
42998 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_W_B),
42999 MVT::v32i8, 1, 23,
43000 OPC_EmitIntegerI32, LoongArch::sub_128,
43001 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43002 MVT::v4i32, 2, 76,
43003 23, MVT::v8i16,
43004 OPC_CheckPatternPredicate0,
43005 OPC_EmitIntegerI32, LoongArch::sub_128,
43006 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43007 MVT::v32i8, 2, 9,
43008 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
43009 MVT::v32i8, 1, 23,
43010 OPC_EmitIntegerI32, LoongArch::sub_128,
43011 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43012 MVT::v8i16, 2, 76,
43013 0,
43014 71,
43015 OPC_CheckChild0Type, MVT::v8i16,
43016 OPC_SwitchType , 15, MVT::v4i64,
43017 OPC_CheckPatternPredicate0,
43018 OPC_EmitIntegerI32, LoongArch::sub_128,
43019 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43020 MVT::v32i8, 2, 9,
43021 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_H),
43022 MVT::v4i64, 1, 23,
43023 23, MVT::v2i64,
43024 OPC_CheckPatternPredicate0,
43025 OPC_EmitIntegerI32, LoongArch::sub_128,
43026 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43027 MVT::v32i8, 2, 9,
43028 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_D_H),
43029 MVT::v32i8, 1, 23,
43030 OPC_EmitIntegerI32, LoongArch::sub_128,
43031 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43032 MVT::v2i64, 2, 76,
43033 23, MVT::v4i32,
43034 OPC_CheckPatternPredicate0,
43035 OPC_EmitIntegerI32, LoongArch::sub_128,
43036 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43037 MVT::v32i8, 2, 9,
43038 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
43039 MVT::v32i8, 1, 23,
43040 OPC_EmitIntegerI32, LoongArch::sub_128,
43041 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43042 MVT::v4i32, 2, 76,
43043 0,
43044 27,
43045 OPC_CheckChild0Type, MVT::v4i32,
43046 OPC_CheckType, MVT::v2i64,
43047 OPC_CheckPatternPredicate0,
43048 OPC_EmitIntegerI32, LoongArch::sub_128,
43049 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43050 MVT::v32i8, 2, 9,
43051 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
43052 MVT::v32i8, 1, 23,
43053 OPC_EmitIntegerI32, LoongArch::sub_128,
43054 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43055 MVT::v2i64, 2, 76,
43056 0,
43057 28|128,2, TARGET_VAL(ISD::ZERO_EXTEND_VECTOR_INREG),
43058 OPC_RecordChild0,
43059 OPC_Scope, 31,
43060 OPC_CheckChild0Type, MVT::v32i8,
43061 OPC_SwitchType , 7, MVT::v4i64,
43062 OPC_CheckPatternPredicate0,
43063 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_BU),
43064 MVT::v4i64, 1, 1,
43065 7, MVT::v8i32,
43066 OPC_CheckPatternPredicate0,
43067 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
43068 MVT::v8i32, 1, 1,
43069 7, MVT::v16i16,
43070 OPC_CheckPatternPredicate0,
43071 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
43072 MVT::v16i16, 1, 1,
43073 0,
43074 22,
43075 OPC_CheckChild0Type, MVT::v16i16,
43076 OPC_SwitchType , 7, MVT::v4i64,
43077 OPC_CheckPatternPredicate0,
43078 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_HU),
43079 MVT::v4i64, 1, 1,
43080 7, MVT::v8i32,
43081 OPC_CheckPatternPredicate0,
43082 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
43083 MVT::v8i32, 1, 1,
43084 0,
43085 11,
43086 OPC_CheckChild0Type, MVT::v8i32,
43087 OPC_CheckType, MVT::v4i64,
43088 OPC_CheckPatternPredicate0,
43089 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
43090 MVT::v4i64, 1, 1,
43091 113,
43092 OPC_CheckChild0Type, MVT::v16i8,
43093 OPC_SwitchType , 15, MVT::v4i64,
43094 OPC_CheckPatternPredicate0,
43095 OPC_EmitIntegerI32, LoongArch::sub_128,
43096 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43097 MVT::v32i8, 2, 9,
43098 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_BU),
43099 MVT::v4i64, 1, 23,
43100 15, MVT::v8i32,
43101 OPC_CheckPatternPredicate0,
43102 OPC_EmitIntegerI32, LoongArch::sub_128,
43103 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43104 MVT::v32i8, 2, 9,
43105 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
43106 MVT::v8i32, 1, 23,
43107 23, MVT::v2i64,
43108 OPC_CheckPatternPredicate0,
43109 OPC_EmitIntegerI32, LoongArch::sub_128,
43110 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43111 MVT::v32i8, 2, 9,
43112 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_DU_BU),
43113 MVT::v32i8, 1, 23,
43114 OPC_EmitIntegerI32, LoongArch::sub_128,
43115 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43116 MVT::v2i64, 2, 76,
43117 23, MVT::v4i32,
43118 OPC_CheckPatternPredicate0,
43119 OPC_EmitIntegerI32, LoongArch::sub_128,
43120 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43121 MVT::v32i8, 2, 9,
43122 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_WU_BU),
43123 MVT::v32i8, 1, 23,
43124 OPC_EmitIntegerI32, LoongArch::sub_128,
43125 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43126 MVT::v4i32, 2, 76,
43127 23, MVT::v8i16,
43128 OPC_CheckPatternPredicate0,
43129 OPC_EmitIntegerI32, LoongArch::sub_128,
43130 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43131 MVT::v32i8, 2, 9,
43132 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
43133 MVT::v32i8, 1, 23,
43134 OPC_EmitIntegerI32, LoongArch::sub_128,
43135 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43136 MVT::v8i16, 2, 76,
43137 0,
43138 71,
43139 OPC_CheckChild0Type, MVT::v8i16,
43140 OPC_SwitchType , 15, MVT::v4i64,
43141 OPC_CheckPatternPredicate0,
43142 OPC_EmitIntegerI32, LoongArch::sub_128,
43143 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43144 MVT::v32i8, 2, 9,
43145 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_HU),
43146 MVT::v4i64, 1, 23,
43147 23, MVT::v2i64,
43148 OPC_CheckPatternPredicate0,
43149 OPC_EmitIntegerI32, LoongArch::sub_128,
43150 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43151 MVT::v32i8, 2, 9,
43152 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_DU_HU),
43153 MVT::v32i8, 1, 23,
43154 OPC_EmitIntegerI32, LoongArch::sub_128,
43155 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43156 MVT::v2i64, 2, 76,
43157 23, MVT::v4i32,
43158 OPC_CheckPatternPredicate0,
43159 OPC_EmitIntegerI32, LoongArch::sub_128,
43160 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43161 MVT::v32i8, 2, 9,
43162 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
43163 MVT::v32i8, 1, 23,
43164 OPC_EmitIntegerI32, LoongArch::sub_128,
43165 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43166 MVT::v4i32, 2, 76,
43167 0,
43168 27,
43169 OPC_CheckChild0Type, MVT::v4i32,
43170 OPC_CheckType, MVT::v2i64,
43171 OPC_CheckPatternPredicate0,
43172 OPC_EmitIntegerI32, LoongArch::sub_128,
43173 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43174 MVT::v32i8, 2, 9,
43175 OPC_EmitNode1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
43176 MVT::v32i8, 1, 23,
43177 OPC_EmitIntegerI32, LoongArch::sub_128,
43178 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43179 MVT::v2i64, 2, 76,
43180 0,
43181 54, TARGET_VAL(ISD::SIGN_EXTEND),
43182 OPC_RecordChild0,
43183 OPC_SwitchType , 15, MVT::v4i64,
43184 OPC_CheckPatternPredicate0,
43185 OPC_EmitIntegerI32, LoongArch::sub_128,
43186 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43187 MVT::v32i8, 2, 9,
43188 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_D_W),
43189 MVT::v4i64, 1, 23,
43190 15, MVT::v8i32,
43191 OPC_CheckPatternPredicate0,
43192 OPC_EmitIntegerI32, LoongArch::sub_128,
43193 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43194 MVT::v32i8, 2, 9,
43195 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_W_H),
43196 MVT::v8i32, 1, 23,
43197 15, MVT::v16i16,
43198 OPC_CheckPatternPredicate0,
43199 OPC_EmitIntegerI32, LoongArch::sub_128,
43200 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43201 MVT::v32i8, 2, 9,
43202 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_H_B),
43203 MVT::v16i16, 1, 23,
43204 0,
43205 54, TARGET_VAL(ISD::ZERO_EXTEND),
43206 OPC_RecordChild0,
43207 OPC_SwitchType , 15, MVT::v4i64,
43208 OPC_CheckPatternPredicate0,
43209 OPC_EmitIntegerI32, LoongArch::sub_128,
43210 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43211 MVT::v32i8, 2, 9,
43212 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_DU_WU),
43213 MVT::v4i64, 1, 23,
43214 15, MVT::v8i32,
43215 OPC_CheckPatternPredicate0,
43216 OPC_EmitIntegerI32, LoongArch::sub_128,
43217 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43218 MVT::v32i8, 2, 9,
43219 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_WU_HU),
43220 MVT::v8i32, 1, 23,
43221 15, MVT::v16i16,
43222 OPC_CheckPatternPredicate0,
43223 OPC_EmitIntegerI32, LoongArch::sub_128,
43224 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43225 MVT::v32i8, 2, 9,
43226 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VEXT2XV_HU_BU),
43227 MVT::v16i16, 1, 23,
43228 0,
43229 81, TARGET_VAL(ISD::TRUNCATE),
43230 OPC_RecordChild0,
43231 OPC_SwitchType , 24, MVT::v4i32,
43232 OPC_CheckPatternPredicate0,
43233 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_W),
43234 MVT::v32i8, 2, 0,
43235 OPC_EmitIntegerByHwMode0, 88|128,1,
43236 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
43237 MVT::v32i8, 2, 25,
43238 OPC_EmitIntegerI32, LoongArch::sub_128,
43239 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43240 MVT::v4i32, 2, 76,
43241 24, MVT::v8i16,
43242 OPC_CheckPatternPredicate0,
43243 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_H),
43244 MVT::v32i8, 2, 0,
43245 OPC_EmitIntegerByHwMode0, 88|128,1,
43246 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
43247 MVT::v32i8, 2, 25,
43248 OPC_EmitIntegerI32, LoongArch::sub_128,
43249 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43250 MVT::v8i16, 2, 76,
43251 24, MVT::v16i8,
43252 OPC_CheckPatternPredicate0,
43253 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPICKEV_B),
43254 MVT::v32i8, 2, 0,
43255 OPC_EmitIntegerByHwMode0, 88|128,1,
43256 OPC_EmitNode1None, TARGET_VAL(LoongArch::XVPERMI_D),
43257 MVT::v32i8, 2, 25,
43258 OPC_EmitIntegerI32, LoongArch::sub_128,
43259 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
43260 MVT::v16i8, 2, 76,
43261 0,
43262 65, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
43263 OPC_RecordChild0,
43264 OPC_Scope, 30,
43265 OPC_CheckChild0Type, MVT::f32,
43266 OPC_SwitchType , 10, 11|128,1,
43267 OPC_CheckPatternPredicate1,
43268 OPC_EmitIntegerI32, LoongArch::sub_32,
43269 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43270 11|128,1, 2, 9,
43271 10, 15|128,1,
43272 OPC_CheckPatternPredicate0,
43273 OPC_EmitIntegerI32, LoongArch::sub_32,
43274 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43275 15|128,1, 2, 9,
43276 0,
43277 30,
43278 OPC_CheckChild0Type, MVT::f64,
43279 OPC_SwitchType , 10, 29|128,1,
43280 OPC_CheckPatternPredicate1,
43281 OPC_EmitIntegerI32, LoongArch::sub_64,
43282 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43283 29|128,1, 2, 9,
43284 10, 31|128,1,
43285 OPC_CheckPatternPredicate0,
43286 OPC_EmitIntegerI32, LoongArch::sub_64,
43287 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
43288 31|128,1, 2, 9,
43289 0,
43290 0,
43291 31, TARGET_VAL(LoongArchISD::VFFINT),
43292 OPC_RecordChild0,
43293 OPC_SwitchType , 11, 11|128,1,
43294 OPC_CheckChild0Type, MVT::v2i64,
43295 OPC_RecordChild1,
43296 OPC_CheckPatternPredicate1,
43297 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFFINT_S_L),
43298 11|128,1, 2, 9,
43299 11, 15|128,1,
43300 OPC_CheckChild0Type, MVT::v4i64,
43301 OPC_RecordChild1,
43302 OPC_CheckPatternPredicate0,
43303 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFFINT_S_L),
43304 15|128,1, 2, 9,
43305 0,
43306 33, TARGET_VAL(LoongArchISD::VFCVT),
43307 OPC_RecordChild0,
43308 OPC_SwitchType , 12, 11|128,1,
43309 OPC_CheckChild0Type, 29|128,1,
43310 OPC_RecordChild1,
43311 OPC_CheckPatternPredicate1,
43312 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVT_S_D),
43313 11|128,1, 2, 9,
43314 12, 15|128,1,
43315 OPC_CheckChild0Type, 31|128,1,
43316 OPC_RecordChild1,
43317 OPC_CheckPatternPredicate0,
43318 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVT_S_D),
43319 15|128,1, 2, 9,
43320 0,
43321 31, TARGET_VAL(LoongArchISD::VFCVTL),
43322 OPC_RecordChild0,
43323 OPC_SwitchType , 11, 29|128,1,
43324 OPC_CheckChild0Type, 11|128,1,
43325 OPC_CheckPatternPredicate1,
43326 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTL_D_S),
43327 29|128,1, 1, 1,
43328 11, 31|128,1,
43329 OPC_CheckChild0Type, 15|128,1,
43330 OPC_CheckPatternPredicate0,
43331 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTL_D_S),
43332 31|128,1, 1, 1,
43333 0,
43334 31, TARGET_VAL(LoongArchISD::VFCVTH),
43335 OPC_RecordChild0,
43336 OPC_SwitchType , 11, 29|128,1,
43337 OPC_CheckChild0Type, 11|128,1,
43338 OPC_CheckPatternPredicate1,
43339 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::VFCVTH_D_S),
43340 29|128,1, 1, 1,
43341 11, 31|128,1,
43342 OPC_CheckChild0Type, 15|128,1,
43343 OPC_CheckPatternPredicate0,
43344 OPC_MorphNodeTo1None, TARGET_VAL(LoongArch::XVFCVTH_D_S),
43345 31|128,1, 1, 1,
43346 0,
43347 0,
43348 }; // Total Array size is 85032 bytes
43349
43350 static const uint8_t OperandLists[] = {
43351 /* 0 */ 0, 0,
43352 /* 2 */ 2, 1, 0,
43353 /* 5 */ 1, 2, 0,
43354 /* 8 */ 0, 0, 1,
43355 /* 11 */ 2, 0, 1,
43356 /* 14 */ 2, 1,
43357 /* 16 */ 2, 3, 1,
43358 /* 19 */ 4, 1,
43359 /* 21 */ 1, 0, 2,
43360 /* 24 */ 0, 1, 2,
43361 /* 27 */ 1, 3, 2,
43362 /* 30 */ 1, 4, 2,
43363 /* 33 */ 0, 0, 3,
43364 /* 36 */ 1, 0, 3,
43365 /* 39 */ 2, 0, 3,
43366 /* 42 */ 0, 1, 3,
43367 /* 45 */ 2, 1, 3,
43368 /* 48 */ 0, 2, 3,
43369 /* 51 */ 1, 2, 3,
43370 /* 54 */ 4, 2, 3,
43371 /* 57 */ 1, 4, 5, 2, 3,
43372 /* 62 */ 1, 4, 3,
43373 /* 65 */ 0, 4,
43374 /* 67 */ 1, 4,
43375 /* 69 */ 1, 2, 4,
43376 /* 72 */ 3, 2, 4,
43377 /* 75 */ 0, 3, 4,
43378 /* 78 */ 1, 3, 4,
43379 /* 81 */ 1, 2, 3, 4,
43380 /* 85 */ 1, 2, 5, 3, 4,
43381 /* 90 */ 2, 5,
43382 /* 92 */ 0, 4, 5,
43383 /* 95 */ 0, 1, 4, 5,
43384 /* 99 */ 2, 4, 5,
43385 /* 102 */ 1, 2, 3, 4, 5,
43386 /* 107 */ 2, 6,
43387 /* 109 */ 0, 2, 4, 6,
43388 /* 113 */ 0, 5, 6,
43389 /* 116 */ 1, 2, 5, 6,
43390 /* 120 */ 1, 4, 5, 6,
43391 /* 124 */ 1, 5, 6, 7,
43392 };
43393
43394 #undef COVERAGE_IDX_VAL
43395 #undef TARGET_VAL
43396 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable),
43397 OperandLists);
43398}
43399#endif // GET_DAGISEL_BODY
43400
43401#ifdef GET_DAGISEL_DECL
43402bool CheckPatternPredicate(unsigned PredNo) const override;
43403#endif
43404#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
43405bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
43406#if DAGISEL_INLINE
43407 override
43408#endif
43409{
43410 switch (PredNo) {
43411 default: llvm_unreachable("Invalid predicate in table?");
43412 case 0: return (Subtarget->hasExtLASX());
43413 case 1: return (Subtarget->hasExtLSX());
43414 case 2: return (Subtarget->is64Bit());
43415 case 3: return (Subtarget->hasBasicF());
43416 case 4: return (Subtarget->hasBasicD());
43417 case 5: return (!Subtarget->is64Bit());
43418 case 6: return (Subtarget->has32S()) && (!Subtarget->is64Bit());
43419 case 7: return (Subtarget->hasFrecipe());
43420 case 8: return (Subtarget->hasLAM_BH()) && (Subtarget->is64Bit());
43421 case 9: return (Subtarget->hasBasicD()) && (Subtarget->is64Bit());
43422 case 10: return (Subtarget->hasLAMCAS()) && (Subtarget->is64Bit());
43423 case 11: return (Subtarget->has32S());
43424 case 12: return (Subtarget->hasBasicF()) && (Subtarget->is64Bit());
43425 case 13: return (Subtarget->hasBasicD()) && (!Subtarget->is64Bit());
43426 case 14: return (Subtarget->hasBasicF()) && (!Subtarget->is64Bit());
43427 }
43428}
43429#endif // GET_DAGISEL_BODY
43430
43431#ifdef GET_DAGISEL_DECL
43432bool CheckNodePredicate(SDValue Op, unsigned PredNo) const override;
43433#endif
43434#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
43435bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDValue Op, unsigned PredNo) const
43436#if DAGISEL_INLINE
43437 override
43438#endif
43439{
43440 switch (PredNo) {
43441 default: llvm_unreachable("Invalid predicate in table?");
43442 case 0: {
43443 // Predicate_unindexedstore
43444 SDNode *N = Op.getNode();
43445 (void)N;
43446if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
43447return true;
43448
43449 }
43450 case 1: {
43451 // Predicate_store
43452 SDNode *N = Op.getNode();
43453 (void)N;
43454 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
43455return true;
43456
43457 }
43458 case 2: {
43459 // Predicate_AddLike
43460 SDNode *N = Op.getNode();
43461 (void)N;
43462
43463 return CurDAG->isBaseWithConstantOffset(Op: SDValue(N, 0));
43464
43465 }
43466 case 3: {
43467 // Predicate_atomic_cmp_swap_i32
43468 // Predicate_atomic_load_add_i32
43469 // Predicate_atomic_load_aext_32
43470 // Predicate_atomic_load_and_i32
43471 // Predicate_atomic_load_max_i32
43472 // Predicate_atomic_load_min_i32
43473 // Predicate_atomic_load_nand_i32
43474 // Predicate_atomic_load_nonext_32
43475 // Predicate_atomic_load_or_i32
43476 // Predicate_atomic_load_sext_32
43477 // Predicate_atomic_load_sub_i32
43478 // Predicate_atomic_load_umax_i32
43479 // Predicate_atomic_load_umin_i32
43480 // Predicate_atomic_load_xor_i32
43481 // Predicate_atomic_store_32
43482 // Predicate_atomic_swap_i32
43483 // Predicate_extloadi32
43484 // Predicate_sextloadi32
43485 // Predicate_truncstorei32
43486 // Predicate_zextloadi32
43487 SDNode *N = Op.getNode();
43488 (void)N;
43489if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i32) return false;
43490return true;
43491
43492 }
43493 case 4: {
43494 // Predicate_simm12
43495 // Predicate_simm12_addlike
43496 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43497return isInt<12>(x: Imm);
43498 }
43499 case 5: {
43500 // Predicate_atomic_cmp_swap_i8
43501 // Predicate_atomic_load_add_i8
43502 // Predicate_atomic_load_aext_8
43503 // Predicate_atomic_load_sext_8
43504 // Predicate_atomic_load_sub_i8
43505 // Predicate_atomic_store_8
43506 // Predicate_atomic_swap_i8
43507 // Predicate_extloadi8
43508 // Predicate_sextloadi8
43509 // Predicate_truncstorei8
43510 // Predicate_zextloadi8
43511 SDNode *N = Op.getNode();
43512 (void)N;
43513if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
43514return true;
43515
43516 }
43517 case 6: {
43518 // Predicate_atomic_cmp_swap_i16
43519 // Predicate_atomic_load_add_i16
43520 // Predicate_atomic_load_aext_16
43521 // Predicate_atomic_load_sext_16
43522 // Predicate_atomic_load_sub_i16
43523 // Predicate_atomic_store_16
43524 // Predicate_atomic_swap_i16
43525 // Predicate_extloadi16
43526 // Predicate_sextloadi16
43527 // Predicate_truncstorei16
43528 // Predicate_zextloadi16
43529 SDNode *N = Op.getNode();
43530 (void)N;
43531if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i16) return false;
43532return true;
43533
43534 }
43535 case 7: {
43536 // Predicate_load
43537 SDNode *N = Op.getNode();
43538 (void)N;
43539if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
43540return true;
43541
43542 }
43543 case 8: {
43544 // Predicate_mul_const_oneuse
43545 SDNode *N = Op.getNode();
43546 (void)N;
43547
43548 if (auto *N1C = dyn_cast<ConstantSDNode>(Val: N->getOperand(Num: 1)))
43549 return N1C->hasOneUse();
43550 return false;
43551
43552 }
43553 case 9: {
43554 // Predicate_unindexedload
43555 SDNode *N = Op.getNode();
43556 (void)N;
43557if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
43558return true;
43559
43560 }
43561 case 10: {
43562 // Predicate_atomic_cmp_swap_i16_monotonic
43563 // Predicate_atomic_cmp_swap_i32_monotonic
43564 // Predicate_atomic_cmp_swap_i64_monotonic
43565 // Predicate_atomic_cmp_swap_i8_monotonic
43566 // Predicate_atomic_load_add_i16_monotonic
43567 // Predicate_atomic_load_add_i32_monotonic
43568 // Predicate_atomic_load_add_i64_monotonic
43569 // Predicate_atomic_load_add_i8_monotonic
43570 // Predicate_atomic_load_and_i32_monotonic
43571 // Predicate_atomic_load_and_i64_monotonic
43572 // Predicate_atomic_load_max_i32_monotonic
43573 // Predicate_atomic_load_max_i64_monotonic
43574 // Predicate_atomic_load_min_i32_monotonic
43575 // Predicate_atomic_load_min_i64_monotonic
43576 // Predicate_atomic_load_nand_i32_monotonic
43577 // Predicate_atomic_load_nand_i64_monotonic
43578 // Predicate_atomic_load_or_i32_monotonic
43579 // Predicate_atomic_load_or_i64_monotonic
43580 // Predicate_atomic_load_sub_i16_monotonic
43581 // Predicate_atomic_load_sub_i32_monotonic
43582 // Predicate_atomic_load_sub_i64_monotonic
43583 // Predicate_atomic_load_sub_i8_monotonic
43584 // Predicate_atomic_load_umax_i32_monotonic
43585 // Predicate_atomic_load_umax_i64_monotonic
43586 // Predicate_atomic_load_umin_i32_monotonic
43587 // Predicate_atomic_load_umin_i64_monotonic
43588 // Predicate_atomic_load_xor_i32_monotonic
43589 // Predicate_atomic_load_xor_i64_monotonic
43590 // Predicate_atomic_swap_i16_monotonic
43591 // Predicate_atomic_swap_i32_monotonic
43592 // Predicate_atomic_swap_i64_monotonic
43593 // Predicate_atomic_swap_i8_monotonic
43594 SDNode *N = Op.getNode();
43595 (void)N;
43596if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Monotonic) return false;
43597return true;
43598
43599 }
43600 case 11: {
43601 // Predicate_immZExt3
43602 // Predicate_uimm3
43603 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43604return isUInt<3>(x: Imm);
43605 }
43606 case 12: {
43607 // Predicate_vsplat_imm_eq_1
43608 SDNode *N = Op.getNode();
43609 (void)N;
43610
43611 APInt Imm;
43612 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
43613
43614 if (N->getOpcode() == ISD::BITCAST)
43615 N = N->getOperand(Num: 0).getNode();
43616
43617 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
43618 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;
43619
43620 }
43621 case 13: {
43622 // Predicate_truncstore
43623 SDNode *N = Op.getNode();
43624 (void)N;
43625 if (!cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
43626return true;
43627
43628 }
43629 case 14: {
43630 // Predicate_vsplati8_imm_eq_7
43631 SDNode *N = Op.getNode();
43632 (void)N;
43633
43634 APInt Imm;
43635 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
43636
43637 if (N->getOpcode() == ISD::BITCAST)
43638 N = N->getOperand(Num: 0).getNode();
43639
43640 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
43641 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 7;
43642
43643 }
43644 case 15: {
43645 // Predicate_vsplati16_imm_eq_15
43646 SDNode *N = Op.getNode();
43647 (void)N;
43648
43649 APInt Imm;
43650 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
43651
43652 if (N->getOpcode() == ISD::BITCAST)
43653 N = N->getOperand(Num: 0).getNode();
43654
43655 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
43656 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 15;
43657
43658 }
43659 case 16: {
43660 // Predicate_vsplati32_imm_eq_31
43661 SDNode *N = Op.getNode();
43662 (void)N;
43663
43664 APInt Imm;
43665 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
43666
43667 if (N->getOpcode() == ISD::BITCAST)
43668 N = N->getOperand(Num: 0).getNode();
43669
43670 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
43671 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 31;
43672
43673 }
43674 case 17: {
43675 // Predicate_vsplati64_imm_eq_63
43676 SDNode *N = Op.getNode();
43677 (void)N;
43678
43679 APInt Imm;
43680 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
43681
43682 if (N->getOpcode() == ISD::BITCAST)
43683 N = N->getOperand(Num: 0).getNode();
43684
43685 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
43686 Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 63;
43687
43688 }
43689 case 18: {
43690 // Predicate_immZExt2
43691 // Predicate_uimm2
43692 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43693return isUInt<2>(x: Imm);
43694 }
43695 case 19: {
43696 // Predicate_atomic_cmp_swap_i64
43697 // Predicate_atomic_load_add_i64
43698 // Predicate_atomic_load_and_i64
43699 // Predicate_atomic_load_max_i64
43700 // Predicate_atomic_load_min_i64
43701 // Predicate_atomic_load_nand_i64
43702 // Predicate_atomic_load_nonext_64
43703 // Predicate_atomic_load_or_i64
43704 // Predicate_atomic_load_sub_i64
43705 // Predicate_atomic_load_umax_i64
43706 // Predicate_atomic_load_umin_i64
43707 // Predicate_atomic_load_xor_i64
43708 // Predicate_atomic_store_64
43709 // Predicate_atomic_swap_i64
43710 SDNode *N = Op.getNode();
43711 (void)N;
43712if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i64) return false;
43713return true;
43714
43715 }
43716 case 20: {
43717 // Predicate_uimm5
43718 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43719return isUInt<5>(x: Imm);
43720 }
43721 case 21: {
43722 // Predicate_immZExt4
43723 // Predicate_uimm4
43724 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43725return isUInt<4>(x: Imm);
43726 }
43727 case 22: {
43728 // Predicate_sextload
43729 SDNode *N = Op.getNode();
43730 (void)N;
43731if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
43732return true;
43733
43734 }
43735 case 23: {
43736 // Predicate_extload
43737 SDNode *N = Op.getNode();
43738 (void)N;
43739if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
43740return true;
43741
43742 }
43743 case 24: {
43744 // Predicate_zextload
43745 SDNode *N = Op.getNode();
43746 (void)N;
43747if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
43748return true;
43749
43750 }
43751 case 25: {
43752 // Predicate_immZExt1
43753 // Predicate_uimm1
43754 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43755return isUInt<1>(x: Imm);
43756 }
43757 case 26: {
43758 // Predicate_uimm6
43759 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43760return isUInt<6>(x: Imm);
43761 }
43762 case 27: {
43763 // Predicate_atomic_load_aext
43764 SDNode *N = Op.getNode();
43765 (void)N;
43766if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
43767return true;
43768
43769 }
43770 case 28: {
43771 // Predicate_atomic_load_sext
43772 SDNode *N = Op.getNode();
43773 (void)N;
43774if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::SEXTLOAD) return false;
43775return true;
43776
43777 }
43778 case 29: {
43779 // Predicate_atomic_store_unordered_monotonic_32
43780 // Predicate_atomic_store_unordered_monotonic_64
43781 SDNode *N = Op.getNode();
43782 (void)N;
43783
43784 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getSuccessOrdering();
43785 return !isReleaseOrStronger(AO: Ordering);
43786
43787 }
43788 case 30: {
43789 // Predicate_atomic_load_add_i32_acquire
43790 // Predicate_atomic_load_and_i32_acquire
43791 // Predicate_atomic_load_max_i32_acquire
43792 // Predicate_atomic_load_min_i32_acquire
43793 // Predicate_atomic_load_nand_i32_acquire
43794 // Predicate_atomic_load_nand_i64_acquire
43795 // Predicate_atomic_load_or_i32_acquire
43796 // Predicate_atomic_load_sub_i32_acquire
43797 // Predicate_atomic_load_umax_i32_acquire
43798 // Predicate_atomic_load_umin_i32_acquire
43799 // Predicate_atomic_load_xor_i32_acquire
43800 // Predicate_atomic_swap_i32_acquire
43801 SDNode *N = Op.getNode();
43802 (void)N;
43803if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Acquire) return false;
43804return true;
43805
43806 }
43807 case 31: {
43808 // Predicate_atomic_load_add_i32_release
43809 // Predicate_atomic_load_and_i32_release
43810 // Predicate_atomic_load_max_i32_release
43811 // Predicate_atomic_load_min_i32_release
43812 // Predicate_atomic_load_nand_i32_release
43813 // Predicate_atomic_load_nand_i64_release
43814 // Predicate_atomic_load_or_i32_release
43815 // Predicate_atomic_load_sub_i32_release
43816 // Predicate_atomic_load_umax_i32_release
43817 // Predicate_atomic_load_umin_i32_release
43818 // Predicate_atomic_load_xor_i32_release
43819 // Predicate_atomic_swap_i32_release
43820 SDNode *N = Op.getNode();
43821 (void)N;
43822if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::Release) return false;
43823return true;
43824
43825 }
43826 case 32: {
43827 // Predicate_atomic_load_add_i32_acq_rel
43828 // Predicate_atomic_load_and_i32_acq_rel
43829 // Predicate_atomic_load_max_i32_acq_rel
43830 // Predicate_atomic_load_min_i32_acq_rel
43831 // Predicate_atomic_load_nand_i32_acq_rel
43832 // Predicate_atomic_load_nand_i64_acq_rel
43833 // Predicate_atomic_load_or_i32_acq_rel
43834 // Predicate_atomic_load_sub_i32_acq_rel
43835 // Predicate_atomic_load_umax_i32_acq_rel
43836 // Predicate_atomic_load_umin_i32_acq_rel
43837 // Predicate_atomic_load_xor_i32_acq_rel
43838 // Predicate_atomic_swap_i32_acq_rel
43839 SDNode *N = Op.getNode();
43840 (void)N;
43841if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::AcquireRelease) return false;
43842return true;
43843
43844 }
43845 case 33: {
43846 // Predicate_atomic_load_add_i32_seq_cst
43847 // Predicate_atomic_load_and_i32_seq_cst
43848 // Predicate_atomic_load_max_i32_seq_cst
43849 // Predicate_atomic_load_min_i32_seq_cst
43850 // Predicate_atomic_load_nand_i32_seq_cst
43851 // Predicate_atomic_load_nand_i64_seq_cst
43852 // Predicate_atomic_load_or_i32_seq_cst
43853 // Predicate_atomic_load_sub_i32_seq_cst
43854 // Predicate_atomic_load_umax_i32_seq_cst
43855 // Predicate_atomic_load_umin_i32_seq_cst
43856 // Predicate_atomic_load_xor_i32_seq_cst
43857 // Predicate_atomic_swap_i32_seq_cst
43858 SDNode *N = Op.getNode();
43859 (void)N;
43860if (cast<AtomicSDNode>(Val: N)->getMergedOrdering() != AtomicOrdering::SequentiallyConsistent) return false;
43861return true;
43862
43863 }
43864 case 34: {
43865 // Predicate_simm8_lsl2
43866 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43867return isShiftedInt<8,2>(x: Imm);
43868 }
43869 case 35: {
43870 // Predicate_simm8_lsl3
43871 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43872return isShiftedInt<8,3>(x: Imm);
43873 }
43874 case 36: {
43875 // Predicate_atomic_load_nonext
43876 SDNode *N = Op.getNode();
43877 (void)N;
43878if (cast<AtomicSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
43879return true;
43880
43881 }
43882 case 37: {
43883 // Predicate_fma_nsz
43884 SDNode *N = Op.getNode();
43885 (void)N;
43886
43887 return N->getFlags().hasNoSignedZeros();
43888
43889 }
43890 case 38: {
43891 // Predicate_simm10_lsl2
43892 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43893return isShiftedInt<10,2>(x: Imm);
43894 }
43895 case 39: {
43896 // Predicate_simm9_lsl3
43897 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43898return isShiftedInt<9,3>(x: Imm);
43899 }
43900 case 40: {
43901 // Predicate_uimm2_plus1
43902 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43903return isUInt<2>(x: Imm - 1);
43904 }
43905 case 41: {
43906 // Predicate_assertsexti32
43907 SDNode *N = Op.getNode();
43908 (void)N;
43909
43910 return cast<VTSDNode>(Val: N->getOperand(Num: 1))->getVT().bitsLE(VT: MVT::i32);
43911
43912 }
43913 case 42: {
43914 // Predicate_simm8
43915 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43916return isInt<8>(x: Imm);
43917 }
43918 case 43: {
43919 // Predicate_simm8_lsl1
43920 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43921return isShiftedInt<8,1>(x: Imm);
43922 }
43923 case 44: {
43924 // Predicate_simm14_lsl2
43925 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43926return isShiftedInt<14,2>(x: Imm);
43927 }
43928 case 45: {
43929 // Predicate_uimm15
43930 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43931return isUInt<15>(x: Imm);
43932 }
43933 case 46: {
43934 // Predicate_simm11_lsl1
43935 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43936return isShiftedInt<11,1>(x: Imm);
43937 }
43938 case 47: {
43939 // Predicate_immZExt8
43940 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43941return isUInt<8>(x: Imm);
43942 }
43943 case 48: {
43944 // Predicate_uimm12
43945 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43946return isUInt<12>(x: Imm);
43947 }
43948 case 49: {
43949 // Predicate_uimm14
43950 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43951return isUInt<14>(x: Imm);
43952 }
43953 case 50: {
43954 // Predicate_fpimm1
43955 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
43956 (void)N;
43957return N->isOne();
43958 }
43959 case 51: {
43960 // Predicate_AlslSlliImm
43961 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
43962 (void)N;
43963
43964 if (!N->hasOneUse())
43965 return false;
43966 uint64_t Imm = N->getZExtValue();
43967 unsigned I1 = llvm::countr_zero(Val: Imm);
43968 uint64_t Rem = Imm >> I1;
43969 return Rem == 3 || Rem == 5 || Rem == 9 || Rem == 17;
43970
43971 }
43972 case 52: {
43973 // Predicate_simm32_hi16_lo12
43974 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
43975
43976 return !isInt<12>(x: Imm) && isShiftedInt<16, 16>(x: Imm - SignExtend64<12>(x: Imm));
43977
43978 }
43979 case 53: {
43980 // Predicate_AddiPair
43981 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
43982 (void)N;
43983
43984 if (!N->hasOneUse())
43985 return false;
43986 // The immediate operand must be in range [-4096,-2049] or [2048,4094].
43987 int64_t Imm = N->getSExtValue();
43988 return (-4096 <= Imm && Imm <= -2049) || (2048 <= Imm && Imm <= 4094);
43989
43990 }
43991 case 54: {
43992 // Predicate_atomic_store_release_seqcst_32
43993 // Predicate_atomic_store_release_seqcst_64
43994 SDNode *N = Op.getNode();
43995 (void)N;
43996
43997 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getSuccessOrdering();
43998 return isReleaseOrStronger(AO: Ordering);
43999
44000 }
44001 case 55: {
44002 // Predicate_atomic_cmp_swap_i32_failure_monotonic
44003 // Predicate_atomic_cmp_swap_i64_failure_monotonic
44004 SDNode *N = Op.getNode();
44005 (void)N;
44006
44007 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
44008 return Ordering == AtomicOrdering::Monotonic;
44009
44010 }
44011 case 56: {
44012 // Predicate_atomic_cmp_swap_i32_failure_acquire
44013 // Predicate_atomic_cmp_swap_i64_failure_acquire
44014 SDNode *N = Op.getNode();
44015 (void)N;
44016
44017 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
44018 return Ordering == AtomicOrdering::Acquire;
44019
44020 }
44021 case 57: {
44022 // Predicate_atomic_cmp_swap_i32_failure_release
44023 // Predicate_atomic_cmp_swap_i64_failure_release
44024 SDNode *N = Op.getNode();
44025 (void)N;
44026
44027 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
44028 return Ordering == AtomicOrdering::Release;
44029
44030 }
44031 case 58: {
44032 // Predicate_atomic_cmp_swap_i32_failure_acq_rel
44033 // Predicate_atomic_cmp_swap_i64_failure_acq_rel
44034 SDNode *N = Op.getNode();
44035 (void)N;
44036
44037 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
44038 return Ordering == AtomicOrdering::AcquireRelease;
44039
44040 }
44041 case 59: {
44042 // Predicate_atomic_cmp_swap_i32_failure_seq_cst
44043 // Predicate_atomic_cmp_swap_i64_failure_seq_cst
44044 SDNode *N = Op.getNode();
44045 (void)N;
44046
44047 AtomicOrdering Ordering = cast<AtomicSDNode>(Val: N)->getFailureOrdering();
44048 return Ordering == AtomicOrdering::SequentiallyConsistent;
44049
44050 }
44051 case 60: {
44052 // Predicate_vsplatf32_fpimm_eq_1
44053 SDNode *N = Op.getNode();
44054 (void)N;
44055
44056 APInt Imm;
44057 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
44058 N = N->getOperand(Num: 0).getNode();
44059
44060 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
44061 Imm.getBitWidth() == 32 &&
44062 Imm.getBitWidth() == EltTy.getSizeInBits() &&
44063 Imm == APFloat(+1.0f).bitcastToAPInt();
44064
44065 }
44066 case 61: {
44067 // Predicate_vsplatf64_fpimm_eq_1
44068 SDNode *N = Op.getNode();
44069 (void)N;
44070
44071 APInt Imm;
44072 EVT EltTy = N->getValueType(ResNo: 0).getVectorElementType();
44073 N = N->getOperand(Num: 0).getNode();
44074
44075 return selectVSplat(N, Imm, MinSizeInBits: EltTy.getSizeInBits()) &&
44076 Imm.getBitWidth() == EltTy.getSizeInBits() &&
44077 Imm == APFloat(+1.0).bitcastToAPInt();
44078
44079 }
44080 case 62: {
44081 // Predicate_fpimm0
44082 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
44083 (void)N;
44084return N->isPosZero();
44085 }
44086 case 63: {
44087 // Predicate_fpimm0neg
44088 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
44089 (void)N;
44090return N->isNegZero();
44091 }
44092 case 64: {
44093 // Predicate_BstrinsImm
44094 auto *N = cast<ConstantSDNode>(Val: Op.getNode());
44095 (void)N;
44096
44097 if (!N->hasOneUse())
44098 return false;
44099 uint64_t Imm = N->getZExtValue();
44100 // andi can be used instead if Imm <= 0xfff.
44101 if (Imm <= 0xfff)
44102 return false;
44103 unsigned MaskIdx, MaskLen;
44104 return N->getValueType(ResNo: 0).getSizeInBits() == 32
44105 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
44106 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
44107
44108 }
44109 case 65: {
44110 // Predicate_simm16_lsl16
44111 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
44112return isShiftedInt<16, 16>(x: Imm);
44113 }
44114 case 66: {
44115 // Predicate_simm16_lsl2
44116 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
44117return isInt<16>(x: Imm>>2);
44118 }
44119 case 67: {
44120 // Predicate_simm12_plus1
44121 int64_t Imm = cast<ConstantSDNode>(Val: Op.getNode())->getSExtValue();
44122return (isInt<12>(x: Imm) && Imm != -2048) || Imm == 2048;
44123 }
44124 case 68: {
44125 // Predicate_f32imm_vldi
44126 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
44127 (void)N;
44128
44129 const auto &TLI =
44130 *static_cast<const LoongArchTargetLowering*>(getTargetLowering());
44131 return TLI.isFPImmVLDILegal(Imm: N->getValueAPF(), VT: MVT::f32);
44132
44133 }
44134 case 69: {
44135 // Predicate_f64imm_vldi
44136 auto *N = cast<ConstantFPSDNode>(Val: Op.getNode());
44137 (void)N;
44138
44139 const auto &TLI =
44140 *static_cast<const LoongArchTargetLowering*>(getTargetLowering());
44141 return TLI.isFPImmVLDILegal(Imm: N->getValueAPF(), VT: MVT::f64);
44142
44143 }
44144 }
44145}
44146#endif // GET_DAGISEL_BODY
44147
44148#ifdef GET_DAGISEL_DECL
44149bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
44150 SDValue N, unsigned PatternNo,
44151 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
44152#endif
44153#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
44154bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
44155 SDValue N, unsigned PatternNo,
44156 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
44157#if DAGISEL_INLINE
44158 override
44159#endif
44160{
44161 unsigned NextRes = Result.size();
44162 switch (PatternNo) {
44163 default: llvm_unreachable("Invalid pattern # in table?");
44164 case 0:
44165 Result.resize(N: NextRes+1);
44166 return SelectBaseAddr(Addr: N, Base&: Result[NextRes+0].first);
44167 case 1:
44168 Result.resize(N: NextRes+1);
44169 return selectNonFIBaseAddr(Addr: N, Base&: Result[NextRes+0].first);
44170 case 2:
44171 Result.resize(N: NextRes+1);
44172 return selectVSplatImm<5, 0>(N, SplatVal&: Result[NextRes+0].first);
44173 case 3:
44174 Result.resize(N: NextRes+2);
44175 return SelectAddrConstant(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
44176 case 4:
44177 Result.resize(N: NextRes+1);
44178 return selectVSplatImm<5, 0, true>(N, SplatVal&: Result[NextRes+0].first);
44179 case 5:
44180 Result.resize(N: NextRes+1);
44181 return selectVSplatImm<8, 8>(N, SplatVal&: Result[NextRes+0].first);
44182 case 6:
44183 Result.resize(N: NextRes+1);
44184 return selectVSplatUimmPow2(N, SplatImm&: Result[NextRes+0].first);
44185 case 7:
44186 Result.resize(N: NextRes+1);
44187 return selectVSplatImm<8, 0>(N, SplatVal&: Result[NextRes+0].first);
44188 case 8:
44189 Result.resize(N: NextRes+1);
44190 return selectVSplatUimmPow2<8>(N, SplatImm&: Result[NextRes+0].first);
44191 case 9:
44192 Result.resize(N: NextRes+1);
44193 return selectVSplatUimmPow2<16>(N, SplatImm&: Result[NextRes+0].first);
44194 case 10:
44195 Result.resize(N: NextRes+1);
44196 return selectVSplatUimmPow2<32>(N, SplatImm&: Result[NextRes+0].first);
44197 case 11:
44198 Result.resize(N: NextRes+1);
44199 return selectVSplatImmNeg<5>(N, SplatVal&: Result[NextRes+0].first);
44200 case 12:
44201 Result.resize(N: NextRes+1);
44202 return selectVSplatUimmInvPow2(N, SplatImm&: Result[NextRes+0].first);
44203 case 13:
44204 Result.resize(N: NextRes+1);
44205 return selectVSplatUimmInvPow2<8>(N, SplatImm&: Result[NextRes+0].first);
44206 case 14:
44207 Result.resize(N: NextRes+1);
44208 return selectVSplatUimmInvPow2<16>(N, SplatImm&: Result[NextRes+0].first);
44209 case 15:
44210 Result.resize(N: NextRes+1);
44211 return selectVSplatUimmInvPow2<32>(N, SplatImm&: Result[NextRes+0].first);
44212 case 16:
44213 Result.resize(N: NextRes+1);
44214 return selectVSplatImm<3, 0>(N, SplatVal&: Result[NextRes+0].first);
44215 case 17:
44216 Result.resize(N: NextRes+1);
44217 return selectVSplatImm<4, 0>(N, SplatVal&: Result[NextRes+0].first);
44218 case 18:
44219 Result.resize(N: NextRes+1);
44220 return selectVSplatImm<6, 0>(N, SplatVal&: Result[NextRes+0].first);
44221 case 19:
44222 Result.resize(N: NextRes+1);
44223 return selectShiftMaskGRLen(N, ShAmt&: Result[NextRes+0].first);
44224 case 20:
44225 Result.resize(N: NextRes+1);
44226 return selectShiftMask32(N, ShAmt&: Result[NextRes+0].first);
44227 case 21:
44228 Result.resize(N: NextRes+1);
44229 return selectSExti32(N, Val&: Result[NextRes+0].first);
44230 case 22:
44231 Result.resize(N: NextRes+2);
44232 return SelectAddrRegImm12(Addr: N, Base&: Result[NextRes+0].first, Offset&: Result[NextRes+1].first);
44233 }
44234}
44235#endif // GET_DAGISEL_BODY
44236
44237#ifdef GET_DAGISEL_DECL
44238SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
44239#endif
44240#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
44241SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
44242#if DAGISEL_INLINE
44243 override
44244#endif
44245{
44246 switch (XFormNo) {
44247 default: llvm_unreachable("Invalid xform # in table?");
44248 case 0: {
44249 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44250
44251 uint64_t Imm = N->getZExtValue();
44252 unsigned I1 = llvm::countr_zero(Val: Imm);
44253 uint64_t I0;
44254 switch (Imm >> I1) {
44255 case 3: I0 = 1; break;
44256 case 5: I0 = 2; break;
44257 case 9: I0 = 3; break;
44258 default: I0 = 4; break;
44259 }
44260 return CurDAG->getTargetConstant(Val: I0, DL: SDLoc(N),
44261 VT: N->getValueType(ResNo: 0));
44262
44263 }
44264 case 1: {
44265 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44266
44267 uint64_t Imm = N->getZExtValue();
44268 unsigned I1 = llvm::countr_zero(Val: Imm);
44269 return CurDAG->getTargetConstant(Val: I1, DL: SDLoc(N),
44270 VT: N->getValueType(ResNo: 0));
44271
44272 }
44273 case 2: {
44274 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44275
44276 auto Imm = N->getSExtValue();
44277 return CurDAG->getSignedTargetConstant(Val: (Imm - SignExtend64<12>(x: Imm)) >> 16,
44278 DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
44279
44280 }
44281 case 3: {
44282 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44283
44284 return CurDAG->getSignedTargetConstant(Val: SignExtend64<12>(x: N->getSExtValue()),
44285 DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
44286
44287 }
44288 case 4: {
44289 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44290
44291 int64_t Imm = N->getSExtValue() < 0 ? -2048 : 2047;
44292 return CurDAG->getSignedTargetConstant(Val: Imm, DL: SDLoc(N),
44293 VT: N->getValueType(ResNo: 0));
44294
44295 }
44296 case 5: {
44297 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44298
44299 int64_t Imm = N->getSExtValue();
44300 int64_t Adj = Imm < 0 ? -2048 : 2047;
44301 return CurDAG->getSignedTargetConstant(Val: Imm - Adj, DL: SDLoc(N),
44302 VT: N->getValueType(ResNo: 0));
44303
44304 }
44305 case 6: {
44306 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44307
44308 uint64_t Imm = N->getZExtValue();
44309 unsigned MaskIdx, MaskLen;
44310 N->getValueType(ResNo: 0).getSizeInBits() == 32
44311 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
44312 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
44313 return CurDAG->getTargetConstant(Val: MaskIdx + MaskLen - 1, DL: SDLoc(N),
44314 VT: N->getValueType(ResNo: 0));
44315
44316 }
44317 case 7: {
44318 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44319
44320 uint64_t Imm = N->getZExtValue();
44321 unsigned MaskIdx, MaskLen;
44322 N->getValueType(ResNo: 0).getSizeInBits() == 32
44323 ? llvm::isShiftedMask_32(Value: ~Imm, MaskIdx, MaskLen)
44324 : llvm::isShiftedMask_64(Value: ~Imm, MaskIdx, MaskLen);
44325 return CurDAG->getTargetConstant(Val: MaskIdx, DL: SDLoc(N), VT: N->getValueType(ResNo: 0));
44326
44327 }
44328 case 8: {
44329 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44330
44331 return CurDAG->getSignedTargetConstant(Val: N->getSExtValue() >> 16, DL: SDLoc(N),
44332 VT: N->getValueType(ResNo: 0));
44333
44334 }
44335 case 9: {
44336 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44337
44338 auto CN = cast<ConstantSDNode>(Val: N);
44339 return CurDAG->getSignedTargetConstant(Val: CN->getSExtValue(), DL: SDLoc(N),
44340 VT: Subtarget->getGRLenVT());
44341
44342 }
44343 case 10: {
44344 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44345
44346 return CurDAG->getSignedTargetConstant(Val: -N->getSExtValue(), DL: SDLoc(N),
44347 VT: N->getValueType(ResNo: 0));
44348
44349 }
44350 case 11: {
44351 SDNode *N = V.getNode();
44352
44353 ISD::CondCode CC = cast<CondCodeSDNode>(Val: N->getOperand(Num: 2))->get();
44354 unsigned BrCC = getBranchOpcForIntCC(CC);
44355 return CurDAG->getTargetConstant(Val: BrCC, DL: SDLoc(N), VT: Subtarget->getGRLenVT());
44356
44357 }
44358 case 12: {
44359 ConstantSDNode *N = cast<ConstantSDNode>(Val: V.getNode());
44360
44361 uint64_t Check = N->getZExtValue();
44362 unsigned Mask = 0;
44363 if (Check & fcSNan)
44364 Mask |= LoongArch::FClassMaskSignalingNaN;
44365 if (Check & fcQNan)
44366 Mask |= LoongArch::FClassMaskQuietNaN;
44367 if (Check & fcPosInf)
44368 Mask |= LoongArch::FClassMaskPositiveInfinity;
44369 if (Check & fcNegInf)
44370 Mask |= LoongArch::FClassMaskNegativeInfinity;
44371 if (Check & fcPosNormal)
44372 Mask |= LoongArch::FClassMaskPositiveNormal;
44373 if (Check & fcNegNormal)
44374 Mask |= LoongArch::FClassMaskNegativeNormal;
44375 if (Check & fcPosSubnormal)
44376 Mask |= LoongArch::FClassMaskPositiveSubnormal;
44377 if (Check & fcNegSubnormal)
44378 Mask |= LoongArch::FClassMaskNegativeSubnormal;
44379 if (Check & fcPosZero)
44380 Mask |= LoongArch::FClassMaskPositiveZero;
44381 if (Check & fcNegZero)
44382 Mask |= LoongArch::FClassMaskNegativeZero;
44383 return CurDAG->getTargetConstant(Val: Mask, DL: SDLoc(N), VT: Subtarget->getGRLenVT());
44384
44385 }
44386 case 13: {
44387 ConstantFPSDNode *N = cast<ConstantFPSDNode>(Val: V.getNode());
44388
44389 uint64_t x = N->getValueAPF().bitcastToAPInt().getZExtValue();
44390 x = (0b11011 << 8) | (((x >> 24) & 0xc0) ^ 0x40) | ((x >> 19) & 0x3f);
44391 return CurDAG->getSignedTargetConstant(Val: SignExtend32<13>(X: x), DL: SDLoc(N),
44392 VT: MVT::i32);
44393
44394 }
44395 case 14: {
44396 ConstantFPSDNode *N = cast<ConstantFPSDNode>(Val: V.getNode());
44397
44398 uint64_t x = N->getValueAPF().bitcastToAPInt().getZExtValue();
44399 x = (0b11100 << 8) | (((x >> 56) & 0xc0) ^ 0x40) | ((x >> 48) & 0x3f);
44400 return CurDAG->getSignedTargetConstant(Val: SignExtend32<13>(X: x), DL: SDLoc(N),
44401 VT: MVT::i32);
44402
44403 }
44404 }
44405}
44406#endif // GET_DAGISEL_BODY
44407
44408#ifdef GET_DAGISEL_DECL
44409MVT getValueTypeForHwMode(unsigned Index) const override;
44410#endif
44411#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
44412MVT DAGISEL_CLASS_COLONCOLON getValueTypeForHwMode(unsigned Index) const
44413#if DAGISEL_INLINE
44414 override
44415#endif
44416{
44417 switch (Index) {
44418 default: llvm_unreachable("Unexpected index");
44419 case 6:
44420 return MVT::i32;
44421 case 3:
44422 switch (HwMode) {
44423 default:
44424 return MVT::i32;
44425 case 1:
44426 return MVT::i32;
44427 }
44428 break;
44429 case 0:
44430 switch (HwMode) {
44431 default:
44432 return MVT::i32;
44433 case 1:
44434 return MVT::i64;
44435 }
44436 break;
44437 case 2:
44438 switch (HwMode) {
44439 default:
44440 return MVT::i64;
44441 case 1:
44442 return MVT::i64;
44443 }
44444 break;
44445 case 4:
44446 switch (HwMode) {
44447 default:
44448 return MVT::f32;
44449 case 1:
44450 return MVT::f32;
44451 }
44452 break;
44453 case 5:
44454 switch (HwMode) {
44455 default:
44456 return MVT::f64;
44457 case 1:
44458 return MVT::f64;
44459 }
44460 break;
44461 case 1:
44462 switch (HwMode) {
44463 default:
44464 return MVT();
44465 case 1:
44466 return MVT::i64;
44467 }
44468 break;
44469 }
44470}
44471#endif // GET_DAGISEL_BODY
44472
44473
44474#ifdef DAGISEL_INLINE
44475#undef DAGISEL_INLINE
44476#endif
44477#ifdef DAGISEL_CLASS_COLONCOLON
44478#undef DAGISEL_CLASS_COLONCOLON
44479#endif
44480#ifdef GET_DAGISEL_DECL
44481#undef GET_DAGISEL_DECL
44482#endif
44483#ifdef GET_DAGISEL_BODY
44484#undef GET_DAGISEL_BODY
44485#endif
44486