Coverage Report

Created: 2018-09-19 20:53

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/clang-build/lib/Target/Lanai/LanaiGenDAGISel.inc
Line
Count
Source (jump to first uncovered line)
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|* DAG Instruction Selector for the Lanai target                              *|
4
|*                                                                            *|
5
|* Automatically generated file, do not edit!                                 *|
6
|*                                                                            *|
7
\*===----------------------------------------------------------------------===*/
8
9
// *** NOTE: This file is #included into the middle of the target
10
// *** instruction selector class.  These functions are really methods.
11
12
// If GET_DAGISEL_DECL is #defined with any value, only function
13
// declarations will be included when this file is included.
14
// If GET_DAGISEL_BODY is #defined, its value should be the name of
15
// the instruction selector class. Function bodies will be emitted
16
// and each function's name will be qualified with the name of the
17
// class.
18
//
19
// When neither of the GET_DAGISEL* macros is defined, the functions
20
// are emitted inline.
21
22
#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
23
#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
24
#endif
25
26
#ifdef GET_DAGISEL_BODY
27
#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
28
#define LOCAL_DAGISEL_STRINGIZE_(X) #X
29
static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
30
   "GET_DAGISEL_BODY is empty: it should be defined with the class name");
31
#undef LOCAL_DAGISEL_STRINGIZE_
32
#undef LOCAL_DAGISEL_STRINGIZE
33
#endif
34
35
#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
36
#define DAGISEL_INLINE 1
37
#else
38
#define DAGISEL_INLINE 0
39
#endif
40
41
#if !DAGISEL_INLINE
42
#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
43
#else
44
#define DAGISEL_CLASS_COLONCOLON
45
#endif
46
47
#ifdef GET_DAGISEL_DECL
48
void SelectCode(SDNode *N);
49
#endif
50
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
51
void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
52
0
{
53
0
  // Some target values are emitted as 2 bytes, TARGET_VAL handles
54
0
  // this.
55
0
  #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56
0
  static const unsigned char MatcherTable[] = {
57
0
/*     0*/  OPC_SwitchOpcode /*34 cases */, 1|128,2/*257*/, TARGET_VAL(ISD::LOAD),// ->262
58
0
/*     5*/    OPC_RecordMemRef,
59
0
/*     6*/    OPC_RecordNode, // #0 = 'ld' chained node
60
0
/*     7*/    OPC_RecordChild1, // #1 = $src
61
0
/*     8*/    OPC_CheckChild1Type, MVT::i32,
62
0
/*    10*/    OPC_CheckPredicate, 0, // Predicate_unindexedload
63
0
/*    12*/    OPC_CheckType, MVT::i32,
64
0
/*    14*/    OPC_Scope, 32, /*->48*/ // 9 children in Scope
65
0
/*    16*/      OPC_CheckPredicate, 1, // Predicate_load
66
0
/*    18*/      OPC_Scope, 13, /*->33*/ // 2 children in Scope
67
0
/*    20*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // selectAddrRi:$src #2 #3 #4
68
0
/*    23*/        OPC_EmitMergeInputChains1_0,
69
0
/*    24*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDW_RI), 0|OPFL_Chain|OPFL_MemRefs,
70
0
                      MVT::i32, 3/*#Ops*/, 2, 3, 4, 
71
0
                  // Src: (ld:{ *:[i32] } ADDRri:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 16
72
0
                  // Dst: (LDW_RI:{ *:[i32] } ADDRri:{ *:[i32] }:$src)
73
0
/*    33*/      /*Scope*/ 13, /*->47*/
74
0
/*    34*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectAddrRr:$src #2 #3 #4
75
0
/*    37*/        OPC_EmitMergeInputChains1_0,
76
0
/*    38*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDW_RR), 0|OPFL_Chain|OPFL_MemRefs,
77
0
                      MVT::i32, 3/*#Ops*/, 2, 3, 4, 
78
0
                  // Src: (ld:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 16
79
0
                  // Dst: (LDW_RR:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)
80
0
/*    47*/      0, /*End of Scope*/
81
0
/*    48*/    /*Scope*/ 52, /*->101*/
82
0
/*    49*/      OPC_CheckPredicate, 2, // Predicate_zextload
83
0
/*    51*/      OPC_Scope, 15, /*->68*/ // 3 children in Scope
84
0
/*    53*/        OPC_CheckPredicate, 3, // Predicate_zextloadi32
85
0
/*    55*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectAddrRr:$src #2 #3 #4
86
0
/*    58*/        OPC_EmitMergeInputChains1_0,
87
0
/*    59*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDWz_RR), 0|OPFL_Chain|OPFL_MemRefs,
88
0
                      MVT::i32, 3/*#Ops*/, 2, 3, 4, 
89
0
                  // Src: (ld:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 16
90
0
                  // Dst: (LDWz_RR:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)
91
0
/*    68*/      /*Scope*/ 15, /*->84*/
92
0
/*    69*/        OPC_CheckPredicate, 4, // Predicate_zextloadi16
93
0
/*    71*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectAddrRr:$src #2 #3 #4
94
0
/*    74*/        OPC_EmitMergeInputChains1_0,
95
0
/*    75*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDHz_RR), 0|OPFL_Chain|OPFL_MemRefs,
96
0
                      MVT::i32, 3/*#Ops*/, 2, 3, 4, 
97
0
                  // Src: (ld:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 16
98
0
                  // Dst: (LDHz_RR:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)
99
0
/*    84*/      /*Scope*/ 15, /*->100*/
100
0
/*    85*/        OPC_CheckPredicate, 5, // Predicate_zextloadi8
101
0
/*    87*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectAddrRr:$src #2 #3 #4
102
0
/*    90*/        OPC_EmitMergeInputChains1_0,
103
0
/*    91*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDBz_RR), 0|OPFL_Chain|OPFL_MemRefs,
104
0
                      MVT::i32, 3/*#Ops*/, 2, 3, 4, 
105
0
                  // Src: (ld:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 16
106
0
                  // Dst: (LDBz_RR:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)
107
0
/*   100*/      0, /*End of Scope*/
108
0
/*   101*/    /*Scope*/ 36, /*->138*/
109
0
/*   102*/      OPC_CheckPredicate, 6, // Predicate_sextload
110
0
/*   104*/      OPC_Scope, 15, /*->121*/ // 2 children in Scope
111
0
/*   106*/        OPC_CheckPredicate, 4, // Predicate_sextloadi16
112
0
/*   108*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectAddrRr:$src #2 #3 #4
113
0
/*   111*/        OPC_EmitMergeInputChains1_0,
114
0
/*   112*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDHs_RR), 0|OPFL_Chain|OPFL_MemRefs,
115
0
                      MVT::i32, 3/*#Ops*/, 2, 3, 4, 
116
0
                  // Src: (ld:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 16
117
0
                  // Dst: (LDHs_RR:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)
118
0
/*   121*/      /*Scope*/ 15, /*->137*/
119
0
/*   122*/        OPC_CheckPredicate, 5, // Predicate_sextloadi8
120
0
/*   124*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectAddrRr:$src #2 #3 #4
121
0
/*   127*/        OPC_EmitMergeInputChains1_0,
122
0
/*   128*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDBs_RR), 0|OPFL_Chain|OPFL_MemRefs,
123
0
                      MVT::i32, 3/*#Ops*/, 2, 3, 4, 
124
0
                  // Src: (ld:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 16
125
0
                  // Dst: (LDBs_RR:{ *:[i32] } ADDRrr:{ *:[i32] }:$src)
126
0
/*   137*/      0, /*End of Scope*/
127
0
/*   138*/    /*Scope*/ 17, /*->156*/
128
0
/*   139*/      OPC_CheckPredicate, 2, // Predicate_zextload
129
0
/*   141*/      OPC_CheckPredicate, 4, // Predicate_zextloadi16
130
0
/*   143*/      OPC_CheckComplexPat, /*CP*/2, /*#*/1, // selectAddrSpls:$src #2 #3 #4
131
0
/*   146*/      OPC_EmitMergeInputChains1_0,
132
0
/*   147*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDHz_RI), 0|OPFL_Chain|OPFL_MemRefs,
133
0
                    MVT::i32, 3/*#Ops*/, 2, 3, 4, 
134
0
                // Src: (ld:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 16
135
0
                // Dst: (LDHz_RI:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)
136
0
/*   156*/    /*Scope*/ 17, /*->174*/
137
0
/*   157*/      OPC_CheckPredicate, 6, // Predicate_sextload
138
0
/*   159*/      OPC_CheckPredicate, 4, // Predicate_sextloadi16
139
0
/*   161*/      OPC_CheckComplexPat, /*CP*/2, /*#*/1, // selectAddrSpls:$src #2 #3 #4
140
0
/*   164*/      OPC_EmitMergeInputChains1_0,
141
0
/*   165*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDHs_RI), 0|OPFL_Chain|OPFL_MemRefs,
142
0
                    MVT::i32, 3/*#Ops*/, 2, 3, 4, 
143
0
                // Src: (ld:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 16
144
0
                // Dst: (LDHs_RI:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)
145
0
/*   174*/    /*Scope*/ 17, /*->192*/
146
0
/*   175*/      OPC_CheckPredicate, 2, // Predicate_zextload
147
0
/*   177*/      OPC_CheckPredicate, 5, // Predicate_zextloadi8
148
0
/*   179*/      OPC_CheckComplexPat, /*CP*/2, /*#*/1, // selectAddrSpls:$src #2 #3 #4
149
0
/*   182*/      OPC_EmitMergeInputChains1_0,
150
0
/*   183*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDBz_RI), 0|OPFL_Chain|OPFL_MemRefs,
151
0
                    MVT::i32, 3/*#Ops*/, 2, 3, 4, 
152
0
                // Src: (ld:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 16
153
0
                // Dst: (LDBz_RI:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)
154
0
/*   192*/    /*Scope*/ 17, /*->210*/
155
0
/*   193*/      OPC_CheckPredicate, 6, // Predicate_sextload
156
0
/*   195*/      OPC_CheckPredicate, 5, // Predicate_sextloadi8
157
0
/*   197*/      OPC_CheckComplexPat, /*CP*/2, /*#*/1, // selectAddrSpls:$src #2 #3 #4
158
0
/*   200*/      OPC_EmitMergeInputChains1_0,
159
0
/*   201*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDBs_RI), 0|OPFL_Chain|OPFL_MemRefs,
160
0
                    MVT::i32, 3/*#Ops*/, 2, 3, 4, 
161
0
                // Src: (ld:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 16
162
0
                // Dst: (LDBs_RI:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)
163
0
/*   210*/    /*Scope*/ 36, /*->247*/
164
0
/*   211*/      OPC_CheckPredicate, 7, // Predicate_extload
165
0
/*   213*/      OPC_Scope, 15, /*->230*/ // 2 children in Scope
166
0
/*   215*/        OPC_CheckPredicate, 5, // Predicate_extloadi8
167
0
/*   217*/        OPC_CheckComplexPat, /*CP*/2, /*#*/1, // selectAddrSpls:$src #2 #3 #4
168
0
/*   220*/        OPC_EmitMergeInputChains1_0,
169
0
/*   221*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDBz_RI), 0|OPFL_Chain|OPFL_MemRefs,
170
0
                      MVT::i32, 3/*#Ops*/, 2, 3, 4, 
171
0
                  // Src: (ld:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 16
172
0
                  // Dst: (LDBz_RI:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)
173
0
/*   230*/      /*Scope*/ 15, /*->246*/
174
0
/*   231*/        OPC_CheckPredicate, 4, // Predicate_extloadi16
175
0
/*   233*/        OPC_CheckComplexPat, /*CP*/2, /*#*/1, // selectAddrSpls:$src #2 #3 #4
176
0
/*   236*/        OPC_EmitMergeInputChains1_0,
177
0
/*   237*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDHz_RI), 0|OPFL_Chain|OPFL_MemRefs,
178
0
                      MVT::i32, 3/*#Ops*/, 2, 3, 4, 
179
0
                  // Src: (ld:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 16
180
0
                  // Dst: (LDHz_RI:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)
181
0
/*   246*/      0, /*End of Scope*/
182
0
/*   247*/    /*Scope*/ 13, /*->261*/
183
0
/*   248*/      OPC_CheckPredicate, 1, // Predicate_load
184
0
/*   250*/      OPC_CheckComplexPat, /*CP*/3, /*#*/1, // selectAddrSls:$src #2
185
0
/*   253*/      OPC_EmitMergeInputChains1_0,
186
0
/*   254*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDADDR), 0|OPFL_Chain|OPFL_MemRefs,
187
0
                    MVT::i32, 1/*#Ops*/, 2, 
188
0
                // Src: (ld:{ *:[i32] } ADDRsls:{ *:[i32] }:$src)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
189
0
                // Dst: (LDADDR:{ *:[i32] } ADDRsls:{ *:[i32] }:$src)
190
0
/*   261*/    0, /*End of Scope*/
191
0
/*   262*/  /*SwitchOpcode*/ 0|128,1/*128*/, TARGET_VAL(ISD::STORE),// ->394
192
0
/*   266*/    OPC_RecordMemRef,
193
0
/*   267*/    OPC_RecordNode, // #0 = 'st' chained node
194
0
/*   268*/    OPC_RecordChild1, // #1 = $Rd
195
0
/*   269*/    OPC_CheckChild1Type, MVT::i32,
196
0
/*   271*/    OPC_RecordChild2, // #2 = $dst
197
0
/*   272*/    OPC_CheckChild2Type, MVT::i32,
198
0
/*   274*/    OPC_CheckPredicate, 8, // Predicate_unindexedstore
199
0
/*   276*/    OPC_Scope, 32, /*->310*/ // 3 children in Scope
200
0
/*   278*/      OPC_CheckPredicate, 9, // Predicate_store
201
0
/*   280*/      OPC_Scope, 13, /*->295*/ // 2 children in Scope
202
0
/*   282*/        OPC_CheckComplexPat, /*CP*/1, /*#*/2, // selectAddrRr:$dst #3 #4 #5
203
0
/*   285*/        OPC_EmitMergeInputChains1_0,
204
0
/*   286*/        OPC_MorphNodeTo0, TARGET_VAL(Lanai::SW_RR), 0|OPFL_Chain|OPFL_MemRefs,
205
0
                      4/*#Ops*/, 1, 3, 4, 5, 
206
0
                  // Src: (st GPR:{ *:[i32] }:$Rd, ADDRrr:{ *:[i32] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 16
207
0
                  // Dst: (SW_RR GPR:{ *:[i32] }:$Rd, ADDRrr:{ *:[i32] }:$dst)
208
0
/*   295*/      /*Scope*/ 13, /*->309*/
209
0
/*   296*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddrRi:$dst #3 #4 #5
210
0
/*   299*/        OPC_EmitMergeInputChains1_0,
211
0
/*   300*/        OPC_MorphNodeTo0, TARGET_VAL(Lanai::SW_RI), 0|OPFL_Chain|OPFL_MemRefs,
212
0
                      4/*#Ops*/, 1, 3, 4, 5, 
213
0
                  // Src: (st GPR:{ *:[i32] }:$Rd, ADDRri:{ *:[i32] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 16
214
0
                  // Dst: (SW_RI GPR:{ *:[i32] }:$Rd, ADDRri:{ *:[i32] }:$dst)
215
0
/*   309*/      0, /*End of Scope*/
216
0
/*   310*/    /*Scope*/ 68, /*->379*/
217
0
/*   311*/      OPC_CheckPredicate, 10, // Predicate_truncstore
218
0
/*   313*/      OPC_Scope, 15, /*->330*/ // 4 children in Scope
219
0
/*   315*/        OPC_CheckPredicate, 11, // Predicate_truncstorei16
220
0
/*   317*/        OPC_CheckComplexPat, /*CP*/1, /*#*/2, // selectAddrRr:$dst #3 #4 #5
221
0
/*   320*/        OPC_EmitMergeInputChains1_0,
222
0
/*   321*/        OPC_MorphNodeTo0, TARGET_VAL(Lanai::STH_RR), 0|OPFL_Chain|OPFL_MemRefs,
223
0
                      4/*#Ops*/, 1, 3, 4, 5, 
224
0
                  // Src: (st GPR:{ *:[i32] }:$Rd, ADDRrr:{ *:[i32] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 16
225
0
                  // Dst: (STH_RR GPR:{ *:[i32] }:$Rd, ADDRrr:{ *:[i32] }:$dst)
226
0
/*   330*/      /*Scope*/ 15, /*->346*/
227
0
/*   331*/        OPC_CheckPredicate, 12, // Predicate_truncstorei8
228
0
/*   333*/        OPC_CheckComplexPat, /*CP*/1, /*#*/2, // selectAddrRr:$dst #3 #4 #5
229
0
/*   336*/        OPC_EmitMergeInputChains1_0,
230
0
/*   337*/        OPC_MorphNodeTo0, TARGET_VAL(Lanai::STB_RR), 0|OPFL_Chain|OPFL_MemRefs,
231
0
                      4/*#Ops*/, 1, 3, 4, 5, 
232
0
                  // Src: (st GPR:{ *:[i32] }:$Rd, ADDRrr:{ *:[i32] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 16
233
0
                  // Dst: (STB_RR GPR:{ *:[i32] }:$Rd, ADDRrr:{ *:[i32] }:$dst)
234
0
/*   346*/      /*Scope*/ 15, /*->362*/
235
0
/*   347*/        OPC_CheckPredicate, 11, // Predicate_truncstorei16
236
0
/*   349*/        OPC_CheckComplexPat, /*CP*/2, /*#*/2, // selectAddrSpls:$dst #3 #4 #5
237
0
/*   352*/        OPC_EmitMergeInputChains1_0,
238
0
/*   353*/        OPC_MorphNodeTo0, TARGET_VAL(Lanai::STH_RI), 0|OPFL_Chain|OPFL_MemRefs,
239
0
                      4/*#Ops*/, 1, 3, 4, 5, 
240
0
                  // Src: (st GPR:{ *:[i32] }:$Rd, ADDRspls:{ *:[i32] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 16
241
0
                  // Dst: (STH_RI GPR:{ *:[i32] }:$Rd, ADDRspls:{ *:[i32] }:$dst)
242
0
/*   362*/      /*Scope*/ 15, /*->378*/
243
0
/*   363*/        OPC_CheckPredicate, 12, // Predicate_truncstorei8
244
0
/*   365*/        OPC_CheckComplexPat, /*CP*/2, /*#*/2, // selectAddrSpls:$dst #3 #4 #5
245
0
/*   368*/        OPC_EmitMergeInputChains1_0,
246
0
/*   369*/        OPC_MorphNodeTo0, TARGET_VAL(Lanai::STB_RI), 0|OPFL_Chain|OPFL_MemRefs,
247
0
                      4/*#Ops*/, 1, 3, 4, 5, 
248
0
                  // Src: (st GPR:{ *:[i32] }:$Rd, ADDRspls:{ *:[i32] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 16
249
0
                  // Dst: (STB_RI GPR:{ *:[i32] }:$Rd, ADDRspls:{ *:[i32] }:$dst)
250
0
/*   378*/      0, /*End of Scope*/
251
0
/*   379*/    /*Scope*/ 13, /*->393*/
252
0
/*   380*/      OPC_CheckPredicate, 9, // Predicate_store
253
0
/*   382*/      OPC_CheckComplexPat, /*CP*/3, /*#*/2, // selectAddrSls:$dst #3
254
0
/*   385*/      OPC_EmitMergeInputChains1_0,
255
0
/*   386*/      OPC_MorphNodeTo0, TARGET_VAL(Lanai::STADDR), 0|OPFL_Chain|OPFL_MemRefs,
256
0
                    2/*#Ops*/, 1, 3, 
257
0
                // Src: (st GPR:{ *:[i32] }:$Rd, ADDRsls:{ *:[i32] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
258
0
                // Dst: (STADDR GPR:{ *:[i32] }:$Rd, ADDRsls:{ *:[i32] }:$dst)
259
0
/*   393*/    0, /*End of Scope*/
260
0
/*   394*/  /*SwitchOpcode*/ 20, TARGET_VAL(ISD::ATOMIC_LOAD),// ->417
261
0
/*   397*/    OPC_RecordMemRef,
262
0
/*   398*/    OPC_RecordNode, // #0 = 'atomic_load' chained node
263
0
/*   399*/    OPC_RecordChild1, // #1 = $src
264
0
/*   400*/    OPC_CheckChild1Type, MVT::i32,
265
0
/*   402*/    OPC_CheckPredicate, 13, // Predicate_atomic_load_8
266
0
/*   404*/    OPC_CheckComplexPat, /*CP*/2, /*#*/1, // selectAddrSpls:$src #2 #3 #4
267
0
/*   407*/    OPC_EmitMergeInputChains1_0,
268
0
/*   408*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::LDBz_RI), 0|OPFL_Chain|OPFL_MemRefs,
269
0
                  MVT::i32, 3/*#Ops*/, 2, 3, 4, 
270
0
              // Src: (atomic_load:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)<<P:Predicate_atomic_load_8>> - Complexity = 16
271
0
              // Dst: (LDBz_RI:{ *:[i32] } ADDRspls:{ *:[i32] }:$src)
272
0
/*   417*/  /*SwitchOpcode*/ 22, TARGET_VAL(ISD::CALLSEQ_START),// ->442
273
0
/*   420*/    OPC_RecordNode, // #0 = 'CallSeqStart' chained node
274
0
/*   421*/    OPC_RecordChild1, // #1 = $amt1
275
0
/*   422*/    OPC_MoveChild1,
276
0
/*   423*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
277
0
/*   426*/    OPC_MoveParent,
278
0
/*   427*/    OPC_RecordChild2, // #2 = $amt2
279
0
/*   428*/    OPC_MoveChild2,
280
0
/*   429*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
281
0
/*   432*/    OPC_MoveParent,
282
0
/*   433*/    OPC_EmitMergeInputChains1_0,
283
0
/*   434*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
284
0
                  MVT::i32, 2/*#Ops*/, 1, 2, 
285
0
              // Src: (CallSeqStart (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2) - Complexity = 9
286
0
              // Dst: (ADJCALLSTACKDOWN:{ *:[i32] } (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2)
287
0
/*   442*/  /*SwitchOpcode*/ 23, TARGET_VAL(ISD::CALLSEQ_END),// ->468
288
0
/*   445*/    OPC_RecordNode, // #0 = 'CallSeqEnd' chained node
289
0
/*   446*/    OPC_CaptureGlueInput,
290
0
/*   447*/    OPC_RecordChild1, // #1 = $amt1
291
0
/*   448*/    OPC_MoveChild1,
292
0
/*   449*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
293
0
/*   452*/    OPC_MoveParent,
294
0
/*   453*/    OPC_RecordChild2, // #2 = $amt2
295
0
/*   454*/    OPC_MoveChild2,
296
0
/*   455*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
297
0
/*   458*/    OPC_MoveParent,
298
0
/*   459*/    OPC_EmitMergeInputChains1_0,
299
0
/*   460*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
300
0
                  MVT::i32, 2/*#Ops*/, 1, 2, 
301
0
              // Src: (CallSeqEnd (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2) - Complexity = 9
302
0
              // Dst: (ADJCALLSTACKUP:{ *:[i32] } (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2)
303
0
/*   468*/  /*SwitchOpcode*/ 124|128,2/*380*/, TARGET_VAL(ISD::OR),// ->852
304
0
/*   472*/    OPC_Scope, 50|128,1/*178*/, /*->653*/ // 3 children in Scope
305
0
/*   475*/      OPC_RecordChild0, // #0 = $hi
306
0
/*   476*/      OPC_MoveChild1,
307
0
/*   477*/      OPC_SwitchOpcode /*2 cases */, 79, TARGET_VAL(LanaiISD::LO),// ->560
308
0
/*   481*/        OPC_RecordChild0, // #1 = $lo
309
0
/*   482*/        OPC_MoveChild0,
310
0
/*   483*/        OPC_SwitchOpcode /*5 cases */, 12, TARGET_VAL(ISD::TargetGlobalAddress),// ->499
311
0
/*   487*/          OPC_MoveParent,
312
0
/*   488*/          OPC_MoveParent,
313
0
/*   489*/          OPC_CheckType, MVT::i32,
314
0
/*   491*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
315
0
                        MVT::i32, 2/*#Ops*/, 0, 1, 
316
0
                    // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$hi, (LanaiLo:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$lo)) - Complexity = 9
317
0
                    // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tglobaladdr:{ *:[i32] }):$lo)
318
0
/*   499*/        /*SwitchOpcode*/ 12, TARGET_VAL(ISD::TargetExternalSymbol),// ->514
319
0
/*   502*/          OPC_MoveParent,
320
0
/*   503*/          OPC_MoveParent,
321
0
/*   504*/          OPC_CheckType, MVT::i32,
322
0
/*   506*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
323
0
                        MVT::i32, 2/*#Ops*/, 0, 1, 
324
0
                    // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$hi, (LanaiLo:{ *:[i32] } (texternalsym:{ *:[i32] }):$lo)) - Complexity = 9
325
0
                    // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (texternalsym:{ *:[i32] }):$lo)
326
0
/*   514*/        /*SwitchOpcode*/ 12, TARGET_VAL(ISD::TargetBlockAddress),// ->529
327
0
/*   517*/          OPC_MoveParent,
328
0
/*   518*/          OPC_MoveParent,
329
0
/*   519*/          OPC_CheckType, MVT::i32,
330
0
/*   521*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
331
0
                        MVT::i32, 2/*#Ops*/, 0, 1, 
332
0
                    // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$hi, (LanaiLo:{ *:[i32] } (tblockaddress:{ *:[i32] }):$lo)) - Complexity = 9
333
0
                    // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tblockaddress:{ *:[i32] }):$lo)
334
0
/*   529*/        /*SwitchOpcode*/ 12, TARGET_VAL(ISD::TargetJumpTable),// ->544
335
0
/*   532*/          OPC_MoveParent,
336
0
/*   533*/          OPC_MoveParent,
337
0
/*   534*/          OPC_CheckType, MVT::i32,
338
0
/*   536*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
339
0
                        MVT::i32, 2/*#Ops*/, 0, 1, 
340
0
                    // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$hi, (LanaiLo:{ *:[i32] } (tjumptable:{ *:[i32] }):$lo)) - Complexity = 9
341
0
                    // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tjumptable:{ *:[i32] }):$lo)
342
0
/*   544*/        /*SwitchOpcode*/ 12, TARGET_VAL(ISD::TargetConstantPool),// ->559
343
0
/*   547*/          OPC_MoveParent,
344
0
/*   548*/          OPC_MoveParent,
345
0
/*   549*/          OPC_CheckType, MVT::i32,
346
0
/*   551*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
347
0
                        MVT::i32, 2/*#Ops*/, 0, 1, 
348
0
                    // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$hi, (LanaiLo:{ *:[i32] } (tconstpool:{ *:[i32] }):$lo)) - Complexity = 9
349
0
                    // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tconstpool:{ *:[i32] }):$lo)
350
0
/*   559*/        0, // EndSwitchOpcode
351
0
/*   560*/      /*SwitchOpcode*/ 89, TARGET_VAL(LanaiISD::SMALL),// ->652
352
0
/*   563*/        OPC_RecordChild0, // #1 = $small
353
0
/*   564*/        OPC_MoveChild0,
354
0
/*   565*/        OPC_SwitchOpcode /*5 cases */, 14, TARGET_VAL(ISD::TargetGlobalAddress),// ->583
355
0
/*   569*/          OPC_MoveParent,
356
0
/*   570*/          OPC_MoveParent,
357
0
/*   571*/          OPC_CheckType, MVT::i32,
358
0
/*   573*/          OPC_EmitCopyToReg, 0, Lanai::R0,
359
0
/*   576*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0|OPFL_GlueInput,
360
0
                        MVT::i32, 1/*#Ops*/, 1, 
361
0
                    // Src: (or:{ *:[i32] } R0:{ *:[i32] }, (LanaiSmall:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$small)) - Complexity = 9
362
0
                    // Dst: (SLI:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$small)
363
0
/*   583*/        /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetExternalSymbol),// ->600
364
0
/*   586*/          OPC_MoveParent,
365
0
/*   587*/          OPC_MoveParent,
366
0
/*   588*/          OPC_CheckType, MVT::i32,
367
0
/*   590*/          OPC_EmitCopyToReg, 0, Lanai::R0,
368
0
/*   593*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0|OPFL_GlueInput,
369
0
                        MVT::i32, 1/*#Ops*/, 1, 
370
0
                    // Src: (or:{ *:[i32] } R0:{ *:[i32] }, (LanaiSmall:{ *:[i32] } (texternalsym:{ *:[i32] }):$small)) - Complexity = 9
371
0
                    // Dst: (SLI:{ *:[i32] } (texternalsym:{ *:[i32] }):$small)
372
0
/*   600*/        /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetBlockAddress),// ->617
373
0
/*   603*/          OPC_MoveParent,
374
0
/*   604*/          OPC_MoveParent,
375
0
/*   605*/          OPC_CheckType, MVT::i32,
376
0
/*   607*/          OPC_EmitCopyToReg, 0, Lanai::R0,
377
0
/*   610*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0|OPFL_GlueInput,
378
0
                        MVT::i32, 1/*#Ops*/, 1, 
