Line data Source code
1 : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2 : |* *|
3 : |* DAG Instruction Selector for the XCore 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 : {
53 : // Some target values are emitted as 2 bytes, TARGET_VAL handles
54 : // this.
55 : #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
56 : static const unsigned char MatcherTable[] = {
57 : /* 0*/ OPC_SwitchOpcode /*44 cases */, 69|128,1/*197*/, TARGET_VAL(ISD::ADD),// ->202
58 : /* 5*/ OPC_Scope, 26, /*->33*/ // 5 children in Scope
59 : /* 7*/ OPC_MoveChild0,
60 : /* 8*/ OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
61 : /* 11*/ OPC_CheckChild0Integer, 1,
62 : /* 13*/ OPC_RecordChild1, // #0 = $size
63 : /* 14*/ OPC_MoveParent,
64 : /* 15*/ OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/,
65 : /* 26*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::MKMSK_2r), 0,
66 : MVT::i32, 1/*#Ops*/, 0,
67 : // Src: (add:{ *:[i32] } (shl:{ *:[i32] } 1:{ *:[i32] }, GRRegs:{ *:[i32] }:$size), -1:{ *:[i32] }) - Complexity = 16
68 : // Dst: (MKMSK_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$size)
69 : /* 33*/ /*Scope*/ 32, /*->66*/
70 : /* 34*/ OPC_RecordChild0, // #0 = $addr
71 : /* 35*/ OPC_MoveChild1,
72 : /* 36*/ OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
73 : /* 39*/ OPC_RecordChild0, // #1 = $offset
74 : /* 40*/ OPC_Scope, 11, /*->53*/ // 2 children in Scope
75 : /* 42*/ OPC_CheckChild1Integer, 2,
76 : /* 44*/ OPC_MoveParent,
77 : /* 45*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWF_l3r), 0,
78 : MVT::i32, 2/*#Ops*/, 0, 1,
79 : // Src: (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 2:{ *:[i32] })) - Complexity = 11
80 : // Dst: (LDAWF_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
81 : /* 53*/ /*Scope*/ 11, /*->65*/
82 : /* 54*/ OPC_CheckChild1Integer, 1,
83 : /* 56*/ OPC_MoveParent,
84 : /* 57*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDA16F_l3r), 0,
85 : MVT::i32, 2/*#Ops*/, 0, 1,
86 : // Src: (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 1:{ *:[i32] })) - Complexity = 11
87 : // Dst: (LDA16F_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
88 : /* 65*/ 0, /*End of Scope*/
89 : /* 66*/ /*Scope*/ 33, /*->100*/
90 : /* 67*/ OPC_MoveChild0,
91 : /* 68*/ OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
92 : /* 71*/ OPC_RecordChild0, // #0 = $offset
93 : /* 72*/ OPC_Scope, 12, /*->86*/ // 2 children in Scope
94 : /* 74*/ OPC_CheckChild1Integer, 2,
95 : /* 76*/ OPC_MoveParent,
96 : /* 77*/ OPC_RecordChild1, // #1 = $addr
97 : /* 78*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWF_l3r), 0,
98 : MVT::i32, 2/*#Ops*/, 1, 0,
99 : // Src: (add:{ *:[i32] } (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 2:{ *:[i32] }), GRRegs:{ *:[i32] }:$addr) - Complexity = 11
100 : // Dst: (LDAWF_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
101 : /* 86*/ /*Scope*/ 12, /*->99*/
102 : /* 87*/ OPC_CheckChild1Integer, 1,
103 : /* 89*/ OPC_MoveParent,
104 : /* 90*/ OPC_RecordChild1, // #1 = $addr
105 : /* 91*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDA16F_l3r), 0,
106 : MVT::i32, 2/*#Ops*/, 1, 0,
107 : // Src: (add:{ *:[i32] } (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 1:{ *:[i32] }), GRRegs:{ *:[i32] }:$addr) - Complexity = 11
108 : // Dst: (LDA16F_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
109 : /* 99*/ 0, /*End of Scope*/
110 : /* 100*/ /*Scope*/ 14, /*->115*/
111 : /* 101*/ OPC_RecordNode, // #0 = $addr
112 : /* 102*/ OPC_CheckType, MVT::i32,
113 : /* 104*/ OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectADDRspii:$addr #1 #2
114 : /* 107*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWFI), 0,
115 : MVT::i32, 2/*#Ops*/, 1, 2,
116 : // Src: ADDRspii:{ *:[i32] }:$addr - Complexity = 9
117 : // Dst: (LDAWFI:{ *:[i32] } ADDRspii:{ *:[i32] }:$addr)
118 : /* 115*/ /*Scope*/ 85, /*->201*/
119 : /* 116*/ OPC_RecordChild0, // #0 = $b
120 : /* 117*/ OPC_RecordChild1, // #1 = $c
121 : /* 118*/ OPC_Scope, 71, /*->191*/ // 2 children in Scope
122 : /* 120*/ OPC_MoveChild1,
123 : /* 121*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
124 : /* 124*/ OPC_Scope, 13, /*->139*/ // 4 children in Scope
125 : /* 126*/ OPC_CheckPredicate, 0, // Predicate_immUs
126 : /* 128*/ OPC_MoveParent,
127 : /* 129*/ OPC_EmitConvertToTarget, 1,
128 : /* 131*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ADD_2rus), 0,
129 : MVT::i32, 2/*#Ops*/, 0, 2,
130 : // Src: (add:{ *:[i32] } GRRegs:{ *:[i32] }:$b, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$c) - Complexity = 7
131 : // Dst: (ADD_2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$b, (imm:{ *:[i32] }):$c)
132 : /* 139*/ /*Scope*/ 16, /*->156*/
133 : /* 140*/ OPC_CheckPredicate, 1, // Predicate_immUs4
134 : /* 142*/ OPC_MoveParent,
135 : /* 143*/ OPC_EmitConvertToTarget, 1,
136 : /* 145*/ OPC_EmitNodeXForm, 0, 2, // div4_xform
137 : /* 148*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWF_l2rus), 0,
138 : MVT::i32, 2/*#Ops*/, 0, 3,
139 : // Src: (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (imm:{ *:[i32] })<<P:Predicate_immUs4>>:$offset) - Complexity = 7
140 : // Dst: (LDAWF_l2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (div4_xform:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immUs4>>:$offset))
141 : /* 156*/ /*Scope*/ 16, /*->173*/
142 : /* 157*/ OPC_CheckPredicate, 2, // Predicate_immUsNeg
143 : /* 159*/ OPC_MoveParent,
144 : /* 160*/ OPC_EmitConvertToTarget, 1,
145 : /* 162*/ OPC_EmitNodeXForm, 1, 2, // neg_xform
146 : /* 165*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SUB_2rus), 0,
147 : MVT::i32, 2/*#Ops*/, 0, 3,
148 : // Src: (add:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, (imm:{ *:[i32] })<<P:Predicate_immUsNeg>>:$src2) - Complexity = 7
149 : // Dst: (SUB_2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, (neg_xform:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immUsNeg>>:$src2))
150 : /* 173*/ /*Scope*/ 16, /*->190*/
151 : /* 174*/ OPC_CheckPredicate, 3, // Predicate_immUs4Neg
152 : /* 176*/ OPC_MoveParent,
153 : /* 177*/ OPC_EmitConvertToTarget, 1,
154 : /* 179*/ OPC_EmitNodeXForm, 2, 2, // div4neg_xform
155 : /* 182*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWB_l2rus), 0,
156 : MVT::i32, 2/*#Ops*/, 0, 3,
157 : // Src: (add:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, (imm:{ *:[i32] })<<P:Predicate_immUs4Neg>>:$src2) - Complexity = 7
158 : // Dst: (LDAWB_l2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, (div4neg_xform:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immUs4Neg>>:$src2))
159 : /* 190*/ 0, /*End of Scope*/
160 : /* 191*/ /*Scope*/ 8, /*->200*/
161 : /* 192*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ADD_3r), 0,
162 : MVT::i32, 2/*#Ops*/, 0, 1,
163 : // Src: (add:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
164 : // Dst: (ADD_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
165 : /* 200*/ 0, /*End of Scope*/
166 : /* 201*/ 0, /*End of Scope*/
167 : /* 202*/ /*SwitchOpcode*/ 55|128,3/*439*/, TARGET_VAL(ISD::LOAD),// ->645
168 : /* 206*/ OPC_RecordMemRef,
169 : /* 207*/ OPC_RecordNode, // #0 = 'ld' chained node
170 : /* 208*/ OPC_Scope, 15|128,1/*143*/, /*->354*/ // 4 children in Scope
171 : /* 211*/ OPC_MoveChild1,
172 : /* 212*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
173 : /* 215*/ OPC_Scope, 67, /*->284*/ // 2 children in Scope
174 : /* 217*/ OPC_RecordChild0, // #1 = $addr
175 : /* 218*/ OPC_MoveChild1,
176 : /* 219*/ OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
177 : /* 222*/ OPC_RecordChild0, // #2 = $offset
178 : /* 223*/ OPC_Scope, 38, /*->263*/ // 2 children in Scope
179 : /* 225*/ OPC_CheckChild1Integer, 1,
180 : /* 227*/ OPC_MoveParent,
181 : /* 228*/ OPC_MoveParent,
182 : /* 229*/ OPC_CheckPredicate, 4, // Predicate_unindexedload
183 : /* 231*/ OPC_CheckType, MVT::i32,
184 : /* 233*/ OPC_Scope, 13, /*->248*/ // 2 children in Scope
185 : /* 235*/ OPC_CheckPredicate, 5, // Predicate_sextload
186 : /* 237*/ OPC_CheckPredicate, 6, // Predicate_sextloadi16
187 : /* 239*/ OPC_EmitMergeInputChains1_0,
188 : /* 240*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LD16S_3r), 0|OPFL_Chain|OPFL_MemRefs,
189 : MVT::i32, 2/*#Ops*/, 1, 2,
190 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 1:{ *:[i32] })))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 15
191 : // Dst: (LD16S_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
192 : /* 248*/ /*Scope*/ 13, /*->262*/
193 : /* 249*/ OPC_CheckPredicate, 7, // Predicate_extload
194 : /* 251*/ OPC_CheckPredicate, 6, // Predicate_extloadi16
195 : /* 253*/ OPC_EmitMergeInputChains1_0,
196 : /* 254*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LD16S_3r), 0|OPFL_Chain|OPFL_MemRefs,
197 : MVT::i32, 2/*#Ops*/, 1, 2,
198 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 1:{ *:[i32] })))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 15
199 : // Dst: (LD16S_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
200 : /* 262*/ 0, /*End of Scope*/
201 : /* 263*/ /*Scope*/ 19, /*->283*/
202 : /* 264*/ OPC_CheckChild1Integer, 2,
203 : /* 266*/ OPC_MoveParent,
204 : /* 267*/ OPC_MoveParent,
205 : /* 268*/ OPC_CheckPredicate, 4, // Predicate_unindexedload
206 : /* 270*/ OPC_CheckPredicate, 8, // Predicate_load
207 : /* 272*/ OPC_CheckType, MVT::i32,
208 : /* 274*/ OPC_EmitMergeInputChains1_0,
209 : /* 275*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDW_3r), 0|OPFL_Chain|OPFL_MemRefs,
210 : MVT::i32, 2/*#Ops*/, 1, 2,
211 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 2:{ *:[i32] })))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 15
212 : // Dst: (LDW_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
213 : /* 283*/ 0, /*End of Scope*/
214 : /* 284*/ /*Scope*/ 68, /*->353*/
215 : /* 285*/ OPC_MoveChild0,
216 : /* 286*/ OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
217 : /* 289*/ OPC_RecordChild0, // #1 = $offset
218 : /* 290*/ OPC_Scope, 39, /*->331*/ // 2 children in Scope
219 : /* 292*/ OPC_CheckChild1Integer, 1,
220 : /* 294*/ OPC_MoveParent,
221 : /* 295*/ OPC_RecordChild1, // #2 = $addr
222 : /* 296*/ OPC_MoveParent,
223 : /* 297*/ OPC_CheckPredicate, 4, // Predicate_unindexedload
224 : /* 299*/ OPC_CheckType, MVT::i32,
225 : /* 301*/ OPC_Scope, 13, /*->316*/ // 2 children in Scope
226 : /* 303*/ OPC_CheckPredicate, 5, // Predicate_sextload
227 : /* 305*/ OPC_CheckPredicate, 6, // Predicate_sextloadi16
228 : /* 307*/ OPC_EmitMergeInputChains1_0,
229 : /* 308*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LD16S_3r), 0|OPFL_Chain|OPFL_MemRefs,
230 : MVT::i32, 2/*#Ops*/, 2, 1,
231 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 1:{ *:[i32] }), GRRegs:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 15
232 : // Dst: (LD16S_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
233 : /* 316*/ /*Scope*/ 13, /*->330*/
234 : /* 317*/ OPC_CheckPredicate, 7, // Predicate_extload
235 : /* 319*/ OPC_CheckPredicate, 6, // Predicate_extloadi16
236 : /* 321*/ OPC_EmitMergeInputChains1_0,
237 : /* 322*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LD16S_3r), 0|OPFL_Chain|OPFL_MemRefs,
238 : MVT::i32, 2/*#Ops*/, 2, 1,
239 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 1:{ *:[i32] }), GRRegs:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 15
240 : // Dst: (LD16S_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
241 : /* 330*/ 0, /*End of Scope*/
242 : /* 331*/ /*Scope*/ 20, /*->352*/
243 : /* 332*/ OPC_CheckChild1Integer, 2,
244 : /* 334*/ OPC_MoveParent,
245 : /* 335*/ OPC_RecordChild1, // #2 = $addr
246 : /* 336*/ OPC_MoveParent,
247 : /* 337*/ OPC_CheckPredicate, 4, // Predicate_unindexedload
248 : /* 339*/ OPC_CheckPredicate, 8, // Predicate_load
249 : /* 341*/ OPC_CheckType, MVT::i32,
250 : /* 343*/ OPC_EmitMergeInputChains1_0,
251 : /* 344*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDW_3r), 0|OPFL_Chain|OPFL_MemRefs,
252 : MVT::i32, 2/*#Ops*/, 2, 1,
253 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 2:{ *:[i32] }), GRRegs:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 15
254 : // Dst: (LDW_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
255 : /* 352*/ 0, /*End of Scope*/
256 : /* 353*/ 0, /*End of Scope*/
257 : /* 354*/ /*Scope*/ 21, /*->376*/
258 : /* 355*/ OPC_RecordChild1, // #1 = $addr
259 : /* 356*/ OPC_CheckChild1Type, MVT::i32,
260 : /* 358*/ OPC_CheckPredicate, 4, // Predicate_unindexedload
261 : /* 360*/ OPC_CheckPredicate, 8, // Predicate_load
262 : /* 362*/ OPC_CheckType, MVT::i32,
263 : /* 364*/ OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectADDRspii:$addr #2 #3
264 : /* 367*/ OPC_EmitMergeInputChains1_0,
265 : /* 368*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDWFI), 0|OPFL_Chain|OPFL_MemRefs,
266 : MVT::i32, 2/*#Ops*/, 2, 3,
267 : // Src: (ld:{ *:[i32] } ADDRspii:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
268 : // Dst: (LDWFI:{ *:[i32] } ADDRspii:{ *:[i32] }:$addr)
269 : /* 376*/ /*Scope*/ 16|128,1/*144*/, /*->522*/
270 : /* 378*/ OPC_MoveChild1,
271 : /* 379*/ OPC_SwitchOpcode /*3 cases */, 69, TARGET_VAL(ISD::ADD),// ->452
272 : /* 383*/ OPC_RecordChild0, // #1 = $addr
273 : /* 384*/ OPC_RecordChild1, // #2 = $offset
274 : /* 385*/ OPC_Scope, 28, /*->415*/ // 2 children in Scope
275 : /* 387*/ OPC_MoveChild1,
276 : /* 388*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
277 : /* 391*/ OPC_CheckPredicate, 1, // Predicate_immUs4
278 : /* 393*/ OPC_MoveParent,
279 : /* 394*/ OPC_MoveParent,
280 : /* 395*/ OPC_CheckPredicate, 4, // Predicate_unindexedload
281 : /* 397*/ OPC_CheckPredicate, 8, // Predicate_load
282 : /* 399*/ OPC_CheckType, MVT::i32,
283 : /* 401*/ OPC_EmitMergeInputChains1_0,
284 : /* 402*/ OPC_EmitConvertToTarget, 2,
285 : /* 404*/ OPC_EmitNodeXForm, 0, 3, // div4_xform
286 : /* 407*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDW_2rus), 0|OPFL_Chain|OPFL_MemRefs,
287 : MVT::i32, 2/*#Ops*/, 1, 4,
288 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (imm:{ *:[i32] })<<P:Predicate_immUs4>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
289 : // Dst: (LDW_2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (div4_xform:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immUs4>>:$offset))
290 : /* 415*/ /*Scope*/ 35, /*->451*/
291 : /* 416*/ OPC_MoveParent,
292 : /* 417*/ OPC_CheckPredicate, 4, // Predicate_unindexedload
293 : /* 419*/ OPC_CheckType, MVT::i32,
294 : /* 421*/ OPC_Scope, 13, /*->436*/ // 2 children in Scope
295 : /* 423*/ OPC_CheckPredicate, 9, // Predicate_zextload
296 : /* 425*/ OPC_CheckPredicate, 10, // Predicate_zextloadi8
297 : /* 427*/ OPC_EmitMergeInputChains1_0,
298 : /* 428*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LD8U_3r), 0|OPFL_Chain|OPFL_MemRefs,
299 : MVT::i32, 2/*#Ops*/, 1, 2,
300 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 7
301 : // Dst: (LD8U_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
302 : /* 436*/ /*Scope*/ 13, /*->450*/
303 : /* 437*/ OPC_CheckPredicate, 7, // Predicate_extload
304 : /* 439*/ OPC_CheckPredicate, 10, // Predicate_extloadi8
305 : /* 441*/ OPC_EmitMergeInputChains1_0,
306 : /* 442*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LD8U_3r), 0|OPFL_Chain|OPFL_MemRefs,
307 : MVT::i32, 2/*#Ops*/, 1, 2,
308 : // Src: (ld:{ *:[i32] } (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 7
309 : // Dst: (LD8U_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
310 : /* 450*/ 0, /*End of Scope*/
311 : /* 451*/ 0, /*End of Scope*/
312 : /* 452*/ /*SwitchOpcode*/ 21, TARGET_VAL(XCoreISD::DPRelativeWrapper),// ->476
313 : /* 455*/ OPC_RecordChild0, // #1 = $b
314 : /* 456*/ OPC_MoveChild0,
315 : /* 457*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
316 : /* 460*/ OPC_MoveParent,
317 : /* 461*/ OPC_MoveParent,
318 : /* 462*/ OPC_CheckPredicate, 4, // Predicate_unindexedload
319 : /* 464*/ OPC_CheckPredicate, 8, // Predicate_load
320 : /* 466*/ OPC_CheckType, MVT::i32,
321 : /* 468*/ OPC_EmitMergeInputChains1_0,
322 : /* 469*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDWDP_lru6), 0|OPFL_Chain|OPFL_MemRefs,
323 : MVT::i32, 1/*#Ops*/, 1,
324 : // Src: (ld:{ *:[i32] } (dprelwrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$b))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
325 : // Dst: (LDWDP_lru6:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$b)
326 : /* 476*/ /*SwitchOpcode*/ 42, TARGET_VAL(XCoreISD::CPRelativeWrapper),// ->521
327 : /* 479*/ OPC_RecordChild0, // #1 = $b
328 : /* 480*/ OPC_MoveChild0,
329 : /* 481*/ OPC_SwitchOpcode /*2 cases */, 16, TARGET_VAL(ISD::TargetGlobalAddress),// ->501
330 : /* 485*/ OPC_MoveParent,
331 : /* 486*/ OPC_MoveParent,
332 : /* 487*/ OPC_CheckPredicate, 4, // Predicate_unindexedload
333 : /* 489*/ OPC_CheckPredicate, 8, // Predicate_load
334 : /* 491*/ OPC_CheckType, MVT::i32,
335 : /* 493*/ OPC_EmitMergeInputChains1_0,
336 : /* 494*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDWCP_lru6), 0|OPFL_Chain|OPFL_MemRefs,
337 : MVT::i32, 1/*#Ops*/, 1,
338 : // Src: (ld:{ *:[i32] } (cprelwrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$b))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
339 : // Dst: (LDWCP_lru6:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$b)
340 : /* 501*/ /*SwitchOpcode*/ 16, TARGET_VAL(ISD::TargetConstantPool),// ->520
341 : /* 504*/ OPC_MoveParent,
342 : /* 505*/ OPC_MoveParent,
343 : /* 506*/ OPC_CheckPredicate, 4, // Predicate_unindexedload
344 : /* 508*/ OPC_CheckPredicate, 8, // Predicate_load
345 : /* 510*/ OPC_CheckType, MVT::i32,
346 : /* 512*/ OPC_EmitMergeInputChains1_0,
347 : /* 513*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDWCP_lru6), 0|OPFL_Chain|OPFL_MemRefs,
348 : MVT::i32, 1/*#Ops*/, 1,
349 : // Src: (ld:{ *:[i32] } (cprelwrapper:{ *:[iPTR] } (tconstpool:{ *:[iPTR] }):$b))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
350 : // Dst: (LDWCP_lru6:{ *:[i32] } (tconstpool:{ *:[i32] }):$b)
351 : /* 520*/ 0, // EndSwitchOpcode
352 : /* 521*/ 0, // EndSwitchOpcode
353 : /* 522*/ /*Scope*/ 121, /*->644*/
354 : /* 523*/ OPC_RecordChild1, // #1 = $addr
355 : /* 524*/ OPC_CheckChild1Type, MVT::i32,
356 : /* 526*/ OPC_CheckPredicate, 4, // Predicate_unindexedload
357 : /* 528*/ OPC_CheckType, MVT::i32,
358 : /* 530*/ OPC_Scope, 14, /*->546*/ // 4 children in Scope
359 : /* 532*/ OPC_CheckPredicate, 8, // Predicate_load
360 : /* 534*/ OPC_EmitMergeInputChains1_0,
361 : /* 535*/ OPC_EmitInteger, MVT::i32, 0,
362 : /* 538*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDW_2rus), 0|OPFL_Chain|OPFL_MemRefs,
363 : MVT::i32, 2/*#Ops*/, 1, 2,
364 : // Src: (ld:{ *:[i32] } GRRegs:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
365 : // Dst: (LDW_2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, 0:{ *:[i32] })
366 : /* 546*/ /*Scope*/ 23, /*->570*/
367 : /* 547*/ OPC_CheckPredicate, 9, // Predicate_zextload
368 : /* 549*/ OPC_CheckPredicate, 10, // Predicate_zextloadi8
369 : /* 551*/ OPC_EmitMergeInputChains1_0,
370 : /* 552*/ OPC_EmitInteger, MVT::i32, 0,
371 : /* 555*/ OPC_EmitNode1, TARGET_VAL(XCore::LDC_ru6), 0,
372 : MVT::i32, 1/*#Ops*/, 2, // Results = #3
373 : /* 562*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LD8U_3r), 0|OPFL_Chain|OPFL_MemRefs,
374 : MVT::i32, 2/*#Ops*/, 1, 3,
375 : // Src: (ld:{ *:[i32] } GRRegs:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 4
376 : // Dst: (LD8U_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (LDC_ru6:{ *:[i32] } 0:{ *:[i32] }))
377 : /* 570*/ /*Scope*/ 23, /*->594*/
378 : /* 571*/ OPC_CheckPredicate, 5, // Predicate_sextload
379 : /* 573*/ OPC_CheckPredicate, 6, // Predicate_sextloadi16
380 : /* 575*/ OPC_EmitMergeInputChains1_0,
381 : /* 576*/ OPC_EmitInteger, MVT::i32, 0,
382 : /* 579*/ OPC_EmitNode1, TARGET_VAL(XCore::LDC_ru6), 0,
383 : MVT::i32, 1/*#Ops*/, 2, // Results = #3
384 : /* 586*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LD16S_3r), 0|OPFL_Chain|OPFL_MemRefs,
385 : MVT::i32, 2/*#Ops*/, 1, 3,
386 : // Src: (ld:{ *:[i32] } GRRegs:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 4
387 : // Dst: (LD16S_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (LDC_ru6:{ *:[i32] } 0:{ *:[i32] }))
388 : /* 594*/ /*Scope*/ 48, /*->643*/
389 : /* 595*/ OPC_CheckPredicate, 7, // Predicate_extload
390 : /* 597*/ OPC_Scope, 21, /*->620*/ // 2 children in Scope
391 : /* 599*/ OPC_CheckPredicate, 10, // Predicate_extloadi8
392 : /* 601*/ OPC_EmitMergeInputChains1_0,
393 : /* 602*/ OPC_EmitInteger, MVT::i32, 0,
394 : /* 605*/ OPC_EmitNode1, TARGET_VAL(XCore::LDC_ru6), 0,
395 : MVT::i32, 1/*#Ops*/, 2, // Results = #3
396 : /* 612*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LD8U_3r), 0|OPFL_Chain|OPFL_MemRefs,
397 : MVT::i32, 2/*#Ops*/, 1, 3,
398 : // Src: (ld:{ *:[i32] } GRRegs:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 4
399 : // Dst: (LD8U_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (LDC_ru6:{ *:[i32] } 0:{ *:[i32] }))
400 : /* 620*/ /*Scope*/ 21, /*->642*/
401 : /* 621*/ OPC_CheckPredicate, 6, // Predicate_extloadi16
402 : /* 623*/ OPC_EmitMergeInputChains1_0,
403 : /* 624*/ OPC_EmitInteger, MVT::i32, 0,
404 : /* 627*/ OPC_EmitNode1, TARGET_VAL(XCore::LDC_ru6), 0,
405 : MVT::i32, 1/*#Ops*/, 2, // Results = #3
406 : /* 634*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LD16S_3r), 0|OPFL_Chain|OPFL_MemRefs,
407 : MVT::i32, 2/*#Ops*/, 1, 3,
408 : // Src: (ld:{ *:[i32] } GRRegs:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 4
409 : // Dst: (LD16S_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (LDC_ru6:{ *:[i32] } 0:{ *:[i32] }))
410 : /* 642*/ 0, /*End of Scope*/
411 : /* 643*/ 0, /*End of Scope*/
412 : /* 644*/ 0, /*End of Scope*/
413 : /* 645*/ /*SwitchOpcode*/ 22|128,2/*278*/, TARGET_VAL(ISD::STORE),// ->927
414 : /* 649*/ OPC_RecordMemRef,
415 : /* 650*/ OPC_RecordNode, // #0 = 'st' chained node
416 : /* 651*/ OPC_RecordChild1, // #1 = $val
417 : /* 652*/ OPC_CheckChild1Type, MVT::i32,
418 : /* 654*/ OPC_Scope, 101, /*->757*/ // 4 children in Scope
419 : /* 656*/ OPC_MoveChild2,
420 : /* 657*/ OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
421 : /* 660*/ OPC_Scope, 46, /*->708*/ // 2 children in Scope
422 : /* 662*/ OPC_RecordChild0, // #2 = $addr
423 : /* 663*/ OPC_MoveChild1,
424 : /* 664*/ OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
425 : /* 667*/ OPC_RecordChild0, // #3 = $offset
426 : /* 668*/ OPC_Scope, 19, /*->689*/ // 2 children in Scope
427 : /* 670*/ OPC_CheckChild1Integer, 1,
428 : /* 672*/ OPC_MoveParent,
429 : /* 673*/ OPC_MoveParent,
430 : /* 674*/ OPC_CheckPredicate, 11, // Predicate_unindexedstore
431 : /* 676*/ OPC_CheckPredicate, 12, // Predicate_truncstore
432 : /* 678*/ OPC_CheckPredicate, 13, // Predicate_truncstorei16
433 : /* 680*/ OPC_EmitMergeInputChains1_0,
434 : /* 681*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::ST16_l3r), 0|OPFL_Chain|OPFL_MemRefs,
435 : 3/*#Ops*/, 1, 2, 3,
436 : // Src: (st GRRegs:{ *:[i32] }:$val, (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 1:{ *:[i32] })))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 15
437 : // Dst: (ST16_l3r GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
438 : /* 689*/ /*Scope*/ 17, /*->707*/
439 : /* 690*/ OPC_CheckChild1Integer, 2,
440 : /* 692*/ OPC_MoveParent,
441 : /* 693*/ OPC_MoveParent,
442 : /* 694*/ OPC_CheckPredicate, 11, // Predicate_unindexedstore
443 : /* 696*/ OPC_CheckPredicate, 14, // Predicate_store
444 : /* 698*/ OPC_EmitMergeInputChains1_0,
445 : /* 699*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::STW_l3r), 0|OPFL_Chain|OPFL_MemRefs,
446 : 3/*#Ops*/, 1, 2, 3,
447 : // Src: (st GRRegs:{ *:[i32] }:$val, (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 2:{ *:[i32] })))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 15
448 : // Dst: (STW_l3r GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
449 : /* 707*/ 0, /*End of Scope*/
450 : /* 708*/ /*Scope*/ 47, /*->756*/
451 : /* 709*/ OPC_MoveChild0,
452 : /* 710*/ OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
453 : /* 713*/ OPC_RecordChild0, // #2 = $offset
454 : /* 714*/ OPC_Scope, 20, /*->736*/ // 2 children in Scope
455 : /* 716*/ OPC_CheckChild1Integer, 1,
456 : /* 718*/ OPC_MoveParent,
457 : /* 719*/ OPC_RecordChild1, // #3 = $addr
458 : /* 720*/ OPC_MoveParent,
459 : /* 721*/ OPC_CheckPredicate, 11, // Predicate_unindexedstore
460 : /* 723*/ OPC_CheckPredicate, 12, // Predicate_truncstore
461 : /* 725*/ OPC_CheckPredicate, 13, // Predicate_truncstorei16
462 : /* 727*/ OPC_EmitMergeInputChains1_0,
463 : /* 728*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::ST16_l3r), 0|OPFL_Chain|OPFL_MemRefs,
464 : 3/*#Ops*/, 1, 3, 2,
465 : // Src: (st GRRegs:{ *:[i32] }:$val, (add:{ *:[i32] } (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 1:{ *:[i32] }), GRRegs:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 15
466 : // Dst: (ST16_l3r GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
467 : /* 736*/ /*Scope*/ 18, /*->755*/
468 : /* 737*/ OPC_CheckChild1Integer, 2,
469 : /* 739*/ OPC_MoveParent,
470 : /* 740*/ OPC_RecordChild1, // #3 = $addr
471 : /* 741*/ OPC_MoveParent,
472 : /* 742*/ OPC_CheckPredicate, 11, // Predicate_unindexedstore
473 : /* 744*/ OPC_CheckPredicate, 14, // Predicate_store
474 : /* 746*/ OPC_EmitMergeInputChains1_0,
475 : /* 747*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::STW_l3r), 0|OPFL_Chain|OPFL_MemRefs,
476 : 3/*#Ops*/, 1, 3, 2,
477 : // Src: (st GRRegs:{ *:[i32] }:$val, (add:{ *:[i32] } (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 2:{ *:[i32] }), GRRegs:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 15
478 : // Dst: (STW_l3r GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
479 : /* 755*/ 0, /*End of Scope*/
480 : /* 756*/ 0, /*End of Scope*/
481 : /* 757*/ /*Scope*/ 19, /*->777*/
482 : /* 758*/ OPC_RecordChild2, // #2 = $addr
483 : /* 759*/ OPC_CheckChild2Type, MVT::i32,
484 : /* 761*/ OPC_CheckPredicate, 11, // Predicate_unindexedstore
485 : /* 763*/ OPC_CheckPredicate, 14, // Predicate_store
486 : /* 765*/ OPC_CheckComplexPat, /*CP*/0, /*#*/2, // SelectADDRspii:$addr #3 #4
487 : /* 768*/ OPC_EmitMergeInputChains1_0,
488 : /* 769*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::STWFI), 0|OPFL_Chain|OPFL_MemRefs,
489 : 3/*#Ops*/, 1, 3, 4,
490 : // Src: (st GRRegs:{ *:[i32] }:$src, ADDRspii:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
491 : // Dst: (STWFI GRRegs:{ *:[i32] }:$src, ADDRspii:{ *:[i32] }:$addr)
492 : /* 777*/ /*Scope*/ 76, /*->854*/
493 : /* 778*/ OPC_MoveChild2,
494 : /* 779*/ OPC_SwitchOpcode /*2 cases */, 48, TARGET_VAL(ISD::ADD),// ->831
495 : /* 783*/ OPC_RecordChild0, // #2 = $addr
496 : /* 784*/ OPC_RecordChild1, // #3 = $offset
497 : /* 785*/ OPC_Scope, 26, /*->813*/ // 2 children in Scope
498 : /* 787*/ OPC_MoveChild1,
499 : /* 788*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
500 : /* 791*/ OPC_CheckPredicate, 1, // Predicate_immUs4
501 : /* 793*/ OPC_MoveParent,
502 : /* 794*/ OPC_MoveParent,
503 : /* 795*/ OPC_CheckPredicate, 11, // Predicate_unindexedstore
504 : /* 797*/ OPC_CheckPredicate, 14, // Predicate_store
505 : /* 799*/ OPC_EmitMergeInputChains1_0,
506 : /* 800*/ OPC_EmitConvertToTarget, 3,
507 : /* 802*/ OPC_EmitNodeXForm, 0, 4, // div4_xform
508 : /* 805*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::STW_2rus), 0|OPFL_Chain|OPFL_MemRefs,
509 : 3/*#Ops*/, 1, 2, 5,
510 : // Src: (st GRRegs:{ *:[i32] }:$val, (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (imm:{ *:[i32] })<<P:Predicate_immUs4>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
511 : // Dst: (STW_2rus GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr, (div4_xform:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immUs4>>:$offset))
512 : /* 813*/ /*Scope*/ 16, /*->830*/
513 : /* 814*/ OPC_MoveParent,
514 : /* 815*/ OPC_CheckPredicate, 11, // Predicate_unindexedstore
515 : /* 817*/ OPC_CheckPredicate, 12, // Predicate_truncstore
516 : /* 819*/ OPC_CheckPredicate, 15, // Predicate_truncstorei8
517 : /* 821*/ OPC_EmitMergeInputChains1_0,
518 : /* 822*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::ST8_l3r), 0|OPFL_Chain|OPFL_MemRefs,
519 : 3/*#Ops*/, 1, 2, 3,
520 : // Src: (st GRRegs:{ *:[i32] }:$val, (add:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 7
521 : // Dst: (ST8_l3r GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
522 : /* 830*/ 0, /*End of Scope*/
523 : /* 831*/ /*SwitchOpcode*/ 19, TARGET_VAL(XCoreISD::DPRelativeWrapper),// ->853
524 : /* 834*/ OPC_RecordChild0, // #2 = $b
525 : /* 835*/ OPC_MoveChild0,
526 : /* 836*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
527 : /* 839*/ OPC_MoveParent,
528 : /* 840*/ OPC_MoveParent,
529 : /* 841*/ OPC_CheckPredicate, 11, // Predicate_unindexedstore
530 : /* 843*/ OPC_CheckPredicate, 14, // Predicate_store
531 : /* 845*/ OPC_EmitMergeInputChains1_0,
532 : /* 846*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::STWDP_lru6), 0|OPFL_Chain|OPFL_MemRefs,
533 : 2/*#Ops*/, 1, 2,
534 : // Src: (st RRegs:{ *:[i32] }:$a, (dprelwrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$b))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
535 : // Dst: (STWDP_lru6 RRegs:{ *:[i32] }:$a, (tglobaladdr:{ *:[i32] }):$b)
536 : /* 853*/ 0, // EndSwitchOpcode
537 : /* 854*/ /*Scope*/ 71, /*->926*/
538 : /* 855*/ OPC_RecordChild2, // #2 = $addr
539 : /* 856*/ OPC_CheckChild2Type, MVT::i32,
540 : /* 858*/ OPC_CheckPredicate, 11, // Predicate_unindexedstore
541 : /* 860*/ OPC_Scope, 14, /*->876*/ // 2 children in Scope
542 : /* 862*/ OPC_CheckPredicate, 14, // Predicate_store
543 : /* 864*/ OPC_EmitMergeInputChains1_0,
544 : /* 865*/ OPC_EmitInteger, MVT::i32, 0,
545 : /* 868*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::STW_2rus), 0|OPFL_Chain|OPFL_MemRefs,
546 : 3/*#Ops*/, 1, 2, 3,
547 : // Src: (st GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
548 : // Dst: (STW_2rus GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr, 0:{ *:[i32] })
549 : /* 876*/ /*Scope*/ 48, /*->925*/
550 : /* 877*/ OPC_CheckPredicate, 12, // Predicate_truncstore
551 : /* 879*/ OPC_Scope, 21, /*->902*/ // 2 children in Scope
552 : /* 881*/ OPC_CheckPredicate, 15, // Predicate_truncstorei8
553 : /* 883*/ OPC_EmitMergeInputChains1_0,
554 : /* 884*/ OPC_EmitInteger, MVT::i32, 0,
555 : /* 887*/ OPC_EmitNode1, TARGET_VAL(XCore::LDC_ru6), 0,
556 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
557 : /* 894*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::ST8_l3r), 0|OPFL_Chain|OPFL_MemRefs,
558 : 3/*#Ops*/, 1, 2, 4,
559 : // Src: (st GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 4
560 : // Dst: (ST8_l3r GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr, (LDC_ru6:{ *:[i32] } 0:{ *:[i32] }))
561 : /* 902*/ /*Scope*/ 21, /*->924*/
562 : /* 903*/ OPC_CheckPredicate, 13, // Predicate_truncstorei16
563 : /* 905*/ OPC_EmitMergeInputChains1_0,
564 : /* 906*/ OPC_EmitInteger, MVT::i32, 0,
565 : /* 909*/ OPC_EmitNode1, TARGET_VAL(XCore::LDC_ru6), 0,
566 : MVT::i32, 1/*#Ops*/, 3, // Results = #4
567 : /* 916*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::ST16_l3r), 0|OPFL_Chain|OPFL_MemRefs,
568 : 3/*#Ops*/, 1, 2, 4,
569 : // Src: (st GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 4
570 : // Dst: (ST16_l3r GRRegs:{ *:[i32] }:$val, GRRegs:{ *:[i32] }:$addr, (LDC_ru6:{ *:[i32] } 0:{ *:[i32] }))
571 : /* 924*/ 0, /*End of Scope*/
572 : /* 925*/ 0, /*End of Scope*/
573 : /* 926*/ 0, /*End of Scope*/
574 : /* 927*/ /*SwitchOpcode*/ 81, TARGET_VAL(ISD::SRA),// ->1011
575 : /* 930*/ OPC_Scope, 29, /*->961*/ // 2 children in Scope
576 : /* 932*/ OPC_MoveChild0,
577 : /* 933*/ OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
578 : /* 936*/ OPC_RecordChild0, // #0 = $src
579 : /* 937*/ OPC_RecordChild1, // #1 = $imm
580 : /* 938*/ OPC_MoveChild1,
581 : /* 939*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
582 : /* 942*/ OPC_CheckPredicate, 16, // Predicate_immBpwSubBitp
583 : /* 944*/ OPC_MoveParent,
584 : /* 945*/ OPC_MoveParent,
585 : /* 946*/ OPC_CheckChild1Same, 1,
586 : /* 948*/ OPC_EmitConvertToTarget, 1,
587 : /* 950*/ OPC_EmitNodeXForm, 3, 2, // bpwsub_xform
588 : /* 953*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SEXT_rus), 0,
589 : MVT::i32, 2/*#Ops*/, 0, 3,
590 : // Src: (sra:{ *:[i32] } (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$src, (imm:{ *:[i32] })<<P:Predicate_immBpwSubBitp>>:$imm), (imm:{ *:[i32] })<<P:Predicate_immBpwSubBitp>>:$imm) - Complexity = 14
591 : // Dst: (SEXT_rus:{ *:[i32] } GRRegs:{ *:[i32] }:$src, (bpwsub_xform:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immBpwSubBitp>>:$imm))
592 : /* 961*/ /*Scope*/ 48, /*->1010*/
593 : /* 962*/ OPC_RecordChild0, // #0 = $src
594 : /* 963*/ OPC_Scope, 13, /*->978*/ // 2 children in Scope
595 : /* 965*/ OPC_CheckChild1Integer, 31,
596 : /* 967*/ OPC_EmitInteger, MVT::i32, 32,
597 : /* 970*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ASHR_l2rus), 0,
598 : MVT::i32, 2/*#Ops*/, 0, 1,
599 : // Src: (sra:{ *:[i32] } GRRegs:{ *:[i32] }:$src, 31:{ *:[i32] }) - Complexity = 8
600 : // Dst: (ASHR_l2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$src, 32:{ *:[i32] })
601 : /* 978*/ /*Scope*/ 30, /*->1009*/
602 : /* 979*/ OPC_RecordChild1, // #1 = $c
603 : /* 980*/ OPC_Scope, 17, /*->999*/ // 2 children in Scope
604 : /* 982*/ OPC_MoveChild1,
605 : /* 983*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
606 : /* 986*/ OPC_CheckPredicate, 17, // Predicate_immBitp
607 : /* 988*/ OPC_MoveParent,
608 : /* 989*/ OPC_EmitConvertToTarget, 1,
609 : /* 991*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ASHR_l2rus), 0,
610 : MVT::i32, 2/*#Ops*/, 0, 2,
611 : // Src: (sra:{ *:[i32] } GRRegs:{ *:[i32] }:$b, (imm:{ *:[i32] })<<P:Predicate_immBitp>>:$c) - Complexity = 7
612 : // Dst: (ASHR_l2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$b, (imm:{ *:[i32] }):$c)
613 : /* 999*/ /*Scope*/ 8, /*->1008*/
614 : /* 1000*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ASHR_l3r), 0,
615 : MVT::i32, 2/*#Ops*/, 0, 1,
616 : // Src: (sra:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
617 : // Dst: (ASHR_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
618 : /* 1008*/ 0, /*End of Scope*/
619 : /* 1009*/ 0, /*End of Scope*/
620 : /* 1010*/ 0, /*End of Scope*/
621 : /* 1011*/ /*SwitchOpcode*/ 87|128,4/*599*/, TARGET_VAL(ISD::INTRINSIC_VOID),// ->1614
622 : /* 1015*/ OPC_RecordNode, // #0 = 'intrinsic_void' chained node
623 : /* 1016*/ OPC_Scope, 53, /*->1071*/ // 30 children in Scope
624 : /* 1018*/ OPC_CheckChild1Integer, 80|128,52/*6736*/,
625 : /* 1021*/ OPC_RecordChild2, // #1 = $a
626 : /* 1022*/ OPC_CheckChild2Type, MVT::i32,
627 : /* 1024*/ OPC_RecordChild3, // #2 = $b
628 : /* 1025*/ OPC_Scope, 34, /*->1061*/ // 2 children in Scope
629 : /* 1027*/ OPC_MoveChild3,
630 : /* 1028*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
631 : /* 1031*/ OPC_Scope, 13, /*->1046*/ // 2 children in Scope
632 : /* 1033*/ OPC_CheckPredicate, 18, // Predicate_immU6
633 : /* 1035*/ OPC_MoveParent,
634 : /* 1036*/ OPC_EmitMergeInputChains1_0,
635 : /* 1037*/ OPC_EmitConvertToTarget, 2,
636 : /* 1039*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETC_ru6), 0|OPFL_Chain,
637 : 2/*#Ops*/, 1, 3,
638 : // Src: (intrinsic_void 6736:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$a, (imm:{ *:[i32] })<<P:Predicate_immU6>>:$b) - Complexity = 12
639 : // Dst: (SETC_ru6 GRRegs:{ *:[i32] }:$a, (imm:{ *:[i32] }):$b)
640 : /* 1046*/ /*Scope*/ 13, /*->1060*/
641 : /* 1047*/ OPC_CheckPredicate, 19, // Predicate_immU16
642 : /* 1049*/ OPC_MoveParent,
643 : /* 1050*/ OPC_EmitMergeInputChains1_0,
644 : /* 1051*/ OPC_EmitConvertToTarget, 2,
645 : /* 1053*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETC_lru6), 0|OPFL_Chain,
646 : 2/*#Ops*/, 1, 3,
647 : // Src: (intrinsic_void 6736:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$a, (imm:{ *:[i32] })<<P:Predicate_immU16>>:$b) - Complexity = 12
648 : // Dst: (SETC_lru6 GRRegs:{ *:[i32] }:$a, (imm:{ *:[i32] }):$b)
649 : /* 1060*/ 0, /*End of Scope*/
650 : /* 1061*/ /*Scope*/ 8, /*->1070*/
651 : /* 1062*/ OPC_EmitMergeInputChains1_0,
652 : /* 1063*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETC_l2r), 0|OPFL_Chain,
653 : 2/*#Ops*/, 1, 2,
654 : // Src: (intrinsic_void 6736:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val) - Complexity = 8
655 : // Dst: (SETC_l2r GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val)
656 : /* 1070*/ 0, /*End of Scope*/
657 : /* 1071*/ /*Scope*/ 36, /*->1108*/
658 : /* 1072*/ OPC_CheckChild1Integer, 88|128,52/*6744*/,
659 : /* 1075*/ OPC_RecordChild2, // #1 = $a
660 : /* 1076*/ OPC_MoveChild2,
661 : /* 1077*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
662 : /* 1080*/ OPC_Scope, 12, /*->1094*/ // 2 children in Scope
663 : /* 1082*/ OPC_CheckPredicate, 18, // Predicate_immU6
664 : /* 1084*/ OPC_MoveParent,
665 : /* 1085*/ OPC_EmitMergeInputChains1_0,
666 : /* 1086*/ OPC_EmitConvertToTarget, 1,
667 : /* 1088*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETSR_u6), 0|OPFL_Chain,
668 : 1/*#Ops*/, 2,
669 : // Src: (intrinsic_void 6744:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immU6>>:$a) - Complexity = 12
670 : // Dst: (SETSR_u6 (imm:{ *:[i32] }):$a)
671 : /* 1094*/ /*Scope*/ 12, /*->1107*/
672 : /* 1095*/ OPC_CheckPredicate, 19, // Predicate_immU16
673 : /* 1097*/ OPC_MoveParent,
674 : /* 1098*/ OPC_EmitMergeInputChains1_0,
675 : /* 1099*/ OPC_EmitConvertToTarget, 1,
676 : /* 1101*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETSR_lu6), 0|OPFL_Chain,
677 : 1/*#Ops*/, 2,
678 : // Src: (intrinsic_void 6744:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immU16>>:$a) - Complexity = 12
679 : // Dst: (SETSR_lu6 (imm:{ *:[i32] }):$a)
680 : /* 1107*/ 0, /*End of Scope*/
681 : /* 1108*/ /*Scope*/ 36, /*->1145*/
682 : /* 1109*/ OPC_CheckChild1Integer, 50|128,52/*6706*/,
683 : /* 1112*/ OPC_RecordChild2, // #1 = $a
684 : /* 1113*/ OPC_MoveChild2,
685 : /* 1114*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
686 : /* 1117*/ OPC_Scope, 12, /*->1131*/ // 2 children in Scope
687 : /* 1119*/ OPC_CheckPredicate, 18, // Predicate_immU6
688 : /* 1121*/ OPC_MoveParent,
689 : /* 1122*/ OPC_EmitMergeInputChains1_0,
690 : /* 1123*/ OPC_EmitConvertToTarget, 1,
691 : /* 1125*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::CLRSR_u6), 0|OPFL_Chain,
692 : 1/*#Ops*/, 2,
693 : // Src: (intrinsic_void 6706:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immU6>>:$a) - Complexity = 12
694 : // Dst: (CLRSR_u6 (imm:{ *:[i32] }):$a)
695 : /* 1131*/ /*Scope*/ 12, /*->1144*/
696 : /* 1132*/ OPC_CheckPredicate, 19, // Predicate_immU16
697 : /* 1134*/ OPC_MoveParent,
698 : /* 1135*/ OPC_EmitMergeInputChains1_0,
699 : /* 1136*/ OPC_EmitConvertToTarget, 1,
700 : /* 1138*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::CLRSR_lu6), 0|OPFL_Chain,
701 : 1/*#Ops*/, 2,
702 : // Src: (intrinsic_void 6706:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immU16>>:$a) - Complexity = 12
703 : // Dst: (CLRSR_lu6 (imm:{ *:[i32] }):$a)
704 : /* 1144*/ 0, /*End of Scope*/
705 : /* 1145*/ /*Scope*/ 36, /*->1182*/
706 : /* 1146*/ OPC_CheckChild1Integer, 76|128,52/*6732*/,
707 : /* 1149*/ OPC_RecordChild2, // #1 = $r
708 : /* 1150*/ OPC_CheckChild2Type, MVT::i32,
709 : /* 1152*/ OPC_RecordChild3, // #2 = $val
710 : /* 1153*/ OPC_Scope, 17, /*->1172*/ // 2 children in Scope
711 : /* 1155*/ OPC_MoveChild3,
712 : /* 1156*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
713 : /* 1159*/ OPC_CheckPredicate, 0, // Predicate_immUs
714 : /* 1161*/ OPC_MoveParent,
715 : /* 1162*/ OPC_EmitMergeInputChains1_0,
716 : /* 1163*/ OPC_EmitConvertToTarget, 2,
717 : /* 1165*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::OUTCT_rus), 0|OPFL_Chain,
718 : 2/*#Ops*/, 1, 3,
719 : // Src: (intrinsic_void 6732:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$val) - Complexity = 12
720 : // Dst: (OUTCT_rus GRRegs:{ *:[i32] }:$r, (imm:{ *:[i32] }):$val)
721 : /* 1172*/ /*Scope*/ 8, /*->1181*/
722 : /* 1173*/ OPC_EmitMergeInputChains1_0,
723 : /* 1174*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::OUTCT_2r), 0|OPFL_Chain,
724 : 2/*#Ops*/, 1, 2,
725 : // Src: (intrinsic_void 6732:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val) - Complexity = 8
726 : // Dst: (OUTCT_2r GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val)
727 : /* 1181*/ 0, /*End of Scope*/
728 : /* 1182*/ /*Scope*/ 36, /*->1219*/
729 : /* 1183*/ OPC_CheckChild1Integer, 47|128,52/*6703*/,
730 : /* 1186*/ OPC_RecordChild2, // #1 = $r
731 : /* 1187*/ OPC_CheckChild2Type, MVT::i32,
732 : /* 1189*/ OPC_RecordChild3, // #2 = $val
733 : /* 1190*/ OPC_Scope, 17, /*->1209*/ // 2 children in Scope
734 : /* 1192*/ OPC_MoveChild3,
735 : /* 1193*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
736 : /* 1196*/ OPC_CheckPredicate, 0, // Predicate_immUs
737 : /* 1198*/ OPC_MoveParent,
738 : /* 1199*/ OPC_EmitMergeInputChains1_0,
739 : /* 1200*/ OPC_EmitConvertToTarget, 2,
740 : /* 1202*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::CHKCT_rus), 0|OPFL_Chain,
741 : 2/*#Ops*/, 1, 3,
742 : // Src: (intrinsic_void 6703:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$val) - Complexity = 12
743 : // Dst: (CHKCT_rus GRRegs:{ *:[i32] }:$r, (imm:{ *:[i32] }):$val)
744 : /* 1209*/ /*Scope*/ 8, /*->1218*/
745 : /* 1210*/ OPC_EmitMergeInputChains1_0,
746 : /* 1211*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::CHKCT_2r), 0|OPFL_Chain,
747 : 2/*#Ops*/, 1, 2,
748 : // Src: (intrinsic_void 6703:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val) - Complexity = 8
749 : // Dst: (CHKCT_2r GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val)
750 : /* 1218*/ 0, /*End of Scope*/
751 : /* 1219*/ /*Scope*/ 15, /*->1235*/
752 : /* 1220*/ OPC_CheckChild1Integer, 86|128,52/*6742*/,
753 : /* 1223*/ OPC_RecordChild2, // #1 = $r
754 : /* 1224*/ OPC_CheckChild2Type, MVT::i32,
755 : /* 1226*/ OPC_RecordChild3, // #2 = $val
756 : /* 1227*/ OPC_EmitMergeInputChains1_0,
757 : /* 1228*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETPT_2r), 0|OPFL_Chain,
758 : 2/*#Ops*/, 1, 2,
759 : // Src: (intrinsic_void 6742:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val) - Complexity = 8
760 : // Dst: (SETPT_2r GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val)
761 : /* 1235*/ /*Scope*/ 15, /*->1251*/
762 : /* 1236*/ OPC_CheckChild1Integer, 78|128,52/*6734*/,
763 : /* 1239*/ OPC_RecordChild2, // #1 = $r
764 : /* 1240*/ OPC_CheckChild2Type, MVT::i32,
765 : /* 1242*/ OPC_RecordChild3, // #2 = $val
766 : /* 1243*/ OPC_EmitMergeInputChains1_0,
767 : /* 1244*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::OUTT_2r), 0|OPFL_Chain,
768 : 2/*#Ops*/, 1, 2,
769 : // Src: (intrinsic_void 6734:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val) - Complexity = 8
770 : // Dst: (OUTT_2r GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val)
771 : /* 1251*/ /*Scope*/ 15, /*->1267*/
772 : /* 1252*/ OPC_CheckChild1Integer, 75|128,52/*6731*/,
773 : /* 1255*/ OPC_RecordChild2, // #1 = $r
774 : /* 1256*/ OPC_CheckChild2Type, MVT::i32,
775 : /* 1258*/ OPC_RecordChild3, // #2 = $val
776 : /* 1259*/ OPC_EmitMergeInputChains1_0,
777 : /* 1260*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::OUT_2r), 0|OPFL_Chain,
778 : 2/*#Ops*/, 1, 2,
779 : // Src: (intrinsic_void 6731:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val) - Complexity = 8
780 : // Dst: (OUT_2r GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val)
781 : /* 1267*/ /*Scope*/ 15, /*->1283*/
782 : /* 1268*/ OPC_CheckChild1Integer, 82|128,52/*6738*/,
783 : /* 1271*/ OPC_RecordChild2, // #1 = $r
784 : /* 1272*/ OPC_CheckChild2Type, MVT::i32,
785 : /* 1274*/ OPC_RecordChild3, // #2 = $val
786 : /* 1275*/ OPC_EmitMergeInputChains1_0,
787 : /* 1276*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETD_2r), 0|OPFL_Chain,
788 : 2/*#Ops*/, 1, 2,
789 : // Src: (intrinsic_void 6738:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val) - Complexity = 8
790 : // Dst: (SETD_2r GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val)
791 : /* 1283*/ /*Scope*/ 15, /*->1299*/
792 : /* 1284*/ OPC_CheckChild1Integer, 85|128,52/*6741*/,
793 : /* 1287*/ OPC_RecordChild2, // #1 = $src1
794 : /* 1288*/ OPC_CheckChild2Type, MVT::i32,
795 : /* 1290*/ OPC_RecordChild3, // #2 = $src2
796 : /* 1291*/ OPC_EmitMergeInputChains1_0,
797 : /* 1292*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETPSC_2r), 0|OPFL_Chain,
798 : 2/*#Ops*/, 1, 2,
799 : // Src: (intrinsic_void 6741:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2) - Complexity = 8
800 : // Dst: (SETPSC_2r GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2)
801 : /* 1299*/ /*Scope*/ 17, /*->1317*/
802 : /* 1300*/ OPC_CheckChild1Integer, 70|128,52/*6726*/,
803 : /* 1303*/ OPC_RecordChild2, // #1 = $t
804 : /* 1304*/ OPC_CheckChild2Type, MVT::i32,
805 : /* 1306*/ OPC_RecordChild3, // #2 = $src
806 : /* 1307*/ OPC_CheckChild3Type, MVT::i32,
807 : /* 1309*/ OPC_EmitMergeInputChains1_0,
808 : /* 1310*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::INITSP_2r), 0|OPFL_Chain,
809 : 2/*#Ops*/, 2, 1,
810 : // Src: (intrinsic_void 6726:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$t, GRRegs:{ *:[i32] }:$src) - Complexity = 8
811 : // Dst: (INITSP_2r GRRegs:{ *:[i32] }:$src, GRRegs:{ *:[i32] }:$t)
812 : /* 1317*/ /*Scope*/ 17, /*->1335*/
813 : /* 1318*/ OPC_CheckChild1Integer, 69|128,52/*6725*/,
814 : /* 1321*/ OPC_RecordChild2, // #1 = $t
815 : /* 1322*/ OPC_CheckChild2Type, MVT::i32,
816 : /* 1324*/ OPC_RecordChild3, // #2 = $src
817 : /* 1325*/ OPC_CheckChild3Type, MVT::i32,
818 : /* 1327*/ OPC_EmitMergeInputChains1_0,
819 : /* 1328*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::INITPC_2r), 0|OPFL_Chain,
820 : 2/*#Ops*/, 2, 1,
821 : // Src: (intrinsic_void 6725:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$t, GRRegs:{ *:[i32] }:$src) - Complexity = 8
822 : // Dst: (INITPC_2r GRRegs:{ *:[i32] }:$src, GRRegs:{ *:[i32] }:$t)
823 : /* 1335*/ /*Scope*/ 17, /*->1353*/
824 : /* 1336*/ OPC_CheckChild1Integer, 66|128,52/*6722*/,
825 : /* 1339*/ OPC_RecordChild2, // #1 = $t
826 : /* 1340*/ OPC_CheckChild2Type, MVT::i32,
827 : /* 1342*/ OPC_RecordChild3, // #2 = $src
828 : /* 1343*/ OPC_CheckChild3Type, MVT::i32,
829 : /* 1345*/ OPC_EmitMergeInputChains1_0,
830 : /* 1346*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::INITCP_2r), 0|OPFL_Chain,
831 : 2/*#Ops*/, 2, 1,
832 : // Src: (intrinsic_void 6722:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$t, GRRegs:{ *:[i32] }:$src) - Complexity = 8
833 : // Dst: (INITCP_2r GRRegs:{ *:[i32] }:$src, GRRegs:{ *:[i32] }:$t)
834 : /* 1353*/ /*Scope*/ 17, /*->1371*/
835 : /* 1354*/ OPC_CheckChild1Integer, 67|128,52/*6723*/,
836 : /* 1357*/ OPC_RecordChild2, // #1 = $t
837 : /* 1358*/ OPC_CheckChild2Type, MVT::i32,
838 : /* 1360*/ OPC_RecordChild3, // #2 = $src
839 : /* 1361*/ OPC_CheckChild3Type, MVT::i32,
840 : /* 1363*/ OPC_EmitMergeInputChains1_0,
841 : /* 1364*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::INITDP_2r), 0|OPFL_Chain,
842 : 2/*#Ops*/, 2, 1,
843 : // Src: (intrinsic_void 6723:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$t, GRRegs:{ *:[i32] }:$src) - Complexity = 8
844 : // Dst: (INITDP_2r GRRegs:{ *:[i32] }:$src, GRRegs:{ *:[i32] }:$t)
845 : /* 1371*/ /*Scope*/ 15, /*->1387*/
846 : /* 1372*/ OPC_CheckChild1Integer, 89|128,52/*6745*/,
847 : /* 1375*/ OPC_RecordChild2, // #1 = $r
848 : /* 1376*/ OPC_CheckChild2Type, MVT::i32,
849 : /* 1378*/ OPC_RecordChild3, // #2 = $val
850 : /* 1379*/ OPC_EmitMergeInputChains1_0,
851 : /* 1380*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETTW_l2r), 0|OPFL_Chain,
852 : 2/*#Ops*/, 1, 2,
853 : // Src: (intrinsic_void 6745:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val) - Complexity = 8
854 : // Dst: (SETTW_l2r GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$val)
855 : /* 1387*/ /*Scope*/ 13, /*->1401*/
856 : /* 1388*/ OPC_CheckChild1Integer, 84|128,52/*6740*/,
857 : /* 1391*/ OPC_RecordChild2, // #1 = $src1
858 : /* 1392*/ OPC_RecordChild3, // #2 = $src2
859 : /* 1393*/ OPC_EmitMergeInputChains1_0,
860 : /* 1394*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETPS_l2r), 0|OPFL_Chain,
861 : 2/*#Ops*/, 1, 2,
862 : // Src: (intrinsic_void 6740:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2) - Complexity = 8
863 : // Dst: (SETPS_l2r GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2)
864 : /* 1401*/ /*Scope*/ 17, /*->1419*/
865 : /* 1402*/ OPC_CheckChild1Integer, 68|128,52/*6724*/,
866 : /* 1405*/ OPC_RecordChild2, // #1 = $t
867 : /* 1406*/ OPC_CheckChild2Type, MVT::i32,
868 : /* 1408*/ OPC_RecordChild3, // #2 = $src
869 : /* 1409*/ OPC_CheckChild3Type, MVT::i32,
870 : /* 1411*/ OPC_EmitMergeInputChains1_0,
871 : /* 1412*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::INITLR_l2r), 0|OPFL_Chain,
872 : 2/*#Ops*/, 2, 1,
873 : // Src: (intrinsic_void 6724:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$t, GRRegs:{ *:[i32] }:$src) - Complexity = 8
874 : // Dst: (INITLR_l2r GRRegs:{ *:[i32] }:$src, GRRegs:{ *:[i32] }:$t)
875 : /* 1419*/ /*Scope*/ 17, /*->1437*/
876 : /* 1420*/ OPC_CheckChild1Integer, 81|128,52/*6737*/,
877 : /* 1423*/ OPC_RecordChild2, // #1 = $src1
878 : /* 1424*/ OPC_CheckChild2Type, MVT::i32,
879 : /* 1426*/ OPC_RecordChild3, // #2 = $src2
880 : /* 1427*/ OPC_CheckChild3Type, MVT::i32,
881 : /* 1429*/ OPC_EmitMergeInputChains1_0,
882 : /* 1430*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETCLK_l2r), 0|OPFL_Chain,
883 : 2/*#Ops*/, 1, 2,
884 : // Src: (intrinsic_void 6737:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2) - Complexity = 8
885 : // Dst: (SETCLK_l2r GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2)
886 : /* 1437*/ /*Scope*/ 17, /*->1455*/
887 : /* 1438*/ OPC_CheckChild1Integer, 87|128,52/*6743*/,
888 : /* 1441*/ OPC_RecordChild2, // #1 = $src1
889 : /* 1442*/ OPC_CheckChild2Type, MVT::i32,
890 : /* 1444*/ OPC_RecordChild3, // #2 = $src2
891 : /* 1445*/ OPC_CheckChild3Type, MVT::i32,
892 : /* 1447*/ OPC_EmitMergeInputChains1_0,
893 : /* 1448*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETRDY_l2r), 0|OPFL_Chain,
894 : 2/*#Ops*/, 1, 2,
895 : // Src: (intrinsic_void 6743:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2) - Complexity = 8
896 : // Dst: (SETRDY_l2r GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2)
897 : /* 1455*/ /*Scope*/ 13, /*->1469*/
898 : /* 1456*/ OPC_CheckChild1Integer, 74|128,52/*6730*/,
899 : /* 1459*/ OPC_RecordChild2, // #1 = $a
900 : /* 1460*/ OPC_CheckChild2Type, MVT::i32,
901 : /* 1462*/ OPC_EmitMergeInputChains1_0,
902 : /* 1463*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::MSYNC_1r), 0|OPFL_Chain,
903 : 1/*#Ops*/, 1,
904 : // Src: (intrinsic_void 6730:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$a) - Complexity = 8
905 : // Dst: (MSYNC_1r GRRegs:{ *:[i32] }:$a)
906 : /* 1469*/ /*Scope*/ 13, /*->1483*/
907 : /* 1470*/ OPC_CheckChild1Integer, 73|128,52/*6729*/,
908 : /* 1473*/ OPC_RecordChild2, // #1 = $a
909 : /* 1474*/ OPC_CheckChild2Type, MVT::i32,
910 : /* 1476*/ OPC_EmitMergeInputChains1_0,
911 : /* 1477*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::MJOIN_1r), 0|OPFL_Chain,
912 : 1/*#Ops*/, 1,
913 : // Src: (intrinsic_void 6729:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$a) - Complexity = 8
914 : // Dst: (MJOIN_1r GRRegs:{ *:[i32] }:$a)
915 : /* 1483*/ /*Scope*/ 13, /*->1497*/
916 : /* 1484*/ OPC_CheckChild1Integer, 93|128,52/*6749*/,
917 : /* 1487*/ OPC_RecordChild2, // #1 = $a
918 : /* 1488*/ OPC_CheckChild2Type, MVT::i32,
919 : /* 1490*/ OPC_EmitMergeInputChains1_0,
920 : /* 1491*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SYNCR_1r), 0|OPFL_Chain,
921 : 1/*#Ops*/, 1,
922 : // Src: (intrinsic_void 6749:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$a) - Complexity = 8
923 : // Dst: (SYNCR_1r GRRegs:{ *:[i32] }:$a)
924 : /* 1497*/ /*Scope*/ 13, /*->1511*/
925 : /* 1498*/ OPC_CheckChild1Integer, 56|128,52/*6712*/,
926 : /* 1501*/ OPC_RecordChild2, // #1 = $a
927 : /* 1502*/ OPC_CheckChild2Type, MVT::i32,
928 : /* 1504*/ OPC_EmitMergeInputChains1_0,
929 : /* 1505*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::FREER_1r), 0|OPFL_Chain,
930 : 1/*#Ops*/, 1,
931 : // Src: (intrinsic_void 6712:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$a) - Complexity = 8
932 : // Dst: (FREER_1r GRRegs:{ *:[i32] }:$a)
933 : /* 1511*/ /*Scope*/ 19, /*->1531*/
934 : /* 1512*/ OPC_CheckChild1Integer, 90|128,52/*6746*/,
935 : /* 1515*/ OPC_RecordChild2, // #1 = $a
936 : /* 1516*/ OPC_CheckChild2Type, MVT::i32,
937 : /* 1518*/ OPC_RecordChild3, // #2 = physreg input R11
938 : /* 1519*/ OPC_CheckChild3Type, MVT::i32,
939 : /* 1521*/ OPC_EmitMergeInputChains1_0,
940 : /* 1522*/ OPC_EmitCopyToReg, 2, XCore::R11,
941 : /* 1525*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETV_1r), 0|OPFL_Chain|OPFL_GlueInput,
942 : 1/*#Ops*/, 1,
943 : // Src: (intrinsic_void 6746:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$a, R11:{ *:[i32] }) - Complexity = 8
944 : // Dst: (SETV_1r GRRegs:{ *:[i32] }:$a)
945 : /* 1531*/ /*Scope*/ 19, /*->1551*/
946 : /* 1532*/ OPC_CheckChild1Integer, 83|128,52/*6739*/,
947 : /* 1535*/ OPC_RecordChild2, // #1 = $a
948 : /* 1536*/ OPC_CheckChild2Type, MVT::i32,
949 : /* 1538*/ OPC_RecordChild3, // #2 = physreg input R11
950 : /* 1539*/ OPC_CheckChild3Type, MVT::i32,
951 : /* 1541*/ OPC_EmitMergeInputChains1_0,
952 : /* 1542*/ OPC_EmitCopyToReg, 2, XCore::R11,
953 : /* 1545*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SETEV_1r), 0|OPFL_Chain|OPFL_GlueInput,
954 : 1/*#Ops*/, 1,
955 : // Src: (intrinsic_void 6739:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$a, R11:{ *:[i32] }) - Complexity = 8
956 : // Dst: (SETEV_1r GRRegs:{ *:[i32] }:$a)
957 : /* 1551*/ /*Scope*/ 13, /*->1565*/
958 : /* 1552*/ OPC_CheckChild1Integer, 53|128,52/*6709*/,
959 : /* 1555*/ OPC_RecordChild2, // #1 = $a
960 : /* 1556*/ OPC_CheckChild2Type, MVT::i32,
961 : /* 1558*/ OPC_EmitMergeInputChains1_0,
962 : /* 1559*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::EDU_1r), 0|OPFL_Chain,
963 : 1/*#Ops*/, 1,
964 : // Src: (intrinsic_void 6709:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$a) - Complexity = 8
965 : // Dst: (EDU_1r GRRegs:{ *:[i32] }:$a)
966 : /* 1565*/ /*Scope*/ 13, /*->1579*/
967 : /* 1566*/ OPC_CheckChild1Integer, 54|128,52/*6710*/,
968 : /* 1569*/ OPC_RecordChild2, // #1 = $a
969 : /* 1570*/ OPC_CheckChild2Type, MVT::i32,
970 : /* 1572*/ OPC_EmitMergeInputChains1_0,
971 : /* 1573*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::EEU_1r), 0|OPFL_Chain,
972 : 1/*#Ops*/, 1,
973 : // Src: (intrinsic_void 6710:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$a) - Complexity = 8
974 : // Dst: (EEU_1r GRRegs:{ *:[i32] }:$a)
975 : /* 1579*/ /*Scope*/ 13, /*->1593*/
976 : /* 1580*/ OPC_CheckChild1Integer, 49|128,52/*6705*/,
977 : /* 1583*/ OPC_RecordChild2, // #1 = $a
978 : /* 1584*/ OPC_CheckChild2Type, MVT::i32,
979 : /* 1586*/ OPC_EmitMergeInputChains1_0,
980 : /* 1587*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::CLRPT_1R), 0|OPFL_Chain,
981 : 1/*#Ops*/, 1,
982 : // Src: (intrinsic_void 6705:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$a) - Complexity = 8
983 : // Dst: (CLRPT_1R GRRegs:{ *:[i32] }:$a)
984 : /* 1593*/ /*Scope*/ 9, /*->1603*/
985 : /* 1594*/ OPC_CheckChild1Integer, 48|128,52/*6704*/,
986 : /* 1597*/ OPC_EmitMergeInputChains1_0,
987 : /* 1598*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::CLRE_0R), 0|OPFL_Chain,
988 : 0/*#Ops*/,
989 : // Src: (intrinsic_void 6704:{ *:[iPTR] }) - Complexity = 8
990 : // Dst: (CLRE_0R)
991 : /* 1603*/ /*Scope*/ 9, /*->1613*/
992 : /* 1604*/ OPC_CheckChild1Integer, 92|128,52/*6748*/,
993 : /* 1607*/ OPC_EmitMergeInputChains1_0,
994 : /* 1608*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::SSYNC_0r), 0|OPFL_Chain,
995 : 0/*#Ops*/,
996 : // Src: (intrinsic_void 6748:{ *:[iPTR] }) - Complexity = 8
997 : // Dst: (SSYNC_0r)
998 : /* 1613*/ 0, /*End of Scope*/
999 : /* 1614*/ /*SwitchOpcode*/ 110, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->1727
1000 : /* 1617*/ OPC_Scope, 34, /*->1653*/ // 5 children in Scope
1001 : /* 1619*/ OPC_CheckChild0Integer, 91|128,52/*6747*/,
1002 : /* 1622*/ OPC_RecordChild1, // #0 = $src1
1003 : /* 1623*/ OPC_RecordChild2, // #1 = $src2
1004 : /* 1624*/ OPC_Scope, 17, /*->1643*/ // 2 children in Scope
1005 : /* 1626*/ OPC_MoveChild2,
1006 : /* 1627*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1007 : /* 1630*/ OPC_CheckPredicate, 17, // Predicate_immBitp
1008 : /* 1632*/ OPC_MoveParent,
1009 : /* 1633*/ OPC_EmitConvertToTarget, 1,
1010 : /* 1635*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SEXT_rus), 0,
1011 : MVT::i32, 2/*#Ops*/, 0, 2,
1012 : // Src: (intrinsic_wo_chain:{ *:[i32] } 6747:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src1, (imm:{ *:[i32] })<<P:Predicate_immBitp>>:$src2) - Complexity = 12
1013 : // Dst: (SEXT_rus:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1014 : /* 1643*/ /*Scope*/ 8, /*->1652*/
1015 : /* 1644*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SEXT_2r), 0,
1016 : MVT::i32, 2/*#Ops*/, 0, 1,
1017 : // Src: (intrinsic_wo_chain:{ *:[i32] } 6747:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2) - Complexity = 8
1018 : // Dst: (SEXT_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2)
1019 : /* 1652*/ 0, /*End of Scope*/
1020 : /* 1653*/ /*Scope*/ 34, /*->1688*/
1021 : /* 1654*/ OPC_CheckChild0Integer, 97|128,52/*6753*/,
1022 : /* 1657*/ OPC_RecordChild1, // #0 = $src1
1023 : /* 1658*/ OPC_RecordChild2, // #1 = $src2
1024 : /* 1659*/ OPC_Scope, 17, /*->1678*/ // 2 children in Scope
1025 : /* 1661*/ OPC_MoveChild2,
1026 : /* 1662*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1027 : /* 1665*/ OPC_CheckPredicate, 17, // Predicate_immBitp
1028 : /* 1667*/ OPC_MoveParent,
1029 : /* 1668*/ OPC_EmitConvertToTarget, 1,
1030 : /* 1670*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ZEXT_rus), 0,
1031 : MVT::i32, 2/*#Ops*/, 0, 2,
1032 : // Src: (intrinsic_wo_chain:{ *:[i32] } 6753:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src1, (imm:{ *:[i32] })<<P:Predicate_immBitp>>:$src2) - Complexity = 12
1033 : // Dst: (ZEXT_rus:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, (imm:{ *:[i32] }):$src2)
1034 : /* 1678*/ /*Scope*/ 8, /*->1687*/
1035 : /* 1679*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ZEXT_2r), 0,
1036 : MVT::i32, 2/*#Ops*/, 0, 1,
1037 : // Src: (intrinsic_wo_chain:{ *:[i32] } 6753:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2) - Complexity = 8
1038 : // Dst: (ZEXT_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2)
1039 : /* 1687*/ 0, /*End of Scope*/
1040 : /* 1688*/ /*Scope*/ 15, /*->1704*/
1041 : /* 1689*/ OPC_CheckChild0Integer, 51|128,52/*6707*/,
1042 : /* 1692*/ OPC_RecordChild1, // #0 = $src1
1043 : /* 1693*/ OPC_RecordChild2, // #1 = $src2
1044 : /* 1694*/ OPC_RecordChild3, // #2 = $src3
1045 : /* 1695*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::CRC_l3r), 0,
1046 : MVT::i32, 3/*#Ops*/, 0, 1, 2,
1047 : // Src: (intrinsic_wo_chain:{ *:[i32] } 6707:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2, GRRegs:{ *:[i32] }:$src3) - Complexity = 8
1048 : // Dst: (CRC_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2, GRRegs:{ *:[i32] }:$src3)
1049 : /* 1704*/ /*Scope*/ 11, /*->1716*/
1050 : /* 1705*/ OPC_CheckChild0Integer, 45|128,52/*6701*/,
1051 : /* 1708*/ OPC_RecordChild1, // #0 = $src
1052 : /* 1709*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::BITREV_l2r), 0,
1053 : MVT::i32, 1/*#Ops*/, 0,
1054 : // Src: (intrinsic_wo_chain:{ *:[i32] } 6701:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src) - Complexity = 8
1055 : // Dst: (BITREV_l2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src)
1056 : /* 1716*/ /*Scope*/ 9, /*->1726*/
1057 : /* 1717*/ OPC_CheckChild0Integer, 59|128,52/*6715*/,
1058 : /* 1720*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::GETID_0R), 0,
1059 : MVT::i32, 0/*#Ops*/,
1060 : // Src: (intrinsic_wo_chain:{ *:[i32] } 6715:{ *:[iPTR] }) - Complexity = 8
1061 : // Dst: (GETID_0R:{ *:[i32] })
1062 : /* 1726*/ 0, /*End of Scope*/
1063 : /* 1727*/ /*SwitchOpcode*/ 105|128,1/*233*/, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),// ->1964
1064 : /* 1731*/ OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
1065 : /* 1732*/ OPC_Scope, 23, /*->1757*/ // 15 children in Scope
1066 : /* 1734*/ OPC_CheckChild1Integer, 61|128,52/*6717*/,
1067 : /* 1737*/ OPC_RecordChild2, // #1 = $type
1068 : /* 1738*/ OPC_MoveChild2,
1069 : /* 1739*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1070 : /* 1742*/ OPC_CheckPredicate, 0, // Predicate_immUs
1071 : /* 1744*/ OPC_MoveParent,
1072 : /* 1745*/ OPC_CheckType, MVT::i32,
1073 : /* 1747*/ OPC_EmitMergeInputChains1_0,
1074 : /* 1748*/ OPC_EmitConvertToTarget, 1,
1075 : /* 1750*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::GETR_rus), 0|OPFL_Chain,
1076 : MVT::i32, 1/*#Ops*/, 2,
1077 : // Src: (intrinsic_w_chain:{ *:[i32] } 6717:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$type) - Complexity = 12
1078 : // Dst: (GETR_rus:{ *:[i32] } (imm:{ *:[i32] }):$type)
1079 : /* 1757*/ /*Scope*/ 14, /*->1772*/
1080 : /* 1758*/ OPC_CheckChild1Integer, 63|128,52/*6719*/,
1081 : /* 1761*/ OPC_RecordChild2, // #1 = $r
1082 : /* 1762*/ OPC_CheckChild2Type, MVT::i32,
1083 : /* 1764*/ OPC_EmitMergeInputChains1_0,
1084 : /* 1765*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::GETTS_2r), 0|OPFL_Chain,
1085 : MVT::i32, 1/*#Ops*/, 1,
1086 : // Src: (intrinsic_w_chain:{ *:[i32] } 6719:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r) - Complexity = 8
1087 : // Dst: (GETTS_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$r)
1088 : /* 1772*/ /*Scope*/ 16, /*->1789*/
1089 : /* 1773*/ OPC_CheckChild1Integer, 77|128,52/*6733*/,
1090 : /* 1776*/ OPC_RecordChild2, // #1 = $r
1091 : /* 1777*/ OPC_CheckChild2Type, MVT::i32,
1092 : /* 1779*/ OPC_RecordChild3, // #2 = $src
1093 : /* 1780*/ OPC_EmitMergeInputChains1_0,
1094 : /* 1781*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::OUTSHR_2r), 0|OPFL_Chain,
1095 : MVT::i32, 2/*#Ops*/, 2, 1,
1096 : // Src: (intrinsic_w_chain:{ *:[i32] } 6733:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$src) - Complexity = 8
1097 : // Dst: (OUTSHR_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src, GRRegs:{ *:[i32] }:$r)
1098 : /* 1789*/ /*Scope*/ 14, /*->1804*/
1099 : /* 1790*/ OPC_CheckChild1Integer, 65|128,52/*6721*/,
1100 : /* 1793*/ OPC_RecordChild2, // #1 = $r
1101 : /* 1794*/ OPC_CheckChild2Type, MVT::i32,
1102 : /* 1796*/ OPC_EmitMergeInputChains1_0,
1103 : /* 1797*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::INCT_2r), 0|OPFL_Chain,
1104 : MVT::i32, 1/*#Ops*/, 1,
1105 : // Src: (intrinsic_w_chain:{ *:[i32] } 6721:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r) - Complexity = 8
1106 : // Dst: (INCT_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$r)
1107 : /* 1804*/ /*Scope*/ 14, /*->1819*/
1108 : /* 1805*/ OPC_CheckChild1Integer, 72|128,52/*6728*/,
1109 : /* 1808*/ OPC_RecordChild2, // #1 = $r
1110 : /* 1809*/ OPC_CheckChild2Type, MVT::i32,
1111 : /* 1811*/ OPC_EmitMergeInputChains1_0,
1112 : /* 1812*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::INT_2r), 0|OPFL_Chain,
1113 : MVT::i32, 1/*#Ops*/, 1,
1114 : // Src: (intrinsic_w_chain:{ *:[i32] } 6728:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r) - Complexity = 8
1115 : // Dst: (INT_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$r)
1116 : /* 1819*/ /*Scope*/ 14, /*->1834*/
1117 : /* 1820*/ OPC_CheckChild1Integer, 64|128,52/*6720*/,
1118 : /* 1823*/ OPC_RecordChild2, // #1 = $r
1119 : /* 1824*/ OPC_CheckChild2Type, MVT::i32,
1120 : /* 1826*/ OPC_EmitMergeInputChains1_0,
1121 : /* 1827*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::IN_2r), 0|OPFL_Chain,
1122 : MVT::i32, 1/*#Ops*/, 1,
1123 : // Src: (intrinsic_w_chain:{ *:[i32] } 6720:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r) - Complexity = 8
1124 : // Dst: (IN_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$r)
1125 : /* 1834*/ /*Scope*/ 16, /*->1851*/
1126 : /* 1835*/ OPC_CheckChild1Integer, 71|128,52/*6727*/,
1127 : /* 1838*/ OPC_RecordChild2, // #1 = $r
1128 : /* 1839*/ OPC_CheckChild2Type, MVT::i32,
1129 : /* 1841*/ OPC_RecordChild3, // #2 = $src
1130 : /* 1842*/ OPC_EmitMergeInputChains1_0,
1131 : /* 1843*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::INSHR_2r), 0|OPFL_Chain,
1132 : MVT::i32, 2/*#Ops*/, 2, 1,
1133 : // Src: (intrinsic_w_chain:{ *:[i32] } 6727:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r, GRRegs:{ *:[i32] }:$src) - Complexity = 8
1134 : // Dst: (INSHR_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src, GRRegs:{ *:[i32] }:$r)
1135 : /* 1851*/ /*Scope*/ 14, /*->1866*/
1136 : /* 1852*/ OPC_CheckChild1Integer, 94|128,52/*6750*/,
1137 : /* 1855*/ OPC_RecordChild2, // #1 = $src
1138 : /* 1856*/ OPC_CheckChild2Type, MVT::i32,
1139 : /* 1858*/ OPC_EmitMergeInputChains1_0,
1140 : /* 1859*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::TESTCT_2r), 0|OPFL_Chain,
1141 : MVT::i32, 1/*#Ops*/, 1,
1142 : // Src: (intrinsic_w_chain:{ *:[i32] } 6750:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src) - Complexity = 8
1143 : // Dst: (TESTCT_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src)
1144 : /* 1866*/ /*Scope*/ 14, /*->1881*/
1145 : /* 1867*/ OPC_CheckChild1Integer, 95|128,52/*6751*/,
1146 : /* 1870*/ OPC_RecordChild2, // #1 = $src
1147 : /* 1871*/ OPC_CheckChild2Type, MVT::i32,
1148 : /* 1873*/ OPC_EmitMergeInputChains1_0,
1149 : /* 1874*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::TESTWCT_2r), 0|OPFL_Chain,
1150 : MVT::i32, 1/*#Ops*/, 1,
1151 : // Src: (intrinsic_w_chain:{ *:[i32] } 6751:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src) - Complexity = 8
1152 : // Dst: (TESTWCT_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src)
1153 : /* 1881*/ /*Scope*/ 16, /*->1898*/
1154 : /* 1882*/ OPC_CheckChild1Integer, 62|128,52/*6718*/,
1155 : /* 1885*/ OPC_RecordChild2, // #1 = $r
1156 : /* 1886*/ OPC_CheckChild2Type, MVT::i32,
1157 : /* 1888*/ OPC_CheckType, MVT::i32,
1158 : /* 1890*/ OPC_EmitMergeInputChains1_0,
1159 : /* 1891*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::GETST_2r), 0|OPFL_Chain,
1160 : MVT::i32, 1/*#Ops*/, 1,
1161 : // Src: (intrinsic_w_chain:{ *:[i32] } 6718:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$r) - Complexity = 8
1162 : // Dst: (GETST_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$r)
1163 : /* 1898*/ /*Scope*/ 14, /*->1913*/
1164 : /* 1899*/ OPC_CheckChild1Integer, 79|128,52/*6735*/,
1165 : /* 1902*/ OPC_RecordChild2, // #1 = $src
1166 : /* 1903*/ OPC_CheckChild2Type, MVT::i32,
1167 : /* 1905*/ OPC_EmitMergeInputChains1_0,
1168 : /* 1906*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::PEEK_2r), 0|OPFL_Chain,
1169 : MVT::i32, 1/*#Ops*/, 1,
1170 : // Src: (intrinsic_w_chain:{ *:[i32] } 6735:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src) - Complexity = 8
1171 : // Dst: (PEEK_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src)
1172 : /* 1913*/ /*Scope*/ 14, /*->1928*/
1173 : /* 1914*/ OPC_CheckChild1Integer, 55|128,52/*6711*/,
1174 : /* 1917*/ OPC_RecordChild2, // #1 = $src
1175 : /* 1918*/ OPC_CheckChild2Type, MVT::i32,
1176 : /* 1920*/ OPC_EmitMergeInputChains1_0,
1177 : /* 1921*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ENDIN_2r), 0|OPFL_Chain,
1178 : MVT::i32, 1/*#Ops*/, 1,
1179 : // Src: (intrinsic_w_chain:{ *:[i32] } 6711:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src) - Complexity = 8
1180 : // Dst: (ENDIN_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src)
1181 : /* 1928*/ /*Scope*/ 12, /*->1941*/
1182 : /* 1929*/ OPC_CheckChild1Integer, 60|128,52/*6716*/,
1183 : /* 1932*/ OPC_RecordChild2, // #1 = $src
1184 : /* 1933*/ OPC_EmitMergeInputChains1_0,
1185 : /* 1934*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::GETPS_l2r), 0|OPFL_Chain,
1186 : MVT::i32, 1/*#Ops*/, 1,
1187 : // Src: (intrinsic_w_chain:{ *:[i32] } 6716:{ *:[iPTR] }, GRRegs:{ *:[i32] }:$src) - Complexity = 8
1188 : // Dst: (GETPS_l2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src)
1189 : /* 1941*/ /*Scope*/ 10, /*->1952*/
1190 : /* 1942*/ OPC_CheckChild1Integer, 57|128,52/*6713*/,
1191 : /* 1945*/ OPC_EmitMergeInputChains1_0,
1192 : /* 1946*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::GETED_0R), 0|OPFL_Chain,
1193 : MVT::i32, 0/*#Ops*/,
1194 : // Src: (intrinsic_w_chain:{ *:[i32] } 6713:{ *:[iPTR] }) - Complexity = 8
1195 : // Dst: (GETED_0R:{ *:[i32] })
1196 : /* 1952*/ /*Scope*/ 10, /*->1963*/
1197 : /* 1953*/ OPC_CheckChild1Integer, 58|128,52/*6714*/,
1198 : /* 1956*/ OPC_EmitMergeInputChains1_0,
1199 : /* 1957*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::GETET_0R), 0|OPFL_Chain,
1200 : MVT::i32, 0/*#Ops*/,
1201 : // Src: (intrinsic_w_chain:{ *:[i32] } 6714:{ *:[iPTR] }) - Complexity = 8
1202 : // Dst: (GETET_0R:{ *:[i32] })
1203 : /* 1963*/ 0, /*End of Scope*/
1204 : /* 1964*/ /*SwitchOpcode*/ 98, TARGET_VAL(ISD::SUB),// ->2065
1205 : /* 1967*/ OPC_Scope, 32, /*->2001*/ // 3 children in Scope
1206 : /* 1969*/ OPC_RecordChild0, // #0 = $addr
1207 : /* 1970*/ OPC_MoveChild1,
1208 : /* 1971*/ OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
1209 : /* 1974*/ OPC_RecordChild0, // #1 = $offset
1210 : /* 1975*/ OPC_Scope, 11, /*->1988*/ // 2 children in Scope
1211 : /* 1977*/ OPC_CheckChild1Integer, 2,
1212 : /* 1979*/ OPC_MoveParent,
1213 : /* 1980*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWB_l3r), 0,
1214 : MVT::i32, 2/*#Ops*/, 0, 1,
1215 : // Src: (sub:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 2:{ *:[i32] })) - Complexity = 11
1216 : // Dst: (LDAWB_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
1217 : /* 1988*/ /*Scope*/ 11, /*->2000*/
1218 : /* 1989*/ OPC_CheckChild1Integer, 1,
1219 : /* 1991*/ OPC_MoveParent,
1220 : /* 1992*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDA16B_l3r), 0,
1221 : MVT::i32, 2/*#Ops*/, 0, 1,
1222 : // Src: (sub:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$offset, 1:{ *:[i32] })) - Complexity = 11
1223 : // Dst: (LDA16B_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, GRRegs:{ *:[i32] }:$offset)
1224 : /* 2000*/ 0, /*End of Scope*/
1225 : /* 2001*/ /*Scope*/ 10, /*->2012*/
1226 : /* 2002*/ OPC_CheckChild0Integer, 0,
1227 : /* 2004*/ OPC_RecordChild1, // #0 = $b
1228 : /* 2005*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::NEG), 0,
1229 : MVT::i32, 1/*#Ops*/, 0,
1230 : // Src: (sub:{ *:[i32] } 0:{ *:[i32] }, GRRegs:{ *:[i32] }:$b) - Complexity = 8
1231 : // Dst: (NEG:{ *:[i32] } GRRegs:{ *:[i32] }:$b)
1232 : /* 2012*/ /*Scope*/ 51, /*->2064*/
1233 : /* 2013*/ OPC_RecordChild0, // #0 = $b
1234 : /* 2014*/ OPC_RecordChild1, // #1 = $c
1235 : /* 2015*/ OPC_Scope, 37, /*->2054*/ // 2 children in Scope
1236 : /* 2017*/ OPC_MoveChild1,
1237 : /* 2018*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1238 : /* 2021*/ OPC_Scope, 13, /*->2036*/ // 2 children in Scope
1239 : /* 2023*/ OPC_CheckPredicate, 0, // Predicate_immUs
1240 : /* 2025*/ OPC_MoveParent,
1241 : /* 2026*/ OPC_EmitConvertToTarget, 1,
1242 : /* 2028*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SUB_2rus), 0,
1243 : MVT::i32, 2/*#Ops*/, 0, 2,
1244 : // Src: (sub:{ *:[i32] } GRRegs:{ *:[i32] }:$b, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$c) - Complexity = 7
1245 : // Dst: (SUB_2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$b, (imm:{ *:[i32] }):$c)
1246 : /* 2036*/ /*Scope*/ 16, /*->2053*/
1247 : /* 2037*/ OPC_CheckPredicate, 1, // Predicate_immUs4
1248 : /* 2039*/ OPC_MoveParent,
1249 : /* 2040*/ OPC_EmitConvertToTarget, 1,
1250 : /* 2042*/ OPC_EmitNodeXForm, 0, 2, // div4_xform
1251 : /* 2045*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWB_l2rus), 0,
1252 : MVT::i32, 2/*#Ops*/, 0, 3,
1253 : // Src: (sub:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (imm:{ *:[i32] })<<P:Predicate_immUs4>>:$offset) - Complexity = 7
1254 : // Dst: (LDAWB_l2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$addr, (div4_xform:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immUs4>>:$offset))
1255 : /* 2053*/ 0, /*End of Scope*/
1256 : /* 2054*/ /*Scope*/ 8, /*->2063*/
1257 : /* 2055*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SUB_3r), 0,
1258 : MVT::i32, 2/*#Ops*/, 0, 1,
1259 : // Src: (sub:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
1260 : // Dst: (SUB_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
1261 : /* 2063*/ 0, /*End of Scope*/
1262 : /* 2064*/ 0, /*End of Scope*/
1263 : /* 2065*/ /*SwitchOpcode*/ 91, TARGET_VAL(ISD::AND),// ->2159
1264 : /* 2068*/ OPC_Scope, 26, /*->2096*/ // 3 children in Scope
1265 : /* 2070*/ OPC_RecordChild0, // #0 = $src1
1266 : /* 2071*/ OPC_MoveChild1,
1267 : /* 2072*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
1268 : /* 2075*/ OPC_RecordChild0, // #1 = $src2
1269 : /* 2076*/ OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/,
1270 : /* 2087*/ OPC_MoveParent,
1271 : /* 2088*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ANDNOT_2r), 0,
1272 : MVT::i32, 2/*#Ops*/, 0, 1,
1273 : // Src: (and:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, (xor:{ *:[i32] } GRRegs:{ *:[i32] }:$src2, -1:{ *:[i32] })) - Complexity = 11
1274 : // Dst: (ANDNOT_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2)
1275 : /* 2096*/ /*Scope*/ 26, /*->2123*/
1276 : /* 2097*/ OPC_MoveChild0,
1277 : /* 2098*/ OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
1278 : /* 2101*/ OPC_RecordChild0, // #0 = $src2
1279 : /* 2102*/ OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/,
1280 : /* 2113*/ OPC_MoveParent,
1281 : /* 2114*/ OPC_RecordChild1, // #1 = $src1
1282 : /* 2115*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ANDNOT_2r), 0,
1283 : MVT::i32, 2/*#Ops*/, 1, 0,
1284 : // Src: (and:{ *:[i32] } (xor:{ *:[i32] } GRRegs:{ *:[i32] }:$src2, -1:{ *:[i32] }), GRRegs:{ *:[i32] }:$src1) - Complexity = 11
1285 : // Dst: (ANDNOT_2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src1, GRRegs:{ *:[i32] }:$src2)
1286 : /* 2123*/ /*Scope*/ 34, /*->2158*/
1287 : /* 2124*/ OPC_RecordChild0, // #0 = $val
1288 : /* 2125*/ OPC_RecordChild1, // #1 = $mask
1289 : /* 2126*/ OPC_Scope, 20, /*->2148*/ // 2 children in Scope
1290 : /* 2128*/ OPC_MoveChild1,
1291 : /* 2129*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1292 : /* 2132*/ OPC_CheckPredicate, 20, // Predicate_immMskBitp
1293 : /* 2134*/ OPC_MoveParent,
1294 : /* 2135*/ OPC_EmitConvertToTarget, 1,
1295 : /* 2137*/ OPC_EmitNodeXForm, 4, 2, // msksize_xform
1296 : /* 2140*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ZEXT_rus), 0,
1297 : MVT::i32, 2/*#Ops*/, 0, 3,
1298 : // Src: (and:{ *:[i32] } GRRegs:{ *:[i32] }:$val, (imm:{ *:[i32] })<<P:Predicate_immMskBitp>>:$mask) - Complexity = 7
1299 : // Dst: (ZEXT_rus:{ *:[i32] } GRRegs:{ *:[i32] }:$val, (msksize_xform:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immMskBitp>>:$mask))
1300 : /* 2148*/ /*Scope*/ 8, /*->2157*/
1301 : /* 2149*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::AND_3r), 0,
1302 : MVT::i32, 2/*#Ops*/, 0, 1,
1303 : // Src: (and:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
1304 : // Dst: (AND_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
1305 : /* 2157*/ 0, /*End of Scope*/
1306 : /* 2158*/ 0, /*End of Scope*/
1307 : /* 2159*/ /*SwitchOpcode*/ 34, TARGET_VAL(ISD::BRIND),// ->2196
1308 : /* 2162*/ OPC_RecordNode, // #0 = 'brind' chained node
1309 : /* 2163*/ OPC_Scope, 19, /*->2184*/ // 2 children in Scope
1310 : /* 2165*/ OPC_MoveChild1,
1311 : /* 2166*/ OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
1312 : /* 2169*/ OPC_RecordNode, // #1 = 'intrinsic_w_chain' chained node
1313 : /* 2170*/ OPC_CheckFoldableChainNode,
1314 : /* 2171*/ OPC_CheckChild1Integer, 96|128,52/*6752*/,
1315 : /* 2174*/ OPC_MoveParent,
1316 : /* 2175*/ OPC_EmitMergeInputChains, 2, 0, 1,
1317 : /* 2179*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::WAITEU_0R), 0|OPFL_Chain,
1318 : 0/*#Ops*/,
1319 : // Src: (brind (intrinsic_w_chain:{ *:[iPTR] } 6752:{ *:[iPTR] })) - Complexity = 11
1320 : // Dst: (WAITEU_0R)
1321 : /* 2184*/ /*Scope*/ 10, /*->2195*/
1322 : /* 2185*/ OPC_RecordChild1, // #1 = $a
1323 : /* 2186*/ OPC_CheckChild1Type, MVT::i32,
1324 : /* 2188*/ OPC_EmitMergeInputChains1_0,
1325 : /* 2189*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BAU_1r), 0|OPFL_Chain,
1326 : 1/*#Ops*/, 1,
1327 : // Src: (brind GRRegs:{ *:[i32] }:$a) - Complexity = 3
1328 : // Dst: (BAU_1r GRRegs:{ *:[i32] }:$a)
1329 : /* 2195*/ 0, /*End of Scope*/
1330 : /* 2196*/ /*SwitchOpcode*/ 69|128,2/*325*/, TARGET_VAL(ISD::BRCOND),// ->2525
1331 : /* 2200*/ OPC_RecordNode, // #0 = 'brcond' chained node
1332 : /* 2201*/ OPC_Scope, 48|128,2/*304*/, /*->2508*/ // 2 children in Scope
1333 : /* 2204*/ OPC_MoveChild1,
1334 : /* 2205*/ OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
1335 : /* 2208*/ OPC_RecordChild0, // #1 = $lhs
1336 : /* 2209*/ OPC_Scope, 73, /*->2284*/ // 4 children in Scope
1337 : /* 2211*/ OPC_CheckChild1Integer, 0,
1338 : /* 2213*/ OPC_MoveChild2,
1339 : /* 2214*/ OPC_Scope, 18, /*->2234*/ // 3 children in Scope
1340 : /* 2216*/ OPC_CheckCondCode, ISD::SETNE,
1341 : /* 2218*/ OPC_MoveParent,
1342 : /* 2219*/ OPC_MoveParent,
1343 : /* 2220*/ OPC_RecordChild2, // #2 = $dst
1344 : /* 2221*/ OPC_MoveChild2,
1345 : /* 2222*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1346 : /* 2225*/ OPC_MoveParent,
1347 : /* 2226*/ OPC_EmitMergeInputChains1_0,
1348 : /* 2227*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFT_lru6), 0|OPFL_Chain,
1349 : 2/*#Ops*/, 1, 2,
1350 : // Src: (brcond (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 11
1351 : // Dst: (BRFT_lru6 GRRegs:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
1352 : /* 2234*/ /*Scope*/ 18, /*->2253*/
1353 : /* 2235*/ OPC_CheckCondCode, ISD::SETEQ,
1354 : /* 2237*/ OPC_MoveParent,
1355 : /* 2238*/ OPC_MoveParent,
1356 : /* 2239*/ OPC_RecordChild2, // #2 = $dst
1357 : /* 2240*/ OPC_MoveChild2,
1358 : /* 2241*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1359 : /* 2244*/ OPC_MoveParent,
1360 : /* 2245*/ OPC_EmitMergeInputChains1_0,
1361 : /* 2246*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFF_lru6), 0|OPFL_Chain,
1362 : 2/*#Ops*/, 1, 2,
1363 : // Src: (brcond (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 11
1364 : // Dst: (BRFF_lru6 GRRegs:{ *:[i32] }:$lhs, (bb:{ *:[Other] }):$dst)
1365 : /* 2253*/ /*Scope*/ 29, /*->2283*/
1366 : /* 2254*/ OPC_CheckCondCode, ISD::SETLT,
1367 : /* 2256*/ OPC_MoveParent,
1368 : /* 2257*/ OPC_MoveParent,
1369 : /* 2258*/ OPC_RecordChild2, // #2 = $dst
1370 : /* 2259*/ OPC_MoveChild2,
1371 : /* 2260*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1372 : /* 2263*/ OPC_MoveParent,
1373 : /* 2264*/ OPC_EmitMergeInputChains1_0,
1374 : /* 2265*/ OPC_EmitInteger, MVT::i32, 32,
1375 : /* 2268*/ OPC_EmitNode1, TARGET_VAL(XCore::ASHR_l2rus), 0,
1376 : MVT::i32, 2/*#Ops*/, 1, 3, // Results = #4
1377 : /* 2276*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFT_lru6), 0|OPFL_Chain,
1378 : 2/*#Ops*/, 4, 2,
1379 : // Src: (brcond (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETLT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 11
1380 : // Dst: (BRFT_lru6 (ASHR_l2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, 32:{ *:[i32] }), (bb:{ *:[Other] }):$dst)
1381 : /* 2283*/ 0, /*End of Scope*/
1382 : /* 2284*/ /*Scope*/ 41, /*->2326*/
1383 : /* 2285*/ OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/,
1384 : /* 2296*/ OPC_MoveChild2,
1385 : /* 2297*/ OPC_CheckCondCode, ISD::SETGT,
1386 : /* 2299*/ OPC_MoveParent,
1387 : /* 2300*/ OPC_MoveParent,
1388 : /* 2301*/ OPC_RecordChild2, // #2 = $dst
1389 : /* 2302*/ OPC_MoveChild2,
1390 : /* 2303*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1391 : /* 2306*/ OPC_MoveParent,
1392 : /* 2307*/ OPC_EmitMergeInputChains1_0,
1393 : /* 2308*/ OPC_EmitInteger, MVT::i32, 32,
1394 : /* 2311*/ OPC_EmitNode1, TARGET_VAL(XCore::ASHR_l2rus), 0,
1395 : MVT::i32, 2/*#Ops*/, 1, 3, // Results = #4
1396 : /* 2319*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFF_lru6), 0|OPFL_Chain,
1397 : 2/*#Ops*/, 4, 2,
1398 : // Src: (brcond (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, -1:{ *:[i32] }, SETGT:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 11
1399 : // Dst: (BRFF_lru6 (ASHR_l2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, 32:{ *:[i32] }), (bb:{ *:[Other] }):$dst)
1400 : /* 2326*/ /*Scope*/ 37, /*->2364*/
1401 : /* 2327*/ OPC_RecordChild1, // #2 = $rhs
1402 : /* 2328*/ OPC_MoveChild1,
1403 : /* 2329*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1404 : /* 2332*/ OPC_CheckPredicate, 0, // Predicate_immUs
1405 : /* 2334*/ OPC_MoveParent,
1406 : /* 2335*/ OPC_MoveChild2,
1407 : /* 2336*/ OPC_CheckCondCode, ISD::SETNE,
1408 : /* 2338*/ OPC_MoveParent,
1409 : /* 2339*/ OPC_MoveParent,
1410 : /* 2340*/ OPC_RecordChild2, // #3 = $dst
1411 : /* 2341*/ OPC_MoveChild2,
1412 : /* 2342*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1413 : /* 2345*/ OPC_MoveParent,
1414 : /* 2346*/ OPC_EmitMergeInputChains1_0,
1415 : /* 2347*/ OPC_EmitConvertToTarget, 2,
1416 : /* 2349*/ OPC_EmitNode1, TARGET_VAL(XCore::EQ_2rus), 0,
1417 : MVT::i32, 2/*#Ops*/, 1, 4, // Results = #5
1418 : /* 2357*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFF_lru6), 0|OPFL_Chain,
1419 : 2/*#Ops*/, 5, 3,
1420 : // Src: (brcond (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$rhs, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 10
1421 : // Dst: (BRFF_lru6 (EQ_2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$rhs), (bb:{ *:[Other] }):$dst)
1422 : /* 2364*/ /*Scope*/ 13|128,1/*141*/, /*->2507*/
1423 : /* 2366*/ OPC_CheckChild0Type, MVT::i32,
1424 : /* 2368*/ OPC_RecordChild1, // #2 = $rhs
1425 : /* 2369*/ OPC_MoveChild2,
1426 : /* 2370*/ OPC_Scope, 26, /*->2398*/ // 5 children in Scope
1427 : /* 2372*/ OPC_CheckCondCode, ISD::SETLE,
1428 : /* 2374*/ OPC_MoveParent,
1429 : /* 2375*/ OPC_MoveParent,
1430 : /* 2376*/ OPC_RecordChild2, // #3 = $dst
1431 : /* 2377*/ OPC_MoveChild2,
1432 : /* 2378*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1433 : /* 2381*/ OPC_MoveParent,
1434 : /* 2382*/ OPC_EmitMergeInputChains1_0,
1435 : /* 2383*/ OPC_EmitNode1, TARGET_VAL(XCore::LSS_3r), 0,
1436 : MVT::i32, 2/*#Ops*/, 2, 1, // Results = #4
1437 : /* 2391*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFF_lru6), 0|OPFL_Chain,
1438 : 2/*#Ops*/, 4, 3,
1439 : // Src: (brcond (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 6
1440 : // Dst: (BRFF_lru6 (LSS_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$rhs, GRRegs:{ *:[i32] }:$lhs), (bb:{ *:[Other] }):$dst)
1441 : /* 2398*/ /*Scope*/ 26, /*->2425*/
1442 : /* 2399*/ OPC_CheckCondCode, ISD::SETULE,
1443 : /* 2401*/ OPC_MoveParent,
1444 : /* 2402*/ OPC_MoveParent,
1445 : /* 2403*/ OPC_RecordChild2, // #3 = $dst
1446 : /* 2404*/ OPC_MoveChild2,
1447 : /* 2405*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1448 : /* 2408*/ OPC_MoveParent,
1449 : /* 2409*/ OPC_EmitMergeInputChains1_0,
1450 : /* 2410*/ OPC_EmitNode1, TARGET_VAL(XCore::LSU_3r), 0,
1451 : MVT::i32, 2/*#Ops*/, 2, 1, // Results = #4
1452 : /* 2418*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFF_lru6), 0|OPFL_Chain,
1453 : 2/*#Ops*/, 4, 3,
1454 : // Src: (brcond (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 6
1455 : // Dst: (BRFF_lru6 (LSU_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$rhs, GRRegs:{ *:[i32] }:$lhs), (bb:{ *:[Other] }):$dst)
1456 : /* 2425*/ /*Scope*/ 26, /*->2452*/
1457 : /* 2426*/ OPC_CheckCondCode, ISD::SETGE,
1458 : /* 2428*/ OPC_MoveParent,
1459 : /* 2429*/ OPC_MoveParent,
1460 : /* 2430*/ OPC_RecordChild2, // #3 = $dst
1461 : /* 2431*/ OPC_MoveChild2,
1462 : /* 2432*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1463 : /* 2435*/ OPC_MoveParent,
1464 : /* 2436*/ OPC_EmitMergeInputChains1_0,
1465 : /* 2437*/ OPC_EmitNode1, TARGET_VAL(XCore::LSS_3r), 0,
1466 : MVT::i32, 2/*#Ops*/, 1, 2, // Results = #4
1467 : /* 2445*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFF_lru6), 0|OPFL_Chain,
1468 : 2/*#Ops*/, 4, 3,
1469 : // Src: (brcond (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 6
1470 : // Dst: (BRFF_lru6 (LSS_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs), (bb:{ *:[Other] }):$dst)
1471 : /* 2452*/ /*Scope*/ 26, /*->2479*/
1472 : /* 2453*/ OPC_CheckCondCode, ISD::SETUGE,
1473 : /* 2455*/ OPC_MoveParent,
1474 : /* 2456*/ OPC_MoveParent,
1475 : /* 2457*/ OPC_RecordChild2, // #3 = $dst
1476 : /* 2458*/ OPC_MoveChild2,
1477 : /* 2459*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1478 : /* 2462*/ OPC_MoveParent,
1479 : /* 2463*/ OPC_EmitMergeInputChains1_0,
1480 : /* 2464*/ OPC_EmitNode1, TARGET_VAL(XCore::LSU_3r), 0,
1481 : MVT::i32, 2/*#Ops*/, 1, 2, // Results = #4
1482 : /* 2472*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFF_lru6), 0|OPFL_Chain,
1483 : 2/*#Ops*/, 4, 3,
1484 : // Src: (brcond (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 6
1485 : // Dst: (BRFF_lru6 (LSU_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs), (bb:{ *:[Other] }):$dst)
1486 : /* 2479*/ /*Scope*/ 26, /*->2506*/
1487 : /* 2480*/ OPC_CheckCondCode, ISD::SETNE,
1488 : /* 2482*/ OPC_MoveParent,
1489 : /* 2483*/ OPC_MoveParent,
1490 : /* 2484*/ OPC_RecordChild2, // #3 = $dst
1491 : /* 2485*/ OPC_MoveChild2,
1492 : /* 2486*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1493 : /* 2489*/ OPC_MoveParent,
1494 : /* 2490*/ OPC_EmitMergeInputChains1_0,
1495 : /* 2491*/ OPC_EmitNode1, TARGET_VAL(XCore::EQ_3r), 0,
1496 : MVT::i32, 2/*#Ops*/, 1, 2, // Results = #4
1497 : /* 2499*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFF_lru6), 0|OPFL_Chain,
1498 : 2/*#Ops*/, 4, 3,
1499 : // Src: (brcond (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 6
1500 : // Dst: (BRFF_lru6 (EQ_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs), (bb:{ *:[Other] }):$dst)
1501 : /* 2506*/ 0, /*End of Scope*/
1502 : /* 2507*/ 0, /*End of Scope*/
1503 : /* 2508*/ /*Scope*/ 15, /*->2524*/
1504 : /* 2509*/ OPC_RecordChild1, // #1 = $cond
1505 : /* 2510*/ OPC_RecordChild2, // #2 = $addr
1506 : /* 2511*/ OPC_MoveChild2,
1507 : /* 2512*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
1508 : /* 2515*/ OPC_MoveParent,
1509 : /* 2516*/ OPC_EmitMergeInputChains1_0,
1510 : /* 2517*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFT_lru6), 0|OPFL_Chain,
1511 : 2/*#Ops*/, 1, 2,
1512 : // Src: (brcond GRRegs:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$addr) - Complexity = 3
1513 : // Dst: (BRFT_lru6 GRRegs:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$addr)
1514 : /* 2524*/ 0, /*End of Scope*/
1515 : /* 2525*/ /*SwitchOpcode*/ 57|128,2/*313*/, TARGET_VAL(ISD::SELECT),// ->2842
1516 : /* 2529*/ OPC_Scope, 38|128,2/*294*/, /*->2826*/ // 2 children in Scope
1517 : /* 2532*/ OPC_MoveChild0,
1518 : /* 2533*/ OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
1519 : /* 2536*/ OPC_RecordChild0, // #0 = $lhs
1520 : /* 2537*/ OPC_Scope, 70, /*->2609*/ // 4 children in Scope
1521 : /* 2539*/ OPC_CheckChild1Integer, 0,
1522 : /* 2541*/ OPC_MoveChild2,
1523 : /* 2542*/ OPC_Scope, 17, /*->2561*/ // 3 children in Scope
1524 : /* 2544*/ OPC_CheckCondCode, ISD::SETNE,
1525 : /* 2546*/ OPC_MoveParent,
1526 : /* 2547*/ OPC_MoveParent,
1527 : /* 2548*/ OPC_RecordChild1, // #1 = $T
1528 : /* 2549*/ OPC_RecordChild2, // #2 = $F
1529 : /* 2550*/ OPC_CheckType, MVT::i32,
1530 : /* 2552*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SELECT_CC), 0,
1531 : MVT::i32, 3/*#Ops*/, 0, 1, 2,
1532 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETNE:{ *:[Other] }), GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F) - Complexity = 11
1533 : // Dst: (SELECT_CC:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F)
1534 : /* 2561*/ /*Scope*/ 17, /*->2579*/
1535 : /* 2562*/ OPC_CheckCondCode, ISD::SETEQ,
1536 : /* 2564*/ OPC_MoveParent,
1537 : /* 2565*/ OPC_MoveParent,
1538 : /* 2566*/ OPC_RecordChild1, // #1 = $T
1539 : /* 2567*/ OPC_RecordChild2, // #2 = $F
1540 : /* 2568*/ OPC_CheckType, MVT::i32,
1541 : /* 2570*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SELECT_CC), 0,
1542 : MVT::i32, 3/*#Ops*/, 0, 2, 1,
1543 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F) - Complexity = 11
1544 : // Dst: (SELECT_CC:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$F, GRRegs:{ *:[i32] }:$T)
1545 : /* 2579*/ /*Scope*/ 28, /*->2608*/
1546 : /* 2580*/ OPC_CheckCondCode, ISD::SETLT,
1547 : /* 2582*/ OPC_MoveParent,
1548 : /* 2583*/ OPC_MoveParent,
1549 : /* 2584*/ OPC_RecordChild1, // #1 = $T
1550 : /* 2585*/ OPC_RecordChild2, // #2 = $F
1551 : /* 2586*/ OPC_CheckType, MVT::i32,
1552 : /* 2588*/ OPC_EmitInteger, MVT::i32, 32,
1553 : /* 2591*/ OPC_EmitNode1, TARGET_VAL(XCore::ASHR_l2rus), 0,
1554 : MVT::i32, 2/*#Ops*/, 0, 3, // Results = #4
1555 : /* 2599*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SELECT_CC), 0,
1556 : MVT::i32, 3/*#Ops*/, 4, 1, 2,
1557 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, 0:{ *:[i32] }, SETLT:{ *:[Other] }), GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F) - Complexity = 11
1558 : // Dst: (SELECT_CC:{ *:[i32] } (ASHR_l2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, 32:{ *:[i32] }), GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F)
1559 : /* 2608*/ 0, /*End of Scope*/
1560 : /* 2609*/ /*Scope*/ 40, /*->2650*/
1561 : /* 2610*/ OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/,
1562 : /* 2621*/ OPC_MoveChild2,
1563 : /* 2622*/ OPC_CheckCondCode, ISD::SETGT,
1564 : /* 2624*/ OPC_MoveParent,
1565 : /* 2625*/ OPC_MoveParent,
1566 : /* 2626*/ OPC_RecordChild1, // #1 = $T
1567 : /* 2627*/ OPC_RecordChild2, // #2 = $F
1568 : /* 2628*/ OPC_CheckType, MVT::i32,
1569 : /* 2630*/ OPC_EmitInteger, MVT::i32, 32,
1570 : /* 2633*/ OPC_EmitNode1, TARGET_VAL(XCore::ASHR_l2rus), 0,
1571 : MVT::i32, 2/*#Ops*/, 0, 3, // Results = #4
1572 : /* 2641*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SELECT_CC), 0,
1573 : MVT::i32, 3/*#Ops*/, 4, 2, 1,
1574 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, -1:{ *:[i32] }, SETGT:{ *:[Other] }), GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F) - Complexity = 11
1575 : // Dst: (SELECT_CC:{ *:[i32] } (ASHR_l2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, 32:{ *:[i32] }), GRRegs:{ *:[i32] }:$F, GRRegs:{ *:[i32] }:$T)
1576 : /* 2650*/ /*Scope*/ 36, /*->2687*/
1577 : /* 2651*/ OPC_RecordChild1, // #1 = $rhs
1578 : /* 2652*/ OPC_MoveChild1,
1579 : /* 2653*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1580 : /* 2656*/ OPC_CheckPredicate, 0, // Predicate_immUs
1581 : /* 2658*/ OPC_MoveParent,
1582 : /* 2659*/ OPC_MoveChild2,
1583 : /* 2660*/ OPC_CheckCondCode, ISD::SETNE,
1584 : /* 2662*/ OPC_MoveParent,
1585 : /* 2663*/ OPC_MoveParent,
1586 : /* 2664*/ OPC_RecordChild1, // #2 = $T
1587 : /* 2665*/ OPC_RecordChild2, // #3 = $F
1588 : /* 2666*/ OPC_CheckType, MVT::i32,
1589 : /* 2668*/ OPC_EmitConvertToTarget, 1,
1590 : /* 2670*/ OPC_EmitNode1, TARGET_VAL(XCore::EQ_2rus), 0,
1591 : MVT::i32, 2/*#Ops*/, 0, 4, // Results = #5
1592 : /* 2678*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SELECT_CC), 0,
1593 : MVT::i32, 3/*#Ops*/, 5, 3, 2,
1594 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$rhs, SETNE:{ *:[Other] }), GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F) - Complexity = 10
1595 : // Dst: (SELECT_CC:{ *:[i32] } (EQ_2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$rhs), GRRegs:{ *:[i32] }:$F, GRRegs:{ *:[i32] }:$T)
1596 : /* 2687*/ /*Scope*/ 8|128,1/*136*/, /*->2825*/
1597 : /* 2689*/ OPC_CheckChild0Type, MVT::i32,
1598 : /* 2691*/ OPC_RecordChild1, // #1 = $rhs
1599 : /* 2692*/ OPC_MoveChild2,
1600 : /* 2693*/ OPC_Scope, 25, /*->2720*/ // 5 children in Scope
1601 : /* 2695*/ OPC_CheckCondCode, ISD::SETLE,
1602 : /* 2697*/ OPC_MoveParent,
1603 : /* 2698*/ OPC_MoveParent,
1604 : /* 2699*/ OPC_RecordChild1, // #2 = $T
1605 : /* 2700*/ OPC_RecordChild2, // #3 = $F
1606 : /* 2701*/ OPC_CheckType, MVT::i32,
1607 : /* 2703*/ OPC_EmitNode1, TARGET_VAL(XCore::LSS_3r), 0,
1608 : MVT::i32, 2/*#Ops*/, 1, 0, // Results = #4
1609 : /* 2711*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SELECT_CC), 0,
1610 : MVT::i32, 3/*#Ops*/, 4, 3, 2,
1611 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }), GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F) - Complexity = 6
1612 : // Dst: (SELECT_CC:{ *:[i32] } (LSS_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$rhs, GRRegs:{ *:[i32] }:$lhs), GRRegs:{ *:[i32] }:$F, GRRegs:{ *:[i32] }:$T)
1613 : /* 2720*/ /*Scope*/ 25, /*->2746*/
1614 : /* 2721*/ OPC_CheckCondCode, ISD::SETULE,
1615 : /* 2723*/ OPC_MoveParent,
1616 : /* 2724*/ OPC_MoveParent,
1617 : /* 2725*/ OPC_RecordChild1, // #2 = $T
1618 : /* 2726*/ OPC_RecordChild2, // #3 = $F
1619 : /* 2727*/ OPC_CheckType, MVT::i32,
1620 : /* 2729*/ OPC_EmitNode1, TARGET_VAL(XCore::LSU_3r), 0,
1621 : MVT::i32, 2/*#Ops*/, 1, 0, // Results = #4
1622 : /* 2737*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SELECT_CC), 0,
1623 : MVT::i32, 3/*#Ops*/, 4, 3, 2,
1624 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }), GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F) - Complexity = 6
1625 : // Dst: (SELECT_CC:{ *:[i32] } (LSU_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$rhs, GRRegs:{ *:[i32] }:$lhs), GRRegs:{ *:[i32] }:$F, GRRegs:{ *:[i32] }:$T)
1626 : /* 2746*/ /*Scope*/ 25, /*->2772*/
1627 : /* 2747*/ OPC_CheckCondCode, ISD::SETGE,
1628 : /* 2749*/ OPC_MoveParent,
1629 : /* 2750*/ OPC_MoveParent,
1630 : /* 2751*/ OPC_RecordChild1, // #2 = $T
1631 : /* 2752*/ OPC_RecordChild2, // #3 = $F
1632 : /* 2753*/ OPC_CheckType, MVT::i32,
1633 : /* 2755*/ OPC_EmitNode1, TARGET_VAL(XCore::LSS_3r), 0,
1634 : MVT::i32, 2/*#Ops*/, 0, 1, // Results = #4
1635 : /* 2763*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SELECT_CC), 0,
1636 : MVT::i32, 3/*#Ops*/, 4, 3, 2,
1637 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }), GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F) - Complexity = 6
1638 : // Dst: (SELECT_CC:{ *:[i32] } (LSS_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs), GRRegs:{ *:[i32] }:$F, GRRegs:{ *:[i32] }:$T)
1639 : /* 2772*/ /*Scope*/ 25, /*->2798*/
1640 : /* 2773*/ OPC_CheckCondCode, ISD::SETUGE,
1641 : /* 2775*/ OPC_MoveParent,
1642 : /* 2776*/ OPC_MoveParent,
1643 : /* 2777*/ OPC_RecordChild1, // #2 = $T
1644 : /* 2778*/ OPC_RecordChild2, // #3 = $F
1645 : /* 2779*/ OPC_CheckType, MVT::i32,
1646 : /* 2781*/ OPC_EmitNode1, TARGET_VAL(XCore::LSU_3r), 0,
1647 : MVT::i32, 2/*#Ops*/, 0, 1, // Results = #4
1648 : /* 2789*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SELECT_CC), 0,
1649 : MVT::i32, 3/*#Ops*/, 4, 3, 2,
1650 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }), GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F) - Complexity = 6
1651 : // Dst: (SELECT_CC:{ *:[i32] } (LSU_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs), GRRegs:{ *:[i32] }:$F, GRRegs:{ *:[i32] }:$T)
1652 : /* 2798*/ /*Scope*/ 25, /*->2824*/
1653 : /* 2799*/ OPC_CheckCondCode, ISD::SETNE,
1654 : /* 2801*/ OPC_MoveParent,
1655 : /* 2802*/ OPC_MoveParent,
1656 : /* 2803*/ OPC_RecordChild1, // #2 = $T
1657 : /* 2804*/ OPC_RecordChild2, // #3 = $F
1658 : /* 2805*/ OPC_CheckType, MVT::i32,
1659 : /* 2807*/ OPC_EmitNode1, TARGET_VAL(XCore::EQ_3r), 0,
1660 : MVT::i32, 2/*#Ops*/, 0, 1, // Results = #4
1661 : /* 2815*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SELECT_CC), 0,
1662 : MVT::i32, 3/*#Ops*/, 4, 3, 2,
1663 : // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }), GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F) - Complexity = 6
1664 : // Dst: (SELECT_CC:{ *:[i32] } (EQ_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs), GRRegs:{ *:[i32] }:$F, GRRegs:{ *:[i32] }:$T)
1665 : /* 2824*/ 0, /*End of Scope*/
1666 : /* 2825*/ 0, /*End of Scope*/
1667 : /* 2826*/ /*Scope*/ 14, /*->2841*/
1668 : /* 2827*/ OPC_RecordChild0, // #0 = $cond
1669 : /* 2828*/ OPC_RecordChild1, // #1 = $T
1670 : /* 2829*/ OPC_RecordChild2, // #2 = $F
1671 : /* 2830*/ OPC_CheckType, MVT::i32,
1672 : /* 2832*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SELECT_CC), 0,
1673 : MVT::i32, 3/*#Ops*/, 0, 1, 2,
1674 : // Src: (select:{ *:[i32] } GRRegs:{ *:[i32] }:$cond, GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F) - Complexity = 3
1675 : // Dst: (SELECT_CC:{ *:[i32] } GRRegs:{ *:[i32] }:$cond, GRRegs:{ *:[i32] }:$T, GRRegs:{ *:[i32] }:$F)
1676 : /* 2841*/ 0, /*End of Scope*/
1677 : /* 2842*/ /*SwitchOpcode*/ 22, TARGET_VAL(ISD::CALLSEQ_START),// ->2867
1678 : /* 2845*/ OPC_RecordNode, // #0 = 'callseq_start' chained node
1679 : /* 2846*/ OPC_RecordChild1, // #1 = $amt
1680 : /* 2847*/ OPC_MoveChild1,
1681 : /* 2848*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1682 : /* 2851*/ OPC_MoveParent,
1683 : /* 2852*/ OPC_RecordChild2, // #2 = $amt2
1684 : /* 2853*/ OPC_MoveChild2,
1685 : /* 2854*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1686 : /* 2857*/ OPC_MoveParent,
1687 : /* 2858*/ OPC_EmitMergeInputChains1_0,
1688 : /* 2859*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
1689 : MVT::i32, 2/*#Ops*/, 1, 2,
1690 : // Src: (callseq_start (timm:{ *:[i32] }):$amt, (timm:{ *:[i32] }):$amt2) - Complexity = 9
1691 : // Dst: (ADJCALLSTACKDOWN:{ *:[i32] } (timm:{ *:[i32] }):$amt, (timm:{ *:[i32] }):$amt2)
1692 : /* 2867*/ /*SwitchOpcode*/ 23, TARGET_VAL(ISD::CALLSEQ_END),// ->2893
1693 : /* 2870*/ OPC_RecordNode, // #0 = 'callseq_end' chained node
1694 : /* 2871*/ OPC_CaptureGlueInput,
1695 : /* 2872*/ OPC_RecordChild1, // #1 = $amt1
1696 : /* 2873*/ OPC_MoveChild1,
1697 : /* 2874*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1698 : /* 2877*/ OPC_MoveParent,
1699 : /* 2878*/ OPC_RecordChild2, // #2 = $amt2
1700 : /* 2879*/ OPC_MoveChild2,
1701 : /* 2880*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
1702 : /* 2883*/ OPC_MoveParent,
1703 : /* 2884*/ OPC_EmitMergeInputChains1_0,
1704 : /* 2885*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
1705 : MVT::i32, 2/*#Ops*/, 1, 2,
1706 : // Src: (callseq_end (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2) - Complexity = 9
1707 : // Dst: (ADJCALLSTACKUP:{ *:[i32] } (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2)
1708 : /* 2893*/ /*SwitchOpcode*/ 14, TARGET_VAL(ISD::FrameIndex),// ->2910
1709 : /* 2896*/ OPC_RecordNode, // #0 = $addr
1710 : /* 2897*/ OPC_CheckType, MVT::i32,
1711 : /* 2899*/ OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectADDRspii:$addr #1 #2
1712 : /* 2902*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWFI), 0,
1713 : MVT::i32, 2/*#Ops*/, 1, 2,
1714 : // Src: ADDRspii:{ *:[i32] }:$addr - Complexity = 9
1715 : // Dst: (LDAWFI:{ *:[i32] } ADDRspii:{ *:[i32] }:$addr)
1716 : /* 2910*/ /*SwitchOpcode*/ 32, TARGET_VAL(ISD::XOR),// ->2945
1717 : /* 2913*/ OPC_RecordChild0, // #0 = $b
1718 : /* 2914*/ OPC_Scope, 18, /*->2934*/ // 2 children in Scope
1719 : /* 2916*/ OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/,
1720 : /* 2927*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::NOT), 0,
1721 : MVT::i32, 1/*#Ops*/, 0,
1722 : // Src: (xor:{ *:[i32] } GRRegs:{ *:[i32] }:$b, -1:{ *:[i32] }) - Complexity = 8
1723 : // Dst: (NOT:{ *:[i32] } GRRegs:{ *:[i32] }:$b)
1724 : /* 2934*/ /*Scope*/ 9, /*->2944*/
1725 : /* 2935*/ OPC_RecordChild1, // #1 = $c
1726 : /* 2936*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::XOR_l3r), 0,
1727 : MVT::i32, 2/*#Ops*/, 0, 1,
1728 : // Src: (xor:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
1729 : // Dst: (XOR_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
1730 : /* 2944*/ 0, /*End of Scope*/
1731 : /* 2945*/ /*SwitchOpcode*/ 55, TARGET_VAL(ISD::MUL),// ->3003
1732 : /* 2948*/ OPC_RecordChild0, // #0 = $src
1733 : /* 2949*/ OPC_Scope, 10, /*->2961*/ // 4 children in Scope
1734 : /* 2951*/ OPC_CheckChild1Integer, 3,
1735 : /* 2953*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDA16F_l3r), 0,
1736 : MVT::i32, 2/*#Ops*/, 0, 0,
1737 : // Src: (mul:{ *:[i32] } GRRegs:{ *:[i32] }:$src, 3:{ *:[i32] }) - Complexity = 8
1738 : // Dst: (LDA16F_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$src, GRRegs:{ *:[i32] }:$src)
1739 : /* 2961*/ /*Scope*/ 10, /*->2972*/
1740 : /* 2962*/ OPC_CheckChild1Integer, 5,
1741 : /* 2964*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWF_l3r), 0,
1742 : MVT::i32, 2/*#Ops*/, 0, 0,
1743 : // Src: (mul:{ *:[i32] } GRRegs:{ *:[i32] }:$src, 5:{ *:[i32] }) - Complexity = 8
1744 : // Dst: (LDAWF_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$src, GRRegs:{ *:[i32] }:$src)
1745 : /* 2972*/ /*Scope*/ 19, /*->2992*/
1746 : /* 2973*/ OPC_CheckChild1Integer, 125|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551613*/,
1747 : /* 2984*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWB_l3r), 0,
1748 : MVT::i32, 2/*#Ops*/, 0, 0,
1749 : // Src: (mul:{ *:[i32] } GRRegs:{ *:[i32] }:$src, -3:{ *:[i32] }) - Complexity = 8
1750 : // Dst: (LDAWB_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$src, GRRegs:{ *:[i32] }:$src)
1751 : /* 2992*/ /*Scope*/ 9, /*->3002*/
1752 : /* 2993*/ OPC_RecordChild1, // #1 = $c
1753 : /* 2994*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::MUL_l3r), 0,
1754 : MVT::i32, 2/*#Ops*/, 0, 1,
1755 : // Src: (mul:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
1756 : // Dst: (MUL_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
1757 : /* 3002*/ 0, /*End of Scope*/
1758 : /* 3003*/ /*SwitchOpcode*/ 19|128,2/*275*/, TARGET_VAL(ISD::SETCC),// ->3282
1759 : /* 3007*/ OPC_RecordChild0, // #0 = $lhs
1760 : /* 3008*/ OPC_Scope, 37, /*->3047*/ // 3 children in Scope
1761 : /* 3010*/ OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/,
1762 : /* 3021*/ OPC_MoveChild2,
1763 : /* 3022*/ OPC_CheckCondCode, ISD::SETGT,
1764 : /* 3024*/ OPC_MoveParent,
1765 : /* 3025*/ OPC_EmitInteger, MVT::i32, 32,
1766 : /* 3028*/ OPC_EmitNode1, TARGET_VAL(XCore::ASHR_l2rus), 0,
1767 : MVT::i32, 2/*#Ops*/, 0, 1, // Results = #2
1768 : /* 3036*/ OPC_EmitInteger, MVT::i32, 0,
1769 : /* 3039*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::EQ_2rus), 0,
1770 : MVT::i32, 2/*#Ops*/, 2, 3,
1771 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, -1:{ *:[i32] }, SETGT:{ *:[Other] }) - Complexity = 8
1772 : // Dst: (EQ_2rus:{ *:[i32] } (ASHR_l2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, 32:{ *:[i32] }), 0:{ *:[i32] })
1773 : /* 3047*/ /*Scope*/ 50, /*->3098*/
1774 : /* 3048*/ OPC_RecordChild1, // #1 = $rhs
1775 : /* 3049*/ OPC_MoveChild1,
1776 : /* 3050*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1777 : /* 3053*/ OPC_CheckPredicate, 0, // Predicate_immUs
1778 : /* 3055*/ OPC_MoveParent,
1779 : /* 3056*/ OPC_MoveChild2,
1780 : /* 3057*/ OPC_Scope, 13, /*->3072*/ // 2 children in Scope
1781 : /* 3059*/ OPC_CheckCondCode, ISD::SETEQ,
1782 : /* 3061*/ OPC_MoveParent,
1783 : /* 3062*/ OPC_EmitConvertToTarget, 1,
1784 : /* 3064*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::EQ_2rus), 0,
1785 : MVT::i32, 2/*#Ops*/, 0, 2,
1786 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$rhs, SETEQ:{ *:[Other] }) - Complexity = 7
1787 : // Dst: (EQ_2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$rhs)
1788 : /* 3072*/ /*Scope*/ 24, /*->3097*/
1789 : /* 3073*/ OPC_CheckCondCode, ISD::SETNE,
1790 : /* 3075*/ OPC_MoveParent,
1791 : /* 3076*/ OPC_EmitConvertToTarget, 1,
1792 : /* 3078*/ OPC_EmitNode1, TARGET_VAL(XCore::EQ_2rus), 0,
1793 : MVT::i32, 2/*#Ops*/, 0, 2, // Results = #3
1794 : /* 3086*/ OPC_EmitInteger, MVT::i32, 0,
1795 : /* 3089*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::EQ_2rus), 0,
1796 : MVT::i32, 2/*#Ops*/, 3, 4,
1797 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$rhs, SETNE:{ *:[Other] }) - Complexity = 7
1798 : // Dst: (EQ_2rus:{ *:[i32] } (EQ_2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, (imm:{ *:[i32] })<<P:Predicate_immUs>>:$rhs), 0:{ *:[i32] })
1799 : /* 3097*/ 0, /*End of Scope*/
1800 : /* 3098*/ /*Scope*/ 53|128,1/*181*/, /*->3281*/
1801 : /* 3100*/ OPC_CheckChild0Type, MVT::i32,
1802 : /* 3102*/ OPC_RecordChild1, // #1 = $rhs
1803 : /* 3103*/ OPC_MoveChild2,
1804 : /* 3104*/ OPC_Scope, 11, /*->3117*/ // 10 children in Scope
1805 : /* 3106*/ OPC_CheckCondCode, ISD::SETGT,
1806 : /* 3108*/ OPC_MoveParent,
1807 : /* 3109*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LSS_3r), 0,
1808 : MVT::i32, 2/*#Ops*/, 1, 0,
1809 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
1810 : // Dst: (LSS_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$rhs, GRRegs:{ *:[i32] }:$lhs)
1811 : /* 3117*/ /*Scope*/ 11, /*->3129*/
1812 : /* 3118*/ OPC_CheckCondCode, ISD::SETUGT,
1813 : /* 3120*/ OPC_MoveParent,
1814 : /* 3121*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LSU_3r), 0,
1815 : MVT::i32, 2/*#Ops*/, 1, 0,
1816 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
1817 : // Dst: (LSU_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$rhs, GRRegs:{ *:[i32] }:$lhs)
1818 : /* 3129*/ /*Scope*/ 11, /*->3141*/
1819 : /* 3130*/ OPC_CheckCondCode, ISD::SETLT,
1820 : /* 3132*/ OPC_MoveParent,
1821 : /* 3133*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LSS_3r), 0,
1822 : MVT::i32, 2/*#Ops*/, 0, 1,
1823 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
1824 : // Dst: (LSS_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs)
1825 : /* 3141*/ /*Scope*/ 11, /*->3153*/
1826 : /* 3142*/ OPC_CheckCondCode, ISD::SETULT,
1827 : /* 3144*/ OPC_MoveParent,
1828 : /* 3145*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LSU_3r), 0,
1829 : MVT::i32, 2/*#Ops*/, 0, 1,
1830 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
1831 : // Dst: (LSU_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs)
1832 : /* 3153*/ /*Scope*/ 11, /*->3165*/
1833 : /* 3154*/ OPC_CheckCondCode, ISD::SETEQ,
1834 : /* 3156*/ OPC_MoveParent,
1835 : /* 3157*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::EQ_3r), 0,
1836 : MVT::i32, 2/*#Ops*/, 0, 1,
1837 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
1838 : // Dst: (EQ_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs)
1839 : /* 3165*/ /*Scope*/ 22, /*->3188*/
1840 : /* 3166*/ OPC_CheckCondCode, ISD::SETLE,
1841 : /* 3168*/ OPC_MoveParent,
1842 : /* 3169*/ OPC_EmitNode1, TARGET_VAL(XCore::LSS_3r), 0,
1843 : MVT::i32, 2/*#Ops*/, 1, 0, // Results = #2
1844 : /* 3177*/ OPC_EmitInteger, MVT::i32, 0,
1845 : /* 3180*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::EQ_2rus), 0,
1846 : MVT::i32, 2/*#Ops*/, 2, 3,
1847 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
1848 : // Dst: (EQ_2rus:{ *:[i32] } (LSS_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$rhs, GRRegs:{ *:[i32] }:$lhs), 0:{ *:[i32] })
1849 : /* 3188*/ /*Scope*/ 22, /*->3211*/
1850 : /* 3189*/ OPC_CheckCondCode, ISD::SETULE,
1851 : /* 3191*/ OPC_MoveParent,
1852 : /* 3192*/ OPC_EmitNode1, TARGET_VAL(XCore::LSU_3r), 0,
1853 : MVT::i32, 2/*#Ops*/, 1, 0, // Results = #2
1854 : /* 3200*/ OPC_EmitInteger, MVT::i32, 0,
1855 : /* 3203*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::EQ_2rus), 0,
1856 : MVT::i32, 2/*#Ops*/, 2, 3,
1857 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
1858 : // Dst: (EQ_2rus:{ *:[i32] } (LSU_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$rhs, GRRegs:{ *:[i32] }:$lhs), 0:{ *:[i32] })
1859 : /* 3211*/ /*Scope*/ 22, /*->3234*/
1860 : /* 3212*/ OPC_CheckCondCode, ISD::SETGE,
1861 : /* 3214*/ OPC_MoveParent,
1862 : /* 3215*/ OPC_EmitNode1, TARGET_VAL(XCore::LSS_3r), 0,
1863 : MVT::i32, 2/*#Ops*/, 0, 1, // Results = #2
1864 : /* 3223*/ OPC_EmitInteger, MVT::i32, 0,
1865 : /* 3226*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::EQ_2rus), 0,
1866 : MVT::i32, 2/*#Ops*/, 2, 3,
1867 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
1868 : // Dst: (EQ_2rus:{ *:[i32] } (LSS_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs), 0:{ *:[i32] })
1869 : /* 3234*/ /*Scope*/ 22, /*->3257*/
1870 : /* 3235*/ OPC_CheckCondCode, ISD::SETUGE,
1871 : /* 3237*/ OPC_MoveParent,
1872 : /* 3238*/ OPC_EmitNode1, TARGET_VAL(XCore::LSU_3r), 0,
1873 : MVT::i32, 2/*#Ops*/, 0, 1, // Results = #2
1874 : /* 3246*/ OPC_EmitInteger, MVT::i32, 0,
1875 : /* 3249*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::EQ_2rus), 0,
1876 : MVT::i32, 2/*#Ops*/, 2, 3,
1877 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
1878 : // Dst: (EQ_2rus:{ *:[i32] } (LSU_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs), 0:{ *:[i32] })
1879 : /* 3257*/ /*Scope*/ 22, /*->3280*/
1880 : /* 3258*/ OPC_CheckCondCode, ISD::SETNE,
1881 : /* 3260*/ OPC_MoveParent,
1882 : /* 3261*/ OPC_EmitNode1, TARGET_VAL(XCore::EQ_3r), 0,
1883 : MVT::i32, 2/*#Ops*/, 0, 1, // Results = #2
1884 : /* 3269*/ OPC_EmitInteger, MVT::i32, 0,
1885 : /* 3272*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::EQ_2rus), 0,
1886 : MVT::i32, 2/*#Ops*/, 2, 3,
1887 : // Src: (setcc:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
1888 : // Dst: (EQ_2rus:{ *:[i32] } (EQ_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$lhs, GRRegs:{ *:[i32] }:$rhs), 0:{ *:[i32] })
1889 : /* 3280*/ 0, /*End of Scope*/
1890 : /* 3281*/ 0, /*End of Scope*/
1891 : /* 3282*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::SHL),// ->3316
1892 : /* 3285*/ OPC_RecordChild0, // #0 = $b
1893 : /* 3286*/ OPC_RecordChild1, // #1 = $c
1894 : /* 3287*/ OPC_Scope, 17, /*->3306*/ // 2 children in Scope
1895 : /* 3289*/ OPC_MoveChild1,
1896 : /* 3290*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1897 : /* 3293*/ OPC_CheckPredicate, 17, // Predicate_immBitp
1898 : /* 3295*/ OPC_MoveParent,
1899 : /* 3296*/ OPC_EmitConvertToTarget, 1,
1900 : /* 3298*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SHL_2rus), 0,
1901 : MVT::i32, 2/*#Ops*/, 0, 2,
1902 : // Src: (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$b, (imm:{ *:[i32] })<<P:Predicate_immBitp>>:$c) - Complexity = 7
1903 : // Dst: (SHL_2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$b, (imm:{ *:[i32] }):$c)
1904 : /* 3306*/ /*Scope*/ 8, /*->3315*/
1905 : /* 3307*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SHL_3r), 0,
1906 : MVT::i32, 2/*#Ops*/, 0, 1,
1907 : // Src: (shl:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
1908 : // Dst: (SHL_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
1909 : /* 3315*/ 0, /*End of Scope*/
1910 : /* 3316*/ /*SwitchOpcode*/ 31, TARGET_VAL(ISD::SRL),// ->3350
1911 : /* 3319*/ OPC_RecordChild0, // #0 = $b
1912 : /* 3320*/ OPC_RecordChild1, // #1 = $c
1913 : /* 3321*/ OPC_Scope, 17, /*->3340*/ // 2 children in Scope
1914 : /* 3323*/ OPC_MoveChild1,
1915 : /* 3324*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1916 : /* 3327*/ OPC_CheckPredicate, 17, // Predicate_immBitp
1917 : /* 3329*/ OPC_MoveParent,
1918 : /* 3330*/ OPC_EmitConvertToTarget, 1,
1919 : /* 3332*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SHR_2rus), 0,
1920 : MVT::i32, 2/*#Ops*/, 0, 2,
1921 : // Src: (srl:{ *:[i32] } GRRegs:{ *:[i32] }:$b, (imm:{ *:[i32] })<<P:Predicate_immBitp>>:$c) - Complexity = 7
1922 : // Dst: (SHR_2rus:{ *:[i32] } GRRegs:{ *:[i32] }:$b, (imm:{ *:[i32] }):$c)
1923 : /* 3340*/ /*Scope*/ 8, /*->3349*/
1924 : /* 3341*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SHR_3r), 0,
1925 : MVT::i32, 2/*#Ops*/, 0, 1,
1926 : // Src: (srl:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
1927 : // Dst: (SHR_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
1928 : /* 3349*/ 0, /*End of Scope*/
1929 : /* 3350*/ /*SwitchOpcode*/ 39, TARGET_VAL(XCoreISD::STWSP),// ->3392
1930 : /* 3353*/ OPC_RecordNode, // #0 = 'XCoreStwsp' chained node
1931 : /* 3354*/ OPC_RecordChild1, // #1 = $a
1932 : /* 3355*/ OPC_CheckChild1Type, MVT::i32,
1933 : /* 3357*/ OPC_RecordChild2, // #2 = $b
1934 : /* 3358*/ OPC_MoveChild2,
1935 : /* 3359*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1936 : /* 3362*/ OPC_Scope, 13, /*->3377*/ // 2 children in Scope
1937 : /* 3364*/ OPC_CheckPredicate, 18, // Predicate_immU6
1938 : /* 3366*/ OPC_MoveParent,
1939 : /* 3367*/ OPC_EmitMergeInputChains1_0,
1940 : /* 3368*/ OPC_EmitConvertToTarget, 2,
1941 : /* 3370*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::STWSP_ru6), 0|OPFL_Chain,
1942 : 2/*#Ops*/, 1, 3,
1943 : // Src: (XCoreStwsp RRegs:{ *:[i32] }:$a, (imm:{ *:[i32] })<<P:Predicate_immU6>>:$b) - Complexity = 7
1944 : // Dst: (STWSP_ru6 RRegs:{ *:[i32] }:$a, (imm:{ *:[i32] }):$b)
1945 : /* 3377*/ /*Scope*/ 13, /*->3391*/
1946 : /* 3378*/ OPC_CheckPredicate, 19, // Predicate_immU16
1947 : /* 3380*/ OPC_MoveParent,
1948 : /* 3381*/ OPC_EmitMergeInputChains1_0,
1949 : /* 3382*/ OPC_EmitConvertToTarget, 2,
1950 : /* 3384*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::STWSP_lru6), 0|OPFL_Chain,
1951 : 2/*#Ops*/, 1, 3,
1952 : // Src: (XCoreStwsp RRegs:{ *:[i32] }:$a, (imm:{ *:[i32] })<<P:Predicate_immU16>>:$b) - Complexity = 7
1953 : // Dst: (STWSP_lru6 RRegs:{ *:[i32] }:$a, (imm:{ *:[i32] }):$b)
1954 : /* 3391*/ 0, /*End of Scope*/
1955 : /* 3392*/ /*SwitchOpcode*/ 40, TARGET_VAL(XCoreISD::LDWSP),// ->3435
1956 : /* 3395*/ OPC_RecordNode, // #0 = 'XCoreLdwsp' chained node
1957 : /* 3396*/ OPC_RecordChild1, // #1 = $b
1958 : /* 3397*/ OPC_MoveChild1,
1959 : /* 3398*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1960 : /* 3401*/ OPC_Scope, 15, /*->3418*/ // 2 children in Scope
1961 : /* 3403*/ OPC_CheckPredicate, 18, // Predicate_immU6
1962 : /* 3405*/ OPC_MoveParent,
1963 : /* 3406*/ OPC_CheckType, MVT::i32,
1964 : /* 3408*/ OPC_EmitMergeInputChains1_0,
1965 : /* 3409*/ OPC_EmitConvertToTarget, 1,
1966 : /* 3411*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDWSP_ru6), 0|OPFL_Chain,
1967 : MVT::i32, 1/*#Ops*/, 2,
1968 : // Src: (XCoreLdwsp:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immU6>>:$b) - Complexity = 7
1969 : // Dst: (LDWSP_ru6:{ *:[i32] } (imm:{ *:[i32] }):$b)
1970 : /* 3418*/ /*Scope*/ 15, /*->3434*/
1971 : /* 3419*/ OPC_CheckPredicate, 19, // Predicate_immU16
1972 : /* 3421*/ OPC_MoveParent,
1973 : /* 3422*/ OPC_CheckType, MVT::i32,
1974 : /* 3424*/ OPC_EmitMergeInputChains1_0,
1975 : /* 3425*/ OPC_EmitConvertToTarget, 1,
1976 : /* 3427*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDWSP_lru6), 0|OPFL_Chain,
1977 : MVT::i32, 1/*#Ops*/, 2,
1978 : // Src: (XCoreLdwsp:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_immU16>>:$b) - Complexity = 7
1979 : // Dst: (LDWSP_lru6:{ *:[i32] } (imm:{ *:[i32] }):$b)
1980 : /* 3434*/ 0, /*End of Scope*/
1981 : /* 3435*/ /*SwitchOpcode*/ 37, TARGET_VAL(XCoreISD::RETSP),// ->3475
1982 : /* 3438*/ OPC_RecordNode, // #0 = 'XCoreRetsp' chained node
1983 : /* 3439*/ OPC_CaptureGlueInput,
1984 : /* 3440*/ OPC_RecordChild1, // #1 = $a
1985 : /* 3441*/ OPC_MoveChild1,
1986 : /* 3442*/ OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
1987 : /* 3445*/ OPC_Scope, 13, /*->3460*/ // 2 children in Scope
1988 : /* 3447*/ OPC_CheckPredicate, 18, // Predicate_immU6
1989 : /* 3449*/ OPC_MoveParent,
1990 : /* 3450*/ OPC_EmitMergeInputChains1_0,
1991 : /* 3451*/ OPC_EmitConvertToTarget, 1,
1992 : /* 3453*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::RETSP_u6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
1993 : MVT::i32, 1/*#Ops*/, 2,
1994 : // Src: (XCoreRetsp (imm:{ *:[i32] })<<P:Predicate_immU6>>:$a) - Complexity = 7
1995 : // Dst: (RETSP_u6:{ *:[i32] } (imm:{ *:[i32] }):$a)
1996 : /* 3460*/ /*Scope*/ 13, /*->3474*/
1997 : /* 3461*/ OPC_CheckPredicate, 19, // Predicate_immU16
1998 : /* 3463*/ OPC_MoveParent,
1999 : /* 3464*/ OPC_EmitMergeInputChains1_0,
2000 : /* 3465*/ OPC_EmitConvertToTarget, 1,
2001 : /* 3467*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::RETSP_lu6), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
2002 : MVT::i32, 1/*#Ops*/, 2,
2003 : // Src: (XCoreRetsp (imm:{ *:[i32] })<<P:Predicate_immU16>>:$a) - Complexity = 7
2004 : // Dst: (RETSP_lu6:{ *:[i32] } (imm:{ *:[i32] }):$a)
2005 : /* 3474*/ 0, /*End of Scope*/
2006 : /* 3475*/ /*SwitchOpcode*/ 15, TARGET_VAL(XCoreISD::DPRelativeWrapper),// ->3493
2007 : /* 3478*/ OPC_RecordChild0, // #0 = $b
2008 : /* 3479*/ OPC_MoveChild0,
2009 : /* 3480*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
2010 : /* 3483*/ OPC_MoveParent,
2011 : /* 3484*/ OPC_CheckType, MVT::i32,
2012 : /* 3486*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWDP_lru6), 0,
2013 : MVT::i32, 1/*#Ops*/, 0,
2014 : // Src: (dprelwrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$b) - Complexity = 6
2015 : // Dst: (LDAWDP_lru6:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$b)
2016 : /* 3493*/ /*SwitchOpcode*/ 30, TARGET_VAL(XCoreISD::CPRelativeWrapper),// ->3526
2017 : /* 3496*/ OPC_RecordChild0, // #0 = $a
2018 : /* 3497*/ OPC_MoveChild0,
2019 : /* 3498*/ OPC_SwitchOpcode /*2 cases */, 10, TARGET_VAL(ISD::TargetGlobalAddress),// ->3512
2020 : /* 3502*/ OPC_MoveParent,
2021 : /* 3503*/ OPC_CheckType, MVT::i32,
2022 : /* 3505*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWCP_lu6), 0,
2023 : MVT::i32, 1/*#Ops*/, 0,
2024 : // Src: (cprelwrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$a) - Complexity = 6
2025 : // Dst: (LDAWCP_lu6:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$a)
2026 : /* 3512*/ /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetConstantPool),// ->3525
2027 : /* 3515*/ OPC_MoveParent,
2028 : /* 3516*/ OPC_CheckType, MVT::i32,
2029 : /* 3518*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAWCP_lu6), 0,
2030 : MVT::i32, 1/*#Ops*/, 0,
2031 : // Src: (cprelwrapper:{ *:[i32] } (tconstpool:{ *:[i32] }):$b) - Complexity = 6
2032 : // Dst: (LDAWCP_lu6:{ *:[i32] } (tconstpool:{ *:[i32] }):$b)
2033 : /* 3525*/ 0, // EndSwitchOpcode
2034 : /* 3526*/ /*SwitchOpcode*/ 41, TARGET_VAL(XCoreISD::PCRelativeWrapper),// ->3570
2035 : /* 3529*/ OPC_RecordChild0, // #0 = $a
2036 : /* 3530*/ OPC_MoveChild0,
2037 : /* 3531*/ OPC_SwitchOpcode /*2 cases */, 21, TARGET_VAL(ISD::TargetGlobalAddress),// ->3556
2038 : /* 3535*/ OPC_MoveParent,
2039 : /* 3536*/ OPC_CheckType, MVT::i32,
2040 : /* 3538*/ OPC_Scope, 7, /*->3547*/ // 2 children in Scope
2041 : /* 3540*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAPF_lu10), 0,
2042 : MVT::i32, 1/*#Ops*/, 0,
2043 : // Src: (pcrelwrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$a) - Complexity = 6
2044 : // Dst: (LDAPF_lu10:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$a)
2045 : /* 3547*/ /*Scope*/ 7, /*->3555*/
2046 : /* 3548*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAPB_lu10), 0,
2047 : MVT::i32, 1/*#Ops*/, 0,
2048 : // Src: (pcrelwrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$a) - Complexity = 6
2049 : // Dst: (LDAPB_lu10:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$a)
2050 : /* 3555*/ 0, /*End of Scope*/
2051 : /* 3556*/ /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetBlockAddress),// ->3569
2052 : /* 3559*/ OPC_MoveParent,
2053 : /* 3560*/ OPC_CheckType, MVT::i32,
2054 : /* 3562*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDAPF_lu10_ba), 0,
2055 : MVT::i32, 1/*#Ops*/, 0,
2056 : // Src: (pcrelwrapper:{ *:[i32] } (tblockaddress:{ *:[i32] }):$a) - Complexity = 6
2057 : // Dst: (LDAPF_lu10_ba:{ *:[i32] } (tblockaddress:{ *:[i32] }):$a)
2058 : /* 3569*/ 0, // EndSwitchOpcode
2059 : /* 3570*/ /*SwitchOpcode*/ 44, TARGET_VAL(XCoreISD::BL),// ->3617
2060 : /* 3573*/ OPC_RecordNode, // #0 = 'XCoreBranchLink' chained node
2061 : /* 3574*/ OPC_CaptureGlueInput,
2062 : /* 3575*/ OPC_RecordChild1, // #1 = $a
2063 : /* 3576*/ OPC_Scope, 27, /*->3605*/ // 2 children in Scope
2064 : /* 3578*/ OPC_MoveChild1,
2065 : /* 3579*/ OPC_SwitchOpcode /*2 cases */, 9, TARGET_VAL(ISD::TargetGlobalAddress),// ->3592
2066 : /* 3583*/ OPC_MoveParent,
2067 : /* 3584*/ OPC_EmitMergeInputChains1_0,
2068 : /* 3585*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::BLRF_lu10), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
2069 : MVT::i32, 1/*#Ops*/, 1,
2070 : // Src: (XCoreBranchLink (tglobaladdr:{ *:[iPTR] }):$a) - Complexity = 6
2071 : // Dst: (BLRF_lu10:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$a)
2072 : /* 3592*/ /*SwitchOpcode*/ 9, TARGET_VAL(ISD::TargetExternalSymbol),// ->3604
2073 : /* 3595*/ OPC_MoveParent,
2074 : /* 3596*/ OPC_EmitMergeInputChains1_0,
2075 : /* 3597*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::BLRF_lu10), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
2076 : MVT::i32, 1/*#Ops*/, 1,
2077 : // Src: (XCoreBranchLink (texternalsym:{ *:[iPTR] }):$addr) - Complexity = 6
2078 : // Dst: (BLRF_lu10:{ *:[i32] } (texternalsym:{ *:[i32] }):$addr)
2079 : /* 3604*/ 0, // EndSwitchOpcode
2080 : /* 3605*/ /*Scope*/ 10, /*->3616*/
2081 : /* 3606*/ OPC_CheckChild1Type, MVT::i32,
2082 : /* 3608*/ OPC_EmitMergeInputChains1_0,
2083 : /* 3609*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::BLA_1r), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
2084 : MVT::i32, 1/*#Ops*/, 1,
2085 : // Src: (XCoreBranchLink GRRegs:{ *:[i32] }:$a) - Complexity = 3
2086 : // Dst: (BLA_1r:{ *:[i32] } GRRegs:{ *:[i32] }:$a)
2087 : /* 3616*/ 0, /*End of Scope*/
2088 : /* 3617*/ /*SwitchOpcode*/ 16, TARGET_VAL(XCoreISD::BR_JT),// ->3636
2089 : /* 3620*/ OPC_RecordNode, // #0 = 'XCoreBR_JT' chained node
2090 : /* 3621*/ OPC_RecordChild1, // #1 = $t
2091 : /* 3622*/ OPC_MoveChild1,
2092 : /* 3623*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
2093 : /* 3626*/ OPC_MoveParent,
2094 : /* 3627*/ OPC_RecordChild2, // #2 = $i
2095 : /* 3628*/ OPC_EmitMergeInputChains1_0,
2096 : /* 3629*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BR_JT), 0|OPFL_Chain,
2097 : 2/*#Ops*/, 1, 2,
2098 : // Src: (XCoreBR_JT (tjumptable:{ *:[i32] }):$t, GRRegs:{ *:[i32] }:$i) - Complexity = 6
2099 : // Dst: (BR_JT (tjumptable:{ *:[i32] }):$t, GRRegs:{ *:[i32] }:$i)
2100 : /* 3636*/ /*SwitchOpcode*/ 16, TARGET_VAL(XCoreISD::BR_JT32),// ->3655
2101 : /* 3639*/ OPC_RecordNode, // #0 = 'XCoreBR_JT32' chained node
2102 : /* 3640*/ OPC_RecordChild1, // #1 = $t
2103 : /* 3641*/ OPC_MoveChild1,
2104 : /* 3642*/ OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
2105 : /* 3645*/ OPC_MoveParent,
2106 : /* 3646*/ OPC_RecordChild2, // #2 = $i
2107 : /* 3647*/ OPC_EmitMergeInputChains1_0,
2108 : /* 3648*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BR_JT32), 0|OPFL_Chain,
2109 : 2/*#Ops*/, 1, 2,
2110 : // Src: (XCoreBR_JT32 (tjumptable:{ *:[i32] }):$t, GRRegs:{ *:[i32] }:$i) - Complexity = 6
2111 : // Dst: (BR_JT32 (tjumptable:{ *:[i32] }):$t, GRRegs:{ *:[i32] }:$i)
2112 : /* 3655*/ /*SwitchOpcode*/ 27, TARGET_VAL(ISD::Constant),// ->3685
2113 : /* 3658*/ OPC_RecordNode, // #0 = $b
2114 : /* 3659*/ OPC_Scope, 11, /*->3672*/ // 2 children in Scope
2115 : /* 3661*/ OPC_CheckPredicate, 18, // Predicate_immU6
2116 : /* 3663*/ OPC_EmitConvertToTarget, 0,
2117 : /* 3665*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDC_ru6), 0,
2118 : MVT::i32, 1/*#Ops*/, 1,
2119 : // Src: (imm:{ *:[i32] })<<P:Predicate_immU6>>:$b - Complexity = 4
2120 : // Dst: (LDC_ru6:{ *:[i32] } (imm:{ *:[i32] }):$b)
2121 : /* 3672*/ /*Scope*/ 11, /*->3684*/
2122 : /* 3673*/ OPC_CheckPredicate, 19, // Predicate_immU16
2123 : /* 3675*/ OPC_EmitConvertToTarget, 0,
2124 : /* 3677*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::LDC_lru6), 0,
2125 : MVT::i32, 1/*#Ops*/, 1,
2126 : // Src: (imm:{ *:[i32] })<<P:Predicate_immU16>>:$b - Complexity = 4
2127 : // Dst: (LDC_lru6:{ *:[i32] } (imm:{ *:[i32] }):$b)
2128 : /* 3684*/ 0, /*End of Scope*/
2129 : /* 3685*/ /*SwitchOpcode*/ 6, TARGET_VAL(XCoreISD::FRAME_TO_ARGS_OFFSET),// ->3694
2130 : /* 3688*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::FRAME_TO_ARGS_OFFSET), 0,
2131 : MVT::i32, 0/*#Ops*/,
2132 : // Src: (frametoargsoffset:{ *:[i32] }) - Complexity = 3
2133 : // Dst: (FRAME_TO_ARGS_OFFSET:{ *:[i32] })
2134 : /* 3694*/ /*SwitchOpcode*/ 14, TARGET_VAL(XCoreISD::EH_RETURN),// ->3711
2135 : /* 3697*/ OPC_RecordNode, // #0 = 'XCoreEhRet' chained node
2136 : /* 3698*/ OPC_CaptureGlueInput,
2137 : /* 3699*/ OPC_RecordChild1, // #1 = $s
2138 : /* 3700*/ OPC_CheckChild1Type, MVT::i32,
2139 : /* 3702*/ OPC_RecordChild2, // #2 = $handler
2140 : /* 3703*/ OPC_EmitMergeInputChains1_0,
2141 : /* 3704*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::EH_RETURN), 0|OPFL_Chain|OPFL_GlueInput,
2142 : 2/*#Ops*/, 1, 2,
2143 : // Src: (XCoreEhRet GRRegs:{ *:[i32] }:$s, GRRegs:{ *:[i32] }:$handler) - Complexity = 3
2144 : // Dst: (EH_RETURN GRRegs:{ *:[i32] }:$s, GRRegs:{ *:[i32] }:$handler)
2145 : /* 3711*/ /*SwitchOpcode*/ 7, TARGET_VAL(XCoreISD::MEMBARRIER),// ->3721
2146 : /* 3714*/ OPC_RecordNode, // #0 = 'XCoreMemBarrier' chained node
2147 : /* 3715*/ OPC_EmitMergeInputChains1_0,
2148 : /* 3716*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::Int_MemBarrier), 0|OPFL_Chain,
2149 : 0/*#Ops*/,
2150 : // Src: (XCoreMemBarrier) - Complexity = 3
2151 : // Dst: (Int_MemBarrier)
2152 : /* 3721*/ /*SwitchOpcode*/ 10, TARGET_VAL(ISD::OR),// ->3734
2153 : /* 3724*/ OPC_RecordChild0, // #0 = $b
2154 : /* 3725*/ OPC_RecordChild1, // #1 = $c
2155 : /* 3726*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::OR_3r), 0,
2156 : MVT::i32, 2/*#Ops*/, 0, 1,
2157 : // Src: (or:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
2158 : // Dst: (OR_3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
2159 : /* 3734*/ /*SwitchOpcode*/ 10, TARGET_VAL(ISD::SDIV),// ->3747
2160 : /* 3737*/ OPC_RecordChild0, // #0 = $b
2161 : /* 3738*/ OPC_RecordChild1, // #1 = $c
2162 : /* 3739*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::DIVS_l3r), 0,
2163 : MVT::i32, 2/*#Ops*/, 0, 1,
2164 : // Src: (sdiv:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
2165 : // Dst: (DIVS_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
2166 : /* 3747*/ /*SwitchOpcode*/ 10, TARGET_VAL(ISD::UDIV),// ->3760
2167 : /* 3750*/ OPC_RecordChild0, // #0 = $b
2168 : /* 3751*/ OPC_RecordChild1, // #1 = $c
2169 : /* 3752*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::DIVU_l3r), 0,
2170 : MVT::i32, 2/*#Ops*/, 0, 1,
2171 : // Src: (udiv:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
2172 : // Dst: (DIVU_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
2173 : /* 3760*/ /*SwitchOpcode*/ 10, TARGET_VAL(ISD::SREM),// ->3773
2174 : /* 3763*/ OPC_RecordChild0, // #0 = $b
2175 : /* 3764*/ OPC_RecordChild1, // #1 = $c
2176 : /* 3765*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::REMS_l3r), 0,
2177 : MVT::i32, 2/*#Ops*/, 0, 1,
2178 : // Src: (srem:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
2179 : // Dst: (REMS_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
2180 : /* 3773*/ /*SwitchOpcode*/ 10, TARGET_VAL(ISD::UREM),// ->3786
2181 : /* 3776*/ OPC_RecordChild0, // #0 = $b
2182 : /* 3777*/ OPC_RecordChild1, // #1 = $c
2183 : /* 3778*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::REMU_l3r), 0,
2184 : MVT::i32, 2/*#Ops*/, 0, 1,
2185 : // Src: (urem:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c) - Complexity = 3
2186 : // Dst: (REMU_l3r:{ *:[i32] } GRRegs:{ *:[i32] }:$b, GRRegs:{ *:[i32] }:$c)
2187 : /* 3786*/ /*SwitchOpcode*/ 8, TARGET_VAL(ISD::BSWAP),// ->3797
2188 : /* 3789*/ OPC_RecordChild0, // #0 = $src
2189 : /* 3790*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::BYTEREV_l2r), 0,
2190 : MVT::i32, 1/*#Ops*/, 0,
2191 : // Src: (bswap:{ *:[i32] } GRRegs:{ *:[i32] }:$src) - Complexity = 3
2192 : // Dst: (BYTEREV_l2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src)
2193 : /* 3797*/ /*SwitchOpcode*/ 8, TARGET_VAL(ISD::CTLZ),// ->3808
2194 : /* 3800*/ OPC_RecordChild0, // #0 = $src
2195 : /* 3801*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::CLZ_l2r), 0,
2196 : MVT::i32, 1/*#Ops*/, 0,
2197 : // Src: (ctlz:{ *:[i32] } GRRegs:{ *:[i32] }:$src) - Complexity = 3
2198 : // Dst: (CLZ_l2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src)
2199 : /* 3808*/ /*SwitchOpcode*/ 49, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->3860
2200 : /* 3811*/ OPC_RecordChild0, // #0 = $b
2201 : /* 3812*/ OPC_MoveChild1,
2202 : /* 3813*/ OPC_Scope, 14, /*->3829*/ // 3 children in Scope
2203 : /* 3815*/ OPC_CheckValueType, MVT::i1,
2204 : /* 3817*/ OPC_MoveParent,
2205 : /* 3818*/ OPC_EmitInteger, MVT::i32, 1,
2206 : /* 3821*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SEXT_rus), 0,
2207 : MVT::i32, 2/*#Ops*/, 0, 1,
2208 : // Src: (sext_inreg:{ *:[i32] } GRRegs:{ *:[i32] }:$b, i1:{ *:[Other] }) - Complexity = 3
2209 : // Dst: (SEXT_rus:{ *:[i32] } GRRegs:{ *:[i32] }:$b, 1:{ *:[i32] })
2210 : /* 3829*/ /*Scope*/ 14, /*->3844*/
2211 : /* 3830*/ OPC_CheckValueType, MVT::i8,
2212 : /* 3832*/ OPC_MoveParent,
2213 : /* 3833*/ OPC_EmitInteger, MVT::i32, 8,
2214 : /* 3836*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SEXT_rus), 0,
2215 : MVT::i32, 2/*#Ops*/, 0, 1,
2216 : // Src: (sext_inreg:{ *:[i32] } GRRegs:{ *:[i32] }:$b, i8:{ *:[Other] }) - Complexity = 3
2217 : // Dst: (SEXT_rus:{ *:[i32] } GRRegs:{ *:[i32] }:$b, 8:{ *:[i32] })
2218 : /* 3844*/ /*Scope*/ 14, /*->3859*/
2219 : /* 3845*/ OPC_CheckValueType, MVT::i16,
2220 : /* 3847*/ OPC_MoveParent,
2221 : /* 3848*/ OPC_EmitInteger, MVT::i32, 16,
2222 : /* 3851*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::SEXT_rus), 0,
2223 : MVT::i32, 2/*#Ops*/, 0, 1,
2224 : // Src: (sext_inreg:{ *:[i32] } GRRegs:{ *:[i32] }:$b, i16:{ *:[Other] }) - Complexity = 3
2225 : // Dst: (SEXT_rus:{ *:[i32] } GRRegs:{ *:[i32] }:$b, 16:{ *:[i32] })
2226 : /* 3859*/ 0, /*End of Scope*/
2227 : /* 3860*/ /*SwitchOpcode*/ 14, TARGET_VAL(ISD::BR),// ->3877
2228 : /* 3863*/ OPC_RecordNode, // #0 = 'br' chained node
2229 : /* 3864*/ OPC_RecordChild1, // #1 = $addr
2230 : /* 3865*/ OPC_MoveChild1,
2231 : /* 3866*/ OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
2232 : /* 3869*/ OPC_MoveParent,
2233 : /* 3870*/ OPC_EmitMergeInputChains1_0,
2234 : /* 3871*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::BRFU_lu6), 0|OPFL_Chain,
2235 : 1/*#Ops*/, 1,
2236 : // Src: (br (bb:{ *:[Other] }):$addr) - Complexity = 3
2237 : // Dst: (BRFU_lu6 (bb:{ *:[Other] }):$addr)
2238 : /* 3877*/ /*SwitchOpcode*/ 15, TARGET_VAL(ISD::CTTZ),// ->3895
2239 : /* 3880*/ OPC_RecordChild0, // #0 = $src
2240 : /* 3881*/ OPC_EmitNode1, TARGET_VAL(XCore::BITREV_l2r), 0,
2241 : MVT::i32, 1/*#Ops*/, 0, // Results = #1
2242 : /* 3888*/ OPC_MorphNodeTo1, TARGET_VAL(XCore::CLZ_l2r), 0,
2243 : MVT::i32, 1/*#Ops*/, 1,
2244 : // Src: (cttz:{ *:[i32] } GRRegs:{ *:[i32] }:$src) - Complexity = 3
2245 : // Dst: (CLZ_l2r:{ *:[i32] } (BITREV_l2r:{ *:[i32] } GRRegs:{ *:[i32] }:$src))
2246 : /* 3895*/ /*SwitchOpcode*/ 18, TARGET_VAL(ISD::TRAP),// ->3916
2247 : /* 3898*/ OPC_RecordNode, // #0 = 'trap' chained node
2248 : /* 3899*/ OPC_EmitMergeInputChains1_0,
2249 : /* 3900*/ OPC_EmitInteger, MVT::i32, 0,
2250 : /* 3903*/ OPC_EmitNode1, TARGET_VAL(XCore::LDC_ru6), 0,
2251 : MVT::i32, 1/*#Ops*/, 1, // Results = #2
2252 : /* 3910*/ OPC_MorphNodeTo0, TARGET_VAL(XCore::ECALLF_1r), 0|OPFL_Chain,
2253 : 1/*#Ops*/, 2,
2254 : // Src: (trap) - Complexity = 3
2255 : // Dst: (ECALLF_1r (LDC_ru6:{ *:[i32] } 0:{ *:[i32] }))
2256 : /* 3916*/ 0, // EndSwitchOpcode
2257 : 0
2258 : }; // Total Array size is 3918 bytes
2259 :
2260 : // Opcode Histogram:
2261 : // #OPC_Scope = 65
2262 : // #OPC_RecordNode = 22
2263 : // #OPC_RecordChild = 201
2264 : // #OPC_RecordMemRef = 2
2265 : // #OPC_CaptureGlueInput = 4
2266 : // #OPC_MoveChild = 78
2267 : // #OPC_MoveParent = 153
2268 : // #OPC_CheckSame = 0
2269 : // #OPC_CheckChildSame = 1
2270 : // #OPC_CheckPatternPredicate = 0
2271 : // #OPC_CheckPredicate = 97
2272 : // #OPC_CheckOpcode = 60
2273 : // #OPC_SwitchOpcode = 7
2274 : // #OPC_CheckType = 33
2275 : // #OPC_SwitchType = 0
2276 : // #OPC_CheckChildType = 57
2277 : // #OPC_CheckInteger = 0
2278 : // #OPC_CheckChildInteger = 80
2279 : // #OPC_CheckCondCode = 33
2280 : // #OPC_CheckValueType = 3
2281 : // #OPC_CheckComplexPat = 4
2282 : // #OPC_CheckAndImm = 0
2283 : // #OPC_CheckOrImm = 0
2284 : // #OPC_CheckFoldableChainNode = 1
2285 : // #OPC_EmitInteger = 25
2286 : // #OPC_EmitStringInteger = 0
2287 : // #OPC_EmitRegister = 0
2288 : // #OPC_EmitConvertToTarget = 36
2289 : // #OPC_EmitMergeInputChains = 110
2290 : // #OPC_EmitCopyToReg = 2
2291 : // #OPC_EmitNode = 31
2292 : // #OPC_EmitNodeXForm = 8
2293 : // #OPC_CompleteMatch = 0
2294 : // #OPC_MorphNodeTo = 197
2295 :
2296 : #undef TARGET_VAL
2297 3620 : SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
2298 : }
2299 : #endif // GET_DAGISEL_BODY
2300 :
2301 : #ifdef GET_DAGISEL_DECL
2302 : bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
2303 : #endif
2304 : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
2305 1202 : bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
2306 : #if DAGISEL_INLINE
2307 : override
2308 : #endif
2309 : {
2310 1202 : switch (PredNo) {
2311 0 : default: llvm_unreachable("Invalid predicate in table?");
2312 : case 0: {
2313 : // Predicate_immUs
2314 : auto *N = cast<ConstantSDNode>(Node);
2315 :
2316 46 : return (uint32_t)N->getZExtValue() <= 11;
2317 :
2318 : }
2319 : case 1: {
2320 : // Predicate_immUs4
2321 : auto *N = cast<ConstantSDNode>(Node);
2322 :
2323 30 : uint32_t value = (uint32_t)N->getZExtValue();
2324 30 : return value%4 == 0 && value/4 <= 11;
2325 :
2326 : }
2327 : case 2: {
2328 : // Predicate_immUsNeg
2329 : auto *N = cast<ConstantSDNode>(Node);
2330 :
2331 20 : return -((uint32_t)N->getZExtValue()) <= 11;
2332 :
2333 : }
2334 : case 3: {
2335 : // Predicate_immUs4Neg
2336 : auto *N = cast<ConstantSDNode>(Node);
2337 :
2338 6 : uint32_t value = (uint32_t)N->getZExtValue();
2339 6 : return (-value)%4 == 0 && (-value)/4 <= 11;
2340 :
2341 : }
2342 184 : case 4: {
2343 : // Predicate_unindexedload
2344 : SDNode *N = Node;
2345 184 : if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
2346 : return true;
2347 :
2348 : }
2349 10 : case 5: {
2350 : // Predicate_sextload
2351 : SDNode *N = Node;
2352 10 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
2353 : return true;
2354 :
2355 : }
2356 6 : case 6: {
2357 : // Predicate_sextloadi16
2358 : // Predicate_extloadi16
2359 : SDNode *N = Node;
2360 : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i16) return false;
2361 : return true;
2362 :
2363 : }
2364 17 : case 7: {
2365 : // Predicate_extload
2366 : SDNode *N = Node;
2367 17 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
2368 : return true;
2369 :
2370 : }
2371 174 : case 8: {
2372 : // Predicate_load
2373 : SDNode *N = Node;
2374 174 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
2375 : return true;
2376 :
2377 : }
2378 19 : case 9: {
2379 : // Predicate_zextload
2380 : SDNode *N = Node;
2381 19 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
2382 : return true;
2383 :
2384 : }
2385 12 : case 10: {
2386 : // Predicate_zextloadi8
2387 : // Predicate_extloadi8
2388 : SDNode *N = Node;
2389 : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i8) return false;
2390 : return true;
2391 :
2392 : }
2393 119 : case 11: {
2394 : // Predicate_unindexedstore
2395 : SDNode *N = Node;
2396 119 : if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
2397 : return true;
2398 :
2399 : }
2400 12 : case 12: {
2401 : // Predicate_truncstore
2402 : SDNode *N = Node;
2403 12 : if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
2404 : return true;
2405 :
2406 : }
2407 6 : case 13: {
2408 : // Predicate_truncstorei16
2409 : SDNode *N = Node;
2410 : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i16) return false;
2411 : return true;
2412 :
2413 : }
2414 116 : case 14: {
2415 : // Predicate_store
2416 : SDNode *N = Node;
2417 116 : if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
2418 : return true;
2419 :
2420 : }
2421 11 : case 15: {
2422 : // Predicate_truncstorei8
2423 : SDNode *N = Node;
2424 : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i8) return false;
2425 : return true;
2426 :
2427 : }
2428 : case 16: {
2429 : // Predicate_immBpwSubBitp
2430 : auto *N = cast<ConstantSDNode>(Node);
2431 :
2432 1 : uint32_t value = (uint32_t)N->getZExtValue();
2433 1 : return (value >= 24 && value <= 31)
2434 1 : || value == 16
2435 0 : || value == 8
2436 1 : || value == 0;
2437 :
2438 : }
2439 : case 17: {
2440 : // Predicate_immBitp
2441 : auto *N = cast<ConstantSDNode>(Node);
2442 :
2443 20 : uint32_t value = (uint32_t)N->getZExtValue();
2444 20 : return (value >= 1 && value <= 8)
2445 20 : || value == 16
2446 4 : || value == 24
2447 20 : || value == 32;
2448 :
2449 : }
2450 : case 18: {
2451 : // Predicate_immU6
2452 : auto *N = cast<ConstantSDNode>(Node);
2453 :
2454 820 : return (uint32_t)N->getZExtValue() < (1 << 6);
2455 :
2456 : }
2457 : case 19: {
2458 : // Predicate_immU16
2459 : auto *N = cast<ConstantSDNode>(Node);
2460 :
2461 18 : return (uint32_t)N->getZExtValue() < (1 << 16);
2462 :
2463 : }
2464 : case 20: {
2465 : // Predicate_immMskBitp
2466 : auto *N = cast<ConstantSDNode>(Node);
2467 7 : return immMskBitp(N);
2468 : }
2469 : }
2470 : }
2471 : #endif // GET_DAGISEL_BODY
2472 :
2473 : #ifdef GET_DAGISEL_DECL
2474 : bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
2475 : SDValue N, unsigned PatternNo,
2476 : SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result) override;
2477 : #endif
2478 : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
2479 226 : bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
2480 : SDValue N, unsigned PatternNo,
2481 : SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result)
2482 : #if DAGISEL_INLINE
2483 : override
2484 : #endif
2485 : {
2486 226 : unsigned NextRes = Result.size();
2487 226 : switch (PatternNo) {
2488 0 : default: llvm_unreachable("Invalid pattern # in table?");
2489 226 : case 0:
2490 226 : Result.resize(NextRes+2);
2491 678 : return SelectADDRspii(N, Result[NextRes+0].first, Result[NextRes+1].first);
2492 : }
2493 : }
2494 : #endif // GET_DAGISEL_BODY
2495 :
2496 : #ifdef GET_DAGISEL_DECL
2497 : SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
2498 : #endif
2499 : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
2500 23 : SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
2501 : #if DAGISEL_INLINE
2502 : override
2503 : #endif
2504 : {
2505 23 : switch (XFormNo) {
2506 0 : default: llvm_unreachable("Invalid xform # in table?");
2507 11 : case 0: { // div4_xform
2508 : ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
2509 :
2510 : // Transformation function: imm/4
2511 : assert(N->getZExtValue() % 4 == 0);
2512 33 : return getI32Imm(N->getZExtValue()/4, SDLoc(N));
2513 :
2514 : }
2515 4 : case 1: { // neg_xform
2516 : ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
2517 :
2518 : // Transformation function: -imm
2519 8 : uint32_t value = N->getZExtValue();
2520 8 : return getI32Imm(-value, SDLoc(N));
2521 :
2522 : }
2523 0 : case 2: { // div4neg_xform
2524 : ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
2525 :
2526 : // Transformation function: -imm/4
2527 0 : uint32_t value = N->getZExtValue();
2528 : assert(-value % 4 == 0);
2529 0 : return getI32Imm(-value/4, SDLoc(N));
2530 :
2531 : }
2532 1 : case 3: { // bpwsub_xform
2533 : ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
2534 :
2535 : // Transformation function: 32-imm
2536 2 : uint32_t value = N->getZExtValue();
2537 2 : return getI32Imm(32 - value, SDLoc(N));
2538 :
2539 : }
2540 7 : case 4: { // msksize_xform
2541 : ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
2542 :
2543 : // Transformation function: get the size of a mask
2544 : assert(isMask_32(N->getZExtValue()));
2545 : // look for the first non-zero bit
2546 14 : return getI32Imm(32 - countLeadingZeros((uint32_t)N->getZExtValue()),
2547 14 : SDLoc(N));
2548 :
2549 : }
2550 : }
2551 : }
2552 : #endif // GET_DAGISEL_BODY
2553 :
2554 :
2555 : #ifdef DAGISEL_INLINE
2556 : #undef DAGISEL_INLINE
2557 : #endif
2558 : #ifdef DAGISEL_CLASS_COLONCOLON
2559 : #undef DAGISEL_CLASS_COLONCOLON
2560 : #endif
2561 : #ifdef GET_DAGISEL_DECL
2562 : #undef GET_DAGISEL_DECL
2563 : #endif
2564 : #ifdef GET_DAGISEL_BODY
2565 : #undef GET_DAGISEL_BODY
2566 : #endif
|