LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/Lanai - LanaiGenDAGISel.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 68 79 86.1 %
Date: 2018-07-13 00:08:38 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

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

Generated by: LCOV version 1.13