379
0
                    // Src: (or:{ *:[i32] } R0:{ *:[i32] }, (LanaiSmall:{ *:[i32] } (tblockaddress:{ *:[i32] }):$small)) - Complexity = 9
380
0
                    // Dst: (SLI:{ *:[i32] } (tblockaddress:{ *:[i32] }):$small)
381
0
/*   617*/        /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetJumpTable),// ->634
382
0
/*   620*/          OPC_MoveParent,
383
0
/*   621*/          OPC_MoveParent,
384
0
/*   622*/          OPC_CheckType, MVT::i32,
385
0
/*   624*/          OPC_EmitCopyToReg, 0, Lanai::R0,
386
0
/*   627*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0|OPFL_GlueInput,
387
0
                        MVT::i32, 1/*#Ops*/, 1, 
388
0
                    // Src: (or:{ *:[i32] } R0:{ *:[i32] }, (LanaiSmall:{ *:[i32] } (tjumptable:{ *:[i32] }):$small)) - Complexity = 9
389
0
                    // Dst: (SLI:{ *:[i32] } (tjumptable:{ *:[i32] }):$small)
390
0
/*   634*/        /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetConstantPool),// ->651
391
0
/*   637*/          OPC_MoveParent,
392
0
/*   638*/          OPC_MoveParent,
393
0
/*   639*/          OPC_CheckType, MVT::i32,
394
0
/*   641*/          OPC_EmitCopyToReg, 0, Lanai::R0,
395
0
/*   644*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0|OPFL_GlueInput,
396
0
                        MVT::i32, 1/*#Ops*/, 1, 
