Coverage Report

Created: 2018-11-16 02:38

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