Coverage Report

Created: 2024-01-17 10:31

/src/build/lib/Target/Mips/MipsGenDAGISel.inc
Line
Count
Source (jump to first uncovered line)
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|* DAG Instruction Selector for the Mips target                               *|
4
|*                                                                            *|
5
|* Automatically generated file, do not edit!                                 *|
6
|*                                                                            *|
7
\*===----------------------------------------------------------------------===*/
8
9
// *** NOTE: This file is #included into the middle of the target
10
// *** instruction selector class.  These functions are really methods.
11
12
// If GET_DAGISEL_DECL is #defined with any value, only function
13
// declarations will be included when this file is included.
14
// If GET_DAGISEL_BODY is #defined, its value should be the name of
15
// the instruction selector class. Function bodies will be emitted
16
// and each function's name will be qualified with the name of the
17
// class.
18
//
19
// When neither of the GET_DAGISEL* macros is defined, the functions
20
// are emitted inline.
21
22
#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
23
#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
24
#endif
25
26
#ifdef GET_DAGISEL_BODY
27
#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
28
#define LOCAL_DAGISEL_STRINGIZE_(X) #X
29
static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
30
   "GET_DAGISEL_BODY is empty: it should be defined with the class name");
31
#undef LOCAL_DAGISEL_STRINGIZE_
32
#undef LOCAL_DAGISEL_STRINGIZE
33
#endif
34
35
#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
36
#define DAGISEL_INLINE 1
37
#else
38
#define DAGISEL_INLINE 0
39
#endif
40
41
#if !DAGISEL_INLINE
42
#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
43
#else
44
#define DAGISEL_CLASS_COLONCOLON
45
#endif
46
47
#ifdef GET_DAGISEL_DECL
48
void SelectCode(SDNode *N);
49
#endif
50
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
51
void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
52
310
{
53
  // Some target values are emitted as 2 bytes, TARGET_VAL handles
54
  // this.
55
1.35M
  #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56
310
  static const unsigned char MatcherTable[] = {
57
310
 OPC_SwitchOpcode , 42|128,7, TARGET_VAL(ISD::STORE),
58
310
  OPC_RecordMemRef,
59
310
  OPC_RecordNode,
60
310
  OPC_Scope, 73|128,1, 
61
310
   OPC_RecordChild1,
62
310
   OPC_Scope, 120, 
63
310
    OPC_CheckChild1Type, MVT::f64,
64
310
    OPC_Scope, 77, 
65
310
     OPC_RecordChild2,
66
310
     OPC_CheckPredicate, 12,
67
310
     OPC_CheckPredicate, 9,
68
310
     OPC_Scope, 13, 
69
310
      OPC_CheckPatternPredicate, 79,
70
310
      OPC_CheckComplexPat2, /*#*/2,
71
310
      OPC_EmitMergeInputChains1_0,
72
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
73
310
                    3, 1, 3, 4, 
74
310
     13, 
75
310
      OPC_CheckPatternPredicate, 49,
76
310
      OPC_CheckComplexPat2, /*#*/2,
77
310
      OPC_EmitMergeInputChains1_0,
78
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
79
310
                    3, 1, 3, 4, 
80
310
     13, 
81
310
      OPC_CheckPatternPredicate, 50,
82
310
      OPC_CheckComplexPat2, /*#*/2,
83
310
      OPC_EmitMergeInputChains1_0,
84
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
85
310
                    3, 1, 3, 4, 
86
310
     13, 
87
310
      OPC_CheckPatternPredicate, 51,
88
310
      OPC_CheckComplexPat2, /*#*/2,
89
310
      OPC_EmitMergeInputChains1_0,
90
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
91
310
                    3, 1, 3, 4, 
92
310
     13, 
93
310
      OPC_CheckPatternPredicate, 44,
94
310
      OPC_CheckComplexPat2, /*#*/2,
95
310
      OPC_EmitMergeInputChains1_0,
96
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
97
310
                    3, 1, 3, 4, 
98
310
     0, 
99
310
    37, 
100
310
     OPC_MoveChild2,
101
310
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
102
310
     OPC_RecordChild0,
103
310
     OPC_RecordChild1,
104
310
     OPC_MoveParent,
105
310
     OPC_CheckPredicate, 12,
106
310
     OPC_CheckPredicate, 9,
107
310
     OPC_Scope, 11, 
108
310
      OPC_CheckPatternPredicate, 80,
109
310
      OPC_EmitMergeInputChains1_0,
110
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC1), 0|OPFL_Chain|OPFL_MemRefs,
111
310
                    3, 1, 2, 3, 
112
310
     11, 
113
310
      OPC_CheckPatternPredicate, 81,
114
310
      OPC_EmitMergeInputChains1_0,
115
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDXC164), 0|OPFL_Chain|OPFL_MemRefs,
116
310
                    3, 1, 2, 3, 
117
310
     0, 
118
310
    0, 
119
310
   76, 
120
310
    OPC_CheckChild1Type, MVT::f32,
121
310
    OPC_Scope, 33, 
122
310
     OPC_RecordChild2,
123
310
     OPC_CheckPredicate, 12,
124
310
     OPC_CheckPredicate, 9,
125
310
     OPC_Scope, 12, 
126
310
      OPC_CheckPatternPredicate2,
127
310
      OPC_CheckComplexPat2, /*#*/2,
128
310
      OPC_EmitMergeInputChains1_0,
129
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
130
310
                    3, 1, 3, 4, 
131
310
     12, 
132
310
      OPC_CheckPatternPredicate4,
133
310
      OPC_CheckComplexPat2, /*#*/2,
134
310
      OPC_EmitMergeInputChains1_0,
135
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
136
310
                    3, 1, 3, 4, 
137
310
     0, 
138
310
    37, 
139
310
     OPC_MoveChild2,
140
310
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
141
310
     OPC_RecordChild0,
142
310
     OPC_RecordChild1,
143
310
     OPC_MoveParent,
144
310
     OPC_CheckPredicate, 12,
145
310
     OPC_CheckPredicate, 9,
146
310
     OPC_Scope, 11, 
147
310
      OPC_CheckPatternPredicate, 82,
148
310
      OPC_EmitMergeInputChains1_0,
149
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1), 0|OPFL_Chain|OPFL_MemRefs,
150
310
                    3, 1, 2, 3, 
151
310
     11, 
152
310
      OPC_CheckPatternPredicate, 31,
153
310
      OPC_EmitMergeInputChains1_0,
154
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
155
310
                    3, 1, 2, 3, 
156
310
     0, 
157
310
    0, 
158
310
   0, 
159
310
  22, 
160
310
   OPC_CheckChild1Integer, 0, 
161
310
   OPC_CheckChild1TypeI32,
162
310
   OPC_RecordChild2,
163
310
   OPC_CheckPredicate, 12,
164
310
   OPC_CheckPredicate, 9,
165
310
   OPC_CheckPatternPredicate2,
166
310
   OPC_CheckComplexPat0, /*#*/1,
167
310
   OPC_EmitMergeInputChains1_0,
168
310
   OPC_EmitRegisterI32, Mips::ZERO,
169
310
   OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
170
310
                 3, 4, 2, 3, 
171
310
  66|128,5, 
172
310
   OPC_RecordChild1,
173
310
   OPC_Scope, 23|128,2, 
174
310
    OPC_CheckChild1TypeI32,
175
310
    OPC_RecordChild2,
176
310
    OPC_CheckPredicate, 12,
177
310
    OPC_Scope, 34, 
178
310
     OPC_CheckPredicate, 32,
179
310
     OPC_Scope, 14, 
180
310
      OPC_CheckPredicate, 31,
181
310
      OPC_CheckPatternPredicate2,
182
310
      OPC_CheckComplexPat0, /*#*/2,
183
310
      OPC_EmitMergeInputChains1_0,
184
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
185
310
                    3, 1, 3, 4, 
186
310
     14, 
187
310
      OPC_CheckPredicate, 28,
188
310
      OPC_CheckPatternPredicate2,
189
310
      OPC_CheckComplexPat0, /*#*/2,
190
310
      OPC_EmitMergeInputChains1_0,
191
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
192
310
                    3, 1, 3, 4, 
193
310
     0, 
194
310
    73, 
195
310
     OPC_CheckPredicate, 9,
196
310
     OPC_Scope, 12, 
197
310
      OPC_CheckPatternPredicate2,
198
310
      OPC_CheckComplexPat0, /*#*/2,
199
310
      OPC_EmitMergeInputChains1_0,
200
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
201
310
                    3, 1, 3, 4, 
202
310
     13, 
203
310
      OPC_CheckPatternPredicate, 38,
204
310
      OPC_CheckComplexPat1, /*#*/2,
205
310
      OPC_EmitMergeInputChains1_0,
206
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2), 0|OPFL_Chain|OPFL_MemRefs,
207
310
                    3, 1, 3, 4, 
208
310
     13, 
209
310
      OPC_CheckPatternPredicate, 83,
210
310
      OPC_CheckComplexPat1, /*#*/2,
211
310
      OPC_EmitMergeInputChains1_0,
212
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2), 0|OPFL_Chain|OPFL_MemRefs,
213
310
                    3, 1, 3, 4, 
214
310
     13, 
215
310
      OPC_CheckPatternPredicate, 84,
216
310
      OPC_CheckComplexPat1, /*#*/2,
217
310
      OPC_EmitMergeInputChains1_0,
218
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC3), 0|OPFL_Chain|OPFL_MemRefs,
219
310
                    3, 1, 3, 4, 
220
310
     13, 
221
310
      OPC_CheckPatternPredicate, 85,
222
310
      OPC_CheckComplexPat1, /*#*/2,
223
310
      OPC_EmitMergeInputChains1_0,
224
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC3), 0|OPFL_Chain|OPFL_MemRefs,
225
310
                    3, 1, 3, 4, 
226
310
     0, 
227
310
    36, 
228
310
     OPC_CheckPredicate, 32,
229
310
     OPC_Scope, 15, 
230
310
      OPC_CheckPredicate, 31,
231
310
      OPC_CheckPatternPredicate5,
232
310
      OPC_CheckComplexPat, /*CP*/10, /*#*/2,
233
310
      OPC_EmitMergeInputChains1_0,
234
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
235
310
                    3, 1, 3, 4, 
236
310
     15, 
237
310
      OPC_CheckPredicate, 28,
238
310
      OPC_CheckPatternPredicate5,
239
310
      OPC_CheckComplexPat, /*CP*/10, /*#*/2,
240
310
      OPC_EmitMergeInputChains1_0,
241
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::ShRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
242
310
                    3, 1, 3, 4, 
243
310
     0, 
244
310
    15, 
245
310
     OPC_CheckPredicate, 9,
246
310
     OPC_CheckPatternPredicate5,
247
310
     OPC_CheckComplexPat, /*CP*/20, /*#*/2,
248
310
     OPC_EmitMergeInputChains1_0,
249
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
250
310
                   3, 1, 3, 4, 
251
310
    34, 
252
310
     OPC_CheckPredicate, 32,
253
310
     OPC_Scope, 14, 
254
310
      OPC_CheckPredicate, 31,
255
310
      OPC_CheckPatternPredicate4,
256
310
      OPC_CheckComplexPat0, /*#*/2,
257
310
      OPC_EmitMergeInputChains1_0,
258
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SB_MM), 0|OPFL_Chain|OPFL_MemRefs,
259
310
                    3, 1, 3, 4, 
260
310
     14, 
261
310
      OPC_CheckPredicate, 28,
262
310
      OPC_CheckPatternPredicate4,
263
310
      OPC_CheckComplexPat0, /*#*/2,
264
310
      OPC_EmitMergeInputChains1_0,
265
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SH_MM), 0|OPFL_Chain|OPFL_MemRefs,
266
310
                    3, 1, 3, 4, 
267
310
     0, 
268
310
    75, 
269
310
     OPC_CheckPredicate, 9,
270
310
     OPC_Scope, 28, 
271
310
      OPC_CheckPatternPredicate4,
272
310
      OPC_Scope, 12, 
273
310
       OPC_CheckComplexPat, /*CP*/21, /*#*/2,
274
310
       OPC_EmitMergeInputChains1_0,
275
310
       OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
276
310
                     3, 1, 3, 4, 
277
310
      11, 
278
310
       OPC_CheckComplexPat0, /*#*/2,
279
310
       OPC_EmitMergeInputChains1_0,
280
310
       OPC_MorphNodeTo0, TARGET_VAL(Mips::SW_MM), 0|OPFL_Chain|OPFL_MemRefs,
281
310
                     3, 1, 3, 4, 
282
310
      0, 
283
310
     41, 
284
310
      OPC_CheckPatternPredicate7,
285
310
      OPC_Scope, 24, 
286
310
       OPC_CheckComplexPat, /*CP*/25, /*#*/2,
287
310
       OPC_EmitMergeInputChains1_0,
288
310
       OPC_Scope, 8, 
289
310
        OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
290
310
                      3, 1, 3, 4, 
291
310
       8, 
292
310
        OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
293
310
                      3, 1, 3, 4, 
294
310
       0, 
295
310
      12, 
296
310
       OPC_CheckComplexPat, /*CP*/21, /*#*/2,
297
310
       OPC_EmitMergeInputChains1_0,
298
310
       OPC_MorphNodeTo0, TARGET_VAL(Mips::SW16_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
299
310
                     3, 1, 3, 4, 
300
310
      0, 
301
310
     0, 
302
310
    0, 
303
310
   37, 
304
310
    OPC_CheckChild1Type, MVT::f32,
305
310
    OPC_RecordChild2,
306
310
    OPC_CheckPredicate, 12,
307
310
    OPC_CheckPredicate, 9,
308
310
    OPC_Scope, 13, 
309
310
     OPC_CheckPatternPredicate, 39,
310
310
     OPC_CheckComplexPat1, /*#*/2,
311
310
     OPC_EmitMergeInputChains1_0,
312
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1), 0|OPFL_Chain|OPFL_MemRefs,
313
310
                   3, 1, 3, 4, 
314
310
    13, 
315
310
     OPC_CheckPatternPredicate, 32,
316
310
     OPC_CheckComplexPat1, /*#*/2,
317
310
     OPC_EmitMergeInputChains1_0,
318
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
319
310
                   3, 1, 3, 4, 
320
310
    0, 
321
310
   80, 
322
310
    OPC_CheckChild1Type, MVT::f64,
323
310
    OPC_RecordChild2,
324
310
    OPC_CheckPredicate, 12,
325
310
    OPC_CheckPredicate, 9,
326
310
    OPC_Scope, 13, 
327
310
     OPC_CheckPatternPredicate, 59,
328
310
     OPC_CheckComplexPat1, /*#*/2,
329
310
     OPC_EmitMergeInputChains1_0,
330
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC164), 0|OPFL_Chain|OPFL_MemRefs,
331
310
                   3, 1, 3, 4, 
332
310
    13, 
333
310
     OPC_CheckPatternPredicate, 60,
334
310
     OPC_CheckComplexPat1, /*#*/2,
335
310
     OPC_EmitMergeInputChains1_0,
336
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1), 0|OPFL_Chain|OPFL_MemRefs,
337
310
                   3, 1, 3, 4, 
338
310
    13, 
339
310
     OPC_CheckPatternPredicate, 33,
340
310
     OPC_CheckComplexPat1, /*#*/2,
341
310
     OPC_EmitMergeInputChains1_0,
342
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
343
310
                   3, 1, 3, 4, 
344
310
    13, 
345
310
     OPC_CheckPatternPredicate, 34,
346
310
     OPC_CheckComplexPat1, /*#*/2,
347
310
     OPC_EmitMergeInputChains1_0,
348
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
349
310
                   3, 1, 3, 4, 
350
310
    14, 
351
310
     OPC_CheckPatternPredicate, 86,
352
310
     OPC_CheckComplexPat, /*CP*/26, /*#*/2,
353
310
     OPC_EmitMergeInputChains1_0,
354
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
355
310
                   3, 1, 3, 4, 
356
310
    0, 
357
310
   75, 
358
310
    OPC_CheckChild1TypeI64,
359
310
    OPC_RecordChild2,
360
310
    OPC_CheckPredicate, 12,
361
310
    OPC_Scope, 52, 
362
310
     OPC_CheckPredicate, 32,
363
310
     OPC_Scope, 15, 
364
310
      OPC_CheckPredicate, 31,
365
310
      OPC_CheckPatternPredicate, 18,
366
310
      OPC_CheckComplexPat0, /*#*/2,
367
310
      OPC_EmitMergeInputChains1_0,
368
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
369
310
                    3, 1, 3, 4, 
370
310
     15, 
371
310
      OPC_CheckPredicate, 28,
372
310
      OPC_CheckPatternPredicate, 18,
373
310
      OPC_CheckComplexPat0, /*#*/2,
374
310
      OPC_EmitMergeInputChains1_0,
375
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
376
310
                    3, 1, 3, 4, 
377
310
     15, 
378
310
      OPC_CheckPredicate, 50,
379
310
      OPC_CheckPatternPredicate, 18,
380
310
      OPC_CheckComplexPat0, /*#*/2,
381
310
      OPC_EmitMergeInputChains1_0,
382
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
383
310
                    3, 1, 3, 4, 
384
310
     0, 
385
310
    15, 
386
310
     OPC_CheckPredicate, 9,
387
310
     OPC_CheckPatternPredicate, 23,
388
310
     OPC_CheckComplexPat0, /*#*/2,
389
310
     OPC_EmitMergeInputChains1_0,
390
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
391
310
                   3, 1, 3, 4, 
392
310
    0, 
393
310
   20, 
394
310
    OPC_CheckChild1Type, MVT::v16i8,
395
310
    OPC_RecordChild2,
396
310
    OPC_CheckPredicate, 12,
397
310
    OPC_CheckPredicate, 9,
398
310
    OPC_CheckPatternPredicate0,
399
310
    OPC_CheckComplexPat, /*CP*/16, /*#*/2,
400
310
    OPC_EmitMergeInputChains1_0,
401
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_B), 0|OPFL_Chain|OPFL_MemRefs,
402
310
                  3, 1, 3, 4, 
403
310
   20, 
404
310
    OPC_CheckChild1Type, MVT::v8i16,
405
310
    OPC_RecordChild2,
406
310
    OPC_CheckPredicate, 12,
407
310
    OPC_CheckPredicate, 9,
408
310
    OPC_CheckPatternPredicate0,
409
310
    OPC_CheckComplexPat, /*CP*/17, /*#*/2,
410
310
    OPC_EmitMergeInputChains1_0,
411
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
412
310
                  3, 1, 3, 4, 
413
310
   20, 
414
310
    OPC_CheckChild1Type, MVT::v4i32,
415
310
    OPC_RecordChild2,
416
310
    OPC_CheckPredicate, 12,
417
310
    OPC_CheckPredicate, 9,
418
310
    OPC_CheckPatternPredicate0,
419
310
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
420
310
    OPC_EmitMergeInputChains1_0,
421
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
422
310
                  3, 1, 3, 4, 
423
310
   20, 
424
310
    OPC_CheckChild1Type, MVT::v2i64,
425
310
    OPC_RecordChild2,
426
310
    OPC_CheckPredicate, 12,
427
310
    OPC_CheckPredicate, 9,
428
310
    OPC_CheckPatternPredicate0,
429
310
    OPC_CheckComplexPat, /*CP*/19, /*#*/2,
430
310
    OPC_EmitMergeInputChains1_0,
431
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
432
310
                  3, 1, 3, 4, 
433
310
   20, 
434
310
    OPC_CheckChild1Type, MVT::v8f16,
435
310
    OPC_RecordChild2,
436
310
    OPC_CheckPredicate, 12,
437
310
    OPC_CheckPredicate, 9,
438
310
    OPC_CheckPatternPredicate3,
439
310
    OPC_CheckComplexPat, /*CP*/17, /*#*/2,
440
310
    OPC_EmitMergeInputChains1_0,
441
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_H), 0|OPFL_Chain|OPFL_MemRefs,
442
310
                  3, 1, 3, 4, 
443
310
   20, 
444
310
    OPC_CheckChild1Type, MVT::v4f32,
445
310
    OPC_RecordChild2,
446
310
    OPC_CheckPredicate, 12,
447
310
    OPC_CheckPredicate, 9,
448
310
    OPC_CheckPatternPredicate3,
449
310
    OPC_CheckComplexPat, /*CP*/18, /*#*/2,
450
310
    OPC_EmitMergeInputChains1_0,
451
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_W), 0|OPFL_Chain|OPFL_MemRefs,
452
310
                  3, 1, 3, 4, 
453
310
   20, 
454
310
    OPC_CheckChild1Type, MVT::v2f64,
455
310
    OPC_RecordChild2,
456
310
    OPC_CheckPredicate, 12,
457
310
    OPC_CheckPredicate, 9,
458
310
    OPC_CheckPatternPredicate3,
459
310
    OPC_CheckComplexPat, /*CP*/19, /*#*/2,
460
310
    OPC_EmitMergeInputChains1_0,
461
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_D), 0|OPFL_Chain|OPFL_MemRefs,
462
310
                  3, 1, 3, 4, 
463
310
   28, 
464
310
    OPC_CheckChild1Type, MVT::v2i16,
465
310
    OPC_RecordChild2,
466
310
    OPC_CheckPredicate, 12,
467
310
    OPC_CheckPredicate, 9,
468
310
    OPC_CheckPatternPredicate1,
469
310
    OPC_CheckComplexPat0, /*#*/2,
470
310
    OPC_EmitMergeInputChains1_0,
471
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
472
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
473
310
                  MVT::i32, 2, 1, 5, 
474
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
475
310
                  3, 6, 3, 4, 
476
310
   28, 
477
310
    OPC_CheckChild1Type, MVT::v4i8,
478
310
    OPC_RecordChild2,
479
310
    OPC_CheckPredicate, 12,
480
310
    OPC_CheckPredicate, 9,
481
310
    OPC_CheckPatternPredicate1,
482
310
    OPC_CheckComplexPat0, /*#*/2,
483
310
    OPC_EmitMergeInputChains1_0,
484
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
485
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
486
310
                  MVT::i32, 2, 1, 5, 
487
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
488
310
                  3, 6, 3, 4, 
489
310
   21, 
490
310
    OPC_CheckChild1Type, MVT::f16,
491
310
    OPC_RecordChild2,
492
310
    OPC_RecordChild2,
493
310
    OPC_CheckPredicate, 12,
494
310
    OPC_CheckPredicate, 9,
495
310
    OPC_CheckPatternPredicate3,
496
310
    OPC_CheckComplexPat, /*CP*/16, /*#*/3,
497
310
    OPC_EmitMergeInputChains1_0,
498
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::ST_F16), 0|OPFL_Chain|OPFL_MemRefs,
499
310
                  3, 1, 2, 3, 
500
310
   0, 
501
310
  0, 
502
310
 74|128,10, TARGET_VAL(ISD::LOAD),
503
310
  OPC_RecordMemRef,
504
310
  OPC_RecordNode,
505
310
  OPC_Scope, 103, 
506
310
   OPC_RecordChild1,
507
310
   OPC_CheckPredicate, 27,
508
310
   OPC_CheckTypeI32,
509
310
   OPC_Scope, 32, 
510
310
    OPC_CheckPredicate, 21,
511
310
    OPC_Scope, 13, 
512
310
     OPC_CheckPredicate6, 
513
310
     OPC_CheckPatternPredicate2,
514
310
     OPC_CheckComplexPat2, /*#*/1,
515
310
     OPC_EmitMergeInputChains1_0,
516
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
517
310
                   MVT::i32, 2, 2, 3, 
518
310
    13, 
519
310
     OPC_CheckPredicate4, 
520
310
     OPC_CheckPatternPredicate2,
521
310
     OPC_CheckComplexPat2, /*#*/1,
522
310
     OPC_EmitMergeInputChains1_0,
523
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
524
310
                   MVT::i32, 2, 2, 3, 
525
310
    0, 
526
310
   32, 
527
310
    OPC_CheckPredicate, 20,
528
310
    OPC_Scope, 13, 
529
310
     OPC_CheckPredicate6, 
530
310
     OPC_CheckPatternPredicate2,
531
310
     OPC_CheckComplexPat2, /*#*/1,
532
310
     OPC_EmitMergeInputChains1_0,
533
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
534
310
                   MVT::i32, 2, 2, 3, 
535
310
    13, 
536
310
     OPC_CheckPredicate4, 
537
310
     OPC_CheckPatternPredicate2,
538
310
     OPC_CheckComplexPat2, /*#*/1,
539
310
     OPC_EmitMergeInputChains1_0,
540
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
541
310
                   MVT::i32, 2, 2, 3, 
542
310
    0, 
543
310
   14, 
544
310
    OPC_CheckPredicate, 24,
545
310
    OPC_CheckPatternPredicate2,
546
310
    OPC_CheckComplexPat2, /*#*/1,
547
310
    OPC_EmitMergeInputChains1_0,
548
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
549
310
                  MVT::i32, 2, 2, 3, 
550
310
   15, 
551
310
    OPC_CheckPredicate, 20,
552
310
    OPC_CheckPredicate4, 
553
310
    OPC_CheckPatternPredicate4,
554
310
    OPC_CheckComplexPat2, /*#*/1,
555
310
    OPC_EmitMergeInputChains1_0,
556
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
557
310
                  MVT::i32, 2, 2, 3, 
558
310
   0, 
559
310
  54, 
560
310
   OPC_MoveChild1,
561
310
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
562
310
   OPC_RecordChild0,
563
310
   OPC_RecordChild1,
564
310
   OPC_CheckTypeI32,
565
310
   OPC_MoveParent,
566
310
   OPC_CheckPredicate, 27,
567
310
   OPC_CheckTypeI32,
568
310
   OPC_Scope, 13, 
569
310
    OPC_CheckPredicate, 21,
570
310
    OPC_CheckPredicate6, 
571
310
    OPC_CheckPatternPredicate1,
572
310
    OPC_EmitMergeInputChains1_0,
573
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LBUX), 0|OPFL_Chain|OPFL_MemRefs,
574
310
                  MVT::i32, 2, 1, 2, 
575
310
   13, 
576
310
    OPC_CheckPredicate, 20,
577
310
    OPC_CheckPredicate4, 
578
310
    OPC_CheckPatternPredicate1,
579
310
    OPC_EmitMergeInputChains1_0,
580
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LHX), 0|OPFL_Chain|OPFL_MemRefs,
581
310
                  MVT::i32, 2, 1, 2, 
582
310
   12, 
583
310
    OPC_CheckPredicate, 24,
584
310
    OPC_CheckPatternPredicate1,
585
310
    OPC_EmitMergeInputChains1_0,
586
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWX), 0|OPFL_Chain|OPFL_MemRefs,
587
310
                  MVT::i32, 2, 1, 2, 
588
310
   0, 
589
310
  69|128,6, 
590
310
   OPC_RecordChild1,
591
310
   OPC_CheckPredicate, 27,
592
310
   OPC_Scope, 16, 
593
310
    OPC_CheckPredicate, 20,
594
310
    OPC_CheckPredicate6, 
595
310
    OPC_CheckTypeI32,
596
310
    OPC_CheckPatternPredicate2,
597
310
    OPC_CheckComplexPat0, /*#*/1,
598
310
    OPC_EmitMergeInputChains1_0,
599
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
600
310
                  MVT::i32, 2, 2, 3, 
601
310
   16, 
602
310
    OPC_CheckPredicate, 21,
603
310
    OPC_CheckPredicate6, 
604
310
    OPC_CheckTypeI32,
605
310
    OPC_CheckPatternPredicate2,
606
310
    OPC_CheckComplexPat1, /*#*/1,
607
310
    OPC_EmitMergeInputChains1_0,
608
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
609
310
                  MVT::i32, 2, 2, 3, 
610
310
   16, 
611
310
    OPC_CheckPredicate, 20,
612
310
    OPC_CheckPredicate4, 
613
310
    OPC_CheckTypeI32,
614
310
    OPC_CheckPatternPredicate2,
615
310
    OPC_CheckComplexPat1, /*#*/1,
616
310
    OPC_EmitMergeInputChains1_0,
617
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
618
310
                  MVT::i32, 2, 2, 3, 
619
310
   16, 
620
310
    OPC_CheckPredicate, 21,
621
310
    OPC_CheckPredicate4, 
622
310
    OPC_CheckTypeI32,
623
310
    OPC_CheckPatternPredicate2,
624
310
    OPC_CheckComplexPat0, /*#*/1,
625
310
    OPC_EmitMergeInputChains1_0,
626
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
627
310
                  MVT::i32, 2, 2, 3, 
628
310
   74, 
629
310
    OPC_CheckPredicate, 24,
630
310
    OPC_CheckTypeI32,
631
310
    OPC_Scope, 12, 
632
310
     OPC_CheckPatternPredicate2,
633
310
     OPC_CheckComplexPat1, /*#*/1,
634
310
     OPC_EmitMergeInputChains1_0,
635
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
636
310
                   MVT::i32, 2, 2, 3, 
637
310
    13, 
638
310
     OPC_CheckPatternPredicate, 38,
639
310
     OPC_CheckComplexPat1, /*#*/1,
640
310
     OPC_EmitMergeInputChains1_0,
641
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2), 0|OPFL_Chain|OPFL_MemRefs,
642
310
                   MVT::i32, 2, 2, 3, 
643
310
    13, 
644
310
     OPC_CheckPatternPredicate, 83,
645
310
     OPC_CheckComplexPat1, /*#*/1,
646
310
     OPC_EmitMergeInputChains1_0,
647
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2), 0|OPFL_Chain|OPFL_MemRefs,
648
310
                   MVT::i32, 2, 2, 3, 
649
310
    13, 
650
310
     OPC_CheckPatternPredicate, 84,
651
310
     OPC_CheckComplexPat1, /*#*/1,
652
310
     OPC_EmitMergeInputChains1_0,
653
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC3), 0|OPFL_Chain|OPFL_MemRefs,
654
310
                   MVT::i32, 2, 2, 3, 
655
310
    13, 
656
310
     OPC_CheckPatternPredicate, 85,
657
310
     OPC_CheckComplexPat1, /*#*/1,
658
310
     OPC_EmitMergeInputChains1_0,
659
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC3), 0|OPFL_Chain|OPFL_MemRefs,
660
310
                   MVT::i32, 2, 2, 3, 
661
310
    0, 
662
310
   48, 
663
310
    OPC_CheckPredicate, 30,
664
310
    OPC_CheckTypeI32,
665
310
    OPC_Scope, 14, 
666
310
     OPC_CheckPredicate, 33,
667
310
     OPC_CheckPatternPredicate2,
668
310
     OPC_CheckComplexPat0, /*#*/1,
669
310
     OPC_EmitMergeInputChains1_0,
670
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
671
310
                   MVT::i32, 2, 2, 3, 
672
310
    13, 
673
310
     OPC_CheckPredicate6, 
674
310
     OPC_CheckPatternPredicate2,
675
310
     OPC_CheckComplexPat0, /*#*/1,
676
310
     OPC_EmitMergeInputChains1_0,
677
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu), 0|OPFL_Chain|OPFL_MemRefs,
678
310
                   MVT::i32, 2, 2, 3, 
679
310
    13, 
680
310
     OPC_CheckPredicate4, 
681
310
     OPC_CheckPatternPredicate2,
682
310
     OPC_CheckComplexPat0, /*#*/1,
683
310
     OPC_EmitMergeInputChains1_0,
684
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu), 0|OPFL_Chain|OPFL_MemRefs,
685
310
                   MVT::i32, 2, 2, 3, 
686
310
    0, 
687
310
   17, 
688
310
    OPC_CheckPredicate, 20,
689
310
    OPC_CheckPredicate6, 
690
310
    OPC_CheckTypeI64,
691
310
    OPC_CheckPatternPredicate, 18,
692
310
    OPC_CheckComplexPat0, /*#*/1,
693
310
    OPC_EmitMergeInputChains1_0,
694
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
695
310
                  MVT::i64, 2, 2, 3, 
696
310
   17, 
697
310
    OPC_CheckPredicate, 21,
698
310
    OPC_CheckPredicate6, 
699
310
    OPC_CheckTypeI64,
700
310
    OPC_CheckPatternPredicate, 18,
701
310
    OPC_CheckComplexPat0, /*#*/1,
702
310
    OPC_EmitMergeInputChains1_0,
703
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu64), 0|OPFL_Chain|OPFL_MemRefs,
704
310
                  MVT::i64, 2, 2, 3, 
705
310
   17, 
706
310
    OPC_CheckPredicate, 20,
707
310
    OPC_CheckPredicate4, 
708
310
    OPC_CheckTypeI64,
709
310
    OPC_CheckPatternPredicate, 18,
710
310
    OPC_CheckComplexPat0, /*#*/1,
711
310
    OPC_EmitMergeInputChains1_0,
712
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
713
310
                  MVT::i64, 2, 2, 3, 
714
310
   17, 
715
310
    OPC_CheckPredicate, 21,
716
310
    OPC_CheckPredicate4, 
717
310
    OPC_CheckTypeI64,
718
310
    OPC_CheckPatternPredicate, 18,
719
310
    OPC_CheckComplexPat0, /*#*/1,
720
310
    OPC_EmitMergeInputChains1_0,
721
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu64), 0|OPFL_Chain|OPFL_MemRefs,
722
310
                  MVT::i64, 2, 2, 3, 
723
310
   18, 
724
310
    OPC_CheckPredicate, 20,
725
310
    OPC_CheckPredicate, 10,
726
310
    OPC_CheckTypeI64,
727
310
    OPC_CheckPatternPredicate, 18,
728
310
    OPC_CheckComplexPat0, /*#*/1,
729
310
    OPC_EmitMergeInputChains1_0,
730
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
731
310
                  MVT::i64, 2, 2, 3, 
732
310
   18, 
733
310
    OPC_CheckPredicate, 21,
734
310
    OPC_CheckPredicate, 10,
735
310
    OPC_CheckTypeI64,
736
310
    OPC_CheckPatternPredicate, 23,
737
310
    OPC_CheckComplexPat0, /*#*/1,
738
310
    OPC_EmitMergeInputChains1_0,
739
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWu), 0|OPFL_Chain|OPFL_MemRefs,
740
310
                  MVT::i64, 2, 2, 3, 
741
310
   16, 
742
310
    OPC_CheckPredicate, 24,
743
310
    OPC_CheckTypeI64,
744
310
    OPC_CheckPatternPredicate, 23,
745
310
    OPC_CheckComplexPat0, /*#*/1,
746
310
    OPC_EmitMergeInputChains1_0,
747
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
748
310
                  MVT::i64, 2, 2, 3, 
749
310
   67, 
750
310
    OPC_CheckPredicate, 30,
751
310
    OPC_CheckTypeI64,
752
310
    OPC_Scope, 15, 
753
310
     OPC_CheckPredicate, 33,
754
310
     OPC_CheckPatternPredicate, 12,
755
310
     OPC_CheckComplexPat0, /*#*/1,
756
310
     OPC_EmitMergeInputChains1_0,
757
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
758
310
                   MVT::i64, 2, 2, 3, 
759
310
    14, 
760
310
     OPC_CheckPredicate6, 
761
310
     OPC_CheckPatternPredicate, 12,
762
310
     OPC_CheckComplexPat0, /*#*/1,
763
310
     OPC_EmitMergeInputChains1_0,
764
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
765
310
                   MVT::i64, 2, 2, 3, 
766
310
    14, 
767
310
     OPC_CheckPredicate4, 
768
310
     OPC_CheckPatternPredicate, 12,
769
310
     OPC_CheckComplexPat0, /*#*/1,
770
310
     OPC_EmitMergeInputChains1_0,
771
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
772
310
                   MVT::i64, 2, 2, 3, 
773
310
    15, 
774
310
     OPC_CheckPredicate, 10,
775
310
     OPC_CheckPatternPredicate, 12,
776
310
     OPC_CheckComplexPat0, /*#*/1,
777
310
     OPC_EmitMergeInputChains1_0,
778
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
779
310
                   MVT::i64, 2, 2, 3, 
780
310
    0, 
781
310
   17, 
782
310
    OPC_CheckPredicate, 20,
783
310
    OPC_CheckPredicate6, 
784
310
    OPC_CheckTypeI32,
785
310
    OPC_CheckPatternPredicate5,
786
310
    OPC_CheckComplexPat, /*CP*/10, /*#*/1,
787
310
    OPC_EmitMergeInputChains1_0,
788
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LbRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
789
310
                  MVT::i32, 2, 2, 3, 
790
310
   17, 
791
310
    OPC_CheckPredicate, 21,
792
310
    OPC_CheckPredicate6, 
793
310
    OPC_CheckTypeI32,
794
310
    OPC_CheckPatternPredicate5,
795
310
    OPC_CheckComplexPat, /*CP*/10, /*#*/1,
796
310
    OPC_EmitMergeInputChains1_0,
797
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
798
310
                  MVT::i32, 2, 2, 3, 
799
310
   17, 
800
310
    OPC_CheckPredicate, 20,
801
310
    OPC_CheckPredicate4, 
802
310
    OPC_CheckTypeI32,
803
310
    OPC_CheckPatternPredicate5,
804
310
    OPC_CheckComplexPat, /*CP*/10, /*#*/1,
805
310
    OPC_EmitMergeInputChains1_0,
806
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LhRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
807
310
                  MVT::i32, 2, 2, 3, 
808
310
   17, 
809
310
    OPC_CheckPredicate, 21,
810
310
    OPC_CheckPredicate4, 
811
310
    OPC_CheckTypeI32,
812
310
    OPC_CheckPatternPredicate5,
813
310
    OPC_CheckComplexPat, /*CP*/10, /*#*/1,
814
310
    OPC_EmitMergeInputChains1_0,
815
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
816
310
                  MVT::i32, 2, 2, 3, 
817
310
   16, 
818
310
    OPC_CheckPredicate, 24,
819
310
    OPC_CheckTypeI32,
820
310
    OPC_CheckPatternPredicate5,
821
310
    OPC_CheckComplexPat, /*CP*/20, /*#*/1,
822
310
    OPC_EmitMergeInputChains1_0,
823
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LwRxSpImmX16), 0|OPFL_Chain|OPFL_MemRefs,
824
310
                  MVT::i32, 2, 2, 3, 
825
310
   35, 
826
310
    OPC_CheckPredicate, 30,
827
310
    OPC_CheckTypeI32,
828
310
    OPC_Scope, 14, 
829
310
     OPC_CheckPredicate6, 
830
310
     OPC_CheckPatternPredicate5,
831
310
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
832
310
     OPC_EmitMergeInputChains1_0,
833
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LbuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
834
310
                   MVT::i32, 2, 2, 3, 
835
310
    14, 
836
310
     OPC_CheckPredicate4, 
837
310
     OPC_CheckPatternPredicate5,
838
310
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
839
310
     OPC_EmitMergeInputChains1_0,
840
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LhuRxRyOffMemX16), 0|OPFL_Chain|OPFL_MemRefs,
841
310
                   MVT::i32, 2, 2, 3, 
842
310
    0, 
843
310
   16, 
844
310
    OPC_CheckPredicate, 20,
845
310
    OPC_CheckPredicate6, 
846
310
    OPC_CheckTypeI32,
847
310
    OPC_CheckPatternPredicate4,
848
310
    OPC_CheckComplexPat0, /*#*/1,
849
310
    OPC_EmitMergeInputChains1_0,
850
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
851
310
                  MVT::i32, 2, 2, 3, 
852
310
   16, 
853
310
    OPC_CheckPredicate, 21,
854
310
    OPC_CheckPredicate6, 
855
310
    OPC_CheckTypeI32,
856
310
    OPC_CheckPatternPredicate4,
857
310
    OPC_CheckComplexPat0, /*#*/1,
858
310
    OPC_EmitMergeInputChains1_0,
859
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
860
310
                  MVT::i32, 2, 2, 3, 
861
310
   16, 
862
310
    OPC_CheckPredicate, 20,
863
310
    OPC_CheckPredicate4, 
864
310
    OPC_CheckTypeI32,
865
310
    OPC_CheckPatternPredicate4,
866
310
    OPC_CheckComplexPat1, /*#*/1,
867
310
    OPC_EmitMergeInputChains1_0,
868
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
869
310
                  MVT::i32, 2, 2, 3, 
870
310
   35, 
871
310
    OPC_CheckPredicate, 21,
872
310
    OPC_CheckTypeI32,
873
310
    OPC_Scope, 13, 
874
310
     OPC_CheckPredicate4, 
875
310
     OPC_CheckPatternPredicate4,
876
310
     OPC_CheckComplexPat0, /*#*/1,
877
310
     OPC_EmitMergeInputChains1_0,
878
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
879
310
                   MVT::i32, 2, 2, 3, 
880
310
    15, 
881
310
     OPC_CheckPredicate, 10,
882
310
     OPC_CheckPatternPredicate, 8,
883
310
     OPC_CheckComplexPat6, /*#*/1,
884
310
     OPC_EmitMergeInputChains1_0,
885
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWU_MM), 0|OPFL_Chain|OPFL_MemRefs,
886
310
                   MVT::i32, 2, 2, 3, 
887
310
    0, 
888
310
   31, 
889
310
    OPC_CheckPredicate, 24,
890
310
    OPC_CheckTypeI32,
891
310
    OPC_CheckPatternPredicate4,
892
310
    OPC_Scope, 12, 
893
310
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
894
310
     OPC_EmitMergeInputChains1_0,
895
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LW16_MM), 0|OPFL_Chain|OPFL_MemRefs,
896
310
                   MVT::i32, 2, 2, 3, 
897
310
    11, 
898
310
     OPC_CheckComplexPat0, /*#*/1,
899
310
     OPC_EmitMergeInputChains1_0,
900
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
901
310
                   MVT::i32, 2, 2, 3, 
902
310
    0, 
903
310
   48, 
904
310
    OPC_CheckPredicate, 30,
905
310
    OPC_CheckTypeI32,
906
310
    OPC_Scope, 14, 
907
310
     OPC_CheckPredicate, 33,
908
310
     OPC_CheckPatternPredicate4,
909
310
     OPC_CheckComplexPat0, /*#*/1,
910
310
     OPC_EmitMergeInputChains1_0,
911
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
912
310
                   MVT::i32, 2, 2, 3, 
913
310
    13, 
914
310
     OPC_CheckPredicate6, 
915
310
     OPC_CheckPatternPredicate4,
916
310
     OPC_CheckComplexPat0, /*#*/1,
917
310
     OPC_EmitMergeInputChains1_0,
918
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LBu_MM), 0|OPFL_Chain|OPFL_MemRefs,
919
310
                   MVT::i32, 2, 2, 3, 
920
310
    13, 
921
310
     OPC_CheckPredicate4, 
922
310
     OPC_CheckPatternPredicate4,
923
310
     OPC_CheckComplexPat0, /*#*/1,
924
310
     OPC_EmitMergeInputChains1_0,
925
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LHu_MM), 0|OPFL_Chain|OPFL_MemRefs,
926
310
                   MVT::i32, 2, 2, 3, 
927
310
    0, 
928
310
   22|128,1, 
929
310
    OPC_CheckPredicate, 24,
930
310
    OPC_SwitchType , 40, MVT::i32,
931
310
     OPC_CheckPatternPredicate7,
932
310
     OPC_Scope, 11, 
933
310
      OPC_CheckComplexPat1, /*#*/1,
934
310
      OPC_EmitMergeInputChains1_0,
935
310
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
936
310
                    MVT::i32, 2, 2, 3, 
937
310
     24, 
938
310
      OPC_CheckComplexPat, /*CP*/25, /*#*/1,
939
310
      OPC_EmitMergeInputChains1_0,
940
310
      OPC_Scope, 8, 
941
310
       OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
942
310
                     MVT::i32, 2, 2, 3, 
943
310
      8, 
944
310
       OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC2_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
945
310
                     MVT::i32, 2, 2, 3, 
946
310
      0, 
947
310
     0, 
948
310
    72, MVT::f64,
949
310
     OPC_Scope, 13, 
950
310
      OPC_CheckPatternPredicate, 79,
951
310
      OPC_CheckComplexPat2, /*#*/1,
952
310
      OPC_EmitMergeInputChains1_0,
953
310
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
954
310
                    MVT::f64, 2, 2, 3, 
955
310
     13, 
956
310
      OPC_CheckPatternPredicate, 49,
957
310
      OPC_CheckComplexPat2, /*#*/1,
958
310
      OPC_EmitMergeInputChains1_0,
959
310
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
960
310
                    MVT::f64, 2, 2, 3, 
961
310
     13, 
962
310
      OPC_CheckPatternPredicate, 50,
963
310
      OPC_CheckComplexPat2, /*#*/1,
964
310
      OPC_EmitMergeInputChains1_0,
965
310
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
966
310
                    MVT::f64, 2, 2, 3, 
967
310
     13, 
968
310
      OPC_CheckPatternPredicate, 51,
969
310
      OPC_CheckComplexPat2, /*#*/1,
970
310
      OPC_EmitMergeInputChains1_0,
971
310
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
972
310
                    MVT::f64, 2, 2, 3, 
973
310
     13, 
974
310
      OPC_CheckPatternPredicate, 44,
975
310
      OPC_CheckComplexPat2, /*#*/1,
976
310
      OPC_EmitMergeInputChains1_0,
977
310
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
978
310
                    MVT::f64, 2, 2, 3, 
979
310
     0, 
980
310
    28, MVT::f32,
981
310
     OPC_Scope, 12, 
982
310
      OPC_CheckPatternPredicate2,
983
310
      OPC_CheckComplexPat2, /*#*/1,
984
310
      OPC_EmitMergeInputChains1_0,
985
310
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
986
310
                    MVT::f32, 2, 2, 3, 
987
310
     12, 
988
310
      OPC_CheckPatternPredicate4,
989
310
      OPC_CheckComplexPat2, /*#*/1,
990
310
      OPC_EmitMergeInputChains1_0,
991
310
      OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
992
310
                    MVT::f32, 2, 2, 3, 
993
310
     0, 
994
310
    0,
995
310
   0, 
996
310
  69, 
997
310
   OPC_MoveChild1,
998
310
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
999
310
   OPC_RecordChild0,
1000
310
   OPC_RecordChild1,
1001
310
   OPC_MoveParent,
1002
310
   OPC_CheckPredicate, 27,
1003
310
   OPC_CheckPredicate, 24,
1004
310
   OPC_SwitchType , 26, MVT::f32,
1005
310
    OPC_Scope, 11, 
1006
310
     OPC_CheckPatternPredicate, 82,
1007
310
     OPC_EmitMergeInputChains1_0,
1008
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1), 0|OPFL_Chain|OPFL_MemRefs,
1009
310
                   MVT::f32, 2, 1, 2, 
1010
310
    11, 
1011
310
     OPC_CheckPatternPredicate, 31,
1012
310
     OPC_EmitMergeInputChains1_0,
1013
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWXC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
1014
310
                   MVT::f32, 2, 1, 2, 
1015
310
    0, 
1016
310
   26, MVT::f64,
1017
310
    OPC_Scope, 11, 
1018
310
     OPC_CheckPatternPredicate, 80,
1019
310
     OPC_EmitMergeInputChains1_0,
1020
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC1), 0|OPFL_Chain|OPFL_MemRefs,
1021
310
                   MVT::f64, 2, 1, 2, 
1022
310
    11, 
1023
310
     OPC_CheckPatternPredicate, 81,
1024
310
     OPC_EmitMergeInputChains1_0,
1025
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDXC164), 0|OPFL_Chain|OPFL_MemRefs,
1026
310
                   MVT::f64, 2, 1, 2, 
1027
310
    0, 
1028
310
   0,
1029
310
  24|128,2, 
1030
310
   OPC_RecordChild1,
1031
310
   OPC_CheckPredicate, 27,
1032
310
   OPC_CheckPredicate, 24,
1033
310
   OPC_SwitchType , 30, MVT::f32,
1034
310
    OPC_Scope, 13, 
1035
310
     OPC_CheckPatternPredicate, 39,
1036
310
     OPC_CheckComplexPat1, /*#*/1,
1037
310
     OPC_EmitMergeInputChains1_0,
1038
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1), 0|OPFL_Chain|OPFL_MemRefs,
1039
310
                   MVT::f32, 2, 2, 3, 
1040
310
    13, 
1041
310
     OPC_CheckPatternPredicate, 32,
1042
310
     OPC_CheckComplexPat1, /*#*/1,
1043
310
     OPC_EmitMergeInputChains1_0,
1044
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LWC1_MM), 0|OPFL_Chain|OPFL_MemRefs,
1045
310
                   MVT::f32, 2, 2, 3, 
1046
310
    0, 
1047
310
   73, MVT::f64,
1048
310
    OPC_Scope, 13, 
1049
310
     OPC_CheckPatternPredicate, 59,
1050
310
     OPC_CheckComplexPat1, /*#*/1,
1051
310
     OPC_EmitMergeInputChains1_0,
1052
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC164), 0|OPFL_Chain|OPFL_MemRefs,
1053
310
                   MVT::f64, 2, 2, 3, 
1054
310
    13, 
1055
310
     OPC_CheckPatternPredicate, 60,
1056
310
     OPC_CheckComplexPat1, /*#*/1,
1057
310
     OPC_EmitMergeInputChains1_0,
1058
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1), 0|OPFL_Chain|OPFL_MemRefs,
1059
310
                   MVT::f64, 2, 2, 3, 
1060
310
    13, 
1061
310
     OPC_CheckPatternPredicate, 33,
1062
310
     OPC_CheckComplexPat1, /*#*/1,
1063
310
     OPC_EmitMergeInputChains1_0,
1064
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D32), 0|OPFL_Chain|OPFL_MemRefs,
1065
310
                   MVT::f64, 2, 2, 3, 
1066
310
    13, 
1067
310
     OPC_CheckPatternPredicate, 34,
1068
310
     OPC_CheckComplexPat1, /*#*/1,
1069
310
     OPC_EmitMergeInputChains1_0,
1070
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_MM_D64), 0|OPFL_Chain|OPFL_MemRefs,
1071
310
                   MVT::f64, 2, 2, 3, 
1072
310
    14, 
1073
310
     OPC_CheckPatternPredicate, 86,
1074
310
     OPC_CheckComplexPat, /*CP*/26, /*#*/1,
1075
310
     OPC_EmitMergeInputChains1_0,
1076
310
     OPC_MorphNodeTo1, TARGET_VAL(Mips::LDC1_D64_MMR6), 0|OPFL_Chain|OPFL_MemRefs,
1077
310
                   MVT::f64, 2, 2, 3, 
1078
310
    0, 
1079
310
   13, MVT::f16,
1080
310
    OPC_CheckPatternPredicate3,
1081
310
    OPC_CheckComplexPat, /*CP*/16, /*#*/1,
1082
310
    OPC_EmitMergeInputChains1_0,
1083
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_F16), 0|OPFL_Chain|OPFL_MemRefs,
1084
310
                  MVT::f16, 2, 2, 3, 
1085
310
   13, MVT::v16i8,
1086
310
    OPC_CheckPatternPredicate0,
1087
310
    OPC_CheckComplexPat, /*CP*/16, /*#*/1,
1088
310
    OPC_EmitMergeInputChains1_0,
1089
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_B), 0|OPFL_Chain|OPFL_MemRefs,
1090
310
                  MVT::v16i8, 2, 2, 3, 
1091
310
   13, MVT::v8i16,
1092
310
    OPC_CheckPatternPredicate0,
1093
310
    OPC_CheckComplexPat, /*CP*/17, /*#*/1,
1094
310
    OPC_EmitMergeInputChains1_0,
1095
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
1096
310
                  MVT::v8i16, 2, 2, 3, 
1097
310
   13, MVT::v4i32,
1098
310
    OPC_CheckPatternPredicate0,
1099
310
    OPC_CheckComplexPat, /*CP*/18, /*#*/1,
1100
310
    OPC_EmitMergeInputChains1_0,
1101
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
1102
310
                  MVT::v4i32, 2, 2, 3, 
1103
310
   13, MVT::v2i64,
1104
310
    OPC_CheckPatternPredicate0,
1105
310
    OPC_CheckComplexPat, /*CP*/19, /*#*/1,
1106
310
    OPC_EmitMergeInputChains1_0,
1107
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
1108
310
                  MVT::v2i64, 2, 2, 3, 
1109
310
   21, MVT::v2i16,
1110
310
    OPC_CheckPatternPredicate1,
1111
310
    OPC_CheckComplexPat0, /*#*/1,
1112
310
    OPC_EmitMergeInputChains1_0,
1113
310
    OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
1114
310
                  MVT::i32, 2, 2, 3, 
1115
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
1116
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1117
310
                  MVT::v2i16, 2, 4, 5, 
1118
310
   21, MVT::v4i8,
1119
310
    OPC_CheckPatternPredicate1,
1120
310
    OPC_CheckComplexPat0, /*#*/1,
1121
310
    OPC_EmitMergeInputChains1_0,
1122
310
    OPC_EmitNode1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
1123
310
                  MVT::i32, 2, 2, 3, 
1124
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
1125
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
1126
310
                  MVT::v4i8, 2, 4, 5, 
1127
310
   13, MVT::v8f16,
1128
310
    OPC_CheckPatternPredicate3,
1129
310
    OPC_CheckComplexPat, /*CP*/17, /*#*/1,
1130
310
    OPC_EmitMergeInputChains1_0,
1131
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_H), 0|OPFL_Chain|OPFL_MemRefs,
1132
310
                  MVT::v8f16, 2, 2, 3, 
1133
310
   13, MVT::v4f32,
1134
310
    OPC_CheckPatternPredicate3,
1135
310
    OPC_CheckComplexPat, /*CP*/18, /*#*/1,
1136
310
    OPC_EmitMergeInputChains1_0,
1137
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_W), 0|OPFL_Chain|OPFL_MemRefs,
1138
310
                  MVT::v4f32, 2, 2, 3, 
1139
310
   13, MVT::v2f64,
1140
310
    OPC_CheckPatternPredicate3,
1141
310
    OPC_CheckComplexPat, /*CP*/19, /*#*/1,
1142
310
    OPC_EmitMergeInputChains1_0,
1143
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD_D), 0|OPFL_Chain|OPFL_MemRefs,
1144
310
                  MVT::v2f64, 2, 2, 3, 
1145
310
   0,
1146
310
  0, 
1147
310
 96|128,17, TARGET_VAL(ISD::BRCOND),
1148
310
  OPC_RecordNode,
1149
310
  OPC_Scope, 12|128,17, 
1150
310
   OPC_MoveChild1,
1151
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
1152
310
   OPC_Scope, 110|128,3, 
1153
310
    OPC_MoveChild0,
1154
310
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
1155
310
    OPC_Scope, 3|128,1, 
1156
310
     OPC_RecordChild0,
1157
310
     OPC_MoveChild1,
1158
310
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1159
310
     OPC_Scope, 59, 
1160
310
      OPC_CheckChild0Integer, 2, 
1161
310
      OPC_RecordChild1,
1162
310
      OPC_MoveChild1,
1163
310
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1164
310
      OPC_CheckPredicate, 29,
1165
310
      OPC_CheckTypeI64,
1166
310
      OPC_MoveParent,
1167
310
      OPC_MoveParent,
1168
310
      OPC_CheckTypeI64,
1169
310
      OPC_MoveParent,
1170
310
      OPC_CheckChild1Integer, 0, 
1171
310
      OPC_CheckTypeI32,
1172
310
      OPC_Scope, 19, 
1173
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
1174
310
       OPC_MoveSibling2,
1175
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1176
310
       OPC_RecordNode,
1177
310
       OPC_MoveParent,
1178
310
       OPC_CheckPatternPredicate, 25,
1179
310
       OPC_EmitMergeInputChains1_0,
1180
310
       OPC_EmitConvertToTarget2,
1181
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1182
310
                     3, 1, 4, 3, 
1183
310
      19, 
1184
310
       OPC_CheckChild2CondCode, ISD::SETNE,
1185
310
       OPC_MoveSibling2,
1186
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1187
310
       OPC_RecordNode,
1188
310
       OPC_MoveParent,
1189
310
       OPC_CheckPatternPredicate, 25,
1190
310
       OPC_EmitMergeInputChains1_0,
1191
310
       OPC_EmitConvertToTarget2,
1192
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1193
310
                     3, 1, 4, 3, 
1194
310
      0, 
1195
310
     63, 
1196
310
      OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,32, 
1197
310
      OPC_RecordChild1,
1198
310
      OPC_MoveChild1,
1199
310
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1200
310
      OPC_CheckPredicate, 29,
1201
310
      OPC_CheckTypeI64,
1202
310
      OPC_MoveParent,
1203
310
      OPC_MoveParent,
1204
310
      OPC_CheckTypeI64,
1205
310
      OPC_MoveParent,
1206
310
      OPC_CheckChild1Integer, 0, 
1207
310
      OPC_CheckTypeI32,
1208
310
      OPC_Scope, 19, 
1209
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
1210
310
       OPC_MoveSibling2,
1211
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1212
310
       OPC_RecordNode,
1213
310
       OPC_MoveParent,
1214
310
       OPC_CheckPatternPredicate, 25,
1215
310
       OPC_EmitMergeInputChains1_0,
1216
310
       OPC_EmitConvertToTarget2,
1217
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1218
310
                     3, 1, 4, 3, 
1219
310
      19, 
1220
310
       OPC_CheckChild2CondCode, ISD::SETNE,
1221
310
       OPC_MoveSibling2,
1222
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1223
310
       OPC_RecordNode,
1224
310
       OPC_MoveParent,
1225
310
       OPC_CheckPatternPredicate, 25,
1226
310
       OPC_EmitMergeInputChains1_0,
1227
310
       OPC_EmitConvertToTarget2,
1228
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1229
310
                     3, 1, 4, 3, 
1230
310
      0, 
1231
310
     0, 
1232
310
    4|128,1, 
1233
310
     OPC_MoveChild0,
1234
310
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1235
310
     OPC_Scope, 60, 
1236
310
      OPC_CheckChild0Integer, 2, 
1237
310
      OPC_RecordChild1,
1238
310
      OPC_MoveChild1,
1239
310
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1240
310
      OPC_CheckPredicate, 29,
1241
310
      OPC_CheckTypeI64,
1242
310
      OPC_MoveParent,
1243
310
      OPC_MoveParent,
1244
310
      OPC_RecordChild1,
1245
310
      OPC_CheckTypeI64,
1246
310
      OPC_MoveParent,
1247
310
      OPC_CheckChild1Integer, 0, 
1248
310
      OPC_CheckTypeI32,
1249
310
      OPC_Scope, 19, 
1250
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
1251
310
       OPC_MoveSibling2,
1252
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1253
310
       OPC_RecordNode,
1254
310
       OPC_MoveParent,
1255
310
       OPC_CheckPatternPredicate, 25,
1256
310
       OPC_EmitMergeInputChains1_0,
1257
310
       OPC_EmitConvertToTarget1,
1258
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1259
310
                     3, 2, 4, 3, 
1260
310
      19, 
1261
310
       OPC_CheckChild2CondCode, ISD::SETNE,
1262
310
       OPC_MoveSibling2,
1263
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1264
310
       OPC_RecordNode,
1265
310
       OPC_MoveParent,
1266
310
       OPC_CheckPatternPredicate, 25,
1267
310
       OPC_EmitMergeInputChains1_0,
1268
310
       OPC_EmitConvertToTarget1,
1269
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1270
310
                     3, 2, 4, 3, 
1271
310
      0, 
1272
310
     64, 
1273
310
      OPC_CheckChild0Integer, 0|128,0|128,0|128,0|128,32, 
1274
310
      OPC_RecordChild1,
1275
310
      OPC_MoveChild1,
1276
310
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1277
310
      OPC_CheckPredicate, 29,
1278
310
      OPC_CheckTypeI64,
1279
310
      OPC_MoveParent,
1280
310
      OPC_MoveParent,
1281
310
      OPC_RecordChild1,
1282
310
      OPC_CheckTypeI64,
1283
310
      OPC_MoveParent,
1284
310
      OPC_CheckChild1Integer, 0, 
1285
310
      OPC_CheckTypeI32,
1286
310
      OPC_Scope, 19, 
1287
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
1288
310
       OPC_MoveSibling2,
1289
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1290
310
       OPC_RecordNode,
1291
310
       OPC_MoveParent,
1292
310
       OPC_CheckPatternPredicate, 25,
1293
310
       OPC_EmitMergeInputChains1_0,
1294
310
       OPC_EmitConvertToTarget1,
1295
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1296
310
                     3, 2, 4, 3, 
1297
310
      19, 
1298
310
       OPC_CheckChild2CondCode, ISD::SETNE,
1299
310
       OPC_MoveSibling2,
1300
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1301
310
       OPC_RecordNode,
1302
310
       OPC_MoveParent,
1303
310
       OPC_CheckPatternPredicate, 25,
1304
310
       OPC_EmitMergeInputChains1_0,
1305
310
       OPC_EmitConvertToTarget1,
1306
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1307
310
                     3, 2, 4, 3, 
1308
310
      0, 
1309
310
     0, 
1310
310
    91|128,1, 
1311
310
     OPC_RecordChild0,
1312
310
     OPC_RecordChild1,
1313
310
     OPC_MoveChild1,
1314
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1315
310
     OPC_Scope, 30, 
1316
310
      OPC_CheckPredicate, 43,
1317
310
      OPC_MoveParent,
1318
310
      OPC_CheckTypeI64,
1319
310
      OPC_MoveParent,
1320
310
      OPC_CheckChild1Integer, 0, 
1321
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
1322
310
      OPC_CheckTypeI32,
1323
310
      OPC_MoveSibling2,
1324
310
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1325
310
      OPC_RecordNode,
1326
310
      OPC_MoveParent,
1327
310
      OPC_CheckPatternPredicate, 40,
1328
310
      OPC_EmitMergeInputChains1_0,
1329
310
      OPC_EmitConvertToTarget2,
1330
310
      OPC_EmitNodeXForm, 0, 4,
1331
310
      OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1332
310
                    3, 1, 5, 3, 
1333
310
     30, 
1334
310
      OPC_CheckPredicate, 44,
1335
310
      OPC_MoveParent,
1336
310
      OPC_CheckTypeI64,
1337
310
      OPC_MoveParent,
1338
310
      OPC_CheckChild1Integer, 0, 
1339
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
1340
310
      OPC_CheckTypeI32,
1341
310
      OPC_MoveSibling2,
1342
310
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1343
310
      OPC_RecordNode,
1344
310
      OPC_MoveParent,
1345
310
      OPC_CheckPatternPredicate, 40,
1346
310
      OPC_EmitMergeInputChains1_0,
1347
310
      OPC_EmitConvertToTarget2,
1348
310
      OPC_EmitNodeXForm, 1, 4,
1349
310
      OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT032),
1350
310
                    3, 1, 5, 3, 
1351
310
     30, 
1352
310
      OPC_CheckPredicate, 43,
1353
310
      OPC_MoveParent,
1354
310
      OPC_CheckTypeI64,
1355
310
      OPC_MoveParent,
1356
310
      OPC_CheckChild1Integer, 0, 
1357
310
      OPC_CheckChild2CondCode, ISD::SETNE,
1358
310
      OPC_CheckTypeI32,
1359
310
      OPC_MoveSibling2,
1360
310
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1361
310
      OPC_RecordNode,
1362
310
      OPC_MoveParent,
1363
310
      OPC_CheckPatternPredicate, 40,
1364
310
      OPC_EmitMergeInputChains1_0,
1365
310
      OPC_EmitConvertToTarget2,
1366
310
      OPC_EmitNodeXForm, 0, 4,
1367
310
      OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1368
310
                    3, 1, 5, 3, 
1369
310
     30, 
1370
310
      OPC_CheckPredicate, 44,
1371
310
      OPC_MoveParent,
1372
310
      OPC_CheckTypeI64,
1373
310
      OPC_MoveParent,
1374
310
      OPC_CheckChild1Integer, 0, 
1375
310
      OPC_CheckChild2CondCode, ISD::SETNE,
1376
310
      OPC_CheckTypeI32,
1377
310
      OPC_MoveSibling2,
1378
310
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1379
310
      OPC_RecordNode,
1380
310
      OPC_MoveParent,
1381
310
      OPC_CheckPatternPredicate, 40,
1382
310
      OPC_EmitMergeInputChains1_0,
1383
310
      OPC_EmitConvertToTarget2,
1384
310
      OPC_EmitNodeXForm, 1, 4,
1385
310
      OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT132),
1386
310
                    3, 1, 5, 3, 
1387
310
     86, 
1388
310
      OPC_CheckPredicate, 56,
1389
310
      OPC_MoveParent,
1390
310
      OPC_CheckTypeI32,
1391
310
      OPC_MoveParent,
1392
310
      OPC_CheckChild1Integer, 0, 
1393
310
      OPC_CheckTypeI32,
1394
310
      OPC_Scope, 37, 
1395
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
1396
310
       OPC_MoveSibling2,
1397
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1398
310
       OPC_RecordNode,
1399
310
       OPC_MoveParent,
1400
310
       OPC_CheckPatternPredicate, 40,
1401
310
       OPC_EmitMergeInputChains1_0,
1402
310
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
1403
310
                     MVT::i64, 0, 
1404
310
       OPC_EmitStringInteger32, Mips::sub_32,
1405
310
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
1406
310
                     MVT::i64, 3, 4, 1, 5, 
1407
310
       OPC_EmitConvertToTarget2,
1408
310
       OPC_EmitNodeXForm, 0, 7,
1409
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT0),
1410
310
                     3, 6, 8, 3, 
1411
310
      37, 
1412
310
       OPC_CheckChild2CondCode, ISD::SETNE,
1413
310
       OPC_MoveSibling2,
1414
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1415
310
       OPC_RecordNode,
1416
310
       OPC_MoveParent,
1417
310
       OPC_CheckPatternPredicate, 40,
1418
310
       OPC_EmitMergeInputChains1_0,
1419
310
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
1420
310
                     MVT::i64, 0, 
1421
310
       OPC_EmitStringInteger32, Mips::sub_32,
1422
310
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
1423
310
                     MVT::i64, 3, 4, 1, 5, 
1424
310
       OPC_EmitConvertToTarget2,
1425
310
       OPC_EmitNodeXForm, 0, 7,
1426
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BBIT1),
1427
310
                     3, 6, 8, 3, 
1428
310
      0, 
1429
310
     0, 
1430
310
    0, 
1431
310
   20|128,13, 
1432
310
    OPC_RecordChild0,
1433
310
    OPC_Scope, 52|128,9, 
1434
310
     OPC_CheckChild0TypeI32,
1435
310
     OPC_Scope, 105|128,1, 
1436
310
      OPC_CheckChild1Integer, 0, 
1437
310
      OPC_CheckTypeI32,
1438
310
      OPC_Scope, 29, 
1439
310
       OPC_CheckChild2CondCode, ISD::SETGE,
1440
310
       OPC_MoveSibling2,
1441
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1442
310
       OPC_RecordNode,
1443
310
       OPC_MoveParent,
1444
310
       OPC_Scope, 8, 
1445
310
        OPC_CheckPatternPredicate2,
1446
310
        OPC_EmitMergeInputChains1_0,
1447
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ),
1448
310
                      2, 1, 2, 
1449
310
       9, 
1450
310
        OPC_CheckPatternPredicate, 8,
1451
310
        OPC_EmitMergeInputChains1_0,
1452
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ_MM),
1453
310
                      2, 1, 2, 
1454
310
       0, 
1455
310
      29, 
1456
310
       OPC_CheckChild2CondCode, ISD::SETGT,
1457
310
       OPC_MoveSibling2,
1458
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1459
310
       OPC_RecordNode,
1460
310
       OPC_MoveParent,
1461
310
       OPC_Scope, 8, 
1462
310
        OPC_CheckPatternPredicate2,
1463
310
        OPC_EmitMergeInputChains1_0,
1464
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ),
1465
310
                      2, 1, 2, 
1466
310
       9, 
1467
310
        OPC_CheckPatternPredicate, 8,
1468
310
        OPC_EmitMergeInputChains1_0,
1469
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ_MM),
1470
310
                      2, 1, 2, 
1471
310
       0, 
1472
310
      29, 
1473
310
       OPC_CheckChild2CondCode, ISD::SETLE,
1474
310
       OPC_MoveSibling2,
1475
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1476
310
       OPC_RecordNode,
1477
310
       OPC_MoveParent,
1478
310
       OPC_Scope, 8, 
1479
310
        OPC_CheckPatternPredicate2,
1480
310
        OPC_EmitMergeInputChains1_0,
1481
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ),
1482
310
                      2, 1, 2, 
1483
310
       9, 
1484
310
        OPC_CheckPatternPredicate, 8,
1485
310
        OPC_EmitMergeInputChains1_0,
1486
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ_MM),
1487
310
                      2, 1, 2, 
1488
310
       0, 
1489
310
      29, 
1490
310
       OPC_CheckChild2CondCode, ISD::SETLT,
1491
310
       OPC_MoveSibling2,
1492
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1493
310
       OPC_RecordNode,
1494
310
       OPC_MoveParent,
1495
310
       OPC_Scope, 8, 
1496
310
        OPC_CheckPatternPredicate2,
1497
310
        OPC_EmitMergeInputChains1_0,
1498
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ),
1499
310
                      2, 1, 2, 
1500
310
       9, 
1501
310
        OPC_CheckPatternPredicate, 8,
1502
310
        OPC_EmitMergeInputChains1_0,
1503
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ_MM),
1504
310
                      2, 1, 2, 
1505
310
       0, 
1506
310
      53, 
1507
310
       OPC_CheckChild2CondCode, ISD::SETNE,
1508
310
       OPC_MoveSibling2,
1509
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1510
310
       OPC_RecordNode,
1511
310
       OPC_MoveParent,
1512
310
       OPC_Scope, 11, 
1513
310
        OPC_CheckPatternPredicate2,
1514
310
        OPC_EmitMergeInputChains1_0,
1515
310
        OPC_EmitRegisterI32, Mips::ZERO,
1516
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
1517
310
                      3, 1, 3, 2, 
1518
310
       8, 
1519
310
        OPC_CheckPatternPredicate5,
1520
310
        OPC_EmitMergeInputChains1_0,
1521
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BnezRxImm16),
1522
310
                      2, 1, 2, 
1523
310
       12, 
1524
310
        OPC_CheckPatternPredicate, 8,
1525
310
        OPC_EmitMergeInputChains1_0,
1526
310
        OPC_EmitRegisterI32, Mips::ZERO,
1527
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
1528
310
                      3, 1, 3, 2, 
1529
310
       8, 
1530
310
        OPC_CheckPatternPredicate7,
1531
310
        OPC_EmitMergeInputChains1_0,
1532
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNEZC_MMR6),
1533
310
                      2, 1, 2, 
1534
310
       0, 
1535
310
      53, 
1536
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
1537
310
       OPC_MoveSibling2,
1538
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1539
310
       OPC_RecordNode,
1540
310
       OPC_MoveParent,
1541
310
       OPC_Scope, 11, 
1542
310
        OPC_CheckPatternPredicate2,
1543
310
        OPC_EmitMergeInputChains1_0,
1544
310
        OPC_EmitRegisterI32, Mips::ZERO,
1545
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1546
310
                      3, 1, 3, 2, 
1547
310
       8, 
1548
310
        OPC_CheckPatternPredicate5,
1549
310
        OPC_EmitMergeInputChains1_0,
1550
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BeqzRxImm16),
1551
310
                      2, 1, 2, 
1552
310
       12, 
1553
310
        OPC_CheckPatternPredicate, 8,
1554
310
        OPC_EmitMergeInputChains1_0,
1555
310
        OPC_EmitRegisterI32, Mips::ZERO,
1556
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1557
310
                      3, 1, 3, 2, 
1558
310
       8, 
1559
310
        OPC_CheckPatternPredicate7,
1560
310
        OPC_EmitMergeInputChains1_0,
1561
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1562
310
                      2, 1, 2, 
1563
310
       0, 
1564
310
      0, 
1565
310
     32, 
1566
310
      OPC_CheckChild1Integer, 2, 
1567
310
      OPC_CheckChild2CondCode, ISD::SETLT,
1568
310
      OPC_CheckTypeI32,
1569
310
      OPC_MoveSibling2,
1570
310
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1571
310
      OPC_RecordNode,
1572
310
      OPC_MoveParent,
1573
310
      OPC_Scope, 8, 
1574
310
       OPC_CheckPatternPredicate2,
1575
310
       OPC_EmitMergeInputChains1_0,
1576
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ),
1577
310
                     2, 1, 2, 
1578
310
      9, 
1579
310
       OPC_CheckPatternPredicate, 8,
1580
310
       OPC_EmitMergeInputChains1_0,
1581
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ_MM),
1582
310
                     2, 1, 2, 
1583
310
      0, 
1584
310
     32, 
1585
310
      OPC_CheckChild1Integer, 3, 
1586
310
      OPC_CheckChild2CondCode, ISD::SETGT,
1587
310
      OPC_CheckTypeI32,
1588
310
      OPC_MoveSibling2,
1589
310
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1590
310
      OPC_RecordNode,
1591
310
      OPC_MoveParent,
1592
310
      OPC_Scope, 8, 
1593
310
       OPC_CheckPatternPredicate2,
1594
310
       OPC_EmitMergeInputChains1_0,
1595
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ),
1596
310
                     2, 1, 2, 
1597
310
      9, 
1598
310
       OPC_CheckPatternPredicate, 8,
1599
310
       OPC_EmitMergeInputChains1_0,
1600
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ_MM),
1601
310
                     2, 1, 2, 
1602
310
      0, 
1603
310
     2|128,7, 
1604
310
      OPC_RecordChild1,
1605
310
      OPC_Scope, 97|128,3, 
1606
310
       OPC_MoveChild1,
1607
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1608
310
       OPC_Scope, 61, 
1609
310
        OPC_CheckPredicate7, 
1610
310
        OPC_MoveParent,
1611
310
        OPC_CheckTypeI32,
1612
310
        OPC_Scope, 27, 
1613
310
         OPC_CheckChild2CondCode, ISD::SETGE,
1614
310
         OPC_MoveSibling2,
1615
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1616
310
         OPC_RecordNode,
1617
310
         OPC_MoveParent,
1618
310
         OPC_CheckPatternPredicate2,
1619
310
         OPC_EmitMergeInputChains1_0,
1620
310
         OPC_EmitConvertToTarget2,
1621
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
1622
310
                       MVT::i32, 2, 1, 4, 
1623
310
         OPC_EmitRegisterI32, Mips::ZERO,
1624
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1625
310
                       3, 5, 6, 3, 
1626
310
        27, 
1627
310
         OPC_CheckChild2CondCode, ISD::SETUGE,
1628
310
         OPC_MoveSibling2,
1629
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1630
310
         OPC_RecordNode,
1631
310
         OPC_MoveParent,
1632
310
         OPC_CheckPatternPredicate2,
1633
310
         OPC_EmitMergeInputChains1_0,
1634
310
         OPC_EmitConvertToTarget2,
1635
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
1636
310
                       MVT::i32, 2, 1, 4, 
1637
310
         OPC_EmitRegisterI32, Mips::ZERO,
1638
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1639
310
                       3, 5, 6, 3, 
1640
310
        0, 
1641
310
       68, 
1642
310
        OPC_CheckPredicate, 11,
1643
310
        OPC_MoveParent,
1644
310
        OPC_CheckTypeI32,
1645
310
        OPC_Scope, 30, 
1646
310
         OPC_CheckChild2CondCode, ISD::SETGT,
1647
310
         OPC_MoveSibling2,
1648
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1649
310
         OPC_RecordNode,
1650
310
         OPC_MoveParent,
1651
310
         OPC_CheckPatternPredicate2,
1652
310
         OPC_EmitMergeInputChains1_0,
1653
310
         OPC_EmitConvertToTarget2,
1654
310
         OPC_EmitNodeXForm, 2, 4,
1655
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
1656
310
                       MVT::i32, 2, 1, 5, 
1657
310
         OPC_EmitRegisterI32, Mips::ZERO,
1658
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1659
310
                       3, 6, 7, 3, 
1660
310
        30, 
1661
310
         OPC_CheckChild2CondCode, ISD::SETUGT,
1662
310
         OPC_MoveSibling2,
1663
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1664
310
         OPC_RecordNode,
1665
310
         OPC_MoveParent,
1666
310
         OPC_CheckPatternPredicate2,
1667
310
         OPC_EmitMergeInputChains1_0,
1668
310
         OPC_EmitConvertToTarget2,
1669
310
         OPC_EmitNodeXForm, 2, 4,
1670
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
1671
310
                       MVT::i32, 2, 1, 5, 
1672
310
         OPC_EmitRegisterI32, Mips::ZERO,
1673
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1674
310
                       3, 6, 7, 3, 
1675
310
        0, 
1676
310
       63, 
1677
310
        OPC_CheckPredicate7, 
1678
310
        OPC_MoveParent,
1679
310
        OPC_CheckTypeI32,
1680
310
        OPC_Scope, 28, 
1681
310
         OPC_CheckChild2CondCode, ISD::SETGE,
1682
310
         OPC_MoveSibling2,
1683
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1684
310
         OPC_RecordNode,
1685
310
         OPC_MoveParent,
1686
310
         OPC_CheckPatternPredicate, 8,
1687
310
         OPC_EmitMergeInputChains1_0,
1688
310
         OPC_EmitConvertToTarget2,
1689
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1690
310
                       MVT::i32, 2, 1, 4, 
1691
310
         OPC_EmitRegisterI32, Mips::ZERO,
1692
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1693
310
                       3, 5, 6, 3, 
1694
310
        28, 
1695
310
         OPC_CheckChild2CondCode, ISD::SETUGE,
1696
310
         OPC_MoveSibling2,
1697
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1698
310
         OPC_RecordNode,
1699
310
         OPC_MoveParent,
1700
310
         OPC_CheckPatternPredicate, 8,
1701
310
         OPC_EmitMergeInputChains1_0,
1702
310
         OPC_EmitConvertToTarget2,
1703
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1704
310
                       MVT::i32, 2, 1, 4, 
1705
310
         OPC_EmitRegisterI32, Mips::ZERO,
1706
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1707
310
                       3, 5, 6, 3, 
1708
310
        0, 
1709
310
       70, 
1710
310
        OPC_CheckPredicate, 11,
1711
310
        OPC_MoveParent,
1712
310
        OPC_CheckTypeI32,
1713
310
        OPC_Scope, 31, 
1714
310
         OPC_CheckChild2CondCode, ISD::SETGT,
1715
310
         OPC_MoveSibling2,
1716
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1717
310
         OPC_RecordNode,
1718
310
         OPC_MoveParent,
1719
310
         OPC_CheckPatternPredicate, 8,
1720
310
         OPC_EmitMergeInputChains1_0,
1721
310
         OPC_EmitConvertToTarget2,
1722
310
         OPC_EmitNodeXForm, 2, 4,
1723
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1724
310
                       MVT::i32, 2, 1, 5, 
1725
310
         OPC_EmitRegisterI32, Mips::ZERO,
1726
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1727
310
                       3, 6, 7, 3, 
1728
310
        31, 
1729
310
         OPC_CheckChild2CondCode, ISD::SETUGT,
1730
310
         OPC_MoveSibling2,
1731
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1732
310
         OPC_RecordNode,
1733
310
         OPC_MoveParent,
1734
310
         OPC_CheckPatternPredicate, 8,
1735
310
         OPC_EmitMergeInputChains1_0,
1736
310
         OPC_EmitConvertToTarget2,
1737
310
         OPC_EmitNodeXForm, 2, 4,
1738
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1739
310
                       MVT::i32, 2, 1, 5, 
1740
310
         OPC_EmitRegisterI32, Mips::ZERO,
1741
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1742
310
                       3, 6, 7, 3, 
1743
310
        0, 
1744
310
       55, 
1745
310
        OPC_CheckPredicate7, 
1746
310
        OPC_MoveParent,
1747
310
        OPC_CheckTypeI32,
1748
310
        OPC_Scope, 24, 
1749
310
         OPC_CheckChild2CondCode, ISD::SETGE,
1750
310
         OPC_MoveSibling2,
1751
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1752
310
         OPC_RecordNode,
1753
310
         OPC_MoveParent,
1754
310
         OPC_CheckPatternPredicate7,
1755
310
         OPC_EmitMergeInputChains1_0,
1756
310
         OPC_EmitConvertToTarget2,
1757
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1758
310
                       MVT::i32, 2, 1, 4, 
1759
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1760
310
                       2, 5, 3, 
1761
310
        24, 
1762
310
         OPC_CheckChild2CondCode, ISD::SETUGE,
1763
310
         OPC_MoveSibling2,
1764
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1765
310
         OPC_RecordNode,
1766
310
         OPC_MoveParent,
1767
310
         OPC_CheckPatternPredicate7,
1768
310
         OPC_EmitMergeInputChains1_0,
1769
310
         OPC_EmitConvertToTarget2,
1770
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1771
310
                       MVT::i32, 2, 1, 4, 
1772
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1773
310
                       2, 5, 3, 
1774
310
        0, 
1775
310
       62, 
1776
310
        OPC_CheckPredicate, 11,
1777
310
        OPC_MoveParent,
1778
310
        OPC_CheckTypeI32,
1779
310
        OPC_Scope, 27, 
1780
310
         OPC_CheckChild2CondCode, ISD::SETGT,
1781
310
         OPC_MoveSibling2,
1782
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1783
310
         OPC_RecordNode,
1784
310
         OPC_MoveParent,
1785
310
         OPC_CheckPatternPredicate7,
1786
310
         OPC_EmitMergeInputChains1_0,
1787
310
         OPC_EmitConvertToTarget2,
1788
310
         OPC_EmitNodeXForm, 2, 4,
1789
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
1790
310
                       MVT::i32, 2, 1, 5, 
1791
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1792
310
                       2, 6, 3, 
1793
310
        27, 
1794
310
         OPC_CheckChild2CondCode, ISD::SETUGT,
1795
310
         OPC_MoveSibling2,
1796
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1797
310
         OPC_RecordNode,
1798
310
         OPC_MoveParent,
1799
310
         OPC_CheckPatternPredicate7,
1800
310
         OPC_EmitMergeInputChains1_0,
1801
310
         OPC_EmitConvertToTarget2,
1802
310
         OPC_EmitNodeXForm, 2, 4,
1803
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
1804
310
                       MVT::i32, 2, 1, 5, 
1805
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1806
310
                       2, 6, 3, 
1807
310
        0, 
1808
310
       22, 
1809
310
        OPC_CheckPredicate, 13,
1810
310
        OPC_MoveParent,
1811
310
        OPC_CheckChild2CondCode, ISD::SETEQ,
1812
310
        OPC_CheckTypeI32,
1813
310
        OPC_MoveSibling2,
1814
310
        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1815
310
        OPC_RecordNode,
1816
310
        OPC_MoveParent,
1817
310
        OPC_CheckPatternPredicate5,
1818
310
        OPC_EmitMergeInputChains1_0,
1819
310
        OPC_EmitConvertToTarget2,
1820
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8CmpiX16),
1821
310
                      3, 1, 4, 3, 
1822
310
       43, 
1823
310
        OPC_CheckPredicate7, 
1824
310
        OPC_MoveParent,
1825
310
        OPC_CheckTypeI32,
1826
310
        OPC_Scope, 18, 
1827
310
         OPC_CheckChild2CondCode, ISD::SETGE,
1828
310
         OPC_MoveSibling2,
1829
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1830
310
         OPC_RecordNode,
1831
310
         OPC_MoveParent,
1832
310
         OPC_CheckPatternPredicate5,
1833
310
         OPC_EmitMergeInputChains1_0,
1834
310
         OPC_EmitConvertToTarget2,
1835
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltiX16),
1836
310
                       3, 1, 4, 3, 
1837
310
        18, 
1838
310
         OPC_CheckChild2CondCode, ISD::SETLT,
1839
310
         OPC_MoveSibling2,
1840
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1841
310
         OPC_RecordNode,
1842
310
         OPC_MoveParent,
1843
310
         OPC_CheckPatternPredicate5,
1844
310
         OPC_EmitMergeInputChains1_0,
1845
310
         OPC_EmitConvertToTarget2,
1846
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltiX16),
1847
310
                       3, 1, 4, 3, 
1848
310
        0, 
1849
310
       22, 
1850
310
        OPC_CheckPredicate, 13,
1851
310
        OPC_MoveParent,
1852
310
        OPC_CheckChild2CondCode, ISD::SETNE,
1853
310
        OPC_CheckTypeI32,
1854
310
        OPC_MoveSibling2,
1855
310
        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1856
310
        OPC_RecordNode,
1857
310
        OPC_MoveParent,
1858
310
        OPC_CheckPatternPredicate5,
1859
310
        OPC_EmitMergeInputChains1_0,
1860
310
        OPC_EmitConvertToTarget2,
1861
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8CmpiX16),
1862
310
                      3, 1, 4, 3, 
1863
310
       0, 
1864
310
      42, 
1865
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
1866
310
       OPC_CheckTypeI32,
1867
310
       OPC_MoveSibling2,
1868
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1869
310
       OPC_RecordNode,
1870
310
       OPC_MoveParent,
1871
310
       OPC_Scope, 9, 
1872
310
        OPC_CheckPatternPredicate2,
1873
310
        OPC_EmitMergeInputChains1_0,
1874
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1875
310
                      3, 1, 2, 3, 
1876
310
       10, 
1877
310
        OPC_CheckPatternPredicate, 8,
1878
310
        OPC_EmitMergeInputChains1_0,
1879
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1880
310
                      3, 1, 2, 3, 
1881
310
       9, 
1882
310
        OPC_CheckPatternPredicate5,
1883
310
        OPC_EmitMergeInputChains1_0,
1884
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8CmpX16),
1885
310
                      3, 1, 2, 3, 
1886
310
       0, 
1887
310
      42, 
1888
310
       OPC_CheckChild2CondCode, ISD::SETNE,
1889
310
       OPC_CheckTypeI32,
1890
310
       OPC_MoveSibling2,
1891
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1892
310
       OPC_RecordNode,
1893
310
       OPC_MoveParent,
1894
310
       OPC_Scope, 9, 
1895
310
        OPC_CheckPatternPredicate2,
1896
310
        OPC_EmitMergeInputChains1_0,
1897
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
1898
310
                      3, 1, 2, 3, 
1899
310
       10, 
1900
310
        OPC_CheckPatternPredicate, 8,
1901
310
        OPC_EmitMergeInputChains1_0,
1902
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
1903
310
                      3, 1, 2, 3, 
1904
310
       9, 
1905
310
        OPC_CheckPatternPredicate5,
1906
310
        OPC_EmitMergeInputChains1_0,
1907
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8CmpX16),
1908
310
                      3, 1, 2, 3, 
1909
310
       0, 
1910
310
      76, 
1911
310
       OPC_CheckChild2CondCode, ISD::SETGE,
1912
310
       OPC_CheckTypeI32,
1913
310
       OPC_MoveSibling2,
1914
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1915
310
       OPC_RecordNode,
1916
310
       OPC_MoveParent,
1917
310
       OPC_Scope, 18, 
1918
310
        OPC_CheckPatternPredicate2,
1919
310
        OPC_EmitMergeInputChains1_0,
1920
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
1921
310
                      MVT::i32, 2, 1, 2, 
1922
310
        OPC_EmitRegisterI32, Mips::ZERO,
1923
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1924
310
                      3, 4, 5, 3, 
1925
310
       19, 
1926
310
        OPC_CheckPatternPredicate, 8,
1927
310
        OPC_EmitMergeInputChains1_0,
1928
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
1929
310
                      MVT::i32, 2, 1, 2, 
1930
310
        OPC_EmitRegisterI32, Mips::ZERO,
1931
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1932
310
                      3, 4, 5, 3, 
1933
310
       15, 
1934
310
        OPC_CheckPatternPredicate7,
1935
310
        OPC_EmitMergeInputChains1_0,
1936
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
1937
310
                      MVT::i32, 2, 1, 2, 
1938
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1939
310
                      2, 4, 3, 
1940
310
       9, 
1941
310
        OPC_CheckPatternPredicate5,
1942
310
        OPC_EmitMergeInputChains1_0,
1943
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltX16),
1944
310
                      3, 1, 2, 3, 
1945
310
       0, 
1946
310
      66, 
1947
310
       OPC_CheckChild2CondCode, ISD::SETUGE,
1948
310
       OPC_CheckTypeI32,
1949
310
       OPC_MoveSibling2,
1950
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1951
310
       OPC_RecordNode,
1952
310
       OPC_MoveParent,
1953
310
       OPC_Scope, 18, 
1954
310
        OPC_CheckPatternPredicate2,
1955
310
        OPC_EmitMergeInputChains1_0,
1956
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
1957
310
                      MVT::i32, 2, 1, 2, 
1958
310
        OPC_EmitRegisterI32, Mips::ZERO,
1959
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1960
310
                      3, 4, 5, 3, 
1961
310
       19, 
1962
310
        OPC_CheckPatternPredicate, 8,
1963
310
        OPC_EmitMergeInputChains1_0,
1964
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
1965
310
                      MVT::i32, 2, 1, 2, 
1966
310
        OPC_EmitRegisterI32, Mips::ZERO,
1967
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1968
310
                      3, 4, 5, 3, 
1969
310
       15, 
1970
310
        OPC_CheckPatternPredicate7,
1971
310
        OPC_EmitMergeInputChains1_0,
1972
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
1973
310
                      MVT::i32, 2, 1, 2, 
1974
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
1975
310
                      2, 4, 3, 
1976
310
       0, 
1977
310
      76, 
1978
310
       OPC_CheckChild2CondCode, ISD::SETLE,
1979
310
       OPC_CheckTypeI32,
1980
310
       OPC_MoveSibling2,
1981
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1982
310
       OPC_RecordNode,
1983
310
       OPC_MoveParent,
1984
310
       OPC_Scope, 18, 
1985
310
        OPC_CheckPatternPredicate2,
1986
310
        OPC_EmitMergeInputChains1_0,
1987
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
1988
310
                      MVT::i32, 2, 2, 1, 
1989
310
        OPC_EmitRegisterI32, Mips::ZERO,
1990
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
1991
310
                      3, 4, 5, 3, 
1992
310
       19, 
1993
310
        OPC_CheckPatternPredicate, 8,
1994
310
        OPC_EmitMergeInputChains1_0,
1995
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
1996
310
                      MVT::i32, 2, 2, 1, 
1997
310
        OPC_EmitRegisterI32, Mips::ZERO,
1998
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
1999
310
                      3, 4, 5, 3, 
2000
310
       15, 
2001
310
        OPC_CheckPatternPredicate7,
2002
310
        OPC_EmitMergeInputChains1_0,
2003
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
2004
310
                      MVT::i32, 2, 2, 1, 
2005
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2006
310
                      2, 4, 3, 
2007
310
       9, 
2008
310
        OPC_CheckPatternPredicate5,
2009
310
        OPC_EmitMergeInputChains1_0,
2010
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BteqzT8SltX16),
2011
310
                      3, 2, 1, 3, 
2012
310
       0, 
2013
310
      66, 
2014
310
       OPC_CheckChild2CondCode, ISD::SETULE,
2015
310
       OPC_CheckTypeI32,
2016
310
       OPC_MoveSibling2,
2017
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2018
310
       OPC_RecordNode,
2019
310
       OPC_MoveParent,
2020
310
       OPC_Scope, 18, 
2021
310
        OPC_CheckPatternPredicate2,
2022
310
        OPC_EmitMergeInputChains1_0,
2023
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
2024
310
                      MVT::i32, 2, 2, 1, 
2025
310
        OPC_EmitRegisterI32, Mips::ZERO,
2026
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2027
310
                      3, 4, 5, 3, 
2028
310
       19, 
2029
310
        OPC_CheckPatternPredicate, 8,
2030
310
        OPC_EmitMergeInputChains1_0,
2031
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2032
310
                      MVT::i32, 2, 2, 1, 
2033
310
        OPC_EmitRegisterI32, Mips::ZERO,
2034
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ_MM),
2035
310
                      3, 4, 5, 3, 
2036
310
       15, 
2037
310
        OPC_CheckPatternPredicate7,
2038
310
        OPC_EmitMergeInputChains1_0,
2039
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
2040
310
                      MVT::i32, 2, 2, 1, 
2041
310
        OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQZC_MMR6),
2042
310
                      2, 4, 3, 
2043
310
       0, 
2044
310
      18, 
2045
310
       OPC_CheckChild2CondCode, ISD::SETGT,
2046
310
       OPC_CheckTypeI32,
2047
310
       OPC_MoveSibling2,
2048
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2049
310
       OPC_RecordNode,
2050
310
       OPC_MoveParent,
2051
310
       OPC_CheckPatternPredicate5,
2052
310
       OPC_EmitMergeInputChains1_0,
2053
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltX16),
2054
310
                     3, 2, 1, 3, 
2055
310
      18, 
2056
310
       OPC_CheckChild2CondCode, ISD::SETLT,
2057
310
       OPC_CheckTypeI32,
2058
310
       OPC_MoveSibling2,
2059
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2060
310
       OPC_RecordNode,
2061
310
       OPC_MoveParent,
2062
310
       OPC_CheckPatternPredicate5,
2063
310
       OPC_EmitMergeInputChains1_0,
2064
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BtnezT8SltX16),
2065
310
                     3, 1, 2, 3, 
2066
310
      0, 
2067
310
     0, 
2068
310
    89|128,3, 
2069
310
     OPC_CheckChild0TypeI64,
2070
310
     OPC_Scope, 123, 
2071
310
      OPC_CheckChild1Integer, 0, 
2072
310
      OPC_CheckTypeI32,
2073
310
      OPC_Scope, 17, 
2074
310
       OPC_CheckChild2CondCode, ISD::SETGE,
2075
310
       OPC_MoveSibling2,
2076
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2077
310
       OPC_RecordNode,
2078
310
       OPC_MoveParent,
2079
310
       OPC_CheckPatternPredicate, 18,
2080
310
       OPC_EmitMergeInputChains1_0,
2081
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ64),
2082
310
                     2, 1, 2, 
2083
310
      17, 
2084
310
       OPC_CheckChild2CondCode, ISD::SETGT,
2085
310
       OPC_MoveSibling2,
2086
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2087
310
       OPC_RecordNode,
2088
310
       OPC_MoveParent,
2089
310
       OPC_CheckPatternPredicate, 18,
2090
310
       OPC_EmitMergeInputChains1_0,
2091
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGTZ64),
2092
310
                     2, 1, 2, 
2093
310
      17, 
2094
310
       OPC_CheckChild2CondCode, ISD::SETLE,
2095
310
       OPC_MoveSibling2,
2096
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2097
310
       OPC_RecordNode,
2098
310
       OPC_MoveParent,
2099
310
       OPC_CheckPatternPredicate, 18,
2100
310
       OPC_EmitMergeInputChains1_0,
2101
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ64),
2102
310
                     2, 1, 2, 
2103
310
      17, 
2104
310
       OPC_CheckChild2CondCode, ISD::SETLT,
2105
310
       OPC_MoveSibling2,
2106
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2107
310
       OPC_RecordNode,
2108
310
       OPC_MoveParent,
2109
310
       OPC_CheckPatternPredicate, 18,
2110
310
       OPC_EmitMergeInputChains1_0,
2111
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLTZ64),
2112
310
                     2, 1, 2, 
2113
310
      22, 
2114
310
       OPC_CheckChild2CondCode, ISD::SETNE,
2115
310
       OPC_MoveSibling2,
2116
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2117
310
       OPC_RecordNode,
2118
310
       OPC_MoveParent,
2119
310
       OPC_CheckPatternPredicate, 12,
2120
310
       OPC_EmitMergeInputChains1_0,
2121
310
       OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2122
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2123
310
                     3, 1, 3, 2, 
2124
310
      22, 
2125
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
2126
310
       OPC_MoveSibling2,
2127
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2128
310
       OPC_RecordNode,
2129
310
       OPC_MoveParent,
2130
310
       OPC_CheckPatternPredicate, 12,
2131
310
       OPC_EmitMergeInputChains1_0,
2132
310
       OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2133
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ64),
2134
310
                     3, 1, 3, 2, 
2135
310
      0, 
2136
310
     20, 
2137
310
      OPC_CheckChild1Integer, 2, 
2138
310
      OPC_CheckChild2CondCode, ISD::SETLT,
2139
310
      OPC_CheckTypeI32,
2140
310
      OPC_MoveSibling2,
2141
310
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2142
310
      OPC_RecordNode,
2143
310
      OPC_MoveParent,
2144
310
      OPC_CheckPatternPredicate, 12,
2145
310
      OPC_EmitMergeInputChains1_0,
2146
310
      OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BLEZ64),
2147
310
                    2, 1, 2, 
2148
310
     20, 
2149
310
      OPC_CheckChild1Integer, 3, 
2150
310
      OPC_CheckChild2CondCode, ISD::SETGT,
2151
310
      OPC_CheckTypeI32,
2152
310
      OPC_MoveSibling2,
2153
310
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2154
310
      OPC_RecordNode,
2155
310
      OPC_MoveParent,
2156
310
      OPC_CheckPatternPredicate, 12,
2157
310
      OPC_EmitMergeInputChains1_0,
2158
310
      OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BGEZ64),
2159
310
                    2, 1, 2, 
2160
310
     46|128,2, 
2161
310
      OPC_RecordChild1,
2162
310
      OPC_Scope, 13|128,1, 
2163
310
       OPC_MoveChild1,
2164
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2165
310
       OPC_Scope, 63, 
2166
310
        OPC_CheckPredicate7, 
2167
310
        OPC_MoveParent,
2168
310
        OPC_CheckTypeI32,
2169
310
        OPC_Scope, 28, 
2170
310
         OPC_CheckChild2CondCode, ISD::SETGE,
2171
310
         OPC_MoveSibling2,
2172
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2173
310
         OPC_RecordNode,
2174
310
         OPC_MoveParent,
2175
310
         OPC_CheckPatternPredicate, 12,
2176
310
         OPC_EmitMergeInputChains1_0,
2177
310
         OPC_EmitConvertToTarget2,
2178
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
2179
310
                       MVT::i32, 2, 1, 4, 
2180
310
         OPC_EmitRegisterI32, Mips::ZERO,
2181
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2182
310
                       3, 5, 6, 3, 
2183
310
        28, 
2184
310
         OPC_CheckChild2CondCode, ISD::SETUGE,
2185
310
         OPC_MoveSibling2,
2186
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2187
310
         OPC_RecordNode,
2188
310
         OPC_MoveParent,
2189
310
         OPC_CheckPatternPredicate, 12,
2190
310
         OPC_EmitMergeInputChains1_0,
2191
310
         OPC_EmitConvertToTarget2,
2192
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
2193
310
                       MVT::i32, 2, 1, 4, 
2194
310
         OPC_EmitRegisterI32, Mips::ZERO,
2195
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2196
310
                       3, 5, 6, 3, 
2197
310
        0, 
2198
310
       70, 
2199
310
        OPC_CheckPredicate, 11,
2200
310
        OPC_MoveParent,
2201
310
        OPC_CheckTypeI32,
2202
310
        OPC_Scope, 31, 
2203
310
         OPC_CheckChild2CondCode, ISD::SETGT,
2204
310
         OPC_MoveSibling2,
2205
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2206
310
         OPC_RecordNode,
2207
310
         OPC_MoveParent,
2208
310
         OPC_CheckPatternPredicate, 12,
2209
310
         OPC_EmitMergeInputChains1_0,
2210
310
         OPC_EmitConvertToTarget2,
2211
310
         OPC_EmitNodeXForm, 2, 4,
2212
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
2213
310
                       MVT::i32, 2, 1, 5, 
2214
310
         OPC_EmitRegisterI32, Mips::ZERO,
2215
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2216
310
                       3, 6, 7, 3, 
2217
310
        31, 
2218
310
         OPC_CheckChild2CondCode, ISD::SETUGT,
2219
310
         OPC_MoveSibling2,
2220
310
         OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2221
310
         OPC_RecordNode,
2222
310
         OPC_MoveParent,
2223
310
         OPC_CheckPatternPredicate, 12,
2224
310
         OPC_EmitMergeInputChains1_0,
2225
310
         OPC_EmitConvertToTarget2,
2226
310
         OPC_EmitNodeXForm, 2, 4,
2227
310
         OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
2228
310
                       MVT::i32, 2, 1, 5, 
2229
310
         OPC_EmitRegisterI32, Mips::ZERO,
2230
310
         OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2231
310
                       3, 6, 7, 3, 
2232
310
        0, 
2233
310
       0, 
2234
310
      19, 
2235
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
2236
310
       OPC_CheckTypeI32,
2237
310
       OPC_MoveSibling2,
2238
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2239
310
       OPC_RecordNode,
2240
310
       OPC_MoveParent,
2241
310
       OPC_CheckPatternPredicate, 18,
2242
310
       OPC_EmitMergeInputChains1_0,
2243
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ64),
2244
310
                     3, 1, 2, 3, 
2245
310
      19, 
2246
310
       OPC_CheckChild2CondCode, ISD::SETNE,
2247
310
       OPC_CheckTypeI32,
2248
310
       OPC_MoveSibling2,
2249
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2250
310
       OPC_RecordNode,
2251
310
       OPC_MoveParent,
2252
310
       OPC_CheckPatternPredicate, 18,
2253
310
       OPC_EmitMergeInputChains1_0,
2254
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2255
310
                     3, 1, 2, 3, 
2256
310
      28, 
2257
310
       OPC_CheckChild2CondCode, ISD::SETGE,
2258
310
       OPC_CheckTypeI32,
2259
310
       OPC_MoveSibling2,
2260
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2261
310
       OPC_RecordNode,
2262
310
       OPC_MoveParent,
2263
310
       OPC_CheckPatternPredicate, 12,
2264
310
       OPC_EmitMergeInputChains1_0,
2265
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
2266
310
                     MVT::i32, 2, 1, 2, 
2267
310
       OPC_EmitRegisterI32, Mips::ZERO,
2268
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2269
310
                     3, 4, 5, 3, 
2270
310
      28, 
2271
310
       OPC_CheckChild2CondCode, ISD::SETUGE,
2272
310
       OPC_CheckTypeI32,
2273
310
       OPC_MoveSibling2,
2274
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2275
310
       OPC_RecordNode,
2276
310
       OPC_MoveParent,
2277
310
       OPC_CheckPatternPredicate, 12,
2278
310
       OPC_EmitMergeInputChains1_0,
2279
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
2280
310
                     MVT::i32, 2, 1, 2, 
2281
310
       OPC_EmitRegisterI32, Mips::ZERO,
2282
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2283
310
                     3, 4, 5, 3, 
2284
310
      28, 
2285
310
       OPC_CheckChild2CondCode, ISD::SETLE,
2286
310
       OPC_CheckTypeI32,
2287
310
       OPC_MoveSibling2,
2288
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2289
310
       OPC_RecordNode,
2290
310
       OPC_MoveParent,
2291
310
       OPC_CheckPatternPredicate, 12,
2292
310
       OPC_EmitMergeInputChains1_0,
2293
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
2294
310
                     MVT::i32, 2, 2, 1, 
2295
310
       OPC_EmitRegisterI32, Mips::ZERO,
2296
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2297
310
                     3, 4, 5, 3, 
2298
310
      28, 
2299
310
       OPC_CheckChild2CondCode, ISD::SETULE,
2300
310
       OPC_CheckTypeI32,
2301
310
       OPC_MoveSibling2,
2302
310
       OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2303
310
       OPC_RecordNode,
2304
310
       OPC_MoveParent,
2305
310
       OPC_CheckPatternPredicate, 12,
2306
310
       OPC_EmitMergeInputChains1_0,
2307
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
2308
310
                     MVT::i32, 2, 2, 1, 
2309
310
       OPC_EmitRegisterI32, Mips::ZERO,
2310
310
       OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BEQ),
2311
310
                     3, 4, 5, 3, 
2312
310
      0, 
2313
310
     0, 
2314
310
    0, 
2315
310
   0, 
2316
310
  78, 
2317
310
   OPC_RecordChild1,
2318
310
   OPC_Scope, 52, 
2319
310
    OPC_CheckChild1TypeI32,
2320
310
    OPC_RecordChild2,
2321
310
    OPC_MoveChild2,
2322
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2323
310
    OPC_MoveParent,
2324
310
    OPC_Scope, 11, 
2325
310
     OPC_CheckPatternPredicate2,
2326
310
     OPC_EmitMergeInputChains1_0,
2327
310
     OPC_EmitRegisterI32, Mips::ZERO,
2328
310
     OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE),
2329
310
                   3, 1, 3, 2, 
2330
310
    8, 
2331
310
     OPC_CheckPatternPredicate5,
2332
310
     OPC_EmitMergeInputChains1_0,
2333
310
     OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BnezRxImm16),
2334
310
                   2, 1, 2, 
2335
310
    12, 
2336
310
     OPC_CheckPatternPredicate, 8,
2337
310
     OPC_EmitMergeInputChains1_0,
2338
310
     OPC_EmitRegisterI32, Mips::ZERO,
2339
310
     OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE_MM),
2340
310
                   3, 1, 3, 2, 
2341
310
    8, 
2342
310
     OPC_CheckPatternPredicate7,
2343
310
     OPC_EmitMergeInputChains1_0,
2344
310
     OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNEZC_MMR6),
2345
310
                   2, 1, 2, 
2346
310
    0, 
2347
310
   21, 
2348
310
    OPC_CheckChild1TypeI64,
2349
310
    OPC_RecordChild2,
2350
310
    OPC_MoveChild2,
2351
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2352
310
    OPC_MoveParent,
2353
310
    OPC_CheckPatternPredicate, 12,
2354
310
    OPC_EmitMergeInputChains1_0,
2355
310
    OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
2356
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BNE64),
2357
310
                  3, 1, 3, 2, 
2358
310
   0, 
2359
310
  0, 
2360
310
 54|128,7, TARGET_VAL(ISD::SHL),
2361
310
  OPC_RecordChild0,
2362
310
  OPC_Scope, 15|128,1, 
2363
310
   OPC_MoveChild1,
2364
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2365
310
   OPC_Scope, 51, 
2366
310
    OPC_RecordChild0,
2367
310
    OPC_MoveChild0,
2368
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2369
310
    OPC_Scope, 20, 
2370
310
     OPC_CheckPredicate3, 
2371
310
     OPC_MoveSibling1,
2372
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2373
310
     OPC_MoveParent,
2374
310
     OPC_CheckPredicate, 25,
2375
310
     OPC_CheckTypeI32,
2376
310
     OPC_MoveParent,
2377
310
     OPC_CheckTypeI32,
2378
310
     OPC_CheckPatternPredicate2,
2379
310
     OPC_EmitConvertToTarget1,
2380
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
2381
310
                   MVT::i32, 2, 0, 2, 
2382
310
    22, 
2383
310
     OPC_CheckPredicate, 17,
2384
310
     OPC_MoveSibling1,
2385
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2386
310
     OPC_MoveParent,
2387
310
     OPC_CheckPredicate, 23,
2388
310
     OPC_CheckTypeI32,
2389
310
     OPC_MoveParent,
2390
310
     OPC_CheckTypeI64,
2391
310
     OPC_CheckPatternPredicate, 23,
2392
310
     OPC_EmitConvertToTarget1,
2393
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
2394
310
                   MVT::i64, 2, 0, 2, 
2395
310
    0, 
2396
310
   47, 
2397
310
    OPC_MoveChild0,
2398
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2399
310
    OPC_MoveSibling1,
2400
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2401
310
    OPC_RecordNode,
2402
310
    OPC_Scope, 16, 
2403
310
     OPC_CheckPredicate3, 
2404
310
     OPC_MoveParent,
2405
310
     OPC_CheckPredicate, 25,
2406
310
     OPC_CheckTypeI32,
2407
310
     OPC_MoveParent,
2408
310
     OPC_CheckTypeI32,
2409
310
     OPC_CheckPatternPredicate2,
2410
310
     OPC_EmitConvertToTarget1,
2411
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
2412
310
                   MVT::i32, 2, 0, 2, 
2413
310
    18, 
2414
310
     OPC_CheckPredicate, 17,
2415
310
     OPC_MoveParent,
2416
310
     OPC_CheckPredicate, 23,
2417
310
     OPC_CheckTypeI32,
2418
310
     OPC_MoveParent,
2419
310
     OPC_CheckTypeI64,
2420
310
     OPC_CheckPatternPredicate, 23,
2421
310
     OPC_EmitConvertToTarget1,
2422
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
2423
310
                   MVT::i64, 2, 0, 2, 
2424
310
    0, 
2425
310
   36, 
2426
310
    OPC_RecordChild0,
2427
310
    OPC_MoveChild1,
2428
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2429
310
    OPC_MoveParent,
2430
310
    OPC_CheckTypeI32,
2431
310
    OPC_Scope, 12, 
2432
310
     OPC_CheckPredicate, 25,
2433
310
     OPC_MoveParent,
2434
310
     OPC_CheckTypeI32,
2435
310
     OPC_CheckPatternPredicate2,
2436
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV),
2437
310
                   MVT::i32, 2, 0, 1, 
2438
310
    13, 
2439
310
     OPC_CheckPredicate, 23,
2440
310
     OPC_MoveParent,
2441
310
     OPC_CheckTypeI64,
2442
310
     OPC_CheckPatternPredicate, 23,
2443
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
2444
310
                   MVT::i64, 2, 0, 1, 
2445
310
    0, 
2446
310
   0, 
2447
310
  76, 
2448
310
   OPC_RecordChild1,
2449
310
   OPC_MoveChild1,
2450
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2451
310
   OPC_CheckTypeI32,
2452
310
   OPC_Scope, 12, 
2453
310
    OPC_CheckPredicate3, 
2454
310
    OPC_MoveParent,
2455
310
    OPC_CheckTypeI32,
2456
310
    OPC_CheckPatternPredicate2,
2457
310
    OPC_EmitConvertToTarget1,
2458
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
2459
310
                  MVT::i32, 2, 0, 2, 
2460
310
   14, 
2461
310
    OPC_CheckPredicate, 17,
2462
310
    OPC_MoveParent,
2463
310
    OPC_CheckTypeI64,
2464
310
    OPC_CheckPatternPredicate, 23,
2465
310
    OPC_EmitConvertToTarget1,
2466
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
2467
310
                  MVT::i64, 2, 0, 2, 
2468
310
   12, 
2469
310
    OPC_CheckPredicate3, 
2470
310
    OPC_MoveParent,
2471
310
    OPC_CheckTypeI32,
2472
310
    OPC_CheckPatternPredicate5,
2473
310
    OPC_EmitConvertToTarget1,
2474
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
2475
310
                  MVT::i32, 2, 0, 2, 
2476
310
   13, 
2477
310
    OPC_CheckPredicate, 47,
2478
310
    OPC_MoveParent,
2479
310
    OPC_CheckTypeI32,
2480
310
    OPC_CheckPatternPredicate4,
2481
310
    OPC_EmitConvertToTarget1,
2482
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL16_MM),
2483
310
                  MVT::i32, 2, 0, 2, 
2484
310
   12, 
2485
310
    OPC_CheckPredicate3, 
2486
310
    OPC_MoveParent,
2487
310
    OPC_CheckTypeI32,
2488
310
    OPC_CheckPatternPredicate4,
2489
310
    OPC_EmitConvertToTarget1,
2490
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_MM),
2491
310
                  MVT::i32, 2, 0, 2, 
2492
310
   0, 
2493
310
  26, 
2494
310
   OPC_MoveChild1,
2495
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
2496
310
   OPC_RecordChild0,
2497
310
   OPC_CheckTypeI32,
2498
310
   OPC_MoveParent,
2499
310
   OPC_CheckTypeI64,
2500
310
   OPC_CheckPatternPredicate, 12,
2501
310
   OPC_EmitStringInteger32, Mips::sub_32,
2502
310
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
2503
310
                 MVT::i32, 2, 1, 2, 
2504
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
2505
310
                 MVT::i64, 2, 0, 3, 
2506
310
  46, 
2507
310
   OPC_RecordChild1,
2508
310
   OPC_CheckChild1TypeI32,
2509
310
   OPC_SwitchType , 29, MVT::i32,
2510
310
    OPC_Scope, 8, 
2511
310
     OPC_CheckPatternPredicate2,
2512
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV),
2513
310
                   MVT::i32, 2, 0, 1, 
2514
310
    8, 
2515
310
     OPC_CheckPatternPredicate5,
2516
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllvRxRy16),
2517
310
                   MVT::i32, 2, 0, 1, 
2518
310
    8, 
2519
310
     OPC_CheckPatternPredicate4,
2520
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLV_MM),
2521
310
                   MVT::i32, 2, 0, 1, 
2522
310
    0, 
2523
310
   9, MVT::i64,
2524
310
    OPC_CheckPatternPredicate, 23,
2525
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLLV),
2526
310
                  MVT::i64, 2, 0, 1, 
2527
310
   0,
2528
310
  30|128,4, 
2529
310
   OPC_MoveChild1,
2530
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2531
310
   OPC_Scope, 124, 
2532
310
    OPC_RecordChild0,
2533
310
    OPC_MoveChild1,
2534
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2535
310
    OPC_MoveChild0,
2536
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2537
310
    OPC_CheckPredicate0, 
2538
310
    OPC_CheckTypeI32,
2539
310
    OPC_MoveSibling1,
2540
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2541
310
    OPC_CheckPredicate0, 
2542
310
    OPC_CheckTypeI32,
2543
310
    OPC_MoveSibling2,
2544
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2545
310
    OPC_CheckPredicate0, 
2546
310
    OPC_CheckTypeI32,
2547
310
    OPC_MoveSibling3,
2548
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2549
310
    OPC_CheckPredicate0, 
2550
310
    OPC_CheckTypeI32,
2551
310
    OPC_MoveSibling4,
2552
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2553
310
    OPC_CheckPredicate0, 
2554
310
    OPC_CheckTypeI32,
2555
310
    OPC_MoveSibling5,
2556
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2557
310
    OPC_CheckPredicate0, 
2558
310
    OPC_CheckTypeI32,
2559
310
    OPC_MoveSibling6,
2560
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2561
310
    OPC_CheckPredicate0, 
2562
310
    OPC_CheckTypeI32,
2563
310
    OPC_MoveSibling7,
2564
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2565
310
    OPC_CheckPredicate0, 
2566
310
    OPC_CheckTypeI32,
2567
310
    OPC_MoveSibling, 8,
2568
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2569
310
    OPC_CheckPredicate0, 
2570
310
    OPC_CheckTypeI32,
2571
310
    OPC_MoveSibling, 9,
2572
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2573
310
    OPC_CheckPredicate0, 
2574
310
    OPC_CheckTypeI32,
2575
310
    OPC_MoveSibling, 10,
2576
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2577
310
    OPC_CheckPredicate0, 
2578
310
    OPC_CheckTypeI32,
2579
310
    OPC_MoveSibling, 11,
2580
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2581
310
    OPC_CheckPredicate0, 
2582
310
    OPC_CheckTypeI32,
2583
310
    OPC_MoveSibling, 12,
2584
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2585
310
    OPC_CheckPredicate0, 
2586
310
    OPC_CheckTypeI32,
2587
310
    OPC_MoveSibling, 13,
2588
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2589
310
    OPC_CheckPredicate0, 
2590
310
    OPC_CheckTypeI32,
2591
310
    OPC_MoveSibling, 14,
2592
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2593
310
    OPC_CheckPredicate0, 
2594
310
    OPC_CheckTypeI32,
2595
310
    OPC_MoveSibling, 15,
2596
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2597
310
    OPC_CheckPredicate0, 
2598
310
    OPC_CheckTypeI32,
2599
310
    OPC_MoveParent,
2600
310
    OPC_MoveParent,
2601
310
    OPC_CheckType, MVT::v16i8,
2602
310
    OPC_MoveParent,
2603
310
    OPC_CheckType, MVT::v16i8,
2604
310
    OPC_CheckPatternPredicate3,
2605
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
2606
310
                  MVT::v16i8, 2, 0, 1, 
2607
310
   124, 
2608
310
    OPC_MoveChild0,
2609
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2610
310
    OPC_MoveChild0,
2611
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2612
310
    OPC_CheckPredicate0, 
2613
310
    OPC_CheckTypeI32,
2614
310
    OPC_MoveSibling1,
2615
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2616
310
    OPC_CheckPredicate0, 
2617
310
    OPC_CheckTypeI32,
2618
310
    OPC_MoveSibling2,
2619
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2620
310
    OPC_CheckPredicate0, 
2621
310
    OPC_CheckTypeI32,
2622
310
    OPC_MoveSibling3,
2623
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2624
310
    OPC_CheckPredicate0, 
2625
310
    OPC_CheckTypeI32,
2626
310
    OPC_MoveSibling4,
2627
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2628
310
    OPC_CheckPredicate0, 
2629
310
    OPC_CheckTypeI32,
2630
310
    OPC_MoveSibling5,
2631
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2632
310
    OPC_CheckPredicate0, 
2633
310
    OPC_CheckTypeI32,
2634
310
    OPC_MoveSibling6,
2635
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2636
310
    OPC_CheckPredicate0, 
2637
310
    OPC_CheckTypeI32,
2638
310
    OPC_MoveSibling7,
2639
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2640
310
    OPC_CheckPredicate0, 
2641
310
    OPC_CheckTypeI32,
2642
310
    OPC_MoveSibling, 8,
2643
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2644
310
    OPC_CheckPredicate0, 
2645
310
    OPC_CheckTypeI32,
2646
310
    OPC_MoveSibling, 9,
2647
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2648
310
    OPC_CheckPredicate0, 
2649
310
    OPC_CheckTypeI32,
2650
310
    OPC_MoveSibling, 10,
2651
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2652
310
    OPC_CheckPredicate0, 
2653
310
    OPC_CheckTypeI32,
2654
310
    OPC_MoveSibling, 11,
2655
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2656
310
    OPC_CheckPredicate0, 
2657
310
    OPC_CheckTypeI32,
2658
310
    OPC_MoveSibling, 12,
2659
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2660
310
    OPC_CheckPredicate0, 
2661
310
    OPC_CheckTypeI32,
2662
310
    OPC_MoveSibling, 13,
2663
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2664
310
    OPC_CheckPredicate0, 
2665
310
    OPC_CheckTypeI32,
2666
310
    OPC_MoveSibling, 14,
2667
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2668
310
    OPC_CheckPredicate0, 
2669
310
    OPC_CheckTypeI32,
2670
310
    OPC_MoveSibling, 15,
2671
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2672
310
    OPC_CheckPredicate0, 
2673
310
    OPC_CheckTypeI32,
2674
310
    OPC_MoveParent,
2675
310
    OPC_MoveParent,
2676
310
    OPC_RecordChild1,
2677
310
    OPC_CheckType, MVT::v16i8,
2678
310
    OPC_MoveParent,
2679
310
    OPC_CheckType, MVT::v16i8,
2680
310
    OPC_CheckPatternPredicate3,
2681
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
2682
310
                  MVT::v16i8, 2, 0, 1, 
2683
310
   68, 
2684
310
    OPC_RecordChild0,
2685
310
    OPC_MoveChild1,
2686
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2687
310
    OPC_MoveChild0,
2688
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2689
310
    OPC_CheckPredicate1, 
2690
310
    OPC_CheckTypeI32,
2691
310
    OPC_MoveSibling1,
2692
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2693
310
    OPC_CheckPredicate1, 
2694
310
    OPC_CheckTypeI32,
2695
310
    OPC_MoveSibling2,
2696
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2697
310
    OPC_CheckPredicate1, 
2698
310
    OPC_CheckTypeI32,
2699
310
    OPC_MoveSibling3,
2700
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2701
310
    OPC_CheckPredicate1, 
2702
310
    OPC_CheckTypeI32,
2703
310
    OPC_MoveSibling4,
2704
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2705
310
    OPC_CheckPredicate1, 
2706
310
    OPC_CheckTypeI32,
2707
310
    OPC_MoveSibling5,
2708
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2709
310
    OPC_CheckPredicate1, 
2710
310
    OPC_CheckTypeI32,
2711
310
    OPC_MoveSibling6,
2712
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2713
310
    OPC_CheckPredicate1, 
2714
310
    OPC_CheckTypeI32,
2715
310
    OPC_MoveSibling7,
2716
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2717
310
    OPC_CheckPredicate1, 
2718
310
    OPC_CheckTypeI32,
2719
310
    OPC_MoveParent,
2720
310
    OPC_MoveParent,
2721
310
    OPC_CheckType, MVT::v8i16,
2722
310
    OPC_MoveParent,
2723
310
    OPC_CheckType, MVT::v8i16,
2724
310
    OPC_CheckPatternPredicate3,
2725
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
2726
310
                  MVT::v8i16, 2, 0, 1, 
2727
310
   68, 
2728
310
    OPC_MoveChild0,
2729
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2730
310
    OPC_MoveChild0,
2731
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2732
310
    OPC_CheckPredicate1, 
2733
310
    OPC_CheckTypeI32,
2734
310
    OPC_MoveSibling1,
2735
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2736
310
    OPC_CheckPredicate1, 
2737
310
    OPC_CheckTypeI32,
2738
310
    OPC_MoveSibling2,
2739
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2740
310
    OPC_CheckPredicate1, 
2741
310
    OPC_CheckTypeI32,
2742
310
    OPC_MoveSibling3,
2743
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2744
310
    OPC_CheckPredicate1, 
2745
310
    OPC_CheckTypeI32,
2746
310
    OPC_MoveSibling4,
2747
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2748
310
    OPC_CheckPredicate1, 
2749
310
    OPC_CheckTypeI32,
2750
310
    OPC_MoveSibling5,
2751
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2752
310
    OPC_CheckPredicate1, 
2753
310
    OPC_CheckTypeI32,
2754
310
    OPC_MoveSibling6,
2755
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2756
310
    OPC_CheckPredicate1, 
2757
310
    OPC_CheckTypeI32,
2758
310
    OPC_MoveSibling7,
2759
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2760
310
    OPC_CheckPredicate1, 
2761
310
    OPC_CheckTypeI32,
2762
310
    OPC_MoveParent,
2763
310
    OPC_MoveParent,
2764
310
    OPC_RecordChild1,
2765
310
    OPC_CheckType, MVT::v8i16,
2766
310
    OPC_MoveParent,
2767
310
    OPC_CheckType, MVT::v8i16,
2768
310
    OPC_CheckPatternPredicate3,
2769
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
2770
310
                  MVT::v8i16, 2, 0, 1, 
2771
310
   44, 
2772
310
    OPC_RecordChild0,
2773
310
    OPC_MoveChild1,
2774
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2775
310
    OPC_MoveChild0,
2776
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2777
310
    OPC_CheckPredicate2, 
2778
310
    OPC_CheckTypeI32,
2779
310
    OPC_MoveSibling1,
2780
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2781
310
    OPC_CheckPredicate2, 
2782
310
    OPC_CheckTypeI32,
2783
310
    OPC_MoveSibling2,
2784
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2785
310
    OPC_CheckPredicate2, 
2786
310
    OPC_CheckTypeI32,
2787
310
    OPC_MoveSibling3,
2788
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2789
310
    OPC_CheckPredicate2, 
2790
310
    OPC_CheckTypeI32,
2791
310
    OPC_MoveParent,
2792
310
    OPC_MoveParent,
2793
310
    OPC_CheckType, MVT::v4i32,
2794
310
    OPC_MoveParent,
2795
310
    OPC_CheckType, MVT::v4i32,
2796
310
    OPC_CheckPatternPredicate3,
2797
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
2798
310
                  MVT::v4i32, 2, 0, 1, 
2799
310
   44, 
2800
310
    OPC_MoveChild0,
2801
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2802
310
    OPC_MoveChild0,
2803
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2804
310
    OPC_CheckPredicate2, 
2805
310
    OPC_CheckTypeI32,
2806
310
    OPC_MoveSibling1,
2807
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2808
310
    OPC_CheckPredicate2, 
2809
310
    OPC_CheckTypeI32,
2810
310
    OPC_MoveSibling2,
2811
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2812
310
    OPC_CheckPredicate2, 
2813
310
    OPC_CheckTypeI32,
2814
310
    OPC_MoveSibling3,
2815
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2816
310
    OPC_CheckPredicate2, 
2817
310
    OPC_CheckTypeI32,
2818
310
    OPC_MoveParent,
2819
310
    OPC_MoveParent,
2820
310
    OPC_RecordChild1,
2821
310
    OPC_CheckType, MVT::v4i32,
2822
310
    OPC_MoveParent,
2823
310
    OPC_CheckType, MVT::v4i32,
2824
310
    OPC_CheckPatternPredicate3,
2825
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
2826
310
                  MVT::v4i32, 2, 0, 1, 
2827
310
   28, 
2828
310
    OPC_RecordChild0,
2829
310
    OPC_MoveChild1,
2830
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2831
310
    OPC_MoveChild0,
2832
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2833
310
    OPC_CheckType, MVT::v4i32,
2834
310
    OPC_MoveParent,
2835
310
    OPC_CheckPredicate, 14,
2836
310
    OPC_MoveParent,
2837
310
    OPC_CheckType, MVT::v2i64,
2838
310
    OPC_MoveParent,
2839
310
    OPC_CheckType, MVT::v2i64,
2840
310
    OPC_CheckPatternPredicate3,
2841
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
2842
310
                  MVT::v2i64, 2, 0, 1, 
2843
310
   28, 
2844
310
    OPC_MoveChild0,
2845
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
2846
310
    OPC_MoveChild0,
2847
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
2848
310
    OPC_CheckType, MVT::v4i32,
2849
310
    OPC_MoveParent,
2850
310
    OPC_CheckPredicate, 14,
2851
310
    OPC_MoveParent,
2852
310
    OPC_RecordChild1,
2853
310
    OPC_CheckType, MVT::v2i64,
2854
310
    OPC_MoveParent,
2855
310
    OPC_CheckType, MVT::v2i64,
2856
310
    OPC_CheckPatternPredicate3,
2857
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
2858
310
                  MVT::v2i64, 2, 0, 1, 
2859
310
   0, 
2860
310
  106, 
2861
310
   OPC_RecordChild1,
2862
310
   OPC_SwitchType , 24, MVT::v16i8,
2863
310
    OPC_CheckChild1Type, MVT::v16i8,
2864
310
    OPC_CheckPatternPredicate0,
2865
310
    OPC_Scope, 10, 
2866
310
     OPC_CheckComplexPat, /*CP*/22, /*#*/1,
2867
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_B),
2868
310
                   MVT::v16i8, 2, 0, 2, 
2869
310
    7, 
2870
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_B),
2871
310
                   MVT::v16i8, 2, 0, 1, 
2872
310
    0, 
2873
310
   24, MVT::v8i16,
2874
310
    OPC_CheckChild1Type, MVT::v8i16,
2875
310
    OPC_CheckPatternPredicate0,
2876
310
    OPC_Scope, 10, 
2877
310
     OPC_CheckComplexPat, /*CP*/23, /*#*/1,
2878
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_H),
2879
310
                   MVT::v8i16, 2, 0, 2, 
2880
310
    7, 
2881
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_H),
2882
310
                   MVT::v8i16, 2, 0, 1, 
2883
310
    0, 
2884
310
   23, MVT::v4i32,
2885
310
    OPC_CheckChild1Type, MVT::v4i32,
2886
310
    OPC_CheckPatternPredicate0,
2887
310
    OPC_Scope, 9, 
2888
310
     OPC_CheckComplexPat4, /*#*/1,
2889
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_W),
2890
310
                   MVT::v4i32, 2, 0, 2, 
2891
310
    7, 
2892
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_W),
2893
310
                   MVT::v4i32, 2, 0, 1, 
2894
310
    0, 
2895
310
   24, MVT::v2i64,
2896
310
    OPC_CheckChild1Type, MVT::v2i64,
2897
310
    OPC_CheckPatternPredicate0,
2898
310
    OPC_Scope, 10, 
2899
310
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
2900
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLLI_D),
2901
310
                   MVT::v2i64, 2, 0, 2, 
2902
310
    7, 
2903
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL_D),
2904
310
                   MVT::v2i64, 2, 0, 1, 
2905
310
    0, 
2906
310
   0,
2907
310
  0, 
2908
310
 54|128,7, TARGET_VAL(ISD::SRL),
2909
310
  OPC_RecordChild0,
2910
310
  OPC_Scope, 15|128,1, 
2911
310
   OPC_MoveChild1,
2912
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2913
310
   OPC_Scope, 51, 
2914
310
    OPC_RecordChild0,
2915
310
    OPC_MoveChild0,
2916
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2917
310
    OPC_Scope, 20, 
2918
310
     OPC_CheckPredicate3, 
2919
310
     OPC_MoveSibling1,
2920
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2921
310
     OPC_MoveParent,
2922
310
     OPC_CheckPredicate, 25,
2923
310
     OPC_CheckTypeI32,
2924
310
     OPC_MoveParent,
2925
310
     OPC_CheckTypeI32,
2926
310
     OPC_CheckPatternPredicate2,
2927
310
     OPC_EmitConvertToTarget1,
2928
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
2929
310
                   MVT::i32, 2, 0, 2, 
2930
310
    22, 
2931
310
     OPC_CheckPredicate, 17,
2932
310
     OPC_MoveSibling1,
2933
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2934
310
     OPC_MoveParent,
2935
310
     OPC_CheckPredicate, 23,
2936
310
     OPC_CheckTypeI32,
2937
310
     OPC_MoveParent,
2938
310
     OPC_CheckTypeI64,
2939
310
     OPC_CheckPatternPredicate, 23,
2940
310
     OPC_EmitConvertToTarget1,
2941
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
2942
310
                   MVT::i64, 2, 0, 2, 
2943
310
    0, 
2944
310
   47, 
2945
310
    OPC_MoveChild0,
2946
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2947
310
    OPC_MoveSibling1,
2948
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2949
310
    OPC_RecordNode,
2950
310
    OPC_Scope, 16, 
2951
310
     OPC_CheckPredicate3, 
2952
310
     OPC_MoveParent,
2953
310
     OPC_CheckPredicate, 25,
2954
310
     OPC_CheckTypeI32,
2955
310
     OPC_MoveParent,
2956
310
     OPC_CheckTypeI32,
2957
310
     OPC_CheckPatternPredicate2,
2958
310
     OPC_EmitConvertToTarget1,
2959
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
2960
310
                   MVT::i32, 2, 0, 2, 
2961
310
    18, 
2962
310
     OPC_CheckPredicate, 17,
2963
310
     OPC_MoveParent,
2964
310
     OPC_CheckPredicate, 23,
2965
310
     OPC_CheckTypeI32,
2966
310
     OPC_MoveParent,
2967
310
     OPC_CheckTypeI64,
2968
310
     OPC_CheckPatternPredicate, 23,
2969
310
     OPC_EmitConvertToTarget1,
2970
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
2971
310
                   MVT::i64, 2, 0, 2, 
2972
310
    0, 
2973
310
   36, 
2974
310
    OPC_RecordChild0,
2975
310
    OPC_MoveChild1,
2976
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2977
310
    OPC_MoveParent,
2978
310
    OPC_CheckTypeI32,
2979
310
    OPC_Scope, 12, 
2980
310
     OPC_CheckPredicate, 25,
2981
310
     OPC_MoveParent,
2982
310
     OPC_CheckTypeI32,
2983
310
     OPC_CheckPatternPredicate2,
2984
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV),
2985
310
                   MVT::i32, 2, 0, 1, 
2986
310
    13, 
2987
310
     OPC_CheckPredicate, 23,
2988
310
     OPC_MoveParent,
2989
310
     OPC_CheckTypeI64,
2990
310
     OPC_CheckPatternPredicate, 23,
2991
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
2992
310
                   MVT::i64, 2, 0, 1, 
2993
310
    0, 
2994
310
   0, 
2995
310
  76, 
2996
310
   OPC_RecordChild1,
2997
310
   OPC_MoveChild1,
2998
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2999
310
   OPC_CheckTypeI32,
3000
310
   OPC_Scope, 12, 
3001
310
    OPC_CheckPredicate3, 
3002
310
    OPC_MoveParent,
3003
310
    OPC_CheckTypeI32,
3004
310
    OPC_CheckPatternPredicate2,
3005
310
    OPC_EmitConvertToTarget1,
3006
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
3007
310
                  MVT::i32, 2, 0, 2, 
3008
310
   14, 
3009
310
    OPC_CheckPredicate, 17,
3010
310
    OPC_MoveParent,
3011
310
    OPC_CheckTypeI64,
3012
310
    OPC_CheckPatternPredicate, 23,
3013
310
    OPC_EmitConvertToTarget1,
3014
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
3015
310
                  MVT::i64, 2, 0, 2, 
3016
310
   12, 
3017
310
    OPC_CheckPredicate3, 
3018
310
    OPC_MoveParent,
3019
310
    OPC_CheckTypeI32,
3020
310
    OPC_CheckPatternPredicate5,
3021
310
    OPC_EmitConvertToTarget1,
3022
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SrlX16),
3023
310
                  MVT::i32, 2, 0, 2, 
3024
310
   13, 
3025
310
    OPC_CheckPredicate, 47,
3026
310
    OPC_MoveParent,
3027
310
    OPC_CheckTypeI32,
3028
310
    OPC_CheckPatternPredicate4,
3029
310
    OPC_EmitConvertToTarget1,
3030
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL16_MM),
3031
310
                  MVT::i32, 2, 0, 2, 
3032
310
   12, 
3033
310
    OPC_CheckPredicate3, 
3034
310
    OPC_MoveParent,
3035
310
    OPC_CheckTypeI32,
3036
310
    OPC_CheckPatternPredicate4,
3037
310
    OPC_EmitConvertToTarget1,
3038
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_MM),
3039
310
                  MVT::i32, 2, 0, 2, 
3040
310
   0, 
3041
310
  26, 
3042
310
   OPC_MoveChild1,
3043
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3044
310
   OPC_RecordChild0,
3045
310
   OPC_CheckTypeI32,
3046
310
   OPC_MoveParent,
3047
310
   OPC_CheckTypeI64,
3048
310
   OPC_CheckPatternPredicate, 12,
3049
310
   OPC_EmitStringInteger32, Mips::sub_32,
3050
310
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3051
310
                 MVT::i32, 2, 1, 2, 
3052
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
3053
310
                 MVT::i64, 2, 0, 3, 
3054
310
  46, 
3055
310
   OPC_RecordChild1,
3056
310
   OPC_CheckChild1TypeI32,
3057
310
   OPC_SwitchType , 29, MVT::i32,
3058
310
    OPC_Scope, 8, 
3059
310
     OPC_CheckPatternPredicate2,
3060
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV),
3061
310
                   MVT::i32, 2, 0, 1, 
3062
310
    8, 
3063
310
     OPC_CheckPatternPredicate5,
3064
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SrlvRxRy16),
3065
310
                   MVT::i32, 2, 0, 1, 
3066
310
    8, 
3067
310
     OPC_CheckPatternPredicate4,
3068
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLV_MM),
3069
310
                   MVT::i32, 2, 0, 1, 
3070
310
    0, 
3071
310
   9, MVT::i64,
3072
310
    OPC_CheckPatternPredicate, 23,
3073
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRLV),
3074
310
                  MVT::i64, 2, 0, 1, 
3075
310
   0,
3076
310
  30|128,4, 
3077
310
   OPC_MoveChild1,
3078
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3079
310
   OPC_Scope, 124, 
3080
310
    OPC_RecordChild0,
3081
310
    OPC_MoveChild1,
3082
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3083
310
    OPC_MoveChild0,
3084
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3085
310
    OPC_CheckPredicate0, 
3086
310
    OPC_CheckTypeI32,
3087
310
    OPC_MoveSibling1,
3088
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3089
310
    OPC_CheckPredicate0, 
3090
310
    OPC_CheckTypeI32,
3091
310
    OPC_MoveSibling2,
3092
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3093
310
    OPC_CheckPredicate0, 
3094
310
    OPC_CheckTypeI32,
3095
310
    OPC_MoveSibling3,
3096
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3097
310
    OPC_CheckPredicate0, 
3098
310
    OPC_CheckTypeI32,
3099
310
    OPC_MoveSibling4,
3100
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3101
310
    OPC_CheckPredicate0, 
3102
310
    OPC_CheckTypeI32,
3103
310
    OPC_MoveSibling5,
3104
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3105
310
    OPC_CheckPredicate0, 
3106
310
    OPC_CheckTypeI32,
3107
310
    OPC_MoveSibling6,
3108
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3109
310
    OPC_CheckPredicate0, 
3110
310
    OPC_CheckTypeI32,
3111
310
    OPC_MoveSibling7,
3112
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3113
310
    OPC_CheckPredicate0, 
3114
310
    OPC_CheckTypeI32,
3115
310
    OPC_MoveSibling, 8,
3116
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3117
310
    OPC_CheckPredicate0, 
3118
310
    OPC_CheckTypeI32,
3119
310
    OPC_MoveSibling, 9,
3120
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3121
310
    OPC_CheckPredicate0, 
3122
310
    OPC_CheckTypeI32,
3123
310
    OPC_MoveSibling, 10,
3124
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3125
310
    OPC_CheckPredicate0, 
3126
310
    OPC_CheckTypeI32,
3127
310
    OPC_MoveSibling, 11,
3128
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3129
310
    OPC_CheckPredicate0, 
3130
310
    OPC_CheckTypeI32,
3131
310
    OPC_MoveSibling, 12,
3132
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3133
310
    OPC_CheckPredicate0, 
3134
310
    OPC_CheckTypeI32,
3135
310
    OPC_MoveSibling, 13,
3136
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3137
310
    OPC_CheckPredicate0, 
3138
310
    OPC_CheckTypeI32,
3139
310
    OPC_MoveSibling, 14,
3140
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3141
310
    OPC_CheckPredicate0, 
3142
310
    OPC_CheckTypeI32,
3143
310
    OPC_MoveSibling, 15,
3144
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3145
310
    OPC_CheckPredicate0, 
3146
310
    OPC_CheckTypeI32,
3147
310
    OPC_MoveParent,
3148
310
    OPC_MoveParent,
3149
310
    OPC_CheckType, MVT::v16i8,
3150
310
    OPC_MoveParent,
3151
310
    OPC_CheckType, MVT::v16i8,
3152
310
    OPC_CheckPatternPredicate3,
3153
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
3154
310
                  MVT::v16i8, 2, 0, 1, 
3155
310
   124, 
3156
310
    OPC_MoveChild0,
3157
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3158
310
    OPC_MoveChild0,
3159
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3160
310
    OPC_CheckPredicate0, 
3161
310
    OPC_CheckTypeI32,
3162
310
    OPC_MoveSibling1,
3163
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3164
310
    OPC_CheckPredicate0, 
3165
310
    OPC_CheckTypeI32,
3166
310
    OPC_MoveSibling2,
3167
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3168
310
    OPC_CheckPredicate0, 
3169
310
    OPC_CheckTypeI32,
3170
310
    OPC_MoveSibling3,
3171
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3172
310
    OPC_CheckPredicate0, 
3173
310
    OPC_CheckTypeI32,
3174
310
    OPC_MoveSibling4,
3175
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3176
310
    OPC_CheckPredicate0, 
3177
310
    OPC_CheckTypeI32,
3178
310
    OPC_MoveSibling5,
3179
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3180
310
    OPC_CheckPredicate0, 
3181
310
    OPC_CheckTypeI32,
3182
310
    OPC_MoveSibling6,
3183
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3184
310
    OPC_CheckPredicate0, 
3185
310
    OPC_CheckTypeI32,
3186
310
    OPC_MoveSibling7,
3187
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3188
310
    OPC_CheckPredicate0, 
3189
310
    OPC_CheckTypeI32,
3190
310
    OPC_MoveSibling, 8,
3191
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3192
310
    OPC_CheckPredicate0, 
3193
310
    OPC_CheckTypeI32,
3194
310
    OPC_MoveSibling, 9,
3195
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3196
310
    OPC_CheckPredicate0, 
3197
310
    OPC_CheckTypeI32,
3198
310
    OPC_MoveSibling, 10,
3199
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3200
310
    OPC_CheckPredicate0, 
3201
310
    OPC_CheckTypeI32,
3202
310
    OPC_MoveSibling, 11,
3203
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3204
310
    OPC_CheckPredicate0, 
3205
310
    OPC_CheckTypeI32,
3206
310
    OPC_MoveSibling, 12,
3207
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3208
310
    OPC_CheckPredicate0, 
3209
310
    OPC_CheckTypeI32,
3210
310
    OPC_MoveSibling, 13,
3211
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3212
310
    OPC_CheckPredicate0, 
3213
310
    OPC_CheckTypeI32,
3214
310
    OPC_MoveSibling, 14,
3215
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3216
310
    OPC_CheckPredicate0, 
3217
310
    OPC_CheckTypeI32,
3218
310
    OPC_MoveSibling, 15,
3219
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3220
310
    OPC_CheckPredicate0, 
3221
310
    OPC_CheckTypeI32,
3222
310
    OPC_MoveParent,
3223
310
    OPC_MoveParent,
3224
310
    OPC_RecordChild1,
3225
310
    OPC_CheckType, MVT::v16i8,
3226
310
    OPC_MoveParent,
3227
310
    OPC_CheckType, MVT::v16i8,
3228
310
    OPC_CheckPatternPredicate3,
3229
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
3230
310
                  MVT::v16i8, 2, 0, 1, 
3231
310
   68, 
3232
310
    OPC_RecordChild0,
3233
310
    OPC_MoveChild1,
3234
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3235
310
    OPC_MoveChild0,
3236
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3237
310
    OPC_CheckPredicate1, 
3238
310
    OPC_CheckTypeI32,
3239
310
    OPC_MoveSibling1,
3240
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3241
310
    OPC_CheckPredicate1, 
3242
310
    OPC_CheckTypeI32,
3243
310
    OPC_MoveSibling2,
3244
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3245
310
    OPC_CheckPredicate1, 
3246
310
    OPC_CheckTypeI32,
3247
310
    OPC_MoveSibling3,
3248
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3249
310
    OPC_CheckPredicate1, 
3250
310
    OPC_CheckTypeI32,
3251
310
    OPC_MoveSibling4,
3252
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3253
310
    OPC_CheckPredicate1, 
3254
310
    OPC_CheckTypeI32,
3255
310
    OPC_MoveSibling5,
3256
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3257
310
    OPC_CheckPredicate1, 
3258
310
    OPC_CheckTypeI32,
3259
310
    OPC_MoveSibling6,
3260
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3261
310
    OPC_CheckPredicate1, 
3262
310
    OPC_CheckTypeI32,
3263
310
    OPC_MoveSibling7,
3264
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3265
310
    OPC_CheckPredicate1, 
3266
310
    OPC_CheckTypeI32,
3267
310
    OPC_MoveParent,
3268
310
    OPC_MoveParent,
3269
310
    OPC_CheckType, MVT::v8i16,
3270
310
    OPC_MoveParent,
3271
310
    OPC_CheckType, MVT::v8i16,
3272
310
    OPC_CheckPatternPredicate3,
3273
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
3274
310
                  MVT::v8i16, 2, 0, 1, 
3275
310
   68, 
3276
310
    OPC_MoveChild0,
3277
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3278
310
    OPC_MoveChild0,
3279
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3280
310
    OPC_CheckPredicate1, 
3281
310
    OPC_CheckTypeI32,
3282
310
    OPC_MoveSibling1,
3283
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3284
310
    OPC_CheckPredicate1, 
3285
310
    OPC_CheckTypeI32,
3286
310
    OPC_MoveSibling2,
3287
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3288
310
    OPC_CheckPredicate1, 
3289
310
    OPC_CheckTypeI32,
3290
310
    OPC_MoveSibling3,
3291
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3292
310
    OPC_CheckPredicate1, 
3293
310
    OPC_CheckTypeI32,
3294
310
    OPC_MoveSibling4,
3295
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3296
310
    OPC_CheckPredicate1, 
3297
310
    OPC_CheckTypeI32,
3298
310
    OPC_MoveSibling5,
3299
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3300
310
    OPC_CheckPredicate1, 
3301
310
    OPC_CheckTypeI32,
3302
310
    OPC_MoveSibling6,
3303
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3304
310
    OPC_CheckPredicate1, 
3305
310
    OPC_CheckTypeI32,
3306
310
    OPC_MoveSibling7,
3307
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3308
310
    OPC_CheckPredicate1, 
3309
310
    OPC_CheckTypeI32,
3310
310
    OPC_MoveParent,
3311
310
    OPC_MoveParent,
3312
310
    OPC_RecordChild1,
3313
310
    OPC_CheckType, MVT::v8i16,
3314
310
    OPC_MoveParent,
3315
310
    OPC_CheckType, MVT::v8i16,
3316
310
    OPC_CheckPatternPredicate3,
3317
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
3318
310
                  MVT::v8i16, 2, 0, 1, 
3319
310
   44, 
3320
310
    OPC_RecordChild0,
3321
310
    OPC_MoveChild1,
3322
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3323
310
    OPC_MoveChild0,
3324
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3325
310
    OPC_CheckPredicate2, 
3326
310
    OPC_CheckTypeI32,
3327
310
    OPC_MoveSibling1,
3328
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3329
310
    OPC_CheckPredicate2, 
3330
310
    OPC_CheckTypeI32,
3331
310
    OPC_MoveSibling2,
3332
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3333
310
    OPC_CheckPredicate2, 
3334
310
    OPC_CheckTypeI32,
3335
310
    OPC_MoveSibling3,
3336
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3337
310
    OPC_CheckPredicate2, 
3338
310
    OPC_CheckTypeI32,
3339
310
    OPC_MoveParent,
3340
310
    OPC_MoveParent,
3341
310
    OPC_CheckType, MVT::v4i32,
3342
310
    OPC_MoveParent,
3343
310
    OPC_CheckType, MVT::v4i32,
3344
310
    OPC_CheckPatternPredicate3,
3345
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
3346
310
                  MVT::v4i32, 2, 0, 1, 
3347
310
   44, 
3348
310
    OPC_MoveChild0,
3349
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3350
310
    OPC_MoveChild0,
3351
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3352
310
    OPC_CheckPredicate2, 
3353
310
    OPC_CheckTypeI32,
3354
310
    OPC_MoveSibling1,
3355
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3356
310
    OPC_CheckPredicate2, 
3357
310
    OPC_CheckTypeI32,
3358
310
    OPC_MoveSibling2,
3359
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3360
310
    OPC_CheckPredicate2, 
3361
310
    OPC_CheckTypeI32,
3362
310
    OPC_MoveSibling3,
3363
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3364
310
    OPC_CheckPredicate2, 
3365
310
    OPC_CheckTypeI32,
3366
310
    OPC_MoveParent,
3367
310
    OPC_MoveParent,
3368
310
    OPC_RecordChild1,
3369
310
    OPC_CheckType, MVT::v4i32,
3370
310
    OPC_MoveParent,
3371
310
    OPC_CheckType, MVT::v4i32,
3372
310
    OPC_CheckPatternPredicate3,
3373
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
3374
310
                  MVT::v4i32, 2, 0, 1, 
3375
310
   28, 
3376
310
    OPC_RecordChild0,
3377
310
    OPC_MoveChild1,
3378
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3379
310
    OPC_MoveChild0,
3380
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3381
310
    OPC_CheckType, MVT::v4i32,
3382
310
    OPC_MoveParent,
3383
310
    OPC_CheckPredicate, 14,
3384
310
    OPC_MoveParent,
3385
310
    OPC_CheckType, MVT::v2i64,
3386
310
    OPC_MoveParent,
3387
310
    OPC_CheckType, MVT::v2i64,
3388
310
    OPC_CheckPatternPredicate3,
3389
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
3390
310
                  MVT::v2i64, 2, 0, 1, 
3391
310
   28, 
3392
310
    OPC_MoveChild0,
3393
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3394
310
    OPC_MoveChild0,
3395
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3396
310
    OPC_CheckType, MVT::v4i32,
3397
310
    OPC_MoveParent,
3398
310
    OPC_CheckPredicate, 14,
3399
310
    OPC_MoveParent,
3400
310
    OPC_RecordChild1,
3401
310
    OPC_CheckType, MVT::v2i64,
3402
310
    OPC_MoveParent,
3403
310
    OPC_CheckType, MVT::v2i64,
3404
310
    OPC_CheckPatternPredicate3,
3405
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
3406
310
                  MVT::v2i64, 2, 0, 1, 
3407
310
   0, 
3408
310
  106, 
3409
310
   OPC_RecordChild1,
3410
310
   OPC_SwitchType , 24, MVT::v16i8,
3411
310
    OPC_CheckChild1Type, MVT::v16i8,
3412
310
    OPC_CheckPatternPredicate0,
3413
310
    OPC_Scope, 10, 
3414
310
     OPC_CheckComplexPat, /*CP*/22, /*#*/1,
3415
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_B),
3416
310
                   MVT::v16i8, 2, 0, 2, 
3417
310
    7, 
3418
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_B),
3419
310
                   MVT::v16i8, 2, 0, 1, 
3420
310
    0, 
3421
310
   24, MVT::v8i16,
3422
310
    OPC_CheckChild1Type, MVT::v8i16,
3423
310
    OPC_CheckPatternPredicate0,
3424
310
    OPC_Scope, 10, 
3425
310
     OPC_CheckComplexPat, /*CP*/23, /*#*/1,
3426
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_H),
3427
310
                   MVT::v8i16, 2, 0, 2, 
3428
310
    7, 
3429
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_H),
3430
310
                   MVT::v8i16, 2, 0, 1, 
3431
310
    0, 
3432
310
   23, MVT::v4i32,
3433
310
    OPC_CheckChild1Type, MVT::v4i32,
3434
310
    OPC_CheckPatternPredicate0,
3435
310
    OPC_Scope, 9, 
3436
310
     OPC_CheckComplexPat4, /*#*/1,
3437
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_W),
3438
310
                   MVT::v4i32, 2, 0, 2, 
3439
310
    7, 
3440
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_W),
3441
310
                   MVT::v4i32, 2, 0, 1, 
3442
310
    0, 
3443
310
   24, MVT::v2i64,
3444
310
    OPC_CheckChild1Type, MVT::v2i64,
3445
310
    OPC_CheckPatternPredicate0,
3446
310
    OPC_Scope, 10, 
3447
310
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
3448
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLI_D),
3449
310
                   MVT::v2i64, 2, 0, 2, 
3450
310
    7, 
3451
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL_D),
3452
310
                   MVT::v2i64, 2, 0, 1, 
3453
310
    0, 
3454
310
   0,
3455
310
  0, 
3456
310
 40|128,7, TARGET_VAL(ISD::SRA),
3457
310
  OPC_RecordChild0,
3458
310
  OPC_Scope, 15|128,1, 
3459
310
   OPC_MoveChild1,
3460
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3461
310
   OPC_Scope, 51, 
3462
310
    OPC_RecordChild0,
3463
310
    OPC_MoveChild0,
3464
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3465
310
    OPC_Scope, 20, 
3466
310
     OPC_CheckPredicate3, 
3467
310
     OPC_MoveSibling1,
3468
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3469
310
     OPC_MoveParent,
3470
310
     OPC_CheckPredicate, 25,
3471
310
     OPC_CheckTypeI32,
3472
310
     OPC_MoveParent,
3473
310
     OPC_CheckTypeI32,
3474
310
     OPC_CheckPatternPredicate2,
3475
310
     OPC_EmitConvertToTarget1,
3476
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
3477
310
                   MVT::i32, 2, 0, 2, 
3478
310
    22, 
3479
310
     OPC_CheckPredicate, 17,
3480
310
     OPC_MoveSibling1,
3481
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3482
310
     OPC_MoveParent,
3483
310
     OPC_CheckPredicate, 23,
3484
310
     OPC_CheckTypeI32,
3485
310
     OPC_MoveParent,
3486
310
     OPC_CheckTypeI64,
3487
310
     OPC_CheckPatternPredicate, 23,
3488
310
     OPC_EmitConvertToTarget1,
3489
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
3490
310
                   MVT::i64, 2, 0, 2, 
3491
310
    0, 
3492
310
   47, 
3493
310
    OPC_MoveChild0,
3494
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3495
310
    OPC_MoveSibling1,
3496
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3497
310
    OPC_RecordNode,
3498
310
    OPC_Scope, 16, 
3499
310
     OPC_CheckPredicate3, 
3500
310
     OPC_MoveParent,
3501
310
     OPC_CheckPredicate, 25,
3502
310
     OPC_CheckTypeI32,
3503
310
     OPC_MoveParent,
3504
310
     OPC_CheckTypeI32,
3505
310
     OPC_CheckPatternPredicate2,
3506
310
     OPC_EmitConvertToTarget1,
3507
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
3508
310
                   MVT::i32, 2, 0, 2, 
3509
310
    18, 
3510
310
     OPC_CheckPredicate, 17,
3511
310
     OPC_MoveParent,
3512
310
     OPC_CheckPredicate, 23,
3513
310
     OPC_CheckTypeI32,
3514
310
     OPC_MoveParent,
3515
310
     OPC_CheckTypeI64,
3516
310
     OPC_CheckPatternPredicate, 23,
3517
310
     OPC_EmitConvertToTarget1,
3518
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
3519
310
                   MVT::i64, 2, 0, 2, 
3520
310
    0, 
3521
310
   36, 
3522
310
    OPC_RecordChild0,
3523
310
    OPC_MoveChild1,
3524
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3525
310
    OPC_MoveParent,
3526
310
    OPC_CheckTypeI32,
3527
310
    OPC_Scope, 12, 
3528
310
     OPC_CheckPredicate, 25,
3529
310
     OPC_MoveParent,
3530
310
     OPC_CheckTypeI32,
3531
310
     OPC_CheckPatternPredicate2,
3532
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV),
3533
310
                   MVT::i32, 2, 0, 1, 
3534
310
    13, 
3535
310
     OPC_CheckPredicate, 23,
3536
310
     OPC_MoveParent,
3537
310
     OPC_CheckTypeI64,
3538
310
     OPC_CheckPatternPredicate, 23,
3539
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
3540
310
                   MVT::i64, 2, 0, 1, 
3541
310
    0, 
3542
310
   0, 
3543
310
  62, 
3544
310
   OPC_RecordChild1,
3545
310
   OPC_MoveChild1,
3546
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3547
310
   OPC_CheckTypeI32,
3548
310
   OPC_Scope, 12, 
3549
310
    OPC_CheckPredicate3, 
3550
310
    OPC_MoveParent,
3551
310
    OPC_CheckTypeI32,
3552
310
    OPC_CheckPatternPredicate2,
3553
310
    OPC_EmitConvertToTarget1,
3554
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
3555
310
                  MVT::i32, 2, 0, 2, 
3556
310
   14, 
3557
310
    OPC_CheckPredicate, 17,
3558
310
    OPC_MoveParent,
3559
310
    OPC_CheckTypeI64,
3560
310
    OPC_CheckPatternPredicate, 23,
3561
310
    OPC_EmitConvertToTarget1,
3562
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRA),
3563
310
                  MVT::i64, 2, 0, 2, 
3564
310
   25, 
3565
310
    OPC_CheckPredicate3, 
3566
310
    OPC_MoveParent,
3567
310
    OPC_CheckTypeI32,
3568
310
    OPC_Scope, 9, 
3569
310
     OPC_CheckPatternPredicate5,
3570
310
     OPC_EmitConvertToTarget1,
3571
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SraX16),
3572
310
                   MVT::i32, 2, 0, 2, 
3573
310
    9, 
3574
310
     OPC_CheckPatternPredicate4,
3575
310
     OPC_EmitConvertToTarget1,
3576
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_MM),
3577
310
                   MVT::i32, 2, 0, 2, 
3578
310
    0, 
3579
310
   0, 
3580
310
  26, 
3581
310
   OPC_MoveChild1,
3582
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3583
310
   OPC_RecordChild0,
3584
310
   OPC_CheckTypeI32,
3585
310
   OPC_MoveParent,
3586
310
   OPC_CheckTypeI64,
3587
310
   OPC_CheckPatternPredicate, 12,
3588
310
   OPC_EmitStringInteger32, Mips::sub_32,
3589
310
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3590
310
                 MVT::i32, 2, 1, 2, 
3591
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
3592
310
                 MVT::i64, 2, 0, 3, 
3593
310
  46, 
3594
310
   OPC_RecordChild1,
3595
310
   OPC_CheckChild1TypeI32,
3596
310
   OPC_SwitchType , 29, MVT::i32,
3597
310
    OPC_Scope, 8, 
3598
310
     OPC_CheckPatternPredicate2,
3599
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV),
3600
310
                   MVT::i32, 2, 0, 1, 
3601
310
    8, 
3602
310
     OPC_CheckPatternPredicate5,
3603
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SravRxRy16),
3604
310
                   MVT::i32, 2, 0, 1, 
3605
310
    8, 
3606
310
     OPC_CheckPatternPredicate4,
3607
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAV_MM),
3608
310
                   MVT::i32, 2, 0, 1, 
3609
310
    0, 
3610
310
   9, MVT::i64,
3611
310
    OPC_CheckPatternPredicate, 23,
3612
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRAV),
3613
310
                  MVT::i64, 2, 0, 1, 
3614
310
   0,
3615
310
  30|128,4, 
3616
310
   OPC_MoveChild1,
3617
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
3618
310
   OPC_Scope, 124, 
3619
310
    OPC_RecordChild0,
3620
310
    OPC_MoveChild1,
3621
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3622
310
    OPC_MoveChild0,
3623
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3624
310
    OPC_CheckPredicate0, 
3625
310
    OPC_CheckTypeI32,
3626
310
    OPC_MoveSibling1,
3627
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3628
310
    OPC_CheckPredicate0, 
3629
310
    OPC_CheckTypeI32,
3630
310
    OPC_MoveSibling2,
3631
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3632
310
    OPC_CheckPredicate0, 
3633
310
    OPC_CheckTypeI32,
3634
310
    OPC_MoveSibling3,
3635
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3636
310
    OPC_CheckPredicate0, 
3637
310
    OPC_CheckTypeI32,
3638
310
    OPC_MoveSibling4,
3639
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3640
310
    OPC_CheckPredicate0, 
3641
310
    OPC_CheckTypeI32,
3642
310
    OPC_MoveSibling5,
3643
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3644
310
    OPC_CheckPredicate0, 
3645
310
    OPC_CheckTypeI32,
3646
310
    OPC_MoveSibling6,
3647
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3648
310
    OPC_CheckPredicate0, 
3649
310
    OPC_CheckTypeI32,
3650
310
    OPC_MoveSibling7,
3651
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3652
310
    OPC_CheckPredicate0, 
3653
310
    OPC_CheckTypeI32,
3654
310
    OPC_MoveSibling, 8,
3655
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3656
310
    OPC_CheckPredicate0, 
3657
310
    OPC_CheckTypeI32,
3658
310
    OPC_MoveSibling, 9,
3659
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3660
310
    OPC_CheckPredicate0, 
3661
310
    OPC_CheckTypeI32,
3662
310
    OPC_MoveSibling, 10,
3663
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3664
310
    OPC_CheckPredicate0, 
3665
310
    OPC_CheckTypeI32,
3666
310
    OPC_MoveSibling, 11,
3667
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3668
310
    OPC_CheckPredicate0, 
3669
310
    OPC_CheckTypeI32,
3670
310
    OPC_MoveSibling, 12,
3671
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3672
310
    OPC_CheckPredicate0, 
3673
310
    OPC_CheckTypeI32,
3674
310
    OPC_MoveSibling, 13,
3675
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3676
310
    OPC_CheckPredicate0, 
3677
310
    OPC_CheckTypeI32,
3678
310
    OPC_MoveSibling, 14,
3679
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3680
310
    OPC_CheckPredicate0, 
3681
310
    OPC_CheckTypeI32,
3682
310
    OPC_MoveSibling, 15,
3683
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3684
310
    OPC_CheckPredicate0, 
3685
310
    OPC_CheckTypeI32,
3686
310
    OPC_MoveParent,
3687
310
    OPC_MoveParent,
3688
310
    OPC_CheckType, MVT::v16i8,
3689
310
    OPC_MoveParent,
3690
310
    OPC_CheckType, MVT::v16i8,
3691
310
    OPC_CheckPatternPredicate3,
3692
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
3693
310
                  MVT::v16i8, 2, 0, 1, 
3694
310
   124, 
3695
310
    OPC_MoveChild0,
3696
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3697
310
    OPC_MoveChild0,
3698
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3699
310
    OPC_CheckPredicate0, 
3700
310
    OPC_CheckTypeI32,
3701
310
    OPC_MoveSibling1,
3702
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3703
310
    OPC_CheckPredicate0, 
3704
310
    OPC_CheckTypeI32,
3705
310
    OPC_MoveSibling2,
3706
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3707
310
    OPC_CheckPredicate0, 
3708
310
    OPC_CheckTypeI32,
3709
310
    OPC_MoveSibling3,
3710
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3711
310
    OPC_CheckPredicate0, 
3712
310
    OPC_CheckTypeI32,
3713
310
    OPC_MoveSibling4,
3714
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3715
310
    OPC_CheckPredicate0, 
3716
310
    OPC_CheckTypeI32,
3717
310
    OPC_MoveSibling5,
3718
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3719
310
    OPC_CheckPredicate0, 
3720
310
    OPC_CheckTypeI32,
3721
310
    OPC_MoveSibling6,
3722
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3723
310
    OPC_CheckPredicate0, 
3724
310
    OPC_CheckTypeI32,
3725
310
    OPC_MoveSibling7,
3726
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3727
310
    OPC_CheckPredicate0, 
3728
310
    OPC_CheckTypeI32,
3729
310
    OPC_MoveSibling, 8,
3730
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3731
310
    OPC_CheckPredicate0, 
3732
310
    OPC_CheckTypeI32,
3733
310
    OPC_MoveSibling, 9,
3734
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3735
310
    OPC_CheckPredicate0, 
3736
310
    OPC_CheckTypeI32,
3737
310
    OPC_MoveSibling, 10,
3738
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3739
310
    OPC_CheckPredicate0, 
3740
310
    OPC_CheckTypeI32,
3741
310
    OPC_MoveSibling, 11,
3742
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3743
310
    OPC_CheckPredicate0, 
3744
310
    OPC_CheckTypeI32,
3745
310
    OPC_MoveSibling, 12,
3746
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3747
310
    OPC_CheckPredicate0, 
3748
310
    OPC_CheckTypeI32,
3749
310
    OPC_MoveSibling, 13,
3750
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3751
310
    OPC_CheckPredicate0, 
3752
310
    OPC_CheckTypeI32,
3753
310
    OPC_MoveSibling, 14,
3754
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3755
310
    OPC_CheckPredicate0, 
3756
310
    OPC_CheckTypeI32,
3757
310
    OPC_MoveSibling, 15,
3758
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3759
310
    OPC_CheckPredicate0, 
3760
310
    OPC_CheckTypeI32,
3761
310
    OPC_MoveParent,
3762
310
    OPC_MoveParent,
3763
310
    OPC_RecordChild1,
3764
310
    OPC_CheckType, MVT::v16i8,
3765
310
    OPC_MoveParent,
3766
310
    OPC_CheckType, MVT::v16i8,
3767
310
    OPC_CheckPatternPredicate3,
3768
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
3769
310
                  MVT::v16i8, 2, 0, 1, 
3770
310
   68, 
3771
310
    OPC_RecordChild0,
3772
310
    OPC_MoveChild1,
3773
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3774
310
    OPC_MoveChild0,
3775
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3776
310
    OPC_CheckPredicate1, 
3777
310
    OPC_CheckTypeI32,
3778
310
    OPC_MoveSibling1,
3779
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3780
310
    OPC_CheckPredicate1, 
3781
310
    OPC_CheckTypeI32,
3782
310
    OPC_MoveSibling2,
3783
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3784
310
    OPC_CheckPredicate1, 
3785
310
    OPC_CheckTypeI32,
3786
310
    OPC_MoveSibling3,
3787
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3788
310
    OPC_CheckPredicate1, 
3789
310
    OPC_CheckTypeI32,
3790
310
    OPC_MoveSibling4,
3791
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3792
310
    OPC_CheckPredicate1, 
3793
310
    OPC_CheckTypeI32,
3794
310
    OPC_MoveSibling5,
3795
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3796
310
    OPC_CheckPredicate1, 
3797
310
    OPC_CheckTypeI32,
3798
310
    OPC_MoveSibling6,
3799
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3800
310
    OPC_CheckPredicate1, 
3801
310
    OPC_CheckTypeI32,
3802
310
    OPC_MoveSibling7,
3803
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3804
310
    OPC_CheckPredicate1, 
3805
310
    OPC_CheckTypeI32,
3806
310
    OPC_MoveParent,
3807
310
    OPC_MoveParent,
3808
310
    OPC_CheckType, MVT::v8i16,
3809
310
    OPC_MoveParent,
3810
310
    OPC_CheckType, MVT::v8i16,
3811
310
    OPC_CheckPatternPredicate3,
3812
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
3813
310
                  MVT::v8i16, 2, 0, 1, 
3814
310
   68, 
3815
310
    OPC_MoveChild0,
3816
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3817
310
    OPC_MoveChild0,
3818
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3819
310
    OPC_CheckPredicate1, 
3820
310
    OPC_CheckTypeI32,
3821
310
    OPC_MoveSibling1,
3822
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3823
310
    OPC_CheckPredicate1, 
3824
310
    OPC_CheckTypeI32,
3825
310
    OPC_MoveSibling2,
3826
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3827
310
    OPC_CheckPredicate1, 
3828
310
    OPC_CheckTypeI32,
3829
310
    OPC_MoveSibling3,
3830
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3831
310
    OPC_CheckPredicate1, 
3832
310
    OPC_CheckTypeI32,
3833
310
    OPC_MoveSibling4,
3834
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3835
310
    OPC_CheckPredicate1, 
3836
310
    OPC_CheckTypeI32,
3837
310
    OPC_MoveSibling5,
3838
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3839
310
    OPC_CheckPredicate1, 
3840
310
    OPC_CheckTypeI32,
3841
310
    OPC_MoveSibling6,
3842
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3843
310
    OPC_CheckPredicate1, 
3844
310
    OPC_CheckTypeI32,
3845
310
    OPC_MoveSibling7,
3846
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3847
310
    OPC_CheckPredicate1, 
3848
310
    OPC_CheckTypeI32,
3849
310
    OPC_MoveParent,
3850
310
    OPC_MoveParent,
3851
310
    OPC_RecordChild1,
3852
310
    OPC_CheckType, MVT::v8i16,
3853
310
    OPC_MoveParent,
3854
310
    OPC_CheckType, MVT::v8i16,
3855
310
    OPC_CheckPatternPredicate3,
3856
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
3857
310
                  MVT::v8i16, 2, 0, 1, 
3858
310
   44, 
3859
310
    OPC_RecordChild0,
3860
310
    OPC_MoveChild1,
3861
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3862
310
    OPC_MoveChild0,
3863
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3864
310
    OPC_CheckPredicate2, 
3865
310
    OPC_CheckTypeI32,
3866
310
    OPC_MoveSibling1,
3867
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3868
310
    OPC_CheckPredicate2, 
3869
310
    OPC_CheckTypeI32,
3870
310
    OPC_MoveSibling2,
3871
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3872
310
    OPC_CheckPredicate2, 
3873
310
    OPC_CheckTypeI32,
3874
310
    OPC_MoveSibling3,
3875
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3876
310
    OPC_CheckPredicate2, 
3877
310
    OPC_CheckTypeI32,
3878
310
    OPC_MoveParent,
3879
310
    OPC_MoveParent,
3880
310
    OPC_CheckType, MVT::v4i32,
3881
310
    OPC_MoveParent,
3882
310
    OPC_CheckType, MVT::v4i32,
3883
310
    OPC_CheckPatternPredicate3,
3884
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
3885
310
                  MVT::v4i32, 2, 0, 1, 
3886
310
   44, 
3887
310
    OPC_MoveChild0,
3888
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3889
310
    OPC_MoveChild0,
3890
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3891
310
    OPC_CheckPredicate2, 
3892
310
    OPC_CheckTypeI32,
3893
310
    OPC_MoveSibling1,
3894
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3895
310
    OPC_CheckPredicate2, 
3896
310
    OPC_CheckTypeI32,
3897
310
    OPC_MoveSibling2,
3898
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3899
310
    OPC_CheckPredicate2, 
3900
310
    OPC_CheckTypeI32,
3901
310
    OPC_MoveSibling3,
3902
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3903
310
    OPC_CheckPredicate2, 
3904
310
    OPC_CheckTypeI32,
3905
310
    OPC_MoveParent,
3906
310
    OPC_MoveParent,
3907
310
    OPC_RecordChild1,
3908
310
    OPC_CheckType, MVT::v4i32,
3909
310
    OPC_MoveParent,
3910
310
    OPC_CheckType, MVT::v4i32,
3911
310
    OPC_CheckPatternPredicate3,
3912
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
3913
310
                  MVT::v4i32, 2, 0, 1, 
3914
310
   28, 
3915
310
    OPC_RecordChild0,
3916
310
    OPC_MoveChild1,
3917
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3918
310
    OPC_MoveChild0,
3919
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3920
310
    OPC_CheckType, MVT::v4i32,
3921
310
    OPC_MoveParent,
3922
310
    OPC_CheckPredicate, 14,
3923
310
    OPC_MoveParent,
3924
310
    OPC_CheckType, MVT::v2i64,
3925
310
    OPC_MoveParent,
3926
310
    OPC_CheckType, MVT::v2i64,
3927
310
    OPC_CheckPatternPredicate3,
3928
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
3929
310
                  MVT::v2i64, 2, 0, 1, 
3930
310
   28, 
3931
310
    OPC_MoveChild0,
3932
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
3933
310
    OPC_MoveChild0,
3934
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
3935
310
    OPC_CheckType, MVT::v4i32,
3936
310
    OPC_MoveParent,
3937
310
    OPC_CheckPredicate, 14,
3938
310
    OPC_MoveParent,
3939
310
    OPC_RecordChild1,
3940
310
    OPC_CheckType, MVT::v2i64,
3941
310
    OPC_MoveParent,
3942
310
    OPC_CheckType, MVT::v2i64,
3943
310
    OPC_CheckPatternPredicate3,
3944
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
3945
310
                  MVT::v2i64, 2, 0, 1, 
3946
310
   0, 
3947
310
  106, 
3948
310
   OPC_RecordChild1,
3949
310
   OPC_SwitchType , 24, MVT::v16i8,
3950
310
    OPC_CheckChild1Type, MVT::v16i8,
3951
310
    OPC_CheckPatternPredicate0,
3952
310
    OPC_Scope, 10, 
3953
310
     OPC_CheckComplexPat, /*CP*/22, /*#*/1,
3954
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_B),
3955
310
                   MVT::v16i8, 2, 0, 2, 
3956
310
    7, 
3957
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_B),
3958
310
                   MVT::v16i8, 2, 0, 1, 
3959
310
    0, 
3960
310
   24, MVT::v8i16,
3961
310
    OPC_CheckChild1Type, MVT::v8i16,
3962
310
    OPC_CheckPatternPredicate0,
3963
310
    OPC_Scope, 10, 
3964
310
     OPC_CheckComplexPat, /*CP*/23, /*#*/1,
3965
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_H),
3966
310
                   MVT::v8i16, 2, 0, 2, 
3967
310
    7, 
3968
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_H),
3969
310
                   MVT::v8i16, 2, 0, 1, 
3970
310
    0, 
3971
310
   23, MVT::v4i32,
3972
310
    OPC_CheckChild1Type, MVT::v4i32,
3973
310
    OPC_CheckPatternPredicate0,
3974
310
    OPC_Scope, 9, 
3975
310
     OPC_CheckComplexPat4, /*#*/1,
3976
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_W),
3977
310
                   MVT::v4i32, 2, 0, 2, 
3978
310
    7, 
3979
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_W),
3980
310
                   MVT::v4i32, 2, 0, 1, 
3981
310
    0, 
3982
310
   24, MVT::v2i64,
3983
310
    OPC_CheckChild1Type, MVT::v2i64,
3984
310
    OPC_CheckPatternPredicate0,
3985
310
    OPC_Scope, 10, 
3986
310
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
3987
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAI_D),
3988
310
                   MVT::v2i64, 2, 0, 2, 
3989
310
    7, 
3990
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA_D),
3991
310
                   MVT::v2i64, 2, 0, 1, 
3992
310
    0, 
3993
310
   0,
3994
310
  0, 
3995
310
 82|128,47, TARGET_VAL(ISD::SELECT),
3996
310
  OPC_Scope, 22|128,21, 
3997
310
   OPC_MoveChild0,
3998
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
3999
310
   OPC_RecordChild0,
4000
310
   OPC_Scope, 97|128,14, 
4001
310
    OPC_CheckChild0TypeI32,
4002
310
    OPC_Scope, 5|128,2, 
4003
310
     OPC_MoveChild1,
4004
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4005
310
     OPC_CheckPredicate5, 
4006
310
     OPC_MoveParent,
4007
310
     OPC_CheckTypeI32,
4008
310
     OPC_Scope, 125, 
4009
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
4010
310
      OPC_Scope, 18, 
4011
310
       OPC_MoveParent,
4012
310
       OPC_RecordChild1,
4013
310
       OPC_MoveChild2,
4014
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4015
310
       OPC_CheckPredicate5, 
4016
310
       OPC_MoveParent,
4017
310
       OPC_CheckTypeI32,
4018
310
       OPC_CheckPatternPredicate, 15,
4019
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
4020
310
                     MVT::i32, 2, 1, 0, 
4021
310
      17, 
4022
310
       OPC_MoveSibling1,
4023
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4024
310
       OPC_CheckPredicate5, 
4025
310
       OPC_MoveParent,
4026
310
       OPC_RecordChild2,
4027
310
       OPC_CheckTypeI32,
4028
310
       OPC_CheckPatternPredicate, 15,
4029
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
4030
310
                     MVT::i32, 2, 1, 0, 
4031
310
      17, 
4032
310
       OPC_MoveParent,
4033
310
       OPC_RecordChild1,
4034
310
       OPC_MoveChild2,
4035
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4036
310
       OPC_CheckPredicate5, 
4037
310
       OPC_MoveParent,
4038
310
       OPC_CheckTypeI32,
4039
310
       OPC_CheckPatternPredicate7,
4040
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4041
310
                     MVT::i32, 2, 1, 0, 
4042
310
      16, 
4043
310
       OPC_MoveSibling1,
4044
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4045
310
       OPC_CheckPredicate5, 
4046
310
       OPC_MoveParent,
4047
310
       OPC_RecordChild2,
4048
310
       OPC_CheckTypeI32,
4049
310
       OPC_CheckPatternPredicate7,
4050
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4051
310
                     MVT::i32, 2, 1, 0, 
4052
310
      24, 
4053
310
       OPC_MoveParent,
4054
310
       OPC_RecordChild1,
4055
310
       OPC_MoveChild2,
4056
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4057
310
       OPC_CheckPredicate5, 
4058
310
       OPC_MoveParent,
4059
310
       OPC_CheckTypeI64,
4060
310
       OPC_CheckPatternPredicate, 19,
4061
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4062
310
                     MVT::i64, 1, 0, 
4063
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
4064
310
                     MVT::i64, 2, 1, 2, 
4065
310
      23, 
4066
310
       OPC_MoveSibling1,
4067
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4068
310
       OPC_CheckPredicate5, 
4069
310
       OPC_MoveParent,
4070
310
       OPC_RecordChild2,
4071
310
       OPC_CheckTypeI64,
4072
310
       OPC_CheckPatternPredicate, 19,
4073
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4074
310
                     MVT::i64, 1, 0, 
4075
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
4076
310
                     MVT::i64, 2, 1, 2, 
4077
310
      0, 
4078
310
     125, 
4079
310
      OPC_CheckChild2CondCode, ISD::SETNE,
4080
310
      OPC_Scope, 18, 
4081
310
       OPC_MoveParent,
4082
310
       OPC_RecordChild1,
4083
310
       OPC_MoveChild2,
4084
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4085
310
       OPC_CheckPredicate5, 
4086
310
       OPC_MoveParent,
4087
310
       OPC_CheckTypeI32,
4088
310
       OPC_CheckPatternPredicate, 15,
4089
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
4090
310
                     MVT::i32, 2, 1, 0, 
4091
310
      17, 
4092
310
       OPC_MoveSibling1,
4093
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4094
310
       OPC_CheckPredicate5, 
4095
310
       OPC_MoveParent,
4096
310
       OPC_RecordChild2,
4097
310
       OPC_CheckTypeI32,
4098
310
       OPC_CheckPatternPredicate, 15,
4099
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
4100
310
                     MVT::i32, 2, 1, 0, 
4101
310
      17, 
4102
310
       OPC_MoveParent,
4103
310
       OPC_RecordChild1,
4104
310
       OPC_MoveChild2,
4105
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4106
310
       OPC_CheckPredicate5, 
4107
310
       OPC_MoveParent,
4108
310
       OPC_CheckTypeI32,
4109
310
       OPC_CheckPatternPredicate7,
4110
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4111
310
                     MVT::i32, 2, 1, 0, 
4112
310
      16, 
4113
310
       OPC_MoveSibling1,
4114
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4115
310
       OPC_CheckPredicate5, 
4116
310
       OPC_MoveParent,
4117
310
       OPC_RecordChild2,
4118
310
       OPC_CheckTypeI32,
4119
310
       OPC_CheckPatternPredicate7,
4120
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4121
310
                     MVT::i32, 2, 1, 0, 
4122
310
      24, 
4123
310
       OPC_MoveParent,
4124
310
       OPC_RecordChild1,
4125
310
       OPC_MoveChild2,
4126
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4127
310
       OPC_CheckPredicate5, 
4128
310
       OPC_MoveParent,
4129
310
       OPC_CheckTypeI64,
4130
310
       OPC_CheckPatternPredicate, 19,
4131
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4132
310
                     MVT::i64, 1, 0, 
4133
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
4134
310
                     MVT::i64, 2, 1, 2, 
4135
310
      23, 
4136
310
       OPC_MoveSibling1,
4137
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4138
310
       OPC_CheckPredicate5, 
4139
310
       OPC_MoveParent,
4140
310
       OPC_RecordChild2,
4141
310
       OPC_CheckTypeI64,
4142
310
       OPC_CheckPatternPredicate, 19,
4143
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4144
310
                     MVT::i64, 1, 0, 
4145
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
4146
310
                     MVT::i64, 2, 1, 2, 
4147
310
      0, 
4148
310
     0, 
4149
310
    0|128,1, 
4150
310
     OPC_CheckChild1Integer, 0, 
4151
310
     OPC_CheckTypeI32,
4152
310
     OPC_Scope, 55, 
4153
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
4154
310
      OPC_MoveParent,
4155
310
      OPC_RecordChild1,
4156
310
      OPC_RecordChild2,
4157
310
      OPC_SwitchType , 34, MVT::i32,
4158
310
       OPC_Scope, 10, 
4159
310
        OPC_CheckPatternPredicate, 20,
4160
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4161
310
                      MVT::i32, 3, 1, 0, 2, 
4162
310
       10, 
4163
310
        OPC_CheckPatternPredicate, 8,
4164
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4165
310
                      MVT::i32, 3, 1, 0, 2, 
4166
310
       9, 
4167
310
        OPC_CheckPatternPredicate5,
4168
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBeqZ),
4169
310
                      MVT::i32, 3, 1, 2, 0, 
4170
310
       0, 
4171
310
      10, MVT::i64,
4172
310
       OPC_CheckPatternPredicate, 9,
4173
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4174
310
                     MVT::i64, 3, 1, 0, 2, 
4175
310
      0,
4176
310
     66, 
4177
310
      OPC_CheckChild2CondCode, ISD::SETNE,
4178
310
      OPC_MoveParent,
4179
310
      OPC_RecordChild1,
4180
310
      OPC_RecordChild2,
4181
310
      OPC_SwitchType , 45, MVT::i32,
4182
310
       OPC_Scope, 10, 
4183
310
        OPC_CheckPatternPredicate, 20,
4184
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
4185
310
                      MVT::i32, 3, 1, 0, 2, 
4186
310
       10, 
4187
310
        OPC_CheckPatternPredicate, 61,
4188
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
4189
310
                      MVT::i32, 3, 1, 0, 2, 
4190
310
       10, 
4191
310
        OPC_CheckPatternPredicate, 8,
4192
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
4193
310
                      MVT::i32, 3, 1, 0, 2, 
4194
310
       9, 
4195
310
        OPC_CheckPatternPredicate5,
4196
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBneZ),
4197
310
                      MVT::i32, 3, 1, 2, 0, 
4198
310
       0, 
4199
310
      10, MVT::i64,
4200
310
       OPC_CheckPatternPredicate, 9,
4201
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
4202
310
                     MVT::i64, 3, 1, 0, 2, 
4203
310
      0,
4204
310
     0, 
4205
310
    99|128,4, 
4206
310
     OPC_RecordChild1,
4207
310
     OPC_MoveChild1,
4208
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4209
310
     OPC_Scope, 55, 
4210
310
      OPC_CheckPredicate7, 
4211
310
      OPC_MoveParent,
4212
310
      OPC_CheckTypeI32,
4213
310
      OPC_Scope, 24, 
4214
310
       OPC_CheckChild2CondCode, ISD::SETGE,
4215
310
       OPC_MoveParent,
4216
310
       OPC_RecordChild1,
4217
310
       OPC_RecordChild2,
4218
310
       OPC_CheckTypeI32,
4219
310
       OPC_CheckPatternPredicate, 20,
4220
310
       OPC_EmitConvertToTarget1,
4221
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4222
310
                     MVT::i32, 2, 0, 4, 
4223
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4224
310
                     MVT::i32, 3, 2, 5, 3, 
4225
310
      24, 
4226
310
       OPC_CheckChild2CondCode, ISD::SETUGE,
4227
310
       OPC_MoveParent,
4228
310
       OPC_RecordChild1,
4229
310
       OPC_RecordChild2,
4230
310
       OPC_CheckTypeI32,
4231
310
       OPC_CheckPatternPredicate, 20,
4232
310
       OPC_EmitConvertToTarget1,
4233
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4234
310
                     MVT::i32, 2, 0, 4, 
4235
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4236
310
                     MVT::i32, 3, 2, 5, 3, 
4237
310
      0, 
4238
310
     62, 
4239
310
      OPC_CheckPredicate, 11,
4240
310
      OPC_MoveParent,
4241
310
      OPC_CheckTypeI32,
4242
310
      OPC_Scope, 27, 
4243
310
       OPC_CheckChild2CondCode, ISD::SETGT,
4244
310
       OPC_MoveParent,
4245
310
       OPC_RecordChild1,
4246
310
       OPC_RecordChild2,
4247
310
       OPC_CheckTypeI32,
4248
310
       OPC_CheckPatternPredicate, 20,
4249
310
       OPC_EmitConvertToTarget1,
4250
310
       OPC_EmitNodeXForm, 2, 4,
4251
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4252
310
                     MVT::i32, 2, 0, 5, 
4253
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4254
310
                     MVT::i32, 3, 2, 6, 3, 
4255
310
      27, 
4256
310
       OPC_CheckChild2CondCode, ISD::SETUGT,
4257
310
       OPC_MoveParent,
4258
310
       OPC_RecordChild1,
4259
310
       OPC_RecordChild2,
4260
310
       OPC_CheckTypeI32,
4261
310
       OPC_CheckPatternPredicate, 20,
4262
310
       OPC_EmitConvertToTarget1,
4263
310
       OPC_EmitNodeXForm, 2, 4,
4264
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4265
310
                     MVT::i32, 2, 0, 5, 
4266
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4267
310
                     MVT::i32, 3, 2, 6, 3, 
4268
310
      0, 
4269
310
     31, 
4270
310
      OPC_CheckPredicate, 13,
4271
310
      OPC_MoveParent,
4272
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
4273
310
      OPC_CheckTypeI32,
4274
310
      OPC_MoveParent,
4275
310
      OPC_RecordChild1,
4276
310
      OPC_RecordChild2,
4277
310
      OPC_CheckTypeI32,
4278
310
      OPC_CheckPatternPredicate, 20,
4279
310
      OPC_EmitConvertToTarget1,
4280
310
      OPC_EmitNodeXForm, 3, 4,
4281
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4282
310
                    MVT::i32, 2, 0, 5, 
4283
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
4284
310
                    MVT::i32, 3, 2, 6, 3, 
4285
310
     55, 
4286
310
      OPC_CheckPredicate7, 
4287
310
      OPC_MoveParent,
4288
310
      OPC_CheckTypeI32,
4289
310
      OPC_Scope, 24, 
4290
310
       OPC_CheckChild2CondCode, ISD::SETGE,
4291
310
       OPC_MoveParent,
4292
310
       OPC_RecordChild1,
4293
310
       OPC_RecordChild2,
4294
310
       OPC_CheckTypeI64,
4295
310
       OPC_CheckPatternPredicate, 9,
4296
310
       OPC_EmitConvertToTarget1,
4297
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4298
310
                     MVT::i32, 2, 0, 4, 
4299
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4300
310
                     MVT::i64, 3, 2, 5, 3, 
4301
310
      24, 
4302
310
       OPC_CheckChild2CondCode, ISD::SETUGE,
4303
310
       OPC_MoveParent,
4304
310
       OPC_RecordChild1,
4305
310
       OPC_RecordChild2,
4306
310
       OPC_CheckTypeI64,
4307
310
       OPC_CheckPatternPredicate, 9,
4308
310
       OPC_EmitConvertToTarget1,
4309
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4310
310
                     MVT::i32, 2, 0, 4, 
4311
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4312
310
                     MVT::i64, 3, 2, 5, 3, 
4313
310
      0, 
4314
310
     62, 
4315
310
      OPC_CheckPredicate, 11,
4316
310
      OPC_MoveParent,
4317
310
      OPC_CheckTypeI32,
4318
310
      OPC_Scope, 27, 
4319
310
       OPC_CheckChild2CondCode, ISD::SETGT,
4320
310
       OPC_MoveParent,
4321
310
       OPC_RecordChild1,
4322
310
       OPC_RecordChild2,
4323
310
       OPC_CheckTypeI64,
4324
310
       OPC_CheckPatternPredicate, 9,
4325
310
       OPC_EmitConvertToTarget1,
4326
310
       OPC_EmitNodeXForm, 2, 4,
4327
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4328
310
                     MVT::i32, 2, 0, 5, 
4329
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4330
310
                     MVT::i64, 3, 2, 6, 3, 
4331
310
      27, 
4332
310
       OPC_CheckChild2CondCode, ISD::SETUGT,
4333
310
       OPC_MoveParent,
4334
310
       OPC_RecordChild1,
4335
310
       OPC_RecordChild2,
4336
310
       OPC_CheckTypeI64,
4337
310
       OPC_CheckPatternPredicate, 9,
4338
310
       OPC_EmitConvertToTarget1,
4339
310
       OPC_EmitNodeXForm, 2, 4,
4340
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4341
310
                     MVT::i32, 2, 0, 5, 
4342
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4343
310
                     MVT::i64, 3, 2, 6, 3, 
4344
310
      0, 
4345
310
     31, 
4346
310
      OPC_CheckPredicate, 13,
4347
310
      OPC_MoveParent,
4348
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
4349
310
      OPC_CheckTypeI32,
4350
310
      OPC_MoveParent,
4351
310
      OPC_RecordChild1,
4352
310
      OPC_RecordChild2,
4353
310
      OPC_CheckTypeI64,
4354
310
      OPC_CheckPatternPredicate, 9,
4355
310
      OPC_EmitConvertToTarget1,
4356
310
      OPC_EmitNodeXForm, 3, 4,
4357
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4358
310
                    MVT::i32, 2, 0, 5, 
4359
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
4360
310
                    MVT::i64, 3, 2, 6, 3, 
4361
310
     55, 
4362
310
      OPC_CheckPredicate7, 
4363
310
      OPC_MoveParent,
4364
310
      OPC_CheckTypeI32,
4365
310
      OPC_Scope, 24, 
4366
310
       OPC_CheckChild2CondCode, ISD::SETGE,
4367
310
       OPC_MoveParent,
4368
310
       OPC_RecordChild1,
4369
310
       OPC_RecordChild2,
4370
310
       OPC_CheckTypeI32,
4371
310
       OPC_CheckPatternPredicate, 8,
4372
310
       OPC_EmitConvertToTarget1,
4373
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4374
310
                     MVT::i32, 2, 0, 4, 
4375
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4376
310
                     MVT::i32, 3, 2, 5, 3, 
4377
310
      24, 
4378
310
       OPC_CheckChild2CondCode, ISD::SETUGE,
4379
310
       OPC_MoveParent,
4380
310
       OPC_RecordChild1,
4381
310
       OPC_RecordChild2,
4382
310
       OPC_CheckTypeI32,
4383
310
       OPC_CheckPatternPredicate, 8,
4384
310
       OPC_EmitConvertToTarget1,
4385
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4386
310
                     MVT::i32, 2, 0, 4, 
4387
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4388
310
                     MVT::i32, 3, 2, 5, 3, 
4389
310
      0, 
4390
310
     62, 
4391
310
      OPC_CheckPredicate, 11,
4392
310
      OPC_MoveParent,
4393
310
      OPC_CheckTypeI32,
4394
310
      OPC_Scope, 27, 
4395
310
       OPC_CheckChild2CondCode, ISD::SETGT,
4396
310
       OPC_MoveParent,
4397
310
       OPC_RecordChild1,
4398
310
       OPC_RecordChild2,
4399
310
       OPC_CheckTypeI32,
4400
310
       OPC_CheckPatternPredicate, 8,
4401
310
       OPC_EmitConvertToTarget1,
4402
310
       OPC_EmitNodeXForm, 2, 4,
4403
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4404
310
                     MVT::i32, 2, 0, 5, 
4405
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4406
310
                     MVT::i32, 3, 2, 6, 3, 
4407
310
      27, 
4408
310
       OPC_CheckChild2CondCode, ISD::SETUGT,
4409
310
       OPC_MoveParent,
4410
310
       OPC_RecordChild1,
4411
310
       OPC_RecordChild2,
4412
310
       OPC_CheckTypeI32,
4413
310
       OPC_CheckPatternPredicate, 8,
4414
310
       OPC_EmitConvertToTarget1,
4415
310
       OPC_EmitNodeXForm, 2, 4,
4416
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4417
310
                     MVT::i32, 2, 0, 5, 
4418
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4419
310
                     MVT::i32, 3, 2, 6, 3, 
4420
310
      0, 
4421
310
     31, 
4422
310
      OPC_CheckPredicate, 13,
4423
310
      OPC_MoveParent,
4424
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
4425
310
      OPC_CheckTypeI32,
4426
310
      OPC_MoveParent,
4427
310
      OPC_RecordChild1,
4428
310
      OPC_RecordChild2,
4429
310
      OPC_CheckTypeI32,
4430
310
      OPC_CheckPatternPredicate, 8,
4431
310
      OPC_EmitConvertToTarget1,
4432
310
      OPC_EmitNodeXForm, 3, 4,
4433
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XORi_MM),
4434
310
                    MVT::i32, 2, 0, 5, 
4435
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4436
310
                    MVT::i32, 3, 2, 6, 3, 
4437
310
     55, 
4438
310
      OPC_CheckPredicate7, 
4439
310
      OPC_MoveParent,
4440
310
      OPC_CheckTypeI32,
4441
310
      OPC_Scope, 24, 
4442
310
       OPC_CheckChild2CondCode, ISD::SETGE,
4443
310
       OPC_MoveParent,
4444
310
       OPC_RecordChild1,
4445
310
       OPC_RecordChild2,
4446
310
       OPC_CheckTypeI32,
4447
310
       OPC_CheckPatternPredicate, 8,
4448
310
       OPC_EmitConvertToTarget1,
4449
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4450
310
                     MVT::i32, 2, 0, 4, 
4451
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4452
310
                     MVT::i32, 3, 2, 5, 3, 
4453
310
      24, 
4454
310
       OPC_CheckChild2CondCode, ISD::SETUGE,
4455
310
       OPC_MoveParent,
4456
310
       OPC_RecordChild1,
4457
310
       OPC_RecordChild2,
4458
310
       OPC_CheckTypeI32,
4459
310
       OPC_CheckPatternPredicate, 8,
4460
310
       OPC_EmitConvertToTarget1,
4461
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4462
310
                     MVT::i32, 2, 0, 4, 
4463
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4464
310
                     MVT::i32, 3, 2, 5, 3, 
4465
310
      0, 
4466
310
     62, 
4467
310
      OPC_CheckPredicate, 11,
4468
310
      OPC_MoveParent,
4469
310
      OPC_CheckTypeI32,
4470
310
      OPC_Scope, 27, 
4471
310
       OPC_CheckChild2CondCode, ISD::SETGT,
4472
310
       OPC_MoveParent,
4473
310
       OPC_RecordChild1,
4474
310
       OPC_RecordChild2,
4475
310
       OPC_CheckTypeI32,
4476
310
       OPC_CheckPatternPredicate, 8,
4477
310
       OPC_EmitConvertToTarget1,
4478
310
       OPC_EmitNodeXForm, 2, 4,
4479
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4480
310
                     MVT::i32, 2, 0, 5, 
4481
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4482
310
                     MVT::i32, 3, 2, 6, 3, 
4483
310
      27, 
4484
310
       OPC_CheckChild2CondCode, ISD::SETUGT,
4485
310
       OPC_MoveParent,
4486
310
       OPC_RecordChild1,
4487
310
       OPC_RecordChild2,
4488
310
       OPC_CheckTypeI32,
4489
310
       OPC_CheckPatternPredicate, 8,
4490
310
       OPC_EmitConvertToTarget1,
4491
310
       OPC_EmitNodeXForm, 2, 4,
4492
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4493
310
                     MVT::i32, 2, 0, 5, 
4494
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4495
310
                     MVT::i32, 3, 2, 6, 3, 
4496
310
      0, 
4497
310
     31, 
4498
310
      OPC_CheckPredicate, 13,
4499
310
      OPC_MoveParent,
4500
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
4501
310
      OPC_CheckTypeI32,
4502
310
      OPC_MoveParent,
4503
310
      OPC_RecordChild1,
4504
310
      OPC_RecordChild2,
4505
310
      OPC_CheckTypeI32,
4506
310
      OPC_CheckPatternPredicate, 8,
4507
310
      OPC_EmitConvertToTarget1,
4508
310
      OPC_EmitNodeXForm, 3, 4,
4509
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XORi_MM),
4510
310
                    MVT::i32, 2, 0, 5, 
4511
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
4512
310
                    MVT::i32, 3, 2, 6, 3, 
4513
310
     0, 
4514
310
    121, 
4515
310
     OPC_MoveChild1,
4516
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4517
310
     OPC_CheckPredicate5, 
4518
310
     OPC_MoveParent,
4519
310
     OPC_CheckTypeI32,
4520
310
     OPC_Scope, 55, 
4521
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
4522
310
      OPC_MoveParent,
4523
310
      OPC_RecordChild1,
4524
310
      OPC_RecordChild2,
4525
310
      OPC_CheckTypeI32,
4526
310
      OPC_Scope, 23, 
4527
310
       OPC_CheckPatternPredicate, 15,
4528
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4529
310
                     MVT::i32, 2, 1, 0, 
4530
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4531
310
                     MVT::i32, 2, 2, 0, 
4532
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4533
310
                     MVT::i32, 2, 3, 4, 
4534
310
      22, 
4535
310
       OPC_CheckPatternPredicate7,
4536
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4537
310
                     MVT::i32, 2, 1, 0, 
4538
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4539
310
                     MVT::i32, 2, 2, 0, 
4540
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4541
310
                     MVT::i32, 2, 3, 4, 
4542
310
      0, 
4543
310
     55, 
4544
310
      OPC_CheckChild2CondCode, ISD::SETNE,
4545
310
      OPC_MoveParent,
4546
310
      OPC_RecordChild1,
4547
310
      OPC_RecordChild2,
4548
310
      OPC_CheckTypeI32,
4549
310
      OPC_Scope, 23, 
4550
310
       OPC_CheckPatternPredicate, 15,
4551
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4552
310
                     MVT::i32, 2, 1, 0, 
4553
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4554
310
                     MVT::i32, 2, 2, 0, 
4555
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4556
310
                     MVT::i32, 2, 3, 4, 
4557
310
      22, 
4558
310
       OPC_CheckPatternPredicate7,
4559
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4560
310
                     MVT::i32, 2, 1, 0, 
4561
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4562
310
                     MVT::i32, 2, 2, 0, 
4563
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4564
310
                     MVT::i32, 2, 3, 4, 
4565
310
      0, 
4566
310
     0, 
4567
310
    101|128,1, 
4568
310
     OPC_RecordChild1,
4569
310
     OPC_MoveChild1,
4570
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4571
310
     OPC_Scope, 110, 
4572
310
      OPC_CheckPredicate, 13,
4573
310
      OPC_MoveParent,
4574
310
      OPC_CheckTypeI32,
4575
310
      OPC_Scope, 51, 
4576
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
4577
310
       OPC_MoveParent,
4578
310
       OPC_RecordChild1,
4579
310
       OPC_RecordChild2,
4580
310
       OPC_CheckTypeI32,
4581
310
       OPC_CheckPatternPredicate, 15,
4582
310
       OPC_EmitConvertToTarget1,
4583
310
       OPC_EmitNodeXForm, 3, 4,
4584
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4585
310
                     MVT::i32, 2, 0, 5, 
4586
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4587
310
                     MVT::i32, 2, 2, 6, 
4588
310
       OPC_EmitConvertToTarget1,
4589
310
       OPC_EmitNodeXForm, 3, 8,
4590
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4591
310
                     MVT::i32, 2, 0, 9, 
4592
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4593
310
                     MVT::i32, 2, 3, 10, 
4594
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4595
310
                     MVT::i32, 2, 7, 11, 
4596
310
      51, 
4597
310
       OPC_CheckChild2CondCode, ISD::SETNE,
4598
310
       OPC_MoveParent,
4599
310
       OPC_RecordChild1,
4600
310
       OPC_RecordChild2,
4601
310
       OPC_CheckTypeI32,
4602
310
       OPC_CheckPatternPredicate, 15,
4603
310
       OPC_EmitConvertToTarget1,
4604
310
       OPC_EmitNodeXForm, 3, 4,
4605
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4606
310
                     MVT::i32, 2, 0, 5, 
4607
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4608
310
                     MVT::i32, 2, 2, 6, 
4609
310
       OPC_EmitConvertToTarget1,
4610
310
       OPC_EmitNodeXForm, 3, 8,
4611
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4612
310
                     MVT::i32, 2, 0, 9, 
4613
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4614
310
                     MVT::i32, 2, 3, 10, 
4615
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4616
310
                     MVT::i32, 2, 7, 11, 
4617
310
      0, 
4618
310
     110, 
4619
310
      OPC_CheckPredicate, 11,
4620
310
      OPC_MoveParent,
4621
310
      OPC_CheckTypeI32,
4622
310
      OPC_Scope, 51, 
4623
310
       OPC_CheckChild2CondCode, ISD::SETGT,
4624
310
       OPC_MoveParent,
4625
310
       OPC_RecordChild1,
4626
310
       OPC_RecordChild2,
4627
310
       OPC_CheckTypeI32,
4628
310
       OPC_CheckPatternPredicate, 15,
4629
310
       OPC_EmitConvertToTarget1,
4630
310
       OPC_EmitNodeXForm, 2, 4,
4631
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4632
310
                     MVT::i32, 2, 0, 5, 
4633
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4634
310
                     MVT::i32, 2, 2, 6, 
4635
310
       OPC_EmitConvertToTarget1,
4636
310
       OPC_EmitNodeXForm, 2, 8,
4637
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
4638
310
                     MVT::i32, 2, 0, 9, 
4639
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4640
310
                     MVT::i32, 2, 3, 10, 
4641
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4642
310
                     MVT::i32, 2, 7, 11, 
4643
310
      51, 
4644
310
       OPC_CheckChild2CondCode, ISD::SETUGT,
4645
310
       OPC_MoveParent,
4646
310
       OPC_RecordChild1,
4647
310
       OPC_RecordChild2,
4648
310
       OPC_CheckTypeI32,
4649
310
       OPC_CheckPatternPredicate, 15,
4650
310
       OPC_EmitConvertToTarget1,
4651
310
       OPC_EmitNodeXForm, 2, 4,
4652
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4653
310
                     MVT::i32, 2, 0, 5, 
4654
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
4655
310
                     MVT::i32, 2, 2, 6, 
4656
310
       OPC_EmitConvertToTarget1,
4657
310
       OPC_EmitNodeXForm, 2, 8,
4658
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
4659
310
                     MVT::i32, 2, 0, 9, 
4660
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
4661
310
                     MVT::i32, 2, 3, 10, 
4662
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
4663
310
                     MVT::i32, 2, 7, 11, 
4664
310
      0, 
4665
310
     0, 
4666
310
    93, 
4667
310
     OPC_MoveChild1,
4668
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4669
310
     OPC_CheckPredicate5, 
4670
310
     OPC_MoveParent,
4671
310
     OPC_CheckTypeI32,
4672
310
     OPC_Scope, 41, 
4673
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
4674
310
      OPC_MoveParent,
4675
310
      OPC_RecordChild1,
4676
310
      OPC_RecordChild2,
4677
310
      OPC_CheckTypeI64,
4678
310
      OPC_CheckPatternPredicate, 19,
4679
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4680
310
                    MVT::i64, 1, 0, 
4681
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
4682
310
                    MVT::i64, 2, 1, 3, 
4683
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4684
310
                    MVT::i64, 1, 0, 
4685
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
4686
310
                    MVT::i64, 2, 2, 5, 
4687
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
4688
310
                    MVT::i64, 2, 4, 6, 
4689
310
     41, 
4690
310
      OPC_CheckChild2CondCode, ISD::SETNE,
4691
310
      OPC_MoveParent,
4692
310
      OPC_RecordChild1,
4693
310
      OPC_RecordChild2,
4694
310
      OPC_CheckTypeI64,
4695
310
      OPC_CheckPatternPredicate, 19,
4696
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4697
310
                    MVT::i64, 1, 0, 
4698
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
4699
310
                    MVT::i64, 2, 1, 3, 
4700
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4701
310
                    MVT::i64, 1, 0, 
4702
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
4703
310
                    MVT::i64, 2, 2, 5, 
4704
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
4705
310
                    MVT::i64, 2, 4, 6, 
4706
310
     0, 
4707
310
    47|128,3, 
4708
310
     OPC_RecordChild1,
4709
310
     OPC_MoveChild1,
4710
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4711
310
     OPC_Scope, 108, 
4712
310
      OPC_CheckPredicate, 13,
4713
310
      OPC_MoveParent,
4714
310
      OPC_CheckTypeI32,
4715
310
      OPC_Scope, 50, 
4716
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
4717
310
       OPC_MoveParent,
4718
310
       OPC_RecordChild1,
4719
310
       OPC_RecordChild2,
4720
310
       OPC_CheckTypeI32,
4721
310
       OPC_CheckPatternPredicate7,
4722
310
       OPC_EmitConvertToTarget1,
4723
310
       OPC_EmitNodeXForm, 3, 4,
4724
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
4725
310
                     MVT::i32, 2, 0, 5, 
4726
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4727
310
                     MVT::i32, 2, 2, 6, 
4728
310
       OPC_EmitConvertToTarget1,
4729
310
       OPC_EmitNodeXForm, 3, 8,
4730
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
4731
310
                     MVT::i32, 2, 0, 9, 
4732
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4733
310
                     MVT::i32, 2, 3, 10, 
4734
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4735
310
                     MVT::i32, 2, 7, 11, 
4736
310
      50, 
4737
310
       OPC_CheckChild2CondCode, ISD::SETNE,
4738
310
       OPC_MoveParent,
4739
310
       OPC_RecordChild1,
4740
310
       OPC_RecordChild2,
4741
310
       OPC_CheckTypeI32,
4742
310
       OPC_CheckPatternPredicate7,
4743
310
       OPC_EmitConvertToTarget1,
4744
310
       OPC_EmitNodeXForm, 3, 4,
4745
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
4746
310
                     MVT::i32, 2, 0, 5, 
4747
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4748
310
                     MVT::i32, 2, 2, 6, 
4749
310
       OPC_EmitConvertToTarget1,
4750
310
       OPC_EmitNodeXForm, 3, 8,
4751
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORI_MMR6),
4752
310
                     MVT::i32, 2, 0, 9, 
4753
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4754
310
                     MVT::i32, 2, 3, 10, 
4755
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4756
310
                     MVT::i32, 2, 7, 11, 
4757
310
      0, 
4758
310
     108, 
4759
310
      OPC_CheckPredicate, 11,
4760
310
      OPC_MoveParent,
4761
310
      OPC_CheckTypeI32,
4762
310
      OPC_Scope, 50, 
4763
310
       OPC_CheckChild2CondCode, ISD::SETGT,
4764
310
       OPC_MoveParent,
4765
310
       OPC_RecordChild1,
4766
310
       OPC_RecordChild2,
4767
310
       OPC_CheckTypeI32,
4768
310
       OPC_CheckPatternPredicate7,
4769
310
       OPC_EmitConvertToTarget1,
4770
310
       OPC_EmitNodeXForm, 2, 4,
4771
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4772
310
                     MVT::i32, 2, 0, 5, 
4773
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4774
310
                     MVT::i32, 2, 2, 6, 
4775
310
       OPC_EmitConvertToTarget1,
4776
310
       OPC_EmitNodeXForm, 2, 8,
4777
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
4778
310
                     MVT::i32, 2, 0, 9, 
4779
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4780
310
                     MVT::i32, 2, 3, 10, 
4781
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4782
310
                     MVT::i32, 2, 7, 11, 
4783
310
      50, 
4784
310
       OPC_CheckChild2CondCode, ISD::SETUGT,
4785
310
       OPC_MoveParent,
4786
310
       OPC_RecordChild1,
4787
310
       OPC_RecordChild2,
4788
310
       OPC_CheckTypeI32,
4789
310
       OPC_CheckPatternPredicate7,
4790
310
       OPC_EmitConvertToTarget1,
4791
310
       OPC_EmitNodeXForm, 2, 4,
4792
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4793
310
                     MVT::i32, 2, 0, 5, 
4794
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
4795
310
                     MVT::i32, 2, 2, 6, 
4796
310
       OPC_EmitConvertToTarget1,
4797
310
       OPC_EmitNodeXForm, 2, 8,
4798
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
4799
310
                     MVT::i32, 2, 0, 9, 
4800
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
4801
310
                     MVT::i32, 2, 3, 10, 
4802
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
4803
310
                     MVT::i32, 2, 7, 11, 
4804
310
      0, 
4805
310
     6|128,1, 
4806
310
      OPC_CheckPredicate, 13,
4807
310
      OPC_MoveParent,
4808
310
      OPC_CheckTypeI32,
4809
310
      OPC_Scope, 63, 
4810
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
4811
310
       OPC_MoveParent,
4812
310
       OPC_RecordChild1,
4813
310
       OPC_RecordChild2,
4814
310
       OPC_CheckTypeI64,
4815
310
       OPC_CheckPatternPredicate, 19,
4816
310
       OPC_EmitConvertToTarget1,
4817
310
       OPC_EmitNodeXForm, 3, 4,
4818
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4819
310
                     MVT::i32, 2, 0, 5, 
4820
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4821
310
                     MVT::i64, 1, 6, 
4822
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
4823
310
                     MVT::i64, 2, 2, 7, 
4824
310
       OPC_EmitConvertToTarget1,
4825
310
       OPC_EmitNodeXForm, 3, 9,
4826
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4827
310
                     MVT::i32, 2, 0, 10, 
4828
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4829
310
                     MVT::i64, 1, 11, 
4830
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
4831
310
                     MVT::i64, 2, 3, 12, 
4832
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
4833
310
                     MVT::i64, 2, 8, 13, 
4834
310
      63, 
4835
310
       OPC_CheckChild2CondCode, ISD::SETNE,
4836
310
       OPC_MoveParent,
4837
310
       OPC_RecordChild1,
4838
310
       OPC_RecordChild2,
4839
310
       OPC_CheckTypeI64,
4840
310
       OPC_CheckPatternPredicate, 19,
4841
310
       OPC_EmitConvertToTarget1,
4842
310
       OPC_EmitNodeXForm, 3, 4,
4843
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4844
310
                     MVT::i32, 2, 0, 5, 
4845
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4846
310
                     MVT::i64, 1, 6, 
4847
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
4848
310
                     MVT::i64, 2, 2, 7, 
4849
310
       OPC_EmitConvertToTarget1,
4850
310
       OPC_EmitNodeXForm, 3, 9,
4851
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi),
4852
310
                     MVT::i32, 2, 0, 10, 
4853
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
4854
310
                     MVT::i64, 1, 11, 
4855
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
4856
310
                     MVT::i64, 2, 3, 12, 
4857
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
4858
310
                     MVT::i64, 2, 8, 13, 
4859
310
      0, 
4860
310
     20, 
4861
310
      OPC_CheckPredicate7, 
4862
310
      OPC_MoveParent,
4863
310
      OPC_CheckChild2CondCode, ISD::SETLT,
4864
310
      OPC_CheckTypeI32,
4865
310
      OPC_MoveParent,
4866
310
      OPC_RecordChild1,
4867
310
      OPC_RecordChild2,
4868
310
      OPC_CheckTypeI32,
4869
310
      OPC_CheckPatternPredicate5,
4870
310
      OPC_EmitConvertToTarget1,
4871
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSlti),
4872
310
                    MVT::i32, 4, 2, 3, 0, 4, 
4873
310
     48, 
4874
310
      OPC_CheckPredicate, 13,
4875
310
      OPC_MoveParent,
4876
310
      OPC_CheckTypeI32,
4877
310
      OPC_Scope, 20, 
4878
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
4879
310
       OPC_MoveParent,
4880
310
       OPC_RecordChild1,
4881
310
       OPC_RecordChild2,
4882
310
       OPC_CheckTypeI32,
4883
310
       OPC_CheckPatternPredicate5,
4884
310
       OPC_EmitConvertToTarget1,
4885
310
       OPC_EmitNodeXForm, 3, 4,
4886
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZCmpi),
4887
310
                     MVT::i32, 4, 2, 3, 0, 5, 
4888
310
      20, 
4889
310
       OPC_CheckChild2CondCode, ISD::SETNE,
4890
310
       OPC_MoveParent,
4891
310
       OPC_RecordChild1,
4892
310
       OPC_RecordChild2,
4893
310
       OPC_CheckTypeI32,
4894
310
       OPC_CheckPatternPredicate5,
4895
310
       OPC_EmitConvertToTarget1,
4896
310
       OPC_EmitNodeXForm, 3, 4,
4897
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZCmpi),
4898
310
                     MVT::i32, 4, 2, 3, 0, 5, 
4899
310
      0, 
4900
310
     0, 
4901
310
    0, 
4902
310
   42|128,6, 
4903
310
    OPC_CheckChild0TypeI64,
4904
310
    OPC_Scope, 93, 
4905
310
     OPC_MoveChild1,
4906
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4907
310
     OPC_CheckPredicate5, 
4908
310
     OPC_MoveParent,
4909
310
     OPC_CheckTypeI32,
4910
310
     OPC_Scope, 41, 
4911
310
      OPC_CheckChild2CondCode, ISD::SETNE,
4912
310
      OPC_Scope, 18, 
4913
310
       OPC_MoveParent,
4914
310
       OPC_RecordChild1,
4915
310
       OPC_MoveChild2,
4916
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4917
310
       OPC_CheckPredicate5, 
4918
310
       OPC_MoveParent,
4919
310
       OPC_CheckTypeI64,
4920
310
       OPC_CheckPatternPredicate, 19,
4921
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
4922
310
                     MVT::i64, 2, 1, 0, 
4923
310
      17, 
4924
310
       OPC_MoveSibling1,
4925
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4926
310
       OPC_CheckPredicate5, 
4927
310
       OPC_MoveParent,
4928
310
       OPC_RecordChild2,
4929
310
       OPC_CheckTypeI64,
4930
310
       OPC_CheckPatternPredicate, 19,
4931
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
4932
310
                     MVT::i64, 2, 1, 0, 
4933
310
      0, 
4934
310
     41, 
4935
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
4936
310
      OPC_Scope, 18, 
4937
310
       OPC_MoveParent,
4938
310
       OPC_RecordChild1,
4939
310
       OPC_MoveChild2,
4940
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4941
310
       OPC_CheckPredicate5, 
4942
310
       OPC_MoveParent,
4943
310
       OPC_CheckTypeI64,
4944
310
       OPC_CheckPatternPredicate, 19,
4945
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
4946
310
                     MVT::i64, 2, 1, 0, 
4947
310
      17, 
4948
310
       OPC_MoveSibling1,
4949
310
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4950
310
       OPC_CheckPredicate5, 
4951
310
       OPC_MoveParent,
4952
310
       OPC_RecordChild2,
4953
310
       OPC_CheckTypeI64,
4954
310
       OPC_CheckPatternPredicate, 19,
4955
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
4956
310
                     MVT::i64, 2, 1, 0, 
4957
310
      0, 
4958
310
     0, 
4959
310
    69, 
4960
310
     OPC_CheckChild1Integer, 0, 
4961
310
     OPC_CheckTypeI32,
4962
310
     OPC_Scope, 31, 
4963
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
4964
310
      OPC_MoveParent,
4965
310
      OPC_RecordChild1,
4966
310
      OPC_RecordChild2,
4967
310
      OPC_SwitchType , 10, MVT::i32,
4968
310
       OPC_CheckPatternPredicate, 9,
4969
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
4970
310
                     MVT::i32, 3, 1, 0, 2, 
4971
310
      10, MVT::i64,
4972
310
       OPC_CheckPatternPredicate, 9,
4973
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
4974
310
                     MVT::i64, 3, 1, 0, 2, 
4975
310
      0,
4976
310
     31, 
4977
310
      OPC_CheckChild2CondCode, ISD::SETNE,
4978
310
      OPC_MoveParent,
4979
310
      OPC_RecordChild1,
4980
310
      OPC_RecordChild2,
4981
310
      OPC_SwitchType , 10, MVT::i32,
4982
310
       OPC_CheckPatternPredicate, 9,
4983
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
4984
310
                     MVT::i32, 3, 1, 0, 2, 
4985
310
      10, MVT::i64,
4986
310
       OPC_CheckPatternPredicate, 9,
4987
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
4988
310
                     MVT::i64, 3, 1, 0, 2, 
4989
310
      0,
4990
310
     0, 
4991
310
    47|128,2, 
4992
310
     OPC_RecordChild1,
4993
310
     OPC_MoveChild1,
4994
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
4995
310
     OPC_Scope, 55, 
4996
310
      OPC_CheckPredicate7, 
4997
310
      OPC_MoveParent,
4998
310
      OPC_CheckTypeI32,
4999
310
      OPC_Scope, 24, 
5000
310
       OPC_CheckChild2CondCode, ISD::SETGE,
5001
310
       OPC_MoveParent,
5002
310
       OPC_RecordChild1,
5003
310
       OPC_RecordChild2,
5004
310
       OPC_CheckTypeI32,
5005
310
       OPC_CheckPatternPredicate, 9,
5006
310
       OPC_EmitConvertToTarget1,
5007
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5008
310
                     MVT::i32, 2, 0, 4, 
5009
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5010
310
                     MVT::i32, 3, 2, 5, 3, 
5011
310
      24, 
5012
310
       OPC_CheckChild2CondCode, ISD::SETUGE,
5013
310
       OPC_MoveParent,
5014
310
       OPC_RecordChild1,
5015
310
       OPC_RecordChild2,
5016
310
       OPC_CheckTypeI32,
5017
310
       OPC_CheckPatternPredicate, 9,
5018
310
       OPC_EmitConvertToTarget1,
5019
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5020
310
                     MVT::i32, 2, 0, 4, 
5021
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5022
310
                     MVT::i32, 3, 2, 5, 3, 
5023
310
      0, 
5024
310
     62, 
5025
310
      OPC_CheckPredicate, 11,
5026
310
      OPC_MoveParent,
5027
310
      OPC_CheckTypeI32,
5028
310
      OPC_Scope, 27, 
5029
310
       OPC_CheckChild2CondCode, ISD::SETGT,
5030
310
       OPC_MoveParent,
5031
310
       OPC_RecordChild1,
5032
310
       OPC_RecordChild2,
5033
310
       OPC_CheckTypeI32,
5034
310
       OPC_CheckPatternPredicate, 9,
5035
310
       OPC_EmitConvertToTarget1,
5036
310
       OPC_EmitNodeXForm, 2, 4,
5037
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5038
310
                     MVT::i32, 2, 0, 5, 
5039
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5040
310
                     MVT::i32, 3, 2, 6, 3, 
5041
310
      27, 
5042
310
       OPC_CheckChild2CondCode, ISD::SETUGT,
5043
310
       OPC_MoveParent,
5044
310
       OPC_RecordChild1,
5045
310
       OPC_RecordChild2,
5046
310
       OPC_CheckTypeI32,
5047
310
       OPC_CheckPatternPredicate, 9,
5048
310
       OPC_EmitConvertToTarget1,
5049
310
       OPC_EmitNodeXForm, 2, 4,
5050
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5051
310
                     MVT::i32, 2, 0, 5, 
5052
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5053
310
                     MVT::i32, 3, 2, 6, 3, 
5054
310
      0, 
5055
310
     55, 
5056
310
      OPC_CheckPredicate7, 
5057
310
      OPC_MoveParent,
5058
310
      OPC_CheckTypeI32,
5059
310
      OPC_Scope, 24, 
5060
310
       OPC_CheckChild2CondCode, ISD::SETGE,
5061
310
       OPC_MoveParent,
5062
310
       OPC_RecordChild1,
5063
310
       OPC_RecordChild2,
5064
310
       OPC_CheckTypeI64,
5065
310
       OPC_CheckPatternPredicate, 9,
5066
310
       OPC_EmitConvertToTarget1,
5067
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5068
310
                     MVT::i32, 2, 0, 4, 
5069
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5070
310
                     MVT::i64, 3, 2, 5, 3, 
5071
310
      24, 
5072
310
       OPC_CheckChild2CondCode, ISD::SETUGE,
5073
310
       OPC_MoveParent,
5074
310
       OPC_RecordChild1,
5075
310
       OPC_RecordChild2,
5076
310
       OPC_CheckTypeI64,
5077
310
       OPC_CheckPatternPredicate, 9,
5078
310
       OPC_EmitConvertToTarget1,
5079
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5080
310
                     MVT::i32, 2, 0, 4, 
5081
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5082
310
                     MVT::i64, 3, 2, 5, 3, 
5083
310
      0, 
5084
310
     62, 
5085
310
      OPC_CheckPredicate, 11,
5086
310
      OPC_MoveParent,
5087
310
      OPC_CheckTypeI32,
5088
310
      OPC_Scope, 27, 
5089
310
       OPC_CheckChild2CondCode, ISD::SETGT,
5090
310
       OPC_MoveParent,
5091
310
       OPC_RecordChild1,
5092
310
       OPC_RecordChild2,
5093
310
       OPC_CheckTypeI64,
5094
310
       OPC_CheckPatternPredicate, 9,
5095
310
       OPC_EmitConvertToTarget1,
5096
310
       OPC_EmitNodeXForm, 2, 4,
5097
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5098
310
                     MVT::i32, 2, 0, 5, 
5099
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5100
310
                     MVT::i64, 3, 2, 6, 3, 
5101
310
      27, 
5102
310
       OPC_CheckChild2CondCode, ISD::SETUGT,
5103
310
       OPC_MoveParent,
5104
310
       OPC_RecordChild1,
5105
310
       OPC_RecordChild2,
5106
310
       OPC_CheckTypeI64,
5107
310
       OPC_CheckPatternPredicate, 9,
5108
310
       OPC_EmitConvertToTarget1,
5109
310
       OPC_EmitNodeXForm, 2, 4,
5110
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5111
310
                     MVT::i32, 2, 0, 5, 
5112
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5113
310
                     MVT::i64, 3, 2, 6, 3, 
5114
310
      0, 
5115
310
     57, 
5116
310
      OPC_CheckPredicate, 13,
5117
310
      OPC_MoveParent,
5118
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
5119
310
      OPC_CheckTypeI32,
5120
310
      OPC_MoveParent,
5121
310
      OPC_RecordChild1,
5122
310
      OPC_RecordChild2,
5123
310
      OPC_SwitchType , 21, MVT::i32,
5124
310
       OPC_CheckPatternPredicate, 9,
5125
310
       OPC_EmitConvertToTarget1,
5126
310
       OPC_EmitNodeXForm, 3, 4,
5127
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5128
310
                     MVT::i64, 2, 0, 5, 
5129
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
5130
310
                     MVT::i32, 3, 2, 6, 3, 
5131
310
      21, MVT::i64,
5132
310
       OPC_CheckPatternPredicate, 9,
5133
310
       OPC_EmitConvertToTarget1,
5134
310
       OPC_EmitNodeXForm, 3, 4,
5135
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5136
310
                     MVT::i64, 2, 0, 5, 
5137
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
5138
310
                     MVT::i64, 3, 2, 6, 3, 
5139
310
      0,
5140
310
     0, 
5141
310
    69, 
5142
310
     OPC_MoveChild1,
5143
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5144
310
     OPC_CheckPredicate5, 
5145
310
     OPC_MoveParent,
5146
310
     OPC_CheckTypeI32,
5147
310
     OPC_Scope, 29, 
5148
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
5149
310
      OPC_MoveParent,
5150
310
      OPC_RecordChild1,
5151
310
      OPC_RecordChild2,
5152
310
      OPC_CheckTypeI64,
5153
310
      OPC_CheckPatternPredicate, 19,
5154
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5155
310
                    MVT::i64, 2, 1, 0, 
5156
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5157
310
                    MVT::i64, 2, 2, 0, 
5158
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5159
310
                    MVT::i64, 2, 3, 4, 
5160
310
     29, 
5161
310
      OPC_CheckChild2CondCode, ISD::SETNE,
5162
310
      OPC_MoveParent,
5163
310
      OPC_RecordChild1,
5164
310
      OPC_RecordChild2,
5165
310
      OPC_CheckTypeI64,
5166
310
      OPC_CheckPatternPredicate, 19,
5167
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5168
310
                    MVT::i64, 2, 1, 0, 
5169
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5170
310
                    MVT::i64, 2, 2, 0, 
5171
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5172
310
                    MVT::i64, 2, 3, 4, 
5173
310
     0, 
5174
310
    10|128,2, 
5175
310
     OPC_RecordChild1,
5176
310
     OPC_MoveChild1,
5177
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5178
310
     OPC_Scope, 98, 
5179
310
      OPC_CheckPredicate, 61,
5180
310
      OPC_MoveParent,
5181
310
      OPC_CheckTypeI32,
5182
310
      OPC_Scope, 45, 
5183
310
       OPC_CheckChild2CondCode, ISD::SETEQ,
5184
310
       OPC_MoveParent,
5185
310
       OPC_RecordChild1,
5186
310
       OPC_RecordChild2,
5187
310
       OPC_CheckTypeI64,
5188
310
       OPC_CheckPatternPredicate, 19,
5189
310
       OPC_EmitConvertToTarget1,
5190
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5191
310
                     MVT::i64, 2, 0, 4, 
5192
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5193
310
                     MVT::i64, 2, 2, 5, 
5194
310
       OPC_EmitConvertToTarget1,
5195
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5196
310
                     MVT::i64, 2, 0, 7, 
5197
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5198
310
                     MVT::i64, 2, 3, 8, 
5199
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5200
310
                     MVT::i64, 2, 6, 9, 
5201
310
      45, 
5202
310
       OPC_CheckChild2CondCode, ISD::SETNE,
5203
310
       OPC_MoveParent,
5204
310
       OPC_RecordChild1,
5205
310
       OPC_RecordChild2,
5206
310
       OPC_CheckTypeI64,
5207
310
       OPC_CheckPatternPredicate, 19,
5208
310
       OPC_EmitConvertToTarget1,
5209
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5210
310
                     MVT::i64, 2, 0, 4, 
5211
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5212
310
                     MVT::i64, 2, 2, 5, 
5213
310
       OPC_EmitConvertToTarget1,
5214
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XORi64),
5215
310
                     MVT::i64, 2, 0, 7, 
5216
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5217
310
                     MVT::i64, 2, 3, 8, 
5218
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5219
310
                     MVT::i64, 2, 6, 9, 
5220
310
      0, 
5221
310
     30|128,1, 
5222
310
      OPC_CheckPredicate, 11,
5223
310
      OPC_MoveParent,
5224
310
      OPC_CheckTypeI32,
5225
310
      OPC_Scope, 75, 
5226
310
       OPC_CheckChild2CondCode, ISD::SETGT,
5227
310
       OPC_MoveParent,
5228
310
       OPC_RecordChild1,
5229
310
       OPC_RecordChild2,
5230
310
       OPC_CheckTypeI64,
5231
310
       OPC_CheckPatternPredicate, 19,
5232
310
       OPC_EmitInteger64, 0, 
5233
310
       OPC_EmitConvertToTarget1,
5234
310
       OPC_EmitNodeXForm, 2, 5,
5235
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5236
310
                     MVT::i32, 2, 0, 6, 
5237
310
       OPC_EmitStringInteger32, Mips::sub_32,
5238
310
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
5239
310
                     MVT::i64, 3, 4, 7, 8, 
5240
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5241
310
                     MVT::i64, 2, 2, 9, 
5242
310
       OPC_EmitInteger64, 0, 
5243
310
       OPC_EmitConvertToTarget1,
5244
310
       OPC_EmitNodeXForm, 2, 12,
5245
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
5246
310
                     MVT::i32, 2, 0, 13, 
5247
310
       OPC_EmitStringInteger32, Mips::sub_32,
5248
310
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
5249
310
                     MVT::i64, 3, 11, 14, 15, 
5250
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5251
310
                     MVT::i64, 2, 3, 16, 
5252
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5253
310
                     MVT::i64, 2, 10, 17, 
5254
310
      75, 
5255
310
       OPC_CheckChild2CondCode, ISD::SETUGT,
5256
310
       OPC_MoveParent,
5257
310
       OPC_RecordChild1,
5258
310
       OPC_RecordChild2,
5259
310
       OPC_CheckTypeI64,
5260
310
       OPC_CheckPatternPredicate, 19,
5261
310
       OPC_EmitInteger64, 0, 
5262
310
       OPC_EmitConvertToTarget1,
5263
310
       OPC_EmitNodeXForm, 2, 5,
5264
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5265
310
                     MVT::i32, 2, 0, 6, 
5266
310
       OPC_EmitStringInteger32, Mips::sub_32,
5267
310
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
5268
310
                     MVT::i64, 3, 4, 7, 8, 
5269
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5270
310
                     MVT::i64, 2, 2, 9, 
5271
310
       OPC_EmitInteger64, 0, 
5272
310
       OPC_EmitConvertToTarget1,
5273
310
       OPC_EmitNodeXForm, 2, 12,
5274
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
5275
310
                     MVT::i32, 2, 0, 13, 
5276
310
       OPC_EmitStringInteger32, Mips::sub_32,
5277
310
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
5278
310
                     MVT::i64, 3, 11, 14, 15, 
5279
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5280
310
                     MVT::i64, 2, 3, 16, 
5281
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5282
310
                     MVT::i64, 2, 10, 17, 
5283
310
      0, 
5284
310
     0, 
5285
310
    0, 
5286
310
   0, 
5287
310
  122, 
5288
310
   OPC_RecordChild0,
5289
310
   OPC_CheckChild0TypeI32,
5290
310
   OPC_Scope, 17, 
5291
310
    OPC_RecordChild1,
5292
310
    OPC_MoveChild2,
5293
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5294
310
    OPC_CheckPredicate5, 
5295
310
    OPC_MoveParent,
5296
310
    OPC_CheckTypeI32,
5297
310
    OPC_CheckPatternPredicate, 15,
5298
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ),
5299
310
                  MVT::i32, 2, 1, 0, 
5300
310
   17, 
5301
310
    OPC_MoveChild1,
5302
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5303
310
    OPC_CheckPredicate5, 
5304
310
    OPC_MoveParent,
5305
310
    OPC_RecordChild2,
5306
310
    OPC_CheckTypeI32,
5307
310
    OPC_CheckPatternPredicate, 15,
5308
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ),
5309
310
                  MVT::i32, 2, 1, 0, 
5310
310
   16, 
5311
310
    OPC_RecordChild1,
5312
310
    OPC_MoveChild2,
5313
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5314
310
    OPC_CheckPredicate5, 
5315
310
    OPC_MoveParent,
5316
310
    OPC_CheckTypeI32,
5317
310
    OPC_CheckPatternPredicate7,
5318
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5319
310
                  MVT::i32, 2, 1, 0, 
5320
310
   16, 
5321
310
    OPC_MoveChild1,
5322
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5323
310
    OPC_CheckPredicate5, 
5324
310
    OPC_MoveParent,
5325
310
    OPC_RecordChild2,
5326
310
    OPC_CheckTypeI32,
5327
310
    OPC_CheckPatternPredicate7,
5328
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5329
310
                  MVT::i32, 2, 1, 0, 
5330
310
   23, 
5331
310
    OPC_RecordChild1,
5332
310
    OPC_MoveChild2,
5333
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5334
310
    OPC_CheckPredicate5, 
5335
310
    OPC_MoveParent,
5336
310
    OPC_CheckTypeI64,
5337
310
    OPC_CheckPatternPredicate, 19,
5338
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5339
310
                  MVT::i64, 1, 0, 
5340
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELNEZ64),
5341
310
                  MVT::i64, 2, 1, 2, 
5342
310
   23, 
5343
310
    OPC_MoveChild1,
5344
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5345
310
    OPC_CheckPredicate5, 
5346
310
    OPC_MoveParent,
5347
310
    OPC_RecordChild2,
5348
310
    OPC_CheckTypeI64,
5349
310
    OPC_CheckPatternPredicate, 19,
5350
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5351
310
                  MVT::i64, 1, 0, 
5352
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SELEQZ64),
5353
310
                  MVT::i64, 2, 1, 2, 
5354
310
   0, 
5355
310
  48|128,6, 
5356
310
   OPC_MoveChild0,
5357
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5358
310
   OPC_RecordChild0,
5359
310
   OPC_CheckTypeI32,
5360
310
   OPC_Scope, 12|128,4, 
5361
310
    OPC_CheckChild0TypeI32,
5362
310
    OPC_RecordChild1,
5363
310
    OPC_Scope, 77, 
5364
310
     OPC_CheckChild2CondCode, ISD::SETGE,
5365
310
     OPC_MoveParent,
5366
310
     OPC_RecordChild1,
5367
310
     OPC_RecordChild2,
5368
310
     OPC_SwitchType , 49, MVT::i32,
5369
310
      OPC_Scope, 17, 
5370
310
       OPC_CheckPatternPredicate, 20,
5371
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
5372
310
                     MVT::i32, 2, 0, 1, 
5373
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5374
310
                     MVT::i32, 3, 2, 4, 3, 
5375
310
      17, 
5376
310
       OPC_CheckPatternPredicate, 8,
5377
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
5378
310
                     MVT::i32, 2, 0, 1, 
5379
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5380
310
                     MVT::i32, 3, 2, 4, 3, 
5381
310
      10, 
5382
310
       OPC_CheckPatternPredicate5,
5383
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSlt),
5384
310
                     MVT::i32, 4, 2, 3, 0, 1, 
5385
310
      0, 
5386
310
     17, MVT::i64,
5387
310
      OPC_CheckPatternPredicate, 9,
5388
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
5389
310
                    MVT::i32, 2, 0, 1, 
5390
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5391
310
                    MVT::i64, 3, 2, 4, 3, 
5392
310
     0,
5393
310
    77, 
5394
310
     OPC_CheckChild2CondCode, ISD::SETUGE,
5395
310
     OPC_MoveParent,
5396
310
     OPC_RecordChild1,
5397
310
     OPC_RecordChild2,
5398
310
     OPC_SwitchType , 49, MVT::i32,
5399
310
      OPC_Scope, 17, 
5400
310
       OPC_CheckPatternPredicate, 20,
5401
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
5402
310
                     MVT::i32, 2, 0, 1, 
5403
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5404
310
                     MVT::i32, 3, 2, 4, 3, 
5405
310
      17, 
5406
310
       OPC_CheckPatternPredicate, 8,
5407
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
5408
310
                     MVT::i32, 2, 0, 1, 
5409
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5410
310
                     MVT::i32, 3, 2, 4, 3, 
5411
310
      10, 
5412
310
       OPC_CheckPatternPredicate5,
5413
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSltu),
5414
310
                     MVT::i32, 4, 2, 3, 0, 1, 
5415
310
      0, 
5416
310
     17, MVT::i64,
5417
310
      OPC_CheckPatternPredicate, 9,
5418
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
5419
310
                    MVT::i32, 2, 0, 1, 
5420
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5421
310
                    MVT::i64, 3, 2, 4, 3, 
5422
310
     0,
5423
310
    77, 
5424
310
     OPC_CheckChild2CondCode, ISD::SETLE,
5425
310
     OPC_MoveParent,
5426
310
     OPC_RecordChild1,
5427
310
     OPC_RecordChild2,
5428
310
     OPC_SwitchType , 49, MVT::i32,
5429
310
      OPC_Scope, 17, 
5430
310
       OPC_CheckPatternPredicate, 20,
5431
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
5432
310
                     MVT::i32, 2, 1, 0, 
5433
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5434
310
                     MVT::i32, 3, 2, 4, 3, 
5435
310
      17, 
5436
310
       OPC_CheckPatternPredicate, 8,
5437
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
5438
310
                     MVT::i32, 2, 1, 0, 
5439
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5440
310
                     MVT::i32, 3, 2, 4, 3, 
5441
310
      10, 
5442
310
       OPC_CheckPatternPredicate5,
5443
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSlt),
5444
310
                     MVT::i32, 4, 2, 3, 1, 0, 
5445
310
      0, 
5446
310
     17, MVT::i64,
5447
310
      OPC_CheckPatternPredicate, 9,
5448
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
5449
310
                    MVT::i32, 2, 1, 0, 
5450
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5451
310
                    MVT::i64, 3, 2, 4, 3, 
5452
310
     0,
5453
310
    77, 
5454
310
     OPC_CheckChild2CondCode, ISD::SETULE,
5455
310
     OPC_MoveParent,
5456
310
     OPC_RecordChild1,
5457
310
     OPC_RecordChild2,
5458
310
     OPC_SwitchType , 49, MVT::i32,
5459
310
      OPC_Scope, 17, 
5460
310
       OPC_CheckPatternPredicate, 20,
5461
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
5462
310
                     MVT::i32, 2, 1, 0, 
5463
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5464
310
                     MVT::i32, 3, 2, 4, 3, 
5465
310
      17, 
5466
310
       OPC_CheckPatternPredicate, 8,
5467
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
5468
310
                     MVT::i32, 2, 1, 0, 
5469
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5470
310
                     MVT::i32, 3, 2, 4, 3, 
5471
310
      10, 
5472
310
       OPC_CheckPatternPredicate5,
5473
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZSltu),
5474
310
                     MVT::i32, 4, 2, 3, 1, 0, 
5475
310
      0, 
5476
310
     17, MVT::i64,
5477
310
      OPC_CheckPatternPredicate, 9,
5478
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
5479
310
                    MVT::i32, 2, 1, 0, 
5480
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5481
310
                    MVT::i64, 3, 2, 4, 3, 
5482
310
     0,
5483
310
    77, 
5484
310
     OPC_CheckChild2CondCode, ISD::SETEQ,
5485
310
     OPC_MoveParent,
5486
310
     OPC_RecordChild1,
5487
310
     OPC_RecordChild2,
5488
310
     OPC_SwitchType , 49, MVT::i32,
5489
310
      OPC_Scope, 17, 
5490
310
       OPC_CheckPatternPredicate, 20,
5491
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
5492
310
                     MVT::i32, 2, 0, 1, 
5493
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5494
310
                     MVT::i32, 3, 2, 4, 3, 
5495
310
      17, 
5496
310
       OPC_CheckPatternPredicate, 8,
5497
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
5498
310
                     MVT::i32, 2, 0, 1, 
5499
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_MM),
5500
310
                     MVT::i32, 3, 2, 4, 3, 
5501
310
      10, 
5502
310
       OPC_CheckPatternPredicate5,
5503
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBteqZCmp),
5504
310
                     MVT::i32, 4, 2, 3, 1, 0, 
5505
310
      0, 
5506
310
     17, MVT::i64,
5507
310
      OPC_CheckPatternPredicate, 9,
5508
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
5509
310
                    MVT::i32, 2, 0, 1, 
5510
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5511
310
                    MVT::i64, 3, 2, 4, 3, 
5512
310
     0,
5513
310
    95, 
5514
310
     OPC_CheckChild2CondCode, ISD::SETNE,
5515
310
     OPC_MoveParent,
5516
310
     OPC_RecordChild1,
5517
310
     OPC_RecordChild2,
5518
310
     OPC_SwitchType , 67, MVT::i32,
5519
310
      OPC_Scope, 17, 
5520
310
       OPC_CheckPatternPredicate, 20,
5521
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
5522
310
                     MVT::i32, 2, 0, 1, 
5523
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
5524
310
                     MVT::i32, 3, 2, 4, 3, 
5525
310
      17, 
5526
310
       OPC_CheckPatternPredicate, 61,
5527
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
5528
310
                     MVT::i32, 2, 0, 1, 
5529
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5530
310
                     MVT::i32, 3, 2, 4, 3, 
5531
310
      17, 
5532
310
       OPC_CheckPatternPredicate, 8,
5533
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
5534
310
                     MVT::i32, 2, 0, 1, 
5535
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5536
310
                     MVT::i32, 3, 2, 4, 3, 
5537
310
      10, 
5538
310
       OPC_CheckPatternPredicate5,
5539
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZCmp),
5540
310
                     MVT::i32, 4, 2, 3, 1, 0, 
5541
310
      0, 
5542
310
     17, MVT::i64,
5543
310
      OPC_CheckPatternPredicate, 9,
5544
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
5545
310
                    MVT::i32, 2, 0, 1, 
5546
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
5547
310
                    MVT::i64, 3, 2, 4, 3, 
5548
310
     0,
5549
310
    16, 
5550
310
     OPC_CheckChild2CondCode, ISD::SETGT,
5551
310
     OPC_MoveParent,
5552
310
     OPC_RecordChild1,
5553
310
     OPC_RecordChild2,
5554
310
     OPC_CheckTypeI32,
5555
310
     OPC_CheckPatternPredicate5,
5556
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSlt),
5557
310
                   MVT::i32, 4, 2, 3, 1, 0, 
5558
310
    16, 
5559
310
     OPC_CheckChild2CondCode, ISD::SETUGT,
5560
310
     OPC_MoveParent,
5561
310
     OPC_RecordChild1,
5562
310
     OPC_RecordChild2,
5563
310
     OPC_CheckTypeI32,
5564
310
     OPC_CheckPatternPredicate5,
5565
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelTBtneZSltu),
5566
310
                   MVT::i32, 4, 2, 3, 1, 0, 
5567
310
    0, 
5568
310
   24|128,2, 
5569
310
    OPC_CheckChild0TypeI64,
5570
310
    OPC_RecordChild1,
5571
310
    OPC_Scope, 45, 
5572
310
     OPC_CheckChild2CondCode, ISD::SETGE,
5573
310
     OPC_MoveParent,
5574
310
     OPC_RecordChild1,
5575
310
     OPC_RecordChild2,
5576
310
     OPC_SwitchType , 17, MVT::i32,
5577
310
      OPC_CheckPatternPredicate, 9,
5578
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
5579
310
                    MVT::i32, 2, 0, 1, 
5580
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5581
310
                    MVT::i32, 3, 2, 4, 3, 
5582
310
     17, MVT::i64,
5583
310
      OPC_CheckPatternPredicate, 9,
5584
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
5585
310
                    MVT::i32, 2, 0, 1, 
5586
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5587
310
                    MVT::i64, 3, 2, 4, 3, 
5588
310
     0,
5589
310
    45, 
5590
310
     OPC_CheckChild2CondCode, ISD::SETUGE,
5591
310
     OPC_MoveParent,
5592
310
     OPC_RecordChild1,
5593
310
     OPC_RecordChild2,
5594
310
     OPC_SwitchType , 17, MVT::i32,
5595
310
      OPC_CheckPatternPredicate, 9,
5596
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
5597
310
                    MVT::i32, 2, 0, 1, 
5598
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5599
310
                    MVT::i32, 3, 2, 4, 3, 
5600
310
     17, MVT::i64,
5601
310
      OPC_CheckPatternPredicate, 9,
5602
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
5603
310
                    MVT::i32, 2, 0, 1, 
5604
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5605
310
                    MVT::i64, 3, 2, 4, 3, 
5606
310
     0,
5607
310
    45, 
5608
310
     OPC_CheckChild2CondCode, ISD::SETLE,
5609
310
     OPC_MoveParent,
5610
310
     OPC_RecordChild1,
5611
310
     OPC_RecordChild2,
5612
310
     OPC_SwitchType , 17, MVT::i32,
5613
310
      OPC_CheckPatternPredicate, 9,
5614
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
5615
310
                    MVT::i32, 2, 1, 0, 
5616
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5617
310
                    MVT::i32, 3, 2, 4, 3, 
5618
310
     17, MVT::i64,
5619
310
      OPC_CheckPatternPredicate, 9,
5620
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
5621
310
                    MVT::i32, 2, 1, 0, 
5622
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5623
310
                    MVT::i64, 3, 2, 4, 3, 
5624
310
     0,
5625
310
    45, 
5626
310
     OPC_CheckChild2CondCode, ISD::SETULE,
5627
310
     OPC_MoveParent,
5628
310
     OPC_RecordChild1,
5629
310
     OPC_RecordChild2,
5630
310
     OPC_SwitchType , 17, MVT::i32,
5631
310
      OPC_CheckPatternPredicate, 9,
5632
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
5633
310
                    MVT::i32, 2, 1, 0, 
5634
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I),
5635
310
                    MVT::i32, 3, 2, 4, 3, 
5636
310
     17, MVT::i64,
5637
310
      OPC_CheckPatternPredicate, 9,
5638
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
5639
310
                    MVT::i32, 2, 1, 0, 
5640
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_I64),
5641
310
                    MVT::i64, 3, 2, 4, 3, 
5642
310
     0,
5643
310
    45, 
5644
310
     OPC_CheckChild2CondCode, ISD::SETEQ,
5645
310
     OPC_MoveParent,
5646
310
     OPC_RecordChild1,
5647
310
     OPC_RecordChild2,
5648
310
     OPC_SwitchType , 17, MVT::i32,
5649
310
      OPC_CheckPatternPredicate, 9,
5650
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
5651
310
                    MVT::i64, 2, 0, 1, 
5652
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I),
5653
310
                    MVT::i32, 3, 2, 4, 3, 
5654
310
     17, MVT::i64,
5655
310
      OPC_CheckPatternPredicate, 9,
5656
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
5657
310
                    MVT::i64, 2, 0, 1, 
5658
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_I64),
5659
310
                    MVT::i64, 3, 2, 4, 3, 
5660
310
     0,
5661
310
    45, 
5662
310
     OPC_CheckChild2CondCode, ISD::SETNE,
5663
310
     OPC_MoveParent,
5664
310
     OPC_RecordChild1,
5665
310
     OPC_RecordChild2,
5666
310
     OPC_SwitchType , 17, MVT::i32,
5667
310
      OPC_CheckPatternPredicate, 9,
5668
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
5669
310
                    MVT::i64, 2, 0, 1, 
5670
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
5671
310
                    MVT::i32, 3, 2, 4, 3, 
5672
310
     17, MVT::i64,
5673
310
      OPC_CheckPatternPredicate, 9,
5674
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
5675
310
                    MVT::i64, 2, 0, 1, 
5676
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
5677
310
                    MVT::i64, 3, 2, 4, 3, 
5678
310
     0,
5679
310
    0, 
5680
310
   0, 
5681
310
  106|128,1, 
5682
310
   OPC_RecordChild0,
5683
310
   OPC_Scope, 44|128,1, 
5684
310
    OPC_CheckChild0TypeI32,
5685
310
    OPC_RecordChild1,
5686
310
    OPC_RecordChild2,
5687
310
    OPC_SwitchType , 103, MVT::i32,
5688
310
     OPC_Scope, 10, 
5689
310
      OPC_CheckPatternPredicate, 20,
5690
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I),
5691
310
                    MVT::i32, 3, 1, 0, 2, 
5692
310
     10, 
5693
310
      OPC_CheckPatternPredicate, 61,
5694
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5695
310
                    MVT::i32, 3, 1, 0, 2, 
5696
310
     10, 
5697
310
      OPC_CheckPatternPredicate, 8,
5698
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_MM),
5699
310
                    MVT::i32, 3, 1, 0, 2, 
5700
310
     23, 
5701
310
      OPC_CheckPatternPredicate, 15,
5702
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ),
5703
310
                    MVT::i32, 2, 1, 0, 
5704
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ),
5705
310
                    MVT::i32, 2, 2, 0, 
5706
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
5707
310
                    MVT::i32, 2, 3, 4, 
5708
310
     22, 
5709
310
      OPC_CheckPatternPredicate7,
5710
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ_MMR6),
5711
310
                    MVT::i32, 2, 1, 0, 
5712
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ_MMR6),
5713
310
                    MVT::i32, 2, 2, 0, 
5714
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
5715
310
                    MVT::i32, 2, 3, 4, 
5716
310
     10, 
5717
310
      OPC_CheckPatternPredicate, 35,
5718
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_I),
5719
310
                    MVT::i32, 3, 0, 1, 2, 
5720
310
     9, 
5721
310
      OPC_CheckPatternPredicate5,
5722
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SelBneZ),
5723
310
                    MVT::i32, 3, 1, 2, 0, 
5724
310
     0, 
5725
310
    60, MVT::i64,
5726
310
     OPC_Scope, 10, 
5727
310
      OPC_CheckPatternPredicate, 9,
5728
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_I64),
5729
310
                    MVT::i64, 3, 1, 0, 2, 
5730
310
     35, 
5731
310
      OPC_CheckPatternPredicate, 19,
5732
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5733
310
                    MVT::i64, 1, 0, 
5734
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5735
310
                    MVT::i64, 2, 1, 3, 
5736
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLL64_32),
5737
310
                    MVT::i64, 1, 0, 
5738
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5739
310
                    MVT::i64, 2, 2, 5, 
5740
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5741
310
                    MVT::i64, 2, 4, 6, 
5742
310
     10, 
5743
310
      OPC_CheckPatternPredicate, 35,
5744
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_I64),
5745
310
                    MVT::i64, 3, 0, 1, 2, 
5746
310
     0, 
5747
310
    0,
5748
310
   56, 
5749
310
    OPC_CheckChild0TypeI64,
5750
310
    OPC_RecordChild1,
5751
310
    OPC_RecordChild2,
5752
310
    OPC_SwitchType , 10, MVT::i32,
5753
310
     OPC_CheckPatternPredicate, 9,
5754
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I),
5755
310
                   MVT::i32, 3, 1, 0, 2, 
5756
310
    37, MVT::i64,
5757
310
     OPC_Scope, 10, 
5758
310
      OPC_CheckPatternPredicate, 9,
5759
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_I64),
5760
310
                    MVT::i64, 3, 1, 0, 2, 
5761
310
     23, 
5762
310
      OPC_CheckPatternPredicate, 19,
5763
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELNEZ64),
5764
310
                    MVT::i64, 2, 1, 0, 
5765
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SELEQZ64),
5766
310
                    MVT::i64, 2, 2, 0, 
5767
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
5768
310
                    MVT::i64, 2, 3, 4, 
5769
310
     0, 
5770
310
    0,
5771
310
   0, 
5772
310
  127|128,15, 
5773
310
   OPC_MoveChild0,
5774
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
5775
310
   OPC_RecordChild0,
5776
310
   OPC_Scope, 14|128,11, 
5777
310
    OPC_CheckChild0TypeI32,
5778
310
    OPC_Scope, 19|128,1, 
5779
310
     OPC_CheckChild1Integer, 0, 
5780
310
     OPC_CheckTypeI32,
5781
310
     OPC_Scope, 70, 
5782
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
5783
310
      OPC_MoveParent,
5784
310
      OPC_RecordChild1,
5785
310
      OPC_RecordChild2,
5786
310
      OPC_SwitchType , 24, MVT::f32,
5787
310
       OPC_Scope, 10, 
5788
310
        OPC_CheckPatternPredicate, 20,
5789
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
5790
310
                      MVT::f32, 3, 1, 0, 2, 
5791
310
       10, 
5792
310
        OPC_CheckPatternPredicate, 8,
5793
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
5794
310
                      MVT::f32, 3, 1, 0, 2, 
5795
310
       0, 
5796
310
      35, MVT::f64,
5797
310
       OPC_Scope, 10, 
5798
310
        OPC_CheckPatternPredicate, 28,
5799
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
5800
310
                      MVT::f64, 3, 1, 0, 2, 
5801
310
       10, 
5802
310
        OPC_CheckPatternPredicate, 21,
5803
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
5804
310
                      MVT::f64, 3, 1, 0, 2, 
5805
310
       10, 
5806
310
        OPC_CheckPatternPredicate, 27,
5807
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
5808
310
                      MVT::f64, 3, 1, 0, 2, 
5809
310
       0, 
5810
310
      0,
5811
310
     70, 
5812
310
      OPC_CheckChild2CondCode, ISD::SETNE,
5813
310
      OPC_MoveParent,
5814
310
      OPC_RecordChild1,
5815
310
      OPC_RecordChild2,
5816
310
      OPC_SwitchType , 24, MVT::f32,
5817
310
       OPC_Scope, 10, 
5818
310
        OPC_CheckPatternPredicate, 20,
5819
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
5820
310
                      MVT::f32, 3, 1, 0, 2, 
5821
310
       10, 
5822
310
        OPC_CheckPatternPredicate, 8,
5823
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
5824
310
                      MVT::f32, 3, 1, 0, 2, 
5825
310
       0, 
5826
310
      35, MVT::f64,
5827
310
       OPC_Scope, 10, 
5828
310
        OPC_CheckPatternPredicate, 28,
5829
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
5830
310
                      MVT::f64, 3, 1, 0, 2, 
5831
310
       10, 
5832
310
        OPC_CheckPatternPredicate, 21,
5833
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
5834
310
                      MVT::f64, 3, 1, 0, 2, 
5835
310
       10, 
5836
310
        OPC_CheckPatternPredicate, 27,
5837
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
5838
310
                      MVT::f64, 3, 1, 0, 2, 
5839
310
       0, 
5840
310
      0,
5841
310
     0, 
5842
310
    116|128,9, 
5843
310
     OPC_RecordChild1,
5844
310
     OPC_Scope, 109|128,4, 
5845
310
      OPC_MoveChild1,
5846
310
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
5847
310
      OPC_Scope, 57, 
5848
310
       OPC_CheckPredicate7, 
5849
310
       OPC_MoveParent,
5850
310
       OPC_CheckTypeI32,
5851
310
       OPC_Scope, 25, 
5852
310
        OPC_CheckChild2CondCode, ISD::SETGE,
5853
310
        OPC_MoveParent,
5854
310
        OPC_RecordChild1,
5855
310
        OPC_RecordChild2,
5856
310
        OPC_CheckType, MVT::f32,
5857
310
        OPC_CheckPatternPredicate, 20,
5858
310
        OPC_EmitConvertToTarget1,
5859
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5860
310
                      MVT::i32, 2, 0, 4, 
5861
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
5862
310
                      MVT::f32, 3, 2, 5, 3, 
5863
310
       25, 
5864
310
        OPC_CheckChild2CondCode, ISD::SETUGE,
5865
310
        OPC_MoveParent,
5866
310
        OPC_RecordChild1,
5867
310
        OPC_RecordChild2,
5868
310
        OPC_CheckType, MVT::f32,
5869
310
        OPC_CheckPatternPredicate, 20,
5870
310
        OPC_EmitConvertToTarget1,
5871
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5872
310
                      MVT::i32, 2, 0, 4, 
5873
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
5874
310
                      MVT::f32, 3, 2, 5, 3, 
5875
310
       0, 
5876
310
      64, 
5877
310
       OPC_CheckPredicate, 11,
5878
310
       OPC_MoveParent,
5879
310
       OPC_CheckTypeI32,
5880
310
       OPC_Scope, 28, 
5881
310
        OPC_CheckChild2CondCode, ISD::SETGT,
5882
310
        OPC_MoveParent,
5883
310
        OPC_RecordChild1,
5884
310
        OPC_RecordChild2,
5885
310
        OPC_CheckType, MVT::f32,
5886
310
        OPC_CheckPatternPredicate, 20,
5887
310
        OPC_EmitConvertToTarget1,
5888
310
        OPC_EmitNodeXForm, 2, 4,
5889
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5890
310
                      MVT::i32, 2, 0, 5, 
5891
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
5892
310
                      MVT::f32, 3, 2, 6, 3, 
5893
310
       28, 
5894
310
        OPC_CheckChild2CondCode, ISD::SETUGT,
5895
310
        OPC_MoveParent,
5896
310
        OPC_RecordChild1,
5897
310
        OPC_RecordChild2,
5898
310
        OPC_CheckType, MVT::f32,
5899
310
        OPC_CheckPatternPredicate, 20,
5900
310
        OPC_EmitConvertToTarget1,
5901
310
        OPC_EmitNodeXForm, 2, 4,
5902
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5903
310
                      MVT::i32, 2, 0, 5, 
5904
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
5905
310
                      MVT::f32, 3, 2, 6, 3, 
5906
310
       0, 
5907
310
      57, 
5908
310
       OPC_CheckPredicate7, 
5909
310
       OPC_MoveParent,
5910
310
       OPC_CheckTypeI32,
5911
310
       OPC_Scope, 25, 
5912
310
        OPC_CheckChild2CondCode, ISD::SETGE,
5913
310
        OPC_MoveParent,
5914
310
        OPC_RecordChild1,
5915
310
        OPC_RecordChild2,
5916
310
        OPC_CheckType, MVT::f64,
5917
310
        OPC_CheckPatternPredicate, 28,
5918
310
        OPC_EmitConvertToTarget1,
5919
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5920
310
                      MVT::i32, 2, 0, 4, 
5921
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
5922
310
                      MVT::f64, 3, 2, 5, 3, 
5923
310
       25, 
5924
310
        OPC_CheckChild2CondCode, ISD::SETUGE,
5925
310
        OPC_MoveParent,
5926
310
        OPC_RecordChild1,
5927
310
        OPC_RecordChild2,
5928
310
        OPC_CheckType, MVT::f64,
5929
310
        OPC_CheckPatternPredicate, 28,
5930
310
        OPC_EmitConvertToTarget1,
5931
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5932
310
                      MVT::i32, 2, 0, 4, 
5933
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
5934
310
                      MVT::f64, 3, 2, 5, 3, 
5935
310
       0, 
5936
310
      64, 
5937
310
       OPC_CheckPredicate, 11,
5938
310
       OPC_MoveParent,
5939
310
       OPC_CheckTypeI32,
5940
310
       OPC_Scope, 28, 
5941
310
        OPC_CheckChild2CondCode, ISD::SETGT,
5942
310
        OPC_MoveParent,
5943
310
        OPC_RecordChild1,
5944
310
        OPC_RecordChild2,
5945
310
        OPC_CheckType, MVT::f64,
5946
310
        OPC_CheckPatternPredicate, 28,
5947
310
        OPC_EmitConvertToTarget1,
5948
310
        OPC_EmitNodeXForm, 2, 4,
5949
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5950
310
                      MVT::i32, 2, 0, 5, 
5951
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
5952
310
                      MVT::f64, 3, 2, 6, 3, 
5953
310
       28, 
5954
310
        OPC_CheckChild2CondCode, ISD::SETUGT,
5955
310
        OPC_MoveParent,
5956
310
        OPC_RecordChild1,
5957
310
        OPC_RecordChild2,
5958
310
        OPC_CheckType, MVT::f64,
5959
310
        OPC_CheckPatternPredicate, 28,
5960
310
        OPC_EmitConvertToTarget1,
5961
310
        OPC_EmitNodeXForm, 2, 4,
5962
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5963
310
                      MVT::i32, 2, 0, 5, 
5964
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
5965
310
                      MVT::f64, 3, 2, 6, 3, 
5966
310
       0, 
5967
310
      57, 
5968
310
       OPC_CheckPredicate7, 
5969
310
       OPC_MoveParent,
5970
310
       OPC_CheckTypeI32,
5971
310
       OPC_Scope, 25, 
5972
310
        OPC_CheckChild2CondCode, ISD::SETGE,
5973
310
        OPC_MoveParent,
5974
310
        OPC_RecordChild1,
5975
310
        OPC_RecordChild2,
5976
310
        OPC_CheckType, MVT::f64,
5977
310
        OPC_CheckPatternPredicate, 21,
5978
310
        OPC_EmitConvertToTarget1,
5979
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
5980
310
                      MVT::i32, 2, 0, 4, 
5981
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
5982
310
                      MVT::f64, 3, 2, 5, 3, 
5983
310
       25, 
5984
310
        OPC_CheckChild2CondCode, ISD::SETUGE,
5985
310
        OPC_MoveParent,
5986
310
        OPC_RecordChild1,
5987
310
        OPC_RecordChild2,
5988
310
        OPC_CheckType, MVT::f64,
5989
310
        OPC_CheckPatternPredicate, 21,
5990
310
        OPC_EmitConvertToTarget1,
5991
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
5992
310
                      MVT::i32, 2, 0, 4, 
5993
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
5994
310
                      MVT::f64, 3, 2, 5, 3, 
5995
310
       0, 
5996
310
      64, 
5997
310
       OPC_CheckPredicate, 11,
5998
310
       OPC_MoveParent,
5999
310
       OPC_CheckTypeI32,
6000
310
       OPC_Scope, 28, 
6001
310
        OPC_CheckChild2CondCode, ISD::SETGT,
6002
310
        OPC_MoveParent,
6003
310
        OPC_RecordChild1,
6004
310
        OPC_RecordChild2,
6005
310
        OPC_CheckType, MVT::f64,
6006
310
        OPC_CheckPatternPredicate, 21,
6007
310
        OPC_EmitConvertToTarget1,
6008
310
        OPC_EmitNodeXForm, 2, 4,
6009
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
6010
310
                      MVT::i32, 2, 0, 5, 
6011
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6012
310
                      MVT::f64, 3, 2, 6, 3, 
6013
310
       28, 
6014
310
        OPC_CheckChild2CondCode, ISD::SETUGT,
6015
310
        OPC_MoveParent,
6016
310
        OPC_RecordChild1,
6017
310
        OPC_RecordChild2,
6018
310
        OPC_CheckType, MVT::f64,
6019
310
        OPC_CheckPatternPredicate, 21,
6020
310
        OPC_EmitConvertToTarget1,
6021
310
        OPC_EmitNodeXForm, 2, 4,
6022
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
6023
310
                      MVT::i32, 2, 0, 5, 
6024
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6025
310
                      MVT::f64, 3, 2, 6, 3, 
6026
310
       0, 
6027
310
      57, 
6028
310
       OPC_CheckPredicate7, 
6029
310
       OPC_MoveParent,
6030
310
       OPC_CheckTypeI32,
6031
310
       OPC_Scope, 25, 
6032
310
        OPC_CheckChild2CondCode, ISD::SETGE,
6033
310
        OPC_MoveParent,
6034
310
        OPC_RecordChild1,
6035
310
        OPC_RecordChild2,
6036
310
        OPC_CheckType, MVT::f32,
6037
310
        OPC_CheckPatternPredicate, 8,
6038
310
        OPC_EmitConvertToTarget1,
6039
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6040
310
                      MVT::i32, 2, 0, 4, 
6041
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6042
310
                      MVT::f32, 3, 2, 5, 3, 
6043
310
       25, 
6044
310
        OPC_CheckChild2CondCode, ISD::SETUGE,
6045
310
        OPC_MoveParent,
6046
310
        OPC_RecordChild1,
6047
310
        OPC_RecordChild2,
6048
310
        OPC_CheckType, MVT::f32,
6049
310
        OPC_CheckPatternPredicate, 8,
6050
310
        OPC_EmitConvertToTarget1,
6051
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6052
310
                      MVT::i32, 2, 0, 4, 
6053
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6054
310
                      MVT::f32, 3, 2, 5, 3, 
6055
310
       0, 
6056
310
      64, 
6057
310
       OPC_CheckPredicate, 11,
6058
310
       OPC_MoveParent,
6059
310
       OPC_CheckTypeI32,
6060
310
       OPC_Scope, 28, 
6061
310
        OPC_CheckChild2CondCode, ISD::SETGT,
6062
310
        OPC_MoveParent,
6063
310
        OPC_RecordChild1,
6064
310
        OPC_RecordChild2,
6065
310
        OPC_CheckType, MVT::f32,
6066
310
        OPC_CheckPatternPredicate, 8,
6067
310
        OPC_EmitConvertToTarget1,
6068
310
        OPC_EmitNodeXForm, 2, 4,
6069
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6070
310
                      MVT::i32, 2, 0, 5, 
6071
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6072
310
                      MVT::f32, 3, 2, 6, 3, 
6073
310
       28, 
6074
310
        OPC_CheckChild2CondCode, ISD::SETUGT,
6075
310
        OPC_MoveParent,
6076
310
        OPC_RecordChild1,
6077
310
        OPC_RecordChild2,
6078
310
        OPC_CheckType, MVT::f32,
6079
310
        OPC_CheckPatternPredicate, 8,
6080
310
        OPC_EmitConvertToTarget1,
6081
310
        OPC_EmitNodeXForm, 2, 4,
6082
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6083
310
                      MVT::i32, 2, 0, 5, 
6084
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6085
310
                      MVT::f32, 3, 2, 6, 3, 
6086
310
       0, 
6087
310
      57, 
6088
310
       OPC_CheckPredicate7, 
6089
310
       OPC_MoveParent,
6090
310
       OPC_CheckTypeI32,
6091
310
       OPC_Scope, 25, 
6092
310
        OPC_CheckChild2CondCode, ISD::SETGE,
6093
310
        OPC_MoveParent,
6094
310
        OPC_RecordChild1,
6095
310
        OPC_RecordChild2,
6096
310
        OPC_CheckType, MVT::f64,
6097
310
        OPC_CheckPatternPredicate, 27,
6098
310
        OPC_EmitConvertToTarget1,
6099
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6100
310
                      MVT::i32, 2, 0, 4, 
6101
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6102
310
                      MVT::f64, 3, 2, 5, 3, 
6103
310
       25, 
6104
310
        OPC_CheckChild2CondCode, ISD::SETUGE,
6105
310
        OPC_MoveParent,
6106
310
        OPC_RecordChild1,
6107
310
        OPC_RecordChild2,
6108
310
        OPC_CheckType, MVT::f64,
6109
310
        OPC_CheckPatternPredicate, 27,
6110
310
        OPC_EmitConvertToTarget1,
6111
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6112
310
                      MVT::i32, 2, 0, 4, 
6113
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6114
310
                      MVT::f64, 3, 2, 5, 3, 
6115
310
       0, 
6116
310
      64, 
6117
310
       OPC_CheckPredicate, 11,
6118
310
       OPC_MoveParent,
6119
310
       OPC_CheckTypeI32,
6120
310
       OPC_Scope, 28, 
6121
310
        OPC_CheckChild2CondCode, ISD::SETGT,
6122
310
        OPC_MoveParent,
6123
310
        OPC_RecordChild1,
6124
310
        OPC_RecordChild2,
6125
310
        OPC_CheckType, MVT::f64,
6126
310
        OPC_CheckPatternPredicate, 27,
6127
310
        OPC_EmitConvertToTarget1,
6128
310
        OPC_EmitNodeXForm, 2, 4,
6129
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
6130
310
                      MVT::i32, 2, 0, 5, 
6131
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6132
310
                      MVT::f64, 3, 2, 6, 3, 
6133
310
       28, 
6134
310
        OPC_CheckChild2CondCode, ISD::SETUGT,
6135
310
        OPC_MoveParent,
6136
310
        OPC_RecordChild1,
6137
310
        OPC_RecordChild2,
6138
310
        OPC_CheckType, MVT::f64,
6139
310
        OPC_CheckPatternPredicate, 27,
6140
310
        OPC_EmitConvertToTarget1,
6141
310
        OPC_EmitNodeXForm, 2, 4,
6142
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
6143
310
                      MVT::i32, 2, 0, 5, 
6144
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6145
310
                      MVT::f64, 3, 2, 6, 3, 
6146
310
       0, 
6147
310
      0, 
6148
310
     106, 
6149
310
      OPC_CheckChild2CondCode, ISD::SETGE,
6150
310
      OPC_CheckTypeI32,
6151
310
      OPC_MoveParent,
6152
310
      OPC_RecordChild1,
6153
310
      OPC_RecordChild2,
6154
310
      OPC_SwitchType , 38, MVT::f32,
6155
310
       OPC_Scope, 17, 
6156
310
        OPC_CheckPatternPredicate, 20,
6157
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6158
310
                      MVT::i32, 2, 0, 1, 
6159
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6160
310
                      MVT::f32, 3, 2, 4, 3, 
6161
310
       17, 
6162
310
        OPC_CheckPatternPredicate, 8,
6163
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6164
310
                      MVT::i32, 2, 0, 1, 
6165
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6166
310
                      MVT::f32, 3, 2, 4, 3, 
6167
310
       0, 
6168
310
      56, MVT::f64,
6169
310
       OPC_Scope, 17, 
6170
310
        OPC_CheckPatternPredicate, 28,
6171
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6172
310
                      MVT::i32, 2, 0, 1, 
6173
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
6174
310
                      MVT::f64, 3, 2, 4, 3, 
6175
310
       17, 
6176
310
        OPC_CheckPatternPredicate, 21,
6177
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6178
310
                      MVT::i32, 2, 0, 1, 
6179
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6180
310
                      MVT::f64, 3, 2, 4, 3, 
6181
310
       17, 
6182
310
        OPC_CheckPatternPredicate, 27,
6183
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6184
310
                      MVT::i32, 2, 0, 1, 
6185
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6186
310
                      MVT::f64, 3, 2, 4, 3, 
6187
310
       0, 
6188
310
      0,
6189
310
     106, 
6190
310
      OPC_CheckChild2CondCode, ISD::SETUGE,
6191
310
      OPC_CheckTypeI32,
6192
310
      OPC_MoveParent,
6193
310
      OPC_RecordChild1,
6194
310
      OPC_RecordChild2,
6195
310
      OPC_SwitchType , 38, MVT::f32,
6196
310
       OPC_Scope, 17, 
6197
310
        OPC_CheckPatternPredicate, 20,
6198
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6199
310
                      MVT::i32, 2, 0, 1, 
6200
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6201
310
                      MVT::f32, 3, 2, 4, 3, 
6202
310
       17, 
6203
310
        OPC_CheckPatternPredicate, 8,
6204
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6205
310
                      MVT::i32, 2, 0, 1, 
6206
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6207
310
                      MVT::f32, 3, 2, 4, 3, 
6208
310
       0, 
6209
310
      56, MVT::f64,
6210
310
       OPC_Scope, 17, 
6211
310
        OPC_CheckPatternPredicate, 28,
6212
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6213
310
                      MVT::i32, 2, 0, 1, 
6214
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
6215
310
                      MVT::f64, 3, 2, 4, 3, 
6216
310
       17, 
6217
310
        OPC_CheckPatternPredicate, 21,
6218
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6219
310
                      MVT::i32, 2, 0, 1, 
6220
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6221
310
                      MVT::f64, 3, 2, 4, 3, 
6222
310
       17, 
6223
310
        OPC_CheckPatternPredicate, 27,
6224
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6225
310
                      MVT::i32, 2, 0, 1, 
6226
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6227
310
                      MVT::f64, 3, 2, 4, 3, 
6228
310
       0, 
6229
310
      0,
6230
310
     106, 
6231
310
      OPC_CheckChild2CondCode, ISD::SETLE,
6232
310
      OPC_CheckTypeI32,
6233
310
      OPC_MoveParent,
6234
310
      OPC_RecordChild1,
6235
310
      OPC_RecordChild2,
6236
310
      OPC_SwitchType , 38, MVT::f32,
6237
310
       OPC_Scope, 17, 
6238
310
        OPC_CheckPatternPredicate, 20,
6239
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6240
310
                      MVT::i32, 2, 1, 0, 
6241
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6242
310
                      MVT::f32, 3, 2, 4, 3, 
6243
310
       17, 
6244
310
        OPC_CheckPatternPredicate, 8,
6245
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6246
310
                      MVT::i32, 2, 1, 0, 
6247
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6248
310
                      MVT::f32, 3, 2, 4, 3, 
6249
310
       0, 
6250
310
      56, MVT::f64,
6251
310
       OPC_Scope, 17, 
6252
310
        OPC_CheckPatternPredicate, 28,
6253
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6254
310
                      MVT::i32, 2, 1, 0, 
6255
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
6256
310
                      MVT::f64, 3, 2, 4, 3, 
6257
310
       17, 
6258
310
        OPC_CheckPatternPredicate, 21,
6259
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
6260
310
                      MVT::i32, 2, 1, 0, 
6261
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6262
310
                      MVT::f64, 3, 2, 4, 3, 
6263
310
       17, 
6264
310
        OPC_CheckPatternPredicate, 27,
6265
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
6266
310
                      MVT::i32, 2, 1, 0, 
6267
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6268
310
                      MVT::f64, 3, 2, 4, 3, 
6269
310
       0, 
6270
310
      0,
6271
310
     106, 
6272
310
      OPC_CheckChild2CondCode, ISD::SETULE,
6273
310
      OPC_CheckTypeI32,
6274
310
      OPC_MoveParent,
6275
310
      OPC_RecordChild1,
6276
310
      OPC_RecordChild2,
6277
310
      OPC_SwitchType , 38, MVT::f32,
6278
310
       OPC_Scope, 17, 
6279
310
        OPC_CheckPatternPredicate, 20,
6280
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6281
310
                      MVT::i32, 2, 1, 0, 
6282
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6283
310
                      MVT::f32, 3, 2, 4, 3, 
6284
310
       17, 
6285
310
        OPC_CheckPatternPredicate, 8,
6286
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6287
310
                      MVT::i32, 2, 1, 0, 
6288
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6289
310
                      MVT::f32, 3, 2, 4, 3, 
6290
310
       0, 
6291
310
      56, MVT::f64,
6292
310
       OPC_Scope, 17, 
6293
310
        OPC_CheckPatternPredicate, 28,
6294
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6295
310
                      MVT::i32, 2, 1, 0, 
6296
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
6297
310
                      MVT::f64, 3, 2, 4, 3, 
6298
310
       17, 
6299
310
        OPC_CheckPatternPredicate, 21,
6300
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
6301
310
                      MVT::i32, 2, 1, 0, 
6302
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6303
310
                      MVT::f64, 3, 2, 4, 3, 
6304
310
       17, 
6305
310
        OPC_CheckPatternPredicate, 27,
6306
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
6307
310
                      MVT::i32, 2, 1, 0, 
6308
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6309
310
                      MVT::f64, 3, 2, 4, 3, 
6310
310
       0, 
6311
310
      0,
6312
310
     106, 
6313
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
6314
310
      OPC_CheckTypeI32,
6315
310
      OPC_MoveParent,
6316
310
      OPC_RecordChild1,
6317
310
      OPC_RecordChild2,
6318
310
      OPC_SwitchType , 38, MVT::f32,
6319
310
       OPC_Scope, 17, 
6320
310
        OPC_CheckPatternPredicate, 20,
6321
310
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6322
310
                      MVT::i32, 2, 0, 1, 
6323
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6324
310
                      MVT::f32, 3, 2, 4, 3, 
6325
310
       17, 
6326
310
        OPC_CheckPatternPredicate, 8,
6327
310
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6328
310
                      MVT::i32, 2, 0, 1, 
6329
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S_MM),
6330
310
                      MVT::f32, 3, 2, 4, 3, 
6331
310
       0, 
6332
310
      56, MVT::f64,
6333
310
       OPC_Scope, 17, 
6334
310
        OPC_CheckPatternPredicate, 28,
6335
310
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6336
310
                      MVT::i32, 2, 0, 1, 
6337
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32),
6338
310
                      MVT::f64, 3, 2, 4, 3, 
6339
310
       17, 
6340
310
        OPC_CheckPatternPredicate, 21,
6341
310
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6342
310
                      MVT::i32, 2, 0, 1, 
6343
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6344
310
                      MVT::f64, 3, 2, 4, 3, 
6345
310
       17, 
6346
310
        OPC_CheckPatternPredicate, 27,
6347
310
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6348
310
                      MVT::i32, 2, 0, 1, 
6349
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D32_MM),
6350
310
                      MVT::f64, 3, 2, 4, 3, 
6351
310
       0, 
6352
310
      0,
6353
310
     106, 
6354
310
      OPC_CheckChild2CondCode, ISD::SETNE,
6355
310
      OPC_CheckTypeI32,
6356
310
      OPC_MoveParent,
6357
310
      OPC_RecordChild1,
6358
310
      OPC_RecordChild2,
6359
310
      OPC_SwitchType , 38, MVT::f32,
6360
310
       OPC_Scope, 17, 
6361
310
        OPC_CheckPatternPredicate, 20,
6362
310
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6363
310
                      MVT::i32, 2, 0, 1, 
6364
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
6365
310
                      MVT::f32, 3, 2, 4, 3, 
6366
310
       17, 
6367
310
        OPC_CheckPatternPredicate, 8,
6368
310
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6369
310
                      MVT::i32, 2, 0, 1, 
6370
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
6371
310
                      MVT::f32, 3, 2, 4, 3, 
6372
310
       0, 
6373
310
      56, MVT::f64,
6374
310
       OPC_Scope, 17, 
6375
310
        OPC_CheckPatternPredicate, 28,
6376
310
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6377
310
                      MVT::i32, 2, 0, 1, 
6378
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
6379
310
                      MVT::f64, 3, 2, 4, 3, 
6380
310
       17, 
6381
310
        OPC_CheckPatternPredicate, 21,
6382
310
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
6383
310
                      MVT::i32, 2, 0, 1, 
6384
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
6385
310
                      MVT::f64, 3, 2, 4, 3, 
6386
310
       17, 
6387
310
        OPC_CheckPatternPredicate, 27,
6388
310
        OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
6389
310
                      MVT::i32, 2, 0, 1, 
6390
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
6391
310
                      MVT::f64, 3, 2, 4, 3, 
6392
310
       0, 
6393
310
      0,
6394
310
     0, 
6395
310
    0, 
6396
310
   102|128,4, 
6397
310
    OPC_CheckChild0TypeI64,
6398
310
    OPC_Scope, 69, 
6399
310
     OPC_CheckChild1Integer, 0, 
6400
310
     OPC_CheckTypeI32,
6401
310
     OPC_Scope, 31, 
6402
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
6403
310
      OPC_MoveParent,
6404
310
      OPC_RecordChild1,
6405
310
      OPC_RecordChild2,
6406
310
      OPC_SwitchType , 10, MVT::f32,
6407
310
       OPC_CheckPatternPredicate, 9,
6408
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_S),
6409
310
                     MVT::f32, 3, 1, 0, 2, 
6410
310
      10, MVT::f64,
6411
310
       OPC_CheckPatternPredicate, 21,
6412
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_D64),
6413
310
                     MVT::f64, 3, 1, 0, 2, 
6414
310
      0,
6415
310
     31, 
6416
310
      OPC_CheckChild2CondCode, ISD::SETNE,
6417
310
      OPC_MoveParent,
6418
310
      OPC_RecordChild1,
6419
310
      OPC_RecordChild2,
6420
310
      OPC_SwitchType , 10, MVT::f32,
6421
310
       OPC_CheckPatternPredicate, 9,
6422
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
6423
310
                     MVT::f32, 3, 1, 0, 2, 
6424
310
      10, MVT::f64,
6425
310
       OPC_CheckPatternPredicate, 21,
6426
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
6427
310
                     MVT::f64, 3, 1, 0, 2, 
6428
310
      0,
6429
310
     0, 
6430
310
    27|128,4, 
6431
310
     OPC_RecordChild1,
6432
310
     OPC_Scope, 124|128,1, 
6433
310
      OPC_MoveChild1,
6434
310
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
6435
310
      OPC_Scope, 57, 
6436
310
       OPC_CheckPredicate7, 
6437
310
       OPC_MoveParent,
6438
310
       OPC_CheckTypeI32,
6439
310
       OPC_Scope, 25, 
6440
310
        OPC_CheckChild2CondCode, ISD::SETGE,
6441
310
        OPC_MoveParent,
6442
310
        OPC_RecordChild1,
6443
310
        OPC_RecordChild2,
6444
310
        OPC_CheckType, MVT::f32,
6445
310
        OPC_CheckPatternPredicate, 9,
6446
310
        OPC_EmitConvertToTarget1,
6447
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6448
310
                      MVT::i32, 2, 0, 4, 
6449
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6450
310
                      MVT::f32, 3, 2, 5, 3, 
6451
310
       25, 
6452
310
        OPC_CheckChild2CondCode, ISD::SETUGE,
6453
310
        OPC_MoveParent,
6454
310
        OPC_RecordChild1,
6455
310
        OPC_RecordChild2,
6456
310
        OPC_CheckType, MVT::f32,
6457
310
        OPC_CheckPatternPredicate, 9,
6458
310
        OPC_EmitConvertToTarget1,
6459
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6460
310
                      MVT::i32, 2, 0, 4, 
6461
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6462
310
                      MVT::f32, 3, 2, 5, 3, 
6463
310
       0, 
6464
310
      64, 
6465
310
       OPC_CheckPredicate, 11,
6466
310
       OPC_MoveParent,
6467
310
       OPC_CheckTypeI32,
6468
310
       OPC_Scope, 28, 
6469
310
        OPC_CheckChild2CondCode, ISD::SETGT,
6470
310
        OPC_MoveParent,
6471
310
        OPC_RecordChild1,
6472
310
        OPC_RecordChild2,
6473
310
        OPC_CheckType, MVT::f32,
6474
310
        OPC_CheckPatternPredicate, 9,
6475
310
        OPC_EmitConvertToTarget1,
6476
310
        OPC_EmitNodeXForm, 2, 4,
6477
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6478
310
                      MVT::i32, 2, 0, 5, 
6479
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6480
310
                      MVT::f32, 3, 2, 6, 3, 
6481
310
       28, 
6482
310
        OPC_CheckChild2CondCode, ISD::SETUGT,
6483
310
        OPC_MoveParent,
6484
310
        OPC_RecordChild1,
6485
310
        OPC_RecordChild2,
6486
310
        OPC_CheckType, MVT::f32,
6487
310
        OPC_CheckPatternPredicate, 9,
6488
310
        OPC_EmitConvertToTarget1,
6489
310
        OPC_EmitNodeXForm, 2, 4,
6490
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6491
310
                      MVT::i32, 2, 0, 5, 
6492
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6493
310
                      MVT::f32, 3, 2, 6, 3, 
6494
310
       0, 
6495
310
      57, 
6496
310
       OPC_CheckPredicate7, 
6497
310
       OPC_MoveParent,
6498
310
       OPC_CheckTypeI32,
6499
310
       OPC_Scope, 25, 
6500
310
        OPC_CheckChild2CondCode, ISD::SETGE,
6501
310
        OPC_MoveParent,
6502
310
        OPC_RecordChild1,
6503
310
        OPC_RecordChild2,
6504
310
        OPC_CheckType, MVT::f64,
6505
310
        OPC_CheckPatternPredicate, 21,
6506
310
        OPC_EmitConvertToTarget1,
6507
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6508
310
                      MVT::i32, 2, 0, 4, 
6509
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6510
310
                      MVT::f64, 3, 2, 5, 3, 
6511
310
       25, 
6512
310
        OPC_CheckChild2CondCode, ISD::SETUGE,
6513
310
        OPC_MoveParent,
6514
310
        OPC_RecordChild1,
6515
310
        OPC_RecordChild2,
6516
310
        OPC_CheckType, MVT::f64,
6517
310
        OPC_CheckPatternPredicate, 21,
6518
310
        OPC_EmitConvertToTarget1,
6519
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6520
310
                      MVT::i32, 2, 0, 4, 
6521
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6522
310
                      MVT::f64, 3, 2, 5, 3, 
6523
310
       0, 
6524
310
      64, 
6525
310
       OPC_CheckPredicate, 11,
6526
310
       OPC_MoveParent,
6527
310
       OPC_CheckTypeI32,
6528
310
       OPC_Scope, 28, 
6529
310
        OPC_CheckChild2CondCode, ISD::SETGT,
6530
310
        OPC_MoveParent,
6531
310
        OPC_RecordChild1,
6532
310
        OPC_RecordChild2,
6533
310
        OPC_CheckType, MVT::f64,
6534
310
        OPC_CheckPatternPredicate, 21,
6535
310
        OPC_EmitConvertToTarget1,
6536
310
        OPC_EmitNodeXForm, 2, 4,
6537
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
6538
310
                      MVT::i32, 2, 0, 5, 
6539
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6540
310
                      MVT::f64, 3, 2, 6, 3, 
6541
310
       28, 
6542
310
        OPC_CheckChild2CondCode, ISD::SETUGT,
6543
310
        OPC_MoveParent,
6544
310
        OPC_RecordChild1,
6545
310
        OPC_RecordChild2,
6546
310
        OPC_CheckType, MVT::f64,
6547
310
        OPC_CheckPatternPredicate, 21,
6548
310
        OPC_EmitConvertToTarget1,
6549
310
        OPC_EmitNodeXForm, 2, 4,
6550
310
        OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
6551
310
                      MVT::i32, 2, 0, 5, 
6552
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6553
310
                      MVT::f64, 3, 2, 6, 3, 
6554
310
       0, 
6555
310
      0, 
6556
310
     46, 
6557
310
      OPC_CheckChild2CondCode, ISD::SETGE,
6558
310
      OPC_CheckTypeI32,
6559
310
      OPC_MoveParent,
6560
310
      OPC_RecordChild1,
6561
310
      OPC_RecordChild2,
6562
310
      OPC_SwitchType , 17, MVT::f32,
6563
310
       OPC_CheckPatternPredicate, 9,
6564
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6565
310
                     MVT::i32, 2, 0, 1, 
6566
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6567
310
                     MVT::f32, 3, 2, 4, 3, 
6568
310
      17, MVT::f64,
6569
310
       OPC_CheckPatternPredicate, 21,
6570
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6571
310
                     MVT::i32, 2, 0, 1, 
6572
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6573
310
                     MVT::f64, 3, 2, 4, 3, 
6574
310
      0,
6575
310
     46, 
6576
310
      OPC_CheckChild2CondCode, ISD::SETUGE,
6577
310
      OPC_CheckTypeI32,
6578
310
      OPC_MoveParent,
6579
310
      OPC_RecordChild1,
6580
310
      OPC_RecordChild2,
6581
310
      OPC_SwitchType , 17, MVT::f32,
6582
310
       OPC_CheckPatternPredicate, 9,
6583
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6584
310
                     MVT::i32, 2, 0, 1, 
6585
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6586
310
                     MVT::f32, 3, 2, 4, 3, 
6587
310
      17, MVT::f64,
6588
310
       OPC_CheckPatternPredicate, 21,
6589
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6590
310
                     MVT::i32, 2, 0, 1, 
6591
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6592
310
                     MVT::f64, 3, 2, 4, 3, 
6593
310
      0,
6594
310
     46, 
6595
310
      OPC_CheckChild2CondCode, ISD::SETLE,
6596
310
      OPC_CheckTypeI32,
6597
310
      OPC_MoveParent,
6598
310
      OPC_RecordChild1,
6599
310
      OPC_RecordChild2,
6600
310
      OPC_SwitchType , 17, MVT::f32,
6601
310
       OPC_CheckPatternPredicate, 9,
6602
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6603
310
                     MVT::i32, 2, 1, 0, 
6604
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6605
310
                     MVT::f32, 3, 2, 4, 3, 
6606
310
      17, MVT::f64,
6607
310
       OPC_CheckPatternPredicate, 21,
6608
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
6609
310
                     MVT::i32, 2, 1, 0, 
6610
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6611
310
                     MVT::f64, 3, 2, 4, 3, 
6612
310
      0,
6613
310
     46, 
6614
310
      OPC_CheckChild2CondCode, ISD::SETULE,
6615
310
      OPC_CheckTypeI32,
6616
310
      OPC_MoveParent,
6617
310
      OPC_RecordChild1,
6618
310
      OPC_RecordChild2,
6619
310
      OPC_SwitchType , 17, MVT::f32,
6620
310
       OPC_CheckPatternPredicate, 9,
6621
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6622
310
                     MVT::i32, 2, 1, 0, 
6623
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_S),
6624
310
                     MVT::f32, 3, 2, 4, 3, 
6625
310
      17, MVT::f64,
6626
310
       OPC_CheckPatternPredicate, 21,
6627
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
6628
310
                     MVT::i32, 2, 1, 0, 
6629
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I_D64),
6630
310
                     MVT::f64, 3, 2, 4, 3, 
6631
310
      0,
6632
310
     46, 
6633
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
6634
310
      OPC_CheckTypeI32,
6635
310
      OPC_MoveParent,
6636
310
      OPC_RecordChild1,
6637
310
      OPC_RecordChild2,
6638
310
      OPC_SwitchType , 17, MVT::f32,
6639
310
       OPC_CheckPatternPredicate, 9,
6640
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6641
310
                     MVT::i64, 2, 0, 1, 
6642
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_S),
6643
310
                     MVT::f32, 3, 2, 4, 3, 
6644
310
      17, MVT::f64,
6645
310
       OPC_CheckPatternPredicate, 21,
6646
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6647
310
                     MVT::i64, 2, 0, 1, 
6648
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVZ_I64_D64),
6649
310
                     MVT::f64, 3, 2, 4, 3, 
6650
310
      0,
6651
310
     46, 
6652
310
      OPC_CheckChild2CondCode, ISD::SETNE,
6653
310
      OPC_CheckTypeI32,
6654
310
      OPC_MoveParent,
6655
310
      OPC_RecordChild1,
6656
310
      OPC_RecordChild2,
6657
310
      OPC_SwitchType , 17, MVT::f32,
6658
310
       OPC_CheckPatternPredicate, 9,
6659
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6660
310
                     MVT::i64, 2, 0, 1, 
6661
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
6662
310
                     MVT::f32, 3, 2, 4, 3, 
6663
310
      17, MVT::f64,
6664
310
       OPC_CheckPatternPredicate, 21,
6665
310
       OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
6666
310
                     MVT::i64, 2, 0, 1, 
6667
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
6668
310
                     MVT::f64, 3, 2, 4, 3, 
6669
310
      0,
6670
310
     0, 
6671
310
    0, 
6672
310
   0, 
6673
310
  28|128,1, 
6674
310
   OPC_RecordChild0,
6675
310
   OPC_Scope, 122, 
6676
310
    OPC_CheckChild0TypeI32,
6677
310
    OPC_RecordChild1,
6678
310
    OPC_RecordChild2,
6679
310
    OPC_SwitchType , 56, MVT::f32,
6680
310
     OPC_Scope, 10, 
6681
310
      OPC_CheckPatternPredicate, 20,
6682
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S),
6683
310
                    MVT::f32, 3, 1, 0, 2, 
6684
310
     10, 
6685
310
      OPC_CheckPatternPredicate, 26,
6686
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_S),
6687
310
                    MVT::f32, 3, 0, 2, 1, 
6688
310
     10, 
6689
310
      OPC_CheckPatternPredicate, 8,
6690
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_S_MM),
6691
310
                    MVT::f32, 3, 1, 0, 2, 
6692
310
     9, 
6693
310
      OPC_CheckPatternPredicate7,
6694
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_S_MMR6),
6695
310
                    MVT::f32, 3, 0, 2, 1, 
6696
310
     10, 
6697
310
      OPC_CheckPatternPredicate, 35,
6698
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_S),
6699
310
                    MVT::f32, 3, 0, 1, 2, 
6700
310
     0, 
6701
310
    57, MVT::f64,
6702
310
     OPC_Scope, 10, 
6703
310
      OPC_CheckPatternPredicate, 28,
6704
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32),
6705
310
                    MVT::f64, 3, 1, 0, 2, 
6706
310
     10, 
6707
310
      OPC_CheckPatternPredicate, 21,
6708
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D64),
6709
310
                    MVT::f64, 3, 1, 0, 2, 
6710
310
     10, 
6711
310
      OPC_CheckPatternPredicate, 27,
6712
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I_D32_MM),
6713
310
                    MVT::f64, 3, 1, 0, 2, 
6714
310
     10, 
6715
310
      OPC_CheckPatternPredicate, 62,
6716
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_D32),
6717
310
                    MVT::f64, 3, 0, 1, 2, 
6718
310
     10, 
6719
310
      OPC_CheckPatternPredicate, 63,
6720
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSELECT_D64),
6721
310
                    MVT::f64, 3, 0, 1, 2, 
6722
310
     0, 
6723
310
    0,
6724
310
   29, 
6725
310
    OPC_CheckChild0TypeI64,
6726
310
    OPC_RecordChild1,
6727
310
    OPC_RecordChild2,
6728
310
    OPC_SwitchType , 10, MVT::f32,
6729
310
     OPC_CheckPatternPredicate, 9,
6730
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_S),
6731
310
                   MVT::f32, 3, 1, 0, 2, 
6732
310
    10, MVT::f64,
6733
310
     OPC_CheckPatternPredicate, 21,
6734
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOVN_I64_D64),
6735
310
                   MVT::f64, 3, 1, 0, 2, 
6736
310
    0,
6737
310
   0, 
6738
310
  0, 
6739
310
 33|128,1, TARGET_VAL(ISD::ATOMIC_LOAD),
6740
310
  OPC_RecordMemRef,
6741
310
  OPC_RecordNode,
6742
310
  OPC_RecordChild1,
6743
310
  OPC_SwitchType , 88, MVT::i32,
6744
310
   OPC_Scope, 13, 
6745
310
    OPC_CheckPredicate6, 
6746
310
    OPC_CheckPatternPredicate2,
6747
310
    OPC_CheckComplexPat0, /*#*/1,
6748
310
    OPC_EmitMergeInputChains1_0,
6749
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB), 0|OPFL_Chain|OPFL_MemRefs,
6750
310
                  MVT::i32, 2, 2, 3, 
6751
310
   13, 
6752
310
    OPC_CheckPredicate4, 
6753
310
    OPC_CheckPatternPredicate2,
6754
310
    OPC_CheckComplexPat0, /*#*/1,
6755
310
    OPC_EmitMergeInputChains1_0,
6756
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH), 0|OPFL_Chain|OPFL_MemRefs,
6757
310
                  MVT::i32, 2, 2, 3, 
6758
310
   14, 
6759
310
    OPC_CheckPredicate, 10,
6760
310
    OPC_CheckPatternPredicate2,
6761
310
    OPC_CheckComplexPat0, /*#*/1,
6762
310
    OPC_EmitMergeInputChains1_0,
6763
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LW), 0|OPFL_Chain|OPFL_MemRefs,
6764
310
                  MVT::i32, 2, 2, 3, 
6765
310
   13, 
6766
310
    OPC_CheckPredicate6, 
6767
310
    OPC_CheckPatternPredicate4,
6768
310
    OPC_CheckComplexPat0, /*#*/1,
6769
310
    OPC_EmitMergeInputChains1_0,
6770
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB_MM), 0|OPFL_Chain|OPFL_MemRefs,
6771
310
                  MVT::i32, 2, 2, 3, 
6772
310
   13, 
6773
310
    OPC_CheckPredicate4, 
6774
310
    OPC_CheckPatternPredicate4,
6775
310
    OPC_CheckComplexPat0, /*#*/1,
6776
310
    OPC_EmitMergeInputChains1_0,
6777
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH_MM), 0|OPFL_Chain|OPFL_MemRefs,
6778
310
                  MVT::i32, 2, 2, 3, 
6779
310
   14, 
6780
310
    OPC_CheckPredicate, 10,
6781
310
    OPC_CheckPatternPredicate4,
6782
310
    OPC_CheckComplexPat0, /*#*/1,
6783
310
    OPC_EmitMergeInputChains1_0,
6784
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LW_MM), 0|OPFL_Chain|OPFL_MemRefs,
6785
310
                  MVT::i32, 2, 2, 3, 
6786
310
   0, 
6787
310
  64, MVT::i64,
6788
310
   OPC_Scope, 14, 
6789
310
    OPC_CheckPredicate6, 
6790
310
    OPC_CheckPatternPredicate, 12,
6791
310
    OPC_CheckComplexPat0, /*#*/1,
6792
310
    OPC_EmitMergeInputChains1_0,
6793
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LB64), 0|OPFL_Chain|OPFL_MemRefs,
6794
310
                  MVT::i64, 2, 2, 3, 
6795
310
   14, 
6796
310
    OPC_CheckPredicate4, 
6797
310
    OPC_CheckPatternPredicate, 12,
6798
310
    OPC_CheckComplexPat0, /*#*/1,
6799
310
    OPC_EmitMergeInputChains1_0,
6800
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LH64), 0|OPFL_Chain|OPFL_MemRefs,
6801
310
                  MVT::i64, 2, 2, 3, 
6802
310
   15, 
6803
310
    OPC_CheckPredicate, 10,
6804
310
    OPC_CheckPatternPredicate, 12,
6805
310
    OPC_CheckComplexPat0, /*#*/1,
6806
310
    OPC_EmitMergeInputChains1_0,
6807
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LW64), 0|OPFL_Chain|OPFL_MemRefs,
6808
310
                  MVT::i64, 2, 2, 3, 
6809
310
   15, 
6810
310
    OPC_CheckPredicate, 16,
6811
310
    OPC_CheckPatternPredicate, 12,
6812
310
    OPC_CheckComplexPat0, /*#*/1,
6813
310
    OPC_EmitMergeInputChains1_0,
6814
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LD), 0|OPFL_Chain|OPFL_MemRefs,
6815
310
                  MVT::i64, 2, 2, 3, 
6816
310
   0, 
6817
310
  0,
6818
310
 120, TARGET_VAL(ISD::ATOMIC_STORE),
6819
310
  OPC_RecordMemRef,
6820
310
  OPC_RecordNode,
6821
310
  OPC_RecordChild1,
6822
310
  OPC_Scope, 47, 
6823
310
   OPC_CheckChild1TypeI32,
6824
310
   OPC_RecordChild2,
6825
310
   OPC_Scope, 13, 
6826
310
    OPC_CheckPredicate6, 
6827
310
    OPC_CheckPatternPredicate2,
6828
310
    OPC_CheckComplexPat0, /*#*/2,
6829
310
    OPC_EmitMergeInputChains1_0,
6830
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SB), 0|OPFL_Chain|OPFL_MemRefs,
6831
310
                  3, 1, 3, 4, 
6832
310
   13, 
6833
310
    OPC_CheckPredicate4, 
6834
310
    OPC_CheckPatternPredicate2,
6835
310
    OPC_CheckComplexPat0, /*#*/2,
6836
310
    OPC_EmitMergeInputChains1_0,
6837
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SH), 0|OPFL_Chain|OPFL_MemRefs,
6838
310
                  3, 1, 3, 4, 
6839
310
   14, 
6840
310
    OPC_CheckPredicate, 10,
6841
310
    OPC_CheckPatternPredicate2,
6842
310
    OPC_CheckComplexPat0, /*#*/2,
6843
310
    OPC_EmitMergeInputChains1_0,
6844
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SW), 0|OPFL_Chain|OPFL_MemRefs,
6845
310
                  3, 1, 3, 4, 
6846
310
   0, 
6847
310
  66, 
6848
310
   OPC_CheckChild1TypeI64,
6849
310
   OPC_RecordChild2,
6850
310
   OPC_Scope, 14, 
6851
310
    OPC_CheckPredicate6, 
6852
310
    OPC_CheckPatternPredicate, 12,
6853
310
    OPC_CheckComplexPat0, /*#*/2,
6854
310
    OPC_EmitMergeInputChains1_0,
6855
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SB64), 0|OPFL_Chain|OPFL_MemRefs,
6856
310
                  3, 1, 3, 4, 
6857
310
   14, 
6858
310
    OPC_CheckPredicate4, 
6859
310
    OPC_CheckPatternPredicate, 12,
6860
310
    OPC_CheckComplexPat0, /*#*/2,
6861
310
    OPC_EmitMergeInputChains1_0,
6862
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SH64), 0|OPFL_Chain|OPFL_MemRefs,
6863
310
                  3, 1, 3, 4, 
6864
310
   15, 
6865
310
    OPC_CheckPredicate, 10,
6866
310
    OPC_CheckPatternPredicate, 12,
6867
310
    OPC_CheckComplexPat0, /*#*/2,
6868
310
    OPC_EmitMergeInputChains1_0,
6869
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SW64), 0|OPFL_Chain|OPFL_MemRefs,
6870
310
                  3, 1, 3, 4, 
6871
310
   15, 
6872
310
    OPC_CheckPredicate, 16,
6873
310
    OPC_CheckPatternPredicate, 12,
6874
310
    OPC_CheckComplexPat0, /*#*/2,
6875
310
    OPC_EmitMergeInputChains1_0,
6876
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SD), 0|OPFL_Chain|OPFL_MemRefs,
6877
310
                  3, 1, 3, 4, 
6878
310
   0, 
6879
310
  0, 
6880
310
 71, TARGET_VAL(MipsISD::LWL),
6881
310
  OPC_RecordMemRef,
6882
310
  OPC_RecordNode,
6883
310
  OPC_RecordChild1,
6884
310
  OPC_RecordChild2,
6885
310
  OPC_SwitchType , 47, MVT::i32,
6886
310
   OPC_Scope, 14, 
6887
310
    OPC_CheckPatternPredicate, 38,
6888
310
    OPC_CheckComplexPat0, /*#*/1,
6889
310
    OPC_EmitMergeInputChains1_0,
6890
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL), 0|OPFL_Chain|OPFL_MemRefs,
6891
310
                  MVT::i32, 3, 3, 4, 2, 
6892
310
   14, 
6893
310
    OPC_CheckPatternPredicate, 52,
6894
310
    OPC_CheckComplexPat6, /*#*/1,
6895
310
    OPC_EmitMergeInputChains1_0,
6896
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
6897
310
                  MVT::i32, 3, 3, 4, 2, 
6898
310
   14, 
6899
310
    OPC_CheckPatternPredicate, 8,
6900
310
    OPC_CheckComplexPat6, /*#*/1,
6901
310
    OPC_EmitMergeInputChains1_0,
6902
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
6903
310
                  MVT::i32, 3, 3, 4, 2, 
6904
310
   0, 
6905
310
  14, MVT::i64,
6906
310
   OPC_CheckPatternPredicate, 18,
6907
310
   OPC_CheckComplexPat0, /*#*/1,
6908
310
   OPC_EmitMergeInputChains1_0,
6909
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::LWL64), 0|OPFL_Chain|OPFL_MemRefs,
6910
310
                 MVT::i64, 3, 3, 4, 2, 
6911
310
  0,
6912
310
 71, TARGET_VAL(MipsISD::LWR),
6913
310
  OPC_RecordMemRef,
6914
310
  OPC_RecordNode,
6915
310
  OPC_RecordChild1,
6916
310
  OPC_RecordChild2,
6917
310
  OPC_SwitchType , 47, MVT::i32,
6918
310
   OPC_Scope, 14, 
6919
310
    OPC_CheckPatternPredicate, 38,
6920
310
    OPC_CheckComplexPat0, /*#*/1,
6921
310
    OPC_EmitMergeInputChains1_0,
6922
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR), 0|OPFL_Chain|OPFL_MemRefs,
6923
310
                  MVT::i32, 3, 3, 4, 2, 
6924
310
   14, 
6925
310
    OPC_CheckPatternPredicate, 52,
6926
310
    OPC_CheckComplexPat6, /*#*/1,
6927
310
    OPC_EmitMergeInputChains1_0,
6928
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
6929
310
                  MVT::i32, 3, 3, 4, 2, 
6930
310
   14, 
6931
310
    OPC_CheckPatternPredicate, 8,
6932
310
    OPC_CheckComplexPat6, /*#*/1,
6933
310
    OPC_EmitMergeInputChains1_0,
6934
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
6935
310
                  MVT::i32, 3, 3, 4, 2, 
6936
310
   0, 
6937
310
  14, MVT::i64,
6938
310
   OPC_CheckPatternPredicate, 18,
6939
310
   OPC_CheckComplexPat0, /*#*/1,
6940
310
   OPC_EmitMergeInputChains1_0,
6941
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::LWR64), 0|OPFL_Chain|OPFL_MemRefs,
6942
310
                 MVT::i64, 3, 3, 4, 2, 
6943
310
  0,
6944
310
 68, TARGET_VAL(MipsISD::SWL),
6945
310
  OPC_RecordMemRef,
6946
310
  OPC_RecordNode,
6947
310
  OPC_RecordChild1,
6948
310
  OPC_Scope, 46, 
6949
310
   OPC_CheckChild1TypeI32,
6950
310
   OPC_RecordChild2,
6951
310
   OPC_Scope, 13, 
6952
310
    OPC_CheckPatternPredicate, 38,
6953
310
    OPC_CheckComplexPat0, /*#*/2,
6954
310
    OPC_EmitMergeInputChains1_0,
6955
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL), 0|OPFL_Chain|OPFL_MemRefs,
6956
310
                  3, 1, 3, 4, 
6957
310
   13, 
6958
310
    OPC_CheckPatternPredicate, 52,
6959
310
    OPC_CheckComplexPat6, /*#*/2,
6960
310
    OPC_EmitMergeInputChains1_0,
6961
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWLE_MM), 0|OPFL_Chain|OPFL_MemRefs,
6962
310
                  3, 1, 3, 4, 
6963
310
   13, 
6964
310
    OPC_CheckPatternPredicate, 8,
6965
310
    OPC_CheckComplexPat6, /*#*/2,
6966
310
    OPC_EmitMergeInputChains1_0,
6967
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL_MM), 0|OPFL_Chain|OPFL_MemRefs,
6968
310
                  3, 1, 3, 4, 
6969
310
   0, 
6970
310
  15, 
6971
310
   OPC_CheckChild1TypeI64,
6972
310
   OPC_RecordChild2,
6973
310
   OPC_CheckPatternPredicate, 18,
6974
310
   OPC_CheckComplexPat0, /*#*/2,
6975
310
   OPC_EmitMergeInputChains1_0,
6976
310
   OPC_MorphNodeTo0, TARGET_VAL(Mips::SWL64), 0|OPFL_Chain|OPFL_MemRefs,
6977
310
                 3, 1, 3, 4, 
6978
310
  0, 
6979
310
 68, TARGET_VAL(MipsISD::SWR),
6980
310
  OPC_RecordMemRef,
6981
310
  OPC_RecordNode,
6982
310
  OPC_RecordChild1,
6983
310
  OPC_Scope, 46, 
6984
310
   OPC_CheckChild1TypeI32,
6985
310
   OPC_RecordChild2,
6986
310
   OPC_Scope, 13, 
6987
310
    OPC_CheckPatternPredicate, 38,
6988
310
    OPC_CheckComplexPat0, /*#*/2,
6989
310
    OPC_EmitMergeInputChains1_0,
6990
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR), 0|OPFL_Chain|OPFL_MemRefs,
6991
310
                  3, 1, 3, 4, 
6992
310
   13, 
6993
310
    OPC_CheckPatternPredicate, 52,
6994
310
    OPC_CheckComplexPat6, /*#*/2,
6995
310
    OPC_EmitMergeInputChains1_0,
6996
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWRE_MM), 0|OPFL_Chain|OPFL_MemRefs,
6997
310
                  3, 1, 3, 4, 
6998
310
   13, 
6999
310
    OPC_CheckPatternPredicate, 8,
7000
310
    OPC_CheckComplexPat6, /*#*/2,
7001
310
    OPC_EmitMergeInputChains1_0,
7002
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR_MM), 0|OPFL_Chain|OPFL_MemRefs,
7003
310
                  3, 1, 3, 4, 
7004
310
   0, 
7005
310
  15, 
7006
310
   OPC_CheckChild1TypeI64,
7007
310
   OPC_RecordChild2,
7008
310
   OPC_CheckPatternPredicate, 18,
7009
310
   OPC_CheckComplexPat0, /*#*/2,
7010
310
   OPC_EmitMergeInputChains1_0,
7011
310
   OPC_MorphNodeTo0, TARGET_VAL(Mips::SWR64), 0|OPFL_Chain|OPFL_MemRefs,
7012
310
                 3, 1, 3, 4, 
7013
310
  0, 
7014
310
 19, TARGET_VAL(MipsISD::LDL),
7015
310
  OPC_RecordMemRef,
7016
310
  OPC_RecordNode,
7017
310
  OPC_RecordChild1,
7018
310
  OPC_RecordChild2,
7019
310
  OPC_CheckTypeI64,
7020
310
  OPC_CheckPatternPredicate, 30,
7021
310
  OPC_CheckComplexPat0, /*#*/1,
7022
310
  OPC_EmitMergeInputChains1_0,
7023
310
  OPC_MorphNodeTo1, TARGET_VAL(Mips::LDL), 0|OPFL_Chain|OPFL_MemRefs,
7024
310
                MVT::i64, 3, 3, 4, 2, 
7025
310
 19, TARGET_VAL(MipsISD::LDR),
7026
310
  OPC_RecordMemRef,
7027
310
  OPC_RecordNode,
7028
310
  OPC_RecordChild1,
7029
310
  OPC_RecordChild2,
7030
310
  OPC_CheckTypeI64,
7031
310
  OPC_CheckPatternPredicate, 30,
7032
310
  OPC_CheckComplexPat0, /*#*/1,
7033
310
  OPC_EmitMergeInputChains1_0,
7034
310
  OPC_MorphNodeTo1, TARGET_VAL(Mips::LDR), 0|OPFL_Chain|OPFL_MemRefs,
7035
310
                MVT::i64, 3, 3, 4, 2, 
7036
310
 18, TARGET_VAL(MipsISD::SDL),
7037
310
  OPC_RecordMemRef,
7038
310
  OPC_RecordNode,
7039
310
  OPC_RecordChild1,
7040
310
  OPC_CheckChild1TypeI64,
7041
310
  OPC_RecordChild2,
7042
310
  OPC_CheckPatternPredicate, 30,
7043
310
  OPC_CheckComplexPat0, /*#*/2,
7044
310
  OPC_EmitMergeInputChains1_0,
7045
310
  OPC_MorphNodeTo0, TARGET_VAL(Mips::SDL), 0|OPFL_Chain|OPFL_MemRefs,
7046
310
                3, 1, 3, 4, 
7047
310
 18, TARGET_VAL(MipsISD::SDR),
7048
310
  OPC_RecordMemRef,
7049
310
  OPC_RecordNode,
7050
310
  OPC_RecordChild1,
7051
310
  OPC_CheckChild1TypeI64,
7052
310
  OPC_RecordChild2,
7053
310
  OPC_CheckPatternPredicate, 30,
7054
310
  OPC_CheckComplexPat0, /*#*/2,
7055
310
  OPC_EmitMergeInputChains1_0,
7056
310
  OPC_MorphNodeTo0, TARGET_VAL(Mips::SDR), 0|OPFL_Chain|OPFL_MemRefs,
7057
310
                3, 1, 3, 4, 
7058
310
 126|128,9, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
7059
310
  OPC_RecordNode,
7060
310
  OPC_Scope, 58, 
7061
310
   OPC_CheckChild1Integer, 114|128,114, 
7062
310
   OPC_RecordChild2,
7063
310
   OPC_RecordChild3,
7064
310
   OPC_Scope, 30, 
7065
310
    OPC_MoveChild3,
7066
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7067
310
    OPC_CheckPredicate3, 
7068
310
    OPC_MoveParent,
7069
310
    OPC_Scope, 10, 
7070
310
     OPC_CheckPatternPredicate1,
7071
310
     OPC_EmitMergeInputChains1_0,
7072
310
     OPC_EmitConvertToTarget2,
7073
310
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_W),
7074
310
                   MVT::i32, 2, 1, 3, 
7075
310
    10, 
7076
310
     OPC_CheckPatternPredicate6,
7077
310
     OPC_EmitMergeInputChains1_0,
7078
310
     OPC_EmitConvertToTarget2,
7079
310
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_W_MM),
7080
310
                   MVT::i32, 2, 1, 3, 
7081
310
    0, 
7082
310
   9, 
7083
310
    OPC_CheckPatternPredicate1,
7084
310
    OPC_EmitMergeInputChains1_0,
7085
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_W),
7086
310
                  MVT::i32, 2, 1, 2, 
7087
310
   9, 
7088
310
    OPC_CheckPatternPredicate6,
7089
310
    OPC_EmitMergeInputChains1_0,
7090
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_W_MM),
7091
310
                  MVT::i32, 2, 1, 2, 
7092
310
   0, 
7093
310
  34, 
7094
310
   OPC_CheckChild1Integer, 78|128,114, 
7095
310
   OPC_RecordChild2,
7096
310
   OPC_MoveChild2,
7097
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7098
310
   OPC_Scope, 11, 
7099
310
    OPC_CheckPredicate, 41,
7100
310
    OPC_MoveParent,
7101
310
    OPC_CheckPatternPredicate1,
7102
310
    OPC_EmitMergeInputChains1_0,
7103
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::RDDSP),
7104
310
                  MVT::i32, 1, 1, 
7105
310
   11, 
7106
310
    OPC_CheckPredicate, 45,
7107
310
    OPC_MoveParent,
7108
310
    OPC_CheckPatternPredicate6,
7109
310
    OPC_EmitMergeInputChains1_0,
7110
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::RDDSP_MM),
7111
310
                  MVT::i32, 1, 1, 
7112
310
   0, 
7113
310
  27, 
7114
310
   OPC_CheckChild1Integer, 42|128,106, 
7115
310
   OPC_RecordChild2,
7116
310
   OPC_RecordChild3,
7117
310
   OPC_Scope, 9, 
7118
310
    OPC_CheckPatternPredicate1,
7119
310
    OPC_EmitMergeInputChains1_0,
7120
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDQ_S_W),
7121
310
                  MVT::i32, 2, 1, 2, 
7122
310
   9, 
7123
310
    OPC_CheckPatternPredicate6,
7124
310
    OPC_EmitMergeInputChains1_0,
7125
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDQ_S_W_MM),
7126
310
                  MVT::i32, 2, 1, 2, 
7127
310
   0, 
7128
310
  27, 
7129
310
   OPC_CheckChild1Integer, 2|128,116, 
7130
310
   OPC_RecordChild2,
7131
310
   OPC_RecordChild3,
7132
310
   OPC_Scope, 9, 
7133
310
    OPC_CheckPatternPredicate1,
7134
310
    OPC_EmitMergeInputChains1_0,
7135
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBQ_S_W),
7136
310
                  MVT::i32, 2, 1, 2, 
7137
310
   9, 
7138
310
    OPC_CheckPatternPredicate6,
7139
310
    OPC_EmitMergeInputChains1_0,
7140
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBQ_S_W_MM),
7141
310
                  MVT::i32, 2, 1, 2, 
7142
310
   0, 
7143
310
  24, 
7144
310
   OPC_CheckChild1Integer, 28|128,106, 
7145
310
   OPC_RecordChild2,
7146
310
   OPC_Scope, 8, 
7147
310
    OPC_CheckPatternPredicate1,
7148
310
    OPC_EmitMergeInputChains1_0,
7149
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_W),
7150
310
                  MVT::i32, 1, 1, 
7151
310
   8, 
7152
310
    OPC_CheckPatternPredicate6,
7153
310
    OPC_EmitMergeInputChains1_0,
7154
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_W_MM),
7155
310
                  MVT::i32, 1, 1, 
7156
310
   0, 
7157
310
  27, 
7158
310
   OPC_CheckChild1Integer, 78|128,113, 
7159
310
   OPC_RecordChild2,
7160
310
   OPC_RecordChild3,
7161
310
   OPC_Scope, 9, 
7162
310
    OPC_CheckPatternPredicate1,
7163
310
    OPC_EmitMergeInputChains1_0,
7164
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHL),
7165
310
                  MVT::i32, 2, 1, 2, 
7166
310
   9, 
7167
310
    OPC_CheckPatternPredicate6,
7168
310
    OPC_EmitMergeInputChains1_0,
7169
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHL_MM),
7170
310
                  MVT::i32, 2, 1, 2, 
7171
310
   0, 
7172
310
  27, 
7173
310
   OPC_CheckChild1Integer, 80|128,113, 
7174
310
   OPC_RecordChild2,
7175
310
   OPC_RecordChild3,
7176
310
   OPC_Scope, 9, 
7177
310
    OPC_CheckPatternPredicate1,
7178
310
    OPC_EmitMergeInputChains1_0,
7179
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHR),
7180
310
                  MVT::i32, 2, 1, 2, 
7181
310
   9, 
7182
310
    OPC_CheckPatternPredicate6,
7183
310
    OPC_EmitMergeInputChains1_0,
7184
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEQ_S_W_PHR_MM),
7185
310
                  MVT::i32, 2, 1, 2, 
7186
310
   0, 
7187
310
  27, 
7188
310
   OPC_CheckChild1Integer, 118|128,108, 
7189
310
   OPC_RecordChild2,
7190
310
   OPC_RecordChild3,
7191
310
   OPC_Scope, 9, 
7192
310
    OPC_CheckPatternPredicate1,
7193
310
    OPC_EmitMergeInputChains1_0,
7194
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_EQ_QB),
7195
310
                  MVT::i32, 2, 1, 2, 
7196
310
   9, 
7197
310
    OPC_CheckPatternPredicate6,
7198
310
    OPC_EmitMergeInputChains1_0,
7199
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_EQ_QB_MM),
7200
310
                  MVT::i32, 2, 1, 2, 
7201
310
   0, 
7202
310
  27, 
7203
310
   OPC_CheckChild1Integer, 122|128,108, 
7204
310
   OPC_RecordChild2,
7205
310
   OPC_RecordChild3,
7206
310
   OPC_Scope, 9, 
7207
310
    OPC_CheckPatternPredicate1,
7208
310
    OPC_EmitMergeInputChains1_0,
7209
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LT_QB),
7210
310
                  MVT::i32, 2, 1, 2, 
7211
310
   9, 
7212
310
    OPC_CheckPatternPredicate6,
7213
310
    OPC_EmitMergeInputChains1_0,
7214
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LT_QB_MM),
7215
310
                  MVT::i32, 2, 1, 2, 
7216
310
   0, 
7217
310
  27, 
7218
310
   OPC_CheckChild1Integer, 120|128,108, 
7219
310
   OPC_RecordChild2,
7220
310
   OPC_RecordChild3,
7221
310
   OPC_Scope, 9, 
7222
310
    OPC_CheckPatternPredicate1,
7223
310
    OPC_EmitMergeInputChains1_0,
7224
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LE_QB),
7225
310
                  MVT::i32, 2, 1, 2, 
7226
310
   9, 
7227
310
    OPC_CheckPatternPredicate6,
7228
310
    OPC_EmitMergeInputChains1_0,
7229
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGU_LE_QB_MM),
7230
310
                  MVT::i32, 2, 1, 2, 
7231
310
   0, 
7232
310
  27, 
7233
310
   OPC_CheckChild1Integer, 46|128,112, 
7234
310
   OPC_RecordChild2,
7235
310
   OPC_RecordChild3,
7236
310
   OPC_Scope, 9, 
7237
310
    OPC_CheckPatternPredicate1,
7238
310
    OPC_EmitMergeInputChains1_0,
7239
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LWX),
7240
310
                  MVT::i32, 2, 1, 2, 
7241
310
   9, 
7242
310
    OPC_CheckPatternPredicate6,
7243
310
    OPC_EmitMergeInputChains1_0,
7244
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LWX_MM),
7245
310
                  MVT::i32, 2, 1, 2, 
7246
310
   0, 
7247
310
  27, 
7248
310
   OPC_CheckChild1Integer, 42|128,112, 
7249
310
   OPC_RecordChild2,
7250
310
   OPC_RecordChild3,
7251
310
   OPC_Scope, 9, 
7252
310
    OPC_CheckPatternPredicate1,
7253
310
    OPC_EmitMergeInputChains1_0,
7254
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LHX),
7255
310
                  MVT::i32, 2, 1, 2, 
7256
310
   9, 
7257
310
    OPC_CheckPatternPredicate6,
7258
310
    OPC_EmitMergeInputChains1_0,
7259
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LHX_MM),
7260
310
                  MVT::i32, 2, 1, 2, 
7261
310
   0, 
7262
310
  27, 
7263
310
   OPC_CheckChild1Integer, 20|128,112, 
7264
310
   OPC_RecordChild2,
7265
310
   OPC_RecordChild3,
7266
310
   OPC_Scope, 9, 
7267
310
    OPC_CheckPatternPredicate1,
7268
310
    OPC_EmitMergeInputChains1_0,
7269
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LBUX),
7270
310
                  MVT::i32, 2, 1, 2, 
7271
310
   9, 
7272
310
    OPC_CheckPatternPredicate6,
7273
310
    OPC_EmitMergeInputChains1_0,
7274
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LBUX_MM),
7275
310
                  MVT::i32, 2, 1, 2, 
7276
310
   0, 
7277
310
  27, 
7278
310
   OPC_CheckChild1Integer, 10|128,112, 
7279
310
   OPC_RecordChild2,
7280
310
   OPC_RecordChild3,
7281
310
   OPC_Scope, 9, 
7282
310
    OPC_CheckPatternPredicate1,
7283
310
    OPC_EmitMergeInputChains1_0,
7284
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::INSV),
7285
310
                  MVT::i32, 2, 1, 2, 
7286
310
   9, 
7287
310
    OPC_CheckPatternPredicate6,
7288
310
    OPC_EmitMergeInputChains1_0,
7289
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::INSV_MM),
7290
310
                  MVT::i32, 2, 1, 2, 
7291
310
   0, 
7292
310
  29, 
7293
310
   OPC_CheckChild1Integer, 112|128,108, 
7294
310
   OPC_RecordChild2,
7295
310
   OPC_RecordChild3,
7296
310
   OPC_Scope, 10, 
7297
310
    OPC_CheckPatternPredicate, 13,
7298
310
    OPC_EmitMergeInputChains1_0,
7299
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_EQ_QB),
7300
310
                  MVT::i32, 2, 1, 2, 
7301
310
   10, 
7302
310
    OPC_CheckPatternPredicate, 14,
7303
310
    OPC_EmitMergeInputChains1_0,
7304
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_EQ_QB_MMR2),
7305
310
                  MVT::i32, 2, 1, 2, 
7306
310
   0, 
7307
310
  29, 
7308
310
   OPC_CheckChild1Integer, 116|128,108, 
7309
310
   OPC_RecordChild2,
7310
310
   OPC_RecordChild3,
7311
310
   OPC_Scope, 10, 
7312
310
    OPC_CheckPatternPredicate, 13,
7313
310
    OPC_EmitMergeInputChains1_0,
7314
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LT_QB),
7315
310
                  MVT::i32, 2, 1, 2, 
7316
310
   10, 
7317
310
    OPC_CheckPatternPredicate, 14,
7318
310
    OPC_EmitMergeInputChains1_0,
7319
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LT_QB_MMR2),
7320
310
                  MVT::i32, 2, 1, 2, 
7321
310
   0, 
7322
310
  29, 
7323
310
   OPC_CheckChild1Integer, 114|128,108, 
7324
310
   OPC_RecordChild2,
7325
310
   OPC_RecordChild3,
7326
310
   OPC_Scope, 10, 
7327
310
    OPC_CheckPatternPredicate, 13,
7328
310
    OPC_EmitMergeInputChains1_0,
7329
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LE_QB),
7330
310
                  MVT::i32, 2, 1, 2, 
7331
310
   10, 
7332
310
    OPC_CheckPatternPredicate, 14,
7333
310
    OPC_EmitMergeInputChains1_0,
7334
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::CMPGDU_LE_QB_MMR2),
7335
310
                  MVT::i32, 2, 1, 2, 
7336
310
   0, 
7337
310
  29, 
7338
310
   OPC_CheckChild1Integer, 92|128,113, 
7339
310
   OPC_RecordChild2,
7340
310
   OPC_RecordChild3,
7341
310
   OPC_Scope, 10, 
7342
310
    OPC_CheckPatternPredicate, 13,
7343
310
    OPC_EmitMergeInputChains1_0,
7344
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_W),
7345
310
                  MVT::i32, 2, 1, 2, 
7346
310
   10, 
7347
310
    OPC_CheckPatternPredicate, 14,
7348
310
    OPC_EmitMergeInputChains1_0,
7349
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_W_MMR2),
7350
310
                  MVT::i32, 2, 1, 2, 
7351
310
   0, 
7352
310
  29, 
7353
310
   OPC_CheckChild1Integer, 88|128,113, 
7354
310
   OPC_RecordChild2,
7355
310
   OPC_RecordChild3,
7356
310
   OPC_Scope, 10, 
7357
310
    OPC_CheckPatternPredicate, 13,
7358
310
    OPC_EmitMergeInputChains1_0,
7359
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_W),
7360
310
                  MVT::i32, 2, 1, 2, 
7361
310
   10, 
7362
310
    OPC_CheckPatternPredicate, 14,
7363
310
    OPC_EmitMergeInputChains1_0,
7364
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_W_MMR2),
7365
310
                  MVT::i32, 2, 1, 2, 
7366
310
   0, 
7367
310
  14, 
7368
310
   OPC_CheckChild1Integer, 76|128,106, 
7369
310
   OPC_RecordChild2,
7370
310
   OPC_RecordChild3,
7371
310
   OPC_CheckPatternPredicate1,
7372
310
   OPC_EmitMergeInputChains1_0,
7373
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDSC),
7374
310
                 MVT::i32, 2, 1, 2, 
7375
310
  14, 
7376
310
   OPC_CheckChild1Integer, 106|128,106, 
7377
310
   OPC_RecordChild2,
7378
310
   OPC_RecordChild3,
7379
310
   OPC_CheckPatternPredicate1,
7380
310
   OPC_EmitMergeInputChains1_0,
7381
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDWC),
7382
310
                 MVT::i32, 2, 1, 2, 
7383
310
  9, 
7384
310
   OPC_CheckChild1Integer, 120|128,107, 
7385
310
   OPC_EmitMergeInputChains1_0,
7386
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::BPOSGE32_PSEUDO),
7387
310
                 MVT::i32, 0, 
7388
310
  59, 
7389
310
   OPC_CheckChild1Integer, 112|128,114, 
7390
310
   OPC_RecordChild2,
7391
310
   OPC_RecordChild3,
7392
310
   OPC_Scope, 31, 
7393
310
    OPC_MoveChild3,
7394
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7395
310
    OPC_CheckPredicate, 15,
7396
310
    OPC_MoveParent,
7397
310
    OPC_Scope, 10, 
7398
310
     OPC_CheckPatternPredicate1,
7399
310
     OPC_EmitMergeInputChains1_0,
7400
310
     OPC_EmitConvertToTarget2,
7401
310
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_PH),
7402
310
                   MVT::v2i16, 2, 1, 3, 
7403
310
    10, 
7404
310
     OPC_CheckPatternPredicate6,
7405
310
     OPC_EmitMergeInputChains1_0,
7406
310
     OPC_EmitConvertToTarget2,
7407
310
     OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_S_PH_MM),
7408
310
                   MVT::v2i16, 2, 1, 3, 
7409
310
    0, 
7410
310
   9, 
7411
310
    OPC_CheckPatternPredicate1,
7412
310
    OPC_EmitMergeInputChains1_0,
7413
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_PH),
7414
310
                  MVT::v2i16, 2, 1, 2, 
7415
310
   9, 
7416
310
    OPC_CheckPatternPredicate6,
7417
310
    OPC_EmitMergeInputChains1_0,
7418
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_S_PH_MM),
7419
310
                  MVT::v2i16, 2, 1, 2, 
7420
310
   0, 
7421
310
  45, 
7422
310
   OPC_CheckChild1Integer, 108|128,114, 
7423
310
   OPC_RecordChild2,
7424
310
   OPC_RecordChild3,
7425
310
   OPC_Scope, 17, 
7426
310
    OPC_MoveChild3,
7427
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7428
310
    OPC_CheckPredicate, 15,
7429
310
    OPC_MoveParent,
7430
310
    OPC_CheckPatternPredicate1,
7431
310
    OPC_EmitMergeInputChains1_0,
7432
310
    OPC_EmitConvertToTarget2,
7433
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_PH),
7434
310
                  MVT::v2i16, 2, 1, 3, 
7435
310
   9, 
7436
310
    OPC_CheckPatternPredicate1,
7437
310
    OPC_EmitMergeInputChains1_0,
7438
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_PH),
7439
310
                  MVT::v2i16, 2, 1, 2, 
7440
310
   9, 
7441
310
    OPC_CheckPatternPredicate6,
7442
310
    OPC_EmitMergeInputChains1_0,
7443
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_PH_MM),
7444
310
                  MVT::v2i16, 2, 1, 2, 
7445
310
   0, 
7446
310
  45, 
7447
310
   OPC_CheckChild1Integer, 110|128,114, 
7448
310
   OPC_RecordChild2,
7449
310
   OPC_RecordChild3,
7450
310
   OPC_Scope, 17, 
7451
310
    OPC_MoveChild3,
7452
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7453
310
    OPC_CheckPredicate, 18,
7454
310
    OPC_MoveParent,
7455
310
    OPC_CheckPatternPredicate1,
7456
310
    OPC_EmitMergeInputChains1_0,
7457
310
    OPC_EmitConvertToTarget2,
7458
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLL_QB),
7459
310
                  MVT::v4i8, 2, 1, 3, 
7460
310
   9, 
7461
310
    OPC_CheckPatternPredicate1,
7462
310
    OPC_EmitMergeInputChains1_0,
7463
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_QB),
7464
310
                  MVT::v4i8, 2, 1, 2, 
7465
310
   9, 
7466
310
    OPC_CheckPatternPredicate6,
7467
310
    OPC_EmitMergeInputChains1_0,
7468
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SHLLV_QB_MM),
7469
310
                  MVT::v4i8, 2, 1, 2, 
7470
310
   0, 
7471
310
  24, 
7472
310
   OPC_CheckChild1Integer, 24|128,106, 
7473
310
   OPC_RecordChild2,
7474
310
   OPC_Scope, 8, 
7475
310
    OPC_CheckPatternPredicate1,
7476
310
    OPC_EmitMergeInputChains1_0,
7477
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_PH),
7478
310
                  MVT::v2i16, 1, 1, 
7479
310
   8, 
7480
310
    OPC_CheckPatternPredicate6,
7481
310
    OPC_EmitMergeInputChains1_0,
7482
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_PH_MM),
7483
310
                  MVT::v2i16, 1, 1, 
7484
310
   0, 
7485
310
  27, 
7486
310
   OPC_CheckChild1Integer, 70|128,114, 
7487
310
   OPC_RecordChild2,
7488
310
   OPC_RecordChild3,
7489
310
   OPC_Scope, 9, 
7490
310
    OPC_CheckPatternPredicate1,
7491
310
    OPC_EmitMergeInputChains1_0,
7492
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQ_RS_PH_W),
7493
310
                  MVT::v2i16, 2, 1, 2, 
7494
310
   9, 
7495
310
    OPC_CheckPatternPredicate6,
7496
310
    OPC_EmitMergeInputChains1_0,
7497
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQ_RS_PH_W_MM),
7498
310
                  MVT::v2i16, 2, 1, 2, 
7499
310
   0, 
7500
310
  27, 
7501
310
   OPC_CheckChild1Integer, 72|128,114, 
7502
310
   OPC_RecordChild2,
7503
310
   OPC_RecordChild3,
7504
310
   OPC_Scope, 9, 
7505
310
    OPC_CheckPatternPredicate1,
7506
310
    OPC_EmitMergeInputChains1_0,
7507
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQU_S_QB_PH),
7508
310
                  MVT::v4i8, 2, 1, 2, 
7509
310
   9, 
7510
310
    OPC_CheckPatternPredicate6,
7511
310
    OPC_EmitMergeInputChains1_0,
7512
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECRQU_S_QB_PH_MM),
7513
310
                  MVT::v4i8, 2, 1, 2, 
7514
310
   0, 
7515
310
  27, 
7516
310
   OPC_CheckChild1Integer, 82|128,113, 
7517
310
   OPC_RecordChild2,
7518
310
   OPC_RecordChild3,
7519
310
   OPC_Scope, 9, 
7520
310
    OPC_CheckPatternPredicate1,
7521
310
    OPC_EmitMergeInputChains1_0,
7522
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBL),
7523
310
                  MVT::v2i16, 2, 1, 2, 
7524
310
   9, 
7525
310
    OPC_CheckPatternPredicate6,
7526
310
    OPC_EmitMergeInputChains1_0,
7527
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBL_MM),
7528
310
                  MVT::v2i16, 2, 1, 2, 
7529
310
   0, 
7530
310
  27, 
7531
310
   OPC_CheckChild1Integer, 84|128,113, 
7532
310
   OPC_RecordChild2,
7533
310
   OPC_RecordChild3,
7534
310
   OPC_Scope, 9, 
7535
310
    OPC_CheckPatternPredicate1,
7536
310
    OPC_EmitMergeInputChains1_0,
7537
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBR),
7538
310
                  MVT::v2i16, 2, 1, 2, 
7539
310
   9, 
7540
310
    OPC_CheckPatternPredicate6,
7541
310
    OPC_EmitMergeInputChains1_0,
7542
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULEU_S_PH_QBR_MM),
7543
310
                  MVT::v2i16, 2, 1, 2, 
7544
310
   0, 
7545
310
  27, 
7546
310
   OPC_CheckChild1Integer, 86|128,113, 
7547
310
   OPC_RecordChild2,
7548
310
   OPC_RecordChild3,
7549
310
   OPC_Scope, 9, 
7550
310
    OPC_CheckPatternPredicate1,
7551
310
    OPC_EmitMergeInputChains1_0,
7552
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_PH),
7553
310
                  MVT::v2i16, 2, 1, 2, 
7554
310
   9, 
7555
310
    OPC_CheckPatternPredicate6,
7556
310
    OPC_EmitMergeInputChains1_0,
7557
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_RS_PH_MM),
7558
310
                  MVT::v2i16, 2, 1, 2, 
7559
310
   0, 
7560
310
  27, 
7561
310
   OPC_CheckChild1Integer, 38|128,114, 
7562
310
   OPC_RecordChild2,
7563
310
   OPC_RecordChild3,
7564
310
   OPC_Scope, 9, 
7565
310
    OPC_CheckPatternPredicate1,
7566
310
    OPC_EmitMergeInputChains1_0,
7567
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_QB),
7568
310
                  MVT::v4i8, 2, 1, 2, 
7569
310
   9, 
7570
310
    OPC_CheckPatternPredicate6,
7571
310
    OPC_EmitMergeInputChains1_0,
7572
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_QB_MM),
7573
310
                  MVT::v4i8, 2, 1, 2, 
7574
310
   0, 
7575
310
  27, 
7576
310
   OPC_CheckChild1Integer, 36|128,114, 
7577
310
   OPC_RecordChild2,
7578
310
   OPC_RecordChild3,
7579
310
   OPC_Scope, 9, 
7580
310
    OPC_CheckPatternPredicate1,
7581
310
    OPC_EmitMergeInputChains1_0,
7582
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_PH),
7583
310
                  MVT::v2i16, 2, 1, 2, 
7584
310
   9, 
7585
310
    OPC_CheckPatternPredicate6,
7586
310
    OPC_EmitMergeInputChains1_0,
7587
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PICK_PH_MM),
7588
310
                  MVT::v2i16, 2, 1, 2, 
7589
310
   0, 
7590
310
  29, 
7591
310
   OPC_CheckChild1Integer, 78|128,106, 
7592
310
   OPC_RecordChild2,
7593
310
   OPC_RecordChild3,
7594
310
   OPC_Scope, 10, 
7595
310
    OPC_CheckPatternPredicate, 13,
7596
310
    OPC_EmitMergeInputChains1_0,
7597
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_PH),
7598
310
                  MVT::v2i16, 2, 1, 2, 
7599
310
   10, 
7600
310
    OPC_CheckPatternPredicate, 14,
7601
310
    OPC_EmitMergeInputChains1_0,
7602
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_PH_MMR2),
7603
310
                  MVT::v2i16, 2, 1, 2, 
7604
310
   0, 
7605
310
  29, 
7606
310
   OPC_CheckChild1Integer, 82|128,106, 
7607
310
   OPC_RecordChild2,
7608
310
   OPC_RecordChild3,
7609
310
   OPC_Scope, 10, 
7610
310
    OPC_CheckPatternPredicate, 13,
7611
310
    OPC_EmitMergeInputChains1_0,
7612
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_S_PH),
7613
310
                  MVT::v2i16, 2, 1, 2, 
7614
310
   10, 
7615
310
    OPC_CheckPatternPredicate, 14,
7616
310
    OPC_EmitMergeInputChains1_0,
7617
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ADDU_S_PH_MMR2),
7618
310
                  MVT::v2i16, 2, 1, 2, 
7619
310
   0, 
7620
310
  29, 
7621
310
   OPC_CheckChild1Integer, 44|128,116, 
7622
310
   OPC_RecordChild2,
7623
310
   OPC_RecordChild3,
7624
310
   OPC_Scope, 10, 
7625
310
    OPC_CheckPatternPredicate, 13,
7626
310
    OPC_EmitMergeInputChains1_0,
7627
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_PH),
7628
310
                  MVT::v2i16, 2, 1, 2, 
7629
310
   10, 
7630
310
    OPC_CheckPatternPredicate, 14,
7631
310
    OPC_EmitMergeInputChains1_0,
7632
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_PH_MMR2),
7633
310
                  MVT::v2i16, 2, 1, 2, 
7634
310
   0, 
7635
310
  29, 
7636
310
   OPC_CheckChild1Integer, 48|128,116, 
7637
310
   OPC_RecordChild2,
7638
310
   OPC_RecordChild3,
7639
310
   OPC_Scope, 10, 
7640
310
    OPC_CheckPatternPredicate, 13,
7641
310
    OPC_EmitMergeInputChains1_0,
7642
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_S_PH),
7643
310
                  MVT::v2i16, 2, 1, 2, 
7644
310
   10, 
7645
310
    OPC_CheckPatternPredicate, 14,
7646
310
    OPC_EmitMergeInputChains1_0,
7647
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::SUBU_S_PH_MMR2),
7648
310
                  MVT::v2i16, 2, 1, 2, 
7649
310
   0, 
7650
310
  26, 
7651
310
   OPC_CheckChild1Integer, 26|128,106, 
7652
310
   OPC_RecordChild2,
7653
310
   OPC_Scope, 9, 
7654
310
    OPC_CheckPatternPredicate, 13,
7655
310
    OPC_EmitMergeInputChains1_0,
7656
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_QB),
7657
310
                  MVT::v4i8, 1, 1, 
7658
310
   9, 
7659
310
    OPC_CheckPatternPredicate, 14,
7660
310
    OPC_EmitMergeInputChains1_0,
7661
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::ABSQ_S_QB_MMR2),
7662
310
                  MVT::v4i8, 1, 1, 
7663
310
   0, 
7664
310
  29, 
7665
310
   OPC_CheckChild1Integer, 76|128,113, 
7666
310
   OPC_RecordChild2,
7667
310
   OPC_RecordChild3,
7668
310
   OPC_Scope, 10, 
7669
310
    OPC_CheckPatternPredicate, 13,
7670
310
    OPC_EmitMergeInputChains1_0,
7671
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_S_PH),
7672
310
                  MVT::v2i16, 2, 1, 2, 
7673
310
   10, 
7674
310
    OPC_CheckPatternPredicate, 14,
7675
310
    OPC_EmitMergeInputChains1_0,
7676
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_S_PH_MMR2),
7677
310
                  MVT::v2i16, 2, 1, 2, 
7678
310
   0, 
7679
310
  29, 
7680
310
   OPC_CheckChild1Integer, 90|128,113, 
7681
310
   OPC_RecordChild2,
7682
310
   OPC_RecordChild3,
7683
310
   OPC_Scope, 10, 
7684
310
    OPC_CheckPatternPredicate, 13,
7685
310
    OPC_EmitMergeInputChains1_0,
7686
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_PH),
7687
310
                  MVT::v2i16, 2, 1, 2, 
7688
310
   10, 
7689
310
    OPC_CheckPatternPredicate, 14,
7690
310
    OPC_EmitMergeInputChains1_0,
7691
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULQ_S_PH_MMR2),
7692
310
                  MVT::v2i16, 2, 1, 2, 
7693
310
   0, 
7694
310
  29, 
7695
310
   OPC_CheckChild1Integer, 60|128,114, 
7696
310
   OPC_RecordChild2,
7697
310
   OPC_RecordChild3,
7698
310
   OPC_Scope, 10, 
7699
310
    OPC_CheckPatternPredicate, 13,
7700
310
    OPC_EmitMergeInputChains1_0,
7701
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECR_QB_PH),
7702
310
                  MVT::v4i8, 2, 1, 2, 
7703
310
   10, 
7704
310
    OPC_CheckPatternPredicate, 14,
7705
310
    OPC_EmitMergeInputChains1_0,
7706
310
    OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::PRECR_QB_PH_MMR2),
7707
310
                  MVT::v4i8, 2, 1, 2, 
7708
310
   0, 
7709
310
  15, 
7710
310
   OPC_CheckChild1Integer, 70|128,113, 
7711
310
   OPC_RecordChild2,
7712
310
   OPC_RecordChild3,
7713
310
   OPC_CheckPatternPredicate, 13,
7714
310
   OPC_EmitMergeInputChains1_0,
7715
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MUL_PH),
7716
310
                 MVT::v2i16, 2, 1, 2, 
7717
310
  15, 
7718
310
   OPC_CheckChild1Integer, 38|128,112, 
7719
310
   OPC_RecordChild2,
7720
310
   OPC_RecordChild3,
7721
310
   OPC_CheckPatternPredicate, 10,
7722
310
   OPC_EmitMergeInputChains1_0,
7723
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LDR_D),
7724
310
                 MVT::v2i64, 2, 1, 2, 
7725
310
  15, 
7726
310
   OPC_CheckChild1Integer, 40|128,112, 
7727
310
   OPC_RecordChild2,
7728
310
   OPC_RecordChild3,
7729
310
   OPC_CheckPatternPredicate, 10,
7730
310
   OPC_EmitMergeInputChains1_0,
7731
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::LDR_W),
7732
310
                 MVT::v4i32, 2, 1, 2, 
7733
310
  0, 
7734
310
 60|128,35, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
7735
310
  OPC_Scope, 54, 
7736
310
   OPC_CheckChild0Integer, 124|128,114, 
7737
310
   OPC_RecordChild1,
7738
310
   OPC_RecordChild2,
7739
310
   OPC_Scope, 28, 
7740
310
    OPC_MoveChild2,
7741
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7742
310
    OPC_CheckPredicate3, 
7743
310
    OPC_MoveParent,
7744
310
    OPC_Scope, 9, 
7745
310
     OPC_CheckPatternPredicate1,
7746
310
     OPC_EmitConvertToTarget1,
7747
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_W),
7748
310
                   MVT::i32, 2, 0, 2, 
7749
310
    9, 
7750
310
     OPC_CheckPatternPredicate6,
7751
310
     OPC_EmitConvertToTarget1,
7752
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_W_MM),
7753
310
                   MVT::i32, 2, 0, 2, 
7754
310
    0, 
7755
310
   8, 
7756
310
    OPC_CheckPatternPredicate1,
7757
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_W),
7758
310
                  MVT::i32, 2, 0, 1, 
7759
310
   8, 
7760
310
    OPC_CheckPatternPredicate6,
7761
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_W_MM),
7762
310
                  MVT::i32, 2, 0, 1, 
7763
310
   0, 
7764
310
  36, 
7765
310
   OPC_CheckChild0Integer, 112|128,106, 
7766
310
   OPC_RecordChild1,
7767
310
   OPC_RecordChild2,
7768
310
   OPC_RecordChild3,
7769
310
   OPC_MoveChild3,
7770
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7771
310
   OPC_CheckPredicate3, 
7772
310
   OPC_MoveParent,
7773
310
   OPC_Scope, 10, 
7774
310
    OPC_CheckPatternPredicate, 13,
7775
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::APPEND),
7776
310
                  MVT::i32, 3, 1, 2, 0, 
7777
310
   10, 
7778
310
    OPC_CheckPatternPredicate, 14,
7779
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::APPEND_MMR2),
7780
310
                  MVT::i32, 3, 1, 2, 0, 
7781
310
   0, 
7782
310
  42, 
7783
310
   OPC_CheckChild0Integer, 34|128,107, 
7784
310
   OPC_RecordChild1,
7785
310
   OPC_RecordChild2,
7786
310
   OPC_RecordChild3,
7787
310
   OPC_MoveChild3,
7788
310
   OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetConstant),
7789
310
    OPC_CheckPredicate, 22,
7790
310
    OPC_MoveParent,
7791
310
    OPC_CheckPatternPredicate, 13,
7792
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BALIGN),
7793
310
                  MVT::i32, 3, 1, 2, 0, 
7794
310
   14, TARGET_VAL(ISD::Constant),
7795
310
    OPC_CheckPredicate, 22,
7796
310
    OPC_MoveParent,
7797
310
    OPC_CheckPatternPredicate, 14,
7798
310
    OPC_EmitConvertToTarget2,
7799
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BALIGN_MMR2),
7800
310
                  MVT::i32, 3, 1, 3, 0, 
7801
310
   0,
7802
310
  36, 
7803
310
   OPC_CheckChild0Integer, 74|128,114, 
7804
310
   OPC_RecordChild1,
7805
310
   OPC_RecordChild2,
7806
310
   OPC_RecordChild3,
7807
310
   OPC_MoveChild3,
7808
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
7809
310
   OPC_CheckPredicate3, 
7810
310
   OPC_MoveParent,
7811
310
   OPC_Scope, 10, 
7812
310
    OPC_CheckPatternPredicate, 13,
7813
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PREPEND),
7814
310
                  MVT::i32, 3, 1, 2, 0, 
7815
310
   10, 
7816
310
    OPC_CheckPatternPredicate, 14,
7817
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PREPEND_MMR2),
7818
310
                  MVT::i32, 3, 1, 2, 0, 
7819
310
   0, 
7820
310
  25, 
7821
310
   OPC_CheckChild0Integer, 44|128,113, 
7822
310
   OPC_RecordChild1,
7823
310
   OPC_RecordChild2,
7824
310
   OPC_Scope, 8, 
7825
310
    OPC_CheckPatternPredicate1,
7826
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODSUB),
7827
310
                  MVT::i32, 2, 0, 1, 
7828
310
   8, 
7829
310
    OPC_CheckPatternPredicate6,
7830
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODSUB_MM),
7831
310
                  MVT::i32, 2, 0, 1, 
7832
310
   0, 
7833
310
  22, 
7834
310
   OPC_CheckChild0Integer, 76|128,114, 
7835
310
   OPC_RecordChild1,
7836
310
   OPC_Scope, 7, 
7837
310
    OPC_CheckPatternPredicate1,
7838
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::RADDU_W_QB),
7839
310
                  MVT::i32, 1, 0, 
7840
310
   7, 
7841
310
    OPC_CheckPatternPredicate6,
7842
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::RADDU_W_QB_MM),
7843
310
                  MVT::i32, 1, 0, 
7844
310
   0, 
7845
310
  22, 
7846
310
   OPC_CheckChild0Integer, 40|128,114, 
7847
310
   OPC_RecordChild1,
7848
310
   OPC_Scope, 7, 
7849
310
    OPC_CheckPatternPredicate1,
7850
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHL),
7851
310
                  MVT::i32, 1, 0, 
7852
310
   7, 
7853
310
    OPC_CheckPatternPredicate6,
7854
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHL_MM),
7855
310
                  MVT::i32, 1, 0, 
7856
310
   0, 
7857
310
  22, 
7858
310
   OPC_CheckChild0Integer, 42|128,114, 
7859
310
   OPC_RecordChild1,
7860
310
   OPC_Scope, 7, 
7861
310
    OPC_CheckPatternPredicate1,
7862
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHR),
7863
310
                  MVT::i32, 1, 0, 
7864
310
   7, 
7865
310
    OPC_CheckPatternPredicate6,
7866
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQ_W_PHR_MM),
7867
310
                  MVT::i32, 1, 0, 
7868
310
   0, 
7869
310
  22, 
7870
310
   OPC_CheckChild0Integer, 84|128,107, 
7871
310
   OPC_RecordChild1,
7872
310
   OPC_Scope, 7, 
7873
310
    OPC_CheckPatternPredicate1,
7874
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BITREV),
7875
310
                  MVT::i32, 1, 0, 
7876
310
   7, 
7877
310
    OPC_CheckPatternPredicate6,
7878
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BITREV_MM),
7879
310
                  MVT::i32, 1, 0, 
7880
310
   0, 
7881
310
  27, 
7882
310
   OPC_CheckChild0Integer, 50|128,106, 
7883
310
   OPC_RecordChild1,
7884
310
   OPC_RecordChild2,
7885
310
   OPC_Scope, 9, 
7886
310
    OPC_CheckPatternPredicate, 13,
7887
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_W),
7888
310
                  MVT::i32, 2, 0, 1, 
7889
310
   9, 
7890
310
    OPC_CheckPatternPredicate, 14,
7891
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_W_MMR2),
7892
310
                  MVT::i32, 2, 0, 1, 
7893
310
   0, 
7894
310
  27, 
7895
310
   OPC_CheckChild0Integer, 48|128,106, 
7896
310
   OPC_RecordChild1,
7897
310
   OPC_RecordChild2,
7898
310
   OPC_Scope, 9, 
7899
310
    OPC_CheckPatternPredicate, 13,
7900
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_W),
7901
310
                  MVT::i32, 2, 0, 1, 
7902
310
   9, 
7903
310
    OPC_CheckPatternPredicate, 14,
7904
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_W_MMR2),
7905
310
                  MVT::i32, 2, 0, 1, 
7906
310
   0, 
7907
310
  27, 
7908
310
   OPC_CheckChild0Integer, 10|128,116, 
7909
310
   OPC_RecordChild1,
7910
310
   OPC_RecordChild2,
7911
310
   OPC_Scope, 9, 
7912
310
    OPC_CheckPatternPredicate, 13,
7913
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_W),
7914
310
                  MVT::i32, 2, 0, 1, 
7915
310
   9, 
7916
310
    OPC_CheckPatternPredicate, 14,
7917
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_W_MMR2),
7918
310
                  MVT::i32, 2, 0, 1, 
7919
310
   0, 
7920
310
  27, 
7921
310
   OPC_CheckChild0Integer, 8|128,116, 
7922
310
   OPC_RecordChild1,
7923
310
   OPC_RecordChild2,
7924
310
   OPC_Scope, 9, 
7925
310
    OPC_CheckPatternPredicate, 13,
7926
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_W),
7927
310
                  MVT::i32, 2, 0, 1, 
7928
310
   9, 
7929
310
    OPC_CheckPatternPredicate, 14,
7930
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_W_MMR2),
7931
310
                  MVT::i32, 2, 0, 1, 
7932
310
   0, 
7933
310
  55, 
7934
310
   OPC_CheckChild0Integer, 120|128,114, 
7935
310
   OPC_RecordChild1,
7936
310
   OPC_RecordChild2,
7937
310
   OPC_Scope, 29, 
7938
310
    OPC_MoveChild2,
7939
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7940
310
    OPC_CheckPredicate, 15,
7941
310
    OPC_MoveParent,
7942
310
    OPC_Scope, 9, 
7943
310
     OPC_CheckPatternPredicate1,
7944
310
     OPC_EmitConvertToTarget1,
7945
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_PH),
7946
310
                   MVT::v2i16, 2, 0, 2, 
7947
310
    9, 
7948
310
     OPC_CheckPatternPredicate6,
7949
310
     OPC_EmitConvertToTarget1,
7950
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_PH_MM),
7951
310
                   MVT::v2i16, 2, 0, 2, 
7952
310
    0, 
7953
310
   8, 
7954
310
    OPC_CheckPatternPredicate1,
7955
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_PH),
7956
310
                  MVT::v2i16, 2, 0, 1, 
7957
310
   8, 
7958
310
    OPC_CheckPatternPredicate6,
7959
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_PH_MM),
7960
310
                  MVT::v2i16, 2, 0, 1, 
7961
310
   0, 
7962
310
  50, 
7963
310
   OPC_CheckChild0Integer, 82|128,114, 
7964
310
   OPC_RecordChild1,
7965
310
   OPC_Scope, 27, 
7966
310
    OPC_MoveChild1,
7967
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7968
310
    OPC_CheckPredicate, 48,
7969
310
    OPC_MoveParent,
7970
310
    OPC_Scope, 8, 
7971
310
     OPC_CheckPatternPredicate1,
7972
310
     OPC_EmitConvertToTarget0,
7973
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_QB),
7974
310
                   MVT::v4i8, 1, 1, 
7975
310
    8, 
7976
310
     OPC_CheckPatternPredicate6,
7977
310
     OPC_EmitConvertToTarget0,
7978
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_QB_MM),
7979
310
                   MVT::v4i8, 1, 1, 
7980
310
    0, 
7981
310
   7, 
7982
310
    OPC_CheckPatternPredicate1,
7983
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_QB),
7984
310
                  MVT::v4i8, 1, 0, 
7985
310
   7, 
7986
310
    OPC_CheckPatternPredicate6,
7987
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_QB_MM),
7988
310
                  MVT::v4i8, 1, 0, 
7989
310
   0, 
7990
310
  50, 
7991
310
   OPC_CheckChild0Integer, 80|128,114, 
7992
310
   OPC_RecordChild1,
7993
310
   OPC_Scope, 27, 
7994
310
    OPC_MoveChild1,
7995
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
7996
310
    OPC_CheckPredicate, 54,
7997
310
    OPC_MoveParent,
7998
310
    OPC_Scope, 8, 
7999
310
     OPC_CheckPatternPredicate1,
8000
310
     OPC_EmitConvertToTarget0,
8001
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_PH),
8002
310
                   MVT::v2i16, 1, 1, 
8003
310
    8, 
8004
310
     OPC_CheckPatternPredicate6,
8005
310
     OPC_EmitConvertToTarget0,
8006
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPL_PH_MM),
8007
310
                   MVT::v2i16, 1, 1, 
8008
310
    0, 
8009
310
   7, 
8010
310
    OPC_CheckPatternPredicate1,
8011
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_PH),
8012
310
                  MVT::v2i16, 1, 0, 
8013
310
   7, 
8014
310
    OPC_CheckPatternPredicate6,
8015
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::REPLV_PH_MM),
8016
310
                  MVT::v2i16, 1, 0, 
8017
310
   0, 
8018
310
  36, 
8019
310
   OPC_CheckChild0Integer, 62|128,114, 
8020
310
   OPC_RecordChild1,
8021
310
   OPC_RecordChild2,
8022
310
   OPC_RecordChild3,
8023
310
   OPC_MoveChild3,
8024
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8025
310
   OPC_CheckPredicate3, 
8026
310
   OPC_MoveParent,
8027
310
   OPC_Scope, 10, 
8028
310
    OPC_CheckPatternPredicate, 13,
8029
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_PH_W),
8030
310
                  MVT::v2i16, 3, 1, 2, 0, 
8031
310
   10, 
8032
310
    OPC_CheckPatternPredicate, 14,
8033
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_PH_W_MMR2),
8034
310
                  MVT::v2i16, 3, 1, 2, 0, 
8035
310
   0, 
8036
310
  36, 
8037
310
   OPC_CheckChild0Integer, 64|128,114, 
8038
310
   OPC_RecordChild1,
8039
310
   OPC_RecordChild2,
8040
310
   OPC_RecordChild3,
8041
310
   OPC_MoveChild3,
8042
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8043
310
   OPC_CheckPredicate3, 
8044
310
   OPC_MoveParent,
8045
310
   OPC_Scope, 10, 
8046
310
    OPC_CheckPatternPredicate, 13,
8047
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_R_PH_W),
8048
310
                  MVT::v2i16, 3, 1, 2, 0, 
8049
310
   10, 
8050
310
    OPC_CheckPatternPredicate, 14,
8051
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECR_SRA_R_PH_W_MMR2),
8052
310
                  MVT::v2i16, 3, 1, 2, 0, 
8053
310
   0, 
8054
310
  59, 
8055
310
   OPC_CheckChild0Integer, 122|128,114, 
8056
310
   OPC_RecordChild1,
8057
310
   OPC_RecordChild2,
8058
310
   OPC_Scope, 31, 
8059
310
    OPC_MoveChild2,
8060
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8061
310
    OPC_CheckPredicate, 18,
8062
310
    OPC_MoveParent,
8063
310
    OPC_Scope, 10, 
8064
310
     OPC_CheckPatternPredicate, 13,
8065
310
     OPC_EmitConvertToTarget1,
8066
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_QB),
8067
310
                   MVT::v4i8, 2, 0, 2, 
8068
310
    10, 
8069
310
     OPC_CheckPatternPredicate, 14,
8070
310
     OPC_EmitConvertToTarget1,
8071
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_R_QB_MMR2),
8072
310
                   MVT::v4i8, 2, 0, 2, 
8073
310
    0, 
8074
310
   9, 
8075
310
    OPC_CheckPatternPredicate, 13,
8076
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_QB),
8077
310
                  MVT::v4i8, 2, 0, 1, 
8078
310
   9, 
8079
310
    OPC_CheckPatternPredicate, 14,
8080
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_R_QB_MMR2),
8081
310
                  MVT::v4i8, 2, 0, 1, 
8082
310
   0, 
8083
310
  42, 
8084
310
   OPC_CheckChild0Integer, 116|128,114, 
8085
310
   OPC_RecordChild1,
8086
310
   OPC_RecordChild2,
8087
310
   OPC_Scope, 16, 
8088
310
    OPC_MoveChild2,
8089
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8090
310
    OPC_CheckPredicate, 15,
8091
310
    OPC_MoveParent,
8092
310
    OPC_CheckPatternPredicate1,
8093
310
    OPC_EmitConvertToTarget1,
8094
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_PH),
8095
310
                  MVT::v2i16, 2, 0, 2, 
8096
310
   8, 
8097
310
    OPC_CheckPatternPredicate1,
8098
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_PH),
8099
310
                  MVT::v2i16, 2, 0, 1, 
8100
310
   8, 
8101
310
    OPC_CheckPatternPredicate6,
8102
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_PH_MM),
8103
310
                  MVT::v2i16, 2, 0, 1, 
8104
310
   0, 
8105
310
  45, 
8106
310
   OPC_CheckChild0Integer, 126|128,114, 
8107
310
   OPC_RecordChild1,
8108
310
   OPC_RecordChild2,
8109
310
   OPC_Scope, 17, 
8110
310
    OPC_MoveChild2,
8111
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8112
310
    OPC_CheckPredicate, 15,
8113
310
    OPC_MoveParent,
8114
310
    OPC_CheckPatternPredicate, 13,
8115
310
    OPC_EmitConvertToTarget1,
8116
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_PH),
8117
310
                  MVT::v2i16, 2, 0, 2, 
8118
310
   9, 
8119
310
    OPC_CheckPatternPredicate, 13,
8120
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_PH),
8121
310
                  MVT::v2i16, 2, 0, 1, 
8122
310
   9, 
8123
310
    OPC_CheckPatternPredicate, 14,
8124
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_PH_MMR2),
8125
310
                  MVT::v2i16, 2, 0, 1, 
8126
310
   0, 
8127
310
  45, 
8128
310
   OPC_CheckChild0Integer, 118|128,114, 
8129
310
   OPC_RecordChild1,
8130
310
   OPC_RecordChild2,
8131
310
   OPC_Scope, 17, 
8132
310
    OPC_MoveChild2,
8133
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8134
310
    OPC_CheckPredicate, 18,
8135
310
    OPC_MoveParent,
8136
310
    OPC_CheckPatternPredicate, 13,
8137
310
    OPC_EmitConvertToTarget1,
8138
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_QB),
8139
310
                  MVT::v4i8, 2, 0, 2, 
8140
310
   9, 
8141
310
    OPC_CheckPatternPredicate, 13,
8142
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_QB),
8143
310
                  MVT::v4i8, 2, 0, 1, 
8144
310
   9, 
8145
310
    OPC_CheckPatternPredicate, 14,
8146
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRAV_QB_MMR2),
8147
310
                  MVT::v4i8, 2, 0, 1, 
8148
310
   0, 
8149
310
  42, 
8150
310
   OPC_CheckChild0Integer, 0|128,115, 
8151
310
   OPC_RecordChild1,
8152
310
   OPC_RecordChild2,
8153
310
   OPC_Scope, 16, 
8154
310
    OPC_MoveChild2,
8155
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
8156
310
    OPC_CheckPredicate, 18,
8157
310
    OPC_MoveParent,
8158
310
    OPC_CheckPatternPredicate1,
8159
310
    OPC_EmitConvertToTarget1,
8160
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_QB),
8161
310
                  MVT::v4i8, 2, 0, 2, 
8162
310
   8, 
8163
310
    OPC_CheckPatternPredicate1,
8164
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_QB),
8165
310
                  MVT::v4i8, 2, 0, 1, 
8166
310
   8, 
8167
310
    OPC_CheckPatternPredicate6,
8168
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRLV_QB_MM),
8169
310
                  MVT::v4i8, 2, 0, 1, 
8170
310
   0, 
8171
310
  20, 
8172
310
   OPC_CheckChild0Integer, 84|128,114, 
8173
310
   OPC_RecordChild1,
8174
310
   OPC_RecordChild2,
8175
310
   OPC_MoveChild2,
8176
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8177
310
   OPC_CheckPredicate, 18,
8178
310
   OPC_MoveParent,
8179
310
   OPC_CheckPatternPredicate0,
8180
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_B),
8181
310
                 MVT::v16i8, 2, 0, 1, 
8182
310
  20, 
8183
310
   OPC_CheckChild0Integer, 88|128,114, 
8184
310
   OPC_RecordChild1,
8185
310
   OPC_RecordChild2,
8186
310
   OPC_MoveChild2,
8187
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8188
310
   OPC_CheckPredicate, 15,
8189
310
   OPC_MoveParent,
8190
310
   OPC_CheckPatternPredicate0,
8191
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_H),
8192
310
                 MVT::v8i16, 2, 0, 1, 
8193
310
  19, 
8194
310
   OPC_CheckChild0Integer, 90|128,114, 
8195
310
   OPC_RecordChild1,
8196
310
   OPC_RecordChild2,
8197
310
   OPC_MoveChild2,
8198
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8199
310
   OPC_CheckPredicate3, 
8200
310
   OPC_MoveParent,
8201
310
   OPC_CheckPatternPredicate0,
8202
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_W),
8203
310
                 MVT::v4i32, 2, 0, 1, 
8204
310
  20, 
8205
310
   OPC_CheckChild0Integer, 86|128,114, 
8206
310
   OPC_RecordChild1,
8207
310
   OPC_RecordChild2,
8208
310
   OPC_MoveChild2,
8209
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8210
310
   OPC_CheckPredicate, 17,
8211
310
   OPC_MoveParent,
8212
310
   OPC_CheckPatternPredicate0,
8213
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_S_D),
8214
310
                 MVT::v2i64, 2, 0, 1, 
8215
310
  20, 
8216
310
   OPC_CheckChild0Integer, 92|128,114, 
8217
310
   OPC_RecordChild1,
8218
310
   OPC_RecordChild2,
8219
310
   OPC_MoveChild2,
8220
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8221
310
   OPC_CheckPredicate, 18,
8222
310
   OPC_MoveParent,
8223
310
   OPC_CheckPatternPredicate0,
8224
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_B),
8225
310
                 MVT::v16i8, 2, 0, 1, 
8226
310
  20, 
8227
310
   OPC_CheckChild0Integer, 96|128,114, 
8228
310
   OPC_RecordChild1,
8229
310
   OPC_RecordChild2,
8230
310
   OPC_MoveChild2,
8231
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8232
310
   OPC_CheckPredicate, 15,
8233
310
   OPC_MoveParent,
8234
310
   OPC_CheckPatternPredicate0,
8235
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_H),
8236
310
                 MVT::v8i16, 2, 0, 1, 
8237
310
  19, 
8238
310
   OPC_CheckChild0Integer, 98|128,114, 
8239
310
   OPC_RecordChild1,
8240
310
   OPC_RecordChild2,
8241
310
   OPC_MoveChild2,
8242
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8243
310
   OPC_CheckPredicate3, 
8244
310
   OPC_MoveParent,
8245
310
   OPC_CheckPatternPredicate0,
8246
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_W),
8247
310
                 MVT::v4i32, 2, 0, 1, 
8248
310
  20, 
8249
310
   OPC_CheckChild0Integer, 94|128,114, 
8250
310
   OPC_RecordChild1,
8251
310
   OPC_RecordChild2,
8252
310
   OPC_MoveChild2,
8253
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8254
310
   OPC_CheckPredicate, 17,
8255
310
   OPC_MoveParent,
8256
310
   OPC_CheckPatternPredicate0,
8257
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SAT_U_D),
8258
310
                 MVT::v2i64, 2, 0, 1, 
8259
310
  22, 
8260
310
   OPC_CheckChild0Integer, 10|128,115, 
8261
310
   OPC_RecordChild1,
8262
310
   OPC_RecordChild2,
8263
310
   OPC_RecordChild3,
8264
310
   OPC_MoveChild3,
8265
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8266
310
   OPC_CheckPredicate, 15,
8267
310
   OPC_MoveParent,
8268
310
   OPC_CheckPatternPredicate0,
8269
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_B),
8270
310
                 MVT::v16i8, 3, 0, 1, 2, 
8271
310
  22, 
8272
310
   OPC_CheckChild0Integer, 14|128,115, 
8273
310
   OPC_RecordChild1,
8274
310
   OPC_RecordChild2,
8275
310
   OPC_RecordChild3,
8276
310
   OPC_MoveChild3,
8277
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8278
310
   OPC_CheckPredicate, 18,
8279
310
   OPC_MoveParent,
8280
310
   OPC_CheckPatternPredicate0,
8281
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_H),
8282
310
                 MVT::v8i16, 3, 0, 1, 2, 
8283
310
  22, 
8284
310
   OPC_CheckChild0Integer, 16|128,115, 
8285
310
   OPC_RecordChild1,
8286
310
   OPC_RecordChild2,
8287
310
   OPC_RecordChild3,
8288
310
   OPC_MoveChild3,
8289
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8290
310
   OPC_CheckPredicate, 22,
8291
310
   OPC_MoveParent,
8292
310
   OPC_CheckPatternPredicate0,
8293
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_W),
8294
310
                 MVT::v4i32, 3, 0, 1, 2, 
8295
310
  22, 
8296
310
   OPC_CheckChild0Integer, 12|128,115, 
8297
310
   OPC_RecordChild1,
8298
310
   OPC_RecordChild2,
8299
310
   OPC_RecordChild3,
8300
310
   OPC_MoveChild3,
8301
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8302
310
   OPC_CheckPredicate, 26,
8303
310
   OPC_MoveParent,
8304
310
   OPC_CheckPatternPredicate0,
8305
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLDI_D),
8306
310
                 MVT::v2i64, 3, 0, 1, 2, 
8307
310
  20, 
8308
310
   OPC_CheckChild0Integer, 74|128,115, 
8309
310
   OPC_RecordChild1,
8310
310
   OPC_RecordChild2,
8311
310
   OPC_MoveChild2,
8312
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8313
310
   OPC_CheckPredicate, 18,
8314
310
   OPC_MoveParent,
8315
310
   OPC_CheckPatternPredicate0,
8316
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_B),
8317
310
                 MVT::v16i8, 2, 0, 1, 
8318
310
  20, 
8319
310
   OPC_CheckChild0Integer, 78|128,115, 
8320
310
   OPC_RecordChild1,
8321
310
   OPC_RecordChild2,
8322
310
   OPC_MoveChild2,
8323
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8324
310
   OPC_CheckPredicate, 15,
8325
310
   OPC_MoveParent,
8326
310
   OPC_CheckPatternPredicate0,
8327
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_H),
8328
310
                 MVT::v8i16, 2, 0, 1, 
8329
310
  19, 
8330
310
   OPC_CheckChild0Integer, 80|128,115, 
8331
310
   OPC_RecordChild1,
8332
310
   OPC_RecordChild2,
8333
310
   OPC_MoveChild2,
8334
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8335
310
   OPC_CheckPredicate3, 
8336
310
   OPC_MoveParent,
8337
310
   OPC_CheckPatternPredicate0,
8338
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_W),
8339
310
                 MVT::v4i32, 2, 0, 1, 
8340
310
  20, 
8341
310
   OPC_CheckChild0Integer, 76|128,115, 
8342
310
   OPC_RecordChild1,
8343
310
   OPC_RecordChild2,
8344
310
   OPC_MoveChild2,
8345
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8346
310
   OPC_CheckPredicate, 17,
8347
310
   OPC_MoveParent,
8348
310
   OPC_CheckPatternPredicate0,
8349
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRARI_D),
8350
310
                 MVT::v2i64, 2, 0, 1, 
8351
310
  20, 
8352
310
   OPC_CheckChild0Integer, 106|128,115, 
8353
310
   OPC_RecordChild1,
8354
310
   OPC_RecordChild2,
8355
310
   OPC_MoveChild2,
8356
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8357
310
   OPC_CheckPredicate, 18,
8358
310
   OPC_MoveParent,
8359
310
   OPC_CheckPatternPredicate0,
8360
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_B),
8361
310
                 MVT::v16i8, 2, 0, 1, 
8362
310
  20, 
8363
310
   OPC_CheckChild0Integer, 110|128,115, 
8364
310
   OPC_RecordChild1,
8365
310
   OPC_RecordChild2,
8366
310
   OPC_MoveChild2,
8367
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8368
310
   OPC_CheckPredicate, 15,
8369
310
   OPC_MoveParent,
8370
310
   OPC_CheckPatternPredicate0,
8371
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_H),
8372
310
                 MVT::v8i16, 2, 0, 1, 
8373
310
  19, 
8374
310
   OPC_CheckChild0Integer, 112|128,115, 
8375
310
   OPC_RecordChild1,
8376
310
   OPC_RecordChild2,
8377
310
   OPC_MoveChild2,
8378
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8379
310
   OPC_CheckPredicate3, 
8380
310
   OPC_MoveParent,
8381
310
   OPC_CheckPatternPredicate0,
8382
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_W),
8383
310
                 MVT::v4i32, 2, 0, 1, 
8384
310
  20, 
8385
310
   OPC_CheckChild0Integer, 108|128,115, 
8386
310
   OPC_RecordChild1,
8387
310
   OPC_RecordChild2,
8388
310
   OPC_MoveChild2,
8389
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
8390
310
   OPC_CheckPredicate, 17,
8391
310
   OPC_MoveParent,
8392
310
   OPC_CheckPatternPredicate0,
8393
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLRI_D),
8394
310
                 MVT::v2i64, 2, 0, 1, 
8395
310
  25, 
8396
310
   OPC_CheckChild0Integer, 84|128,106, 
8397
310
   OPC_RecordChild1,
8398
310
   OPC_RecordChild2,
8399
310
   OPC_Scope, 8, 
8400
310
    OPC_CheckPatternPredicate1,
8401
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_S_QB),
8402
310
                  MVT::v4i8, 2, 0, 1, 
8403
310
   8, 
8404
310
    OPC_CheckPatternPredicate6,
8405
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_S_QB_MM),
8406
310
                  MVT::v4i8, 2, 0, 1, 
8407
310
   0, 
8408
310
  25, 
8409
310
   OPC_CheckChild0Integer, 50|128,116, 
8410
310
   OPC_RecordChild1,
8411
310
   OPC_RecordChild2,
8412
310
   OPC_Scope, 8, 
8413
310
    OPC_CheckPatternPredicate1,
8414
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_S_QB),
8415
310
                  MVT::v4i8, 2, 0, 1, 
8416
310
   8, 
8417
310
    OPC_CheckPatternPredicate6,
8418
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_S_QB_MM),
8419
310
                  MVT::v4i8, 2, 0, 1, 
8420
310
   0, 
8421
310
  25, 
8422
310
   OPC_CheckChild0Integer, 40|128,106, 
8423
310
   OPC_RecordChild1,
8424
310
   OPC_RecordChild2,
8425
310
   OPC_Scope, 8, 
8426
310
    OPC_CheckPatternPredicate1,
8427
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_S_PH),
8428
310
                  MVT::v2i16, 2, 0, 1, 
8429
310
   8, 
8430
310
    OPC_CheckPatternPredicate6,
8431
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_S_PH_MM),
8432
310
                  MVT::v2i16, 2, 0, 1, 
8433
310
   0, 
8434
310
  25, 
8435
310
   OPC_CheckChild0Integer, 0|128,116, 
8436
310
   OPC_RecordChild1,
8437
310
   OPC_RecordChild2,
8438
310
   OPC_Scope, 8, 
8439
310
    OPC_CheckPatternPredicate1,
8440
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_S_PH),
8441
310
                  MVT::v2i16, 2, 0, 1, 
8442
310
   8, 
8443
310
    OPC_CheckPatternPredicate6,
8444
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_S_PH_MM),
8445
310
                  MVT::v2i16, 2, 0, 1, 
8446
310
   0, 
8447
310
  25, 
8448
310
   OPC_CheckChild0Integer, 68|128,114, 
8449
310
   OPC_RecordChild1,
8450
310
   OPC_RecordChild2,
8451
310
   OPC_Scope, 8, 
8452
310
    OPC_CheckPatternPredicate1,
8453
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_QB_PH),
8454
310
                  MVT::v4i8, 2, 0, 1, 
8455
310
   8, 
8456
310
    OPC_CheckPatternPredicate6,
8457
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_QB_PH_MM),
8458
310
                  MVT::v4i8, 2, 0, 1, 
8459
310
   0, 
8460
310
  25, 
8461
310
   OPC_CheckChild0Integer, 66|128,114, 
8462
310
   OPC_RecordChild1,
8463
310
   OPC_RecordChild2,
8464
310
   OPC_Scope, 8, 
8465
310
    OPC_CheckPatternPredicate1,
8466
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_PH_W),
8467
310
                  MVT::v2i16, 2, 0, 1, 
8468
310
   8, 
8469
310
    OPC_CheckPatternPredicate6,
8470
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECRQ_PH_W_MM),
8471
310
                  MVT::v2i16, 2, 0, 1, 
8472
310
   0, 
8473
310
  22, 
8474
310
   OPC_CheckChild0Integer, 44|128,114, 
8475
310
   OPC_RecordChild1,
8476
310
   OPC_Scope, 7, 
8477
310
    OPC_CheckPatternPredicate1,
8478
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBL),
8479
310
                  MVT::v2i16, 1, 0, 
8480
310
   7, 
8481
310
    OPC_CheckPatternPredicate6,
8482
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBL_MM),
8483
310
                  MVT::v2i16, 1, 0, 
8484
310
   0, 
8485
310
  22, 
8486
310
   OPC_CheckChild0Integer, 48|128,114, 
8487
310
   OPC_RecordChild1,
8488
310
   OPC_Scope, 7, 
8489
310
    OPC_CheckPatternPredicate1,
8490
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBR),
8491
310
                  MVT::v2i16, 1, 0, 
8492
310
   7, 
8493
310
    OPC_CheckPatternPredicate6,
8494
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBR_MM),
8495
310
                  MVT::v2i16, 1, 0, 
8496
310
   0, 
8497
310
  22, 
8498
310
   OPC_CheckChild0Integer, 46|128,114, 
8499
310
   OPC_RecordChild1,
8500
310
   OPC_Scope, 7, 
8501
310
    OPC_CheckPatternPredicate1,
8502
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBLA),
8503
310
                  MVT::v2i16, 1, 0, 
8504
310
   7, 
8505
310
    OPC_CheckPatternPredicate6,
8506
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBLA_MM),
8507
310
                  MVT::v2i16, 1, 0, 
8508
310
   0, 
8509
310
  22, 
8510
310
   OPC_CheckChild0Integer, 50|128,114, 
8511
310
   OPC_RecordChild1,
8512
310
   OPC_Scope, 7, 
8513
310
    OPC_CheckPatternPredicate1,
8514
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBRA),
8515
310
                  MVT::v2i16, 1, 0, 
8516
310
   7, 
8517
310
    OPC_CheckPatternPredicate6,
8518
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEQU_PH_QBRA_MM),
8519
310
                  MVT::v2i16, 1, 0, 
8520
310
   0, 
8521
310
  22, 
8522
310
   OPC_CheckChild0Integer, 52|128,114, 
8523
310
   OPC_RecordChild1,
8524
310
   OPC_Scope, 7, 
8525
310
    OPC_CheckPatternPredicate1,
8526
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBL),
8527
310
                  MVT::v2i16, 1, 0, 
8528
310
   7, 
8529
310
    OPC_CheckPatternPredicate6,
8530
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBL_MM),
8531
310
                  MVT::v2i16, 1, 0, 
8532
310
   0, 
8533
310
  22, 
8534
310
   OPC_CheckChild0Integer, 56|128,114, 
8535
310
   OPC_RecordChild1,
8536
310
   OPC_Scope, 7, 
8537
310
    OPC_CheckPatternPredicate1,
8538
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBR),
8539
310
                  MVT::v2i16, 1, 0, 
8540
310
   7, 
8541
310
    OPC_CheckPatternPredicate6,
8542
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBR_MM),
8543
310
                  MVT::v2i16, 1, 0, 
8544
310
   0, 
8545
310
  22, 
8546
310
   OPC_CheckChild0Integer, 54|128,114, 
8547
310
   OPC_RecordChild1,
8548
310
   OPC_Scope, 7, 
8549
310
    OPC_CheckPatternPredicate1,
8550
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBLA),
8551
310
                  MVT::v2i16, 1, 0, 
8552
310
   7, 
8553
310
    OPC_CheckPatternPredicate6,
8554
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBLA_MM),
8555
310
                  MVT::v2i16, 1, 0, 
8556
310
   0, 
8557
310
  22, 
8558
310
   OPC_CheckChild0Integer, 58|128,114, 
8559
310
   OPC_RecordChild1,
8560
310
   OPC_Scope, 7, 
8561
310
    OPC_CheckPatternPredicate1,
8562
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBRA),
8563
310
                  MVT::v2i16, 1, 0, 
8564
310
   7, 
8565
310
    OPC_CheckPatternPredicate6,
8566
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PRECEU_PH_QBRA_MM),
8567
310
                  MVT::v2i16, 1, 0, 
8568
310
   0, 
8569
310
  25, 
8570
310
   OPC_CheckChild0Integer, 10|128,114, 
8571
310
   OPC_RecordChild1,
8572
310
   OPC_RecordChild2,
8573
310
   OPC_Scope, 8, 
8574
310
    OPC_CheckPatternPredicate1,
8575
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PACKRL_PH),
8576
310
                  MVT::v2i16, 2, 0, 1, 
8577
310
   8, 
8578
310
    OPC_CheckPatternPredicate6,
8579
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PACKRL_PH_MM),
8580
310
                  MVT::v2i16, 2, 0, 1, 
8581
310
   0, 
8582
310
  27, 
8583
310
   OPC_CheckChild0Integer, 86|128,106, 
8584
310
   OPC_RecordChild1,
8585
310
   OPC_RecordChild2,
8586
310
   OPC_Scope, 9, 
8587
310
    OPC_CheckPatternPredicate, 13,
8588
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_QB),
8589
310
                  MVT::v4i8, 2, 0, 1, 
8590
310
   9, 
8591
310
    OPC_CheckPatternPredicate, 14,
8592
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_QB_MMR2),
8593
310
                  MVT::v4i8, 2, 0, 1, 
8594
310
   0, 
8595
310
  27, 
8596
310
   OPC_CheckChild0Integer, 88|128,106, 
8597
310
   OPC_RecordChild1,
8598
310
   OPC_RecordChild2,
8599
310
   OPC_Scope, 9, 
8600
310
    OPC_CheckPatternPredicate, 13,
8601
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_R_QB),
8602
310
                  MVT::v4i8, 2, 0, 1, 
8603
310
   9, 
8604
310
    OPC_CheckPatternPredicate, 14,
8605
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDUH_R_QB_MMR2),
8606
310
                  MVT::v4i8, 2, 0, 1, 
8607
310
   0, 
8608
310
  27, 
8609
310
   OPC_CheckChild0Integer, 52|128,116, 
8610
310
   OPC_RecordChild1,
8611
310
   OPC_RecordChild2,
8612
310
   OPC_Scope, 9, 
8613
310
    OPC_CheckPatternPredicate, 13,
8614
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_QB),
8615
310
                  MVT::v4i8, 2, 0, 1, 
8616
310
   9, 
8617
310
    OPC_CheckPatternPredicate, 14,
8618
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_QB_MMR2),
8619
310
                  MVT::v4i8, 2, 0, 1, 
8620
310
   0, 
8621
310
  27, 
8622
310
   OPC_CheckChild0Integer, 54|128,116, 
8623
310
   OPC_RecordChild1,
8624
310
   OPC_RecordChild2,
8625
310
   OPC_Scope, 9, 
8626
310
    OPC_CheckPatternPredicate, 13,
8627
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_R_QB),
8628
310
                  MVT::v4i8, 2, 0, 1, 
8629
310
   9, 
8630
310
    OPC_CheckPatternPredicate, 14,
8631
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBUH_R_QB_MMR2),
8632
310
                  MVT::v4i8, 2, 0, 1, 
8633
310
   0, 
8634
310
  27, 
8635
310
   OPC_CheckChild0Integer, 44|128,106, 
8636
310
   OPC_RecordChild1,
8637
310
   OPC_RecordChild2,
8638
310
   OPC_Scope, 9, 
8639
310
    OPC_CheckPatternPredicate, 13,
8640
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_PH),
8641
310
                  MVT::v2i16, 2, 0, 1, 
8642
310
   9, 
8643
310
    OPC_CheckPatternPredicate, 14,
8644
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_PH_MMR2),
8645
310
                  MVT::v2i16, 2, 0, 1, 
8646
310
   0, 
8647
310
  27, 
8648
310
   OPC_CheckChild0Integer, 46|128,106, 
8649
310
   OPC_RecordChild1,
8650
310
   OPC_RecordChild2,
8651
310
   OPC_Scope, 9, 
8652
310
    OPC_CheckPatternPredicate, 13,
8653
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_PH),
8654
310
                  MVT::v2i16, 2, 0, 1, 
8655
310
   9, 
8656
310
    OPC_CheckPatternPredicate, 14,
8657
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQH_R_PH_MMR2),
8658
310
                  MVT::v2i16, 2, 0, 1, 
8659
310
   0, 
8660
310
  27, 
8661
310
   OPC_CheckChild0Integer, 4|128,116, 
8662
310
   OPC_RecordChild1,
8663
310
   OPC_RecordChild2,
8664
310
   OPC_Scope, 9, 
8665
310
    OPC_CheckPatternPredicate, 13,
8666
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_PH),
8667
310
                  MVT::v2i16, 2, 0, 1, 
8668
310
   9, 
8669
310
    OPC_CheckPatternPredicate, 14,
8670
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_PH_MMR2),
8671
310
                  MVT::v2i16, 2, 0, 1, 
8672
310
   0, 
8673
310
  27, 
8674
310
   OPC_CheckChild0Integer, 6|128,116, 
8675
310
   OPC_RecordChild1,
8676
310
   OPC_RecordChild2,
8677
310
   OPC_Scope, 9, 
8678
310
    OPC_CheckPatternPredicate, 13,
8679
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_PH),
8680
310
                  MVT::v2i16, 2, 0, 1, 
8681
310
   9, 
8682
310
    OPC_CheckPatternPredicate, 14,
8683
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQH_R_PH_MMR2),
8684
310
                  MVT::v2i16, 2, 0, 1, 
8685
310
   0, 
8686
310
  13, 
8687
310
   OPC_CheckChild0Integer, 38|128,106, 
8688
310
   OPC_RecordChild1,
8689
310
   OPC_RecordChild2,
8690
310
   OPC_CheckPatternPredicate1,
8691
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_PH),
8692
310
                 MVT::v2i16, 2, 0, 1, 
8693
310
  13, 
8694
310
   OPC_CheckChild0Integer, 126|128,115, 
8695
310
   OPC_RecordChild1,
8696
310
   OPC_RecordChild2,
8697
310
   OPC_CheckPatternPredicate1,
8698
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_PH),
8699
310
                 MVT::v2i16, 2, 0, 1, 
8700
310
  13, 
8701
310
   OPC_CheckChild0Integer, 80|128,106, 
8702
310
   OPC_RecordChild1,
8703
310
   OPC_RecordChild2,
8704
310
   OPC_CheckPatternPredicate1,
8705
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_QB),
8706
310
                 MVT::v4i8, 2, 0, 1, 
8707
310
  13, 
8708
310
   OPC_CheckChild0Integer, 46|128,116, 
8709
310
   OPC_RecordChild1,
8710
310
   OPC_RecordChild2,
8711
310
   OPC_CheckPatternPredicate1,
8712
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_QB),
8713
310
                 MVT::v4i8, 2, 0, 1, 
8714
310
  13, 
8715
310
   OPC_CheckChild0Integer, 30|128,106, 
8716
310
   OPC_RecordChild1,
8717
310
   OPC_RecordChild2,
8718
310
   OPC_CheckPatternPredicate0,
8719
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_B),
8720
310
                 MVT::v16i8, 2, 0, 1, 
8721
310
  13, 
8722
310
   OPC_CheckChild0Integer, 34|128,106, 
8723
310
   OPC_RecordChild1,
8724
310
   OPC_RecordChild2,
8725
310
   OPC_CheckPatternPredicate0,
8726
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_H),
8727
310
                 MVT::v8i16, 2, 0, 1, 
8728
310
  13, 
8729
310
   OPC_CheckChild0Integer, 36|128,106, 
8730
310
   OPC_RecordChild1,
8731
310
   OPC_RecordChild2,
8732
310
   OPC_CheckPatternPredicate0,
8733
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_W),
8734
310
                 MVT::v4i32, 2, 0, 1, 
8735
310
  13, 
8736
310
   OPC_CheckChild0Integer, 32|128,106, 
8737
310
   OPC_RecordChild1,
8738
310
   OPC_RecordChild2,
8739
310
   OPC_CheckPatternPredicate0,
8740
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADD_A_D),
8741
310
                 MVT::v2i64, 2, 0, 1, 
8742
310
  13, 
8743
310
   OPC_CheckChild0Integer, 52|128,106, 
8744
310
   OPC_RecordChild1,
8745
310
   OPC_RecordChild2,
8746
310
   OPC_CheckPatternPredicate0,
8747
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_B),
8748
310
                 MVT::v16i8, 2, 0, 1, 
8749
310
  13, 
8750
310
   OPC_CheckChild0Integer, 56|128,106, 
8751
310
   OPC_RecordChild1,
8752
310
   OPC_RecordChild2,
8753
310
   OPC_CheckPatternPredicate0,
8754
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_H),
8755
310
                 MVT::v8i16, 2, 0, 1, 
8756
310
  13, 
8757
310
   OPC_CheckChild0Integer, 58|128,106, 
8758
310
   OPC_RecordChild1,
8759
310
   OPC_RecordChild2,
8760
310
   OPC_CheckPatternPredicate0,
8761
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_W),
8762
310
                 MVT::v4i32, 2, 0, 1, 
8763
310
  13, 
8764
310
   OPC_CheckChild0Integer, 54|128,106, 
8765
310
   OPC_RecordChild1,
8766
310
   OPC_RecordChild2,
8767
310
   OPC_CheckPatternPredicate0,
8768
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_A_D),
8769
310
                 MVT::v2i64, 2, 0, 1, 
8770
310
  13, 
8771
310
   OPC_CheckChild0Integer, 60|128,106, 
8772
310
   OPC_RecordChild1,
8773
310
   OPC_RecordChild2,
8774
310
   OPC_CheckPatternPredicate0,
8775
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_B),
8776
310
                 MVT::v16i8, 2, 0, 1, 
8777
310
  13, 
8778
310
   OPC_CheckChild0Integer, 64|128,106, 
8779
310
   OPC_RecordChild1,
8780
310
   OPC_RecordChild2,
8781
310
   OPC_CheckPatternPredicate0,
8782
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_H),
8783
310
                 MVT::v8i16, 2, 0, 1, 
8784
310
  13, 
8785
310
   OPC_CheckChild0Integer, 66|128,106, 
8786
310
   OPC_RecordChild1,
8787
310
   OPC_RecordChild2,
8788
310
   OPC_CheckPatternPredicate0,
8789
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_W),
8790
310
                 MVT::v4i32, 2, 0, 1, 
8791
310
  13, 
8792
310
   OPC_CheckChild0Integer, 62|128,106, 
8793
310
   OPC_RecordChild1,
8794
310
   OPC_RecordChild2,
8795
310
   OPC_CheckPatternPredicate0,
8796
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_S_D),
8797
310
                 MVT::v2i64, 2, 0, 1, 
8798
310
  13, 
8799
310
   OPC_CheckChild0Integer, 68|128,106, 
8800
310
   OPC_RecordChild1,
8801
310
   OPC_RecordChild2,
8802
310
   OPC_CheckPatternPredicate0,
8803
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_B),
8804
310
                 MVT::v16i8, 2, 0, 1, 
8805
310
  13, 
8806
310
   OPC_CheckChild0Integer, 72|128,106, 
8807
310
   OPC_RecordChild1,
8808
310
   OPC_RecordChild2,
8809
310
   OPC_CheckPatternPredicate0,
8810
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_H),
8811
310
                 MVT::v8i16, 2, 0, 1, 
8812
310
  13, 
8813
310
   OPC_CheckChild0Integer, 74|128,106, 
8814
310
   OPC_RecordChild1,
8815
310
   OPC_RecordChild2,
8816
310
   OPC_CheckPatternPredicate0,
8817
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_W),
8818
310
                 MVT::v4i32, 2, 0, 1, 
8819
310
  13, 
8820
310
   OPC_CheckChild0Integer, 70|128,106, 
8821
310
   OPC_RecordChild1,
8822
310
   OPC_RecordChild2,
8823
310
   OPC_CheckPatternPredicate0,
8824
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDS_U_D),
8825
310
                 MVT::v2i64, 2, 0, 1, 
8826
310
  13, 
8827
310
   OPC_CheckChild0Integer, 114|128,106, 
8828
310
   OPC_RecordChild1,
8829
310
   OPC_RecordChild2,
8830
310
   OPC_CheckPatternPredicate0,
8831
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_B),
8832
310
                 MVT::v16i8, 2, 0, 1, 
8833
310
  13, 
8834
310
   OPC_CheckChild0Integer, 118|128,106, 
8835
310
   OPC_RecordChild1,
8836
310
   OPC_RecordChild2,
8837
310
   OPC_CheckPatternPredicate0,
8838
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_H),
8839
310
                 MVT::v8i16, 2, 0, 1, 
8840
310
  13, 
8841
310
   OPC_CheckChild0Integer, 120|128,106, 
8842
310
   OPC_RecordChild1,
8843
310
   OPC_RecordChild2,
8844
310
   OPC_CheckPatternPredicate0,
8845
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_W),
8846
310
                 MVT::v4i32, 2, 0, 1, 
8847
310
  13, 
8848
310
   OPC_CheckChild0Integer, 116|128,106, 
8849
310
   OPC_RecordChild1,
8850
310
   OPC_RecordChild2,
8851
310
   OPC_CheckPatternPredicate0,
8852
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_S_D),
8853
310
                 MVT::v2i64, 2, 0, 1, 
8854
310
  13, 
8855
310
   OPC_CheckChild0Integer, 122|128,106, 
8856
310
   OPC_RecordChild1,
8857
310
   OPC_RecordChild2,
8858
310
   OPC_CheckPatternPredicate0,
8859
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_B),
8860
310
                 MVT::v16i8, 2, 0, 1, 
8861
310
  13, 
8862
310
   OPC_CheckChild0Integer, 126|128,106, 
8863
310
   OPC_RecordChild1,
8864
310
   OPC_RecordChild2,
8865
310
   OPC_CheckPatternPredicate0,
8866
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_H),
8867
310
                 MVT::v8i16, 2, 0, 1, 
8868
310
  13, 
8869
310
   OPC_CheckChild0Integer, 0|128,107, 
8870
310
   OPC_RecordChild1,
8871
310
   OPC_RecordChild2,
8872
310
   OPC_CheckPatternPredicate0,
8873
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_W),
8874
310
                 MVT::v4i32, 2, 0, 1, 
8875
310
  13, 
8876
310
   OPC_CheckChild0Integer, 124|128,106, 
8877
310
   OPC_RecordChild1,
8878
310
   OPC_RecordChild2,
8879
310
   OPC_CheckPatternPredicate0,
8880
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ASUB_U_D),
8881
310
                 MVT::v2i64, 2, 0, 1, 
8882
310
  13, 
8883
310
   OPC_CheckChild0Integer, 2|128,107, 
8884
310
   OPC_RecordChild1,
8885
310
   OPC_RecordChild2,
8886
310
   OPC_CheckPatternPredicate0,
8887
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_B),
8888
310
                 MVT::v16i8, 2, 0, 1, 
8889
310
  13, 
8890
310
   OPC_CheckChild0Integer, 6|128,107, 
8891
310
   OPC_RecordChild1,
8892
310
   OPC_RecordChild2,
8893
310
   OPC_CheckPatternPredicate0,
8894
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_H),
8895
310
                 MVT::v8i16, 2, 0, 1, 
8896
310
  13, 
8897
310
   OPC_CheckChild0Integer, 8|128,107, 
8898
310
   OPC_RecordChild1,
8899
310
   OPC_RecordChild2,
8900
310
   OPC_CheckPatternPredicate0,
8901
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_W),
8902
310
                 MVT::v4i32, 2, 0, 1, 
8903
310
  13, 
8904
310
   OPC_CheckChild0Integer, 4|128,107, 
8905
310
   OPC_RecordChild1,
8906
310
   OPC_RecordChild2,
8907
310
   OPC_CheckPatternPredicate0,
8908
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_S_D),
8909
310
                 MVT::v2i64, 2, 0, 1, 
8910
310
  13, 
8911
310
   OPC_CheckChild0Integer, 10|128,107, 
8912
310
   OPC_RecordChild1,
8913
310
   OPC_RecordChild2,
8914
310
   OPC_CheckPatternPredicate0,
8915
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_B),
8916
310
                 MVT::v16i8, 2, 0, 1, 
8917
310
  13, 
8918
310
   OPC_CheckChild0Integer, 14|128,107, 
8919
310
   OPC_RecordChild1,
8920
310
   OPC_RecordChild2,
8921
310
   OPC_CheckPatternPredicate0,
8922
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_H),
8923
310
                 MVT::v8i16, 2, 0, 1, 
8924
310
  13, 
8925
310
   OPC_CheckChild0Integer, 16|128,107, 
8926
310
   OPC_RecordChild1,
8927
310
   OPC_RecordChild2,
8928
310
   OPC_CheckPatternPredicate0,
8929
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_W),
8930
310
                 MVT::v4i32, 2, 0, 1, 
8931
310
  13, 
8932
310
   OPC_CheckChild0Integer, 12|128,107, 
8933
310
   OPC_RecordChild1,
8934
310
   OPC_RecordChild2,
8935
310
   OPC_CheckPatternPredicate0,
8936
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVE_U_D),
8937
310
                 MVT::v2i64, 2, 0, 1, 
8938
310
  13, 
8939
310
   OPC_CheckChild0Integer, 18|128,107, 
8940
310
   OPC_RecordChild1,
8941
310
   OPC_RecordChild2,
8942
310
   OPC_CheckPatternPredicate0,
8943
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_B),
8944
310
                 MVT::v16i8, 2, 0, 1, 
8945
310
  13, 
8946
310
   OPC_CheckChild0Integer, 22|128,107, 
8947
310
   OPC_RecordChild1,
8948
310
   OPC_RecordChild2,
8949
310
   OPC_CheckPatternPredicate0,
8950
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_H),
8951
310
                 MVT::v8i16, 2, 0, 1, 
8952
310
  13, 
8953
310
   OPC_CheckChild0Integer, 24|128,107, 
8954
310
   OPC_RecordChild1,
8955
310
   OPC_RecordChild2,
8956
310
   OPC_CheckPatternPredicate0,
8957
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_W),
8958
310
                 MVT::v4i32, 2, 0, 1, 
8959
310
  13, 
8960
310
   OPC_CheckChild0Integer, 20|128,107, 
8961
310
   OPC_RecordChild1,
8962
310
   OPC_RecordChild2,
8963
310
   OPC_CheckPatternPredicate0,
8964
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_S_D),
8965
310
                 MVT::v2i64, 2, 0, 1, 
8966
310
  13, 
8967
310
   OPC_CheckChild0Integer, 26|128,107, 
8968
310
   OPC_RecordChild1,
8969
310
   OPC_RecordChild2,
8970
310
   OPC_CheckPatternPredicate0,
8971
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_B),
8972
310
                 MVT::v16i8, 2, 0, 1, 
8973
310
  13, 
8974
310
   OPC_CheckChild0Integer, 30|128,107, 
8975
310
   OPC_RecordChild1,
8976
310
   OPC_RecordChild2,
8977
310
   OPC_CheckPatternPredicate0,
8978
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_H),
8979
310
                 MVT::v8i16, 2, 0, 1, 
8980
310
  13, 
8981
310
   OPC_CheckChild0Integer, 32|128,107, 
8982
310
   OPC_RecordChild1,
8983
310
   OPC_RecordChild2,
8984
310
   OPC_CheckPatternPredicate0,
8985
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_W),
8986
310
                 MVT::v4i32, 2, 0, 1, 
8987
310
  13, 
8988
310
   OPC_CheckChild0Integer, 28|128,107, 
8989
310
   OPC_RecordChild1,
8990
310
   OPC_RecordChild2,
8991
310
   OPC_CheckPatternPredicate0,
8992
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AVER_U_D),
8993
310
                 MVT::v2i64, 2, 0, 1, 
8994
310
  15, 
8995
310
   OPC_CheckChild0Integer, 52|128,107, 
8996
310
   OPC_RecordChild1,
8997
310
   OPC_RecordChild2,
8998
310
   OPC_RecordChild3,
8999
310
   OPC_CheckPatternPredicate0,
9000
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_B),
9001
310
                 MVT::v16i8, 3, 0, 1, 2, 
9002
310
  15, 
9003
310
   OPC_CheckChild0Integer, 56|128,107, 
9004
310
   OPC_RecordChild1,
9005
310
   OPC_RecordChild2,
9006
310
   OPC_RecordChild3,
9007
310
   OPC_CheckPatternPredicate0,
9008
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_H),
9009
310
                 MVT::v8i16, 3, 0, 1, 2, 
9010
310
  15, 
9011
310
   OPC_CheckChild0Integer, 58|128,107, 
9012
310
   OPC_RecordChild1,
9013
310
   OPC_RecordChild2,
9014
310
   OPC_RecordChild3,
9015
310
   OPC_CheckPatternPredicate0,
9016
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_W),
9017
310
                 MVT::v4i32, 3, 0, 1, 2, 
9018
310
  15, 
9019
310
   OPC_CheckChild0Integer, 54|128,107, 
9020
310
   OPC_RecordChild1,
9021
310
   OPC_RecordChild2,
9022
310
   OPC_RecordChild3,
9023
310
   OPC_CheckPatternPredicate0,
9024
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSL_D),
9025
310
                 MVT::v2i64, 3, 0, 1, 2, 
9026
310
  15, 
9027
310
   OPC_CheckChild0Integer, 68|128,107, 
9028
310
   OPC_RecordChild1,
9029
310
   OPC_RecordChild2,
9030
310
   OPC_RecordChild3,
9031
310
   OPC_CheckPatternPredicate0,
9032
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_B),
9033
310
                 MVT::v16i8, 3, 0, 1, 2, 
9034
310
  15, 
9035
310
   OPC_CheckChild0Integer, 72|128,107, 
9036
310
   OPC_RecordChild1,
9037
310
   OPC_RecordChild2,
9038
310
   OPC_RecordChild3,
9039
310
   OPC_CheckPatternPredicate0,
9040
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_H),
9041
310
                 MVT::v8i16, 3, 0, 1, 2, 
9042
310
  15, 
9043
310
   OPC_CheckChild0Integer, 74|128,107, 
9044
310
   OPC_RecordChild1,
9045
310
   OPC_RecordChild2,
9046
310
   OPC_RecordChild3,
9047
310
   OPC_CheckPatternPredicate0,
9048
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_W),
9049
310
                 MVT::v4i32, 3, 0, 1, 2, 
9050
310
  15, 
9051
310
   OPC_CheckChild0Integer, 70|128,107, 
9052
310
   OPC_RecordChild1,
9053
310
   OPC_RecordChild2,
9054
310
   OPC_RecordChild3,
9055
310
   OPC_CheckPatternPredicate0,
9056
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSR_D),
9057
310
                 MVT::v2i64, 3, 0, 1, 2, 
9058
310
  13, 
9059
310
   OPC_CheckChild0Integer, 40|128,109, 
9060
310
   OPC_RecordChild1,
9061
310
   OPC_RecordChild2,
9062
310
   OPC_CheckPatternPredicate0,
9063
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_H),
9064
310
                 MVT::v8i16, 2, 0, 1, 
9065
310
  13, 
9066
310
   OPC_CheckChild0Integer, 42|128,109, 
9067
310
   OPC_RecordChild1,
9068
310
   OPC_RecordChild2,
9069
310
   OPC_CheckPatternPredicate0,
9070
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_W),
9071
310
                 MVT::v4i32, 2, 0, 1, 
9072
310
  13, 
9073
310
   OPC_CheckChild0Integer, 38|128,109, 
9074
310
   OPC_RecordChild1,
9075
310
   OPC_RecordChild2,
9076
310
   OPC_CheckPatternPredicate0,
9077
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_S_D),
9078
310
                 MVT::v2i64, 2, 0, 1, 
9079
310
  13, 
9080
310
   OPC_CheckChild0Integer, 46|128,109, 
9081
310
   OPC_RecordChild1,
9082
310
   OPC_RecordChild2,
9083
310
   OPC_CheckPatternPredicate0,
9084
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_H),
9085
310
                 MVT::v8i16, 2, 0, 1, 
9086
310
  13, 
9087
310
   OPC_CheckChild0Integer, 48|128,109, 
9088
310
   OPC_RecordChild1,
9089
310
   OPC_RecordChild2,
9090
310
   OPC_CheckPatternPredicate0,
9091
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_W),
9092
310
                 MVT::v4i32, 2, 0, 1, 
9093
310
  13, 
9094
310
   OPC_CheckChild0Integer, 44|128,109, 
9095
310
   OPC_RecordChild1,
9096
310
   OPC_RecordChild2,
9097
310
   OPC_CheckPatternPredicate0,
9098
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DOTP_U_D),
9099
310
                 MVT::v2i64, 2, 0, 1, 
9100
310
  15, 
9101
310
   OPC_CheckChild0Integer, 54|128,109, 
9102
310
   OPC_RecordChild1,
9103
310
   OPC_RecordChild2,
9104
310
   OPC_RecordChild3,
9105
310
   OPC_CheckPatternPredicate0,
9106
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_H),
9107
310
                 MVT::v8i16, 3, 0, 1, 2, 
9108
310
  15, 
9109
310
   OPC_CheckChild0Integer, 56|128,109, 
9110
310
   OPC_RecordChild1,
9111
310
   OPC_RecordChild2,
9112
310
   OPC_RecordChild3,
9113
310
   OPC_CheckPatternPredicate0,
9114
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_W),
9115
310
                 MVT::v4i32, 3, 0, 1, 2, 
9116
310
  15, 
9117
310
   OPC_CheckChild0Integer, 52|128,109, 
9118
310
   OPC_RecordChild1,
9119
310
   OPC_RecordChild2,
9120
310
   OPC_RecordChild3,
9121
310
   OPC_CheckPatternPredicate0,
9122
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_S_D),
9123
310
                 MVT::v2i64, 3, 0, 1, 2, 
9124
310
  15, 
9125
310
   OPC_CheckChild0Integer, 60|128,109, 
9126
310
   OPC_RecordChild1,
9127
310
   OPC_RecordChild2,
9128
310
   OPC_RecordChild3,
9129
310
   OPC_CheckPatternPredicate0,
9130
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_H),
9131
310
                 MVT::v8i16, 3, 0, 1, 2, 
9132
310
  15, 
9133
310
   OPC_CheckChild0Integer, 62|128,109, 
9134
310
   OPC_RecordChild1,
9135
310
   OPC_RecordChild2,
9136
310
   OPC_RecordChild3,
9137
310
   OPC_CheckPatternPredicate0,
9138
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_W),
9139
310
                 MVT::v4i32, 3, 0, 1, 2, 
9140
310
  15, 
9141
310
   OPC_CheckChild0Integer, 58|128,109, 
9142
310
   OPC_RecordChild1,
9143
310
   OPC_RecordChild2,
9144
310
   OPC_RecordChild3,
9145
310
   OPC_CheckPatternPredicate0,
9146
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPADD_U_D),
9147
310
                 MVT::v2i64, 3, 0, 1, 2, 
9148
310
  15, 
9149
310
   OPC_CheckChild0Integer, 94|128,109, 
9150
310
   OPC_RecordChild1,
9151
310
   OPC_RecordChild2,
9152
310
   OPC_RecordChild3,
9153
310
   OPC_CheckPatternPredicate0,
9154
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_H),
9155
310
                 MVT::v8i16, 3, 0, 1, 2, 
9156
310
  15, 
9157
310
   OPC_CheckChild0Integer, 96|128,109, 
9158
310
   OPC_RecordChild1,
9159
310
   OPC_RecordChild2,
9160
310
   OPC_RecordChild3,
9161
310
   OPC_CheckPatternPredicate0,
9162
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_W),
9163
310
                 MVT::v4i32, 3, 0, 1, 2, 
9164
310
  15, 
9165
310
   OPC_CheckChild0Integer, 92|128,109, 
9166
310
   OPC_RecordChild1,
9167
310
   OPC_RecordChild2,
9168
310
   OPC_RecordChild3,
9169
310
   OPC_CheckPatternPredicate0,
9170
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_S_D),
9171
310
                 MVT::v2i64, 3, 0, 1, 2, 
9172
310
  15, 
9173
310
   OPC_CheckChild0Integer, 100|128,109, 
9174
310
   OPC_RecordChild1,
9175
310
   OPC_RecordChild2,
9176
310
   OPC_RecordChild3,
9177
310
   OPC_CheckPatternPredicate0,
9178
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_H),
9179
310
                 MVT::v8i16, 3, 0, 1, 2, 
9180
310
  15, 
9181
310
   OPC_CheckChild0Integer, 102|128,109, 
9182
310
   OPC_RecordChild1,
9183
310
   OPC_RecordChild2,
9184
310
   OPC_RecordChild3,
9185
310
   OPC_CheckPatternPredicate0,
9186
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_W),
9187
310
                 MVT::v4i32, 3, 0, 1, 2, 
9188
310
  15, 
9189
310
   OPC_CheckChild0Integer, 98|128,109, 
9190
310
   OPC_RecordChild1,
9191
310
   OPC_RecordChild2,
9192
310
   OPC_RecordChild3,
9193
310
   OPC_CheckPatternPredicate0,
9194
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSUB_U_D),
9195
310
                 MVT::v2i64, 3, 0, 1, 2, 
9196
310
  13, 
9197
310
   OPC_CheckChild0Integer, 124|128,109, 
9198
310
   OPC_RecordChild1,
9199
310
   OPC_RecordChild2,
9200
310
   OPC_CheckPatternPredicate0,
9201
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCAF_W),
9202
310
                 MVT::v4i32, 2, 0, 1, 
9203
310
  13, 
9204
310
   OPC_CheckChild0Integer, 122|128,109, 
9205
310
   OPC_RecordChild1,
9206
310
   OPC_RecordChild2,
9207
310
   OPC_CheckPatternPredicate0,
9208
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCAF_D),
9209
310
                 MVT::v2i64, 2, 0, 1, 
9210
310
  11, 
9211
310
   OPC_CheckChild0Integer, 4|128,110, 
9212
310
   OPC_RecordChild1,
9213
310
   OPC_CheckPatternPredicate0,
9214
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLASS_W),
9215
310
                 MVT::v4i32, 1, 0, 
9216
310
  11, 
9217
310
   OPC_CheckChild0Integer, 2|128,110, 
9218
310
   OPC_RecordChild1,
9219
310
   OPC_CheckPatternPredicate0,
9220
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLASS_D),
9221
310
                 MVT::v2i64, 1, 0, 
9222
310
  13, 
9223
310
   OPC_CheckChild0Integer, 4|128,111, 
9224
310
   OPC_RecordChild1,
9225
310
   OPC_RecordChild2,
9226
310
   OPC_CheckPatternPredicate0,
9227
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSAF_W),
9228
310
                 MVT::v4i32, 2, 0, 1, 
9229
310
  13, 
9230
310
   OPC_CheckChild0Integer, 2|128,111, 
9231
310
   OPC_RecordChild1,
9232
310
   OPC_RecordChild2,
9233
310
   OPC_CheckPatternPredicate0,
9234
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSAF_D),
9235
310
                 MVT::v2i64, 2, 0, 1, 
9236
310
  13, 
9237
310
   OPC_CheckChild0Integer, 8|128,111, 
9238
310
   OPC_RecordChild1,
9239
310
   OPC_RecordChild2,
9240
310
   OPC_CheckPatternPredicate0,
9241
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSEQ_W),
9242
310
                 MVT::v4i32, 2, 0, 1, 
9243
310
  13, 
9244
310
   OPC_CheckChild0Integer, 6|128,111, 
9245
310
   OPC_RecordChild1,
9246
310
   OPC_RecordChild2,
9247
310
   OPC_CheckPatternPredicate0,
9248
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSEQ_D),
9249
310
                 MVT::v2i64, 2, 0, 1, 
9250
310
  13, 
9251
310
   OPC_CheckChild0Integer, 12|128,111, 
9252
310
   OPC_RecordChild1,
9253
310
   OPC_RecordChild2,
9254
310
   OPC_CheckPatternPredicate0,
9255
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLE_W),
9256
310
                 MVT::v4i32, 2, 0, 1, 
9257
310
  13, 
9258
310
   OPC_CheckChild0Integer, 10|128,111, 
9259
310
   OPC_RecordChild1,
9260
310
   OPC_RecordChild2,
9261
310
   OPC_CheckPatternPredicate0,
9262
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLE_D),
9263
310
                 MVT::v2i64, 2, 0, 1, 
9264
310
  13, 
9265
310
   OPC_CheckChild0Integer, 16|128,111, 
9266
310
   OPC_RecordChild1,
9267
310
   OPC_RecordChild2,
9268
310
   OPC_CheckPatternPredicate0,
9269
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLT_W),
9270
310
                 MVT::v4i32, 2, 0, 1, 
9271
310
  13, 
9272
310
   OPC_CheckChild0Integer, 14|128,111, 
9273
310
   OPC_RecordChild1,
9274
310
   OPC_RecordChild2,
9275
310
   OPC_CheckPatternPredicate0,
9276
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSLT_D),
9277
310
                 MVT::v2i64, 2, 0, 1, 
9278
310
  13, 
9279
310
   OPC_CheckChild0Integer, 20|128,111, 
9280
310
   OPC_RecordChild1,
9281
310
   OPC_RecordChild2,
9282
310
   OPC_CheckPatternPredicate0,
9283
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSNE_W),
9284
310
                 MVT::v4i32, 2, 0, 1, 
9285
310
  13, 
9286
310
   OPC_CheckChild0Integer, 18|128,111, 
9287
310
   OPC_RecordChild1,
9288
310
   OPC_RecordChild2,
9289
310
   OPC_CheckPatternPredicate0,
9290
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSNE_D),
9291
310
                 MVT::v2i64, 2, 0, 1, 
9292
310
  13, 
9293
310
   OPC_CheckChild0Integer, 24|128,111, 
9294
310
   OPC_RecordChild1,
9295
310
   OPC_RecordChild2,
9296
310
   OPC_CheckPatternPredicate0,
9297
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSOR_W),
9298
310
                 MVT::v4i32, 2, 0, 1, 
9299
310
  13, 
9300
310
   OPC_CheckChild0Integer, 22|128,111, 
9301
310
   OPC_RecordChild1,
9302
310
   OPC_RecordChild2,
9303
310
   OPC_CheckPatternPredicate0,
9304
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSOR_D),
9305
310
                 MVT::v2i64, 2, 0, 1, 
9306
310
  13, 
9307
310
   OPC_CheckChild0Integer, 36|128,111, 
9308
310
   OPC_RecordChild1,
9309
310
   OPC_RecordChild2,
9310
310
   OPC_CheckPatternPredicate0,
9311
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUEQ_W),
9312
310
                 MVT::v4i32, 2, 0, 1, 
9313
310
  13, 
9314
310
   OPC_CheckChild0Integer, 34|128,111, 
9315
310
   OPC_RecordChild1,
9316
310
   OPC_RecordChild2,
9317
310
   OPC_CheckPatternPredicate0,
9318
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUEQ_D),
9319
310
                 MVT::v2i64, 2, 0, 1, 
9320
310
  13, 
9321
310
   OPC_CheckChild0Integer, 40|128,111, 
9322
310
   OPC_RecordChild1,
9323
310
   OPC_RecordChild2,
9324
310
   OPC_CheckPatternPredicate0,
9325
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULE_W),
9326
310
                 MVT::v4i32, 2, 0, 1, 
9327
310
  13, 
9328
310
   OPC_CheckChild0Integer, 38|128,111, 
9329
310
   OPC_RecordChild1,
9330
310
   OPC_RecordChild2,
9331
310
   OPC_CheckPatternPredicate0,
9332
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULE_D),
9333
310
                 MVT::v2i64, 2, 0, 1, 
9334
310
  13, 
9335
310
   OPC_CheckChild0Integer, 44|128,111, 
9336
310
   OPC_RecordChild1,
9337
310
   OPC_RecordChild2,
9338
310
   OPC_CheckPatternPredicate0,
9339
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULT_W),
9340
310
                 MVT::v4i32, 2, 0, 1, 
9341
310
  13, 
9342
310
   OPC_CheckChild0Integer, 42|128,111, 
9343
310
   OPC_RecordChild1,
9344
310
   OPC_RecordChild2,
9345
310
   OPC_CheckPatternPredicate0,
9346
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSULT_D),
9347
310
                 MVT::v2i64, 2, 0, 1, 
9348
310
  13, 
9349
310
   OPC_CheckChild0Integer, 48|128,111, 
9350
310
   OPC_RecordChild1,
9351
310
   OPC_RecordChild2,
9352
310
   OPC_CheckPatternPredicate0,
9353
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUN_W),
9354
310
                 MVT::v4i32, 2, 0, 1, 
9355
310
  13, 
9356
310
   OPC_CheckChild0Integer, 46|128,111, 
9357
310
   OPC_RecordChild1,
9358
310
   OPC_RecordChild2,
9359
310
   OPC_CheckPatternPredicate0,
9360
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUN_D),
9361
310
                 MVT::v2i64, 2, 0, 1, 
9362
310
  13, 
9363
310
   OPC_CheckChild0Integer, 52|128,111, 
9364
310
   OPC_RecordChild1,
9365
310
   OPC_RecordChild2,
9366
310
   OPC_CheckPatternPredicate0,
9367
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUNE_W),
9368
310
                 MVT::v4i32, 2, 0, 1, 
9369
310
  13, 
9370
310
   OPC_CheckChild0Integer, 50|128,111, 
9371
310
   OPC_RecordChild1,
9372
310
   OPC_RecordChild2,
9373
310
   OPC_CheckPatternPredicate0,
9374
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUNE_D),
9375
310
                 MVT::v2i64, 2, 0, 1, 
9376
310
  11, 
9377
310
   OPC_CheckChild0Integer, 56|128,111, 
9378
310
   OPC_RecordChild1,
9379
310
   OPC_CheckPatternPredicate0,
9380
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_S_W),
9381
310
                 MVT::v4i32, 1, 0, 
9382
310
  11, 
9383
310
   OPC_CheckChild0Integer, 54|128,111, 
9384
310
   OPC_RecordChild1,
9385
310
   OPC_CheckPatternPredicate0,
9386
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_S_D),
9387
310
                 MVT::v2i64, 1, 0, 
9388
310
  11, 
9389
310
   OPC_CheckChild0Integer, 60|128,111, 
9390
310
   OPC_RecordChild1,
9391
310
   OPC_CheckPatternPredicate0,
9392
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_U_W),
9393
310
                 MVT::v4i32, 1, 0, 
9394
310
  11, 
9395
310
   OPC_CheckChild0Integer, 58|128,111, 
9396
310
   OPC_RecordChild1,
9397
310
   OPC_CheckPatternPredicate0,
9398
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTINT_U_D),
9399
310
                 MVT::v2i64, 1, 0, 
9400
310
  13, 
9401
310
   OPC_CheckChild0Integer, 62|128,111, 
9402
310
   OPC_RecordChild1,
9403
310
   OPC_RecordChild2,
9404
310
   OPC_CheckPatternPredicate0,
9405
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTQ_H),
9406
310
                 MVT::v8i16, 2, 0, 1, 
9407
310
  13, 
9408
310
   OPC_CheckChild0Integer, 64|128,111, 
9409
310
   OPC_RecordChild1,
9410
310
   OPC_RecordChild2,
9411
310
   OPC_CheckPatternPredicate0,
9412
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTQ_W),
9413
310
                 MVT::v4i32, 2, 0, 1, 
9414
310
  13, 
9415
310
   OPC_CheckChild0Integer, 76|128,111, 
9416
310
   OPC_RecordChild1,
9417
310
   OPC_RecordChild2,
9418
310
   OPC_CheckPatternPredicate0,
9419
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_H),
9420
310
                 MVT::v8i16, 2, 0, 1, 
9421
310
  13, 
9422
310
   OPC_CheckChild0Integer, 78|128,111, 
9423
310
   OPC_RecordChild1,
9424
310
   OPC_RecordChild2,
9425
310
   OPC_CheckPatternPredicate0,
9426
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_W),
9427
310
                 MVT::v4i32, 2, 0, 1, 
9428
310
  13, 
9429
310
   OPC_CheckChild0Integer, 74|128,111, 
9430
310
   OPC_RecordChild1,
9431
310
   OPC_RecordChild2,
9432
310
   OPC_CheckPatternPredicate0,
9433
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_S_D),
9434
310
                 MVT::v2i64, 2, 0, 1, 
9435
310
  13, 
9436
310
   OPC_CheckChild0Integer, 82|128,111, 
9437
310
   OPC_RecordChild1,
9438
310
   OPC_RecordChild2,
9439
310
   OPC_CheckPatternPredicate0,
9440
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_H),
9441
310
                 MVT::v8i16, 2, 0, 1, 
9442
310
  13, 
9443
310
   OPC_CheckChild0Integer, 84|128,111, 
9444
310
   OPC_RecordChild1,
9445
310
   OPC_RecordChild2,
9446
310
   OPC_CheckPatternPredicate0,
9447
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_W),
9448
310
                 MVT::v4i32, 2, 0, 1, 
9449
310
  13, 
9450
310
   OPC_CheckChild0Integer, 80|128,111, 
9451
310
   OPC_RecordChild1,
9452
310
   OPC_RecordChild2,
9453
310
   OPC_CheckPatternPredicate0,
9454
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HADD_U_D),
9455
310
                 MVT::v2i64, 2, 0, 1, 
9456
310
  13, 
9457
310
   OPC_CheckChild0Integer, 88|128,111, 
9458
310
   OPC_RecordChild1,
9459
310
   OPC_RecordChild2,
9460
310
   OPC_CheckPatternPredicate0,
9461
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_H),
9462
310
                 MVT::v8i16, 2, 0, 1, 
9463
310
  13, 
9464
310
   OPC_CheckChild0Integer, 90|128,111, 
9465
310
   OPC_RecordChild1,
9466
310
   OPC_RecordChild2,
9467
310
   OPC_CheckPatternPredicate0,
9468
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_W),
9469
310
                 MVT::v4i32, 2, 0, 1, 
9470
310
  13, 
9471
310
   OPC_CheckChild0Integer, 86|128,111, 
9472
310
   OPC_RecordChild1,
9473
310
   OPC_RecordChild2,
9474
310
   OPC_CheckPatternPredicate0,
9475
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_S_D),
9476
310
                 MVT::v2i64, 2, 0, 1, 
9477
310
  13, 
9478
310
   OPC_CheckChild0Integer, 94|128,111, 
9479
310
   OPC_RecordChild1,
9480
310
   OPC_RecordChild2,
9481
310
   OPC_CheckPatternPredicate0,
9482
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_H),
9483
310
                 MVT::v8i16, 2, 0, 1, 
9484
310
  13, 
9485
310
   OPC_CheckChild0Integer, 96|128,111, 
9486
310
   OPC_RecordChild1,
9487
310
   OPC_RecordChild2,
9488
310
   OPC_CheckPatternPredicate0,
9489
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_W),
9490
310
                 MVT::v4i32, 2, 0, 1, 
9491
310
  13, 
9492
310
   OPC_CheckChild0Integer, 92|128,111, 
9493
310
   OPC_RecordChild1,
9494
310
   OPC_RecordChild2,
9495
310
   OPC_CheckPatternPredicate0,
9496
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::HSUB_U_D),
9497
310
                 MVT::v2i64, 2, 0, 1, 
9498
310
  15, 
9499
310
   OPC_CheckChild0Integer, 50|128,112, 
9500
310
   OPC_RecordChild1,
9501
310
   OPC_RecordChild2,
9502
310
   OPC_RecordChild3,
9503
310
   OPC_CheckPatternPredicate0,
9504
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_Q_H),
9505
310
                 MVT::v8i16, 3, 0, 1, 2, 
9506
310
  15, 
9507
310
   OPC_CheckChild0Integer, 52|128,112, 
9508
310
   OPC_RecordChild1,
9509
310
   OPC_RecordChild2,
9510
310
   OPC_RecordChild3,
9511
310
   OPC_CheckPatternPredicate0,
9512
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_Q_W),
9513
310
                 MVT::v4i32, 3, 0, 1, 2, 
9514
310
  15, 
9515
310
   OPC_CheckChild0Integer, 54|128,112, 
9516
310
   OPC_RecordChild1,
9517
310
   OPC_RecordChild2,
9518
310
   OPC_RecordChild3,
9519
310
   OPC_CheckPatternPredicate0,
9520
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDR_Q_H),
9521
310
                 MVT::v8i16, 3, 0, 1, 2, 
9522
310
  15, 
9523
310
   OPC_CheckChild0Integer, 56|128,112, 
9524
310
   OPC_RecordChild1,
9525
310
   OPC_RecordChild2,
9526
310
   OPC_RecordChild3,
9527
310
   OPC_CheckPatternPredicate0,
9528
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDR_Q_W),
9529
310
                 MVT::v4i32, 3, 0, 1, 2, 
9530
310
  13, 
9531
310
   OPC_CheckChild0Integer, 76|128,112, 
9532
310
   OPC_RecordChild1,
9533
310
   OPC_RecordChild2,
9534
310
   OPC_CheckPatternPredicate0,
9535
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_B),
9536
310
                 MVT::v16i8, 2, 0, 1, 
9537
310
  13, 
9538
310
   OPC_CheckChild0Integer, 80|128,112, 
9539
310
   OPC_RecordChild1,
9540
310
   OPC_RecordChild2,
9541
310
   OPC_CheckPatternPredicate0,
9542
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_H),
9543
310
                 MVT::v8i16, 2, 0, 1, 
9544
310
  13, 
9545
310
   OPC_CheckChild0Integer, 82|128,112, 
9546
310
   OPC_RecordChild1,
9547
310
   OPC_RecordChild2,
9548
310
   OPC_CheckPatternPredicate0,
9549
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_W),
9550
310
                 MVT::v4i32, 2, 0, 1, 
9551
310
  13, 
9552
310
   OPC_CheckChild0Integer, 78|128,112, 
9553
310
   OPC_RecordChild1,
9554
310
   OPC_RecordChild2,
9555
310
   OPC_CheckPatternPredicate0,
9556
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_A_D),
9557
310
                 MVT::v2i64, 2, 0, 1, 
9558
310
  13, 
9559
310
   OPC_CheckChild0Integer, 116|128,112, 
9560
310
   OPC_RecordChild1,
9561
310
   OPC_RecordChild2,
9562
310
   OPC_CheckPatternPredicate0,
9563
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_B),
9564
310
                 MVT::v16i8, 2, 0, 1, 
9565
310
  13, 
9566
310
   OPC_CheckChild0Integer, 120|128,112, 
9567
310
   OPC_RecordChild1,
9568
310
   OPC_RecordChild2,
9569
310
   OPC_CheckPatternPredicate0,
9570
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_H),
9571
310
                 MVT::v8i16, 2, 0, 1, 
9572
310
  13, 
9573
310
   OPC_CheckChild0Integer, 122|128,112, 
9574
310
   OPC_RecordChild1,
9575
310
   OPC_RecordChild2,
9576
310
   OPC_CheckPatternPredicate0,
9577
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_W),
9578
310
                 MVT::v4i32, 2, 0, 1, 
9579
310
  13, 
9580
310
   OPC_CheckChild0Integer, 118|128,112, 
9581
310
   OPC_RecordChild1,
9582
310
   OPC_RecordChild2,
9583
310
   OPC_CheckPatternPredicate0,
9584
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_A_D),
9585
310
                 MVT::v2i64, 2, 0, 1, 
9586
310
  15, 
9587
310
   OPC_CheckChild0Integer, 50|128,113, 
9588
310
   OPC_RecordChild1,
9589
310
   OPC_RecordChild2,
9590
310
   OPC_RecordChild3,
9591
310
   OPC_CheckPatternPredicate0,
9592
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_Q_H),
9593
310
                 MVT::v8i16, 3, 0, 1, 2, 
9594
310
  15, 
9595
310
   OPC_CheckChild0Integer, 52|128,113, 
9596
310
   OPC_RecordChild1,
9597
310
   OPC_RecordChild2,
9598
310
   OPC_RecordChild3,
9599
310
   OPC_CheckPatternPredicate0,
9600
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_Q_W),
9601
310
                 MVT::v4i32, 3, 0, 1, 2, 
9602
310
  15, 
9603
310
   OPC_CheckChild0Integer, 54|128,113, 
9604
310
   OPC_RecordChild1,
9605
310
   OPC_RecordChild2,
9606
310
   OPC_RecordChild3,
9607
310
   OPC_CheckPatternPredicate0,
9608
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBR_Q_H),
9609
310
                 MVT::v8i16, 3, 0, 1, 2, 
9610
310
  15, 
9611
310
   OPC_CheckChild0Integer, 56|128,113, 
9612
310
   OPC_RecordChild1,
9613
310
   OPC_RecordChild2,
9614
310
   OPC_RecordChild3,
9615
310
   OPC_CheckPatternPredicate0,
9616
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBR_Q_W),
9617
310
                 MVT::v4i32, 3, 0, 1, 2, 
9618
310
  13, 
9619
310
   OPC_CheckChild0Integer, 72|128,113, 
9620
310
   OPC_RecordChild1,
9621
310
   OPC_RecordChild2,
9622
310
   OPC_CheckPatternPredicate0,
9623
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_Q_H),
9624
310
                 MVT::v8i16, 2, 0, 1, 
9625
310
  13, 
9626
310
   OPC_CheckChild0Integer, 74|128,113, 
9627
310
   OPC_RecordChild1,
9628
310
   OPC_RecordChild2,
9629
310
   OPC_CheckPatternPredicate0,
9630
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_Q_W),
9631
310
                 MVT::v4i32, 2, 0, 1, 
9632
310
  13, 
9633
310
   OPC_CheckChild0Integer, 94|128,113, 
9634
310
   OPC_RecordChild1,
9635
310
   OPC_RecordChild2,
9636
310
   OPC_CheckPatternPredicate0,
9637
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULR_Q_H),
9638
310
                 MVT::v8i16, 2, 0, 1, 
9639
310
  13, 
9640
310
   OPC_CheckChild0Integer, 96|128,113, 
9641
310
   OPC_RecordChild1,
9642
310
   OPC_RecordChild2,
9643
310
   OPC_CheckPatternPredicate0,
9644
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULR_Q_W),
9645
310
                 MVT::v4i32, 2, 0, 1, 
9646
310
  11, 
9647
310
   OPC_CheckChild0Integer, 114|128,113, 
9648
310
   OPC_RecordChild1,
9649
310
   OPC_CheckPatternPredicate0,
9650
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_B),
9651
310
                 MVT::v16i8, 1, 0, 
9652
310
  11, 
9653
310
   OPC_CheckChild0Integer, 118|128,113, 
9654
310
   OPC_RecordChild1,
9655
310
   OPC_CheckPatternPredicate0,
9656
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_H),
9657
310
                 MVT::v8i16, 1, 0, 
9658
310
  11, 
9659
310
   OPC_CheckChild0Integer, 120|128,113, 
9660
310
   OPC_RecordChild1,
9661
310
   OPC_CheckPatternPredicate0,
9662
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_W),
9663
310
                 MVT::v4i32, 1, 0, 
9664
310
  11, 
9665
310
   OPC_CheckChild0Integer, 116|128,113, 
9666
310
   OPC_RecordChild1,
9667
310
   OPC_CheckPatternPredicate0,
9668
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLOC_D),
9669
310
                 MVT::v2i64, 1, 0, 
9670
310
  15, 
9671
310
   OPC_CheckChild0Integer, 2|128,115, 
9672
310
   OPC_RecordChild1,
9673
310
   OPC_RecordChild2,
9674
310
   OPC_RecordChild3,
9675
310
   OPC_CheckPatternPredicate0,
9676
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_B),
9677
310
                 MVT::v16i8, 3, 0, 1, 2, 
9678
310
  15, 
9679
310
   OPC_CheckChild0Integer, 6|128,115, 
9680
310
   OPC_RecordChild1,
9681
310
   OPC_RecordChild2,
9682
310
   OPC_RecordChild3,
9683
310
   OPC_CheckPatternPredicate0,
9684
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_H),
9685
310
                 MVT::v8i16, 3, 0, 1, 2, 
9686
310
  15, 
9687
310
   OPC_CheckChild0Integer, 8|128,115, 
9688
310
   OPC_RecordChild1,
9689
310
   OPC_RecordChild2,
9690
310
   OPC_RecordChild3,
9691
310
   OPC_CheckPatternPredicate0,
9692
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_W),
9693
310
                 MVT::v4i32, 3, 0, 1, 2, 
9694
310
  15, 
9695
310
   OPC_CheckChild0Integer, 4|128,115, 
9696
310
   OPC_RecordChild1,
9697
310
   OPC_RecordChild2,
9698
310
   OPC_RecordChild3,
9699
310
   OPC_CheckPatternPredicate0,
9700
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLD_D),
9701
310
                 MVT::v2i64, 3, 0, 1, 2, 
9702
310
  13, 
9703
310
   OPC_CheckChild0Integer, 66|128,115, 
9704
310
   OPC_RecordChild1,
9705
310
   OPC_RecordChild2,
9706
310
   OPC_CheckPatternPredicate0,
9707
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_B),
9708
310
                 MVT::v16i8, 2, 0, 1, 
9709
310
  13, 
9710
310
   OPC_CheckChild0Integer, 70|128,115, 
9711
310
   OPC_RecordChild1,
9712
310
   OPC_RecordChild2,
9713
310
   OPC_CheckPatternPredicate0,
9714
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_H),
9715
310
                 MVT::v8i16, 2, 0, 1, 
9716
310
  13, 
9717
310
   OPC_CheckChild0Integer, 72|128,115, 
9718
310
   OPC_RecordChild1,
9719
310
   OPC_RecordChild2,
9720
310
   OPC_CheckPatternPredicate0,
9721
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_W),
9722
310
                 MVT::v4i32, 2, 0, 1, 
9723
310
  13, 
9724
310
   OPC_CheckChild0Integer, 68|128,115, 
9725
310
   OPC_RecordChild1,
9726
310
   OPC_RecordChild2,
9727
310
   OPC_CheckPatternPredicate0,
9728
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRAR_D),
9729
310
                 MVT::v2i64, 2, 0, 1, 
9730
310
  13, 
9731
310
   OPC_CheckChild0Integer, 98|128,115, 
9732
310
   OPC_RecordChild1,
9733
310
   OPC_RecordChild2,
9734
310
   OPC_CheckPatternPredicate0,
9735
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_B),
9736
310
                 MVT::v16i8, 2, 0, 1, 
9737
310
  13, 
9738
310
   OPC_CheckChild0Integer, 102|128,115, 
9739
310
   OPC_RecordChild1,
9740
310
   OPC_RecordChild2,
9741
310
   OPC_CheckPatternPredicate0,
9742
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_H),
9743
310
                 MVT::v8i16, 2, 0, 1, 
9744
310
  13, 
9745
310
   OPC_CheckChild0Integer, 104|128,115, 
9746
310
   OPC_RecordChild1,
9747
310
   OPC_RecordChild2,
9748
310
   OPC_CheckPatternPredicate0,
9749
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_W),
9750
310
                 MVT::v4i32, 2, 0, 1, 
9751
310
  13, 
9752
310
   OPC_CheckChild0Integer, 100|128,115, 
9753
310
   OPC_RecordChild1,
9754
310
   OPC_RecordChild2,
9755
310
   OPC_CheckPatternPredicate0,
9756
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRLR_D),
9757
310
                 MVT::v2i64, 2, 0, 1, 
9758
310
  13, 
9759
310
   OPC_CheckChild0Integer, 12|128,116, 
9760
310
   OPC_RecordChild1,
9761
310
   OPC_RecordChild2,
9762
310
   OPC_CheckPatternPredicate0,
9763
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_B),
9764
310
                 MVT::v16i8, 2, 0, 1, 
9765
310
  13, 
9766
310
   OPC_CheckChild0Integer, 16|128,116, 
9767
310
   OPC_RecordChild1,
9768
310
   OPC_RecordChild2,
9769
310
   OPC_CheckPatternPredicate0,
9770
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_H),
9771
310
                 MVT::v8i16, 2, 0, 1, 
9772
310
  13, 
9773
310
   OPC_CheckChild0Integer, 18|128,116, 
9774
310
   OPC_RecordChild1,
9775
310
   OPC_RecordChild2,
9776
310
   OPC_CheckPatternPredicate0,
9777
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_W),
9778
310
                 MVT::v4i32, 2, 0, 1, 
9779
310
  13, 
9780
310
   OPC_CheckChild0Integer, 14|128,116, 
9781
310
   OPC_RecordChild1,
9782
310
   OPC_RecordChild2,
9783
310
   OPC_CheckPatternPredicate0,
9784
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_S_D),
9785
310
                 MVT::v2i64, 2, 0, 1, 
9786
310
  13, 
9787
310
   OPC_CheckChild0Integer, 20|128,116, 
9788
310
   OPC_RecordChild1,
9789
310
   OPC_RecordChild2,
9790
310
   OPC_CheckPatternPredicate0,
9791
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_B),
9792
310
                 MVT::v16i8, 2, 0, 1, 
9793
310
  13, 
9794
310
   OPC_CheckChild0Integer, 24|128,116, 
9795
310
   OPC_RecordChild1,
9796
310
   OPC_RecordChild2,
9797
310
   OPC_CheckPatternPredicate0,
9798
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_H),
9799
310
                 MVT::v8i16, 2, 0, 1, 
9800
310
  13, 
9801
310
   OPC_CheckChild0Integer, 26|128,116, 
9802
310
   OPC_RecordChild1,
9803
310
   OPC_RecordChild2,
9804
310
   OPC_CheckPatternPredicate0,
9805
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_W),
9806
310
                 MVT::v4i32, 2, 0, 1, 
9807
310
  13, 
9808
310
   OPC_CheckChild0Integer, 22|128,116, 
9809
310
   OPC_RecordChild1,
9810
310
   OPC_RecordChild2,
9811
310
   OPC_CheckPatternPredicate0,
9812
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBS_U_D),
9813
310
                 MVT::v2i64, 2, 0, 1, 
9814
310
  13, 
9815
310
   OPC_CheckChild0Integer, 28|128,116, 
9816
310
   OPC_RecordChild1,
9817
310
   OPC_RecordChild2,
9818
310
   OPC_CheckPatternPredicate0,
9819
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_B),
9820
310
                 MVT::v16i8, 2, 0, 1, 
9821
310
  13, 
9822
310
   OPC_CheckChild0Integer, 32|128,116, 
9823
310
   OPC_RecordChild1,
9824
310
   OPC_RecordChild2,
9825
310
   OPC_CheckPatternPredicate0,
9826
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_H),
9827
310
                 MVT::v8i16, 2, 0, 1, 
9828
310
  13, 
9829
310
   OPC_CheckChild0Integer, 34|128,116, 
9830
310
   OPC_RecordChild1,
9831
310
   OPC_RecordChild2,
9832
310
   OPC_CheckPatternPredicate0,
9833
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_W),
9834
310
                 MVT::v4i32, 2, 0, 1, 
9835
310
  13, 
9836
310
   OPC_CheckChild0Integer, 30|128,116, 
9837
310
   OPC_RecordChild1,
9838
310
   OPC_RecordChild2,
9839
310
   OPC_CheckPatternPredicate0,
9840
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUS_U_D),
9841
310
                 MVT::v2i64, 2, 0, 1, 
9842
310
  13, 
9843
310
   OPC_CheckChild0Integer, 36|128,116, 
9844
310
   OPC_RecordChild1,
9845
310
   OPC_RecordChild2,
9846
310
   OPC_CheckPatternPredicate0,
9847
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_B),
9848
310
                 MVT::v16i8, 2, 0, 1, 
9849
310
  13, 
9850
310
   OPC_CheckChild0Integer, 40|128,116, 
9851
310
   OPC_RecordChild1,
9852
310
   OPC_RecordChild2,
9853
310
   OPC_CheckPatternPredicate0,
9854
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_H),
9855
310
                 MVT::v8i16, 2, 0, 1, 
9856
310
  13, 
9857
310
   OPC_CheckChild0Integer, 42|128,116, 
9858
310
   OPC_RecordChild1,
9859
310
   OPC_RecordChild2,
9860
310
   OPC_CheckPatternPredicate0,
9861
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_W),
9862
310
                 MVT::v4i32, 2, 0, 1, 
9863
310
  13, 
9864
310
   OPC_CheckChild0Integer, 38|128,116, 
9865
310
   OPC_RecordChild1,
9866
310
   OPC_RecordChild2,
9867
310
   OPC_CheckPatternPredicate0,
9868
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBSUU_S_D),
9869
310
                 MVT::v2i64, 2, 0, 1, 
9870
310
  13, 
9871
310
   OPC_CheckChild0Integer, 46|128,110, 
9872
310
   OPC_RecordChild1,
9873
310
   OPC_RecordChild2,
9874
310
   OPC_CheckPatternPredicate0,
9875
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXDO_H),
9876
310
                 MVT::v8f16, 2, 0, 1, 
9877
310
  13, 
9878
310
   OPC_CheckChild0Integer, 48|128,110, 
9879
310
   OPC_RecordChild1,
9880
310
   OPC_RecordChild2,
9881
310
   OPC_CheckPatternPredicate0,
9882
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXDO_W),
9883
310
                 MVT::v4f32, 2, 0, 1, 
9884
310
  11, 
9885
310
   OPC_CheckChild0Integer, 56|128,110, 
9886
310
   OPC_RecordChild1,
9887
310
   OPC_CheckPatternPredicate0,
9888
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPL_W),
9889
310
                 MVT::v4f32, 1, 0, 
9890
310
  11, 
9891
310
   OPC_CheckChild0Integer, 54|128,110, 
9892
310
   OPC_RecordChild1,
9893
310
   OPC_CheckPatternPredicate0,
9894
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPL_D),
9895
310
                 MVT::v2f64, 1, 0, 
9896
310
  11, 
9897
310
   OPC_CheckChild0Integer, 60|128,110, 
9898
310
   OPC_RecordChild1,
9899
310
   OPC_CheckPatternPredicate0,
9900
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPR_W),
9901
310
                 MVT::v4f32, 1, 0, 
9902
310
  11, 
9903
310
   OPC_CheckChild0Integer, 58|128,110, 
9904
310
   OPC_RecordChild1,
9905
310
   OPC_CheckPatternPredicate0,
9906
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXUPR_D),
9907
310
                 MVT::v2f64, 1, 0, 
9908
310
  11, 
9909
310
   OPC_CheckChild0Integer, 72|128,110, 
9910
310
   OPC_RecordChild1,
9911
310
   OPC_CheckPatternPredicate0,
9912
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQL_W),
9913
310
                 MVT::v4f32, 1, 0, 
9914
310
  11, 
9915
310
   OPC_CheckChild0Integer, 70|128,110, 
9916
310
   OPC_RecordChild1,
9917
310
   OPC_CheckPatternPredicate0,
9918
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQL_D),
9919
310
                 MVT::v2f64, 1, 0, 
9920
310
  11, 
9921
310
   OPC_CheckChild0Integer, 76|128,110, 
9922
310
   OPC_RecordChild1,
9923
310
   OPC_CheckPatternPredicate0,
9924
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQR_W),
9925
310
                 MVT::v4f32, 1, 0, 
9926
310
  11, 
9927
310
   OPC_CheckChild0Integer, 74|128,110, 
9928
310
   OPC_RecordChild1,
9929
310
   OPC_CheckPatternPredicate0,
9930
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFQR_D),
9931
310
                 MVT::v2f64, 1, 0, 
9932
310
  13, 
9933
310
   OPC_CheckChild0Integer, 100|128,110, 
9934
310
   OPC_RecordChild1,
9935
310
   OPC_RecordChild2,
9936
310
   OPC_CheckPatternPredicate0,
9937
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_W),
9938
310
                 MVT::v4f32, 2, 0, 1, 
9939
310
  13, 
9940
310
   OPC_CheckChild0Integer, 98|128,110, 
9941
310
   OPC_RecordChild1,
9942
310
   OPC_RecordChild2,
9943
310
   OPC_CheckPatternPredicate0,
9944
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_D),
9945
310
                 MVT::v2f64, 2, 0, 1, 
9946
310
  13, 
9947
310
   OPC_CheckChild0Integer, 96|128,110, 
9948
310
   OPC_RecordChild1,
9949
310
   OPC_RecordChild2,
9950
310
   OPC_CheckPatternPredicate0,
9951
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_A_W),
9952
310
                 MVT::v4f32, 2, 0, 1, 
9953
310
  13, 
9954
310
   OPC_CheckChild0Integer, 94|128,110, 
9955
310
   OPC_RecordChild1,
9956
310
   OPC_RecordChild2,
9957
310
   OPC_CheckPatternPredicate0,
9958
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMAX_A_D),
9959
310
                 MVT::v2f64, 2, 0, 1, 
9960
310
  13, 
9961
310
   OPC_CheckChild0Integer, 108|128,110, 
9962
310
   OPC_RecordChild1,
9963
310
   OPC_RecordChild2,
9964
310
   OPC_CheckPatternPredicate0,
9965
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_W),
9966
310
                 MVT::v4f32, 2, 0, 1, 
9967
310
  13, 
9968
310
   OPC_CheckChild0Integer, 106|128,110, 
9969
310
   OPC_RecordChild1,
9970
310
   OPC_RecordChild2,
9971
310
   OPC_CheckPatternPredicate0,
9972
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_D),
9973
310
                 MVT::v2f64, 2, 0, 1, 
9974
310
  13, 
9975
310
   OPC_CheckChild0Integer, 104|128,110, 
9976
310
   OPC_RecordChild1,
9977
310
   OPC_RecordChild2,
9978
310
   OPC_CheckPatternPredicate0,
9979
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_A_W),
9980
310
                 MVT::v4f32, 2, 0, 1, 
9981
310
  13, 
9982
310
   OPC_CheckChild0Integer, 102|128,110, 
9983
310
   OPC_RecordChild1,
9984
310
   OPC_RecordChild2,
9985
310
   OPC_CheckPatternPredicate0,
9986
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMIN_A_D),
9987
310
                 MVT::v2f64, 2, 0, 1, 
9988
310
  11, 
9989
310
   OPC_CheckChild0Integer, 120|128,110, 
9990
310
   OPC_RecordChild1,
9991
310
   OPC_CheckPatternPredicate0,
9992
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRCP_W),
9993
310
                 MVT::v4f32, 1, 0, 
9994
310
  11, 
9995
310
   OPC_CheckChild0Integer, 118|128,110, 
9996
310
   OPC_RecordChild1,
9997
310
   OPC_CheckPatternPredicate0,
9998
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRCP_D),
9999
310
                 MVT::v2f64, 1, 0, 
10000
310
  11, 
10001
310
   OPC_CheckChild0Integer, 0|128,111, 
10002
310
   OPC_RecordChild1,
10003
310
   OPC_CheckPatternPredicate0,
10004
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRSQRT_W),
10005
310
                 MVT::v4f32, 1, 0, 
10006
310
  11, 
10007
310
   OPC_CheckChild0Integer, 126|128,110, 
10008
310
   OPC_RecordChild1,
10009
310
   OPC_CheckPatternPredicate0,
10010
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRSQRT_D),
10011
310
                 MVT::v2f64, 1, 0, 
10012
310
  0, 
10013
310
 102|128,1, TARGET_VAL(ISD::INTRINSIC_VOID),
10014
310
  OPC_RecordNode,
10015
310
  OPC_Scope, 36, 
10016
310
   OPC_CheckChild1Integer, 80|128,116, 
10017
310
   OPC_RecordChild2,
10018
310
   OPC_RecordChild3,
10019
310
   OPC_MoveChild3,
10020
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
10021
310
   OPC_Scope, 12, 
10022
310
    OPC_CheckPredicate, 41,
10023
310
    OPC_MoveParent,
10024
310
    OPC_CheckPatternPredicate, 107,
10025
310
    OPC_EmitMergeInputChains1_0,
10026
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::WRDSP),
10027
310
                  2, 1, 2, 
10028
310
   11, 
10029
310
    OPC_CheckPredicate, 45,
10030
310
    OPC_MoveParent,
10031
310
    OPC_CheckPatternPredicate6,
10032
310
    OPC_EmitMergeInputChains1_0,
10033
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::WRDSP_MM),
10034
310
                  2, 1, 2, 
10035
310
   0, 
10036
310
  25, 
10037
310
   OPC_CheckChild1Integer, 124|128,108, 
10038
310
   OPC_RecordChild2,
10039
310
   OPC_RecordChild3,
10040
310
   OPC_Scope, 8, 
10041
310
    OPC_CheckPatternPredicate1,
10042
310
    OPC_EmitMergeInputChains1_0,
10043
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_EQ_QB),
10044
310
                  2, 1, 2, 
10045
310
   8, 
10046
310
    OPC_CheckPatternPredicate6,
10047
310
    OPC_EmitMergeInputChains1_0,
10048
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_EQ_QB_MM),
10049
310
                  2, 1, 2, 
10050
310
   0, 
10051
310
  25, 
10052
310
   OPC_CheckChild1Integer, 0|128,109, 
10053
310
   OPC_RecordChild2,
10054
310
   OPC_RecordChild3,
10055
310
   OPC_Scope, 8, 
10056
310
    OPC_CheckPatternPredicate1,
10057
310
    OPC_EmitMergeInputChains1_0,
10058
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LT_QB),
10059
310
                  2, 1, 2, 
10060
310
   8, 
10061
310
    OPC_CheckPatternPredicate6,
10062
310
    OPC_EmitMergeInputChains1_0,
10063
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LT_QB_MM),
10064
310
                  2, 1, 2, 
10065
310
   0, 
10066
310
  25, 
10067
310
   OPC_CheckChild1Integer, 126|128,108, 
10068
310
   OPC_RecordChild2,
10069
310
   OPC_RecordChild3,
10070
310
   OPC_Scope, 8, 
10071
310
    OPC_CheckPatternPredicate1,
10072
310
    OPC_EmitMergeInputChains1_0,
10073
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LE_QB),
10074
310
                  2, 1, 2, 
10075
310
   8, 
10076
310
    OPC_CheckPatternPredicate6,
10077
310
    OPC_EmitMergeInputChains1_0,
10078
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMPU_LE_QB_MM),
10079
310
                  2, 1, 2, 
10080
310
   0, 
10081
310
  25, 
10082
310
   OPC_CheckChild1Integer, 106|128,108, 
10083
310
   OPC_RecordChild2,
10084
310
   OPC_RecordChild3,
10085
310
   OPC_Scope, 8, 
10086
310
    OPC_CheckPatternPredicate1,
10087
310
    OPC_EmitMergeInputChains1_0,
10088
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_EQ_PH),
10089
310
                  2, 1, 2, 
10090
310
   8, 
10091
310
    OPC_CheckPatternPredicate6,
10092
310
    OPC_EmitMergeInputChains1_0,
10093
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_EQ_PH_MM),
10094
310
                  2, 1, 2, 
10095
310
   0, 
10096
310
  25, 
10097
310
   OPC_CheckChild1Integer, 110|128,108, 
10098
310
   OPC_RecordChild2,
10099
310
   OPC_RecordChild3,
10100
310
   OPC_Scope, 8, 
10101
310
    OPC_CheckPatternPredicate1,
10102
310
    OPC_EmitMergeInputChains1_0,
10103
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LT_PH),
10104
310
                  2, 1, 2, 
10105
310
   8, 
10106
310
    OPC_CheckPatternPredicate6,
10107
310
    OPC_EmitMergeInputChains1_0,
10108
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LT_PH_MM),
10109
310
                  2, 1, 2, 
10110
310
   0, 
10111
310
  25, 
10112
310
   OPC_CheckChild1Integer, 108|128,108, 
10113
310
   OPC_RecordChild2,
10114
310
   OPC_RecordChild3,
10115
310
   OPC_Scope, 8, 
10116
310
    OPC_CheckPatternPredicate1,
10117
310
    OPC_EmitMergeInputChains1_0,
10118
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LE_PH),
10119
310
                  2, 1, 2, 
10120
310
   8, 
10121
310
    OPC_CheckPatternPredicate6,
10122
310
    OPC_EmitMergeInputChains1_0,
10123
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::CMP_LE_PH_MM),
10124
310
                  2, 1, 2, 
10125
310
   0, 
10126
310
  16, 
10127
310
   OPC_CheckChild1Integer, 122|128,115, 
10128
310
   OPC_RecordChild2,
10129
310
   OPC_RecordChild3,
10130
310
   OPC_RecordChild4,
10131
310
   OPC_CheckPatternPredicate, 10,
10132
310
   OPC_EmitMergeInputChains1_0,
10133
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::STR_D),
10134
310
                 3, 1, 2, 3, 
10135
310
  16, 
10136
310
   OPC_CheckChild1Integer, 124|128,115, 
10137
310
   OPC_RecordChild2,
10138
310
   OPC_RecordChild3,
10139
310
   OPC_RecordChild4,
10140
310
   OPC_CheckPatternPredicate, 10,
10141
310
   OPC_EmitMergeInputChains1_0,
10142
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::STR_W),
10143
310
                 3, 1, 2, 3, 
10144
310
  0, 
10145
310
 92|128,14, TARGET_VAL(ISD::XOR),
10146
310
  OPC_Scope, 54, 
10147
310
   OPC_MoveChild0,
10148
310
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
10149
310
   OPC_RecordChild0,
10150
310
   OPC_RecordChild1,
10151
310
   OPC_MoveParent,
10152
310
   OPC_CheckChild1Integer, 3, 
10153
310
   OPC_SwitchType , 30, MVT::i32,
10154
310
    OPC_Scope, 8, 
10155
310
     OPC_CheckPatternPredicate2,
10156
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
10157
310
                   MVT::i32, 2, 0, 1, 
10158
310
    9, 
10159
310
     OPC_CheckPatternPredicate, 8,
10160
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MM),
10161
310
                   MVT::i32, 2, 0, 1, 
10162
310
    8, 
10163
310
     OPC_CheckPatternPredicate7,
10164
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
10165
310
                   MVT::i32, 2, 0, 1, 
10166
310
    0, 
10167
310
   9, MVT::i64,
10168
310
    OPC_CheckPatternPredicate, 18,
10169
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR64),
10170
310
                  MVT::i64, 2, 0, 1, 
10171
310
   0,
10172
310
  114|128,3, 
10173
310
   OPC_RecordChild0,
10174
310
   OPC_Scope, 83, 
10175
310
    OPC_CheckChild1Integer, 3, 
10176
310
    OPC_CheckTypeI32,
10177
310
    OPC_Scope, 7, 
10178
310
     OPC_CheckPatternPredicate7,
10179
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MMR6),
10180
310
                   MVT::i32, 1, 0, 
10181
310
    10, 
10182
310
     OPC_CheckPatternPredicate2,
10183
310
     OPC_EmitRegisterI32, Mips::ZERO,
10184
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
10185
310
                   MVT::i32, 2, 0, 1, 
10186
310
    7, 
10187
310
     OPC_CheckPatternPredicate5,
10188
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NotRxRy16),
10189
310
                   MVT::i32, 1, 0, 
10190
310
    8, 
10191
310
     OPC_CheckPatternPredicate, 8,
10192
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MM),
10193
310
                   MVT::i32, 1, 0, 
10194
310
    20, 
10195
310
     OPC_CheckPatternPredicate4,
10196
310
     OPC_Scope, 6, 
10197
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MM),
10198
310
                    MVT::i32, 1, 0, 
10199
310
     9, 
10200
310
      OPC_EmitRegisterI32, Mips::ZERO,
10201
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MM),
10202
310
                    MVT::i32, 2, 0, 1, 
10203
310
     0, 
10204
310
    20, 
10205
310
     OPC_CheckPatternPredicate7,
10206
310
     OPC_Scope, 6, 
10207
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOT16_MMR6),
10208
310
                    MVT::i32, 1, 0, 
10209
310
     9, 
10210
310
      OPC_EmitRegisterI32, Mips::ZERO,
10211
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
10212
310
                    MVT::i32, 2, 0, 1, 
10213
310
     0, 
10214
310
    0, 
10215
310
   11|128,1, 
10216
310
    OPC_RecordChild1,
10217
310
    OPC_Scope, 72, 
10218
310
     OPC_MoveChild1,
10219
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10220
310
     OPC_Scope, 13, 
10221
310
      OPC_CheckPredicate, 36,
10222
310
      OPC_MoveParent,
10223
310
      OPC_CheckTypeI32,
10224
310
      OPC_CheckPatternPredicate2,
10225
310
      OPC_EmitConvertToTarget1,
10226
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
10227
310
                    MVT::i32, 2, 0, 2, 
10228
310
     51, 
10229
310
      OPC_CheckPredicate, 13,
10230
310
      OPC_MoveParent,
10231
310
      OPC_SwitchType , 13, MVT::i64,
10232
310
       OPC_CheckPatternPredicate, 18,
10233
310
       OPC_EmitConvertToTarget1,
10234
310
       OPC_EmitNodeXForm, 3, 2,
10235
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi64),
10236
310
                     MVT::i64, 2, 0, 3, 
10237
310
      29, MVT::i32,
10238
310
       OPC_Scope, 13, 
10239
310
        OPC_CheckPatternPredicate, 8,
10240
310
        OPC_EmitConvertToTarget1,
10241
310
        OPC_EmitNodeXForm, 3, 2,
10242
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
10243
310
                      MVT::i32, 2, 0, 3, 
10244
310
       12, 
10245
310
        OPC_CheckPatternPredicate7,
10246
310
        OPC_EmitConvertToTarget1,
10247
310
        OPC_EmitNodeXForm, 3, 2,
10248
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_MMR6),
10249
310
                      MVT::i32, 2, 0, 3, 
10250
310
       0, 
10251
310
      0,
10252
310
     0, 
10253
310
    51, 
10254
310
     OPC_CheckTypeI32,
10255
310
     OPC_Scope, 8, 
10256
310
      OPC_CheckPatternPredicate2,
10257
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR),
10258
310
                    MVT::i32, 2, 0, 1, 
10259
310
     8, 
10260
310
      OPC_CheckPatternPredicate5,
10261
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
10262
310
                    MVT::i32, 2, 0, 1, 
10263
310
     20, 
10264
310
      OPC_CheckPatternPredicate, 8,
10265
310
      OPC_Scope, 7, 
10266
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR16_MM),
10267
310
                     MVT::i32, 2, 0, 1, 
10268
310
      7, 
10269
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_MM),
10270
310
                     MVT::i32, 2, 0, 1, 
10271
310
      0, 
10272
310
     8, 
10273
310
      OPC_CheckPatternPredicate7,
10274
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_MMR6),
10275
310
                    MVT::i32, 2, 0, 1, 
10276
310
     0, 
10277
310
    10, 
10278
310
     OPC_CheckTypeI64,
10279
310
     OPC_CheckPatternPredicate, 18,
10280
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR64),
10281
310
                   MVT::i64, 2, 0, 1, 
10282
310
    0, 
10283
310
   12|128,2, 
10284
310
    OPC_MoveChild1,
10285
310
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10286
310
    OPC_MoveChild0,
10287
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10288
310
    OPC_CheckPredicate, 8,
10289
310
    OPC_MoveSibling1,
10290
310
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10291
310
    OPC_Scope, 125, 
10292
310
     OPC_RecordChild0,
10293
310
     OPC_MoveChild1,
10294
310
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10295
310
     OPC_MoveChild0,
10296
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10297
310
     OPC_CheckPredicate0, 
10298
310
     OPC_CheckTypeI32,
10299
310
     OPC_MoveSibling1,
10300
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10301
310
     OPC_CheckPredicate0, 
10302
310
     OPC_CheckTypeI32,
10303
310
     OPC_MoveSibling2,
10304
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10305
310
     OPC_CheckPredicate0, 
10306
310
     OPC_CheckTypeI32,
10307
310
     OPC_MoveSibling3,
10308
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10309
310
     OPC_CheckPredicate0, 
10310
310
     OPC_CheckTypeI32,
10311
310
     OPC_MoveSibling4,
10312
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10313
310
     OPC_CheckPredicate0, 
10314
310
     OPC_CheckTypeI32,
10315
310
     OPC_MoveSibling5,
10316
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10317
310
     OPC_CheckPredicate0, 
10318
310
     OPC_CheckTypeI32,
10319
310
     OPC_MoveSibling6,
10320
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10321
310
     OPC_CheckPredicate0, 
10322
310
     OPC_CheckTypeI32,
10323
310
     OPC_MoveSibling7,
10324
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10325
310
     OPC_CheckPredicate0, 
10326
310
     OPC_CheckTypeI32,
10327
310
     OPC_MoveSibling, 8,
10328
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10329
310
     OPC_CheckPredicate0, 
10330
310
     OPC_CheckTypeI32,
10331
310
     OPC_MoveSibling, 9,
10332
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10333
310
     OPC_CheckPredicate0, 
10334
310
     OPC_CheckTypeI32,
10335
310
     OPC_MoveSibling, 10,
10336
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10337
310
     OPC_CheckPredicate0, 
10338
310
     OPC_CheckTypeI32,
10339
310
     OPC_MoveSibling, 11,
10340
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10341
310
     OPC_CheckPredicate0, 
10342
310
     OPC_CheckTypeI32,
10343
310
     OPC_MoveSibling, 12,
10344
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10345
310
     OPC_CheckPredicate0, 
10346
310
     OPC_CheckTypeI32,
10347
310
     OPC_MoveSibling, 13,
10348
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10349
310
     OPC_CheckPredicate0, 
10350
310
     OPC_CheckTypeI32,
10351
310
     OPC_MoveSibling, 14,
10352
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10353
310
     OPC_CheckPredicate0, 
10354
310
     OPC_CheckTypeI32,
10355
310
     OPC_MoveSibling, 15,
10356
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10357
310
     OPC_CheckPredicate0, 
10358
310
     OPC_CheckTypeI32,
10359
310
     OPC_MoveParent,
10360
310
     OPC_MoveParent,
10361
310
     OPC_CheckType, MVT::v16i8,
10362
310
     OPC_MoveParent,
10363
310
     OPC_MoveParent,
10364
310
     OPC_CheckType, MVT::v16i8,
10365
310
     OPC_CheckPatternPredicate3,
10366
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
10367
310
                   MVT::v16i8, 2, 0, 1, 
10368
310
    125, 
10369
310
     OPC_MoveChild0,
10370
310
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10371
310
     OPC_MoveChild0,
10372
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10373
310
     OPC_CheckPredicate0, 
10374
310
     OPC_CheckTypeI32,
10375
310
     OPC_MoveSibling1,
10376
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10377
310
     OPC_CheckPredicate0, 
10378
310
     OPC_CheckTypeI32,
10379
310
     OPC_MoveSibling2,
10380
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10381
310
     OPC_CheckPredicate0, 
10382
310
     OPC_CheckTypeI32,
10383
310
     OPC_MoveSibling3,
10384
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10385
310
     OPC_CheckPredicate0, 
10386
310
     OPC_CheckTypeI32,
10387
310
     OPC_MoveSibling4,
10388
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10389
310
     OPC_CheckPredicate0, 
10390
310
     OPC_CheckTypeI32,
10391
310
     OPC_MoveSibling5,
10392
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10393
310
     OPC_CheckPredicate0, 
10394
310
     OPC_CheckTypeI32,
10395
310
     OPC_MoveSibling6,
10396
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10397
310
     OPC_CheckPredicate0, 
10398
310
     OPC_CheckTypeI32,
10399
310
     OPC_MoveSibling7,
10400
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10401
310
     OPC_CheckPredicate0, 
10402
310
     OPC_CheckTypeI32,
10403
310
     OPC_MoveSibling, 8,
10404
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10405
310
     OPC_CheckPredicate0, 
10406
310
     OPC_CheckTypeI32,
10407
310
     OPC_MoveSibling, 9,
10408
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10409
310
     OPC_CheckPredicate0, 
10410
310
     OPC_CheckTypeI32,
10411
310
     OPC_MoveSibling, 10,
10412
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10413
310
     OPC_CheckPredicate0, 
10414
310
     OPC_CheckTypeI32,
10415
310
     OPC_MoveSibling, 11,
10416
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10417
310
     OPC_CheckPredicate0, 
10418
310
     OPC_CheckTypeI32,
10419
310
     OPC_MoveSibling, 12,
10420
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10421
310
     OPC_CheckPredicate0, 
10422
310
     OPC_CheckTypeI32,
10423
310
     OPC_MoveSibling, 13,
10424
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10425
310
     OPC_CheckPredicate0, 
10426
310
     OPC_CheckTypeI32,
10427
310
     OPC_MoveSibling, 14,
10428
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10429
310
     OPC_CheckPredicate0, 
10430
310
     OPC_CheckTypeI32,
10431
310
     OPC_MoveSibling, 15,
10432
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10433
310
     OPC_CheckPredicate0, 
10434
310
     OPC_CheckTypeI32,
10435
310
     OPC_MoveParent,
10436
310
     OPC_MoveParent,
10437
310
     OPC_RecordChild1,
10438
310
     OPC_CheckType, MVT::v16i8,
10439
310
     OPC_MoveParent,
10440
310
     OPC_MoveParent,
10441
310
     OPC_CheckType, MVT::v16i8,
10442
310
     OPC_CheckPatternPredicate3,
10443
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
10444
310
                   MVT::v16i8, 2, 0, 1, 
10445
310
    0, 
10446
310
   0, 
10447
310
  14|128,2, 
10448
310
   OPC_MoveChild0,
10449
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10450
310
   OPC_MoveChild0,
10451
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10452
310
   OPC_CheckPredicate, 8,
10453
310
   OPC_MoveSibling1,
10454
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10455
310
   OPC_Scope, 126, 
10456
310
    OPC_RecordChild0,
10457
310
    OPC_MoveChild1,
10458
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10459
310
    OPC_MoveChild0,
10460
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10461
310
    OPC_CheckPredicate0, 
10462
310
    OPC_CheckTypeI32,
10463
310
    OPC_MoveSibling1,
10464
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10465
310
    OPC_CheckPredicate0, 
10466
310
    OPC_CheckTypeI32,
10467
310
    OPC_MoveSibling2,
10468
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10469
310
    OPC_CheckPredicate0, 
10470
310
    OPC_CheckTypeI32,
10471
310
    OPC_MoveSibling3,
10472
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10473
310
    OPC_CheckPredicate0, 
10474
310
    OPC_CheckTypeI32,
10475
310
    OPC_MoveSibling4,
10476
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10477
310
    OPC_CheckPredicate0, 
10478
310
    OPC_CheckTypeI32,
10479
310
    OPC_MoveSibling5,
10480
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10481
310
    OPC_CheckPredicate0, 
10482
310
    OPC_CheckTypeI32,
10483
310
    OPC_MoveSibling6,
10484
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10485
310
    OPC_CheckPredicate0, 
10486
310
    OPC_CheckTypeI32,
10487
310
    OPC_MoveSibling7,
10488
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10489
310
    OPC_CheckPredicate0, 
10490
310
    OPC_CheckTypeI32,
10491
310
    OPC_MoveSibling, 8,
10492
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10493
310
    OPC_CheckPredicate0, 
10494
310
    OPC_CheckTypeI32,
10495
310
    OPC_MoveSibling, 9,
10496
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10497
310
    OPC_CheckPredicate0, 
10498
310
    OPC_CheckTypeI32,
10499
310
    OPC_MoveSibling, 10,
10500
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10501
310
    OPC_CheckPredicate0, 
10502
310
    OPC_CheckTypeI32,
10503
310
    OPC_MoveSibling, 11,
10504
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10505
310
    OPC_CheckPredicate0, 
10506
310
    OPC_CheckTypeI32,
10507
310
    OPC_MoveSibling, 12,
10508
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10509
310
    OPC_CheckPredicate0, 
10510
310
    OPC_CheckTypeI32,
10511
310
    OPC_MoveSibling, 13,
10512
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10513
310
    OPC_CheckPredicate0, 
10514
310
    OPC_CheckTypeI32,
10515
310
    OPC_MoveSibling, 14,
10516
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10517
310
    OPC_CheckPredicate0, 
10518
310
    OPC_CheckTypeI32,
10519
310
    OPC_MoveSibling, 15,
10520
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10521
310
    OPC_CheckPredicate0, 
10522
310
    OPC_CheckTypeI32,
10523
310
    OPC_MoveParent,
10524
310
    OPC_MoveParent,
10525
310
    OPC_CheckType, MVT::v16i8,
10526
310
    OPC_MoveParent,
10527
310
    OPC_MoveParent,
10528
310
    OPC_RecordChild1,
10529
310
    OPC_CheckType, MVT::v16i8,
10530
310
    OPC_CheckPatternPredicate3,
10531
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
10532
310
                  MVT::v16i8, 2, 1, 0, 
10533
310
   126, 
10534
310
    OPC_MoveChild0,
10535
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10536
310
    OPC_MoveChild0,
10537
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10538
310
    OPC_CheckPredicate0, 
10539
310
    OPC_CheckTypeI32,
10540
310
    OPC_MoveSibling1,
10541
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10542
310
    OPC_CheckPredicate0, 
10543
310
    OPC_CheckTypeI32,
10544
310
    OPC_MoveSibling2,
10545
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10546
310
    OPC_CheckPredicate0, 
10547
310
    OPC_CheckTypeI32,
10548
310
    OPC_MoveSibling3,
10549
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10550
310
    OPC_CheckPredicate0, 
10551
310
    OPC_CheckTypeI32,
10552
310
    OPC_MoveSibling4,
10553
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10554
310
    OPC_CheckPredicate0, 
10555
310
    OPC_CheckTypeI32,
10556
310
    OPC_MoveSibling5,
10557
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10558
310
    OPC_CheckPredicate0, 
10559
310
    OPC_CheckTypeI32,
10560
310
    OPC_MoveSibling6,
10561
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10562
310
    OPC_CheckPredicate0, 
10563
310
    OPC_CheckTypeI32,
10564
310
    OPC_MoveSibling7,
10565
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10566
310
    OPC_CheckPredicate0, 
10567
310
    OPC_CheckTypeI32,
10568
310
    OPC_MoveSibling, 8,
10569
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10570
310
    OPC_CheckPredicate0, 
10571
310
    OPC_CheckTypeI32,
10572
310
    OPC_MoveSibling, 9,
10573
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10574
310
    OPC_CheckPredicate0, 
10575
310
    OPC_CheckTypeI32,
10576
310
    OPC_MoveSibling, 10,
10577
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10578
310
    OPC_CheckPredicate0, 
10579
310
    OPC_CheckTypeI32,
10580
310
    OPC_MoveSibling, 11,
10581
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10582
310
    OPC_CheckPredicate0, 
10583
310
    OPC_CheckTypeI32,
10584
310
    OPC_MoveSibling, 12,
10585
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10586
310
    OPC_CheckPredicate0, 
10587
310
    OPC_CheckTypeI32,
10588
310
    OPC_MoveSibling, 13,
10589
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10590
310
    OPC_CheckPredicate0, 
10591
310
    OPC_CheckTypeI32,
10592
310
    OPC_MoveSibling, 14,
10593
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10594
310
    OPC_CheckPredicate0, 
10595
310
    OPC_CheckTypeI32,
10596
310
    OPC_MoveSibling, 15,
10597
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10598
310
    OPC_CheckPredicate0, 
10599
310
    OPC_CheckTypeI32,
10600
310
    OPC_MoveParent,
10601
310
    OPC_MoveParent,
10602
310
    OPC_RecordChild1,
10603
310
    OPC_CheckType, MVT::v16i8,
10604
310
    OPC_MoveParent,
10605
310
    OPC_MoveParent,
10606
310
    OPC_RecordChild1,
10607
310
    OPC_CheckType, MVT::v16i8,
10608
310
    OPC_CheckPatternPredicate3,
10609
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
10610
310
                  MVT::v16i8, 2, 1, 0, 
10611
310
   0, 
10612
310
  29|128,1, 
10613
310
   OPC_RecordChild0,
10614
310
   OPC_MoveChild1,
10615
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10616
310
   OPC_MoveChild0,
10617
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10618
310
   OPC_CheckPredicate, 8,
10619
310
   OPC_MoveSibling1,
10620
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10621
310
   OPC_Scope, 69, 
10622
310
    OPC_RecordChild0,
10623
310
    OPC_MoveChild1,
10624
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10625
310
    OPC_MoveChild0,
10626
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10627
310
    OPC_CheckPredicate1, 
10628
310
    OPC_CheckTypeI32,
10629
310
    OPC_MoveSibling1,
10630
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10631
310
    OPC_CheckPredicate1, 
10632
310
    OPC_CheckTypeI32,
10633
310
    OPC_MoveSibling2,
10634
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10635
310
    OPC_CheckPredicate1, 
10636
310
    OPC_CheckTypeI32,
10637
310
    OPC_MoveSibling3,
10638
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10639
310
    OPC_CheckPredicate1, 
10640
310
    OPC_CheckTypeI32,
10641
310
    OPC_MoveSibling4,
10642
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10643
310
    OPC_CheckPredicate1, 
10644
310
    OPC_CheckTypeI32,
10645
310
    OPC_MoveSibling5,
10646
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10647
310
    OPC_CheckPredicate1, 
10648
310
    OPC_CheckTypeI32,
10649
310
    OPC_MoveSibling6,
10650
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10651
310
    OPC_CheckPredicate1, 
10652
310
    OPC_CheckTypeI32,
10653
310
    OPC_MoveSibling7,
10654
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10655
310
    OPC_CheckPredicate1, 
10656
310
    OPC_CheckTypeI32,
10657
310
    OPC_MoveParent,
10658
310
    OPC_MoveParent,
10659
310
    OPC_CheckType, MVT::v8i16,
10660
310
    OPC_MoveParent,
10661
310
    OPC_MoveParent,
10662
310
    OPC_CheckType, MVT::v8i16,
10663
310
    OPC_CheckPatternPredicate3,
10664
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
10665
310
                  MVT::v8i16, 2, 0, 1, 
10666
310
   69, 
10667
310
    OPC_MoveChild0,
10668
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10669
310
    OPC_MoveChild0,
10670
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10671
310
    OPC_CheckPredicate1, 
10672
310
    OPC_CheckTypeI32,
10673
310
    OPC_MoveSibling1,
10674
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10675
310
    OPC_CheckPredicate1, 
10676
310
    OPC_CheckTypeI32,
10677
310
    OPC_MoveSibling2,
10678
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10679
310
    OPC_CheckPredicate1, 
10680
310
    OPC_CheckTypeI32,
10681
310
    OPC_MoveSibling3,
10682
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10683
310
    OPC_CheckPredicate1, 
10684
310
    OPC_CheckTypeI32,
10685
310
    OPC_MoveSibling4,
10686
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10687
310
    OPC_CheckPredicate1, 
10688
310
    OPC_CheckTypeI32,
10689
310
    OPC_MoveSibling5,
10690
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10691
310
    OPC_CheckPredicate1, 
10692
310
    OPC_CheckTypeI32,
10693
310
    OPC_MoveSibling6,
10694
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10695
310
    OPC_CheckPredicate1, 
10696
310
    OPC_CheckTypeI32,
10697
310
    OPC_MoveSibling7,
10698
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10699
310
    OPC_CheckPredicate1, 
10700
310
    OPC_CheckTypeI32,
10701
310
    OPC_MoveParent,
10702
310
    OPC_MoveParent,
10703
310
    OPC_RecordChild1,
10704
310
    OPC_CheckType, MVT::v8i16,
10705
310
    OPC_MoveParent,
10706
310
    OPC_MoveParent,
10707
310
    OPC_CheckType, MVT::v8i16,
10708
310
    OPC_CheckPatternPredicate3,
10709
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
10710
310
                  MVT::v8i16, 2, 0, 1, 
10711
310
   0, 
10712
310
  30|128,1, 
10713
310
   OPC_MoveChild0,
10714
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10715
310
   OPC_MoveChild0,
10716
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10717
310
   OPC_CheckPredicate, 8,
10718
310
   OPC_MoveSibling1,
10719
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10720
310
   OPC_Scope, 70, 
10721
310
    OPC_RecordChild0,
10722
310
    OPC_MoveChild1,
10723
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10724
310
    OPC_MoveChild0,
10725
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10726
310
    OPC_CheckPredicate1, 
10727
310
    OPC_CheckTypeI32,
10728
310
    OPC_MoveSibling1,
10729
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10730
310
    OPC_CheckPredicate1, 
10731
310
    OPC_CheckTypeI32,
10732
310
    OPC_MoveSibling2,
10733
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10734
310
    OPC_CheckPredicate1, 
10735
310
    OPC_CheckTypeI32,
10736
310
    OPC_MoveSibling3,
10737
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10738
310
    OPC_CheckPredicate1, 
10739
310
    OPC_CheckTypeI32,
10740
310
    OPC_MoveSibling4,
10741
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10742
310
    OPC_CheckPredicate1, 
10743
310
    OPC_CheckTypeI32,
10744
310
    OPC_MoveSibling5,
10745
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10746
310
    OPC_CheckPredicate1, 
10747
310
    OPC_CheckTypeI32,
10748
310
    OPC_MoveSibling6,
10749
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10750
310
    OPC_CheckPredicate1, 
10751
310
    OPC_CheckTypeI32,
10752
310
    OPC_MoveSibling7,
10753
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10754
310
    OPC_CheckPredicate1, 
10755
310
    OPC_CheckTypeI32,
10756
310
    OPC_MoveParent,
10757
310
    OPC_MoveParent,
10758
310
    OPC_CheckType, MVT::v8i16,
10759
310
    OPC_MoveParent,
10760
310
    OPC_MoveParent,
10761
310
    OPC_RecordChild1,
10762
310
    OPC_CheckType, MVT::v8i16,
10763
310
    OPC_CheckPatternPredicate3,
10764
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
10765
310
                  MVT::v8i16, 2, 1, 0, 
10766
310
   70, 
10767
310
    OPC_MoveChild0,
10768
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10769
310
    OPC_MoveChild0,
10770
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10771
310
    OPC_CheckPredicate1, 
10772
310
    OPC_CheckTypeI32,
10773
310
    OPC_MoveSibling1,
10774
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10775
310
    OPC_CheckPredicate1, 
10776
310
    OPC_CheckTypeI32,
10777
310
    OPC_MoveSibling2,
10778
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10779
310
    OPC_CheckPredicate1, 
10780
310
    OPC_CheckTypeI32,
10781
310
    OPC_MoveSibling3,
10782
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10783
310
    OPC_CheckPredicate1, 
10784
310
    OPC_CheckTypeI32,
10785
310
    OPC_MoveSibling4,
10786
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10787
310
    OPC_CheckPredicate1, 
10788
310
    OPC_CheckTypeI32,
10789
310
    OPC_MoveSibling5,
10790
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10791
310
    OPC_CheckPredicate1, 
10792
310
    OPC_CheckTypeI32,
10793
310
    OPC_MoveSibling6,
10794
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10795
310
    OPC_CheckPredicate1, 
10796
310
    OPC_CheckTypeI32,
10797
310
    OPC_MoveSibling7,
10798
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10799
310
    OPC_CheckPredicate1, 
10800
310
    OPC_CheckTypeI32,
10801
310
    OPC_MoveParent,
10802
310
    OPC_MoveParent,
10803
310
    OPC_RecordChild1,
10804
310
    OPC_CheckType, MVT::v8i16,
10805
310
    OPC_MoveParent,
10806
310
    OPC_MoveParent,
10807
310
    OPC_RecordChild1,
10808
310
    OPC_CheckType, MVT::v8i16,
10809
310
    OPC_CheckPatternPredicate3,
10810
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
10811
310
                  MVT::v8i16, 2, 1, 0, 
10812
310
   0, 
10813
310
  109, 
10814
310
   OPC_RecordChild0,
10815
310
   OPC_MoveChild1,
10816
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10817
310
   OPC_MoveChild0,
10818
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10819
310
   OPC_CheckPredicate, 8,
10820
310
   OPC_MoveSibling1,
10821
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10822
310
   OPC_Scope, 45, 
10823
310
    OPC_RecordChild0,
10824
310
    OPC_MoveChild1,
10825
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10826
310
    OPC_MoveChild0,
10827
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10828
310
    OPC_CheckPredicate2, 
10829
310
    OPC_CheckTypeI32,
10830
310
    OPC_MoveSibling1,
10831
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10832
310
    OPC_CheckPredicate2, 
10833
310
    OPC_CheckTypeI32,
10834
310
    OPC_MoveSibling2,
10835
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10836
310
    OPC_CheckPredicate2, 
10837
310
    OPC_CheckTypeI32,
10838
310
    OPC_MoveSibling3,
10839
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10840
310
    OPC_CheckPredicate2, 
10841
310
    OPC_CheckTypeI32,
10842
310
    OPC_MoveParent,
10843
310
    OPC_MoveParent,
10844
310
    OPC_CheckType, MVT::v4i32,
10845
310
    OPC_MoveParent,
10846
310
    OPC_MoveParent,
10847
310
    OPC_CheckType, MVT::v4i32,
10848
310
    OPC_CheckPatternPredicate3,
10849
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
10850
310
                  MVT::v4i32, 2, 0, 1, 
10851
310
   45, 
10852
310
    OPC_MoveChild0,
10853
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10854
310
    OPC_MoveChild0,
10855
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10856
310
    OPC_CheckPredicate2, 
10857
310
    OPC_CheckTypeI32,
10858
310
    OPC_MoveSibling1,
10859
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10860
310
    OPC_CheckPredicate2, 
10861
310
    OPC_CheckTypeI32,
10862
310
    OPC_MoveSibling2,
10863
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10864
310
    OPC_CheckPredicate2, 
10865
310
    OPC_CheckTypeI32,
10866
310
    OPC_MoveSibling3,
10867
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10868
310
    OPC_CheckPredicate2, 
10869
310
    OPC_CheckTypeI32,
10870
310
    OPC_MoveParent,
10871
310
    OPC_MoveParent,
10872
310
    OPC_RecordChild1,
10873
310
    OPC_CheckType, MVT::v4i32,
10874
310
    OPC_MoveParent,
10875
310
    OPC_MoveParent,
10876
310
    OPC_CheckType, MVT::v4i32,
10877
310
    OPC_CheckPatternPredicate3,
10878
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
10879
310
                  MVT::v4i32, 2, 0, 1, 
10880
310
   0, 
10881
310
  110, 
10882
310
   OPC_MoveChild0,
10883
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10884
310
   OPC_MoveChild0,
10885
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10886
310
   OPC_CheckPredicate, 8,
10887
310
   OPC_MoveSibling1,
10888
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10889
310
   OPC_Scope, 46, 
10890
310
    OPC_RecordChild0,
10891
310
    OPC_MoveChild1,
10892
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10893
310
    OPC_MoveChild0,
10894
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10895
310
    OPC_CheckPredicate2, 
10896
310
    OPC_CheckTypeI32,
10897
310
    OPC_MoveSibling1,
10898
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10899
310
    OPC_CheckPredicate2, 
10900
310
    OPC_CheckTypeI32,
10901
310
    OPC_MoveSibling2,
10902
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10903
310
    OPC_CheckPredicate2, 
10904
310
    OPC_CheckTypeI32,
10905
310
    OPC_MoveSibling3,
10906
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10907
310
    OPC_CheckPredicate2, 
10908
310
    OPC_CheckTypeI32,
10909
310
    OPC_MoveParent,
10910
310
    OPC_MoveParent,
10911
310
    OPC_CheckType, MVT::v4i32,
10912
310
    OPC_MoveParent,
10913
310
    OPC_MoveParent,
10914
310
    OPC_RecordChild1,
10915
310
    OPC_CheckType, MVT::v4i32,
10916
310
    OPC_CheckPatternPredicate3,
10917
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
10918
310
                  MVT::v4i32, 2, 1, 0, 
10919
310
   46, 
10920
310
    OPC_MoveChild0,
10921
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10922
310
    OPC_MoveChild0,
10923
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10924
310
    OPC_CheckPredicate2, 
10925
310
    OPC_CheckTypeI32,
10926
310
    OPC_MoveSibling1,
10927
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10928
310
    OPC_CheckPredicate2, 
10929
310
    OPC_CheckTypeI32,
10930
310
    OPC_MoveSibling2,
10931
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10932
310
    OPC_CheckPredicate2, 
10933
310
    OPC_CheckTypeI32,
10934
310
    OPC_MoveSibling3,
10935
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
10936
310
    OPC_CheckPredicate2, 
10937
310
    OPC_CheckTypeI32,
10938
310
    OPC_MoveParent,
10939
310
    OPC_MoveParent,
10940
310
    OPC_RecordChild1,
10941
310
    OPC_CheckType, MVT::v4i32,
10942
310
    OPC_MoveParent,
10943
310
    OPC_MoveParent,
10944
310
    OPC_RecordChild1,
10945
310
    OPC_CheckType, MVT::v4i32,
10946
310
    OPC_CheckPatternPredicate3,
10947
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
10948
310
                  MVT::v4i32, 2, 1, 0, 
10949
310
   0, 
10950
310
  84, 
10951
310
   OPC_RecordChild0,
10952
310
   OPC_MoveChild1,
10953
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
10954
310
   OPC_MoveChild0,
10955
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
10956
310
   OPC_MoveChild0,
10957
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10958
310
   OPC_CheckType, MVT::v4i32,
10959
310
   OPC_MoveParent,
10960
310
   OPC_CheckPredicate, 19,
10961
310
   OPC_MoveSibling1,
10962
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
10963
310
   OPC_Scope, 29, 
10964
310
    OPC_RecordChild0,
10965
310
    OPC_MoveChild1,
10966
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
10967
310
    OPC_MoveChild0,
10968
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10969
310
    OPC_CheckType, MVT::v4i32,
10970
310
    OPC_MoveParent,
10971
310
    OPC_CheckPredicate, 14,
10972
310
    OPC_MoveParent,
10973
310
    OPC_CheckType, MVT::v2i64,
10974
310
    OPC_MoveParent,
10975
310
    OPC_MoveParent,
10976
310
    OPC_CheckType, MVT::v2i64,
10977
310
    OPC_CheckPatternPredicate3,
10978
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
10979
310
                  MVT::v2i64, 2, 0, 1, 
10980
310
   29, 
10981
310
    OPC_MoveChild0,
10982
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
10983
310
    OPC_MoveChild0,
10984
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
10985
310
    OPC_CheckType, MVT::v4i32,
10986
310
    OPC_MoveParent,
10987
310
    OPC_CheckPredicate, 14,
10988
310
    OPC_MoveParent,
10989
310
    OPC_RecordChild1,
10990
310
    OPC_CheckType, MVT::v2i64,
10991
310
    OPC_MoveParent,
10992
310
    OPC_MoveParent,
10993
310
    OPC_CheckType, MVT::v2i64,
10994
310
    OPC_CheckPatternPredicate3,
10995
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
10996
310
                  MVT::v2i64, 2, 0, 1, 
10997
310
   0, 
10998
310
  85, 
10999
310
   OPC_MoveChild0,
11000
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11001
310
   OPC_MoveChild0,
11002
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11003
310
   OPC_MoveChild0,
11004
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11005
310
   OPC_CheckType, MVT::v4i32,
11006
310
   OPC_MoveParent,
11007
310
   OPC_CheckPredicate, 19,
11008
310
   OPC_MoveSibling1,
11009
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11010
310
   OPC_Scope, 30, 
11011
310
    OPC_RecordChild0,
11012
310
    OPC_MoveChild1,
11013
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11014
310
    OPC_MoveChild0,
11015
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11016
310
    OPC_CheckType, MVT::v4i32,
11017
310
    OPC_MoveParent,
11018
310
    OPC_CheckPredicate, 14,
11019
310
    OPC_MoveParent,
11020
310
    OPC_CheckType, MVT::v2i64,
11021
310
    OPC_MoveParent,
11022
310
    OPC_MoveParent,
11023
310
    OPC_RecordChild1,
11024
310
    OPC_CheckType, MVT::v2i64,
11025
310
    OPC_CheckPatternPredicate3,
11026
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
11027
310
                  MVT::v2i64, 2, 1, 0, 
11028
310
   30, 
11029
310
    OPC_MoveChild0,
11030
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11031
310
    OPC_MoveChild0,
11032
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11033
310
    OPC_CheckType, MVT::v4i32,
11034
310
    OPC_MoveParent,
11035
310
    OPC_CheckPredicate, 14,
11036
310
    OPC_MoveParent,
11037
310
    OPC_RecordChild1,
11038
310
    OPC_CheckType, MVT::v2i64,
11039
310
    OPC_MoveParent,
11040
310
    OPC_MoveParent,
11041
310
    OPC_RecordChild1,
11042
310
    OPC_CheckType, MVT::v2i64,
11043
310
    OPC_CheckPatternPredicate3,
11044
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
11045
310
                  MVT::v2i64, 2, 1, 0, 
11046
310
   0, 
11047
310
  33, 
11048
310
   OPC_RecordChild0,
11049
310
   OPC_MoveChild1,
11050
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11051
310
   OPC_MoveChild0,
11052
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11053
310
   OPC_MoveChild0,
11054
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11055
310
   OPC_CheckType, MVT::v4i32,
11056
310
   OPC_MoveParent,
11057
310
   OPC_CheckPredicate, 19,
11058
310
   OPC_MoveParent,
11059
310
   OPC_RecordChild1,
11060
310
   OPC_CheckChild1Type, MVT::v2i64,
11061
310
   OPC_MoveParent,
11062
310
   OPC_CheckType, MVT::v2i64,
11063
310
   OPC_CheckPatternPredicate0,
11064
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
11065
310
                 MVT::v2i64, 2, 0, 1, 
11066
310
  33, 
11067
310
   OPC_MoveChild0,
11068
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11069
310
   OPC_MoveChild0,
11070
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
11071
310
   OPC_MoveChild0,
11072
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11073
310
   OPC_CheckType, MVT::v4i32,
11074
310
   OPC_MoveParent,
11075
310
   OPC_CheckPredicate, 19,
11076
310
   OPC_MoveParent,
11077
310
   OPC_RecordChild1,
11078
310
   OPC_CheckChild1Type, MVT::v2i64,
11079
310
   OPC_MoveParent,
11080
310
   OPC_RecordChild1,
11081
310
   OPC_CheckType, MVT::v2i64,
11082
310
   OPC_CheckPatternPredicate0,
11083
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_D),
11084
310
                 MVT::v2i64, 2, 1, 0, 
11085
310
  57, 
11086
310
   OPC_RecordChild0,
11087
310
   OPC_MoveChild1,
11088
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11089
310
   OPC_MoveChild0,
11090
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11091
310
   OPC_CheckPredicate, 8,
11092
310
   OPC_MoveParent,
11093
310
   OPC_RecordChild1,
11094
310
   OPC_Scope, 13, 
11095
310
    OPC_CheckChild1Type, MVT::v16i8,
11096
310
    OPC_MoveParent,
11097
310
    OPC_CheckType, MVT::v16i8,
11098
310
    OPC_CheckPatternPredicate0,
11099
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
11100
310
                  MVT::v16i8, 2, 0, 1, 
11101
310
   13, 
11102
310
    OPC_CheckChild1Type, MVT::v8i16,
11103
310
    OPC_MoveParent,
11104
310
    OPC_CheckType, MVT::v8i16,
11105
310
    OPC_CheckPatternPredicate0,
11106
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
11107
310
                  MVT::v8i16, 2, 0, 1, 
11108
310
   13, 
11109
310
    OPC_CheckChild1Type, MVT::v4i32,
11110
310
    OPC_MoveParent,
11111
310
    OPC_CheckType, MVT::v4i32,
11112
310
    OPC_CheckPatternPredicate0,
11113
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
11114
310
                  MVT::v4i32, 2, 0, 1, 
11115
310
   0, 
11116
310
  59, 
11117
310
   OPC_MoveChild0,
11118
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11119
310
   OPC_MoveChild0,
11120
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11121
310
   OPC_CheckPredicate, 8,
11122
310
   OPC_MoveParent,
11123
310
   OPC_RecordChild1,
11124
310
   OPC_Scope, 14, 
11125
310
    OPC_CheckChild1Type, MVT::v16i8,
11126
310
    OPC_MoveParent,
11127
310
    OPC_RecordChild1,
11128
310
    OPC_CheckType, MVT::v16i8,
11129
310
    OPC_CheckPatternPredicate0,
11130
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_B),
11131
310
                  MVT::v16i8, 2, 1, 0, 
11132
310
   14, 
11133
310
    OPC_CheckChild1Type, MVT::v8i16,
11134
310
    OPC_MoveParent,
11135
310
    OPC_RecordChild1,
11136
310
    OPC_CheckType, MVT::v8i16,
11137
310
    OPC_CheckPatternPredicate0,
11138
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_H),
11139
310
                  MVT::v8i16, 2, 1, 0, 
11140
310
   14, 
11141
310
    OPC_CheckChild1Type, MVT::v4i32,
11142
310
    OPC_MoveParent,
11143
310
    OPC_RecordChild1,
11144
310
    OPC_CheckType, MVT::v4i32,
11145
310
    OPC_CheckPatternPredicate0,
11146
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEG_W),
11147
310
                  MVT::v4i32, 2, 1, 0, 
11148
310
   0, 
11149
310
  28|128,1, 
11150
310
   OPC_RecordChild0,
11151
310
   OPC_RecordChild1,
11152
310
   OPC_SwitchType , 51, MVT::v16i8,
11153
310
    OPC_CheckPatternPredicate0,
11154
310
    OPC_Scope, 9, 
11155
310
     OPC_CheckComplexPat3, /*#*/1,
11156
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_B),
11157
310
                   MVT::v16i8, 2, 0, 2, 
11158
310
    9, 
11159
310
     OPC_CheckComplexPat5, /*#*/1,
11160
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_B),
11161
310
                   MVT::v16i8, 2, 0, 2, 
11162
310
    9, 
11163
310
     OPC_CheckComplexPat3, /*#*/0,
11164
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_B),
11165
310
                   MVT::v16i8, 2, 1, 2, 
11166
310
    9, 
11167
310
     OPC_CheckComplexPat5, /*#*/0,
11168
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_B),
11169
310
                   MVT::v16i8, 2, 1, 2, 
11170
310
    7, 
11171
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V),
11172
310
                   MVT::v16i8, 2, 0, 1, 
11173
310
    0, 
11174
310
   31, MVT::v8i16,
11175
310
    OPC_CheckPatternPredicate0,
11176
310
    OPC_Scope, 9, 
11177
310
     OPC_CheckComplexPat3, /*#*/1,
11178
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_H),
11179
310
                   MVT::v8i16, 2, 0, 2, 
11180
310
    9, 
11181
310
     OPC_CheckComplexPat3, /*#*/0,
11182
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_H),
11183
310
                   MVT::v8i16, 2, 1, 2, 
11184
310
    7, 
11185
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_H_PSEUDO),
11186
310
                   MVT::v8i16, 2, 0, 1, 
11187
310
    0, 
11188
310
   31, MVT::v4i32,
11189
310
    OPC_CheckPatternPredicate0,
11190
310
    OPC_Scope, 9, 
11191
310
     OPC_CheckComplexPat3, /*#*/1,
11192
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_W),
11193
310
                   MVT::v4i32, 2, 0, 2, 
11194
310
    9, 
11195
310
     OPC_CheckComplexPat3, /*#*/0,
11196
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_W),
11197
310
                   MVT::v4i32, 2, 1, 2, 
11198
310
    7, 
11199
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_W_PSEUDO),
11200
310
                   MVT::v4i32, 2, 0, 1, 
11201
310
    0, 
11202
310
   31, MVT::v2i64,
11203
310
    OPC_CheckPatternPredicate0,
11204
310
    OPC_Scope, 9, 
11205
310
     OPC_CheckComplexPat3, /*#*/1,
11206
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_D),
11207
310
                   MVT::v2i64, 2, 0, 2, 
11208
310
    9, 
11209
310
     OPC_CheckComplexPat3, /*#*/0,
11210
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BNEGI_D),
11211
310
                   MVT::v2i64, 2, 1, 2, 
11212
310
    7, 
11213
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XOR_V_D_PSEUDO),
11214
310
                   MVT::v2i64, 2, 0, 1, 
11215
310
    0, 
11216
310
   0,
11217
310
  0, 
11218
310
 42|128,1, TARGET_VAL(ISD::CTLZ),
11219
310
  OPC_Scope, 65, 
11220
310
   OPC_MoveChild0,
11221
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11222
310
   OPC_RecordChild0,
11223
310
   OPC_CheckChild1Integer, 3, 
11224
310
   OPC_SwitchType , 30, MVT::i32,
11225
310
    OPC_MoveParent,
11226
310
    OPC_CheckTypeI32,
11227
310
    OPC_Scope, 8, 
11228
310
     OPC_CheckPatternPredicate, 53,
11229
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO),
11230
310
                   MVT::i32, 1, 0, 
11231
310
    8, 
11232
310
     OPC_CheckPatternPredicate, 87,
11233
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO_R6),
11234
310
                   MVT::i32, 1, 0, 
11235
310
    7, 
11236
310
     OPC_CheckPatternPredicate4,
11237
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLO_MM),
11238
310
                   MVT::i32, 1, 0, 
11239
310
    0, 
11240
310
   22, MVT::i64,
11241
310
    OPC_MoveParent,
11242
310
    OPC_CheckTypeI64,
11243
310
    OPC_Scope, 8, 
11244
310
     OPC_CheckPatternPredicate, 88,
11245
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLO),
11246
310
                   MVT::i64, 1, 0, 
11247
310
    8, 
11248
310
     OPC_CheckPatternPredicate, 36,
11249
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLO_R6),
11250
310
                   MVT::i64, 1, 0, 
11251
310
    0, 
11252
310
   0,
11253
310
  101, 
11254
310
   OPC_RecordChild0,
11255
310
   OPC_SwitchType , 29, MVT::i32,
11256
310
    OPC_CheckChild0TypeI32,
11257
310
    OPC_Scope, 8, 
11258
310
     OPC_CheckPatternPredicate, 53,
11259
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ),
11260
310
                   MVT::i32, 1, 0, 
11261
310
    8, 
11262
310
     OPC_CheckPatternPredicate, 87,
11263
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ_R6),
11264
310
                   MVT::i32, 1, 0, 
11265
310
    7, 
11266
310
     OPC_CheckPatternPredicate4,
11267
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLZ_MM),
11268
310
                   MVT::i32, 1, 0, 
11269
310
    0, 
11270
310
   21, MVT::i64,
11271
310
    OPC_CheckChild0TypeI64,
11272
310
    OPC_Scope, 8, 
11273
310
     OPC_CheckPatternPredicate, 88,
11274
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLZ),
11275
310
                   MVT::i64, 1, 0, 
11276
310
    8, 
11277
310
     OPC_CheckPatternPredicate, 36,
11278
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DCLZ_R6),
11279
310
                   MVT::i64, 1, 0, 
11280
310
    0, 
11281
310
   9, MVT::v16i8,
11282
310
    OPC_CheckChild0Type, MVT::v16i8,
11283
310
    OPC_CheckPatternPredicate0,
11284
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_B),
11285
310
                  MVT::v16i8, 1, 0, 
11286
310
   9, MVT::v8i16,
11287
310
    OPC_CheckChild0Type, MVT::v8i16,
11288
310
    OPC_CheckPatternPredicate0,
11289
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_H),
11290
310
                  MVT::v8i16, 1, 0, 
11291
310
   9, MVT::v4i32,
11292
310
    OPC_CheckChild0Type, MVT::v4i32,
11293
310
    OPC_CheckPatternPredicate0,
11294
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_W),
11295
310
                  MVT::v4i32, 1, 0, 
11296
310
   9, MVT::v2i64,
11297
310
    OPC_CheckChild0Type, MVT::v2i64,
11298
310
    OPC_CheckPatternPredicate0,
11299
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NLZC_D),
11300
310
                  MVT::v2i64, 1, 0, 
11301
310
   0,
11302
310
  0, 
11303
310
 6|128,1, TARGET_VAL(MipsISD::Ext),
11304
310
  OPC_RecordChild0,
11305
310
  OPC_RecordChild1,
11306
310
  OPC_MoveChild1,
11307
310
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11308
310
  OPC_Scope, 59, 
11309
310
   OPC_CheckPredicate3, 
11310
310
   OPC_MoveSibling2,
11311
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11312
310
   OPC_RecordNode,
11313
310
   OPC_Scope, 33, 
11314
310
    OPC_CheckPredicate, 34,
11315
310
    OPC_MoveParent,
11316
310
    OPC_SwitchType , 12, MVT::i32,
11317
310
     OPC_CheckPatternPredicate, 41,
11318
310
     OPC_EmitConvertToTarget1,
11319
310
     OPC_EmitConvertToTarget2,
11320
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT),
11321
310
                   MVT::i32, 3, 0, 3, 4, 
11322
310
    12, MVT::i64,
11323
310
     OPC_CheckPatternPredicate, 45,
11324
310
     OPC_EmitConvertToTarget1,
11325
310
     OPC_EmitConvertToTarget2,
11326
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXT),
11327
310
                   MVT::i64, 3, 0, 3, 4, 
11328
310
    0,
11329
310
   16, 
11330
310
    OPC_CheckPredicate, 57,
11331
310
    OPC_MoveParent,
11332
310
    OPC_CheckTypeI64,
11333
310
    OPC_CheckPatternPredicate, 45,
11334
310
    OPC_EmitConvertToTarget1,
11335
310
    OPC_EmitConvertToTarget2,
11336
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXTM),
11337
310
                  MVT::i64, 3, 0, 3, 4, 
11338
310
   0, 
11339
310
  23, 
11340
310
   OPC_CheckPredicate, 40,
11341
310
   OPC_MoveSibling2,
11342
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11343
310
   OPC_RecordNode,
11344
310
   OPC_CheckPredicate, 34,
11345
310
   OPC_MoveParent,
11346
310
   OPC_CheckTypeI64,
11347
310
   OPC_CheckPatternPredicate, 45,
11348
310
   OPC_EmitConvertToTarget1,
11349
310
   OPC_EmitConvertToTarget2,
11350
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXTU),
11351
310
                 MVT::i64, 3, 0, 3, 4, 
11352
310
  22, 
11353
310
   OPC_CheckPredicate3, 
11354
310
   OPC_MoveSibling2,
11355
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11356
310
   OPC_RecordNode,
11357
310
   OPC_CheckPredicate, 34,
11358
310
   OPC_MoveParent,
11359
310
   OPC_CheckTypeI32,
11360
310
   OPC_CheckPatternPredicate, 8,
11361
310
   OPC_EmitConvertToTarget1,
11362
310
   OPC_EmitConvertToTarget2,
11363
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT_MM),
11364
310
                 MVT::i32, 3, 0, 3, 4, 
11365
310
  18, 
11366
310
   OPC_MoveSibling2,
11367
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11368
310
   OPC_RecordNode,
11369
310
   OPC_MoveParent,
11370
310
   OPC_CheckTypeI32,
11371
310
   OPC_CheckPatternPredicate7,
11372
310
   OPC_EmitConvertToTarget1,
11373
310
   OPC_EmitConvertToTarget2,
11374
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::EXT_MMR6),
11375
310
                 MVT::i32, 3, 0, 3, 4, 
11376
310
  0, 
11377
310
 6|128,15, TARGET_VAL(ISD::AND),
11378
310
  OPC_Scope, 20, 
11379
310
   OPC_CheckAndImm, 127|128,1, 
11380
310
   OPC_MoveChild0,
11381
310
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
11382
310
   OPC_RecordChild0,
11383
310
   OPC_RecordChild1,
11384
310
   OPC_MoveParent,
11385
310
   OPC_CheckTypeI64,
11386
310
   OPC_CheckPatternPredicate, 25,
11387
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BADDu),
11388
310
                 MVT::i64, 2, 0, 1, 
11389
310
  70|128,3, 
11390
310
   OPC_RecordChild0,
11391
310
   OPC_Scope, 39|128,1, 
11392
310
    OPC_RecordChild1,
11393
310
    OPC_Scope, 100, 
11394
310
     OPC_MoveChild1,
11395
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11396
310
     OPC_Scope, 13, 
11397
310
      OPC_CheckPredicate, 36,
11398
310
      OPC_MoveParent,
11399
310
      OPC_CheckTypeI32,
11400
310
      OPC_CheckPatternPredicate2,
11401
310
      OPC_EmitConvertToTarget1,
11402
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi),
11403
310
                    MVT::i32, 2, 0, 2, 
11404
310
     17, 
11405
310
      OPC_CheckPredicate, 13,
11406
310
      OPC_MoveParent,
11407
310
      OPC_CheckTypeI64,
11408
310
      OPC_CheckPatternPredicate, 18,
11409
310
      OPC_EmitConvertToTarget1,
11410
310
      OPC_EmitNodeXForm, 3, 2,
11411
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi64),
11412
310
                    MVT::i64, 2, 0, 3, 
11413
310
     13, 
11414
310
      OPC_CheckPredicate, 39,
11415
310
      OPC_MoveParent,
11416
310
      OPC_CheckTypeI32,
11417
310
      OPC_CheckPatternPredicate4,
11418
310
      OPC_EmitConvertToTarget1,
11419
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI16_MM),
11420
310
                    MVT::i32, 2, 0, 2, 
11421
310
     16, 
11422
310
      OPC_CheckPredicate, 13,
11423
310
      OPC_MoveParent,
11424
310
      OPC_CheckTypeI32,
11425
310
      OPC_CheckPatternPredicate4,
11426
310
      OPC_EmitConvertToTarget1,
11427
310
      OPC_EmitNodeXForm, 3, 2,
11428
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDi_MM),
11429
310
                    MVT::i32, 2, 0, 3, 
11430
310
     13, 
11431
310
      OPC_CheckPredicate, 39,
11432
310
      OPC_MoveParent,
11433
310
      OPC_CheckTypeI32,
11434
310
      OPC_CheckPatternPredicate7,
11435
310
      OPC_EmitConvertToTarget1,
11436
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI16_MMR6),
11437
310
                    MVT::i32, 2, 0, 2, 
11438
310
     16, 
11439
310
      OPC_CheckPredicate, 13,
11440
310
      OPC_MoveParent,
11441
310
      OPC_CheckTypeI32,
11442
310
      OPC_CheckPatternPredicate7,
11443
310
      OPC_EmitConvertToTarget1,
11444
310
      OPC_EmitNodeXForm, 3, 2,
11445
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_MMR6),
11446
310
                    MVT::i32, 2, 0, 3, 
11447
310
     0, 
11448
310
    51, 
11449
310
     OPC_CheckTypeI32,
11450
310
     OPC_Scope, 8, 
11451
310
      OPC_CheckPatternPredicate2,
11452
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND),
11453
310
                    MVT::i32, 2, 0, 1, 
11454
310
     8, 
11455
310
      OPC_CheckPatternPredicate5,
11456
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AndRxRxRy16),
11457
310
                    MVT::i32, 2, 0, 1, 
11458
310
     20, 
11459
310
      OPC_CheckPatternPredicate, 8,
11460
310
      OPC_Scope, 7, 
11461
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND16_MM),
11462
310
                     MVT::i32, 2, 0, 1, 
11463
310
      7, 
11464
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_MM),
11465
310
                     MVT::i32, 2, 0, 1, 
11466
310
      0, 
11467
310
     8, 
11468
310
      OPC_CheckPatternPredicate7,
11469
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_MMR6),
11470
310
                    MVT::i32, 2, 0, 1, 
11471
310
     0, 
11472
310
    10, 
11473
310
     OPC_CheckTypeI64,
11474
310
     OPC_CheckPatternPredicate, 18,
11475
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND64),
11476
310
                   MVT::i64, 2, 0, 1, 
11477
310
    0, 
11478
310
   24|128,2, 
11479
310
    OPC_MoveChild1,
11480
310
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11481
310
    OPC_MoveChild0,
11482
310
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11483
310
    OPC_MoveChild0,
11484
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11485
310
    OPC_CheckPredicate, 8,
11486
310
    OPC_MoveSibling1,
11487
310
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11488
310
    OPC_Scope, 0|128,1, 
11489
310
     OPC_RecordChild0,
11490
310
     OPC_MoveChild1,
11491
310
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11492
310
     OPC_MoveChild0,
11493
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11494
310
     OPC_CheckPredicate0, 
11495
310
     OPC_CheckTypeI32,
11496
310
     OPC_MoveSibling1,
11497
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11498
310
     OPC_CheckPredicate0, 
11499
310
     OPC_CheckTypeI32,
11500
310
     OPC_MoveSibling2,
11501
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11502
310
     OPC_CheckPredicate0, 
11503
310
     OPC_CheckTypeI32,
11504
310
     OPC_MoveSibling3,
11505
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11506
310
     OPC_CheckPredicate0, 
11507
310
     OPC_CheckTypeI32,
11508
310
     OPC_MoveSibling4,
11509
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11510
310
     OPC_CheckPredicate0, 
11511
310
     OPC_CheckTypeI32,
11512
310
     OPC_MoveSibling5,
11513
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11514
310
     OPC_CheckPredicate0, 
11515
310
     OPC_CheckTypeI32,
11516
310
     OPC_MoveSibling6,
11517
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11518
310
     OPC_CheckPredicate0, 
11519
310
     OPC_CheckTypeI32,
11520
310
     OPC_MoveSibling7,
11521
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11522
310
     OPC_CheckPredicate0, 
11523
310
     OPC_CheckTypeI32,
11524
310
     OPC_MoveSibling, 8,
11525
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11526
310
     OPC_CheckPredicate0, 
11527
310
     OPC_CheckTypeI32,
11528
310
     OPC_MoveSibling, 9,
11529
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11530
310
     OPC_CheckPredicate0, 
11531
310
     OPC_CheckTypeI32,
11532
310
     OPC_MoveSibling, 10,
11533
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11534
310
     OPC_CheckPredicate0, 
11535
310
     OPC_CheckTypeI32,
11536
310
     OPC_MoveSibling, 11,
11537
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11538
310
     OPC_CheckPredicate0, 
11539
310
     OPC_CheckTypeI32,
11540
310
     OPC_MoveSibling, 12,
11541
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11542
310
     OPC_CheckPredicate0, 
11543
310
     OPC_CheckTypeI32,
11544
310
     OPC_MoveSibling, 13,
11545
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11546
310
     OPC_CheckPredicate0, 
11547
310
     OPC_CheckTypeI32,
11548
310
     OPC_MoveSibling, 14,
11549
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11550
310
     OPC_CheckPredicate0, 
11551
310
     OPC_CheckTypeI32,
11552
310
     OPC_MoveSibling, 15,
11553
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11554
310
     OPC_CheckPredicate0, 
11555
310
     OPC_CheckTypeI32,
11556
310
     OPC_MoveParent,
11557
310
     OPC_MoveParent,
11558
310
     OPC_CheckType, MVT::v16i8,
11559
310
     OPC_MoveParent,
11560
310
     OPC_MoveSibling1,
11561
310
     OPC_CheckImmAllOnesV,
11562
310
     OPC_MoveParent,
11563
310
     OPC_MoveParent,
11564
310
     OPC_CheckType, MVT::v16i8,
11565
310
     OPC_CheckPatternPredicate3,
11566
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
11567
310
                   MVT::v16i8, 2, 0, 1, 
11568
310
    0|128,1, 
11569
310
     OPC_MoveChild0,
11570
310
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11571
310
     OPC_MoveChild0,
11572
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11573
310
     OPC_CheckPredicate0, 
11574
310
     OPC_CheckTypeI32,
11575
310
     OPC_MoveSibling1,
11576
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11577
310
     OPC_CheckPredicate0, 
11578
310
     OPC_CheckTypeI32,
11579
310
     OPC_MoveSibling2,
11580
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11581
310
     OPC_CheckPredicate0, 
11582
310
     OPC_CheckTypeI32,
11583
310
     OPC_MoveSibling3,
11584
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11585
310
     OPC_CheckPredicate0, 
11586
310
     OPC_CheckTypeI32,
11587
310
     OPC_MoveSibling4,
11588
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11589
310
     OPC_CheckPredicate0, 
11590
310
     OPC_CheckTypeI32,
11591
310
     OPC_MoveSibling5,
11592
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11593
310
     OPC_CheckPredicate0, 
11594
310
     OPC_CheckTypeI32,
11595
310
     OPC_MoveSibling6,
11596
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11597
310
     OPC_CheckPredicate0, 
11598
310
     OPC_CheckTypeI32,
11599
310
     OPC_MoveSibling7,
11600
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11601
310
     OPC_CheckPredicate0, 
11602
310
     OPC_CheckTypeI32,
11603
310
     OPC_MoveSibling, 8,
11604
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11605
310
     OPC_CheckPredicate0, 
11606
310
     OPC_CheckTypeI32,
11607
310
     OPC_MoveSibling, 9,
11608
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11609
310
     OPC_CheckPredicate0, 
11610
310
     OPC_CheckTypeI32,
11611
310
     OPC_MoveSibling, 10,
11612
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11613
310
     OPC_CheckPredicate0, 
11614
310
     OPC_CheckTypeI32,
11615
310
     OPC_MoveSibling, 11,
11616
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11617
310
     OPC_CheckPredicate0, 
11618
310
     OPC_CheckTypeI32,
11619
310
     OPC_MoveSibling, 12,
11620
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11621
310
     OPC_CheckPredicate0, 
11622
310
     OPC_CheckTypeI32,
11623
310
     OPC_MoveSibling, 13,
11624
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11625
310
     OPC_CheckPredicate0, 
11626
310
     OPC_CheckTypeI32,
11627
310
     OPC_MoveSibling, 14,
11628
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11629
310
     OPC_CheckPredicate0, 
11630
310
     OPC_CheckTypeI32,
11631
310
     OPC_MoveSibling, 15,
11632
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11633
310
     OPC_CheckPredicate0, 
11634
310
     OPC_CheckTypeI32,
11635
310
     OPC_MoveParent,
11636
310
     OPC_MoveParent,
11637
310
     OPC_RecordChild1,
11638
310
     OPC_CheckType, MVT::v16i8,
11639
310
     OPC_MoveParent,
11640
310
     OPC_MoveSibling1,
11641
310
     OPC_CheckImmAllOnesV,
11642
310
     OPC_MoveParent,
11643
310
     OPC_MoveParent,
11644
310
     OPC_CheckType, MVT::v16i8,
11645
310
     OPC_CheckPatternPredicate3,
11646
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
11647
310
                   MVT::v16i8, 2, 0, 1, 
11648
310
    0, 
11649
310
   0, 
11650
310
  26|128,2, 
11651
310
   OPC_MoveChild0,
11652
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11653
310
   OPC_MoveChild0,
11654
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11655
310
   OPC_MoveChild0,
11656
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11657
310
   OPC_CheckPredicate, 8,
11658
310
   OPC_MoveSibling1,
11659
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11660
310
   OPC_Scope, 1|128,1, 
11661
310
    OPC_RecordChild0,
11662
310
    OPC_MoveChild1,
11663
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11664
310
    OPC_MoveChild0,
11665
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11666
310
    OPC_CheckPredicate0, 
11667
310
    OPC_CheckTypeI32,
11668
310
    OPC_MoveSibling1,
11669
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11670
310
    OPC_CheckPredicate0, 
11671
310
    OPC_CheckTypeI32,
11672
310
    OPC_MoveSibling2,
11673
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11674
310
    OPC_CheckPredicate0, 
11675
310
    OPC_CheckTypeI32,
11676
310
    OPC_MoveSibling3,
11677
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11678
310
    OPC_CheckPredicate0, 
11679
310
    OPC_CheckTypeI32,
11680
310
    OPC_MoveSibling4,
11681
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11682
310
    OPC_CheckPredicate0, 
11683
310
    OPC_CheckTypeI32,
11684
310
    OPC_MoveSibling5,
11685
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11686
310
    OPC_CheckPredicate0, 
11687
310
    OPC_CheckTypeI32,
11688
310
    OPC_MoveSibling6,
11689
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11690
310
    OPC_CheckPredicate0, 
11691
310
    OPC_CheckTypeI32,
11692
310
    OPC_MoveSibling7,
11693
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11694
310
    OPC_CheckPredicate0, 
11695
310
    OPC_CheckTypeI32,
11696
310
    OPC_MoveSibling, 8,
11697
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11698
310
    OPC_CheckPredicate0, 
11699
310
    OPC_CheckTypeI32,
11700
310
    OPC_MoveSibling, 9,
11701
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11702
310
    OPC_CheckPredicate0, 
11703
310
    OPC_CheckTypeI32,
11704
310
    OPC_MoveSibling, 10,
11705
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11706
310
    OPC_CheckPredicate0, 
11707
310
    OPC_CheckTypeI32,
11708
310
    OPC_MoveSibling, 11,
11709
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11710
310
    OPC_CheckPredicate0, 
11711
310
    OPC_CheckTypeI32,
11712
310
    OPC_MoveSibling, 12,
11713
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11714
310
    OPC_CheckPredicate0, 
11715
310
    OPC_CheckTypeI32,
11716
310
    OPC_MoveSibling, 13,
11717
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11718
310
    OPC_CheckPredicate0, 
11719
310
    OPC_CheckTypeI32,
11720
310
    OPC_MoveSibling, 14,
11721
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11722
310
    OPC_CheckPredicate0, 
11723
310
    OPC_CheckTypeI32,
11724
310
    OPC_MoveSibling, 15,
11725
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11726
310
    OPC_CheckPredicate0, 
11727
310
    OPC_CheckTypeI32,
11728
310
    OPC_MoveParent,
11729
310
    OPC_MoveParent,
11730
310
    OPC_CheckType, MVT::v16i8,
11731
310
    OPC_MoveParent,
11732
310
    OPC_MoveSibling1,
11733
310
    OPC_CheckImmAllOnesV,
11734
310
    OPC_MoveParent,
11735
310
    OPC_MoveParent,
11736
310
    OPC_RecordChild1,
11737
310
    OPC_CheckType, MVT::v16i8,
11738
310
    OPC_CheckPatternPredicate3,
11739
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
11740
310
                  MVT::v16i8, 2, 1, 0, 
11741
310
   1|128,1, 
11742
310
    OPC_MoveChild0,
11743
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11744
310
    OPC_MoveChild0,
11745
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11746
310
    OPC_CheckPredicate0, 
11747
310
    OPC_CheckTypeI32,
11748
310
    OPC_MoveSibling1,
11749
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11750
310
    OPC_CheckPredicate0, 
11751
310
    OPC_CheckTypeI32,
11752
310
    OPC_MoveSibling2,
11753
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11754
310
    OPC_CheckPredicate0, 
11755
310
    OPC_CheckTypeI32,
11756
310
    OPC_MoveSibling3,
11757
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11758
310
    OPC_CheckPredicate0, 
11759
310
    OPC_CheckTypeI32,
11760
310
    OPC_MoveSibling4,
11761
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11762
310
    OPC_CheckPredicate0, 
11763
310
    OPC_CheckTypeI32,
11764
310
    OPC_MoveSibling5,
11765
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11766
310
    OPC_CheckPredicate0, 
11767
310
    OPC_CheckTypeI32,
11768
310
    OPC_MoveSibling6,
11769
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11770
310
    OPC_CheckPredicate0, 
11771
310
    OPC_CheckTypeI32,
11772
310
    OPC_MoveSibling7,
11773
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11774
310
    OPC_CheckPredicate0, 
11775
310
    OPC_CheckTypeI32,
11776
310
    OPC_MoveSibling, 8,
11777
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11778
310
    OPC_CheckPredicate0, 
11779
310
    OPC_CheckTypeI32,
11780
310
    OPC_MoveSibling, 9,
11781
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11782
310
    OPC_CheckPredicate0, 
11783
310
    OPC_CheckTypeI32,
11784
310
    OPC_MoveSibling, 10,
11785
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11786
310
    OPC_CheckPredicate0, 
11787
310
    OPC_CheckTypeI32,
11788
310
    OPC_MoveSibling, 11,
11789
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11790
310
    OPC_CheckPredicate0, 
11791
310
    OPC_CheckTypeI32,
11792
310
    OPC_MoveSibling, 12,
11793
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11794
310
    OPC_CheckPredicate0, 
11795
310
    OPC_CheckTypeI32,
11796
310
    OPC_MoveSibling, 13,
11797
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11798
310
    OPC_CheckPredicate0, 
11799
310
    OPC_CheckTypeI32,
11800
310
    OPC_MoveSibling, 14,
11801
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11802
310
    OPC_CheckPredicate0, 
11803
310
    OPC_CheckTypeI32,
11804
310
    OPC_MoveSibling, 15,
11805
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11806
310
    OPC_CheckPredicate0, 
11807
310
    OPC_CheckTypeI32,
11808
310
    OPC_MoveParent,
11809
310
    OPC_MoveParent,
11810
310
    OPC_RecordChild1,
11811
310
    OPC_CheckType, MVT::v16i8,
11812
310
    OPC_MoveParent,
11813
310
    OPC_MoveSibling1,
11814
310
    OPC_CheckImmAllOnesV,
11815
310
    OPC_MoveParent,
11816
310
    OPC_MoveParent,
11817
310
    OPC_RecordChild1,
11818
310
    OPC_CheckType, MVT::v16i8,
11819
310
    OPC_CheckPatternPredicate3,
11820
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
11821
310
                  MVT::v16i8, 2, 1, 0, 
11822
310
   0, 
11823
310
  39|128,1, 
11824
310
   OPC_RecordChild0,
11825
310
   OPC_MoveChild1,
11826
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11827
310
   OPC_MoveChild0,
11828
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11829
310
   OPC_MoveChild0,
11830
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11831
310
   OPC_CheckPredicate, 8,
11832
310
   OPC_MoveSibling1,
11833
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11834
310
   OPC_Scope, 72, 
11835
310
    OPC_RecordChild0,
11836
310
    OPC_MoveChild1,
11837
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11838
310
    OPC_MoveChild0,
11839
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11840
310
    OPC_CheckPredicate1, 
11841
310
    OPC_CheckTypeI32,
11842
310
    OPC_MoveSibling1,
11843
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11844
310
    OPC_CheckPredicate1, 
11845
310
    OPC_CheckTypeI32,
11846
310
    OPC_MoveSibling2,
11847
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11848
310
    OPC_CheckPredicate1, 
11849
310
    OPC_CheckTypeI32,
11850
310
    OPC_MoveSibling3,
11851
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11852
310
    OPC_CheckPredicate1, 
11853
310
    OPC_CheckTypeI32,
11854
310
    OPC_MoveSibling4,
11855
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11856
310
    OPC_CheckPredicate1, 
11857
310
    OPC_CheckTypeI32,
11858
310
    OPC_MoveSibling5,
11859
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11860
310
    OPC_CheckPredicate1, 
11861
310
    OPC_CheckTypeI32,
11862
310
    OPC_MoveSibling6,
11863
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11864
310
    OPC_CheckPredicate1, 
11865
310
    OPC_CheckTypeI32,
11866
310
    OPC_MoveSibling7,
11867
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11868
310
    OPC_CheckPredicate1, 
11869
310
    OPC_CheckTypeI32,
11870
310
    OPC_MoveParent,
11871
310
    OPC_MoveParent,
11872
310
    OPC_CheckType, MVT::v8i16,
11873
310
    OPC_MoveParent,
11874
310
    OPC_MoveSibling1,
11875
310
    OPC_CheckImmAllOnesV,
11876
310
    OPC_MoveParent,
11877
310
    OPC_MoveParent,
11878
310
    OPC_CheckType, MVT::v8i16,
11879
310
    OPC_CheckPatternPredicate3,
11880
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
11881
310
                  MVT::v8i16, 2, 0, 1, 
11882
310
   72, 
11883
310
    OPC_MoveChild0,
11884
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11885
310
    OPC_MoveChild0,
11886
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11887
310
    OPC_CheckPredicate1, 
11888
310
    OPC_CheckTypeI32,
11889
310
    OPC_MoveSibling1,
11890
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11891
310
    OPC_CheckPredicate1, 
11892
310
    OPC_CheckTypeI32,
11893
310
    OPC_MoveSibling2,
11894
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11895
310
    OPC_CheckPredicate1, 
11896
310
    OPC_CheckTypeI32,
11897
310
    OPC_MoveSibling3,
11898
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11899
310
    OPC_CheckPredicate1, 
11900
310
    OPC_CheckTypeI32,
11901
310
    OPC_MoveSibling4,
11902
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11903
310
    OPC_CheckPredicate1, 
11904
310
    OPC_CheckTypeI32,
11905
310
    OPC_MoveSibling5,
11906
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11907
310
    OPC_CheckPredicate1, 
11908
310
    OPC_CheckTypeI32,
11909
310
    OPC_MoveSibling6,
11910
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11911
310
    OPC_CheckPredicate1, 
11912
310
    OPC_CheckTypeI32,
11913
310
    OPC_MoveSibling7,
11914
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11915
310
    OPC_CheckPredicate1, 
11916
310
    OPC_CheckTypeI32,
11917
310
    OPC_MoveParent,
11918
310
    OPC_MoveParent,
11919
310
    OPC_RecordChild1,
11920
310
    OPC_CheckType, MVT::v8i16,
11921
310
    OPC_MoveParent,
11922
310
    OPC_MoveSibling1,
11923
310
    OPC_CheckImmAllOnesV,
11924
310
    OPC_MoveParent,
11925
310
    OPC_MoveParent,
11926
310
    OPC_CheckType, MVT::v8i16,
11927
310
    OPC_CheckPatternPredicate3,
11928
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
11929
310
                  MVT::v8i16, 2, 0, 1, 
11930
310
   0, 
11931
310
  40|128,1, 
11932
310
   OPC_MoveChild0,
11933
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
11934
310
   OPC_MoveChild0,
11935
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
11936
310
   OPC_MoveChild0,
11937
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11938
310
   OPC_CheckPredicate, 8,
11939
310
   OPC_MoveSibling1,
11940
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
11941
310
   OPC_Scope, 73, 
11942
310
    OPC_RecordChild0,
11943
310
    OPC_MoveChild1,
11944
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11945
310
    OPC_MoveChild0,
11946
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11947
310
    OPC_CheckPredicate1, 
11948
310
    OPC_CheckTypeI32,
11949
310
    OPC_MoveSibling1,
11950
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11951
310
    OPC_CheckPredicate1, 
11952
310
    OPC_CheckTypeI32,
11953
310
    OPC_MoveSibling2,
11954
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11955
310
    OPC_CheckPredicate1, 
11956
310
    OPC_CheckTypeI32,
11957
310
    OPC_MoveSibling3,
11958
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11959
310
    OPC_CheckPredicate1, 
11960
310
    OPC_CheckTypeI32,
11961
310
    OPC_MoveSibling4,
11962
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11963
310
    OPC_CheckPredicate1, 
11964
310
    OPC_CheckTypeI32,
11965
310
    OPC_MoveSibling5,
11966
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11967
310
    OPC_CheckPredicate1, 
11968
310
    OPC_CheckTypeI32,
11969
310
    OPC_MoveSibling6,
11970
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11971
310
    OPC_CheckPredicate1, 
11972
310
    OPC_CheckTypeI32,
11973
310
    OPC_MoveSibling7,
11974
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11975
310
    OPC_CheckPredicate1, 
11976
310
    OPC_CheckTypeI32,
11977
310
    OPC_MoveParent,
11978
310
    OPC_MoveParent,
11979
310
    OPC_CheckType, MVT::v8i16,
11980
310
    OPC_MoveParent,
11981
310
    OPC_MoveSibling1,
11982
310
    OPC_CheckImmAllOnesV,
11983
310
    OPC_MoveParent,
11984
310
    OPC_MoveParent,
11985
310
    OPC_RecordChild1,
11986
310
    OPC_CheckType, MVT::v8i16,
11987
310
    OPC_CheckPatternPredicate3,
11988
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
11989
310
                  MVT::v8i16, 2, 1, 0, 
11990
310
   73, 
11991
310
    OPC_MoveChild0,
11992
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
11993
310
    OPC_MoveChild0,
11994
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11995
310
    OPC_CheckPredicate1, 
11996
310
    OPC_CheckTypeI32,
11997
310
    OPC_MoveSibling1,
11998
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
11999
310
    OPC_CheckPredicate1, 
12000
310
    OPC_CheckTypeI32,
12001
310
    OPC_MoveSibling2,
12002
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12003
310
    OPC_CheckPredicate1, 
12004
310
    OPC_CheckTypeI32,
12005
310
    OPC_MoveSibling3,
12006
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12007
310
    OPC_CheckPredicate1, 
12008
310
    OPC_CheckTypeI32,
12009
310
    OPC_MoveSibling4,
12010
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12011
310
    OPC_CheckPredicate1, 
12012
310
    OPC_CheckTypeI32,
12013
310
    OPC_MoveSibling5,
12014
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12015
310
    OPC_CheckPredicate1, 
12016
310
    OPC_CheckTypeI32,
12017
310
    OPC_MoveSibling6,
12018
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12019
310
    OPC_CheckPredicate1, 
12020
310
    OPC_CheckTypeI32,
12021
310
    OPC_MoveSibling7,
12022
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12023
310
    OPC_CheckPredicate1, 
12024
310
    OPC_CheckTypeI32,
12025
310
    OPC_MoveParent,
12026
310
    OPC_MoveParent,
12027
310
    OPC_RecordChild1,
12028
310
    OPC_CheckType, MVT::v8i16,
12029
310
    OPC_MoveParent,
12030
310
    OPC_MoveSibling1,
12031
310
    OPC_CheckImmAllOnesV,
12032
310
    OPC_MoveParent,
12033
310
    OPC_MoveParent,
12034
310
    OPC_RecordChild1,
12035
310
    OPC_CheckType, MVT::v8i16,
12036
310
    OPC_CheckPatternPredicate3,
12037
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
12038
310
                  MVT::v8i16, 2, 1, 0, 
12039
310
   0, 
12040
310
  119, 
12041
310
   OPC_RecordChild0,
12042
310
   OPC_MoveChild1,
12043
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12044
310
   OPC_MoveChild0,
12045
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12046
310
   OPC_MoveChild0,
12047
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12048
310
   OPC_CheckPredicate, 8,
12049
310
   OPC_MoveSibling1,
12050
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12051
310
   OPC_Scope, 48, 
12052
310
    OPC_RecordChild0,
12053
310
    OPC_MoveChild1,
12054
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12055
310
    OPC_MoveChild0,
12056
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12057
310
    OPC_CheckPredicate2, 
12058
310
    OPC_CheckTypeI32,
12059
310
    OPC_MoveSibling1,
12060
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12061
310
    OPC_CheckPredicate2, 
12062
310
    OPC_CheckTypeI32,
12063
310
    OPC_MoveSibling2,
12064
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12065
310
    OPC_CheckPredicate2, 
12066
310
    OPC_CheckTypeI32,
12067
310
    OPC_MoveSibling3,
12068
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12069
310
    OPC_CheckPredicate2, 
12070
310
    OPC_CheckTypeI32,
12071
310
    OPC_MoveParent,
12072
310
    OPC_MoveParent,
12073
310
    OPC_CheckType, MVT::v4i32,
12074
310
    OPC_MoveParent,
12075
310
    OPC_MoveSibling1,
12076
310
    OPC_CheckImmAllOnesV,
12077
310
    OPC_MoveParent,
12078
310
    OPC_MoveParent,
12079
310
    OPC_CheckType, MVT::v4i32,
12080
310
    OPC_CheckPatternPredicate3,
12081
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12082
310
                  MVT::v4i32, 2, 0, 1, 
12083
310
   48, 
12084
310
    OPC_MoveChild0,
12085
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12086
310
    OPC_MoveChild0,
12087
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12088
310
    OPC_CheckPredicate2, 
12089
310
    OPC_CheckTypeI32,
12090
310
    OPC_MoveSibling1,
12091
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12092
310
    OPC_CheckPredicate2, 
12093
310
    OPC_CheckTypeI32,
12094
310
    OPC_MoveSibling2,
12095
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12096
310
    OPC_CheckPredicate2, 
12097
310
    OPC_CheckTypeI32,
12098
310
    OPC_MoveSibling3,
12099
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12100
310
    OPC_CheckPredicate2, 
12101
310
    OPC_CheckTypeI32,
12102
310
    OPC_MoveParent,
12103
310
    OPC_MoveParent,
12104
310
    OPC_RecordChild1,
12105
310
    OPC_CheckType, MVT::v4i32,
12106
310
    OPC_MoveParent,
12107
310
    OPC_MoveSibling1,
12108
310
    OPC_CheckImmAllOnesV,
12109
310
    OPC_MoveParent,
12110
310
    OPC_MoveParent,
12111
310
    OPC_CheckType, MVT::v4i32,
12112
310
    OPC_CheckPatternPredicate3,
12113
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12114
310
                  MVT::v4i32, 2, 0, 1, 
12115
310
   0, 
12116
310
  120, 
12117
310
   OPC_MoveChild0,
12118
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12119
310
   OPC_MoveChild0,
12120
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12121
310
   OPC_MoveChild0,
12122
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12123
310
   OPC_CheckPredicate, 8,
12124
310
   OPC_MoveSibling1,
12125
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12126
310
   OPC_Scope, 49, 
12127
310
    OPC_RecordChild0,
12128
310
    OPC_MoveChild1,
12129
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12130
310
    OPC_MoveChild0,
12131
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12132
310
    OPC_CheckPredicate2, 
12133
310
    OPC_CheckTypeI32,
12134
310
    OPC_MoveSibling1,
12135
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12136
310
    OPC_CheckPredicate2, 
12137
310
    OPC_CheckTypeI32,
12138
310
    OPC_MoveSibling2,
12139
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12140
310
    OPC_CheckPredicate2, 
12141
310
    OPC_CheckTypeI32,
12142
310
    OPC_MoveSibling3,
12143
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12144
310
    OPC_CheckPredicate2, 
12145
310
    OPC_CheckTypeI32,
12146
310
    OPC_MoveParent,
12147
310
    OPC_MoveParent,
12148
310
    OPC_CheckType, MVT::v4i32,
12149
310
    OPC_MoveParent,
12150
310
    OPC_MoveSibling1,
12151
310
    OPC_CheckImmAllOnesV,
12152
310
    OPC_MoveParent,
12153
310
    OPC_MoveParent,
12154
310
    OPC_RecordChild1,
12155
310
    OPC_CheckType, MVT::v4i32,
12156
310
    OPC_CheckPatternPredicate3,
12157
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12158
310
                  MVT::v4i32, 2, 1, 0, 
12159
310
   49, 
12160
310
    OPC_MoveChild0,
12161
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12162
310
    OPC_MoveChild0,
12163
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12164
310
    OPC_CheckPredicate2, 
12165
310
    OPC_CheckTypeI32,
12166
310
    OPC_MoveSibling1,
12167
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12168
310
    OPC_CheckPredicate2, 
12169
310
    OPC_CheckTypeI32,
12170
310
    OPC_MoveSibling2,
12171
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12172
310
    OPC_CheckPredicate2, 
12173
310
    OPC_CheckTypeI32,
12174
310
    OPC_MoveSibling3,
12175
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12176
310
    OPC_CheckPredicate2, 
12177
310
    OPC_CheckTypeI32,
12178
310
    OPC_MoveParent,
12179
310
    OPC_MoveParent,
12180
310
    OPC_RecordChild1,
12181
310
    OPC_CheckType, MVT::v4i32,
12182
310
    OPC_MoveParent,
12183
310
    OPC_MoveSibling1,
12184
310
    OPC_CheckImmAllOnesV,
12185
310
    OPC_MoveParent,
12186
310
    OPC_MoveParent,
12187
310
    OPC_RecordChild1,
12188
310
    OPC_CheckType, MVT::v4i32,
12189
310
    OPC_CheckPatternPredicate3,
12190
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12191
310
                  MVT::v4i32, 2, 1, 0, 
12192
310
   0, 
12193
310
  94, 
12194
310
   OPC_RecordChild0,
12195
310
   OPC_MoveChild1,
12196
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12197
310
   OPC_MoveChild0,
12198
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12199
310
   OPC_MoveChild0,
12200
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12201
310
   OPC_MoveChild0,
12202
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12203
310
   OPC_CheckType, MVT::v4i32,
12204
310
   OPC_MoveParent,
12205
310
   OPC_CheckPredicate, 19,
12206
310
   OPC_MoveSibling1,
12207
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12208
310
   OPC_Scope, 32, 
12209
310
    OPC_RecordChild0,
12210
310
    OPC_MoveChild1,
12211
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12212
310
    OPC_MoveChild0,
12213
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12214
310
    OPC_CheckType, MVT::v4i32,
12215
310
    OPC_MoveParent,
12216
310
    OPC_CheckPredicate, 14,
12217
310
    OPC_MoveParent,
12218
310
    OPC_CheckType, MVT::v2i64,
12219
310
    OPC_MoveParent,
12220
310
    OPC_MoveSibling1,
12221
310
    OPC_CheckImmAllOnesV,
12222
310
    OPC_MoveParent,
12223
310
    OPC_MoveParent,
12224
310
    OPC_CheckType, MVT::v2i64,
12225
310
    OPC_CheckPatternPredicate3,
12226
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12227
310
                  MVT::v2i64, 2, 0, 1, 
12228
310
   32, 
12229
310
    OPC_MoveChild0,
12230
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12231
310
    OPC_MoveChild0,
12232
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12233
310
    OPC_CheckType, MVT::v4i32,
12234
310
    OPC_MoveParent,
12235
310
    OPC_CheckPredicate, 14,
12236
310
    OPC_MoveParent,
12237
310
    OPC_RecordChild1,
12238
310
    OPC_CheckType, MVT::v2i64,
12239
310
    OPC_MoveParent,
12240
310
    OPC_MoveSibling1,
12241
310
    OPC_CheckImmAllOnesV,
12242
310
    OPC_MoveParent,
12243
310
    OPC_MoveParent,
12244
310
    OPC_CheckType, MVT::v2i64,
12245
310
    OPC_CheckPatternPredicate3,
12246
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12247
310
                  MVT::v2i64, 2, 0, 1, 
12248
310
   0, 
12249
310
  95, 
12250
310
   OPC_MoveChild0,
12251
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12252
310
   OPC_MoveChild0,
12253
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12254
310
   OPC_MoveChild0,
12255
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12256
310
   OPC_MoveChild0,
12257
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12258
310
   OPC_CheckType, MVT::v4i32,
12259
310
   OPC_MoveParent,
12260
310
   OPC_CheckPredicate, 19,
12261
310
   OPC_MoveSibling1,
12262
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
12263
310
   OPC_Scope, 33, 
12264
310
    OPC_RecordChild0,
12265
310
    OPC_MoveChild1,
12266
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12267
310
    OPC_MoveChild0,
12268
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12269
310
    OPC_CheckType, MVT::v4i32,
12270
310
    OPC_MoveParent,
12271
310
    OPC_CheckPredicate, 14,
12272
310
    OPC_MoveParent,
12273
310
    OPC_CheckType, MVT::v2i64,
12274
310
    OPC_MoveParent,
12275
310
    OPC_MoveSibling1,
12276
310
    OPC_CheckImmAllOnesV,
12277
310
    OPC_MoveParent,
12278
310
    OPC_MoveParent,
12279
310
    OPC_RecordChild1,
12280
310
    OPC_CheckType, MVT::v2i64,
12281
310
    OPC_CheckPatternPredicate3,
12282
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12283
310
                  MVT::v2i64, 2, 1, 0, 
12284
310
   33, 
12285
310
    OPC_MoveChild0,
12286
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12287
310
    OPC_MoveChild0,
12288
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12289
310
    OPC_CheckType, MVT::v4i32,
12290
310
    OPC_MoveParent,
12291
310
    OPC_CheckPredicate, 14,
12292
310
    OPC_MoveParent,
12293
310
    OPC_RecordChild1,
12294
310
    OPC_CheckType, MVT::v2i64,
12295
310
    OPC_MoveParent,
12296
310
    OPC_MoveSibling1,
12297
310
    OPC_CheckImmAllOnesV,
12298
310
    OPC_MoveParent,
12299
310
    OPC_MoveParent,
12300
310
    OPC_RecordChild1,
12301
310
    OPC_CheckType, MVT::v2i64,
12302
310
    OPC_CheckPatternPredicate3,
12303
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12304
310
                  MVT::v2i64, 2, 1, 0, 
12305
310
   0, 
12306
310
  40, 
12307
310
   OPC_RecordChild0,
12308
310
   OPC_MoveChild1,
12309
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12310
310
   OPC_MoveChild0,
12311
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12312
310
   OPC_MoveChild0,
12313
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12314
310
   OPC_MoveChild0,
12315
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12316
310
   OPC_CheckType, MVT::v4i32,
12317
310
   OPC_MoveParent,
12318
310
   OPC_CheckPredicate, 19,
12319
310
   OPC_MoveParent,
12320
310
   OPC_RecordChild1,
12321
310
   OPC_CheckChild1Type, MVT::v2i64,
12322
310
   OPC_MoveSibling1,
12323
310
   OPC_CheckImmAllOnesV,
12324
310
   OPC_MoveParent,
12325
310
   OPC_MoveParent,
12326
310
   OPC_CheckType, MVT::v2i64,
12327
310
   OPC_CheckPatternPredicate0,
12328
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12329
310
                 MVT::v2i64, 2, 0, 1, 
12330
310
  40, 
12331
310
   OPC_MoveChild0,
12332
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12333
310
   OPC_MoveChild0,
12334
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12335
310
   OPC_MoveChild0,
12336
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
12337
310
   OPC_MoveChild0,
12338
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12339
310
   OPC_CheckType, MVT::v4i32,
12340
310
   OPC_MoveParent,
12341
310
   OPC_CheckPredicate, 19,
12342
310
   OPC_MoveParent,
12343
310
   OPC_RecordChild1,
12344
310
   OPC_CheckChild1Type, MVT::v2i64,
12345
310
   OPC_MoveSibling1,
12346
310
   OPC_CheckImmAllOnesV,
12347
310
   OPC_MoveParent,
12348
310
   OPC_MoveParent,
12349
310
   OPC_RecordChild1,
12350
310
   OPC_CheckType, MVT::v2i64,
12351
310
   OPC_CheckPatternPredicate0,
12352
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_D),
12353
310
                 MVT::v2i64, 2, 1, 0, 
12354
310
  70, 
12355
310
   OPC_RecordChild0,
12356
310
   OPC_MoveChild1,
12357
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12358
310
   OPC_MoveChild0,
12359
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12360
310
   OPC_MoveChild0,
12361
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12362
310
   OPC_CheckPredicate, 8,
12363
310
   OPC_MoveParent,
12364
310
   OPC_RecordChild1,
12365
310
   OPC_Scope, 16, 
12366
310
    OPC_CheckChild1Type, MVT::v16i8,
12367
310
    OPC_MoveSibling1,
12368
310
    OPC_CheckImmAllOnesV,
12369
310
    OPC_MoveParent,
12370
310
    OPC_MoveParent,
12371
310
    OPC_CheckType, MVT::v16i8,
12372
310
    OPC_CheckPatternPredicate0,
12373
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
12374
310
                  MVT::v16i8, 2, 0, 1, 
12375
310
   16, 
12376
310
    OPC_CheckChild1Type, MVT::v8i16,
12377
310
    OPC_MoveSibling1,
12378
310
    OPC_CheckImmAllOnesV,
12379
310
    OPC_MoveParent,
12380
310
    OPC_MoveParent,
12381
310
    OPC_CheckType, MVT::v8i16,
12382
310
    OPC_CheckPatternPredicate0,
12383
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
12384
310
                  MVT::v8i16, 2, 0, 1, 
12385
310
   16, 
12386
310
    OPC_CheckChild1Type, MVT::v4i32,
12387
310
    OPC_MoveSibling1,
12388
310
    OPC_CheckImmAllOnesV,
12389
310
    OPC_MoveParent,
12390
310
    OPC_MoveParent,
12391
310
    OPC_CheckType, MVT::v4i32,
12392
310
    OPC_CheckPatternPredicate0,
12393
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12394
310
                  MVT::v4i32, 2, 0, 1, 
12395
310
   0, 
12396
310
  72, 
12397
310
   OPC_MoveChild0,
12398
310
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
12399
310
   OPC_MoveChild0,
12400
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12401
310
   OPC_MoveChild0,
12402
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
12403
310
   OPC_CheckPredicate, 8,
12404
310
   OPC_MoveParent,
12405
310
   OPC_RecordChild1,
12406
310
   OPC_Scope, 17, 
12407
310
    OPC_CheckChild1Type, MVT::v16i8,
12408
310
    OPC_MoveSibling1,
12409
310
    OPC_CheckImmAllOnesV,
12410
310
    OPC_MoveParent,
12411
310
    OPC_MoveParent,
12412
310
    OPC_RecordChild1,
12413
310
    OPC_CheckType, MVT::v16i8,
12414
310
    OPC_CheckPatternPredicate0,
12415
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_B),
12416
310
                  MVT::v16i8, 2, 1, 0, 
12417
310
   17, 
12418
310
    OPC_CheckChild1Type, MVT::v8i16,
12419
310
    OPC_MoveSibling1,
12420
310
    OPC_CheckImmAllOnesV,
12421
310
    OPC_MoveParent,
12422
310
    OPC_MoveParent,
12423
310
    OPC_RecordChild1,
12424
310
    OPC_CheckType, MVT::v8i16,
12425
310
    OPC_CheckPatternPredicate0,
12426
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_H),
12427
310
                  MVT::v8i16, 2, 1, 0, 
12428
310
   17, 
12429
310
    OPC_CheckChild1Type, MVT::v4i32,
12430
310
    OPC_MoveSibling1,
12431
310
    OPC_CheckImmAllOnesV,
12432
310
    OPC_MoveParent,
12433
310
    OPC_MoveParent,
12434
310
    OPC_RecordChild1,
12435
310
    OPC_CheckType, MVT::v4i32,
12436
310
    OPC_CheckPatternPredicate0,
12437
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLR_W),
12438
310
                  MVT::v4i32, 2, 1, 0, 
12439
310
   0, 
12440
310
  36|128,1, 
12441
310
   OPC_RecordChild0,
12442
310
   OPC_RecordChild1,
12443
310
   OPC_SwitchType , 53, MVT::v16i8,
12444
310
    OPC_CheckPatternPredicate0,
12445
310
    OPC_Scope, 9, 
12446
310
     OPC_CheckComplexPat5, /*#*/1,
12447
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_B),
12448
310
                   MVT::v16i8, 2, 0, 2, 
12449
310
    10, 
12450
310
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
12451
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_B),
12452
310
                   MVT::v16i8, 2, 0, 2, 
12453
310
    9, 
12454
310
     OPC_CheckComplexPat5, /*#*/0,
12455
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ANDI_B),
12456
310
                   MVT::v16i8, 2, 1, 2, 
12457
310
    10, 
12458
310
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
12459
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_B),
12460
310
                   MVT::v16i8, 2, 1, 2, 
12461
310
    7, 
12462
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V),
12463
310
                   MVT::v16i8, 2, 0, 1, 
12464
310
    0, 
12465
310
   33, MVT::v8i16,
12466
310
    OPC_CheckPatternPredicate0,
12467
310
    OPC_Scope, 10, 
12468
310
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
12469
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_H),
12470
310
                   MVT::v8i16, 2, 0, 2, 
12471
310
    10, 
12472
310
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
12473
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_H),
12474
310
                   MVT::v8i16, 2, 1, 2, 
12475
310
    7, 
12476
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_H_PSEUDO),
12477
310
                   MVT::v8i16, 2, 0, 1, 
12478
310
    0, 
12479
310
   33, MVT::v4i32,
12480
310
    OPC_CheckPatternPredicate0,
12481
310
    OPC_Scope, 10, 
12482
310
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
12483
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_W),
12484
310
                   MVT::v4i32, 2, 0, 2, 
12485
310
    10, 
12486
310
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
12487
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_W),
12488
310
                   MVT::v4i32, 2, 1, 2, 
12489
310
    7, 
12490
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_W_PSEUDO),
12491
310
                   MVT::v4i32, 2, 0, 1, 
12492
310
    0, 
12493
310
   33, MVT::v2i64,
12494
310
    OPC_CheckPatternPredicate0,
12495
310
    OPC_Scope, 10, 
12496
310
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
12497
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_D),
12498
310
                   MVT::v2i64, 2, 0, 2, 
12499
310
    10, 
12500
310
     OPC_CheckComplexPat, /*CP*/11, /*#*/0,
12501
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BCLRI_D),
12502
310
                   MVT::v2i64, 2, 1, 2, 
12503
310
    7, 
12504
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AND_V_D_PSEUDO),
12505
310
                   MVT::v2i64, 2, 0, 1, 
12506
310
    0, 
12507
310
   0,
12508
310
  0, 
12509
310
 72, TARGET_VAL(MipsISD::CIns),
12510
310
  OPC_RecordChild0,
12511
310
  OPC_RecordChild1,
12512
310
  OPC_MoveChild1,
12513
310
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12514
310
  OPC_Scope, 20, 
12515
310
   OPC_CheckPredicate3, 
12516
310
   OPC_MoveSibling2,
12517
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12518
310
   OPC_RecordNode,
12519
310
   OPC_MoveParent,
12520
310
   OPC_CheckTypeI64,
12521
310
   OPC_CheckPatternPredicate, 64,
12522
310
   OPC_EmitConvertToTarget1,
12523
310
   OPC_EmitConvertToTarget2,
12524
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS),
12525
310
                 MVT::i64, 3, 0, 3, 4, 
12526
310
  21, 
12527
310
   OPC_CheckPredicate, 40,
12528
310
   OPC_MoveSibling2,
12529
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12530
310
   OPC_RecordNode,
12531
310
   OPC_MoveParent,
12532
310
   OPC_CheckTypeI64,
12533
310
   OPC_CheckPatternPredicate, 64,
12534
310
   OPC_EmitConvertToTarget1,
12535
310
   OPC_EmitConvertToTarget2,
12536
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS32),
12537
310
                 MVT::i64, 3, 0, 3, 4, 
12538
310
  20, 
12539
310
   OPC_CheckPredicate3, 
12540
310
   OPC_MoveSibling2,
12541
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12542
310
   OPC_RecordNode,
12543
310
   OPC_MoveParent,
12544
310
   OPC_CheckTypeI32,
12545
310
   OPC_CheckPatternPredicate, 64,
12546
310
   OPC_EmitConvertToTarget1,
12547
310
   OPC_EmitConvertToTarget2,
12548
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS_i32),
12549
310
                 MVT::i32, 3, 0, 3, 4, 
12550
310
  0, 
12551
310
 21|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
12552
310
  OPC_Scope, 108, 
12553
310
   OPC_MoveChild0,
12554
310
   OPC_SwitchOpcode , 73, TARGET_VAL(ISD::SETCC),
12555
310
    OPC_RecordChild0,
12556
310
    OPC_CheckChild0TypeI64,
12557
310
    OPC_RecordChild1,
12558
310
    OPC_Scope, 39, 
12559
310
     OPC_MoveChild1,
12560
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12561
310
     OPC_CheckPredicate, 59,
12562
310
     OPC_MoveParent,
12563
310
     OPC_Scope, 14, 
12564
310
      OPC_CheckChild2CondCode, ISD::SETEQ,
12565
310
      OPC_MoveParent,
12566
310
      OPC_CheckTypeI64,
12567
310
      OPC_CheckPatternPredicate, 25,
12568
310
      OPC_EmitConvertToTarget1,
12569
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEQi),
12570
310
                    MVT::i64, 2, 0, 2, 
12571
310
     14, 
12572
310
      OPC_CheckChild2CondCode, ISD::SETNE,
12573
310
      OPC_MoveParent,
12574
310
      OPC_CheckTypeI64,
12575
310
      OPC_CheckPatternPredicate, 25,
12576
310
      OPC_EmitConvertToTarget1,
12577
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNEi),
12578
310
                    MVT::i64, 2, 0, 2, 
12579
310
     0, 
12580
310
    13, 
12581
310
     OPC_CheckChild2CondCode, ISD::SETEQ,
12582
310
     OPC_MoveParent,
12583
310
     OPC_CheckTypeI64,
12584
310
     OPC_CheckPatternPredicate, 25,
12585
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEQ),
12586
310
                   MVT::i64, 2, 0, 1, 
12587
310
    13, 
12588
310
     OPC_CheckChild2CondCode, ISD::SETNE,
12589
310
     OPC_MoveParent,
12590
310
     OPC_CheckTypeI64,
12591
310
     OPC_CheckPatternPredicate, 25,
12592
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNE),
12593
310
                   MVT::i64, 2, 0, 1, 
12594
310
    0, 
12595
310
   26, TARGET_VAL(ISD::SHL),
12596
310
    OPC_RecordChild0,
12597
310
    OPC_RecordChild1,
12598
310
    OPC_MoveChild1,
12599
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12600
310
    OPC_CheckPredicate3, 
12601
310
    OPC_CheckTypeI32,
12602
310
    OPC_MoveParent,
12603
310
    OPC_MoveParent,
12604
310
    OPC_CheckTypeI64,
12605
310
    OPC_CheckPatternPredicate, 108,
12606
310
    OPC_EmitConvertToTarget1,
12607
310
    OPC_EmitConvertToTarget1,
12608
310
    OPC_EmitNodeXForm, 4, 3,
12609
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::CINS64_32),
12610
310
                  MVT::i64, 3, 0, 2, 4, 
12611
310
   0,
12612
310
  37, 
12613
310
   OPC_RecordChild0,
12614
310
   OPC_CheckTypeI64,
12615
310
   OPC_Scope, 14, 
12616
310
    OPC_CheckPatternPredicate, 109,
12617
310
    OPC_EmitInteger32, 0, 
12618
310
    OPC_EmitInteger32, 64, 
12619
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DEXT64_32),
12620
310
                  MVT::i64, 3, 0, 1, 2, 
12621
310
   17, 
12622
310
    OPC_CheckPatternPredicate, 12,
12623
310
    OPC_EmitNode1None, TARGET_VAL(Mips::DSLL64_32),
12624
310
                  MVT::i64, 1, 0, 
12625
310
    OPC_EmitInteger32, 64, 
12626
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSRL),
12627
310
                  MVT::i64, 2, 1, 2, 
12628
310
   0, 
12629
310
  0, 
12630
310
 98|128,13, TARGET_VAL(ISD::ADD),
12631
310
  OPC_Scope, 43, 
12632
310
   OPC_RecordChild0,
12633
310
   OPC_MoveChild1,
12634
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12635
310
   OPC_RecordChild0,
12636
310
   OPC_RecordChild1,
12637
310
   OPC_MoveChild1,
12638
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12639
310
   OPC_CheckPredicate, 38,
12640
310
   OPC_CheckTypeI32,
12641
310
   OPC_MoveParent,
12642
310
   OPC_MoveParent,
12643
310
   OPC_SwitchType , 10, MVT::i32,
12644
310
    OPC_CheckPatternPredicate0,
12645
310
    OPC_EmitConvertToTarget2,
12646
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LSA),
12647
310
                  MVT::i32, 3, 1, 0, 3, 
12648
310
   11, MVT::i64,
12649
310
    OPC_CheckPatternPredicate, 42,
12650
310
    OPC_EmitConvertToTarget2,
12651
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DLSA),
12652
310
                  MVT::i64, 3, 1, 0, 3, 
12653
310
   0,
12654
310
  43, 
12655
310
   OPC_MoveChild0,
12656
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
12657
310
   OPC_RecordChild0,
12658
310
   OPC_RecordChild1,
12659
310
   OPC_MoveChild1,
12660
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
12661
310
   OPC_CheckPredicate, 38,
12662
310
   OPC_CheckTypeI32,
12663
310
   OPC_MoveParent,
12664
310
   OPC_MoveParent,
12665
310
   OPC_RecordChild1,
12666
310
   OPC_SwitchType , 10, MVT::i32,
12667
310
    OPC_CheckPatternPredicate0,
12668
310
    OPC_EmitConvertToTarget1,
12669
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LSA),
12670
310
                  MVT::i32, 3, 0, 2, 3, 
12671
310
   11, MVT::i64,
12672
310
    OPC_CheckPatternPredicate, 42,
12673
310
    OPC_EmitConvertToTarget1,
12674
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DLSA),
12675
310
                  MVT::i64, 3, 0, 2, 3, 
12676
310
   0,
12677
310
  78|128,4, 
12678
310
   OPC_RecordChild0,
12679
310
   OPC_MoveChild1,
12680
310
   OPC_SwitchOpcode , 75|128,2, TARGET_VAL(MipsISD::Lo),
12681
310
    OPC_RecordChild0,
12682
310
    OPC_MoveChild0,
12683
310
    OPC_SwitchOpcode , 59, TARGET_VAL(ISD::TargetGlobalAddress),
12684
310
     OPC_MoveParent,
12685
310
     OPC_MoveParent,
12686
310
     OPC_SwitchType , 29, MVT::i32,
12687
310
      OPC_Scope, 8, 
12688
310
       OPC_CheckPatternPredicate2,
12689
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12690
310
                     MVT::i32, 2, 0, 1, 
12691
310
      8, 
12692
310
       OPC_CheckPatternPredicate5,
12693
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
12694
310
                     MVT::i32, 2, 0, 1, 
12695
310
      8, 
12696
310
       OPC_CheckPatternPredicate4,
12697
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12698
310
                     MVT::i32, 2, 0, 1, 
12699
310
      0, 
12700
310
     22, MVT::i64,
12701
310
      OPC_Scope, 9, 
12702
310
       OPC_CheckPatternPredicate, 22,
12703
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12704
310
                     MVT::i64, 2, 0, 1, 
12705
310
      9, 
12706
310
       OPC_CheckPatternPredicate, 11,
12707
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12708
310
                     MVT::i64, 2, 0, 1, 
12709
310
      0, 
12710
310
     0,
12711
310
    50, TARGET_VAL(ISD::TargetBlockAddress),
12712
310
     OPC_MoveParent,
12713
310
     OPC_MoveParent,
12714
310
     OPC_SwitchType , 20, MVT::i32,
12715
310
      OPC_Scope, 8, 
12716
310
       OPC_CheckPatternPredicate2,
12717
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12718
310
                     MVT::i32, 2, 0, 1, 
12719
310
      8, 
12720
310
       OPC_CheckPatternPredicate4,
12721
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12722
310
                     MVT::i32, 2, 0, 1, 
12723
310
      0, 
12724
310
     22, MVT::i64,
12725
310
      OPC_Scope, 9, 
12726
310
       OPC_CheckPatternPredicate, 22,
12727
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12728
310
                     MVT::i64, 2, 0, 1, 
12729
310
      9, 
12730
310
       OPC_CheckPatternPredicate, 11,
12731
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12732
310
                     MVT::i64, 2, 0, 1, 
12733
310
      0, 
12734
310
     0,
12735
310
    50, TARGET_VAL(ISD::TargetJumpTable),
12736
310
     OPC_MoveParent,
12737
310
     OPC_MoveParent,
12738
310
     OPC_SwitchType , 20, MVT::i32,
12739
310
      OPC_Scope, 8, 
12740
310
       OPC_CheckPatternPredicate2,
12741
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12742
310
                     MVT::i32, 2, 0, 1, 
12743
310
      8, 
12744
310
       OPC_CheckPatternPredicate4,
12745
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12746
310
                     MVT::i32, 2, 0, 1, 
12747
310
      0, 
12748
310
     22, MVT::i64,
12749
310
      OPC_Scope, 9, 
12750
310
       OPC_CheckPatternPredicate, 22,
12751
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12752
310
                     MVT::i64, 2, 0, 1, 
12753
310
      9, 
12754
310
       OPC_CheckPatternPredicate, 11,
12755
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12756
310
                     MVT::i64, 2, 0, 1, 
12757
310
      0, 
12758
310
     0,
12759
310
    50, TARGET_VAL(ISD::TargetConstantPool),
12760
310
     OPC_MoveParent,
12761
310
     OPC_MoveParent,
12762
310
     OPC_SwitchType , 20, MVT::i32,
12763
310
      OPC_Scope, 8, 
12764
310
       OPC_CheckPatternPredicate2,
12765
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12766
310
                     MVT::i32, 2, 0, 1, 
12767
310
      8, 
12768
310
       OPC_CheckPatternPredicate4,
12769
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12770
310
                     MVT::i32, 2, 0, 1, 
12771
310
      0, 
12772
310
     22, MVT::i64,
12773
310
      OPC_Scope, 9, 
12774
310
       OPC_CheckPatternPredicate, 22,
12775
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12776
310
                     MVT::i64, 2, 0, 1, 
12777
310
      9, 
12778
310
       OPC_CheckPatternPredicate, 11,
12779
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12780
310
                     MVT::i64, 2, 0, 1, 
12781
310
      0, 
12782
310
     0,
12783
310
    50, TARGET_VAL(ISD::TargetGlobalTLSAddress),
12784
310
     OPC_MoveParent,
12785
310
     OPC_MoveParent,
12786
310
     OPC_SwitchType , 20, MVT::i32,
12787
310
      OPC_Scope, 8, 
12788
310
       OPC_CheckPatternPredicate2,
12789
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12790
310
                     MVT::i32, 2, 0, 1, 
12791
310
      8, 
12792
310
       OPC_CheckPatternPredicate4,
12793
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12794
310
                     MVT::i32, 2, 0, 1, 
12795
310
      0, 
12796
310
     22, MVT::i64,
12797
310
      OPC_Scope, 9, 
12798
310
       OPC_CheckPatternPredicate, 22,
12799
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12800
310
                     MVT::i64, 2, 0, 1, 
12801
310
      9, 
12802
310
       OPC_CheckPatternPredicate, 11,
12803
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12804
310
                     MVT::i64, 2, 0, 1, 
12805
310
      0, 
12806
310
     0,
12807
310
    50, TARGET_VAL(ISD::TargetExternalSymbol),
12808
310
     OPC_MoveParent,
12809
310
     OPC_MoveParent,
12810
310
     OPC_SwitchType , 20, MVT::i32,
12811
310
      OPC_Scope, 8, 
12812
310
       OPC_CheckPatternPredicate2,
12813
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12814
310
                     MVT::i32, 2, 0, 1, 
12815
310
      8, 
12816
310
       OPC_CheckPatternPredicate4,
12817
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12818
310
                     MVT::i32, 2, 0, 1, 
12819
310
      0, 
12820
310
     22, MVT::i64,
12821
310
      OPC_Scope, 9, 
12822
310
       OPC_CheckPatternPredicate, 22,
12823
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12824
310
                     MVT::i64, 2, 0, 1, 
12825
310
      9, 
12826
310
       OPC_CheckPatternPredicate, 11,
12827
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12828
310
                     MVT::i64, 2, 0, 1, 
12829
310
      0, 
12830
310
     0,
12831
310
    0,
12832
310
   84, TARGET_VAL(MipsISD::GPRel),
12833
310
    OPC_RecordChild0,
12834
310
    OPC_MoveChild0,
12835
310
    OPC_SwitchOpcode , 37, TARGET_VAL(ISD::TargetGlobalAddress),
12836
310
     OPC_MoveParent,
12837
310
     OPC_MoveParent,
12838
310
     OPC_SwitchType , 20, MVT::i32,
12839
310
      OPC_Scope, 8, 
12840
310
       OPC_CheckPatternPredicate2,
12841
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12842
310
                     MVT::i32, 2, 0, 1, 
12843
310
      8, 
12844
310
       OPC_CheckPatternPredicate4,
12845
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12846
310
                     MVT::i32, 2, 0, 1, 
12847
310
      0, 
12848
310
     9, MVT::i64,
12849
310
      OPC_CheckPatternPredicate, 54,
12850
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12851
310
                    MVT::i64, 2, 0, 1, 
12852
310
     0,
12853
310
    37, TARGET_VAL(ISD::TargetConstantPool),
12854
310
     OPC_MoveParent,
12855
310
     OPC_MoveParent,
12856
310
     OPC_SwitchType , 20, MVT::i32,
12857
310
      OPC_Scope, 8, 
12858
310
       OPC_CheckPatternPredicate2,
12859
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12860
310
                     MVT::i32, 2, 0, 1, 
12861
310
      8, 
12862
310
       OPC_CheckPatternPredicate4,
12863
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12864
310
                     MVT::i32, 2, 0, 1, 
12865
310
      0, 
12866
310
     9, MVT::i64,
12867
310
      OPC_CheckPatternPredicate, 54,
12868
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12869
310
                    MVT::i64, 2, 0, 1, 
12870
310
     0,
12871
310
    0,
12872
310
   79, TARGET_VAL(MipsISD::Higher),
12873
310
    OPC_RecordChild0,
12874
310
    OPC_MoveChild0,
12875
310
    OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
12876
310
     OPC_MoveParent,
12877
310
     OPC_MoveParent,
12878
310
     OPC_CheckTypeI64,
12879
310
     OPC_CheckPatternPredicate, 11,
12880
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12881
310
                   MVT::i64, 2, 0, 1, 
12882
310
    12, TARGET_VAL(ISD::TargetBlockAddress),
12883
310
     OPC_MoveParent,
12884
310
     OPC_MoveParent,
12885
310
     OPC_CheckTypeI64,
12886
310
     OPC_CheckPatternPredicate, 11,
12887
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12888
310
                   MVT::i64, 2, 0, 1, 
12889
310
    12, TARGET_VAL(ISD::TargetJumpTable),
12890
310
     OPC_MoveParent,
12891
310
     OPC_MoveParent,
12892
310
     OPC_CheckTypeI64,
12893
310
     OPC_CheckPatternPredicate, 11,
12894
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12895
310
                   MVT::i64, 2, 0, 1, 
12896
310
    12, TARGET_VAL(ISD::TargetConstantPool),
12897
310
     OPC_MoveParent,
12898
310
     OPC_MoveParent,
12899
310
     OPC_CheckTypeI64,
12900
310
     OPC_CheckPatternPredicate, 11,
12901
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12902
310
                   MVT::i64, 2, 0, 1, 
12903
310
    12, TARGET_VAL(ISD::TargetExternalSymbol),
12904
310
     OPC_MoveParent,
12905
310
     OPC_MoveParent,
12906
310
     OPC_CheckTypeI64,
12907
310
     OPC_CheckPatternPredicate, 11,
12908
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12909
310
                   MVT::i64, 2, 0, 1, 
12910
310
    0,
12911
310
   79, TARGET_VAL(MipsISD::Hi),
12912
310
    OPC_RecordChild0,
12913
310
    OPC_MoveChild0,
12914
310
    OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
12915
310
     OPC_MoveParent,
12916
310
     OPC_MoveParent,
12917
310
     OPC_CheckTypeI64,
12918
310
     OPC_CheckPatternPredicate, 11,
12919
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12920
310
                   MVT::i64, 2, 0, 1, 
12921
310
    12, TARGET_VAL(ISD::TargetBlockAddress),
12922
310
     OPC_MoveParent,
12923
310
     OPC_MoveParent,
12924
310
     OPC_CheckTypeI64,
12925
310
     OPC_CheckPatternPredicate, 11,
12926
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12927
310
                   MVT::i64, 2, 0, 1, 
12928
310
    12, TARGET_VAL(ISD::TargetJumpTable),
12929
310
     OPC_MoveParent,
12930
310
     OPC_MoveParent,
12931
310
     OPC_CheckTypeI64,
12932
310
     OPC_CheckPatternPredicate, 11,
12933
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12934
310
                   MVT::i64, 2, 0, 1, 
12935
310
    12, TARGET_VAL(ISD::TargetConstantPool),
12936
310
     OPC_MoveParent,
12937
310
     OPC_MoveParent,
12938
310
     OPC_CheckTypeI64,
12939
310
     OPC_CheckPatternPredicate, 11,
12940
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12941
310
                   MVT::i64, 2, 0, 1, 
12942
310
    12, TARGET_VAL(ISD::TargetExternalSymbol),
12943
310
     OPC_MoveParent,
12944
310
     OPC_MoveParent,
12945
310
     OPC_CheckTypeI64,
12946
310
     OPC_CheckPatternPredicate, 11,
12947
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12948
310
                   MVT::i64, 2, 0, 1, 
12949
310
    0,
12950
310
   0,
12951
310
  95|128,4, 
12952
310
   OPC_MoveChild0,
12953
310
   OPC_SwitchOpcode , 81|128,2, TARGET_VAL(MipsISD::Lo),
12954
310
    OPC_RecordChild0,
12955
310
    OPC_MoveChild0,
12956
310
    OPC_SwitchOpcode , 60, TARGET_VAL(ISD::TargetGlobalAddress),
12957
310
     OPC_MoveParent,
12958
310
     OPC_MoveParent,
12959
310
     OPC_RecordChild1,
12960
310
     OPC_SwitchType , 29, MVT::i32,
12961
310
      OPC_Scope, 8, 
12962
310
       OPC_CheckPatternPredicate2,
12963
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12964
310
                     MVT::i32, 2, 1, 0, 
12965
310
      8, 
12966
310
       OPC_CheckPatternPredicate5,
12967
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
12968
310
                     MVT::i32, 2, 1, 0, 
12969
310
      8, 
12970
310
       OPC_CheckPatternPredicate4,
12971
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12972
310
                     MVT::i32, 2, 1, 0, 
12973
310
      0, 
12974
310
     22, MVT::i64,
12975
310
      OPC_Scope, 9, 
12976
310
       OPC_CheckPatternPredicate, 22,
12977
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12978
310
                     MVT::i64, 2, 1, 0, 
12979
310
      9, 
12980
310
       OPC_CheckPatternPredicate, 11,
12981
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
12982
310
                     MVT::i64, 2, 1, 0, 
12983
310
      0, 
12984
310
     0,
12985
310
    51, TARGET_VAL(ISD::TargetBlockAddress),
12986
310
     OPC_MoveParent,
12987
310
     OPC_MoveParent,
12988
310
     OPC_RecordChild1,
12989
310
     OPC_SwitchType , 20, MVT::i32,
12990
310
      OPC_Scope, 8, 
12991
310
       OPC_CheckPatternPredicate2,
12992
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
12993
310
                     MVT::i32, 2, 1, 0, 
12994
310
      8, 
12995
310
       OPC_CheckPatternPredicate4,
12996
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
12997
310
                     MVT::i32, 2, 1, 0, 
12998
310
      0, 
12999
310
     22, MVT::i64,
13000
310
      OPC_Scope, 9, 
13001
310
       OPC_CheckPatternPredicate, 22,
13002
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13003
310
                     MVT::i64, 2, 1, 0, 
13004
310
      9, 
13005
310
       OPC_CheckPatternPredicate, 11,
13006
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13007
310
                     MVT::i64, 2, 1, 0, 
13008
310
      0, 
13009
310
     0,
13010
310
    51, TARGET_VAL(ISD::TargetJumpTable),
13011
310
     OPC_MoveParent,
13012
310
     OPC_MoveParent,
13013
310
     OPC_RecordChild1,
13014
310
     OPC_SwitchType , 20, MVT::i32,
13015
310
      OPC_Scope, 8, 
13016
310
       OPC_CheckPatternPredicate2,
13017
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13018
310
                     MVT::i32, 2, 1, 0, 
13019
310
      8, 
13020
310
       OPC_CheckPatternPredicate4,
13021
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13022
310
                     MVT::i32, 2, 1, 0, 
13023
310
      0, 
13024
310
     22, MVT::i64,
13025
310
      OPC_Scope, 9, 
13026
310
       OPC_CheckPatternPredicate, 22,
13027
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13028
310
                     MVT::i64, 2, 1, 0, 
13029
310
      9, 
13030
310
       OPC_CheckPatternPredicate, 11,
13031
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13032
310
                     MVT::i64, 2, 1, 0, 
13033
310
      0, 
13034
310
     0,
13035
310
    51, TARGET_VAL(ISD::TargetConstantPool),
13036
310
     OPC_MoveParent,
13037
310
     OPC_MoveParent,
13038
310
     OPC_RecordChild1,
13039
310
     OPC_SwitchType , 20, MVT::i32,
13040
310
      OPC_Scope, 8, 
13041
310
       OPC_CheckPatternPredicate2,
13042
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13043
310
                     MVT::i32, 2, 1, 0, 
13044
310
      8, 
13045
310
       OPC_CheckPatternPredicate4,
13046
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13047
310
                     MVT::i32, 2, 1, 0, 
13048
310
      0, 
13049
310
     22, MVT::i64,
13050
310
      OPC_Scope, 9, 
13051
310
       OPC_CheckPatternPredicate, 22,
13052
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13053
310
                     MVT::i64, 2, 1, 0, 
13054
310
      9, 
13055
310
       OPC_CheckPatternPredicate, 11,
13056
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13057
310
                     MVT::i64, 2, 1, 0, 
13058
310
      0, 
13059
310
     0,
13060
310
    51, TARGET_VAL(ISD::TargetGlobalTLSAddress),
13061
310
     OPC_MoveParent,
13062
310
     OPC_MoveParent,
13063
310
     OPC_RecordChild1,
13064
310
     OPC_SwitchType , 20, MVT::i32,
13065
310
      OPC_Scope, 8, 
13066
310
       OPC_CheckPatternPredicate2,
13067
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13068
310
                     MVT::i32, 2, 1, 0, 
13069
310
      8, 
13070
310
       OPC_CheckPatternPredicate4,
13071
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13072
310
                     MVT::i32, 2, 1, 0, 
13073
310
      0, 
13074
310
     22, MVT::i64,
13075
310
      OPC_Scope, 9, 
13076
310
       OPC_CheckPatternPredicate, 22,
13077
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13078
310
                     MVT::i64, 2, 1, 0, 
13079
310
      9, 
13080
310
       OPC_CheckPatternPredicate, 11,
13081
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13082
310
                     MVT::i64, 2, 1, 0, 
13083
310
      0, 
13084
310
     0,
13085
310
    51, TARGET_VAL(ISD::TargetExternalSymbol),
13086
310
     OPC_MoveParent,
13087
310
     OPC_MoveParent,
13088
310
     OPC_RecordChild1,
13089
310
     OPC_SwitchType , 20, MVT::i32,
13090
310
      OPC_Scope, 8, 
13091
310
       OPC_CheckPatternPredicate2,
13092
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13093
310
                     MVT::i32, 2, 1, 0, 
13094
310
      8, 
13095
310
       OPC_CheckPatternPredicate4,
13096
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13097
310
                     MVT::i32, 2, 1, 0, 
13098
310
      0, 
13099
310
     22, MVT::i64,
13100
310
      OPC_Scope, 9, 
13101
310
       OPC_CheckPatternPredicate, 22,
13102
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13103
310
                     MVT::i64, 2, 1, 0, 
13104
310
      9, 
13105
310
       OPC_CheckPatternPredicate, 11,
13106
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13107
310
                     MVT::i64, 2, 1, 0, 
13108
310
      0, 
13109
310
     0,
13110
310
    0,
13111
310
   86, TARGET_VAL(MipsISD::GPRel),
13112
310
    OPC_RecordChild0,
13113
310
    OPC_MoveChild0,
13114
310
    OPC_SwitchOpcode , 38, TARGET_VAL(ISD::TargetGlobalAddress),
13115
310
     OPC_MoveParent,
13116
310
     OPC_MoveParent,
13117
310
     OPC_RecordChild1,
13118
310
     OPC_SwitchType , 20, MVT::i32,
13119
310
      OPC_Scope, 8, 
13120
310
       OPC_CheckPatternPredicate2,
13121
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13122
310
                     MVT::i32, 2, 1, 0, 
13123
310
      8, 
13124
310
       OPC_CheckPatternPredicate4,
13125
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13126
310
                     MVT::i32, 2, 1, 0, 
13127
310
      0, 
13128
310
     9, MVT::i64,
13129
310
      OPC_CheckPatternPredicate, 54,
13130
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13131
310
                    MVT::i64, 2, 1, 0, 
13132
310
     0,
13133
310
    38, TARGET_VAL(ISD::TargetConstantPool),
13134
310
     OPC_MoveParent,
13135
310
     OPC_MoveParent,
13136
310
     OPC_RecordChild1,
13137
310
     OPC_SwitchType , 20, MVT::i32,
13138
310
      OPC_Scope, 8, 
13139
310
       OPC_CheckPatternPredicate2,
13140
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13141
310
                     MVT::i32, 2, 1, 0, 
13142
310
      8, 
13143
310
       OPC_CheckPatternPredicate4,
13144
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13145
310
                     MVT::i32, 2, 1, 0, 
13146
310
      0, 
13147
310
     9, MVT::i64,
13148
310
      OPC_CheckPatternPredicate, 54,
13149
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13150
310
                    MVT::i64, 2, 1, 0, 
13151
310
     0,
13152
310
    0,
13153
310
   84, TARGET_VAL(MipsISD::Higher),
13154
310
    OPC_RecordChild0,
13155
310
    OPC_MoveChild0,
13156
310
    OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetGlobalAddress),
13157
310
     OPC_MoveParent,
13158
310
     OPC_MoveParent,
13159
310
     OPC_RecordChild1,
13160
310
     OPC_CheckTypeI64,
13161
310
     OPC_CheckPatternPredicate, 11,
13162
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13163
310
                   MVT::i64, 2, 1, 0, 
13164
310
    13, TARGET_VAL(ISD::TargetBlockAddress),
13165
310
     OPC_MoveParent,
13166
310
     OPC_MoveParent,
13167
310
     OPC_RecordChild1,
13168
310
     OPC_CheckTypeI64,
13169
310
     OPC_CheckPatternPredicate, 11,
13170
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13171
310
                   MVT::i64, 2, 1, 0, 
13172
310
    13, TARGET_VAL(ISD::TargetJumpTable),
13173
310
     OPC_MoveParent,
13174
310
     OPC_MoveParent,
13175
310
     OPC_RecordChild1,
13176
310
     OPC_CheckTypeI64,
13177
310
     OPC_CheckPatternPredicate, 11,
13178
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13179
310
                   MVT::i64, 2, 1, 0, 
13180
310
    13, TARGET_VAL(ISD::TargetConstantPool),
13181
310
     OPC_MoveParent,
13182
310
     OPC_MoveParent,
13183
310
     OPC_RecordChild1,
13184
310
     OPC_CheckTypeI64,
13185
310
     OPC_CheckPatternPredicate, 11,
13186
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13187
310
                   MVT::i64, 2, 1, 0, 
13188
310
    13, TARGET_VAL(ISD::TargetExternalSymbol),
13189
310
     OPC_MoveParent,
13190
310
     OPC_MoveParent,
13191
310
     OPC_RecordChild1,
13192
310
     OPC_CheckTypeI64,
13193
310
     OPC_CheckPatternPredicate, 11,
13194
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13195
310
                   MVT::i64, 2, 1, 0, 
13196
310
    0,
13197
310
   84, TARGET_VAL(MipsISD::Hi),
13198
310
    OPC_RecordChild0,
13199
310
    OPC_MoveChild0,
13200
310
    OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetGlobalAddress),
13201
310
     OPC_MoveParent,
13202
310
     OPC_MoveParent,
13203
310
     OPC_RecordChild1,
13204
310
     OPC_CheckTypeI64,
13205
310
     OPC_CheckPatternPredicate, 11,
13206
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13207
310
                   MVT::i64, 2, 1, 0, 
13208
310
    13, TARGET_VAL(ISD::TargetBlockAddress),
13209
310
     OPC_MoveParent,
13210
310
     OPC_MoveParent,
13211
310
     OPC_RecordChild1,
13212
310
     OPC_CheckTypeI64,
13213
310
     OPC_CheckPatternPredicate, 11,
13214
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13215
310
                   MVT::i64, 2, 1, 0, 
13216
310
    13, TARGET_VAL(ISD::TargetJumpTable),
13217
310
     OPC_MoveParent,
13218
310
     OPC_MoveParent,
13219
310
     OPC_RecordChild1,
13220
310
     OPC_CheckTypeI64,
13221
310
     OPC_CheckPatternPredicate, 11,
13222
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13223
310
                   MVT::i64, 2, 1, 0, 
13224
310
    13, TARGET_VAL(ISD::TargetConstantPool),
13225
310
     OPC_MoveParent,
13226
310
     OPC_MoveParent,
13227
310
     OPC_RecordChild1,
13228
310
     OPC_CheckTypeI64,
13229
310
     OPC_CheckPatternPredicate, 11,
13230
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13231
310
                   MVT::i64, 2, 1, 0, 
13232
310
    13, TARGET_VAL(ISD::TargetExternalSymbol),
13233
310
     OPC_MoveParent,
13234
310
     OPC_MoveParent,
13235
310
     OPC_RecordChild1,
13236
310
     OPC_CheckTypeI64,
13237
310
     OPC_CheckPatternPredicate, 11,
13238
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13239
310
                   MVT::i64, 2, 1, 0, 
13240
310
    0,
13241
310
   0,
13242
310
  93|128,2, 
13243
310
   OPC_RecordChild0,
13244
310
   OPC_Scope, 34|128,2, 
13245
310
    OPC_RecordChild1,
13246
310
    OPC_Scope, 115, 
13247
310
     OPC_MoveChild1,
13248
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13249
310
     OPC_Scope, 13, 
13250
310
      OPC_CheckPredicate, 62,
13251
310
      OPC_MoveParent,
13252
310
      OPC_CheckTypeI32,
13253
310
      OPC_CheckPatternPredicate2,
13254
310
      OPC_EmitConvertToTarget1,
13255
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
13256
310
                    MVT::i32, 2, 0, 2, 
13257
310
     13, 
13258
310
      OPC_CheckPredicate7, 
13259
310
      OPC_MoveParent,
13260
310
      OPC_CheckTypeI64,
13261
310
      OPC_CheckPatternPredicate, 23,
13262
310
      OPC_EmitConvertToTarget1,
13263
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
13264
310
                    MVT::i64, 2, 0, 2, 
13265
310
     13, 
13266
310
      OPC_CheckPredicate, 55,
13267
310
      OPC_MoveParent,
13268
310
      OPC_CheckTypeI32,
13269
310
      OPC_CheckPatternPredicate5,
13270
310
      OPC_EmitConvertToTarget1,
13271
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImm16),
13272
310
                    MVT::i32, 2, 0, 2, 
13273
310
     12, 
13274
310
      OPC_CheckPredicate7, 
13275
310
      OPC_MoveParent,
13276
310
      OPC_CheckTypeI32,
13277
310
      OPC_CheckPatternPredicate5,
13278
310
      OPC_EmitConvertToTarget1,
13279
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
13280
310
                    MVT::i32, 2, 0, 2, 
13281
310
     13, 
13282
310
      OPC_CheckPredicate, 60,
13283
310
      OPC_MoveParent,
13284
310
      OPC_CheckTypeI32,
13285
310
      OPC_CheckPatternPredicate4,
13286
310
      OPC_EmitConvertToTarget1,
13287
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIUR2_MM),
13288
310
                    MVT::i32, 2, 0, 2, 
13289
310
     13, 
13290
310
      OPC_CheckPredicate, 51,
13291
310
      OPC_MoveParent,
13292
310
      OPC_CheckTypeI32,
13293
310
      OPC_CheckPatternPredicate4,
13294
310
      OPC_EmitConvertToTarget1,
13295
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIUS5_MM),
13296
310
                    MVT::i32, 2, 0, 2, 
13297
310
     25, 
13298
310
      OPC_CheckPredicate7, 
13299
310
      OPC_MoveParent,
13300
310
      OPC_CheckTypeI32,
13301
310
      OPC_Scope, 9, 
13302
310
       OPC_CheckPatternPredicate4,
13303
310
       OPC_EmitConvertToTarget1,
13304
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
13305
310
                     MVT::i32, 2, 0, 2, 
13306
310
      9, 
13307
310
       OPC_CheckPatternPredicate7,
13308
310
       OPC_EmitConvertToTarget1,
13309
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDIU_MMR6),
13310
310
                     MVT::i32, 2, 0, 2, 
13311
310
      0, 
13312
310
     0, 
13313
310
    51, 
13314
310
     OPC_CheckTypeI32,
13315
310
     OPC_Scope, 8, 
13316
310
      OPC_CheckPatternPredicate7,
13317
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU16_MMR6),
13318
310
                    MVT::i32, 2, 0, 1, 
13319
310
     8, 
13320
310
      OPC_CheckPatternPredicate2,
13321
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDu),
13322
310
                    MVT::i32, 2, 0, 1, 
13323
310
     8, 
13324
310
      OPC_CheckPatternPredicate5,
13325
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::AdduRxRyRz16),
13326
310
                    MVT::i32, 2, 0, 1, 
13327
310
     20, 
13328
310
      OPC_CheckPatternPredicate, 8,
13329
310
      OPC_Scope, 7, 
13330
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU16_MM),
13331
310
                     MVT::i32, 2, 0, 1, 
13332
310
      7, 
13333
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDu_MM),
13334
310
                     MVT::i32, 2, 0, 1, 
13335
310
      0, 
13336
310
     0, 
13337
310
    10, 
13338
310
     OPC_CheckTypeI64,
13339
310
     OPC_CheckPatternPredicate, 23,
13340
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDu),
13341
310
                   MVT::i64, 2, 0, 1, 
13342
310
    25, 
13343
310
     OPC_CheckType, MVT::v16i8,
13344
310
     OPC_CheckPatternPredicate0,
13345
310
     OPC_Scope, 9, 
13346
310
      OPC_CheckComplexPat7, /*#*/1,
13347
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_B),
13348
310
                    MVT::v16i8, 2, 0, 2, 
13349
310
     9, 
13350
310
      OPC_CheckComplexPat7, /*#*/0,
13351
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_B),
13352
310
                    MVT::v16i8, 2, 1, 2, 
13353
310
     0, 
13354
310
    27, 
13355
310
     OPC_CheckType, MVT::v8i16,
13356
310
     OPC_CheckPatternPredicate0,
13357
310
     OPC_Scope, 10, 
13358
310
      OPC_CheckComplexPat, /*CP*/8, /*#*/1,
13359
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_H),
13360
310
                    MVT::v8i16, 2, 0, 2, 
13361
310
     10, 
13362
310
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
13363
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_H),
13364
310
                    MVT::v8i16, 2, 1, 2, 
13365
310
     0, 
13366
310
    25, 
13367
310
     OPC_CheckType, MVT::v4i32,
13368
310
     OPC_CheckPatternPredicate0,
13369
310
     OPC_Scope, 9, 
13370
310
      OPC_CheckComplexPat4, /*#*/1,
13371
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_W),
13372
310
                    MVT::v4i32, 2, 0, 2, 
13373
310
     9, 
13374
310
      OPC_CheckComplexPat4, /*#*/0,
13375
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_W),
13376
310
                    MVT::v4i32, 2, 1, 2, 
13377
310
     0, 
13378
310
    27, 
13379
310
     OPC_CheckType, MVT::v2i64,
13380
310
     OPC_CheckPatternPredicate0,
13381
310
     OPC_Scope, 10, 
13382
310
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
13383
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_D),
13384
310
                    MVT::v2i64, 2, 0, 2, 
13385
310
     10, 
13386
310
      OPC_CheckComplexPat, /*CP*/9, /*#*/0,
13387
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDVI_D),
13388
310
                    MVT::v2i64, 2, 1, 2, 
13389
310
     0, 
13390
310
    0, 
13391
310
   53, 
13392
310
    OPC_MoveChild1,
13393
310
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
13394
310
    OPC_RecordChild0,
13395
310
    OPC_RecordChild1,
13396
310
    OPC_MoveParent,
13397
310
    OPC_SwitchType , 9, MVT::v16i8,
13398
310
     OPC_CheckPatternPredicate0,
13399
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_B),
13400
310
                   MVT::v16i8, 3, 0, 1, 2, 
13401
310
    9, MVT::v8i16,
13402
310
     OPC_CheckPatternPredicate0,
13403
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_H),
13404
310
                   MVT::v8i16, 3, 0, 1, 2, 
13405
310
    9, MVT::v4i32,
13406
310
     OPC_CheckPatternPredicate0,
13407
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_W),
13408
310
                   MVT::v4i32, 3, 0, 1, 2, 
13409
310
    9, MVT::v2i64,
13410
310
     OPC_CheckPatternPredicate0,
13411
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_D),
13412
310
                   MVT::v2i64, 3, 0, 1, 2, 
13413
310
    0,
13414
310
   0, 
13415
310
  54, 
13416
310
   OPC_MoveChild0,
13417
310
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
13418
310
   OPC_RecordChild0,
13419
310
   OPC_RecordChild1,
13420
310
   OPC_MoveParent,
13421
310
   OPC_RecordChild1,
13422
310
   OPC_SwitchType , 9, MVT::v16i8,
13423
310
    OPC_CheckPatternPredicate0,
13424
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_B),
13425
310
                  MVT::v16i8, 3, 2, 0, 1, 
13426
310
   9, MVT::v8i16,
13427
310
    OPC_CheckPatternPredicate0,
13428
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_H),
13429
310
                  MVT::v8i16, 3, 2, 0, 1, 
13430
310
   9, MVT::v4i32,
13431
310
    OPC_CheckPatternPredicate0,
13432
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_W),
13433
310
                  MVT::v4i32, 3, 2, 0, 1, 
13434
310
   9, MVT::v2i64,
13435
310
    OPC_CheckPatternPredicate0,
13436
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDV_D),
13437
310
                  MVT::v2i64, 3, 2, 0, 1, 
13438
310
   0,
13439
310
  64, 
13440
310
   OPC_RecordChild0,
13441
310
   OPC_RecordChild1,
13442
310
   OPC_SwitchType , 8, MVT::v2i16,
13443
310
    OPC_CheckPatternPredicate1,
13444
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDQ_PH),
13445
310
                  MVT::v2i16, 2, 0, 1, 
13446
310
   8, MVT::v4i8,
13447
310
    OPC_CheckPatternPredicate1,
13448
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDU_QB),
13449
310
                  MVT::v4i8, 2, 0, 1, 
13450
310
   8, MVT::v16i8,
13451
310
    OPC_CheckPatternPredicate0,
13452
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_B),
13453
310
                  MVT::v16i8, 2, 0, 1, 
13454
310
   8, MVT::v8i16,
13455
310
    OPC_CheckPatternPredicate0,
13456
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_H),
13457
310
                  MVT::v8i16, 2, 0, 1, 
13458
310
   8, MVT::v4i32,
13459
310
    OPC_CheckPatternPredicate0,
13460
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_W),
13461
310
                  MVT::v4i32, 2, 0, 1, 
13462
310
   8, MVT::v2i64,
13463
310
    OPC_CheckPatternPredicate0,
13464
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDV_D),
13465
310
                  MVT::v2i64, 2, 0, 1, 
13466
310
   0,
13467
310
  0, 
13468
310
 35|128,4, TARGET_VAL(ISD::SIGN_EXTEND),
13469
310
  OPC_Scope, 20|128,4, 
13470
310
   OPC_MoveChild0,
13471
310
   OPC_SwitchOpcode , 61, TARGET_VAL(ISD::ADD),
13472
310
    OPC_RecordChild0,
13473
310
    OPC_RecordChild1,
13474
310
    OPC_Scope, 31, 
13475
310
     OPC_MoveChild1,
13476
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13477
310
     OPC_CheckPredicate7, 
13478
310
     OPC_MoveParent,
13479
310
     OPC_MoveParent,
13480
310
     OPC_CheckTypeI64,
13481
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13482
310
                   MVT::i64, 0, 
13483
310
     OPC_EmitConvertToTarget1,
13484
310
     OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
13485
310
                   MVT::i32, 2, 0, 3, 
13486
310
     OPC_EmitStringInteger32, Mips::sub_32,
13487
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13488
310
                   MVT::i64, 3, 2, 4, 5, 
13489
310
    24, 
13490
310
     OPC_MoveParent,
13491
310
     OPC_CheckTypeI64,
13492
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13493
310
                   MVT::i64, 0, 
13494
310
     OPC_EmitNode1None, TARGET_VAL(Mips::ADDu),
13495
310
                   MVT::i32, 2, 0, 1, 
13496
310
     OPC_EmitStringInteger32, Mips::sub_32,
13497
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13498
310
                   MVT::i64, 3, 2, 3, 4, 
13499
310
    0, 
13500
310
   63, TARGET_VAL(ISD::SHL),
13501
310
    OPC_RecordChild0,
13502
310
    OPC_RecordChild1,
13503
310
    OPC_Scope, 32, 
13504
310
     OPC_MoveChild1,
13505
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13506
310
     OPC_CheckPredicate3, 
13507
310
     OPC_CheckTypeI32,
13508
310
     OPC_MoveParent,
13509
310
     OPC_MoveParent,
13510
310
     OPC_CheckTypeI64,
13511
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13512
310
                   MVT::i64, 0, 
13513
310
     OPC_EmitConvertToTarget1,
13514
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SLL),
13515
310
                   MVT::i32, 2, 0, 3, 
13516
310
     OPC_EmitStringInteger32, Mips::sub_32,
13517
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13518
310
                   MVT::i64, 3, 2, 4, 5, 
13519
310
    25, 
13520
310
     OPC_CheckChild1TypeI32,
13521
310
     OPC_MoveParent,
13522
310
     OPC_CheckTypeI64,
13523
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13524
310
                   MVT::i64, 0, 
13525
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SLLV),
13526
310
                   MVT::i32, 2, 0, 1, 
13527
310
     OPC_EmitStringInteger32, Mips::sub_32,
13528
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13529
310
                   MVT::i64, 3, 2, 3, 4, 
13530
310
    0, 
13531
310
   63, TARGET_VAL(ISD::SRL),
13532
310
    OPC_RecordChild0,
13533
310
    OPC_RecordChild1,
13534
310
    OPC_Scope, 32, 
13535
310
     OPC_MoveChild1,
13536
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13537
310
     OPC_CheckPredicate3, 
13538
310
     OPC_CheckTypeI32,
13539
310
     OPC_MoveParent,
13540
310
     OPC_MoveParent,
13541
310
     OPC_CheckTypeI64,
13542
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13543
310
                   MVT::i64, 0, 
13544
310
     OPC_EmitConvertToTarget1,
13545
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SRL),
13546
310
                   MVT::i32, 2, 0, 3, 
13547
310
     OPC_EmitStringInteger32, Mips::sub_32,
13548
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13549
310
                   MVT::i64, 3, 2, 4, 5, 
13550
310
    25, 
13551
310
     OPC_CheckChild1TypeI32,
13552
310
     OPC_MoveParent,
13553
310
     OPC_CheckTypeI64,
13554
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13555
310
                   MVT::i64, 0, 
13556
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SRLV),
13557
310
                   MVT::i32, 2, 0, 1, 
13558
310
     OPC_EmitStringInteger32, Mips::sub_32,
13559
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13560
310
                   MVT::i64, 3, 2, 3, 4, 
13561
310
    0, 
13562
310
   63, TARGET_VAL(ISD::SRA),
13563
310
    OPC_RecordChild0,
13564
310
    OPC_RecordChild1,
13565
310
    OPC_Scope, 32, 
13566
310
     OPC_MoveChild1,
13567
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13568
310
     OPC_CheckPredicate3, 
13569
310
     OPC_CheckTypeI32,
13570
310
     OPC_MoveParent,
13571
310
     OPC_MoveParent,
13572
310
     OPC_CheckTypeI64,
13573
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13574
310
                   MVT::i64, 0, 
13575
310
     OPC_EmitConvertToTarget1,
13576
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SRA),
13577
310
                   MVT::i32, 2, 0, 3, 
13578
310
     OPC_EmitStringInteger32, Mips::sub_32,
13579
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13580
310
                   MVT::i64, 3, 2, 4, 5, 
13581
310
    25, 
13582
310
     OPC_CheckChild1TypeI32,
13583
310
     OPC_MoveParent,
13584
310
     OPC_CheckTypeI64,
13585
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13586
310
                   MVT::i64, 0, 
13587
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SRAV),
13588
310
                   MVT::i32, 2, 0, 1, 
13589
310
     OPC_EmitStringInteger32, Mips::sub_32,
13590
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13591
310
                   MVT::i64, 3, 2, 3, 4, 
13592
310
    0, 
13593
310
   26, TARGET_VAL(ISD::SUB),
13594
310
    OPC_RecordChild0,
13595
310
    OPC_RecordChild1,
13596
310
    OPC_MoveParent,
13597
310
    OPC_CheckTypeI64,
13598
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13599
310
                  MVT::i64, 0, 
13600
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SUBu),
13601
310
                  MVT::i32, 2, 0, 1, 
13602
310
    OPC_EmitStringInteger32, Mips::sub_32,
13603
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13604
310
                  MVT::i64, 3, 2, 3, 4, 
13605
310
   57, TARGET_VAL(ISD::MUL),
13606
310
    OPC_RecordChild0,
13607
310
    OPC_RecordChild1,
13608
310
    OPC_MoveParent,
13609
310
    OPC_CheckTypeI64,
13610
310
    OPC_Scope, 25, 
13611
310
     OPC_CheckPatternPredicate, 110,
13612
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13613
310
                   MVT::i64, 0, 
13614
310
     OPC_EmitNode2None, TARGET_VAL(Mips::MUL),
13615
310
                   MVT::i32, MVT::i32, 2, 0, 1, 
13616
310
     OPC_EmitStringInteger32, Mips::sub_32,
13617
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13618
310
                   MVT::i64, 3, 2, 3, 5, 
13619
310
    24, 
13620
310
     OPC_CheckPatternPredicate, 19,
13621
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13622
310
                   MVT::i64, 0, 
13623
310
     OPC_EmitNode1None, TARGET_VAL(Mips::MUL_R6),
13624
310
                   MVT::i32, 2, 0, 1, 
13625
310
     OPC_EmitStringInteger32, Mips::sub_32,
13626
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13627
310
                   MVT::i64, 3, 2, 3, 4, 
13628
310
    0, 
13629
310
   24, TARGET_VAL(MipsISD::MFHI),
13630
310
    OPC_RecordChild0,
13631
310
    OPC_MoveParent,
13632
310
    OPC_CheckTypeI64,
13633
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13634
310
                  MVT::i64, 0, 
13635
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFHI),
13636
310
                  MVT::i32, 1, 0, 
13637
310
    OPC_EmitStringInteger32, Mips::sub_32,
13638
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13639
310
                  MVT::i64, 3, 1, 2, 3, 
13640
310
   24, TARGET_VAL(MipsISD::MFLO),
13641
310
    OPC_RecordChild0,
13642
310
    OPC_MoveParent,
13643
310
    OPC_CheckTypeI64,
13644
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13645
310
                  MVT::i64, 0, 
13646
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMFLO),
13647
310
                  MVT::i32, 1, 0, 
13648
310
    OPC_EmitStringInteger32, Mips::sub_32,
13649
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13650
310
                  MVT::i64, 3, 1, 2, 3, 
13651
310
   28, TARGET_VAL(ISD::SDIV),
13652
310
    OPC_RecordChild0,
13653
310
    OPC_RecordChild1,
13654
310
    OPC_MoveParent,
13655
310
    OPC_CheckTypeI64,
13656
310
    OPC_CheckPatternPredicate, 19,
13657
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13658
310
                  MVT::i64, 0, 
13659
310
    OPC_EmitNode1None, TARGET_VAL(Mips::DIV),
13660
310
                  MVT::i32, 2, 0, 1, 
13661
310
    OPC_EmitStringInteger32, Mips::sub_32,
13662
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13663
310
                  MVT::i64, 3, 2, 3, 4, 
13664
310
   28, TARGET_VAL(ISD::UDIV),
13665
310
    OPC_RecordChild0,
13666
310
    OPC_RecordChild1,
13667
310
    OPC_MoveParent,
13668
310
    OPC_CheckTypeI64,
13669
310
    OPC_CheckPatternPredicate, 19,
13670
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13671
310
                  MVT::i64, 0, 
13672
310
    OPC_EmitNode1None, TARGET_VAL(Mips::DIVU),
13673
310
                  MVT::i32, 2, 0, 1, 
13674
310
    OPC_EmitStringInteger32, Mips::sub_32,
13675
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13676
310
                  MVT::i64, 3, 2, 3, 4, 
13677
310
   28, TARGET_VAL(ISD::SREM),
13678
310
    OPC_RecordChild0,
13679
310
    OPC_RecordChild1,
13680
310
    OPC_MoveParent,
13681
310
    OPC_CheckTypeI64,
13682
310
    OPC_CheckPatternPredicate, 19,
13683
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13684
310
                  MVT::i64, 0, 
13685
310
    OPC_EmitNode1None, TARGET_VAL(Mips::MOD),
13686
310
                  MVT::i32, 2, 0, 1, 
13687
310
    OPC_EmitStringInteger32, Mips::sub_32,
13688
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13689
310
                  MVT::i64, 3, 2, 3, 4, 
13690
310
   28, TARGET_VAL(ISD::UREM),
13691
310
    OPC_RecordChild0,
13692
310
    OPC_RecordChild1,
13693
310
    OPC_MoveParent,
13694
310
    OPC_CheckTypeI64,
13695
310
    OPC_CheckPatternPredicate, 19,
13696
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
13697
310
                  MVT::i64, 0, 
13698
310
    OPC_EmitNode1None, TARGET_VAL(Mips::MODU),
13699
310
                  MVT::i32, 2, 0, 1, 
13700
310
    OPC_EmitStringInteger32, Mips::sub_32,
13701
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
13702
310
                  MVT::i64, 3, 2, 3, 4, 
13703
310
   0,
13704
310
  10, 
13705
310
   OPC_RecordChild0,
13706
310
   OPC_CheckTypeI64,
13707
310
   OPC_CheckPatternPredicate, 12,
13708
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_32),
13709
310
                 MVT::i64, 1, 0, 
13710
310
  0, 
13711
310
 20, TARGET_VAL(ISD::CALLSEQ_START),
13712
310
  OPC_RecordNode,
13713
310
  OPC_RecordChild1,
13714
310
  OPC_MoveChild1,
13715
310
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13716
310
  OPC_MoveSibling2,
13717
310
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13718
310
  OPC_RecordNode,
13719
310
  OPC_MoveParent,
13720
310
  OPC_EmitMergeInputChains1_0,
13721
310
  OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
13722
310
                2, 1, 2, 
13723
310
 21, TARGET_VAL(ISD::CALLSEQ_END),
13724
310
  OPC_RecordNode,
13725
310
  OPC_CaptureGlueInput,
13726
310
  OPC_RecordChild1,
13727
310
  OPC_MoveChild1,
13728
310
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13729
310
  OPC_MoveSibling2,
13730
310
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
13731
310
  OPC_RecordNode,
13732
310
  OPC_MoveParent,
13733
310
  OPC_EmitMergeInputChains1_0,
13734
310
  OPC_MorphNodeTo0, TARGET_VAL(Mips::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
13735
310
                2, 1, 2, 
13736
310
 54, TARGET_VAL(ISD::FrameIndex),
13737
310
  OPC_RecordNode,
13738
310
  OPC_SwitchType , 36, MVT::i32,
13739
310
   OPC_Scope, 10, 
13740
310
    OPC_CheckPatternPredicate2,
13741
310
    OPC_CheckComplexPat0, /*#*/0,
13742
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu),
13743
310
                  MVT::i32, 2, 1, 2, 
13744
310
   11, 
13745
310
    OPC_CheckPatternPredicate5,
13746
310
    OPC_CheckComplexPat, /*CP*/20, /*#*/0,
13747
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRyOffMemX16),
13748
310
                  MVT::i32, 2, 1, 2, 
13749
310
   10, 
13750
310
    OPC_CheckPatternPredicate4,
13751
310
    OPC_CheckComplexPat0, /*#*/0,
13752
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu_MM),
13753
310
                  MVT::i32, 2, 1, 2, 
13754
310
   0, 
13755
310
  11, MVT::i64,
13756
310
   OPC_CheckPatternPredicate, 111,
13757
310
   OPC_CheckComplexPat0, /*#*/0,
13758
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LEA_ADDiu64),
13759
310
                 MVT::i64, 2, 1, 2, 
13760
310
  0,
13761
310
 26, TARGET_VAL(MipsISD::Ins),
13762
310
  OPC_RecordChild0,
13763
310
  OPC_RecordChild1,
13764
310
  OPC_MoveChild1,
13765
310
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13766
310
  OPC_MoveSibling2,
13767
310
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13768
310
  OPC_RecordNode,
13769
310
  OPC_MoveParent,
13770
310
  OPC_RecordChild3,
13771
310
  OPC_CheckTypeI32,
13772
310
  OPC_CheckPatternPredicate7,
13773
310
  OPC_EmitConvertToTarget1,
13774
310
  OPC_EmitConvertToTarget2,
13775
310
  OPC_MorphNodeTo1None, TARGET_VAL(Mips::INS_MMR6),
13776
310
                MVT::i32, 4, 0, 4, 5, 3, 
13777
310
 104|128,22, TARGET_VAL(ISD::SETCC),
13778
310
  OPC_RecordChild0,
13779
310
  OPC_Scope, 35|128,6, 
13780
310
   OPC_CheckChild0TypeI32,
13781
310
   OPC_Scope, 70, 
13782
310
    OPC_CheckChild1Integer, 0, 
13783
310
    OPC_CheckTypeI32,
13784
310
    OPC_Scope, 37, 
13785
310
     OPC_CheckChild2CondCode, ISD::SETEQ,
13786
310
     OPC_Scope, 10, 
13787
310
      OPC_CheckPatternPredicate2,
13788
310
      OPC_EmitInteger32, 2, 
13789
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
13790
310
                    MVT::i32, 2, 0, 1, 
13791
310
     10, 
13792
310
      OPC_CheckPatternPredicate4,
13793
310
      OPC_EmitInteger32, 2, 
13794
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
13795
310
                    MVT::i32, 2, 0, 1, 
13796
310
     10, 
13797
310
      OPC_CheckPatternPredicate5,
13798
310
      OPC_EmitInteger32, 2, 
13799
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
13800
310
                    MVT::i32, 2, 0, 1, 
13801
310
     0, 
13802
310
    26, 
13803
310
     OPC_CheckChild2CondCode, ISD::SETNE,
13804
310
     OPC_Scope, 10, 
13805
310
      OPC_CheckPatternPredicate2,
13806
310
      OPC_EmitRegisterI32, Mips::ZERO,
13807
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
13808
310
                    MVT::i32, 2, 1, 0, 
13809
310
     10, 
13810
310
      OPC_CheckPatternPredicate4,
13811
310
      OPC_EmitRegisterI32, Mips::ZERO,
13812
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
13813
310
                    MVT::i32, 2, 1, 0, 
13814
310
     0, 
13815
310
    0, 
13816
310
   34, 
13817
310
    OPC_CheckChild1Integer, 3|128,0|128,4, 
13818
310
    OPC_CheckChild2CondCode, ISD::SETGT,
13819
310
    OPC_CheckTypeI32,
13820
310
    OPC_CheckPatternPredicate5,
13821
310
    OPC_EmitInteger32, 1|128,0|128,4, 
13822
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SltiCCRxImmX16),
13823
310
                  MVT::i32, 2, 0, 1, 
13824
310
    OPC_EmitInteger32, 2, 
13825
310
    OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
13826
310
                  MVT::i32, 1, 3, 
13827
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
13828
310
                  MVT::i32, 2, 2, 4, 
13829
310
   52|128,5, 
13830
310
    OPC_RecordChild1,
13831
310
    OPC_Scope, 37|128,1, 
13832
310
     OPC_MoveChild1,
13833
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
13834
310
     OPC_CheckPredicate7, 
13835
310
     OPC_MoveParent,
13836
310
     OPC_CheckTypeI32,
13837
310
     OPC_Scope, 34, 
13838
310
      OPC_CheckChild2CondCode, ISD::SETLT,
13839
310
      OPC_Scope, 9, 
13840
310
       OPC_CheckPatternPredicate2,
13841
310
       OPC_EmitConvertToTarget1,
13842
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi),
13843
310
                     MVT::i32, 2, 0, 2, 
13844
310
      9, 
13845
310
       OPC_CheckPatternPredicate4,
13846
310
       OPC_EmitConvertToTarget1,
13847
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi_MM),
13848
310
                     MVT::i32, 2, 0, 2, 
13849
310
      9, 
13850
310
       OPC_CheckPatternPredicate5,
13851
310
       OPC_EmitConvertToTarget1,
13852
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiCCRxImmX16),
13853
310
                     MVT::i32, 2, 0, 2, 
13854
310
      0, 
13855
310
     34, 
13856
310
      OPC_CheckChild2CondCode, ISD::SETULT,
13857
310
      OPC_Scope, 9, 
13858
310
       OPC_CheckPatternPredicate2,
13859
310
       OPC_EmitConvertToTarget1,
13860
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
13861
310
                     MVT::i32, 2, 0, 2, 
13862
310
      9, 
13863
310
       OPC_CheckPatternPredicate4,
13864
310
       OPC_EmitConvertToTarget1,
13865
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
13866
310
                     MVT::i32, 2, 0, 2, 
13867
310
      9, 
13868
310
       OPC_CheckPatternPredicate5,
13869
310
       OPC_EmitConvertToTarget1,
13870
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
13871
310
                     MVT::i32, 2, 0, 2, 
13872
310
      0, 
13873
310
     42, 
13874
310
      OPC_CheckChild2CondCode, ISD::SETGE,
13875
310
      OPC_Scope, 18, 
13876
310
       OPC_CheckPatternPredicate2,
13877
310
       OPC_EmitConvertToTarget1,
13878
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi),
13879
310
                     MVT::i32, 2, 0, 2, 
13880
310
       OPC_EmitInteger32, 2, 
13881
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
13882
310
                     MVT::i32, 2, 3, 4, 
13883
310
      18, 
13884
310
       OPC_CheckPatternPredicate4,
13885
310
       OPC_EmitConvertToTarget1,
13886
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTi_MM),
13887
310
                     MVT::i32, 2, 0, 2, 
13888
310
       OPC_EmitInteger32, 2, 
13889
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
13890
310
                     MVT::i32, 2, 3, 4, 
13891
310
      0, 
13892
310
     42, 
13893
310
      OPC_CheckChild2CondCode, ISD::SETUGE,
13894
310
      OPC_Scope, 18, 
13895
310
       OPC_CheckPatternPredicate2,
13896
310
       OPC_EmitConvertToTarget1,
13897
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu),
13898
310
                     MVT::i32, 2, 0, 2, 
13899
310
       OPC_EmitInteger32, 2, 
13900
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
13901
310
                     MVT::i32, 2, 3, 4, 
13902
310
      18, 
13903
310
       OPC_CheckPatternPredicate4,
13904
310
       OPC_EmitConvertToTarget1,
13905
310
       OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu_MM),
13906
310
                     MVT::i32, 2, 0, 2, 
13907
310
       OPC_EmitInteger32, 2, 
13908
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
13909
310
                     MVT::i32, 2, 3, 4, 
13910
310
      0, 
13911
310
     0, 
13912
310
    32, 
13913
310
     OPC_CheckChild2CondCode, ISD::SETLT,
13914
310
     OPC_CheckTypeI32,
13915
310
     OPC_Scope, 8, 
13916
310
      OPC_CheckPatternPredicate2,
13917
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT),
13918
310
                    MVT::i32, 2, 0, 1, 
13919
310
     8, 
13920
310
      OPC_CheckPatternPredicate4,
13921
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT_MM),
13922
310
                    MVT::i32, 2, 0, 1, 
13923
310
     8, 
13924
310
      OPC_CheckPatternPredicate5,
13925
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltCCRxRy16),
13926
310
                    MVT::i32, 2, 0, 1, 
13927
310
     0, 
13928
310
    32, 
13929
310
     OPC_CheckChild2CondCode, ISD::SETULT,
13930
310
     OPC_CheckTypeI32,
13931
310
     OPC_Scope, 8, 
13932
310
      OPC_CheckPatternPredicate2,
13933
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
13934
310
                    MVT::i32, 2, 0, 1, 
13935
310
     8, 
13936
310
      OPC_CheckPatternPredicate4,
13937
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
13938
310
                    MVT::i32, 2, 0, 1, 
13939
310
     8, 
13940
310
      OPC_CheckPatternPredicate5,
13941
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
13942
310
                    MVT::i32, 2, 0, 1, 
13943
310
     0, 
13944
310
    32, 
13945
310
     OPC_CheckChild2CondCode, ISD::SETGT,
13946
310
     OPC_CheckTypeI32,
13947
310
     OPC_Scope, 8, 
13948
310
      OPC_CheckPatternPredicate2,
13949
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT),
13950
310
                    MVT::i32, 2, 1, 0, 
13951
310
     8, 
13952
310
      OPC_CheckPatternPredicate4,
13953
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT_MM),
13954
310
                    MVT::i32, 2, 1, 0, 
13955
310
     8, 
13956
310
      OPC_CheckPatternPredicate5,
13957
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltCCRxRy16),
13958
310
                    MVT::i32, 2, 1, 0, 
13959
310
     0, 
13960
310
    32, 
13961
310
     OPC_CheckChild2CondCode, ISD::SETUGT,
13962
310
     OPC_CheckTypeI32,
13963
310
     OPC_Scope, 8, 
13964
310
      OPC_CheckPatternPredicate2,
13965
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
13966
310
                    MVT::i32, 2, 1, 0, 
13967
310
     8, 
13968
310
      OPC_CheckPatternPredicate4,
13969
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
13970
310
                    MVT::i32, 2, 1, 0, 
13971
310
     8, 
13972
310
      OPC_CheckPatternPredicate5,
13973
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
13974
310
                    MVT::i32, 2, 1, 0, 
13975
310
     0, 
13976
310
    59, 
13977
310
     OPC_CheckChild2CondCode, ISD::SETEQ,
13978
310
     OPC_CheckTypeI32,
13979
310
     OPC_Scope, 17, 
13980
310
      OPC_CheckPatternPredicate2,
13981
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
13982
310
                    MVT::i32, 2, 0, 1, 
13983
310
      OPC_EmitInteger32, 2, 
13984
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu),
13985
310
                    MVT::i32, 2, 2, 3, 
13986
310
     17, 
13987
310
      OPC_CheckPatternPredicate4,
13988
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
13989
310
                    MVT::i32, 2, 0, 1, 
13990
310
      OPC_EmitInteger32, 2, 
13991
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu_MM),
13992
310
                    MVT::i32, 2, 2, 3, 
13993
310
     17, 
13994
310
      OPC_CheckPatternPredicate5,
13995
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XorRxRxRy16),
13996
310
                    MVT::i32, 2, 0, 1, 
13997
310
      OPC_EmitInteger32, 2, 
13998
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltiuCCRxImmX16),
13999
310
                    MVT::i32, 2, 2, 3, 
14000
310
     0, 
14001
310
    65, 
14002
310
     OPC_CheckChild2CondCode, ISD::SETNE,
14003
310
     OPC_CheckTypeI32,
14004
310
     OPC_Scope, 17, 
14005
310
      OPC_CheckPatternPredicate2,
14006
310
      OPC_EmitRegisterI32, Mips::ZERO,
14007
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR),
14008
310
                    MVT::i32, 2, 0, 1, 
14009
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu),
14010
310
                    MVT::i32, 2, 2, 3, 
14011
310
     17, 
14012
310
      OPC_CheckPatternPredicate4,
14013
310
      OPC_EmitRegisterI32, Mips::ZERO,
14014
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XOR_MM),
14015
310
                    MVT::i32, 2, 0, 1, 
14016
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu_MM),
14017
310
                    MVT::i32, 2, 2, 3, 
14018
310
     23, 
14019
310
      OPC_CheckPatternPredicate5,
14020
310
      OPC_EmitInteger32, 0, 
14021
310
      OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14022
310
                    MVT::i32, 1, 2, 
14023
310
      OPC_EmitNode1None, TARGET_VAL(Mips::XorRxRxRy16),
14024
310
                    MVT::i32, 2, 0, 1, 
14025
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SltuCCRxRy16),
14026
310
                    MVT::i32, 2, 3, 4, 
14027
310
     0, 
14028
310
    65, 
14029
310
     OPC_CheckChild2CondCode, ISD::SETLE,
14030
310
     OPC_CheckTypeI32,
14031
310
     OPC_Scope, 17, 
14032
310
      OPC_CheckPatternPredicate2,
14033
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
14034
310
                    MVT::i32, 2, 1, 0, 
14035
310
      OPC_EmitInteger32, 2, 
14036
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14037
310
                    MVT::i32, 2, 2, 3, 
14038
310
     17, 
14039
310
      OPC_CheckPatternPredicate4,
14040
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
14041
310
                    MVT::i32, 2, 1, 0, 
14042
310
      OPC_EmitInteger32, 2, 
14043
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14044
310
                    MVT::i32, 2, 2, 3, 
14045
310
     23, 
14046
310
      OPC_CheckPatternPredicate5,
14047
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SltCCRxRy16),
14048
310
                    MVT::i32, 2, 1, 0, 
14049
310
      OPC_EmitInteger32, 2, 
14050
310
      OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImm16),
14051
310
                    MVT::i32, 1, 3, 
14052
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14053
310
                    MVT::i32, 2, 2, 4, 
14054
310
     0, 
14055
310
    65, 
14056
310
     OPC_CheckChild2CondCode, ISD::SETULE,
14057
310
     OPC_CheckTypeI32,
14058
310
     OPC_Scope, 17, 
14059
310
      OPC_CheckPatternPredicate2,
14060
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
14061
310
                    MVT::i32, 2, 1, 0, 
14062
310
      OPC_EmitInteger32, 2, 
14063
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14064
310
                    MVT::i32, 2, 2, 3, 
14065
310
     17, 
14066
310
      OPC_CheckPatternPredicate4,
14067
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
14068
310
                    MVT::i32, 2, 1, 0, 
14069
310
      OPC_EmitInteger32, 2, 
14070
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14071
310
                    MVT::i32, 2, 2, 3, 
14072
310
     23, 
14073
310
      OPC_CheckPatternPredicate5,
14074
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SltuCCRxRy16),
14075
310
                    MVT::i32, 2, 1, 0, 
14076
310
      OPC_EmitInteger32, 2, 
14077
310
      OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14078
310
                    MVT::i32, 1, 3, 
14079
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14080
310
                    MVT::i32, 2, 2, 4, 
14081
310
     0, 
14082
310
    65, 
14083
310
     OPC_CheckChild2CondCode, ISD::SETGE,
14084
310
     OPC_CheckTypeI32,
14085
310
     OPC_Scope, 17, 
14086
310
      OPC_CheckPatternPredicate2,
14087
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT),
14088
310
                    MVT::i32, 2, 0, 1, 
14089
310
      OPC_EmitInteger32, 2, 
14090
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14091
310
                    MVT::i32, 2, 2, 3, 
14092
310
     17, 
14093
310
      OPC_CheckPatternPredicate4,
14094
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLT_MM),
14095
310
                    MVT::i32, 2, 0, 1, 
14096
310
      OPC_EmitInteger32, 2, 
14097
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14098
310
                    MVT::i32, 2, 2, 3, 
14099
310
     23, 
14100
310
      OPC_CheckPatternPredicate5,
14101
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SltCCRxRy16),
14102
310
                    MVT::i32, 2, 0, 1, 
14103
310
      OPC_EmitInteger32, 2, 
14104
310
      OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14105
310
                    MVT::i32, 1, 3, 
14106
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14107
310
                    MVT::i32, 2, 2, 4, 
14108
310
     0, 
14109
310
    65, 
14110
310
     OPC_CheckChild2CondCode, ISD::SETUGE,
14111
310
     OPC_CheckTypeI32,
14112
310
     OPC_Scope, 17, 
14113
310
      OPC_CheckPatternPredicate2,
14114
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu),
14115
310
                    MVT::i32, 2, 0, 1, 
14116
310
      OPC_EmitInteger32, 2, 
14117
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14118
310
                    MVT::i32, 2, 2, 3, 
14119
310
     17, 
14120
310
      OPC_CheckPatternPredicate4,
14121
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTu_MM),
14122
310
                    MVT::i32, 2, 0, 1, 
14123
310
      OPC_EmitInteger32, 2, 
14124
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi_MM),
14125
310
                    MVT::i32, 2, 2, 3, 
14126
310
     23, 
14127
310
      OPC_CheckPatternPredicate5,
14128
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SltuCCRxRy16),
14129
310
                    MVT::i32, 2, 0, 1, 
14130
310
      OPC_EmitInteger32, 2, 
14131
310
      OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
14132
310
                    MVT::i32, 1, 3, 
14133
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XorRxRxRy16),
14134
310
                    MVT::i32, 2, 2, 4, 
14135
310
     0, 
14136
310
    0, 
14137
310
   0, 
14138
310
  54|128,2, 
14139
310
   OPC_CheckChild0TypeI64,
14140
310
   OPC_Scope, 35, 
14141
310
    OPC_CheckChild1Integer, 0, 
14142
310
    OPC_CheckTypeI32,
14143
310
    OPC_Scope, 13, 
14144
310
     OPC_CheckChild2CondCode, ISD::SETEQ,
14145
310
     OPC_CheckPatternPredicate, 29,
14146
310
     OPC_EmitInteger64, 2, 
14147
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
14148
310
                   MVT::i32, 2, 0, 1, 
14149
310
    15, 
14150
310
     OPC_CheckChild2CondCode, ISD::SETNE,
14151
310
     OPC_CheckPatternPredicate, 29,
14152
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
14153
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14154
310
                   MVT::i32, 2, 1, 0, 
14155
310
    0, 
14156
310
   13|128,2, 
14157
310
    OPC_RecordChild1,
14158
310
    OPC_Scope, 79, 
14159
310
     OPC_MoveChild1,
14160
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
14161
310
     OPC_CheckPredicate7, 
14162
310
     OPC_MoveParent,
14163
310
     OPC_CheckTypeI32,
14164
310
     OPC_Scope, 12, 
14165
310
      OPC_CheckChild2CondCode, ISD::SETLT,
14166
310
      OPC_CheckPatternPredicate, 18,
14167
310
      OPC_EmitConvertToTarget1,
14168
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTi64),
14169
310
                    MVT::i32, 2, 0, 2, 
14170
310
     12, 
14171
310
      OPC_CheckChild2CondCode, ISD::SETULT,
14172
310
      OPC_CheckPatternPredicate, 18,
14173
310
      OPC_EmitConvertToTarget1,
14174
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
14175
310
                    MVT::i32, 2, 0, 2, 
14176
310
     21, 
14177
310
      OPC_CheckChild2CondCode, ISD::SETGE,
14178
310
      OPC_CheckPatternPredicate, 29,
14179
310
      OPC_EmitConvertToTarget1,
14180
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTi64),
14181
310
                    MVT::i32, 2, 0, 2, 
14182
310
      OPC_EmitInteger32, 2, 
14183
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14184
310
                    MVT::i32, 2, 3, 4, 
14185
310
     21, 
14186
310
      OPC_CheckChild2CondCode, ISD::SETUGE,
14187
310
      OPC_CheckPatternPredicate, 29,
14188
310
      OPC_EmitConvertToTarget1,
14189
310
      OPC_EmitNode1None, TARGET_VAL(Mips::SLTiu64),
14190
310
                    MVT::i32, 2, 0, 2, 
14191
310
      OPC_EmitInteger32, 2, 
14192
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14193
310
                    MVT::i32, 2, 3, 4, 
14194
310
     0, 
14195
310
    12, 
14196
310
     OPC_CheckChild2CondCode, ISD::SETLT,
14197
310
     OPC_CheckTypeI32,
14198
310
     OPC_CheckPatternPredicate, 18,
14199
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT64),
14200
310
                   MVT::i32, 2, 0, 1, 
14201
310
    12, 
14202
310
     OPC_CheckChild2CondCode, ISD::SETULT,
14203
310
     OPC_CheckTypeI32,
14204
310
     OPC_CheckPatternPredicate, 18,
14205
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14206
310
                   MVT::i32, 2, 0, 1, 
14207
310
    12, 
14208
310
     OPC_CheckChild2CondCode, ISD::SETGT,
14209
310
     OPC_CheckTypeI32,
14210
310
     OPC_CheckPatternPredicate, 29,
14211
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLT64),
14212
310
                   MVT::i32, 2, 1, 0, 
14213
310
    12, 
14214
310
     OPC_CheckChild2CondCode, ISD::SETUGT,
14215
310
     OPC_CheckTypeI32,
14216
310
     OPC_CheckPatternPredicate, 29,
14217
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14218
310
                   MVT::i32, 2, 1, 0, 
14219
310
    21, 
14220
310
     OPC_CheckChild2CondCode, ISD::SETEQ,
14221
310
     OPC_CheckTypeI32,
14222
310
     OPC_CheckPatternPredicate, 29,
14223
310
     OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
14224
310
                   MVT::i64, 2, 0, 1, 
14225
310
     OPC_EmitInteger64, 2, 
14226
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTiu64),
14227
310
                   MVT::i32, 2, 2, 3, 
14228
310
    23, 
14229
310
     OPC_CheckChild2CondCode, ISD::SETNE,
14230
310
     OPC_CheckTypeI32,
14231
310
     OPC_CheckPatternPredicate, 29,
14232
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
14233
310
     OPC_EmitNode1None, TARGET_VAL(Mips::XOR64),
14234
310
                   MVT::i64, 2, 0, 1, 
14235
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLTu64),
14236
310
                   MVT::i32, 2, 2, 3, 
14237
310
    21, 
14238
310
     OPC_CheckChild2CondCode, ISD::SETLE,
14239
310
     OPC_CheckTypeI32,
14240
310
     OPC_CheckPatternPredicate, 29,
14241
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
14242
310
                   MVT::i32, 2, 1, 0, 
14243
310
     OPC_EmitInteger32, 2, 
14244
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14245
310
                   MVT::i32, 2, 2, 3, 
14246
310
    21, 
14247
310
     OPC_CheckChild2CondCode, ISD::SETULE,
14248
310
     OPC_CheckTypeI32,
14249
310
     OPC_CheckPatternPredicate, 29,
14250
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
14251
310
                   MVT::i32, 2, 1, 0, 
14252
310
     OPC_EmitInteger32, 2, 
14253
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14254
310
                   MVT::i32, 2, 2, 3, 
14255
310
    21, 
14256
310
     OPC_CheckChild2CondCode, ISD::SETGE,
14257
310
     OPC_CheckTypeI32,
14258
310
     OPC_CheckPatternPredicate, 29,
14259
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SLT64),
14260
310
                   MVT::i32, 2, 0, 1, 
14261
310
     OPC_EmitInteger32, 2, 
14262
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14263
310
                   MVT::i32, 2, 2, 3, 
14264
310
    21, 
14265
310
     OPC_CheckChild2CondCode, ISD::SETUGE,
14266
310
     OPC_CheckTypeI32,
14267
310
     OPC_CheckPatternPredicate, 29,
14268
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SLTu64),
14269
310
                   MVT::i32, 2, 0, 1, 
14270
310
     OPC_EmitInteger32, 2, 
14271
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORi),
14272
310
                   MVT::i32, 2, 2, 3, 
14273
310
    0, 
14274
310
   0, 
14275
310
  85|128,3, 
14276
310
   OPC_CheckChild0Type, MVT::f32,
14277
310
   OPC_RecordChild1,
14278
310
   OPC_CheckTypeI32,
14279
310
   OPC_Scope, 24, 
14280
310
    OPC_CheckChild2CondCode, ISD::SETUO,
14281
310
    OPC_Scope, 9, 
14282
310
     OPC_CheckPatternPredicate, 26,
14283
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_S),
14284
310
                   MVT::i32, 2, 0, 1, 
14285
310
    9, 
14286
310
     OPC_CheckPatternPredicate, 24,
14287
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_S_MMR6),
14288
310
                   MVT::i32, 2, 0, 1, 
14289
310
    0, 
14290
310
   24, 
14291
310
    OPC_CheckChild2CondCode, ISD::SETOEQ,
14292
310
    OPC_Scope, 9, 
14293
310
     OPC_CheckPatternPredicate, 26,
14294
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S),
14295
310
                   MVT::i32, 2, 0, 1, 
14296
310
    9, 
14297
310
     OPC_CheckPatternPredicate, 24,
14298
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
14299
310
                   MVT::i32, 2, 0, 1, 
14300
310
    0, 
14301
310
   24, 
14302
310
    OPC_CheckChild2CondCode, ISD::SETUEQ,
14303
310
    OPC_Scope, 9, 
14304
310
     OPC_CheckPatternPredicate, 26,
14305
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_S),
14306
310
                   MVT::i32, 2, 0, 1, 
14307
310
    9, 
14308
310
     OPC_CheckPatternPredicate, 24,
14309
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_S_MMR6),
14310
310
                   MVT::i32, 2, 0, 1, 
14311
310
    0, 
14312
310
   24, 
14313
310
    OPC_CheckChild2CondCode, ISD::SETOLT,
14314
310
    OPC_Scope, 9, 
14315
310
     OPC_CheckPatternPredicate, 26,
14316
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
14317
310
                   MVT::i32, 2, 0, 1, 
14318
310
    9, 
14319
310
     OPC_CheckPatternPredicate, 24,
14320
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
14321
310
                   MVT::i32, 2, 0, 1, 
14322
310
    0, 
14323
310
   24, 
14324
310
    OPC_CheckChild2CondCode, ISD::SETULT,
14325
310
    OPC_Scope, 9, 
14326
310
     OPC_CheckPatternPredicate, 26,
14327
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_S),
14328
310
                   MVT::i32, 2, 0, 1, 
14329
310
    9, 
14330
310
     OPC_CheckPatternPredicate, 24,
14331
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_S_MMR6),
14332
310
                   MVT::i32, 2, 0, 1, 
14333
310
    0, 
14334
310
   24, 
14335
310
    OPC_CheckChild2CondCode, ISD::SETOLE,
14336
310
    OPC_Scope, 9, 
14337
310
     OPC_CheckPatternPredicate, 26,
14338
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
14339
310
                   MVT::i32, 2, 0, 1, 
14340
310
    9, 
14341
310
     OPC_CheckPatternPredicate, 24,
14342
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
14343
310
                   MVT::i32, 2, 0, 1, 
14344
310
    0, 
14345
310
   24, 
14346
310
    OPC_CheckChild2CondCode, ISD::SETULE,
14347
310
    OPC_Scope, 9, 
14348
310
     OPC_CheckPatternPredicate, 26,
14349
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_S),
14350
310
                   MVT::i32, 2, 0, 1, 
14351
310
    9, 
14352
310
     OPC_CheckPatternPredicate, 24,
14353
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_S_MMR6),
14354
310
                   MVT::i32, 2, 0, 1, 
14355
310
    0, 
14356
310
   23, 
14357
310
    OPC_CheckChild2CondCode, ISD::SETEQ,
14358
310
    OPC_Scope, 9, 
14359
310
     OPC_CheckPatternPredicate, 15,
14360
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S),
14361
310
                   MVT::i32, 2, 0, 1, 
14362
310
    8, 
14363
310
     OPC_CheckPatternPredicate7,
14364
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
14365
310
                   MVT::i32, 2, 0, 1, 
14366
310
    0, 
14367
310
   23, 
14368
310
    OPC_CheckChild2CondCode, ISD::SETGT,
14369
310
    OPC_Scope, 9, 
14370
310
     OPC_CheckPatternPredicate, 15,
14371
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
14372
310
                   MVT::i32, 2, 1, 0, 
14373
310
    8, 
14374
310
     OPC_CheckPatternPredicate7,
14375
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
14376
310
                   MVT::i32, 2, 1, 0, 
14377
310
    0, 
14378
310
   23, 
14379
310
    OPC_CheckChild2CondCode, ISD::SETGE,
14380
310
    OPC_Scope, 9, 
14381
310
     OPC_CheckPatternPredicate, 15,
14382
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
14383
310
                   MVT::i32, 2, 1, 0, 
14384
310
    8, 
14385
310
     OPC_CheckPatternPredicate7,
14386
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
14387
310
                   MVT::i32, 2, 1, 0, 
14388
310
    0, 
14389
310
   23, 
14390
310
    OPC_CheckChild2CondCode, ISD::SETLT,
14391
310
    OPC_Scope, 9, 
14392
310
     OPC_CheckPatternPredicate, 15,
14393
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S),
14394
310
                   MVT::i32, 2, 0, 1, 
14395
310
    8, 
14396
310
     OPC_CheckPatternPredicate7,
14397
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_S_MMR6),
14398
310
                   MVT::i32, 2, 0, 1, 
14399
310
    0, 
14400
310
   23, 
14401
310
    OPC_CheckChild2CondCode, ISD::SETLE,
14402
310
    OPC_Scope, 9, 
14403
310
     OPC_CheckPatternPredicate, 15,
14404
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S),
14405
310
                   MVT::i32, 2, 0, 1, 
14406
310
    8, 
14407
310
     OPC_CheckPatternPredicate7,
14408
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_S_MMR6),
14409
310
                   MVT::i32, 2, 0, 1, 
14410
310
    0, 
14411
310
   41, 
14412
310
    OPC_CheckChild2CondCode, ISD::SETONE,
14413
310
    OPC_Scope, 18, 
14414
310
     OPC_CheckPatternPredicate, 15,
14415
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UEQ_S),
14416
310
                   MVT::i32, 2, 0, 1, 
14417
310
     OPC_EmitRegisterI32, Mips::ZERO,
14418
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14419
310
                   MVT::i32, 2, 2, 3, 
14420
310
    17, 
14421
310
     OPC_CheckPatternPredicate7,
14422
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UEQ_S_MMR6),
14423
310
                   MVT::i32, 2, 0, 1, 
14424
310
     OPC_EmitRegisterI32, Mips::ZERO,
14425
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14426
310
                   MVT::i32, 2, 2, 3, 
14427
310
    0, 
14428
310
   41, 
14429
310
    OPC_CheckChild2CondCode, ISD::SETO,
14430
310
    OPC_Scope, 18, 
14431
310
     OPC_CheckPatternPredicate, 15,
14432
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UN_S),
14433
310
                   MVT::i32, 2, 0, 1, 
14434
310
     OPC_EmitRegisterI32, Mips::ZERO,
14435
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14436
310
                   MVT::i32, 2, 2, 3, 
14437
310
    17, 
14438
310
     OPC_CheckPatternPredicate7,
14439
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UN_S_MMR6),
14440
310
                   MVT::i32, 2, 0, 1, 
14441
310
     OPC_EmitRegisterI32, Mips::ZERO,
14442
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14443
310
                   MVT::i32, 2, 2, 3, 
14444
310
    0, 
14445
310
   41, 
14446
310
    OPC_CheckChild2CondCode, ISD::SETUNE,
14447
310
    OPC_Scope, 18, 
14448
310
     OPC_CheckPatternPredicate, 15,
14449
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_S),
14450
310
                   MVT::i32, 2, 0, 1, 
14451
310
     OPC_EmitRegisterI32, Mips::ZERO,
14452
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14453
310
                   MVT::i32, 2, 2, 3, 
14454
310
    17, 
14455
310
     OPC_CheckPatternPredicate7,
14456
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
14457
310
                   MVT::i32, 2, 0, 1, 
14458
310
     OPC_EmitRegisterI32, Mips::ZERO,
14459
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14460
310
                   MVT::i32, 2, 2, 3, 
14461
310
    0, 
14462
310
   41, 
14463
310
    OPC_CheckChild2CondCode, ISD::SETNE,
14464
310
    OPC_Scope, 18, 
14465
310
     OPC_CheckPatternPredicate, 15,
14466
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_S),
14467
310
                   MVT::i32, 2, 0, 1, 
14468
310
     OPC_EmitRegisterI32, Mips::ZERO,
14469
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14470
310
                   MVT::i32, 2, 2, 3, 
14471
310
    17, 
14472
310
     OPC_CheckPatternPredicate7,
14473
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_S_MMR6),
14474
310
                   MVT::i32, 2, 0, 1, 
14475
310
     OPC_EmitRegisterI32, Mips::ZERO,
14476
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14477
310
                   MVT::i32, 2, 2, 3, 
14478
310
    0, 
14479
310
   0, 
14480
310
  85|128,3, 
14481
310
   OPC_CheckChild0Type, MVT::f64,
14482
310
   OPC_RecordChild1,
14483
310
   OPC_CheckTypeI32,
14484
310
   OPC_Scope, 24, 
14485
310
    OPC_CheckChild2CondCode, ISD::SETUO,
14486
310
    OPC_Scope, 9, 
14487
310
     OPC_CheckPatternPredicate, 26,
14488
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_D),
14489
310
                   MVT::i32, 2, 0, 1, 
14490
310
    9, 
14491
310
     OPC_CheckPatternPredicate, 24,
14492
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UN_D_MMR6),
14493
310
                   MVT::i32, 2, 0, 1, 
14494
310
    0, 
14495
310
   24, 
14496
310
    OPC_CheckChild2CondCode, ISD::SETOEQ,
14497
310
    OPC_Scope, 9, 
14498
310
     OPC_CheckPatternPredicate, 26,
14499
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D),
14500
310
                   MVT::i32, 2, 0, 1, 
14501
310
    9, 
14502
310
     OPC_CheckPatternPredicate, 24,
14503
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
14504
310
                   MVT::i32, 2, 0, 1, 
14505
310
    0, 
14506
310
   24, 
14507
310
    OPC_CheckChild2CondCode, ISD::SETUEQ,
14508
310
    OPC_Scope, 9, 
14509
310
     OPC_CheckPatternPredicate, 26,
14510
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_D),
14511
310
                   MVT::i32, 2, 0, 1, 
14512
310
    9, 
14513
310
     OPC_CheckPatternPredicate, 24,
14514
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_UEQ_D_MMR6),
14515
310
                   MVT::i32, 2, 0, 1, 
14516
310
    0, 
14517
310
   24, 
14518
310
    OPC_CheckChild2CondCode, ISD::SETOLT,
14519
310
    OPC_Scope, 9, 
14520
310
     OPC_CheckPatternPredicate, 26,
14521
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
14522
310
                   MVT::i32, 2, 0, 1, 
14523
310
    9, 
14524
310
     OPC_CheckPatternPredicate, 24,
14525
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
14526
310
                   MVT::i32, 2, 0, 1, 
14527
310
    0, 
14528
310
   24, 
14529
310
    OPC_CheckChild2CondCode, ISD::SETULT,
14530
310
    OPC_Scope, 9, 
14531
310
     OPC_CheckPatternPredicate, 26,
14532
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_D),
14533
310
                   MVT::i32, 2, 0, 1, 
14534
310
    9, 
14535
310
     OPC_CheckPatternPredicate, 24,
14536
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULT_D_MMR6),
14537
310
                   MVT::i32, 2, 0, 1, 
14538
310
    0, 
14539
310
   24, 
14540
310
    OPC_CheckChild2CondCode, ISD::SETOLE,
14541
310
    OPC_Scope, 9, 
14542
310
     OPC_CheckPatternPredicate, 26,
14543
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
14544
310
                   MVT::i32, 2, 0, 1, 
14545
310
    9, 
14546
310
     OPC_CheckPatternPredicate, 24,
14547
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
14548
310
                   MVT::i32, 2, 0, 1, 
14549
310
    0, 
14550
310
   24, 
14551
310
    OPC_CheckChild2CondCode, ISD::SETULE,
14552
310
    OPC_Scope, 9, 
14553
310
     OPC_CheckPatternPredicate, 26,
14554
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_D),
14555
310
                   MVT::i32, 2, 0, 1, 
14556
310
    9, 
14557
310
     OPC_CheckPatternPredicate, 24,
14558
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_ULE_D_MMR6),
14559
310
                   MVT::i32, 2, 0, 1, 
14560
310
    0, 
14561
310
   23, 
14562
310
    OPC_CheckChild2CondCode, ISD::SETEQ,
14563
310
    OPC_Scope, 9, 
14564
310
     OPC_CheckPatternPredicate, 15,
14565
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D),
14566
310
                   MVT::i32, 2, 0, 1, 
14567
310
    8, 
14568
310
     OPC_CheckPatternPredicate7,
14569
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
14570
310
                   MVT::i32, 2, 0, 1, 
14571
310
    0, 
14572
310
   23, 
14573
310
    OPC_CheckChild2CondCode, ISD::SETGT,
14574
310
    OPC_Scope, 9, 
14575
310
     OPC_CheckPatternPredicate, 15,
14576
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
14577
310
                   MVT::i32, 2, 1, 0, 
14578
310
    8, 
14579
310
     OPC_CheckPatternPredicate7,
14580
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
14581
310
                   MVT::i32, 2, 1, 0, 
14582
310
    0, 
14583
310
   23, 
14584
310
    OPC_CheckChild2CondCode, ISD::SETGE,
14585
310
    OPC_Scope, 9, 
14586
310
     OPC_CheckPatternPredicate, 15,
14587
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
14588
310
                   MVT::i32, 2, 1, 0, 
14589
310
    8, 
14590
310
     OPC_CheckPatternPredicate7,
14591
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
14592
310
                   MVT::i32, 2, 1, 0, 
14593
310
    0, 
14594
310
   23, 
14595
310
    OPC_CheckChild2CondCode, ISD::SETLT,
14596
310
    OPC_Scope, 9, 
14597
310
     OPC_CheckPatternPredicate, 15,
14598
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D),
14599
310
                   MVT::i32, 2, 0, 1, 
14600
310
    8, 
14601
310
     OPC_CheckPatternPredicate7,
14602
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LT_D_MMR6),
14603
310
                   MVT::i32, 2, 0, 1, 
14604
310
    0, 
14605
310
   23, 
14606
310
    OPC_CheckChild2CondCode, ISD::SETLE,
14607
310
    OPC_Scope, 9, 
14608
310
     OPC_CheckPatternPredicate, 15,
14609
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D),
14610
310
                   MVT::i32, 2, 0, 1, 
14611
310
    8, 
14612
310
     OPC_CheckPatternPredicate7,
14613
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CMP_LE_D_MMR6),
14614
310
                   MVT::i32, 2, 0, 1, 
14615
310
    0, 
14616
310
   41, 
14617
310
    OPC_CheckChild2CondCode, ISD::SETONE,
14618
310
    OPC_Scope, 18, 
14619
310
     OPC_CheckPatternPredicate, 15,
14620
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UEQ_D),
14621
310
                   MVT::i32, 2, 0, 1, 
14622
310
     OPC_EmitRegisterI32, Mips::ZERO,
14623
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14624
310
                   MVT::i32, 2, 2, 3, 
14625
310
    17, 
14626
310
     OPC_CheckPatternPredicate7,
14627
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UEQ_D_MMR6),
14628
310
                   MVT::i32, 2, 0, 1, 
14629
310
     OPC_EmitRegisterI32, Mips::ZERO,
14630
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14631
310
                   MVT::i32, 2, 2, 3, 
14632
310
    0, 
14633
310
   41, 
14634
310
    OPC_CheckChild2CondCode, ISD::SETO,
14635
310
    OPC_Scope, 18, 
14636
310
     OPC_CheckPatternPredicate, 15,
14637
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UN_D),
14638
310
                   MVT::i32, 2, 0, 1, 
14639
310
     OPC_EmitRegisterI32, Mips::ZERO,
14640
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14641
310
                   MVT::i32, 2, 2, 3, 
14642
310
    17, 
14643
310
     OPC_CheckPatternPredicate7,
14644
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_UN_D_MMR6),
14645
310
                   MVT::i32, 2, 0, 1, 
14646
310
     OPC_EmitRegisterI32, Mips::ZERO,
14647
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14648
310
                   MVT::i32, 2, 2, 3, 
14649
310
    0, 
14650
310
   41, 
14651
310
    OPC_CheckChild2CondCode, ISD::SETUNE,
14652
310
    OPC_Scope, 18, 
14653
310
     OPC_CheckPatternPredicate, 15,
14654
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_D),
14655
310
                   MVT::i32, 2, 0, 1, 
14656
310
     OPC_EmitRegisterI32, Mips::ZERO,
14657
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14658
310
                   MVT::i32, 2, 2, 3, 
14659
310
    17, 
14660
310
     OPC_CheckPatternPredicate7,
14661
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
14662
310
                   MVT::i32, 2, 0, 1, 
14663
310
     OPC_EmitRegisterI32, Mips::ZERO,
14664
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14665
310
                   MVT::i32, 2, 2, 3, 
14666
310
    0, 
14667
310
   41, 
14668
310
    OPC_CheckChild2CondCode, ISD::SETNE,
14669
310
    OPC_Scope, 18, 
14670
310
     OPC_CheckPatternPredicate, 15,
14671
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_D),
14672
310
                   MVT::i32, 2, 0, 1, 
14673
310
     OPC_EmitRegisterI32, Mips::ZERO,
14674
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR),
14675
310
                   MVT::i32, 2, 2, 3, 
14676
310
    17, 
14677
310
     OPC_CheckPatternPredicate7,
14678
310
     OPC_EmitNode1None, TARGET_VAL(Mips::CMP_EQ_D_MMR6),
14679
310
                   MVT::i32, 2, 0, 1, 
14680
310
     OPC_EmitRegisterI32, Mips::ZERO,
14681
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_MMR6),
14682
310
                   MVT::i32, 2, 2, 3, 
14683
310
    0, 
14684
310
   0, 
14685
310
  2|128,1, 
14686
310
   OPC_CheckChild0Type, MVT::v16i8,
14687
310
   OPC_RecordChild1,
14688
310
   OPC_CheckType, MVT::v16i8,
14689
310
   OPC_Scope, 24, 
14690
310
    OPC_CheckChild2CondCode, ISD::SETEQ,
14691
310
    OPC_CheckPatternPredicate0,
14692
310
    OPC_Scope, 10, 
14693
310
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
14694
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_B),
14695
310
                   MVT::v16i8, 2, 0, 2, 
14696
310
    7, 
14697
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_B),
14698
310
                   MVT::v16i8, 2, 0, 1, 
14699
310
    0, 
14700
310
   24, 
14701
310
    OPC_CheckChild2CondCode, ISD::SETLE,
14702
310
    OPC_CheckPatternPredicate0,
14703
310
    OPC_Scope, 10, 
14704
310
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
14705
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_B),
14706
310
                   MVT::v16i8, 2, 0, 2, 
14707
310
    7, 
14708
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_B),
14709
310
                   MVT::v16i8, 2, 0, 1, 
14710
310
    0, 
14711
310
   23, 
14712
310
    OPC_CheckChild2CondCode, ISD::SETULE,
14713
310
    OPC_CheckPatternPredicate0,
14714
310
    OPC_Scope, 9, 
14715
310
     OPC_CheckComplexPat7, /*#*/1,
14716
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_B),
14717
310
                   MVT::v16i8, 2, 0, 2, 
14718
310
    7, 
14719
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_B),
14720
310
                   MVT::v16i8, 2, 0, 1, 
14721
310
    0, 
14722
310
   24, 
14723
310
    OPC_CheckChild2CondCode, ISD::SETLT,
14724
310
    OPC_CheckPatternPredicate0,
14725
310
    OPC_Scope, 10, 
14726
310
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
14727
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_B),
14728
310
                   MVT::v16i8, 2, 0, 2, 
14729
310
    7, 
14730
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_B),
14731
310
                   MVT::v16i8, 2, 0, 1, 
14732
310
    0, 
14733
310
   23, 
14734
310
    OPC_CheckChild2CondCode, ISD::SETULT,
14735
310
    OPC_CheckPatternPredicate0,
14736
310
    OPC_Scope, 9, 
14737
310
     OPC_CheckComplexPat7, /*#*/1,
14738
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_B),
14739
310
                   MVT::v16i8, 2, 0, 2, 
14740
310
    7, 
14741
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_B),
14742
310
                   MVT::v16i8, 2, 0, 1, 
14743
310
    0, 
14744
310
   0, 
14745
310
  4|128,1, 
14746
310
   OPC_CheckChild0Type, MVT::v8i16,
14747
310
   OPC_RecordChild1,
14748
310
   OPC_CheckType, MVT::v8i16,
14749
310
   OPC_Scope, 24, 
14750
310
    OPC_CheckChild2CondCode, ISD::SETEQ,
14751
310
    OPC_CheckPatternPredicate0,
14752
310
    OPC_Scope, 10, 
14753
310
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
14754
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_H),
14755
310
                   MVT::v8i16, 2, 0, 2, 
14756
310
    7, 
14757
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_H),
14758
310
                   MVT::v8i16, 2, 0, 1, 
14759
310
    0, 
14760
310
   24, 
14761
310
    OPC_CheckChild2CondCode, ISD::SETLE,
14762
310
    OPC_CheckPatternPredicate0,
14763
310
    OPC_Scope, 10, 
14764
310
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
14765
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_H),
14766
310
                   MVT::v8i16, 2, 0, 2, 
14767
310
    7, 
14768
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_H),
14769
310
                   MVT::v8i16, 2, 0, 1, 
14770
310
    0, 
14771
310
   24, 
14772
310
    OPC_CheckChild2CondCode, ISD::SETULE,
14773
310
    OPC_CheckPatternPredicate0,
14774
310
    OPC_Scope, 10, 
14775
310
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
14776
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_H),
14777
310
                   MVT::v8i16, 2, 0, 2, 
14778
310
    7, 
14779
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_H),
14780
310
                   MVT::v8i16, 2, 0, 1, 
14781
310
    0, 
14782
310
   24, 
14783
310
    OPC_CheckChild2CondCode, ISD::SETLT,
14784
310
    OPC_CheckPatternPredicate0,
14785
310
    OPC_Scope, 10, 
14786
310
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
14787
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_H),
14788
310
                   MVT::v8i16, 2, 0, 2, 
14789
310
    7, 
14790
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_H),
14791
310
                   MVT::v8i16, 2, 0, 1, 
14792
310
    0, 
14793
310
   24, 
14794
310
    OPC_CheckChild2CondCode, ISD::SETULT,
14795
310
    OPC_CheckPatternPredicate0,
14796
310
    OPC_Scope, 10, 
14797
310
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
14798
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_H),
14799
310
                   MVT::v8i16, 2, 0, 2, 
14800
310
    7, 
14801
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_H),
14802
310
                   MVT::v8i16, 2, 0, 1, 
14803
310
    0, 
14804
310
   0, 
14805
310
  2|128,1, 
14806
310
   OPC_CheckChild0Type, MVT::v4i32,
14807
310
   OPC_RecordChild1,
14808
310
   OPC_CheckType, MVT::v4i32,
14809
310
   OPC_Scope, 24, 
14810
310
    OPC_CheckChild2CondCode, ISD::SETEQ,
14811
310
    OPC_CheckPatternPredicate0,
14812
310
    OPC_Scope, 10, 
14813
310
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
14814
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_W),
14815
310
                   MVT::v4i32, 2, 0, 2, 
14816
310
    7, 
14817
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_W),
14818
310
                   MVT::v4i32, 2, 0, 1, 
14819
310
    0, 
14820
310
   24, 
14821
310
    OPC_CheckChild2CondCode, ISD::SETLE,
14822
310
    OPC_CheckPatternPredicate0,
14823
310
    OPC_Scope, 10, 
14824
310
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
14825
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_W),
14826
310
                   MVT::v4i32, 2, 0, 2, 
14827
310
    7, 
14828
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_W),
14829
310
                   MVT::v4i32, 2, 0, 1, 
14830
310
    0, 
14831
310
   23, 
14832
310
    OPC_CheckChild2CondCode, ISD::SETULE,
14833
310
    OPC_CheckPatternPredicate0,
14834
310
    OPC_Scope, 9, 
14835
310
     OPC_CheckComplexPat4, /*#*/1,
14836
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_W),
14837
310
                   MVT::v4i32, 2, 0, 2, 
14838
310
    7, 
14839
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_W),
14840
310
                   MVT::v4i32, 2, 0, 1, 
14841
310
    0, 
14842
310
   24, 
14843
310
    OPC_CheckChild2CondCode, ISD::SETLT,
14844
310
    OPC_CheckPatternPredicate0,
14845
310
    OPC_Scope, 10, 
14846
310
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
14847
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_W),
14848
310
                   MVT::v4i32, 2, 0, 2, 
14849
310
    7, 
14850
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_W),
14851
310
                   MVT::v4i32, 2, 0, 1, 
14852
310
    0, 
14853
310
   23, 
14854
310
    OPC_CheckChild2CondCode, ISD::SETULT,
14855
310
    OPC_CheckPatternPredicate0,
14856
310
    OPC_Scope, 9, 
14857
310
     OPC_CheckComplexPat4, /*#*/1,
14858
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_W),
14859
310
                   MVT::v4i32, 2, 0, 2, 
14860
310
    7, 
14861
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_W),
14862
310
                   MVT::v4i32, 2, 0, 1, 
14863
310
    0, 
14864
310
   0, 
14865
310
  4|128,1, 
14866
310
   OPC_CheckChild0Type, MVT::v2i64,
14867
310
   OPC_RecordChild1,
14868
310
   OPC_CheckType, MVT::v2i64,
14869
310
   OPC_Scope, 24, 
14870
310
    OPC_CheckChild2CondCode, ISD::SETEQ,
14871
310
    OPC_CheckPatternPredicate0,
14872
310
    OPC_Scope, 10, 
14873
310
     OPC_CheckComplexPat, /*CP*/15, /*#*/1,
14874
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQI_D),
14875
310
                   MVT::v2i64, 2, 0, 2, 
14876
310
    7, 
14877
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CEQ_D),
14878
310
                   MVT::v2i64, 2, 0, 1, 
14879
310
    0, 
14880
310
   24, 
14881
310
    OPC_CheckChild2CondCode, ISD::SETLE,
14882
310
    OPC_CheckPatternPredicate0,
14883
310
    OPC_Scope, 10, 
14884
310
     OPC_CheckComplexPat, /*CP*/15, /*#*/1,
14885
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_S_D),
14886
310
                   MVT::v2i64, 2, 0, 2, 
14887
310
    7, 
14888
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_S_D),
14889
310
                   MVT::v2i64, 2, 0, 1, 
14890
310
    0, 
14891
310
   24, 
14892
310
    OPC_CheckChild2CondCode, ISD::SETULE,
14893
310
    OPC_CheckPatternPredicate0,
14894
310
    OPC_Scope, 10, 
14895
310
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
14896
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLEI_U_D),
14897
310
                   MVT::v2i64, 2, 0, 2, 
14898
310
    7, 
14899
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLE_U_D),
14900
310
                   MVT::v2i64, 2, 0, 1, 
14901
310
    0, 
14902
310
   24, 
14903
310
    OPC_CheckChild2CondCode, ISD::SETLT,
14904
310
    OPC_CheckPatternPredicate0,
14905
310
    OPC_Scope, 10, 
14906
310
     OPC_CheckComplexPat, /*CP*/15, /*#*/1,
14907
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_S_D),
14908
310
                   MVT::v2i64, 2, 0, 2, 
14909
310
    7, 
14910
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_S_D),
14911
310
                   MVT::v2i64, 2, 0, 1, 
14912
310
    0, 
14913
310
   24, 
14914
310
    OPC_CheckChild2CondCode, ISD::SETULT,
14915
310
    OPC_CheckPatternPredicate0,
14916
310
    OPC_Scope, 10, 
14917
310
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
14918
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLTI_U_D),
14919
310
                   MVT::v2i64, 2, 0, 2, 
14920
310
    7, 
14921
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CLT_U_D),
14922
310
                   MVT::v2i64, 2, 0, 1, 
14923
310
    0, 
14924
310
   0, 
14925
310
  33|128,1, 
14926
310
   OPC_CheckChild0Type, MVT::v4f32,
14927
310
   OPC_RecordChild1,
14928
310
   OPC_CheckType, MVT::v4i32,
14929
310
   OPC_Scope, 10, 
14930
310
    OPC_CheckChild2CondCode, ISD::SETOEQ,
14931
310
    OPC_CheckPatternPredicate0,
14932
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_W),
14933
310
                  MVT::v4i32, 2, 0, 1, 
14934
310
   10, 
14935
310
    OPC_CheckChild2CondCode, ISD::SETOLE,
14936
310
    OPC_CheckPatternPredicate0,
14937
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_W),
14938
310
                  MVT::v4i32, 2, 0, 1, 
14939
310
   10, 
14940
310
    OPC_CheckChild2CondCode, ISD::SETOLT,
14941
310
    OPC_CheckPatternPredicate0,
14942
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_W),
14943
310
                  MVT::v4i32, 2, 0, 1, 
14944
310
   10, 
14945
310
    OPC_CheckChild2CondCode, ISD::SETONE,
14946
310
    OPC_CheckPatternPredicate0,
14947
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_W),
14948
310
                  MVT::v4i32, 2, 0, 1, 
14949
310
   10, 
14950
310
    OPC_CheckChild2CondCode, ISD::SETO,
14951
310
    OPC_CheckPatternPredicate0,
14952
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCOR_W),
14953
310
                  MVT::v4i32, 2, 0, 1, 
14954
310
   10, 
14955
310
    OPC_CheckChild2CondCode, ISD::SETUEQ,
14956
310
    OPC_CheckPatternPredicate0,
14957
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUEQ_W),
14958
310
                  MVT::v4i32, 2, 0, 1, 
14959
310
   10, 
14960
310
    OPC_CheckChild2CondCode, ISD::SETULE,
14961
310
    OPC_CheckPatternPredicate0,
14962
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULE_W),
14963
310
                  MVT::v4i32, 2, 0, 1, 
14964
310
   10, 
14965
310
    OPC_CheckChild2CondCode, ISD::SETULT,
14966
310
    OPC_CheckPatternPredicate0,
14967
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULT_W),
14968
310
                  MVT::v4i32, 2, 0, 1, 
14969
310
   10, 
14970
310
    OPC_CheckChild2CondCode, ISD::SETUO,
14971
310
    OPC_CheckPatternPredicate0,
14972
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUN_W),
14973
310
                  MVT::v4i32, 2, 0, 1, 
14974
310
   10, 
14975
310
    OPC_CheckChild2CondCode, ISD::SETUNE,
14976
310
    OPC_CheckPatternPredicate0,
14977
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUNE_W),
14978
310
                  MVT::v4i32, 2, 0, 1, 
14979
310
   10, 
14980
310
    OPC_CheckChild2CondCode, ISD::SETEQ,
14981
310
    OPC_CheckPatternPredicate3,
14982
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_W),
14983
310
                  MVT::v4i32, 2, 0, 1, 
14984
310
   10, 
14985
310
    OPC_CheckChild2CondCode, ISD::SETLE,
14986
310
    OPC_CheckPatternPredicate3,
14987
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_W),
14988
310
                  MVT::v4i32, 2, 0, 1, 
14989
310
   10, 
14990
310
    OPC_CheckChild2CondCode, ISD::SETLT,
14991
310
    OPC_CheckPatternPredicate3,
14992
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_W),
14993
310
                  MVT::v4i32, 2, 0, 1, 
14994
310
   10, 
14995
310
    OPC_CheckChild2CondCode, ISD::SETNE,
14996
310
    OPC_CheckPatternPredicate3,
14997
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_W),
14998
310
                  MVT::v4i32, 2, 0, 1, 
14999
310
   0, 
15000
310
  33|128,1, 
15001
310
   OPC_CheckChild0Type, MVT::v2f64,
15002
310
   OPC_RecordChild1,
15003
310
   OPC_CheckType, MVT::v2i64,
15004
310
   OPC_Scope, 10, 
15005
310
    OPC_CheckChild2CondCode, ISD::SETOEQ,
15006
310
    OPC_CheckPatternPredicate0,
15007
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_D),
15008
310
                  MVT::v2i64, 2, 0, 1, 
15009
310
   10, 
15010
310
    OPC_CheckChild2CondCode, ISD::SETOLE,
15011
310
    OPC_CheckPatternPredicate0,
15012
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_D),
15013
310
                  MVT::v2i64, 2, 0, 1, 
15014
310
   10, 
15015
310
    OPC_CheckChild2CondCode, ISD::SETOLT,
15016
310
    OPC_CheckPatternPredicate0,
15017
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_D),
15018
310
                  MVT::v2i64, 2, 0, 1, 
15019
310
   10, 
15020
310
    OPC_CheckChild2CondCode, ISD::SETONE,
15021
310
    OPC_CheckPatternPredicate0,
15022
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_D),
15023
310
                  MVT::v2i64, 2, 0, 1, 
15024
310
   10, 
15025
310
    OPC_CheckChild2CondCode, ISD::SETO,
15026
310
    OPC_CheckPatternPredicate0,
15027
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCOR_D),
15028
310
                  MVT::v2i64, 2, 0, 1, 
15029
310
   10, 
15030
310
    OPC_CheckChild2CondCode, ISD::SETUEQ,
15031
310
    OPC_CheckPatternPredicate0,
15032
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUEQ_D),
15033
310
                  MVT::v2i64, 2, 0, 1, 
15034
310
   10, 
15035
310
    OPC_CheckChild2CondCode, ISD::SETULE,
15036
310
    OPC_CheckPatternPredicate0,
15037
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULE_D),
15038
310
                  MVT::v2i64, 2, 0, 1, 
15039
310
   10, 
15040
310
    OPC_CheckChild2CondCode, ISD::SETULT,
15041
310
    OPC_CheckPatternPredicate0,
15042
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCULT_D),
15043
310
                  MVT::v2i64, 2, 0, 1, 
15044
310
   10, 
15045
310
    OPC_CheckChild2CondCode, ISD::SETUO,
15046
310
    OPC_CheckPatternPredicate0,
15047
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUN_D),
15048
310
                  MVT::v2i64, 2, 0, 1, 
15049
310
   10, 
15050
310
    OPC_CheckChild2CondCode, ISD::SETUNE,
15051
310
    OPC_CheckPatternPredicate0,
15052
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCUNE_D),
15053
310
                  MVT::v2i64, 2, 0, 1, 
15054
310
   10, 
15055
310
    OPC_CheckChild2CondCode, ISD::SETEQ,
15056
310
    OPC_CheckPatternPredicate3,
15057
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCEQ_D),
15058
310
                  MVT::v2i64, 2, 0, 1, 
15059
310
   10, 
15060
310
    OPC_CheckChild2CondCode, ISD::SETLE,
15061
310
    OPC_CheckPatternPredicate3,
15062
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLE_D),
15063
310
                  MVT::v2i64, 2, 0, 1, 
15064
310
   10, 
15065
310
    OPC_CheckChild2CondCode, ISD::SETLT,
15066
310
    OPC_CheckPatternPredicate3,
15067
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCLT_D),
15068
310
                  MVT::v2i64, 2, 0, 1, 
15069
310
   10, 
15070
310
    OPC_CheckChild2CondCode, ISD::SETNE,
15071
310
    OPC_CheckPatternPredicate3,
15072
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FCNE_D),
15073
310
                  MVT::v2i64, 2, 0, 1, 
15074
310
   0, 
15075
310
  0, 
15076
310
 74, TARGET_VAL(MipsISD::FPBrcond),
15077
310
  OPC_RecordNode,
15078
310
  OPC_CaptureGlueInput,
15079
310
  OPC_Scope, 34, 
15080
310
   OPC_CheckChild1Integer, 0, 
15081
310
   OPC_CheckChild1TypeI32,
15082
310
   OPC_RecordChild2,
15083
310
   OPC_RecordChild3,
15084
310
   OPC_MoveChild3,
15085
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
15086
310
   OPC_MoveParent,
15087
310
   OPC_Scope, 10, 
15088
310
    OPC_CheckPatternPredicate, 65,
15089
310
    OPC_EmitMergeInputChains1_0,
15090
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F), 0|OPFL_Chain|OPFL_GlueInput,
15091
310
                  2, 1, 2, 
15092
310
   10, 
15093
310
    OPC_CheckPatternPredicate, 31,
15094
310
    OPC_EmitMergeInputChains1_0,
15095
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1F_MM), 0|OPFL_Chain|OPFL_GlueInput,
15096
310
                  2, 1, 2, 
15097
310
   0, 
15098
310
  34, 
15099
310
   OPC_CheckChild1Integer, 2, 
15100
310
   OPC_CheckChild1TypeI32,
15101
310
   OPC_RecordChild2,
15102
310
   OPC_RecordChild3,
15103
310
   OPC_MoveChild3,
15104
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
15105
310
   OPC_MoveParent,
15106
310
   OPC_Scope, 10, 
15107
310
    OPC_CheckPatternPredicate, 65,
15108
310
    OPC_EmitMergeInputChains1_0,
15109
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T), 0|OPFL_Chain|OPFL_GlueInput,
15110
310
                  2, 1, 2, 
15111
310
   10, 
15112
310
    OPC_CheckPatternPredicate, 31,
15113
310
    OPC_EmitMergeInputChains1_0,
15114
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::BC1T_MM), 0|OPFL_Chain|OPFL_GlueInput,
15115
310
                  2, 1, 2, 
15116
310
   0, 
15117
310
  0, 
15118
310
 126|128,1, TARGET_VAL(ISD::SUB),
15119
310
  OPC_Scope, 11, 
15120
310
   OPC_CheckChild0Integer, 0, 
15121
310
   OPC_RecordChild1,
15122
310
   OPC_CheckTypeI32,
15123
310
   OPC_CheckPatternPredicate5,
15124
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NegRxRy16),
15125
310
                 MVT::i32, 1, 0, 
15126
310
  110|128,1, 
15127
310
   OPC_RecordChild0,
15128
310
   OPC_Scope, 116, 
15129
310
    OPC_RecordChild1,
15130
310
    OPC_SwitchType , 50, MVT::i32,
15131
310
     OPC_Scope, 8, 
15132
310
      OPC_CheckPatternPredicate7,
15133
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU16_MMR6),
15134
310
                    MVT::i32, 2, 0, 1, 
15135
310
     8, 
15136
310
      OPC_CheckPatternPredicate2,
15137
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBu),
15138
310
                    MVT::i32, 2, 0, 1, 
15139
310
     8, 
15140
310
      OPC_CheckPatternPredicate5,
15141
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::SubuRxRyRz16),
15142
310
                    MVT::i32, 2, 0, 1, 
15143
310
     20, 
15144
310
      OPC_CheckPatternPredicate, 8,
15145
310
      OPC_Scope, 7, 
15146
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU16_MM),
15147
310
                     MVT::i32, 2, 0, 1, 
15148
310
      7, 
15149
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBu_MM),
15150
310
                     MVT::i32, 2, 0, 1, 
15151
310
      0, 
15152
310
     0, 
15153
310
    9, MVT::i64,
15154
310
     OPC_CheckPatternPredicate, 23,
15155
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSUBu),
15156
310
                   MVT::i64, 2, 0, 1, 
15157
310
    10, MVT::v16i8,
15158
310
     OPC_CheckPatternPredicate0,
15159
310
     OPC_CheckComplexPat7, /*#*/1,
15160
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_B),
15161
310
                   MVT::v16i8, 2, 0, 2, 
15162
310
    11, MVT::v8i16,
15163
310
     OPC_CheckPatternPredicate0,
15164
310
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
15165
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_H),
15166
310
                   MVT::v8i16, 2, 0, 2, 
15167
310
    10, MVT::v4i32,
15168
310
     OPC_CheckPatternPredicate0,
15169
310
     OPC_CheckComplexPat4, /*#*/1,
15170
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_W),
15171
310
                   MVT::v4i32, 2, 0, 2, 
15172
310
    11, MVT::v2i64,
15173
310
     OPC_CheckPatternPredicate0,
15174
310
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
15175
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBVI_D),
15176
310
                   MVT::v2i64, 2, 0, 2, 
15177
310
    0,
15178
310
   53, 
15179
310
    OPC_MoveChild1,
15180
310
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
15181
310
    OPC_RecordChild0,
15182
310
    OPC_RecordChild1,
15183
310
    OPC_MoveParent,
15184
310
    OPC_SwitchType , 9, MVT::v16i8,
15185
310
     OPC_CheckPatternPredicate0,
15186
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_B),
15187
310
                   MVT::v16i8, 3, 0, 1, 2, 
15188
310
    9, MVT::v8i16,
15189
310
     OPC_CheckPatternPredicate0,
15190
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_H),
15191
310
                   MVT::v8i16, 3, 0, 1, 2, 
15192
310
    9, MVT::v4i32,
15193
310
     OPC_CheckPatternPredicate0,
15194
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_W),
15195
310
                   MVT::v4i32, 3, 0, 1, 2, 
15196
310
    9, MVT::v2i64,
15197
310
     OPC_CheckPatternPredicate0,
15198
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBV_D),
15199
310
                   MVT::v2i64, 3, 0, 1, 2, 
15200
310
    0,
15201
310
   63, 
15202
310
    OPC_RecordChild1,
15203
310
    OPC_SwitchType , 8, MVT::v2i16,
15204
310
     OPC_CheckPatternPredicate1,
15205
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBQ_PH),
15206
310
                   MVT::v2i16, 2, 0, 1, 
15207
310
    8, MVT::v4i8,
15208
310
     OPC_CheckPatternPredicate1,
15209
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBU_QB),
15210
310
                   MVT::v4i8, 2, 0, 1, 
15211
310
    8, MVT::v16i8,
15212
310
     OPC_CheckPatternPredicate0,
15213
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_B),
15214
310
                   MVT::v16i8, 2, 0, 1, 
15215
310
    8, MVT::v8i16,
15216
310
     OPC_CheckPatternPredicate0,
15217
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_H),
15218
310
                   MVT::v8i16, 2, 0, 1, 
15219
310
    8, MVT::v4i32,
15220
310
     OPC_CheckPatternPredicate0,
15221
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_W),
15222
310
                   MVT::v4i32, 2, 0, 1, 
15223
310
    8, MVT::v2i64,
15224
310
     OPC_CheckPatternPredicate0,
15225
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SUBV_D),
15226
310
                   MVT::v2i64, 2, 0, 1, 
15227
310
    0,
15228
310
   0, 
15229
310
  0, 
15230
310
 82|128,13, TARGET_VAL(ISD::OR),
15231
310
  OPC_Scope, 31|128,3, 
15232
310
   OPC_RecordChild0,
15233
310
   OPC_Scope, 12|128,1, 
15234
310
    OPC_RecordChild1,
15235
310
    OPC_Scope, 73, 
15236
310
     OPC_MoveChild1,
15237
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15238
310
     OPC_Scope, 16, 
15239
310
      OPC_CheckPredicate, 13,
15240
310
      OPC_MoveParent,
15241
310
      OPC_CheckTypeI32,
15242
310
      OPC_CheckPatternPredicate7,
15243
310
      OPC_EmitConvertToTarget1,
15244
310
      OPC_EmitNodeXForm, 3, 2,
15245
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_MMR6),
15246
310
                    MVT::i32, 2, 0, 3, 
15247
310
     13, 
15248
310
      OPC_CheckPredicate, 36,
15249
310
      OPC_MoveParent,
15250
310
      OPC_CheckTypeI32,
15251
310
      OPC_CheckPatternPredicate2,
15252
310
      OPC_EmitConvertToTarget1,
15253
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
15254
310
                    MVT::i32, 2, 0, 2, 
15255
310
     35, 
15256
310
      OPC_CheckPredicate, 13,
15257
310
      OPC_MoveParent,
15258
310
      OPC_SwitchType , 13, MVT::i64,
15259
310
       OPC_CheckPatternPredicate, 18,
15260
310
       OPC_EmitConvertToTarget1,
15261
310
       OPC_EmitNodeXForm, 3, 2,
15262
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
15263
310
                     MVT::i64, 2, 0, 3, 
15264
310
      13, MVT::i32,
15265
310
       OPC_CheckPatternPredicate, 8,
15266
310
       OPC_EmitConvertToTarget1,
15267
310
       OPC_EmitNodeXForm, 3, 2,
15268
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
15269
310
                     MVT::i32, 2, 0, 3, 
15270
310
      0,
15271
310
     0, 
15272
310
    51, 
15273
310
     OPC_CheckTypeI32,
15274
310
     OPC_Scope, 8, 
15275
310
      OPC_CheckPatternPredicate2,
15276
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR),
15277
310
                    MVT::i32, 2, 0, 1, 
15278
310
     8, 
15279
310
      OPC_CheckPatternPredicate5,
15280
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OrRxRxRy16),
15281
310
                    MVT::i32, 2, 0, 1, 
15282
310
     20, 
15283
310
      OPC_CheckPatternPredicate, 8,
15284
310
      OPC_Scope, 7, 
15285
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR16_MM),
15286
310
                     MVT::i32, 2, 0, 1, 
15287
310
      7, 
15288
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MM),
15289
310
                     MVT::i32, 2, 0, 1, 
15290
310
      0, 
15291
310
     8, 
15292
310
      OPC_CheckPatternPredicate7,
15293
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_MMR6),
15294
310
                    MVT::i32, 2, 0, 1, 
15295
310
     0, 
15296
310
    10, 
15297
310
     OPC_CheckTypeI64,
15298
310
     OPC_CheckPatternPredicate, 18,
15299
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR64),
15300
310
                   MVT::i64, 2, 0, 1, 
15301
310
    0, 
15302
310
   12|128,2, 
15303
310
    OPC_MoveChild1,
15304
310
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15305
310
    OPC_MoveChild0,
15306
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15307
310
    OPC_CheckPredicate, 8,
15308
310
    OPC_MoveSibling1,
15309
310
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15310
310
    OPC_Scope, 125, 
15311
310
     OPC_RecordChild0,
15312
310
     OPC_MoveChild1,
15313
310
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15314
310
     OPC_MoveChild0,
15315
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15316
310
     OPC_CheckPredicate0, 
15317
310
     OPC_CheckTypeI32,
15318
310
     OPC_MoveSibling1,
15319
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15320
310
     OPC_CheckPredicate0, 
15321
310
     OPC_CheckTypeI32,
15322
310
     OPC_MoveSibling2,
15323
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15324
310
     OPC_CheckPredicate0, 
15325
310
     OPC_CheckTypeI32,
15326
310
     OPC_MoveSibling3,
15327
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15328
310
     OPC_CheckPredicate0, 
15329
310
     OPC_CheckTypeI32,
15330
310
     OPC_MoveSibling4,
15331
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15332
310
     OPC_CheckPredicate0, 
15333
310
     OPC_CheckTypeI32,
15334
310
     OPC_MoveSibling5,
15335
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15336
310
     OPC_CheckPredicate0, 
15337
310
     OPC_CheckTypeI32,
15338
310
     OPC_MoveSibling6,
15339
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15340
310
     OPC_CheckPredicate0, 
15341
310
     OPC_CheckTypeI32,
15342
310
     OPC_MoveSibling7,
15343
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15344
310
     OPC_CheckPredicate0, 
15345
310
     OPC_CheckTypeI32,
15346
310
     OPC_MoveSibling, 8,
15347
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15348
310
     OPC_CheckPredicate0, 
15349
310
     OPC_CheckTypeI32,
15350
310
     OPC_MoveSibling, 9,
15351
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15352
310
     OPC_CheckPredicate0, 
15353
310
     OPC_CheckTypeI32,
15354
310
     OPC_MoveSibling, 10,
15355
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15356
310
     OPC_CheckPredicate0, 
15357
310
     OPC_CheckTypeI32,
15358
310
     OPC_MoveSibling, 11,
15359
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15360
310
     OPC_CheckPredicate0, 
15361
310
     OPC_CheckTypeI32,
15362
310
     OPC_MoveSibling, 12,
15363
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15364
310
     OPC_CheckPredicate0, 
15365
310
     OPC_CheckTypeI32,
15366
310
     OPC_MoveSibling, 13,
15367
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15368
310
     OPC_CheckPredicate0, 
15369
310
     OPC_CheckTypeI32,
15370
310
     OPC_MoveSibling, 14,
15371
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15372
310
     OPC_CheckPredicate0, 
15373
310
     OPC_CheckTypeI32,
15374
310
     OPC_MoveSibling, 15,
15375
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15376
310
     OPC_CheckPredicate0, 
15377
310
     OPC_CheckTypeI32,
15378
310
     OPC_MoveParent,
15379
310
     OPC_MoveParent,
15380
310
     OPC_CheckType, MVT::v16i8,
15381
310
     OPC_MoveParent,
15382
310
     OPC_MoveParent,
15383
310
     OPC_CheckType, MVT::v16i8,
15384
310
     OPC_CheckPatternPredicate3,
15385
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15386
310
                   MVT::v16i8, 2, 0, 1, 
15387
310
    125, 
15388
310
     OPC_MoveChild0,
15389
310
     OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15390
310
     OPC_MoveChild0,
15391
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15392
310
     OPC_CheckPredicate0, 
15393
310
     OPC_CheckTypeI32,
15394
310
     OPC_MoveSibling1,
15395
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15396
310
     OPC_CheckPredicate0, 
15397
310
     OPC_CheckTypeI32,
15398
310
     OPC_MoveSibling2,
15399
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15400
310
     OPC_CheckPredicate0, 
15401
310
     OPC_CheckTypeI32,
15402
310
     OPC_MoveSibling3,
15403
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15404
310
     OPC_CheckPredicate0, 
15405
310
     OPC_CheckTypeI32,
15406
310
     OPC_MoveSibling4,
15407
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15408
310
     OPC_CheckPredicate0, 
15409
310
     OPC_CheckTypeI32,
15410
310
     OPC_MoveSibling5,
15411
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15412
310
     OPC_CheckPredicate0, 
15413
310
     OPC_CheckTypeI32,
15414
310
     OPC_MoveSibling6,
15415
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15416
310
     OPC_CheckPredicate0, 
15417
310
     OPC_CheckTypeI32,
15418
310
     OPC_MoveSibling7,
15419
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15420
310
     OPC_CheckPredicate0, 
15421
310
     OPC_CheckTypeI32,
15422
310
     OPC_MoveSibling, 8,
15423
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15424
310
     OPC_CheckPredicate0, 
15425
310
     OPC_CheckTypeI32,
15426
310
     OPC_MoveSibling, 9,
15427
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15428
310
     OPC_CheckPredicate0, 
15429
310
     OPC_CheckTypeI32,
15430
310
     OPC_MoveSibling, 10,
15431
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15432
310
     OPC_CheckPredicate0, 
15433
310
     OPC_CheckTypeI32,
15434
310
     OPC_MoveSibling, 11,
15435
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15436
310
     OPC_CheckPredicate0, 
15437
310
     OPC_CheckTypeI32,
15438
310
     OPC_MoveSibling, 12,
15439
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15440
310
     OPC_CheckPredicate0, 
15441
310
     OPC_CheckTypeI32,
15442
310
     OPC_MoveSibling, 13,
15443
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15444
310
     OPC_CheckPredicate0, 
15445
310
     OPC_CheckTypeI32,
15446
310
     OPC_MoveSibling, 14,
15447
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15448
310
     OPC_CheckPredicate0, 
15449
310
     OPC_CheckTypeI32,
15450
310
     OPC_MoveSibling, 15,
15451
310
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15452
310
     OPC_CheckPredicate0, 
15453
310
     OPC_CheckTypeI32,
15454
310
     OPC_MoveParent,
15455
310
     OPC_MoveParent,
15456
310
     OPC_RecordChild1,
15457
310
     OPC_CheckType, MVT::v16i8,
15458
310
     OPC_MoveParent,
15459
310
     OPC_MoveParent,
15460
310
     OPC_CheckType, MVT::v16i8,
15461
310
     OPC_CheckPatternPredicate3,
15462
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15463
310
                   MVT::v16i8, 2, 0, 1, 
15464
310
    0, 
15465
310
   0, 
15466
310
  14|128,2, 
15467
310
   OPC_MoveChild0,
15468
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15469
310
   OPC_MoveChild0,
15470
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15471
310
   OPC_CheckPredicate, 8,
15472
310
   OPC_MoveSibling1,
15473
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15474
310
   OPC_Scope, 126, 
15475
310
    OPC_RecordChild0,
15476
310
    OPC_MoveChild1,
15477
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15478
310
    OPC_MoveChild0,
15479
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15480
310
    OPC_CheckPredicate0, 
15481
310
    OPC_CheckTypeI32,
15482
310
    OPC_MoveSibling1,
15483
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15484
310
    OPC_CheckPredicate0, 
15485
310
    OPC_CheckTypeI32,
15486
310
    OPC_MoveSibling2,
15487
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15488
310
    OPC_CheckPredicate0, 
15489
310
    OPC_CheckTypeI32,
15490
310
    OPC_MoveSibling3,
15491
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15492
310
    OPC_CheckPredicate0, 
15493
310
    OPC_CheckTypeI32,
15494
310
    OPC_MoveSibling4,
15495
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15496
310
    OPC_CheckPredicate0, 
15497
310
    OPC_CheckTypeI32,
15498
310
    OPC_MoveSibling5,
15499
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15500
310
    OPC_CheckPredicate0, 
15501
310
    OPC_CheckTypeI32,
15502
310
    OPC_MoveSibling6,
15503
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15504
310
    OPC_CheckPredicate0, 
15505
310
    OPC_CheckTypeI32,
15506
310
    OPC_MoveSibling7,
15507
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15508
310
    OPC_CheckPredicate0, 
15509
310
    OPC_CheckTypeI32,
15510
310
    OPC_MoveSibling, 8,
15511
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15512
310
    OPC_CheckPredicate0, 
15513
310
    OPC_CheckTypeI32,
15514
310
    OPC_MoveSibling, 9,
15515
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15516
310
    OPC_CheckPredicate0, 
15517
310
    OPC_CheckTypeI32,
15518
310
    OPC_MoveSibling, 10,
15519
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15520
310
    OPC_CheckPredicate0, 
15521
310
    OPC_CheckTypeI32,
15522
310
    OPC_MoveSibling, 11,
15523
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15524
310
    OPC_CheckPredicate0, 
15525
310
    OPC_CheckTypeI32,
15526
310
    OPC_MoveSibling, 12,
15527
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15528
310
    OPC_CheckPredicate0, 
15529
310
    OPC_CheckTypeI32,
15530
310
    OPC_MoveSibling, 13,
15531
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15532
310
    OPC_CheckPredicate0, 
15533
310
    OPC_CheckTypeI32,
15534
310
    OPC_MoveSibling, 14,
15535
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15536
310
    OPC_CheckPredicate0, 
15537
310
    OPC_CheckTypeI32,
15538
310
    OPC_MoveSibling, 15,
15539
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15540
310
    OPC_CheckPredicate0, 
15541
310
    OPC_CheckTypeI32,
15542
310
    OPC_MoveParent,
15543
310
    OPC_MoveParent,
15544
310
    OPC_CheckType, MVT::v16i8,
15545
310
    OPC_MoveParent,
15546
310
    OPC_MoveParent,
15547
310
    OPC_RecordChild1,
15548
310
    OPC_CheckType, MVT::v16i8,
15549
310
    OPC_CheckPatternPredicate3,
15550
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15551
310
                  MVT::v16i8, 2, 1, 0, 
15552
310
   126, 
15553
310
    OPC_MoveChild0,
15554
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15555
310
    OPC_MoveChild0,
15556
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15557
310
    OPC_CheckPredicate0, 
15558
310
    OPC_CheckTypeI32,
15559
310
    OPC_MoveSibling1,
15560
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15561
310
    OPC_CheckPredicate0, 
15562
310
    OPC_CheckTypeI32,
15563
310
    OPC_MoveSibling2,
15564
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15565
310
    OPC_CheckPredicate0, 
15566
310
    OPC_CheckTypeI32,
15567
310
    OPC_MoveSibling3,
15568
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15569
310
    OPC_CheckPredicate0, 
15570
310
    OPC_CheckTypeI32,
15571
310
    OPC_MoveSibling4,
15572
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15573
310
    OPC_CheckPredicate0, 
15574
310
    OPC_CheckTypeI32,
15575
310
    OPC_MoveSibling5,
15576
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15577
310
    OPC_CheckPredicate0, 
15578
310
    OPC_CheckTypeI32,
15579
310
    OPC_MoveSibling6,
15580
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15581
310
    OPC_CheckPredicate0, 
15582
310
    OPC_CheckTypeI32,
15583
310
    OPC_MoveSibling7,
15584
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15585
310
    OPC_CheckPredicate0, 
15586
310
    OPC_CheckTypeI32,
15587
310
    OPC_MoveSibling, 8,
15588
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15589
310
    OPC_CheckPredicate0, 
15590
310
    OPC_CheckTypeI32,
15591
310
    OPC_MoveSibling, 9,
15592
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15593
310
    OPC_CheckPredicate0, 
15594
310
    OPC_CheckTypeI32,
15595
310
    OPC_MoveSibling, 10,
15596
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15597
310
    OPC_CheckPredicate0, 
15598
310
    OPC_CheckTypeI32,
15599
310
    OPC_MoveSibling, 11,
15600
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15601
310
    OPC_CheckPredicate0, 
15602
310
    OPC_CheckTypeI32,
15603
310
    OPC_MoveSibling, 12,
15604
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15605
310
    OPC_CheckPredicate0, 
15606
310
    OPC_CheckTypeI32,
15607
310
    OPC_MoveSibling, 13,
15608
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15609
310
    OPC_CheckPredicate0, 
15610
310
    OPC_CheckTypeI32,
15611
310
    OPC_MoveSibling, 14,
15612
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15613
310
    OPC_CheckPredicate0, 
15614
310
    OPC_CheckTypeI32,
15615
310
    OPC_MoveSibling, 15,
15616
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15617
310
    OPC_CheckPredicate0, 
15618
310
    OPC_CheckTypeI32,
15619
310
    OPC_MoveParent,
15620
310
    OPC_MoveParent,
15621
310
    OPC_RecordChild1,
15622
310
    OPC_CheckType, MVT::v16i8,
15623
310
    OPC_MoveParent,
15624
310
    OPC_MoveParent,
15625
310
    OPC_RecordChild1,
15626
310
    OPC_CheckType, MVT::v16i8,
15627
310
    OPC_CheckPatternPredicate3,
15628
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
15629
310
                  MVT::v16i8, 2, 1, 0, 
15630
310
   0, 
15631
310
  29|128,1, 
15632
310
   OPC_RecordChild0,
15633
310
   OPC_MoveChild1,
15634
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15635
310
   OPC_MoveChild0,
15636
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15637
310
   OPC_CheckPredicate, 8,
15638
310
   OPC_MoveSibling1,
15639
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15640
310
   OPC_Scope, 69, 
15641
310
    OPC_RecordChild0,
15642
310
    OPC_MoveChild1,
15643
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15644
310
    OPC_MoveChild0,
15645
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15646
310
    OPC_CheckPredicate1, 
15647
310
    OPC_CheckTypeI32,
15648
310
    OPC_MoveSibling1,
15649
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15650
310
    OPC_CheckPredicate1, 
15651
310
    OPC_CheckTypeI32,
15652
310
    OPC_MoveSibling2,
15653
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15654
310
    OPC_CheckPredicate1, 
15655
310
    OPC_CheckTypeI32,
15656
310
    OPC_MoveSibling3,
15657
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15658
310
    OPC_CheckPredicate1, 
15659
310
    OPC_CheckTypeI32,
15660
310
    OPC_MoveSibling4,
15661
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15662
310
    OPC_CheckPredicate1, 
15663
310
    OPC_CheckTypeI32,
15664
310
    OPC_MoveSibling5,
15665
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15666
310
    OPC_CheckPredicate1, 
15667
310
    OPC_CheckTypeI32,
15668
310
    OPC_MoveSibling6,
15669
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15670
310
    OPC_CheckPredicate1, 
15671
310
    OPC_CheckTypeI32,
15672
310
    OPC_MoveSibling7,
15673
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15674
310
    OPC_CheckPredicate1, 
15675
310
    OPC_CheckTypeI32,
15676
310
    OPC_MoveParent,
15677
310
    OPC_MoveParent,
15678
310
    OPC_CheckType, MVT::v8i16,
15679
310
    OPC_MoveParent,
15680
310
    OPC_MoveParent,
15681
310
    OPC_CheckType, MVT::v8i16,
15682
310
    OPC_CheckPatternPredicate3,
15683
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
15684
310
                  MVT::v8i16, 2, 0, 1, 
15685
310
   69, 
15686
310
    OPC_MoveChild0,
15687
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15688
310
    OPC_MoveChild0,
15689
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15690
310
    OPC_CheckPredicate1, 
15691
310
    OPC_CheckTypeI32,
15692
310
    OPC_MoveSibling1,
15693
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15694
310
    OPC_CheckPredicate1, 
15695
310
    OPC_CheckTypeI32,
15696
310
    OPC_MoveSibling2,
15697
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15698
310
    OPC_CheckPredicate1, 
15699
310
    OPC_CheckTypeI32,
15700
310
    OPC_MoveSibling3,
15701
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15702
310
    OPC_CheckPredicate1, 
15703
310
    OPC_CheckTypeI32,
15704
310
    OPC_MoveSibling4,
15705
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15706
310
    OPC_CheckPredicate1, 
15707
310
    OPC_CheckTypeI32,
15708
310
    OPC_MoveSibling5,
15709
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15710
310
    OPC_CheckPredicate1, 
15711
310
    OPC_CheckTypeI32,
15712
310
    OPC_MoveSibling6,
15713
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15714
310
    OPC_CheckPredicate1, 
15715
310
    OPC_CheckTypeI32,
15716
310
    OPC_MoveSibling7,
15717
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15718
310
    OPC_CheckPredicate1, 
15719
310
    OPC_CheckTypeI32,
15720
310
    OPC_MoveParent,
15721
310
    OPC_MoveParent,
15722
310
    OPC_RecordChild1,
15723
310
    OPC_CheckType, MVT::v8i16,
15724
310
    OPC_MoveParent,
15725
310
    OPC_MoveParent,
15726
310
    OPC_CheckType, MVT::v8i16,
15727
310
    OPC_CheckPatternPredicate3,
15728
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
15729
310
                  MVT::v8i16, 2, 0, 1, 
15730
310
   0, 
15731
310
  30|128,1, 
15732
310
   OPC_MoveChild0,
15733
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15734
310
   OPC_MoveChild0,
15735
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15736
310
   OPC_CheckPredicate, 8,
15737
310
   OPC_MoveSibling1,
15738
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15739
310
   OPC_Scope, 70, 
15740
310
    OPC_RecordChild0,
15741
310
    OPC_MoveChild1,
15742
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15743
310
    OPC_MoveChild0,
15744
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15745
310
    OPC_CheckPredicate1, 
15746
310
    OPC_CheckTypeI32,
15747
310
    OPC_MoveSibling1,
15748
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15749
310
    OPC_CheckPredicate1, 
15750
310
    OPC_CheckTypeI32,
15751
310
    OPC_MoveSibling2,
15752
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15753
310
    OPC_CheckPredicate1, 
15754
310
    OPC_CheckTypeI32,
15755
310
    OPC_MoveSibling3,
15756
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15757
310
    OPC_CheckPredicate1, 
15758
310
    OPC_CheckTypeI32,
15759
310
    OPC_MoveSibling4,
15760
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15761
310
    OPC_CheckPredicate1, 
15762
310
    OPC_CheckTypeI32,
15763
310
    OPC_MoveSibling5,
15764
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15765
310
    OPC_CheckPredicate1, 
15766
310
    OPC_CheckTypeI32,
15767
310
    OPC_MoveSibling6,
15768
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15769
310
    OPC_CheckPredicate1, 
15770
310
    OPC_CheckTypeI32,
15771
310
    OPC_MoveSibling7,
15772
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15773
310
    OPC_CheckPredicate1, 
15774
310
    OPC_CheckTypeI32,
15775
310
    OPC_MoveParent,
15776
310
    OPC_MoveParent,
15777
310
    OPC_CheckType, MVT::v8i16,
15778
310
    OPC_MoveParent,
15779
310
    OPC_MoveParent,
15780
310
    OPC_RecordChild1,
15781
310
    OPC_CheckType, MVT::v8i16,
15782
310
    OPC_CheckPatternPredicate3,
15783
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
15784
310
                  MVT::v8i16, 2, 1, 0, 
15785
310
   70, 
15786
310
    OPC_MoveChild0,
15787
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15788
310
    OPC_MoveChild0,
15789
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15790
310
    OPC_CheckPredicate1, 
15791
310
    OPC_CheckTypeI32,
15792
310
    OPC_MoveSibling1,
15793
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15794
310
    OPC_CheckPredicate1, 
15795
310
    OPC_CheckTypeI32,
15796
310
    OPC_MoveSibling2,
15797
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15798
310
    OPC_CheckPredicate1, 
15799
310
    OPC_CheckTypeI32,
15800
310
    OPC_MoveSibling3,
15801
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15802
310
    OPC_CheckPredicate1, 
15803
310
    OPC_CheckTypeI32,
15804
310
    OPC_MoveSibling4,
15805
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15806
310
    OPC_CheckPredicate1, 
15807
310
    OPC_CheckTypeI32,
15808
310
    OPC_MoveSibling5,
15809
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15810
310
    OPC_CheckPredicate1, 
15811
310
    OPC_CheckTypeI32,
15812
310
    OPC_MoveSibling6,
15813
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15814
310
    OPC_CheckPredicate1, 
15815
310
    OPC_CheckTypeI32,
15816
310
    OPC_MoveSibling7,
15817
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15818
310
    OPC_CheckPredicate1, 
15819
310
    OPC_CheckTypeI32,
15820
310
    OPC_MoveParent,
15821
310
    OPC_MoveParent,
15822
310
    OPC_RecordChild1,
15823
310
    OPC_CheckType, MVT::v8i16,
15824
310
    OPC_MoveParent,
15825
310
    OPC_MoveParent,
15826
310
    OPC_RecordChild1,
15827
310
    OPC_CheckType, MVT::v8i16,
15828
310
    OPC_CheckPatternPredicate3,
15829
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
15830
310
                  MVT::v8i16, 2, 1, 0, 
15831
310
   0, 
15832
310
  109, 
15833
310
   OPC_RecordChild0,
15834
310
   OPC_MoveChild1,
15835
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15836
310
   OPC_MoveChild0,
15837
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15838
310
   OPC_CheckPredicate, 8,
15839
310
   OPC_MoveSibling1,
15840
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15841
310
   OPC_Scope, 45, 
15842
310
    OPC_RecordChild0,
15843
310
    OPC_MoveChild1,
15844
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15845
310
    OPC_MoveChild0,
15846
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15847
310
    OPC_CheckPredicate2, 
15848
310
    OPC_CheckTypeI32,
15849
310
    OPC_MoveSibling1,
15850
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15851
310
    OPC_CheckPredicate2, 
15852
310
    OPC_CheckTypeI32,
15853
310
    OPC_MoveSibling2,
15854
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15855
310
    OPC_CheckPredicate2, 
15856
310
    OPC_CheckTypeI32,
15857
310
    OPC_MoveSibling3,
15858
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15859
310
    OPC_CheckPredicate2, 
15860
310
    OPC_CheckTypeI32,
15861
310
    OPC_MoveParent,
15862
310
    OPC_MoveParent,
15863
310
    OPC_CheckType, MVT::v4i32,
15864
310
    OPC_MoveParent,
15865
310
    OPC_MoveParent,
15866
310
    OPC_CheckType, MVT::v4i32,
15867
310
    OPC_CheckPatternPredicate3,
15868
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
15869
310
                  MVT::v4i32, 2, 0, 1, 
15870
310
   45, 
15871
310
    OPC_MoveChild0,
15872
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15873
310
    OPC_MoveChild0,
15874
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15875
310
    OPC_CheckPredicate2, 
15876
310
    OPC_CheckTypeI32,
15877
310
    OPC_MoveSibling1,
15878
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15879
310
    OPC_CheckPredicate2, 
15880
310
    OPC_CheckTypeI32,
15881
310
    OPC_MoveSibling2,
15882
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15883
310
    OPC_CheckPredicate2, 
15884
310
    OPC_CheckTypeI32,
15885
310
    OPC_MoveSibling3,
15886
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15887
310
    OPC_CheckPredicate2, 
15888
310
    OPC_CheckTypeI32,
15889
310
    OPC_MoveParent,
15890
310
    OPC_MoveParent,
15891
310
    OPC_RecordChild1,
15892
310
    OPC_CheckType, MVT::v4i32,
15893
310
    OPC_MoveParent,
15894
310
    OPC_MoveParent,
15895
310
    OPC_CheckType, MVT::v4i32,
15896
310
    OPC_CheckPatternPredicate3,
15897
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
15898
310
                  MVT::v4i32, 2, 0, 1, 
15899
310
   0, 
15900
310
  110, 
15901
310
   OPC_MoveChild0,
15902
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15903
310
   OPC_MoveChild0,
15904
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15905
310
   OPC_CheckPredicate, 8,
15906
310
   OPC_MoveSibling1,
15907
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15908
310
   OPC_Scope, 46, 
15909
310
    OPC_RecordChild0,
15910
310
    OPC_MoveChild1,
15911
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15912
310
    OPC_MoveChild0,
15913
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15914
310
    OPC_CheckPredicate2, 
15915
310
    OPC_CheckTypeI32,
15916
310
    OPC_MoveSibling1,
15917
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15918
310
    OPC_CheckPredicate2, 
15919
310
    OPC_CheckTypeI32,
15920
310
    OPC_MoveSibling2,
15921
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15922
310
    OPC_CheckPredicate2, 
15923
310
    OPC_CheckTypeI32,
15924
310
    OPC_MoveSibling3,
15925
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15926
310
    OPC_CheckPredicate2, 
15927
310
    OPC_CheckTypeI32,
15928
310
    OPC_MoveParent,
15929
310
    OPC_MoveParent,
15930
310
    OPC_CheckType, MVT::v4i32,
15931
310
    OPC_MoveParent,
15932
310
    OPC_MoveParent,
15933
310
    OPC_RecordChild1,
15934
310
    OPC_CheckType, MVT::v4i32,
15935
310
    OPC_CheckPatternPredicate3,
15936
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
15937
310
                  MVT::v4i32, 2, 1, 0, 
15938
310
   46, 
15939
310
    OPC_MoveChild0,
15940
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15941
310
    OPC_MoveChild0,
15942
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15943
310
    OPC_CheckPredicate2, 
15944
310
    OPC_CheckTypeI32,
15945
310
    OPC_MoveSibling1,
15946
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15947
310
    OPC_CheckPredicate2, 
15948
310
    OPC_CheckTypeI32,
15949
310
    OPC_MoveSibling2,
15950
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15951
310
    OPC_CheckPredicate2, 
15952
310
    OPC_CheckTypeI32,
15953
310
    OPC_MoveSibling3,
15954
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
15955
310
    OPC_CheckPredicate2, 
15956
310
    OPC_CheckTypeI32,
15957
310
    OPC_MoveParent,
15958
310
    OPC_MoveParent,
15959
310
    OPC_RecordChild1,
15960
310
    OPC_CheckType, MVT::v4i32,
15961
310
    OPC_MoveParent,
15962
310
    OPC_MoveParent,
15963
310
    OPC_RecordChild1,
15964
310
    OPC_CheckType, MVT::v4i32,
15965
310
    OPC_CheckPatternPredicate3,
15966
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
15967
310
                  MVT::v4i32, 2, 1, 0, 
15968
310
   0, 
15969
310
  84, 
15970
310
   OPC_RecordChild0,
15971
310
   OPC_MoveChild1,
15972
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
15973
310
   OPC_MoveChild0,
15974
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15975
310
   OPC_MoveChild0,
15976
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15977
310
   OPC_CheckType, MVT::v4i32,
15978
310
   OPC_MoveParent,
15979
310
   OPC_CheckPredicate, 19,
15980
310
   OPC_MoveSibling1,
15981
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
15982
310
   OPC_Scope, 29, 
15983
310
    OPC_RecordChild0,
15984
310
    OPC_MoveChild1,
15985
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
15986
310
    OPC_MoveChild0,
15987
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
15988
310
    OPC_CheckType, MVT::v4i32,
15989
310
    OPC_MoveParent,
15990
310
    OPC_CheckPredicate, 14,
15991
310
    OPC_MoveParent,
15992
310
    OPC_CheckType, MVT::v2i64,
15993
310
    OPC_MoveParent,
15994
310
    OPC_MoveParent,
15995
310
    OPC_CheckType, MVT::v2i64,
15996
310
    OPC_CheckPatternPredicate3,
15997
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
15998
310
                  MVT::v2i64, 2, 0, 1, 
15999
310
   29, 
16000
310
    OPC_MoveChild0,
16001
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16002
310
    OPC_MoveChild0,
16003
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16004
310
    OPC_CheckType, MVT::v4i32,
16005
310
    OPC_MoveParent,
16006
310
    OPC_CheckPredicate, 14,
16007
310
    OPC_MoveParent,
16008
310
    OPC_RecordChild1,
16009
310
    OPC_CheckType, MVT::v2i64,
16010
310
    OPC_MoveParent,
16011
310
    OPC_MoveParent,
16012
310
    OPC_CheckType, MVT::v2i64,
16013
310
    OPC_CheckPatternPredicate3,
16014
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16015
310
                  MVT::v2i64, 2, 0, 1, 
16016
310
   0, 
16017
310
  85, 
16018
310
   OPC_MoveChild0,
16019
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16020
310
   OPC_MoveChild0,
16021
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16022
310
   OPC_MoveChild0,
16023
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16024
310
   OPC_CheckType, MVT::v4i32,
16025
310
   OPC_MoveParent,
16026
310
   OPC_CheckPredicate, 19,
16027
310
   OPC_MoveSibling1,
16028
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
16029
310
   OPC_Scope, 30, 
16030
310
    OPC_RecordChild0,
16031
310
    OPC_MoveChild1,
16032
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16033
310
    OPC_MoveChild0,
16034
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16035
310
    OPC_CheckType, MVT::v4i32,
16036
310
    OPC_MoveParent,
16037
310
    OPC_CheckPredicate, 14,
16038
310
    OPC_MoveParent,
16039
310
    OPC_CheckType, MVT::v2i64,
16040
310
    OPC_MoveParent,
16041
310
    OPC_MoveParent,
16042
310
    OPC_RecordChild1,
16043
310
    OPC_CheckType, MVT::v2i64,
16044
310
    OPC_CheckPatternPredicate3,
16045
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16046
310
                  MVT::v2i64, 2, 1, 0, 
16047
310
   30, 
16048
310
    OPC_MoveChild0,
16049
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16050
310
    OPC_MoveChild0,
16051
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16052
310
    OPC_CheckType, MVT::v4i32,
16053
310
    OPC_MoveParent,
16054
310
    OPC_CheckPredicate, 14,
16055
310
    OPC_MoveParent,
16056
310
    OPC_RecordChild1,
16057
310
    OPC_CheckType, MVT::v2i64,
16058
310
    OPC_MoveParent,
16059
310
    OPC_MoveParent,
16060
310
    OPC_RecordChild1,
16061
310
    OPC_CheckType, MVT::v2i64,
16062
310
    OPC_CheckPatternPredicate3,
16063
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16064
310
                  MVT::v2i64, 2, 1, 0, 
16065
310
   0, 
16066
310
  33, 
16067
310
   OPC_RecordChild0,
16068
310
   OPC_MoveChild1,
16069
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16070
310
   OPC_MoveChild0,
16071
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16072
310
   OPC_MoveChild0,
16073
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16074
310
   OPC_CheckType, MVT::v4i32,
16075
310
   OPC_MoveParent,
16076
310
   OPC_CheckPredicate, 19,
16077
310
   OPC_MoveParent,
16078
310
   OPC_RecordChild1,
16079
310
   OPC_CheckChild1Type, MVT::v2i64,
16080
310
   OPC_MoveParent,
16081
310
   OPC_CheckType, MVT::v2i64,
16082
310
   OPC_CheckPatternPredicate0,
16083
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16084
310
                 MVT::v2i64, 2, 0, 1, 
16085
310
  33, 
16086
310
   OPC_MoveChild0,
16087
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16088
310
   OPC_MoveChild0,
16089
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
16090
310
   OPC_MoveChild0,
16091
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16092
310
   OPC_CheckType, MVT::v4i32,
16093
310
   OPC_MoveParent,
16094
310
   OPC_CheckPredicate, 19,
16095
310
   OPC_MoveParent,
16096
310
   OPC_RecordChild1,
16097
310
   OPC_CheckChild1Type, MVT::v2i64,
16098
310
   OPC_MoveParent,
16099
310
   OPC_RecordChild1,
16100
310
   OPC_CheckType, MVT::v2i64,
16101
310
   OPC_CheckPatternPredicate0,
16102
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_D),
16103
310
                 MVT::v2i64, 2, 1, 0, 
16104
310
  57, 
16105
310
   OPC_RecordChild0,
16106
310
   OPC_MoveChild1,
16107
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16108
310
   OPC_MoveChild0,
16109
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16110
310
   OPC_CheckPredicate, 8,
16111
310
   OPC_MoveParent,
16112
310
   OPC_RecordChild1,
16113
310
   OPC_Scope, 13, 
16114
310
    OPC_CheckChild1Type, MVT::v16i8,
16115
310
    OPC_MoveParent,
16116
310
    OPC_CheckType, MVT::v16i8,
16117
310
    OPC_CheckPatternPredicate0,
16118
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
16119
310
                  MVT::v16i8, 2, 0, 1, 
16120
310
   13, 
16121
310
    OPC_CheckChild1Type, MVT::v8i16,
16122
310
    OPC_MoveParent,
16123
310
    OPC_CheckType, MVT::v8i16,
16124
310
    OPC_CheckPatternPredicate0,
16125
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16126
310
                  MVT::v8i16, 2, 0, 1, 
16127
310
   13, 
16128
310
    OPC_CheckChild1Type, MVT::v4i32,
16129
310
    OPC_MoveParent,
16130
310
    OPC_CheckType, MVT::v4i32,
16131
310
    OPC_CheckPatternPredicate0,
16132
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16133
310
                  MVT::v4i32, 2, 0, 1, 
16134
310
   0, 
16135
310
  59, 
16136
310
   OPC_MoveChild0,
16137
310
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
16138
310
   OPC_MoveChild0,
16139
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
16140
310
   OPC_CheckPredicate, 8,
16141
310
   OPC_MoveParent,
16142
310
   OPC_RecordChild1,
16143
310
   OPC_Scope, 14, 
16144
310
    OPC_CheckChild1Type, MVT::v16i8,
16145
310
    OPC_MoveParent,
16146
310
    OPC_RecordChild1,
16147
310
    OPC_CheckType, MVT::v16i8,
16148
310
    OPC_CheckPatternPredicate0,
16149
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_B),
16150
310
                  MVT::v16i8, 2, 1, 0, 
16151
310
   14, 
16152
310
    OPC_CheckChild1Type, MVT::v8i16,
16153
310
    OPC_MoveParent,
16154
310
    OPC_RecordChild1,
16155
310
    OPC_CheckType, MVT::v8i16,
16156
310
    OPC_CheckPatternPredicate0,
16157
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_H),
16158
310
                  MVT::v8i16, 2, 1, 0, 
16159
310
   14, 
16160
310
    OPC_CheckChild1Type, MVT::v4i32,
16161
310
    OPC_MoveParent,
16162
310
    OPC_RecordChild1,
16163
310
    OPC_CheckType, MVT::v4i32,
16164
310
    OPC_CheckPatternPredicate0,
16165
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSET_W),
16166
310
                  MVT::v4i32, 2, 1, 0, 
16167
310
   0, 
16168
310
  28|128,1, 
16169
310
   OPC_RecordChild0,
16170
310
   OPC_RecordChild1,
16171
310
   OPC_SwitchType , 51, MVT::v16i8,
16172
310
    OPC_CheckPatternPredicate0,
16173
310
    OPC_Scope, 9, 
16174
310
     OPC_CheckComplexPat3, /*#*/1,
16175
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_B),
16176
310
                   MVT::v16i8, 2, 0, 2, 
16177
310
    9, 
16178
310
     OPC_CheckComplexPat5, /*#*/1,
16179
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_B),
16180
310
                   MVT::v16i8, 2, 0, 2, 
16181
310
    9, 
16182
310
     OPC_CheckComplexPat3, /*#*/0,
16183
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_B),
16184
310
                   MVT::v16i8, 2, 1, 2, 
16185
310
    9, 
16186
310
     OPC_CheckComplexPat5, /*#*/0,
16187
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORI_B),
16188
310
                   MVT::v16i8, 2, 1, 2, 
16189
310
    7, 
16190
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V),
16191
310
                   MVT::v16i8, 2, 0, 1, 
16192
310
    0, 
16193
310
   31, MVT::v8i16,
16194
310
    OPC_CheckPatternPredicate0,
16195
310
    OPC_Scope, 9, 
16196
310
     OPC_CheckComplexPat3, /*#*/1,
16197
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_H),
16198
310
                   MVT::v8i16, 2, 0, 2, 
16199
310
    9, 
16200
310
     OPC_CheckComplexPat3, /*#*/0,
16201
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_H),
16202
310
                   MVT::v8i16, 2, 1, 2, 
16203
310
    7, 
16204
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_H_PSEUDO),
16205
310
                   MVT::v8i16, 2, 0, 1, 
16206
310
    0, 
16207
310
   31, MVT::v4i32,
16208
310
    OPC_CheckPatternPredicate0,
16209
310
    OPC_Scope, 9, 
16210
310
     OPC_CheckComplexPat3, /*#*/1,
16211
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_W),
16212
310
                   MVT::v4i32, 2, 0, 2, 
16213
310
    9, 
16214
310
     OPC_CheckComplexPat3, /*#*/0,
16215
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_W),
16216
310
                   MVT::v4i32, 2, 1, 2, 
16217
310
    7, 
16218
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_W_PSEUDO),
16219
310
                   MVT::v4i32, 2, 0, 1, 
16220
310
    0, 
16221
310
   31, MVT::v2i64,
16222
310
    OPC_CheckPatternPredicate0,
16223
310
    OPC_Scope, 9, 
16224
310
     OPC_CheckComplexPat3, /*#*/1,
16225
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_D),
16226
310
                   MVT::v2i64, 2, 0, 2, 
16227
310
    9, 
16228
310
     OPC_CheckComplexPat3, /*#*/0,
16229
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSETI_D),
16230
310
                   MVT::v2i64, 2, 1, 2, 
16231
310
    7, 
16232
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::OR_V_D_PSEUDO),
16233
310
                   MVT::v2i64, 2, 0, 1, 
16234
310
    0, 
16235
310
   0,
16236
310
  0, 
16237
310
 120, TARGET_VAL(ISD::ROTR),
16238
310
  OPC_RecordChild0,
16239
310
  OPC_Scope, 50, 
16240
310
   OPC_RecordChild1,
16241
310
   OPC_MoveChild1,
16242
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16243
310
   OPC_CheckTypeI32,
16244
310
   OPC_Scope, 13, 
16245
310
    OPC_CheckPredicate3, 
16246
310
    OPC_MoveParent,
16247
310
    OPC_CheckTypeI32,
16248
310
    OPC_CheckPatternPredicate, 41,
16249
310
    OPC_EmitConvertToTarget1,
16250
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR),
16251
310
                  MVT::i32, 2, 0, 2, 
16252
310
   14, 
16253
310
    OPC_CheckPredicate, 17,
16254
310
    OPC_MoveParent,
16255
310
    OPC_CheckTypeI64,
16256
310
    OPC_CheckPatternPredicate, 45,
16257
310
    OPC_EmitConvertToTarget1,
16258
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTR),
16259
310
                  MVT::i64, 2, 0, 2, 
16260
310
   12, 
16261
310
    OPC_CheckPredicate3, 
16262
310
    OPC_MoveParent,
16263
310
    OPC_CheckTypeI32,
16264
310
    OPC_CheckPatternPredicate4,
16265
310
    OPC_EmitConvertToTarget1,
16266
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR_MM),
16267
310
                  MVT::i32, 2, 0, 2, 
16268
310
   0, 
16269
310
  26, 
16270
310
   OPC_MoveChild1,
16271
310
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
16272
310
   OPC_RecordChild0,
16273
310
   OPC_CheckTypeI32,
16274
310
   OPC_MoveParent,
16275
310
   OPC_CheckTypeI64,
16276
310
   OPC_CheckPatternPredicate, 12,
16277
310
   OPC_EmitStringInteger32, Mips::sub_32,
16278
310
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16279
310
                 MVT::i32, 2, 1, 2, 
16280
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTRV),
16281
310
                 MVT::i64, 2, 0, 3, 
16282
310
  38, 
16283
310
   OPC_RecordChild1,
16284
310
   OPC_CheckChild1TypeI32,
16285
310
   OPC_SwitchType , 21, MVT::i32,
16286
310
    OPC_Scope, 9, 
16287
310
     OPC_CheckPatternPredicate, 41,
16288
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTRV),
16289
310
                   MVT::i32, 2, 0, 1, 
16290
310
    8, 
16291
310
     OPC_CheckPatternPredicate4,
16292
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTRV_MM),
16293
310
                   MVT::i32, 2, 0, 1, 
16294
310
    0, 
16295
310
   9, MVT::i64,
16296
310
    OPC_CheckPatternPredicate, 45,
16297
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DROTRV),
16298
310
                  MVT::i64, 2, 0, 1, 
16299
310
   0,
16300
310
  0, 
16301
310
 65, TARGET_VAL(MipsISD::Sync),
16302
310
  OPC_RecordNode,
16303
310
  OPC_Scope, 16, 
16304
310
   OPC_RecordChild1,
16305
310
   OPC_MoveChild1,
16306
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16307
310
   OPC_CheckPredicate3, 
16308
310
   OPC_MoveParent,
16309
310
   OPC_CheckPatternPredicate, 112,
16310
310
   OPC_EmitMergeInputChains1_0,
16311
310
   OPC_EmitConvertToTarget1,
16312
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC),
16313
310
                 1, 2, 
16314
310
  16, 
16315
310
   OPC_MoveChild1,
16316
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16317
310
   OPC_CheckPredicate5, 
16318
310
   OPC_MoveParent,
16319
310
   OPC_CheckPatternPredicate, 113,
16320
310
   OPC_EmitMergeInputChains1_0,
16321
310
   OPC_EmitInteger32, 0, 
16322
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC),
16323
310
                 1, 1, 
16324
310
  27, 
16325
310
   OPC_RecordChild1,
16326
310
   OPC_MoveChild1,
16327
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16328
310
   OPC_CheckPredicate3, 
16329
310
   OPC_MoveParent,
16330
310
   OPC_Scope, 8, 
16331
310
    OPC_CheckPatternPredicate4,
16332
310
    OPC_EmitMergeInputChains1_0,
16333
310
    OPC_EmitConvertToTarget1,
16334
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC_MM),
16335
310
                  1, 2, 
16336
310
   8, 
16337
310
    OPC_CheckPatternPredicate7,
16338
310
    OPC_EmitMergeInputChains1_0,
16339
310
    OPC_EmitConvertToTarget1,
16340
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::SYNC_MMR6),
16341
310
                  1, 2, 
16342
310
   0, 
16343
310
  0, 
16344
310
 71, TARGET_VAL(ISD::ADDC),
16345
310
  OPC_RecordChild0,
16346
310
  OPC_RecordChild1,
16347
310
  OPC_Scope, 32, 
16348
310
   OPC_MoveChild1,
16349
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16350
310
   OPC_CheckPredicate7, 
16351
310
   OPC_MoveParent,
16352
310
   OPC_SwitchType , 10, MVT::i32,
16353
310
    OPC_CheckPatternPredicate, 89,
16354
310
    OPC_EmitConvertToTarget1,
16355
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDiu),
16356
310
                  MVT::i32, 2, 0, 2, 
16357
310
   10, MVT::i64,
16358
310
    OPC_CheckPatternPredicate, 90,
16359
310
    OPC_EmitConvertToTarget1,
16360
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DADDiu),
16361
310
                  MVT::i64, 2, 0, 2, 
16362
310
   0,
16363
310
  22, 
16364
310
   OPC_CheckTypeI32,
16365
310
   OPC_Scope, 9, 
16366
310
    OPC_CheckPatternPredicate, 89,
16367
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDu),
16368
310
                  MVT::i32, 2, 0, 1, 
16369
310
   8, 
16370
310
    OPC_CheckPatternPredicate1,
16371
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::ADDSC),
16372
310
                  MVT::i32, 2, 0, 1, 
16373
310
   0, 
16374
310
  10, 
16375
310
   OPC_CheckTypeI64,
16376
310
   OPC_CheckPatternPredicate, 90,
16377
310
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DADDu),
16378
310
                 MVT::i64, 2, 0, 1, 
16379
310
  0, 
16380
310
 65, TARGET_VAL(ISD::TRUNCATE),
16381
310
  OPC_Scope, 39, 
16382
310
   OPC_MoveChild0,
16383
310
   OPC_SwitchOpcode , 16, TARGET_VAL(ISD::AssertZext),
16384
310
    OPC_RecordChild0,
16385
310
    OPC_CheckPredicate, 49,
16386
310
    OPC_MoveParent,
16387
310
    OPC_CheckTypeI32,
16388
310
    OPC_CheckPatternPredicate, 12,
16389
310
    OPC_EmitStringInteger32, Mips::sub_32,
16390
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16391
310
                  MVT::i32, 2, 0, 1, 
16392
310
   14, TARGET_VAL(ISD::AssertSext),
16393
310
    OPC_RecordChild0,
16394
310
    OPC_MoveParent,
16395
310
    OPC_CheckTypeI32,
16396
310
    OPC_CheckPatternPredicate, 12,
16397
310
    OPC_EmitStringInteger32, Mips::sub_32,
16398
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16399
310
                  MVT::i32, 2, 0, 1, 
16400
310
   0,
16401
310
  22, 
16402
310
   OPC_RecordChild0,
16403
310
   OPC_CheckTypeI32,
16404
310
   OPC_CheckPatternPredicate, 12,
16405
310
   OPC_EmitStringInteger32, Mips::sub_32,
16406
310
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16407
310
                 MVT::i32, 2, 0, 1, 
16408
310
   OPC_EmitInteger32, 0, 
16409
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL),
16410
310
                 MVT::i32, 2, 2, 3, 
16411
310
  0, 
16412
310
 56, TARGET_VAL(MipsISD::SHILO),
16413
310
  OPC_RecordChild0,
16414
310
  OPC_Scope, 30, 
16415
310
   OPC_MoveChild0,
16416
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16417
310
   OPC_CheckPredicate, 64,
16418
310
   OPC_MoveParent,
16419
310
   OPC_RecordChild1,
16420
310
   OPC_Scope, 9, 
16421
310
    OPC_CheckPatternPredicate1,
16422
310
    OPC_EmitConvertToTarget0,
16423
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILO),
16424
310
                  MVT::Untyped, 2, 2, 1, 
16425
310
   9, 
16426
310
    OPC_CheckPatternPredicate6,
16427
310
    OPC_EmitConvertToTarget0,
16428
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILO_MM),
16429
310
                  MVT::Untyped, 2, 2, 1, 
16430
310
   0, 
16431
310
  21, 
16432
310
   OPC_RecordChild1,
16433
310
   OPC_Scope, 8, 
16434
310
    OPC_CheckPatternPredicate1,
16435
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILOV),
16436
310
                  MVT::Untyped, 2, 0, 1, 
16437
310
   8, 
16438
310
    OPC_CheckPatternPredicate6,
16439
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHILOV_MM),
16440
310
                  MVT::Untyped, 2, 0, 1, 
16441
310
   0, 
16442
310
  0, 
16443
310
 33, TARGET_VAL(MipsISD::EXTP),
16444
310
  OPC_RecordNode,
16445
310
  OPC_RecordChild1,
16446
310
  OPC_Scope, 17, 
16447
310
   OPC_MoveChild1,
16448
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16449
310
   OPC_CheckPredicate3, 
16450
310
   OPC_MoveParent,
16451
310
   OPC_RecordChild2,
16452
310
   OPC_CheckPatternPredicate1,
16453
310
   OPC_EmitMergeInputChains1_0,
16454
310
   OPC_EmitConvertToTarget1,
16455
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTP),
16456
310
                 MVT::i32, 2, 2, 3, 
16457
310
  10, 
16458
310
   OPC_RecordChild2,
16459
310
   OPC_CheckPatternPredicate1,
16460
310
   OPC_EmitMergeInputChains1_0,
16461
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPV),
16462
310
                 MVT::i32, 2, 2, 1, 
16463
310
  0, 
16464
310
 33, TARGET_VAL(MipsISD::EXTPDP),
16465
310
  OPC_RecordNode,
16466
310
  OPC_RecordChild1,
16467
310
  OPC_Scope, 17, 
16468
310
   OPC_MoveChild1,
16469
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16470
310
   OPC_CheckPredicate3, 
16471
310
   OPC_MoveParent,
16472
310
   OPC_RecordChild2,
16473
310
   OPC_CheckPatternPredicate1,
16474
310
   OPC_EmitMergeInputChains1_0,
16475
310
   OPC_EmitConvertToTarget1,
16476
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPDP),
16477
310
                 MVT::i32, 2, 2, 3, 
16478
310
  10, 
16479
310
   OPC_RecordChild2,
16480
310
   OPC_CheckPatternPredicate1,
16481
310
   OPC_EmitMergeInputChains1_0,
16482
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTPDPV),
16483
310
                 MVT::i32, 2, 2, 1, 
16484
310
  0, 
16485
310
 33, TARGET_VAL(MipsISD::EXTR_W),
16486
310
  OPC_RecordNode,
16487
310
  OPC_RecordChild1,
16488
310
  OPC_Scope, 17, 
16489
310
   OPC_MoveChild1,
16490
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16491
310
   OPC_CheckPredicate3, 
16492
310
   OPC_MoveParent,
16493
310
   OPC_RecordChild2,
16494
310
   OPC_CheckPatternPredicate1,
16495
310
   OPC_EmitMergeInputChains1_0,
16496
310
   OPC_EmitConvertToTarget1,
16497
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_W),
16498
310
                 MVT::i32, 2, 2, 3, 
16499
310
  10, 
16500
310
   OPC_RecordChild2,
16501
310
   OPC_CheckPatternPredicate1,
16502
310
   OPC_EmitMergeInputChains1_0,
16503
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_W),
16504
310
                 MVT::i32, 2, 2, 1, 
16505
310
  0, 
16506
310
 33, TARGET_VAL(MipsISD::EXTR_R_W),
16507
310
  OPC_RecordNode,
16508
310
  OPC_RecordChild1,
16509
310
  OPC_Scope, 17, 
16510
310
   OPC_MoveChild1,
16511
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16512
310
   OPC_CheckPredicate3, 
16513
310
   OPC_MoveParent,
16514
310
   OPC_RecordChild2,
16515
310
   OPC_CheckPatternPredicate1,
16516
310
   OPC_EmitMergeInputChains1_0,
16517
310
   OPC_EmitConvertToTarget1,
16518
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_R_W),
16519
310
                 MVT::i32, 2, 2, 3, 
16520
310
  10, 
16521
310
   OPC_RecordChild2,
16522
310
   OPC_CheckPatternPredicate1,
16523
310
   OPC_EmitMergeInputChains1_0,
16524
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_R_W),
16525
310
                 MVT::i32, 2, 2, 1, 
16526
310
  0, 
16527
310
 33, TARGET_VAL(MipsISD::EXTR_RS_W),
16528
310
  OPC_RecordNode,
16529
310
  OPC_RecordChild1,
16530
310
  OPC_Scope, 17, 
16531
310
   OPC_MoveChild1,
16532
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16533
310
   OPC_CheckPredicate3, 
16534
310
   OPC_MoveParent,
16535
310
   OPC_RecordChild2,
16536
310
   OPC_CheckPatternPredicate1,
16537
310
   OPC_EmitMergeInputChains1_0,
16538
310
   OPC_EmitConvertToTarget1,
16539
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_RS_W),
16540
310
                 MVT::i32, 2, 2, 3, 
16541
310
  10, 
16542
310
   OPC_RecordChild2,
16543
310
   OPC_CheckPatternPredicate1,
16544
310
   OPC_EmitMergeInputChains1_0,
16545
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_RS_W),
16546
310
                 MVT::i32, 2, 2, 1, 
16547
310
  0, 
16548
310
 33, TARGET_VAL(MipsISD::EXTR_S_H),
16549
310
  OPC_RecordNode,
16550
310
  OPC_RecordChild1,
16551
310
  OPC_Scope, 17, 
16552
310
   OPC_MoveChild1,
16553
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16554
310
   OPC_CheckPredicate3, 
16555
310
   OPC_MoveParent,
16556
310
   OPC_RecordChild2,
16557
310
   OPC_CheckPatternPredicate1,
16558
310
   OPC_EmitMergeInputChains1_0,
16559
310
   OPC_EmitConvertToTarget1,
16560
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTR_S_H),
16561
310
                 MVT::i32, 2, 2, 3, 
16562
310
  10, 
16563
310
   OPC_RecordChild2,
16564
310
   OPC_CheckPatternPredicate1,
16565
310
   OPC_EmitMergeInputChains1_0,
16566
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::EXTRV_S_H),
16567
310
                 MVT::i32, 2, 2, 1, 
16568
310
  0, 
16569
310
 104|128,3, TARGET_VAL(MipsISD::VEXTRACT_SEXT_ELT),
16570
310
  OPC_RecordChild0,
16571
310
  OPC_Scope, 0|128,1, 
16572
310
   OPC_CheckChild0Type, MVT::v16i8,
16573
310
   OPC_RecordChild1,
16574
310
   OPC_Scope, 20, 
16575
310
    OPC_MoveChild1,
16576
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16577
310
    OPC_CheckPredicate, 15,
16578
310
    OPC_MoveSibling2,
16579
310
    OPC_CheckValueType, MVT::i8,
16580
310
    OPC_MoveParent,
16581
310
    OPC_CheckTypeI32,
16582
310
    OPC_CheckPatternPredicate0,
16583
310
    OPC_EmitConvertToTarget1,
16584
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_B),
16585
310
                  MVT::i32, 2, 0, 2, 
16586
310
   41, 
16587
310
    OPC_CheckChild1TypeI32,
16588
310
    OPC_MoveChild2,
16589
310
    OPC_CheckValueType, MVT::i8,
16590
310
    OPC_MoveParent,
16591
310
    OPC_CheckTypeI32,
16592
310
    OPC_CheckPatternPredicate3,
16593
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16594
310
                  MVT::v16i8, 2, 0, 1, 
16595
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16596
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16597
310
                  MVT::i32, 2, 2, 3, 
16598
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16599
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16600
310
                  MVT::i32, 2, 4, 5, 
16601
310
    OPC_EmitInteger32, 48, 
16602
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16603
310
                  MVT::i32, 2, 6, 7, 
16604
310
   59, 
16605
310
    OPC_CheckChild1TypeI64,
16606
310
    OPC_MoveChild2,
16607
310
    OPC_CheckValueType, MVT::i8,
16608
310
    OPC_MoveParent,
16609
310
    OPC_CheckTypeI32,
16610
310
    OPC_CheckPatternPredicate3,
16611
310
    OPC_EmitStringInteger32, Mips::sub_32,
16612
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16613
310
                  MVT::i32, 2, 1, 2, 
16614
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16615
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16616
310
                  MVT::i32, 2, 3, 4, 
16617
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16618
310
                  MVT::v16i8, 2, 0, 5, 
16619
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16620
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16621
310
                  MVT::i32, 2, 6, 7, 
16622
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16623
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16624
310
                  MVT::i32, 2, 8, 9, 
16625
310
    OPC_EmitInteger32, 48, 
16626
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16627
310
                  MVT::i32, 2, 10, 11, 
16628
310
   0, 
16629
310
  0|128,1, 
16630
310
   OPC_CheckChild0Type, MVT::v8i16,
16631
310
   OPC_RecordChild1,
16632
310
   OPC_Scope, 20, 
16633
310
    OPC_MoveChild1,
16634
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16635
310
    OPC_CheckPredicate, 18,
16636
310
    OPC_MoveSibling2,
16637
310
    OPC_CheckValueType, MVT::i16,
16638
310
    OPC_MoveParent,
16639
310
    OPC_CheckTypeI32,
16640
310
    OPC_CheckPatternPredicate0,
16641
310
    OPC_EmitConvertToTarget1,
16642
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_H),
16643
310
                  MVT::i32, 2, 0, 2, 
16644
310
   41, 
16645
310
    OPC_CheckChild1TypeI32,
16646
310
    OPC_MoveChild2,
16647
310
    OPC_CheckValueType, MVT::i16,
16648
310
    OPC_MoveParent,
16649
310
    OPC_CheckTypeI32,
16650
310
    OPC_CheckPatternPredicate3,
16651
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16652
310
                  MVT::v8i16, 2, 0, 1, 
16653
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16654
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16655
310
                  MVT::i32, 2, 2, 3, 
16656
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16657
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16658
310
                  MVT::i32, 2, 4, 5, 
16659
310
    OPC_EmitInteger32, 32, 
16660
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16661
310
                  MVT::i32, 2, 6, 7, 
16662
310
   59, 
16663
310
    OPC_CheckChild1TypeI64,
16664
310
    OPC_MoveChild2,
16665
310
    OPC_CheckValueType, MVT::i16,
16666
310
    OPC_MoveParent,
16667
310
    OPC_CheckTypeI32,
16668
310
    OPC_CheckPatternPredicate3,
16669
310
    OPC_EmitStringInteger32, Mips::sub_32,
16670
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16671
310
                  MVT::i32, 2, 1, 2, 
16672
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16673
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16674
310
                  MVT::i32, 2, 3, 4, 
16675
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16676
310
                  MVT::v8i16, 2, 0, 5, 
16677
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16678
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16679
310
                  MVT::i32, 2, 6, 7, 
16680
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16681
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16682
310
                  MVT::i32, 2, 8, 9, 
16683
310
    OPC_EmitInteger32, 32, 
16684
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRA),
16685
310
                  MVT::i32, 2, 10, 11, 
16686
310
   0, 
16687
310
  110, 
16688
310
   OPC_CheckChild0Type, MVT::v4i32,
16689
310
   OPC_RecordChild1,
16690
310
   OPC_Scope, 20, 
16691
310
    OPC_MoveChild1,
16692
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16693
310
    OPC_CheckPredicate, 22,
16694
310
    OPC_MoveSibling2,
16695
310
    OPC_CheckValueType, MVT::i32,
16696
310
    OPC_MoveParent,
16697
310
    OPC_CheckTypeI32,
16698
310
    OPC_CheckPatternPredicate0,
16699
310
    OPC_EmitConvertToTarget1,
16700
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
16701
310
                  MVT::i32, 2, 0, 2, 
16702
310
   32, 
16703
310
    OPC_CheckChild1TypeI32,
16704
310
    OPC_MoveChild2,
16705
310
    OPC_CheckValueType, MVT::i32,
16706
310
    OPC_MoveParent,
16707
310
    OPC_CheckTypeI32,
16708
310
    OPC_CheckPatternPredicate3,
16709
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
16710
310
                  MVT::v4i32, 2, 0, 1, 
16711
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16712
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16713
310
                  MVT::i32, 2, 2, 3, 
16714
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16715
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16716
310
                  MVT::i32, 2, 4, 5, 
16717
310
   50, 
16718
310
    OPC_CheckChild1TypeI64,
16719
310
    OPC_MoveChild2,
16720
310
    OPC_CheckValueType, MVT::i32,
16721
310
    OPC_MoveParent,
16722
310
    OPC_CheckTypeI32,
16723
310
    OPC_CheckPatternPredicate3,
16724
310
    OPC_EmitStringInteger32, Mips::sub_32,
16725
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16726
310
                  MVT::i32, 2, 1, 2, 
16727
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16728
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16729
310
                  MVT::i32, 2, 3, 4, 
16730
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
16731
310
                  MVT::v4i32, 2, 0, 5, 
16732
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16733
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16734
310
                  MVT::i32, 2, 6, 7, 
16735
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16736
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16737
310
                  MVT::i32, 2, 8, 9, 
16738
310
   0, 
16739
310
  113, 
16740
310
   OPC_CheckChild0Type, MVT::v2i64,
16741
310
   OPC_RecordChild1,
16742
310
   OPC_Scope, 21, 
16743
310
    OPC_MoveChild1,
16744
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16745
310
    OPC_CheckPredicate, 26,
16746
310
    OPC_MoveSibling2,
16747
310
    OPC_CheckValueType, MVT::i64,
16748
310
    OPC_MoveParent,
16749
310
    OPC_CheckTypeI64,
16750
310
    OPC_CheckPatternPredicate, 42,
16751
310
    OPC_EmitConvertToTarget1,
16752
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
16753
310
                  MVT::i64, 2, 0, 2, 
16754
310
   33, 
16755
310
    OPC_CheckChild1TypeI32,
16756
310
    OPC_MoveChild2,
16757
310
    OPC_CheckValueType, MVT::i64,
16758
310
    OPC_MoveParent,
16759
310
    OPC_CheckTypeI64,
16760
310
    OPC_CheckPatternPredicate, 55,
16761
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
16762
310
                  MVT::v2i64, 2, 0, 1, 
16763
310
    OPC_EmitStringInteger32, Mips::sub_64,
16764
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16765
310
                  MVT::i64, 2, 2, 3, 
16766
310
    OPC_EmitStringInteger32, Mips::GPR64RegClassID,
16767
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16768
310
                  MVT::i64, 2, 4, 5, 
16769
310
   51, 
16770
310
    OPC_CheckChild1TypeI64,
16771
310
    OPC_MoveChild2,
16772
310
    OPC_CheckValueType, MVT::i64,
16773
310
    OPC_MoveParent,
16774
310
    OPC_CheckTypeI64,
16775
310
    OPC_CheckPatternPredicate, 55,
16776
310
    OPC_EmitStringInteger32, Mips::sub_32,
16777
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16778
310
                  MVT::i32, 2, 1, 2, 
16779
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16780
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16781
310
                  MVT::i32, 2, 3, 4, 
16782
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
16783
310
                  MVT::v2i64, 2, 0, 5, 
16784
310
    OPC_EmitStringInteger32, Mips::sub_64,
16785
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16786
310
                  MVT::i64, 2, 6, 7, 
16787
310
    OPC_EmitStringInteger32, Mips::GPR64RegClassID,
16788
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16789
310
                  MVT::i64, 2, 8, 9, 
16790
310
   0, 
16791
310
  0, 
16792
310
 37|128,4, TARGET_VAL(MipsISD::VEXTRACT_ZEXT_ELT),
16793
310
  OPC_RecordChild0,
16794
310
  OPC_Scope, 0|128,1, 
16795
310
   OPC_CheckChild0Type, MVT::v16i8,
16796
310
   OPC_RecordChild1,
16797
310
   OPC_Scope, 20, 
16798
310
    OPC_MoveChild1,
16799
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16800
310
    OPC_CheckPredicate, 15,
16801
310
    OPC_MoveSibling2,
16802
310
    OPC_CheckValueType, MVT::i8,
16803
310
    OPC_MoveParent,
16804
310
    OPC_CheckTypeI32,
16805
310
    OPC_CheckPatternPredicate0,
16806
310
    OPC_EmitConvertToTarget1,
16807
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_B),
16808
310
                  MVT::i32, 2, 0, 2, 
16809
310
   41, 
16810
310
    OPC_CheckChild1TypeI32,
16811
310
    OPC_MoveChild2,
16812
310
    OPC_CheckValueType, MVT::i8,
16813
310
    OPC_MoveParent,
16814
310
    OPC_CheckTypeI32,
16815
310
    OPC_CheckPatternPredicate3,
16816
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16817
310
                  MVT::v16i8, 2, 0, 1, 
16818
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16819
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16820
310
                  MVT::i32, 2, 2, 3, 
16821
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16822
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16823
310
                  MVT::i32, 2, 4, 5, 
16824
310
    OPC_EmitInteger32, 48, 
16825
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
16826
310
                  MVT::i32, 2, 6, 7, 
16827
310
   59, 
16828
310
    OPC_CheckChild1TypeI64,
16829
310
    OPC_MoveChild2,
16830
310
    OPC_CheckValueType, MVT::i8,
16831
310
    OPC_MoveParent,
16832
310
    OPC_CheckTypeI32,
16833
310
    OPC_CheckPatternPredicate3,
16834
310
    OPC_EmitStringInteger32, Mips::sub_32,
16835
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16836
310
                  MVT::i32, 2, 1, 2, 
16837
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16838
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16839
310
                  MVT::i32, 2, 3, 4, 
16840
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_B),
16841
310
                  MVT::v16i8, 2, 0, 5, 
16842
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16843
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16844
310
                  MVT::i32, 2, 6, 7, 
16845
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16846
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16847
310
                  MVT::i32, 2, 8, 9, 
16848
310
    OPC_EmitInteger32, 48, 
16849
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
16850
310
                  MVT::i32, 2, 10, 11, 
16851
310
   0, 
16852
310
  0|128,1, 
16853
310
   OPC_CheckChild0Type, MVT::v8i16,
16854
310
   OPC_RecordChild1,
16855
310
   OPC_Scope, 20, 
16856
310
    OPC_MoveChild1,
16857
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16858
310
    OPC_CheckPredicate, 18,
16859
310
    OPC_MoveSibling2,
16860
310
    OPC_CheckValueType, MVT::i16,
16861
310
    OPC_MoveParent,
16862
310
    OPC_CheckTypeI32,
16863
310
    OPC_CheckPatternPredicate0,
16864
310
    OPC_EmitConvertToTarget1,
16865
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_H),
16866
310
                  MVT::i32, 2, 0, 2, 
16867
310
   41, 
16868
310
    OPC_CheckChild1TypeI32,
16869
310
    OPC_MoveChild2,
16870
310
    OPC_CheckValueType, MVT::i16,
16871
310
    OPC_MoveParent,
16872
310
    OPC_CheckTypeI32,
16873
310
    OPC_CheckPatternPredicate3,
16874
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16875
310
                  MVT::v8i16, 2, 0, 1, 
16876
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16877
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16878
310
                  MVT::i32, 2, 2, 3, 
16879
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16880
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16881
310
                  MVT::i32, 2, 4, 5, 
16882
310
    OPC_EmitInteger32, 32, 
16883
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
16884
310
                  MVT::i32, 2, 6, 7, 
16885
310
   59, 
16886
310
    OPC_CheckChild1TypeI64,
16887
310
    OPC_MoveChild2,
16888
310
    OPC_CheckValueType, MVT::i16,
16889
310
    OPC_MoveParent,
16890
310
    OPC_CheckTypeI32,
16891
310
    OPC_CheckPatternPredicate3,
16892
310
    OPC_EmitStringInteger32, Mips::sub_32,
16893
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16894
310
                  MVT::i32, 2, 1, 2, 
16895
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16896
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16897
310
                  MVT::i32, 2, 3, 4, 
16898
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_H),
16899
310
                  MVT::v8i16, 2, 0, 5, 
16900
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16901
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16902
310
                  MVT::i32, 2, 6, 7, 
16903
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16904
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16905
310
                  MVT::i32, 2, 8, 9, 
16906
310
    OPC_EmitInteger32, 32, 
16907
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SRL),
16908
310
                  MVT::i32, 2, 10, 11, 
16909
310
   0, 
16910
310
  124, 
16911
310
   OPC_CheckChild0Type, MVT::v4i32,
16912
310
   OPC_RecordChild1,
16913
310
   OPC_Scope, 34, 
16914
310
    OPC_MoveChild1,
16915
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16916
310
    OPC_CheckPredicate, 22,
16917
310
    OPC_MoveSibling2,
16918
310
    OPC_CheckValueType, MVT::i32,
16919
310
    OPC_MoveParent,
16920
310
    OPC_CheckTypeI32,
16921
310
    OPC_Scope, 10, 
16922
310
     OPC_CheckPatternPredicate, 42,
16923
310
     OPC_EmitConvertToTarget1,
16924
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_U_W),
16925
310
                   MVT::i32, 2, 0, 2, 
16926
310
    9, 
16927
310
     OPC_CheckPatternPredicate3,
16928
310
     OPC_EmitConvertToTarget1,
16929
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
16930
310
                   MVT::i32, 2, 0, 2, 
16931
310
    0, 
16932
310
   32, 
16933
310
    OPC_CheckChild1TypeI32,
16934
310
    OPC_MoveChild2,
16935
310
    OPC_CheckValueType, MVT::i32,
16936
310
    OPC_MoveParent,
16937
310
    OPC_CheckTypeI32,
16938
310
    OPC_CheckPatternPredicate3,
16939
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
16940
310
                  MVT::v4i32, 2, 0, 1, 
16941
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16942
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16943
310
                  MVT::i32, 2, 2, 3, 
16944
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16945
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16946
310
                  MVT::i32, 2, 4, 5, 
16947
310
   50, 
16948
310
    OPC_CheckChild1TypeI64,
16949
310
    OPC_MoveChild2,
16950
310
    OPC_CheckValueType, MVT::i32,
16951
310
    OPC_MoveParent,
16952
310
    OPC_CheckTypeI32,
16953
310
    OPC_CheckPatternPredicate3,
16954
310
    OPC_EmitStringInteger32, Mips::sub_32,
16955
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16956
310
                  MVT::i32, 2, 1, 2, 
16957
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16958
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16959
310
                  MVT::i32, 2, 3, 4, 
16960
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
16961
310
                  MVT::v4i32, 2, 0, 5, 
16962
310
    OPC_EmitStringInteger32, Mips::sub_lo,
16963
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
16964
310
                  MVT::i32, 2, 6, 7, 
16965
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
16966
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
16967
310
                  MVT::i32, 2, 8, 9, 
16968
310
   0, 
16969
310
  23, 
16970
310
   OPC_CheckChild0Type, MVT::v4f32,
16971
310
   OPC_RecordChild1,
16972
310
   OPC_MoveChild1,
16973
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16974
310
   OPC_CheckPredicate, 22,
16975
310
   OPC_MoveSibling2,
16976
310
   OPC_CheckValueType, MVT::i32,
16977
310
   OPC_MoveParent,
16978
310
   OPC_CheckTypeI32,
16979
310
   OPC_CheckPatternPredicate3,
16980
310
   OPC_EmitConvertToTarget1,
16981
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
16982
310
                 MVT::i32, 2, 0, 2, 
16983
310
  112, 
16984
310
   OPC_CheckChild0Type, MVT::v2i64,
16985
310
   OPC_RecordChild1,
16986
310
   OPC_Scope, 20, 
16987
310
    OPC_MoveChild1,
16988
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
16989
310
    OPC_CheckPredicate, 26,
16990
310
    OPC_MoveSibling2,
16991
310
    OPC_CheckValueType, MVT::i64,
16992
310
    OPC_MoveParent,
16993
310
    OPC_CheckTypeI64,
16994
310
    OPC_CheckPatternPredicate3,
16995
310
    OPC_EmitConvertToTarget1,
16996
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
16997
310
                  MVT::i64, 2, 0, 2, 
16998
310
   33, 
16999
310
    OPC_CheckChild1TypeI32,
17000
310
    OPC_MoveChild2,
17001
310
    OPC_CheckValueType, MVT::i64,
17002
310
    OPC_MoveParent,
17003
310
    OPC_CheckTypeI64,
17004
310
    OPC_CheckPatternPredicate, 55,
17005
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17006
310
                  MVT::v2i64, 2, 0, 1, 
17007
310
    OPC_EmitStringInteger32, Mips::sub_64,
17008
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17009
310
                  MVT::i64, 2, 2, 3, 
17010
310
    OPC_EmitStringInteger32, Mips::GPR64RegClassID,
17011
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17012
310
                  MVT::i64, 2, 4, 5, 
17013
310
   51, 
17014
310
    OPC_CheckChild1TypeI64,
17015
310
    OPC_MoveChild2,
17016
310
    OPC_CheckValueType, MVT::i64,
17017
310
    OPC_MoveParent,
17018
310
    OPC_CheckTypeI64,
17019
310
    OPC_CheckPatternPredicate, 55,
17020
310
    OPC_EmitStringInteger32, Mips::sub_32,
17021
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17022
310
                  MVT::i32, 2, 1, 2, 
17023
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
17024
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17025
310
                  MVT::i32, 2, 3, 4, 
17026
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17027
310
                  MVT::v2i64, 2, 0, 5, 
17028
310
    OPC_EmitStringInteger32, Mips::sub_64,
17029
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17030
310
                  MVT::i64, 2, 6, 7, 
17031
310
    OPC_EmitStringInteger32, Mips::GPR64RegClassID,
17032
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17033
310
                  MVT::i64, 2, 8, 9, 
17034
310
   0, 
17035
310
  23, 
17036
310
   OPC_CheckChild0Type, MVT::v2f64,
17037
310
   OPC_RecordChild1,
17038
310
   OPC_MoveChild1,
17039
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17040
310
   OPC_CheckPredicate, 26,
17041
310
   OPC_MoveSibling2,
17042
310
   OPC_CheckValueType, MVT::i64,
17043
310
   OPC_MoveParent,
17044
310
   OPC_CheckTypeI64,
17045
310
   OPC_CheckPatternPredicate3,
17046
310
   OPC_EmitConvertToTarget1,
17047
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_D),
17048
310
                 MVT::i64, 2, 0, 2, 
17049
310
  0, 
17050
310
 65|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
17051
310
  OPC_RecordChild0,
17052
310
  OPC_Scope, 19, 
17053
310
   OPC_RecordChild1,
17054
310
   OPC_MoveChild1,
17055
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17056
310
   OPC_CheckPredicate, 15,
17057
310
   OPC_CheckTypeI32,
17058
310
   OPC_MoveParent,
17059
310
   OPC_CheckTypeI32,
17060
310
   OPC_CheckPatternPredicate3,
17061
310
   OPC_EmitConvertToTarget1,
17062
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_S_W),
17063
310
                 MVT::i32, 2, 0, 2, 
17064
310
  84, 
17065
310
   OPC_CheckChild0Type, MVT::v4f32,
17066
310
   OPC_RecordChild1,
17067
310
   OPC_Scope, 18, 
17068
310
    OPC_MoveChild1,
17069
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17070
310
    OPC_CheckPredicate, 22,
17071
310
    OPC_MoveParent,
17072
310
    OPC_CheckType, MVT::f32,
17073
310
    OPC_CheckPatternPredicate0,
17074
310
    OPC_EmitConvertToTarget1,
17075
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_FW_PSEUDO),
17076
310
                  MVT::f32, 2, 0, 2, 
17077
310
   20, 
17078
310
    OPC_CheckChild1TypeI32,
17079
310
    OPC_CheckType, MVT::f32,
17080
310
    OPC_CheckPatternPredicate3,
17081
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17082
310
                  MVT::v4i32, 2, 0, 1, 
17083
310
    OPC_EmitStringInteger32, Mips::sub_lo,
17084
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17085
310
                  MVT::f32, 2, 2, 3, 
17086
310
   38, 
17087
310
    OPC_CheckChild1TypeI64,
17088
310
    OPC_CheckType, MVT::f32,
17089
310
    OPC_CheckPatternPredicate3,
17090
310
    OPC_EmitStringInteger32, Mips::sub_32,
17091
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17092
310
                  MVT::i32, 2, 1, 2, 
17093
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
17094
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17095
310
                  MVT::i32, 2, 3, 4, 
17096
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_W),
17097
310
                  MVT::v4i32, 2, 0, 5, 
17098
310
    OPC_EmitStringInteger32, Mips::sub_lo,
17099
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17100
310
                  MVT::f32, 2, 6, 7, 
17101
310
   0, 
17102
310
  84, 
17103
310
   OPC_CheckChild0Type, MVT::v2f64,
17104
310
   OPC_RecordChild1,
17105
310
   OPC_Scope, 18, 
17106
310
    OPC_MoveChild1,
17107
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17108
310
    OPC_CheckPredicate, 26,
17109
310
    OPC_MoveParent,
17110
310
    OPC_CheckType, MVT::f64,
17111
310
    OPC_CheckPatternPredicate0,
17112
310
    OPC_EmitConvertToTarget1,
17113
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::COPY_FD_PSEUDO),
17114
310
                  MVT::f64, 2, 0, 2, 
17115
310
   20, 
17116
310
    OPC_CheckChild1TypeI32,
17117
310
    OPC_CheckType, MVT::f64,
17118
310
    OPC_CheckPatternPredicate3,
17119
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17120
310
                  MVT::v2i64, 2, 0, 1, 
17121
310
    OPC_EmitStringInteger32, Mips::sub_64,
17122
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17123
310
                  MVT::f64, 2, 2, 3, 
17124
310
   38, 
17125
310
    OPC_CheckChild1TypeI64,
17126
310
    OPC_CheckType, MVT::f64,
17127
310
    OPC_CheckPatternPredicate3,
17128
310
    OPC_EmitStringInteger32, Mips::sub_32,
17129
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17130
310
                  MVT::i32, 2, 1, 2, 
17131
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
17132
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
17133
310
                  MVT::i32, 2, 3, 4, 
17134
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SPLAT_D),
17135
310
                  MVT::v2i64, 2, 0, 5, 
17136
310
    OPC_EmitStringInteger32, Mips::sub_64,
17137
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
17138
310
                  MVT::f64, 2, 6, 7, 
17139
310
   0, 
17140
310
  0, 
17141
310
 90|128,1, TARGET_VAL(MipsISD::JmpLink),
17142
310
  OPC_RecordNode,
17143
310
  OPC_CaptureGlueInput,
17144
310
  OPC_RecordChild1,
17145
310
  OPC_Scope, 7|128,1, 
17146
310
   OPC_MoveChild1,
17147
310
   OPC_SwitchOpcode , 69, TARGET_VAL(ISD::TargetGlobalAddress),
17148
310
    OPC_Scope, 22, 
17149
310
     OPC_MoveParent,
17150
310
     OPC_Scope, 8, 
17151
310
      OPC_CheckPatternPredicate2,
17152
310
      OPC_EmitMergeInputChains1_0,
17153
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17154
310
                    1, 1, 
17155
310
     9, 
17156
310
      OPC_CheckPatternPredicate, 53,
17157
310
      OPC_EmitMergeInputChains1_0,
17158
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17159
310
                    1, 1, 
17160
310
     0, 
17161
310
    10, 
17162
310
     OPC_CheckTypeI32,
17163
310
     OPC_MoveParent,
17164
310
     OPC_CheckPatternPredicate5,
17165
310
     OPC_EmitMergeInputChains1_0,
17166
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17167
310
                   1, 1, 
17168
310
    32, 
17169
310
     OPC_MoveParent,
17170
310
     OPC_Scope, 19, 
17171
310
      OPC_CheckPatternPredicate, 8,
17172
310
      OPC_EmitMergeInputChains1_0,
17173
310
      OPC_Scope, 6, 
17174
310
       OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17175
310
                     1, 1, 
17176
310
      6, 
17177
310
       OPC_MorphNodeTo0, TARGET_VAL(Mips::JALX_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17178
310
                     1, 1, 
17179
310
      0, 
17180
310
     8, 
17181
310
      OPC_CheckPatternPredicate7,
17182
310
      OPC_EmitMergeInputChains1_0,
17183
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17184
310
                    1, 1, 
17185
310
     0, 
17186
310
    0, 
17187
310
   57, TARGET_VAL(ISD::TargetExternalSymbol),
17188
310
    OPC_SwitchType , 41, MVT::i32,
17189
310
     OPC_MoveParent,
17190
310
     OPC_Scope, 9, 
17191
310
      OPC_CheckPatternPredicate, 56,
17192
310
      OPC_EmitMergeInputChains1_0,
17193
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17194
310
                    1, 1, 
17195
310
     8, 
17196
310
      OPC_CheckPatternPredicate5,
17197
310
      OPC_EmitMergeInputChains1_0,
17198
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::Jal16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17199
310
                    1, 1, 
17200
310
     9, 
17201
310
      OPC_CheckPatternPredicate, 8,
17202
310
      OPC_EmitMergeInputChains1_0,
17203
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17204
310
                    1, 1, 
17205
310
     8, 
17206
310
      OPC_CheckPatternPredicate7,
17207
310
      OPC_EmitMergeInputChains1_0,
17208
310
      OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17209
310
                    1, 1, 
17210
310
     0, 
17211
310
    10, MVT::i64,
17212
310
     OPC_MoveParent,
17213
310
     OPC_CheckPatternPredicate, 11,
17214
310
     OPC_EmitMergeInputChains1_0,
17215
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::JAL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17216
310
                   1, 1, 
17217
310
    0,
17218
310
   0,
17219
310
  51, 
17220
310
   OPC_CheckChild1TypeI32,
17221
310
   OPC_Scope, 9, 
17222
310
    OPC_CheckPatternPredicate, 114,
17223
310
    OPC_EmitMergeInputChains1_0,
17224
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17225
310
                  1, 1, 
17226
310
   9, 
17227
310
    OPC_CheckPatternPredicate, 115,
17228
310
    OPC_EmitMergeInputChains1_0,
17229
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHBPseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17230
310
                  1, 1, 
17231
310
   8, 
17232
310
    OPC_CheckPatternPredicate5,
17233
310
    OPC_EmitMergeInputChains1_0,
17234
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JumpLinkReg16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17235
310
                  1, 1, 
17236
310
   9, 
17237
310
    OPC_CheckPatternPredicate, 8,
17238
310
    OPC_EmitMergeInputChains1_0,
17239
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR16_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17240
310
                  1, 1, 
17241
310
   8, 
17242
310
    OPC_CheckPatternPredicate7,
17243
310
    OPC_EmitMergeInputChains1_0,
17244
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRC16_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17245
310
                  1, 1, 
17246
310
   0, 
17247
310
  23, 
17248
310
   OPC_CheckChild1TypeI64,
17249
310
   OPC_Scope, 9, 
17250
310
    OPC_CheckPatternPredicate, 116,
17251
310
    OPC_EmitMergeInputChains1_0,
17252
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALR64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17253
310
                  1, 1, 
17254
310
   9, 
17255
310
    OPC_CheckPatternPredicate, 117,
17256
310
    OPC_EmitMergeInputChains1_0,
17257
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::JALRHB64Pseudo), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
17258
310
                  1, 1, 
17259
310
   0, 
17260
310
  0, 
17261
310
 56|128,1, TARGET_VAL(MipsISD::TailCall),
17262
310
  OPC_RecordNode,
17263
310
  OPC_CaptureGlueInput,
17264
310
  OPC_RecordChild1,
17265
310
  OPC_Scope, 71, 
17266
310
   OPC_MoveChild1,
17267
310
   OPC_SwitchOpcode , 31, TARGET_VAL(ISD::TargetGlobalAddress),
17268
310
    OPC_MoveParent,
17269
310
    OPC_Scope, 8, 
17270
310
     OPC_CheckPatternPredicate2,
17271
310
     OPC_EmitMergeInputChains1_0,
17272
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17273
310
                   1, 1, 
17274
310
    9, 
17275
310
     OPC_CheckPatternPredicate, 8,
17276
310
     OPC_EmitMergeInputChains1_0,
17277
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17278
310
                   1, 1, 
17279
310
    8, 
17280
310
     OPC_CheckPatternPredicate7,
17281
310
     OPC_EmitMergeInputChains1_0,
17282
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17283
310
                   1, 1, 
17284
310
    0, 
17285
310
   31, TARGET_VAL(ISD::TargetExternalSymbol),
17286
310
    OPC_MoveParent,
17287
310
    OPC_Scope, 8, 
17288
310
     OPC_CheckPatternPredicate2,
17289
310
     OPC_EmitMergeInputChains1_0,
17290
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17291
310
                   1, 1, 
17292
310
    9, 
17293
310
     OPC_CheckPatternPredicate, 8,
17294
310
     OPC_EmitMergeInputChains1_0,
17295
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17296
310
                   1, 1, 
17297
310
    8, 
17298
310
     OPC_CheckPatternPredicate7,
17299
310
     OPC_EmitMergeInputChains1_0,
17300
310
     OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17301
310
                   1, 1, 
17302
310
    0, 
17303
310
   0,
17304
310
  62, 
17305
310
   OPC_CheckChild1TypeI32,
17306
310
   OPC_Scope, 9, 
17307
310
    OPC_CheckPatternPredicate, 91,
17308
310
    OPC_EmitMergeInputChains1_0,
17309
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17310
310
                  1, 1, 
17311
310
   9, 
17312
310
    OPC_CheckPatternPredicate, 118,
17313
310
    OPC_EmitMergeInputChains1_0,
17314
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17315
310
                  1, 1, 
17316
310
   9, 
17317
310
    OPC_CheckPatternPredicate, 92,
17318
310
    OPC_EmitMergeInputChains1_0,
17319
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17320
310
                  1, 1, 
17321
310
   9, 
17322
310
    OPC_CheckPatternPredicate, 93,
17323
310
    OPC_EmitMergeInputChains1_0,
17324
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHBR6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17325
310
                  1, 1, 
17326
310
   9, 
17327
310
    OPC_CheckPatternPredicate, 8,
17328
310
    OPC_EmitMergeInputChains1_0,
17329
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MM), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17330
310
                  1, 1, 
17331
310
   8, 
17332
310
    OPC_CheckPatternPredicate7,
17333
310
    OPC_EmitMergeInputChains1_0,
17334
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG_MMR6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17335
310
                  1, 1, 
17336
310
   0, 
17337
310
  43, 
17338
310
   OPC_CheckChild1TypeI64,
17339
310
   OPC_Scope, 9, 
17340
310
    OPC_CheckPatternPredicate, 119,
17341
310
    OPC_EmitMergeInputChains1_0,
17342
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREG64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17343
310
                  1, 1, 
17344
310
   9, 
17345
310
    OPC_CheckPatternPredicate, 94,
17346
310
    OPC_EmitMergeInputChains1_0,
17347
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLREGHB64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17348
310
                  1, 1, 
17349
310
   9, 
17350
310
    OPC_CheckPatternPredicate, 95,
17351
310
    OPC_EmitMergeInputChains1_0,
17352
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALL64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17353
310
                  1, 1, 
17354
310
   9, 
17355
310
    OPC_CheckPatternPredicate, 96,
17356
310
    OPC_EmitMergeInputChains1_0,
17357
310
    OPC_MorphNodeTo0, TARGET_VAL(Mips::TAILCALLHB64R6REG), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
17358
310
                  1, 1, 
17359
310
   0, 
17360
310
  0, 
17361
310
 64|128,2, TARGET_VAL(MipsISD::Hi),
17362
310
  OPC_RecordChild0,
17363
310
  OPC_MoveChild0,
17364
310
  OPC_SwitchOpcode , 67, TARGET_VAL(ISD::TargetGlobalAddress),
17365
310
   OPC_MoveParent,
17366
310
   OPC_SwitchType , 35, MVT::i32,
17367
310
    OPC_Scope, 7, 
17368
310
     OPC_CheckPatternPredicate2,
17369
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17370
310
                   MVT::i32, 1, 0, 
17371
310
    7, 
17372
310
     OPC_CheckPatternPredicate4,
17373
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17374
310
                   MVT::i32, 1, 0, 
17375
310
    16, 
17376
310
     OPC_CheckPatternPredicate5,
17377
310
     OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17378
310
                   MVT::i32, 1, 0, 
17379
310
     OPC_EmitInteger32, 32, 
17380
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17381
310
                   MVT::i32, 2, 1, 2, 
17382
310
    0, 
17383
310
   25, MVT::i64,
17384
310
    OPC_Scope, 8, 
17385
310
     OPC_CheckPatternPredicate, 22,
17386
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17387
310
                   MVT::i64, 1, 0, 
17388
310
    13, 
17389
310
     OPC_CheckPatternPredicate, 11,
17390
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17391
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17392
310
                   MVT::i64, 2, 1, 0, 
17393
310
    0, 
17394
310
   0,
17395
310
  67, TARGET_VAL(ISD::TargetBlockAddress),
17396
310
   OPC_MoveParent,
17397
310
   OPC_SwitchType , 35, MVT::i32,
17398
310
    OPC_Scope, 7, 
17399
310
     OPC_CheckPatternPredicate2,
17400
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17401
310
                   MVT::i32, 1, 0, 
17402
310
    7, 
17403
310
     OPC_CheckPatternPredicate4,
17404
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17405
310
                   MVT::i32, 1, 0, 
17406
310
    16, 
17407
310
     OPC_CheckPatternPredicate5,
17408
310
     OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17409
310
                   MVT::i32, 1, 0, 
17410
310
     OPC_EmitInteger32, 32, 
17411
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17412
310
                   MVT::i32, 2, 1, 2, 
17413
310
    0, 
17414
310
   25, MVT::i64,
17415
310
    OPC_Scope, 8, 
17416
310
     OPC_CheckPatternPredicate, 22,
17417
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17418
310
                   MVT::i64, 1, 0, 
17419
310
    13, 
17420
310
     OPC_CheckPatternPredicate, 11,
17421
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17422
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17423
310
                   MVT::i64, 2, 1, 0, 
17424
310
    0, 
17425
310
   0,
17426
310
  67, TARGET_VAL(ISD::TargetJumpTable),
17427
310
   OPC_MoveParent,
17428
310
   OPC_SwitchType , 35, MVT::i32,
17429
310
    OPC_Scope, 7, 
17430
310
     OPC_CheckPatternPredicate2,
17431
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17432
310
                   MVT::i32, 1, 0, 
17433
310
    7, 
17434
310
     OPC_CheckPatternPredicate4,
17435
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17436
310
                   MVT::i32, 1, 0, 
17437
310
    16, 
17438
310
     OPC_CheckPatternPredicate5,
17439
310
     OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17440
310
                   MVT::i32, 1, 0, 
17441
310
     OPC_EmitInteger32, 32, 
17442
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17443
310
                   MVT::i32, 2, 1, 2, 
17444
310
    0, 
17445
310
   25, MVT::i64,
17446
310
    OPC_Scope, 8, 
17447
310
     OPC_CheckPatternPredicate, 22,
17448
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17449
310
                   MVT::i64, 1, 0, 
17450
310
    13, 
17451
310
     OPC_CheckPatternPredicate, 11,
17452
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17453
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17454
310
                   MVT::i64, 2, 1, 0, 
17455
310
    0, 
17456
310
   0,
17457
310
  50, TARGET_VAL(ISD::TargetConstantPool),
17458
310
   OPC_MoveParent,
17459
310
   OPC_SwitchType , 18, MVT::i32,
17460
310
    OPC_Scope, 7, 
17461
310
     OPC_CheckPatternPredicate2,
17462
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17463
310
                   MVT::i32, 1, 0, 
17464
310
    7, 
17465
310
     OPC_CheckPatternPredicate4,
17466
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17467
310
                   MVT::i32, 1, 0, 
17468
310
    0, 
17469
310
   25, MVT::i64,
17470
310
    OPC_Scope, 8, 
17471
310
     OPC_CheckPatternPredicate, 22,
17472
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17473
310
                   MVT::i64, 1, 0, 
17474
310
    13, 
17475
310
     OPC_CheckPatternPredicate, 11,
17476
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17477
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17478
310
                   MVT::i64, 2, 1, 0, 
17479
310
    0, 
17480
310
   0,
17481
310
  50, TARGET_VAL(ISD::TargetExternalSymbol),
17482
310
   OPC_MoveParent,
17483
310
   OPC_SwitchType , 18, MVT::i32,
17484
310
    OPC_Scope, 7, 
17485
310
     OPC_CheckPatternPredicate2,
17486
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17487
310
                   MVT::i32, 1, 0, 
17488
310
    7, 
17489
310
     OPC_CheckPatternPredicate4,
17490
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17491
310
                   MVT::i32, 1, 0, 
17492
310
    0, 
17493
310
   25, MVT::i64,
17494
310
    OPC_Scope, 8, 
17495
310
     OPC_CheckPatternPredicate, 22,
17496
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17497
310
                   MVT::i64, 1, 0, 
17498
310
    13, 
17499
310
     OPC_CheckPatternPredicate, 11,
17500
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17501
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17502
310
                   MVT::i64, 2, 1, 0, 
17503
310
    0, 
17504
310
   0,
17505
310
  0,
17506
310
 12|128,3, TARGET_VAL(MipsISD::Lo),
17507
310
  OPC_RecordChild0,
17508
310
  OPC_MoveChild0,
17509
310
  OPC_SwitchOpcode , 61, TARGET_VAL(ISD::TargetGlobalAddress),
17510
310
   OPC_MoveParent,
17511
310
   OPC_SwitchType , 24, MVT::i32,
17512
310
    OPC_Scope, 10, 
17513
310
     OPC_CheckPatternPredicate2,
17514
310
     OPC_EmitRegisterI32, Mips::ZERO,
17515
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17516
310
                   MVT::i32, 2, 1, 0, 
17517
310
    10, 
17518
310
     OPC_CheckPatternPredicate4,
17519
310
     OPC_EmitRegisterI32, Mips::ZERO,
17520
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17521
310
                   MVT::i32, 2, 1, 0, 
17522
310
    0, 
17523
310
   30, MVT::i64,
17524
310
    OPC_Scope, 13, 
17525
310
     OPC_CheckPatternPredicate, 22,
17526
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17527
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17528
310
                   MVT::i64, 2, 1, 0, 
17529
310
    13, 
17530
310
     OPC_CheckPatternPredicate, 11,
17531
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17532
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17533
310
                   MVT::i64, 2, 1, 0, 
17534
310
    0, 
17535
310
   0,
17536
310
  69, TARGET_VAL(ISD::TargetBlockAddress),
17537
310
   OPC_MoveParent,
17538
310
   OPC_SwitchType , 32, MVT::i32,
17539
310
    OPC_Scope, 10, 
17540
310
     OPC_CheckPatternPredicate2,
17541
310
     OPC_EmitRegisterI32, Mips::ZERO,
17542
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17543
310
                   MVT::i32, 2, 1, 0, 
17544
310
    7, 
17545
310
     OPC_CheckPatternPredicate5,
17546
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LiRxImmX16),
17547
310
                   MVT::i32, 1, 0, 
17548
310
    10, 
17549
310
     OPC_CheckPatternPredicate4,
17550
310
     OPC_EmitRegisterI32, Mips::ZERO,
17551
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17552
310
                   MVT::i32, 2, 1, 0, 
17553
310
    0, 
17554
310
   30, MVT::i64,
17555
310
    OPC_Scope, 13, 
17556
310
     OPC_CheckPatternPredicate, 22,
17557
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17558
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17559
310
                   MVT::i64, 2, 1, 0, 
17560
310
    13, 
17561
310
     OPC_CheckPatternPredicate, 11,
17562
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17563
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17564
310
                   MVT::i64, 2, 1, 0, 
17565
310
    0, 
17566
310
   0,
17567
310
  61, TARGET_VAL(ISD::TargetJumpTable),
17568
310
   OPC_MoveParent,
17569
310
   OPC_SwitchType , 24, MVT::i32,
17570
310
    OPC_Scope, 10, 
17571
310
     OPC_CheckPatternPredicate2,
17572
310
     OPC_EmitRegisterI32, Mips::ZERO,
17573
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17574
310
                   MVT::i32, 2, 1, 0, 
17575
310
    10, 
17576
310
     OPC_CheckPatternPredicate4,
17577
310
     OPC_EmitRegisterI32, Mips::ZERO,
17578
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17579
310
                   MVT::i32, 2, 1, 0, 
17580
310
    0, 
17581
310
   30, MVT::i64,
17582
310
    OPC_Scope, 13, 
17583
310
     OPC_CheckPatternPredicate, 22,
17584
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17585
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17586
310
                   MVT::i64, 2, 1, 0, 
17587
310
    13, 
17588
310
     OPC_CheckPatternPredicate, 11,
17589
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17590
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17591
310
                   MVT::i64, 2, 1, 0, 
17592
310
    0, 
17593
310
   0,
17594
310
  61, TARGET_VAL(ISD::TargetConstantPool),
17595
310
   OPC_MoveParent,
17596
310
   OPC_SwitchType , 24, MVT::i32,
17597
310
    OPC_Scope, 10, 
17598
310
     OPC_CheckPatternPredicate2,
17599
310
     OPC_EmitRegisterI32, Mips::ZERO,
17600
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17601
310
                   MVT::i32, 2, 1, 0, 
17602
310
    10, 
17603
310
     OPC_CheckPatternPredicate4,
17604
310
     OPC_EmitRegisterI32, Mips::ZERO,
17605
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17606
310
                   MVT::i32, 2, 1, 0, 
17607
310
    0, 
17608
310
   30, MVT::i64,
17609
310
    OPC_Scope, 13, 
17610
310
     OPC_CheckPatternPredicate, 22,
17611
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17612
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17613
310
                   MVT::i64, 2, 1, 0, 
17614
310
    13, 
17615
310
     OPC_CheckPatternPredicate, 11,
17616
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17617
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17618
310
                   MVT::i64, 2, 1, 0, 
17619
310
    0, 
17620
310
   0,
17621
310
  61, TARGET_VAL(ISD::TargetGlobalTLSAddress),
17622
310
   OPC_MoveParent,
17623
310
   OPC_SwitchType , 24, MVT::i32,
17624
310
    OPC_Scope, 10, 
17625
310
     OPC_CheckPatternPredicate2,
17626
310
     OPC_EmitRegisterI32, Mips::ZERO,
17627
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17628
310
                   MVT::i32, 2, 1, 0, 
17629
310
    10, 
17630
310
     OPC_CheckPatternPredicate4,
17631
310
     OPC_EmitRegisterI32, Mips::ZERO,
17632
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17633
310
                   MVT::i32, 2, 1, 0, 
17634
310
    0, 
17635
310
   30, MVT::i64,
17636
310
    OPC_Scope, 13, 
17637
310
     OPC_CheckPatternPredicate, 22,
17638
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17639
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17640
310
                   MVT::i64, 2, 1, 0, 
17641
310
    13, 
17642
310
     OPC_CheckPatternPredicate, 11,
17643
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17644
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17645
310
                   MVT::i64, 2, 1, 0, 
17646
310
    0, 
17647
310
   0,
17648
310
  61, TARGET_VAL(ISD::TargetExternalSymbol),
17649
310
   OPC_MoveParent,
17650
310
   OPC_SwitchType , 24, MVT::i32,
17651
310
    OPC_Scope, 10, 
17652
310
     OPC_CheckPatternPredicate2,
17653
310
     OPC_EmitRegisterI32, Mips::ZERO,
17654
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17655
310
                   MVT::i32, 2, 1, 0, 
17656
310
    10, 
17657
310
     OPC_CheckPatternPredicate4,
17658
310
     OPC_EmitRegisterI32, Mips::ZERO,
17659
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17660
310
                   MVT::i32, 2, 1, 0, 
17661
310
    0, 
17662
310
   30, MVT::i64,
17663
310
    OPC_Scope, 13, 
17664
310
     OPC_CheckPatternPredicate, 22,
17665
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17666
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17667
310
                   MVT::i64, 2, 1, 0, 
17668
310
    13, 
17669
310
     OPC_CheckPatternPredicate, 11,
17670
310
     OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17671
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17672
310
                   MVT::i64, 2, 1, 0, 
17673
310
    0, 
17674
310
   0,
17675
310
  0,
17676
310
 76, TARGET_VAL(MipsISD::GotHi),
17677
310
  OPC_RecordChild0,
17678
310
  OPC_MoveChild0,
17679
310
  OPC_SwitchOpcode , 33, TARGET_VAL(ISD::TargetGlobalAddress),
17680
310
   OPC_MoveParent,
17681
310
   OPC_SwitchType , 18, MVT::i32,
17682
310
    OPC_Scope, 7, 
17683
310
     OPC_CheckPatternPredicate2,
17684
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17685
310
                   MVT::i32, 1, 0, 
17686
310
    7, 
17687
310
     OPC_CheckPatternPredicate4,
17688
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17689
310
                   MVT::i32, 1, 0, 
17690
310
    0, 
17691
310
   8, MVT::i64,
17692
310
    OPC_CheckPatternPredicate, 12,
17693
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17694
310
                  MVT::i64, 1, 0, 
17695
310
   0,
17696
310
  33, TARGET_VAL(ISD::TargetExternalSymbol),
17697
310
   OPC_MoveParent,
17698
310
   OPC_SwitchType , 18, MVT::i32,
17699
310
    OPC_Scope, 7, 
17700
310
     OPC_CheckPatternPredicate2,
17701
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17702
310
                   MVT::i32, 1, 0, 
17703
310
    7, 
17704
310
     OPC_CheckPatternPredicate4,
17705
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17706
310
                   MVT::i32, 1, 0, 
17707
310
    0, 
17708
310
   8, MVT::i64,
17709
310
    OPC_CheckPatternPredicate, 12,
17710
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17711
310
                  MVT::i64, 1, 0, 
17712
310
   0,
17713
310
  0,
17714
310
 55, TARGET_VAL(MipsISD::TlsHi),
17715
310
  OPC_RecordChild0,
17716
310
  OPC_MoveChild0,
17717
310
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
17718
310
  OPC_MoveParent,
17719
310
  OPC_SwitchType , 35, MVT::i32,
17720
310
   OPC_Scope, 7, 
17721
310
    OPC_CheckPatternPredicate2,
17722
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
17723
310
                  MVT::i32, 1, 0, 
17724
310
   7, 
17725
310
    OPC_CheckPatternPredicate4,
17726
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
17727
310
                  MVT::i32, 1, 0, 
17728
310
   16, 
17729
310
    OPC_CheckPatternPredicate5,
17730
310
    OPC_EmitNode1None, TARGET_VAL(Mips::LiRxImmX16),
17731
310
                  MVT::i32, 1, 0, 
17732
310
    OPC_EmitInteger32, 32, 
17733
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SllX16),
17734
310
                  MVT::i32, 2, 1, 2, 
17735
310
   0, 
17736
310
  8, MVT::i64,
17737
310
   OPC_CheckPatternPredicate, 12,
17738
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17739
310
                 MVT::i64, 1, 0, 
17740
310
  0,
17741
310
 1|128,2, TARGET_VAL(MipsISD::Wrapper),
17742
310
  OPC_RecordChild0,
17743
310
  OPC_RecordChild1,
17744
310
  OPC_MoveChild1,
17745
310
  OPC_SwitchOpcode , 45, TARGET_VAL(ISD::TargetGlobalAddress),
17746
310
   OPC_MoveParent,
17747
310
   OPC_SwitchType , 29, MVT::i32,
17748
310
    OPC_Scope, 8, 
17749
310
     OPC_CheckPatternPredicate2,
17750
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17751
310
                   MVT::i32, 2, 0, 1, 
17752
310
    8, 
17753
310
     OPC_CheckPatternPredicate5,
17754
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
17755
310
                   MVT::i32, 2, 0, 1, 
17756
310
    8, 
17757
310
     OPC_CheckPatternPredicate4,
17758
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17759
310
                   MVT::i32, 2, 0, 1, 
17760
310
    0, 
17761
310
   9, MVT::i64,
17762
310
    OPC_CheckPatternPredicate, 12,
17763
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17764
310
                  MVT::i64, 2, 0, 1, 
17765
310
   0,
17766
310
  36, TARGET_VAL(ISD::TargetConstantPool),
17767
310
   OPC_MoveParent,
17768
310
   OPC_SwitchType , 20, MVT::i32,
17769
310
    OPC_Scope, 8, 
17770
310
     OPC_CheckPatternPredicate2,
17771
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17772
310
                   MVT::i32, 2, 0, 1, 
17773
310
    8, 
17774
310
     OPC_CheckPatternPredicate4,
17775
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17776
310
                   MVT::i32, 2, 0, 1, 
17777
310
    0, 
17778
310
   9, MVT::i64,
17779
310
    OPC_CheckPatternPredicate, 12,
17780
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17781
310
                  MVT::i64, 2, 0, 1, 
17782
310
   0,
17783
310
  36, TARGET_VAL(ISD::TargetExternalSymbol),
17784
310
   OPC_MoveParent,
17785
310
   OPC_SwitchType , 20, MVT::i32,
17786
310
    OPC_Scope, 8, 
17787
310
     OPC_CheckPatternPredicate2,
17788
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17789
310
                   MVT::i32, 2, 0, 1, 
17790
310
    8, 
17791
310
     OPC_CheckPatternPredicate4,
17792
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17793
310
                   MVT::i32, 2, 0, 1, 
17794
310
    0, 
17795
310
   9, MVT::i64,
17796
310
    OPC_CheckPatternPredicate, 12,
17797
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17798
310
                  MVT::i64, 2, 0, 1, 
17799
310
   0,
17800
310
  36, TARGET_VAL(ISD::TargetBlockAddress),
17801
310
   OPC_MoveParent,
17802
310
   OPC_SwitchType , 20, MVT::i32,
17803
310
    OPC_Scope, 8, 
17804
310
     OPC_CheckPatternPredicate2,
17805
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17806
310
                   MVT::i32, 2, 0, 1, 
17807
310
    8, 
17808
310
     OPC_CheckPatternPredicate4,
17809
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17810
310
                   MVT::i32, 2, 0, 1, 
17811
310
    0, 
17812
310
   9, MVT::i64,
17813
310
    OPC_CheckPatternPredicate, 12,
17814
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17815
310
                  MVT::i64, 2, 0, 1, 
17816
310
   0,
17817
310
  36, TARGET_VAL(ISD::TargetJumpTable),
17818
310
   OPC_MoveParent,
17819
310
   OPC_SwitchType , 20, MVT::i32,
17820
310
    OPC_Scope, 8, 
17821
310
     OPC_CheckPatternPredicate2,
17822
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17823
310
                   MVT::i32, 2, 0, 1, 
17824
310
    8, 
17825
310
     OPC_CheckPatternPredicate4,
17826
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17827
310
                   MVT::i32, 2, 0, 1, 
17828
310
    0, 
17829
310
   9, MVT::i64,
17830
310
    OPC_CheckPatternPredicate, 12,
17831
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17832
310
                  MVT::i64, 2, 0, 1, 
17833
310
   0,
17834
310
  45, TARGET_VAL(ISD::TargetGlobalTLSAddress),
17835
310
   OPC_MoveParent,
17836
310
   OPC_SwitchType , 29, MVT::i32,
17837
310
    OPC_Scope, 8, 
17838
310
     OPC_CheckPatternPredicate2,
17839
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
17840
310
                   MVT::i32, 2, 0, 1, 
17841
310
    8, 
17842
310
     OPC_CheckPatternPredicate5,
17843
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
17844
310
                   MVT::i32, 2, 0, 1, 
17845
310
    8, 
17846
310
     OPC_CheckPatternPredicate4,
17847
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
17848
310
                   MVT::i32, 2, 0, 1, 
17849
310
    0, 
17850
310
   9, MVT::i64,
17851
310
    OPC_CheckPatternPredicate, 12,
17852
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17853
310
                  MVT::i64, 2, 0, 1, 
17854
310
   0,
17855
310
  0,
17856
310
 120, TARGET_VAL(MipsISD::FPCmp),
17857
310
  OPC_RecordChild0,
17858
310
  OPC_Scope, 35, 
17859
310
   OPC_CheckChild0Type, MVT::f32,
17860
310
   OPC_RecordChild1,
17861
310
   OPC_RecordChild2,
17862
310
   OPC_MoveChild2,
17863
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17864
310
   OPC_MoveParent,
17865
310
   OPC_Scope, 11, 
17866
310
    OPC_CheckPatternPredicate, 65,
17867
310
    OPC_EmitConvertToTarget2,
17868
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32),
17869
310
                  MVT::i32, 3, 0, 1, 3, 
17870
310
   11, 
17871
310
    OPC_CheckPatternPredicate, 31,
17872
310
    OPC_EmitConvertToTarget2,
17873
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32_MM),
17874
310
                  MVT::i32, 3, 0, 1, 3, 
17875
310
   0, 
17876
310
  47, 
17877
310
   OPC_CheckChild0Type, MVT::f64,
17878
310
   OPC_RecordChild1,
17879
310
   OPC_RecordChild2,
17880
310
   OPC_MoveChild2,
17881
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17882
310
   OPC_MoveParent,
17883
310
   OPC_Scope, 11, 
17884
310
    OPC_CheckPatternPredicate, 120,
17885
310
    OPC_EmitConvertToTarget2,
17886
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D32),
17887
310
                  MVT::i32, 3, 0, 1, 3, 
17888
310
   11, 
17889
310
    OPC_CheckPatternPredicate, 121,
17890
310
    OPC_EmitConvertToTarget2,
17891
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D64),
17892
310
                  MVT::i32, 3, 0, 1, 3, 
17893
310
   11, 
17894
310
    OPC_CheckPatternPredicate, 31,
17895
310
    OPC_EmitConvertToTarget2,
17896
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_D32_MM),
17897
310
                  MVT::i32, 3, 0, 1, 3, 
17898
310
   0, 
17899
310
  32, 
17900
310
   OPC_CheckChild0Type, MVT::f16,
17901
310
   OPC_RecordChild1,
17902
310
   OPC_RecordChild2,
17903
310
   OPC_MoveChild2,
17904
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17905
310
   OPC_MoveParent,
17906
310
   OPC_CheckPatternPredicate, 122,
17907
310
   OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
17908
310
                 MVT::f32, 1, 0, 
17909
310
   OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
17910
310
                 MVT::f32, 1, 1, 
17911
310
   OPC_EmitConvertToTarget2,
17912
310
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::FCMP_S32),
17913
310
                 MVT::i32, 3, 3, 4, 5, 
17914
310
  0, 
17915
310
 31, TARGET_VAL(MipsISD::ExtractElementF64),
17916
310
  OPC_RecordChild0,
17917
310
  OPC_RecordChild1,
17918
310
  OPC_MoveChild1,
17919
310
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
17920
310
  OPC_MoveParent,
17921
310
  OPC_Scope, 10, 
17922
310
   OPC_CheckPatternPredicate, 97,
17923
310
   OPC_EmitConvertToTarget1,
17924
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ExtractElementF64),
17925
310
                 MVT::i32, 2, 0, 2, 
17926
310
  10, 
17927
310
   OPC_CheckPatternPredicate, 98,
17928
310
   OPC_EmitConvertToTarget1,
17929
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ExtractElementF64_64),
17930
310
                 MVT::i32, 2, 0, 2, 
17931
310
  0, 
17932
310
 69, TARGET_VAL(MipsISD::Highest),
17933
310
  OPC_RecordChild0,
17934
310
  OPC_MoveChild0,
17935
310
  OPC_SwitchOpcode , 10, TARGET_VAL(ISD::TargetGlobalAddress),
17936
310
   OPC_MoveParent,
17937
310
   OPC_CheckTypeI64,
17938
310
   OPC_CheckPatternPredicate, 11,
17939
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17940
310
                 MVT::i64, 1, 0, 
17941
310
  10, TARGET_VAL(ISD::TargetBlockAddress),
17942
310
   OPC_MoveParent,
17943
310
   OPC_CheckTypeI64,
17944
310
   OPC_CheckPatternPredicate, 11,
17945
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17946
310
                 MVT::i64, 1, 0, 
17947
310
  10, TARGET_VAL(ISD::TargetJumpTable),
17948
310
   OPC_MoveParent,
17949
310
   OPC_CheckTypeI64,
17950
310
   OPC_CheckPatternPredicate, 11,
17951
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17952
310
                 MVT::i64, 1, 0, 
17953
310
  10, TARGET_VAL(ISD::TargetConstantPool),
17954
310
   OPC_MoveParent,
17955
310
   OPC_CheckTypeI64,
17956
310
   OPC_CheckPatternPredicate, 11,
17957
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17958
310
                 MVT::i64, 1, 0, 
17959
310
  10, TARGET_VAL(ISD::TargetExternalSymbol),
17960
310
   OPC_MoveParent,
17961
310
   OPC_CheckTypeI64,
17962
310
   OPC_CheckPatternPredicate, 11,
17963
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
17964
310
                 MVT::i64, 1, 0, 
17965
310
  0,
17966
310
 94, TARGET_VAL(MipsISD::Higher),
17967
310
  OPC_RecordChild0,
17968
310
  OPC_MoveChild0,
17969
310
  OPC_SwitchOpcode , 15, TARGET_VAL(ISD::TargetGlobalAddress),
17970
310
   OPC_MoveParent,
17971
310
   OPC_CheckTypeI64,
17972
310
   OPC_CheckPatternPredicate, 11,
17973
310
   OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17974
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17975
310
                 MVT::i64, 2, 1, 0, 
17976
310
  15, TARGET_VAL(ISD::TargetBlockAddress),
17977
310
   OPC_MoveParent,
17978
310
   OPC_CheckTypeI64,
17979
310
   OPC_CheckPatternPredicate, 11,
17980
310
   OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17981
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17982
310
                 MVT::i64, 2, 1, 0, 
17983
310
  15, TARGET_VAL(ISD::TargetJumpTable),
17984
310
   OPC_MoveParent,
17985
310
   OPC_CheckTypeI64,
17986
310
   OPC_CheckPatternPredicate, 11,
17987
310
   OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17988
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17989
310
                 MVT::i64, 2, 1, 0, 
17990
310
  15, TARGET_VAL(ISD::TargetConstantPool),
17991
310
   OPC_MoveParent,
17992
310
   OPC_CheckTypeI64,
17993
310
   OPC_CheckPatternPredicate, 11,
17994
310
   OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
17995
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
17996
310
                 MVT::i64, 2, 1, 0, 
17997
310
  15, TARGET_VAL(ISD::TargetExternalSymbol),
17998
310
   OPC_MoveParent,
17999
310
   OPC_CheckTypeI64,
18000
310
   OPC_CheckPatternPredicate, 11,
18001
310
   OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18002
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18003
310
                 MVT::i64, 2, 1, 0, 
18004
310
  0,
18005
310
 115|128,2, TARGET_VAL(ISD::Constant),
18006
310
  OPC_RecordNode,
18007
310
  OPC_Scope, 14, 
18008
310
   OPC_CheckPredicate, 37,
18009
310
   OPC_CheckTypeI32,
18010
310
   OPC_CheckPatternPredicate2,
18011
310
   OPC_EmitConvertToTarget0,
18012
310
   OPC_EmitNodeXForm, 5, 1,
18013
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi),
18014
310
                 MVT::i32, 1, 2, 
18015
310
  14, 
18016
310
   OPC_CheckPredicate, 35,
18017
310
   OPC_CheckTypeI32,
18018
310
   OPC_CheckPatternPredicate2,
18019
310
   OPC_EmitRegisterI32, Mips::ZERO,
18020
310
   OPC_EmitConvertToTarget0,
18021
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
18022
310
                 MVT::i32, 2, 1, 2, 
18023
310
  13, 
18024
310
   OPC_CheckPredicate7, 
18025
310
   OPC_CheckTypeI32,
18026
310
   OPC_CheckPatternPredicate2,
18027
310
   OPC_EmitRegisterI32, Mips::ZERO,
18028
310
   OPC_EmitConvertToTarget0,
18029
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu),
18030
310
                 MVT::i32, 2, 1, 2, 
18031
310
  15, 
18032
310
   OPC_CheckPredicate, 37,
18033
310
   OPC_CheckTypeI64,
18034
310
   OPC_CheckPatternPredicate, 12,
18035
310
   OPC_EmitConvertToTarget0,
18036
310
   OPC_EmitNodeXForm, 5, 1,
18037
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi64),
18038
310
                 MVT::i64, 1, 2, 
18039
310
  17, 
18040
310
   OPC_CheckPredicate, 35,
18041
310
   OPC_CheckTypeI64,
18042
310
   OPC_CheckPatternPredicate, 12,
18043
310
   OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18044
310
   OPC_EmitConvertToTarget0,
18045
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18046
310
                 MVT::i64, 2, 1, 2, 
18047
310
  16, 
18048
310
   OPC_CheckPredicate7, 
18049
310
   OPC_CheckTypeI64,
18050
310
   OPC_CheckPatternPredicate, 12,
18051
310
   OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18052
310
   OPC_EmitConvertToTarget0,
18053
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DADDiu),
18054
310
                 MVT::i64, 2, 1, 2, 
18055
310
  14, 
18056
310
   OPC_CheckPredicate, 13,
18057
310
   OPC_CheckTypeI32,
18058
310
   OPC_CheckPatternPredicate5,
18059
310
   OPC_EmitConvertToTarget0,
18060
310
   OPC_EmitNodeXForm, 3, 1,
18061
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LiRxImmX16),
18062
310
                 MVT::i32, 1, 2, 
18063
310
  11, 
18064
310
   OPC_CheckPredicate, 63,
18065
310
   OPC_CheckTypeI32,
18066
310
   OPC_CheckPatternPredicate4,
18067
310
   OPC_EmitConvertToTarget0,
18068
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LI16_MM),
18069
310
                 MVT::i32, 1, 1, 
18070
310
  14, 
18071
310
   OPC_CheckPredicate, 37,
18072
310
   OPC_CheckTypeI32,
18073
310
   OPC_CheckPatternPredicate4,
18074
310
   OPC_EmitConvertToTarget0,
18075
310
   OPC_EmitNodeXForm, 5, 1,
18076
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LUi_MM),
18077
310
                 MVT::i32, 1, 2, 
18078
310
  14, 
18079
310
   OPC_CheckPredicate, 35,
18080
310
   OPC_CheckTypeI32,
18081
310
   OPC_CheckPatternPredicate4,
18082
310
   OPC_EmitRegisterI32, Mips::ZERO,
18083
310
   OPC_EmitConvertToTarget0,
18084
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
18085
310
                 MVT::i32, 2, 1, 2, 
18086
310
  13, 
18087
310
   OPC_CheckPredicate7, 
18088
310
   OPC_CheckTypeI32,
18089
310
   OPC_CheckPatternPredicate4,
18090
310
   OPC_EmitRegisterI32, Mips::ZERO,
18091
310
   OPC_EmitConvertToTarget0,
18092
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ADDiu_MM),
18093
310
                 MVT::i32, 2, 1, 2, 
18094
310
  17, 
18095
310
   OPC_CheckPredicate, 13,
18096
310
   OPC_CheckTypeI32,
18097
310
   OPC_CheckPatternPredicate7,
18098
310
   OPC_EmitRegisterI32, Mips::ZERO,
18099
310
   OPC_EmitConvertToTarget0,
18100
310
   OPC_EmitNodeXForm, 3, 2,
18101
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::XORI_MMR6),
18102
310
                 MVT::i32, 2, 1, 3, 
18103
310
  53, 
18104
310
   OPC_CheckPredicate, 42,
18105
310
   OPC_SwitchType , 22, MVT::i32,
18106
310
    OPC_CheckPatternPredicate2,
18107
310
    OPC_EmitConvertToTarget0,
18108
310
    OPC_EmitNodeXForm, 5, 1,
18109
310
    OPC_EmitNode1None, TARGET_VAL(Mips::LUi),
18110
310
                  MVT::i32, 1, 2, 
18111
310
    OPC_EmitConvertToTarget0,
18112
310
    OPC_EmitNodeXForm, 3, 4,
18113
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi),
18114
310
                  MVT::i32, 2, 3, 5, 
18115
310
   23, MVT::i64,
18116
310
    OPC_CheckPatternPredicate, 12,
18117
310
    OPC_EmitConvertToTarget0,
18118
310
    OPC_EmitNodeXForm, 5, 1,
18119
310
    OPC_EmitNode1None, TARGET_VAL(Mips::LUi64),
18120
310
                  MVT::i64, 1, 2, 
18121
310
    OPC_EmitConvertToTarget0,
18122
310
    OPC_EmitNodeXForm, 3, 4,
18123
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18124
310
                  MVT::i64, 2, 3, 5, 
18125
310
   0,
18126
310
  29, 
18127
310
   OPC_CheckPredicate, 58,
18128
310
   OPC_CheckTypeI64,
18129
310
   OPC_CheckPatternPredicate, 12,
18130
310
   OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18131
310
   OPC_EmitConvertToTarget0,
18132
310
   OPC_EmitNodeXForm, 5, 2,
18133
310
   OPC_EmitNode1None, TARGET_VAL(Mips::ORi64),
18134
310
                 MVT::i64, 2, 1, 3, 
18135
310
   OPC_EmitInteger32, 32, 
18136
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSLL),
18137
310
                 MVT::i64, 2, 4, 5, 
18138
310
  19, 
18139
310
   OPC_CheckPredicate7, 
18140
310
   OPC_CheckTypeI32,
18141
310
   OPC_CheckPatternPredicate5,
18142
310
   OPC_EmitRegisterI32, Mips::ZERO,
18143
310
   OPC_EmitNode1None, TARGET_VAL(Mips::MoveR3216),
18144
310
                 MVT::i32, 1, 1, 
18145
310
   OPC_EmitConvertToTarget0,
18146
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::AddiuRxRxImmX16),
18147
310
                 MVT::i32, 2, 2, 3, 
18148
310
  25, 
18149
310
   OPC_CheckPredicate, 42,
18150
310
   OPC_CheckTypeI32,
18151
310
   OPC_CheckPatternPredicate4,
18152
310
   OPC_EmitConvertToTarget0,
18153
310
   OPC_EmitNodeXForm, 5, 1,
18154
310
   OPC_EmitNode1None, TARGET_VAL(Mips::LUi_MM),
18155
310
                 MVT::i32, 1, 2, 
18156
310
   OPC_EmitConvertToTarget0,
18157
310
   OPC_EmitNodeXForm, 3, 4,
18158
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi_MM),
18159
310
                 MVT::i32, 2, 3, 5, 
18160
310
  40, 
18161
310
   OPC_CheckPredicate, 53,
18162
310
   OPC_CheckTypeI64,
18163
310
   OPC_CheckPatternPredicate, 12,
18164
310
   OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
18165
310
   OPC_EmitConvertToTarget0,
18166
310
   OPC_EmitNodeXForm, 5, 2,
18167
310
   OPC_EmitNode1None, TARGET_VAL(Mips::ORi64),
18168
310
                 MVT::i64, 2, 1, 3, 
18169
310
   OPC_EmitInteger32, 32, 
18170
310
   OPC_EmitNode1None, TARGET_VAL(Mips::DSLL),
18171
310
                 MVT::i64, 2, 4, 5, 
18172
310
   OPC_EmitConvertToTarget0,
18173
310
   OPC_EmitNodeXForm, 3, 7,
18174
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ORi64),
18175
310
                 MVT::i64, 2, 6, 8, 
18176
310
  12, 
18177
310
   OPC_CheckTypeI32,
18178
310
   OPC_CheckPatternPredicate5,
18179
310
   OPC_EmitConvertToTarget0,
18180
310
   OPC_EmitInteger32, 3, 
18181
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::LwConstant32),
18182
310
                 MVT::i32, 2, 1, 2, 
18183
310
  0, 
18184
310
 109, TARGET_VAL(ISD::BRIND),
18185
310
  OPC_RecordNode,
18186
310
  OPC_RecordChild1,
18187
310
  OPC_Scope, 64, 
18188
310
   OPC_CheckChild1TypeI32,
18189
310
   OPC_Scope, 7, 
18190
310
    OPC_CheckPatternPredicate5,
18191
310
    OPC_EmitMergeInputChains1_0,
18192
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::JrcRx16),
18193
310
                  1, 1, 
18194
310
   8, 
18195
310
    OPC_CheckPatternPredicate, 91,
18196
310
    OPC_EmitMergeInputChains1_0,
18197
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch),
18198
310
                  1, 1, 
18199
310
   8, 
18200
310
    OPC_CheckPatternPredicate, 123,
18201
310
    OPC_EmitMergeInputChains1_0,
18202
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectHazardBranch),
18203
310
                  1, 1, 
18204
310
   8, 
18205
310
    OPC_CheckPatternPredicate, 92,
18206
310
    OPC_EmitMergeInputChains1_0,
18207
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranchR6),
18208
310
                  1, 1, 
18209
310
   8, 
18210
310
    OPC_CheckPatternPredicate, 93,
18211
310
    OPC_EmitMergeInputChains1_0,
18212
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndrectHazardBranchR6),
18213
310
                  1, 1, 
18214
310
   8, 
18215
310
    OPC_CheckPatternPredicate, 8,
18216
310
    OPC_EmitMergeInputChains1_0,
18217
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch_MM),
18218
310
                  1, 1, 
18219
310
   7, 
18220
310
    OPC_CheckPatternPredicate7,
18221
310
    OPC_EmitMergeInputChains1_0,
18222
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch_MMR6),
18223
310
                  1, 1, 
18224
310
   0, 
18225
310
  39, 
18226
310
   OPC_CheckChild1TypeI64,
18227
310
   OPC_Scope, 8, 
18228
310
    OPC_CheckPatternPredicate, 124,
18229
310
    OPC_EmitMergeInputChains1_0,
18230
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch64),
18231
310
                  1, 1, 
18232
310
   8, 
18233
310
    OPC_CheckPatternPredicate, 94,
18234
310
    OPC_EmitMergeInputChains1_0,
18235
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectHazardBranch64),
18236
310
                  1, 1, 
18237
310
   8, 
18238
310
    OPC_CheckPatternPredicate, 95,
18239
310
    OPC_EmitMergeInputChains1_0,
18240
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndirectBranch64R6),
18241
310
                  1, 1, 
18242
310
   8, 
18243
310
    OPC_CheckPatternPredicate, 96,
18244
310
    OPC_EmitMergeInputChains1_0,
18245
310
    OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::PseudoIndrectHazardBranch64R6),
18246
310
                  1, 1, 
18247
310
   0, 
18248
310
  0, 
18249
310
 65, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
18250
310
  OPC_RecordMemRef,
18251
310
  OPC_RecordNode,
18252
310
  OPC_RecordChild1,
18253
310
  OPC_RecordChild2,
18254
310
  OPC_SwitchType , 42, MVT::i32,
18255
310
   OPC_Scope, 12, 
18256
310
    OPC_CheckPredicate6, 
18257
310
    OPC_CheckPatternPredicate, 10,
18258
310
    OPC_EmitMergeInputChains1_0,
18259
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I8), 0|OPFL_Chain|OPFL_MemRefs,
18260
310
                  MVT::i32, 2, 1, 2, 
18261
310
   12, 
18262
310
    OPC_CheckPredicate4, 
18263
310
    OPC_CheckPatternPredicate, 10,
18264
310
    OPC_EmitMergeInputChains1_0,
18265
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I16), 0|OPFL_Chain|OPFL_MemRefs,
18266
310
                  MVT::i32, 2, 1, 2, 
18267
310
   13, 
18268
310
    OPC_CheckPredicate, 10,
18269
310
    OPC_CheckPatternPredicate, 10,
18270
310
    OPC_EmitMergeInputChains1_0,
18271
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
18272
310
                  MVT::i32, 2, 1, 2, 
18273
310
   0, 
18274
310
  13, MVT::i64,
18275
310
   OPC_CheckPredicate, 16,
18276
310
   OPC_CheckPatternPredicate, 10,
18277
310
   OPC_EmitMergeInputChains1_0,
18278
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
18279
310
                 MVT::i64, 2, 1, 2, 
18280
310
  0,
18281
310
 65, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
18282
310
  OPC_RecordMemRef,
18283
310
  OPC_RecordNode,
18284
310
  OPC_RecordChild1,
18285
310
  OPC_RecordChild2,
18286
310
  OPC_SwitchType , 42, MVT::i32,
18287
310
   OPC_Scope, 12, 
18288
310
    OPC_CheckPredicate6, 
18289
310
    OPC_CheckPatternPredicate, 10,
18290
310
    OPC_EmitMergeInputChains1_0,
18291
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I8), 0|OPFL_Chain|OPFL_MemRefs,
18292
310
                  MVT::i32, 2, 1, 2, 
18293
310
   12, 
18294
310
    OPC_CheckPredicate4, 
18295
310
    OPC_CheckPatternPredicate, 10,
18296
310
    OPC_EmitMergeInputChains1_0,
18297
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I16), 0|OPFL_Chain|OPFL_MemRefs,
18298
310
                  MVT::i32, 2, 1, 2, 
18299
310
   13, 
18300
310
    OPC_CheckPredicate, 10,
18301
310
    OPC_CheckPatternPredicate, 10,
18302
310
    OPC_EmitMergeInputChains1_0,
18303
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
18304
310
                  MVT::i32, 2, 1, 2, 
18305
310
   0, 
18306
310
  13, MVT::i64,
18307
310
   OPC_CheckPredicate, 16,
18308
310
   OPC_CheckPatternPredicate, 10,
18309
310
   OPC_EmitMergeInputChains1_0,
18310
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
18311
310
                 MVT::i64, 2, 1, 2, 
18312
310
  0,
18313
310
 65, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
18314
310
  OPC_RecordMemRef,
18315
310
  OPC_RecordNode,
18316
310
  OPC_RecordChild1,
18317
310
  OPC_RecordChild2,
18318
310
  OPC_SwitchType , 42, MVT::i32,
18319
310
   OPC_Scope, 12, 
18320
310
    OPC_CheckPredicate6, 
18321
310
    OPC_CheckPatternPredicate, 10,
18322
310
    OPC_EmitMergeInputChains1_0,
18323
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I8), 0|OPFL_Chain|OPFL_MemRefs,
18324
310
                  MVT::i32, 2, 1, 2, 
18325
310
   12, 
18326
310
    OPC_CheckPredicate4, 
18327
310
    OPC_CheckPatternPredicate, 10,
18328
310
    OPC_EmitMergeInputChains1_0,
18329
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I16), 0|OPFL_Chain|OPFL_MemRefs,
18330
310
                  MVT::i32, 2, 1, 2, 
18331
310
   13, 
18332
310
    OPC_CheckPredicate, 10,
18333
310
    OPC_CheckPatternPredicate, 10,
18334
310
    OPC_EmitMergeInputChains1_0,
18335
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
18336
310
                  MVT::i32, 2, 1, 2, 
18337
310
   0, 
18338
310
  13, MVT::i64,
18339
310
   OPC_CheckPredicate, 16,
18340
310
   OPC_CheckPatternPredicate, 10,
18341
310
   OPC_EmitMergeInputChains1_0,
18342
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
18343
310
                 MVT::i64, 2, 1, 2, 
18344
310
  0,
18345
310
 65, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
18346
310
  OPC_RecordMemRef,
18347
310
  OPC_RecordNode,
18348
310
  OPC_RecordChild1,
18349
310
  OPC_RecordChild2,
18350
310
  OPC_SwitchType , 42, MVT::i32,
18351
310
   OPC_Scope, 12, 
18352
310
    OPC_CheckPredicate6, 
18353
310
    OPC_CheckPatternPredicate, 10,
18354
310
    OPC_EmitMergeInputChains1_0,
18355
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I8), 0|OPFL_Chain|OPFL_MemRefs,
18356
310
                  MVT::i32, 2, 1, 2, 
18357
310
   12, 
18358
310
    OPC_CheckPredicate4, 
18359
310
    OPC_CheckPatternPredicate, 10,
18360
310
    OPC_EmitMergeInputChains1_0,
18361
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I16), 0|OPFL_Chain|OPFL_MemRefs,
18362
310
                  MVT::i32, 2, 1, 2, 
18363
310
   13, 
18364
310
    OPC_CheckPredicate, 10,
18365
310
    OPC_CheckPatternPredicate, 10,
18366
310
    OPC_EmitMergeInputChains1_0,
18367
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
18368
310
                  MVT::i32, 2, 1, 2, 
18369
310
   0, 
18370
310
  13, MVT::i64,
18371
310
   OPC_CheckPredicate, 16,
18372
310
   OPC_CheckPatternPredicate, 10,
18373
310
   OPC_EmitMergeInputChains1_0,
18374
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
18375
310
                 MVT::i64, 2, 1, 2, 
18376
310
  0,
18377
310
 65, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
18378
310
  OPC_RecordMemRef,
18379
310
  OPC_RecordNode,
18380
310
  OPC_RecordChild1,
18381
310
  OPC_RecordChild2,
18382
310
  OPC_SwitchType , 42, MVT::i32,
18383
310
   OPC_Scope, 12, 
18384
310
    OPC_CheckPredicate6, 
18385
310
    OPC_CheckPatternPredicate, 10,
18386
310
    OPC_EmitMergeInputChains1_0,
18387
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I8), 0|OPFL_Chain|OPFL_MemRefs,
18388
310
                  MVT::i32, 2, 1, 2, 
18389
310
   12, 
18390
310
    OPC_CheckPredicate4, 
18391
310
    OPC_CheckPatternPredicate, 10,
18392
310
    OPC_EmitMergeInputChains1_0,
18393
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I16), 0|OPFL_Chain|OPFL_MemRefs,
18394
310
                  MVT::i32, 2, 1, 2, 
18395
310
   13, 
18396
310
    OPC_CheckPredicate, 10,
18397
310
    OPC_CheckPatternPredicate, 10,
18398
310
    OPC_EmitMergeInputChains1_0,
18399
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
18400
310
                  MVT::i32, 2, 1, 2, 
18401
310
   0, 
18402
310
  13, MVT::i64,
18403
310
   OPC_CheckPredicate, 16,
18404
310
   OPC_CheckPatternPredicate, 10,
18405
310
   OPC_EmitMergeInputChains1_0,
18406
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
18407
310
                 MVT::i64, 2, 1, 2, 
18408
310
  0,
18409
310
 65, TARGET_VAL(ISD::ATOMIC_LOAD_NAND),
18410
310
  OPC_RecordMemRef,
18411
310
  OPC_RecordNode,
18412
310
  OPC_RecordChild1,
18413
310
  OPC_RecordChild2,
18414
310
  OPC_SwitchType , 42, MVT::i32,
18415
310
   OPC_Scope, 12, 
18416
310
    OPC_CheckPredicate6, 
18417
310
    OPC_CheckPatternPredicate, 10,
18418
310
    OPC_EmitMergeInputChains1_0,
18419
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I8), 0|OPFL_Chain|OPFL_MemRefs,
18420
310
                  MVT::i32, 2, 1, 2, 
18421
310
   12, 
18422
310
    OPC_CheckPredicate4, 
18423
310
    OPC_CheckPatternPredicate, 10,
18424
310
    OPC_EmitMergeInputChains1_0,
18425
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I16), 0|OPFL_Chain|OPFL_MemRefs,
18426
310
                  MVT::i32, 2, 1, 2, 
18427
310
   13, 
18428
310
    OPC_CheckPredicate, 10,
18429
310
    OPC_CheckPatternPredicate, 10,
18430
310
    OPC_EmitMergeInputChains1_0,
18431
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I32), 0|OPFL_Chain|OPFL_MemRefs,
18432
310
                  MVT::i32, 2, 1, 2, 
18433
310
   0, 
18434
310
  13, MVT::i64,
18435
310
   OPC_CheckPredicate, 16,
18436
310
   OPC_CheckPatternPredicate, 10,
18437
310
   OPC_EmitMergeInputChains1_0,
18438
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_NAND_I64), 0|OPFL_Chain|OPFL_MemRefs,
18439
310
                 MVT::i64, 2, 1, 2, 
18440
310
  0,
18441
310
 65, TARGET_VAL(ISD::ATOMIC_SWAP),
18442
310
  OPC_RecordMemRef,
18443
310
  OPC_RecordNode,
18444
310
  OPC_RecordChild1,
18445
310
  OPC_RecordChild2,
18446
310
  OPC_SwitchType , 42, MVT::i32,
18447
310
   OPC_Scope, 12, 
18448
310
    OPC_CheckPredicate6, 
18449
310
    OPC_CheckPatternPredicate, 10,
18450
310
    OPC_EmitMergeInputChains1_0,
18451
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
18452
310
                  MVT::i32, 2, 1, 2, 
18453
310
   12, 
18454
310
    OPC_CheckPredicate4, 
18455
310
    OPC_CheckPatternPredicate, 10,
18456
310
    OPC_EmitMergeInputChains1_0,
18457
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
18458
310
                  MVT::i32, 2, 1, 2, 
18459
310
   13, 
18460
310
    OPC_CheckPredicate, 10,
18461
310
    OPC_CheckPatternPredicate, 10,
18462
310
    OPC_EmitMergeInputChains1_0,
18463
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
18464
310
                  MVT::i32, 2, 1, 2, 
18465
310
   0, 
18466
310
  13, MVT::i64,
18467
310
   OPC_CheckPredicate, 16,
18468
310
   OPC_CheckPatternPredicate, 10,
18469
310
   OPC_EmitMergeInputChains1_0,
18470
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
18471
310
                 MVT::i64, 2, 1, 2, 
18472
310
  0,
18473
310
 70, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
18474
310
  OPC_RecordMemRef,
18475
310
  OPC_RecordNode,
18476
310
  OPC_RecordChild1,
18477
310
  OPC_RecordChild2,
18478
310
  OPC_RecordChild3,
18479
310
  OPC_SwitchType , 45, MVT::i32,
18480
310
   OPC_Scope, 13, 
18481
310
    OPC_CheckPredicate6, 
18482
310
    OPC_CheckPatternPredicate, 10,
18483
310
    OPC_EmitMergeInputChains1_0,
18484
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I8), 0|OPFL_Chain|OPFL_MemRefs,
18485
310
                  MVT::i32, 3, 1, 2, 3, 
18486
310
   13, 
18487
310
    OPC_CheckPredicate4, 
18488
310
    OPC_CheckPatternPredicate, 10,
18489
310
    OPC_EmitMergeInputChains1_0,
18490
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I16), 0|OPFL_Chain|OPFL_MemRefs,
18491
310
                  MVT::i32, 3, 1, 2, 3, 
18492
310
   14, 
18493
310
    OPC_CheckPredicate, 10,
18494
310
    OPC_CheckPatternPredicate, 10,
18495
310
    OPC_EmitMergeInputChains1_0,
18496
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I32), 0|OPFL_Chain|OPFL_MemRefs,
18497
310
                  MVT::i32, 3, 1, 2, 3, 
18498
310
   0, 
18499
310
  14, MVT::i64,
18500
310
   OPC_CheckPredicate, 16,
18501
310
   OPC_CheckPatternPredicate, 10,
18502
310
   OPC_EmitMergeInputChains1_0,
18503
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_CMP_SWAP_I64), 0|OPFL_Chain|OPFL_MemRefs,
18504
310
                 MVT::i64, 3, 1, 2, 3, 
18505
310
  0,
18506
310
 65, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),
18507
310
  OPC_RecordMemRef,
18508
310
  OPC_RecordNode,
18509
310
  OPC_RecordChild1,
18510
310
  OPC_RecordChild2,
18511
310
  OPC_SwitchType , 42, MVT::i32,
18512
310
   OPC_Scope, 12, 
18513
310
    OPC_CheckPredicate6, 
18514
310
    OPC_CheckPatternPredicate, 10,
18515
310
    OPC_EmitMergeInputChains1_0,
18516
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
18517
310
                  MVT::i32, 2, 1, 2, 
18518
310
   12, 
18519
310
    OPC_CheckPredicate4, 
18520
310
    OPC_CheckPatternPredicate, 10,
18521
310
    OPC_EmitMergeInputChains1_0,
18522
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
18523
310
                  MVT::i32, 2, 1, 2, 
18524
310
   13, 
18525
310
    OPC_CheckPredicate, 10,
18526
310
    OPC_CheckPatternPredicate, 10,
18527
310
    OPC_EmitMergeInputChains1_0,
18528
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
18529
310
                  MVT::i32, 2, 1, 2, 
18530
310
   0, 
18531
310
  13, MVT::i64,
18532
310
   OPC_CheckPredicate, 16,
18533
310
   OPC_CheckPatternPredicate, 10,
18534
310
   OPC_EmitMergeInputChains1_0,
18535
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
18536
310
                 MVT::i64, 2, 1, 2, 
18537
310
  0,
18538
310
 65, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),
18539
310
  OPC_RecordMemRef,
18540
310
  OPC_RecordNode,
18541
310
  OPC_RecordChild1,
18542
310
  OPC_RecordChild2,
18543
310
  OPC_SwitchType , 42, MVT::i32,
18544
310
   OPC_Scope, 12, 
18545
310
    OPC_CheckPredicate6, 
18546
310
    OPC_CheckPatternPredicate, 10,
18547
310
    OPC_EmitMergeInputChains1_0,
18548
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
18549
310
                  MVT::i32, 2, 1, 2, 
18550
310
   12, 
18551
310
    OPC_CheckPredicate4, 
18552
310
    OPC_CheckPatternPredicate, 10,
18553
310
    OPC_EmitMergeInputChains1_0,
18554
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
18555
310
                  MVT::i32, 2, 1, 2, 
18556
310
   13, 
18557
310
    OPC_CheckPredicate, 10,
18558
310
    OPC_CheckPatternPredicate, 10,
18559
310
    OPC_EmitMergeInputChains1_0,
18560
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
18561
310
                  MVT::i32, 2, 1, 2, 
18562
310
   0, 
18563
310
  13, MVT::i64,
18564
310
   OPC_CheckPredicate, 16,
18565
310
   OPC_CheckPatternPredicate, 10,
18566
310
   OPC_EmitMergeInputChains1_0,
18567
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_MAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
18568
310
                 MVT::i64, 2, 1, 2, 
18569
310
  0,
18570
310
 65, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),
18571
310
  OPC_RecordMemRef,
18572
310
  OPC_RecordNode,
18573
310
  OPC_RecordChild1,
18574
310
  OPC_RecordChild2,
18575
310
  OPC_SwitchType , 42, MVT::i32,
18576
310
   OPC_Scope, 12, 
18577
310
    OPC_CheckPredicate6, 
18578
310
    OPC_CheckPatternPredicate, 10,
18579
310
    OPC_EmitMergeInputChains1_0,
18580
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I8), 0|OPFL_Chain|OPFL_MemRefs,
18581
310
                  MVT::i32, 2, 1, 2, 
18582
310
   12, 
18583
310
    OPC_CheckPredicate4, 
18584
310
    OPC_CheckPatternPredicate, 10,
18585
310
    OPC_EmitMergeInputChains1_0,
18586
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I16), 0|OPFL_Chain|OPFL_MemRefs,
18587
310
                  MVT::i32, 2, 1, 2, 
18588
310
   13, 
18589
310
    OPC_CheckPredicate, 10,
18590
310
    OPC_CheckPatternPredicate, 10,
18591
310
    OPC_EmitMergeInputChains1_0,
18592
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I32), 0|OPFL_Chain|OPFL_MemRefs,
18593
310
                  MVT::i32, 2, 1, 2, 
18594
310
   0, 
18595
310
  13, MVT::i64,
18596
310
   OPC_CheckPredicate, 16,
18597
310
   OPC_CheckPatternPredicate, 10,
18598
310
   OPC_EmitMergeInputChains1_0,
18599
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMIN_I64), 0|OPFL_Chain|OPFL_MemRefs,
18600
310
                 MVT::i64, 2, 1, 2, 
18601
310
  0,
18602
310
 65, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),
18603
310
  OPC_RecordMemRef,
18604
310
  OPC_RecordNode,
18605
310
  OPC_RecordChild1,
18606
310
  OPC_RecordChild2,
18607
310
  OPC_SwitchType , 42, MVT::i32,
18608
310
   OPC_Scope, 12, 
18609
310
    OPC_CheckPredicate6, 
18610
310
    OPC_CheckPatternPredicate, 10,
18611
310
    OPC_EmitMergeInputChains1_0,
18612
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I8), 0|OPFL_Chain|OPFL_MemRefs,
18613
310
                  MVT::i32, 2, 1, 2, 
18614
310
   12, 
18615
310
    OPC_CheckPredicate4, 
18616
310
    OPC_CheckPatternPredicate, 10,
18617
310
    OPC_EmitMergeInputChains1_0,
18618
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I16), 0|OPFL_Chain|OPFL_MemRefs,
18619
310
                  MVT::i32, 2, 1, 2, 
18620
310
   13, 
18621
310
    OPC_CheckPredicate, 10,
18622
310
    OPC_CheckPatternPredicate, 10,
18623
310
    OPC_EmitMergeInputChains1_0,
18624
310
    OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I32), 0|OPFL_Chain|OPFL_MemRefs,
18625
310
                  MVT::i32, 2, 1, 2, 
18626
310
   0, 
18627
310
  13, MVT::i64,
18628
310
   OPC_CheckPredicate, 16,
18629
310
   OPC_CheckPatternPredicate, 10,
18630
310
   OPC_EmitMergeInputChains1_0,
18631
310
   OPC_MorphNodeTo1, TARGET_VAL(Mips::ATOMIC_LOAD_UMAX_I64), 0|OPFL_Chain|OPFL_MemRefs,
18632
310
                 MVT::i64, 2, 1, 2, 
18633
310
  0,
18634
310
 21, TARGET_VAL(MipsISD::Ret),
18635
310
  OPC_RecordNode,
18636
310
  OPC_CaptureGlueInput,
18637
310
  OPC_Scope, 8, 
18638
310
   OPC_CheckPatternPredicate, 10,
18639
310
   OPC_EmitMergeInputChains1_0,
18640
310
   OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
18641
310
                 0, 
18642
310
  7, 
18643
310
   OPC_CheckPatternPredicate5,
18644
310
   OPC_EmitMergeInputChains1_0,
18645
310
   OPC_MorphNodeTo0, TARGET_VAL(Mips::RetRA16), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
18646
310
                 0, 
18647
310
  0, 
18648
310
 10, TARGET_VAL(MipsISD::ERet),
18649
310
  OPC_RecordNode,
18650
310
  OPC_CaptureGlueInput,
18651
310
  OPC_CheckPatternPredicate, 10,
18652
310
  OPC_EmitMergeInputChains1_0,
18653
310
  OPC_MorphNodeTo0, TARGET_VAL(Mips::ERet), 0|OPFL_Chain|OPFL_GlueInput,
18654
310
                0, 
18655
310
 23|128,1, TARGET_VAL(ISD::MUL),
18656
310
  OPC_RecordChild0,
18657
310
  OPC_RecordChild1,
18658
310
  OPC_SwitchType , 69, MVT::i32,
18659
310
   OPC_Scope, 10, 
18660
310
    OPC_CheckPatternPredicate, 53,
18661
310
    OPC_MorphNodeTo2None, TARGET_VAL(Mips::MUL),
18662
310
                  MVT::i32, MVT::i32, 2, 0, 1, 
18663
310
   9, 
18664
310
    OPC_CheckPatternPredicate, 15,
18665
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_R6),
18666
310
                  MVT::i32, 2, 0, 1, 
18667
310
   9, 
18668
310
    OPC_CheckPatternPredicate5,
18669
310
    OPC_MorphNodeTo2None, TARGET_VAL(Mips::MultRxRyRz16),
18670
310
                  MVT::i32, MVT::i32, 2, 0, 1, 
18671
310
   10, 
18672
310
    OPC_CheckPatternPredicate, 8,
18673
310
    OPC_MorphNodeTo2None, TARGET_VAL(Mips::MUL_MM),
18674
310
                  MVT::i32, MVT::i32, 2, 0, 1, 
18675
310
   8, 
18676
310
    OPC_CheckPatternPredicate7,
18677
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_MMR6),
18678
310
                  MVT::i32, 2, 0, 1, 
18679
310
   15, 
18680
310
    OPC_CheckPatternPredicate, 125,
18681
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoMULT),
18682
310
                  MVT::Untyped, 2, 0, 1, 
18683
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO),
18684
310
                  MVT::i32, 1, 2, 
18685
310
   0, 
18686
310
  23, MVT::i64,
18687
310
   OPC_Scope, 10, 
18688
310
    OPC_CheckPatternPredicate, 25,
18689
310
    OPC_MorphNodeTo2None, TARGET_VAL(Mips::DMUL),
18690
310
                  MVT::i64, MVT::i32, 2, 0, 1, 
18691
310
   9, 
18692
310
    OPC_CheckPatternPredicate, 36,
18693
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUL_R6),
18694
310
                  MVT::i64, 2, 0, 1, 
18695
310
   0, 
18696
310
  9, MVT::v2i16,
18697
310
   OPC_CheckPatternPredicate, 13,
18698
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUL_PH),
18699
310
                 MVT::v2i16, 2, 0, 1, 
18700
310
  8, MVT::v16i8,
18701
310
   OPC_CheckPatternPredicate0,
18702
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_B),
18703
310
                 MVT::v16i8, 2, 0, 1, 
18704
310
  8, MVT::v8i16,
18705
310
   OPC_CheckPatternPredicate0,
18706
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_H),
18707
310
                 MVT::v8i16, 2, 0, 1, 
18708
310
  8, MVT::v4i32,
18709
310
   OPC_CheckPatternPredicate0,
18710
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_W),
18711
310
                 MVT::v4i32, 2, 0, 1, 
18712
310
  8, MVT::v2i64,
18713
310
   OPC_CheckPatternPredicate0,
18714
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULV_D),
18715
310
                 MVT::v2i64, 2, 0, 1, 
18716
310
  0,
18717
310
 24, TARGET_VAL(ISD::TRAP),
18718
310
  OPC_RecordNode,
18719
310
  OPC_Scope, 6, 
18720
310
   OPC_CheckPatternPredicate2,
18721
310
   OPC_EmitMergeInputChains1_0,
18722
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::TRAP),
18723
310
                 0, 
18724
310
  6, 
18725
310
   OPC_CheckPatternPredicate5,
18726
310
   OPC_EmitMergeInputChains1_0,
18727
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::Break16),
18728
310
                 0, 
18729
310
  6, 
18730
310
   OPC_CheckPatternPredicate4,
18731
310
   OPC_EmitMergeInputChains1_0,
18732
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::TRAP_MM),
18733
310
                 0, 
18734
310
  0, 
18735
310
 60, TARGET_VAL(ISD::BR),
18736
310
  OPC_RecordNode,
18737
310
  OPC_RecordChild1,
18738
310
  OPC_MoveChild1,
18739
310
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
18740
310
  OPC_MoveParent,
18741
310
  OPC_Scope, 8, 
18742
310
   OPC_CheckPatternPredicate, 126,
18743
310
   OPC_EmitMergeInputChains1_0,
18744
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::J),
18745
310
                 1, 1, 
18746
310
  7, 
18747
310
   OPC_CheckPatternPredicate2,
18748
310
   OPC_EmitMergeInputChains1_0,
18749
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::B),
18750
310
                 1, 1, 
18751
310
  7, 
18752
310
   OPC_CheckPatternPredicate5,
18753
310
   OPC_EmitMergeInputChains1_0,
18754
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::Bimm16),
18755
310
                 1, 1, 
18756
310
  8, 
18757
310
   OPC_CheckPatternPredicate, 127,
18758
310
   OPC_EmitMergeInputChains1_0,
18759
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::J_MM),
18760
310
                 1, 1, 
18761
310
  8, 
18762
310
   OPC_CheckPatternPredicate, 128,
18763
310
   OPC_EmitMergeInputChains1_0,
18764
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::B_MM),
18765
310
                 1, 1, 
18766
310
  7, 
18767
310
   OPC_CheckPatternPredicate7,
18768
310
   OPC_EmitMergeInputChains1_0,
18769
310
   OPC_MorphNodeTo0Chain, TARGET_VAL(Mips::BC_MMR6),
18770
310
                 1, 1, 
18771
310
  0, 
18772
310
 29, TARGET_VAL(MipsISD::EH_RETURN),
18773
310
  OPC_RecordNode,
18774
310
  OPC_CaptureGlueInput,
18775
310
  OPC_RecordChild1,
18776
310
  OPC_Scope, 11, 
18777
310
   OPC_CheckChild1TypeI32,
18778
310
   OPC_RecordChild2,
18779
310
   OPC_CheckChild2TypeI32,
18780
310
   OPC_EmitMergeInputChains1_0,
18781
310
   OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
18782
310
                 2, 1, 2, 
18783
310
  11, 
18784
310
   OPC_CheckChild1TypeI64,
18785
310
   OPC_RecordChild2,
18786
310
   OPC_CheckChild2TypeI64,
18787
310
   OPC_EmitMergeInputChains1_0,
18788
310
   OPC_MorphNodeTo0, TARGET_VAL(Mips::MIPSeh_return64), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
18789
310
                 2, 1, 2, 
18790
310
  0, 
18791
310
 106, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
18792
310
  OPC_RecordChild0,
18793
310
  OPC_MoveChild1,
18794
310
  OPC_Scope, 44, 
18795
310
   OPC_CheckValueType, MVT::i8,
18796
310
   OPC_MoveParent,
18797
310
   OPC_SwitchType , 27, MVT::i32,
18798
310
    OPC_Scope, 8, 
18799
310
     OPC_CheckPatternPredicate, 41,
18800
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB),
18801
310
                   MVT::i32, 1, 0, 
18802
310
    7, 
18803
310
     OPC_CheckPatternPredicate5,
18804
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SebRx16),
18805
310
                   MVT::i32, 1, 0, 
18806
310
    7, 
18807
310
     OPC_CheckPatternPredicate4,
18808
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB_MM),
18809
310
                   MVT::i32, 1, 0, 
18810
310
    0, 
18811
310
   8, MVT::i64,
18812
310
    OPC_CheckPatternPredicate, 99,
18813
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEB64),
18814
310
                  MVT::i64, 1, 0, 
18815
310
   0,
18816
310
  44, 
18817
310
   OPC_CheckValueType, MVT::i16,
18818
310
   OPC_MoveParent,
18819
310
   OPC_SwitchType , 27, MVT::i32,
18820
310
    OPC_Scope, 8, 
18821
310
     OPC_CheckPatternPredicate, 41,
18822
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH),
18823
310
                   MVT::i32, 1, 0, 
18824
310
    7, 
18825
310
     OPC_CheckPatternPredicate5,
18826
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SehRx16),
18827
310
                   MVT::i32, 1, 0, 
18828
310
    7, 
18829
310
     OPC_CheckPatternPredicate4,
18830
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH_MM),
18831
310
                   MVT::i32, 1, 0, 
18832
310
    0, 
18833
310
   8, MVT::i64,
18834
310
    OPC_CheckPatternPredicate, 99,
18835
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEH64),
18836
310
                  MVT::i64, 1, 0, 
18837
310
   0,
18838
310
  11, 
18839
310
   OPC_CheckValueType, MVT::i32,
18840
310
   OPC_MoveParent,
18841
310
   OPC_CheckPatternPredicate, 12,
18842
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SLL64_64),
18843
310
                 MVT::i64, 1, 0, 
18844
310
  0, 
18845
310
 58, TARGET_VAL(MipsISD::Mult),
18846
310
  OPC_RecordChild0,
18847
310
  OPC_Scope, 42, 
18848
310
   OPC_CheckChild0TypeI32,
18849
310
   OPC_RecordChild1,
18850
310
   OPC_Scope, 9, 
18851
310
    OPC_CheckPatternPredicate, 46,
18852
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULT),
18853
310
                  MVT::Untyped, 2, 0, 1, 
18854
310
   8, 
18855
310
    OPC_CheckPatternPredicate1,
18856
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULT_DSP),
18857
310
                  MVT::Untyped, 2, 0, 1, 
18858
310
   9, 
18859
310
    OPC_CheckPatternPredicate, 37,
18860
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULT_MM),
18861
310
                  MVT::Untyped, 2, 0, 1, 
18862
310
   8, 
18863
310
    OPC_CheckPatternPredicate6,
18864
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULT_DSP_MM),
18865
310
                  MVT::Untyped, 2, 0, 1, 
18866
310
   0, 
18867
310
  11, 
18868
310
   OPC_CheckChild0TypeI64,
18869
310
   OPC_RecordChild1,
18870
310
   OPC_CheckPatternPredicate, 30,
18871
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDMULT),
18872
310
                 MVT::Untyped, 2, 0, 1, 
18873
310
  0, 
18874
310
 58, TARGET_VAL(MipsISD::Multu),
18875
310
  OPC_RecordChild0,
18876
310
  OPC_Scope, 42, 
18877
310
   OPC_CheckChild0TypeI32,
18878
310
   OPC_RecordChild1,
18879
310
   OPC_Scope, 9, 
18880
310
    OPC_CheckPatternPredicate, 46,
18881
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULTu),
18882
310
                  MVT::Untyped, 2, 0, 1, 
18883
310
   8, 
18884
310
    OPC_CheckPatternPredicate1,
18885
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULTU_DSP),
18886
310
                  MVT::Untyped, 2, 0, 1, 
18887
310
   9, 
18888
310
    OPC_CheckPatternPredicate, 37,
18889
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMULTu_MM),
18890
310
                  MVT::Untyped, 2, 0, 1, 
18891
310
   8, 
18892
310
    OPC_CheckPatternPredicate6,
18893
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULTU_DSP_MM),
18894
310
                  MVT::Untyped, 2, 0, 1, 
18895
310
   0, 
18896
310
  11, 
18897
310
   OPC_CheckChild0TypeI64,
18898
310
   OPC_RecordChild1,
18899
310
   OPC_CheckPatternPredicate, 30,
18900
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDMULTu),
18901
310
                 MVT::Untyped, 2, 0, 1, 
18902
310
  0, 
18903
310
 51, TARGET_VAL(MipsISD::MFHI),
18904
310
  OPC_RecordChild0,
18905
310
  OPC_SwitchType , 36, MVT::i32,
18906
310
   OPC_Scope, 8, 
18907
310
    OPC_CheckPatternPredicate, 46,
18908
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI),
18909
310
                  MVT::i32, 1, 0, 
18910
310
   7, 
18911
310
    OPC_CheckPatternPredicate1,
18912
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFHI_DSP),
18913
310
                  MVT::i32, 1, 0, 
18914
310
   8, 
18915
310
    OPC_CheckPatternPredicate, 37,
18916
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI_MM),
18917
310
                  MVT::i32, 1, 0, 
18918
310
   7, 
18919
310
    OPC_CheckPatternPredicate6,
18920
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFHI_DSP_MM),
18921
310
                  MVT::i32, 1, 0, 
18922
310
   0, 
18923
310
  8, MVT::i64,
18924
310
   OPC_CheckPatternPredicate, 30,
18925
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFHI64),
18926
310
                 MVT::i64, 1, 0, 
18927
310
  0,
18928
310
 51, TARGET_VAL(MipsISD::MFLO),
18929
310
  OPC_RecordChild0,
18930
310
  OPC_SwitchType , 36, MVT::i32,
18931
310
   OPC_Scope, 8, 
18932
310
    OPC_CheckPatternPredicate, 46,
18933
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO),
18934
310
                  MVT::i32, 1, 0, 
18935
310
   7, 
18936
310
    OPC_CheckPatternPredicate1,
18937
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFLO_DSP),
18938
310
                  MVT::i32, 1, 0, 
18939
310
   8, 
18940
310
    OPC_CheckPatternPredicate, 37,
18941
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO_MM),
18942
310
                  MVT::i32, 1, 0, 
18943
310
   7, 
18944
310
    OPC_CheckPatternPredicate6,
18945
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFLO_DSP_MM),
18946
310
                  MVT::i32, 1, 0, 
18947
310
   0, 
18948
310
  8, MVT::i64,
18949
310
   OPC_CheckPatternPredicate, 30,
18950
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMFLO64),
18951
310
                 MVT::i64, 1, 0, 
18952
310
  0,
18953
310
 50, TARGET_VAL(MipsISD::MTLOHI),
18954
310
  OPC_RecordChild0,
18955
310
  OPC_Scope, 34, 
18956
310
   OPC_CheckChild0TypeI32,
18957
310
   OPC_RecordChild1,
18958
310
   OPC_Scope, 9, 
18959
310
    OPC_CheckPatternPredicate, 46,
18960
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI),
18961
310
                  MVT::Untyped, 2, 0, 1, 
18962
310
   9, 
18963
310
    OPC_CheckPatternPredicate, 129,
18964
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI_DSP),
18965
310
                  MVT::Untyped, 2, 0, 1, 
18966
310
   9, 
18967
310
    OPC_CheckPatternPredicate, 37,
18968
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI_MM),
18969
310
                  MVT::Untyped, 2, 0, 1, 
18970
310
   0, 
18971
310
  11, 
18972
310
   OPC_CheckChild0TypeI64,
18973
310
   OPC_RecordChild1,
18974
310
   OPC_CheckPatternPredicate, 30,
18975
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMTLOHI64),
18976
310
                 MVT::Untyped, 2, 0, 1, 
18977
310
  0, 
18978
310
 47, TARGET_VAL(MipsISD::MAdd),
18979
310
  OPC_RecordChild0,
18980
310
  OPC_RecordChild1,
18981
310
  OPC_RecordChild2,
18982
310
  OPC_Scope, 10, 
18983
310
   OPC_CheckPatternPredicate, 57,
18984
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADD),
18985
310
                 MVT::Untyped, 3, 0, 1, 2, 
18986
310
  9, 
18987
310
   OPC_CheckPatternPredicate1,
18988
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_DSP),
18989
310
                 MVT::Untyped, 3, 0, 1, 2, 
18990
310
  10, 
18991
310
   OPC_CheckPatternPredicate, 37,
18992
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADD_MM),
18993
310
                 MVT::Untyped, 3, 0, 1, 2, 
18994
310
  9, 
18995
310
   OPC_CheckPatternPredicate6,
18996
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_DSP_MM),
18997
310
                 MVT::Untyped, 3, 0, 1, 2, 
18998
310
  0, 
18999
310
 47, TARGET_VAL(MipsISD::MAddu),
19000
310
  OPC_RecordChild0,
19001
310
  OPC_RecordChild1,
19002
310
  OPC_RecordChild2,
19003
310
  OPC_Scope, 10, 
19004
310
   OPC_CheckPatternPredicate, 57,
19005
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADDU),
19006
310
                 MVT::Untyped, 3, 0, 1, 2, 
19007
310
  9, 
19008
310
   OPC_CheckPatternPredicate1,
19009
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDU_DSP),
19010
310
                 MVT::Untyped, 3, 0, 1, 2, 
19011
310
  10, 
19012
310
   OPC_CheckPatternPredicate, 37,
19013
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMADDU_MM),
19014
310
                 MVT::Untyped, 3, 0, 1, 2, 
19015
310
  9, 
19016
310
   OPC_CheckPatternPredicate6,
19017
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADDU_DSP_MM),
19018
310
                 MVT::Untyped, 3, 0, 1, 2, 
19019
310
  0, 
19020
310
 47, TARGET_VAL(MipsISD::MSub),
19021
310
  OPC_RecordChild0,
19022
310
  OPC_RecordChild1,
19023
310
  OPC_RecordChild2,
19024
310
  OPC_Scope, 10, 
19025
310
   OPC_CheckPatternPredicate, 57,
19026
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUB),
19027
310
                 MVT::Untyped, 3, 0, 1, 2, 
19028
310
  9, 
19029
310
   OPC_CheckPatternPredicate1,
19030
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_DSP),
19031
310
                 MVT::Untyped, 3, 0, 1, 2, 
19032
310
  10, 
19033
310
   OPC_CheckPatternPredicate, 37,
19034
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUB_MM),
19035
310
                 MVT::Untyped, 3, 0, 1, 2, 
19036
310
  9, 
19037
310
   OPC_CheckPatternPredicate6,
19038
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_DSP_MM),
19039
310
                 MVT::Untyped, 3, 0, 1, 2, 
19040
310
  0, 
19041
310
 47, TARGET_VAL(MipsISD::MSubu),
19042
310
  OPC_RecordChild0,
19043
310
  OPC_RecordChild1,
19044
310
  OPC_RecordChild2,
19045
310
  OPC_Scope, 10, 
19046
310
   OPC_CheckPatternPredicate, 57,
19047
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUBU),
19048
310
                 MVT::Untyped, 3, 0, 1, 2, 
19049
310
  9, 
19050
310
   OPC_CheckPatternPredicate1,
19051
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBU_DSP),
19052
310
                 MVT::Untyped, 3, 0, 1, 2, 
19053
310
  10, 
19054
310
   OPC_CheckPatternPredicate, 37,
19055
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoMSUBU_MM),
19056
310
                 MVT::Untyped, 3, 0, 1, 2, 
19057
310
  9, 
19058
310
   OPC_CheckPatternPredicate6,
19059
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUBU_DSP_MM),
19060
310
                 MVT::Untyped, 3, 0, 1, 2, 
19061
310
  0, 
19062
310
 46, TARGET_VAL(ISD::SUBC),
19063
310
  OPC_RecordChild0,
19064
310
  OPC_RecordChild1,
19065
310
  OPC_SwitchType , 29, MVT::i32,
19066
310
   OPC_Scope, 8, 
19067
310
    OPC_CheckPatternPredicate2,
19068
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBu),
19069
310
                  MVT::i32, 2, 0, 1, 
19070
310
   8, 
19071
310
    OPC_CheckPatternPredicate4,
19072
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBu_MM),
19073
310
                  MVT::i32, 2, 0, 1, 
19074
310
   8, 
19075
310
    OPC_CheckPatternPredicate7,
19076
310
    OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::SUBU_MMR6),
19077
310
                  MVT::i32, 2, 0, 1, 
19078
310
   0, 
19079
310
  9, MVT::i64,
19080
310
   OPC_CheckPatternPredicate, 29,
19081
310
   OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DSUBu),
19082
310
                 MVT::i64, 2, 0, 1, 
19083
310
  0,
19084
310
 75|128,15, TARGET_VAL(ISD::BITCAST),
19085
310
  OPC_RecordChild0,
19086
310
  OPC_Scope, 59, 
19087
310
   OPC_CheckChild0Type, MVT::f32,
19088
310
   OPC_SwitchType , 29, MVT::i32,
19089
310
    OPC_Scope, 8, 
19090
310
     OPC_CheckPatternPredicate, 39,
19091
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1),
19092
310
                   MVT::i32, 1, 0, 
19093
310
    8, 
19094
310
     OPC_CheckPatternPredicate, 32,
19095
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1_MM),
19096
310
                   MVT::i32, 1, 0, 
19097
310
    8, 
19098
310
     OPC_CheckPatternPredicate, 24,
19099
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MFC1_MMR6),
19100
310
                   MVT::i32, 1, 0, 
19101
310
    0, 
19102
310
   10, MVT::v2i16,
19103
310
    OPC_CheckPatternPredicate1,
19104
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
19105
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19106
310
                  MVT::v2i16, 2, 0, 1, 
19107
310
   10, MVT::v4i8,
19108
310
    OPC_CheckPatternPredicate1,
19109
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
19110
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19111
310
                  MVT::v4i8, 2, 0, 1, 
19112
310
   0,
19113
310
  11, 
19114
310
   OPC_CheckChild0Type, MVT::f64,
19115
310
   OPC_CheckTypeI64,
19116
310
   OPC_CheckPatternPredicate, 100,
19117
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMFC1),
19118
310
                 MVT::i64, 1, 0, 
19119
310
  28, 
19120
310
   OPC_CheckChild0Type, MVT::v2i16,
19121
310
   OPC_SwitchType , 10, MVT::i32,
19122
310
    OPC_CheckPatternPredicate1,
19123
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
19124
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19125
310
                  MVT::i32, 2, 0, 1, 
19126
310
   10, MVT::f32,
19127
310
    OPC_CheckPatternPredicate1,
19128
310
    OPC_EmitStringInteger32, Mips::FGR32RegClassID,
19129
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19130
310
                  MVT::f32, 2, 0, 1, 
19131
310
   0,
19132
310
  28, 
19133
310
   OPC_CheckChild0Type, MVT::v4i8,
19134
310
   OPC_SwitchType , 10, MVT::i32,
19135
310
    OPC_CheckPatternPredicate1,
19136
310
    OPC_EmitStringInteger32, Mips::GPR32RegClassID,
19137
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19138
310
                  MVT::i32, 2, 0, 1, 
19139
310
   10, MVT::f32,
19140
310
    OPC_CheckPatternPredicate1,
19141
310
    OPC_EmitStringInteger32, Mips::FGR32RegClassID,
19142
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19143
310
                  MVT::f32, 2, 0, 1, 
19144
310
   0,
19145
310
  58, 
19146
310
   OPC_CheckChild0TypeI32,
19147
310
   OPC_SwitchType , 29, MVT::f32,
19148
310
    OPC_Scope, 8, 
19149
310
     OPC_CheckPatternPredicate, 39,
19150
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1),
19151
310
                   MVT::f32, 1, 0, 
19152
310
    8, 
19153
310
     OPC_CheckPatternPredicate, 32,
19154
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MM),
19155
310
                   MVT::f32, 1, 0, 
19156
310
    8, 
19157
310
     OPC_CheckPatternPredicate, 24,
19158
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MMR6),
19159
310
                   MVT::f32, 1, 0, 
19160
310
    0, 
19161
310
   10, MVT::v2i16,
19162
310
    OPC_CheckPatternPredicate1,
19163
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
19164
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19165
310
                  MVT::v2i16, 2, 0, 1, 
19166
310
   10, MVT::v4i8,
19167
310
    OPC_CheckPatternPredicate1,
19168
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
19169
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19170
310
                  MVT::v4i8, 2, 0, 1, 
19171
310
   0,
19172
310
  11, 
19173
310
   OPC_CheckChild0TypeI64,
19174
310
   OPC_CheckType, MVT::f64,
19175
310
   OPC_CheckPatternPredicate, 100,
19176
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMTC1),
19177
310
                 MVT::f64, 1, 0, 
19178
310
  121|128,1, 
19179
310
   OPC_CheckChild0Type, MVT::v8f16,
19180
310
   OPC_SwitchType , 10, MVT::v8i16,
19181
310
    OPC_CheckPatternPredicate3,
19182
310
    OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19183
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19184
310
                  MVT::v8i16, 2, 0, 1, 
19185
310
   45, MVT::v16i8,
19186
310
    OPC_Scope, 11, 
19187
310
     OPC_CheckPatternPredicate, 17,
19188
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19189
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19190
310
                   MVT::v16i8, 2, 0, 1, 
19191
310
    30, 
19192
310
     OPC_CheckPatternPredicate, 16,
19193
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19194
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19195
310
                   MVT::v16i8, 2, 0, 1, 
19196
310
     OPC_EmitInteger32, 98|128,2, 
19197
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19198
310
                   MVT::v16i8, 2, 2, 3, 
19199
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19200
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19201
310
                   MVT::v16i8, 2, 4, 5, 
19202
310
    0, 
19203
310
   45, MVT::v4i32,
19204
310
    OPC_Scope, 11, 
19205
310
     OPC_CheckPatternPredicate, 17,
19206
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19207
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19208
310
                   MVT::v4i32, 2, 0, 1, 
19209
310
    30, 
19210
310
     OPC_CheckPatternPredicate, 16,
19211
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19212
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19213
310
                   MVT::v8i16, 2, 0, 1, 
19214
310
     OPC_EmitInteger32, 98|128,2, 
19215
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19216
310
                   MVT::v8i16, 2, 2, 3, 
19217
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19218
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19219
310
                   MVT::v4i32, 2, 4, 5, 
19220
310
    0, 
19221
310
   44, MVT::v2i64,
19222
310
    OPC_Scope, 11, 
19223
310
     OPC_CheckPatternPredicate, 17,
19224
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19225
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19226
310
                   MVT::v2i64, 2, 0, 1, 
19227
310
    29, 
19228
310
     OPC_CheckPatternPredicate, 16,
19229
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19230
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19231
310
                   MVT::v8i16, 2, 0, 1, 
19232
310
     OPC_EmitInteger32, 54, 
19233
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19234
310
                   MVT::v8i16, 2, 2, 3, 
19235
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19236
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19237
310
                   MVT::v2i64, 2, 4, 5, 
19238
310
    0, 
19239
310
   45, MVT::v4f32,
19240
310
    OPC_Scope, 11, 
19241
310
     OPC_CheckPatternPredicate, 17,
19242
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19243
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19244
310
                   MVT::v4f32, 2, 0, 1, 
19245
310
    30, 
19246
310
     OPC_CheckPatternPredicate, 16,
19247
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19248
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19249
310
                   MVT::v8i16, 2, 0, 1, 
19250
310
     OPC_EmitInteger32, 98|128,2, 
19251
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19252
310
                   MVT::v8i16, 2, 2, 3, 
19253
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19254
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19255
310
                   MVT::v4f32, 2, 4, 5, 
19256
310
    0, 
19257
310
   44, MVT::v2f64,
19258
310
    OPC_Scope, 11, 
19259
310
     OPC_CheckPatternPredicate, 17,
19260
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19261
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19262
310
                   MVT::v2f64, 2, 0, 1, 
19263
310
    29, 
19264
310
     OPC_CheckPatternPredicate, 16,
19265
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19266
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19267
310
                   MVT::v8i16, 2, 0, 1, 
19268
310
     OPC_EmitInteger32, 54, 
19269
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19270
310
                   MVT::v8i16, 2, 2, 3, 
19271
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19272
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19273
310
                   MVT::v2f64, 2, 4, 5, 
19274
310
    0, 
19275
310
   0,
19276
310
  107|128,1, 
19277
310
   OPC_CheckChild0Type, MVT::v4f32,
19278
310
   OPC_SwitchType , 10, MVT::v4i32,
19279
310
    OPC_CheckPatternPredicate3,
19280
310
    OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19281
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19282
310
                  MVT::v4i32, 2, 0, 1, 
19283
310
   44, MVT::v16i8,
19284
310
    OPC_Scope, 11, 
19285
310
     OPC_CheckPatternPredicate, 17,
19286
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19287
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19288
310
                   MVT::v16i8, 2, 0, 1, 
19289
310
    29, 
19290
310
     OPC_CheckPatternPredicate, 16,
19291
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19292
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19293
310
                   MVT::v16i8, 2, 0, 1, 
19294
310
     OPC_EmitInteger32, 54, 
19295
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19296
310
                   MVT::v16i8, 2, 2, 3, 
19297
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19298
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19299
310
                   MVT::v16i8, 2, 4, 5, 
19300
310
    0, 
19301
310
   45, MVT::v8i16,
19302
310
    OPC_Scope, 11, 
19303
310
     OPC_CheckPatternPredicate, 17,
19304
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19305
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19306
310
                   MVT::v8i16, 2, 0, 1, 
19307
310
    30, 
19308
310
     OPC_CheckPatternPredicate, 16,
19309
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19310
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19311
310
                   MVT::v8i16, 2, 0, 1, 
19312
310
     OPC_EmitInteger32, 98|128,2, 
19313
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19314
310
                   MVT::v8i16, 2, 2, 3, 
19315
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19316
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19317
310
                   MVT::v8i16, 2, 4, 5, 
19318
310
    0, 
19319
310
   45, MVT::v2i64,
19320
310
    OPC_Scope, 11, 
19321
310
     OPC_CheckPatternPredicate, 17,
19322
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19323
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19324
310
                   MVT::v2i64, 2, 0, 1, 
19325
310
    30, 
19326
310
     OPC_CheckPatternPredicate, 16,
19327
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19328
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19329
310
                   MVT::v4i32, 2, 0, 1, 
19330
310
     OPC_EmitInteger32, 98|128,2, 
19331
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19332
310
                   MVT::v4i32, 2, 2, 3, 
19333
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19334
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19335
310
                   MVT::v2i64, 2, 4, 5, 
19336
310
    0, 
19337
310
   45, MVT::v2f64,
19338
310
    OPC_Scope, 11, 
19339
310
     OPC_CheckPatternPredicate, 17,
19340
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19341
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19342
310
                   MVT::v2f64, 2, 0, 1, 
19343
310
    30, 
19344
310
     OPC_CheckPatternPredicate, 16,
19345
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19346
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19347
310
                   MVT::v4i32, 2, 0, 1, 
19348
310
     OPC_EmitInteger32, 98|128,2, 
19349
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19350
310
                   MVT::v4i32, 2, 2, 3, 
19351
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19352
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19353
310
                   MVT::v2f64, 2, 4, 5, 
19354
310
    0, 
19355
310
   30, MVT::v8f16,
19356
310
    OPC_CheckPatternPredicate, 16,
19357
310
    OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19358
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19359
310
                  MVT::v8i16, 2, 0, 1, 
19360
310
    OPC_EmitInteger32, 98|128,2, 
19361
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19362
310
                  MVT::v8i16, 2, 2, 3, 
19363
310
    OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19364
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19365
310
                  MVT::v8f16, 2, 4, 5, 
19366
310
   0,
19367
310
  124|128,1, 
19368
310
   OPC_CheckChild0Type, MVT::v2f64,
19369
310
   OPC_SwitchType , 10, MVT::v2i64,
19370
310
    OPC_CheckPatternPredicate3,
19371
310
    OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19372
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19373
310
                  MVT::v2i64, 2, 0, 1, 
19374
310
   63, MVT::v16i8,
19375
310
    OPC_Scope, 11, 
19376
310
     OPC_CheckPatternPredicate, 17,
19377
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19378
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19379
310
                   MVT::v16i8, 2, 0, 1, 
19380
310
    48, 
19381
310
     OPC_CheckPatternPredicate, 16,
19382
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19383
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19384
310
                   MVT::v16i8, 2, 0, 1, 
19385
310
     OPC_EmitInteger32, 54, 
19386
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19387
310
                   MVT::v16i8, 2, 2, 3, 
19388
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19389
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19390
310
                   MVT::v4i32, 2, 4, 5, 
19391
310
     OPC_EmitInteger32, 98|128,2, 
19392
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19393
310
                   MVT::v4i32, 2, 6, 7, 
19394
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19395
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19396
310
                   MVT::v16i8, 2, 8, 9, 
19397
310
    0, 
19398
310
   44, MVT::v8i16,
19399
310
    OPC_Scope, 11, 
19400
310
     OPC_CheckPatternPredicate, 17,
19401
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19402
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19403
310
                   MVT::v8i16, 2, 0, 1, 
19404
310
    29, 
19405
310
     OPC_CheckPatternPredicate, 16,
19406
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19407
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19408
310
                   MVT::v8i16, 2, 0, 1, 
19409
310
     OPC_EmitInteger32, 54, 
19410
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19411
310
                   MVT::v8i16, 2, 2, 3, 
19412
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19413
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19414
310
                   MVT::v8i16, 2, 4, 5, 
19415
310
    0, 
19416
310
   45, MVT::v4i32,
19417
310
    OPC_Scope, 11, 
19418
310
     OPC_CheckPatternPredicate, 17,
19419
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19420
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19421
310
                   MVT::v4i32, 2, 0, 1, 
19422
310
    30, 
19423
310
     OPC_CheckPatternPredicate, 16,
19424
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19425
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19426
310
                   MVT::v4i32, 2, 0, 1, 
19427
310
     OPC_EmitInteger32, 98|128,2, 
19428
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19429
310
                   MVT::v4i32, 2, 2, 3, 
19430
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19431
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19432
310
                   MVT::v4i32, 2, 4, 5, 
19433
310
    0, 
19434
310
   45, MVT::v4f32,
19435
310
    OPC_Scope, 11, 
19436
310
     OPC_CheckPatternPredicate, 17,
19437
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19438
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19439
310
                   MVT::v4f32, 2, 0, 1, 
19440
310
    30, 
19441
310
     OPC_CheckPatternPredicate, 16,
19442
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19443
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19444
310
                   MVT::v4i32, 2, 0, 1, 
19445
310
     OPC_EmitInteger32, 98|128,2, 
19446
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19447
310
                   MVT::v4i32, 2, 2, 3, 
19448
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19449
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19450
310
                   MVT::v4f32, 2, 4, 5, 
19451
310
    0, 
19452
310
   29, MVT::v8f16,
19453
310
    OPC_CheckPatternPredicate, 16,
19454
310
    OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19455
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19456
310
                  MVT::v8i16, 2, 0, 1, 
19457
310
    OPC_EmitInteger32, 54, 
19458
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19459
310
                  MVT::v8i16, 2, 2, 3, 
19460
310
    OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19461
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19462
310
                  MVT::v8f16, 2, 4, 5, 
19463
310
   0,
19464
310
  121|128,1, 
19465
310
   OPC_CheckChild0Type, MVT::v8i16,
19466
310
   OPC_SwitchType , 45, MVT::v16i8,
19467
310
    OPC_Scope, 11, 
19468
310
     OPC_CheckPatternPredicate, 17,
19469
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19470
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19471
310
                   MVT::v16i8, 2, 0, 1, 
19472
310
    30, 
19473
310
     OPC_CheckPatternPredicate, 16,
19474
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19475
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19476
310
                   MVT::v16i8, 2, 0, 1, 
19477
310
     OPC_EmitInteger32, 98|128,2, 
19478
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19479
310
                   MVT::v16i8, 2, 2, 3, 
19480
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19481
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19482
310
                   MVT::v16i8, 2, 4, 5, 
19483
310
    0, 
19484
310
   45, MVT::v4i32,
19485
310
    OPC_Scope, 11, 
19486
310
     OPC_CheckPatternPredicate, 17,
19487
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19488
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19489
310
                   MVT::v4i32, 2, 0, 1, 
19490
310
    30, 
19491
310
     OPC_CheckPatternPredicate, 16,
19492
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19493
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19494
310
                   MVT::v8i16, 2, 0, 1, 
19495
310
     OPC_EmitInteger32, 98|128,2, 
19496
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19497
310
                   MVT::v8i16, 2, 2, 3, 
19498
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19499
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19500
310
                   MVT::v4i32, 2, 4, 5, 
19501
310
    0, 
19502
310
   44, MVT::v2i64,
19503
310
    OPC_Scope, 11, 
19504
310
     OPC_CheckPatternPredicate, 17,
19505
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19506
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19507
310
                   MVT::v2i64, 2, 0, 1, 
19508
310
    29, 
19509
310
     OPC_CheckPatternPredicate, 16,
19510
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19511
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19512
310
                   MVT::v8i16, 2, 0, 1, 
19513
310
     OPC_EmitInteger32, 54, 
19514
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19515
310
                   MVT::v8i16, 2, 2, 3, 
19516
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19517
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19518
310
                   MVT::v2i64, 2, 4, 5, 
19519
310
    0, 
19520
310
   10, MVT::v8f16,
19521
310
    OPC_CheckPatternPredicate3,
19522
310
    OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19523
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19524
310
                  MVT::v8f16, 2, 0, 1, 
19525
310
   45, MVT::v4f32,
19526
310
    OPC_Scope, 11, 
19527
310
     OPC_CheckPatternPredicate, 17,
19528
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19529
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19530
310
                   MVT::v4f32, 2, 0, 1, 
19531
310
    30, 
19532
310
     OPC_CheckPatternPredicate, 16,
19533
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19534
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19535
310
                   MVT::v8i16, 2, 0, 1, 
19536
310
     OPC_EmitInteger32, 98|128,2, 
19537
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19538
310
                   MVT::v8i16, 2, 2, 3, 
19539
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19540
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19541
310
                   MVT::v4f32, 2, 4, 5, 
19542
310
    0, 
19543
310
   44, MVT::v2f64,
19544
310
    OPC_Scope, 11, 
19545
310
     OPC_CheckPatternPredicate, 17,
19546
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19547
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19548
310
                   MVT::v2f64, 2, 0, 1, 
19549
310
    29, 
19550
310
     OPC_CheckPatternPredicate, 16,
19551
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19552
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19553
310
                   MVT::v8i16, 2, 0, 1, 
19554
310
     OPC_EmitInteger32, 54, 
19555
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19556
310
                   MVT::v8i16, 2, 2, 3, 
19557
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19558
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19559
310
                   MVT::v2f64, 2, 4, 5, 
19560
310
    0, 
19561
310
   0,
19562
310
  107|128,1, 
19563
310
   OPC_CheckChild0Type, MVT::v4i32,
19564
310
   OPC_SwitchType , 44, MVT::v16i8,
19565
310
    OPC_Scope, 11, 
19566
310
     OPC_CheckPatternPredicate, 17,
19567
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19568
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19569
310
                   MVT::v16i8, 2, 0, 1, 
19570
310
    29, 
19571
310
     OPC_CheckPatternPredicate, 16,
19572
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19573
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19574
310
                   MVT::v16i8, 2, 0, 1, 
19575
310
     OPC_EmitInteger32, 54, 
19576
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19577
310
                   MVT::v16i8, 2, 2, 3, 
19578
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19579
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19580
310
                   MVT::v16i8, 2, 4, 5, 
19581
310
    0, 
19582
310
   45, MVT::v8i16,
19583
310
    OPC_Scope, 11, 
19584
310
     OPC_CheckPatternPredicate, 17,
19585
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19586
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19587
310
                   MVT::v8i16, 2, 0, 1, 
19588
310
    30, 
19589
310
     OPC_CheckPatternPredicate, 16,
19590
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19591
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19592
310
                   MVT::v8i16, 2, 0, 1, 
19593
310
     OPC_EmitInteger32, 98|128,2, 
19594
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19595
310
                   MVT::v8i16, 2, 2, 3, 
19596
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19597
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19598
310
                   MVT::v8i16, 2, 4, 5, 
19599
310
    0, 
19600
310
   45, MVT::v2i64,
19601
310
    OPC_Scope, 11, 
19602
310
     OPC_CheckPatternPredicate, 17,
19603
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19604
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19605
310
                   MVT::v2i64, 2, 0, 1, 
19606
310
    30, 
19607
310
     OPC_CheckPatternPredicate, 16,
19608
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19609
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19610
310
                   MVT::v4i32, 2, 0, 1, 
19611
310
     OPC_EmitInteger32, 98|128,2, 
19612
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19613
310
                   MVT::v4i32, 2, 2, 3, 
19614
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19615
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19616
310
                   MVT::v2i64, 2, 4, 5, 
19617
310
    0, 
19618
310
   10, MVT::v4f32,
19619
310
    OPC_CheckPatternPredicate3,
19620
310
    OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19621
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19622
310
                  MVT::v4f32, 2, 0, 1, 
19623
310
   45, MVT::v2f64,
19624
310
    OPC_Scope, 11, 
19625
310
     OPC_CheckPatternPredicate, 17,
19626
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19627
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19628
310
                   MVT::v2f64, 2, 0, 1, 
19629
310
    30, 
19630
310
     OPC_CheckPatternPredicate, 16,
19631
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19632
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19633
310
                   MVT::v4i32, 2, 0, 1, 
19634
310
     OPC_EmitInteger32, 98|128,2, 
19635
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19636
310
                   MVT::v4i32, 2, 2, 3, 
19637
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19638
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19639
310
                   MVT::v2f64, 2, 4, 5, 
19640
310
    0, 
19641
310
   30, MVT::v8f16,
19642
310
    OPC_CheckPatternPredicate, 16,
19643
310
    OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19644
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19645
310
                  MVT::v8i16, 2, 0, 1, 
19646
310
    OPC_EmitInteger32, 98|128,2, 
19647
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19648
310
                  MVT::v8i16, 2, 2, 3, 
19649
310
    OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19650
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19651
310
                  MVT::v8f16, 2, 4, 5, 
19652
310
   0,
19653
310
  124|128,1, 
19654
310
   OPC_CheckChild0Type, MVT::v2i64,
19655
310
   OPC_SwitchType , 63, MVT::v16i8,
19656
310
    OPC_Scope, 11, 
19657
310
     OPC_CheckPatternPredicate, 17,
19658
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19659
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19660
310
                   MVT::v16i8, 2, 0, 1, 
19661
310
    48, 
19662
310
     OPC_CheckPatternPredicate, 16,
19663
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19664
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19665
310
                   MVT::v16i8, 2, 0, 1, 
19666
310
     OPC_EmitInteger32, 54, 
19667
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19668
310
                   MVT::v16i8, 2, 2, 3, 
19669
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19670
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19671
310
                   MVT::v4i32, 2, 4, 5, 
19672
310
     OPC_EmitInteger32, 98|128,2, 
19673
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19674
310
                   MVT::v4i32, 2, 6, 7, 
19675
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19676
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19677
310
                   MVT::v16i8, 2, 8, 9, 
19678
310
    0, 
19679
310
   44, MVT::v8i16,
19680
310
    OPC_Scope, 11, 
19681
310
     OPC_CheckPatternPredicate, 17,
19682
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19683
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19684
310
                   MVT::v8i16, 2, 0, 1, 
19685
310
    29, 
19686
310
     OPC_CheckPatternPredicate, 16,
19687
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19688
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19689
310
                   MVT::v8i16, 2, 0, 1, 
19690
310
     OPC_EmitInteger32, 54, 
19691
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19692
310
                   MVT::v8i16, 2, 2, 3, 
19693
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19694
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19695
310
                   MVT::v8i16, 2, 4, 5, 
19696
310
    0, 
19697
310
   45, MVT::v4i32,
19698
310
    OPC_Scope, 11, 
19699
310
     OPC_CheckPatternPredicate, 17,
19700
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19701
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19702
310
                   MVT::v4i32, 2, 0, 1, 
19703
310
    30, 
19704
310
     OPC_CheckPatternPredicate, 16,
19705
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19706
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19707
310
                   MVT::v4i32, 2, 0, 1, 
19708
310
     OPC_EmitInteger32, 98|128,2, 
19709
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19710
310
                   MVT::v4i32, 2, 2, 3, 
19711
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19712
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19713
310
                   MVT::v4i32, 2, 4, 5, 
19714
310
    0, 
19715
310
   10, MVT::v2f64,
19716
310
    OPC_CheckPatternPredicate3,
19717
310
    OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19718
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19719
310
                  MVT::v2f64, 2, 0, 1, 
19720
310
   45, MVT::v4f32,
19721
310
    OPC_Scope, 11, 
19722
310
     OPC_CheckPatternPredicate, 17,
19723
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19724
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19725
310
                   MVT::v4f32, 2, 0, 1, 
19726
310
    30, 
19727
310
     OPC_CheckPatternPredicate, 16,
19728
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19729
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19730
310
                   MVT::v4i32, 2, 0, 1, 
19731
310
     OPC_EmitInteger32, 98|128,2, 
19732
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19733
310
                   MVT::v4i32, 2, 2, 3, 
19734
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19735
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19736
310
                   MVT::v4f32, 2, 4, 5, 
19737
310
    0, 
19738
310
   29, MVT::v8f16,
19739
310
    OPC_CheckPatternPredicate, 16,
19740
310
    OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19741
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19742
310
                  MVT::v8i16, 2, 0, 1, 
19743
310
    OPC_EmitInteger32, 54, 
19744
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SHF_H),
19745
310
                  MVT::v8i16, 2, 2, 3, 
19746
310
    OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19747
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19748
310
                  MVT::v8f16, 2, 4, 5, 
19749
310
   0,
19750
310
  49|128,2, 
19751
310
   OPC_CheckChild0Type, MVT::v16i8,
19752
310
   OPC_SwitchType , 45, MVT::v8i16,
19753
310
    OPC_Scope, 11, 
19754
310
     OPC_CheckPatternPredicate, 17,
19755
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19756
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19757
310
                   MVT::v8i16, 2, 0, 1, 
19758
310
    30, 
19759
310
     OPC_CheckPatternPredicate, 16,
19760
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19761
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19762
310
                   MVT::v16i8, 2, 0, 1, 
19763
310
     OPC_EmitInteger32, 98|128,2, 
19764
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19765
310
                   MVT::v16i8, 2, 2, 3, 
19766
310
     OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19767
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19768
310
                   MVT::v8i16, 2, 4, 5, 
19769
310
    0, 
19770
310
   44, MVT::v4i32,
19771
310
    OPC_Scope, 11, 
19772
310
     OPC_CheckPatternPredicate, 17,
19773
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19774
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19775
310
                   MVT::v4i32, 2, 0, 1, 
19776
310
    29, 
19777
310
     OPC_CheckPatternPredicate, 16,
19778
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19779
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19780
310
                   MVT::v16i8, 2, 0, 1, 
19781
310
     OPC_EmitInteger32, 54, 
19782
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19783
310
                   MVT::v16i8, 2, 2, 3, 
19784
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19785
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19786
310
                   MVT::v4i32, 2, 4, 5, 
19787
310
    0, 
19788
310
   63, MVT::v2i64,
19789
310
    OPC_Scope, 11, 
19790
310
     OPC_CheckPatternPredicate, 17,
19791
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19792
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19793
310
                   MVT::v2i64, 2, 0, 1, 
19794
310
    48, 
19795
310
     OPC_CheckPatternPredicate, 16,
19796
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19797
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19798
310
                   MVT::v16i8, 2, 0, 1, 
19799
310
     OPC_EmitInteger32, 54, 
19800
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19801
310
                   MVT::v16i8, 2, 2, 3, 
19802
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19803
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19804
310
                   MVT::v4i32, 2, 4, 5, 
19805
310
     OPC_EmitInteger32, 98|128,2, 
19806
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19807
310
                   MVT::v4i32, 2, 6, 7, 
19808
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19809
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19810
310
                   MVT::v2i64, 2, 8, 9, 
19811
310
    0, 
19812
310
   44, MVT::v4f32,
19813
310
    OPC_Scope, 11, 
19814
310
     OPC_CheckPatternPredicate, 17,
19815
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19816
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19817
310
                   MVT::v4f32, 2, 0, 1, 
19818
310
    29, 
19819
310
     OPC_CheckPatternPredicate, 16,
19820
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19821
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19822
310
                   MVT::v16i8, 2, 0, 1, 
19823
310
     OPC_EmitInteger32, 54, 
19824
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19825
310
                   MVT::v16i8, 2, 2, 3, 
19826
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19827
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19828
310
                   MVT::v4f32, 2, 4, 5, 
19829
310
    0, 
19830
310
   63, MVT::v2f64,
19831
310
    OPC_Scope, 11, 
19832
310
     OPC_CheckPatternPredicate, 17,
19833
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19834
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19835
310
                   MVT::v2f64, 2, 0, 1, 
19836
310
    48, 
19837
310
     OPC_CheckPatternPredicate, 16,
19838
310
     OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19839
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19840
310
                   MVT::v16i8, 2, 0, 1, 
19841
310
     OPC_EmitInteger32, 54, 
19842
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19843
310
                   MVT::v16i8, 2, 2, 3, 
19844
310
     OPC_EmitStringInteger32, Mips::MSA128WRegClassID,
19845
310
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19846
310
                   MVT::v4i32, 2, 4, 5, 
19847
310
     OPC_EmitInteger32, 98|128,2, 
19848
310
     OPC_EmitNode1None, TARGET_VAL(Mips::SHF_W),
19849
310
                   MVT::v4i32, 2, 6, 7, 
19850
310
     OPC_EmitStringInteger32, Mips::MSA128DRegClassID,
19851
310
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19852
310
                   MVT::v2f64, 2, 8, 9, 
19853
310
    0, 
19854
310
   30, MVT::v8f16,
19855
310
    OPC_CheckPatternPredicate, 16,
19856
310
    OPC_EmitStringInteger32, Mips::MSA128BRegClassID,
19857
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19858
310
                  MVT::v16i8, 2, 0, 1, 
19859
310
    OPC_EmitInteger32, 98|128,2, 
19860
310
    OPC_EmitNode1None, TARGET_VAL(Mips::SHF_B),
19861
310
                  MVT::v16i8, 2, 2, 3, 
19862
310
    OPC_EmitStringInteger32, Mips::MSA128HRegClassID,
19863
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
19864
310
                  MVT::v8f16, 2, 4, 5, 
19865
310
   0,
19866
310
  0, 
19867
310
 69, TARGET_VAL(ISD::CTPOP),
19868
310
  OPC_RecordChild0,
19869
310
  OPC_SwitchType , 9, MVT::i32,
19870
310
   OPC_CheckChild0TypeI32,
19871
310
   OPC_CheckPatternPredicate, 25,
19872
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::POP),
19873
310
                 MVT::i32, 1, 0, 
19874
310
  9, MVT::i64,
19875
310
   OPC_CheckChild0TypeI64,
19876
310
   OPC_CheckPatternPredicate, 25,
19877
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPOP),
19878
310
                 MVT::i64, 1, 0, 
19879
310
  9, MVT::v16i8,
19880
310
   OPC_CheckChild0Type, MVT::v16i8,
19881
310
   OPC_CheckPatternPredicate0,
19882
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_B),
19883
310
                 MVT::v16i8, 1, 0, 
19884
310
  9, MVT::v8i16,
19885
310
   OPC_CheckChild0Type, MVT::v8i16,
19886
310
   OPC_CheckPatternPredicate0,
19887
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_H),
19888
310
                 MVT::v8i16, 1, 0, 
19889
310
  9, MVT::v4i32,
19890
310
   OPC_CheckChild0Type, MVT::v4i32,
19891
310
   OPC_CheckPatternPredicate0,
19892
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_W),
19893
310
                 MVT::v4i32, 1, 0, 
19894
310
  9, MVT::v2i64,
19895
310
   OPC_CheckChild0Type, MVT::v2i64,
19896
310
   OPC_CheckPatternPredicate0,
19897
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCNT_D),
19898
310
                 MVT::v2i64, 1, 0, 
19899
310
  0,
19900
310
 37|128,1, TARGET_VAL(MipsISD::CMovFP_T),
19901
310
  OPC_CaptureGlueInput,
19902
310
  OPC_RecordChild0,
19903
310
  OPC_RecordChild1,
19904
310
  OPC_RecordChild2,
19905
310
  OPC_SwitchType , 35, MVT::i32,
19906
310
   OPC_Scope, 10, 
19907
310
    OPC_CheckPatternPredicate, 58,
19908
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I),
19909
310
                  MVT::i32, 3, 0, 1, 2, 
19910
310
   10, 
19911
310
    OPC_CheckPatternPredicate, 31,
19912
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I_MM),
19913
310
                  MVT::i32, 3, 0, 1, 2, 
19914
310
   10, 
19915
310
    OPC_CheckPatternPredicate, 35,
19916
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_I),
19917
310
                  MVT::i32, 3, 1, 0, 2, 
19918
310
   0, 
19919
310
  24, MVT::i64,
19920
310
   OPC_Scope, 10, 
19921
310
    OPC_CheckPatternPredicate, 101,
19922
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_I64),
19923
310
                  MVT::i64, 3, 0, 1, 2, 
19924
310
   10, 
19925
310
    OPC_CheckPatternPredicate, 35,
19926
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_I64),
19927
310
                  MVT::i64, 3, 1, 0, 2, 
19928
310
   0, 
19929
310
  35, MVT::f32,
19930
310
   OPC_Scope, 10, 
19931
310
    OPC_CheckPatternPredicate, 58,
19932
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_S),
19933
310
                  MVT::f32, 3, 0, 1, 2, 
19934
310
   10, 
19935
310
    OPC_CheckPatternPredicate, 31,
19936
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_S_MM),
19937
310
                  MVT::f32, 3, 0, 1, 2, 
19938
310
   10, 
19939
310
    OPC_CheckPatternPredicate, 35,
19940
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_S),
19941
310
                  MVT::f32, 3, 1, 0, 2, 
19942
310
   0, 
19943
310
  57, MVT::f64,
19944
310
   OPC_Scope, 10, 
19945
310
    OPC_CheckPatternPredicate, 102,
19946
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D32),
19947
310
                  MVT::f64, 3, 0, 1, 2, 
19948
310
   10, 
19949
310
    OPC_CheckPatternPredicate, 103,
19950
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D64),
19951
310
                  MVT::f64, 3, 0, 1, 2, 
19952
310
   10, 
19953
310
    OPC_CheckPatternPredicate, 104,
19954
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVT_D32_MM),
19955
310
                  MVT::f64, 3, 0, 1, 2, 
19956
310
   10, 
19957
310
    OPC_CheckPatternPredicate, 62,
19958
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_D32),
19959
310
                  MVT::f64, 3, 1, 0, 2, 
19960
310
   10, 
19961
310
    OPC_CheckPatternPredicate, 63,
19962
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_T_D64),
19963
310
                  MVT::f64, 3, 1, 0, 2, 
19964
310
   0, 
19965
310
  0,
19966
310
 37|128,1, TARGET_VAL(MipsISD::CMovFP_F),
19967
310
  OPC_CaptureGlueInput,
19968
310
  OPC_RecordChild0,
19969
310
  OPC_RecordChild1,
19970
310
  OPC_RecordChild2,
19971
310
  OPC_SwitchType , 35, MVT::i32,
19972
310
   OPC_Scope, 10, 
19973
310
    OPC_CheckPatternPredicate, 58,
19974
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I),
19975
310
                  MVT::i32, 3, 0, 1, 2, 
19976
310
   10, 
19977
310
    OPC_CheckPatternPredicate, 31,
19978
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I_MM),
19979
310
                  MVT::i32, 3, 0, 1, 2, 
19980
310
   10, 
19981
310
    OPC_CheckPatternPredicate, 35,
19982
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_I),
19983
310
                  MVT::i32, 3, 1, 0, 2, 
19984
310
   0, 
19985
310
  24, MVT::i64,
19986
310
   OPC_Scope, 10, 
19987
310
    OPC_CheckPatternPredicate, 101,
19988
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_I64),
19989
310
                  MVT::i64, 3, 0, 1, 2, 
19990
310
   10, 
19991
310
    OPC_CheckPatternPredicate, 35,
19992
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_I64),
19993
310
                  MVT::i64, 3, 1, 0, 2, 
19994
310
   0, 
19995
310
  35, MVT::f32,
19996
310
   OPC_Scope, 10, 
19997
310
    OPC_CheckPatternPredicate, 58,
19998
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_S),
19999
310
                  MVT::f32, 3, 0, 1, 2, 
20000
310
   10, 
20001
310
    OPC_CheckPatternPredicate, 31,
20002
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_S_MM),
20003
310
                  MVT::f32, 3, 0, 1, 2, 
20004
310
   10, 
20005
310
    OPC_CheckPatternPredicate, 35,
20006
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_S),
20007
310
                  MVT::f32, 3, 1, 0, 2, 
20008
310
   0, 
20009
310
  57, MVT::f64,
20010
310
   OPC_Scope, 10, 
20011
310
    OPC_CheckPatternPredicate, 102,
20012
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D32),
20013
310
                  MVT::f64, 3, 0, 1, 2, 
20014
310
   10, 
20015
310
    OPC_CheckPatternPredicate, 103,
20016
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D64),
20017
310
                  MVT::f64, 3, 0, 1, 2, 
20018
310
   10, 
20019
310
    OPC_CheckPatternPredicate, 104,
20020
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::MOVF_D32_MM),
20021
310
                  MVT::f64, 3, 0, 1, 2, 
20022
310
   10, 
20023
310
    OPC_CheckPatternPredicate, 62,
20024
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_D32),
20025
310
                  MVT::f64, 3, 1, 0, 2, 
20026
310
   10, 
20027
310
    OPC_CheckPatternPredicate, 63,
20028
310
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(Mips::PseudoSELECTFP_F_D64),
20029
310
                  MVT::f64, 3, 1, 0, 2, 
20030
310
   0, 
20031
310
  0,
20032
310
 38, TARGET_VAL(ISD::MULHS),
20033
310
  OPC_RecordChild0,
20034
310
  OPC_RecordChild1,
20035
310
  OPC_SwitchType , 21, MVT::i32,
20036
310
   OPC_Scope, 9, 
20037
310
    OPC_CheckPatternPredicate, 15,
20038
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUH),
20039
310
                  MVT::i32, 2, 0, 1, 
20040
310
   8, 
20041
310
    OPC_CheckPatternPredicate7,
20042
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUH_MMR6),
20043
310
                  MVT::i32, 2, 0, 1, 
20044
310
   0, 
20045
310
  9, MVT::i64,
20046
310
   OPC_CheckPatternPredicate, 36,
20047
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUH),
20048
310
                 MVT::i64, 2, 0, 1, 
20049
310
  0,
20050
310
 38, TARGET_VAL(ISD::MULHU),
20051
310
  OPC_RecordChild0,
20052
310
  OPC_RecordChild1,
20053
310
  OPC_SwitchType , 21, MVT::i32,
20054
310
   OPC_Scope, 9, 
20055
310
    OPC_CheckPatternPredicate, 15,
20056
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUHU),
20057
310
                  MVT::i32, 2, 0, 1, 
20058
310
   8, 
20059
310
    OPC_CheckPatternPredicate7,
20060
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MUHU_MMR6),
20061
310
                  MVT::i32, 2, 0, 1, 
20062
310
   0, 
20063
310
  9, MVT::i64,
20064
310
   OPC_CheckPatternPredicate, 36,
20065
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMUHU),
20066
310
                 MVT::i64, 2, 0, 1, 
20067
310
  0,
20068
310
 11, TARGET_VAL(MipsISD::DivRem16),
20069
310
  OPC_RecordChild0,
20070
310
  OPC_CheckChild0TypeI32,
20071
310
  OPC_RecordChild1,
20072
310
  OPC_CheckPatternPredicate5,
20073
310
  OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DivRxRy16),
20074
310
                MVT::i32, 2, 0, 1, 
20075
310
 11, TARGET_VAL(MipsISD::DivRemU16),
20076
310
  OPC_RecordChild0,
20077
310
  OPC_CheckChild0TypeI32,
20078
310
  OPC_RecordChild1,
20079
310
  OPC_CheckPatternPredicate5,
20080
310
  OPC_MorphNodeTo1GlueOutput, TARGET_VAL(Mips::DivuRxRy16),
20081
310
                MVT::i32, 2, 0, 1, 
20082
310
 28, TARGET_VAL(MipsISD::MULSAQ_S_W_PH),
20083
310
  OPC_RecordNode,
20084
310
  OPC_RecordChild1,
20085
310
  OPC_RecordChild2,
20086
310
  OPC_RecordChild3,
20087
310
  OPC_Scope, 10, 
20088
310
   OPC_CheckPatternPredicate1,
20089
310
   OPC_EmitMergeInputChains1_0,
20090
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULSAQ_S_W_PH),
20091
310
                 MVT::Untyped, 3, 1, 2, 3, 
20092
310
  10, 
20093
310
   OPC_CheckPatternPredicate6,
20094
310
   OPC_EmitMergeInputChains1_0,
20095
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MULSAQ_S_W_PH_MM),
20096
310
                 MVT::Untyped, 3, 1, 2, 3, 
20097
310
  0, 
20098
310
 28, TARGET_VAL(MipsISD::MAQ_S_W_PHL),
20099
310
  OPC_RecordNode,
20100
310
  OPC_RecordChild1,
20101
310
  OPC_RecordChild2,
20102
310
  OPC_RecordChild3,
20103
310
  OPC_Scope, 10, 
20104
310
   OPC_CheckPatternPredicate1,
20105
310
   OPC_EmitMergeInputChains1_0,
20106
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHL),
20107
310
                 MVT::Untyped, 3, 1, 2, 3, 
20108
310
  10, 
20109
310
   OPC_CheckPatternPredicate6,
20110
310
   OPC_EmitMergeInputChains1_0,
20111
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHL_MM),
20112
310
                 MVT::Untyped, 3, 1, 2, 3, 
20113
310
  0, 
20114
310
 28, TARGET_VAL(MipsISD::MAQ_S_W_PHR),
20115
310
  OPC_RecordNode,
20116
310
  OPC_RecordChild1,
20117
310
  OPC_RecordChild2,
20118
310
  OPC_RecordChild3,
20119
310
  OPC_Scope, 10, 
20120
310
   OPC_CheckPatternPredicate1,
20121
310
   OPC_EmitMergeInputChains1_0,
20122
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHR),
20123
310
                 MVT::Untyped, 3, 1, 2, 3, 
20124
310
  10, 
20125
310
   OPC_CheckPatternPredicate6,
20126
310
   OPC_EmitMergeInputChains1_0,
20127
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_S_W_PHR_MM),
20128
310
                 MVT::Untyped, 3, 1, 2, 3, 
20129
310
  0, 
20130
310
 28, TARGET_VAL(MipsISD::MAQ_SA_W_PHL),
20131
310
  OPC_RecordNode,
20132
310
  OPC_RecordChild1,
20133
310
  OPC_RecordChild2,
20134
310
  OPC_RecordChild3,
20135
310
  OPC_Scope, 10, 
20136
310
   OPC_CheckPatternPredicate1,
20137
310
   OPC_EmitMergeInputChains1_0,
20138
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHL),
20139
310
                 MVT::Untyped, 3, 1, 2, 3, 
20140
310
  10, 
20141
310
   OPC_CheckPatternPredicate6,
20142
310
   OPC_EmitMergeInputChains1_0,
20143
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHL_MM),
20144
310
                 MVT::Untyped, 3, 1, 2, 3, 
20145
310
  0, 
20146
310
 28, TARGET_VAL(MipsISD::MAQ_SA_W_PHR),
20147
310
  OPC_RecordNode,
20148
310
  OPC_RecordChild1,
20149
310
  OPC_RecordChild2,
20150
310
  OPC_RecordChild3,
20151
310
  OPC_Scope, 10, 
20152
310
   OPC_CheckPatternPredicate1,
20153
310
   OPC_EmitMergeInputChains1_0,
20154
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHR),
20155
310
                 MVT::Untyped, 3, 1, 2, 3, 
20156
310
  10, 
20157
310
   OPC_CheckPatternPredicate6,
20158
310
   OPC_EmitMergeInputChains1_0,
20159
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MAQ_SA_W_PHR_MM),
20160
310
                 MVT::Untyped, 3, 1, 2, 3, 
20161
310
  0, 
20162
310
 25, TARGET_VAL(MipsISD::DPAU_H_QBL),
20163
310
  OPC_RecordChild0,
20164
310
  OPC_RecordChild1,
20165
310
  OPC_RecordChild2,
20166
310
  OPC_Scope, 9, 
20167
310
   OPC_CheckPatternPredicate1,
20168
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBL),
20169
310
                 MVT::Untyped, 3, 0, 1, 2, 
20170
310
  9, 
20171
310
   OPC_CheckPatternPredicate6,
20172
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBL_MM),
20173
310
                 MVT::Untyped, 3, 0, 1, 2, 
20174
310
  0, 
20175
310
 25, TARGET_VAL(MipsISD::DPAU_H_QBR),
20176
310
  OPC_RecordChild0,
20177
310
  OPC_RecordChild1,
20178
310
  OPC_RecordChild2,
20179
310
  OPC_Scope, 9, 
20180
310
   OPC_CheckPatternPredicate1,
20181
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBR),
20182
310
                 MVT::Untyped, 3, 0, 1, 2, 
20183
310
  9, 
20184
310
   OPC_CheckPatternPredicate6,
20185
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAU_H_QBR_MM),
20186
310
                 MVT::Untyped, 3, 0, 1, 2, 
20187
310
  0, 
20188
310
 25, TARGET_VAL(MipsISD::DPSU_H_QBL),
20189
310
  OPC_RecordChild0,
20190
310
  OPC_RecordChild1,
20191
310
  OPC_RecordChild2,
20192
310
  OPC_Scope, 9, 
20193
310
   OPC_CheckPatternPredicate1,
20194
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBL),
20195
310
                 MVT::Untyped, 3, 0, 1, 2, 
20196
310
  9, 
20197
310
   OPC_CheckPatternPredicate6,
20198
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBL_MM),
20199
310
                 MVT::Untyped, 3, 0, 1, 2, 
20200
310
  0, 
20201
310
 25, TARGET_VAL(MipsISD::DPSU_H_QBR),
20202
310
  OPC_RecordChild0,
20203
310
  OPC_RecordChild1,
20204
310
  OPC_RecordChild2,
20205
310
  OPC_Scope, 9, 
20206
310
   OPC_CheckPatternPredicate1,
20207
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBR),
20208
310
                 MVT::Untyped, 3, 0, 1, 2, 
20209
310
  9, 
20210
310
   OPC_CheckPatternPredicate6,
20211
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSU_H_QBR_MM),
20212
310
                 MVT::Untyped, 3, 0, 1, 2, 
20213
310
  0, 
20214
310
 28, TARGET_VAL(MipsISD::DPAQ_S_W_PH),
20215
310
  OPC_RecordNode,
20216
310
  OPC_RecordChild1,
20217
310
  OPC_RecordChild2,
20218
310
  OPC_RecordChild3,
20219
310
  OPC_Scope, 10, 
20220
310
   OPC_CheckPatternPredicate1,
20221
310
   OPC_EmitMergeInputChains1_0,
20222
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_S_W_PH),
20223
310
                 MVT::Untyped, 3, 1, 2, 3, 
20224
310
  10, 
20225
310
   OPC_CheckPatternPredicate6,
20226
310
   OPC_EmitMergeInputChains1_0,
20227
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_S_W_PH_MM),
20228
310
                 MVT::Untyped, 3, 1, 2, 3, 
20229
310
  0, 
20230
310
 28, TARGET_VAL(MipsISD::DPSQ_S_W_PH),
20231
310
  OPC_RecordNode,
20232
310
  OPC_RecordChild1,
20233
310
  OPC_RecordChild2,
20234
310
  OPC_RecordChild3,
20235
310
  OPC_Scope, 10, 
20236
310
   OPC_CheckPatternPredicate1,
20237
310
   OPC_EmitMergeInputChains1_0,
20238
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_S_W_PH),
20239
310
                 MVT::Untyped, 3, 1, 2, 3, 
20240
310
  10, 
20241
310
   OPC_CheckPatternPredicate6,
20242
310
   OPC_EmitMergeInputChains1_0,
20243
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_S_W_PH_MM),
20244
310
                 MVT::Untyped, 3, 1, 2, 3, 
20245
310
  0, 
20246
310
 28, TARGET_VAL(MipsISD::DPAQ_SA_L_W),
20247
310
  OPC_RecordNode,
20248
310
  OPC_RecordChild1,
20249
310
  OPC_RecordChild2,
20250
310
  OPC_RecordChild3,
20251
310
  OPC_Scope, 10, 
20252
310
   OPC_CheckPatternPredicate1,
20253
310
   OPC_EmitMergeInputChains1_0,
20254
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_SA_L_W),
20255
310
                 MVT::Untyped, 3, 1, 2, 3, 
20256
310
  10, 
20257
310
   OPC_CheckPatternPredicate6,
20258
310
   OPC_EmitMergeInputChains1_0,
20259
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQ_SA_L_W_MM),
20260
310
                 MVT::Untyped, 3, 1, 2, 3, 
20261
310
  0, 
20262
310
 28, TARGET_VAL(MipsISD::DPSQ_SA_L_W),
20263
310
  OPC_RecordNode,
20264
310
  OPC_RecordChild1,
20265
310
  OPC_RecordChild2,
20266
310
  OPC_RecordChild3,
20267
310
  OPC_Scope, 10, 
20268
310
   OPC_CheckPatternPredicate1,
20269
310
   OPC_EmitMergeInputChains1_0,
20270
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_SA_L_W),
20271
310
                 MVT::Untyped, 3, 1, 2, 3, 
20272
310
  10, 
20273
310
   OPC_CheckPatternPredicate6,
20274
310
   OPC_EmitMergeInputChains1_0,
20275
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQ_SA_L_W_MM),
20276
310
                 MVT::Untyped, 3, 1, 2, 3, 
20277
310
  0, 
20278
310
 25, TARGET_VAL(MipsISD::MTHLIP),
20279
310
  OPC_RecordNode,
20280
310
  OPC_RecordChild1,
20281
310
  OPC_RecordChild2,
20282
310
  OPC_Scope, 9, 
20283
310
   OPC_CheckPatternPredicate1,
20284
310
   OPC_EmitMergeInputChains1_0,
20285
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MTHLIP),
20286
310
                 MVT::Untyped, 2, 1, 2, 
20287
310
  9, 
20288
310
   OPC_CheckPatternPredicate6,
20289
310
   OPC_EmitMergeInputChains1_0,
20290
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::MTHLIP_MM),
20291
310
                 MVT::Untyped, 2, 1, 2, 
20292
310
  0, 
20293
310
 27, TARGET_VAL(MipsISD::DPA_W_PH),
20294
310
  OPC_RecordChild0,
20295
310
  OPC_RecordChild1,
20296
310
  OPC_RecordChild2,
20297
310
  OPC_Scope, 10, 
20298
310
   OPC_CheckPatternPredicate, 13,
20299
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPA_W_PH),
20300
310
                 MVT::Untyped, 3, 0, 1, 2, 
20301
310
  10, 
20302
310
   OPC_CheckPatternPredicate, 14,
20303
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPA_W_PH_MMR2),
20304
310
                 MVT::Untyped, 3, 0, 1, 2, 
20305
310
  0, 
20306
310
 27, TARGET_VAL(MipsISD::DPS_W_PH),
20307
310
  OPC_RecordChild0,
20308
310
  OPC_RecordChild1,
20309
310
  OPC_RecordChild2,
20310
310
  OPC_Scope, 10, 
20311
310
   OPC_CheckPatternPredicate, 13,
20312
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPS_W_PH),
20313
310
                 MVT::Untyped, 3, 0, 1, 2, 
20314
310
  10, 
20315
310
   OPC_CheckPatternPredicate, 14,
20316
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPS_W_PH_MMR2),
20317
310
                 MVT::Untyped, 3, 0, 1, 2, 
20318
310
  0, 
20319
310
 30, TARGET_VAL(MipsISD::DPAQX_S_W_PH),
20320
310
  OPC_RecordNode,
20321
310
  OPC_RecordChild1,
20322
310
  OPC_RecordChild2,
20323
310
  OPC_RecordChild3,
20324
310
  OPC_Scope, 11, 
20325
310
   OPC_CheckPatternPredicate, 13,
20326
310
   OPC_EmitMergeInputChains1_0,
20327
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_S_W_PH),
20328
310
                 MVT::Untyped, 3, 1, 2, 3, 
20329
310
  11, 
20330
310
   OPC_CheckPatternPredicate, 14,
20331
310
   OPC_EmitMergeInputChains1_0,
20332
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_S_W_PH_MMR2),
20333
310
                 MVT::Untyped, 3, 1, 2, 3, 
20334
310
  0, 
20335
310
 30, TARGET_VAL(MipsISD::DPAQX_SA_W_PH),
20336
310
  OPC_RecordNode,
20337
310
  OPC_RecordChild1,
20338
310
  OPC_RecordChild2,
20339
310
  OPC_RecordChild3,
20340
310
  OPC_Scope, 11, 
20341
310
   OPC_CheckPatternPredicate, 13,
20342
310
   OPC_EmitMergeInputChains1_0,
20343
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_SA_W_PH),
20344
310
                 MVT::Untyped, 3, 1, 2, 3, 
20345
310
  11, 
20346
310
   OPC_CheckPatternPredicate, 14,
20347
310
   OPC_EmitMergeInputChains1_0,
20348
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPAQX_SA_W_PH_MMR2),
20349
310
                 MVT::Untyped, 3, 1, 2, 3, 
20350
310
  0, 
20351
310
 27, TARGET_VAL(MipsISD::DPAX_W_PH),
20352
310
  OPC_RecordChild0,
20353
310
  OPC_RecordChild1,
20354
310
  OPC_RecordChild2,
20355
310
  OPC_Scope, 10, 
20356
310
   OPC_CheckPatternPredicate, 13,
20357
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAX_W_PH),
20358
310
                 MVT::Untyped, 3, 0, 1, 2, 
20359
310
  10, 
20360
310
   OPC_CheckPatternPredicate, 14,
20361
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPAX_W_PH_MMR2),
20362
310
                 MVT::Untyped, 3, 0, 1, 2, 
20363
310
  0, 
20364
310
 27, TARGET_VAL(MipsISD::DPSX_W_PH),
20365
310
  OPC_RecordChild0,
20366
310
  OPC_RecordChild1,
20367
310
  OPC_RecordChild2,
20368
310
  OPC_Scope, 10, 
20369
310
   OPC_CheckPatternPredicate, 13,
20370
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSX_W_PH),
20371
310
                 MVT::Untyped, 3, 0, 1, 2, 
20372
310
  10, 
20373
310
   OPC_CheckPatternPredicate, 14,
20374
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DPSX_W_PH_MMR2),
20375
310
                 MVT::Untyped, 3, 0, 1, 2, 
20376
310
  0, 
20377
310
 30, TARGET_VAL(MipsISD::DPSQX_S_W_PH),
20378
310
  OPC_RecordNode,
20379
310
  OPC_RecordChild1,
20380
310
  OPC_RecordChild2,
20381
310
  OPC_RecordChild3,
20382
310
  OPC_Scope, 11, 
20383
310
   OPC_CheckPatternPredicate, 13,
20384
310
   OPC_EmitMergeInputChains1_0,
20385
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_S_W_PH),
20386
310
                 MVT::Untyped, 3, 1, 2, 3, 
20387
310
  11, 
20388
310
   OPC_CheckPatternPredicate, 14,
20389
310
   OPC_EmitMergeInputChains1_0,
20390
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_S_W_PH_MMR2),
20391
310
                 MVT::Untyped, 3, 1, 2, 3, 
20392
310
  0, 
20393
310
 30, TARGET_VAL(MipsISD::DPSQX_SA_W_PH),
20394
310
  OPC_RecordNode,
20395
310
  OPC_RecordChild1,
20396
310
  OPC_RecordChild2,
20397
310
  OPC_RecordChild3,
20398
310
  OPC_Scope, 11, 
20399
310
   OPC_CheckPatternPredicate, 13,
20400
310
   OPC_EmitMergeInputChains1_0,
20401
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_SA_W_PH),
20402
310
                 MVT::Untyped, 3, 1, 2, 3, 
20403
310
  11, 
20404
310
   OPC_CheckPatternPredicate, 14,
20405
310
   OPC_EmitMergeInputChains1_0,
20406
310
   OPC_MorphNodeTo1Chain, TARGET_VAL(Mips::DPSQX_SA_W_PH_MMR2),
20407
310
                 MVT::Untyped, 3, 1, 2, 3, 
20408
310
  0, 
20409
310
 27, TARGET_VAL(MipsISD::MULSA_W_PH),
20410
310
  OPC_RecordChild0,
20411
310
  OPC_RecordChild1,
20412
310
  OPC_RecordChild2,
20413
310
  OPC_Scope, 10, 
20414
310
   OPC_CheckPatternPredicate, 13,
20415
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULSA_W_PH),
20416
310
                 MVT::Untyped, 3, 0, 1, 2, 
20417
310
  10, 
20418
310
   OPC_CheckPatternPredicate, 14,
20419
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MULSA_W_PH_MMR2),
20420
310
                 MVT::Untyped, 3, 0, 1, 2, 
20421
310
  0, 
20422
310
 13, TARGET_VAL(ISD::ADDE),
20423
310
  OPC_CaptureGlueInput,
20424
310
  OPC_RecordChild0,
20425
310
  OPC_RecordChild1,
20426
310
  OPC_CheckTypeI32,
20427
310
  OPC_CheckPatternPredicate1,
20428
310
  OPC_MorphNodeTo1, TARGET_VAL(Mips::ADDWC), 0|OPFL_GlueInput|OPFL_GlueOutput,
20429
310
                MVT::i32, 2, 0, 1, 
20430
310
 58, TARGET_VAL(ISD::BSWAP),
20431
310
  OPC_RecordChild0,
20432
310
  OPC_SwitchType , 37, MVT::i32,
20433
310
   OPC_Scope, 17, 
20434
310
    OPC_CheckPatternPredicate, 41,
20435
310
    OPC_EmitNode1None, TARGET_VAL(Mips::WSBH),
20436
310
                  MVT::i32, 1, 0, 
20437
310
    OPC_EmitInteger32, 32, 
20438
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR),
20439
310
                  MVT::i32, 2, 1, 2, 
20440
310
   16, 
20441
310
    OPC_CheckPatternPredicate4,
20442
310
    OPC_EmitNode1None, TARGET_VAL(Mips::WSBH_MM),
20443
310
                  MVT::i32, 1, 0, 
20444
310
    OPC_EmitInteger32, 32, 
20445
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::ROTR_MM),
20446
310
                  MVT::i32, 2, 1, 2, 
20447
310
   0, 
20448
310
  14, MVT::i64,
20449
310
   OPC_CheckPatternPredicate, 130,
20450
310
   OPC_EmitNode1None, TARGET_VAL(Mips::DSBH),
20451
310
                 MVT::i64, 1, 0, 
20452
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DSHD),
20453
310
                 MVT::i64, 1, 1, 
20454
310
  0,
20455
310
 19, TARGET_VAL(ISD::ANY_EXTEND),
20456
310
  OPC_RecordChild0,
20457
310
  OPC_CheckTypeI64,
20458
310
  OPC_CheckPatternPredicate, 12,
20459
310
  OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
20460
310
                MVT::i64, 0, 
20461
310
  OPC_EmitStringInteger32, Mips::sub_32,
20462
310
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
20463
310
                MVT::i64, 3, 1, 0, 2, 
20464
310
 40, TARGET_VAL(MipsISD::DivRem),
20465
310
  OPC_RecordChild0,
20466
310
  OPC_Scope, 24, 
20467
310
   OPC_CheckChild0TypeI32,
20468
310
   OPC_RecordChild1,
20469
310
   OPC_Scope, 9, 
20470
310
    OPC_CheckPatternPredicate, 38,
20471
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoSDIV),
20472
310
                  MVT::Untyped, 2, 0, 1, 
20473
310
   9, 
20474
310
    OPC_CheckPatternPredicate, 105,
20475
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SDIV_MM_Pseudo),
20476
310
                  MVT::Untyped, 2, 0, 1, 
20477
310
   0, 
20478
310
  11, 
20479
310
   OPC_CheckChild0TypeI64,
20480
310
   OPC_RecordChild1,
20481
310
   OPC_CheckPatternPredicate, 30,
20482
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDSDIV),
20483
310
                 MVT::Untyped, 2, 0, 1, 
20484
310
  0, 
20485
310
 40, TARGET_VAL(MipsISD::DivRemU),
20486
310
  OPC_RecordChild0,
20487
310
  OPC_Scope, 24, 
20488
310
   OPC_CheckChild0TypeI32,
20489
310
   OPC_RecordChild1,
20490
310
   OPC_Scope, 9, 
20491
310
    OPC_CheckPatternPredicate, 38,
20492
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoUDIV),
20493
310
                  MVT::Untyped, 2, 0, 1, 
20494
310
   9, 
20495
310
    OPC_CheckPatternPredicate, 105,
20496
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::UDIV_MM_Pseudo),
20497
310
                  MVT::Untyped, 2, 0, 1, 
20498
310
   0, 
20499
310
  11, 
20500
310
   OPC_CheckChild0TypeI64,
20501
310
   OPC_RecordChild1,
20502
310
   OPC_CheckPatternPredicate, 30,
20503
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoDUDIV),
20504
310
                 MVT::Untyped, 2, 0, 1, 
20505
310
  0, 
20506
310
 78, TARGET_VAL(ISD::SDIV),
20507
310
  OPC_RecordChild0,
20508
310
  OPC_RecordChild1,
20509
310
  OPC_SwitchType , 21, MVT::i32,
20510
310
   OPC_Scope, 9, 
20511
310
    OPC_CheckPatternPredicate, 15,
20512
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV),
20513
310
                  MVT::i32, 2, 0, 1, 
20514
310
   8, 
20515
310
    OPC_CheckPatternPredicate7,
20516
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_MMR6),
20517
310
                  MVT::i32, 2, 0, 1, 
20518
310
   0, 
20519
310
  9, MVT::i64,
20520
310
   OPC_CheckPatternPredicate, 36,
20521
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DDIV),
20522
310
                 MVT::i64, 2, 0, 1, 
20523
310
  8, MVT::v16i8,
20524
310
   OPC_CheckPatternPredicate0,
20525
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_B),
20526
310
                 MVT::v16i8, 2, 0, 1, 
20527
310
  8, MVT::v8i16,
20528
310
   OPC_CheckPatternPredicate0,
20529
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_H),
20530
310
                 MVT::v8i16, 2, 0, 1, 
20531
310
  8, MVT::v4i32,
20532
310
   OPC_CheckPatternPredicate0,
20533
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_W),
20534
310
                 MVT::v4i32, 2, 0, 1, 
20535
310
  8, MVT::v2i64,
20536
310
   OPC_CheckPatternPredicate0,
20537
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_S_D),
20538
310
                 MVT::v2i64, 2, 0, 1, 
20539
310
  0,
20540
310
 78, TARGET_VAL(ISD::UDIV),
20541
310
  OPC_RecordChild0,
20542
310
  OPC_RecordChild1,
20543
310
  OPC_SwitchType , 21, MVT::i32,
20544
310
   OPC_Scope, 9, 
20545
310
    OPC_CheckPatternPredicate, 15,
20546
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIVU),
20547
310
                  MVT::i32, 2, 0, 1, 
20548
310
   8, 
20549
310
    OPC_CheckPatternPredicate7,
20550
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIVU_MMR6),
20551
310
                  MVT::i32, 2, 0, 1, 
20552
310
   0, 
20553
310
  9, MVT::i64,
20554
310
   OPC_CheckPatternPredicate, 36,
20555
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DDIVU),
20556
310
                 MVT::i64, 2, 0, 1, 
20557
310
  8, MVT::v16i8,
20558
310
   OPC_CheckPatternPredicate0,
20559
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_B),
20560
310
                 MVT::v16i8, 2, 0, 1, 
20561
310
  8, MVT::v8i16,
20562
310
   OPC_CheckPatternPredicate0,
20563
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_H),
20564
310
                 MVT::v8i16, 2, 0, 1, 
20565
310
  8, MVT::v4i32,
20566
310
   OPC_CheckPatternPredicate0,
20567
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_W),
20568
310
                 MVT::v4i32, 2, 0, 1, 
20569
310
  8, MVT::v2i64,
20570
310
   OPC_CheckPatternPredicate0,
20571
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DIV_U_D),
20572
310
                 MVT::v2i64, 2, 0, 1, 
20573
310
  0,
20574
310
 78, TARGET_VAL(ISD::SREM),
20575
310
  OPC_RecordChild0,
20576
310
  OPC_RecordChild1,
20577
310
  OPC_SwitchType , 21, MVT::i32,
20578
310
   OPC_Scope, 9, 
20579
310
    OPC_CheckPatternPredicate, 15,
20580
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD),
20581
310
                  MVT::i32, 2, 0, 1, 
20582
310
   8, 
20583
310
    OPC_CheckPatternPredicate7,
20584
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_MMR6),
20585
310
                  MVT::i32, 2, 0, 1, 
20586
310
   0, 
20587
310
  9, MVT::i64,
20588
310
   OPC_CheckPatternPredicate, 36,
20589
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMOD),
20590
310
                 MVT::i64, 2, 0, 1, 
20591
310
  8, MVT::v16i8,
20592
310
   OPC_CheckPatternPredicate0,
20593
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_B),
20594
310
                 MVT::v16i8, 2, 0, 1, 
20595
310
  8, MVT::v8i16,
20596
310
   OPC_CheckPatternPredicate0,
20597
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_H),
20598
310
                 MVT::v8i16, 2, 0, 1, 
20599
310
  8, MVT::v4i32,
20600
310
   OPC_CheckPatternPredicate0,
20601
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_W),
20602
310
                 MVT::v4i32, 2, 0, 1, 
20603
310
  8, MVT::v2i64,
20604
310
   OPC_CheckPatternPredicate0,
20605
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_S_D),
20606
310
                 MVT::v2i64, 2, 0, 1, 
20607
310
  0,
20608
310
 78, TARGET_VAL(ISD::UREM),
20609
310
  OPC_RecordChild0,
20610
310
  OPC_RecordChild1,
20611
310
  OPC_SwitchType , 21, MVT::i32,
20612
310
   OPC_Scope, 9, 
20613
310
    OPC_CheckPatternPredicate, 15,
20614
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODU),
20615
310
                  MVT::i32, 2, 0, 1, 
20616
310
   8, 
20617
310
    OPC_CheckPatternPredicate7,
20618
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MODU_MMR6),
20619
310
                  MVT::i32, 2, 0, 1, 
20620
310
   0, 
20621
310
  9, MVT::i64,
20622
310
   OPC_CheckPatternPredicate, 36,
20623
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMODU),
20624
310
                 MVT::i64, 2, 0, 1, 
20625
310
  8, MVT::v16i8,
20626
310
   OPC_CheckPatternPredicate0,
20627
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_B),
20628
310
                 MVT::v16i8, 2, 0, 1, 
20629
310
  8, MVT::v8i16,
20630
310
   OPC_CheckPatternPredicate0,
20631
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_H),
20632
310
                 MVT::v8i16, 2, 0, 1, 
20633
310
  8, MVT::v4i32,
20634
310
   OPC_CheckPatternPredicate0,
20635
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_W),
20636
310
                 MVT::v4i32, 2, 0, 1, 
20637
310
  8, MVT::v2i64,
20638
310
   OPC_CheckPatternPredicate0,
20639
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MOD_U_D),
20640
310
                 MVT::v2i64, 2, 0, 1, 
20641
310
  0,
20642
310
 40, TARGET_VAL(MipsISD::VALL_NONZERO),
20643
310
  OPC_RecordChild0,
20644
310
  OPC_CheckTypeI32,
20645
310
  OPC_Scope, 8, 
20646
310
   OPC_CheckChild0Type, MVT::v16i8,
20647
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_B_PSEUDO),
20648
310
                 MVT::i32, 1, 0, 
20649
310
  8, 
20650
310
   OPC_CheckChild0Type, MVT::v8i16,
20651
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_H_PSEUDO),
20652
310
                 MVT::i32, 1, 0, 
20653
310
  8, 
20654
310
   OPC_CheckChild0Type, MVT::v4i32,
20655
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_W_PSEUDO),
20656
310
                 MVT::i32, 1, 0, 
20657
310
  8, 
20658
310
   OPC_CheckChild0Type, MVT::v2i64,
20659
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_D_PSEUDO),
20660
310
                 MVT::i32, 1, 0, 
20661
310
  0, 
20662
310
 10, TARGET_VAL(MipsISD::VANY_NONZERO),
20663
310
  OPC_RecordChild0,
20664
310
  OPC_CheckChild0Type, MVT::v16i8,
20665
310
  OPC_CheckTypeI32,
20666
310
  OPC_MorphNodeTo1None, TARGET_VAL(Mips::SNZ_V_PSEUDO),
20667
310
                MVT::i32, 1, 0, 
20668
310
 40, TARGET_VAL(MipsISD::VALL_ZERO),
20669
310
  OPC_RecordChild0,
20670
310
  OPC_CheckTypeI32,
20671
310
  OPC_Scope, 8, 
20672
310
   OPC_CheckChild0Type, MVT::v16i8,
20673
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_B_PSEUDO),
20674
310
                 MVT::i32, 1, 0, 
20675
310
  8, 
20676
310
   OPC_CheckChild0Type, MVT::v8i16,
20677
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_H_PSEUDO),
20678
310
                 MVT::i32, 1, 0, 
20679
310
  8, 
20680
310
   OPC_CheckChild0Type, MVT::v4i32,
20681
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_W_PSEUDO),
20682
310
                 MVT::i32, 1, 0, 
20683
310
  8, 
20684
310
   OPC_CheckChild0Type, MVT::v2i64,
20685
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_D_PSEUDO),
20686
310
                 MVT::i32, 1, 0, 
20687
310
  0, 
20688
310
 10, TARGET_VAL(MipsISD::VANY_ZERO),
20689
310
  OPC_RecordChild0,
20690
310
  OPC_CheckChild0Type, MVT::v16i8,
20691
310
  OPC_CheckTypeI32,
20692
310
  OPC_MorphNodeTo1None, TARGET_VAL(Mips::SZ_V_PSEUDO),
20693
310
                MVT::i32, 1, 0, 
20694
310
 109|128,2, TARGET_VAL(ISD::FSUB),
20695
310
  OPC_Scope, 88|128,1, 
20696
310
   OPC_MoveChild0,
20697
310
   OPC_SwitchOpcode , 34|128,1, TARGET_VAL(ISD::ConstantFP),
20698
310
    OPC_CheckPredicate, 46,
20699
310
    OPC_MoveSibling1,
20700
310
    OPC_SwitchOpcode , 102, TARGET_VAL(ISD::FADD),
20701
310
     OPC_Scope, 49, 
20702
310
      OPC_MoveChild0,
20703
310
      OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20704
310
      OPC_RecordChild0,
20705
310
      OPC_RecordChild1,
20706
310
      OPC_MoveParent,
20707
310
      OPC_RecordChild1,
20708
310
      OPC_MoveParent,
20709
310
      OPC_SwitchType , 10, MVT::f32,
20710
310
       OPC_CheckPatternPredicate, 66,
20711
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
20712
310
                     MVT::f32, 3, 2, 0, 1, 
20713
310
      24, MVT::f64,
20714
310
       OPC_Scope, 10, 
20715
310
        OPC_CheckPatternPredicate, 67,
20716
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
20717
310
                      MVT::f64, 3, 2, 0, 1, 
20718
310
       10, 
20719
310
        OPC_CheckPatternPredicate, 68,
20720
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
20721
310
                      MVT::f64, 3, 2, 0, 1, 
20722
310
       0, 
20723
310
      0,
20724
310
     49, 
20725
310
      OPC_RecordChild0,
20726
310
      OPC_MoveChild1,
20727
310
      OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20728
310
      OPC_RecordChild0,
20729
310
      OPC_RecordChild1,
20730
310
      OPC_MoveParent,
20731
310
      OPC_MoveParent,
20732
310
      OPC_SwitchType , 10, MVT::f32,
20733
310
       OPC_CheckPatternPredicate, 66,
20734
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
20735
310
                     MVT::f32, 3, 0, 1, 2, 
20736
310
      24, MVT::f64,
20737
310
       OPC_Scope, 10, 
20738
310
        OPC_CheckPatternPredicate, 67,
20739
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
20740
310
                      MVT::f64, 3, 0, 1, 2, 
20741
310
       10, 
20742
310
        OPC_CheckPatternPredicate, 68,
20743
310
        OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
20744
310
                      MVT::f64, 3, 0, 1, 2, 
20745
310
       0, 
20746
310
      0,
20747
310
     0, 
20748
310
    49, TARGET_VAL(ISD::FSUB),
20749
310
     OPC_MoveChild0,
20750
310
     OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20751
310
     OPC_RecordChild0,
20752
310
     OPC_RecordChild1,
20753
310
     OPC_MoveParent,
20754
310
     OPC_RecordChild1,
20755
310
     OPC_MoveParent,
20756
310
     OPC_SwitchType , 10, MVT::f32,
20757
310
      OPC_CheckPatternPredicate, 66,
20758
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S),
20759
310
                    MVT::f32, 3, 2, 0, 1, 
20760
310
     24, MVT::f64,
20761
310
      OPC_Scope, 10, 
20762
310
       OPC_CheckPatternPredicate, 67,
20763
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32),
20764
310
                     MVT::f64, 3, 2, 0, 1, 
20765
310
      10, 
20766
310
       OPC_CheckPatternPredicate, 68,
20767
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D64),
20768
310
                     MVT::f64, 3, 2, 0, 1, 
20769
310
      0, 
20770
310
     0,
20771
310
    0,
20772
310
   44, TARGET_VAL(ISD::FMUL),
20773
310
    OPC_RecordChild0,
20774
310
    OPC_RecordChild1,
20775
310
    OPC_MoveParent,
20776
310
    OPC_RecordChild1,
20777
310
    OPC_SwitchType , 10, MVT::f32,
20778
310
     OPC_CheckPatternPredicate, 69,
20779
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_S),
20780
310
                   MVT::f32, 3, 2, 0, 1, 
20781
310
    24, MVT::f64,
20782
310
     OPC_Scope, 10, 
20783
310
      OPC_CheckPatternPredicate, 70,
20784
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_D32),
20785
310
                    MVT::f64, 3, 2, 0, 1, 
20786
310
     10, 
20787
310
      OPC_CheckPatternPredicate, 71,
20788
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSUB_D64),
20789
310
                    MVT::f64, 3, 2, 0, 1, 
20790
310
     0, 
20791
310
    0,
20792
310
   0,
20793
310
  15|128,1, 
20794
310
   OPC_RecordChild0,
20795
310
   OPC_Scope, 81, 
20796
310
    OPC_RecordChild1,
20797
310
    OPC_SwitchType , 32, MVT::f32,
20798
310
     OPC_Scope, 9, 
20799
310
      OPC_CheckPatternPredicate, 39,
20800
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S),
20801
310
                    MVT::f32, 2, 0, 1, 
20802
310
     9, 
20803
310
      OPC_CheckPatternPredicate, 32,
20804
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S_MM),
20805
310
                    MVT::f32, 2, 0, 1, 
20806
310
     9, 
20807
310
      OPC_CheckPatternPredicate, 24,
20808
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_S_MMR6),
20809
310
                    MVT::f32, 2, 1, 0, 
20810
310
     0, 
20811
310
    42, MVT::f64,
20812
310
     OPC_Scope, 9, 
20813
310
      OPC_CheckPatternPredicate, 47,
20814
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D32),
20815
310
                    MVT::f64, 2, 0, 1, 
20816
310
     9, 
20817
310
      OPC_CheckPatternPredicate, 48,
20818
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D64),
20819
310
                    MVT::f64, 2, 0, 1, 
20820
310
     9, 
20821
310
      OPC_CheckPatternPredicate, 33,
20822
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D32_MM),
20823
310
                    MVT::f64, 2, 0, 1, 
20824
310
     9, 
20825
310
      OPC_CheckPatternPredicate, 34,
20826
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D64_MM),
20827
310
                    MVT::f64, 2, 0, 1, 
20828
310
     0, 
20829
310
    0,
20830
310
   33, 
20831
310
    OPC_MoveChild1,
20832
310
    OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20833
310
    OPC_RecordChild0,
20834
310
    OPC_RecordChild1,
20835
310
    OPC_MoveParent,
20836
310
    OPC_SwitchType , 10, MVT::v4f32,
20837
310
     OPC_CheckPatternPredicate, 43,
20838
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_W),
20839
310
                   MVT::v4f32, 3, 0, 1, 2, 
20840
310
    10, MVT::v2f64,
20841
310
     OPC_CheckPatternPredicate, 43,
20842
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_D),
20843
310
                   MVT::v2f64, 3, 0, 1, 2, 
20844
310
    0,
20845
310
   23, 
20846
310
    OPC_RecordChild1,
20847
310
    OPC_SwitchType , 8, MVT::v4f32,
20848
310
     OPC_CheckPatternPredicate0,
20849
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_W),
20850
310
                   MVT::v4f32, 2, 0, 1, 
20851
310
    8, MVT::v2f64,
20852
310
     OPC_CheckPatternPredicate0,
20853
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSUB_D),
20854
310
                   MVT::v2f64, 2, 0, 1, 
20855
310
    0,
20856
310
   0, 
20857
310
  0, 
20858
310
 59|128,2, TARGET_VAL(ISD::FNEG),
20859
310
  OPC_Scope, 108|128,1, 
20860
310
   OPC_MoveChild0,
20861
310
   OPC_SwitchOpcode , 24|128,1, TARGET_VAL(ISD::FADD),
20862
310
    OPC_Scope, 74, 
20863
310
     OPC_MoveChild0,
20864
310
     OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20865
310
     OPC_RecordChild0,
20866
310
     OPC_RecordChild1,
20867
310
     OPC_MoveParent,
20868
310
     OPC_RecordChild1,
20869
310
     OPC_MoveParent,
20870
310
     OPC_SwitchType , 24, MVT::f32,
20871
310
      OPC_Scope, 10, 
20872
310
       OPC_CheckPatternPredicate, 72,
20873
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
20874
310
                     MVT::f32, 3, 2, 0, 1, 
20875
310
      10, 
20876
310
       OPC_CheckPatternPredicate, 73,
20877
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S_MM),
20878
310
                     MVT::f32, 3, 2, 0, 1, 
20879
310
      0, 
20880
310
     35, MVT::f64,
20881
310
      OPC_Scope, 10, 
20882
310
       OPC_CheckPatternPredicate, 74,
20883
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
20884
310
                     MVT::f64, 3, 2, 0, 1, 
20885
310
      10, 
20886
310
       OPC_CheckPatternPredicate, 75,
20887
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
20888
310
                     MVT::f64, 3, 2, 0, 1, 
20889
310
      10, 
20890
310
       OPC_CheckPatternPredicate, 76,
20891
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32_MM),
20892
310
                     MVT::f64, 3, 2, 0, 1, 
20893
310
      0, 
20894
310
     0,
20895
310
    74, 
20896
310
     OPC_RecordChild0,
20897
310
     OPC_MoveChild1,
20898
310
     OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20899
310
     OPC_RecordChild0,
20900
310
     OPC_RecordChild1,
20901
310
     OPC_MoveParent,
20902
310
     OPC_MoveParent,
20903
310
     OPC_SwitchType , 24, MVT::f32,
20904
310
      OPC_Scope, 10, 
20905
310
       OPC_CheckPatternPredicate, 72,
20906
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S),
20907
310
                     MVT::f32, 3, 0, 1, 2, 
20908
310
      10, 
20909
310
       OPC_CheckPatternPredicate, 73,
20910
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_S_MM),
20911
310
                     MVT::f32, 3, 0, 1, 2, 
20912
310
      0, 
20913
310
     35, MVT::f64,
20914
310
      OPC_Scope, 10, 
20915
310
       OPC_CheckPatternPredicate, 74,
20916
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32),
20917
310
                     MVT::f64, 3, 0, 1, 2, 
20918
310
      10, 
20919
310
       OPC_CheckPatternPredicate, 75,
20920
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D64),
20921
310
                     MVT::f64, 3, 0, 1, 2, 
20922
310
      10, 
20923
310
       OPC_CheckPatternPredicate, 76,
20924
310
       OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMADD_D32_MM),
20925
310
                     MVT::f64, 3, 0, 1, 2, 
20926
310
      0, 
20927
310
     0,
20928
310
    0, 
20929
310
   74, TARGET_VAL(ISD::FSUB),
20930
310
    OPC_MoveChild0,
20931
310
    OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
20932
310
    OPC_RecordChild0,
20933
310
    OPC_RecordChild1,
20934
310
    OPC_MoveParent,
20935
310
    OPC_RecordChild1,
20936
310
    OPC_MoveParent,
20937
310
    OPC_SwitchType , 24, MVT::f32,
20938
310
     OPC_Scope, 10, 
20939
310
      OPC_CheckPatternPredicate, 72,
20940
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S),
20941
310
                    MVT::f32, 3, 2, 0, 1, 
20942
310
     10, 
20943
310
      OPC_CheckPatternPredicate, 73,
20944
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_S_MM),
20945
310
                    MVT::f32, 3, 2, 0, 1, 
20946
310
     0, 
20947
310
    35, MVT::f64,
20948
310
     OPC_Scope, 10, 
20949
310
      OPC_CheckPatternPredicate, 74,
20950
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32),
20951
310
                    MVT::f64, 3, 2, 0, 1, 
20952
310
     10, 
20953
310
      OPC_CheckPatternPredicate, 75,
20954
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D64),
20955
310
                    MVT::f64, 3, 2, 0, 1, 
20956
310
     10, 
20957
310
      OPC_CheckPatternPredicate, 76,
20958
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::NMSUB_D32_MM),
20959
310
                    MVT::f64, 3, 2, 0, 1, 
20960
310
     0, 
20961
310
    0,
20962
310
   0,
20963
310
  74, 
20964
310
   OPC_RecordChild0,
20965
310
   OPC_SwitchType , 29, MVT::f32,
20966
310
    OPC_Scope, 8, 
20967
310
     OPC_CheckPatternPredicate, 131,
20968
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S),
20969
310
                   MVT::f32, 1, 0, 
20970
310
    8, 
20971
310
     OPC_CheckPatternPredicate, 32,
20972
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MM),
20973
310
                   MVT::f32, 1, 0, 
20974
310
    8, 
20975
310
     OPC_CheckPatternPredicate, 24,
20976
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MMR6),
20977
310
                   MVT::f32, 1, 0, 
20978
310
    0, 
20979
310
   38, MVT::f64,
20980
310
    OPC_Scope, 8, 
20981
310
     OPC_CheckPatternPredicate, 47,
20982
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D32),
20983
310
                   MVT::f64, 1, 0, 
20984
310
    8, 
20985
310
     OPC_CheckPatternPredicate, 48,
20986
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64),
20987
310
                   MVT::f64, 1, 0, 
20988
310
    8, 
20989
310
     OPC_CheckPatternPredicate, 33,
20990
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D32_MM),
20991
310
                   MVT::f64, 1, 0, 
20992
310
    8, 
20993
310
     OPC_CheckPatternPredicate, 34,
20994
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64_MM),
20995
310
                   MVT::f64, 1, 0, 
20996
310
    0, 
20997
310
   0,
20998
310
  0, 
20999
310
 24|128,2, TARGET_VAL(ISD::FADD),
21000
310
  OPC_Scope, 48, 
21001
310
   OPC_MoveChild0,
21002
310
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
21003
310
   OPC_RecordChild0,
21004
310
   OPC_RecordChild1,
21005
310
   OPC_MoveParent,
21006
310
   OPC_RecordChild1,
21007
310
   OPC_SwitchType , 10, MVT::f32,
21008
310
    OPC_CheckPatternPredicate, 69,
21009
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_S),
21010
310
                  MVT::f32, 3, 2, 0, 1, 
21011
310
   24, MVT::f64,
21012
310
    OPC_Scope, 10, 
21013
310
     OPC_CheckPatternPredicate, 70,
21014
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D32),
21015
310
                   MVT::f64, 3, 2, 0, 1, 
21016
310
    10, 
21017
310
     OPC_CheckPatternPredicate, 71,
21018
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D64),
21019
310
                   MVT::f64, 3, 2, 0, 1, 
21020
310
    0, 
21021
310
   0,
21022
310
  39|128,1, 
21023
310
   OPC_RecordChild0,
21024
310
   OPC_Scope, 47, 
21025
310
    OPC_MoveChild1,
21026
310
    OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
21027
310
    OPC_RecordChild0,
21028
310
    OPC_RecordChild1,
21029
310
    OPC_MoveParent,
21030
310
    OPC_SwitchType , 10, MVT::f32,
21031
310
     OPC_CheckPatternPredicate, 69,
21032
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_S),
21033
310
                   MVT::f32, 3, 0, 1, 2, 
21034
310
    24, MVT::f64,
21035
310
     OPC_Scope, 10, 
21036
310
      OPC_CheckPatternPredicate, 70,
21037
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D32),
21038
310
                    MVT::f64, 3, 0, 1, 2, 
21039
310
     10, 
21040
310
      OPC_CheckPatternPredicate, 71,
21041
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::MADD_D64),
21042
310
                    MVT::f64, 3, 0, 1, 2, 
21043
310
     0, 
21044
310
    0,
21045
310
   81, 
21046
310
    OPC_RecordChild1,
21047
310
    OPC_SwitchType , 32, MVT::f32,
21048
310
     OPC_Scope, 9, 
21049
310
      OPC_CheckPatternPredicate, 39,
21050
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S),
21051
310
                    MVT::f32, 2, 0, 1, 
21052
310
     9, 
21053
310
      OPC_CheckPatternPredicate, 32,
21054
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S_MM),
21055
310
                    MVT::f32, 2, 0, 1, 
21056
310
     9, 
21057
310
      OPC_CheckPatternPredicate, 24,
21058
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_S_MMR6),
21059
310
                    MVT::f32, 2, 1, 0, 
21060
310
     0, 
21061
310
    42, MVT::f64,
21062
310
     OPC_Scope, 9, 
21063
310
      OPC_CheckPatternPredicate, 47,
21064
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D32),
21065
310
                    MVT::f64, 2, 0, 1, 
21066
310
     9, 
21067
310
      OPC_CheckPatternPredicate, 48,
21068
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D64),
21069
310
                    MVT::f64, 2, 0, 1, 
21070
310
     9, 
21071
310
      OPC_CheckPatternPredicate, 33,
21072
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D32_MM),
21073
310
                    MVT::f64, 2, 0, 1, 
21074
310
     9, 
21075
310
      OPC_CheckPatternPredicate, 34,
21076
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D64_MM),
21077
310
                    MVT::f64, 2, 0, 1, 
21078
310
     0, 
21079
310
    0,
21080
310
   33, 
21081
310
    OPC_MoveChild1,
21082
310
    OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
21083
310
    OPC_RecordChild0,
21084
310
    OPC_RecordChild1,
21085
310
    OPC_MoveParent,
21086
310
    OPC_SwitchType , 10, MVT::v4f32,
21087
310
     OPC_CheckPatternPredicate, 43,
21088
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
21089
310
                   MVT::v4f32, 3, 0, 1, 2, 
21090
310
    10, MVT::v2f64,
21091
310
     OPC_CheckPatternPredicate, 43,
21092
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
21093
310
                   MVT::v2f64, 3, 0, 1, 2, 
21094
310
    0,
21095
310
   0, 
21096
310
  34, 
21097
310
   OPC_MoveChild0,
21098
310
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
21099
310
   OPC_RecordChild0,
21100
310
   OPC_RecordChild1,
21101
310
   OPC_MoveParent,
21102
310
   OPC_RecordChild1,
21103
310
   OPC_SwitchType , 10, MVT::v4f32,
21104
310
    OPC_CheckPatternPredicate, 43,
21105
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
21106
310
                  MVT::v4f32, 3, 2, 0, 1, 
21107
310
   10, MVT::v2f64,
21108
310
    OPC_CheckPatternPredicate, 43,
21109
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
21110
310
                  MVT::v2f64, 3, 2, 0, 1, 
21111
310
   0,
21112
310
  24, 
21113
310
   OPC_RecordChild0,
21114
310
   OPC_RecordChild1,
21115
310
   OPC_SwitchType , 8, MVT::v4f32,
21116
310
    OPC_CheckPatternPredicate0,
21117
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_W),
21118
310
                  MVT::v4f32, 2, 0, 1, 
21119
310
   8, MVT::v2f64,
21120
310
    OPC_CheckPatternPredicate0,
21121
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FADD_D),
21122
310
                  MVT::v2f64, 2, 0, 1, 
21123
310
   0,
21124
310
  0, 
21125
310
 8|128,1, TARGET_VAL(ISD::ConstantFP),
21126
310
  OPC_Scope, 54, 
21127
310
   OPC_CheckPredicate, 46,
21128
310
   OPC_SwitchType , 34, MVT::f32,
21129
310
    OPC_Scope, 10, 
21130
310
     OPC_CheckPatternPredicate, 56,
21131
310
     OPC_EmitRegisterI32, Mips::ZERO,
21132
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1),
21133
310
                   MVT::f32, 1, 0, 
21134
310
    10, 
21135
310
     OPC_CheckPatternPredicate, 8,
21136
310
     OPC_EmitRegisterI32, Mips::ZERO,
21137
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MM),
21138
310
                   MVT::f32, 1, 0, 
21139
310
    9, 
21140
310
     OPC_CheckPatternPredicate7,
21141
310
     OPC_EmitRegisterI32, Mips::ZERO,
21142
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_MMR6),
21143
310
                   MVT::f32, 1, 0, 
21144
310
    0, 
21145
310
   12, MVT::f64,
21146
310
    OPC_CheckPatternPredicate, 106,
21147
310
    OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
21148
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::DMTC1),
21149
310
                  MVT::f64, 1, 0, 
21150
310
   0,
21151
310
  78, 
21152
310
   OPC_CheckPredicate, 52,
21153
310
   OPC_SwitchType , 52, MVT::f32,
21154
310
    OPC_Scope, 16, 
21155
310
     OPC_CheckPatternPredicate, 56,
21156
310
     OPC_EmitRegisterI32, Mips::ZERO,
21157
310
     OPC_EmitNode1None, TARGET_VAL(Mips::MTC1),
21158
310
                   MVT::f32, 1, 0, 
21159
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S),
21160
310
                   MVT::f32, 1, 1, 
21161
310
    16, 
21162
310
     OPC_CheckPatternPredicate, 8,
21163
310
     OPC_EmitRegisterI32, Mips::ZERO,
21164
310
     OPC_EmitNode1None, TARGET_VAL(Mips::MTC1_MM),
21165
310
                   MVT::f32, 1, 0, 
21166
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MM),
21167
310
                   MVT::f32, 1, 1, 
21168
310
    15, 
21169
310
     OPC_CheckPatternPredicate7,
21170
310
     OPC_EmitRegisterI32, Mips::ZERO,
21171
310
     OPC_EmitNode1None, TARGET_VAL(Mips::MTC1_MMR6),
21172
310
                   MVT::f32, 1, 0, 
21173
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_S_MMR6),
21174
310
                   MVT::f32, 1, 1, 
21175
310
    0, 
21176
310
   18, MVT::f64,
21177
310
    OPC_CheckPatternPredicate, 106,
21178
310
    OPC_EmitRegister2, MVT::i64, TARGET_VAL(Mips::ZERO_64),
21179
310
    OPC_EmitNode1None, TARGET_VAL(Mips::DMTC1),
21180
310
                  MVT::f64, 1, 0, 
21181
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FNEG_D64),
21182
310
                  MVT::f64, 1, 1, 
21183
310
   0,
21184
310
  0, 
21185
310
 83, TARGET_VAL(ISD::FABS),
21186
310
  OPC_RecordChild0,
21187
310
  OPC_SwitchType , 20, MVT::f32,
21188
310
   OPC_Scope, 8, 
21189
310
    OPC_CheckPatternPredicate, 132,
21190
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S),
21191
310
                  MVT::f32, 1, 0, 
21192
310
   8, 
21193
310
    OPC_CheckPatternPredicate, 133,
21194
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_S_MM),
21195
310
                  MVT::f32, 1, 0, 
21196
310
   0, 
21197
310
  38, MVT::f64,
21198
310
   OPC_Scope, 8, 
21199
310
    OPC_CheckPatternPredicate, 134,
21200
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D32),
21201
310
                  MVT::f64, 1, 0, 
21202
310
   8, 
21203
310
    OPC_CheckPatternPredicate, 135,
21204
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D64),
21205
310
                  MVT::f64, 1, 0, 
21206
310
   8, 
21207
310
    OPC_CheckPatternPredicate, 33,
21208
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D32_MM),
21209
310
                  MVT::f64, 1, 0, 
21210
310
   8, 
21211
310
    OPC_CheckPatternPredicate, 34,
21212
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D64_MM),
21213
310
                  MVT::f64, 1, 0, 
21214
310
   0, 
21215
310
  7, MVT::v4f32,
21216
310
   OPC_CheckPatternPredicate0,
21217
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_W),
21218
310
                 MVT::v4f32, 1, 0, 
21219
310
  7, MVT::v2f64,
21220
310
   OPC_CheckPatternPredicate0,
21221
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FABS_D),
21222
310
                 MVT::v2f64, 1, 0, 
21223
310
  0,
21224
310
 83, TARGET_VAL(ISD::FSQRT),
21225
310
  OPC_RecordChild0,
21226
310
  OPC_SwitchType , 20, MVT::f32,
21227
310
   OPC_Scope, 8, 
21228
310
    OPC_CheckPatternPredicate, 136,
21229
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_S),
21230
310
                  MVT::f32, 1, 0, 
21231
310
   8, 
21232
310
    OPC_CheckPatternPredicate, 32,
21233
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_S_MM),
21234
310
                  MVT::f32, 1, 0, 
21235
310
   0, 
21236
310
  38, MVT::f64,
21237
310
   OPC_Scope, 8, 
21238
310
    OPC_CheckPatternPredicate, 60,
21239
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D32),
21240
310
                  MVT::f64, 1, 0, 
21241
310
   8, 
21242
310
    OPC_CheckPatternPredicate, 59,
21243
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D64),
21244
310
                  MVT::f64, 1, 0, 
21245
310
   8, 
21246
310
    OPC_CheckPatternPredicate, 33,
21247
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D32_MM),
21248
310
                  MVT::f64, 1, 0, 
21249
310
   8, 
21250
310
    OPC_CheckPatternPredicate, 34,
21251
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D64_MM),
21252
310
                  MVT::f64, 1, 0, 
21253
310
   0, 
21254
310
  7, MVT::v4f32,
21255
310
   OPC_CheckPatternPredicate0,
21256
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_W),
21257
310
                 MVT::v4f32, 1, 0, 
21258
310
  7, MVT::v2f64,
21259
310
   OPC_CheckPatternPredicate0,
21260
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FSQRT_D),
21261
310
                 MVT::v2f64, 1, 0, 
21262
310
  0,
21263
310
 102, TARGET_VAL(ISD::FDIV),
21264
310
  OPC_RecordChild0,
21265
310
  OPC_RecordChild1,
21266
310
  OPC_SwitchType , 32, MVT::f32,
21267
310
   OPC_Scope, 9, 
21268
310
    OPC_CheckPatternPredicate, 39,
21269
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S),
21270
310
                  MVT::f32, 2, 0, 1, 
21271
310
   9, 
21272
310
    OPC_CheckPatternPredicate, 32,
21273
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S_MM),
21274
310
                  MVT::f32, 2, 0, 1, 
21275
310
   9, 
21276
310
    OPC_CheckPatternPredicate, 24,
21277
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_S_MMR6),
21278
310
                  MVT::f32, 2, 1, 0, 
21279
310
   0, 
21280
310
  42, MVT::f64,
21281
310
   OPC_Scope, 9, 
21282
310
    OPC_CheckPatternPredicate, 47,
21283
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D32),
21284
310
                  MVT::f64, 2, 0, 1, 
21285
310
   9, 
21286
310
    OPC_CheckPatternPredicate, 48,
21287
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D64),
21288
310
                  MVT::f64, 2, 0, 1, 
21289
310
   9, 
21290
310
    OPC_CheckPatternPredicate, 33,
21291
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D32_MM),
21292
310
                  MVT::f64, 2, 0, 1, 
21293
310
   9, 
21294
310
    OPC_CheckPatternPredicate, 34,
21295
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D64_MM),
21296
310
                  MVT::f64, 2, 0, 1, 
21297
310
   0, 
21298
310
  8, MVT::v4f32,
21299
310
   OPC_CheckPatternPredicate0,
21300
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_W),
21301
310
                 MVT::v4f32, 2, 0, 1, 
21302
310
  8, MVT::v2f64,
21303
310
   OPC_CheckPatternPredicate0,
21304
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FDIV_D),
21305
310
                 MVT::v2f64, 2, 0, 1, 
21306
310
  0,
21307
310
 44|128,1, TARGET_VAL(ISD::FMUL),
21308
310
  OPC_Scope, 114, 
21309
310
   OPC_RecordChild0,
21310
310
   OPC_Scope, 81, 
21311
310
    OPC_RecordChild1,
21312
310
    OPC_SwitchType , 32, MVT::f32,
21313
310
     OPC_Scope, 9, 
21314
310
      OPC_CheckPatternPredicate, 39,
21315
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S),
21316
310
                    MVT::f32, 2, 0, 1, 
21317
310
     9, 
21318
310
      OPC_CheckPatternPredicate, 32,
21319
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S_MM),
21320
310
                    MVT::f32, 2, 0, 1, 
21321
310
     9, 
21322
310
      OPC_CheckPatternPredicate, 24,
21323
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_S_MMR6),
21324
310
                    MVT::f32, 2, 1, 0, 
21325
310
     0, 
21326
310
    42, MVT::f64,
21327
310
     OPC_Scope, 9, 
21328
310
      OPC_CheckPatternPredicate, 47,
21329
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D32),
21330
310
                    MVT::f64, 2, 0, 1, 
21331
310
     9, 
21332
310
      OPC_CheckPatternPredicate, 48,
21333
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D64),
21334
310
                    MVT::f64, 2, 0, 1, 
21335
310
     9, 
21336
310
      OPC_CheckPatternPredicate, 33,
21337
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D32_MM),
21338
310
                    MVT::f64, 2, 0, 1, 
21339
310
     9, 
21340
310
      OPC_CheckPatternPredicate, 34,
21341
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D64_MM),
21342
310
                    MVT::f64, 2, 0, 1, 
21343
310
     0, 
21344
310
    0,
21345
310
   28, 
21346
310
    OPC_MoveChild1,
21347
310
    OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
21348
310
    OPC_RecordChild0,
21349
310
    OPC_MoveParent,
21350
310
    OPC_SwitchType , 8, MVT::v4f32,
21351
310
     OPC_CheckPatternPredicate0,
21352
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W),
21353
310
                   MVT::v4f32, 2, 0, 1, 
21354
310
    8, MVT::v2f64,
21355
310
     OPC_CheckPatternPredicate0,
21356
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D),
21357
310
                   MVT::v2f64, 2, 0, 1, 
21358
310
    0,
21359
310
   0, 
21360
310
  29, 
21361
310
   OPC_MoveChild0,
21362
310
   OPC_CheckOpcode, TARGET_VAL(ISD::FEXP2),
21363
310
   OPC_RecordChild0,
21364
310
   OPC_MoveParent,
21365
310
   OPC_RecordChild1,
21366
310
   OPC_SwitchType , 8, MVT::v4f32,
21367
310
    OPC_CheckPatternPredicate0,
21368
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W),
21369
310
                  MVT::v4f32, 2, 1, 0, 
21370
310
   8, MVT::v2f64,
21371
310
    OPC_CheckPatternPredicate0,
21372
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D),
21373
310
                  MVT::v2f64, 2, 1, 0, 
21374
310
   0,
21375
310
  24, 
21376
310
   OPC_RecordChild0,
21377
310
   OPC_RecordChild1,
21378
310
   OPC_SwitchType , 8, MVT::v4f32,
21379
310
    OPC_CheckPatternPredicate0,
21380
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_W),
21381
310
                  MVT::v4f32, 2, 0, 1, 
21382
310
   8, MVT::v2f64,
21383
310
    OPC_CheckPatternPredicate0,
21384
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMUL_D),
21385
310
                  MVT::v2f64, 2, 0, 1, 
21386
310
   0,
21387
310
  0, 
21388
310
 24, TARGET_VAL(MipsISD::BuildPairF64),
21389
310
  OPC_RecordChild0,
21390
310
  OPC_RecordChild1,
21391
310
  OPC_Scope, 9, 
21392
310
   OPC_CheckPatternPredicate, 97,
21393
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BuildPairF64),
21394
310
                 MVT::f64, 2, 0, 1, 
21395
310
  9, 
21396
310
   OPC_CheckPatternPredicate, 98,
21397
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BuildPairF64_64),
21398
310
                 MVT::f64, 2, 0, 1, 
21399
310
  0, 
21400
310
 94, TARGET_VAL(ISD::SINT_TO_FP),
21401
310
  OPC_RecordChild0,
21402
310
  OPC_Scope, 33, 
21403
310
   OPC_CheckChild0TypeI32,
21404
310
   OPC_SwitchType , 6, MVT::f32,
21405
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_S_W),
21406
310
                  MVT::f32, 1, 0, 
21407
310
   20, MVT::f64,
21408
310
    OPC_Scope, 8, 
21409
310
     OPC_CheckPatternPredicate, 137,
21410
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D32_W),
21411
310
                   MVT::f64, 1, 0, 
21412
310
    8, 
21413
310
     OPC_CheckPatternPredicate, 77,
21414
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D64_W),
21415
310
                   MVT::f64, 1, 0, 
21416
310
    0, 
21417
310
   0,
21418
310
  32, 
21419
310
   OPC_CheckChild0TypeI64,
21420
310
   OPC_SwitchType , 8, MVT::f64,
21421
310
    OPC_CheckPatternPredicate, 77,
21422
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoCVT_D64_L),
21423
310
                  MVT::f64, 1, 0, 
21424
310
   17, MVT::f32,
21425
310
    OPC_CheckPatternPredicate, 77,
21426
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCVT_S_L),
21427
310
                  MVT::f64, 1, 0, 
21428
310
    OPC_EmitStringInteger32, Mips::sub_lo,
21429
310
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
21430
310
                  MVT::f32, 2, 1, 2, 
21431
310
   0,
21432
310
  11, 
21433
310
   OPC_CheckChild0Type, MVT::v4i32,
21434
310
   OPC_CheckType, MVT::v4f32,
21435
310
   OPC_CheckPatternPredicate0,
21436
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_S_W),
21437
310
                 MVT::v4f32, 1, 0, 
21438
310
  11, 
21439
310
   OPC_CheckChild0Type, MVT::v2i64,
21440
310
   OPC_CheckType, MVT::v2f64,
21441
310
   OPC_CheckPatternPredicate0,
21442
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_S_D),
21443
310
                 MVT::v2f64, 1, 0, 
21444
310
  0, 
21445
310
 1|128,1, TARGET_VAL(MipsISD::TruncIntFP),
21446
310
  OPC_RecordChild0,
21447
310
  OPC_Scope, 44, 
21448
310
   OPC_CheckChild0Type, MVT::f32,
21449
310
   OPC_SwitchType , 28, MVT::f32,
21450
310
    OPC_Scope, 8, 
21451
310
     OPC_CheckPatternPredicate, 56,
21452
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S),
21453
310
                   MVT::f32, 1, 0, 
21454
310
    8, 
21455
310
     OPC_CheckPatternPredicate, 8,
21456
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S_MM),
21457
310
                   MVT::f32, 1, 0, 
21458
310
    7, 
21459
310
     OPC_CheckPatternPredicate7,
21460
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_S_MMR6),
21461
310
                   MVT::f32, 1, 0, 
21462
310
    0, 
21463
310
   8, MVT::f64,
21464
310
    OPC_CheckPatternPredicate, 78,
21465
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_L_S),
21466
310
                  MVT::f64, 1, 0, 
21467
310
   0,
21468
310
  62, 
21469
310
   OPC_CheckChild0Type, MVT::f64,
21470
310
   OPC_SwitchType , 46, MVT::f32,
21471
310
    OPC_Scope, 8, 
21472
310
     OPC_CheckPatternPredicate, 138,
21473
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D32),
21474
310
                   MVT::f32, 1, 0, 
21475
310
    8, 
21476
310
     OPC_CheckPatternPredicate, 78,
21477
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D64),
21478
310
                   MVT::f32, 1, 0, 
21479
310
    8, 
21480
310
     OPC_CheckPatternPredicate, 27,
21481
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_MM),
21482
310
                   MVT::f32, 1, 0, 
21483
310
    8, 
21484
310
     OPC_CheckPatternPredicate, 139,
21485
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_W_D64_MM),
21486
310
                   MVT::f32, 1, 0, 
21487
310
    7, 
21488
310
     OPC_CheckPatternPredicate7,
21489
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D_MMR6),
21490
310
                   MVT::f32, 1, 0, 
21491
310
    0, 
21492
310
   8, MVT::f64,
21493
310
    OPC_CheckPatternPredicate, 78,
21494
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_L_D64),
21495
310
                  MVT::f64, 1, 0, 
21496
310
   0,
21497
310
  17, 
21498
310
   OPC_CheckChild0Type, MVT::f16,
21499
310
   OPC_CheckType, MVT::f32,
21500
310
   OPC_CheckPatternPredicate0,
21501
310
   OPC_EmitNode1None, TARGET_VAL(Mips::MSA_FP_EXTEND_D_PSEUDO),
21502
310
                 MVT::f64, 1, 0, 
21503
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::TRUNC_W_D64),
21504
310
                 MVT::f32, 1, 1, 
21505
310
  0, 
21506
310
 21, TARGET_VAL(MipsISD::MTC1_D64),
21507
310
  OPC_RecordChild0,
21508
310
  OPC_Scope, 8, 
21509
310
   OPC_CheckPatternPredicate, 140,
21510
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_D64),
21511
310
                 MVT::f64, 1, 0, 
21512
310
  8, 
21513
310
   OPC_CheckPatternPredicate, 44,
21514
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MTC1_D64_MM),
21515
310
                 MVT::f64, 1, 0, 
21516
310
  0, 
21517
310
 67, TARGET_VAL(ISD::FP_ROUND),
21518
310
  OPC_RecordChild0,
21519
310
  OPC_SwitchType , 38, MVT::f32,
21520
310
   OPC_Scope, 8, 
21521
310
    OPC_CheckPatternPredicate, 50,
21522
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D32),
21523
310
                  MVT::f32, 1, 0, 
21524
310
   8, 
21525
310
    OPC_CheckPatternPredicate, 49,
21526
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D64),
21527
310
                  MVT::f32, 1, 0, 
21528
310
   8, 
21529
310
    OPC_CheckPatternPredicate, 44,
21530
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D64_MM),
21531
310
                  MVT::f32, 1, 0, 
21532
310
   8, 
21533
310
    OPC_CheckPatternPredicate, 51,
21534
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_S_D32_MM),
21535
310
                  MVT::f32, 1, 0, 
21536
310
   0, 
21537
310
  22, MVT::f16,
21538
310
   OPC_Scope, 9, 
21539
310
    OPC_CheckChild0Type, MVT::f32,
21540
310
    OPC_CheckPatternPredicate3,
21541
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_ROUND_W_PSEUDO),
21542
310
                  MVT::f16, 1, 0, 
21543
310
   9, 
21544
310
    OPC_CheckChild0Type, MVT::f64,
21545
310
    OPC_CheckPatternPredicate3,
21546
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_ROUND_D_PSEUDO),
21547
310
                  MVT::f16, 1, 0, 
21548
310
   0, 
21549
310
  0,
21550
310
 67, TARGET_VAL(ISD::FP_EXTEND),
21551
310
  OPC_RecordChild0,
21552
310
  OPC_SwitchType , 53, MVT::f64,
21553
310
   OPC_Scope, 40, 
21554
310
    OPC_CheckChild0Type, MVT::f32,
21555
310
    OPC_Scope, 8, 
21556
310
     OPC_CheckPatternPredicate, 50,
21557
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D32_S),
21558
310
                   MVT::f64, 1, 0, 
21559
310
    8, 
21560
310
     OPC_CheckPatternPredicate, 49,
21561
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D64_S),
21562
310
                   MVT::f64, 1, 0, 
21563
310
    8, 
21564
310
     OPC_CheckPatternPredicate, 44,
21565
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D64_S_MM),
21566
310
                   MVT::f64, 1, 0, 
21567
310
    8, 
21568
310
     OPC_CheckPatternPredicate, 51,
21569
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::CVT_D32_S_MM),
21570
310
                   MVT::f64, 1, 0, 
21571
310
    0, 
21572
310
   9, 
21573
310
    OPC_CheckChild0Type, MVT::f16,
21574
310
    OPC_CheckPatternPredicate3,
21575
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_EXTEND_D_PSEUDO),
21576
310
                  MVT::f64, 1, 0, 
21577
310
   0, 
21578
310
  7, MVT::f32,
21579
310
   OPC_CheckPatternPredicate3,
21580
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::MSA_FP_EXTEND_W_PSEUDO),
21581
310
                 MVT::f32, 1, 0, 
21582
310
  0,
21583
310
 30, TARGET_VAL(MipsISD::FSELECT),
21584
310
  OPC_RecordChild0,
21585
310
  OPC_CheckChild0Type, MVT::f64,
21586
310
  OPC_RecordChild1,
21587
310
  OPC_RecordChild2,
21588
310
  OPC_CheckType, MVT::f64,
21589
310
  OPC_Scope, 10, 
21590
310
   OPC_CheckPatternPredicate, 26,
21591
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_D),
21592
310
                 MVT::f64, 3, 0, 2, 1, 
21593
310
  9, 
21594
310
   OPC_CheckPatternPredicate7,
21595
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SEL_D_MMR6),
21596
310
                 MVT::f64, 3, 0, 2, 1, 
21597
310
  0, 
21598
310
 82|128,2, TARGET_VAL(MipsISD::VSHF),
21599
310
  OPC_Scope, 80, 
21600
310
   OPC_MoveChild0,
21601
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
21602
310
   OPC_MoveChild0,
21603
310
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
21604
310
   OPC_MoveChild0,
21605
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
21606
310
   OPC_Scope, 32, 
21607
310
    OPC_RecordChild0,
21608
310
    OPC_CheckChild0TypeI32,
21609
310
    OPC_CheckChild1Same, 0,
21610
310
    OPC_CheckChild2Same, 0,
21611
310
    OPC_CheckChild3Same, 0,
21612
310
    OPC_MoveSibling1,
21613
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
21614
310
    OPC_MoveParent,
21615
310
    OPC_CheckType, MVT::v4i32,
21616
310
    OPC_MoveParent,
21617
310
    OPC_CheckType, MVT::v2i64,
21618
310
    OPC_MoveParent,
21619
310
    OPC_RecordChild1,
21620
310
    OPC_CheckChild2Same, 1,
21621
310
    OPC_CheckType, MVT::v2i64,
21622
310
    OPC_CheckPatternPredicate0,
21623
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_D),
21624
310
                  MVT::v2i64, 2, 1, 0, 
21625
310
   32, 
21626
310
    OPC_MoveSibling1,
21627
310
    OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
21628
310
    OPC_RecordChild0,
21629
310
    OPC_CheckChild0TypeI32,
21630
310
    OPC_CheckChild1Same, 0,
21631
310
    OPC_CheckChild2Same, 0,
21632
310
    OPC_CheckChild3Same, 0,
21633
310
    OPC_MoveParent,
21634
310
    OPC_CheckType, MVT::v4i32,
21635
310
    OPC_MoveParent,
21636
310
    OPC_CheckType, MVT::v2i64,
21637
310
    OPC_MoveParent,
21638
310
    OPC_RecordChild1,
21639
310
    OPC_CheckChild2Same, 1,
21640
310
    OPC_CheckType, MVT::v2i64,
21641
310
    OPC_CheckPatternPredicate0,
21642
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_D),
21643
310
                  MVT::v2i64, 2, 1, 0, 
21644
310
   0, 
21645
310
  75, 
21646
310
   OPC_RecordChild0,
21647
310
   OPC_SwitchType , 16, MVT::v16i8,
21648
310
    OPC_CheckChild0Type, MVT::v16i8,
21649
310
    OPC_RecordChild1,
21650
310
    OPC_CheckChild2Same, 1,
21651
310
    OPC_CheckPatternPredicate0,
21652
310
    OPC_CheckComplexPat, /*CP*/27, /*#*/0,
21653
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_B),
21654
310
                  MVT::v16i8, 2, 1, 2, 
21655
310
   16, MVT::v8i16,
21656
310
    OPC_CheckChild0Type, MVT::v8i16,
21657
310
    OPC_RecordChild1,
21658
310
    OPC_CheckChild2Same, 1,
21659
310
    OPC_CheckPatternPredicate0,
21660
310
    OPC_CheckComplexPat, /*CP*/28, /*#*/0,
21661
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_H),
21662
310
                  MVT::v8i16, 2, 1, 2, 
21663
310
   16, MVT::v4i32,
21664
310
    OPC_CheckChild0Type, MVT::v4i32,
21665
310
    OPC_RecordChild1,
21666
310
    OPC_CheckChild2Same, 1,
21667
310
    OPC_CheckPatternPredicate0,
21668
310
    OPC_CheckComplexPat, /*CP*/29, /*#*/0,
21669
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_W),
21670
310
                  MVT::v4i32, 2, 1, 2, 
21671
310
   16, MVT::v2i64,
21672
310
    OPC_CheckChild0Type, MVT::v2i64,
21673
310
    OPC_RecordChild1,
21674
310
    OPC_CheckChild2Same, 1,
21675
310
    OPC_CheckPatternPredicate0,
21676
310
    OPC_CheckComplexPat, /*CP*/30, /*#*/0,
21677
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLATI_D),
21678
310
                  MVT::v2i64, 2, 1, 2, 
21679
310
   0,
21680
310
  114, 
21681
310
   OPC_MoveChild0,
21682
310
   OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
21683
310
   OPC_RecordChild0,
21684
310
   OPC_CheckChild0TypeI32,
21685
310
   OPC_CheckChild1Same, 0,
21686
310
   OPC_CheckChild2Same, 0,
21687
310
   OPC_CheckChild3Same, 0,
21688
310
   OPC_Scope, 82, 
21689
310
    OPC_MoveChild4,
21690
310
    OPC_CheckSame, 0,
21691
310
    OPC_MoveSibling5,
21692
310
    OPC_CheckSame, 0,
21693
310
    OPC_MoveSibling6,
21694
310
    OPC_CheckSame, 0,
21695
310
    OPC_MoveSibling7,
21696
310
    OPC_CheckSame, 0,
21697
310
    OPC_Scope, 49, 
21698
310
     OPC_MoveSibling, 8,
21699
310
     OPC_CheckSame, 0,
21700
310
     OPC_MoveSibling, 9,
21701
310
     OPC_CheckSame, 0,
21702
310
     OPC_MoveSibling, 10,
21703
310
     OPC_CheckSame, 0,
21704
310
     OPC_MoveSibling, 11,
21705
310
     OPC_CheckSame, 0,
21706
310
     OPC_MoveSibling, 12,
21707
310
     OPC_CheckSame, 0,
21708
310
     OPC_MoveSibling, 13,
21709
310
     OPC_CheckSame, 0,
21710
310
     OPC_MoveSibling, 14,
21711
310
     OPC_CheckSame, 0,
21712
310
     OPC_MoveSibling, 15,
21713
310
     OPC_CheckSame, 0,
21714
310
     OPC_MoveParent,
21715
310
     OPC_CheckType, MVT::v16i8,
21716
310
     OPC_MoveParent,
21717
310
     OPC_RecordChild1,
21718
310
     OPC_CheckChild2Same, 1,
21719
310
     OPC_CheckType, MVT::v16i8,
21720
310
     OPC_CheckPatternPredicate0,
21721
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_B),
21722
310
                   MVT::v16i8, 2, 1, 0, 
21723
310
    17, 
21724
310
     OPC_MoveParent,
21725
310
     OPC_CheckType, MVT::v8i16,
21726
310
     OPC_MoveParent,
21727
310
     OPC_RecordChild1,
21728
310
     OPC_CheckChild2Same, 1,
21729
310
     OPC_CheckType, MVT::v8i16,
21730
310
     OPC_CheckPatternPredicate0,
21731
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_H),
21732
310
                   MVT::v8i16, 2, 1, 0, 
21733
310
    0, 
21734
310
   16, 
21735
310
    OPC_CheckType, MVT::v4i32,
21736
310
    OPC_MoveParent,
21737
310
    OPC_RecordChild1,
21738
310
    OPC_CheckChild2Same, 1,
21739
310
    OPC_CheckType, MVT::v4i32,
21740
310
    OPC_CheckPatternPredicate0,
21741
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::SPLAT_W),
21742
310
                  MVT::v4i32, 2, 1, 0, 
21743
310
   0, 
21744
310
  63, 
21745
310
   OPC_RecordChild0,
21746
310
   OPC_SwitchType , 13, MVT::v16i8,
21747
310
    OPC_CheckChild0Type, MVT::v16i8,
21748
310
    OPC_RecordChild1,
21749
310
    OPC_RecordChild2,
21750
310
    OPC_CheckPatternPredicate0,
21751
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_B),
21752
310
                  MVT::v16i8, 3, 0, 1, 2, 
21753
310
   13, MVT::v8i16,
21754
310
    OPC_CheckChild0Type, MVT::v8i16,
21755
310
    OPC_RecordChild1,
21756
310
    OPC_RecordChild2,
21757
310
    OPC_CheckPatternPredicate0,
21758
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_H),
21759
310
                  MVT::v8i16, 3, 0, 1, 2, 
21760
310
   13, MVT::v4i32,
21761
310
    OPC_CheckChild0Type, MVT::v4i32,
21762
310
    OPC_RecordChild1,
21763
310
    OPC_RecordChild2,
21764
310
    OPC_CheckPatternPredicate0,
21765
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_W),
21766
310
                  MVT::v4i32, 3, 0, 1, 2, 
21767
310
   13, MVT::v2i64,
21768
310
    OPC_CheckChild0Type, MVT::v2i64,
21769
310
    OPC_RecordChild1,
21770
310
    OPC_RecordChild2,
21771
310
    OPC_CheckPatternPredicate0,
21772
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::VSHF_D),
21773
310
                  MVT::v2i64, 3, 0, 1, 2, 
21774
310
   0,
21775
310
  0, 
21776
310
 108, TARGET_VAL(MipsISD::INSVE),
21777
310
  OPC_RecordChild0,
21778
310
  OPC_RecordChild1,
21779
310
  OPC_MoveChild1,
21780
310
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
21781
310
  OPC_Scope, 24, 
21782
310
   OPC_CheckPredicate, 15,
21783
310
   OPC_MoveParent,
21784
310
   OPC_RecordChild2,
21785
310
   OPC_RecordChild3,
21786
310
   OPC_MoveChild3,
21787
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21788
310
   OPC_CheckPredicate5, 
21789
310
   OPC_MoveParent,
21790
310
   OPC_CheckType, MVT::v16i8,
21791
310
   OPC_CheckPatternPredicate0,
21792
310
   OPC_EmitConvertToTarget3,
21793
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_B),
21794
310
                 MVT::v16i8, 4, 0, 1, 2, 4, 
21795
310
  24, 
21796
310
   OPC_CheckPredicate, 18,
21797
310
   OPC_MoveParent,
21798
310
   OPC_RecordChild2,
21799
310
   OPC_RecordChild3,
21800
310
   OPC_MoveChild3,
21801
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21802
310
   OPC_CheckPredicate5, 
21803
310
   OPC_MoveParent,
21804
310
   OPC_CheckType, MVT::v8i16,
21805
310
   OPC_CheckPatternPredicate0,
21806
310
   OPC_EmitConvertToTarget3,
21807
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_H),
21808
310
                 MVT::v8i16, 4, 0, 1, 2, 4, 
21809
310
  24, 
21810
310
   OPC_CheckPredicate, 22,
21811
310
   OPC_MoveParent,
21812
310
   OPC_RecordChild2,
21813
310
   OPC_RecordChild3,
21814
310
   OPC_MoveChild3,
21815
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21816
310
   OPC_CheckPredicate5, 
21817
310
   OPC_MoveParent,
21818
310
   OPC_CheckType, MVT::v4i32,
21819
310
   OPC_CheckPatternPredicate0,
21820
310
   OPC_EmitConvertToTarget3,
21821
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_W),
21822
310
                 MVT::v4i32, 4, 0, 1, 2, 4, 
21823
310
  24, 
21824
310
   OPC_CheckPredicate, 26,
21825
310
   OPC_MoveParent,
21826
310
   OPC_RecordChild2,
21827
310
   OPC_RecordChild3,
21828
310
   OPC_MoveChild3,
21829
310
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
21830
310
   OPC_CheckPredicate5, 
21831
310
   OPC_MoveParent,
21832
310
   OPC_CheckType, MVT::v2i64,
21833
310
   OPC_CheckPatternPredicate0,
21834
310
   OPC_EmitConvertToTarget3,
21835
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSVE_D),
21836
310
                 MVT::v2i64, 4, 0, 1, 2, 4, 
21837
310
  0, 
21838
310
 29|128,2, TARGET_VAL(ISD::VSELECT),
21839
310
  OPC_RecordChild0,
21840
310
  OPC_Scope, 32, 
21841
310
   OPC_RecordChild1,
21842
310
   OPC_RecordChild2,
21843
310
   OPC_SwitchType , 12, MVT::v16i8,
21844
310
    OPC_CheckPatternPredicate0,
21845
310
    OPC_CheckComplexPat, /*CP*/31, /*#*/0,
21846
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_B),
21847
310
                  MVT::v16i8, 3, 2, 1, 3, 
21848
310
   12, MVT::v8i16,
21849
310
    OPC_CheckPatternPredicate0,
21850
310
    OPC_CheckComplexPat, /*CP*/32, /*#*/0,
21851
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_H),
21852
310
                  MVT::v8i16, 3, 2, 1, 3, 
21853
310
   0,
21854
310
  18, 
21855
310
   OPC_CheckChild0Type, MVT::v4i32,
21856
310
   OPC_RecordChild1,
21857
310
   OPC_RecordChild2,
21858
310
   OPC_CheckType, MVT::v4i32,
21859
310
   OPC_CheckPatternPredicate0,
21860
310
   OPC_CheckComplexPat, /*CP*/33, /*#*/0,
21861
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_W),
21862
310
                 MVT::v4i32, 3, 2, 1, 3, 
21863
310
  18, 
21864
310
   OPC_CheckChild0Type, MVT::v2i64,
21865
310
   OPC_RecordChild1,
21866
310
   OPC_RecordChild2,
21867
310
   OPC_CheckType, MVT::v2i64,
21868
310
   OPC_CheckPatternPredicate0,
21869
310
   OPC_CheckComplexPat, /*CP*/34, /*#*/0,
21870
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSLI_D),
21871
310
                 MVT::v2i64, 3, 2, 1, 3, 
21872
310
  32, 
21873
310
   OPC_RecordChild1,
21874
310
   OPC_RecordChild2,
21875
310
   OPC_SwitchType , 12, MVT::v16i8,
21876
310
    OPC_CheckPatternPredicate0,
21877
310
    OPC_CheckComplexPat, /*CP*/35, /*#*/0,
21878
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_B),
21879
310
                  MVT::v16i8, 3, 2, 1, 3, 
21880
310
   12, MVT::v8i16,
21881
310
    OPC_CheckPatternPredicate0,
21882
310
    OPC_CheckComplexPat, /*CP*/36, /*#*/0,
21883
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_H),
21884
310
                  MVT::v8i16, 3, 2, 1, 3, 
21885
310
   0,
21886
310
  18, 
21887
310
   OPC_CheckChild0Type, MVT::v4i32,
21888
310
   OPC_RecordChild1,
21889
310
   OPC_RecordChild2,
21890
310
   OPC_CheckType, MVT::v4i32,
21891
310
   OPC_CheckPatternPredicate0,
21892
310
   OPC_CheckComplexPat, /*CP*/37, /*#*/0,
21893
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_W),
21894
310
                 MVT::v4i32, 3, 2, 1, 3, 
21895
310
  18, 
21896
310
   OPC_CheckChild0Type, MVT::v2i64,
21897
310
   OPC_RecordChild1,
21898
310
   OPC_RecordChild2,
21899
310
   OPC_CheckType, MVT::v2i64,
21900
310
   OPC_CheckPatternPredicate0,
21901
310
   OPC_CheckComplexPat, /*CP*/38, /*#*/0,
21902
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::BINSRI_D),
21903
310
                 MVT::v2i64, 3, 2, 1, 3, 
21904
310
  81, 
21905
310
   OPC_RecordChild1,
21906
310
   OPC_RecordChild2,
21907
310
   OPC_SwitchType , 64, MVT::v16i8,
21908
310
    OPC_CheckPatternPredicate0,
21909
310
    OPC_Scope, 22, 
21910
310
     OPC_CheckComplexPat5, /*#*/0,
21911
310
     OPC_Scope, 8, 
21912
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMNZI_B),
21913
310
                    MVT::v16i8, 3, 2, 1, 3, 
21914
310
     8, 
21915
310
      OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMZI_B),
21916
310
                    MVT::v16i8, 3, 1, 2, 3, 
21917
310
     0, 
21918
310
    10, 
21919
310
     OPC_CheckComplexPat5, /*#*/1,
21920
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSELI_B),
21921
310
                   MVT::v16i8, 3, 0, 2, 3, 
21922
310
    8, 
21923
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMNZ_V),
21924
310
                   MVT::v16i8, 3, 2, 1, 0, 
21925
310
    8, 
21926
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BMZ_V),
21927
310
                   MVT::v16i8, 3, 1, 2, 0, 
21928
310
    8, 
21929
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_V),
21930
310
                   MVT::v16i8, 3, 0, 2, 1, 
21931
310
    0, 
21932
310
   9, MVT::v8i16,
21933
310
    OPC_CheckPatternPredicate0,
21934
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_H_PSEUDO),
21935
310
                  MVT::v8i16, 3, 0, 2, 1, 
21936
310
   0,
21937
310
  28, 
21938
310
   OPC_CheckChild0Type, MVT::v4i32,
21939
310
   OPC_RecordChild1,
21940
310
   OPC_RecordChild2,
21941
310
   OPC_SwitchType , 9, MVT::v4i32,
21942
310
    OPC_CheckPatternPredicate0,
21943
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_W_PSEUDO),
21944
310
                  MVT::v4i32, 3, 0, 2, 1, 
21945
310
   9, MVT::v4f32,
21946
310
    OPC_CheckPatternPredicate0,
21947
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_FW_PSEUDO),
21948
310
                  MVT::v4f32, 3, 0, 2, 1, 
21949
310
   0,
21950
310
  28, 
21951
310
   OPC_CheckChild0Type, MVT::v2i64,
21952
310
   OPC_RecordChild1,
21953
310
   OPC_RecordChild2,
21954
310
   OPC_SwitchType , 9, MVT::v2i64,
21955
310
    OPC_CheckPatternPredicate0,
21956
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_D_PSEUDO),
21957
310
                  MVT::v2i64, 3, 0, 2, 1, 
21958
310
   9, MVT::v2f64,
21959
310
    OPC_CheckPatternPredicate0,
21960
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::BSEL_FD_PSEUDO),
21961
310
                  MVT::v2f64, 3, 0, 2, 1, 
21962
310
   0,
21963
310
  0, 
21964
310
 16|128,1, TARGET_VAL(ISD::SMAX),
21965
310
  OPC_RecordChild0,
21966
310
  OPC_RecordChild1,
21967
310
  OPC_SwitchType , 33, MVT::v16i8,
21968
310
   OPC_CheckPatternPredicate0,
21969
310
   OPC_Scope, 10, 
21970
310
    OPC_CheckComplexPat, /*CP*/12, /*#*/1,
21971
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_B),
21972
310
                  MVT::v16i8, 2, 0, 2, 
21973
310
   10, 
21974
310
    OPC_CheckComplexPat, /*CP*/12, /*#*/0,
21975
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_B),
21976
310
                  MVT::v16i8, 2, 1, 2, 
21977
310
   7, 
21978
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_B),
21979
310
                  MVT::v16i8, 2, 0, 1, 
21980
310
   0, 
21981
310
  33, MVT::v8i16,
21982
310
   OPC_CheckPatternPredicate0,
21983
310
   OPC_Scope, 10, 
21984
310
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
21985
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_H),
21986
310
                  MVT::v8i16, 2, 0, 2, 
21987
310
   10, 
21988
310
    OPC_CheckComplexPat, /*CP*/13, /*#*/0,
21989
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_H),
21990
310
                  MVT::v8i16, 2, 1, 2, 
21991
310
   7, 
21992
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_H),
21993
310
                  MVT::v8i16, 2, 0, 1, 
21994
310
   0, 
21995
310
  33, MVT::v4i32,
21996
310
   OPC_CheckPatternPredicate0,
21997
310
   OPC_Scope, 10, 
21998
310
    OPC_CheckComplexPat, /*CP*/14, /*#*/1,
21999
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_W),
22000
310
                  MVT::v4i32, 2, 0, 2, 
22001
310
   10, 
22002
310
    OPC_CheckComplexPat, /*CP*/14, /*#*/0,
22003
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_W),
22004
310
                  MVT::v4i32, 2, 1, 2, 
22005
310
   7, 
22006
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_W),
22007
310
                  MVT::v4i32, 2, 0, 1, 
22008
310
   0, 
22009
310
  33, MVT::v2i64,
22010
310
   OPC_CheckPatternPredicate0,
22011
310
   OPC_Scope, 10, 
22012
310
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
22013
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_D),
22014
310
                  MVT::v2i64, 2, 0, 2, 
22015
310
   10, 
22016
310
    OPC_CheckComplexPat, /*CP*/15, /*#*/0,
22017
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_S_D),
22018
310
                  MVT::v2i64, 2, 1, 2, 
22019
310
   7, 
22020
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_S_D),
22021
310
                  MVT::v2i64, 2, 0, 1, 
22022
310
   0, 
22023
310
  0,
22024
310
 12|128,1, TARGET_VAL(ISD::UMAX),
22025
310
  OPC_RecordChild0,
22026
310
  OPC_RecordChild1,
22027
310
  OPC_SwitchType , 31, MVT::v16i8,
22028
310
   OPC_CheckPatternPredicate0,
22029
310
   OPC_Scope, 9, 
22030
310
    OPC_CheckComplexPat7, /*#*/1,
22031
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_B),
22032
310
                  MVT::v16i8, 2, 0, 2, 
22033
310
   9, 
22034
310
    OPC_CheckComplexPat7, /*#*/0,
22035
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_B),
22036
310
                  MVT::v16i8, 2, 1, 2, 
22037
310
   7, 
22038
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_B),
22039
310
                  MVT::v16i8, 2, 0, 1, 
22040
310
   0, 
22041
310
  33, MVT::v8i16,
22042
310
   OPC_CheckPatternPredicate0,
22043
310
   OPC_Scope, 10, 
22044
310
    OPC_CheckComplexPat, /*CP*/8, /*#*/1,
22045
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_H),
22046
310
                  MVT::v8i16, 2, 0, 2, 
22047
310
   10, 
22048
310
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
22049
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_H),
22050
310
                  MVT::v8i16, 2, 1, 2, 
22051
310
   7, 
22052
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_H),
22053
310
                  MVT::v8i16, 2, 0, 1, 
22054
310
   0, 
22055
310
  31, MVT::v4i32,
22056
310
   OPC_CheckPatternPredicate0,
22057
310
   OPC_Scope, 9, 
22058
310
    OPC_CheckComplexPat4, /*#*/1,
22059
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_W),
22060
310
                  MVT::v4i32, 2, 0, 2, 
22061
310
   9, 
22062
310
    OPC_CheckComplexPat4, /*#*/0,
22063
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_W),
22064
310
                  MVT::v4i32, 2, 1, 2, 
22065
310
   7, 
22066
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_W),
22067
310
                  MVT::v4i32, 2, 0, 1, 
22068
310
   0, 
22069
310
  33, MVT::v2i64,
22070
310
   OPC_CheckPatternPredicate0,
22071
310
   OPC_Scope, 10, 
22072
310
    OPC_CheckComplexPat, /*CP*/9, /*#*/1,
22073
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_D),
22074
310
                  MVT::v2i64, 2, 0, 2, 
22075
310
   10, 
22076
310
    OPC_CheckComplexPat, /*CP*/9, /*#*/0,
22077
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAXI_U_D),
22078
310
                  MVT::v2i64, 2, 1, 2, 
22079
310
   7, 
22080
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MAX_U_D),
22081
310
                  MVT::v2i64, 2, 0, 1, 
22082
310
   0, 
22083
310
  0,
22084
310
 16|128,1, TARGET_VAL(ISD::SMIN),
22085
310
  OPC_RecordChild0,
22086
310
  OPC_RecordChild1,
22087
310
  OPC_SwitchType , 33, MVT::v16i8,
22088
310
   OPC_CheckPatternPredicate0,
22089
310
   OPC_Scope, 10, 
22090
310
    OPC_CheckComplexPat, /*CP*/12, /*#*/1,
22091
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_B),
22092
310
                  MVT::v16i8, 2, 0, 2, 
22093
310
   10, 
22094
310
    OPC_CheckComplexPat, /*CP*/12, /*#*/0,
22095
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_B),
22096
310
                  MVT::v16i8, 2, 1, 2, 
22097
310
   7, 
22098
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_B),
22099
310
                  MVT::v16i8, 2, 0, 1, 
22100
310
   0, 
22101
310
  33, MVT::v8i16,
22102
310
   OPC_CheckPatternPredicate0,
22103
310
   OPC_Scope, 10, 
22104
310
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
22105
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_H),
22106
310
                  MVT::v8i16, 2, 0, 2, 
22107
310
   10, 
22108
310
    OPC_CheckComplexPat, /*CP*/13, /*#*/0,
22109
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_H),
22110
310
                  MVT::v8i16, 2, 1, 2, 
22111
310
   7, 
22112
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_H),
22113
310
                  MVT::v8i16, 2, 0, 1, 
22114
310
   0, 
22115
310
  33, MVT::v4i32,
22116
310
   OPC_CheckPatternPredicate0,
22117
310
   OPC_Scope, 10, 
22118
310
    OPC_CheckComplexPat, /*CP*/14, /*#*/1,
22119
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_W),
22120
310
                  MVT::v4i32, 2, 0, 2, 
22121
310
   10, 
22122
310
    OPC_CheckComplexPat, /*CP*/14, /*#*/0,
22123
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_W),
22124
310
                  MVT::v4i32, 2, 1, 2, 
22125
310
   7, 
22126
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_W),
22127
310
                  MVT::v4i32, 2, 0, 1, 
22128
310
   0, 
22129
310
  33, MVT::v2i64,
22130
310
   OPC_CheckPatternPredicate0,
22131
310
   OPC_Scope, 10, 
22132
310
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
22133
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_D),
22134
310
                  MVT::v2i64, 2, 0, 2, 
22135
310
   10, 
22136
310
    OPC_CheckComplexPat, /*CP*/15, /*#*/0,
22137
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_S_D),
22138
310
                  MVT::v2i64, 2, 1, 2, 
22139
310
   7, 
22140
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_S_D),
22141
310
                  MVT::v2i64, 2, 0, 1, 
22142
310
   0, 
22143
310
  0,
22144
310
 12|128,1, TARGET_VAL(ISD::UMIN),
22145
310
  OPC_RecordChild0,
22146
310
  OPC_RecordChild1,
22147
310
  OPC_SwitchType , 31, MVT::v16i8,
22148
310
   OPC_CheckPatternPredicate0,
22149
310
   OPC_Scope, 9, 
22150
310
    OPC_CheckComplexPat7, /*#*/1,
22151
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_B),
22152
310
                  MVT::v16i8, 2, 0, 2, 
22153
310
   9, 
22154
310
    OPC_CheckComplexPat7, /*#*/0,
22155
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_B),
22156
310
                  MVT::v16i8, 2, 1, 2, 
22157
310
   7, 
22158
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_B),
22159
310
                  MVT::v16i8, 2, 0, 1, 
22160
310
   0, 
22161
310
  33, MVT::v8i16,
22162
310
   OPC_CheckPatternPredicate0,
22163
310
   OPC_Scope, 10, 
22164
310
    OPC_CheckComplexPat, /*CP*/8, /*#*/1,
22165
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_H),
22166
310
                  MVT::v8i16, 2, 0, 2, 
22167
310
   10, 
22168
310
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
22169
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_H),
22170
310
                  MVT::v8i16, 2, 1, 2, 
22171
310
   7, 
22172
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_H),
22173
310
                  MVT::v8i16, 2, 0, 1, 
22174
310
   0, 
22175
310
  31, MVT::v4i32,
22176
310
   OPC_CheckPatternPredicate0,
22177
310
   OPC_Scope, 9, 
22178
310
    OPC_CheckComplexPat4, /*#*/1,
22179
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_W),
22180
310
                  MVT::v4i32, 2, 0, 2, 
22181
310
   9, 
22182
310
    OPC_CheckComplexPat4, /*#*/0,
22183
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_W),
22184
310
                  MVT::v4i32, 2, 1, 2, 
22185
310
   7, 
22186
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_W),
22187
310
                  MVT::v4i32, 2, 0, 1, 
22188
310
   0, 
22189
310
  33, MVT::v2i64,
22190
310
   OPC_CheckPatternPredicate0,
22191
310
   OPC_Scope, 10, 
22192
310
    OPC_CheckComplexPat, /*CP*/9, /*#*/1,
22193
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_D),
22194
310
                  MVT::v2i64, 2, 0, 2, 
22195
310
   10, 
22196
310
    OPC_CheckComplexPat, /*CP*/9, /*#*/0,
22197
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MINI_U_D),
22198
310
                  MVT::v2i64, 2, 1, 2, 
22199
310
   7, 
22200
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::MIN_U_D),
22201
310
                  MVT::v2i64, 2, 0, 1, 
22202
310
   0, 
22203
310
  0,
22204
310
 67, TARGET_VAL(MipsISD::VNOR),
22205
310
  OPC_RecordChild0,
22206
310
  OPC_RecordChild1,
22207
310
  OPC_SwitchType , 31, MVT::v16i8,
22208
310
   OPC_CheckPatternPredicate0,
22209
310
   OPC_Scope, 9, 
22210
310
    OPC_CheckComplexPat5, /*#*/1,
22211
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NORI_B),
22212
310
                  MVT::v16i8, 2, 0, 2, 
22213
310
   9, 
22214
310
    OPC_CheckComplexPat5, /*#*/0,
22215
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NORI_B),
22216
310
                  MVT::v16i8, 2, 1, 2, 
22217
310
   7, 
22218
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V),
22219
310
                  MVT::v16i8, 2, 0, 1, 
22220
310
   0, 
22221
310
  8, MVT::v8i16,
22222
310
   OPC_CheckPatternPredicate0,
22223
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_H_PSEUDO),
22224
310
                 MVT::v8i16, 2, 0, 1, 
22225
310
  8, MVT::v4i32,
22226
310
   OPC_CheckPatternPredicate0,
22227
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_W_PSEUDO),
22228
310
                 MVT::v4i32, 2, 0, 1, 
22229
310
  8, MVT::v2i64,
22230
310
   OPC_CheckPatternPredicate0,
22231
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::NOR_V_D_PSEUDO),
22232
310
                 MVT::v2i64, 2, 0, 1, 
22233
310
  0,
22234
310
 39|128,2, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
22235
310
  OPC_RecordChild0,
22236
310
  OPC_RecordChild1,
22237
310
  OPC_Scope, 5|128,1, 
22238
310
   OPC_CheckChild1TypeI32,
22239
310
   OPC_RecordChild2,
22240
310
   OPC_Scope, 54, 
22241
310
    OPC_MoveChild2,
22242
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22243
310
    OPC_Scope, 15, 
22244
310
     OPC_CheckPredicate, 15,
22245
310
     OPC_MoveParent,
22246
310
     OPC_CheckType, MVT::v16i8,
22247
310
     OPC_CheckPatternPredicate0,
22248
310
     OPC_EmitConvertToTarget2,
22249
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B),
22250
310
                   MVT::v16i8, 3, 0, 1, 3, 
22251
310
    15, 
22252
310
     OPC_CheckPredicate, 18,
22253
310
     OPC_MoveParent,
22254
310
     OPC_CheckType, MVT::v8i16,
22255
310
     OPC_CheckPatternPredicate0,
22256
310
     OPC_EmitConvertToTarget2,
22257
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H),
22258
310
                   MVT::v8i16, 3, 0, 1, 3, 
22259
310
    15, 
22260
310
     OPC_CheckPredicate, 22,
22261
310
     OPC_MoveParent,
22262
310
     OPC_CheckType, MVT::v4i32,
22263
310
     OPC_CheckPatternPredicate0,
22264
310
     OPC_EmitConvertToTarget2,
22265
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W),
22266
310
                   MVT::v4i32, 3, 0, 1, 3, 
22267
310
    0, 
22268
310
   36, 
22269
310
    OPC_CheckChild2TypeI32,
22270
310
    OPC_SwitchType , 9, MVT::v16i8,
22271
310
     OPC_CheckPatternPredicate0,
22272
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B_VIDX_PSEUDO),
22273
310
                   MVT::v16i8, 3, 0, 2, 1, 
22274
310
    9, MVT::v8i16,
22275
310
     OPC_CheckPatternPredicate0,
22276
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H_VIDX_PSEUDO),
22277
310
                   MVT::v8i16, 3, 0, 2, 1, 
22278
310
    9, MVT::v4i32,
22279
310
     OPC_CheckPatternPredicate0,
22280
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W_VIDX_PSEUDO),
22281
310
                   MVT::v4i32, 3, 0, 2, 1, 
22282
310
    0,
22283
310
   36, 
22284
310
    OPC_CheckChild2TypeI64,
22285
310
    OPC_SwitchType , 9, MVT::v16i8,
22286
310
     OPC_CheckPatternPredicate0,
22287
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_B_VIDX64_PSEUDO),
22288
310
                   MVT::v16i8, 3, 0, 2, 1, 
22289
310
    9, MVT::v8i16,
22290
310
     OPC_CheckPatternPredicate0,
22291
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_H_VIDX64_PSEUDO),
22292
310
                   MVT::v8i16, 3, 0, 2, 1, 
22293
310
    9, MVT::v4i32,
22294
310
     OPC_CheckPatternPredicate0,
22295
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_W_VIDX64_PSEUDO),
22296
310
                   MVT::v4i32, 3, 0, 2, 1, 
22297
310
    0,
22298
310
   0, 
22299
310
  51, 
22300
310
   OPC_CheckChild1TypeI64,
22301
310
   OPC_RecordChild2,
22302
310
   OPC_Scope, 20, 
22303
310
    OPC_MoveChild2,
22304
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22305
310
    OPC_CheckPredicate, 26,
22306
310
    OPC_MoveParent,
22307
310
    OPC_CheckType, MVT::v2i64,
22308
310
    OPC_CheckPatternPredicate, 42,
22309
310
    OPC_EmitConvertToTarget2,
22310
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D),
22311
310
                  MVT::v2i64, 3, 0, 1, 3, 
22312
310
   12, 
22313
310
    OPC_CheckChild2TypeI32,
22314
310
    OPC_CheckType, MVT::v2i64,
22315
310
    OPC_CheckPatternPredicate0,
22316
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D_VIDX_PSEUDO),
22317
310
                  MVT::v2i64, 3, 0, 2, 1, 
22318
310
   12, 
22319
310
    OPC_CheckChild2TypeI64,
22320
310
    OPC_CheckType, MVT::v2i64,
22321
310
    OPC_CheckPatternPredicate0,
22322
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_D_VIDX64_PSEUDO),
22323
310
                  MVT::v2i64, 3, 0, 2, 1, 
22324
310
   0, 
22325
310
  51, 
22326
310
   OPC_CheckChild1Type, MVT::f32,
22327
310
   OPC_RecordChild2,
22328
310
   OPC_Scope, 19, 
22329
310
    OPC_MoveChild2,
22330
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22331
310
    OPC_CheckPredicate, 22,
22332
310
    OPC_MoveParent,
22333
310
    OPC_CheckType, MVT::v4f32,
22334
310
    OPC_CheckPatternPredicate0,
22335
310
    OPC_EmitConvertToTarget2,
22336
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_PSEUDO),
22337
310
                  MVT::v4f32, 3, 0, 3, 1, 
22338
310
   12, 
22339
310
    OPC_CheckChild2TypeI32,
22340
310
    OPC_CheckType, MVT::v4f32,
22341
310
    OPC_CheckPatternPredicate0,
22342
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_VIDX_PSEUDO),
22343
310
                  MVT::v4f32, 3, 0, 2, 1, 
22344
310
   12, 
22345
310
    OPC_CheckChild2TypeI64,
22346
310
    OPC_CheckType, MVT::v4f32,
22347
310
    OPC_CheckPatternPredicate0,
22348
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FW_VIDX64_PSEUDO),
22349
310
                  MVT::v4f32, 3, 0, 2, 1, 
22350
310
   0, 
22351
310
  51, 
22352
310
   OPC_CheckChild1Type, MVT::f64,
22353
310
   OPC_RecordChild2,
22354
310
   OPC_Scope, 19, 
22355
310
    OPC_MoveChild2,
22356
310
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22357
310
    OPC_CheckPredicate, 26,
22358
310
    OPC_MoveParent,
22359
310
    OPC_CheckType, MVT::v2f64,
22360
310
    OPC_CheckPatternPredicate0,
22361
310
    OPC_EmitConvertToTarget2,
22362
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_PSEUDO),
22363
310
                  MVT::v2f64, 3, 0, 3, 1, 
22364
310
   12, 
22365
310
    OPC_CheckChild2TypeI32,
22366
310
    OPC_CheckType, MVT::v2f64,
22367
310
    OPC_CheckPatternPredicate0,
22368
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_VIDX_PSEUDO),
22369
310
                  MVT::v2f64, 3, 0, 2, 1, 
22370
310
   12, 
22371
310
    OPC_CheckChild2TypeI64,
22372
310
    OPC_CheckType, MVT::v2f64,
22373
310
    OPC_CheckPatternPredicate0,
22374
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::INSERT_FD_VIDX64_PSEUDO),
22375
310
                  MVT::v2f64, 3, 0, 2, 1, 
22376
310
   0, 
22377
310
  0, 
22378
310
 41, TARGET_VAL(MipsISD::SHF),
22379
310
  OPC_RecordChild0,
22380
310
  OPC_MoveChild0,
22381
310
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
22382
310
  OPC_CheckPredicate, 48,
22383
310
  OPC_MoveParent,
22384
310
  OPC_RecordChild1,
22385
310
  OPC_SwitchType , 8, MVT::v16i8,
22386
310
   OPC_CheckPatternPredicate0,
22387
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_B),
22388
310
                 MVT::v16i8, 2, 1, 0, 
22389
310
  8, MVT::v8i16,
22390
310
   OPC_CheckPatternPredicate0,
22391
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_H),
22392
310
                 MVT::v8i16, 2, 1, 0, 
22393
310
  8, MVT::v4i32,
22394
310
   OPC_CheckPatternPredicate0,
22395
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHF_W),
22396
310
                 MVT::v4i32, 2, 1, 0, 
22397
310
  0,
22398
310
 31, TARGET_VAL(MipsISD::SHLL_DSP),
22399
310
  OPC_RecordChild0,
22400
310
  OPC_RecordChild1,
22401
310
  OPC_MoveChild1,
22402
310
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22403
310
  OPC_MoveParent,
22404
310
  OPC_SwitchType , 9, MVT::v2i16,
22405
310
   OPC_CheckPatternPredicate1,
22406
310
   OPC_EmitConvertToTarget1,
22407
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHLL_PH),
22408
310
                 MVT::v2i16, 2, 0, 2, 
22409
310
  9, MVT::v4i8,
22410
310
   OPC_CheckPatternPredicate1,
22411
310
   OPC_EmitConvertToTarget1,
22412
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHLL_QB),
22413
310
                 MVT::v4i8, 2, 0, 2, 
22414
310
  0,
22415
310
 32, TARGET_VAL(MipsISD::SHRA_DSP),
22416
310
  OPC_RecordChild0,
22417
310
  OPC_RecordChild1,
22418
310
  OPC_MoveChild1,
22419
310
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22420
310
  OPC_MoveParent,
22421
310
  OPC_SwitchType , 9, MVT::v2i16,
22422
310
   OPC_CheckPatternPredicate1,
22423
310
   OPC_EmitConvertToTarget1,
22424
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_PH),
22425
310
                 MVT::v2i16, 2, 0, 2, 
22426
310
  10, MVT::v4i8,
22427
310
   OPC_CheckPatternPredicate, 13,
22428
310
   OPC_EmitConvertToTarget1,
22429
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRA_QB),
22430
310
                 MVT::v4i8, 2, 0, 2, 
22431
310
  0,
22432
310
 32, TARGET_VAL(MipsISD::SHRL_DSP),
22433
310
  OPC_RecordChild0,
22434
310
  OPC_RecordChild1,
22435
310
  OPC_MoveChild1,
22436
310
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
22437
310
  OPC_MoveParent,
22438
310
  OPC_SwitchType , 10, MVT::v2i16,
22439
310
   OPC_CheckPatternPredicate, 13,
22440
310
   OPC_EmitConvertToTarget1,
22441
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_PH),
22442
310
                 MVT::v2i16, 2, 0, 2, 
22443
310
  9, MVT::v4i8,
22444
310
   OPC_CheckPatternPredicate1,
22445
310
   OPC_EmitConvertToTarget1,
22446
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::SHRL_QB),
22447
310
                 MVT::v4i8, 2, 0, 2, 
22448
310
  0,
22449
310
 10|128,1, TARGET_VAL(ISD::BUILD_VECTOR),
22450
310
  OPC_RecordChild0,
22451
310
  OPC_Scope, 88, 
22452
310
   OPC_CheckChild0TypeI32,
22453
310
   OPC_CheckChild1Same, 0,
22454
310
   OPC_CheckChild2Same, 0,
22455
310
   OPC_CheckChild3Same, 0,
22456
310
   OPC_Scope, 68, 
22457
310
    OPC_MoveChild4,
22458
310
    OPC_CheckSame, 0,
22459
310
    OPC_MoveSibling5,
22460
310
    OPC_CheckSame, 0,
22461
310
    OPC_MoveSibling6,
22462
310
    OPC_CheckSame, 0,
22463
310
    OPC_MoveSibling7,
22464
310
    OPC_CheckSame, 0,
22465
310
    OPC_Scope, 42, 
22466
310
     OPC_MoveSibling, 8,
22467
310
     OPC_CheckSame, 0,
22468
310
     OPC_MoveSibling, 9,
22469
310
     OPC_CheckSame, 0,
22470
310
     OPC_MoveSibling, 10,
22471
310
     OPC_CheckSame, 0,
22472
310
     OPC_MoveSibling, 11,
22473
310
     OPC_CheckSame, 0,
22474
310
     OPC_MoveSibling, 12,
22475
310
     OPC_CheckSame, 0,
22476
310
     OPC_MoveSibling, 13,
22477
310
     OPC_CheckSame, 0,
22478
310
     OPC_MoveSibling, 14,
22479
310
     OPC_CheckSame, 0,
22480
310
     OPC_MoveSibling, 15,
22481
310
     OPC_CheckSame, 0,
22482
310
     OPC_MoveParent,
22483
310
     OPC_CheckType, MVT::v16i8,
22484
310
     OPC_CheckPatternPredicate0,
22485
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_B),
22486
310
                   MVT::v16i8, 1, 0, 
22487
310
    10, 
22488
310
     OPC_MoveParent,
22489
310
     OPC_CheckType, MVT::v8i16,
22490
310
     OPC_CheckPatternPredicate0,
22491
310
     OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_H),
22492
310
                   MVT::v8i16, 1, 0, 
22493
310
    0, 
22494
310
   9, 
22495
310
    OPC_CheckType, MVT::v4i32,
22496
310
    OPC_CheckPatternPredicate0,
22497
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_W),
22498
310
                  MVT::v4i32, 1, 0, 
22499
310
   0, 
22500
310
  13, 
22501
310
   OPC_CheckChild0TypeI64,
22502
310
   OPC_CheckChild1Same, 0,
22503
310
   OPC_CheckType, MVT::v2i64,
22504
310
   OPC_CheckPatternPredicate, 42,
22505
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_D),
22506
310
                 MVT::v2i64, 1, 0, 
22507
310
  17, 
22508
310
   OPC_CheckChild0Type, MVT::f32,
22509
310
   OPC_CheckChild1Same, 0,
22510
310
   OPC_CheckChild2Same, 0,
22511
310
   OPC_CheckChild3Same, 0,
22512
310
   OPC_CheckType, MVT::v4f32,
22513
310
   OPC_CheckPatternPredicate0,
22514
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_FW_PSEUDO),
22515
310
                 MVT::v4f32, 1, 0, 
22516
310
  13, 
22517
310
   OPC_CheckChild0Type, MVT::f64,
22518
310
   OPC_CheckChild1Same, 0,
22519
310
   OPC_CheckType, MVT::v2f64,
22520
310
   OPC_CheckPatternPredicate0,
22521
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FILL_FD_PSEUDO),
22522
310
                 MVT::v2f64, 1, 0, 
22523
310
  0, 
22524
310
 21, TARGET_VAL(ISD::FP_TO_SINT),
22525
310
  OPC_RecordChild0,
22526
310
  OPC_SwitchType , 7, MVT::v4i32,
22527
310
   OPC_CheckPatternPredicate0,
22528
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_S_W),
22529
310
                 MVT::v4i32, 1, 0, 
22530
310
  7, MVT::v2i64,
22531
310
   OPC_CheckPatternPredicate0,
22532
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_S_D),
22533
310
                 MVT::v2i64, 1, 0, 
22534
310
  0,
22535
310
 21, TARGET_VAL(ISD::FP_TO_UINT),
22536
310
  OPC_RecordChild0,
22537
310
  OPC_SwitchType , 7, MVT::v4i32,
22538
310
   OPC_CheckPatternPredicate0,
22539
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_U_W),
22540
310
                 MVT::v4i32, 1, 0, 
22541
310
  7, MVT::v2i64,
22542
310
   OPC_CheckPatternPredicate0,
22543
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FTRUNC_U_D),
22544
310
                 MVT::v2i64, 1, 0, 
22545
310
  0,
22546
310
 44, TARGET_VAL(MipsISD::ILVEV),
22547
310
  OPC_RecordChild0,
22548
310
  OPC_RecordChild1,
22549
310
  OPC_SwitchType , 8, MVT::v16i8,
22550
310
   OPC_CheckPatternPredicate0,
22551
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_B),
22552
310
                 MVT::v16i8, 2, 0, 1, 
22553
310
  8, MVT::v8i16,
22554
310
   OPC_CheckPatternPredicate0,
22555
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_H),
22556
310
                 MVT::v8i16, 2, 0, 1, 
22557
310
  8, MVT::v4i32,
22558
310
   OPC_CheckPatternPredicate0,
22559
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_W),
22560
310
                 MVT::v4i32, 2, 0, 1, 
22561
310
  8, MVT::v2i64,
22562
310
   OPC_CheckPatternPredicate0,
22563
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVEV_D),
22564
310
                 MVT::v2i64, 2, 0, 1, 
22565
310
  0,
22566
310
 44, TARGET_VAL(MipsISD::ILVL),
22567
310
  OPC_RecordChild0,
22568
310
  OPC_RecordChild1,
22569
310
  OPC_SwitchType , 8, MVT::v16i8,
22570
310
   OPC_CheckPatternPredicate0,
22571
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_B),
22572
310
                 MVT::v16i8, 2, 0, 1, 
22573
310
  8, MVT::v8i16,
22574
310
   OPC_CheckPatternPredicate0,
22575
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_H),
22576
310
                 MVT::v8i16, 2, 0, 1, 
22577
310
  8, MVT::v4i32,
22578
310
   OPC_CheckPatternPredicate0,
22579
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_W),
22580
310
                 MVT::v4i32, 2, 0, 1, 
22581
310
  8, MVT::v2i64,
22582
310
   OPC_CheckPatternPredicate0,
22583
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVL_D),
22584
310
                 MVT::v2i64, 2, 0, 1, 
22585
310
  0,
22586
310
 44, TARGET_VAL(MipsISD::ILVOD),
22587
310
  OPC_RecordChild0,
22588
310
  OPC_RecordChild1,
22589
310
  OPC_SwitchType , 8, MVT::v16i8,
22590
310
   OPC_CheckPatternPredicate0,
22591
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_B),
22592
310
                 MVT::v16i8, 2, 0, 1, 
22593
310
  8, MVT::v8i16,
22594
310
   OPC_CheckPatternPredicate0,
22595
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_H),
22596
310
                 MVT::v8i16, 2, 0, 1, 
22597
310
  8, MVT::v4i32,
22598
310
   OPC_CheckPatternPredicate0,
22599
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_W),
22600
310
                 MVT::v4i32, 2, 0, 1, 
22601
310
  8, MVT::v2i64,
22602
310
   OPC_CheckPatternPredicate0,
22603
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVOD_D),
22604
310
                 MVT::v2i64, 2, 0, 1, 
22605
310
  0,
22606
310
 44, TARGET_VAL(MipsISD::ILVR),
22607
310
  OPC_RecordChild0,
22608
310
  OPC_RecordChild1,
22609
310
  OPC_SwitchType , 8, MVT::v16i8,
22610
310
   OPC_CheckPatternPredicate0,
22611
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_B),
22612
310
                 MVT::v16i8, 2, 0, 1, 
22613
310
  8, MVT::v8i16,
22614
310
   OPC_CheckPatternPredicate0,
22615
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_H),
22616
310
                 MVT::v8i16, 2, 0, 1, 
22617
310
  8, MVT::v4i32,
22618
310
   OPC_CheckPatternPredicate0,
22619
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_W),
22620
310
                 MVT::v4i32, 2, 0, 1, 
22621
310
  8, MVT::v2i64,
22622
310
   OPC_CheckPatternPredicate0,
22623
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::ILVR_D),
22624
310
                 MVT::v2i64, 2, 0, 1, 
22625
310
  0,
22626
310
 44, TARGET_VAL(MipsISD::PCKEV),
22627
310
  OPC_RecordChild0,
22628
310
  OPC_RecordChild1,
22629
310
  OPC_SwitchType , 8, MVT::v16i8,
22630
310
   OPC_CheckPatternPredicate0,
22631
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_B),
22632
310
                 MVT::v16i8, 2, 0, 1, 
22633
310
  8, MVT::v8i16,
22634
310
   OPC_CheckPatternPredicate0,
22635
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_H),
22636
310
                 MVT::v8i16, 2, 0, 1, 
22637
310
  8, MVT::v4i32,
22638
310
   OPC_CheckPatternPredicate0,
22639
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_W),
22640
310
                 MVT::v4i32, 2, 0, 1, 
22641
310
  8, MVT::v2i64,
22642
310
   OPC_CheckPatternPredicate0,
22643
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKEV_D),
22644
310
                 MVT::v2i64, 2, 0, 1, 
22645
310
  0,
22646
310
 44, TARGET_VAL(MipsISD::PCKOD),
22647
310
  OPC_RecordChild0,
22648
310
  OPC_RecordChild1,
22649
310
  OPC_SwitchType , 8, MVT::v16i8,
22650
310
   OPC_CheckPatternPredicate0,
22651
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_B),
22652
310
                 MVT::v16i8, 2, 0, 1, 
22653
310
  8, MVT::v8i16,
22654
310
   OPC_CheckPatternPredicate0,
22655
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_H),
22656
310
                 MVT::v8i16, 2, 0, 1, 
22657
310
  8, MVT::v4i32,
22658
310
   OPC_CheckPatternPredicate0,
22659
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_W),
22660
310
                 MVT::v4i32, 2, 0, 1, 
22661
310
  8, MVT::v2i64,
22662
310
   OPC_CheckPatternPredicate0,
22663
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::PCKOD_D),
22664
310
                 MVT::v2i64, 2, 0, 1, 
22665
310
  0,
22666
310
 31|128,2, TARGET_VAL(MipsISD::SELECT_CC_DSP),
22667
310
  OPC_RecordChild0,
22668
310
  OPC_Scope, 12|128,1, 
22669
310
   OPC_CheckChild0Type, MVT::v2i16,
22670
310
   OPC_RecordChild1,
22671
310
   OPC_RecordChild2,
22672
310
   OPC_RecordChild3,
22673
310
   OPC_MoveChild4,
22674
310
   OPC_Scope, 21, 
22675
310
    OPC_CheckCondCode, ISD::SETEQ,
22676
310
    OPC_MoveParent,
22677
310
    OPC_CheckType, MVT::v2i16,
22678
310
    OPC_CheckPatternPredicate1,
22679
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
22680
310
                  MVT::v2i16, 2, 0, 1, 
22681
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22682
310
                  MVT::v2i16, 3, 4, 2, 3, 
22683
310
   21, 
22684
310
    OPC_CheckCondCode, ISD::SETLT,
22685
310
    OPC_MoveParent,
22686
310
    OPC_CheckType, MVT::v2i16,
22687
310
    OPC_CheckPatternPredicate1,
22688
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
22689
310
                  MVT::v2i16, 2, 0, 1, 
22690
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22691
310
                  MVT::v2i16, 3, 4, 2, 3, 
22692
310
   21, 
22693
310
    OPC_CheckCondCode, ISD::SETLE,
22694
310
    OPC_MoveParent,
22695
310
    OPC_CheckType, MVT::v2i16,
22696
310
    OPC_CheckPatternPredicate1,
22697
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
22698
310
                  MVT::v2i16, 2, 0, 1, 
22699
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22700
310
                  MVT::v2i16, 3, 4, 2, 3, 
22701
310
   21, 
22702
310
    OPC_CheckCondCode, ISD::SETNE,
22703
310
    OPC_MoveParent,
22704
310
    OPC_CheckType, MVT::v2i16,
22705
310
    OPC_CheckPatternPredicate1,
22706
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
22707
310
                  MVT::v2i16, 2, 0, 1, 
22708
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22709
310
                  MVT::v2i16, 3, 4, 3, 2, 
22710
310
   21, 
22711
310
    OPC_CheckCondCode, ISD::SETGE,
22712
310
    OPC_MoveParent,
22713
310
    OPC_CheckType, MVT::v2i16,
22714
310
    OPC_CheckPatternPredicate1,
22715
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
22716
310
                  MVT::v2i16, 2, 0, 1, 
22717
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22718
310
                  MVT::v2i16, 3, 4, 3, 2, 
22719
310
   21, 
22720
310
    OPC_CheckCondCode, ISD::SETGT,
22721
310
    OPC_MoveParent,
22722
310
    OPC_CheckType, MVT::v2i16,
22723
310
    OPC_CheckPatternPredicate1,
22724
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
22725
310
                  MVT::v2i16, 2, 0, 1, 
22726
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22727
310
                  MVT::v2i16, 3, 4, 3, 2, 
22728
310
   0, 
22729
310
  12|128,1, 
22730
310
   OPC_CheckChild0Type, MVT::v4i8,
22731
310
   OPC_RecordChild1,
22732
310
   OPC_RecordChild2,
22733
310
   OPC_RecordChild3,
22734
310
   OPC_MoveChild4,
22735
310
   OPC_Scope, 21, 
22736
310
    OPC_CheckCondCode, ISD::SETEQ,
22737
310
    OPC_MoveParent,
22738
310
    OPC_CheckType, MVT::v4i8,
22739
310
    OPC_CheckPatternPredicate1,
22740
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
22741
310
                  MVT::v4i8, 2, 0, 1, 
22742
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22743
310
                  MVT::v4i8, 3, 4, 2, 3, 
22744
310
   21, 
22745
310
    OPC_CheckCondCode, ISD::SETULT,
22746
310
    OPC_MoveParent,
22747
310
    OPC_CheckType, MVT::v4i8,
22748
310
    OPC_CheckPatternPredicate1,
22749
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
22750
310
                  MVT::v4i8, 2, 0, 1, 
22751
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22752
310
                  MVT::v4i8, 3, 4, 2, 3, 
22753
310
   21, 
22754
310
    OPC_CheckCondCode, ISD::SETULE,
22755
310
    OPC_MoveParent,
22756
310
    OPC_CheckType, MVT::v4i8,
22757
310
    OPC_CheckPatternPredicate1,
22758
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
22759
310
                  MVT::v4i8, 2, 0, 1, 
22760
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22761
310
                  MVT::v4i8, 3, 4, 2, 3, 
22762
310
   21, 
22763
310
    OPC_CheckCondCode, ISD::SETNE,
22764
310
    OPC_MoveParent,
22765
310
    OPC_CheckType, MVT::v4i8,
22766
310
    OPC_CheckPatternPredicate1,
22767
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
22768
310
                  MVT::v4i8, 2, 0, 1, 
22769
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22770
310
                  MVT::v4i8, 3, 4, 3, 2, 
22771
310
   21, 
22772
310
    OPC_CheckCondCode, ISD::SETUGE,
22773
310
    OPC_MoveParent,
22774
310
    OPC_CheckType, MVT::v4i8,
22775
310
    OPC_CheckPatternPredicate1,
22776
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
22777
310
                  MVT::v4i8, 2, 0, 1, 
22778
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22779
310
                  MVT::v4i8, 3, 4, 3, 2, 
22780
310
   21, 
22781
310
    OPC_CheckCondCode, ISD::SETUGT,
22782
310
    OPC_MoveParent,
22783
310
    OPC_CheckType, MVT::v4i8,
22784
310
    OPC_CheckPatternPredicate1,
22785
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
22786
310
                  MVT::v4i8, 2, 0, 1, 
22787
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22788
310
                  MVT::v4i8, 3, 4, 3, 2, 
22789
310
   0, 
22790
310
  0, 
22791
310
 11|128,4, TARGET_VAL(MipsISD::SETCC_DSP),
22792
310
  OPC_RecordChild0,
22793
310
  OPC_SwitchType , 1|128,2, MVT::v2i16,
22794
310
   OPC_CheckChild0Type, MVT::v2i16,
22795
310
   OPC_RecordChild1,
22796
310
   OPC_Scope, 41, 
22797
310
    OPC_CheckChild2CondCode, ISD::SETEQ,
22798
310
    OPC_CheckPatternPredicate1,
22799
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
22800
310
                  MVT::v2i16, 2, 0, 1, 
22801
310
    OPC_EmitRegisterI32, Mips::ZERO,
22802
310
    OPC_EmitInteger32, 3, 
22803
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22804
310
                  MVT::i32, 2, 3, 4, 
22805
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22806
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22807
310
                  MVT::v2i16, 2, 5, 6, 
22808
310
    OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22809
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22810
310
                  MVT::v2i16, 3, 2, 7, 8, 
22811
310
   41, 
22812
310
    OPC_CheckChild2CondCode, ISD::SETLT,
22813
310
    OPC_CheckPatternPredicate1,
22814
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
22815
310
                  MVT::v2i16, 2, 0, 1, 
22816
310
    OPC_EmitRegisterI32, Mips::ZERO,
22817
310
    OPC_EmitInteger32, 3, 
22818
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22819
310
                  MVT::i32, 2, 3, 4, 
22820
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22821
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22822
310
                  MVT::v2i16, 2, 5, 6, 
22823
310
    OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22824
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22825
310
                  MVT::v2i16, 3, 2, 7, 8, 
22826
310
   41, 
22827
310
    OPC_CheckChild2CondCode, ISD::SETLE,
22828
310
    OPC_CheckPatternPredicate1,
22829
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
22830
310
                  MVT::v2i16, 2, 0, 1, 
22831
310
    OPC_EmitRegisterI32, Mips::ZERO,
22832
310
    OPC_EmitInteger32, 3, 
22833
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22834
310
                  MVT::i32, 2, 3, 4, 
22835
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22836
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22837
310
                  MVT::v2i16, 2, 5, 6, 
22838
310
    OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22839
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22840
310
                  MVT::v2i16, 3, 2, 7, 8, 
22841
310
   41, 
22842
310
    OPC_CheckChild2CondCode, ISD::SETNE,
22843
310
    OPC_CheckPatternPredicate1,
22844
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_EQ_PH),
22845
310
                  MVT::v2i16, 2, 0, 1, 
22846
310
    OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22847
310
    OPC_EmitRegisterI32, Mips::ZERO,
22848
310
    OPC_EmitInteger32, 3, 
22849
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22850
310
                  MVT::i32, 2, 4, 5, 
22851
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22852
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22853
310
                  MVT::v2i16, 2, 6, 7, 
22854
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22855
310
                  MVT::v2i16, 3, 2, 3, 8, 
22856
310
   41, 
22857
310
    OPC_CheckChild2CondCode, ISD::SETGE,
22858
310
    OPC_CheckPatternPredicate1,
22859
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LT_PH),
22860
310
                  MVT::v2i16, 2, 0, 1, 
22861
310
    OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22862
310
    OPC_EmitRegisterI32, Mips::ZERO,
22863
310
    OPC_EmitInteger32, 3, 
22864
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22865
310
                  MVT::i32, 2, 4, 5, 
22866
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22867
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22868
310
                  MVT::v2i16, 2, 6, 7, 
22869
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22870
310
                  MVT::v2i16, 3, 2, 3, 8, 
22871
310
   41, 
22872
310
    OPC_CheckChild2CondCode, ISD::SETGT,
22873
310
    OPC_CheckPatternPredicate1,
22874
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMP_LE_PH),
22875
310
                  MVT::v2i16, 2, 0, 1, 
22876
310
    OPC_EmitRegister, MVT::v2i16, Mips::ZERO,
22877
310
    OPC_EmitRegisterI32, Mips::ZERO,
22878
310
    OPC_EmitInteger32, 3, 
22879
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22880
310
                  MVT::i32, 2, 4, 5, 
22881
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22882
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22883
310
                  MVT::v2i16, 2, 6, 7, 
22884
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_PH),
22885
310
                  MVT::v2i16, 3, 2, 3, 8, 
22886
310
   0, 
22887
310
  1|128,2, MVT::v4i8,
22888
310
   OPC_CheckChild0Type, MVT::v4i8,
22889
310
   OPC_RecordChild1,
22890
310
   OPC_Scope, 41, 
22891
310
    OPC_CheckChild2CondCode, ISD::SETEQ,
22892
310
    OPC_CheckPatternPredicate1,
22893
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
22894
310
                  MVT::v4i8, 2, 0, 1, 
22895
310
    OPC_EmitRegisterI32, Mips::ZERO,
22896
310
    OPC_EmitInteger32, 3, 
22897
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22898
310
                  MVT::i32, 2, 3, 4, 
22899
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22900
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22901
310
                  MVT::v4i8, 2, 5, 6, 
22902
310
    OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
22903
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22904
310
                  MVT::v4i8, 3, 2, 7, 8, 
22905
310
   41, 
22906
310
    OPC_CheckChild2CondCode, ISD::SETULT,
22907
310
    OPC_CheckPatternPredicate1,
22908
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
22909
310
                  MVT::v4i8, 2, 0, 1, 
22910
310
    OPC_EmitRegisterI32, Mips::ZERO,
22911
310
    OPC_EmitInteger32, 3, 
22912
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22913
310
                  MVT::i32, 2, 3, 4, 
22914
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22915
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22916
310
                  MVT::v4i8, 2, 5, 6, 
22917
310
    OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
22918
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22919
310
                  MVT::v4i8, 3, 2, 7, 8, 
22920
310
   41, 
22921
310
    OPC_CheckChild2CondCode, ISD::SETULE,
22922
310
    OPC_CheckPatternPredicate1,
22923
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
22924
310
                  MVT::v4i8, 2, 0, 1, 
22925
310
    OPC_EmitRegisterI32, Mips::ZERO,
22926
310
    OPC_EmitInteger32, 3, 
22927
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22928
310
                  MVT::i32, 2, 3, 4, 
22929
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22930
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22931
310
                  MVT::v4i8, 2, 5, 6, 
22932
310
    OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
22933
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22934
310
                  MVT::v4i8, 3, 2, 7, 8, 
22935
310
   41, 
22936
310
    OPC_CheckChild2CondCode, ISD::SETNE,
22937
310
    OPC_CheckPatternPredicate1,
22938
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_EQ_QB),
22939
310
                  MVT::v4i8, 2, 0, 1, 
22940
310
    OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
22941
310
    OPC_EmitRegisterI32, Mips::ZERO,
22942
310
    OPC_EmitInteger32, 3, 
22943
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22944
310
                  MVT::i32, 2, 4, 5, 
22945
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22946
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22947
310
                  MVT::v4i8, 2, 6, 7, 
22948
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22949
310
                  MVT::v4i8, 3, 2, 3, 8, 
22950
310
   41, 
22951
310
    OPC_CheckChild2CondCode, ISD::SETUGE,
22952
310
    OPC_CheckPatternPredicate1,
22953
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LT_QB),
22954
310
                  MVT::v4i8, 2, 0, 1, 
22955
310
    OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
22956
310
    OPC_EmitRegisterI32, Mips::ZERO,
22957
310
    OPC_EmitInteger32, 3, 
22958
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22959
310
                  MVT::i32, 2, 4, 5, 
22960
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22961
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22962
310
                  MVT::v4i8, 2, 6, 7, 
22963
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22964
310
                  MVT::v4i8, 3, 2, 3, 8, 
22965
310
   41, 
22966
310
    OPC_CheckChild2CondCode, ISD::SETUGT,
22967
310
    OPC_CheckPatternPredicate1,
22968
310
    OPC_EmitNode1None, TARGET_VAL(Mips::PseudoCMPU_LE_QB),
22969
310
                  MVT::v4i8, 2, 0, 1, 
22970
310
    OPC_EmitRegister, MVT::v4i8, Mips::ZERO,
22971
310
    OPC_EmitRegisterI32, Mips::ZERO,
22972
310
    OPC_EmitInteger32, 3, 
22973
310
    OPC_EmitNode1None, TARGET_VAL(Mips::ADDiu),
22974
310
                  MVT::i32, 2, 4, 5, 
22975
310
    OPC_EmitStringInteger32, Mips::DSPRRegClassID,
22976
310
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
22977
310
                  MVT::v4i8, 2, 6, 7, 
22978
310
    OPC_MorphNodeTo1None, TARGET_VAL(Mips::PseudoPICK_QB),
22979
310
                  MVT::v4i8, 3, 2, 3, 8, 
22980
310
   0, 
22981
310
  0,
22982
310
 25, TARGET_VAL(ISD::UINT_TO_FP),
22983
310
  OPC_RecordChild0,
22984
310
  OPC_SwitchType , 9, MVT::v4f32,
22985
310
   OPC_CheckChild0Type, MVT::v4i32,
22986
310
   OPC_CheckPatternPredicate0,
22987
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_U_W),
22988
310
                 MVT::v4f32, 1, 0, 
22989
310
  9, MVT::v2f64,
22990
310
   OPC_CheckChild0Type, MVT::v2i64,
22991
310
   OPC_CheckPatternPredicate0,
22992
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FFINT_U_D),
22993
310
                 MVT::v2f64, 1, 0, 
22994
310
  0,
22995
310
 21, TARGET_VAL(ISD::FLOG2),
22996
310
  OPC_RecordChild0,
22997
310
  OPC_SwitchType , 7, MVT::v4f32,
22998
310
   OPC_CheckPatternPredicate0,
22999
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FLOG2_W),
23000
310
                 MVT::v4f32, 1, 0, 
23001
310
  7, MVT::v2f64,
23002
310
   OPC_CheckPatternPredicate0,
23003
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FLOG2_D),
23004
310
                 MVT::v2f64, 1, 0, 
23005
310
  0,
23006
310
 27, TARGET_VAL(ISD::FMA),
23007
310
  OPC_RecordChild0,
23008
310
  OPC_RecordChild1,
23009
310
  OPC_RecordChild2,
23010
310
  OPC_SwitchType , 9, MVT::v4f32,
23011
310
   OPC_CheckPatternPredicate0,
23012
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_W),
23013
310
                 MVT::v4f32, 3, 0, 1, 2, 
23014
310
  9, MVT::v2f64,
23015
310
   OPC_CheckPatternPredicate0,
23016
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMADD_D),
23017
310
                 MVT::v2f64, 3, 0, 1, 2, 
23018
310
  0,
23019
310
 27, TARGET_VAL(MipsISD::FMS),
23020
310
  OPC_RecordChild0,
23021
310
  OPC_RecordChild1,
23022
310
  OPC_RecordChild2,
23023
310
  OPC_SwitchType , 9, MVT::v4f32,
23024
310
   OPC_CheckPatternPredicate0,
23025
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_W),
23026
310
                 MVT::v4f32, 3, 0, 1, 2, 
23027
310
  9, MVT::v2f64,
23028
310
   OPC_CheckPatternPredicate0,
23029
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FMSUB_D),
23030
310
                 MVT::v2f64, 3, 0, 1, 2, 
23031
310
  0,
23032
310
 21, TARGET_VAL(ISD::FRINT),
23033
310
  OPC_RecordChild0,
23034
310
  OPC_SwitchType , 7, MVT::v4f32,
23035
310
   OPC_CheckPatternPredicate0,
23036
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRINT_W),
23037
310
                 MVT::v4f32, 1, 0, 
23038
310
  7, MVT::v2f64,
23039
310
   OPC_CheckPatternPredicate0,
23040
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FRINT_D),
23041
310
                 MVT::v2f64, 1, 0, 
23042
310
  0,
23043
310
 21, TARGET_VAL(ISD::FEXP2),
23044
310
  OPC_RecordChild0,
23045
310
  OPC_SwitchType , 7, MVT::v4f32,
23046
310
   OPC_CheckPatternPredicate0,
23047
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_W_1_PSEUDO),
23048
310
                 MVT::v4f32, 1, 0, 
23049
310
  7, MVT::v2f64,
23050
310
   OPC_CheckPatternPredicate0,
23051
310
   OPC_MorphNodeTo1None, TARGET_VAL(Mips::FEXP2_D_1_PSEUDO),
23052
310
                 MVT::v2f64, 1, 0, 
23053
310
  0,
23054
310
 0,
23055
310
    0
23056
310
  }; // Total Array size is 47194 bytes
23057
23058
310
  #undef TARGET_VAL
23059
310
  SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
23060
310
}
23061
#endif // GET_DAGISEL_BODY
23062
23063
#ifdef GET_DAGISEL_DECL
23064
bool CheckPatternPredicate(unsigned PredNo) const override;
23065
#endif
23066
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
23067
bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
23068
#if DAGISEL_INLINE
23069
  override
23070
#endif
23071
175
{
23072
175
  switch (PredNo) {
23073
0
  default: llvm_unreachable("Invalid predicate in table?");
23074
0
  case 0: return (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
23075
0
  case 1: return (Subtarget->hasDSP());
23076
47
  case 2: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23077
0
  case 3: return (Subtarget->hasMSA());
23078
0
  case 4: return (Subtarget->inMicroMipsMode());
23079
0
  case 5: return (Subtarget->inMips16Mode());
23080
0
  case 6: return (Subtarget->hasDSP()) && (Subtarget->inMicroMipsMode());
23081
0
  case 7: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode());
23082
0
  case 8: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
23083
0
  case 9: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23084
24
  case 10: return (!Subtarget->inMips16Mode());
23085
30
  case 11: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
23086
1
  case 12: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
23087
0
  case 13: return (Subtarget->hasDSPR2());
23088
0
  case 14: return (Subtarget->hasDSPR2()) && (Subtarget->inMicroMipsMode());
23089
0
  case 15: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23090
0
  case 16: return (Subtarget->hasMSA()) && (!Subtarget->isLittle());
23091
0
  case 17: return (Subtarget->hasMSA()) && (Subtarget->isLittle());
23092
7
  case 18: return (Subtarget->isGP64bit()) && (!Subtarget->inMips16Mode());
23093
0
  case 19: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding());
23094
0
  case 20: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23095
0
  case 21: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23096
0
  case 22: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (Subtarget->hasSym32()) && (!Subtarget->inMicroMipsMode());
23097
35
  case 23: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23098
0
  case 24: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
23099
0
  case 25: return (Subtarget->hasCnMips());
23100
0
  case 26: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23101
0
  case 27: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
23102
0
  case 28: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23103
0
  case 29: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
23104
0
  case 30: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23105
0
  case 31: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6());
23106
0
  case 32: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat());
23107
0
  case 33: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit());
23108
0
  case 34: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat());
23109
0
  case 35: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips4_32());
23110
0
  case 36: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23111
0
  case 37: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6());
23112
0
  case 38: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23113
0
  case 39: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23114
0
  case 40: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
23115
0
  case 41: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23116
0
  case 42: return (Subtarget->hasMSA()) && (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding());
23117
0
  case 43: return (TM.Options.AllowFPOpFusion == FPOpFusion::Fast) && (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding());
23118
0
  case 44: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit());
23119
0
  case 45: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23120
0
  case 46: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23121
0
  case 47: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
23122
0
  case 48: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23123
9
  case 49: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
23124
0
  case 50: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
23125
0
  case 51: return (Subtarget->inMicroMipsMode()) && (!Subtarget->isFP64bit());
23126
0
  case 52: return (Subtarget->hasEVA()) && (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6());
23127
0
  case 53: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23128
0
  case 54: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64());
23129
0
  case 55: return (Subtarget->hasMSA()) && (Subtarget->isGP64bit());
23130
0
  case 56: return (Subtarget->hasStandardEncoding());
23131
0
  case 57: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23132
2
  case 58: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23133
0
  case 59: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23134
0
  case 60: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
23135
0
  case 61: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23136
0
  case 62: return (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips4_32());
23137
0
  case 63: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->hasMips4_32());
23138
0
  case 64: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (!Subtarget->inMicroMipsMode());
23139
0
  case 65: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23140
0
  case 66: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23141
0
  case 67: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23142
0
  case 68: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23143
0
  case 69: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23144
0
  case 70: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23145
0
  case 71: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23146
0
  case 72: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23147
0
  case 73: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->hasMips32r6());
23148
0
  case 74: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23149
0
  case 75: return (!Subtarget->disableMadd4()) && (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23150
0
  case 76: return (!Subtarget->disableMadd4()) && (Subtarget->inMicroMipsMode()) && (TM.Options.NoNaNsFPMath) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
23151
0
  case 77: return (Subtarget->isFP64bit());
23152
0
  case 78: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit());
23153
9
  case 79: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit());
23154
0
  case 80: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isTargetNaCl()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23155
0
  case 81: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23156
0
  case 82: return (Subtarget->hasMips4_32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isTargetNaCl()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23157
0
  case 83: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23158
0
  case 84: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23159
0
  case 85: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasCnMips()) && (!Subtarget->inMicroMipsMode());
23160
0
  case 86: return (Subtarget->hasMips32r6()) && (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat());
23161
0
  case 87: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding());
23162
0
  case 88: return (Subtarget->hasMips64()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips64r6());
23163
0
  case 89: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasDSP());
23164
0
  case 90: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
23165
0
  case 91: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23166
0
  case 92: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
23167
0
  case 93: return (Subtarget->hasMips32r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
23168
0
  case 94: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
23169
0
  case 95: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
23170
0
  case 96: return (Subtarget->hasMips64r6()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
23171
0
  case 97: return (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMips16Mode());
23172
0
  case 98: return (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMips16Mode());
23173
0
  case 99: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit());
23174
0
  case 100: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23175
0
  case 101: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23176
0
  case 102: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23177
0
  case 103: return (Subtarget->hasMips4_32()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23178
0
  case 104: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
23179
0
  case 105: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23180
0
  case 106: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (Subtarget->isGP64bit());
23181
0
  case 107: return (Subtarget->hasDSP()) && (!Subtarget->inMicroMipsMode());
23182
0
  case 108: return (Subtarget->hasCnMips()) && (Subtarget->hasMips64()) && (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
23183
0
  case 109: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode());
23184
0
  case 110: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23185
7
  case 111: return (Subtarget->isGP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode());
23186
0
  case 112: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode());
23187
0
  case 113: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding());
23188
0
  case 114: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode());
23189
0
  case 115: return (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
23190
0
  case 116: return (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMips16Mode());
23191
0
  case 117: return (Subtarget->isABI_N64()) && (!Subtarget->inMips16Mode()) && (Subtarget->useIndirectJumpsHazard());
23192
0
  case 118: return (Subtarget->hasMips32()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
23193
0
  case 119: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (Subtarget->isABI_N64()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23194
2
  case 120: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23195
2
  case 121: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23196
0
  case 122: return (Subtarget->hasMSA()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23197
0
  case 123: return (Subtarget->hasMips32r2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6()) && (Subtarget->useIndirectJumpsHazard());
23198
0
  case 124: return (Subtarget->hasMips3()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useIndirectJumpsHazard()) && (!Subtarget->inMicroMipsMode()) && (!Subtarget->inMips16Mode()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23199
0
  case 125: return (Subtarget->hasStandardEncoding()) && (!Subtarget->hasMips32r6()) && (!Subtarget->hasMips64r6());
23200
0
  case 126: return (Subtarget->hasStandardEncoding()) && (!Subtarget->inMicroMipsMode()) && (!TM.isPositionIndependent());
23201
0
  case 127: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (!TM.isPositionIndependent());
23202
0
  case 128: return (Subtarget->inMicroMipsMode()) && (!Subtarget->hasMips32r6()) && (TM.isPositionIndependent());
23203
0
  case 129: return (Subtarget->hasDSP()) && (!Subtarget->inMips16Mode());
23204
0
  case 130: return (Subtarget->hasMips64r2()) && (Subtarget->hasStandardEncoding());
23205
0
  case 131: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat());
23206
0
  case 132: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
23207
0
  case 133: return (Subtarget->inMicroMipsMode()) && (!Subtarget->useSoftFloat()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
23208
0
  case 134: return (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
23209
0
  case 135: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode()) && (Subtarget->inAbs2008Mode() ||TM.Options.NoNaNsFPMath);
23210
0
  case 136: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->useSoftFloat()) && (!Subtarget->inMicroMipsMode());
23211
0
  case 137: return (!Subtarget->isFP64bit());
23212
0
  case 138: return (Subtarget->hasMips2()) && (Subtarget->hasStandardEncoding()) && (!Subtarget->isFP64bit()) && (!Subtarget->inMicroMipsMode());
23213
0
  case 139: return (Subtarget->inMicroMipsMode()) && (Subtarget->isFP64bit()) && (!Subtarget->hasMips32r6());
23214
0
  case 140: return (Subtarget->hasStandardEncoding()) && (Subtarget->isFP64bit());
23215
175
  }
23216
175
}
23217
#endif // GET_DAGISEL_BODY
23218
23219
#ifdef GET_DAGISEL_DECL
23220
bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
23221
#endif
23222
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
23223
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
23224
#if DAGISEL_INLINE
23225
  override
23226
#endif
23227
776
{
23228
776
  switch (PredNo) {
23229
0
  default: llvm_unreachable("Invalid predicate in table?");
23230
0
  case 0: {
23231
    // Predicate_immi32Cst7
23232
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23233
0
return isUInt<32>(Imm) && Imm == 7;
23234
0
  }
23235
0
  case 1: {
23236
    // Predicate_immi32Cst15
23237
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23238
0
return isUInt<32>(Imm) && Imm == 15;
23239
0
  }
23240
0
  case 2: {
23241
    // Predicate_immi32Cst31
23242
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23243
0
return isUInt<32>(Imm) && Imm == 31;
23244
0
  }
23245
20
  case 3: {
23246
    // Predicate_immZExt5
23247
    // Predicate_timmZExt5
23248
20
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23249
20
return Imm == (Imm & 0x1f);
23250
0
  }
23251
7
  case 4: {
23252
    // Predicate_atomic_cmp_swap_16
23253
    // Predicate_atomic_load_16
23254
    // Predicate_atomic_load_add_16
23255
    // Predicate_atomic_load_and_16
23256
    // Predicate_atomic_load_max_16
23257
    // Predicate_atomic_load_min_16
23258
    // Predicate_atomic_load_nand_16
23259
    // Predicate_atomic_load_or_16
23260
    // Predicate_atomic_load_sub_16
23261
    // Predicate_atomic_load_umax_16
23262
    // Predicate_atomic_load_umin_16
23263
    // Predicate_atomic_load_xor_16
23264
    // Predicate_atomic_store_16
23265
    // Predicate_atomic_swap_16
23266
    // Predicate_extloadi16
23267
    // Predicate_sextloadi16
23268
    // Predicate_zextloadi16
23269
7
    SDNode *N = Node;
23270
7
    (void)N;
23271
7
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
23272
3
return true;
23273
23274
7
  }
23275
0
  case 5: {
23276
    // Predicate_immz
23277
0
    auto *N = cast<ConstantSDNode>(Node);
23278
0
    (void)N;
23279
0
 return N->getSExtValue() == 0; 
23280
7
  }
23281
18
  case 6: {
23282
    // Predicate_atomic_cmp_swap_8
23283
    // Predicate_atomic_load_8
23284
    // Predicate_atomic_load_add_8
23285
    // Predicate_atomic_load_and_8
23286
    // Predicate_atomic_load_max_8
23287
    // Predicate_atomic_load_min_8
23288
    // Predicate_atomic_load_nand_8
23289
    // Predicate_atomic_load_or_8
23290
    // Predicate_atomic_load_sub_8
23291
    // Predicate_atomic_load_umax_8
23292
    // Predicate_atomic_load_umin_8
23293
    // Predicate_atomic_load_xor_8
23294
    // Predicate_atomic_store_8
23295
    // Predicate_atomic_swap_8
23296
    // Predicate_extloadi8
23297
    // Predicate_sextloadi8
23298
    // Predicate_zextloadi8
23299
18
    SDNode *N = Node;
23300
18
    (void)N;
23301
18
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
23302
15
return true;
23303
23304
18
  }
23305
15
  case 7: {
23306
    // Predicate_immSExt16
23307
15
    auto *N = cast<ConstantSDNode>(Node);
23308
15
    (void)N;
23309
15
 return isInt<16>(N->getSExtValue()); 
23310
18
  }
23311
0
  case 8: {
23312
    // Predicate_vsplat_imm_eq_1
23313
0
    SDNode *N = Node;
23314
0
    (void)N;
23315
23316
0
  APInt Imm;
23317
0
  EVT EltTy = N->getValueType(0).getVectorElementType();
23318
23319
0
  return selectVSplat(N, Imm, EltTy.getSizeInBits()) &&
23320
0
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;
23321
23322
18
  }
23323
11
  case 9: {
23324
    // Predicate_store
23325
11
    SDNode *N = Node;
23326
11
    (void)N;
23327
11
 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
23328
8
return true;
23329
23330
11
  }
23331
0
  case 10: {
23332
    // Predicate_atomic_cmp_swap_32
23333
    // Predicate_atomic_load_32
23334
    // Predicate_atomic_load_add_32
23335
    // Predicate_atomic_load_and_32
23336
    // Predicate_atomic_load_max_32
23337
    // Predicate_atomic_load_min_32
23338
    // Predicate_atomic_load_nand_32
23339
    // Predicate_atomic_load_or_32
23340
    // Predicate_atomic_load_sub_32
23341
    // Predicate_atomic_load_umax_32
23342
    // Predicate_atomic_load_umin_32
23343
    // Predicate_atomic_load_xor_32
23344
    // Predicate_atomic_store_32
23345
    // Predicate_atomic_swap_32
23346
    // Predicate_extloadi32
23347
    // Predicate_sextloadi32
23348
    // Predicate_zextloadi32
23349
0
    SDNode *N = Node;
23350
0
    (void)N;
23351
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
23352
0
return true;
23353
23354
0
  }
23355
0
  case 11: {
23356
    // Predicate_immSExt16Plus1
23357
0
    auto *N = cast<ConstantSDNode>(Node);
23358
0
    (void)N;
23359
23360
0
  return isInt<17>(N->getSExtValue()) && isInt<16>(N->getSExtValue() + 1);
23361
23362
0
  }
23363
23
  case 12: {
23364
    // Predicate_unindexedstore
23365
23
    SDNode *N = Node;
23366
23
    (void)N;
23367
23
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
23368
23
return true;
23369
23370
23
  }
23371
3
  case 13: {
23372
    // Predicate_immZExt16
23373
3
    auto *N = cast<ConstantSDNode>(Node);
23374
3
    (void)N;
23375
23376
3
  if (N->getValueType(0) == MVT::i32)
23377
0
    return (uint32_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
23378
3
  else
23379
3
    return (uint64_t)N->getZExtValue() == (unsigned short)N->getZExtValue();
23380
23381
3
  }
23382
0
  case 14: {
23383
    // Predicate_vsplati64_imm_eq_63
23384
0
    SDNode *N = Node;
23385
0
    (void)N;
23386
23387
0
  APInt Imm;
23388
0
  SDNode *BV = N->getOperand(0).getNode();
23389
0
  EVT EltTy = N->getValueType(0).getVectorElementType();
23390
23391
0
  return selectVSplat(BV, Imm, EltTy.getSizeInBits()) &&
23392
0
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 63;
23393
23394
3
  }
23395
0
  case 15: {
23396
    // Predicate_immZExt4
23397
    // Predicate_immZExt4Ptr
23398
    // Predicate_timmZExt4
23399
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23400
0
return isUInt<4>(Imm);
23401
3
  }
23402
0
  case 16: {
23403
    // Predicate_atomic_cmp_swap_64
23404
    // Predicate_atomic_load_64
23405
    // Predicate_atomic_load_add_64
23406
    // Predicate_atomic_load_and_64
23407
    // Predicate_atomic_load_max_64
23408
    // Predicate_atomic_load_min_64
23409
    // Predicate_atomic_load_nand_64
23410
    // Predicate_atomic_load_or_64
23411
    // Predicate_atomic_load_sub_64
23412
    // Predicate_atomic_load_umax_64
23413
    // Predicate_atomic_load_umin_64
23414
    // Predicate_atomic_load_xor_64
23415
    // Predicate_atomic_store_64
23416
    // Predicate_atomic_swap_64
23417
0
    SDNode *N = Node;
23418
0
    (void)N;
23419
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
23420
0
return true;
23421
23422
0
  }
23423
20
  case 17: {
23424
    // Predicate_immZExt6
23425
    // Predicate_timmZExt6
23426
20
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23427
20
return Imm == (Imm & 0x3f);
23428
0
  }
23429
0
  case 18: {
23430
    // Predicate_immZExt3
23431
    // Predicate_immZExt3Ptr
23432
    // Predicate_timmZExt3
23433
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23434
0
return isUInt<3>(Imm);
23435
0
  }
23436
0
  case 19: {
23437
    // Predicate_vsplati64_imm_eq_1
23438
0
    SDNode *N = Node;
23439
0
    (void)N;
23440
23441
0
  APInt Imm;
23442
0
  SDNode *BV = N->getOperand(0).getNode();
23443
0
  EVT EltTy = N->getValueType(0).getVectorElementType();
23444
23445
0
  return selectVSplat(BV, Imm, EltTy.getSizeInBits()) &&
23446
0
         Imm.getBitWidth() == EltTy.getSizeInBits() && Imm == 1;
23447
23448
0
  }
23449
178
  case 20: {
23450
    // Predicate_sextload
23451
178
    SDNode *N = Node;
23452
178
    (void)N;
23453
178
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
23454
0
return true;
23455
23456
178
  }
23457
170
  case 21: {
23458
    // Predicate_zextload
23459
170
    SDNode *N = Node;
23460
170
    (void)N;
23461
170
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
23462
13
return true;
23463
23464
170
  }
23465
0
  case 22: {
23466
    // Predicate_immZExt2
23467
    // Predicate_immZExt2Ptr
23468
    // Predicate_timmZExt2
23469
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23470
0
return isUInt<2>(Imm);
23471
170
  }
23472
0
  case 23: {
23473
    // Predicate_shiftMask_64
23474
0
    SDNode *N = Node;
23475
0
    (void)N;
23476
23477
0
  return isUnneededShiftMask(N, 6);
23478
23479
170
  }
23480
96
  case 24: {
23481
    // Predicate_load
23482
96
    SDNode *N = Node;
23483
96
    (void)N;
23484
96
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
23485
74
return true;
23486
23487
96
  }
23488
0
  case 25: {
23489
    // Predicate_shiftMask_32
23490
0
    SDNode *N = Node;
23491
0
    (void)N;
23492
23493
0
  return isUnneededShiftMask(N, 5);
23494
23495
96
  }
23496
0
  case 26: {
23497
    // Predicate_immZExt1Ptr
23498
    // Predicate_timmZExt1
23499
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23500
0
return isUInt<1>(Imm);
23501
96
  }
23502
59
  case 27: {
23503
    // Predicate_unindexedload
23504
59
    SDNode *N = Node;
23505
59
    (void)N;
23506
59
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
23507
59
return true;
23508
23509
59
  }
23510
0
  case 28: {
23511
    // Predicate_truncstorei16
23512
0
    SDNode *N = Node;
23513
0
    (void)N;
23514
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
23515
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
23516
0
return true;
23517
23518
0
  }
23519
0
  case 29: {
23520
    // Predicate_immZExt5_64
23521
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23522
0
 return Imm == (Imm & 0x1f); 
23523
0
  }
23524
69
  case 30: {
23525
    // Predicate_extload
23526
69
    SDNode *N = Node;
23527
69
    (void)N;
23528
69
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
23529
9
return true;
23530
23531
69
  }
23532
12
  case 31: {
23533
    // Predicate_truncstorei8
23534
12
    SDNode *N = Node;
23535
12
    (void)N;
23536
12
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
23537
12
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
23538
12
return true;
23539
23540
12
  }
23541
20
  case 32: {
23542
    // Predicate_truncstore
23543
20
    SDNode *N = Node;
23544
20
    (void)N;
23545
20
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
23546
12
return true;
23547
23548
20
  }
23549
9
  case 33: {
23550
    // Predicate_extloadi1
23551
9
    SDNode *N = Node;
23552
9
    (void)N;
23553
9
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i1) return false;
23554
0
return true;
23555
23556
9
  }
23557
0
  case 34: {
23558
    // Predicate_immZExt5Plus1
23559
0
    auto *N = cast<ConstantSDNode>(Node);
23560
0
    (void)N;
23561
23562
0
  return isUInt<5>(N->getZExtValue() - 1);
23563
23564
9
  }
23565
15
  case 35: {
23566
    // Predicate_ORiPred
23567
15
    auto *N = cast<ConstantSDNode>(Node);
23568
15
    (void)N;
23569
23570
15
  return isUInt<16>(N->getZExtValue()) && !isInt<16>(N->getSExtValue());
23571
23572
9
  }
23573
6
  case 36: {
23574
    // Predicate_imm32ZExt16
23575
6
    const APInt & Imm = Node->getAsAPIntVal();
23576
23577
6
  return (uint32_t)Imm.getZExtValue() == (unsigned short)Imm.getZExtValue();
23578
23579
9
  }
23580
15
  case 37: {
23581
    // Predicate_LUiPred
23582
15
    auto *N = cast<ConstantSDNode>(Node);
23583
15
    (void)N;
23584
23585
15
  int64_t Val = N->getSExtValue();
23586
15
  return !isInt<16>(Val) && isInt<32>(Val) && !(Val & 0xffff);
23587
23588
9
  }
23589
10
  case 38: {
23590
    // Predicate_immZExt2Lsa
23591
10
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23592
10
return isUInt<2>(Imm - 1);
23593
9
  }
23594
0
  case 39: {
23595
    // Predicate_immZExtAndi16
23596
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23597
0
return (Imm == 128 || (Imm >= 1 && Imm <= 4) || Imm == 7 || Imm == 8 ||
23598
0
            Imm == 15 || Imm == 16 || Imm == 31 || Imm == 32 || Imm == 63 ||
23599
0
            Imm == 64 || Imm == 255 || Imm == 32768 || Imm == 65535 );
23600
9
  }
23601
0
  case 40: {
23602
    // Predicate_immZExt5Plus32
23603
0
    auto *N = cast<ConstantSDNode>(Node);
23604
0
    (void)N;
23605
23606
0
  return isUInt<5>(N->getZExtValue() - 32);
23607
23608
9
  }
23609
0
  case 41: {
23610
    // Predicate_timmZExt10
23611
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23612
0
return isUInt<10>(Imm);
23613
9
  }
23614
0
  case 42: {
23615
    // Predicate_LUiORiPred
23616
0
    auto *N = cast<ConstantSDNode>(Node);
23617
0
    (void)N;
23618
23619
0
  int64_t SVal = N->getSExtValue();
23620
0
  return isInt<32>(SVal) && (SVal & 0xffff);
23621
23622
9
  }
23623
0
  case 43: {
23624
    // Predicate_PowerOf2LO
23625
0
    auto *N = cast<ConstantSDNode>(Node);
23626
0
    (void)N;
23627
23628
0
  if (N->getValueType(0) == MVT::i64) {
23629
0
    uint64_t Imm = N->getZExtValue();
23630
0
    return isPowerOf2_64(Imm) && (Imm & 0xffffffff) == Imm;
23631
0
  }
23632
0
  else
23633
0
    return false;
23634
23635
0
  }
23636
0
  case 44: {
23637
    // Predicate_PowerOf2HI
23638
0
    auto *N = cast<ConstantSDNode>(Node);
23639
0
    (void)N;
23640
23641
0
  if (N->getValueType(0) == MVT::i64) {
23642
0
    uint64_t Imm = N->getZExtValue();
23643
0
    return isPowerOf2_64(Imm) && (Imm & 0xffffffff00000000) == Imm;
23644
0
  }
23645
0
  else
23646
0
    return false;
23647
23648
0
  }
23649
0
  case 45: {
23650
    // Predicate_timmZExt7
23651
0
    auto *N = cast<ConstantSDNode>(Node);
23652
0
    (void)N;
23653
0
 return isUInt<7>(N->getZExtValue()); 
23654
0
  }
23655
0
  case 46: {
23656
    // Predicate_fpimm0
23657
0
    auto *N = cast<ConstantFPSDNode>(Node);
23658
0
    (void)N;
23659
23660
0
  return N->isExactlyValue(+0.0);
23661
23662
0
  }
23663
0
  case 47: {
23664
    // Predicate_immZExt2Shift
23665
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23666
0
return Imm >= 1 && Imm <= 8;
23667
0
  }
23668
0
  case 48: {
23669
    // Predicate_immZExt8
23670
    // Predicate_timmZExt8
23671
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23672
0
return isUInt<8>(Imm);
23673
0
  }
23674
0
  case 49: {
23675
    // Predicate_assertzext_lt_i32
23676
0
    SDNode *N = Node;
23677
0
    (void)N;
23678
23679
0
  return cast<VTSDNode>(N->getOperand(1))->getVT().bitsLT(MVT::i32);
23680
23681
0
  }
23682
0
  case 50: {
23683
    // Predicate_truncstorei32
23684
0
    SDNode *N = Node;
23685
0
    (void)N;
23686
0
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
23687
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
23688
0
return true;
23689
23690
0
  }
23691
0
  case 51: {
23692
    // Predicate_immSExtAddius5
23693
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23694
0
return Imm >= -8 && Imm <= 7;
23695
0
  }
23696
0
  case 52: {
23697
    // Predicate_fpimm0neg
23698
0
    auto *N = cast<ConstantFPSDNode>(Node);
23699
0
    (void)N;
23700
23701
0
  return N->isExactlyValue(-0.0);
23702
23703
0
  }
23704
0
  case 53: {
23705
    // Predicate_immZExt32
23706
0
    auto *N = cast<ConstantSDNode>(Node);
23707
0
    (void)N;
23708
0
 return isUInt<32>(N->getZExtValue()); 
23709
0
  }
23710
0
  case 54: {
23711
    // Predicate_immSExt10
23712
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23713
0
return isInt<10>(Imm);
23714
0
  }
23715
0
  case 55: {
23716
    // Predicate_immSExt8
23717
0
    auto *N = cast<ConstantSDNode>(Node);
23718
0
    (void)N;
23719
0
 return isInt<8>(N->getSExtValue()); 
23720
0
  }
23721
0
  case 56: {
23722
    // Predicate_PowerOf2LO_i32
23723
0
    auto *N = cast<ConstantSDNode>(Node);
23724
0
    (void)N;
23725
23726
0
  if (N->getValueType(0) == MVT::i32) {
23727
0
    uint64_t Imm = N->getZExtValue();
23728
0
    return isPowerOf2_32(Imm) && isUInt<32>(Imm);
23729
0
  }
23730
0
  else
23731
0
    return false;
23732
23733
0
  }
23734
0
  case 57: {
23735
    // Predicate_immZExt5Plus33
23736
0
    auto *N = cast<ConstantSDNode>(Node);
23737
0
    (void)N;
23738
23739
0
  return isUInt<5>(N->getZExtValue() - 33);
23740
23741
0
  }
23742
0
  case 58: {
23743
    // Predicate_immZExt32Low16Zero
23744
0
    auto *N = cast<ConstantSDNode>(Node);
23745
0
    (void)N;
23746
23747
0
  uint64_t Val = N->getZExtValue();
23748
0
  return isUInt<32>(Val) && !(Val & 0xffff);
23749
23750
0
  }
23751
0
  case 59: {
23752
    // Predicate_immSExt10_64
23753
0
    auto *N = cast<ConstantSDNode>(Node);
23754
0
    (void)N;
23755
0
 return isInt<10>(N->getSExtValue()); 
23756
0
  }
23757
0
  case 60: {
23758
    // Predicate_immSExtAddiur2
23759
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23760
0
return Imm == 1 || Imm == -1 ||
23761
0
                                           ((Imm % 4 == 0) &&
23762
0
                                            Imm < 28 && Imm > 0);
23763
0
  }
23764
0
  case 61: {
23765
    // Predicate_immZExt16_64
23766
0
    auto *N = cast<ConstantSDNode>(Node);
23767
0
    (void)N;
23768
0
 return isUInt<16>(N->getZExtValue()); 
23769
0
  }
23770
0
  case 62: {
23771
    // Predicate_imm32SExt16
23772
0
    const APInt & Imm = Node->getAsAPIntVal();
23773
0
 return isInt<16>(Imm.getSExtValue()); 
23774
0
  }
23775
0
  case 63: {
23776
    // Predicate_immLi16
23777
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23778
0
return Imm >= -1 && Imm <= 126;
23779
0
  }
23780
0
  case 64: {
23781
    // Predicate_immSExt6
23782
0
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
23783
0
return isInt<6>(Imm);
23784
0
  }
23785
776
  }
23786
776
}
23787
#endif // GET_DAGISEL_BODY
23788
23789
#ifdef GET_DAGISEL_DECL
23790
bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
23791
      SDValue N, unsigned PatternNo,
23792
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
23793
#endif
23794
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
23795
bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
23796
      SDValue N, unsigned PatternNo,
23797
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
23798
#if DAGISEL_INLINE
23799
  override
23800
#endif
23801
59
{
23802
59
  unsigned NextRes = Result.size();
23803
59
  switch (PatternNo) {
23804
0
  default: llvm_unreachable("Invalid pattern # in table?");
23805
40
  case 0:
23806
40
    Result.resize(NextRes+2);
23807
40
  return selectIntAddr(N, Result[NextRes+0].first, Result[NextRes+1].first);
23808
0
  case 1:
23809
0
    Result.resize(NextRes+2);
23810
0
  return selectAddrDefault(N, Result[NextRes+0].first, Result[NextRes+1].first);
23811
19
  case 2:
23812
19
    Result.resize(NextRes+2);
23813
19
  return selectAddrRegImm(N, Result[NextRes+0].first, Result[NextRes+1].first);
23814
0
  case 3:
23815
0
    Result.resize(NextRes+1);
23816
0
  return selectVSplatUimmPow2(N, Result[NextRes+0].first);
23817
0
  case 4:
23818
0
    Result.resize(NextRes+1);
23819
0
  return selectVSplatUimm5(N, Result[NextRes+0].first);
23820
0
  case 5:
23821
0
    Result.resize(NextRes+1);
23822
0
  return selectVSplatUimm8(N, Result[NextRes+0].first);
23823
0
  case 6:
23824
0
    Result.resize(NextRes+2);
23825
0
  return selectIntAddr12MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
23826
0
  case 7:
23827
0
    Result.resize(NextRes+1);
23828
0
  return selectVSplatUimm5(N, Result[NextRes+0].first);
23829
0
  case 8:
23830
0
    Result.resize(NextRes+1);
23831
0
  return selectVSplatUimm5(N, Result[NextRes+0].first);
23832
0
  case 9:
23833
0
    Result.resize(NextRes+1);
23834
0
  return selectVSplatUimm5(N, Result[NextRes+0].first);
23835
0
  case 10:
23836
0
    Result.resize(NextRes+2);
23837
0
  return selectAddr16(N, Result[NextRes+0].first, Result[NextRes+1].first);
23838
0
  case 11:
23839
0
    Result.resize(NextRes+1);
23840
0
  return selectVSplatUimmInvPow2(N, Result[NextRes+0].first);
23841
0
  case 12:
23842
0
    Result.resize(NextRes+1);
23843
0
  return selectVSplatSimm5(N, Result[NextRes+0].first);
23844
0
  case 13:
23845
0
    Result.resize(NextRes+1);
23846
0
  return selectVSplatSimm5(N, Result[NextRes+0].first);
23847
0
  case 14:
23848
0
    Result.resize(NextRes+1);
23849
0
  return selectVSplatSimm5(N, Result[NextRes+0].first);
23850
0
  case 15:
23851
0
    Result.resize(NextRes+1);
23852
0
  return selectVSplatSimm5(N, Result[NextRes+0].first);
23853
0
  case 16:
23854
0
    Result.resize(NextRes+2);
23855
0
  return selectIntAddrSImm10(N, Result[NextRes+0].first, Result[NextRes+1].first);
23856
0
  case 17:
23857
0
    Result.resize(NextRes+2);
23858
0
  return selectIntAddrSImm10Lsl1(N, Result[NextRes+0].first, Result[NextRes+1].first);
23859
0
  case 18:
23860
0
    Result.resize(NextRes+2);
23861
0
  return selectIntAddrSImm10Lsl2(N, Result[NextRes+0].first, Result[NextRes+1].first);
23862
0
  case 19:
23863
0
    Result.resize(NextRes+2);
23864
0
  return selectIntAddrSImm10Lsl3(N, Result[NextRes+0].first, Result[NextRes+1].first);
23865
0
  case 20:
23866
0
    Result.resize(NextRes+2);
23867
0
  return selectAddr16SP(N, Result[NextRes+0].first, Result[NextRes+1].first);
23868
0
  case 21:
23869
0
    Result.resize(NextRes+2);
23870
0
  return selectIntAddrLSL2MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
23871
0
  case 22:
23872
0
    Result.resize(NextRes+1);
23873
0
  return selectVSplatUimm3(N, Result[NextRes+0].first);
23874
0
  case 23:
23875
0
    Result.resize(NextRes+1);
23876
0
  return selectVSplatUimm4(N, Result[NextRes+0].first);
23877
0
  case 24:
23878
0
    Result.resize(NextRes+1);
23879
0
  return selectVSplatUimm6(N, Result[NextRes+0].first);
23880
0
  case 25:
23881
0
    Result.resize(NextRes+2);
23882
0
  return selectIntAddr11MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
23883
0
  case 26:
23884
0
    Result.resize(NextRes+2);
23885
0
  return selectIntAddr16MM(N, Result[NextRes+0].first, Result[NextRes+1].first);
23886
0
  case 27:
23887
0
    Result.resize(NextRes+1);
23888
0
  return selectVSplatUimm4(N, Result[NextRes+0].first);
23889
0
  case 28:
23890
0
    Result.resize(NextRes+1);
23891
0
  return selectVSplatUimm3(N, Result[NextRes+0].first);
23892
0
  case 29:
23893
0
    Result.resize(NextRes+1);
23894
0
  return selectVSplatUimm2(N, Result[NextRes+0].first);
23895
0
  case 30:
23896
0
    Result.resize(NextRes+1);
23897
0
  return selectVSplatUimm1(N, Result[NextRes+0].first);
23898
0
  case 31:
23899
0
    Result.resize(NextRes+1);
23900
0
  return selectVSplatMaskL(N, Result[NextRes+0].first);
23901
0
  case 32:
23902
0
    Result.resize(NextRes+1);
23903
0
  return selectVSplatMaskL(N, Result[NextRes+0].first);
23904
0
  case 33:
23905
0
    Result.resize(NextRes+1);
23906
0
  return selectVSplatMaskL(N, Result[NextRes+0].first);
23907
0
  case 34:
23908
0
    Result.resize(NextRes+1);
23909
0
  return selectVSplatMaskL(N, Result[NextRes+0].first);
23910
0
  case 35:
23911
0
    Result.resize(NextRes+1);
23912
0
  return selectVSplatMaskR(N, Result[NextRes+0].first);
23913
0
  case 36:
23914
0
    Result.resize(NextRes+1);
23915
0
  return selectVSplatMaskR(N, Result[NextRes+0].first);
23916
0
  case 37:
23917
0
    Result.resize(NextRes+1);
23918
0
  return selectVSplatMaskR(N, Result[NextRes+0].first);
23919
0
  case 38:
23920
0
    Result.resize(NextRes+1);
23921
0
  return selectVSplatMaskR(N, Result[NextRes+0].first);
23922
59
  }
23923
59
}
23924
#endif // GET_DAGISEL_BODY
23925
23926
#ifdef GET_DAGISEL_DECL
23927
SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
23928
#endif
23929
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
23930
SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
23931
#if DAGISEL_INLINE
23932
  override
23933
#endif
23934
3
{
23935
3
  switch (XFormNo) {
23936
0
  default: llvm_unreachable("Invalid xform # in table?");
23937
0
  case 0: {  
23938
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
23939
23940
0
  return getImm(N, Log2_64((unsigned) N->getZExtValue()));
23941
23942
0
  }
23943
0
  case 1: {  
23944
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
23945
23946
0
  return getImm(N, Log2_64((unsigned) (N->getZExtValue() >> 32)));
23947
23948
0
  }
23949
0
  case 2: {  
23950
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
23951
0
 return getImm(N, N->getSExtValue() + 1); 
23952
0
  }
23953
3
  case 3: {  
23954
3
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
23955
23956
3
  return getImm(N, N->getZExtValue() & 0xFFFF);
23957
23958
0
  }
23959
0
  case 4: {  
23960
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
23961
23962
0
  return getImm(N, 31 - N->getZExtValue());
23963
23964
0
  }
23965
0
  case 5: {  
23966
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
23967
23968
0
  return getImm(N, (N->getZExtValue() >> 16) & 0xFFFF);
23969
23970
0
  }
23971
3
  }
23972
3
}
23973
#endif // GET_DAGISEL_BODY
23974
23975
23976
#ifdef DAGISEL_INLINE
23977
#undef DAGISEL_INLINE
23978
#endif
23979
#ifdef DAGISEL_CLASS_COLONCOLON
23980
#undef DAGISEL_CLASS_COLONCOLON
23981
#endif
23982
#ifdef GET_DAGISEL_DECL
23983
#undef GET_DAGISEL_DECL
23984
#endif
23985
#ifdef GET_DAGISEL_BODY
23986
#undef GET_DAGISEL_BODY
23987
#endif