397
0
                    // Src: (or:{ *:[i32] } R0:{ *:[i32] }, (LanaiSmall:{ *:[i32] } (tconstpool:{ *:[i32] }):$small)) - Complexity = 9
398
0
                    // Dst: (SLI:{ *:[i32] } (tconstpool:{ *:[i32] }):$small)
399
0
/*   651*/        0, // EndSwitchOpcode
400
0
/*   652*/      0, // EndSwitchOpcode
401
0
/*   653*/    /*Scope*/ 88, /*->742*/
402
0
/*   654*/      OPC_MoveChild0,
403
0
/*   655*/      OPC_CheckOpcode, TARGET_VAL(LanaiISD::LO),
404
0
/*   658*/      OPC_RecordChild0, // #0 = $lo
405
0
/*   659*/      OPC_MoveChild0,
406
0
/*   660*/      OPC_SwitchOpcode /*5 cases */, 13, TARGET_VAL(ISD::TargetGlobalAddress),// ->677
407
0
/*   664*/        OPC_MoveParent,
408
0
/*   665*/        OPC_MoveParent,
409
0
/*   666*/        OPC_RecordChild1, // #1 = $hi
410
0
/*   667*/        OPC_CheckType, MVT::i32,
411
0
/*   669*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
412
0
                      MVT::i32, 2/*#Ops*/, 1, 0, 
413
0
                  // Src: (or:{ *:[i32] } (LanaiLo:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$lo), GPR:{ *:[i32] }:$hi) - Complexity = 9
414
0
                  // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tglobaladdr:{ *:[i32] }):$lo)
415
0
/*   677*/      /*SwitchOpcode*/ 13, TARGET_VAL(ISD::TargetExternalSymbol),// ->693
416
0
/*   680*/        OPC_MoveParent,
417
0
/*   681*/        OPC_MoveParent,
418
0
/*   682*/        OPC_RecordChild1, // #1 = $hi
419
0
/*   683*/        OPC_CheckType, MVT::i32,
420
0
/*   685*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
421
0
                      MVT::i32, 2/*#Ops*/, 1, 0, 
422
0
                  // Src: (or:{ *:[i32] } (LanaiLo:{ *:[i32] } (texternalsym:{ *:[i32] }):$lo), GPR:{ *:[i32] }:$hi) - Complexity = 9
423
0
                  // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (texternalsym:{ *:[i32] }):$lo)
424
0
/*   693*/      /*SwitchOpcode*/ 13, TARGET_VAL(ISD::TargetBlockAddress),// ->709
425
0
/*   696*/        OPC_MoveParent,
426
0
/*   697*/        OPC_MoveParent,
427
0
/*   698*/        OPC_RecordChild1, // #1 = $hi
428
0
/*   699*/        OPC_CheckType, MVT::i32,
429
0
/*   701*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
430
0
                      MVT::i32, 2/*#Ops*/, 1, 0, 
431
0
                  // Src: (or:{ *:[i32] } (LanaiLo:{ *:[i32] } (tblockaddress:{ *:[i32] }):$lo), GPR:{ *:[i32] }:$hi) - Complexity = 9
432
0
                  // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tblockaddress:{ *:[i32] }):$lo)
433
0
/*   709*/      /*SwitchOpcode*/ 13, TARGET_VAL(ISD::TargetJumpTable),// ->725
434
0
/*   712*/        OPC_MoveParent,
435
0
/*   713*/        OPC_MoveParent,
436
0
/*   714*/        OPC_RecordChild1, // #1 = $hi
437
0
/*   715*/        OPC_CheckType, MVT::i32,
438
0
/*   717*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
439
0
                      MVT::i32, 2/*#Ops*/, 1, 0, 
440
0
                  // Src: (or:{ *:[i32] } (LanaiLo:{ *:[i32] } (tjumptable:{ *:[i32] }):$lo), GPR:{ *:[i32] }:$hi) - Complexity = 9
441
0
                  // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tjumptable:{ *:[i32] }):$lo)
442
0
/*   725*/      /*SwitchOpcode*/ 13, TARGET_VAL(ISD::TargetConstantPool),// ->741
443
0
/*   728*/        OPC_MoveParent,
444
0
/*   729*/        OPC_MoveParent,
445
0
/*   730*/        OPC_RecordChild1, // #1 = $hi
446
0
/*   731*/        OPC_CheckType, MVT::i32,
447
0
/*   733*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
448
0
                      MVT::i32, 2/*#Ops*/, 1, 0, 
449
0
                  // Src: (or:{ *:[i32] } (LanaiLo:{ *:[i32] } (tconstpool:{ *:[i32] }):$lo), GPR:{ *:[i32] }:$hi) - Complexity = 9
450
0
                  // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tconstpool:{ *:[i32] }):$lo)
451
0
/*   741*/      0, // EndSwitchOpcode
452
0
/*   742*/    /*Scope*/ 108, /*->851*/
453
0
/*   743*/      OPC_RecordChild0, // #0 = $Rs1
454
0
/*   744*/      OPC_RecordChild1, // #1 = $imm16
455
0
/*   745*/      OPC_Scope, 76, /*->823*/ // 2 children in Scope
456
0
/*   747*/        OPC_MoveChild1,
457
0
/*   748*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
458
0
/*   751*/        OPC_Scope, 16, /*->769*/ // 4 children in Scope
459
0
/*   753*/          OPC_CheckPredicate, 14, // Predicate_i32lo16z
460
0
/*   755*/          OPC_MoveParent,
461
0
/*   756*/          OPC_EmitConvertToTarget, 1,
462
0
/*   758*/          OPC_EmitNodeXForm, 0, 2, // LO16
463
0
/*   761*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
464
0
                        MVT::i32, 2/*#Ops*/, 0, 3, 
465
0
                    // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm16) - Complexity = 7
466
0
                    // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
467
0
/*   769*/        /*Scope*/ 16, /*->786*/
468
0
/*   770*/          OPC_CheckPredicate, 15, // Predicate_i32hi16
469
0
/*   772*/          OPC_MoveParent,
470
0
/*   773*/          OPC_EmitConvertToTarget, 1,
471
0
/*   775*/          OPC_EmitNodeXForm, 1, 2, // HI16
472
0
/*   778*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_HI), 0,
473
0
                        MVT::i32, 2/*#Ops*/, 0, 3, 
474
0
                    // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16) - Complexity = 7
475
0
                    // Dst: (OR_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
476
0
/*   786*/        /*Scope*/ 17, /*->804*/
477
0
/*   787*/          OPC_CheckPredicate, 14, // Predicate_i32lo16z
478
0
/*   789*/          OPC_MoveParent,
479
0
/*   790*/          OPC_EmitConvertToTarget, 1,
480
0
/*   792*/          OPC_EmitNodeXForm, 0, 2, // LO16
481
0
/*   795*/          OPC_MorphNodeTo2, TARGET_VAL(Lanai::OR_F_I_LO), 0,
482
0
                        MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
483
0
                    // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm16) - Complexity = 7
484
0
                    // Dst: (OR_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
485
0
/*   804*/        /*Scope*/ 17, /*->822*/
486
0
/*   805*/          OPC_CheckPredicate, 15, // Predicate_i32hi16
487
0
/*   807*/          OPC_MoveParent,
488
0
/*   808*/          OPC_EmitConvertToTarget, 1,
489
0
/*   810*/          OPC_EmitNodeXForm, 1, 2, // HI16
490
0
/*   813*/          OPC_MorphNodeTo2, TARGET_VAL(Lanai::OR_F_I_HI), 0,
491
0
                        MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
492
0
                    // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16) - Complexity = 7
493
0
                    // Dst: (OR_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
494
0
/*   822*/        0, /*End of Scope*/
495
0
/*   823*/      /*Scope*/ 26, /*->850*/
496
0
/*   824*/        OPC_EmitInteger, MVT::i32, 0, 
497
0
/*   827*/        OPC_Scope, 9, /*->838*/ // 2 children in Scope
498
0
/*   829*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_R), 0,
499
0
                        MVT::i32, 3/*#Ops*/, 0, 1, 2, 
500
0
                    // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
501
0
                    // Dst: (OR_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
502
0
/*   838*/        /*Scope*/ 10, /*->849*/
503
0
/*   839*/          OPC_MorphNodeTo2, TARGET_VAL(Lanai::OR_F_R), 0,
504
0
                        MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
505
0
                    // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
506
0
                    // Dst: (OR_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
