1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* AMDGPURegBankCombinerImpl Combiner Match Table *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9#ifdef GET_GICOMBINER_DEPS
10
11#include "llvm/ADT/SparseBitVector.h"
12namespace llvm {
13
14extern cl::OptionCategory GICombinerOptionCategory;
15
16} // namespace llvm
17
18#endif // GET_GICOMBINER_DEPS
19
20#ifdef GET_GICOMBINER_TYPES
21
22struct AMDGPURegBankCombinerImplRuleConfig {
23 SparseBitVector<> DisabledRules;
24
25 bool isRuleEnabled(unsigned RuleID) const;
26 bool parseCommandLineOption();
27 bool setRuleEnabled(StringRef RuleIdentifier);
28 bool setRuleDisabled(StringRef RuleIdentifier);
29};
30
31static std::optional<uint64_t> getRuleIdxForIdentifier(StringRef RuleIdentifier) {
32 uint64_t I;
33 // getAtInteger(...) returns false on success
34 bool Parsed = !RuleIdentifier.getAsInteger(Radix: 0, Result&: I);
35 if (Parsed)
36 return I;
37
38#ifndef NDEBUG
39 switch (RuleIdentifier.size()) {
40 default: break;
41 case 8: // 1 string to match.
42 if (memcmp(RuleIdentifier.data()+0, "d16_load", 8) != 0)
43 break;
44 return 48; // "d16_load"
45 case 10: // 3 strings to match.
46 switch (RuleIdentifier[0]) {
47 default: break;
48 case 'i': // 1 string to match.
49 if (memcmp(RuleIdentifier.data()+1, "2p_to_p2i", 9) != 0)
50 break;
51 return 16; // "i2p_to_p2i"
52 case 'p': // 1 string to match.
53 if (memcmp(RuleIdentifier.data()+1, "2i_to_i2p", 9) != 0)
54 break;
55 return 15; // "p2i_to_i2p"
56 case 's': // 1 string to match.
57 if (memcmp(RuleIdentifier.data()+1, "ext_trunc", 9) != 0)
58 break;
59 return 44; // "sext_trunc"
60 }
61 break;
62 case 11: // 2 strings to match.
63 switch (RuleIdentifier[0]) {
64 default: break;
65 case 'a': // 1 string to match.
66 if (memcmp(RuleIdentifier.data()+1, "dd_sub_reg", 10) != 0)
67 break;
68 return 21; // "add_sub_reg"
69 case 'u': // 1 string to match.
70 if (memcmp(RuleIdentifier.data()+1, "nmerge_cst", 10) != 0)
71 break;
72 return 1; // "unmerge_cst"
73 }
74 break;
75 case 12: // 2 strings to match.
76 switch (RuleIdentifier[0]) {
77 default: break;
78 case 's': // 1 string to match.
79 if (memcmp(RuleIdentifier.data()+1, "ext_of_sext", 11) != 0)
80 break;
81 return 38; // "sext_of_sext"
82 case 'z': // 1 string to match.
83 if (memcmp(RuleIdentifier.data()+1, "ext_of_zext", 11) != 0)
84 break;
85 return 36; // "zext_of_zext"
86 }
87 break;
88 case 13: // 4 strings to match.
89 switch (RuleIdentifier[0]) {
90 default: break;
91 case 'r': // 1 string to match.
92 if (memcmp(RuleIdentifier.data()+1, "edundant_and", 12) != 0)
93 break;
94 return 31; // "redundant_and"
95 case 's': // 1 string to match.
96 if (memcmp(RuleIdentifier.data()+1, "ame_val_zero", 12) != 0)
97 break;
98 return 12; // "same_val_zero"
99 case 'u': // 2 strings to match.
100 if (memcmp(RuleIdentifier.data()+1, "nmerge_", 7) != 0)
101 break;
102 switch (RuleIdentifier[8]) {
103 default: break;
104 case 'm': // 1 string to match.
105 if (memcmp(RuleIdentifier.data()+9, "erge", 4) != 0)
106 break;
107 return 0; // "unmerge_merge"
108 case 'u': // 1 string to match.
109 if (memcmp(RuleIdentifier.data()+9, "ndef", 4) != 0)
110 break;
111 return 2; // "unmerge_undef"
112 }
113 break;
114 }
115 break;
116 case 14: // 6 strings to match.
117 switch (RuleIdentifier[0]) {
118 default: break;
119 case 'a': // 2 strings to match.
120 if (memcmp(RuleIdentifier.data()+1, "nyext_of_", 9) != 0)
121 break;
122 switch (RuleIdentifier[10]) {
123 default: break;
124 case 's': // 1 string to match.
125 if (memcmp(RuleIdentifier.data()+11, "ext", 3) != 0)
126 break;
127 return 42; // "anyext_of_sext"
128 case 'z': // 1 string to match.
129 if (memcmp(RuleIdentifier.data()+11, "ext", 3) != 0)
130 break;
131 return 41; // "anyext_of_zext"
132 }
133 break;
134 case 'b': // 1 string to match.
135 if (memcmp(RuleIdentifier.data()+1, "inop_same_val", 13) != 0)
136 break;
137 return 11; // "binop_same_val"
138 case 'f': // 1 string to match.
139 if (memcmp(RuleIdentifier.data()+1, "neg_fneg_fold", 13) != 0)
140 break;
141 return 18; // "fneg_fneg_fold"
142 case 's': // 1 string to match.
143 if (memcmp(RuleIdentifier.data()+1, "ext_of_anyext", 13) != 0)
144 break;
145 return 39; // "sext_of_anyext"
146 case 'z': // 1 string to match.
147 if (memcmp(RuleIdentifier.data()+1, "ext_of_anyext", 13) != 0)
148 break;
149 return 37; // "zext_of_anyext"
150 }
151 break;
152 case 15: // 8 strings to match.
153 switch (RuleIdentifier[0]) {
154 default: break;
155 case 'f': // 2 strings to match.
156 if (RuleIdentifier[1] != 'm')
157 break;
158 switch (RuleIdentifier[2]) {
159 default: break;
160 case 'a': // 1 string to match.
161 if (memcmp(RuleIdentifier.data()+3, "x_to_minmax3", 12) != 0)
162 break;
163 return 53; // "fmax_to_minmax3"
164 case 'i': // 1 string to match.
165 if (memcmp(RuleIdentifier.data()+3, "n_to_minmax3", 12) != 0)
166 break;
167 return 54; // "fmin_to_minmax3"
168 }
169 break;
170 case 's': // 3 strings to match.
171 switch (RuleIdentifier[1]) {
172 default: break;
173 case 'e': // 1 string to match.
174 if (memcmp(RuleIdentifier.data()+2, "lect_same_val", 13) != 0)
175 break;
176 return 9; // "select_same_val"
177 case 'm': // 2 strings to match.
178 switch (RuleIdentifier[2]) {
179 default: break;
180 case 'a': // 1 string to match.
181 if (memcmp(RuleIdentifier.data()+3, "x_to_minmax3", 12) != 0)
182 break;
183 return 49; // "smax_to_minmax3"
184 case 'i': // 1 string to match.
185 if (memcmp(RuleIdentifier.data()+3, "n_to_minmax3", 12) != 0)
186 break;
187 return 50; // "smin_to_minmax3"
188 }
189 break;
190 }
191 break;
192 case 'u': // 2 strings to match.
193 if (RuleIdentifier[1] != 'm')
194 break;
195 switch (RuleIdentifier[2]) {
196 default: break;
197 case 'a': // 1 string to match.
198 if (memcmp(RuleIdentifier.data()+3, "x_to_minmax3", 12) != 0)
199 break;
200 return 51; // "umax_to_minmax3"
201 case 'i': // 1 string to match.
202 if (memcmp(RuleIdentifier.data()+3, "n_to_minmax3", 12) != 0)
203 break;
204 return 52; // "umin_to_minmax3"
205 }
206 break;
207 case 'z': // 1 string to match.
208 if (memcmp(RuleIdentifier.data()+1, "ext_trunc_fold", 14) != 0)
209 break;
210 return 3; // "zext_trunc_fold"
211 }
212 break;
213 case 16: // 3 strings to match.
214 switch (RuleIdentifier[0]) {
215 default: break;
216 case 'a': // 1 string to match.
217 if (memcmp(RuleIdentifier.data()+1, "nyext_of_anyext", 15) != 0)
218 break;
219 return 40; // "anyext_of_anyext"
220 case 't': // 2 strings to match.
221 if (memcmp(RuleIdentifier.data()+1, "runcate_of_", 11) != 0)
222 break;
223 switch (RuleIdentifier[12]) {
224 default: break;
225 case 's': // 1 string to match.
226 if (memcmp(RuleIdentifier.data()+13, "ext", 3) != 0)
227 break;
228 return 34; // "truncate_of_sext"
229 case 'z': // 1 string to match.
230 if (memcmp(RuleIdentifier.data()+13, "ext", 3) != 0)
231 break;
232 return 33; // "truncate_of_zext"
233 }
234 break;
235 }
236 break;
237 case 17: // 2 strings to match.
238 switch (RuleIdentifier[0]) {
239 default: break;
240 case 'a': // 1 string to match.
241 if (memcmp(RuleIdentifier.data()+1, "nyext_trunc_fold", 16) != 0)
242 break;
243 return 17; // "anyext_trunc_fold"
244 case 'f': // 1 string to match.
245 if (memcmp(RuleIdentifier.data()+1, "p_minmax_to_med3", 16) != 0)
246 break;
247 return 7; // "fp_minmax_to_med3"
248 }
249 break;
250 case 18: // 5 strings to match.
251 switch (RuleIdentifier[0]) {
252 default: break;
253 case 'b': // 1 string to match.
254 if (memcmp(RuleIdentifier.data()+1, "inop_left_to_zero", 17) != 0)
255 break;
256 return 13; // "binop_left_to_zero"
257 case 'f': // 2 strings to match.
258 if (RuleIdentifier[1] != 'p')
259 break;
260 switch (RuleIdentifier[2]) {
261 default: break;
262 case '_': // 1 string to match.
263 if (memcmp(RuleIdentifier.data()+3, "minmax_to_clamp", 15) != 0)
264 break;
265 return 6; // "fp_minmax_to_clamp"
266 case 't': // 1 string to match.
267 if (memcmp(RuleIdentifier.data()+3, "runc_fpext_fold", 15) != 0)
268 break;
269 return 27; // "fptrunc_fpext_fold"
270 }
271 break;
272 case 'i': // 1 string to match.
273 if (memcmp(RuleIdentifier.data()+1, "nt_minmax_to_med3", 17) != 0)
274 break;
275 return 4; // "int_minmax_to_med3"
276 case 't': // 1 string to match.
277 if (memcmp(RuleIdentifier.data()+1, "runcate_of_anyext", 17) != 0)
278 break;
279 return 35; // "truncate_of_anyext"
280 }
281 break;
282 case 19: // 5 strings to match.
283 switch (RuleIdentifier[0]) {
284 default: break;
285 case 'b': // 1 string to match.
286 if (memcmp(RuleIdentifier.data()+1, "inop_right_to_zero", 18) != 0)
287 break;
288 return 14; // "binop_right_to_zero"
289 case 'f': // 2 strings to match.
290 if (RuleIdentifier[1] != 'm')
291 break;
292 switch (RuleIdentifier[2]) {
293 default: break;
294 case 'a': // 1 string to match.
295 if (memcmp(RuleIdentifier.data()+3, "ximum_to_minmax3", 16) != 0)
296 break;
297 return 55; // "fmaximum_to_minmax3"
298 case 'i': // 1 string to match.
299 if (memcmp(RuleIdentifier.data()+3, "nimum_to_minmax3", 16) != 0)
300 break;
301 return 56; // "fminimum_to_minmax3"
302 }
303 break;
304 case 'p': // 1 string to match.
305 if (memcmp(RuleIdentifier.data()+1, "tr_add_immed_chain", 18) != 0)
306 break;
307 return 5; // "ptr_add_immed_chain"
308 case 'r': // 1 string to match.
309 if (memcmp(RuleIdentifier.data()+1, "ight_identity_zero", 18) != 0)
310 break;
311 return 10; // "right_identity_zero"
312 }
313 break;
314 case 20: // 3 strings to match.
315 switch (RuleIdentifier[0]) {
316 default: break;
317 case 'b': // 1 string to match.
318 if (memcmp(RuleIdentifier.data()+1, "itcast_bitcast_fold", 19) != 0)
319 break;
320 return 25; // "bitcast_bitcast_fold"
321 case 'f': // 2 strings to match.
322 if (RuleIdentifier[1] != 'm')
323 break;
324 switch (RuleIdentifier[2]) {
325 default: break;
326 case 'a': // 1 string to match.
327 if (memcmp(RuleIdentifier.data()+3, "x_ieee_to_minmax3", 17) != 0)
328 break;
329 return 57; // "fmax_ieee_to_minmax3"
330 case 'i': // 1 string to match.
331 if (memcmp(RuleIdentifier.data()+3, "n_ieee_to_minmax3", 17) != 0)
332 break;
333 return 58; // "fmin_ieee_to_minmax3"
334 }
335 break;
336 }
337 break;
338 case 21: // 3 strings to match.
339 switch (RuleIdentifier[0]) {
340 default: break;
341 case 'c': // 2 strings to match.
342 switch (RuleIdentifier[1]) {
343 default: break;
344 case 'a': // 1 string to match.
345 if (memcmp(RuleIdentifier.data()+2, "nonicalize_zext_shl", 19) != 0)
346 break;
347 return 47; // "canonicalize_zext_shl"
348 case 'o': // 1 string to match.
349 if (memcmp(RuleIdentifier.data()+2, "nstant_fold_cast_op", 19) != 0)
350 break;
351 return 32; // "constant_fold_cast_op"
352 }
353 break;
354 case 'r': // 1 string to match.
355 if (memcmp(RuleIdentifier.data()+1, "ight_identity_one_fp", 20) != 0)
356 break;
357 return 20; // "right_identity_one_fp"
358 }
359 break;
360 case 22: // 4 strings to match.
361 switch (RuleIdentifier[0]) {
362 default: break;
363 case 'c': // 2 strings to match.
364 if (memcmp(RuleIdentifier.data()+1, "anonicalize_zext_", 17) != 0)
365 break;
366 switch (RuleIdentifier[18]) {
367 default: break;
368 case 'a': // 1 string to match.
369 if (memcmp(RuleIdentifier.data()+19, "shr", 3) != 0)
370 break;
371 return 46; // "canonicalize_zext_ashr"
372 case 'l': // 1 string to match.
373 if (memcmp(RuleIdentifier.data()+19, "shr", 3) != 0)
374 break;
375 return 45; // "canonicalize_zext_lshr"
376 }
377 break;
378 case 'r': // 1 string to match.
379 if (memcmp(RuleIdentifier.data()+1, "ight_identity_one_int", 21) != 0)
380 break;
381 return 19; // "right_identity_one_int"
382 case 't': // 1 string to match.
383 if (memcmp(RuleIdentifier.data()+1, "runc_buildvector_fold", 21) != 0)
384 break;
385 return 23; // "trunc_buildvector_fold"
386 }
387 break;
388 case 24: // 2 strings to match.
389 switch (RuleIdentifier[0]) {
390 default: break;
391 case 'f': // 1 string to match.
392 if (memcmp(RuleIdentifier.data()+1, "med3_intrinsic_to_clamp", 23) != 0)
393 break;
394 return 8; // "fmed3_intrinsic_to_clamp"
395 case 's': // 1 string to match.
396 if (memcmp(RuleIdentifier.data()+1, "ext_inreg_of_sext_inreg", 23) != 0)
397 break;
398 return 43; // "sext_inreg_of_sext_inreg"
399 }
400 break;
401 case 25: // 2 strings to match.
402 switch (RuleIdentifier[0]) {
403 default: break;
404 case 'b': // 1 string to match.
405 if (memcmp(RuleIdentifier.data()+1, "uildvector_identity_fold", 24) != 0)
406 break;
407 return 22; // "buildvector_identity_fold"
408 case 'r': // 1 string to match.
409 if (memcmp(RuleIdentifier.data()+1, "ight_identity_neg_one_fp", 24) != 0)
410 break;
411 return 30; // "right_identity_neg_one_fp"
412 }
413 break;
414 case 26: // 2 strings to match.
415 switch (RuleIdentifier[0]) {
416 default: break;
417 case 'b': // 1 string to match.
418 if (memcmp(RuleIdentifier.data()+1, "itcast_bitcast_to_bitcast", 25) != 0)
419 break;
420 return 26; // "bitcast_bitcast_to_bitcast"
421 case 'r': // 1 string to match.
422 if (memcmp(RuleIdentifier.data()+1, "ight_identity_neg_zero_fp", 25) != 0)
423 break;
424 return 28; // "right_identity_neg_zero_fp"
425 }
426 break;
427 case 27: // 1 string to match.
428 if (memcmp(RuleIdentifier.data()+0, "trunc_lshr_buildvector_fold", 27) != 0)
429 break;
430 return 24; // "trunc_lshr_buildvector_fold"
431 case 30: // 1 string to match.
432 if (memcmp(RuleIdentifier.data()+0, "right_identity_neg_zero_fp_nsz", 30) != 0)
433 break;
434 return 29; // "right_identity_neg_zero_fp_nsz"
435 }
436#endif // ifndef NDEBUG
437
438 return std::nullopt;
439}
440static std::optional<std::pair<uint64_t, uint64_t>> getRuleRangeForIdentifier(StringRef RuleIdentifier) {
441 std::pair<StringRef, StringRef> RangePair = RuleIdentifier.split(Separator: '-');
442 if (!RangePair.second.empty()) {
443 const auto First = getRuleIdxForIdentifier(RuleIdentifier: RangePair.first);
444 const auto Last = getRuleIdxForIdentifier(RuleIdentifier: RangePair.second);
445 if (!First || !Last)
446 return std::nullopt;
447 if (First >= Last)
448 report_fatal_error(reason: "Beginning of range should be before end of range");
449 return {{*First, *Last + 1}};
450 }
451 if (RangePair.first == "*") {
452 return {{0, 59}};
453 }
454 const auto I = getRuleIdxForIdentifier(RuleIdentifier: RangePair.first);
455 if (!I)
456 return std::nullopt;
457 return {{*I, *I + 1}};
458}
459
460bool AMDGPURegBankCombinerImplRuleConfig::setRuleEnabled(StringRef RuleIdentifier) {
461 auto MaybeRange = getRuleRangeForIdentifier(RuleIdentifier);
462 if (!MaybeRange)
463 return false;
464 for (auto I = MaybeRange->first; I < MaybeRange->second; ++I)
465 DisabledRules.reset(Idx: I);
466 return true;
467}
468
469bool AMDGPURegBankCombinerImplRuleConfig::setRuleDisabled(StringRef RuleIdentifier) {
470 auto MaybeRange = getRuleRangeForIdentifier(RuleIdentifier);
471 if (!MaybeRange)
472 return false;
473 for (auto I = MaybeRange->first; I < MaybeRange->second; ++I)
474 DisabledRules.set(I);
475 return true;
476}
477
478static std::vector<std::string> AMDGPURegBankCombinerOption;
479static cl::list<std::string> AMDGPURegBankCombinerDisableOption(
480 "amdgpuregbankcombiner-disable-rule",
481 cl::desc("Disable one or more combiner rules temporarily in the AMDGPURegBankCombiner pass"),
482 cl::CommaSeparated,
483 cl::Hidden,
484 cl::cat(GICombinerOptionCategory),
485 cl::callback(CB: [](const std::string &Str) {
486 AMDGPURegBankCombinerOption.push_back(x: Str);
487 }));
488static cl::list<std::string> AMDGPURegBankCombinerOnlyEnableOption(
489 "amdgpuregbankcombiner-only-enable-rule",
490 cl::desc("Disable all rules in the AMDGPURegBankCombiner pass then re-enable the specified ones"),
491 cl::Hidden,
492 cl::cat(GICombinerOptionCategory),
493 cl::callback(CB: [](const std::string &CommaSeparatedArg) {
494 StringRef Str = CommaSeparatedArg;
495 AMDGPURegBankCombinerOption.push_back(x: "*");
496 do {
497 auto X = Str.split(Separator: ",");
498 AMDGPURegBankCombinerOption.push_back(x: ("!" + X.first).str());
499 Str = X.second;
500 } while (!Str.empty());
501 }));
502
503
504bool AMDGPURegBankCombinerImplRuleConfig::isRuleEnabled(unsigned RuleID) const {
505 return !DisabledRules.test(Idx: RuleID);
506}
507bool AMDGPURegBankCombinerImplRuleConfig::parseCommandLineOption() {
508 for (StringRef Identifier : AMDGPURegBankCombinerOption) {
509 bool Enabled = Identifier.consume_front(Prefix: "!");
510 if (Enabled && !setRuleEnabled(Identifier))
511 return false;
512 if (!Enabled && !setRuleDisabled(Identifier))
513 return false;
514 }
515 return true;
516}
517
518
519#endif // GET_GICOMBINER_TYPES
520
521#ifdef GET_GICOMBINER_TYPES
522
523const unsigned MAX_SUBTARGET_PREDICATES = 1;
524using PredicateBitset = llvm::Bitset<MAX_SUBTARGET_PREDICATES>;
525
526#endif // GET_GICOMBINER_TYPES
527
528#ifdef GET_GICOMBINER_CLASS_MEMBERS
529
530PredicateBitset AvailableModuleFeatures;
531mutable PredicateBitset AvailableFunctionFeatures;
532PredicateBitset getAvailableFeatures() const {
533 return AvailableModuleFeatures | AvailableFunctionFeatures;
534}
535PredicateBitset
536computeAvailableModuleFeatures(const AMDGPUSubtarget *Subtarget) const;
537PredicateBitset
538computeAvailableFunctionFeatures(const AMDGPUSubtarget *Subtarget,
539 const MachineFunction *MF) const;
540void setupGeneratedPerFunctionState(MachineFunction &MF) override;
541
542#endif // GET_GICOMBINER_CLASS_MEMBERS
543
544#ifdef GET_GICOMBINER_CLASS_MEMBERS
545
546 mutable MatcherState State;
547 typedef ComplexRendererFns(AMDGPURegBankCombinerImpl::*ComplexMatcherMemFn)(MachineOperand &) const;
548 typedef void(AMDGPURegBankCombinerImpl::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const;
549 const ExecInfoTy<PredicateBitset, ComplexMatcherMemFn, CustomRendererFn> ExecInfo;
550 static AMDGPURegBankCombinerImpl::ComplexMatcherMemFn ComplexPredicateFns[];
551 static AMDGPURegBankCombinerImpl::CustomRendererFn CustomRenderers[];
552 bool testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const override;
553 bool testImmPredicate_APInt(unsigned PredicateID, const APInt &Imm) const override;
554 bool testImmPredicate_APFloat(unsigned PredicateID, const APFloat &Imm) const override;
555 const uint8_t *getMatchTable() const override;
556 bool testMIPredicate_MI(unsigned PredicateID, const MachineInstr &MI, const MatcherState &State) const override;
557 bool testMOPredicate_MO(unsigned PredicateID, const MachineOperand &MO, const MatcherState &State) const override;
558 bool testSimplePredicate(unsigned PredicateID) const override;
559 bool runCustomAction(unsigned FnID, const MatcherState &State, NewMIVector &OutMIs) const override;
560
561#endif // GET_GICOMBINER_CLASS_MEMBERS
562
563#ifdef GET_GICOMBINER_IMPL
564
565// LLT Objects.
566enum {
567 GILLT_s1,
568};
569const static size_t NumTypeObjects = 1;
570const static LLT TypeObjects[] = {
571 LLT::scalar(1),
572};
573
574// Bits for subtarget features that participate in instruction matching.
575enum SubtargetFeatureBits : uint8_t {
576 Feature_anonymous_52093Bit = 0,
577};
578
579PredicateBitset AMDGPURegBankCombinerImpl::
580computeAvailableModuleFeatures(const AMDGPUSubtarget *Subtarget) const {
581 PredicateBitset Features{};
582 if (Subtarget->d16PreservesUnusedBits())
583 Features.set(Feature_anonymous_52093Bit);
584 return Features;
585}
586
587void AMDGPURegBankCombinerImpl::setupGeneratedPerFunctionState(MachineFunction &MF) {
588 AvailableFunctionFeatures = computeAvailableFunctionFeatures((const AMDGPUSubtarget *)&MF.getSubtarget(), &MF);
589}
590PredicateBitset AMDGPURegBankCombinerImpl::
591computeAvailableFunctionFeatures(const AMDGPUSubtarget *Subtarget, const MachineFunction *MF) const {
592 PredicateBitset Features{};
593 return Features;
594}
595
596// Feature bitsets.
597enum {
598 GIFBS_Invalid,
599 GIFBS_anonymous_52093,
600};
601constexpr static PredicateBitset FeatureBitsets[] {
602 {}, // GIFBS_Invalid
603 {Feature_anonymous_52093Bit, },
604};
605
606// ComplexPattern predicates.
607enum {
608 GICP_Invalid,
609};
610// See constructor for table contents
611
612AMDGPURegBankCombinerImpl::ComplexMatcherMemFn
613AMDGPURegBankCombinerImpl::ComplexPredicateFns[] = {
614 nullptr, // GICP_Invalid
615};
616
617enum {
618 GICXXPred_MI_Predicate_GICombiner0 = GICXXPred_Invalid + 1,
619 GICXXPred_MI_Predicate_GICombiner1,
620 GICXXPred_MI_Predicate_GICombiner2,
621 GICXXPred_MI_Predicate_GICombiner3,
622 GICXXPred_MI_Predicate_GICombiner4,
623};
624bool AMDGPURegBankCombinerImpl::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const {
625 switch (PredicateID) {
626 case GICXXPred_MI_Predicate_GICombiner0: {
627 return Helper.matchConstantFPOp(State.MIs[0]->getOperand(2), 1.0);
628 }
629 case GICXXPred_MI_Predicate_GICombiner1: {
630 return MRI.getType(State.MIs[1]->getOperand(1).getReg()) != MRI.getType(State.MIs[0]->getOperand(0).getReg());
631 }
632 case GICXXPred_MI_Predicate_GICombiner2: {
633 return Helper.matchConstantFPOp(State.MIs[0]->getOperand(2), -0.0);
634 }
635 case GICXXPred_MI_Predicate_GICombiner3: {
636 return Helper.matchConstantFPOp(State.MIs[0]->getOperand(2), 0.0);
637 }
638 case GICXXPred_MI_Predicate_GICombiner4: {
639 return Helper.matchConstantFPOp(State.MIs[0]->getOperand(2), -1.0);
640 }
641 }
642 llvm_unreachable("Unknown predicate");
643 return false;
644}
645bool AMDGPURegBankCombinerImpl::testMOPredicate_MO(unsigned PredicateID, const MachineOperand & MO, const MatcherState &State) const {
646 llvm_unreachable("Unknown predicate");
647 return false;
648}
649bool AMDGPURegBankCombinerImpl::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const {
650 llvm_unreachable("Unknown predicate");
651 return false;
652}
653bool AMDGPURegBankCombinerImpl::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const {
654 llvm_unreachable("Unknown predicate");
655 return false;
656}
657bool AMDGPURegBankCombinerImpl::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const {
658 llvm_unreachable("Unknown predicate");
659 return false;
660}
661enum {
662 GICXXPred_Simple_IsRule0Enabled = GICXXPred_Invalid + 1,
663 GICXXPred_Simple_IsRule1Enabled,
664 GICXXPred_Simple_IsRule2Enabled,
665 GICXXPred_Simple_IsRule3Enabled,
666 GICXXPred_Simple_IsRule4Enabled,
667 GICXXPred_Simple_IsRule5Enabled,
668 GICXXPred_Simple_IsRule6Enabled,
669 GICXXPred_Simple_IsRule7Enabled,
670 GICXXPred_Simple_IsRule8Enabled,
671 GICXXPred_Simple_IsRule9Enabled,
672 GICXXPred_Simple_IsRule10Enabled,
673 GICXXPred_Simple_IsRule11Enabled,
674 GICXXPred_Simple_IsRule12Enabled,
675 GICXXPred_Simple_IsRule13Enabled,
676 GICXXPred_Simple_IsRule14Enabled,
677 GICXXPred_Simple_IsRule15Enabled,
678 GICXXPred_Simple_IsRule16Enabled,
679 GICXXPred_Simple_IsRule17Enabled,
680 GICXXPred_Simple_IsRule18Enabled,
681 GICXXPred_Simple_IsRule19Enabled,
682 GICXXPred_Simple_IsRule20Enabled,
683 GICXXPred_Simple_IsRule21Enabled,
684 GICXXPred_Simple_IsRule22Enabled,
685 GICXXPred_Simple_IsRule23Enabled,
686 GICXXPred_Simple_IsRule24Enabled,
687 GICXXPred_Simple_IsRule25Enabled,
688 GICXXPred_Simple_IsRule26Enabled,
689 GICXXPred_Simple_IsRule27Enabled,
690 GICXXPred_Simple_IsRule28Enabled,
691 GICXXPred_Simple_IsRule29Enabled,
692 GICXXPred_Simple_IsRule30Enabled,
693 GICXXPred_Simple_IsRule31Enabled,
694 GICXXPred_Simple_IsRule32Enabled,
695 GICXXPred_Simple_IsRule33Enabled,
696 GICXXPred_Simple_IsRule34Enabled,
697 GICXXPred_Simple_IsRule35Enabled,
698 GICXXPred_Simple_IsRule36Enabled,
699 GICXXPred_Simple_IsRule37Enabled,
700 GICXXPred_Simple_IsRule38Enabled,
701 GICXXPred_Simple_IsRule39Enabled,
702 GICXXPred_Simple_IsRule40Enabled,
703 GICXXPred_Simple_IsRule41Enabled,
704 GICXXPred_Simple_IsRule42Enabled,
705 GICXXPred_Simple_IsRule43Enabled,
706 GICXXPred_Simple_IsRule44Enabled,
707 GICXXPred_Simple_IsRule45Enabled,
708 GICXXPred_Simple_IsRule46Enabled,
709 GICXXPred_Simple_IsRule47Enabled,
710 GICXXPred_Simple_IsRule48Enabled,
711 GICXXPred_Simple_IsRule49Enabled,
712 GICXXPred_Simple_IsRule50Enabled,
713 GICXXPred_Simple_IsRule51Enabled,
714 GICXXPred_Simple_IsRule52Enabled,
715 GICXXPred_Simple_IsRule53Enabled,
716 GICXXPred_Simple_IsRule54Enabled,
717 GICXXPred_Simple_IsRule55Enabled,
718 GICXXPred_Simple_IsRule56Enabled,
719 GICXXPred_Simple_IsRule57Enabled,
720 GICXXPred_Simple_IsRule58Enabled,
721};
722
723bool AMDGPURegBankCombinerImpl::testSimplePredicate(unsigned Predicate) const {
724 return RuleConfig.isRuleEnabled(Predicate - GICXXPred_Invalid - 1);
725}
726// Custom renderers.
727enum {
728 GICR_Invalid,
729};
730AMDGPURegBankCombinerImpl::CustomRendererFn
731AMDGPURegBankCombinerImpl::CustomRenderers[] = {
732 nullptr, // GICR_Invalid
733};
734
735static bool AMDGPURegBankCombinerImpl_canMatchOpcode(unsigned Opc) {
736 switch (Opc) {
737 case TargetOpcode::G_ADD:
738 case TargetOpcode::G_AND:
739 case TargetOpcode::G_ASHR:
740 case TargetOpcode::G_FADD:
741 case TargetOpcode::G_FMAXIMUM:
742 case TargetOpcode::G_FMAXNUM:
743 case TargetOpcode::G_FMAXNUM_IEEE:
744 case TargetOpcode::G_FMINIMUM:
745 case TargetOpcode::G_FMINNUM:
746 case TargetOpcode::G_FMINNUM_IEEE:
747 case TargetOpcode::G_FMUL:
748 case TargetOpcode::G_LSHR:
749 case TargetOpcode::G_MUL:
750 case TargetOpcode::G_OR:
751 case TargetOpcode::G_PTR_ADD:
752 case TargetOpcode::G_ROTL:
753 case TargetOpcode::G_ROTR:
754 case TargetOpcode::G_SDIV:
755 case TargetOpcode::G_SEXT_INREG:
756 case TargetOpcode::G_SHL:
757 case TargetOpcode::G_SMAX:
758 case TargetOpcode::G_SMIN:
759 case TargetOpcode::G_SREM:
760 case TargetOpcode::G_SUB:
761 case TargetOpcode::G_UDIV:
762 case TargetOpcode::G_UMAX:
763 case TargetOpcode::G_UMIN:
764 case TargetOpcode::G_UREM:
765 case TargetOpcode::G_XOR:
766 case TargetOpcode::G_ANYEXT:
767 case TargetOpcode::G_BITCAST:
768 case TargetOpcode::G_FNEG:
769 case TargetOpcode::G_FPTRUNC:
770 case TargetOpcode::G_PTRTOINT:
771 case TargetOpcode::G_SEXT:
772 case TargetOpcode::G_TRUNC:
773 case TargetOpcode::G_ZEXT:
774 case AMDGPU::G_AMDGPU_FMED3:
775 case TargetOpcode::G_BUILD_VECTOR:
776 case TargetOpcode::G_BUILD_VECTOR_TRUNC:
777 case TargetOpcode::G_INTTOPTR:
778 case TargetOpcode::G_SELECT:
779 case TargetOpcode::G_UNMERGE_VALUES:
780 return true;
781 default:
782 return false;
783 }
784}
785
786bool AMDGPURegBankCombinerImpl::tryCombineAll(MachineInstr &I) const {
787 if (!AMDGPURegBankCombinerImpl_canMatchOpcode(I.getOpcode()))
788 return false;
789 const PredicateBitset AvailableFeatures = getAvailableFeatures();
790 State.MIs.clear();
791 State.MIs.push_back(&I);
792 if (executeMatchTable(*this, State, ExecInfo, B, getMatchTable(), Helper.getTII(), MRI, Helper.getTRI(), Helper.getRBI(), AvailableFeatures, /*CoverageInfo*/ nullptr)) {
793 return true;
794 }
795
796 return false;
797}
798
799enum {
800 GICXXCustomAction_GICombiner0 = GICXXCustomAction_Invalid + 1,
801 GICXXCustomAction_GICombiner1,
802 GICXXCustomAction_GICombiner2,
803 GICXXCustomAction_GICombiner3,
804 GICXXCustomAction_GICombiner4,
805 GICXXCustomAction_GICombiner5,
806 GICXXCustomAction_GICombiner6,
807 GICXXCustomAction_GICombiner7,
808 GICXXCustomAction_GICombiner8,
809 GICXXCustomAction_GICombiner9,
810 GICXXCustomAction_GICombiner10,
811 GICXXCustomAction_GICombiner11,
812 GICXXCustomAction_GICombiner12,
813 GICXXCustomAction_GICombiner13,
814 GICXXCustomAction_GICombiner14,
815 GICXXCustomAction_GICombiner15,
816 GICXXCustomAction_GICombiner16,
817 GICXXCustomAction_GICombiner17,
818 GICXXCustomAction_GICombiner18,
819 GICXXCustomAction_GICombiner19,
820 GICXXCustomAction_GICombiner20,
821 GICXXCustomAction_GICombiner21,
822 GICXXCustomAction_GICombiner22,
823 GICXXCustomAction_GICombiner23,
824 GICXXCustomAction_GICombiner24,
825 GICXXCustomAction_GICombiner25,
826};
827bool AMDGPURegBankCombinerImpl::runCustomAction(unsigned ApplyID, const MatcherState &State, NewMIVector &OutMIs) const {
828 Helper.getBuilder().setInstrAndDebugLoc(*State.MIs[0]);
829 switch(ApplyID) {
830 case GICXXCustomAction_GICombiner0:{
831 SmallVector<Register> GIMatchData_info;
832 // Match Patterns
833 if(![&](){return Helper.matchCombineUnmergeMergeToPlainValues(*State.MIs[0], GIMatchData_info);}()) {
834 return false;
835 }
836 // Apply Patterns
837 Helper.applyCombineUnmergeMergeToPlainValues(*State.MIs[0], GIMatchData_info);
838 return true;
839 }
840 case GICXXCustomAction_GICombiner1:{
841 SmallVector<APInt, 8> GIMatchData_info;
842 // Match Patterns
843 if(![&](){return Helper.matchCombineUnmergeConstant(*State.MIs[0], GIMatchData_info);}()) {
844 return false;
845 }
846 // Apply Patterns
847 Helper.applyCombineUnmergeConstant(*State.MIs[0], GIMatchData_info);
848 return true;
849 }
850 case GICXXCustomAction_GICombiner2:{
851 std::function<void(MachineIRBuilder &)> GIMatchData_info;
852 // Match Patterns
853 if(![&](){return Helper.matchCombineUnmergeUndef(*State.MIs[0], GIMatchData_info);}()) {
854 return false;
855 }
856 // Apply Patterns
857 Helper.applyBuildFn(*State.MIs[0], GIMatchData_info);
858 return true;
859 }
860 case GICXXCustomAction_GICombiner3:{
861 Register GIMatchData_matchinfo;
862 // Match Patterns
863 if(![&](){return Helper.matchCombineZextTrunc(*State.MIs[0], GIMatchData_matchinfo);}()) {
864 return false;
865 }
866 // Apply Patterns
867 Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
868 return true;
869 }
870 case GICXXCustomAction_GICombiner4:{
871 Med3MatchInfo GIMatchData_matchinfo;
872 // Match Patterns
873 if(![&](){return matchIntMinMaxToMed3(*State.MIs[0], GIMatchData_matchinfo);}()) {
874 return false;
875 }
876 // Apply Patterns
877 applyMed3(*State.MIs[0], GIMatchData_matchinfo);
878 return true;
879 }
880 case GICXXCustomAction_GICombiner5:{
881 PtrAddChain GIMatchData_matchinfo;
882 // Match Patterns
883 if(![&](){return Helper.matchPtrAddImmedChain(*State.MIs[0], GIMatchData_matchinfo);}()) {
884 return false;
885 }
886 // Apply Patterns
887 Helper.applyPtrAddImmedChain(*State.MIs[0], GIMatchData_matchinfo);
888 return true;
889 }
890 case GICXXCustomAction_GICombiner6:{
891 Register GIMatchData_matchinfo;
892 // Match Patterns
893 if(![&](){return matchFPMinMaxToClamp(*State.MIs[0], GIMatchData_matchinfo);}()) {
894 return false;
895 }
896 // Apply Patterns
897 applyClamp(*State.MIs[0], GIMatchData_matchinfo);
898 return true;
899 }
900 case GICXXCustomAction_GICombiner7:{
901 Med3MatchInfo GIMatchData_matchinfo;
902 // Match Patterns
903 if(![&](){return matchFPMinMaxToMed3(*State.MIs[0], GIMatchData_matchinfo);}()) {
904 return false;
905 }
906 // Apply Patterns
907 applyMed3(*State.MIs[0], GIMatchData_matchinfo);
908 return true;
909 }
910 case GICXXCustomAction_GICombiner8:{
911 Register GIMatchData_matchinfo;
912 // Match Patterns
913 if(![&](){return matchFPMed3ToClamp(*State.MIs[0], GIMatchData_matchinfo);}()) {
914 return false;
915 }
916 // Apply Patterns
917 applyClamp(*State.MIs[0], GIMatchData_matchinfo);
918 return true;
919 }
920 case GICXXCustomAction_GICombiner9:{
921 // Match Patterns
922 if(![&](){return Helper.matchSelectSameVal(*State.MIs[0]);}()) {
923 return false;
924 }
925 // Apply Patterns
926 Helper.replaceSingleDefInstWithOperand(*State.MIs[0], 2);
927 return true;
928 }
929 case GICXXCustomAction_GICombiner10:{
930 Register GIMatchData_info;
931 // Match Patterns
932 if(![&](){return Helper.matchCombineI2PToP2I(*State.MIs[0], GIMatchData_info);}()) {
933 return false;
934 }
935 // Apply Patterns
936 Helper.applyCombineI2PToP2I(*State.MIs[0], GIMatchData_info);
937 return true;
938 }
939 case GICXXCustomAction_GICombiner11:{
940 Register GIMatchData_info;
941 // Match Patterns
942 if(![&](){GIMatchData_info = State.MIs[1]->getOperand(1).getReg(); return true;}()) {
943 return false;
944 }
945 // Apply Patterns
946 Helper.applyCombineP2IToI2P(*State.MIs[0], GIMatchData_info);
947 return true;
948 }
949 case GICXXCustomAction_GICombiner12:{
950 Register GIMatchData_matchinfo;
951 // Match Patterns
952 if(![&](){return Helper.matchCombineAnyExtTrunc(*State.MIs[0], GIMatchData_matchinfo);}()) {
953 return false;
954 }
955 // Apply Patterns
956 Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
957 return true;
958 }
959 case GICXXCustomAction_GICombiner13:{
960 Register GIMatchData_matchinfo;
961 // Match Patterns
962 if(![&](){return Helper.matchBuildVectorIdentityFold(*State.MIs[0], GIMatchData_matchinfo);}()) {
963 return false;
964 }
965 // Apply Patterns
966 Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
967 return true;
968 }
969 case GICXXCustomAction_GICombiner14:{
970 Register GIMatchData_matchinfo;
971 // Match Patterns
972 if(![&](){return Helper.matchTruncBuildVectorFold(*State.MIs[0], GIMatchData_matchinfo);}()) {
973 return false;
974 }
975 // Apply Patterns
976 Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
977 return true;
978 }
979 case GICXXCustomAction_GICombiner15:{
980 Register GIMatchData_matchinfo;
981 // Match Patterns
982 if(![&](){return Helper.matchTruncLshrBuildVectorFold(*State.MIs[0], GIMatchData_matchinfo);}()) {
983 return false;
984 }
985 // Apply Patterns
986 Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
987 return true;
988 }
989 case GICXXCustomAction_GICombiner16:{
990 // Match Patterns
991 if(![&](){return MRI.getType(State.MIs[1]->getOperand(1).getReg()) == MRI.getType(State.MIs[0]->getOperand(0).getReg());}()) {
992 return false;
993 }
994 // Apply Patterns
995 Helper.replaceSingleDefInstWithReg(*State.MIs[0], State.MIs[1]->getOperand(1).getReg());
996 return true;
997 }
998 case GICXXCustomAction_GICombiner17:{
999 Register GIMatchData_matchinfo;
1000 // Match Patterns
1001 if(![&](){return Helper.matchRedundantAnd(*State.MIs[0], GIMatchData_matchinfo);}()) {
1002 return false;
1003 }
1004 // Apply Patterns
1005 Helper.replaceSingleDefInstWithReg(*State.MIs[0], GIMatchData_matchinfo);
1006 return true;
1007 }
1008 case GICXXCustomAction_GICombiner18:{
1009 APInt GIMatchData_matchinfo;
1010 // Match Patterns
1011 if(![&](){return Helper.matchConstantFoldCastOp(*State.MIs[0], GIMatchData_matchinfo);}()) {
1012 return false;
1013 }
1014 // Apply Patterns
1015 Helper.replaceInstWithConstant(*State.MIs[0], GIMatchData_matchinfo);
1016 return true;
1017 }
1018 case GICXXCustomAction_GICombiner19:{
1019 std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
1020 // Match Patterns
1021 if(![&](){return Helper.matchTruncateOfExt(*State.MIs[0], *State.MIs[1], GIMatchData_matchinfo);}()) {
1022 return false;
1023 }
1024 // Apply Patterns
1025 Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
1026 return true;
1027 }
1028 case GICXXCustomAction_GICombiner20:{
1029 std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
1030 // Match Patterns
1031 if(![&](){return Helper.matchExtOfExt(*State.MIs[0], *State.MIs[1], GIMatchData_matchinfo);}()) {
1032 return false;
1033 }
1034 // Apply Patterns
1035 Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
1036 return true;
1037 }
1038 case GICXXCustomAction_GICombiner21:{
1039 std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
1040 // Match Patterns
1041 if(![&](){return Helper.matchRedundantSextInReg(*State.MIs[0], *State.MIs[1], GIMatchData_matchinfo);}()) {
1042 return false;
1043 }
1044 // Apply Patterns
1045 Helper.applyBuildFn(*State.MIs[0], GIMatchData_matchinfo);
1046 return true;
1047 }
1048 case GICXXCustomAction_GICombiner22:{
1049 std::function<void(MachineIRBuilder &)> GIMatchData_matchinfo;
1050 // Match Patterns
1051 if(![&](){return Helper.matchSextOfTrunc(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);}()) {
1052 return false;
1053 }
1054 // Apply Patterns
1055 Helper.applyBuildFnMO(State.MIs[0]->getOperand(0), GIMatchData_matchinfo);
1056 return true;
1057 }
1058 case GICXXCustomAction_GICombiner23:{
1059 // Apply Patterns
1060 applyCanonicalizeZextShiftAmt(*State.MIs[0], *State.MIs[1]);
1061 return true;
1062 }
1063 case GICXXCustomAction_GICombiner24:{
1064 // Apply Patterns
1065 return combineD16Load(*State.MIs[0] );
1066 return true;
1067 }
1068 case GICXXCustomAction_GICombiner25:{
1069 MinMaxToMinMax3MatchInfo GIMatchData_matchinfo;
1070 // Match Patterns
1071 if(![&](){return matchMinMaxToMinMax3(*State.MIs[0], GIMatchData_matchinfo);}()) {
1072 return false;
1073 }
1074 // Apply Patterns
1075 applyMinMaxToMinMax3(*State.MIs[0], GIMatchData_matchinfo);
1076 return true;
1077 }
1078 }
1079 llvm_unreachable("Unknown Apply Action");
1080}
1081#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
1082#define GIMT_Encode2(Val) uint8_t(Val), uint8_t((Val) >> 8)
1083#define GIMT_Encode4(Val) uint8_t(Val), uint8_t((Val) >> 8), uint8_t((Val) >> 16), uint8_t((Val) >> 24)
1084#define GIMT_Encode8(Val) uint8_t(Val), uint8_t((Val) >> 8), uint8_t((Val) >> 16), uint8_t((Val) >> 24), uint8_t(uint64_t(Val) >> 32), uint8_t(uint64_t(Val) >> 40), uint8_t(uint64_t(Val) >> 48), uint8_t(uint64_t(Val) >> 56)
1085#else
1086#define GIMT_Encode2(Val) uint8_t((Val) >> 8), uint8_t(Val)
1087#define GIMT_Encode4(Val) uint8_t((Val) >> 24), uint8_t((Val) >> 16), uint8_t((Val) >> 8), uint8_t(Val)
1088#define GIMT_Encode8(Val) uint8_t(uint64_t(Val) >> 56), uint8_t(uint64_t(Val) >> 48), uint8_t(uint64_t(Val) >> 40), uint8_t(uint64_t(Val) >> 32), uint8_t((Val) >> 24), uint8_t((Val) >> 16), uint8_t((Val) >> 8), uint8_t(Val)
1089#endif
1090const uint8_t *AMDGPURegBankCombinerImpl::getMatchTable() const {
1091 constexpr static uint8_t MatchTable0[] = {
1092 /* 0 */ GIM_SwitchOpcode, /*MI*/0, /*[*/GIMT_Encode2(55), GIMT_Encode2(4145), /*)*//*default:*//*Label 43*/ GIMT_Encode4(18179),
1093 /* 10 */ /*TargetOpcode::G_ADD*//*Label 0*/ GIMT_Encode4(16370),
1094 /* 14 */ /*TargetOpcode::G_SUB*//*Label 1*/ GIMT_Encode4(16462),
1095 /* 18 */ /*TargetOpcode::G_MUL*//*Label 2*/ GIMT_Encode4(16525),
1096 /* 22 */ /*TargetOpcode::G_SDIV*//*Label 3*/ GIMT_Encode4(16612),
1097 /* 26 */ /*TargetOpcode::G_UDIV*//*Label 4*/ GIMT_Encode4(16653),
1098 /* 30 */ /*TargetOpcode::G_SREM*//*Label 5*/ GIMT_Encode4(16694),
1099 /* 34 */ /*TargetOpcode::G_UREM*//*Label 6*/ GIMT_Encode4(16735), GIMT_Encode4(0), GIMT_Encode4(0),
1100 /* 46 */ /*TargetOpcode::G_AND*//*Label 7*/ GIMT_Encode4(16776),
1101 /* 50 */ /*TargetOpcode::G_OR*//*Label 8*/ GIMT_Encode4(16812),
1102 /* 54 */ /*TargetOpcode::G_XOR*//*Label 9*/ GIMT_Encode4(16860), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1103 /* 110 */ /*TargetOpcode::G_UNMERGE_VALUES*//*Label 10*/ GIMT_Encode4(16923), GIMT_Encode4(0), GIMT_Encode4(0),
1104 /* 122 */ /*TargetOpcode::G_BUILD_VECTOR*//*Label 11*/ GIMT_Encode4(16957),
1105 /* 126 */ /*TargetOpcode::G_BUILD_VECTOR_TRUNC*//*Label 12*/ GIMT_Encode4(16969), GIMT_Encode4(0),
1106 /* 134 */ /*TargetOpcode::G_PTRTOINT*//*Label 13*/ GIMT_Encode4(16981),
1107 /* 138 */ /*TargetOpcode::G_INTTOPTR*//*Label 14*/ GIMT_Encode4(17003),
1108 /* 142 */ /*TargetOpcode::G_BITCAST*//*Label 15*/ GIMT_Encode4(17015), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1109 /* 362 */ /*TargetOpcode::G_ANYEXT*//*Label 16*/ GIMT_Encode4(17082),
1110 /* 366 */ /*TargetOpcode::G_TRUNC*//*Label 17*/ GIMT_Encode4(17168), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1111 /* 398 */ /*TargetOpcode::G_SEXT*//*Label 18*/ GIMT_Encode4(17254),
1112 /* 402 */ /*TargetOpcode::G_SEXT_INREG*//*Label 19*/ GIMT_Encode4(17329),
1113 /* 406 */ /*TargetOpcode::G_ZEXT*//*Label 20*/ GIMT_Encode4(17351),
1114 /* 410 */ /*TargetOpcode::G_SHL*//*Label 21*/ GIMT_Encode4(17416),
1115 /* 414 */ /*TargetOpcode::G_LSHR*//*Label 22*/ GIMT_Encode4(17501),
1116 /* 418 */ /*TargetOpcode::G_ASHR*//*Label 23*/ GIMT_Encode4(17586), GIMT_Encode4(0), GIMT_Encode4(0),
1117 /* 430 */ /*TargetOpcode::G_ROTR*//*Label 24*/ GIMT_Encode4(17671),
1118 /* 434 */ /*TargetOpcode::G_ROTL*//*Label 25*/ GIMT_Encode4(17695), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1119 /* 454 */ /*TargetOpcode::G_SELECT*//*Label 26*/ GIMT_Encode4(17719), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1120 /* 562 */ /*TargetOpcode::G_FADD*//*Label 27*/ GIMT_Encode4(17731), GIMT_Encode4(0),
1121 /* 570 */ /*TargetOpcode::G_FMUL*//*Label 28*/ GIMT_Encode4(17784), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1122 /* 634 */ /*TargetOpcode::G_FNEG*//*Label 29*/ GIMT_Encode4(17828), GIMT_Encode4(0),
1123 /* 642 */ /*TargetOpcode::G_FPTRUNC*//*Label 30*/ GIMT_Encode4(17858), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1124 /* 686 */ /*TargetOpcode::G_FMINNUM*//*Label 31*/ GIMT_Encode4(17880),
1125 /* 690 */ /*TargetOpcode::G_FMAXNUM*//*Label 32*/ GIMT_Encode4(17914),
1126 /* 694 */ /*TargetOpcode::G_FMINNUM_IEEE*//*Label 33*/ GIMT_Encode4(17948),
1127 /* 698 */ /*TargetOpcode::G_FMAXNUM_IEEE*//*Label 34*/ GIMT_Encode4(17982),
1128 /* 702 */ /*TargetOpcode::G_FMINIMUM*//*Label 35*/ GIMT_Encode4(18016),
1129 /* 706 */ /*TargetOpcode::G_FMAXIMUM*//*Label 36*/ GIMT_Encode4(18028), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1130 /* 750 */ /*TargetOpcode::G_PTR_ADD*//*Label 37*/ GIMT_Encode4(18040), GIMT_Encode4(0),
1131 /* 758 */ /*TargetOpcode::G_SMIN*//*Label 38*/ GIMT_Encode4(18075),
1132 /* 762 */ /*TargetOpcode::G_SMAX*//*Label 39*/ GIMT_Encode4(18098),
1133 /* 766 */ /*TargetOpcode::G_UMIN*//*Label 40*/ GIMT_Encode4(18121),
1134 /* 770 */ /*TargetOpcode::G_UMAX*//*Label 41*/ GIMT_Encode4(18144), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0), GIMT_Encode4(0),
1135 /* 16366 */ /*AMDGPU::G_AMDGPU_FMED3*//*Label 42*/ GIMT_Encode4(18167),
1136 /* 16370 */ // Label 0: @16370
1137 /* 16370 */ GIM_Try, /*On fail goto*//*Label 44*/ GIMT_Encode4(16404), // Rule ID 49 //
1138 /* 16375 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule21Enabled),
1139 /* 16378 */ // MIs[0] dst
1140 /* 16378 */ // No operand predicates
1141 /* 16378 */ // MIs[0] __add_sub_reg_match_0.tmp
1142 /* 16378 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1143 /* 16382 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
1144 /* 16386 */ // MIs[1] src
1145 /* 16386 */ // No operand predicates
1146 /* 16386 */ // MIs[1] __add_sub_reg_match_0.x
1147 /* 16386 */ // No operand predicates
1148 /* 16386 */ // MIs[0] __add_sub_reg_match_0.x
1149 /* 16386 */ GIM_CheckIsSameOperandIgnoreCopies, /*MI*/0, /*OpIdx*/2, /*OtherMI*/1, /*OtherOpIdx*/2,
1150 /* 16391 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/1, /*NewOpIdx*/1,
1151 /* 16396 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1152 /* 16398 */ // Combiner Rule #21: add_sub_reg @ [__add_sub_reg_match_0[1]]
1153 /* 16398 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/1, /*NewOpIdx*/1,
1154 /* 16403 */ GIR_EraseRootFromParent_Done,
1155 /* 16404 */ // Label 44: @16404
1156 /* 16404 */ GIM_Try, /*On fail goto*//*Label 45*/ GIMT_Encode4(16438), // Rule ID 48 //
1157 /* 16409 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule21Enabled),
1158 /* 16412 */ // MIs[0] dst
1159 /* 16412 */ // No operand predicates
1160 /* 16412 */ // MIs[0] __add_sub_reg_match_0.x
1161 /* 16412 */ // No operand predicates
1162 /* 16412 */ // MIs[0] __add_sub_reg_match_0.tmp
1163 /* 16412 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1164 /* 16416 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SUB),
1165 /* 16420 */ // MIs[1] src
1166 /* 16420 */ // No operand predicates
1167 /* 16420 */ // MIs[1] __add_sub_reg_match_0.x
1168 /* 16420 */ GIM_CheckIsSameOperandIgnoreCopies, /*MI*/1, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
1169 /* 16425 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/1, /*NewOpIdx*/1,
1170 /* 16430 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1171 /* 16432 */ // Combiner Rule #21: add_sub_reg @ [__add_sub_reg_match_0[0]]
1172 /* 16432 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/1, /*NewOpIdx*/1,
1173 /* 16437 */ GIR_EraseRootFromParent_Done,
1174 /* 16438 */ // Label 45: @16438
1175 /* 16438 */ GIM_Try, /*On fail goto*//*Label 46*/ GIMT_Encode4(16461), // Rule ID 20 //
1176 /* 16443 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule10Enabled),
1177 /* 16446 */ // MIs[0] dst
1178 /* 16446 */ // No operand predicates
1179 /* 16446 */ // MIs[0] lhs
1180 /* 16446 */ // No operand predicates
1181 /* 16446 */ // MIs[0] Operand 2
1182 /* 16446 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
1183 /* 16450 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1184 /* 16455 */ // Combiner Rule #10: right_identity_zero @ [__right_identity_zero_match_0[1]]
1185 /* 16455 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1186 /* 16460 */ GIR_EraseRootFromParent_Done,
1187 /* 16461 */ // Label 46: @16461
1188 /* 16461 */ GIM_Reject,
1189 /* 16462 */ // Label 1: @16462
1190 /* 16462 */ GIM_Try, /*On fail goto*//*Label 47*/ GIMT_Encode4(16501), // Rule ID 31 //
1191 /* 16467 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule12Enabled),
1192 /* 16470 */ // MIs[0] dst
1193 /* 16470 */ // No operand predicates
1194 /* 16470 */ // MIs[0] x
1195 /* 16470 */ GIM_RecordRegType, /*MI*/0, /*Op*/1, /*TempTypeIdx*/255,
1196 /* 16474 */ // MIs[0] x
1197 /* 16474 */ GIM_CheckIsSameOperandIgnoreCopies, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
1198 /* 16479 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/255,
1199 /* 16482 */ GIR_BuildConstant, /*TempRegID*/0, /*Val*/GIMT_Encode8(0),
1200 /* 16492 */ // Combiner Rule #12: same_val_zero @ [__same_val_zero_match_0[0]]
1201 /* 16492 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
1202 /* 16495 */ GIR_RootToRootCopy, /*OpIdx*/0, // dst
1203 /* 16497 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
1204 /* 16500 */ GIR_EraseRootFromParent_Done,
1205 /* 16501 */ // Label 47: @16501
1206 /* 16501 */ GIM_Try, /*On fail goto*//*Label 48*/ GIMT_Encode4(16524), // Rule ID 19 //
1207 /* 16506 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule10Enabled),
1208 /* 16509 */ // MIs[0] dst
1209 /* 16509 */ // No operand predicates
1210 /* 16509 */ // MIs[0] lhs
1211 /* 16509 */ // No operand predicates
1212 /* 16509 */ // MIs[0] Operand 2
1213 /* 16509 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
1214 /* 16513 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1215 /* 16518 */ // Combiner Rule #10: right_identity_zero @ [__right_identity_zero_match_0[0]]
1216 /* 16518 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1217 /* 16523 */ GIR_EraseRootFromParent_Done,
1218 /* 16524 */ // Label 48: @16524
1219 /* 16524 */ GIM_Reject,
1220 /* 16525 */ // Label 2: @16525
1221 /* 16525 */ GIM_Try, /*On fail goto*//*Label 49*/ GIMT_Encode4(16565), // Rule ID 40 //
1222 /* 16530 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule13Enabled),
1223 /* 16533 */ // MIs[0] dst
1224 /* 16533 */ // No operand predicates
1225 /* 16533 */ // MIs[0] zero
1226 /* 16533 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1227 /* 16537 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1228 /* 16541 */ // MIs[1] Operand 1
1229 /* 16541 */ GIM_CheckLiteralInt, /*MI*/1, /*Op*/1, GIMT_Encode8(0),
1230 /* 16552 */ // MIs[0] rhs
1231 /* 16552 */ // No operand predicates
1232 /* 16552 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1233 /* 16557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1234 /* 16559 */ // Combiner Rule #13: binop_left_to_zero @ [__binop_left_to_zero_match_0[7]]
1235 /* 16559 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1236 /* 16564 */ GIR_EraseRootFromParent_Done,
1237 /* 16565 */ // Label 49: @16565
1238 /* 16565 */ GIM_Try, /*On fail goto*//*Label 50*/ GIMT_Encode4(16588), // Rule ID 41 //
1239 /* 16570 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule14Enabled),
1240 /* 16573 */ // MIs[0] dst
1241 /* 16573 */ // No operand predicates
1242 /* 16573 */ // MIs[0] lhs
1243 /* 16573 */ // No operand predicates
1244 /* 16573 */ // MIs[0] zero
1245 /* 16573 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
1246 /* 16577 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/2,
1247 /* 16582 */ // Combiner Rule #14: binop_right_to_zero
1248 /* 16582 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/2,
1249 /* 16587 */ GIR_EraseRootFromParent_Done,
1250 /* 16588 */ // Label 50: @16588
1251 /* 16588 */ GIM_Try, /*On fail goto*//*Label 51*/ GIMT_Encode4(16611), // Rule ID 46 //
1252 /* 16593 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule19Enabled),
1253 /* 16596 */ // MIs[0] dst
1254 /* 16596 */ // No operand predicates
1255 /* 16596 */ // MIs[0] x
1256 /* 16596 */ // No operand predicates
1257 /* 16596 */ // MIs[0] Operand 2
1258 /* 16596 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 1,
1259 /* 16600 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1260 /* 16605 */ // Combiner Rule #19: right_identity_one_int
1261 /* 16605 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1262 /* 16610 */ GIR_EraseRootFromParent_Done,
1263 /* 16611 */ // Label 51: @16611
1264 /* 16611 */ GIM_Reject,
1265 /* 16612 */ // Label 3: @16612
1266 /* 16612 */ GIM_Try, /*On fail goto*//*Label 52*/ GIMT_Encode4(16652), // Rule ID 36 //
1267 /* 16617 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule13Enabled),
1268 /* 16620 */ // MIs[0] dst
1269 /* 16620 */ // No operand predicates
1270 /* 16620 */ // MIs[0] zero
1271 /* 16620 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1272 /* 16624 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1273 /* 16628 */ // MIs[1] Operand 1
1274 /* 16628 */ GIM_CheckLiteralInt, /*MI*/1, /*Op*/1, GIMT_Encode8(0),
1275 /* 16639 */ // MIs[0] rhs
1276 /* 16639 */ // No operand predicates
1277 /* 16639 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1278 /* 16644 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1279 /* 16646 */ // Combiner Rule #13: binop_left_to_zero @ [__binop_left_to_zero_match_0[3]]
1280 /* 16646 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1281 /* 16651 */ GIR_EraseRootFromParent_Done,
1282 /* 16652 */ // Label 52: @16652
1283 /* 16652 */ GIM_Reject,
1284 /* 16653 */ // Label 4: @16653
1285 /* 16653 */ GIM_Try, /*On fail goto*//*Label 53*/ GIMT_Encode4(16693), // Rule ID 37 //
1286 /* 16658 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule13Enabled),
1287 /* 16661 */ // MIs[0] dst
1288 /* 16661 */ // No operand predicates
1289 /* 16661 */ // MIs[0] zero
1290 /* 16661 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1291 /* 16665 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1292 /* 16669 */ // MIs[1] Operand 1
1293 /* 16669 */ GIM_CheckLiteralInt, /*MI*/1, /*Op*/1, GIMT_Encode8(0),
1294 /* 16680 */ // MIs[0] rhs
1295 /* 16680 */ // No operand predicates
1296 /* 16680 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1297 /* 16685 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1298 /* 16687 */ // Combiner Rule #13: binop_left_to_zero @ [__binop_left_to_zero_match_0[4]]
1299 /* 16687 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1300 /* 16692 */ GIR_EraseRootFromParent_Done,
1301 /* 16693 */ // Label 53: @16693
1302 /* 16693 */ GIM_Reject,
1303 /* 16694 */ // Label 5: @16694
1304 /* 16694 */ GIM_Try, /*On fail goto*//*Label 54*/ GIMT_Encode4(16734), // Rule ID 38 //
1305 /* 16699 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule13Enabled),
1306 /* 16702 */ // MIs[0] dst
1307 /* 16702 */ // No operand predicates
1308 /* 16702 */ // MIs[0] zero
1309 /* 16702 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1310 /* 16706 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1311 /* 16710 */ // MIs[1] Operand 1
1312 /* 16710 */ GIM_CheckLiteralInt, /*MI*/1, /*Op*/1, GIMT_Encode8(0),
1313 /* 16721 */ // MIs[0] rhs
1314 /* 16721 */ // No operand predicates
1315 /* 16721 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1316 /* 16726 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1317 /* 16728 */ // Combiner Rule #13: binop_left_to_zero @ [__binop_left_to_zero_match_0[5]]
1318 /* 16728 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1319 /* 16733 */ GIR_EraseRootFromParent_Done,
1320 /* 16734 */ // Label 54: @16734
1321 /* 16734 */ GIM_Reject,
1322 /* 16735 */ // Label 6: @16735
1323 /* 16735 */ GIM_Try, /*On fail goto*//*Label 55*/ GIMT_Encode4(16775), // Rule ID 39 //
1324 /* 16740 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule13Enabled),
1325 /* 16743 */ // MIs[0] dst
1326 /* 16743 */ // No operand predicates
1327 /* 16743 */ // MIs[0] zero
1328 /* 16743 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1329 /* 16747 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1330 /* 16751 */ // MIs[1] Operand 1
1331 /* 16751 */ GIM_CheckLiteralInt, /*MI*/1, /*Op*/1, GIMT_Encode8(0),
1332 /* 16762 */ // MIs[0] rhs
1333 /* 16762 */ // No operand predicates
1334 /* 16762 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1335 /* 16767 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1336 /* 16769 */ // Combiner Rule #13: binop_left_to_zero @ [__binop_left_to_zero_match_0[6]]
1337 /* 16769 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1338 /* 16774 */ GIR_EraseRootFromParent_Done,
1339 /* 16775 */ // Label 55: @16775
1340 /* 16775 */ GIM_Reject,
1341 /* 16776 */ // Label 7: @16776
1342 /* 16776 */ GIM_Try, /*On fail goto*//*Label 56*/ GIMT_Encode4(16787), // Rule ID 60 //
1343 /* 16781 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule31Enabled),
1344 /* 16784 */ // Combiner Rule #31: redundant_and; wip_match_opcode 'G_AND'
1345 /* 16784 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner17),
1346 /* 16787 */ // Label 56: @16787
1347 /* 16787 */ GIM_Try, /*On fail goto*//*Label 57*/ GIMT_Encode4(16811), // Rule ID 29 //
1348 /* 16792 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule11Enabled),
1349 /* 16795 */ // MIs[0] dst
1350 /* 16795 */ // No operand predicates
1351 /* 16795 */ // MIs[0] src
1352 /* 16795 */ // No operand predicates
1353 /* 16795 */ // MIs[0] src
1354 /* 16795 */ GIM_CheckIsSameOperandIgnoreCopies, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
1355 /* 16800 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1356 /* 16805 */ // Combiner Rule #11: binop_same_val @ [__binop_same_val_match_0[0]]
1357 /* 16805 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1358 /* 16810 */ GIR_EraseRootFromParent_Done,
1359 /* 16811 */ // Label 57: @16811
1360 /* 16811 */ GIM_Reject,
1361 /* 16812 */ // Label 8: @16812
1362 /* 16812 */ GIM_Try, /*On fail goto*//*Label 58*/ GIMT_Encode4(16836), // Rule ID 30 //
1363 /* 16817 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule11Enabled),
1364 /* 16820 */ // MIs[0] dst
1365 /* 16820 */ // No operand predicates
1366 /* 16820 */ // MIs[0] src
1367 /* 16820 */ // No operand predicates
1368 /* 16820 */ // MIs[0] src
1369 /* 16820 */ GIM_CheckIsSameOperandIgnoreCopies, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
1370 /* 16825 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1371 /* 16830 */ // Combiner Rule #11: binop_same_val @ [__binop_same_val_match_0[1]]
1372 /* 16830 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1373 /* 16835 */ GIR_EraseRootFromParent_Done,
1374 /* 16836 */ // Label 58: @16836
1375 /* 16836 */ GIM_Try, /*On fail goto*//*Label 59*/ GIMT_Encode4(16859), // Rule ID 21 //
1376 /* 16841 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule10Enabled),
1377 /* 16844 */ // MIs[0] dst
1378 /* 16844 */ // No operand predicates
1379 /* 16844 */ // MIs[0] lhs
1380 /* 16844 */ // No operand predicates
1381 /* 16844 */ // MIs[0] Operand 2
1382 /* 16844 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
1383 /* 16848 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1384 /* 16853 */ // Combiner Rule #10: right_identity_zero @ [__right_identity_zero_match_0[2]]
1385 /* 16853 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1386 /* 16858 */ GIR_EraseRootFromParent_Done,
1387 /* 16859 */ // Label 59: @16859
1388 /* 16859 */ GIM_Reject,
1389 /* 16860 */ // Label 9: @16860
1390 /* 16860 */ GIM_Try, /*On fail goto*//*Label 60*/ GIMT_Encode4(16899), // Rule ID 32 //
1391 /* 16865 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule12Enabled),
1392 /* 16868 */ // MIs[0] dst
1393 /* 16868 */ // No operand predicates
1394 /* 16868 */ // MIs[0] x
1395 /* 16868 */ GIM_RecordRegType, /*MI*/0, /*Op*/1, /*TempTypeIdx*/255,
1396 /* 16872 */ // MIs[0] x
1397 /* 16872 */ GIM_CheckIsSameOperandIgnoreCopies, /*MI*/0, /*OpIdx*/2, /*OtherMI*/0, /*OtherOpIdx*/1,
1398 /* 16877 */ GIR_MakeTempReg, /*TempRegID*/0, /*TypeID*/255,
1399 /* 16880 */ GIR_BuildConstant, /*TempRegID*/0, /*Val*/GIMT_Encode8(0),
1400 /* 16890 */ // Combiner Rule #12: same_val_zero @ [__same_val_zero_match_0[1]]
1401 /* 16890 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::COPY),
1402 /* 16893 */ GIR_RootToRootCopy, /*OpIdx*/0, // dst
1403 /* 16895 */ GIR_AddSimpleTempRegister, /*InsnID*/0, /*TempRegID*/0,
1404 /* 16898 */ GIR_EraseRootFromParent_Done,
1405 /* 16899 */ // Label 60: @16899
1406 /* 16899 */ GIM_Try, /*On fail goto*//*Label 61*/ GIMT_Encode4(16922), // Rule ID 22 //
1407 /* 16904 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule10Enabled),
1408 /* 16907 */ // MIs[0] dst
1409 /* 16907 */ // No operand predicates
1410 /* 16907 */ // MIs[0] lhs
1411 /* 16907 */ // No operand predicates
1412 /* 16907 */ // MIs[0] Operand 2
1413 /* 16907 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
1414 /* 16911 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1415 /* 16916 */ // Combiner Rule #10: right_identity_zero @ [__right_identity_zero_match_0[3]]
1416 /* 16916 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1417 /* 16921 */ GIR_EraseRootFromParent_Done,
1418 /* 16922 */ // Label 61: @16922
1419 /* 16922 */ GIM_Reject,
1420 /* 16923 */ // Label 10: @16923
1421 /* 16923 */ GIM_Try, /*On fail goto*//*Label 62*/ GIMT_Encode4(16934), // Rule ID 0 //
1422 /* 16928 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule0Enabled),
1423 /* 16931 */ // Combiner Rule #0: unmerge_merge; wip_match_opcode 'G_UNMERGE_VALUES'
1424 /* 16931 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner0),
1425 /* 16934 */ // Label 62: @16934
1426 /* 16934 */ GIM_Try, /*On fail goto*//*Label 63*/ GIMT_Encode4(16945), // Rule ID 1 //
1427 /* 16939 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule1Enabled),
1428 /* 16942 */ // Combiner Rule #1: unmerge_cst; wip_match_opcode 'G_UNMERGE_VALUES'
1429 /* 16942 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner1),
1430 /* 16945 */ // Label 63: @16945
1431 /* 16945 */ GIM_Try, /*On fail goto*//*Label 64*/ GIMT_Encode4(16956), // Rule ID 2 //
1432 /* 16950 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule2Enabled),
1433 /* 16953 */ // Combiner Rule #2: unmerge_undef; wip_match_opcode 'G_UNMERGE_VALUES'
1434 /* 16953 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner2),
1435 /* 16956 */ // Label 64: @16956
1436 /* 16956 */ GIM_Reject,
1437 /* 16957 */ // Label 11: @16957
1438 /* 16957 */ GIM_Try, /*On fail goto*//*Label 65*/ GIMT_Encode4(16968), // Rule ID 51 //
1439 /* 16962 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule22Enabled),
1440 /* 16965 */ // Combiner Rule #22: buildvector_identity_fold; wip_match_opcode 'G_BUILD_VECTOR'
1441 /* 16965 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner13),
1442 /* 16968 */ // Label 65: @16968
1443 /* 16968 */ GIM_Reject,
1444 /* 16969 */ // Label 12: @16969
1445 /* 16969 */ GIM_Try, /*On fail goto*//*Label 66*/ GIMT_Encode4(16980), // Rule ID 50 //
1446 /* 16974 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule22Enabled),
1447 /* 16977 */ // Combiner Rule #22: buildvector_identity_fold; wip_match_opcode 'G_BUILD_VECTOR_TRUNC'
1448 /* 16977 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner13),
1449 /* 16980 */ // Label 66: @16980
1450 /* 16980 */ GIM_Reject,
1451 /* 16981 */ // Label 13: @16981
1452 /* 16981 */ GIM_Try, /*On fail goto*//*Label 67*/ GIMT_Encode4(17002), // Rule ID 43 //
1453 /* 16986 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule16Enabled),
1454 /* 16989 */ // MIs[0] dst
1455 /* 16989 */ // No operand predicates
1456 /* 16989 */ // MIs[0] t
1457 /* 16989 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1458 /* 16993 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_INTTOPTR),
1459 /* 16997 */ // MIs[1] ptr
1460 /* 16997 */ // No operand predicates
1461 /* 16997 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1462 /* 16999 */ // Combiner Rule #16: i2p_to_p2i
1463 /* 16999 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner11),
1464 /* 17002 */ // Label 67: @17002
1465 /* 17002 */ GIM_Reject,
1466 /* 17003 */ // Label 14: @17003
1467 /* 17003 */ GIM_Try, /*On fail goto*//*Label 68*/ GIMT_Encode4(17014), // Rule ID 42 //
1468 /* 17008 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule15Enabled),
1469 /* 17011 */ // Combiner Rule #15: p2i_to_i2p; wip_match_opcode 'G_INTTOPTR'
1470 /* 17011 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner10),
1471 /* 17014 */ // Label 68: @17014
1472 /* 17014 */ GIM_Reject,
1473 /* 17015 */ // Label 15: @17015
1474 /* 17015 */ GIM_Try, /*On fail goto*//*Label 69*/ GIMT_Encode4(17047), // Rule ID 55 //
1475 /* 17020 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule26Enabled),
1476 /* 17023 */ // MIs[0] dst
1477 /* 17023 */ // No operand predicates
1478 /* 17023 */ // MIs[0] src1
1479 /* 17023 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1480 /* 17027 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
1481 /* 17031 */ // MIs[1] src0
1482 /* 17031 */ // No operand predicates
1483 /* 17031 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner1),
1484 /* 17035 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1485 /* 17037 */ // Combiner Rule #26: bitcast_bitcast_to_bitcast
1486 /* 17037 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::G_BITCAST),
1487 /* 17040 */ GIR_RootToRootCopy, /*OpIdx*/0, // dst
1488 /* 17042 */ GIR_Copy, /*NewInsnID*/0, /*OldInsnID*/1, /*OpIdx*/1, // src0
1489 /* 17046 */ GIR_EraseRootFromParent_Done,
1490 /* 17047 */ // Label 69: @17047
1491 /* 17047 */ GIM_Try, /*On fail goto*//*Label 70*/ GIMT_Encode4(17068), // Rule ID 54 //
1492 /* 17052 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule25Enabled),
1493 /* 17055 */ // MIs[0] dst
1494 /* 17055 */ // No operand predicates
1495 /* 17055 */ // MIs[0] src1
1496 /* 17055 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1497 /* 17059 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_BITCAST),
1498 /* 17063 */ // MIs[1] src0
1499 /* 17063 */ // No operand predicates
1500 /* 17063 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1501 /* 17065 */ // Combiner Rule #25: bitcast_bitcast_fold
1502 /* 17065 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner16),
1503 /* 17068 */ // Label 70: @17068
1504 /* 17068 */ GIM_Try_CheckFeatures, /*On fail goto*//*Label 71*/ GIMT_Encode4(17081), GIMT_Encode2(GIFBS_anonymous_52093), // Rule ID 79 //
1505 /* 17075 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule48Enabled),
1506 /* 17078 */ // MIs[0] dst
1507 /* 17078 */ // No operand predicates
1508 /* 17078 */ // MIs[0] src
1509 /* 17078 */ // No operand predicates
1510 /* 17078 */ // Combiner Rule #48: d16_load
1511 /* 17078 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner24),
1512 /* 17081 */ // Label 71: @17081
1513 /* 17081 */ GIM_Reject,
1514 /* 17082 */ // Label 16: @17082
1515 /* 17082 */ GIM_Try, /*On fail goto*//*Label 72*/ GIMT_Encode4(17093), // Rule ID 44 //
1516 /* 17087 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule17Enabled),
1517 /* 17090 */ // Combiner Rule #17: anyext_trunc_fold; wip_match_opcode 'G_ANYEXT'
1518 /* 17090 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner12),
1519 /* 17093 */ // Label 72: @17093
1520 /* 17093 */ GIM_Try, /*On fail goto*//*Label 73*/ GIMT_Encode4(17104), // Rule ID 63 //
1521 /* 17098 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule32Enabled),
1522 /* 17101 */ // Combiner Rule #32: constant_fold_cast_op; wip_match_opcode 'G_ANYEXT'
1523 /* 17101 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner18),
1524 /* 17104 */ // Label 73: @17104
1525 /* 17104 */ GIM_Try, /*On fail goto*//*Label 74*/ GIMT_Encode4(17125), // Rule ID 71 //
1526 /* 17109 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule40Enabled),
1527 /* 17112 */ // MIs[0] root
1528 /* 17112 */ // No operand predicates
1529 /* 17112 */ // MIs[0] second
1530 /* 17112 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1531 /* 17116 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
1532 /* 17120 */ // MIs[1] src
1533 /* 17120 */ // No operand predicates
1534 /* 17120 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1535 /* 17122 */ // Combiner Rule #40: anyext_of_anyext
1536 /* 17122 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner20),
1537 /* 17125 */ // Label 74: @17125
1538 /* 17125 */ GIM_Try, /*On fail goto*//*Label 75*/ GIMT_Encode4(17146), // Rule ID 73 //
1539 /* 17130 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule42Enabled),
1540 /* 17133 */ // MIs[0] root
1541 /* 17133 */ // No operand predicates
1542 /* 17133 */ // MIs[0] second
1543 /* 17133 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1544 /* 17137 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SEXT),
1545 /* 17141 */ // MIs[1] src
1546 /* 17141 */ // No operand predicates
1547 /* 17141 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1548 /* 17143 */ // Combiner Rule #42: anyext_of_sext
1549 /* 17143 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner20),
1550 /* 17146 */ // Label 75: @17146
1551 /* 17146 */ GIM_Try, /*On fail goto*//*Label 76*/ GIMT_Encode4(17167), // Rule ID 72 //
1552 /* 17151 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule41Enabled),
1553 /* 17154 */ // MIs[0] root
1554 /* 17154 */ // No operand predicates
1555 /* 17154 */ // MIs[0] second
1556 /* 17154 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1557 /* 17158 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ZEXT),
1558 /* 17162 */ // MIs[1] src
1559 /* 17162 */ // No operand predicates
1560 /* 17162 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1561 /* 17164 */ // Combiner Rule #41: anyext_of_zext
1562 /* 17164 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner20),
1563 /* 17167 */ // Label 76: @17167
1564 /* 17167 */ GIM_Reject,
1565 /* 17168 */ // Label 17: @17168
1566 /* 17168 */ GIM_Try, /*On fail goto*//*Label 77*/ GIMT_Encode4(17179), // Rule ID 52 //
1567 /* 17173 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule23Enabled),
1568 /* 17176 */ // Combiner Rule #23: trunc_buildvector_fold; wip_match_opcode 'G_TRUNC'
1569 /* 17176 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner14),
1570 /* 17179 */ // Label 77: @17179
1571 /* 17179 */ GIM_Try, /*On fail goto*//*Label 78*/ GIMT_Encode4(17190), // Rule ID 53 //
1572 /* 17184 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule24Enabled),
1573 /* 17187 */ // Combiner Rule #24: trunc_lshr_buildvector_fold; wip_match_opcode 'G_TRUNC'
1574 /* 17187 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner15),
1575 /* 17190 */ // Label 78: @17190
1576 /* 17190 */ GIM_Try, /*On fail goto*//*Label 79*/ GIMT_Encode4(17211), // Rule ID 66 //
1577 /* 17195 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule35Enabled),
1578 /* 17198 */ // MIs[0] root
1579 /* 17198 */ // No operand predicates
1580 /* 17198 */ // MIs[0] ext
1581 /* 17198 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1582 /* 17202 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
1583 /* 17206 */ // MIs[1] src
1584 /* 17206 */ // No operand predicates
1585 /* 17206 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1586 /* 17208 */ // Combiner Rule #35: truncate_of_anyext
1587 /* 17208 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner19),
1588 /* 17211 */ // Label 79: @17211
1589 /* 17211 */ GIM_Try, /*On fail goto*//*Label 80*/ GIMT_Encode4(17232), // Rule ID 65 //
1590 /* 17216 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule34Enabled),
1591 /* 17219 */ // MIs[0] root
1592 /* 17219 */ // No operand predicates
1593 /* 17219 */ // MIs[0] ext
1594 /* 17219 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1595 /* 17223 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SEXT),
1596 /* 17227 */ // MIs[1] src
1597 /* 17227 */ // No operand predicates
1598 /* 17227 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1599 /* 17229 */ // Combiner Rule #34: truncate_of_sext
1600 /* 17229 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner19),
1601 /* 17232 */ // Label 80: @17232
1602 /* 17232 */ GIM_Try, /*On fail goto*//*Label 81*/ GIMT_Encode4(17253), // Rule ID 64 //
1603 /* 17237 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule33Enabled),
1604 /* 17240 */ // MIs[0] root
1605 /* 17240 */ // No operand predicates
1606 /* 17240 */ // MIs[0] ext
1607 /* 17240 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1608 /* 17244 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ZEXT),
1609 /* 17248 */ // MIs[1] src
1610 /* 17248 */ // No operand predicates
1611 /* 17248 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1612 /* 17250 */ // Combiner Rule #33: truncate_of_zext
1613 /* 17250 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner19),
1614 /* 17253 */ // Label 81: @17253
1615 /* 17253 */ GIM_Reject,
1616 /* 17254 */ // Label 18: @17254
1617 /* 17254 */ GIM_Try, /*On fail goto*//*Label 82*/ GIMT_Encode4(17265), // Rule ID 62 //
1618 /* 17259 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule32Enabled),
1619 /* 17262 */ // Combiner Rule #32: constant_fold_cast_op; wip_match_opcode 'G_SEXT'
1620 /* 17262 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner18),
1621 /* 17265 */ // Label 82: @17265
1622 /* 17265 */ GIM_Try, /*On fail goto*//*Label 83*/ GIMT_Encode4(17286), // Rule ID 70 //
1623 /* 17270 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule39Enabled),
1624 /* 17273 */ // MIs[0] root
1625 /* 17273 */ // No operand predicates
1626 /* 17273 */ // MIs[0] second
1627 /* 17273 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1628 /* 17277 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
1629 /* 17281 */ // MIs[1] src
1630 /* 17281 */ // No operand predicates
1631 /* 17281 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1632 /* 17283 */ // Combiner Rule #39: sext_of_anyext
1633 /* 17283 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner20),
1634 /* 17286 */ // Label 83: @17286
1635 /* 17286 */ GIM_Try, /*On fail goto*//*Label 84*/ GIMT_Encode4(17307), // Rule ID 69 //
1636 /* 17291 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule38Enabled),
1637 /* 17294 */ // MIs[0] root
1638 /* 17294 */ // No operand predicates
1639 /* 17294 */ // MIs[0] second
1640 /* 17294 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1641 /* 17298 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SEXT),
1642 /* 17302 */ // MIs[1] src
1643 /* 17302 */ // No operand predicates
1644 /* 17302 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1645 /* 17304 */ // Combiner Rule #38: sext_of_sext
1646 /* 17304 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner20),
1647 /* 17307 */ // Label 84: @17307
1648 /* 17307 */ GIM_Try, /*On fail goto*//*Label 85*/ GIMT_Encode4(17328), // Rule ID 75 //
1649 /* 17312 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule44Enabled),
1650 /* 17315 */ // MIs[0] root
1651 /* 17315 */ // No operand predicates
1652 /* 17315 */ // MIs[0] src
1653 /* 17315 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1654 /* 17319 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_TRUNC),
1655 /* 17323 */ // MIs[1] x
1656 /* 17323 */ // No operand predicates
1657 /* 17323 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1658 /* 17325 */ // Combiner Rule #44: sext_trunc
1659 /* 17325 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner22),
1660 /* 17328 */ // Label 85: @17328
1661 /* 17328 */ GIM_Reject,
1662 /* 17329 */ // Label 19: @17329
1663 /* 17329 */ GIM_Try, /*On fail goto*//*Label 86*/ GIMT_Encode4(17350), // Rule ID 74 //
1664 /* 17334 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule43Enabled),
1665 /* 17337 */ // MIs[0] dst
1666 /* 17337 */ // No operand predicates
1667 /* 17337 */ // MIs[0] x
1668 /* 17337 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1669 /* 17341 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_SEXT_INREG),
1670 /* 17345 */ // MIs[1] src
1671 /* 17345 */ // No operand predicates
1672 /* 17345 */ // MIs[1] a
1673 /* 17345 */ // No operand predicates
1674 /* 17345 */ // MIs[0] b
1675 /* 17345 */ // No operand predicates
1676 /* 17345 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1677 /* 17347 */ // Combiner Rule #43: sext_inreg_of_sext_inreg
1678 /* 17347 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner21),
1679 /* 17350 */ // Label 86: @17350
1680 /* 17350 */ GIM_Reject,
1681 /* 17351 */ // Label 20: @17351
1682 /* 17351 */ GIM_Try, /*On fail goto*//*Label 87*/ GIMT_Encode4(17362), // Rule ID 3 //
1683 /* 17356 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule3Enabled),
1684 /* 17359 */ // Combiner Rule #3: zext_trunc_fold; wip_match_opcode 'G_ZEXT'
1685 /* 17359 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner3),
1686 /* 17362 */ // Label 87: @17362
1687 /* 17362 */ GIM_Try, /*On fail goto*//*Label 88*/ GIMT_Encode4(17373), // Rule ID 61 //
1688 /* 17367 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule32Enabled),
1689 /* 17370 */ // Combiner Rule #32: constant_fold_cast_op; wip_match_opcode 'G_ZEXT'
1690 /* 17370 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner18),
1691 /* 17373 */ // Label 88: @17373
1692 /* 17373 */ GIM_Try, /*On fail goto*//*Label 89*/ GIMT_Encode4(17394), // Rule ID 68 //
1693 /* 17378 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule37Enabled),
1694 /* 17381 */ // MIs[0] root
1695 /* 17381 */ // No operand predicates
1696 /* 17381 */ // MIs[0] second
1697 /* 17381 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1698 /* 17385 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ANYEXT),
1699 /* 17389 */ // MIs[1] src
1700 /* 17389 */ // No operand predicates
1701 /* 17389 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1702 /* 17391 */ // Combiner Rule #37: zext_of_anyext
1703 /* 17391 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner20),
1704 /* 17394 */ // Label 89: @17394
1705 /* 17394 */ GIM_Try, /*On fail goto*//*Label 90*/ GIMT_Encode4(17415), // Rule ID 67 //
1706 /* 17399 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule36Enabled),
1707 /* 17402 */ // MIs[0] root
1708 /* 17402 */ // No operand predicates
1709 /* 17402 */ // MIs[0] second
1710 /* 17402 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1711 /* 17406 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ZEXT),
1712 /* 17410 */ // MIs[1] src
1713 /* 17410 */ // No operand predicates
1714 /* 17410 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1715 /* 17412 */ // Combiner Rule #36: zext_of_zext
1716 /* 17412 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner20),
1717 /* 17415 */ // Label 90: @17415
1718 /* 17415 */ GIM_Reject,
1719 /* 17416 */ // Label 21: @17416
1720 /* 17416 */ GIM_Try, /*On fail goto*//*Label 91*/ GIMT_Encode4(17456), // Rule ID 33 //
1721 /* 17421 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule13Enabled),
1722 /* 17424 */ // MIs[0] dst
1723 /* 17424 */ // No operand predicates
1724 /* 17424 */ // MIs[0] zero
1725 /* 17424 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1726 /* 17428 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1727 /* 17432 */ // MIs[1] Operand 1
1728 /* 17432 */ GIM_CheckLiteralInt, /*MI*/1, /*Op*/1, GIMT_Encode8(0),
1729 /* 17443 */ // MIs[0] rhs
1730 /* 17443 */ // No operand predicates
1731 /* 17443 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1732 /* 17448 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1733 /* 17450 */ // Combiner Rule #13: binop_left_to_zero @ [__binop_left_to_zero_match_0[0]]
1734 /* 17450 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1735 /* 17455 */ GIR_EraseRootFromParent_Done,
1736 /* 17456 */ // Label 91: @17456
1737 /* 17456 */ GIM_Try, /*On fail goto*//*Label 92*/ GIMT_Encode4(17477), // Rule ID 78 //
1738 /* 17461 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule47Enabled),
1739 /* 17464 */ // MIs[0] dst
1740 /* 17464 */ // No operand predicates
1741 /* 17464 */ // MIs[0] src
1742 /* 17464 */ // No operand predicates
1743 /* 17464 */ // MIs[0] amt
1744 /* 17464 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1745 /* 17468 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ZEXT),
1746 /* 17472 */ // MIs[1] amtsrc
1747 /* 17472 */ // No operand predicates
1748 /* 17472 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1749 /* 17474 */ // Combiner Rule #47: canonicalize_zext_shl
1750 /* 17474 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner23),
1751 /* 17477 */ // Label 92: @17477
1752 /* 17477 */ GIM_Try, /*On fail goto*//*Label 93*/ GIMT_Encode4(17500), // Rule ID 23 //
1753 /* 17482 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule10Enabled),
1754 /* 17485 */ // MIs[0] dst
1755 /* 17485 */ // No operand predicates
1756 /* 17485 */ // MIs[0] lhs
1757 /* 17485 */ // No operand predicates
1758 /* 17485 */ // MIs[0] Operand 2
1759 /* 17485 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
1760 /* 17489 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1761 /* 17494 */ // Combiner Rule #10: right_identity_zero @ [__right_identity_zero_match_0[4]]
1762 /* 17494 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1763 /* 17499 */ GIR_EraseRootFromParent_Done,
1764 /* 17500 */ // Label 93: @17500
1765 /* 17500 */ GIM_Reject,
1766 /* 17501 */ // Label 22: @17501
1767 /* 17501 */ GIM_Try, /*On fail goto*//*Label 94*/ GIMT_Encode4(17541), // Rule ID 34 //
1768 /* 17506 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule13Enabled),
1769 /* 17509 */ // MIs[0] dst
1770 /* 17509 */ // No operand predicates
1771 /* 17509 */ // MIs[0] zero
1772 /* 17509 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1773 /* 17513 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1774 /* 17517 */ // MIs[1] Operand 1
1775 /* 17517 */ GIM_CheckLiteralInt, /*MI*/1, /*Op*/1, GIMT_Encode8(0),
1776 /* 17528 */ // MIs[0] rhs
1777 /* 17528 */ // No operand predicates
1778 /* 17528 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1779 /* 17533 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1780 /* 17535 */ // Combiner Rule #13: binop_left_to_zero @ [__binop_left_to_zero_match_0[1]]
1781 /* 17535 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1782 /* 17540 */ GIR_EraseRootFromParent_Done,
1783 /* 17541 */ // Label 94: @17541
1784 /* 17541 */ GIM_Try, /*On fail goto*//*Label 95*/ GIMT_Encode4(17562), // Rule ID 76 //
1785 /* 17546 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule45Enabled),
1786 /* 17549 */ // MIs[0] dst
1787 /* 17549 */ // No operand predicates
1788 /* 17549 */ // MIs[0] src
1789 /* 17549 */ // No operand predicates
1790 /* 17549 */ // MIs[0] amt
1791 /* 17549 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1792 /* 17553 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ZEXT),
1793 /* 17557 */ // MIs[1] amtsrc
1794 /* 17557 */ // No operand predicates
1795 /* 17557 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1796 /* 17559 */ // Combiner Rule #45: canonicalize_zext_lshr
1797 /* 17559 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner23),
1798 /* 17562 */ // Label 95: @17562
1799 /* 17562 */ GIM_Try, /*On fail goto*//*Label 96*/ GIMT_Encode4(17585), // Rule ID 25 //
1800 /* 17567 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule10Enabled),
1801 /* 17570 */ // MIs[0] dst
1802 /* 17570 */ // No operand predicates
1803 /* 17570 */ // MIs[0] lhs
1804 /* 17570 */ // No operand predicates
1805 /* 17570 */ // MIs[0] Operand 2
1806 /* 17570 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
1807 /* 17574 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1808 /* 17579 */ // Combiner Rule #10: right_identity_zero @ [__right_identity_zero_match_0[6]]
1809 /* 17579 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1810 /* 17584 */ GIR_EraseRootFromParent_Done,
1811 /* 17585 */ // Label 96: @17585
1812 /* 17585 */ GIM_Reject,
1813 /* 17586 */ // Label 23: @17586
1814 /* 17586 */ GIM_Try, /*On fail goto*//*Label 97*/ GIMT_Encode4(17626), // Rule ID 35 //
1815 /* 17591 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule13Enabled),
1816 /* 17594 */ // MIs[0] dst
1817 /* 17594 */ // No operand predicates
1818 /* 17594 */ // MIs[0] zero
1819 /* 17594 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1820 /* 17598 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_CONSTANT),
1821 /* 17602 */ // MIs[1] Operand 1
1822 /* 17602 */ GIM_CheckLiteralInt, /*MI*/1, /*Op*/1, GIMT_Encode8(0),
1823 /* 17613 */ // MIs[0] rhs
1824 /* 17613 */ // No operand predicates
1825 /* 17613 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1826 /* 17618 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1827 /* 17620 */ // Combiner Rule #13: binop_left_to_zero @ [__binop_left_to_zero_match_0[2]]
1828 /* 17620 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1829 /* 17625 */ GIR_EraseRootFromParent_Done,
1830 /* 17626 */ // Label 97: @17626
1831 /* 17626 */ GIM_Try, /*On fail goto*//*Label 98*/ GIMT_Encode4(17647), // Rule ID 77 //
1832 /* 17631 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule46Enabled),
1833 /* 17634 */ // MIs[0] dst
1834 /* 17634 */ // No operand predicates
1835 /* 17634 */ // MIs[0] src
1836 /* 17634 */ // No operand predicates
1837 /* 17634 */ // MIs[0] amt
1838 /* 17634 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/2, // MIs[1]
1839 /* 17638 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_ZEXT),
1840 /* 17642 */ // MIs[1] amtsrc
1841 /* 17642 */ // No operand predicates
1842 /* 17642 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1843 /* 17644 */ // Combiner Rule #46: canonicalize_zext_ashr
1844 /* 17644 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner23),
1845 /* 17647 */ // Label 98: @17647
1846 /* 17647 */ GIM_Try, /*On fail goto*//*Label 99*/ GIMT_Encode4(17670), // Rule ID 24 //
1847 /* 17652 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule10Enabled),
1848 /* 17655 */ // MIs[0] dst
1849 /* 17655 */ // No operand predicates
1850 /* 17655 */ // MIs[0] lhs
1851 /* 17655 */ // No operand predicates
1852 /* 17655 */ // MIs[0] Operand 2
1853 /* 17655 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
1854 /* 17659 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1855 /* 17664 */ // Combiner Rule #10: right_identity_zero @ [__right_identity_zero_match_0[5]]
1856 /* 17664 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1857 /* 17669 */ GIR_EraseRootFromParent_Done,
1858 /* 17670 */ // Label 99: @17670
1859 /* 17670 */ GIM_Reject,
1860 /* 17671 */ // Label 24: @17671
1861 /* 17671 */ GIM_Try, /*On fail goto*//*Label 100*/ GIMT_Encode4(17694), // Rule ID 28 //
1862 /* 17676 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule10Enabled),
1863 /* 17679 */ // MIs[0] dst
1864 /* 17679 */ // No operand predicates
1865 /* 17679 */ // MIs[0] lhs
1866 /* 17679 */ // No operand predicates
1867 /* 17679 */ // MIs[0] Operand 2
1868 /* 17679 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
1869 /* 17683 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1870 /* 17688 */ // Combiner Rule #10: right_identity_zero @ [__right_identity_zero_match_0[9]]
1871 /* 17688 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1872 /* 17693 */ GIR_EraseRootFromParent_Done,
1873 /* 17694 */ // Label 100: @17694
1874 /* 17694 */ GIM_Reject,
1875 /* 17695 */ // Label 25: @17695
1876 /* 17695 */ GIM_Try, /*On fail goto*//*Label 101*/ GIMT_Encode4(17718), // Rule ID 27 //
1877 /* 17700 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule10Enabled),
1878 /* 17703 */ // MIs[0] dst
1879 /* 17703 */ // No operand predicates
1880 /* 17703 */ // MIs[0] lhs
1881 /* 17703 */ // No operand predicates
1882 /* 17703 */ // MIs[0] Operand 2
1883 /* 17703 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
1884 /* 17707 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1885 /* 17712 */ // Combiner Rule #10: right_identity_zero @ [__right_identity_zero_match_0[8]]
1886 /* 17712 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1887 /* 17717 */ GIR_EraseRootFromParent_Done,
1888 /* 17718 */ // Label 101: @17718
1889 /* 17718 */ GIM_Reject,
1890 /* 17719 */ // Label 26: @17719
1891 /* 17719 */ GIM_Try, /*On fail goto*//*Label 102*/ GIMT_Encode4(17730), // Rule ID 18 //
1892 /* 17724 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule9Enabled),
1893 /* 17727 */ // Combiner Rule #9: select_same_val; wip_match_opcode 'G_SELECT'
1894 /* 17727 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner9),
1895 /* 17730 */ // Label 102: @17730
1896 /* 17730 */ GIM_Reject,
1897 /* 17731 */ // Label 27: @17731
1898 /* 17731 */ GIM_Try, /*On fail goto*//*Label 103*/ GIMT_Encode4(17754), // Rule ID 57 //
1899 /* 17736 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule28Enabled),
1900 /* 17739 */ // MIs[0] dst
1901 /* 17739 */ // No operand predicates
1902 /* 17739 */ // MIs[0] x
1903 /* 17739 */ // No operand predicates
1904 /* 17739 */ // MIs[0] y
1905 /* 17739 */ // No operand predicates
1906 /* 17739 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner2),
1907 /* 17743 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1908 /* 17748 */ // Combiner Rule #28: right_identity_neg_zero_fp
1909 /* 17748 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1910 /* 17753 */ GIR_EraseRootFromParent_Done,
1911 /* 17754 */ // Label 103: @17754
1912 /* 17754 */ GIM_Try, /*On fail goto*//*Label 104*/ GIMT_Encode4(17783), // Rule ID 58 //
1913 /* 17759 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule29Enabled),
1914 /* 17762 */ GIM_MIFlags, /*MI*/0, GIMT_Encode4(MachineInstr::FmNsz),
1915 /* 17768 */ // MIs[0] dst
1916 /* 17768 */ // No operand predicates
1917 /* 17768 */ // MIs[0] x
1918 /* 17768 */ // No operand predicates
1919 /* 17768 */ // MIs[0] y
1920 /* 17768 */ // No operand predicates
1921 /* 17768 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner3),
1922 /* 17772 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1923 /* 17777 */ // Combiner Rule #29: right_identity_neg_zero_fp_nsz
1924 /* 17777 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1925 /* 17782 */ GIR_EraseRootFromParent_Done,
1926 /* 17783 */ // Label 104: @17783
1927 /* 17783 */ GIM_Reject,
1928 /* 17784 */ // Label 28: @17784
1929 /* 17784 */ GIM_Try, /*On fail goto*//*Label 105*/ GIMT_Encode4(17807), // Rule ID 47 //
1930 /* 17789 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule20Enabled),
1931 /* 17792 */ // MIs[0] dst
1932 /* 17792 */ // No operand predicates
1933 /* 17792 */ // MIs[0] x
1934 /* 17792 */ // No operand predicates
1935 /* 17792 */ // MIs[0] y
1936 /* 17792 */ // No operand predicates
1937 /* 17792 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner0),
1938 /* 17796 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1939 /* 17801 */ // Combiner Rule #20: right_identity_one_fp
1940 /* 17801 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
1941 /* 17806 */ GIR_EraseRootFromParent_Done,
1942 /* 17807 */ // Label 105: @17807
1943 /* 17807 */ GIM_Try, /*On fail goto*//*Label 106*/ GIMT_Encode4(17827), // Rule ID 59 //
1944 /* 17812 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule30Enabled),
1945 /* 17815 */ // MIs[0] dst
1946 /* 17815 */ // No operand predicates
1947 /* 17815 */ // MIs[0] x
1948 /* 17815 */ // No operand predicates
1949 /* 17815 */ // MIs[0] y
1950 /* 17815 */ // No operand predicates
1951 /* 17815 */ GIM_CheckCxxInsnPredicate, /*MI*/0, /*FnId*/GIMT_Encode2(GICXXPred_MI_Predicate_GICombiner4),
1952 /* 17819 */ // Combiner Rule #30: right_identity_neg_one_fp
1953 /* 17819 */ GIR_BuildRootMI, /*Opcode*/GIMT_Encode2(TargetOpcode::G_FNEG),
1954 /* 17822 */ GIR_RootToRootCopy, /*OpIdx*/0, // dst
1955 /* 17824 */ GIR_RootToRootCopy, /*OpIdx*/1, // x
1956 /* 17826 */ GIR_EraseRootFromParent_Done,
1957 /* 17827 */ // Label 106: @17827
1958 /* 17827 */ GIM_Reject,
1959 /* 17828 */ // Label 29: @17828
1960 /* 17828 */ GIM_Try, /*On fail goto*//*Label 107*/ GIMT_Encode4(17857), // Rule ID 45 //
1961 /* 17833 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule18Enabled),
1962 /* 17836 */ // MIs[0] dst
1963 /* 17836 */ // No operand predicates
1964 /* 17836 */ // MIs[0] t
1965 /* 17836 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1966 /* 17840 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FNEG),
1967 /* 17844 */ // MIs[1] src
1968 /* 17844 */ // No operand predicates
1969 /* 17844 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/1, /*NewOpIdx*/1,
1970 /* 17849 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1971 /* 17851 */ // Combiner Rule #18: fneg_fneg_fold
1972 /* 17851 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/1, /*NewOpIdx*/1,
1973 /* 17856 */ GIR_EraseRootFromParent_Done,
1974 /* 17857 */ // Label 107: @17857
1975 /* 17857 */ GIM_Reject,
1976 /* 17858 */ // Label 30: @17858
1977 /* 17858 */ GIM_Try, /*On fail goto*//*Label 108*/ GIMT_Encode4(17879), // Rule ID 56 //
1978 /* 17863 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule27Enabled),
1979 /* 17866 */ // MIs[0] dst
1980 /* 17866 */ // No operand predicates
1981 /* 17866 */ // MIs[0] src1
1982 /* 17866 */ GIM_RecordInsnIgnoreCopies, /*DefineMI*/1, /*MI*/0, /*OpIdx*/1, // MIs[1]
1983 /* 17870 */ GIM_CheckOpcode, /*MI*/1, GIMT_Encode2(TargetOpcode::G_FPEXT),
1984 /* 17874 */ // MIs[1] src0
1985 /* 17874 */ // No operand predicates
1986 /* 17874 */ GIM_CheckIsSafeToFold, /*NumInsns*/1,
1987 /* 17876 */ // Combiner Rule #27: fptrunc_fpext_fold
1988 /* 17876 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner16),
1989 /* 17879 */ // Label 108: @17879
1990 /* 17879 */ GIM_Reject,
1991 /* 17880 */ // Label 31: @17880
1992 /* 17880 */ GIM_Try, /*On fail goto*//*Label 109*/ GIMT_Encode4(17891), // Rule ID 10 //
1993 /* 17885 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule6Enabled),
1994 /* 17888 */ // Combiner Rule #6: fp_minmax_to_clamp; wip_match_opcode 'G_FMINNUM'
1995 /* 17888 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner6),
1996 /* 17891 */ // Label 109: @17891
1997 /* 17891 */ GIM_Try, /*On fail goto*//*Label 110*/ GIMT_Encode4(17902), // Rule ID 14 //
1998 /* 17896 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule7Enabled),
1999 /* 17899 */ // Combiner Rule #7: fp_minmax_to_med3; wip_match_opcode 'G_FMINNUM'
2000 /* 17899 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner7),
2001 /* 17902 */ // Label 110: @17902
2002 /* 17902 */ GIM_Try, /*On fail goto*//*Label 111*/ GIMT_Encode4(17913), // Rule ID 85 //
2003 /* 17907 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule54Enabled),
2004 /* 17910 */ // MIs[0] dst
2005 /* 17910 */ // No operand predicates
2006 /* 17910 */ // MIs[0] lhs
2007 /* 17910 */ // No operand predicates
2008 /* 17910 */ // MIs[0] rhs
2009 /* 17910 */ // No operand predicates
2010 /* 17910 */ // Combiner Rule #54: fmin_to_minmax3
2011 /* 17910 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner25),
2012 /* 17913 */ // Label 111: @17913
2013 /* 17913 */ GIM_Reject,
2014 /* 17914 */ // Label 32: @17914
2015 /* 17914 */ GIM_Try, /*On fail goto*//*Label 112*/ GIMT_Encode4(17925), // Rule ID 9 //
2016 /* 17919 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule6Enabled),
2017 /* 17922 */ // Combiner Rule #6: fp_minmax_to_clamp; wip_match_opcode 'G_FMAXNUM'
2018 /* 17922 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner6),
2019 /* 17925 */ // Label 112: @17925
2020 /* 17925 */ GIM_Try, /*On fail goto*//*Label 113*/ GIMT_Encode4(17936), // Rule ID 13 //
2021 /* 17930 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule7Enabled),
2022 /* 17933 */ // Combiner Rule #7: fp_minmax_to_med3; wip_match_opcode 'G_FMAXNUM'
2023 /* 17933 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner7),
2024 /* 17936 */ // Label 113: @17936
2025 /* 17936 */ GIM_Try, /*On fail goto*//*Label 114*/ GIMT_Encode4(17947), // Rule ID 84 //
2026 /* 17941 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule53Enabled),
2027 /* 17944 */ // MIs[0] dst
2028 /* 17944 */ // No operand predicates
2029 /* 17944 */ // MIs[0] lhs
2030 /* 17944 */ // No operand predicates
2031 /* 17944 */ // MIs[0] rhs
2032 /* 17944 */ // No operand predicates
2033 /* 17944 */ // Combiner Rule #53: fmax_to_minmax3
2034 /* 17944 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner25),
2035 /* 17947 */ // Label 114: @17947
2036 /* 17947 */ GIM_Reject,
2037 /* 17948 */ // Label 33: @17948
2038 /* 17948 */ GIM_Try, /*On fail goto*//*Label 115*/ GIMT_Encode4(17959), // Rule ID 12 //
2039 /* 17953 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule6Enabled),
2040 /* 17956 */ // Combiner Rule #6: fp_minmax_to_clamp; wip_match_opcode 'G_FMINNUM_IEEE'
2041 /* 17956 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner6),
2042 /* 17959 */ // Label 115: @17959
2043 /* 17959 */ GIM_Try, /*On fail goto*//*Label 116*/ GIMT_Encode4(17970), // Rule ID 16 //
2044 /* 17964 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule7Enabled),
2045 /* 17967 */ // Combiner Rule #7: fp_minmax_to_med3; wip_match_opcode 'G_FMINNUM_IEEE'
2046 /* 17967 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner7),
2047 /* 17970 */ // Label 116: @17970
2048 /* 17970 */ GIM_Try, /*On fail goto*//*Label 117*/ GIMT_Encode4(17981), // Rule ID 89 //
2049 /* 17975 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule58Enabled),
2050 /* 17978 */ // MIs[0] dst
2051 /* 17978 */ // No operand predicates
2052 /* 17978 */ // MIs[0] lhs
2053 /* 17978 */ // No operand predicates
2054 /* 17978 */ // MIs[0] rhs
2055 /* 17978 */ // No operand predicates
2056 /* 17978 */ // Combiner Rule #58: fmin_ieee_to_minmax3
2057 /* 17978 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner25),
2058 /* 17981 */ // Label 117: @17981
2059 /* 17981 */ GIM_Reject,
2060 /* 17982 */ // Label 34: @17982
2061 /* 17982 */ GIM_Try, /*On fail goto*//*Label 118*/ GIMT_Encode4(17993), // Rule ID 11 //
2062 /* 17987 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule6Enabled),
2063 /* 17990 */ // Combiner Rule #6: fp_minmax_to_clamp; wip_match_opcode 'G_FMAXNUM_IEEE'
2064 /* 17990 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner6),
2065 /* 17993 */ // Label 118: @17993
2066 /* 17993 */ GIM_Try, /*On fail goto*//*Label 119*/ GIMT_Encode4(18004), // Rule ID 15 //
2067 /* 17998 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule7Enabled),
2068 /* 18001 */ // Combiner Rule #7: fp_minmax_to_med3; wip_match_opcode 'G_FMAXNUM_IEEE'
2069 /* 18001 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner7),
2070 /* 18004 */ // Label 119: @18004
2071 /* 18004 */ GIM_Try, /*On fail goto*//*Label 120*/ GIMT_Encode4(18015), // Rule ID 88 //
2072 /* 18009 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule57Enabled),
2073 /* 18012 */ // MIs[0] dst
2074 /* 18012 */ // No operand predicates
2075 /* 18012 */ // MIs[0] lhs
2076 /* 18012 */ // No operand predicates
2077 /* 18012 */ // MIs[0] rhs
2078 /* 18012 */ // No operand predicates
2079 /* 18012 */ // Combiner Rule #57: fmax_ieee_to_minmax3
2080 /* 18012 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner25),
2081 /* 18015 */ // Label 120: @18015
2082 /* 18015 */ GIM_Reject,
2083 /* 18016 */ // Label 35: @18016
2084 /* 18016 */ GIM_Try, /*On fail goto*//*Label 121*/ GIMT_Encode4(18027), // Rule ID 87 //
2085 /* 18021 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule56Enabled),
2086 /* 18024 */ // MIs[0] dst
2087 /* 18024 */ // No operand predicates
2088 /* 18024 */ // MIs[0] lhs
2089 /* 18024 */ // No operand predicates
2090 /* 18024 */ // MIs[0] rhs
2091 /* 18024 */ // No operand predicates
2092 /* 18024 */ // Combiner Rule #56: fminimum_to_minmax3
2093 /* 18024 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner25),
2094 /* 18027 */ // Label 121: @18027
2095 /* 18027 */ GIM_Reject,
2096 /* 18028 */ // Label 36: @18028
2097 /* 18028 */ GIM_Try, /*On fail goto*//*Label 122*/ GIMT_Encode4(18039), // Rule ID 86 //
2098 /* 18033 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule55Enabled),
2099 /* 18036 */ // MIs[0] dst
2100 /* 18036 */ // No operand predicates
2101 /* 18036 */ // MIs[0] lhs
2102 /* 18036 */ // No operand predicates
2103 /* 18036 */ // MIs[0] rhs
2104 /* 18036 */ // No operand predicates
2105 /* 18036 */ // Combiner Rule #55: fmaximum_to_minmax3
2106 /* 18036 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner25),
2107 /* 18039 */ // Label 122: @18039
2108 /* 18039 */ GIM_Reject,
2109 /* 18040 */ // Label 37: @18040
2110 /* 18040 */ GIM_Try, /*On fail goto*//*Label 123*/ GIMT_Encode4(18051), // Rule ID 8 //
2111 /* 18045 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule5Enabled),
2112 /* 18048 */ // Combiner Rule #5: ptr_add_immed_chain; wip_match_opcode 'G_PTR_ADD'
2113 /* 18048 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner5),
2114 /* 18051 */ // Label 123: @18051
2115 /* 18051 */ GIM_Try, /*On fail goto*//*Label 124*/ GIMT_Encode4(18074), // Rule ID 26 //
2116 /* 18056 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule10Enabled),
2117 /* 18059 */ // MIs[0] dst
2118 /* 18059 */ // No operand predicates
2119 /* 18059 */ // MIs[0] lhs
2120 /* 18059 */ // No operand predicates
2121 /* 18059 */ // MIs[0] Operand 2
2122 /* 18059 */ GIM_CheckConstantInt8, /*MI*/0, /*Op*/2, 0,
2123 /* 18063 */ GIM_CheckCanReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
2124 /* 18068 */ // Combiner Rule #10: right_identity_zero @ [__right_identity_zero_match_0[7]]
2125 /* 18068 */ GIR_ReplaceReg, /*OldInsnID*/0, /*OldOpIdx*/0, /*NewInsnId*/0, /*NewOpIdx*/1,
2126 /* 18073 */ GIR_EraseRootFromParent_Done,
2127 /* 18074 */ // Label 124: @18074
2128 /* 18074 */ GIM_Reject,
2129 /* 18075 */ // Label 38: @18075
2130 /* 18075 */ GIM_Try, /*On fail goto*//*Label 125*/ GIMT_Encode4(18086), // Rule ID 5 //
2131 /* 18080 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule4Enabled),
2132 /* 18083 */ // Combiner Rule #4: int_minmax_to_med3; wip_match_opcode 'G_SMIN'
2133 /* 18083 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner4),
2134 /* 18086 */ // Label 125: @18086
2135 /* 18086 */ GIM_Try, /*On fail goto*//*Label 126*/ GIMT_Encode4(18097), // Rule ID 81 //
2136 /* 18091 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule50Enabled),
2137 /* 18094 */ // MIs[0] dst
2138 /* 18094 */ // No operand predicates
2139 /* 18094 */ // MIs[0] lhs
2140 /* 18094 */ // No operand predicates
2141 /* 18094 */ // MIs[0] rhs
2142 /* 18094 */ // No operand predicates
2143 /* 18094 */ // Combiner Rule #50: smin_to_minmax3
2144 /* 18094 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner25),
2145 /* 18097 */ // Label 126: @18097
2146 /* 18097 */ GIM_Reject,
2147 /* 18098 */ // Label 39: @18098
2148 /* 18098 */ GIM_Try, /*On fail goto*//*Label 127*/ GIMT_Encode4(18109), // Rule ID 4 //
2149 /* 18103 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule4Enabled),
2150 /* 18106 */ // Combiner Rule #4: int_minmax_to_med3; wip_match_opcode 'G_SMAX'
2151 /* 18106 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner4),
2152 /* 18109 */ // Label 127: @18109
2153 /* 18109 */ GIM_Try, /*On fail goto*//*Label 128*/ GIMT_Encode4(18120), // Rule ID 80 //
2154 /* 18114 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule49Enabled),
2155 /* 18117 */ // MIs[0] dst
2156 /* 18117 */ // No operand predicates
2157 /* 18117 */ // MIs[0] lhs
2158 /* 18117 */ // No operand predicates
2159 /* 18117 */ // MIs[0] rhs
2160 /* 18117 */ // No operand predicates
2161 /* 18117 */ // Combiner Rule #49: smax_to_minmax3
2162 /* 18117 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner25),
2163 /* 18120 */ // Label 128: @18120
2164 /* 18120 */ GIM_Reject,
2165 /* 18121 */ // Label 40: @18121
2166 /* 18121 */ GIM_Try, /*On fail goto*//*Label 129*/ GIMT_Encode4(18132), // Rule ID 7 //
2167 /* 18126 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule4Enabled),
2168 /* 18129 */ // Combiner Rule #4: int_minmax_to_med3; wip_match_opcode 'G_UMIN'
2169 /* 18129 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner4),
2170 /* 18132 */ // Label 129: @18132
2171 /* 18132 */ GIM_Try, /*On fail goto*//*Label 130*/ GIMT_Encode4(18143), // Rule ID 83 //
2172 /* 18137 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule52Enabled),
2173 /* 18140 */ // MIs[0] dst
2174 /* 18140 */ // No operand predicates
2175 /* 18140 */ // MIs[0] lhs
2176 /* 18140 */ // No operand predicates
2177 /* 18140 */ // MIs[0] rhs
2178 /* 18140 */ // No operand predicates
2179 /* 18140 */ // Combiner Rule #52: umin_to_minmax3
2180 /* 18140 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner25),
2181 /* 18143 */ // Label 130: @18143
2182 /* 18143 */ GIM_Reject,
2183 /* 18144 */ // Label 41: @18144
2184 /* 18144 */ GIM_Try, /*On fail goto*//*Label 131*/ GIMT_Encode4(18155), // Rule ID 6 //
2185 /* 18149 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule4Enabled),
2186 /* 18152 */ // Combiner Rule #4: int_minmax_to_med3; wip_match_opcode 'G_UMAX'
2187 /* 18152 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner4),
2188 /* 18155 */ // Label 131: @18155
2189 /* 18155 */ GIM_Try, /*On fail goto*//*Label 132*/ GIMT_Encode4(18166), // Rule ID 82 //
2190 /* 18160 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule51Enabled),
2191 /* 18163 */ // MIs[0] dst
2192 /* 18163 */ // No operand predicates
2193 /* 18163 */ // MIs[0] lhs
2194 /* 18163 */ // No operand predicates
2195 /* 18163 */ // MIs[0] rhs
2196 /* 18163 */ // No operand predicates
2197 /* 18163 */ // Combiner Rule #51: umax_to_minmax3
2198 /* 18163 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner25),
2199 /* 18166 */ // Label 132: @18166
2200 /* 18166 */ GIM_Reject,
2201 /* 18167 */ // Label 42: @18167
2202 /* 18167 */ GIM_Try, /*On fail goto*//*Label 133*/ GIMT_Encode4(18178), // Rule ID 17 //
2203 /* 18172 */ GIM_CheckSimplePredicate, GIMT_Encode2(GICXXPred_Simple_IsRule8Enabled),
2204 /* 18175 */ // Combiner Rule #8: fmed3_intrinsic_to_clamp; wip_match_opcode 'G_AMDGPU_FMED3'
2205 /* 18175 */ GIR_DoneWithCustomAction, /*Fn*/GIMT_Encode2(GICXXCustomAction_GICombiner8),
2206 /* 18178 */ // Label 133: @18178
2207 /* 18178 */ GIM_Reject,
2208 /* 18179 */ // Label 43: @18179
2209 /* 18179 */ GIM_Reject,
2210 /* 18180 */ }; // Size: 18180 bytes
2211 return MatchTable0;
2212}
2213#undef GIMT_Encode2
2214#undef GIMT_Encode4
2215#undef GIMT_Encode8
2216
2217
2218#endif // GET_GICOMBINER_IMPL
2219
2220#ifdef GET_GICOMBINER_CONSTRUCTOR_INITS
2221
2222AvailableModuleFeatures(computeAvailableModuleFeatures(&STI)),
2223AvailableFunctionFeatures()
2224
2225#endif // GET_GICOMBINER_CONSTRUCTOR_INITS
2226
2227#ifdef GET_GICOMBINER_CONSTRUCTOR_INITS
2228
2229, State(0),
2230ExecInfo(TypeObjects, NumTypeObjects, FeatureBitsets, ComplexPredicateFns, CustomRenderers)
2231
2232#endif // GET_GICOMBINER_CONSTRUCTOR_INITS
2233
2234