1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* DAG Instruction Selector for the MSP430 target *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9// *** NOTE: This file is #included into the middle of the target
10// *** instruction selector class. These functions are really methods.
11
12// If GET_DAGISEL_DECL is #defined with any value, only function
13// declarations will be included when this file is included.
14// If GET_DAGISEL_BODY is #defined, its value should be the name of
15// the instruction selector class. Function bodies will be emitted
16// and each function's name will be qualified with the name of the
17// class.
18//
19// When neither of the GET_DAGISEL* macros is defined, the functions
20// are emitted inline.
21
22#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
23#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
24#endif
25
26#ifdef GET_DAGISEL_BODY
27#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
28#define LOCAL_DAGISEL_STRINGIZE_(X) #X
29static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
30 "GET_DAGISEL_BODY is empty: it should be defined with the class name");
31#undef LOCAL_DAGISEL_STRINGIZE_
32#undef LOCAL_DAGISEL_STRINGIZE
33#endif
34
35#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
36#define DAGISEL_INLINE 1
37#else
38#define DAGISEL_INLINE 0
39#endif
40
41#if !DAGISEL_INLINE
42#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
43#else
44#define DAGISEL_CLASS_COLONCOLON
45#endif
46
47#ifdef GET_DAGISEL_DECL
48void SelectCode(SDNode *N);
49#endif
50#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
51void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
52{
53 // Some target values are emitted as 2 bytes, TARGET_VAL handles
54 // this.
55 #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56 static const unsigned char MatcherTable[] = {
57 OPC_SwitchOpcode , 126|128,32, TARGET_VAL(ISD::STORE),
58 OPC_RecordMemRef,
59 OPC_RecordNode,
60 OPC_Scope, 125|128,31,
61 OPC_MoveChild1,
62 OPC_SwitchOpcode , 72|128,9, TARGET_VAL(ISD::AND),
63 OPC_Scope, 9|128,9,
64 OPC_MoveChild0,
65 OPC_SwitchOpcode , 20|128,5, TARGET_VAL(ISD::LOAD),
66 OPC_RecordMemRef,
67 OPC_RecordNode,
68 OPC_CheckFoldableChainNode,
69 OPC_RecordChild1,
70 OPC_CheckPredicate2,
71 OPC_CheckPredicate3,
72 OPC_Scope, 89|128,4,
73 OPC_MoveSibling1,
74 OPC_SwitchOpcode , 112|128,2, TARGET_VAL(ISD::XOR),
75 OPC_Scope, 68,
76 OPC_MoveChild0,
77 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
78 OPC_RecordMemRef,
79 OPC_RecordNode,
80 OPC_CheckFoldableChainNode,
81 OPC_RecordChild1,
82 OPC_CheckPredicate2,
83 OPC_CheckPredicate3,
84 OPC_MoveParent,
85 OPC_CheckChild1Integer, 3,
86 OPC_MoveParent,
87 OPC_SwitchType , 24, MVT::i8,
88 OPC_MoveParent,
89 OPC_CheckChild2Same, 2,
90 OPC_CheckPredicate0,
91 OPC_CheckPredicate1,
92 OPC_CheckComplexPat0, /*#*/2,
93 OPC_CheckComplexPat0, /*#*/4,
94 OPC_EmitMergeInputChains, 3, 0, 1, 3,
95 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mm), 0|OPFL_Chain|OPFL_MemRefs,
96 MVT::i16, 4, 5, 6, 7, 8,
97 24, MVT::i16,
98 OPC_MoveParent,
99 OPC_CheckChild2Same, 2,
100 OPC_CheckPredicate0,
101 OPC_CheckPredicate1,
102 OPC_CheckComplexPat0, /*#*/2,
103 OPC_CheckComplexPat0, /*#*/4,
104 OPC_EmitMergeInputChains, 3, 0, 1, 3,
105 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mm), 0|OPFL_Chain|OPFL_MemRefs,
106 MVT::i16, 4, 5, 6, 7, 8,
107 0,
108 65,
109 OPC_RecordChild0,
110 OPC_MoveChild0,
111 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
112 OPC_Scope, 28,
113 OPC_CheckPredicate4,
114 OPC_MoveParent,
115 OPC_CheckChild1Integer, 3,
116 OPC_MoveParent,
117 OPC_CheckType, MVT::i8,
118 OPC_MoveParent,
119 OPC_CheckChild2Same, 2,
120 OPC_CheckPredicate0,
121 OPC_CheckPredicate1,
122 OPC_CheckComplexPat0, /*#*/2,
123 OPC_EmitMergeInputChains, 2, 0, 1,
124 OPC_EmitConvertToTarget3,
125 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mc), 0|OPFL_Chain|OPFL_MemRefs,
126 MVT::i16, 3, 4, 5, 6,
127 28,
128 OPC_CheckPredicate5,
129 OPC_MoveParent,
130 OPC_CheckChild1Integer, 3,
131 OPC_MoveParent,
132 OPC_CheckType, MVT::i16,
133 OPC_MoveParent,
134 OPC_CheckChild2Same, 2,
135 OPC_CheckPredicate0,
136 OPC_CheckPredicate1,
137 OPC_CheckComplexPat0, /*#*/2,
138 OPC_EmitMergeInputChains, 2, 0, 1,
139 OPC_EmitConvertToTarget3,
140 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mc), 0|OPFL_Chain|OPFL_MemRefs,
141 MVT::i16, 3, 4, 5, 6,
142 0,
143 63,
144 OPC_CheckChild0Integer, 3,
145 OPC_RecordChild1,
146 OPC_MoveChild1,
147 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
148 OPC_Scope, 26,
149 OPC_CheckPredicate4,
150 OPC_MoveParent,
151 OPC_MoveParent,
152 OPC_CheckType, MVT::i8,
153 OPC_MoveParent,
154 OPC_CheckChild2Same, 2,
155 OPC_CheckPredicate0,
156 OPC_CheckPredicate1,
157 OPC_CheckComplexPat0, /*#*/2,
158 OPC_EmitMergeInputChains, 2, 0, 1,
159 OPC_EmitConvertToTarget3,
160 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mc), 0|OPFL_Chain|OPFL_MemRefs,
161 MVT::i16, 3, 4, 5, 6,
162 26,
163 OPC_CheckPredicate5,
164 OPC_MoveParent,
165 OPC_MoveParent,
166 OPC_CheckType, MVT::i16,
167 OPC_MoveParent,
168 OPC_CheckChild2Same, 2,
169 OPC_CheckPredicate0,
170 OPC_CheckPredicate1,
171 OPC_CheckComplexPat0, /*#*/2,
172 OPC_EmitMergeInputChains, 2, 0, 1,
173 OPC_EmitConvertToTarget3,
174 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mc), 0|OPFL_Chain|OPFL_MemRefs,
175 MVT::i16, 3, 4, 5, 6,
176 0,
177 57,
178 OPC_RecordChild0,
179 OPC_MoveChild0,
180 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
181 OPC_MoveParent,
182 OPC_CheckChild1Integer, 3,
183 OPC_MoveParent,
184 OPC_SwitchType , 21, MVT::i8,
185 OPC_MoveParent,
186 OPC_CheckChild2Same, 2,
187 OPC_CheckPredicate0,
188 OPC_CheckPredicate1,
189 OPC_CheckComplexPat0, /*#*/2,
190 OPC_EmitMergeInputChains, 2, 0, 1,
191 OPC_EmitConvertToTarget3,
192 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mi), 0|OPFL_Chain|OPFL_MemRefs,
193 MVT::i16, 3, 4, 5, 6,
194 21, MVT::i16,
195 OPC_MoveParent,
196 OPC_CheckChild2Same, 2,
197 OPC_CheckPredicate0,
198 OPC_CheckPredicate1,
199 OPC_CheckComplexPat0, /*#*/2,
200 OPC_EmitMergeInputChains, 2, 0, 1,
201 OPC_EmitConvertToTarget3,
202 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mi), 0|OPFL_Chain|OPFL_MemRefs,
203 MVT::i16, 3, 4, 5, 6,
204 0,
205 57,
206 OPC_CheckChild0Integer, 3,
207 OPC_RecordChild1,
208 OPC_MoveChild1,
209 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
210 OPC_MoveParent,
211 OPC_MoveParent,
212 OPC_SwitchType , 21, MVT::i8,
213 OPC_MoveParent,
214 OPC_CheckChild2Same, 2,
215 OPC_CheckPredicate0,
216 OPC_CheckPredicate1,
217 OPC_CheckComplexPat0, /*#*/2,
218 OPC_EmitMergeInputChains, 2, 0, 1,
219 OPC_EmitConvertToTarget3,
220 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mi), 0|OPFL_Chain|OPFL_MemRefs,
221 MVT::i16, 3, 4, 5, 6,
222 21, MVT::i16,
223 OPC_MoveParent,
224 OPC_CheckChild2Same, 2,
225 OPC_CheckPredicate0,
226 OPC_CheckPredicate1,
227 OPC_CheckComplexPat0, /*#*/2,
228 OPC_EmitMergeInputChains, 2, 0, 1,
229 OPC_EmitConvertToTarget3,
230 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mi), 0|OPFL_Chain|OPFL_MemRefs,
231 MVT::i16, 3, 4, 5, 6,
232 0,
233 50,
234 OPC_RecordChild0,
235 OPC_CheckChild1Integer, 3,
236 OPC_MoveParent,
237 OPC_SwitchType , 20, MVT::i8,
238 OPC_MoveParent,
239 OPC_CheckChild2Same, 2,
240 OPC_CheckPredicate0,
241 OPC_CheckPredicate1,
242 OPC_CheckComplexPat0, /*#*/2,
243 OPC_EmitMergeInputChains, 2, 0, 1,
244 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mr), 0|OPFL_Chain|OPFL_MemRefs,
245 MVT::i16, 3, 4, 5, 3,
246 20, MVT::i16,
247 OPC_MoveParent,
248 OPC_CheckChild2Same, 2,
249 OPC_CheckPredicate0,
250 OPC_CheckPredicate1,
251 OPC_CheckComplexPat0, /*#*/2,
252 OPC_EmitMergeInputChains, 2, 0, 1,
253 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mr), 0|OPFL_Chain|OPFL_MemRefs,
254 MVT::i16, 3, 4, 5, 3,
255 0,
256 0,
257 115, TARGET_VAL(ISD::LOAD),
258 OPC_RecordMemRef,
259 OPC_RecordNode,
260 OPC_CheckFoldableChainNode,
261 OPC_RecordChild1,
262 OPC_CheckPredicate2,
263 OPC_CheckPredicate3,
264 OPC_MoveParent,
265 OPC_SwitchType , 51, MVT::i8,
266 OPC_MoveParent,
267 OPC_Scope, 23,
268 OPC_CheckChild2Same, 2,
269 OPC_CheckPredicate0,
270 OPC_CheckPredicate1,
271 OPC_CheckComplexPat0, /*#*/2,
272 OPC_CheckComplexPat0, /*#*/4,
273 OPC_EmitMergeInputChains, 3, 0, 1, 3,
274 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mm), 0|OPFL_Chain|OPFL_MemRefs,
275 MVT::i16, 4, 5, 6, 7, 8,
276 23,
277 OPC_CheckChild2Same, 4,
278 OPC_CheckPredicate0,
279 OPC_CheckPredicate1,
280 OPC_CheckComplexPat0, /*#*/2,
281 OPC_CheckComplexPat0, /*#*/4,
282 OPC_EmitMergeInputChains, 3, 0, 1, 3,
283 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mm), 0|OPFL_Chain|OPFL_MemRefs,
284 MVT::i16, 4, 7, 8, 5, 6,
285 0,
286 51, MVT::i16,
287 OPC_MoveParent,
288 OPC_Scope, 23,
289 OPC_CheckChild2Same, 2,
290 OPC_CheckPredicate0,
291 OPC_CheckPredicate1,
292 OPC_CheckComplexPat0, /*#*/2,
293 OPC_CheckComplexPat0, /*#*/4,
294 OPC_EmitMergeInputChains, 3, 0, 1, 3,
295 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mm), 0|OPFL_Chain|OPFL_MemRefs,
296 MVT::i16, 4, 5, 6, 7, 8,
297 23,
298 OPC_CheckChild2Same, 4,
299 OPC_CheckPredicate0,
300 OPC_CheckPredicate1,
301 OPC_CheckComplexPat0, /*#*/2,
302 OPC_CheckComplexPat0, /*#*/4,
303 OPC_EmitMergeInputChains, 3, 0, 1, 3,
304 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mm), 0|OPFL_Chain|OPFL_MemRefs,
305 MVT::i16, 4, 7, 8, 5, 6,
306 0,
307 0,
308 105, TARGET_VAL(ISD::Constant),
309 OPC_RecordNode,
310 OPC_Scope, 25,
311 OPC_CheckPredicate4,
312 OPC_MoveParent,
313 OPC_CheckType, MVT::i8,
314 OPC_MoveParent,
315 OPC_CheckChild2Same, 2,
316 OPC_CheckPredicate0,
317 OPC_CheckPredicate1,
318 OPC_CheckComplexPat0, /*#*/2,
319 OPC_EmitMergeInputChains, 2, 0, 1,
320 OPC_EmitConvertToTarget3,
321 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mc), 0|OPFL_Chain|OPFL_MemRefs,
322 MVT::i16, 3, 4, 5, 6,
323 25,
324 OPC_CheckPredicate5,
325 OPC_MoveParent,
326 OPC_CheckType, MVT::i16,
327 OPC_MoveParent,
328 OPC_CheckChild2Same, 2,
329 OPC_CheckPredicate0,
330 OPC_CheckPredicate1,
331 OPC_CheckComplexPat0, /*#*/2,
332 OPC_EmitMergeInputChains, 2, 0, 1,
333 OPC_EmitConvertToTarget3,
334 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mc), 0|OPFL_Chain|OPFL_MemRefs,
335 MVT::i16, 3, 4, 5, 6,
336 49,
337 OPC_MoveParent,
338 OPC_SwitchType , 21, MVT::i8,
339 OPC_MoveParent,
340 OPC_CheckChild2Same, 2,
341 OPC_CheckPredicate0,
342 OPC_CheckPredicate1,
343 OPC_CheckComplexPat0, /*#*/2,
344 OPC_EmitMergeInputChains, 2, 0, 1,
345 OPC_EmitConvertToTarget3,
346 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mi), 0|OPFL_Chain|OPFL_MemRefs,
347 MVT::i16, 3, 4, 5, 6,
348 21, MVT::i16,
349 OPC_MoveParent,
350 OPC_CheckChild2Same, 2,
351 OPC_CheckPredicate0,
352 OPC_CheckPredicate1,
353 OPC_CheckComplexPat0, /*#*/2,
354 OPC_EmitMergeInputChains, 2, 0, 1,
355 OPC_EmitConvertToTarget3,
356 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mi), 0|OPFL_Chain|OPFL_MemRefs,
357 MVT::i16, 3, 4, 5, 6,
358 0,
359 0,
360 0,
361 48,
362 OPC_MoveParent,
363 OPC_RecordChild1,
364 OPC_SwitchType , 20, MVT::i8,
365 OPC_MoveParent,
366 OPC_CheckChild2Same, 2,
367 OPC_CheckPredicate0,
368 OPC_CheckPredicate1,
369 OPC_CheckComplexPat0, /*#*/2,
370 OPC_EmitMergeInputChains, 2, 0, 1,
371 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mr), 0|OPFL_Chain|OPFL_MemRefs,
372 MVT::i16, 3, 4, 5, 3,
373 20, MVT::i16,
374 OPC_MoveParent,
375 OPC_CheckChild2Same, 2,
376 OPC_CheckPredicate0,
377 OPC_CheckPredicate1,
378 OPC_CheckComplexPat0, /*#*/2,
379 OPC_EmitMergeInputChains, 2, 0, 1,
380 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mr), 0|OPFL_Chain|OPFL_MemRefs,
381 MVT::i16, 3, 4, 5, 3,
382 0,
383 0,
384 106|128,3, TARGET_VAL(ISD::XOR),
385 OPC_Scope, 78,
386 OPC_MoveChild0,
387 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
388 OPC_RecordMemRef,
389 OPC_RecordNode,
390 OPC_CheckFoldableChainNode,
391 OPC_RecordChild1,
392 OPC_CheckPredicate2,
393 OPC_CheckPredicate3,
394 OPC_MoveParent,
395 OPC_CheckChild1Integer, 3,
396 OPC_MoveSibling1,
397 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
398 OPC_RecordMemRef,
399 OPC_RecordNode,
400 OPC_CheckFoldableChainNode,
401 OPC_RecordChild1,
402 OPC_CheckPredicate2,
403 OPC_CheckPredicate3,
404 OPC_MoveParent,
405 OPC_SwitchType , 24, MVT::i8,
406 OPC_MoveParent,
407 OPC_CheckChild2Same, 4,
408 OPC_CheckPredicate0,
409 OPC_CheckPredicate1,
410 OPC_CheckComplexPat0, /*#*/2,
411 OPC_CheckComplexPat0, /*#*/4,
412 OPC_EmitMergeInputChains, 3, 0, 1, 3,
413 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mm), 0|OPFL_Chain|OPFL_MemRefs,
414 MVT::i16, 4, 7, 8, 5, 6,
415 24, MVT::i16,
416 OPC_MoveParent,
417 OPC_CheckChild2Same, 4,
418 OPC_CheckPredicate0,
419 OPC_CheckPredicate1,
420 OPC_CheckComplexPat0, /*#*/2,
421 OPC_CheckComplexPat0, /*#*/4,
422 OPC_EmitMergeInputChains, 3, 0, 1, 3,
423 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mm), 0|OPFL_Chain|OPFL_MemRefs,
424 MVT::i16, 4, 7, 8, 5, 6,
425 0,
426 43,
427 OPC_RecordChild0,
428 OPC_MoveChild0,
429 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
430 OPC_CheckPredicate4,
431 OPC_MoveParent,
432 OPC_CheckChild1Integer, 3,
433 OPC_MoveSibling1,
434 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
435 OPC_RecordMemRef,
436 OPC_RecordNode,
437 OPC_CheckFoldableChainNode,
438 OPC_RecordChild1,
439 OPC_CheckPredicate2,
440 OPC_CheckPredicate3,
441 OPC_MoveParent,
442 OPC_CheckType, MVT::i8,
443 OPC_MoveParent,
444 OPC_CheckChild2Same, 3,
445 OPC_CheckPredicate0,
446 OPC_CheckPredicate1,
447 OPC_CheckComplexPat0, /*#*/3,
448 OPC_EmitMergeInputChains, 2, 0, 2,
449 OPC_EmitConvertToTarget1,
450 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mc), 0|OPFL_Chain|OPFL_MemRefs,
451 MVT::i16, 3, 4, 5, 6,
452 43,
453 OPC_CheckChild0Integer, 3,
454 OPC_RecordChild1,
455 OPC_MoveChild1,
456 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
457 OPC_CheckPredicate4,
458 OPC_MoveParent,
459 OPC_MoveSibling1,
460 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
461 OPC_RecordMemRef,
462 OPC_RecordNode,
463 OPC_CheckFoldableChainNode,
464 OPC_RecordChild1,
465 OPC_CheckPredicate2,
466 OPC_CheckPredicate3,
467 OPC_MoveParent,
468 OPC_CheckType, MVT::i8,
469 OPC_MoveParent,
470 OPC_CheckChild2Same, 3,
471 OPC_CheckPredicate0,
472 OPC_CheckPredicate1,
473 OPC_CheckComplexPat0, /*#*/3,
474 OPC_EmitMergeInputChains, 2, 0, 2,
475 OPC_EmitConvertToTarget1,
476 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mc), 0|OPFL_Chain|OPFL_MemRefs,
477 MVT::i16, 3, 4, 5, 6,
478 43,
479 OPC_RecordChild0,
480 OPC_MoveChild0,
481 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
482 OPC_CheckPredicate5,
483 OPC_MoveParent,
484 OPC_CheckChild1Integer, 3,
485 OPC_MoveSibling1,
486 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
487 OPC_RecordMemRef,
488 OPC_RecordNode,
489 OPC_CheckFoldableChainNode,
490 OPC_RecordChild1,
491 OPC_CheckPredicate2,
492 OPC_CheckPredicate3,
493 OPC_MoveParent,
494 OPC_CheckType, MVT::i16,
495 OPC_MoveParent,
496 OPC_CheckChild2Same, 3,
497 OPC_CheckPredicate0,
498 OPC_CheckPredicate1,
499 OPC_CheckComplexPat0, /*#*/3,
500 OPC_EmitMergeInputChains, 2, 0, 2,
501 OPC_EmitConvertToTarget1,
502 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mc), 0|OPFL_Chain|OPFL_MemRefs,
503 MVT::i16, 3, 4, 5, 6,
504 43,
505 OPC_CheckChild0Integer, 3,
506 OPC_RecordChild1,
507 OPC_MoveChild1,
508 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
509 OPC_CheckPredicate5,
510 OPC_MoveParent,
511 OPC_MoveSibling1,
512 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
513 OPC_RecordMemRef,
514 OPC_RecordNode,
515 OPC_CheckFoldableChainNode,
516 OPC_RecordChild1,
517 OPC_CheckPredicate2,
518 OPC_CheckPredicate3,
519 OPC_MoveParent,
520 OPC_CheckType, MVT::i16,
521 OPC_MoveParent,
522 OPC_CheckChild2Same, 3,
523 OPC_CheckPredicate0,
524 OPC_CheckPredicate1,
525 OPC_CheckComplexPat0, /*#*/3,
526 OPC_EmitMergeInputChains, 2, 0, 2,
527 OPC_EmitConvertToTarget1,
528 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mc), 0|OPFL_Chain|OPFL_MemRefs,
529 MVT::i16, 3, 4, 5, 6,
530 42,
531 OPC_RecordChild0,
532 OPC_MoveChild0,
533 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
534 OPC_MoveParent,
535 OPC_CheckChild1Integer, 3,
536 OPC_MoveSibling1,
537 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
538 OPC_RecordMemRef,
539 OPC_RecordNode,
540 OPC_CheckFoldableChainNode,
541 OPC_RecordChild1,
542 OPC_CheckPredicate2,
543 OPC_CheckPredicate3,
544 OPC_MoveParent,
545 OPC_CheckType, MVT::i8,
546 OPC_MoveParent,
547 OPC_CheckChild2Same, 3,
548 OPC_CheckPredicate0,
549 OPC_CheckPredicate1,
550 OPC_CheckComplexPat0, /*#*/3,
551 OPC_EmitMergeInputChains, 2, 0, 2,
552 OPC_EmitConvertToTarget1,
553 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mi), 0|OPFL_Chain|OPFL_MemRefs,
554 MVT::i16, 3, 4, 5, 6,
555 42,
556 OPC_CheckChild0Integer, 3,
557 OPC_RecordChild1,
558 OPC_MoveChild1,
559 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
560 OPC_MoveParent,
561 OPC_MoveSibling1,
562 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
563 OPC_RecordMemRef,
564 OPC_RecordNode,
565 OPC_CheckFoldableChainNode,
566 OPC_RecordChild1,
567 OPC_CheckPredicate2,
568 OPC_CheckPredicate3,
569 OPC_MoveParent,
570 OPC_CheckType, MVT::i8,
571 OPC_MoveParent,
572 OPC_CheckChild2Same, 3,
573 OPC_CheckPredicate0,
574 OPC_CheckPredicate1,
575 OPC_CheckComplexPat0, /*#*/3,
576 OPC_EmitMergeInputChains, 2, 0, 2,
577 OPC_EmitConvertToTarget1,
578 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mi), 0|OPFL_Chain|OPFL_MemRefs,
579 MVT::i16, 3, 4, 5, 6,
580 42,
581 OPC_RecordChild0,
582 OPC_MoveChild0,
583 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
584 OPC_MoveParent,
585 OPC_CheckChild1Integer, 3,
586 OPC_MoveSibling1,
587 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
588 OPC_RecordMemRef,
589 OPC_RecordNode,
590 OPC_CheckFoldableChainNode,
591 OPC_RecordChild1,
592 OPC_CheckPredicate2,
593 OPC_CheckPredicate3,
594 OPC_MoveParent,
595 OPC_CheckType, MVT::i16,
596 OPC_MoveParent,
597 OPC_CheckChild2Same, 3,
598 OPC_CheckPredicate0,
599 OPC_CheckPredicate1,
600 OPC_CheckComplexPat0, /*#*/3,
601 OPC_EmitMergeInputChains, 2, 0, 2,
602 OPC_EmitConvertToTarget1,
603 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mi), 0|OPFL_Chain|OPFL_MemRefs,
604 MVT::i16, 3, 4, 5, 6,
605 42,
606 OPC_CheckChild0Integer, 3,
607 OPC_RecordChild1,
608 OPC_MoveChild1,
609 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
610 OPC_MoveParent,
611 OPC_MoveSibling1,
612 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
613 OPC_RecordMemRef,
614 OPC_RecordNode,
615 OPC_CheckFoldableChainNode,
616 OPC_RecordChild1,
617 OPC_CheckPredicate2,
618 OPC_CheckPredicate3,
619 OPC_MoveParent,
620 OPC_CheckType, MVT::i16,
621 OPC_MoveParent,
622 OPC_CheckChild2Same, 3,
623 OPC_CheckPredicate0,
624 OPC_CheckPredicate1,
625 OPC_CheckComplexPat0, /*#*/3,
626 OPC_EmitMergeInputChains, 2, 0, 2,
627 OPC_EmitConvertToTarget1,
628 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mi), 0|OPFL_Chain|OPFL_MemRefs,
629 MVT::i16, 3, 4, 5, 6,
630 60,
631 OPC_RecordChild0,
632 OPC_CheckChild1Integer, 3,
633 OPC_MoveSibling1,
634 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
635 OPC_RecordMemRef,
636 OPC_RecordNode,
637 OPC_CheckFoldableChainNode,
638 OPC_RecordChild1,
639 OPC_CheckPredicate2,
640 OPC_CheckPredicate3,
641 OPC_MoveParent,
642 OPC_SwitchType , 20, MVT::i8,
643 OPC_MoveParent,
644 OPC_CheckChild2Same, 3,
645 OPC_CheckPredicate0,
646 OPC_CheckPredicate1,
647 OPC_CheckComplexPat0, /*#*/3,
648 OPC_EmitMergeInputChains, 2, 0, 2,
649 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC8mr), 0|OPFL_Chain|OPFL_MemRefs,
650 MVT::i16, 3, 4, 5, 1,
651 20, MVT::i16,
652 OPC_MoveParent,
653 OPC_CheckChild2Same, 3,
654 OPC_CheckPredicate0,
655 OPC_CheckPredicate1,
656 OPC_CheckComplexPat0, /*#*/3,
657 OPC_EmitMergeInputChains, 2, 0, 2,
658 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIC16mr), 0|OPFL_Chain|OPFL_MemRefs,
659 MVT::i16, 3, 4, 5, 1,
660 0,
661 0,
662 0,
663 58,
664 OPC_RecordChild0,
665 OPC_MoveChild1,
666 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
667 OPC_RecordMemRef,
668 OPC_RecordNode,
669 OPC_CheckFoldableChainNode,
670 OPC_RecordChild1,
671 OPC_CheckPredicate2,
672 OPC_CheckPredicate3,
673 OPC_MoveParent,
674 OPC_SwitchType , 20, MVT::i8,
675 OPC_MoveParent,
676 OPC_CheckChild2Same, 3,
677 OPC_CheckPredicate0,
678 OPC_CheckPredicate1,
679 OPC_CheckComplexPat0, /*#*/3,
680 OPC_EmitMergeInputChains, 2, 0, 2,
681 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND8mr), 0|OPFL_Chain|OPFL_MemRefs,
682 MVT::i16, 3, 4, 5, 1,
683 20, MVT::i16,
684 OPC_MoveParent,
685 OPC_CheckChild2Same, 3,
686 OPC_CheckPredicate0,
687 OPC_CheckPredicate1,
688 OPC_CheckComplexPat0, /*#*/3,
689 OPC_EmitMergeInputChains, 2, 0, 2,
690 OPC_MorphNodeTo1, TARGET_VAL(MSP430::AND16mr), 0|OPFL_Chain|OPFL_MemRefs,
691 MVT::i16, 3, 4, 5, 1,
692 0,
693 0,
694 99|128,2, TARGET_VAL(ISD::ADD),
695 OPC_Scope, 36|128,2,
696 OPC_MoveChild0,
697 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
698 OPC_RecordMemRef,
699 OPC_RecordNode,
700 OPC_CheckFoldableChainNode,
701 OPC_RecordChild1,
702 OPC_CheckPredicate2,
703 OPC_CheckPredicate3,
704 OPC_Scope, 101|128,1,
705 OPC_MoveSibling1,
706 OPC_SwitchOpcode , 115, TARGET_VAL(ISD::LOAD),
707 OPC_RecordMemRef,
708 OPC_RecordNode,
709 OPC_CheckFoldableChainNode,
710 OPC_RecordChild1,
711 OPC_CheckPredicate2,
712 OPC_CheckPredicate3,
713 OPC_MoveParent,
714 OPC_SwitchType , 51, MVT::i8,
715 OPC_MoveParent,
716 OPC_Scope, 23,
717 OPC_CheckChild2Same, 2,
718 OPC_CheckPredicate0,
719 OPC_CheckPredicate1,
720 OPC_CheckComplexPat0, /*#*/2,
721 OPC_CheckComplexPat0, /*#*/4,
722 OPC_EmitMergeInputChains, 3, 0, 1, 3,
723 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mm), 0|OPFL_Chain|OPFL_MemRefs,
724 MVT::i16, 4, 5, 6, 7, 8,
725 23,
726 OPC_CheckChild2Same, 4,
727 OPC_CheckPredicate0,
728 OPC_CheckPredicate1,
729 OPC_CheckComplexPat0, /*#*/2,
730 OPC_CheckComplexPat0, /*#*/4,
731 OPC_EmitMergeInputChains, 3, 0, 1, 3,
732 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mm), 0|OPFL_Chain|OPFL_MemRefs,
733 MVT::i16, 4, 7, 8, 5, 6,
734 0,
735 51, MVT::i16,
736 OPC_MoveParent,
737 OPC_Scope, 23,
738 OPC_CheckChild2Same, 2,
739 OPC_CheckPredicate0,
740 OPC_CheckPredicate1,
741 OPC_CheckComplexPat0, /*#*/2,
742 OPC_CheckComplexPat0, /*#*/4,
743 OPC_EmitMergeInputChains, 3, 0, 1, 3,
744 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mm), 0|OPFL_Chain|OPFL_MemRefs,
745 MVT::i16, 4, 5, 6, 7, 8,
746 23,
747 OPC_CheckChild2Same, 4,
748 OPC_CheckPredicate0,
749 OPC_CheckPredicate1,
750 OPC_CheckComplexPat0, /*#*/2,
751 OPC_CheckComplexPat0, /*#*/4,
752 OPC_EmitMergeInputChains, 3, 0, 1, 3,
753 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mm), 0|OPFL_Chain|OPFL_MemRefs,
754 MVT::i16, 4, 7, 8, 5, 6,
755 0,
756 0,
757 105, TARGET_VAL(ISD::Constant),
758 OPC_RecordNode,
759 OPC_Scope, 25,
760 OPC_CheckPredicate4,
761 OPC_MoveParent,
762 OPC_CheckType, MVT::i8,
763 OPC_MoveParent,
764 OPC_CheckChild2Same, 2,
765 OPC_CheckPredicate0,
766 OPC_CheckPredicate1,
767 OPC_CheckComplexPat0, /*#*/2,
768 OPC_EmitMergeInputChains, 2, 0, 1,
769 OPC_EmitConvertToTarget3,
770 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mc), 0|OPFL_Chain|OPFL_MemRefs,
771 MVT::i16, 3, 4, 5, 6,
772 25,
773 OPC_CheckPredicate5,
774 OPC_MoveParent,
775 OPC_CheckType, MVT::i16,
776 OPC_MoveParent,
777 OPC_CheckChild2Same, 2,
778 OPC_CheckPredicate0,
779 OPC_CheckPredicate1,
780 OPC_CheckComplexPat0, /*#*/2,
781 OPC_EmitMergeInputChains, 2, 0, 1,
782 OPC_EmitConvertToTarget3,
783 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mc), 0|OPFL_Chain|OPFL_MemRefs,
784 MVT::i16, 3, 4, 5, 6,
785 49,
786 OPC_MoveParent,
787 OPC_SwitchType , 21, MVT::i8,
788 OPC_MoveParent,
789 OPC_CheckChild2Same, 2,
790 OPC_CheckPredicate0,
791 OPC_CheckPredicate1,
792 OPC_CheckComplexPat0, /*#*/2,
793 OPC_EmitMergeInputChains, 2, 0, 1,
794 OPC_EmitConvertToTarget3,
795 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mi), 0|OPFL_Chain|OPFL_MemRefs,
796 MVT::i16, 3, 4, 5, 6,
797 21, MVT::i16,
798 OPC_MoveParent,
799 OPC_CheckChild2Same, 2,
800 OPC_CheckPredicate0,
801 OPC_CheckPredicate1,
802 OPC_CheckComplexPat0, /*#*/2,
803 OPC_EmitMergeInputChains, 2, 0, 1,
804 OPC_EmitConvertToTarget3,
805 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mi), 0|OPFL_Chain|OPFL_MemRefs,
806 MVT::i16, 3, 4, 5, 6,
807 0,
808 0,
809 0,
810 48,
811 OPC_MoveParent,
812 OPC_RecordChild1,
813 OPC_SwitchType , 20, MVT::i8,
814 OPC_MoveParent,
815 OPC_CheckChild2Same, 2,
816 OPC_CheckPredicate0,
817 OPC_CheckPredicate1,
818 OPC_CheckComplexPat0, /*#*/2,
819 OPC_EmitMergeInputChains, 2, 0, 1,
820 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
821 MVT::i16, 3, 4, 5, 3,
822 20, MVT::i16,
823 OPC_MoveParent,
824 OPC_CheckChild2Same, 2,
825 OPC_CheckPredicate0,
826 OPC_CheckPredicate1,
827 OPC_CheckComplexPat0, /*#*/2,
828 OPC_EmitMergeInputChains, 2, 0, 1,
829 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
830 MVT::i16, 3, 4, 5, 3,
831 0,
832 0,
833 58,
834 OPC_RecordChild0,
835 OPC_MoveChild1,
836 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
837 OPC_RecordMemRef,
838 OPC_RecordNode,
839 OPC_CheckFoldableChainNode,
840 OPC_RecordChild1,
841 OPC_CheckPredicate2,
842 OPC_CheckPredicate3,
843 OPC_MoveParent,
844 OPC_SwitchType , 20, MVT::i8,
845 OPC_MoveParent,
846 OPC_CheckChild2Same, 3,
847 OPC_CheckPredicate0,
848 OPC_CheckPredicate1,
849 OPC_CheckComplexPat0, /*#*/3,
850 OPC_EmitMergeInputChains, 2, 0, 2,
851 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
852 MVT::i16, 3, 4, 5, 1,
853 20, MVT::i16,
854 OPC_MoveParent,
855 OPC_CheckChild2Same, 3,
856 OPC_CheckPredicate0,
857 OPC_CheckPredicate1,
858 OPC_CheckComplexPat0, /*#*/3,
859 OPC_EmitMergeInputChains, 2, 0, 2,
860 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
861 MVT::i16, 3, 4, 5, 1,
862 0,
863 0,
864 101|128,2, TARGET_VAL(ISD::ADDE),
865 OPC_RecordNode,
866 OPC_CaptureGlueInput,
867 OPC_Scope, 36|128,2,
868 OPC_MoveChild0,
869 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
870 OPC_RecordMemRef,
871 OPC_RecordNode,
872 OPC_CheckFoldableChainNode,
873 OPC_RecordChild1,
874 OPC_CheckPredicate2,
875 OPC_CheckPredicate3,
876 OPC_Scope, 101|128,1,
877 OPC_MoveSibling1,
878 OPC_SwitchOpcode , 115, TARGET_VAL(ISD::LOAD),
879 OPC_RecordMemRef,
880 OPC_RecordNode,
881 OPC_CheckFoldableChainNode,
882 OPC_RecordChild1,
883 OPC_CheckPredicate2,
884 OPC_CheckPredicate3,
885 OPC_MoveParent,
886 OPC_SwitchType , 51, MVT::i8,
887 OPC_MoveParent,
888 OPC_Scope, 23,
889 OPC_CheckChild2Same, 2,
890 OPC_CheckPredicate0,
891 OPC_CheckPredicate1,
892 OPC_CheckComplexPat0, /*#*/2,
893 OPC_CheckComplexPat0, /*#*/4,
894 OPC_EmitMergeInputChains, 3, 0, 1, 3,
895 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
896 MVT::i16, 4, 5, 6, 7, 8,
897 23,
898 OPC_CheckChild2Same, 4,
899 OPC_CheckPredicate0,
900 OPC_CheckPredicate1,
901 OPC_CheckComplexPat0, /*#*/2,
902 OPC_CheckComplexPat0, /*#*/4,
903 OPC_EmitMergeInputChains, 3, 0, 1, 3,
904 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
905 MVT::i16, 4, 7, 8, 5, 6,
906 0,
907 51, MVT::i16,
908 OPC_MoveParent,
909 OPC_Scope, 23,
910 OPC_CheckChild2Same, 2,
911 OPC_CheckPredicate0,
912 OPC_CheckPredicate1,
913 OPC_CheckComplexPat0, /*#*/2,
914 OPC_CheckComplexPat0, /*#*/4,
915 OPC_EmitMergeInputChains, 3, 0, 1, 3,
916 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
917 MVT::i16, 4, 5, 6, 7, 8,
918 23,
919 OPC_CheckChild2Same, 4,
920 OPC_CheckPredicate0,
921 OPC_CheckPredicate1,
922 OPC_CheckComplexPat0, /*#*/2,
923 OPC_CheckComplexPat0, /*#*/4,
924 OPC_EmitMergeInputChains, 3, 0, 1, 3,
925 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
926 MVT::i16, 4, 7, 8, 5, 6,
927 0,
928 0,
929 105, TARGET_VAL(ISD::Constant),
930 OPC_RecordNode,
931 OPC_Scope, 25,
932 OPC_CheckPredicate4,
933 OPC_MoveParent,
934 OPC_CheckType, MVT::i8,
935 OPC_MoveParent,
936 OPC_CheckChild2Same, 2,
937 OPC_CheckPredicate0,
938 OPC_CheckPredicate1,
939 OPC_CheckComplexPat0, /*#*/2,
940 OPC_EmitMergeInputChains, 2, 0, 1,
941 OPC_EmitConvertToTarget3,
942 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
943 MVT::i16, 3, 4, 5, 6,
944 25,
945 OPC_CheckPredicate5,
946 OPC_MoveParent,
947 OPC_CheckType, MVT::i16,
948 OPC_MoveParent,
949 OPC_CheckChild2Same, 2,
950 OPC_CheckPredicate0,
951 OPC_CheckPredicate1,
952 OPC_CheckComplexPat0, /*#*/2,
953 OPC_EmitMergeInputChains, 2, 0, 1,
954 OPC_EmitConvertToTarget3,
955 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
956 MVT::i16, 3, 4, 5, 6,
957 49,
958 OPC_MoveParent,
959 OPC_SwitchType , 21, MVT::i8,
960 OPC_MoveParent,
961 OPC_CheckChild2Same, 2,
962 OPC_CheckPredicate0,
963 OPC_CheckPredicate1,
964 OPC_CheckComplexPat0, /*#*/2,
965 OPC_EmitMergeInputChains, 2, 0, 1,
966 OPC_EmitConvertToTarget3,
967 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
968 MVT::i16, 3, 4, 5, 6,
969 21, MVT::i16,
970 OPC_MoveParent,
971 OPC_CheckChild2Same, 2,
972 OPC_CheckPredicate0,
973 OPC_CheckPredicate1,
974 OPC_CheckComplexPat0, /*#*/2,
975 OPC_EmitMergeInputChains, 2, 0, 1,
976 OPC_EmitConvertToTarget3,
977 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
978 MVT::i16, 3, 4, 5, 6,
979 0,
980 0,
981 0,
982 48,
983 OPC_MoveParent,
984 OPC_RecordChild1,
985 OPC_SwitchType , 20, MVT::i8,
986 OPC_MoveParent,
987 OPC_CheckChild2Same, 2,
988 OPC_CheckPredicate0,
989 OPC_CheckPredicate1,
990 OPC_CheckComplexPat0, /*#*/2,
991 OPC_EmitMergeInputChains, 2, 0, 1,
992 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
993 MVT::i16, 3, 4, 5, 3,
994 20, MVT::i16,
995 OPC_MoveParent,
996 OPC_CheckChild2Same, 2,
997 OPC_CheckPredicate0,
998 OPC_CheckPredicate1,
999 OPC_CheckComplexPat0, /*#*/2,
1000 OPC_EmitMergeInputChains, 2, 0, 1,
1001 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
1002 MVT::i16, 3, 4, 5, 3,
1003 0,
1004 0,
1005 58,
1006 OPC_RecordChild0,
1007 OPC_MoveChild1,
1008 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1009 OPC_RecordMemRef,
1010 OPC_RecordNode,
1011 OPC_CheckFoldableChainNode,
1012 OPC_RecordChild1,
1013 OPC_CheckPredicate2,
1014 OPC_CheckPredicate3,
1015 OPC_MoveParent,
1016 OPC_SwitchType , 20, MVT::i8,
1017 OPC_MoveParent,
1018 OPC_CheckChild2Same, 3,
1019 OPC_CheckPredicate0,
1020 OPC_CheckPredicate1,
1021 OPC_CheckComplexPat0, /*#*/3,
1022 OPC_EmitMergeInputChains, 2, 0, 2,
1023 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC8mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
1024 MVT::i16, 3, 4, 5, 1,
1025 20, MVT::i16,
1026 OPC_MoveParent,
1027 OPC_CheckChild2Same, 3,
1028 OPC_CheckPredicate0,
1029 OPC_CheckPredicate1,
1030 OPC_CheckComplexPat0, /*#*/3,
1031 OPC_EmitMergeInputChains, 2, 0, 2,
1032 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADDC16mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
1033 MVT::i16, 3, 4, 5, 1,
1034 0,
1035 0,
1036 99|128,2, TARGET_VAL(ISD::OR),
1037 OPC_Scope, 36|128,2,
1038 OPC_MoveChild0,
1039 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1040 OPC_RecordMemRef,
1041 OPC_RecordNode,
1042 OPC_CheckFoldableChainNode,
1043 OPC_RecordChild1,
1044 OPC_CheckPredicate2,
1045 OPC_CheckPredicate3,
1046 OPC_Scope, 101|128,1,
1047 OPC_MoveSibling1,
1048 OPC_SwitchOpcode , 115, TARGET_VAL(ISD::LOAD),
1049 OPC_RecordMemRef,
1050 OPC_RecordNode,
1051 OPC_CheckFoldableChainNode,
1052 OPC_RecordChild1,
1053 OPC_CheckPredicate2,
1054 OPC_CheckPredicate3,
1055 OPC_MoveParent,
1056 OPC_SwitchType , 51, MVT::i8,
1057 OPC_MoveParent,
1058 OPC_Scope, 23,
1059 OPC_CheckChild2Same, 2,
1060 OPC_CheckPredicate0,
1061 OPC_CheckPredicate1,
1062 OPC_CheckComplexPat0, /*#*/2,
1063 OPC_CheckComplexPat0, /*#*/4,
1064 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1065 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mm), 0|OPFL_Chain|OPFL_MemRefs,
1066 MVT::i16, 4, 5, 6, 7, 8,
1067 23,
1068 OPC_CheckChild2Same, 4,
1069 OPC_CheckPredicate0,
1070 OPC_CheckPredicate1,
1071 OPC_CheckComplexPat0, /*#*/2,
1072 OPC_CheckComplexPat0, /*#*/4,
1073 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1074 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mm), 0|OPFL_Chain|OPFL_MemRefs,
1075 MVT::i16, 4, 7, 8, 5, 6,
1076 0,
1077 51, MVT::i16,
1078 OPC_MoveParent,
1079 OPC_Scope, 23,
1080 OPC_CheckChild2Same, 2,
1081 OPC_CheckPredicate0,
1082 OPC_CheckPredicate1,
1083 OPC_CheckComplexPat0, /*#*/2,
1084 OPC_CheckComplexPat0, /*#*/4,
1085 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1086 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mm), 0|OPFL_Chain|OPFL_MemRefs,
1087 MVT::i16, 4, 5, 6, 7, 8,
1088 23,
1089 OPC_CheckChild2Same, 4,
1090 OPC_CheckPredicate0,
1091 OPC_CheckPredicate1,
1092 OPC_CheckComplexPat0, /*#*/2,
1093 OPC_CheckComplexPat0, /*#*/4,
1094 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1095 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mm), 0|OPFL_Chain|OPFL_MemRefs,
1096 MVT::i16, 4, 7, 8, 5, 6,
1097 0,
1098 0,
1099 105, TARGET_VAL(ISD::Constant),
1100 OPC_RecordNode,
1101 OPC_Scope, 25,
1102 OPC_CheckPredicate4,
1103 OPC_MoveParent,
1104 OPC_CheckType, MVT::i8,
1105 OPC_MoveParent,
1106 OPC_CheckChild2Same, 2,
1107 OPC_CheckPredicate0,
1108 OPC_CheckPredicate1,
1109 OPC_CheckComplexPat0, /*#*/2,
1110 OPC_EmitMergeInputChains, 2, 0, 1,
1111 OPC_EmitConvertToTarget3,
1112 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mc), 0|OPFL_Chain|OPFL_MemRefs,
1113 MVT::i16, 3, 4, 5, 6,
1114 25,
1115 OPC_CheckPredicate5,
1116 OPC_MoveParent,
1117 OPC_CheckType, MVT::i16,
1118 OPC_MoveParent,
1119 OPC_CheckChild2Same, 2,
1120 OPC_CheckPredicate0,
1121 OPC_CheckPredicate1,
1122 OPC_CheckComplexPat0, /*#*/2,
1123 OPC_EmitMergeInputChains, 2, 0, 1,
1124 OPC_EmitConvertToTarget3,
1125 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mc), 0|OPFL_Chain|OPFL_MemRefs,
1126 MVT::i16, 3, 4, 5, 6,
1127 49,
1128 OPC_MoveParent,
1129 OPC_SwitchType , 21, MVT::i8,
1130 OPC_MoveParent,
1131 OPC_CheckChild2Same, 2,
1132 OPC_CheckPredicate0,
1133 OPC_CheckPredicate1,
1134 OPC_CheckComplexPat0, /*#*/2,
1135 OPC_EmitMergeInputChains, 2, 0, 1,
1136 OPC_EmitConvertToTarget3,
1137 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mi), 0|OPFL_Chain|OPFL_MemRefs,
1138 MVT::i16, 3, 4, 5, 6,
1139 21, MVT::i16,
1140 OPC_MoveParent,
1141 OPC_CheckChild2Same, 2,
1142 OPC_CheckPredicate0,
1143 OPC_CheckPredicate1,
1144 OPC_CheckComplexPat0, /*#*/2,
1145 OPC_EmitMergeInputChains, 2, 0, 1,
1146 OPC_EmitConvertToTarget3,
1147 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mi), 0|OPFL_Chain|OPFL_MemRefs,
1148 MVT::i16, 3, 4, 5, 6,
1149 0,
1150 0,
1151 0,
1152 48,
1153 OPC_MoveParent,
1154 OPC_RecordChild1,
1155 OPC_SwitchType , 20, MVT::i8,
1156 OPC_MoveParent,
1157 OPC_CheckChild2Same, 2,
1158 OPC_CheckPredicate0,
1159 OPC_CheckPredicate1,
1160 OPC_CheckComplexPat0, /*#*/2,
1161 OPC_EmitMergeInputChains, 2, 0, 1,
1162 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mr), 0|OPFL_Chain|OPFL_MemRefs,
1163 MVT::i16, 3, 4, 5, 3,
1164 20, MVT::i16,
1165 OPC_MoveParent,
1166 OPC_CheckChild2Same, 2,
1167 OPC_CheckPredicate0,
1168 OPC_CheckPredicate1,
1169 OPC_CheckComplexPat0, /*#*/2,
1170 OPC_EmitMergeInputChains, 2, 0, 1,
1171 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mr), 0|OPFL_Chain|OPFL_MemRefs,
1172 MVT::i16, 3, 4, 5, 3,
1173 0,
1174 0,
1175 58,
1176 OPC_RecordChild0,
1177 OPC_MoveChild1,
1178 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1179 OPC_RecordMemRef,
1180 OPC_RecordNode,
1181 OPC_CheckFoldableChainNode,
1182 OPC_RecordChild1,
1183 OPC_CheckPredicate2,
1184 OPC_CheckPredicate3,
1185 OPC_MoveParent,
1186 OPC_SwitchType , 20, MVT::i8,
1187 OPC_MoveParent,
1188 OPC_CheckChild2Same, 3,
1189 OPC_CheckPredicate0,
1190 OPC_CheckPredicate1,
1191 OPC_CheckComplexPat0, /*#*/3,
1192 OPC_EmitMergeInputChains, 2, 0, 2,
1193 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS8mr), 0|OPFL_Chain|OPFL_MemRefs,
1194 MVT::i16, 3, 4, 5, 1,
1195 20, MVT::i16,
1196 OPC_MoveParent,
1197 OPC_CheckChild2Same, 3,
1198 OPC_CheckPredicate0,
1199 OPC_CheckPredicate1,
1200 OPC_CheckComplexPat0, /*#*/3,
1201 OPC_EmitMergeInputChains, 2, 0, 2,
1202 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIS16mr), 0|OPFL_Chain|OPFL_MemRefs,
1203 MVT::i16, 3, 4, 5, 1,
1204 0,
1205 0,
1206 99|128,2, TARGET_VAL(ISD::XOR),
1207 OPC_Scope, 36|128,2,
1208 OPC_MoveChild0,
1209 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1210 OPC_RecordMemRef,
1211 OPC_RecordNode,
1212 OPC_CheckFoldableChainNode,
1213 OPC_RecordChild1,
1214 OPC_CheckPredicate2,
1215 OPC_CheckPredicate3,
1216 OPC_Scope, 101|128,1,
1217 OPC_MoveSibling1,
1218 OPC_SwitchOpcode , 115, TARGET_VAL(ISD::LOAD),
1219 OPC_RecordMemRef,
1220 OPC_RecordNode,
1221 OPC_CheckFoldableChainNode,
1222 OPC_RecordChild1,
1223 OPC_CheckPredicate2,
1224 OPC_CheckPredicate3,
1225 OPC_MoveParent,
1226 OPC_SwitchType , 51, MVT::i8,
1227 OPC_MoveParent,
1228 OPC_Scope, 23,
1229 OPC_CheckChild2Same, 2,
1230 OPC_CheckPredicate0,
1231 OPC_CheckPredicate1,
1232 OPC_CheckComplexPat0, /*#*/2,
1233 OPC_CheckComplexPat0, /*#*/4,
1234 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1235 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mm), 0|OPFL_Chain|OPFL_MemRefs,
1236 MVT::i16, 4, 5, 6, 7, 8,
1237 23,
1238 OPC_CheckChild2Same, 4,
1239 OPC_CheckPredicate0,
1240 OPC_CheckPredicate1,
1241 OPC_CheckComplexPat0, /*#*/2,
1242 OPC_CheckComplexPat0, /*#*/4,
1243 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1244 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mm), 0|OPFL_Chain|OPFL_MemRefs,
1245 MVT::i16, 4, 7, 8, 5, 6,
1246 0,
1247 51, MVT::i16,
1248 OPC_MoveParent,
1249 OPC_Scope, 23,
1250 OPC_CheckChild2Same, 2,
1251 OPC_CheckPredicate0,
1252 OPC_CheckPredicate1,
1253 OPC_CheckComplexPat0, /*#*/2,
1254 OPC_CheckComplexPat0, /*#*/4,
1255 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1256 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mm), 0|OPFL_Chain|OPFL_MemRefs,
1257 MVT::i16, 4, 5, 6, 7, 8,
1258 23,
1259 OPC_CheckChild2Same, 4,
1260 OPC_CheckPredicate0,
1261 OPC_CheckPredicate1,
1262 OPC_CheckComplexPat0, /*#*/2,
1263 OPC_CheckComplexPat0, /*#*/4,
1264 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1265 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mm), 0|OPFL_Chain|OPFL_MemRefs,
1266 MVT::i16, 4, 7, 8, 5, 6,
1267 0,
1268 0,
1269 105, TARGET_VAL(ISD::Constant),
1270 OPC_RecordNode,
1271 OPC_Scope, 25,
1272 OPC_CheckPredicate4,
1273 OPC_MoveParent,
1274 OPC_CheckType, MVT::i8,
1275 OPC_MoveParent,
1276 OPC_CheckChild2Same, 2,
1277 OPC_CheckPredicate0,
1278 OPC_CheckPredicate1,
1279 OPC_CheckComplexPat0, /*#*/2,
1280 OPC_EmitMergeInputChains, 2, 0, 1,
1281 OPC_EmitConvertToTarget3,
1282 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mc), 0|OPFL_Chain|OPFL_MemRefs,
1283 MVT::i16, 3, 4, 5, 6,
1284 25,
1285 OPC_CheckPredicate5,
1286 OPC_MoveParent,
1287 OPC_CheckType, MVT::i16,
1288 OPC_MoveParent,
1289 OPC_CheckChild2Same, 2,
1290 OPC_CheckPredicate0,
1291 OPC_CheckPredicate1,
1292 OPC_CheckComplexPat0, /*#*/2,
1293 OPC_EmitMergeInputChains, 2, 0, 1,
1294 OPC_EmitConvertToTarget3,
1295 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mc), 0|OPFL_Chain|OPFL_MemRefs,
1296 MVT::i16, 3, 4, 5, 6,
1297 49,
1298 OPC_MoveParent,
1299 OPC_SwitchType , 21, MVT::i8,
1300 OPC_MoveParent,
1301 OPC_CheckChild2Same, 2,
1302 OPC_CheckPredicate0,
1303 OPC_CheckPredicate1,
1304 OPC_CheckComplexPat0, /*#*/2,
1305 OPC_EmitMergeInputChains, 2, 0, 1,
1306 OPC_EmitConvertToTarget3,
1307 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mi), 0|OPFL_Chain|OPFL_MemRefs,
1308 MVT::i16, 3, 4, 5, 6,
1309 21, MVT::i16,
1310 OPC_MoveParent,
1311 OPC_CheckChild2Same, 2,
1312 OPC_CheckPredicate0,
1313 OPC_CheckPredicate1,
1314 OPC_CheckComplexPat0, /*#*/2,
1315 OPC_EmitMergeInputChains, 2, 0, 1,
1316 OPC_EmitConvertToTarget3,
1317 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mi), 0|OPFL_Chain|OPFL_MemRefs,
1318 MVT::i16, 3, 4, 5, 6,
1319 0,
1320 0,
1321 0,
1322 48,
1323 OPC_MoveParent,
1324 OPC_RecordChild1,
1325 OPC_SwitchType , 20, MVT::i8,
1326 OPC_MoveParent,
1327 OPC_CheckChild2Same, 2,
1328 OPC_CheckPredicate0,
1329 OPC_CheckPredicate1,
1330 OPC_CheckComplexPat0, /*#*/2,
1331 OPC_EmitMergeInputChains, 2, 0, 1,
1332 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mr), 0|OPFL_Chain|OPFL_MemRefs,
1333 MVT::i16, 3, 4, 5, 3,
1334 20, MVT::i16,
1335 OPC_MoveParent,
1336 OPC_CheckChild2Same, 2,
1337 OPC_CheckPredicate0,
1338 OPC_CheckPredicate1,
1339 OPC_CheckComplexPat0, /*#*/2,
1340 OPC_EmitMergeInputChains, 2, 0, 1,
1341 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mr), 0|OPFL_Chain|OPFL_MemRefs,
1342 MVT::i16, 3, 4, 5, 3,
1343 0,
1344 0,
1345 58,
1346 OPC_RecordChild0,
1347 OPC_MoveChild1,
1348 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1349 OPC_RecordMemRef,
1350 OPC_RecordNode,
1351 OPC_CheckFoldableChainNode,
1352 OPC_RecordChild1,
1353 OPC_CheckPredicate2,
1354 OPC_CheckPredicate3,
1355 OPC_MoveParent,
1356 OPC_SwitchType , 20, MVT::i8,
1357 OPC_MoveParent,
1358 OPC_CheckChild2Same, 3,
1359 OPC_CheckPredicate0,
1360 OPC_CheckPredicate1,
1361 OPC_CheckComplexPat0, /*#*/3,
1362 OPC_EmitMergeInputChains, 2, 0, 2,
1363 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR8mr), 0|OPFL_Chain|OPFL_MemRefs,
1364 MVT::i16, 3, 4, 5, 1,
1365 20, MVT::i16,
1366 OPC_MoveParent,
1367 OPC_CheckChild2Same, 3,
1368 OPC_CheckPredicate0,
1369 OPC_CheckPredicate1,
1370 OPC_CheckComplexPat0, /*#*/3,
1371 OPC_EmitMergeInputChains, 2, 0, 2,
1372 OPC_MorphNodeTo1, TARGET_VAL(MSP430::XOR16mr), 0|OPFL_Chain|OPFL_MemRefs,
1373 MVT::i16, 3, 4, 5, 1,
1374 0,
1375 0,
1376 110|128,1, TARGET_VAL(ISD::SUB),
1377 OPC_MoveChild0,
1378 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1379 OPC_RecordMemRef,
1380 OPC_RecordNode,
1381 OPC_CheckFoldableChainNode,
1382 OPC_RecordChild1,
1383 OPC_CheckPredicate2,
1384 OPC_CheckPredicate3,
1385 OPC_Scope, 47|128,1,
1386 OPC_MoveSibling1,
1387 OPC_SwitchOpcode , 61, TARGET_VAL(ISD::LOAD),
1388 OPC_RecordMemRef,
1389 OPC_RecordNode,
1390 OPC_CheckFoldableChainNode,
1391 OPC_RecordChild1,
1392 OPC_CheckPredicate2,
1393 OPC_CheckPredicate3,
1394 OPC_MoveParent,
1395 OPC_SwitchType , 24, MVT::i8,
1396 OPC_MoveParent,
1397 OPC_CheckChild2Same, 2,
1398 OPC_CheckPredicate0,
1399 OPC_CheckPredicate1,
1400 OPC_CheckComplexPat0, /*#*/2,
1401 OPC_CheckComplexPat0, /*#*/4,
1402 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1403 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mm), 0|OPFL_Chain|OPFL_MemRefs,
1404 MVT::i16, 4, 5, 6, 7, 8,
1405 24, MVT::i16,
1406 OPC_MoveParent,
1407 OPC_CheckChild2Same, 2,
1408 OPC_CheckPredicate0,
1409 OPC_CheckPredicate1,
1410 OPC_CheckComplexPat0, /*#*/2,
1411 OPC_CheckComplexPat0, /*#*/4,
1412 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1413 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mm), 0|OPFL_Chain|OPFL_MemRefs,
1414 MVT::i16, 4, 5, 6, 7, 8,
1415 0,
1416 105, TARGET_VAL(ISD::Constant),
1417 OPC_RecordNode,
1418 OPC_Scope, 25,
1419 OPC_CheckPredicate4,
1420 OPC_MoveParent,
1421 OPC_CheckType, MVT::i8,
1422 OPC_MoveParent,
1423 OPC_CheckChild2Same, 2,
1424 OPC_CheckPredicate0,
1425 OPC_CheckPredicate1,
1426 OPC_CheckComplexPat0, /*#*/2,
1427 OPC_EmitMergeInputChains, 2, 0, 1,
1428 OPC_EmitConvertToTarget3,
1429 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mc), 0|OPFL_Chain|OPFL_MemRefs,
1430 MVT::i16, 3, 4, 5, 6,
1431 25,
1432 OPC_CheckPredicate5,
1433 OPC_MoveParent,
1434 OPC_CheckType, MVT::i16,
1435 OPC_MoveParent,
1436 OPC_CheckChild2Same, 2,
1437 OPC_CheckPredicate0,
1438 OPC_CheckPredicate1,
1439 OPC_CheckComplexPat0, /*#*/2,
1440 OPC_EmitMergeInputChains, 2, 0, 1,
1441 OPC_EmitConvertToTarget3,
1442 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mc), 0|OPFL_Chain|OPFL_MemRefs,
1443 MVT::i16, 3, 4, 5, 6,
1444 49,
1445 OPC_MoveParent,
1446 OPC_SwitchType , 21, MVT::i8,
1447 OPC_MoveParent,
1448 OPC_CheckChild2Same, 2,
1449 OPC_CheckPredicate0,
1450 OPC_CheckPredicate1,
1451 OPC_CheckComplexPat0, /*#*/2,
1452 OPC_EmitMergeInputChains, 2, 0, 1,
1453 OPC_EmitConvertToTarget3,
1454 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mi), 0|OPFL_Chain|OPFL_MemRefs,
1455 MVT::i16, 3, 4, 5, 6,
1456 21, MVT::i16,
1457 OPC_MoveParent,
1458 OPC_CheckChild2Same, 2,
1459 OPC_CheckPredicate0,
1460 OPC_CheckPredicate1,
1461 OPC_CheckComplexPat0, /*#*/2,
1462 OPC_EmitMergeInputChains, 2, 0, 1,
1463 OPC_EmitConvertToTarget3,
1464 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mi), 0|OPFL_Chain|OPFL_MemRefs,
1465 MVT::i16, 3, 4, 5, 6,
1466 0,
1467 0,
1468 0,
1469 48,
1470 OPC_MoveParent,
1471 OPC_RecordChild1,
1472 OPC_SwitchType , 20, MVT::i8,
1473 OPC_MoveParent,
1474 OPC_CheckChild2Same, 2,
1475 OPC_CheckPredicate0,
1476 OPC_CheckPredicate1,
1477 OPC_CheckComplexPat0, /*#*/2,
1478 OPC_EmitMergeInputChains, 2, 0, 1,
1479 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mr), 0|OPFL_Chain|OPFL_MemRefs,
1480 MVT::i16, 3, 4, 5, 3,
1481 20, MVT::i16,
1482 OPC_MoveParent,
1483 OPC_CheckChild2Same, 2,
1484 OPC_CheckPredicate0,
1485 OPC_CheckPredicate1,
1486 OPC_CheckComplexPat0, /*#*/2,
1487 OPC_EmitMergeInputChains, 2, 0, 1,
1488 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mr), 0|OPFL_Chain|OPFL_MemRefs,
1489 MVT::i16, 3, 4, 5, 3,
1490 0,
1491 0,
1492 112|128,1, TARGET_VAL(ISD::SUBE),
1493 OPC_RecordNode,
1494 OPC_CaptureGlueInput,
1495 OPC_MoveChild0,
1496 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1497 OPC_RecordMemRef,
1498 OPC_RecordNode,
1499 OPC_CheckFoldableChainNode,
1500 OPC_RecordChild1,
1501 OPC_CheckPredicate2,
1502 OPC_CheckPredicate3,
1503 OPC_Scope, 47|128,1,
1504 OPC_MoveSibling1,
1505 OPC_SwitchOpcode , 61, TARGET_VAL(ISD::LOAD),
1506 OPC_RecordMemRef,
1507 OPC_RecordNode,
1508 OPC_CheckFoldableChainNode,
1509 OPC_RecordChild1,
1510 OPC_CheckPredicate2,
1511 OPC_CheckPredicate3,
1512 OPC_MoveParent,
1513 OPC_SwitchType , 24, MVT::i8,
1514 OPC_MoveParent,
1515 OPC_CheckChild2Same, 2,
1516 OPC_CheckPredicate0,
1517 OPC_CheckPredicate1,
1518 OPC_CheckComplexPat0, /*#*/2,
1519 OPC_CheckComplexPat0, /*#*/4,
1520 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1521 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC8mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
1522 MVT::i16, 4, 5, 6, 7, 8,
1523 24, MVT::i16,
1524 OPC_MoveParent,
1525 OPC_CheckChild2Same, 2,
1526 OPC_CheckPredicate0,
1527 OPC_CheckPredicate1,
1528 OPC_CheckComplexPat0, /*#*/2,
1529 OPC_CheckComplexPat0, /*#*/4,
1530 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1531 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC16mm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
1532 MVT::i16, 4, 5, 6, 7, 8,
1533 0,
1534 105, TARGET_VAL(ISD::Constant),
1535 OPC_RecordNode,
1536 OPC_Scope, 25,
1537 OPC_CheckPredicate4,
1538 OPC_MoveParent,
1539 OPC_CheckType, MVT::i8,
1540 OPC_MoveParent,
1541 OPC_CheckChild2Same, 2,
1542 OPC_CheckPredicate0,
1543 OPC_CheckPredicate1,
1544 OPC_CheckComplexPat0, /*#*/2,
1545 OPC_EmitMergeInputChains, 2, 0, 1,
1546 OPC_EmitConvertToTarget3,
1547 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC8mc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
1548 MVT::i16, 3, 4, 5, 6,
1549 25,
1550 OPC_CheckPredicate5,
1551 OPC_MoveParent,
1552 OPC_CheckType, MVT::i16,
1553 OPC_MoveParent,
1554 OPC_CheckChild2Same, 2,
1555 OPC_CheckPredicate0,
1556 OPC_CheckPredicate1,
1557 OPC_CheckComplexPat0, /*#*/2,
1558 OPC_EmitMergeInputChains, 2, 0, 1,
1559 OPC_EmitConvertToTarget3,
1560 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC16mc), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
1561 MVT::i16, 3, 4, 5, 6,
1562 49,
1563 OPC_MoveParent,
1564 OPC_SwitchType , 21, MVT::i8,
1565 OPC_MoveParent,
1566 OPC_CheckChild2Same, 2,
1567 OPC_CheckPredicate0,
1568 OPC_CheckPredicate1,
1569 OPC_CheckComplexPat0, /*#*/2,
1570 OPC_EmitMergeInputChains, 2, 0, 1,
1571 OPC_EmitConvertToTarget3,
1572 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC8mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
1573 MVT::i16, 3, 4, 5, 6,
1574 21, MVT::i16,
1575 OPC_MoveParent,
1576 OPC_CheckChild2Same, 2,
1577 OPC_CheckPredicate0,
1578 OPC_CheckPredicate1,
1579 OPC_CheckComplexPat0, /*#*/2,
1580 OPC_EmitMergeInputChains, 2, 0, 1,
1581 OPC_EmitConvertToTarget3,
1582 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC16mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
1583 MVT::i16, 3, 4, 5, 6,
1584 0,
1585 0,
1586 0,
1587 48,
1588 OPC_MoveParent,
1589 OPC_RecordChild1,
1590 OPC_SwitchType , 20, MVT::i8,
1591 OPC_MoveParent,
1592 OPC_CheckChild2Same, 2,
1593 OPC_CheckPredicate0,
1594 OPC_CheckPredicate1,
1595 OPC_CheckComplexPat0, /*#*/2,
1596 OPC_EmitMergeInputChains, 2, 0, 1,
1597 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC8mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
1598 MVT::i16, 3, 4, 5, 3,
1599 20, MVT::i16,
1600 OPC_MoveParent,
1601 OPC_CheckChild2Same, 2,
1602 OPC_CheckPredicate0,
1603 OPC_CheckPredicate1,
1604 OPC_CheckComplexPat0, /*#*/2,
1605 OPC_EmitMergeInputChains, 2, 0, 1,
1606 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUBC16mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
1607 MVT::i16, 3, 4, 5, 3,
1608 0,
1609 0,
1610 110|128,1, TARGET_VAL(MSP430ISD::DADD),
1611 OPC_MoveChild0,
1612 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1613 OPC_RecordMemRef,
1614 OPC_RecordNode,
1615 OPC_CheckFoldableChainNode,
1616 OPC_RecordChild1,
1617 OPC_CheckPredicate2,
1618 OPC_CheckPredicate3,
1619 OPC_Scope, 47|128,1,
1620 OPC_MoveSibling1,
1621 OPC_SwitchOpcode , 61, TARGET_VAL(ISD::LOAD),
1622 OPC_RecordMemRef,
1623 OPC_RecordNode,
1624 OPC_CheckFoldableChainNode,
1625 OPC_RecordChild1,
1626 OPC_CheckPredicate2,
1627 OPC_CheckPredicate3,
1628 OPC_MoveParent,
1629 OPC_SwitchType , 24, MVT::i8,
1630 OPC_MoveParent,
1631 OPC_CheckChild2Same, 2,
1632 OPC_CheckPredicate0,
1633 OPC_CheckPredicate1,
1634 OPC_CheckComplexPat0, /*#*/2,
1635 OPC_CheckComplexPat0, /*#*/4,
1636 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1637 OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD8mm), 0|OPFL_Chain|OPFL_MemRefs,
1638 MVT::i16, 4, 5, 6, 7, 8,
1639 24, MVT::i16,
1640 OPC_MoveParent,
1641 OPC_CheckChild2Same, 2,
1642 OPC_CheckPredicate0,
1643 OPC_CheckPredicate1,
1644 OPC_CheckComplexPat0, /*#*/2,
1645 OPC_CheckComplexPat0, /*#*/4,
1646 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1647 OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD16mm), 0|OPFL_Chain|OPFL_MemRefs,
1648 MVT::i16, 4, 5, 6, 7, 8,
1649 0,
1650 105, TARGET_VAL(ISD::Constant),
1651 OPC_RecordNode,
1652 OPC_Scope, 25,
1653 OPC_CheckPredicate4,
1654 OPC_MoveParent,
1655 OPC_CheckType, MVT::i8,
1656 OPC_MoveParent,
1657 OPC_CheckChild2Same, 2,
1658 OPC_CheckPredicate0,
1659 OPC_CheckPredicate1,
1660 OPC_CheckComplexPat0, /*#*/2,
1661 OPC_EmitMergeInputChains, 2, 0, 1,
1662 OPC_EmitConvertToTarget3,
1663 OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD8mc), 0|OPFL_Chain|OPFL_MemRefs,
1664 MVT::i16, 3, 4, 5, 6,
1665 25,
1666 OPC_CheckPredicate5,
1667 OPC_MoveParent,
1668 OPC_CheckType, MVT::i16,
1669 OPC_MoveParent,
1670 OPC_CheckChild2Same, 2,
1671 OPC_CheckPredicate0,
1672 OPC_CheckPredicate1,
1673 OPC_CheckComplexPat0, /*#*/2,
1674 OPC_EmitMergeInputChains, 2, 0, 1,
1675 OPC_EmitConvertToTarget3,
1676 OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD16mc), 0|OPFL_Chain|OPFL_MemRefs,
1677 MVT::i16, 3, 4, 5, 6,
1678 49,
1679 OPC_MoveParent,
1680 OPC_SwitchType , 21, MVT::i8,
1681 OPC_MoveParent,
1682 OPC_CheckChild2Same, 2,
1683 OPC_CheckPredicate0,
1684 OPC_CheckPredicate1,
1685 OPC_CheckComplexPat0, /*#*/2,
1686 OPC_EmitMergeInputChains, 2, 0, 1,
1687 OPC_EmitConvertToTarget3,
1688 OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD8mi), 0|OPFL_Chain|OPFL_MemRefs,
1689 MVT::i16, 3, 4, 5, 6,
1690 21, MVT::i16,
1691 OPC_MoveParent,
1692 OPC_CheckChild2Same, 2,
1693 OPC_CheckPredicate0,
1694 OPC_CheckPredicate1,
1695 OPC_CheckComplexPat0, /*#*/2,
1696 OPC_EmitMergeInputChains, 2, 0, 1,
1697 OPC_EmitConvertToTarget3,
1698 OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD16mi), 0|OPFL_Chain|OPFL_MemRefs,
1699 MVT::i16, 3, 4, 5, 6,
1700 0,
1701 0,
1702 0,
1703 48,
1704 OPC_MoveParent,
1705 OPC_RecordChild1,
1706 OPC_SwitchType , 20, MVT::i8,
1707 OPC_MoveParent,
1708 OPC_CheckChild2Same, 2,
1709 OPC_CheckPredicate0,
1710 OPC_CheckPredicate1,
1711 OPC_CheckComplexPat0, /*#*/2,
1712 OPC_EmitMergeInputChains, 2, 0, 1,
1713 OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
1714 MVT::i16, 3, 4, 5, 3,
1715 20, MVT::i16,
1716 OPC_MoveParent,
1717 OPC_CheckChild2Same, 2,
1718 OPC_CheckPredicate0,
1719 OPC_CheckPredicate1,
1720 OPC_CheckComplexPat0, /*#*/2,
1721 OPC_EmitMergeInputChains, 2, 0, 1,
1722 OPC_MorphNodeTo1, TARGET_VAL(MSP430::DADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
1723 MVT::i16, 3, 4, 5, 3,
1724 0,
1725 0,
1726 117|128,1, TARGET_VAL(ISD::ADDC),
1727 OPC_RecordNode,
1728 OPC_Scope, 53|128,1,
1729 OPC_MoveChild0,
1730 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1731 OPC_RecordMemRef,
1732 OPC_RecordNode,
1733 OPC_CheckFoldableChainNode,
1734 OPC_RecordChild1,
1735 OPC_CheckPredicate2,
1736 OPC_CheckPredicate3,
1737 OPC_Scope, 119,
1738 OPC_MoveSibling1,
1739 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1740 OPC_RecordMemRef,
1741 OPC_RecordNode,
1742 OPC_CheckFoldableChainNode,
1743 OPC_RecordChild1,
1744 OPC_CheckPredicate2,
1745 OPC_CheckPredicate3,
1746 OPC_MoveParent,
1747 OPC_SwitchType , 51, MVT::i16,
1748 OPC_MoveParent,
1749 OPC_Scope, 23,
1750 OPC_CheckChild2Same, 2,
1751 OPC_CheckPredicate0,
1752 OPC_CheckPredicate1,
1753 OPC_CheckComplexPat0, /*#*/2,
1754 OPC_CheckComplexPat0, /*#*/4,
1755 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1756 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1757 MVT::i16, 4, 5, 6, 7, 8,
1758 23,
1759 OPC_CheckChild2Same, 4,
1760 OPC_CheckPredicate0,
1761 OPC_CheckPredicate1,
1762 OPC_CheckComplexPat0, /*#*/2,
1763 OPC_CheckComplexPat0, /*#*/4,
1764 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1765 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1766 MVT::i16, 4, 7, 8, 5, 6,
1767 0,
1768 51, MVT::i8,
1769 OPC_MoveParent,
1770 OPC_Scope, 23,
1771 OPC_CheckChild2Same, 2,
1772 OPC_CheckPredicate0,
1773 OPC_CheckPredicate1,
1774 OPC_CheckComplexPat0, /*#*/2,
1775 OPC_CheckComplexPat0, /*#*/4,
1776 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1777 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1778 MVT::i16, 4, 5, 6, 7, 8,
1779 23,
1780 OPC_CheckChild2Same, 4,
1781 OPC_CheckPredicate0,
1782 OPC_CheckPredicate1,
1783 OPC_CheckComplexPat0, /*#*/2,
1784 OPC_CheckComplexPat0, /*#*/4,
1785 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1786 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1787 MVT::i16, 4, 7, 8, 5, 6,
1788 0,
1789 0,
1790 48,
1791 OPC_MoveParent,
1792 OPC_RecordChild1,
1793 OPC_SwitchType , 20, MVT::i16,
1794 OPC_MoveParent,
1795 OPC_CheckChild2Same, 2,
1796 OPC_CheckPredicate0,
1797 OPC_CheckPredicate1,
1798 OPC_CheckComplexPat0, /*#*/2,
1799 OPC_EmitMergeInputChains, 2, 0, 1,
1800 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1801 MVT::i16, 3, 4, 5, 3,
1802 20, MVT::i8,
1803 OPC_MoveParent,
1804 OPC_CheckChild2Same, 2,
1805 OPC_CheckPredicate0,
1806 OPC_CheckPredicate1,
1807 OPC_CheckComplexPat0, /*#*/2,
1808 OPC_EmitMergeInputChains, 2, 0, 1,
1809 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1810 MVT::i16, 3, 4, 5, 3,
1811 0,
1812 0,
1813 58,
1814 OPC_RecordChild0,
1815 OPC_MoveChild1,
1816 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1817 OPC_RecordMemRef,
1818 OPC_RecordNode,
1819 OPC_CheckFoldableChainNode,
1820 OPC_RecordChild1,
1821 OPC_CheckPredicate2,
1822 OPC_CheckPredicate3,
1823 OPC_MoveParent,
1824 OPC_SwitchType , 20, MVT::i16,
1825 OPC_MoveParent,
1826 OPC_CheckChild2Same, 3,
1827 OPC_CheckPredicate0,
1828 OPC_CheckPredicate1,
1829 OPC_CheckComplexPat0, /*#*/3,
1830 OPC_EmitMergeInputChains, 2, 0, 2,
1831 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD16mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1832 MVT::i16, 3, 4, 5, 1,
1833 20, MVT::i8,
1834 OPC_MoveParent,
1835 OPC_CheckChild2Same, 3,
1836 OPC_CheckPredicate0,
1837 OPC_CheckPredicate1,
1838 OPC_CheckComplexPat0, /*#*/3,
1839 OPC_EmitMergeInputChains, 2, 0, 2,
1840 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADD8mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1841 MVT::i16, 3, 4, 5, 1,
1842 0,
1843 0,
1844 0|128,1, TARGET_VAL(ISD::SUBC),
1845 OPC_RecordNode,
1846 OPC_MoveChild0,
1847 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1848 OPC_RecordMemRef,
1849 OPC_RecordNode,
1850 OPC_CheckFoldableChainNode,
1851 OPC_RecordChild1,
1852 OPC_CheckPredicate2,
1853 OPC_CheckPredicate3,
1854 OPC_Scope, 65,
1855 OPC_MoveSibling1,
1856 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1857 OPC_RecordMemRef,
1858 OPC_RecordNode,
1859 OPC_CheckFoldableChainNode,
1860 OPC_RecordChild1,
1861 OPC_CheckPredicate2,
1862 OPC_CheckPredicate3,
1863 OPC_MoveParent,
1864 OPC_SwitchType , 24, MVT::i16,
1865 OPC_MoveParent,
1866 OPC_CheckChild2Same, 2,
1867 OPC_CheckPredicate0,
1868 OPC_CheckPredicate1,
1869 OPC_CheckComplexPat0, /*#*/2,
1870 OPC_CheckComplexPat0, /*#*/4,
1871 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1872 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1873 MVT::i16, 4, 5, 6, 7, 8,
1874 24, MVT::i8,
1875 OPC_MoveParent,
1876 OPC_CheckChild2Same, 2,
1877 OPC_CheckPredicate0,
1878 OPC_CheckPredicate1,
1879 OPC_CheckComplexPat0, /*#*/2,
1880 OPC_CheckComplexPat0, /*#*/4,
1881 OPC_EmitMergeInputChains, 3, 0, 1, 3,
1882 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1883 MVT::i16, 4, 5, 6, 7, 8,
1884 0,
1885 48,
1886 OPC_MoveParent,
1887 OPC_RecordChild1,
1888 OPC_SwitchType , 20, MVT::i16,
1889 OPC_MoveParent,
1890 OPC_CheckChild2Same, 2,
1891 OPC_CheckPredicate0,
1892 OPC_CheckPredicate1,
1893 OPC_CheckComplexPat0, /*#*/2,
1894 OPC_EmitMergeInputChains, 2, 0, 1,
1895 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB16mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1896 MVT::i16, 3, 4, 5, 3,
1897 20, MVT::i8,
1898 OPC_MoveParent,
1899 OPC_CheckChild2Same, 2,
1900 OPC_CheckPredicate0,
1901 OPC_CheckPredicate1,
1902 OPC_CheckComplexPat0, /*#*/2,
1903 OPC_EmitMergeInputChains, 2, 0, 1,
1904 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SUB8mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
1905 MVT::i16, 3, 4, 5, 3,
1906 0,
1907 0,
1908 55, TARGET_VAL(MSP430ISD::RRA),
1909 OPC_MoveChild0,
1910 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1911 OPC_RecordMemRef,
1912 OPC_RecordNode,
1913 OPC_CheckFoldableChainNode,
1914 OPC_RecordChild1,
1915 OPC_CheckPredicate2,
1916 OPC_CheckPredicate3,
1917 OPC_MoveParent,
1918 OPC_SwitchType , 19, MVT::i8,
1919 OPC_MoveParent,
1920 OPC_CheckChild2Same, 2,
1921 OPC_CheckPredicate0,
1922 OPC_CheckPredicate1,
1923 OPC_CheckComplexPat0, /*#*/2,
1924 OPC_EmitMergeInputChains, 2, 0, 1,
1925 OPC_MorphNodeTo1, TARGET_VAL(MSP430::RRA8m), 0|OPFL_Chain|OPFL_MemRefs,
1926 MVT::i16, 2, 3, 4,
1927 19, MVT::i16,
1928 OPC_MoveParent,
1929 OPC_CheckChild2Same, 2,
1930 OPC_CheckPredicate0,
1931 OPC_CheckPredicate1,
1932 OPC_CheckComplexPat0, /*#*/2,
1933 OPC_EmitMergeInputChains, 2, 0, 1,
1934 OPC_MorphNodeTo1, TARGET_VAL(MSP430::RRA16m), 0|OPFL_Chain|OPFL_MemRefs,
1935 MVT::i16, 2, 3, 4,
1936 0,
1937 55, TARGET_VAL(MSP430ISD::RRC),
1938 OPC_MoveChild0,
1939 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1940 OPC_RecordMemRef,
1941 OPC_RecordNode,
1942 OPC_CheckFoldableChainNode,
1943 OPC_RecordChild1,
1944 OPC_CheckPredicate2,
1945 OPC_CheckPredicate3,
1946 OPC_MoveParent,
1947 OPC_SwitchType , 19, MVT::i8,
1948 OPC_MoveParent,
1949 OPC_CheckChild2Same, 2,
1950 OPC_CheckPredicate0,
1951 OPC_CheckPredicate1,
1952 OPC_CheckComplexPat0, /*#*/2,
1953 OPC_EmitMergeInputChains, 2, 0, 1,
1954 OPC_MorphNodeTo1, TARGET_VAL(MSP430::RRC8m), 0|OPFL_Chain|OPFL_MemRefs,
1955 MVT::i16, 2, 3, 4,
1956 19, MVT::i16,
1957 OPC_MoveParent,
1958 OPC_CheckChild2Same, 2,
1959 OPC_CheckPredicate0,
1960 OPC_CheckPredicate1,
1961 OPC_CheckComplexPat0, /*#*/2,
1962 OPC_EmitMergeInputChains, 2, 0, 1,
1963 OPC_MorphNodeTo1, TARGET_VAL(MSP430::RRC16m), 0|OPFL_Chain|OPFL_MemRefs,
1964 MVT::i16, 2, 3, 4,
1965 0,
1966 35, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
1967 OPC_MoveChild0,
1968 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1969 OPC_RecordMemRef,
1970 OPC_RecordNode,
1971 OPC_CheckFoldableChainNode,
1972 OPC_RecordChild1,
1973 OPC_CheckPredicate2,
1974 OPC_CheckPredicate, 8,
1975 OPC_CheckPredicate7,
1976 OPC_MoveSibling1,
1977 OPC_CheckValueType, MVT::i8,
1978 OPC_MoveParent,
1979 OPC_MoveParent,
1980 OPC_CheckChild2Same, 2,
1981 OPC_CheckPredicate0,
1982 OPC_CheckPredicate1,
1983 OPC_CheckComplexPat0, /*#*/2,
1984 OPC_EmitMergeInputChains, 2, 0, 1,
1985 OPC_MorphNodeTo1, TARGET_VAL(MSP430::SEXT16m), 0|OPFL_Chain|OPFL_MemRefs,
1986 MVT::i16, 2, 3, 4,
1987 31, TARGET_VAL(ISD::BSWAP),
1988 OPC_MoveChild0,
1989 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
1990 OPC_RecordMemRef,
1991 OPC_RecordNode,
1992 OPC_CheckFoldableChainNode,
1993 OPC_RecordChild1,
1994 OPC_CheckPredicate2,
1995 OPC_CheckPredicate3,
1996 OPC_MoveParent,
1997 OPC_CheckType, MVT::i16,
1998 OPC_MoveParent,
1999 OPC_CheckChild2Same, 2,
2000 OPC_CheckPredicate0,
2001 OPC_CheckPredicate1,
2002 OPC_CheckComplexPat0, /*#*/2,
2003 OPC_EmitMergeInputChains, 2, 0, 1,
2004 OPC_MorphNodeTo0, TARGET_VAL(MSP430::SWPB16m), 0|OPFL_Chain|OPFL_MemRefs,
2005 2, 3, 4,
2006 54, TARGET_VAL(ISD::LOAD),
2007 OPC_RecordMemRef,
2008 OPC_RecordNode,
2009 OPC_CheckFoldableChainNode,
2010 OPC_RecordChild1,
2011 OPC_CheckPredicate2,
2012 OPC_CheckPredicate3,
2013 OPC_SwitchType , 21, MVT::i8,
2014 OPC_MoveParent,
2015 OPC_RecordChild2,
2016 OPC_CheckPredicate0,
2017 OPC_CheckPredicate1,
2018 OPC_CheckComplexPat0, /*#*/2,
2019 OPC_CheckComplexPat0, /*#*/3,
2020 OPC_EmitMergeInputChains, 2, 0, 1,
2021 OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV8mm), 0|OPFL_Chain|OPFL_MemRefs,
2022 4, 6, 7, 4, 5,
2023 21, MVT::i16,
2024 OPC_MoveParent,
2025 OPC_RecordChild2,
2026 OPC_CheckPredicate0,
2027 OPC_CheckPredicate1,
2028 OPC_CheckComplexPat0, /*#*/2,
2029 OPC_CheckComplexPat0, /*#*/3,
2030 OPC_EmitMergeInputChains, 2, 0, 1,
2031 OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mm), 0|OPFL_Chain|OPFL_MemRefs,
2032 4, 6, 7, 4, 5,
2033 0,
2034 67, TARGET_VAL(MSP430ISD::Wrapper),
2035 OPC_RecordChild0,
2036 OPC_MoveChild0,
2037 OPC_SwitchOpcode , 18, TARGET_VAL(ISD::TargetGlobalAddress),
2038 OPC_MoveParent,
2039 OPC_CheckType, MVT::i16,
2040 OPC_MoveParent,
2041 OPC_RecordChild2,
2042 OPC_CheckPredicate0,
2043 OPC_CheckPredicate1,
2044 OPC_CheckComplexPat0, /*#*/2,
2045 OPC_EmitMergeInputChains1_0,
2046 OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
2047 3, 3, 4, 1,
2048 18, TARGET_VAL(ISD::TargetExternalSymbol),
2049 OPC_MoveParent,
2050 OPC_CheckType, MVT::i16,
2051 OPC_MoveParent,
2052 OPC_RecordChild2,
2053 OPC_CheckPredicate0,
2054 OPC_CheckPredicate1,
2055 OPC_CheckComplexPat0, /*#*/2,
2056 OPC_EmitMergeInputChains1_0,
2057 OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
2058 3, 3, 4, 1,
2059 18, TARGET_VAL(ISD::TargetBlockAddress),
2060 OPC_MoveParent,
2061 OPC_CheckType, MVT::i16,
2062 OPC_MoveParent,
2063 OPC_RecordChild2,
2064 OPC_CheckPredicate0,
2065 OPC_CheckPredicate1,
2066 OPC_CheckComplexPat0, /*#*/2,
2067 OPC_EmitMergeInputChains1_0,
2068 OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
2069 3, 3, 4, 1,
2070 0,
2071 0,
2072 122,
2073 OPC_RecordChild1,
2074 OPC_Scope, 84,
2075 OPC_MoveChild1,
2076 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2077 OPC_SwitchType , 37, MVT::i8,
2078 OPC_Scope, 17,
2079 OPC_CheckPredicate4,
2080 OPC_MoveParent,
2081 OPC_RecordChild2,
2082 OPC_CheckPredicate0,
2083 OPC_CheckPredicate1,
2084 OPC_CheckComplexPat0, /*#*/2,
2085 OPC_EmitMergeInputChains1_0,
2086 OPC_EmitConvertToTarget1,
2087 OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV8mc), 0|OPFL_Chain|OPFL_MemRefs,
2088 3, 3, 4, 5,
2089 16,
2090 OPC_MoveParent,
2091 OPC_RecordChild2,
2092 OPC_CheckPredicate0,
2093 OPC_CheckPredicate1,
2094 OPC_CheckComplexPat0, /*#*/2,
2095 OPC_EmitMergeInputChains1_0,
2096 OPC_EmitConvertToTarget1,
2097 OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV8mi), 0|OPFL_Chain|OPFL_MemRefs,
2098 3, 3, 4, 5,
2099 0,
2100 37, MVT::i16,
2101 OPC_Scope, 17,
2102 OPC_CheckPredicate5,
2103 OPC_MoveParent,
2104 OPC_RecordChild2,
2105 OPC_CheckPredicate0,
2106 OPC_CheckPredicate1,
2107 OPC_CheckComplexPat0, /*#*/2,
2108 OPC_EmitMergeInputChains1_0,
2109 OPC_EmitConvertToTarget1,
2110 OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mc), 0|OPFL_Chain|OPFL_MemRefs,
2111 3, 3, 4, 5,
2112 16,
2113 OPC_MoveParent,
2114 OPC_RecordChild2,
2115 OPC_CheckPredicate0,
2116 OPC_CheckPredicate1,
2117 OPC_CheckComplexPat0, /*#*/2,
2118 OPC_EmitMergeInputChains1_0,
2119 OPC_EmitConvertToTarget1,
2120 OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
2121 3, 3, 4, 5,
2122 0,
2123 0,
2124 16,
2125 OPC_CheckChild1Type, MVT::i8,
2126 OPC_RecordChild2,
2127 OPC_CheckPredicate0,
2128 OPC_CheckPredicate1,
2129 OPC_CheckComplexPat0, /*#*/2,
2130 OPC_EmitMergeInputChains1_0,
2131 OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV8mr), 0|OPFL_Chain|OPFL_MemRefs,
2132 3, 3, 4, 1,
2133 16,
2134 OPC_CheckChild1Type, MVT::i16,
2135 OPC_RecordChild2,
2136 OPC_CheckPredicate0,
2137 OPC_CheckPredicate1,
2138 OPC_CheckComplexPat0, /*#*/2,
2139 OPC_EmitMergeInputChains1_0,
2140 OPC_MorphNodeTo0, TARGET_VAL(MSP430::MOV16mr), 0|OPFL_Chain|OPFL_MemRefs,
2141 3, 3, 4, 1,
2142 0,
2143 0,
2144 0|128,6, TARGET_VAL(MSP430ISD::CMP),
2145 OPC_Scope, 42|128,3,
2146 OPC_MoveChild0,
2147 OPC_SwitchOpcode , 11|128,2, TARGET_VAL(ISD::AND),
2148 OPC_Scope, 35|128,1,
2149 OPC_MoveChild0,
2150 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2151 OPC_RecordMemRef,
2152 OPC_RecordNode,
2153 OPC_CheckFoldableChainNode,
2154 OPC_RecordChild1,
2155 OPC_CheckPredicate2,
2156 OPC_CheckPredicate3,
2157 OPC_MoveSibling1,
2158 OPC_SwitchOpcode , 56, TARGET_VAL(ISD::LOAD),
2159 OPC_RecordMemRef,
2160 OPC_RecordNode,
2161 OPC_CheckFoldableChainNode,
2162 OPC_RecordChild1,
2163 OPC_CheckPredicate2,
2164 OPC_CheckPredicate3,
2165 OPC_MoveParent,
2166 OPC_CheckPredicate6,
2167 OPC_SwitchType , 21, MVT::i8,
2168 OPC_MoveParent,
2169 OPC_CheckChild1Integer, 0,
2170 OPC_CheckComplexPat0, /*#*/1,
2171 OPC_CheckComplexPat0, /*#*/3,
2172 OPC_EmitMergeInputChains, 2, 0, 2,
2173 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT8mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2174 MVT::i16, 4, 4, 5, 6, 7,
2175 21, MVT::i16,
2176 OPC_MoveParent,
2177 OPC_CheckChild1Integer, 0,
2178 OPC_CheckComplexPat0, /*#*/1,
2179 OPC_CheckComplexPat0, /*#*/3,
2180 OPC_EmitMergeInputChains, 2, 0, 2,
2181 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT16mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2182 MVT::i16, 4, 4, 5, 6, 7,
2183 0,
2184 88, TARGET_VAL(ISD::Constant),
2185 OPC_RecordNode,
2186 OPC_Scope, 21,
2187 OPC_CheckPredicate4,
2188 OPC_MoveParent,
2189 OPC_CheckPredicate6,
2190 OPC_CheckType, MVT::i8,
2191 OPC_MoveParent,
2192 OPC_CheckChild1Integer, 0,
2193 OPC_CheckComplexPat0, /*#*/1,
2194 OPC_EmitMergeInputChains1_0,
2195 OPC_EmitConvertToTarget2,
2196 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT8mc), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2197 MVT::i16, 3, 3, 4, 5,
2198 21,
2199 OPC_CheckPredicate5,
2200 OPC_MoveParent,
2201 OPC_CheckPredicate6,
2202 OPC_CheckType, MVT::i16,
2203 OPC_MoveParent,
2204 OPC_CheckChild1Integer, 0,
2205 OPC_CheckComplexPat0, /*#*/1,
2206 OPC_EmitMergeInputChains1_0,
2207 OPC_EmitConvertToTarget2,
2208 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT16mc), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2209 MVT::i16, 3, 3, 4, 5,
2210 40,
2211 OPC_MoveParent,
2212 OPC_CheckPredicate6,
2213 OPC_SwitchType , 16, MVT::i8,
2214 OPC_MoveParent,
2215 OPC_CheckChild1Integer, 0,
2216 OPC_CheckComplexPat0, /*#*/1,
2217 OPC_EmitMergeInputChains1_0,
2218 OPC_EmitConvertToTarget2,
2219 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT8mi), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2220 MVT::i16, 3, 3, 4, 5,
2221 16, MVT::i16,
2222 OPC_MoveParent,
2223 OPC_CheckChild1Integer, 0,
2224 OPC_CheckComplexPat0, /*#*/1,
2225 OPC_EmitMergeInputChains1_0,
2226 OPC_EmitConvertToTarget2,
2227 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT16mi), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2228 MVT::i16, 3, 3, 4, 5,
2229 0,
2230 0,
2231 0,
2232 49,
2233 OPC_RecordChild0,
2234 OPC_MoveChild1,
2235 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2236 OPC_RecordMemRef,
2237 OPC_RecordNode,
2238 OPC_CheckFoldableChainNode,
2239 OPC_RecordChild1,
2240 OPC_CheckPredicate2,
2241 OPC_CheckPredicate3,
2242 OPC_MoveParent,
2243 OPC_CheckPredicate6,
2244 OPC_SwitchType , 15, MVT::i8,
2245 OPC_MoveParent,
2246 OPC_CheckChild1Integer, 0,
2247 OPC_CheckComplexPat0, /*#*/2,
2248 OPC_EmitMergeInputChains1_1,
2249 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT8rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2250 MVT::i16, 3, 0, 3, 4,
2251 15, MVT::i16,
2252 OPC_MoveParent,
2253 OPC_CheckChild1Integer, 0,
2254 OPC_CheckComplexPat0, /*#*/2,
2255 OPC_EmitMergeInputChains1_1,
2256 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT16rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2257 MVT::i16, 3, 0, 3, 4,
2258 0,
2259 49,
2260 OPC_MoveChild0,
2261 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2262 OPC_RecordMemRef,
2263 OPC_RecordNode,
2264 OPC_CheckFoldableChainNode,
2265 OPC_RecordChild1,
2266 OPC_CheckPredicate2,
2267 OPC_CheckPredicate3,
2268 OPC_MoveParent,
2269 OPC_RecordChild1,
2270 OPC_CheckPredicate6,
2271 OPC_SwitchType , 15, MVT::i8,
2272 OPC_MoveParent,
2273 OPC_CheckChild1Integer, 0,
2274 OPC_CheckComplexPat0, /*#*/1,
2275 OPC_EmitMergeInputChains1_0,
2276 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT8mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2277 MVT::i16, 3, 3, 4, 2,
2278 15, MVT::i16,
2279 OPC_MoveParent,
2280 OPC_CheckChild1Integer, 0,
2281 OPC_CheckComplexPat0, /*#*/1,
2282 OPC_EmitMergeInputChains1_0,
2283 OPC_MorphNodeTo1, TARGET_VAL(MSP430::BIT16mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2284 MVT::i16, 3, 3, 4, 2,
2285 0,
2286 0,
2287 20|128,1, TARGET_VAL(ISD::LOAD),
2288 OPC_RecordMemRef,
2289 OPC_RecordNode,
2290 OPC_CheckFoldableChainNode,
2291 OPC_RecordChild1,
2292 OPC_CheckPredicate2,
2293 OPC_CheckPredicate3,
2294 OPC_SwitchType , 68, MVT::i8,
2295 OPC_MoveSibling1,
2296 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::LOAD),
2297 OPC_RecordMemRef,
2298 OPC_RecordNode,
2299 OPC_CheckFoldableChainNode,
2300 OPC_RecordChild1,
2301 OPC_CheckPredicate2,
2302 OPC_CheckPredicate3,
2303 OPC_MoveParent,
2304 OPC_CheckComplexPat0, /*#*/1,
2305 OPC_CheckComplexPat0, /*#*/3,
2306 OPC_EmitMergeInputChains, 2, 0, 2,
2307 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP8mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2308 MVT::i16, 4, 4, 5, 6, 7,
2309 34, TARGET_VAL(ISD::Constant),
2310 OPC_RecordNode,
2311 OPC_Scope, 15,
2312 OPC_CheckPredicate4,
2313 OPC_MoveParent,
2314 OPC_CheckComplexPat0, /*#*/1,
2315 OPC_EmitMergeInputChains1_0,
2316 OPC_EmitConvertToTarget2,
2317 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP8mc), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2318 MVT::i16, 3, 3, 4, 5,
2319 14,
2320 OPC_MoveParent,
2321 OPC_CheckComplexPat0, /*#*/1,
2322 OPC_EmitMergeInputChains1_0,
2323 OPC_EmitConvertToTarget2,
2324 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP8mi), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2325 MVT::i16, 3, 3, 4, 5,
2326 0,
2327 0,
2328 68, MVT::i16,
2329 OPC_MoveSibling1,
2330 OPC_SwitchOpcode , 25, TARGET_VAL(ISD::LOAD),
2331 OPC_RecordMemRef,
2332 OPC_RecordNode,
2333 OPC_CheckFoldableChainNode,
2334 OPC_RecordChild1,
2335 OPC_CheckPredicate2,
2336 OPC_CheckPredicate3,
2337 OPC_MoveParent,
2338 OPC_CheckComplexPat0, /*#*/1,
2339 OPC_CheckComplexPat0, /*#*/3,
2340 OPC_EmitMergeInputChains, 2, 0, 2,
2341 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP16mm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2342 MVT::i16, 4, 4, 5, 6, 7,
2343 34, TARGET_VAL(ISD::Constant),
2344 OPC_RecordNode,
2345 OPC_Scope, 15,
2346 OPC_CheckPredicate5,
2347 OPC_MoveParent,
2348 OPC_CheckComplexPat0, /*#*/1,
2349 OPC_EmitMergeInputChains1_0,
2350 OPC_EmitConvertToTarget2,
2351 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP16mc), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2352 MVT::i16, 3, 3, 4, 5,
2353 14,
2354 OPC_MoveParent,
2355 OPC_CheckComplexPat0, /*#*/1,
2356 OPC_EmitMergeInputChains1_0,
2357 OPC_EmitConvertToTarget2,
2358 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP16mi), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2359 MVT::i16, 3, 3, 4, 5,
2360 0,
2361 0,
2362 0,
2363 0,
2364 55,
2365 OPC_RecordChild0,
2366 OPC_Scope, 25,
2367 OPC_CheckChild0Type, MVT::i8,
2368 OPC_MoveChild1,
2369 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2370 OPC_RecordMemRef,
2371 OPC_RecordNode,
2372 OPC_CheckFoldableChainNode,
2373 OPC_RecordChild1,
2374 OPC_CheckPredicate2,
2375 OPC_CheckPredicate3,
2376 OPC_MoveParent,
2377 OPC_CheckComplexPat0, /*#*/2,
2378 OPC_EmitMergeInputChains1_1,
2379 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP8rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2380 MVT::i16, 3, 0, 3, 4,
2381 25,
2382 OPC_CheckChild0Type, MVT::i16,
2383 OPC_MoveChild1,
2384 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2385 OPC_RecordMemRef,
2386 OPC_RecordNode,
2387 OPC_CheckFoldableChainNode,
2388 OPC_RecordChild1,
2389 OPC_CheckPredicate2,
2390 OPC_CheckPredicate3,
2391 OPC_MoveParent,
2392 OPC_CheckComplexPat0, /*#*/2,
2393 OPC_EmitMergeInputChains1_1,
2394 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP16rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2395 MVT::i16, 3, 0, 3, 4,
2396 0,
2397 64|128,1,
2398 OPC_MoveChild0,
2399 OPC_SwitchOpcode , 40, TARGET_VAL(ISD::LOAD),
2400 OPC_RecordMemRef,
2401 OPC_RecordNode,
2402 OPC_CheckFoldableChainNode,
2403 OPC_RecordChild1,
2404 OPC_CheckPredicate2,
2405 OPC_CheckPredicate3,
2406 OPC_SwitchType , 14, MVT::i8,
2407 OPC_MoveParent,
2408 OPC_RecordChild1,
2409 OPC_CheckComplexPat0, /*#*/1,
2410 OPC_EmitMergeInputChains1_0,
2411 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP8mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2412 MVT::i16, 3, 3, 4, 2,
2413 14, MVT::i16,
2414 OPC_MoveParent,
2415 OPC_RecordChild1,
2416 OPC_CheckComplexPat0, /*#*/1,
2417 OPC_EmitMergeInputChains1_0,
2418 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CMP16mr), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
2419 MVT::i16, 3, 3, 4, 2,
2420 0,
2421 104, TARGET_VAL(ISD::AND),
2422 OPC_RecordChild0,
2423 OPC_RecordChild1,
2424 OPC_Scope, 71,
2425 OPC_MoveChild1,
2426 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2427 OPC_Scope, 16,
2428 OPC_CheckPredicate4,
2429 OPC_MoveParent,
2430 OPC_CheckPredicate6,
2431 OPC_CheckType, MVT::i8,
2432 OPC_MoveParent,
2433 OPC_CheckChild1Integer, 0,
2434 OPC_EmitConvertToTarget1,
2435 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT8rc),
2436 MVT::i16, 2, 0, 2,
2437 16,
2438 OPC_CheckPredicate5,
2439 OPC_MoveParent,
2440 OPC_CheckPredicate6,
2441 OPC_CheckType, MVT::i16,
2442 OPC_MoveParent,
2443 OPC_CheckChild1Integer, 0,
2444 OPC_EmitConvertToTarget1,
2445 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT16rc),
2446 MVT::i16, 2, 0, 2,
2447 30,
2448 OPC_MoveParent,
2449 OPC_CheckPredicate6,
2450 OPC_SwitchType , 11, MVT::i8,
2451 OPC_MoveParent,
2452 OPC_CheckChild1Integer, 0,
2453 OPC_EmitConvertToTarget1,
2454 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT8ri),
2455 MVT::i16, 2, 0, 2,
2456 11, MVT::i16,
2457 OPC_MoveParent,
2458 OPC_CheckChild1Integer, 0,
2459 OPC_EmitConvertToTarget1,
2460 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT16ri),
2461 MVT::i16, 2, 0, 2,
2462 0,
2463 0,
2464 27,
2465 OPC_CheckPredicate6,
2466 OPC_SwitchType , 10, MVT::i8,
2467 OPC_MoveParent,
2468 OPC_CheckChild1Integer, 0,
2469 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT8rr),
2470 MVT::i16, 2, 0, 1,
2471 10, MVT::i16,
2472 OPC_MoveParent,
2473 OPC_CheckChild1Integer, 0,
2474 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT16rr),
2475 MVT::i16, 2, 0, 1,
2476 0,
2477 0,
2478 36, TARGET_VAL(ISD::TRUNCATE),
2479 OPC_MoveChild0,
2480 OPC_CheckOpcode, TARGET_VAL(ISD::AND),
2481 OPC_RecordChild0,
2482 OPC_RecordChild1,
2483 OPC_CheckPredicate6,
2484 OPC_MoveParent,
2485 OPC_MoveParent,
2486 OPC_CheckChild1Integer, 0,
2487 OPC_EmitStringInteger32, MSP430::subreg_8bit,
2488 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
2489 MVT::i8, 2, 0, 2,
2490 OPC_EmitStringInteger32, MSP430::subreg_8bit,
2491 OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
2492 MVT::i8, 2, 1, 4,
2493 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::BIT8rr),
2494 MVT::i16, 2, 3, 5,
2495 0,
2496 87,
2497 OPC_RecordChild0,
2498 OPC_Scope, 41,
2499 OPC_CheckChild0Type, MVT::i8,
2500 OPC_RecordChild1,
2501 OPC_Scope, 27,
2502 OPC_MoveChild1,
2503 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2504 OPC_Scope, 10,
2505 OPC_CheckPredicate4,
2506 OPC_MoveParent,
2507 OPC_EmitConvertToTarget1,
2508 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP8rc),
2509 MVT::i16, 2, 0, 2,
2510 9,
2511 OPC_MoveParent,
2512 OPC_EmitConvertToTarget1,
2513 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP8ri),
2514 MVT::i16, 2, 0, 2,
2515 0,
2516 7,
2517 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP8rr),
2518 MVT::i16, 2, 0, 1,
2519 0,
2520 41,
2521 OPC_CheckChild0Type, MVT::i16,
2522 OPC_RecordChild1,
2523 OPC_Scope, 27,
2524 OPC_MoveChild1,
2525 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2526 OPC_Scope, 10,
2527 OPC_CheckPredicate5,
2528 OPC_MoveParent,
2529 OPC_EmitConvertToTarget1,
2530 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP16rc),
2531 MVT::i16, 2, 0, 2,
2532 9,
2533 OPC_MoveParent,
2534 OPC_EmitConvertToTarget1,
2535 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP16ri),
2536 MVT::i16, 2, 0, 2,
2537 0,
2538 7,
2539 OPC_MorphNodeTo1GlueOutput, TARGET_VAL(MSP430::CMP16rr),
2540 MVT::i16, 2, 0, 1,
2541 0,
2542 0,
2543 0,
2544 117|128,5, TARGET_VAL(ISD::AND),
2545 OPC_Scope, 51,
2546 OPC_RecordChild0,
2547 OPC_MoveChild1,
2548 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2549 OPC_MoveChild0,
2550 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2551 OPC_RecordMemRef,
2552 OPC_RecordNode,
2553 OPC_CheckFoldableChainNode,
2554 OPC_RecordChild1,
2555 OPC_CheckPredicate2,
2556 OPC_CheckPredicate3,
2557 OPC_MoveParent,
2558 OPC_CheckChild1Integer, 3,
2559 OPC_MoveParent,
2560 OPC_SwitchType , 13, MVT::i8,
2561 OPC_CheckComplexPat0, /*#*/2,
2562 OPC_EmitMergeInputChains1_1,
2563 OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIC8rm), 0|OPFL_Chain|OPFL_MemRefs,
2564 MVT::i8, MVT::i16, 3, 0, 3, 4,
2565 13, MVT::i16,
2566 OPC_CheckComplexPat0, /*#*/2,
2567 OPC_EmitMergeInputChains1_1,
2568 OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIC16rm), 0|OPFL_Chain|OPFL_MemRefs,
2569 MVT::i16, MVT::i16, 3, 0, 3, 4,
2570 0,
2571 51,
2572 OPC_MoveChild0,
2573 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2574 OPC_MoveChild0,
2575 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2576 OPC_RecordMemRef,
2577 OPC_RecordNode,
2578 OPC_CheckFoldableChainNode,
2579 OPC_RecordChild1,
2580 OPC_CheckPredicate2,
2581 OPC_CheckPredicate3,
2582 OPC_MoveParent,
2583 OPC_CheckChild1Integer, 3,
2584 OPC_MoveParent,
2585 OPC_RecordChild1,
2586 OPC_SwitchType , 13, MVT::i8,
2587 OPC_CheckComplexPat0, /*#*/1,
2588 OPC_EmitMergeInputChains1_0,
2589 OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIC8rm), 0|OPFL_Chain|OPFL_MemRefs,
2590 MVT::i8, MVT::i16, 3, 2, 3, 4,
2591 13, MVT::i16,
2592 OPC_CheckComplexPat0, /*#*/1,
2593 OPC_EmitMergeInputChains1_0,
2594 OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIC16rm), 0|OPFL_Chain|OPFL_MemRefs,
2595 MVT::i16, MVT::i16, 3, 2, 3, 4,
2596 0,
2597 44,
2598 OPC_RecordChild0,
2599 OPC_MoveChild1,
2600 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2601 OPC_RecordMemRef,
2602 OPC_RecordNode,
2603 OPC_CheckFoldableChainNode,
2604 OPC_RecordChild1,
2605 OPC_CheckPredicate2,
2606 OPC_CheckPredicate3,
2607 OPC_MoveParent,
2608 OPC_SwitchType , 13, MVT::i8,
2609 OPC_CheckComplexPat0, /*#*/2,
2610 OPC_EmitMergeInputChains1_1,
2611 OPC_MorphNodeTo2, TARGET_VAL(MSP430::AND8rm), 0|OPFL_Chain|OPFL_MemRefs,
2612 MVT::i8, MVT::i16, 3, 0, 3, 4,
2613 13, MVT::i16,
2614 OPC_CheckComplexPat0, /*#*/2,
2615 OPC_EmitMergeInputChains1_1,
2616 OPC_MorphNodeTo2, TARGET_VAL(MSP430::AND16rm), 0|OPFL_Chain|OPFL_MemRefs,
2617 MVT::i16, MVT::i16, 3, 0, 3, 4,
2618 0,
2619 44,
2620 OPC_MoveChild0,
2621 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2622 OPC_RecordMemRef,
2623 OPC_RecordNode,
2624 OPC_CheckFoldableChainNode,
2625 OPC_RecordChild1,
2626 OPC_CheckPredicate2,
2627 OPC_CheckPredicate3,
2628 OPC_MoveParent,
2629 OPC_RecordChild1,
2630 OPC_SwitchType , 13, MVT::i8,
2631 OPC_CheckComplexPat0, /*#*/1,
2632 OPC_EmitMergeInputChains1_0,
2633 OPC_MorphNodeTo2, TARGET_VAL(MSP430::AND8rm), 0|OPFL_Chain|OPFL_MemRefs,
2634 MVT::i8, MVT::i16, 3, 2, 3, 4,
2635 13, MVT::i16,
2636 OPC_CheckComplexPat0, /*#*/1,
2637 OPC_EmitMergeInputChains1_0,
2638 OPC_MorphNodeTo2, TARGET_VAL(MSP430::AND16rm), 0|OPFL_Chain|OPFL_MemRefs,
2639 MVT::i16, MVT::i16, 3, 2, 3, 4,
2640 0,
2641 71,
2642 OPC_RecordChild0,
2643 OPC_MoveChild1,
2644 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2645 OPC_Scope, 41,
2646 OPC_RecordChild0,
2647 OPC_MoveChild0,
2648 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2649 OPC_Scope, 16,
2650 OPC_CheckPredicate4,
2651 OPC_MoveParent,
2652 OPC_CheckChild1Integer, 3,
2653 OPC_MoveParent,
2654 OPC_CheckType, MVT::i8,
2655 OPC_EmitConvertToTarget1,
2656 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rc),
2657 MVT::i8, MVT::i16, 2, 0, 2,
2658 16,
2659 OPC_CheckPredicate5,
2660 OPC_MoveParent,
2661 OPC_CheckChild1Integer, 3,
2662 OPC_MoveParent,
2663 OPC_CheckType, MVT::i16,
2664 OPC_EmitConvertToTarget1,
2665 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rc),
2666 MVT::i16, MVT::i16, 2, 0, 2,
2667 0,
2668 21,
2669 OPC_CheckChild0Integer, 3,
2670 OPC_RecordChild1,
2671 OPC_MoveChild1,
2672 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2673 OPC_CheckPredicate4,
2674 OPC_MoveParent,
2675 OPC_MoveParent,
2676 OPC_CheckType, MVT::i8,
2677 OPC_EmitConvertToTarget1,
2678 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rc),
2679 MVT::i8, MVT::i16, 2, 0, 2,
2680 0,
2681 52,
2682 OPC_MoveChild0,
2683 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2684 OPC_Scope, 22,
2685 OPC_RecordChild0,
2686 OPC_MoveChild0,
2687 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2688 OPC_CheckPredicate4,
2689 OPC_MoveParent,
2690 OPC_CheckChild1Integer, 3,
2691 OPC_MoveParent,
2692 OPC_RecordChild1,
2693 OPC_CheckType, MVT::i8,
2694 OPC_EmitConvertToTarget0,
2695 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rc),
2696 MVT::i8, MVT::i16, 2, 1, 2,
2697 22,
2698 OPC_CheckChild0Integer, 3,
2699 OPC_RecordChild1,
2700 OPC_MoveChild1,
2701 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2702 OPC_CheckPredicate4,
2703 OPC_MoveParent,
2704 OPC_MoveParent,
2705 OPC_RecordChild1,
2706 OPC_CheckType, MVT::i8,
2707 OPC_EmitConvertToTarget0,
2708 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rc),
2709 MVT::i8, MVT::i16, 2, 1, 2,
2710 0,
2711 26,
2712 OPC_RecordChild0,
2713 OPC_MoveChild1,
2714 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2715 OPC_CheckChild0Integer, 3,
2716 OPC_RecordChild1,
2717 OPC_MoveChild1,
2718 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2719 OPC_CheckPredicate5,
2720 OPC_MoveParent,
2721 OPC_MoveParent,
2722 OPC_CheckType, MVT::i16,
2723 OPC_EmitConvertToTarget1,
2724 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rc),
2725 MVT::i16, MVT::i16, 2, 0, 2,
2726 52,
2727 OPC_MoveChild0,
2728 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2729 OPC_Scope, 22,
2730 OPC_RecordChild0,
2731 OPC_MoveChild0,
2732 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2733 OPC_CheckPredicate5,
2734 OPC_MoveParent,
2735 OPC_CheckChild1Integer, 3,
2736 OPC_MoveParent,
2737 OPC_RecordChild1,
2738 OPC_CheckType, MVT::i16,
2739 OPC_EmitConvertToTarget0,
2740 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rc),
2741 MVT::i16, MVT::i16, 2, 1, 2,
2742 22,
2743 OPC_CheckChild0Integer, 3,
2744 OPC_RecordChild1,
2745 OPC_MoveChild1,
2746 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2747 OPC_CheckPredicate5,
2748 OPC_MoveParent,
2749 OPC_MoveParent,
2750 OPC_RecordChild1,
2751 OPC_CheckType, MVT::i16,
2752 OPC_EmitConvertToTarget0,
2753 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rc),
2754 MVT::i16, MVT::i16, 2, 1, 2,
2755 0,
2756 62,
2757 OPC_RecordChild0,
2758 OPC_MoveChild1,
2759 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2760 OPC_Scope, 33,
2761 OPC_RecordChild0,
2762 OPC_MoveChild0,
2763 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2764 OPC_MoveParent,
2765 OPC_CheckChild1Integer, 3,
2766 OPC_MoveParent,
2767 OPC_SwitchType , 9, MVT::i8,
2768 OPC_EmitConvertToTarget1,
2769 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8ri),
2770 MVT::i8, MVT::i16, 2, 0, 2,
2771 9, MVT::i16,
2772 OPC_EmitConvertToTarget1,
2773 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16ri),
2774 MVT::i16, MVT::i16, 2, 0, 2,
2775 0,
2776 20,
2777 OPC_CheckChild0Integer, 3,
2778 OPC_RecordChild1,
2779 OPC_MoveChild1,
2780 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2781 OPC_MoveParent,
2782 OPC_MoveParent,
2783 OPC_CheckType, MVT::i8,
2784 OPC_EmitConvertToTarget1,
2785 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8ri),
2786 MVT::i8, MVT::i16, 2, 0, 2,
2787 0,
2788 50,
2789 OPC_MoveChild0,
2790 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2791 OPC_Scope, 21,
2792 OPC_RecordChild0,
2793 OPC_MoveChild0,
2794 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2795 OPC_MoveParent,
2796 OPC_CheckChild1Integer, 3,
2797 OPC_MoveParent,
2798 OPC_RecordChild1,
2799 OPC_CheckType, MVT::i8,
2800 OPC_EmitConvertToTarget0,
2801 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8ri),
2802 MVT::i8, MVT::i16, 2, 1, 2,
2803 21,
2804 OPC_CheckChild0Integer, 3,
2805 OPC_RecordChild1,
2806 OPC_MoveChild1,
2807 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2808 OPC_MoveParent,
2809 OPC_MoveParent,
2810 OPC_RecordChild1,
2811 OPC_CheckType, MVT::i8,
2812 OPC_EmitConvertToTarget0,
2813 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8ri),
2814 MVT::i8, MVT::i16, 2, 1, 2,
2815 0,
2816 25,
2817 OPC_RecordChild0,
2818 OPC_MoveChild1,
2819 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2820 OPC_CheckChild0Integer, 3,
2821 OPC_RecordChild1,
2822 OPC_MoveChild1,
2823 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2824 OPC_MoveParent,
2825 OPC_MoveParent,
2826 OPC_CheckType, MVT::i16,
2827 OPC_EmitConvertToTarget1,
2828 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16ri),
2829 MVT::i16, MVT::i16, 2, 0, 2,
2830 50,
2831 OPC_MoveChild0,
2832 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2833 OPC_Scope, 21,
2834 OPC_RecordChild0,
2835 OPC_MoveChild0,
2836 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2837 OPC_MoveParent,
2838 OPC_CheckChild1Integer, 3,
2839 OPC_MoveParent,
2840 OPC_RecordChild1,
2841 OPC_CheckType, MVT::i16,
2842 OPC_EmitConvertToTarget0,
2843 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16ri),
2844 MVT::i16, MVT::i16, 2, 1, 2,
2845 21,
2846 OPC_CheckChild0Integer, 3,
2847 OPC_RecordChild1,
2848 OPC_MoveChild1,
2849 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2850 OPC_MoveParent,
2851 OPC_MoveParent,
2852 OPC_RecordChild1,
2853 OPC_CheckType, MVT::i16,
2854 OPC_EmitConvertToTarget0,
2855 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16ri),
2856 MVT::i16, MVT::i16, 2, 1, 2,
2857 0,
2858 31,
2859 OPC_RecordChild0,
2860 OPC_MoveChild1,
2861 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2862 OPC_RecordChild0,
2863 OPC_CheckChild1Integer, 3,
2864 OPC_MoveParent,
2865 OPC_SwitchType , 8, MVT::i8,
2866 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rr),
2867 MVT::i8, MVT::i16, 2, 0, 1,
2868 8, MVT::i16,
2869 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rr),
2870 MVT::i16, MVT::i16, 2, 0, 1,
2871 0,
2872 31,
2873 OPC_MoveChild0,
2874 OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
2875 OPC_RecordChild0,
2876 OPC_CheckChild1Integer, 3,
2877 OPC_MoveParent,
2878 OPC_RecordChild1,
2879 OPC_SwitchType , 8, MVT::i8,
2880 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC8rr),
2881 MVT::i8, MVT::i16, 2, 1, 0,
2882 8, MVT::i16,
2883 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIC16rr),
2884 MVT::i16, MVT::i16, 2, 1, 0,
2885 0,
2886 12,
2887 OPC_CheckAndImm, 127|128,1,
2888 OPC_RecordChild0,
2889 OPC_CheckType, MVT::i16,
2890 OPC_MorphNodeTo1None, TARGET_VAL(MSP430::ZEXT16r),
2891 MVT::i16, 1, 0,
2892 87,
2893 OPC_RecordChild0,
2894 OPC_RecordChild1,
2895 OPC_Scope, 60,
2896 OPC_MoveChild1,
2897 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
2898 OPC_Scope, 13,
2899 OPC_CheckPredicate4,
2900 OPC_MoveParent,
2901 OPC_CheckType, MVT::i8,
2902 OPC_EmitConvertToTarget1,
2903 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND8rc),
2904 MVT::i8, MVT::i16, 2, 0, 2,
2905 13,
2906 OPC_CheckPredicate5,
2907 OPC_MoveParent,
2908 OPC_CheckType, MVT::i16,
2909 OPC_EmitConvertToTarget1,
2910 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND16rc),
2911 MVT::i16, MVT::i16, 2, 0, 2,
2912 25,
2913 OPC_MoveParent,
2914 OPC_SwitchType , 9, MVT::i8,
2915 OPC_EmitConvertToTarget1,
2916 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND8ri),
2917 MVT::i8, MVT::i16, 2, 0, 2,
2918 9, MVT::i16,
2919 OPC_EmitConvertToTarget1,
2920 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND16ri),
2921 MVT::i16, MVT::i16, 2, 0, 2,
2922 0,
2923 0,
2924 10,
2925 OPC_CheckType, MVT::i8,
2926 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND8rr),
2927 MVT::i8, MVT::i16, 2, 0, 1,
2928 10,
2929 OPC_CheckType, MVT::i16,
2930 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::AND16rr),
2931 MVT::i16, MVT::i16, 2, 0, 1,
2932 0,
2933 0,
2934 53, TARGET_VAL(ISD::BRIND),
2935 OPC_RecordNode,
2936 OPC_Scope, 24,
2937 OPC_MoveChild1,
2938 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2939 OPC_RecordMemRef,
2940 OPC_RecordNode,
2941 OPC_CheckFoldableChainNode,
2942 OPC_RecordChild1,
2943 OPC_CheckPredicate2,
2944 OPC_CheckPredicate3,
2945 OPC_MoveParent,
2946 OPC_CheckComplexPat0, /*#*/2,
2947 OPC_EmitMergeInputChains, 2, 0, 1,
2948 OPC_MorphNodeTo0, TARGET_VAL(MSP430::Bm), 0|OPFL_Chain|OPFL_MemRefs,
2949 2, 3, 4,
2950 24,
2951 OPC_RecordChild1,
2952 OPC_Scope, 11,
2953 OPC_MoveChild1,
2954 OPC_CheckOpcode, TARGET_VAL(ISD::TargetBlockAddress),
2955 OPC_MoveParent,
2956 OPC_EmitMergeInputChains1_0,
2957 OPC_MorphNodeTo0Chain, TARGET_VAL(MSP430::Bi),
2958 1, 1,
2959 8,
2960 OPC_CheckChild1Type, MVT::i16,
2961 OPC_EmitMergeInputChains1_0,
2962 OPC_MorphNodeTo0Chain, TARGET_VAL(MSP430::Br),
2963 1, 1,
2964 0,
2965 0,
2966 90, TARGET_VAL(MSP430ISD::CALL),
2967 OPC_RecordNode,
2968 OPC_CaptureGlueInput,
2969 OPC_Scope, 25,
2970 OPC_MoveChild1,
2971 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
2972 OPC_RecordMemRef,
2973 OPC_RecordNode,
2974 OPC_CheckFoldableChainNode,
2975 OPC_RecordChild1,
2976 OPC_CheckPredicate2,
2977 OPC_CheckPredicate3,
2978 OPC_MoveParent,
2979 OPC_CheckComplexPat0, /*#*/2,
2980 OPC_EmitMergeInputChains, 2, 0, 1,
2981 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CALLm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs|OPFL_Variadic1,
2982 MVT::i16, 2, 3, 4,
2983 59,
2984 OPC_RecordChild1,
2985 OPC_Scope, 44,
2986 OPC_MoveChild1,
2987 OPC_SwitchOpcode , 10, TARGET_VAL(ISD::Constant),
2988 OPC_MoveParent,
2989 OPC_EmitMergeInputChains1_0,
2990 OPC_EmitConvertToTarget1,
2991 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CALLi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
2992 MVT::i16, 1, 2,
2993 11, TARGET_VAL(ISD::TargetGlobalAddress),
2994 OPC_CheckType, MVT::i16,
2995 OPC_MoveParent,
2996 OPC_EmitMergeInputChains1_0,
2997 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CALLi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
2998 MVT::i16, 1, 1,
2999 11, TARGET_VAL(ISD::TargetExternalSymbol),
3000 OPC_CheckType, MVT::i16,
3001 OPC_MoveParent,
3002 OPC_EmitMergeInputChains1_0,
3003 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CALLi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
3004 MVT::i16, 1, 1,
3005 0,
3006 10,
3007 OPC_CheckChild1Type, MVT::i16,
3008 OPC_EmitMergeInputChains1_0,
3009 OPC_MorphNodeTo1, TARGET_VAL(MSP430::CALLr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
3010 MVT::i16, 1, 1,
3011 0,
3012 0,
3013 36|128,2, TARGET_VAL(ISD::ADD),
3014 OPC_Scope, 44,
3015 OPC_RecordChild0,
3016 OPC_MoveChild1,
3017 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3018 OPC_RecordMemRef,
3019 OPC_RecordNode,
3020 OPC_CheckFoldableChainNode,
3021 OPC_RecordChild1,
3022 OPC_CheckPredicate2,
3023 OPC_CheckPredicate3,
3024 OPC_MoveParent,
3025 OPC_SwitchType , 13, MVT::i8,
3026 OPC_CheckComplexPat0, /*#*/2,
3027 OPC_EmitMergeInputChains1_1,
3028 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD8rm), 0|OPFL_Chain|OPFL_MemRefs,
3029 MVT::i8, MVT::i16, 3, 0, 3, 4,
3030 13, MVT::i16,
3031 OPC_CheckComplexPat0, /*#*/2,
3032 OPC_EmitMergeInputChains1_1,
3033 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD16rm), 0|OPFL_Chain|OPFL_MemRefs,
3034 MVT::i16, MVT::i16, 3, 0, 3, 4,
3035 0,
3036 44,
3037 OPC_MoveChild0,
3038 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3039 OPC_RecordMemRef,
3040 OPC_RecordNode,
3041 OPC_CheckFoldableChainNode,
3042 OPC_RecordChild1,
3043 OPC_CheckPredicate2,
3044 OPC_CheckPredicate3,
3045 OPC_MoveParent,
3046 OPC_RecordChild1,
3047 OPC_SwitchType , 13, MVT::i8,
3048 OPC_CheckComplexPat0, /*#*/1,
3049 OPC_EmitMergeInputChains1_0,
3050 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD8rm), 0|OPFL_Chain|OPFL_MemRefs,
3051 MVT::i8, MVT::i16, 3, 2, 3, 4,
3052 13, MVT::i16,
3053 OPC_CheckComplexPat0, /*#*/1,
3054 OPC_EmitMergeInputChains1_0,
3055 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD16rm), 0|OPFL_Chain|OPFL_MemRefs,
3056 MVT::i16, MVT::i16, 3, 2, 3, 4,
3057 0,
3058 54,
3059 OPC_RecordChild0,
3060 OPC_MoveChild1,
3061 OPC_CheckOpcode, TARGET_VAL(MSP430ISD::Wrapper),
3062 OPC_RecordChild0,
3063 OPC_MoveChild0,
3064 OPC_SwitchOpcode , 12, TARGET_VAL(ISD::TargetGlobalAddress),
3065 OPC_MoveParent,
3066 OPC_MoveParent,
3067 OPC_CheckType, MVT::i16,
3068 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
3069 MVT::i16, MVT::i16, 2, 0, 1,
3070 12, TARGET_VAL(ISD::TargetExternalSymbol),
3071 OPC_MoveParent,
3072 OPC_MoveParent,
3073 OPC_CheckType, MVT::i16,
3074 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
3075 MVT::i16, MVT::i16, 2, 0, 1,
3076 12, TARGET_VAL(ISD::TargetBlockAddress),
3077 OPC_MoveParent,
3078 OPC_MoveParent,
3079 OPC_CheckType, MVT::i16,
3080 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
3081 MVT::i16, MVT::i16, 2, 0, 1,
3082 0,
3083 56,
3084 OPC_MoveChild0,
3085 OPC_CheckOpcode, TARGET_VAL(MSP430ISD::Wrapper),
3086 OPC_RecordChild0,
3087 OPC_MoveChild0,
3088 OPC_SwitchOpcode , 13, TARGET_VAL(ISD::TargetGlobalAddress),
3089 OPC_MoveParent,
3090 OPC_MoveParent,
3091 OPC_RecordChild1,
3092 OPC_CheckType, MVT::i16,
3093 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
3094 MVT::i16, MVT::i16, 2, 1, 0,
3095 13, TARGET_VAL(ISD::TargetExternalSymbol),
3096 OPC_MoveParent,
3097 OPC_MoveParent,
3098 OPC_RecordChild1,
3099 OPC_CheckType, MVT::i16,
3100 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
3101 MVT::i16, MVT::i16, 2, 1, 0,
3102 13, TARGET_VAL(ISD::TargetBlockAddress),
3103 OPC_MoveParent,
3104 OPC_MoveParent,
3105 OPC_RecordChild1,
3106 OPC_CheckType, MVT::i16,
3107 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
3108 MVT::i16, MVT::i16, 2, 1, 0,
3109 0,
3110 87,
3111 OPC_RecordChild0,
3112 OPC_RecordChild1,
3113 OPC_Scope, 60,
3114 OPC_MoveChild1,
3115 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3116 OPC_Scope, 13,
3117 OPC_CheckPredicate4,
3118 OPC_MoveParent,
3119 OPC_CheckType, MVT::i8,
3120 OPC_EmitConvertToTarget1,
3121 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD8rc),
3122 MVT::i8, MVT::i16, 2, 0, 2,
3123 13,
3124 OPC_CheckPredicate5,
3125 OPC_MoveParent,
3126 OPC_CheckType, MVT::i16,
3127 OPC_EmitConvertToTarget1,
3128 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16rc),
3129 MVT::i16, MVT::i16, 2, 0, 2,
3130 25,
3131 OPC_MoveParent,
3132 OPC_SwitchType , 9, MVT::i8,
3133 OPC_EmitConvertToTarget1,
3134 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD8ri),
3135 MVT::i8, MVT::i16, 2, 0, 2,
3136 9, MVT::i16,
3137 OPC_EmitConvertToTarget1,
3138 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16ri),
3139 MVT::i16, MVT::i16, 2, 0, 2,
3140 0,
3141 0,
3142 10,
3143 OPC_CheckType, MVT::i8,
3144 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD8rr),
3145 MVT::i8, MVT::i16, 2, 0, 1,
3146 10,
3147 OPC_CheckType, MVT::i16,
3148 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16rr),
3149 MVT::i16, MVT::i16, 2, 0, 1,
3150 0,
3151 0,
3152 59|128,1, TARGET_VAL(ISD::ADDE),
3153 OPC_CaptureGlueInput,
3154 OPC_Scope, 44,
3155 OPC_RecordChild0,
3156 OPC_MoveChild1,
3157 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3158 OPC_RecordMemRef,
3159 OPC_RecordNode,
3160 OPC_CheckFoldableChainNode,
3161 OPC_RecordChild1,
3162 OPC_CheckPredicate2,
3163 OPC_CheckPredicate3,
3164 OPC_MoveParent,
3165 OPC_SwitchType , 13, MVT::i8,
3166 OPC_CheckComplexPat0, /*#*/2,
3167 OPC_EmitMergeInputChains1_1,
3168 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC8rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
3169 MVT::i8, MVT::i16, 3, 0, 3, 4,
3170 13, MVT::i16,
3171 OPC_CheckComplexPat0, /*#*/2,
3172 OPC_EmitMergeInputChains1_1,
3173 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC16rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
3174 MVT::i16, MVT::i16, 3, 0, 3, 4,
3175 0,
3176 44,
3177 OPC_MoveChild0,
3178 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3179 OPC_RecordMemRef,
3180 OPC_RecordNode,
3181 OPC_CheckFoldableChainNode,
3182 OPC_RecordChild1,
3183 OPC_CheckPredicate2,
3184 OPC_CheckPredicate3,
3185 OPC_MoveParent,
3186 OPC_RecordChild1,
3187 OPC_SwitchType , 13, MVT::i8,
3188 OPC_CheckComplexPat0, /*#*/1,
3189 OPC_EmitMergeInputChains1_0,
3190 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC8rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
3191 MVT::i8, MVT::i16, 3, 2, 3, 4,
3192 13, MVT::i16,
3193 OPC_CheckComplexPat0, /*#*/1,
3194 OPC_EmitMergeInputChains1_0,
3195 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC16rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
3196 MVT::i16, MVT::i16, 3, 2, 3, 4,
3197 0,
3198 93,
3199 OPC_RecordChild0,
3200 OPC_RecordChild1,
3201 OPC_Scope, 64,
3202 OPC_MoveChild1,
3203 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3204 OPC_Scope, 14,
3205 OPC_CheckPredicate4,
3206 OPC_MoveParent,
3207 OPC_CheckType, MVT::i8,
3208 OPC_EmitConvertToTarget1,
3209 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC8rc), 0|OPFL_GlueInput|OPFL_GlueOutput,
3210 MVT::i8, MVT::i16, 2, 0, 2,
3211 14,
3212 OPC_CheckPredicate5,
3213 OPC_MoveParent,
3214 OPC_CheckType, MVT::i16,
3215 OPC_EmitConvertToTarget1,
3216 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC16rc), 0|OPFL_GlueInput|OPFL_GlueOutput,
3217 MVT::i16, MVT::i16, 2, 0, 2,
3218 27,
3219 OPC_MoveParent,
3220 OPC_SwitchType , 10, MVT::i8,
3221 OPC_EmitConvertToTarget1,
3222 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC8ri), 0|OPFL_GlueInput|OPFL_GlueOutput,
3223 MVT::i8, MVT::i16, 2, 0, 2,
3224 10, MVT::i16,
3225 OPC_EmitConvertToTarget1,
3226 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC16ri), 0|OPFL_GlueInput|OPFL_GlueOutput,
3227 MVT::i16, MVT::i16, 2, 0, 2,
3228 0,
3229 0,
3230 11,
3231 OPC_CheckType, MVT::i8,
3232 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC8rr), 0|OPFL_GlueInput|OPFL_GlueOutput,
3233 MVT::i8, MVT::i16, 2, 0, 1,
3234 11,
3235 OPC_CheckType, MVT::i16,
3236 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADDC16rr), 0|OPFL_GlueInput|OPFL_GlueOutput,
3237 MVT::i16, MVT::i16, 2, 0, 1,
3238 0,
3239 0,
3240 52|128,1, TARGET_VAL(ISD::OR),
3241 OPC_Scope, 44,
3242 OPC_RecordChild0,
3243 OPC_MoveChild1,
3244 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3245 OPC_RecordMemRef,
3246 OPC_RecordNode,
3247 OPC_CheckFoldableChainNode,
3248 OPC_RecordChild1,
3249 OPC_CheckPredicate2,
3250 OPC_CheckPredicate3,
3251 OPC_MoveParent,
3252 OPC_SwitchType , 13, MVT::i8,
3253 OPC_CheckComplexPat0, /*#*/2,
3254 OPC_EmitMergeInputChains1_1,
3255 OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIS8rm), 0|OPFL_Chain|OPFL_MemRefs,
3256 MVT::i8, MVT::i16, 3, 0, 3, 4,
3257 13, MVT::i16,
3258 OPC_CheckComplexPat0, /*#*/2,
3259 OPC_EmitMergeInputChains1_1,
3260 OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIS16rm), 0|OPFL_Chain|OPFL_MemRefs,
3261 MVT::i16, MVT::i16, 3, 0, 3, 4,
3262 0,
3263 44,
3264 OPC_MoveChild0,
3265 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3266 OPC_RecordMemRef,
3267 OPC_RecordNode,
3268 OPC_CheckFoldableChainNode,
3269 OPC_RecordChild1,
3270 OPC_CheckPredicate2,
3271 OPC_CheckPredicate3,
3272 OPC_MoveParent,
3273 OPC_RecordChild1,
3274 OPC_SwitchType , 13, MVT::i8,
3275 OPC_CheckComplexPat0, /*#*/1,
3276 OPC_EmitMergeInputChains1_0,
3277 OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIS8rm), 0|OPFL_Chain|OPFL_MemRefs,
3278 MVT::i8, MVT::i16, 3, 2, 3, 4,
3279 13, MVT::i16,
3280 OPC_CheckComplexPat0, /*#*/1,
3281 OPC_EmitMergeInputChains1_0,
3282 OPC_MorphNodeTo2, TARGET_VAL(MSP430::BIS16rm), 0|OPFL_Chain|OPFL_MemRefs,
3283 MVT::i16, MVT::i16, 3, 2, 3, 4,
3284 0,
3285 87,
3286 OPC_RecordChild0,
3287 OPC_RecordChild1,
3288 OPC_Scope, 60,
3289 OPC_MoveChild1,
3290 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3291 OPC_Scope, 13,
3292 OPC_CheckPredicate4,
3293 OPC_MoveParent,
3294 OPC_CheckType, MVT::i8,
3295 OPC_EmitConvertToTarget1,
3296 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS8rc),
3297 MVT::i8, MVT::i16, 2, 0, 2,
3298 13,
3299 OPC_CheckPredicate5,
3300 OPC_MoveParent,
3301 OPC_CheckType, MVT::i16,
3302 OPC_EmitConvertToTarget1,
3303 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS16rc),
3304 MVT::i16, MVT::i16, 2, 0, 2,
3305 25,
3306 OPC_MoveParent,
3307 OPC_SwitchType , 9, MVT::i8,
3308 OPC_EmitConvertToTarget1,
3309 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS8ri),
3310 MVT::i8, MVT::i16, 2, 0, 2,
3311 9, MVT::i16,
3312 OPC_EmitConvertToTarget1,
3313 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS16ri),
3314 MVT::i16, MVT::i16, 2, 0, 2,
3315 0,
3316 0,
3317 10,
3318 OPC_CheckType, MVT::i8,
3319 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS8rr),
3320 MVT::i8, MVT::i16, 2, 0, 1,
3321 10,
3322 OPC_CheckType, MVT::i16,
3323 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::BIS16rr),
3324 MVT::i16, MVT::i16, 2, 0, 1,
3325 0,
3326 0,
3327 52|128,1, TARGET_VAL(ISD::XOR),
3328 OPC_Scope, 44,
3329 OPC_RecordChild0,
3330 OPC_MoveChild1,
3331 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3332 OPC_RecordMemRef,
3333 OPC_RecordNode,
3334 OPC_CheckFoldableChainNode,
3335 OPC_RecordChild1,
3336 OPC_CheckPredicate2,
3337 OPC_CheckPredicate3,
3338 OPC_MoveParent,
3339 OPC_SwitchType , 13, MVT::i8,
3340 OPC_CheckComplexPat0, /*#*/2,
3341 OPC_EmitMergeInputChains1_1,
3342 OPC_MorphNodeTo2, TARGET_VAL(MSP430::XOR8rm), 0|OPFL_Chain|OPFL_MemRefs,
3343 MVT::i8, MVT::i16, 3, 0, 3, 4,
3344 13, MVT::i16,
3345 OPC_CheckComplexPat0, /*#*/2,
3346 OPC_EmitMergeInputChains1_1,
3347 OPC_MorphNodeTo2, TARGET_VAL(MSP430::XOR16rm), 0|OPFL_Chain|OPFL_MemRefs,
3348 MVT::i16, MVT::i16, 3, 0, 3, 4,
3349 0,
3350 44,
3351 OPC_MoveChild0,
3352 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3353 OPC_RecordMemRef,
3354 OPC_RecordNode,
3355 OPC_CheckFoldableChainNode,
3356 OPC_RecordChild1,
3357 OPC_CheckPredicate2,
3358 OPC_CheckPredicate3,
3359 OPC_MoveParent,
3360 OPC_RecordChild1,
3361 OPC_SwitchType , 13, MVT::i8,
3362 OPC_CheckComplexPat0, /*#*/1,
3363 OPC_EmitMergeInputChains1_0,
3364 OPC_MorphNodeTo2, TARGET_VAL(MSP430::XOR8rm), 0|OPFL_Chain|OPFL_MemRefs,
3365 MVT::i8, MVT::i16, 3, 2, 3, 4,
3366 13, MVT::i16,
3367 OPC_CheckComplexPat0, /*#*/1,
3368 OPC_EmitMergeInputChains1_0,
3369 OPC_MorphNodeTo2, TARGET_VAL(MSP430::XOR16rm), 0|OPFL_Chain|OPFL_MemRefs,
3370 MVT::i16, MVT::i16, 3, 2, 3, 4,
3371 0,
3372 87,
3373 OPC_RecordChild0,
3374 OPC_RecordChild1,
3375 OPC_Scope, 60,
3376 OPC_MoveChild1,
3377 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3378 OPC_Scope, 13,
3379 OPC_CheckPredicate4,
3380 OPC_MoveParent,
3381 OPC_CheckType, MVT::i8,
3382 OPC_EmitConvertToTarget1,
3383 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR8rc),
3384 MVT::i8, MVT::i16, 2, 0, 2,
3385 13,
3386 OPC_CheckPredicate5,
3387 OPC_MoveParent,
3388 OPC_CheckType, MVT::i16,
3389 OPC_EmitConvertToTarget1,
3390 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR16rc),
3391 MVT::i16, MVT::i16, 2, 0, 2,
3392 25,
3393 OPC_MoveParent,
3394 OPC_SwitchType , 9, MVT::i8,
3395 OPC_EmitConvertToTarget1,
3396 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR8ri),
3397 MVT::i8, MVT::i16, 2, 0, 2,
3398 9, MVT::i16,
3399 OPC_EmitConvertToTarget1,
3400 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR16ri),
3401 MVT::i16, MVT::i16, 2, 0, 2,
3402 0,
3403 0,
3404 10,
3405 OPC_CheckType, MVT::i8,
3406 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR8rr),
3407 MVT::i8, MVT::i16, 2, 0, 1,
3408 10,
3409 OPC_CheckType, MVT::i16,
3410 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::XOR16rr),
3411 MVT::i16, MVT::i16, 2, 0, 1,
3412 0,
3413 0,
3414 6|128,1, TARGET_VAL(ISD::SUB),
3415 OPC_RecordChild0,
3416 OPC_Scope, 43,
3417 OPC_MoveChild1,
3418 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3419 OPC_RecordMemRef,
3420 OPC_RecordNode,
3421 OPC_CheckFoldableChainNode,
3422 OPC_RecordChild1,
3423 OPC_CheckPredicate2,
3424 OPC_CheckPredicate3,
3425 OPC_MoveParent,
3426 OPC_SwitchType , 13, MVT::i8,
3427 OPC_CheckComplexPat0, /*#*/2,
3428 OPC_EmitMergeInputChains1_1,
3429 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUB8rm), 0|OPFL_Chain|OPFL_MemRefs,
3430 MVT::i8, MVT::i16, 3, 0, 3, 4,
3431 13, MVT::i16,
3432 OPC_CheckComplexPat0, /*#*/2,
3433 OPC_EmitMergeInputChains1_1,
3434 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUB16rm), 0|OPFL_Chain|OPFL_MemRefs,
3435 MVT::i16, MVT::i16, 3, 0, 3, 4,
3436 0,
3437 86,
3438 OPC_RecordChild1,
3439 OPC_Scope, 60,
3440 OPC_MoveChild1,
3441 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3442 OPC_Scope, 13,
3443 OPC_CheckPredicate4,
3444 OPC_MoveParent,
3445 OPC_CheckType, MVT::i8,
3446 OPC_EmitConvertToTarget1,
3447 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB8rc),
3448 MVT::i8, MVT::i16, 2, 0, 2,
3449 13,
3450 OPC_CheckPredicate5,
3451 OPC_MoveParent,
3452 OPC_CheckType, MVT::i16,
3453 OPC_EmitConvertToTarget1,
3454 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB16rc),
3455 MVT::i16, MVT::i16, 2, 0, 2,
3456 25,
3457 OPC_MoveParent,
3458 OPC_SwitchType , 9, MVT::i8,
3459 OPC_EmitConvertToTarget1,
3460 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB8ri),
3461 MVT::i8, MVT::i16, 2, 0, 2,
3462 9, MVT::i16,
3463 OPC_EmitConvertToTarget1,
3464 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB16ri),
3465 MVT::i16, MVT::i16, 2, 0, 2,
3466 0,
3467 0,
3468 10,
3469 OPC_CheckType, MVT::i8,
3470 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB8rr),
3471 MVT::i8, MVT::i16, 2, 0, 1,
3472 10,
3473 OPC_CheckType, MVT::i16,
3474 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SUB16rr),
3475 MVT::i16, MVT::i16, 2, 0, 1,
3476 0,
3477 0,
3478 13|128,1, TARGET_VAL(ISD::SUBE),
3479 OPC_CaptureGlueInput,
3480 OPC_RecordChild0,
3481 OPC_Scope, 43,
3482 OPC_MoveChild1,
3483 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3484 OPC_RecordMemRef,
3485 OPC_RecordNode,
3486 OPC_CheckFoldableChainNode,
3487 OPC_RecordChild1,
3488 OPC_CheckPredicate2,
3489 OPC_CheckPredicate3,
3490 OPC_MoveParent,
3491 OPC_SwitchType , 13, MVT::i8,
3492 OPC_CheckComplexPat0, /*#*/2,
3493 OPC_EmitMergeInputChains1_1,
3494 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC8rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
3495 MVT::i8, MVT::i16, 3, 0, 3, 4,
3496 13, MVT::i16,
3497 OPC_CheckComplexPat0, /*#*/2,
3498 OPC_EmitMergeInputChains1_1,
3499 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC16rm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_MemRefs,
3500 MVT::i16, MVT::i16, 3, 0, 3, 4,
3501 0,
3502 92,
3503 OPC_RecordChild1,
3504 OPC_Scope, 64,
3505 OPC_MoveChild1,
3506 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3507 OPC_Scope, 14,
3508 OPC_CheckPredicate4,
3509 OPC_MoveParent,
3510 OPC_CheckType, MVT::i8,
3511 OPC_EmitConvertToTarget1,
3512 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC8rc), 0|OPFL_GlueInput|OPFL_GlueOutput,
3513 MVT::i8, MVT::i16, 2, 0, 2,
3514 14,
3515 OPC_CheckPredicate5,
3516 OPC_MoveParent,
3517 OPC_CheckType, MVT::i16,
3518 OPC_EmitConvertToTarget1,
3519 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC16rc), 0|OPFL_GlueInput|OPFL_GlueOutput,
3520 MVT::i16, MVT::i16, 2, 0, 2,
3521 27,
3522 OPC_MoveParent,
3523 OPC_SwitchType , 10, MVT::i8,
3524 OPC_EmitConvertToTarget1,
3525 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC8ri), 0|OPFL_GlueInput|OPFL_GlueOutput,
3526 MVT::i8, MVT::i16, 2, 0, 2,
3527 10, MVT::i16,
3528 OPC_EmitConvertToTarget1,
3529 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC16ri), 0|OPFL_GlueInput|OPFL_GlueOutput,
3530 MVT::i16, MVT::i16, 2, 0, 2,
3531 0,
3532 0,
3533 11,
3534 OPC_CheckType, MVT::i8,
3535 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC8rr), 0|OPFL_GlueInput|OPFL_GlueOutput,
3536 MVT::i8, MVT::i16, 2, 0, 1,
3537 11,
3538 OPC_CheckType, MVT::i16,
3539 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUBC16rr), 0|OPFL_GlueInput|OPFL_GlueOutput,
3540 MVT::i16, MVT::i16, 2, 0, 1,
3541 0,
3542 0,
3543 6|128,1, TARGET_VAL(MSP430ISD::DADD),
3544 OPC_RecordChild0,
3545 OPC_Scope, 43,
3546 OPC_MoveChild1,
3547 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3548 OPC_RecordMemRef,
3549 OPC_RecordNode,
3550 OPC_CheckFoldableChainNode,
3551 OPC_RecordChild1,
3552 OPC_CheckPredicate2,
3553 OPC_CheckPredicate3,
3554 OPC_MoveParent,
3555 OPC_SwitchType , 13, MVT::i8,
3556 OPC_CheckComplexPat0, /*#*/2,
3557 OPC_EmitMergeInputChains1_1,
3558 OPC_MorphNodeTo2, TARGET_VAL(MSP430::DADD8rm), 0|OPFL_Chain|OPFL_MemRefs,
3559 MVT::i8, MVT::i16, 3, 0, 3, 4,
3560 13, MVT::i16,
3561 OPC_CheckComplexPat0, /*#*/2,
3562 OPC_EmitMergeInputChains1_1,
3563 OPC_MorphNodeTo2, TARGET_VAL(MSP430::DADD16rm), 0|OPFL_Chain|OPFL_MemRefs,
3564 MVT::i16, MVT::i16, 3, 0, 3, 4,
3565 0,
3566 86,
3567 OPC_RecordChild1,
3568 OPC_Scope, 60,
3569 OPC_MoveChild1,
3570 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3571 OPC_Scope, 13,
3572 OPC_CheckPredicate4,
3573 OPC_MoveParent,
3574 OPC_CheckType, MVT::i8,
3575 OPC_EmitConvertToTarget1,
3576 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD8rc),
3577 MVT::i8, MVT::i16, 2, 0, 2,
3578 13,
3579 OPC_CheckPredicate5,
3580 OPC_MoveParent,
3581 OPC_CheckType, MVT::i16,
3582 OPC_EmitConvertToTarget1,
3583 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD16rc),
3584 MVT::i16, MVT::i16, 2, 0, 2,
3585 25,
3586 OPC_MoveParent,
3587 OPC_SwitchType , 9, MVT::i8,
3588 OPC_EmitConvertToTarget1,
3589 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD8ri),
3590 MVT::i8, MVT::i16, 2, 0, 2,
3591 9, MVT::i16,
3592 OPC_EmitConvertToTarget1,
3593 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD16ri),
3594 MVT::i16, MVT::i16, 2, 0, 2,
3595 0,
3596 0,
3597 10,
3598 OPC_CheckType, MVT::i8,
3599 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD8rr),
3600 MVT::i8, MVT::i16, 2, 0, 1,
3601 10,
3602 OPC_CheckType, MVT::i16,
3603 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::DADD16rr),
3604 MVT::i16, MVT::i16, 2, 0, 1,
3605 0,
3606 0,
3607 21|128,1, TARGET_VAL(ISD::ADDC),
3608 OPC_Scope, 44,
3609 OPC_RecordChild0,
3610 OPC_MoveChild1,
3611 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3612 OPC_RecordMemRef,
3613 OPC_RecordNode,
3614 OPC_CheckFoldableChainNode,
3615 OPC_RecordChild1,
3616 OPC_CheckPredicate2,
3617 OPC_CheckPredicate3,
3618 OPC_MoveParent,
3619 OPC_SwitchType , 13, MVT::i16,
3620 OPC_CheckComplexPat0, /*#*/2,
3621 OPC_EmitMergeInputChains1_1,
3622 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD16rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
3623 MVT::i16, MVT::i16, 3, 0, 3, 4,
3624 13, MVT::i8,
3625 OPC_CheckComplexPat0, /*#*/2,
3626 OPC_EmitMergeInputChains1_1,
3627 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD8rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
3628 MVT::i8, MVT::i16, 3, 0, 3, 4,
3629 0,
3630 44,
3631 OPC_MoveChild0,
3632 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3633 OPC_RecordMemRef,
3634 OPC_RecordNode,
3635 OPC_CheckFoldableChainNode,
3636 OPC_RecordChild1,
3637 OPC_CheckPredicate2,
3638 OPC_CheckPredicate3,
3639 OPC_MoveParent,
3640 OPC_RecordChild1,
3641 OPC_SwitchType , 13, MVT::i16,
3642 OPC_CheckComplexPat0, /*#*/1,
3643 OPC_EmitMergeInputChains1_0,
3644 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD16rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
3645 MVT::i16, MVT::i16, 3, 2, 3, 4,
3646 13, MVT::i8,
3647 OPC_CheckComplexPat0, /*#*/1,
3648 OPC_EmitMergeInputChains1_0,
3649 OPC_MorphNodeTo2, TARGET_VAL(MSP430::ADD8rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
3650 MVT::i8, MVT::i16, 3, 2, 3, 4,
3651 0,
3652 56,
3653 OPC_RecordChild0,
3654 OPC_RecordChild1,
3655 OPC_Scope, 29,
3656 OPC_MoveChild1,
3657 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3658 OPC_MoveParent,
3659 OPC_SwitchType , 9, MVT::i16,
3660 OPC_EmitConvertToTarget1,
3661 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::ADD16ri),
3662 MVT::i16, MVT::i16, 2, 0, 2,
3663 9, MVT::i8,
3664 OPC_EmitConvertToTarget1,
3665 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::ADD8ri),
3666 MVT::i8, MVT::i16, 2, 0, 2,
3667 0,
3668 10,
3669 OPC_CheckType, MVT::i16,
3670 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::ADD16rr),
3671 MVT::i16, MVT::i16, 2, 0, 1,
3672 10,
3673 OPC_CheckType, MVT::i8,
3674 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::ADD8rr),
3675 MVT::i8, MVT::i16, 2, 0, 1,
3676 0,
3677 0,
3678 103, TARGET_VAL(ISD::SUBC),
3679 OPC_RecordChild0,
3680 OPC_Scope, 43,
3681 OPC_MoveChild1,
3682 OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
3683 OPC_RecordMemRef,
3684 OPC_RecordNode,
3685 OPC_CheckFoldableChainNode,
3686 OPC_RecordChild1,
3687 OPC_CheckPredicate2,
3688 OPC_CheckPredicate3,
3689 OPC_MoveParent,
3690 OPC_SwitchType , 13, MVT::i16,
3691 OPC_CheckComplexPat0, /*#*/2,
3692 OPC_EmitMergeInputChains1_1,
3693 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUB16rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
3694 MVT::i16, MVT::i16, 3, 0, 3, 4,
3695 13, MVT::i8,
3696 OPC_CheckComplexPat0, /*#*/2,
3697 OPC_EmitMergeInputChains1_1,
3698 OPC_MorphNodeTo2, TARGET_VAL(MSP430::SUB8rm), 0|OPFL_Chain|OPFL_GlueOutput|OPFL_MemRefs,
3699 MVT::i8, MVT::i16, 3, 0, 3, 4,
3700 0,
3701 55,
3702 OPC_RecordChild1,
3703 OPC_Scope, 29,
3704 OPC_MoveChild1,
3705 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3706 OPC_MoveParent,
3707 OPC_SwitchType , 9, MVT::i16,
3708 OPC_EmitConvertToTarget1,
3709 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::SUB16ri),
3710 MVT::i16, MVT::i16, 2, 0, 2,
3711 9, MVT::i8,
3712 OPC_EmitConvertToTarget1,
3713 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::SUB8ri),
3714 MVT::i8, MVT::i16, 2, 0, 2,
3715 0,
3716 10,
3717 OPC_CheckType, MVT::i16,
3718 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::SUB16rr),
3719 MVT::i16, MVT::i16, 2, 0, 1,
3720 10,
3721 OPC_CheckType, MVT::i8,
3722 OPC_MorphNodeTo2GlueOutput, TARGET_VAL(MSP430::SUB8rr),
3723 MVT::i8, MVT::i16, 2, 0, 1,
3724 0,
3725 0,
3726 94, TARGET_VAL(ISD::LOAD),
3727 OPC_RecordMemRef,
3728 OPC_RecordNode,
3729 OPC_RecordChild1,
3730 OPC_CheckPredicate2,
3731 OPC_Scope, 53,
3732 OPC_CheckPredicate3,
3733 OPC_SwitchType , 23, MVT::i8,
3734 OPC_CheckComplexPat0, /*#*/1,
3735 OPC_EmitMergeInputChains1_0,
3736 OPC_Scope, 8,
3737 OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOV8rm), 0|OPFL_Chain|OPFL_MemRefs,
3738 MVT::i8, 2, 2, 3,
3739 8,
3740 OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOV8rn), 0|OPFL_Chain|OPFL_MemRefs,
3741 MVT::i8, 2, 2, 3,
3742 0,
3743 23, MVT::i16,
3744 OPC_CheckComplexPat0, /*#*/1,
3745 OPC_EmitMergeInputChains1_0,
3746 OPC_Scope, 8,
3747 OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOV16rm), 0|OPFL_Chain|OPFL_MemRefs,
3748 MVT::i16, 2, 2, 3,
3749 8,
3750 OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOV16rn), 0|OPFL_Chain|OPFL_MemRefs,
3751 MVT::i16, 2, 2, 3,
3752 0,
3753 0,
3754 16,
3755 OPC_CheckPredicate, 9,
3756 OPC_CheckPredicate7,
3757 OPC_CheckType, MVT::i16,
3758 OPC_CheckComplexPat0, /*#*/1,
3759 OPC_EmitMergeInputChains1_0,
3760 OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOVZX16rm8), 0|OPFL_Chain|OPFL_MemRefs,
3761 MVT::i16, 2, 2, 3,
3762 16,
3763 OPC_CheckPredicate, 8,
3764 OPC_CheckPredicate7,
3765 OPC_CheckType, MVT::i16,
3766 OPC_CheckComplexPat0, /*#*/1,
3767 OPC_EmitMergeInputChains1_0,
3768 OPC_MorphNodeTo1, TARGET_VAL(MSP430::MOVZX16rm8), 0|OPFL_Chain|OPFL_MemRefs,
3769 MVT::i16, 2, 2, 3,
3770 0,
3771 21, TARGET_VAL(ISD::CALLSEQ_START),
3772 OPC_RecordNode,
3773 OPC_RecordChild1,
3774 OPC_MoveChild1,
3775 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
3776 OPC_MoveSibling2,
3777 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
3778 OPC_RecordNode,
3779 OPC_MoveParent,
3780 OPC_EmitMergeInputChains1_0,
3781 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
3782 MVT::i16, 2, 1, 2,
3783 22, TARGET_VAL(ISD::CALLSEQ_END),
3784 OPC_RecordNode,
3785 OPC_CaptureGlueInput,
3786 OPC_RecordChild1,
3787 OPC_MoveChild1,
3788 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
3789 OPC_MoveSibling2,
3790 OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
3791 OPC_RecordNode,
3792 OPC_MoveParent,
3793 OPC_EmitMergeInputChains1_0,
3794 OPC_MorphNodeTo1, TARGET_VAL(MSP430::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
3795 MVT::i16, 2, 1, 2,
3796 22, TARGET_VAL(MSP430ISD::BR_CC),
3797 OPC_RecordNode,
3798 OPC_CaptureGlueInput,
3799 OPC_RecordChild1,
3800 OPC_MoveChild1,
3801 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
3802 OPC_MoveSibling2,
3803 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3804 OPC_RecordNode,
3805 OPC_MoveParent,
3806 OPC_EmitMergeInputChains1_0,
3807 OPC_EmitConvertToTarget2,
3808 OPC_MorphNodeTo0, TARGET_VAL(MSP430::JCC), 0|OPFL_Chain|OPFL_GlueInput,
3809 2, 1, 3,
3810 43, TARGET_VAL(ISD::ZERO_EXTEND),
3811 OPC_Scope, 12,
3812 OPC_MoveChild0,
3813 OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
3814 OPC_RecordChild0,
3815 OPC_MoveParent,
3816 OPC_MorphNodeTo1None, TARGET_VAL(MSP430::ZEXT16r),
3817 MVT::i16, 1, 0,
3818 27,
3819 OPC_RecordChild0,
3820 OPC_Scope, 16,
3821 OPC_MoveChild0,
3822 OPC_CheckPredicate, 10,
3823 OPC_MoveParent,
3824 OPC_EmitInteger16, 0,
3825 OPC_EmitStringInteger32, MSP430::subreg_8bit,
3826 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
3827 MVT::i16, 3, 1, 0, 2,
3828 6,
3829 OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOVZX16rr8),
3830 MVT::i16, 1, 0,
3831 0,
3832 0,
3833 40, TARGET_VAL(MSP430ISD::Wrapper),
3834 OPC_RecordChild0,
3835 OPC_MoveChild0,
3836 OPC_SwitchOpcode , 9, TARGET_VAL(ISD::TargetGlobalAddress),
3837 OPC_MoveParent,
3838 OPC_CheckType, MVT::i16,
3839 OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV16ri),
3840 MVT::i16, 1, 0,
3841 9, TARGET_VAL(ISD::TargetExternalSymbol),
3842 OPC_MoveParent,
3843 OPC_CheckType, MVT::i16,
3844 OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV16ri),
3845 MVT::i16, 1, 0,
3846 9, TARGET_VAL(ISD::TargetBlockAddress),
3847 OPC_MoveParent,
3848 OPC_CheckType, MVT::i16,
3849 OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV16ri),
3850 MVT::i16, 1, 0,
3851 0,
3852 33, TARGET_VAL(MSP430ISD::SELECT_CC),
3853 OPC_CaptureGlueInput,
3854 OPC_RecordChild0,
3855 OPC_RecordChild1,
3856 OPC_RecordChild2,
3857 OPC_MoveChild2,
3858 OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
3859 OPC_MoveParent,
3860 OPC_SwitchType , 9, MVT::i8,
3861 OPC_EmitConvertToTarget2,
3862 OPC_MorphNodeTo1GlueInput, TARGET_VAL(MSP430::Select8),
3863 MVT::i8, 3, 0, 1, 3,
3864 9, MVT::i16,
3865 OPC_EmitConvertToTarget2,
3866 OPC_MorphNodeTo1GlueInput, TARGET_VAL(MSP430::Select16),
3867 MVT::i16, 3, 0, 1, 3,
3868 0,
3869 45, TARGET_VAL(ISD::Constant),
3870 OPC_RecordNode,
3871 OPC_SwitchType , 19, MVT::i8,
3872 OPC_Scope, 8,
3873 OPC_CheckPredicate4,
3874 OPC_EmitConvertToTarget0,
3875 OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV8rc),
3876 MVT::i8, 1, 1,
3877 7,
3878 OPC_EmitConvertToTarget0,
3879 OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV8ri),
3880 MVT::i8, 1, 1,
3881 0,
3882 19, MVT::i16,
3883 OPC_Scope, 8,
3884 OPC_CheckPredicate5,
3885 OPC_EmitConvertToTarget0,
3886 OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV16rc),
3887 MVT::i16, 1, 1,
3888 7,
3889 OPC_EmitConvertToTarget0,
3890 OPC_MorphNodeTo1None, TARGET_VAL(MSP430::MOV16ri),
3891 MVT::i16, 1, 1,
3892 0,
3893 0,
3894 8, TARGET_VAL(MSP430ISD::RET_GLUE),
3895 OPC_RecordNode,
3896 OPC_CaptureGlueInput,
3897 OPC_EmitMergeInputChains1_0,
3898 OPC_MorphNodeTo0, TARGET_VAL(MSP430::RET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
3899 0,
3900 8, TARGET_VAL(MSP430ISD::RETI_GLUE),
3901 OPC_RecordNode,
3902 OPC_CaptureGlueInput,
3903 OPC_EmitMergeInputChains1_0,
3904 OPC_MorphNodeTo0, TARGET_VAL(MSP430::RETI), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
3905 0,
3906 13, TARGET_VAL(ISD::BR),
3907 OPC_RecordNode,
3908 OPC_RecordChild1,
3909 OPC_MoveChild1,
3910 OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
3911 OPC_MoveParent,
3912 OPC_EmitMergeInputChains1_0,
3913 OPC_MorphNodeTo0Chain, TARGET_VAL(MSP430::JMP),
3914 1, 1,
3915 23, TARGET_VAL(MSP430ISD::RLA),
3916 OPC_RecordChild0,
3917 OPC_SwitchType , 8, MVT::i8,
3918 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD8rr),
3919 MVT::i8, MVT::i16, 2, 0, 0,
3920 8, MVT::i16,
3921 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::ADD16rr),
3922 MVT::i16, MVT::i16, 2, 0, 0,
3923 0,
3924 21, TARGET_VAL(MSP430ISD::RRA),
3925 OPC_RecordChild0,
3926 OPC_SwitchType , 7, MVT::i8,
3927 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::RRA8r),
3928 MVT::i8, MVT::i16, 1, 0,
3929 7, MVT::i16,
3930 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::RRA16r),
3931 MVT::i16, MVT::i16, 1, 0,
3932 0,
3933 21, TARGET_VAL(MSP430ISD::RRC),
3934 OPC_RecordChild0,
3935 OPC_SwitchType , 7, MVT::i8,
3936 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::RRC8r),
3937 MVT::i8, MVT::i16, 1, 0,
3938 7, MVT::i16,
3939 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::RRC16r),
3940 MVT::i16, MVT::i16, 1, 0,
3941 0,
3942 12, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
3943 OPC_RecordChild0,
3944 OPC_MoveChild1,
3945 OPC_CheckValueType, MVT::i8,
3946 OPC_MoveParent,
3947 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::SEXT16r),
3948 MVT::i16, MVT::i16, 1, 0,
3949 9, TARGET_VAL(ISD::BSWAP),
3950 OPC_RecordChild0,
3951 OPC_CheckType, MVT::i16,
3952 OPC_MorphNodeTo1None, TARGET_VAL(MSP430::SWPB16r),
3953 MVT::i16, 1, 0,
3954 13, TARGET_VAL(ISD::ANY_EXTEND),
3955 OPC_RecordChild0,
3956 OPC_EmitInteger16, 0,
3957 OPC_EmitStringInteger32, MSP430::subreg_8bit,
3958 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
3959 MVT::i16, 3, 1, 0, 2,
3960 10, TARGET_VAL(ISD::TRUNCATE),
3961 OPC_RecordChild0,
3962 OPC_EmitStringInteger32, MSP430::subreg_8bit,
3963 OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
3964 MVT::i8, 2, 0, 1,
3965 26, TARGET_VAL(ISD::SHL),
3966 OPC_RecordChild0,
3967 OPC_RecordChild1,
3968 OPC_CheckChild1Type, MVT::i8,
3969 OPC_SwitchType , 8, MVT::i8,
3970 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Shl8),
3971 MVT::i8, MVT::i16, 2, 0, 1,
3972 8, MVT::i16,
3973 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Shl16),
3974 MVT::i16, MVT::i16, 2, 0, 1,
3975 0,
3976 26, TARGET_VAL(ISD::SRA),
3977 OPC_RecordChild0,
3978 OPC_RecordChild1,
3979 OPC_CheckChild1Type, MVT::i8,
3980 OPC_SwitchType , 8, MVT::i8,
3981 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Sra8),
3982 MVT::i8, MVT::i16, 2, 0, 1,
3983 8, MVT::i16,
3984 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Sra16),
3985 MVT::i16, MVT::i16, 2, 0, 1,
3986 0,
3987 26, TARGET_VAL(ISD::SRL),
3988 OPC_RecordChild0,
3989 OPC_RecordChild1,
3990 OPC_CheckChild1Type, MVT::i8,
3991 OPC_SwitchType , 8, MVT::i8,
3992 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Srl8),
3993 MVT::i8, MVT::i16, 2, 0, 1,
3994 8, MVT::i16,
3995 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Srl16),
3996 MVT::i16, MVT::i16, 2, 0, 1,
3997 0,
3998 21, TARGET_VAL(MSP430ISD::RRCL),
3999 OPC_RecordChild0,
4000 OPC_SwitchType , 7, MVT::i8,
4001 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Rrcl8),
4002 MVT::i8, MVT::i16, 1, 0,
4003 7, MVT::i16,
4004 OPC_MorphNodeTo2None, TARGET_VAL(MSP430::Rrcl16),
4005 MVT::i16, MVT::i16, 1, 0,
4006 0,
4007 0,
4008 0
4009 }; // Total Array size is 8069 bytes
4010
4011 #undef TARGET_VAL
4012 SelectCodeCommon(NodeToMatch: N, MatcherTable, TableSize: sizeof(MatcherTable));
4013}
4014#endif // GET_DAGISEL_BODY
4015
4016#ifdef GET_DAGISEL_DECL
4017bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
4018#endif
4019#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
4020bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
4021#if DAGISEL_INLINE
4022 override
4023#endif
4024{
4025 switch (PredNo) {
4026 default: llvm_unreachable("Invalid predicate in table?");
4027 case 0: {
4028 // Predicate_unindexedstore
4029 SDNode *N = Node;
4030 (void)N;
4031if (cast<StoreSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
4032return true;
4033
4034 }
4035 case 1: {
4036 // Predicate_store
4037 SDNode *N = Node;
4038 (void)N;
4039 if (cast<StoreSDNode>(Val: N)->isTruncatingStore()) return false;
4040return true;
4041
4042 }
4043 case 2: {
4044 // Predicate_unindexedload
4045 SDNode *N = Node;
4046 (void)N;
4047if (cast<LoadSDNode>(Val: N)->getAddressingMode() != ISD::UNINDEXED) return false;
4048return true;
4049
4050 }
4051 case 3: {
4052 // Predicate_load
4053 SDNode *N = Node;
4054 (void)N;
4055if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
4056return true;
4057
4058 }
4059 case 4: {
4060 // Predicate_cg8imm
4061 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
4062return Imm == 0 || Imm == 1 || Imm == 2 ||
4063 Imm == 4 || Imm == 8 || Imm == -1;
4064 }
4065 case 5: {
4066 // Predicate_cg16imm
4067 int64_t Imm = cast<ConstantSDNode>(Val: Node)->getSExtValue();
4068return Imm == 0 || Imm == 1 || Imm == 2 ||
4069 Imm == 4 || Imm == 8 || Imm == -1;
4070 }
4071 case 6: {
4072 // Predicate_and_su
4073 SDNode *N = Node;
4074 (void)N;
4075
4076 return N->hasOneUse();
4077
4078 }
4079 case 7: {
4080 // Predicate_extloadi8
4081 // Predicate_zextloadi8
4082 SDNode *N = Node;
4083 (void)N;
4084if (cast<MemSDNode>(Val: N)->getMemoryVT() != MVT::i8) return false;
4085return true;
4086
4087 }
4088 case 8: {
4089 // Predicate_extload
4090 SDNode *N = Node;
4091 (void)N;
4092if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::EXTLOAD) return false;
4093return true;
4094
4095 }
4096 case 9: {
4097 // Predicate_zextload
4098 SDNode *N = Node;
4099 (void)N;
4100if (cast<LoadSDNode>(Val: N)->getExtensionType() != ISD::ZEXTLOAD) return false;
4101return true;
4102
4103 }
4104 case 10: {
4105 // Predicate_def8
4106 SDNode *N = Node;
4107 (void)N;
4108
4109 return N->getOpcode() != ISD::TRUNCATE &&
4110 N->getOpcode() != TargetOpcode::EXTRACT_SUBREG &&
4111 N->getOpcode() != ISD::CopyFromReg;
4112
4113 }
4114 }
4115}
4116#endif // GET_DAGISEL_BODY
4117
4118#ifdef GET_DAGISEL_DECL
4119bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
4120 SDValue N, unsigned PatternNo,
4121 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
4122#endif
4123#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
4124bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
4125 SDValue N, unsigned PatternNo,
4126 SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
4127#if DAGISEL_INLINE
4128 override
4129#endif
4130{
4131 unsigned NextRes = Result.size();
4132 switch (PatternNo) {
4133 default: llvm_unreachable("Invalid pattern # in table?");
4134 case 0:
4135 Result.resize(N: NextRes+2);
4136 return SelectAddr(Addr: N, Base&: Result[NextRes+0].first, Disp&: Result[NextRes+1].first);
4137 }
4138}
4139#endif // GET_DAGISEL_BODY
4140
4141
4142#ifdef DAGISEL_INLINE
4143#undef DAGISEL_INLINE
4144#endif
4145#ifdef DAGISEL_CLASS_COLONCOLON
4146#undef DAGISEL_CLASS_COLONCOLON
4147#endif
4148#ifdef GET_DAGISEL_DECL
4149#undef GET_DAGISEL_DECL
4150#endif
4151#ifdef GET_DAGISEL_BODY
4152#undef GET_DAGISEL_BODY
4153#endif
4154