507
0
/*   849*/        0, /*End of Scope*/
508
0
/*   850*/      0, /*End of Scope*/
509
0
/*   851*/    0, /*End of Scope*/
510
0
/*   852*/  /*SwitchOpcode*/ 108, TARGET_VAL(ISD::AND),// ->963
511
0
/*   855*/    OPC_RecordChild0, // #0 = $Rs1
512
0
/*   856*/    OPC_RecordChild1, // #1 = $imm16
513
0
/*   857*/    OPC_Scope, 76, /*->935*/ // 2 children in Scope
514
0
/*   859*/      OPC_MoveChild1,
515
0
/*   860*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
516
0
/*   863*/      OPC_Scope, 16, /*->881*/ // 4 children in Scope
517
0
/*   865*/        OPC_CheckPredicate, 16, // Predicate_i32lo16and
518
0
/*   867*/        OPC_MoveParent,
519
0
/*   868*/        OPC_EmitConvertToTarget, 1,
520
0
/*   870*/        OPC_EmitNodeXForm, 0, 2, // LO16
521
0
/*   873*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::AND_I_LO), 0,
522
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
523
0
                  // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16and>><<X:LO16>>:$imm16) - Complexity = 7
524
0
                  // Dst: (AND_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
525
0
/*   881*/      /*Scope*/ 16, /*->898*/
526
0
/*   882*/        OPC_CheckPredicate, 17, // Predicate_i32hi16and
527
0
/*   884*/        OPC_MoveParent,
528
0
/*   885*/        OPC_EmitConvertToTarget, 1,
529
0
/*   887*/        OPC_EmitNodeXForm, 1, 2, // HI16
530
0
/*   890*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::AND_I_HI), 0,
531
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
532
0
                  // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16and>><<X:HI16>>:$imm16) - Complexity = 7
533
0
                  // Dst: (AND_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
534
0
/*   898*/      /*Scope*/ 17, /*->916*/
535
0
/*   899*/        OPC_CheckPredicate, 16, // Predicate_i32lo16and
536
0
/*   901*/        OPC_MoveParent,
537
0
/*   902*/        OPC_EmitConvertToTarget, 1,
538
0
/*   904*/        OPC_EmitNodeXForm, 0, 2, // LO16
539
0
/*   907*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::AND_F_I_LO), 0,
540
0
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
541
0
                  // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16and>><<X:LO16>>:$imm16) - Complexity = 7
542
0
                  // Dst: (AND_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
543
0
/*   916*/      /*Scope*/ 17, /*->934*/
544
0
/*   917*/        OPC_CheckPredicate, 17, // Predicate_i32hi16and
545
0
/*   919*/        OPC_MoveParent,
546
0
/*   920*/        OPC_EmitConvertToTarget, 1,
547
0
/*   922*/        OPC_EmitNodeXForm, 1, 2, // HI16
548
0
/*   925*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::AND_F_I_HI), 0,
549
0
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
550
0
                  // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16and>><<X:HI16>>:$imm16) - Complexity = 7
551
0
                  // Dst: (AND_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
552
0
/*   934*/      0, /*End of Scope*/
553
0
/*   935*/    /*Scope*/ 26, /*->962*/
554
0
/*   936*/      OPC_EmitInteger, MVT::i32, 0, 
555
0
/*   939*/      OPC_Scope, 9, /*->950*/ // 2 children in Scope
556
0
/*   941*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::AND_R), 0,
557
0
                      MVT::i32, 3/*#Ops*/, 0, 1, 2, 
558
0
                  // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
559
0
                  // Dst: (AND_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
560
0
/*   950*/      /*Scope*/ 10, /*->961*/
561
0
/*   951*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::AND_F_R), 0,
562
0
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
563
0
                  // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
564
0
                  // Dst: (AND_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
565
0
/*   961*/      0, /*End of Scope*/
566
0
/*   962*/    0, /*End of Scope*/
567
0
/*   963*/  /*SwitchOpcode*/ 108, TARGET_VAL(ISD::XOR),// ->1074
568
0
/*   966*/    OPC_RecordChild0, // #0 = $Rs1
569
0
/*   967*/    OPC_RecordChild1, // #1 = $imm16
570
0
/*   968*/    OPC_Scope, 76, /*->1046*/ // 2 children in Scope
571
0
/*   970*/      OPC_MoveChild1,
572
0
/*   971*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
573
0
/*   974*/      OPC_Scope, 16, /*->992*/ // 4 children in Scope
574
0
/*   976*/        OPC_CheckPredicate, 14, // Predicate_i32lo16z
575
0
/*   978*/        OPC_MoveParent,
576
0
/*   979*/        OPC_EmitConvertToTarget, 1,
577
0
/*   981*/        OPC_EmitNodeXForm, 0, 2, // LO16
578
0
/*   984*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::XOR_I_LO), 0,
579
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
580
0
                  // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm16) - Complexity = 7
581
0
                  // Dst: (XOR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
582
0
/*   992*/      /*Scope*/ 16, /*->1009*/
583
0
/*   993*/        OPC_CheckPredicate, 15, // Predicate_i32hi16
584
0
/*   995*/        OPC_MoveParent,
585
0
/*   996*/        OPC_EmitConvertToTarget, 1,
586
0
/*   998*/        OPC_EmitNodeXForm, 1, 2, // HI16
587
0
/*  1001*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::XOR_I_HI), 0,
588
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
589
0
                  // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16) - Complexity = 7
590
0
                  // Dst: (XOR_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
591
0
/*  1009*/      /*Scope*/ 17, /*->1027*/
592
0
/*  1010*/        OPC_CheckPredicate, 14, // Predicate_i32lo16z
593
0
/*  1012*/        OPC_MoveParent,
594
0
/*  1013*/        OPC_EmitConvertToTarget, 1,
595
0
/*  1015*/        OPC_EmitNodeXForm, 0, 2, // LO16
596
0
/*  1018*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::XOR_F_I_LO), 0,
597
0
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
598
0
                  // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm16) - Complexity = 7
599
0
                  // Dst: (XOR_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
600
0
/*  1027*/      /*Scope*/ 17, /*->1045*/
601
0
/*  1028*/        OPC_CheckPredicate, 15, // Predicate_i32hi16
602
0
/*  1030*/        OPC_MoveParent,
603
0
/*  1031*/        OPC_EmitConvertToTarget, 1,
604
0
/*  1033*/        OPC_EmitNodeXForm, 1, 2, // HI16
605
0
/*  1036*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::XOR_F_I_HI), 0,
606
0
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
607
0
                  // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16) - Complexity = 7
608
0
                  // Dst: (XOR_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
609
0
/*  1045*/      0, /*End of Scope*/
610
0
/*  1046*/    /*Scope*/ 26, /*->1073*/
611
0
/*  1047*/      OPC_EmitInteger, MVT::i32, 0, 
612
0
/*  1050*/      OPC_Scope, 9, /*->1061*/ // 2 children in Scope
613
0
/*  1052*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::XOR_R), 0,
614
0
                      MVT::i32, 3/*#Ops*/, 0, 1, 2, 
615
0
                  // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
616
0
                  // Dst: (XOR_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
617
0
/*  1061*/      /*Scope*/ 10, /*->1072*/
618
0
/*  1062*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::XOR_F_R), 0,
619
0
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
620
0
                  // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
621
0
                  // Dst: (XOR_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
622
0
/*  1072*/      0, /*End of Scope*/
623
0
/*  1073*/    0, /*End of Scope*/
624
0
/*  1074*/  /*SwitchOpcode*/ 73, TARGET_VAL(ISD::ADD),// ->1150
625
0
/*  1077*/    OPC_RecordChild0, // #0 = $Rs1
626
0
/*  1078*/    OPC_RecordChild1, // #1 = $imm
627
0
/*  1079*/    OPC_Scope, 55, /*->1136*/ // 2 children in Scope
628
0
/*  1081*/      OPC_MoveChild1,
629
0
/*  1082*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
630
0
/*  1085*/      OPC_Scope, 16, /*->1103*/ // 3 children in Scope
631
0
/*  1087*/        OPC_CheckPredicate, 14, // Predicate_i32lo16z
632
0
/*  1089*/        OPC_MoveParent,
633
0
/*  1090*/        OPC_EmitConvertToTarget, 1,
634
0
/*  1092*/        OPC_EmitNodeXForm, 0, 2, // LO16
635
0
/*  1095*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADD_I_LO), 0,
636
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
637
0
                  // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
638
0
                  // Dst: (ADD_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
639
0
/*  1103*/      /*Scope*/ 16, /*->1120*/
640
0
/*  1104*/        OPC_CheckPredicate, 15, // Predicate_i32hi16
641
0
/*  1106*/        OPC_MoveParent,
642
0
/*  1107*/        OPC_EmitConvertToTarget, 1,
643
0
/*  1109*/        OPC_EmitNodeXForm, 1, 2, // HI16
644
0
/*  1112*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADD_I_HI), 0,
645
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
646
0
                  // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
647
0
                  // Dst: (ADD_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
648
0
/*  1120*/      /*Scope*/ 14, /*->1135*/
649
0
/*  1121*/        OPC_CheckPredicate, 18, // Predicate_i32neg16
650
0
/*  1123*/        OPC_MoveParent,
651
0
/*  1124*/        OPC_EmitNodeXForm, 2, 1, // NEG
652
0
/*  1127*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUB_I_LO), 0,
653
0
                      MVT::i32, 2/*#Ops*/, 0, 2, 
654
0
                  // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32neg16>><<X:LO16>>:$imm) - Complexity = 7
655
0
                  // Dst: (SUB_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (NEG:{ *:[i32] } ?:{ *:[i32] }:$imm))
656
0
/*  1135*/      0, /*End of Scope*/
657
0
/*  1136*/    /*Scope*/ 12, /*->1149*/
658
0
/*  1137*/      OPC_EmitInteger, MVT::i32, 0, 
659
0
/*  1140*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADD_R), 0,
660
0
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
661
0
                // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
662
0
                // Dst: (ADD_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
663
0
/*  1149*/    0, /*End of Scope*/
664
0
/*  1150*/  /*SwitchOpcode*/ 73, TARGET_VAL(ISD::SUB),// ->1226
665
0
/*  1153*/    OPC_RecordChild0, // #0 = $Rs1
666
0
/*  1154*/    OPC_RecordChild1, // #1 = $imm
667
0
/*  1155*/    OPC_Scope, 55, /*->1212*/ // 2 children in Scope
668
0
/*  1157*/      OPC_MoveChild1,
669
0
/*  1158*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
670
0
/*  1161*/      OPC_Scope, 16, /*->1179*/ // 3 children in Scope
671
0
/*  1163*/        OPC_CheckPredicate, 14, // Predicate_i32lo16z
672
0
/*  1165*/        OPC_MoveParent,
673
0
/*  1166*/        OPC_EmitConvertToTarget, 1,
674
0
/*  1168*/        OPC_EmitNodeXForm, 0, 2, // LO16
675
0
/*  1171*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUB_I_LO), 0,
676
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
677
0
                  // Src: (sub:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
678
0
                  // Dst: (SUB_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
679
0
/*  1179*/      /*Scope*/ 16, /*->1196*/
680
0
/*  1180*/        OPC_CheckPredicate, 15, // Predicate_i32hi16
681
0
/*  1182*/        OPC_MoveParent,
682
0
/*  1183*/        OPC_EmitConvertToTarget, 1,
683
0
/*  1185*/        OPC_EmitNodeXForm, 1, 2, // HI16
684
0
/*  1188*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUB_I_HI), 0,
685
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
686
0
                  // Src: (sub:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
687
0
                  // Dst: (SUB_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
688
0
/*  1196*/      /*Scope*/ 14, /*->1211*/
689
0
/*  1197*/        OPC_CheckPredicate, 18, // Predicate_i32neg16
690
0
/*  1199*/        OPC_MoveParent,
691
0
/*  1200*/        OPC_EmitNodeXForm, 2, 1, // NEG
692
0
/*  1203*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADD_I_LO), 0,
693
0
                      MVT::i32, 2/*#Ops*/, 0, 2, 
694
0
                  // Src: (sub:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32neg16>><<X:LO16>>:$imm) - Complexity = 7
695
0
                  // Dst: (ADD_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (NEG:{ *:[i32] } ?:{ *:[i32] }:$imm))
696
0
/*  1211*/      0, /*End of Scope*/
697
0
/*  1212*/    /*Scope*/ 12, /*->1225*/
698
0
/*  1213*/      OPC_EmitInteger, MVT::i32, 0, 
699
0
/*  1216*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUB_R), 0,
700
0
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
701
0
                // Src: (sub:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
702
0
                // Dst: (SUB_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
703
0
/*  1225*/    0, /*End of Scope*/
704
0
/*  1226*/  /*SwitchOpcode*/ 61, TARGET_VAL(ISD::ADDC),// ->1290
705
0
/*  1229*/    OPC_RecordChild0, // #0 = $Rs1
706
0
/*  1230*/    OPC_RecordChild1, // #1 = $imm
707
0
/*  1231*/    OPC_Scope, 42, /*->1275*/ // 2 children in Scope
708
0
/*  1233*/      OPC_MoveChild1,
709
0
/*  1234*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
710
0
/*  1237*/      OPC_Scope, 17, /*->1256*/ // 2 children in Scope
711
0
/*  1239*/        OPC_CheckPredicate, 14, // Predicate_i32lo16z
712
0
/*  1241*/        OPC_MoveParent,
713
0
/*  1242*/        OPC_EmitConvertToTarget, 1,
714
0
/*  1244*/        OPC_EmitNodeXForm, 0, 2, // LO16
715
0
/*  1247*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::ADD_F_I_LO), 0|OPFL_GlueOutput,
716
0
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
717
0
                  // Src: (addc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
718
0
                  // Dst: (ADD_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
719
0
/*  1256*/      /*Scope*/ 17, /*->1274*/
720
0
/*  1257*/        OPC_CheckPredicate, 15, // Predicate_i32hi16
721
0
/*  1259*/        OPC_MoveParent,
722
0
/*  1260*/        OPC_EmitConvertToTarget, 1,
723
0
/*  1262*/        OPC_EmitNodeXForm, 1, 2, // HI16
724
0
/*  1265*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::ADD_F_I_HI), 0|OPFL_GlueOutput,
725
0
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
726
0
                  // Src: (addc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
727
0
                  // Dst: (ADD_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
728
0
/*  1274*/      0, /*End of Scope*/
729
0
/*  1275*/    /*Scope*/ 13, /*->1289*/
730
0
/*  1276*/      OPC_EmitInteger, MVT::i32, 0, 
731
0
/*  1279*/      OPC_MorphNodeTo2, TARGET_VAL(Lanai::ADD_F_R), 0|OPFL_GlueOutput,
732
0
                    MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
