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