733
0
                // Src: (addc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
734
0
                // Dst: (ADD_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
735
0
/*  1289*/    0, /*End of Scope*/
736
0
/*  1290*/  /*SwitchOpcode*/ 61, TARGET_VAL(ISD::SUBC),// ->1354
737
0
/*  1293*/    OPC_RecordChild0, // #0 = $Rs1
738
0
/*  1294*/    OPC_RecordChild1, // #1 = $imm
739
0
/*  1295*/    OPC_Scope, 42, /*->1339*/ // 2 children in Scope
740
0
/*  1297*/      OPC_MoveChild1,
741
0
/*  1298*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
742
0
/*  1301*/      OPC_Scope, 17, /*->1320*/ // 2 children in Scope
743
0
/*  1303*/        OPC_CheckPredicate, 14, // Predicate_i32lo16z
744
0
/*  1305*/        OPC_MoveParent,
745
0
/*  1306*/        OPC_EmitConvertToTarget, 1,
746
0
/*  1308*/        OPC_EmitNodeXForm, 0, 2, // LO16
747
0
/*  1311*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUB_F_I_LO), 0|OPFL_GlueOutput,
748
0
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
749
0
                  // Src: (subc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
750
0
                  // Dst: (SUB_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
751
0
/*  1320*/      /*Scope*/ 17, /*->1338*/
752
0
/*  1321*/        OPC_CheckPredicate, 15, // Predicate_i32hi16
753
0
/*  1323*/        OPC_MoveParent,
754
0
/*  1324*/        OPC_EmitConvertToTarget, 1,
755
0
/*  1326*/        OPC_EmitNodeXForm, 1, 2, // HI16
756
0
/*  1329*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUB_F_I_HI), 0|OPFL_GlueOutput,
757
0
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
758
0
                  // Src: (subc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
759
0
                  // Dst: (SUB_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
760
0
/*  1338*/      0, /*End of Scope*/
761
0
/*  1339*/    /*Scope*/ 13, /*->1353*/
762
0
/*  1340*/      OPC_EmitInteger, MVT::i32, 0, 
763
0
/*  1343*/      OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUB_F_R), 0|OPFL_GlueOutput,
764
0
                    MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
765
0
                // Src: (subc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
766
0
                // Dst: (SUB_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
767
0
/*  1353*/    0, /*End of Scope*/
768
0
/*  1354*/  /*SwitchOpcode*/ 73, TARGET_VAL(ISD::ADDE),// ->1430
769
0
/*  1357*/    OPC_CaptureGlueInput,
770
0
/*  1358*/    OPC_RecordChild0, // #0 = $Rs1
771
0
/*  1359*/    OPC_RecordChild1, // #1 = $imm
772
0
/*  1360*/    OPC_Scope, 40, /*->1402*/ // 2 children in Scope
773
0
/*  1362*/      OPC_MoveChild1,
774
0
/*  1363*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
775
0
/*  1366*/      OPC_Scope, 16, /*->1384*/ // 2 children in Scope
776
0
/*  1368*/        OPC_CheckPredicate, 14, // Predicate_i32lo16z
777
0
/*  1370*/        OPC_MoveParent,
778
0
/*  1371*/        OPC_EmitConvertToTarget, 1,
779
0
/*  1373*/        OPC_EmitNodeXForm, 0, 2, // LO16
780
0
/*  1376*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADDC_I_LO), 0|OPFL_GlueInput|OPFL_GlueOutput,
781
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
782
0
                  // Src: (adde:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
783
0
                  // Dst: (ADDC_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
784
0
/*  1384*/      /*Scope*/ 16, /*->1401*/
785
0
/*  1385*/        OPC_CheckPredicate, 15, // Predicate_i32hi16
786
0
/*  1387*/        OPC_MoveParent,
787
0
/*  1388*/        OPC_EmitConvertToTarget, 1,
788
0
/*  1390*/        OPC_EmitNodeXForm, 1, 2, // HI16
789
0
/*  1393*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADDC_I_HI), 0|OPFL_GlueInput|OPFL_GlueOutput,
790
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
791
0
                  // Src: (adde:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
792
0
                  // Dst: (ADDC_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
793
0
/*  1401*/      0, /*End of Scope*/
794
0
/*  1402*/    /*Scope*/ 26, /*->1429*/
795
0
/*  1403*/      OPC_EmitInteger, MVT::i32, 0, 
796
0
/*  1406*/      OPC_Scope, 9, /*->1417*/ // 2 children in Scope
797
0
/*  1408*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADDC_R), 0|OPFL_GlueInput|OPFL_GlueOutput,
798
0
                      MVT::i32, 3/*#Ops*/, 0, 1, 2, 
799
0
                  // Src: (adde:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
800
0
                  // Dst: (ADDC_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
801
0
/*  1417*/      /*Scope*/ 10, /*->1428*/
802
0
/*  1418*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::ADDC_F_R), 0|OPFL_GlueInput|OPFL_GlueOutput,
803
0
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
804
0
                  // Src: (adde:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
805
0
                  // Dst: (ADDC_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
806
0
/*  1428*/      0, /*End of Scope*/
807
0
/*  1429*/    0, /*End of Scope*/
808
0
/*  1430*/  /*SwitchOpcode*/ 73, TARGET_VAL(ISD::SUBE),// ->1506
809
0
/*  1433*/    OPC_CaptureGlueInput,
810
0
/*  1434*/    OPC_RecordChild0, // #0 = $Rs1
811
0
/*  1435*/    OPC_RecordChild1, // #1 = $imm
812
0
/*  1436*/    OPC_Scope, 40, /*->1478*/ // 2 children in Scope
813
0
/*  1438*/      OPC_MoveChild1,
814
0
/*  1439*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
815
0
/*  1442*/      OPC_Scope, 16, /*->1460*/ // 2 children in Scope
816
0
/*  1444*/        OPC_CheckPredicate, 14, // Predicate_i32lo16z
817
0
/*  1446*/        OPC_MoveParent,
818
0
/*  1447*/        OPC_EmitConvertToTarget, 1,
819
0
/*  1449*/        OPC_EmitNodeXForm, 0, 2, // LO16
820
0
/*  1452*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUBB_I_LO), 0|OPFL_GlueInput|OPFL_GlueOutput,
821
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
822
0
                  // Src: (sube:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
823
0
                  // Dst: (SUBB_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
824
0
/*  1460*/      /*Scope*/ 16, /*->1477*/
825
0
/*  1461*/        OPC_CheckPredicate, 15, // Predicate_i32hi16
826
0
/*  1463*/        OPC_MoveParent,
827
0
/*  1464*/        OPC_EmitConvertToTarget, 1,
828
0
/*  1466*/        OPC_EmitNodeXForm, 1, 2, // HI16
829
0
/*  1469*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUBB_I_HI), 0|OPFL_GlueInput|OPFL_GlueOutput,
830
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
831
0
                  // Src: (sube:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
832
0
                  // Dst: (SUBB_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
833
0
/*  1477*/      0, /*End of Scope*/
834
0
/*  1478*/    /*Scope*/ 26, /*->1505*/
835
0
/*  1479*/      OPC_EmitInteger, MVT::i32, 0, 
836
0
/*  1482*/      OPC_Scope, 9, /*->1493*/ // 2 children in Scope
837
0
/*  1484*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUBB_R), 0|OPFL_GlueInput|OPFL_GlueOutput,
838
0
                      MVT::i32, 3/*#Ops*/, 0, 1, 2, 
839
0
                  // Src: (sube:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
840
0
                  // Dst: (SUBB_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
841
0
/*  1493*/      /*Scope*/ 10, /*->1504*/
842
0
/*  1494*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUBB_F_R), 0|OPFL_GlueInput|OPFL_GlueOutput,
843
0
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
844
0
                  // Src: (sube:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
845
0
                  // Dst: (SUBB_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
846
0
/*  1504*/      0, /*End of Scope*/
847
0
/*  1505*/    0, /*End of Scope*/
848
0
/*  1506*/  /*SwitchOpcode*/ 65, TARGET_VAL(LanaiISD::SUBBF),// ->1574
849
0
/*  1509*/    OPC_CaptureGlueInput,
850
0
/*  1510*/    OPC_RecordChild0, // #0 = $Rs1
851
0
/*  1511*/    OPC_Scope, 43, /*->1556*/ // 2 children in Scope
852
0
/*  1513*/      OPC_RecordChild1, // #1 = $imm
853
0
/*  1514*/      OPC_MoveChild1,
854
0
/*  1515*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
855
0
/*  1518*/      OPC_Scope, 17, /*->1537*/ // 2 children in Scope
856
0
/*  1520*/        OPC_CheckPredicate, 14, // Predicate_i32lo16z
857
0
/*  1522*/        OPC_MoveParent,
858
0
/*  1523*/        OPC_EmitConvertToTarget, 1,
859
0
/*  1525*/        OPC_EmitNodeXForm, 0, 2, // LO16
860
0
/*  1528*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUBB_F_I_LO), 0|OPFL_GlueInput|OPFL_GlueOutput,
861
0
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
862
0
                  // Src: (LanaiSubbF GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
863
0
                  // Dst: (SUBB_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
864
0
/*  1537*/      /*Scope*/ 17, /*->1555*/
865
0
/*  1538*/        OPC_CheckPredicate, 15, // Predicate_i32hi16
866
0
/*  1540*/        OPC_MoveParent,
867
0
/*  1541*/        OPC_EmitConvertToTarget, 1,
868
0
/*  1543*/        OPC_EmitNodeXForm, 1, 2, // HI16
869
0
/*  1546*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUBB_F_I_HI), 0|OPFL_GlueInput|OPFL_GlueOutput,
870
0
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
871
0
                  // Src: (LanaiSubbF GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
872
0
                  // Dst: (SUBB_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
873
0
/*  1555*/      0, /*End of Scope*/
874
0
/*  1556*/    /*Scope*/ 16, /*->1573*/
875
0
/*  1557*/      OPC_CheckChild0Type, MVT::i32,
876
0
/*  1559*/      OPC_RecordChild1, // #1 = $Rs2
877
0
/*  1560*/      OPC_EmitInteger, MVT::i32, 0, 
878
0
/*  1563*/      OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUBB_F_R), 0|OPFL_GlueInput|OPFL_GlueOutput,
879
0
                    MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
880
0
                // Src: (LanaiSubbF GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
881
0
                // Dst: (SUBB_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
882
0
/*  1573*/    0, /*End of Scope*/
883
0
/*  1574*/  /*SwitchOpcode*/ 35, TARGET_VAL(ISD::SHL),// ->1612
884
0
/*  1577*/    OPC_RecordChild0, // #0 = $Rs1
885
0
/*  1578*/    OPC_RecordChild1, // #1 = $imm16
886
0
/*  1579*/    OPC_Scope, 17, /*->1598*/ // 2 children in Scope
887
0
/*  1581*/      OPC_MoveChild1,
888
0
/*  1582*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
889
0
/*  1585*/      OPC_CheckPredicate, 19, // Predicate_immShift
890
0
/*  1587*/      OPC_MoveParent,
891
0
/*  1588*/      OPC_EmitConvertToTarget, 1,
892
0
/*  1590*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SL_I), 0,
893
0
                    MVT::i32, 2/*#Ops*/, 0, 2, 
894
0
                // Src: (shl:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_immShift>>:$imm16) - Complexity = 7
895
0
                // Dst: (SL_I:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] }):$imm16)
896
0
/*  1598*/    /*Scope*/ 12, /*->1611*/
897
0
/*  1599*/      OPC_EmitInteger, MVT::i32, 0, 
898
0
/*  1602*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SHL_R), 0,
899
0
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
900
0
                // Src: (shl:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
901
0
                // Dst: (SHL_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
902
0
/*  1611*/    0, /*End of Scope*/
903
0
/*  1612*/  /*SwitchOpcode*/ 51, TARGET_VAL(ISD::SRL),// ->1666
904
0
/*  1615*/    OPC_RecordChild0, // #0 = $Rs1
905
0
/*  1616*/    OPC_RecordChild1, // #1 = $imm
906
0
/*  1617*/    OPC_Scope, 18, /*->1637*/ // 2 children in Scope
907
0
/*  1619*/      OPC_MoveChild1,
908
0
/*  1620*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
909
0
/*  1623*/      OPC_CheckPredicate, 19, // Predicate_immShift
910
0
/*  1625*/      OPC_MoveParent,
911
0
/*  1626*/      OPC_EmitNodeXForm, 2, 1, // NEG
912
0
/*  1629*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SL_I), 0,
913
0
                    MVT::i32, 2/*#Ops*/, 0, 2, 
914
0
                // Src: (srl:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_immShift>>:$imm) - Complexity = 7
915
0
                // Dst: (SL_I:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (NEG:{ *:[i32] } ?:{ *:[i32] }:$imm))
916
0
/*  1637*/    /*Scope*/ 27, /*->1665*/
917
0
/*  1638*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
918
0
/*  1641*/      OPC_EmitInteger, MVT::i32, 0, 
919
0
/*  1644*/      OPC_EmitNode1, TARGET_VAL(Lanai::SUB_R), 0,
920
0
                    MVT::i32, 3/*#Ops*/, 2, 1, 3,  // Results = #4
921
0
/*  1653*/      OPC_EmitInteger, MVT::i32, 0, 
922
0
/*  1656*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SRL_R), 0,
923
0
                    MVT::i32, 3/*#Ops*/, 0, 4, 5, 
924
0
                // Src: (srl:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
925
0
                // Dst: (SRL_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (SUB_R:{ *:[i32] } R0:{ *:[i32] }, GPR:{ *:[i32] }:$Rs2))
926
0
/*  1665*/    0, /*End of Scope*/
927
0
/*  1666*/  /*SwitchOpcode*/ 51, TARGET_VAL(ISD::SRA),// ->1720
928
0
/*  1669*/    OPC_RecordChild0, // #0 = $Rs1
929
0
/*  1670*/    OPC_RecordChild1, // #1 = $imm
930
0
/*  1671*/    OPC_Scope, 18, /*->1691*/ // 2 children in Scope
931
0
/*  1673*/      OPC_MoveChild1,
932
0
/*  1674*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
933
0
/*  1677*/      OPC_CheckPredicate, 19, // Predicate_immShift
934
0
/*  1679*/      OPC_MoveParent,
935
0
/*  1680*/      OPC_EmitNodeXForm, 2, 1, // NEG
936
0
/*  1683*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SA_I), 0,
937
0
                    MVT::i32, 2/*#Ops*/, 0, 2, 
938
0
                // Src: (sra:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_immShift>>:$imm) - Complexity = 7
939
0
                // Dst: (SA_I:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (NEG:{ *:[i32] } ?:{ *:[i32] }:$imm))
940
0
/*  1691*/    /*Scope*/ 27, /*->1719*/
941
0
/*  1692*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
942
0
/*  1695*/      OPC_EmitInteger, MVT::i32, 0, 
943
0
/*  1698*/      OPC_EmitNode1, TARGET_VAL(Lanai::SUB_R), 0,
944
0
                    MVT::i32, 3/*#Ops*/, 2, 1, 3,  // Results = #4
945
0
/*  1707*/      OPC_EmitInteger, MVT::i32, 0, 
946
0
/*  1710*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SRA_R), 0,
947
0
                    MVT::i32, 3/*#Ops*/, 0, 4, 5, 
948
0
                // Src: (sra:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
949
0
                // Dst: (SRA_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (SUB_R:{ *:[i32] } R0:{ *:[i32] }, GPR:{ *:[i32] }:$Rs2))
950
0
/*  1719*/    0, /*End of Scope*/
951
0
/*  1720*/  /*SwitchOpcode*/ 57, TARGET_VAL(LanaiISD::SET_FLAG),// ->1780
952
0
/*  1723*/    OPC_RecordChild0, // #0 = $Rs1
953
0
/*  1724*/    OPC_Scope, 41, /*->1767*/ // 2 children in Scope
954
0
/*  1726*/      OPC_RecordChild1, // #1 = $imm16
955
0
/*  1727*/      OPC_MoveChild1,
956
0
/*  1728*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
957
0
/*  1731*/      OPC_Scope, 16, /*->1749*/ // 2 children in Scope
958
0
/*  1733*/        OPC_CheckPredicate, 14, // Predicate_i32lo16z
959
0
/*  1735*/        OPC_MoveParent,
960
0
/*  1736*/        OPC_EmitConvertToTarget, 1,
961
0
/*  1738*/        OPC_EmitNodeXForm, 0, 2, // LO16
962
0
/*  1741*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SFSUB_F_RI_LO), 0|OPFL_GlueOutput,
963
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
964
0
                  // Src: (LanaiSetFlag GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm16) - Complexity = 7
965
0
                  // Dst: (SFSUB_F_RI_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
966
0
/*  1749*/      /*Scope*/ 16, /*->1766*/
967
0
/*  1750*/        OPC_CheckPredicate, 15, // Predicate_i32hi16
968
0
/*  1752*/        OPC_MoveParent,
969
0
/*  1753*/        OPC_EmitConvertToTarget, 1,
970
0
/*  1755*/        OPC_EmitNodeXForm, 1, 2, // HI16
971
0
/*  1758*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SFSUB_F_RI_HI), 0|OPFL_GlueOutput,
972
0
                      MVT::i32, 2/*#Ops*/, 0, 3, 
973
0
                  // Src: (LanaiSetFlag GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16) - Complexity = 7
974
0
                  // Dst: (SFSUB_F_RI_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
975
0
/*  1766*/      0, /*End of Scope*/
976
0
/*  1767*/    /*Scope*/ 11, /*->1779*/
977
0
/*  1768*/      OPC_CheckChild0Type, MVT::i32,
978
0
/*  1770*/      OPC_RecordChild1, // #1 = $Rs2
979
0
/*  1771*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SFSUB_F_RR), 0|OPFL_GlueOutput,
980
0
                    MVT::i32, 2/*#Ops*/, 0, 1, 
981
0
                // Src: (LanaiSetFlag GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
982
0
                // Dst: (SFSUB_F_RR:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
983
0
/*  1779*/    0, /*End of Scope*/
984
0
/*  1780*/  /*SwitchOpcode*/ 24, TARGET_VAL(LanaiISD::BR_CC),// ->1807
985
0
/*  1783*/    OPC_RecordNode, // #0 = 'LanaiBrCC' chained node
986
0
/*  1784*/    OPC_CaptureGlueInput,
987
0
/*  1785*/    OPC_RecordChild1, // #1 = $addr
988
0
/*  1786*/    OPC_MoveChild1,
989
0
/*  1787*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
990
0
/*  1790*/    OPC_MoveParent,
991
0
/*  1791*/    OPC_RecordChild2, // #2 = $DDDI
992
0
/*  1792*/    OPC_MoveChild2,
993
0
/*  1793*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
994
0
/*  1796*/    OPC_MoveParent,
995
0
/*  1797*/    OPC_EmitMergeInputChains1_0,
996
0
/*  1798*/    OPC_EmitConvertToTarget, 2,
997
0
/*  1800*/    OPC_MorphNodeTo0, TARGET_VAL(Lanai::BRCC), 0|OPFL_Chain|OPFL_GlueInput,
998
0
                  2/*#Ops*/, 1, 3, 
999
0
              // Src: (LanaiBrCC (bb:{ *:[Other] }):$addr, (imm:{ *:[i32] }):$DDDI) - Complexity = 6
1000
0
              // Dst: (BRCC (bb:{ *:[Other] }):$addr, (imm:{ *:[i32] }):$DDDI)
1001
0
/*  1807*/  /*SwitchOpcode*/ 16, TARGET_VAL(LanaiISD::SETCC),// ->1826
1002
0
/*  1810*/    OPC_CaptureGlueInput,
1003
0
/*  1811*/    OPC_RecordChild0, // #0 = $DDDI
1004
0
/*  1812*/    OPC_MoveChild0,
1005
0
/*  1813*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1006
0
/*  1816*/    OPC_MoveParent,
1007
0
/*  1817*/    OPC_EmitConvertToTarget, 0,
1008
0
/*  1819*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::SCC), 0|OPFL_GlueInput,
1009
0
                  MVT::i32, 1/*#Ops*/, 1, 
1010
0
              // Src: (LanaiSetCC:{ *:[i32] } (imm:{ *:[i32] }):$DDDI) - Complexity = 6
1011
0
              // Dst: (SCC:{ *:[i32] } (imm:{ *:[i32] }):$DDDI)
1012
0
/*  1826*/  /*SwitchOpcode*/ 22, TARGET_VAL(LanaiISD::SELECT_CC),// ->1851
1013
0
/*  1829*/    OPC_CaptureGlueInput,
1014
0
/*  1830*/    OPC_RecordChild0, // #0 = $Rs1
1015
0
/*  1831*/    OPC_RecordChild1, // #1 = $Rs2
1016
0
/*  1832*/    OPC_RecordChild2, // #2 = $DDDI
1017
0
/*  1833*/    OPC_MoveChild2,
1018
0
/*  1834*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1019
0
/*  1837*/    OPC_MoveParent,
1020
0
/*  1838*/    OPC_CheckType, MVT::i32,
1021
0
/*  1840*/    OPC_EmitConvertToTarget, 2,
1022
0
/*  1842*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::SELECT), 0|OPFL_GlueInput,
1023
0
                  MVT::i32, 3/*#Ops*/, 0, 1, 3, 
1024
0
              // Src: (LanaiSelectCC:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2, (imm:{ *:[i32] }):$DDDI) - Complexity = 6
1025
0
              // Dst: (SELECT:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2, (imm:{ *:[i32] }):$DDDI)
1026
0
/*  1851*/  /*SwitchOpcode*/ 42, TARGET_VAL(LanaiISD::CALL),// ->1896
1027
0
/*  1854*/    OPC_RecordNode, // #0 = 'Call' chained node
1028
0
/*  1855*/    OPC_CaptureGlueInput,
1029
0
/*  1856*/    OPC_RecordChild1, // #1 = $dst
1030
0
/*  1857*/    OPC_Scope, 27, /*->1886*/ // 2 children in Scope
1031
0
/*  1859*/      OPC_MoveChild1,
1032
0
/*  1860*/      OPC_SwitchOpcode /*2 cases */, 9, TARGET_VAL(ISD::TargetGlobalAddress),// ->1873
1033
0
/*  1864*/        OPC_MoveParent,
1034
0
/*  1865*/        OPC_EmitMergeInputChains1_0,
1035
0
/*  1866*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1036
0
                      MVT::i32, 1/*#Ops*/, 1, 
1037
0
                  // Src: (Call (tglobaladdr:{ *:[i32] }):$dst) - Complexity = 6
1038
0
                  // Dst: (CALL:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst)
1039
0
/*  1873*/      /*SwitchOpcode*/ 9, TARGET_VAL(ISD::TargetExternalSymbol),// ->1885
1040
0
/*  1876*/        OPC_MoveParent,
1041
0
/*  1877*/        OPC_EmitMergeInputChains1_0,
1042
0
/*  1878*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1043
0
                      MVT::i32, 1/*#Ops*/, 1, 
1044
0
                  // Src: (Call (texternalsym:{ *:[i32] }):$dst) - Complexity = 6
1045
0
                  // Dst: (CALL:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst)
1046
0
/*  1885*/      0, // EndSwitchOpcode
1047
0
/*  1886*/    /*Scope*/ 8, /*->1895*/
1048
0
/*  1887*/      OPC_EmitMergeInputChains1_0,
1049
0
/*  1888*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::CALLR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
1050
0
                    MVT::i32, 1/*#Ops*/, 1, 
1051
0
                // Src: (Call GPR:{ *:[i32] }:$Rs1) - Complexity = 3
1052
0
                // Dst: (CALLR:{ *:[i32] } GPR:{ *:[i32] }:$Rs1)
1053
0
/*  1895*/    0, /*End of Scope*/
1054
0
/*  1896*/  /*SwitchOpcode*/ 69, TARGET_VAL(LanaiISD::HI),// ->1968
1055
0
/*  1899*/    OPC_RecordChild0, // #0 = $dst
1056
0
/*  1900*/    OPC_MoveChild0,
1057
0
/*  1901*/    OPC_SwitchOpcode /*5 cases */, 10, TARGET_VAL(ISD::TargetGlobalAddress),// ->1915
1058
0
/*  1905*/      OPC_MoveParent,
1059
0
/*  1906*/      OPC_CheckType, MVT::i32,
1060
0
/*  1908*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
1061
0
                    MVT::i32, 1/*#Ops*/, 0, 
1062
0
                // Src: (LanaiHi:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst) - Complexity = 6
1063
0
                // Dst: (MOVHI:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst)
1064
0
/*  1915*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetExternalSymbol),// ->1928
1065
0
/*  1918*/      OPC_MoveParent,
1066
0
/*  1919*/      OPC_CheckType, MVT::i32,
1067
0
/*  1921*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
1068
0
                    MVT::i32, 1/*#Ops*/, 0, 
1069
0
                // Src: (LanaiHi:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst) - Complexity = 6
1070
0
                // Dst: (MOVHI:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst)
1071
0
/*  1928*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetBlockAddress),// ->1941
1072
0
/*  1931*/      OPC_MoveParent,
1073
0
/*  1932*/      OPC_CheckType, MVT::i32,
1074
0
/*  1934*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
1075
0
                    MVT::i32, 1/*#Ops*/, 0, 
1076
0
                // Src: (LanaiHi:{ *:[i32] } (tblockaddress:{ *:[i32] }):$dst) - Complexity = 6
1077
0
                // Dst: (MOVHI:{ *:[i32] } (tblockaddress:{ *:[i32] }):$dst)
1078
0
/*  1941*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetJumpTable),// ->1954
1079
0
/*  1944*/      OPC_MoveParent,
1080
0
/*  1945*/      OPC_CheckType, MVT::i32,
1081
0
/*  1947*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
1082
0
                    MVT::i32, 1/*#Ops*/, 0, 
1083
0
                // Src: (LanaiHi:{ *:[i32] } (tjumptable:{ *:[i32] }):$dst) - Complexity = 6
1084
0
                // Dst: (MOVHI:{ *:[i32] } (tjumptable:{ *:[i32] }):$dst)
1085
0
/*  1954*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetConstantPool),// ->1967
1086
0
/*  1957*/      OPC_MoveParent,
1087
0
/*  1958*/      OPC_CheckType, MVT::i32,
1088
0
/*  1960*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
1089
0
                    MVT::i32, 1/*#Ops*/, 0, 
1090
0
                // Src: (LanaiHi:{ *:[i32] } (tconstpool:{ *:[i32] }):$dst) - Complexity = 6
1091
0
                // Dst: (MOVHI:{ *:[i32] } (tconstpool:{ *:[i32] }):$dst)
1092
0
/*  1967*/    0, // EndSwitchOpcode
1093
0
/*  1968*/  /*SwitchOpcode*/ 89, TARGET_VAL(LanaiISD::LO),// ->2060
1094
0
/*  1971*/    OPC_RecordChild0, // #0 = $dst
1095
0
/*  1972*/    OPC_MoveChild0,
1096
0
/*  1973*/    OPC_SwitchOpcode /*5 cases */, 14, TARGET_VAL(ISD::TargetGlobalAddress),// ->1991
1097
0
/*  1977*/      OPC_MoveParent,
1098
0
/*  1978*/      OPC_CheckType, MVT::i32,
1099
0
/*  1980*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
1100
0
/*  1983*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
1101
0
                    MVT::i32, 2/*#Ops*/, 1, 0, 
1102
0
                // Src: (LanaiLo:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst) - Complexity = 6
1103
0
                // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$dst)
1104
0
/*  1991*/    /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetExternalSymbol),// ->2008
1105
0
/*  1994*/      OPC_MoveParent,
1106
0
/*  1995*/      OPC_CheckType, MVT::i32,
1107
0
/*  1997*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
1108
0
/*  2000*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
1109
0
                    MVT::i32, 2/*#Ops*/, 1, 0, 
1110
0
                // Src: (LanaiLo:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst) - Complexity = 6
1111
0
                // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$dst)
1112
0
/*  2008*/    /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetBlockAddress),// ->2025
1113
0
/*  2011*/      OPC_MoveParent,
1114
0
/*  2012*/      OPC_CheckType, MVT::i32,
1115
0
/*  2014*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
1116
0
/*  2017*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
1117
0
                    MVT::i32, 2/*#Ops*/, 1, 0, 
1118
0
                // Src: (LanaiLo:{ *:[i32] } (tblockaddress:{ *:[i32] }):$dst) - Complexity = 6
1119
0
                // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (tblockaddress:{ *:[i32] }):$dst)
1120
0
/*  2025*/    /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetJumpTable),// ->2042
1121
0
/*  2028*/      OPC_MoveParent,
1122
0
/*  2029*/      OPC_CheckType, MVT::i32,
1123
0
/*  2031*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
1124
0
/*  2034*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
1125
0
                    MVT::i32, 2/*#Ops*/, 1, 0, 
1126
0
                // Src: (LanaiLo:{ *:[i32] } (tjumptable:{ *:[i32] }):$dst) - Complexity = 6
1127
0
                // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (tjumptable:{ *:[i32] }):$dst)
1128
0
/*  2042*/    /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetConstantPool),// ->2059
1129
0
/*  2045*/      OPC_MoveParent,
1130
0
/*  2046*/      OPC_CheckType, MVT::i32,
1131
0
/*  2048*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
1132
0
/*  2051*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
1133
0
                    MVT::i32, 2/*#Ops*/, 1, 0, 
1134
0
                // Src: (LanaiLo:{ *:[i32] } (tconstpool:{ *:[i32] }):$dst) - Complexity = 6
1135
0
                // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (tconstpool:{ *:[i32] }):$dst)
1136
0
/*  2059*/    0, // EndSwitchOpcode
1137
0
/*  2060*/  /*SwitchOpcode*/ 69, TARGET_VAL(LanaiISD::SMALL),// ->2132
1138
0
/*  2063*/    OPC_RecordChild0, // #0 = $dst
1139
0
/*  2064*/    OPC_MoveChild0,
1140
0
/*  2065*/    OPC_SwitchOpcode /*5 cases */, 10, TARGET_VAL(ISD::TargetGlobalAddress),// ->2079
1141
0
/*  2069*/      OPC_MoveParent,
1142
0
/*  2070*/      OPC_CheckType, MVT::i32,
1143
0
/*  2072*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
1144
0
                    MVT::i32, 1/*#Ops*/, 0, 
1145
0
                // Src: (LanaiSmall:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst) - Complexity = 6
1146
0
                // Dst: (SLI:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst)
1147
0
/*  2079*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetExternalSymbol),// ->2092
1148
0
/*  2082*/      OPC_MoveParent,
1149
0
/*  2083*/      OPC_CheckType, MVT::i32,
1150
0
/*  2085*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
1151
0
                    MVT::i32, 1/*#Ops*/, 0, 
1152
0
                // Src: (LanaiSmall:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst) - Complexity = 6
1153
0
                // Dst: (SLI:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst)
1154
0
/*  2092*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetBlockAddress),// ->2105
1155
0
/*  2095*/      OPC_MoveParent,
1156
0
/*  2096*/      OPC_CheckType, MVT::i32,
1157
0
/*  2098*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
1158
0
                    MVT::i32, 1/*#Ops*/, 0, 
1159
0
                // Src: (LanaiSmall:{ *:[i32] } (tblockaddress:{ *:[i32] }):$dst) - Complexity = 6
1160
0
                // Dst: (SLI:{ *:[i32] } (tblockaddress:{ *:[i32] }):$dst)
1161
0
/*  2105*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetJumpTable),// ->2118
1162
0
/*  2108*/      OPC_MoveParent,
1163
0
/*  2109*/      OPC_CheckType, MVT::i32,
1164
0
/*  2111*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
1165
0
                    MVT::i32, 1/*#Ops*/, 0, 
1166
0
                // Src: (LanaiSmall:{ *:[i32] } (tjumptable:{ *:[i32] }):$dst) - Complexity = 6
1167
0
                // Dst: (SLI:{ *:[i32] } (tjumptable:{ *:[i32] }):$dst)
1168
0
/*  2118*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetConstantPool),// ->2131
1169
0
/*  2121*/      OPC_MoveParent,
1170
0
/*  2122*/      OPC_CheckType, MVT::i32,
1171
0
/*  2124*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
1172
0
                    MVT::i32, 1/*#Ops*/, 0, 
1173
0
                // Src: (LanaiSmall:{ *:[i32] } (tconstpool:{ *:[i32] }):$dst) - Complexity = 6
1174
0
                // Dst: (SLI:{ *:[i32] } (tconstpool:{ *:[i32] }):$dst)
1175
0
/*  2131*/    0, // EndSwitchOpcode
1176
0
/*  2132*/  /*SwitchOpcode*/ 113, TARGET_VAL(ISD::Constant),// ->2248
1177
0
/*  2135*/    OPC_RecordNode, // #0 = $imm
1178
0
/*  2136*/    OPC_Scope, 18, /*->2156*/ // 6 children in Scope
1179
0
/*  2138*/      OPC_CheckPredicate, 16, // Predicate_i32lo16and
1180
0
/*  2140*/      OPC_EmitRegister, MVT::i32, Lanai::R1,
1181
0
/*  2143*/      OPC_EmitConvertToTarget, 0,
1182
0
/*  2145*/      OPC_EmitNodeXForm, 0, 2, // LO16
1183
0
/*  2148*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::AND_I_LO), 0,
1184
0
                    MVT::i32, 2/*#Ops*/, 1, 3, 
1185
0
                // Src: (imm:{ *:[i32] })<<P:Predicate_i32lo16and>><<X:LO16>>:$imm - Complexity = 4
1186
0
                // Dst: (AND_I_LO:{ *:[i32] } R1:{ *:[i32] }, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16and>>:$imm))
1187
0
/*  2156*/    /*Scope*/ 18, /*->2175*/
1188
0
/*  2157*/      OPC_CheckPredicate, 17, // Predicate_i32hi16and
1189
0
/*  2159*/      OPC_EmitRegister, MVT::i32, Lanai::R1,
1190
0
/*  2162*/      OPC_EmitConvertToTarget, 0,
1191
0
/*  2164*/      OPC_EmitNodeXForm, 1, 2, // HI16
1192
0
/*  2167*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::AND_I_HI), 0,
1193
0
                    MVT::i32, 2/*#Ops*/, 1, 3, 
1194
0
                // Src: (imm:{ *:[i32] })<<P:Predicate_i32hi16and>><<X:HI16>>:$imm - Complexity = 4
1195
0
                // Dst: (AND_I_HI:{ *:[i32] } R1:{ *:[i32] }, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16and>>:$imm))
1196
0
/*  2175*/    /*Scope*/ 14, /*->2190*/
1197
0
/*  2176*/      OPC_CheckPredicate, 15, // Predicate_i32hi16
1198
0
/*  2178*/      OPC_EmitConvertToTarget, 0,
1199
0
/*  2180*/      OPC_EmitNodeXForm, 1, 1, // HI16
1200
0
/*  2183*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
1201
0
                    MVT::i32, 1/*#Ops*/, 2, 
1202
0
                // Src: (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16 - Complexity = 4
1203
0
                // Dst: (MOVHI:{ *:[i32] } (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
1204
0
/*  2190*/    /*Scope*/ 14, /*->2205*/
1205
0
/*  2191*/      OPC_CheckPredicate, 20, // Predicate_i32lo21
1206
0
/*  2193*/      OPC_EmitConvertToTarget, 0,
1207
0
/*  2195*/      OPC_EmitNodeXForm, 3, 1, // LO21
1208
0
/*  2198*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
1209
0
                    MVT::i32, 1/*#Ops*/, 2, 
1210
0
                // Src: (imm:{ *:[i32] })<<P:Predicate_i32lo21>><<X:LO21>>:$imm - Complexity = 4
1211
0
                // Dst: (SLI:{ *:[i32] } (LO21:{ *:[i32] } (imm:{ *:[i32] }):$imm))
1212
0
/*  2205*/    /*Scope*/ 15, /*->2221*/
1213
0
/*  2206*/      OPC_CheckPredicate, 14, // Predicate_i32lo16z
1214
0
/*  2208*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
1215
0
/*  2211*/      OPC_EmitConvertToTarget, 0,
1216
0
/*  2213*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
1217
0
                    MVT::i32, 2/*#Ops*/, 1, 2, 
1218
0
                // Src: (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm - Complexity = 4
1219
0
                // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (imm:{ *:[i32] }):$imm)
1220
0
/*  2221*/    /*Scope*/ 25, /*->2247*/
1221
0
/*  2222*/      OPC_EmitConvertToTarget, 0,
1222
0
/*  2224*/      OPC_EmitNodeXForm, 1, 1, // HI16
1223
0
/*  2227*/      OPC_EmitNode1, TARGET_VAL(Lanai::MOVHI), 0,
1224
0
                    MVT::i32, 1/*#Ops*/, 2,  // Results = #3
1225
0
/*  2234*/      OPC_EmitConvertToTarget, 0,
1226
0
/*  2236*/      OPC_EmitNodeXForm, 0, 4, // LO16
1227
0
/*  2239*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
1228
0
                    MVT::i32, 2/*#Ops*/, 3, 5, 
1229
0
                // Src: (imm:{ *:[i32] }):$imm - Complexity = 3
1230
0
                // Dst: (OR_I_LO:{ *:[i32] } (MOVHI:{ *:[i32] } (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm)), (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm))
1231
0
/*  2247*/    0, /*End of Scope*/
1232
0
/*  2248*/  /*SwitchOpcode*/ 14, TARGET_VAL(ISD::BR),// ->2265
1233
0
/*  2251*/    OPC_RecordNode, // #0 = 'br' chained node
1234
0
/*  2252*/    OPC_RecordChild1, // #1 = $addr
1235
0
/*  2253*/    OPC_MoveChild1,
1236
0
/*  2254*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1237
0
/*  2257*/    OPC_MoveParent,
1238
0
/*  2258*/    OPC_EmitMergeInputChains1_0,
1239
0
/*  2259*/    OPC_MorphNodeTo0, TARGET_VAL(Lanai::BT), 0|OPFL_Chain,
1240
0
                  1/*#Ops*/, 1, 
1241
0
              // Src: (br (bb:{ *:[Other] }):$addr) - Complexity = 3
1242
0
              // Dst: (BT (bb:{ *:[Other] }):$addr)
1243
0
/*  2265*/  /*SwitchOpcode*/ 11, TARGET_VAL(ISD::BRIND),// ->2279
1244
0
/*  2268*/    OPC_RecordNode, // #0 = 'brind' chained node
1245
0
/*  2269*/    OPC_RecordChild1, // #1 = $Rs2
1246
0
/*  2270*/    OPC_CheckChild1Type, MVT::i32,
1247
0
/*  2272*/    OPC_EmitMergeInputChains1_0,
1248
0
/*  2273*/    OPC_MorphNodeTo0, TARGET_VAL(Lanai::JR), 0|OPFL_Chain,
1249
0
                  1/*#Ops*/, 1, 
1250
0
              // Src: (brind GPR:{ *:[i32] }:$Rs2) - Complexity = 3
1251
0
              // Dst: (JR GPR:{ *:[i32] }:$Rs2)
1252
0
/*  2279*/  /*SwitchOpcode*/ 8, TARGET_VAL(LanaiISD::RET_FLAG),// ->2290
1253
0
/*  2282*/    OPC_RecordNode, // #0 = 'RetFlag' chained node
1254
0
/*  2283*/    OPC_CaptureGlueInput,
1255
0
/*  2284*/    OPC_EmitMergeInputChains1_0,
1256
0
/*  2285*/    OPC_MorphNodeTo0, TARGET_VAL(Lanai::RET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
1257
0
                  0/*#Ops*/, 
1258
0
              // Src: (RetFlag) - Complexity = 3
1259
0
              // Dst: (RET)
1260
0
/*  2290*/  /*SwitchOpcode*/ 9, TARGET_VAL(LanaiISD::ADJDYNALLOC),// ->2302
1261
0
/*  2293*/    OPC_RecordChild0, // #0 = $src
1262
0
/*  2294*/    OPC_MorphNodeTo2, TARGET_VAL(Lanai::ADJDYNALLOC), 0,
1263
0
                  MVT::i32, MVT::i32, 1/*#Ops*/, 0, 
1264
0
              // Src: (LanaiAdjDynAlloc:{ *:[i32] } GPR:{ *:[i32] }:$src) - Complexity = 3
1265
0
              // Dst: (ADJDYNALLOC:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$src)
1266
0
/*  2302*/  /*SwitchOpcode*/ 8, TARGET_VAL(ISD::CTPOP),// ->2313
1267
0
/*  2305*/    OPC_RecordChild0, // #0 = $Rs1
1268
0
/*  2306*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::POPC), 0,
1269
0
                  MVT::i32, 1/*#Ops*/, 0, 
1270
0
              // Src: (ctpop:{ *:[i32] } GPR:{ *:[i32] }:$Rs1) - Complexity = 3
1271
0
              // Dst: (POPC:{ *:[i32] } GPR:{ *:[i32] }:$Rs1)
1272
0
/*  2313*/  /*SwitchOpcode*/ 8, TARGET_VAL(ISD::CTLZ),// ->2324
1273
0
/*  2316*/    OPC_RecordChild0, // #0 = $Rs1
1274
0
/*  2317*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::LEADZ), 0,
1275
0
                  MVT::i32, 1/*#Ops*/, 0, 
1276
0
              // Src: (ctlz:{ *:[i32] } GPR:{ *:[i32] }:$Rs1) - Complexity = 3
1277
0
              // Dst: (LEADZ:{ *:[i32] } GPR:{ *:[i32] }:$Rs1)
1278
0
/*  2324*/  /*SwitchOpcode*/ 8, TARGET_VAL(ISD::CTTZ),// ->2335
1279
0
/*  2327*/    OPC_RecordChild0, // #0 = $Rs1
1280
0
/*  2328*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::TRAILZ), 0,
1281
0
                  MVT::i32, 1/*#Ops*/, 0, 
1282
0
              // Src: (cttz:{ *:[i32] } GPR:{ *:[i32] }:$Rs1) - Complexity = 3
1283
0
              // Dst: (TRAILZ:{ *:[i32] } GPR:{ *:[i32] }:$Rs1)
1284
0
/*  2335*/  0, // EndSwitchOpcode
1285
0
    0
1286
0
  }; // Total Array size is 2337 bytes
1287
0
1288
0
  // Opcode Histogram:
1289
0
  // #OPC_Scope                                = 41
1290
0
  // #OPC_RecordNode                           = 11
1291
0
  // #OPC_RecordChild                          = 63
1292
0
  // #OPC_RecordMemRef                         = 3
1293
0
  // #OPC_CaptureGlueInput                     = 9
1294
0
  // #OPC_MoveChild                            = 32
1295
0
  // #OPC_MoveParent                           = 89
1296
0
  // #OPC_CheckSame                            = 0
1297
0
  // #OPC_CheckChildSame                       = 0
1298
0
  // #OPC_CheckPatternPredicate                = 0
1299
0
  // #OPC_CheckPredicate                       = 68
1300
0
  // #OPC_CheckOpcode                          = 24
1301
0
  // #OPC_SwitchOpcode                         = 9
1302
0
  // #OPC_CheckType                            = 32
1303
0
  // #OPC_SwitchType                           = 0
1304
0
  // #OPC_CheckChildType                       = 7
1305
0
  // #OPC_CheckInteger                         = 0
1306
0
  // #OPC_CheckChildInteger                    = 0
1307
0
  // #OPC_CheckCondCode                        = 0
1308
0
  // #OPC_CheckValueType                       = 0
1309
0
  // #OPC_CheckComplexPat                      = 22
1310
0
  // #OPC_CheckAndImm                          = 0
1311
0
  // #OPC_CheckOrImm                           = 0
1312
0
  // #OPC_CheckFoldableChainNode               = 0
1313
0
  // #OPC_EmitInteger                          = 15
1314
0
  // #OPC_EmitStringInteger                    = 0
1315
0
  // #OPC_EmitRegister                         = 10
1316
0
  // #OPC_EmitConvertToTarget                  = 39
1317
0
  // #OPC_EmitMergeInputChains                 = 31
1318
0
  // #OPC_EmitCopyToReg                        = 5
1319
0
  // #OPC_EmitNode                             = 3
1320
0
  // #OPC_EmitNodeXForm                        = 38
1321
0
  // #OPC_CompleteMatch                        = 0
1322
0
  // #OPC_MorphNodeTo                          = 125
1323
0
1324
0
  #undef TARGET_VAL
1325
0
  SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
1326
0
}
1327
#endif // GET_DAGISEL_BODY
1328
1329
#ifdef GET_DAGISEL_DECL
1330
bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
1331
#endif
1332
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
1333
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
1334
#if DAGISEL_INLINE
1335
  override
1336
#endif
1337
0
{
1338
0
  switch (PredNo) {
1339
0
  default: llvm_unreachable("Invalid predicate in table?");
1340
0
  case 0: { 
1341
0
    // Predicate_unindexedload
1342
0
    SDNode *N = Node;
1343
0
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
1344
0
return true;
1345
0
1346
0
  }
1347
0
  case 1: { 
1348
0
    // Predicate_load
1349
0
    SDNode *N = Node;
1350
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
1351
0
return true;
1352
0
1353
0
  }
1354
0
  case 2: { 
1355
0
    // Predicate_zextload
1356
0
    SDNode *N = Node;
1357
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
1358
0
return true;
1359
0
1360
0
  }
1361
0
  case 3: { 
1362
0
    // Predicate_zextloadi32
1363
0
    SDNode *N = Node;
1364
0
if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i32) return false;
1365
0
return true;
1366
0
1367
0
  }
1368
0
  case 4: { 
1369
0
    // Predicate_zextloadi16
1370
0
    // Predicate_sextloadi16
1371
0
    // Predicate_extloadi16
1372
0
    SDNode *N = Node;
1373
0
if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i16) return false;
1374
0
return true;
1375
0
1376
0
  }
1377
0
  case 5: { 
1378
0
    // Predicate_zextloadi8
1379
0
    // Predicate_sextloadi8
1380
0
    // Predicate_extloadi8
1381
0
    SDNode *N = Node;
1382
0
if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i8) return false;
1383
0
return true;
1384
0
1385
0
  }
1386
0
  case 6: { 
1387
0
    // Predicate_sextload
1388
0
    SDNode *N = Node;
1389
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
1390
0
return true;
1391
0
1392
0
  }
1393
0
  case 7: { 
1394
0
    // Predicate_extload
1395
0
    SDNode *N = Node;
1396
0
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
1397
0
return true;
1398
0
1399
0
  }
1400
0
  case 8: { 
1401
0
    // Predicate_unindexedstore
1402
0
    SDNode *N = Node;
1403
0
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
1404
0
return true;
1405
0
1406
0
  }
1407
0
  case 9: { 
1408
0
    // Predicate_store
1409
0
    SDNode *N = Node;
1410
0
 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
1411
0
return true;
1412
0
1413
0
  }
1414
0
  case 10: { 
1415
0
    // Predicate_truncstore
1416
0
    SDNode *N = Node;
1417
0
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
1418
0
return true;
1419
0
1420
0
  }
1421
0
  case 11: { 
1422
0
    // Predicate_truncstorei16
1423
0
    SDNode *N = Node;
1424
0
if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i16) return false;
1425
0
return true;
1426
0
1427
0
  }
1428
0
  case 12: { 
1429
0
    // Predicate_truncstorei8
1430
0
    SDNode *N = Node;
1431
0
if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i8) return false;
1432
0
return true;
1433
0
1434
0
  }
1435
0
  case 13: { 
1436
0
    // Predicate_atomic_load_8
1437
0
    SDNode *N = Node;
1438
0
if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i8) return false;
1439
0
return true;
1440
0
1441
0
  }
1442
0
  case 14: { 
1443
0
    // Predicate_i32lo16z
1444
0
    auto *N = cast<ConstantSDNode>(Node);
1445
0
1446
0
    // i32lo16 predicate - true if the 32-bit immediate has only rightmost 16
1447
0
    // bits set.
1448
0
    return ((N->getZExtValue() & 0xFFFFUL) == N->getZExtValue());
1449
0
  }
1450
0
  case 15: { 
1451
0
    // Predicate_i32hi16
1452
0
    auto *N = cast<ConstantSDNode>(Node);
1453
0
1454
0
    // i32hi16 predicate - true if the 32-bit immediate has only leftmost 16
1455
0
    // bits set.
1456
0
    return ((N->getZExtValue() & 0xFFFF0000UL) == N->getZExtValue());
1457
0
  }
1458
0
  case 16: { 
1459
0
    // Predicate_i32lo16and
1460
0
    auto *N = cast<ConstantSDNode>(Node);
1461
0
1462
0
    // i32lo16 predicate - true if the 32-bit immediate has the rightmost 16
1463
0
    // bits set and the leftmost 16 bits 1's.
1464
0
    return (N->getZExtValue() >= 0xFFFF0000UL);
1465
0
  }
1466
0
  case 17: { 
1467
0
    // Predicate_i32hi16and
1468
0
    auto *N = cast<ConstantSDNode>(Node);
1469
0
1470
0
    // i32lo16 predicate - true if the 32-bit immediate has the leftmost 16
1471
0
    // bits set and the rightmost 16 bits 1's.
1472
0
    return ((N->getZExtValue() & 0xFFFFUL) == 0xFFFFUL);
1473
0
  }
1474
0
  case 18: { 
1475
0
    // Predicate_i32neg16
1476
0
    auto *N = cast<ConstantSDNode>(Node);
1477
0
1478
0
    // i32neg16 predicate - true if the 32-bit immediate is negative and can
1479
0
    // be represented by a 16 bit integer.
1480
0
    int Imm = N->getSExtValue();
1481
0
    return (Imm < 0) && (isInt<16>(Imm));
1482
0
  }
1483
0
  case 19: { 
1484
0
    // Predicate_immShift
1485
0
    auto *N = cast<ConstantSDNode>(Node);
1486
0
1487
0
    int Imm = N->getSExtValue();
1488
0
    return Imm >= -31 && Imm <= 31;
1489
0
  }
1490
0
  case 20: { 
1491
0
    // Predicate_i32lo21
1492
0
    auto *N = cast<ConstantSDNode>(Node);
1493
0
1494
0
    // i32lo21 predicate - true if the 32-bit immediate has only rightmost 21
1495
0
    // bits set.
1496
0
    return ((N->getZExtValue() & 0x1FFFFFUL) == N->getZExtValue());
1497
0
  }
1498
0
  }
1499
0
}
1500
#endif // GET_DAGISEL_BODY
1501
1502
#ifdef GET_DAGISEL_DECL
1503
bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
1504
      SDValue N, unsigned PatternNo,
1505
      SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result) override;
1506
#endif
1507
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
1508
bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
1509
      SDValue N, unsigned PatternNo,
1510
      SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result)
1511
#if DAGISEL_INLINE
1512
  override
1513
#endif
1514
0
{
1515
0
  unsigned NextRes = Result.size();
1516
0
  switch (PatternNo) {
1517
0
  default: llvm_unreachable("Invalid pattern # in table?");
1518
0
  case 0:
1519
0
    Result.resize(NextRes+3);
1520
0
  return selectAddrRi(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
1521
0
  case 1:
1522
0
    Result.resize(NextRes+3);
1523
0
  return selectAddrRr(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
1524
0
  case 2:
1525
0
    Result.resize(NextRes+3);
1526
0
  return selectAddrSpls(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
1527
0
  case 3:
1528
0
    Result.resize(NextRes+1);
1529
0
  return selectAddrSls(N, Result[NextRes+0].first);
1530
0
  }
1531
0
}
1532
#endif // GET_DAGISEL_BODY
1533
1534
#ifdef GET_DAGISEL_DECL
1535
SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
1536
#endif
1537
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
1538
SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
1539
#if DAGISEL_INLINE
1540
  override
1541
#endif
1542
0
{
1543
0
  switch (XFormNo) {
1544
0
  default: llvm_unreachable("Invalid xform # in table?");
1545
0
  case 0: {  // LO16
1546
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
1547
0
1548
0
  return CurDAG->getTargetConstant((uint64_t)N->getZExtValue() & 0xffff,
1549
0
                                   SDLoc(N), MVT::i32);
1550
0
1551
0
  }
1552
0
  case 1: {  // HI16
1553
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
1554
0
1555
0
  return CurDAG->getTargetConstant((uint64_t)N->getZExtValue() >> 16, SDLoc(N),
1556
0
                                   MVT::i32);
1557
0
1558
0
  }
1559
0
  case 2: {  // NEG
1560
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
1561
0
1562
0
  return CurDAG->getTargetConstant(-N->getSExtValue(), SDLoc(N), MVT::i32);
1563
0
1564
0
  }
1565
0
  case 3: {  // LO21
1566
0
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
1567
0
1568
0
  return CurDAG->getTargetConstant((uint64_t)N->getZExtValue() & 0x1fffff,
1569
0
                                   SDLoc(N), MVT::i32);
1570
0
1571
0
  }
1572
0
  }
1573
0
}
1574
#endif // GET_DAGISEL_BODY
1575
1576
1577
#ifdef DAGISEL_INLINE
1578
#undef DAGISEL_INLINE
1579
#endif
1580
#ifdef DAGISEL_CLASS_COLONCOLON
1581
#undef DAGISEL_CLASS_COLONCOLON
1582
#endif
1583
#ifdef GET_DAGISEL_DECL
1584
#undef GET_DAGISEL_DECL
1585
#endif
1586
#ifdef GET_DAGISEL_BODY
1587
#undef GET_DAGISEL_BODY
1588
#endif