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 77 88.3 %
Date: 2018-06-17 00:07:59 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 /*33 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*/ 22, TARGET_VAL(ISD::CALLSEQ_START),// ->419
     261             : /*   397*/    OPC_RecordNode, // #0 = 'CallSeqStart' chained node
     262             : /*   398*/    OPC_RecordChild1, // #1 = $amt1
     263             : /*   399*/    OPC_MoveChild1,
     264             : /*   400*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     265             : /*   403*/    OPC_MoveParent,
     266             : /*   404*/    OPC_RecordChild2, // #2 = $amt2
     267             : /*   405*/    OPC_MoveChild2,
     268             : /*   406*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     269             : /*   409*/    OPC_MoveParent,
     270             : /*   410*/    OPC_EmitMergeInputChains1_0,
     271             : /*   411*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
     272             :                   MVT::i32, 2/*#Ops*/, 1, 2, 
     273             :               // Src: (CallSeqStart (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2) - Complexity = 9
     274             :               // Dst: (ADJCALLSTACKDOWN:{ *:[i32] } (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2)
     275             : /*   419*/  /*SwitchOpcode*/ 23, TARGET_VAL(ISD::CALLSEQ_END),// ->445
     276             : /*   422*/    OPC_RecordNode, // #0 = 'CallSeqEnd' chained node
     277             : /*   423*/    OPC_CaptureGlueInput,
     278             : /*   424*/    OPC_RecordChild1, // #1 = $amt1
     279             : /*   425*/    OPC_MoveChild1,
     280             : /*   426*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     281             : /*   429*/    OPC_MoveParent,
     282             : /*   430*/    OPC_RecordChild2, // #2 = $amt2
     283             : /*   431*/    OPC_MoveChild2,
     284             : /*   432*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     285             : /*   435*/    OPC_MoveParent,
     286             : /*   436*/    OPC_EmitMergeInputChains1_0,
     287             : /*   437*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
     288             :                   MVT::i32, 2/*#Ops*/, 1, 2, 
     289             :               // Src: (CallSeqEnd (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2) - Complexity = 9
     290             :               // Dst: (ADJCALLSTACKUP:{ *:[i32] } (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2)
     291             : /*   445*/  /*SwitchOpcode*/ 124|128,2/*380*/, TARGET_VAL(ISD::OR),// ->829
     292             : /*   449*/    OPC_Scope, 50|128,1/*178*/, /*->630*/ // 3 children in Scope
     293             : /*   452*/      OPC_RecordChild0, // #0 = $hi
     294             : /*   453*/      OPC_MoveChild1,
     295             : /*   454*/      OPC_SwitchOpcode /*2 cases */, 79, TARGET_VAL(LanaiISD::LO),// ->537
     296             : /*   458*/        OPC_RecordChild0, // #1 = $lo
     297             : /*   459*/        OPC_MoveChild0,
     298             : /*   460*/        OPC_SwitchOpcode /*5 cases */, 12, TARGET_VAL(ISD::TargetGlobalAddress),// ->476
     299             : /*   464*/          OPC_MoveParent,
     300             : /*   465*/          OPC_MoveParent,
     301             : /*   466*/          OPC_CheckType, MVT::i32,
     302             : /*   468*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
     303             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     304             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$hi, (LanaiLo:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$lo)) - Complexity = 9
     305             :                     // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tglobaladdr:{ *:[i32] }):$lo)
     306             : /*   476*/        /*SwitchOpcode*/ 12, TARGET_VAL(ISD::TargetExternalSymbol),// ->491
     307             : /*   479*/          OPC_MoveParent,
     308             : /*   480*/          OPC_MoveParent,
     309             : /*   481*/          OPC_CheckType, MVT::i32,
     310             : /*   483*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
     311             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     312             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$hi, (LanaiLo:{ *:[i32] } (texternalsym:{ *:[i32] }):$lo)) - Complexity = 9
     313             :                     // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (texternalsym:{ *:[i32] }):$lo)
     314             : /*   491*/        /*SwitchOpcode*/ 12, TARGET_VAL(ISD::TargetBlockAddress),// ->506
     315             : /*   494*/          OPC_MoveParent,
     316             : /*   495*/          OPC_MoveParent,
     317             : /*   496*/          OPC_CheckType, MVT::i32,
     318             : /*   498*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
     319             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     320             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$hi, (LanaiLo:{ *:[i32] } (tblockaddress:{ *:[i32] }):$lo)) - Complexity = 9
     321             :                     // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tblockaddress:{ *:[i32] }):$lo)
     322             : /*   506*/        /*SwitchOpcode*/ 12, TARGET_VAL(ISD::TargetJumpTable),// ->521
     323             : /*   509*/          OPC_MoveParent,
     324             : /*   510*/          OPC_MoveParent,
     325             : /*   511*/          OPC_CheckType, MVT::i32,
     326             : /*   513*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
     327             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     328             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$hi, (LanaiLo:{ *:[i32] } (tjumptable:{ *:[i32] }):$lo)) - Complexity = 9
     329             :                     // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tjumptable:{ *:[i32] }):$lo)
     330             : /*   521*/        /*SwitchOpcode*/ 12, TARGET_VAL(ISD::TargetConstantPool),// ->536
     331             : /*   524*/          OPC_MoveParent,
     332             : /*   525*/          OPC_MoveParent,
     333             : /*   526*/          OPC_CheckType, MVT::i32,
     334             : /*   528*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
     335             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
     336             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$hi, (LanaiLo:{ *:[i32] } (tconstpool:{ *:[i32] }):$lo)) - Complexity = 9
     337             :                     // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tconstpool:{ *:[i32] }):$lo)
     338             : /*   536*/        0, // EndSwitchOpcode
     339             : /*   537*/      /*SwitchOpcode*/ 89, TARGET_VAL(LanaiISD::SMALL),// ->629
     340             : /*   540*/        OPC_RecordChild0, // #1 = $small
     341             : /*   541*/        OPC_MoveChild0,
     342             : /*   542*/        OPC_SwitchOpcode /*5 cases */, 14, TARGET_VAL(ISD::TargetGlobalAddress),// ->560
     343             : /*   546*/          OPC_MoveParent,
     344             : /*   547*/          OPC_MoveParent,
     345             : /*   548*/          OPC_CheckType, MVT::i32,
     346             : /*   550*/          OPC_EmitCopyToReg, 0, Lanai::R0,
     347             : /*   553*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0|OPFL_GlueInput,
     348             :                         MVT::i32, 1/*#Ops*/, 1, 
     349             :                     // Src: (or:{ *:[i32] } R0:{ *:[i32] }, (LanaiSmall:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$small)) - Complexity = 9
     350             :                     // Dst: (SLI:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$small)
     351             : /*   560*/        /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetExternalSymbol),// ->577
     352             : /*   563*/          OPC_MoveParent,
     353             : /*   564*/          OPC_MoveParent,
     354             : /*   565*/          OPC_CheckType, MVT::i32,
     355             : /*   567*/          OPC_EmitCopyToReg, 0, Lanai::R0,
     356             : /*   570*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0|OPFL_GlueInput,
     357             :                         MVT::i32, 1/*#Ops*/, 1, 
     358             :                     // Src: (or:{ *:[i32] } R0:{ *:[i32] }, (LanaiSmall:{ *:[i32] } (texternalsym:{ *:[i32] }):$small)) - Complexity = 9
     359             :                     // Dst: (SLI:{ *:[i32] } (texternalsym:{ *:[i32] }):$small)
     360             : /*   577*/        /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetBlockAddress),// ->594
     361             : /*   580*/          OPC_MoveParent,
     362             : /*   581*/          OPC_MoveParent,
     363             : /*   582*/          OPC_CheckType, MVT::i32,
     364             : /*   584*/          OPC_EmitCopyToReg, 0, Lanai::R0,
     365             : /*   587*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0|OPFL_GlueInput,
     366             :                         MVT::i32, 1/*#Ops*/, 1, 
     367             :                     // Src: (or:{ *:[i32] } R0:{ *:[i32] }, (LanaiSmall:{ *:[i32] } (tblockaddress:{ *:[i32] }):$small)) - Complexity = 9
     368             :                     // Dst: (SLI:{ *:[i32] } (tblockaddress:{ *:[i32] }):$small)
     369             : /*   594*/        /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetJumpTable),// ->611
     370             : /*   597*/          OPC_MoveParent,
     371             : /*   598*/          OPC_MoveParent,
     372             : /*   599*/          OPC_CheckType, MVT::i32,
     373             : /*   601*/          OPC_EmitCopyToReg, 0, Lanai::R0,
     374             : /*   604*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0|OPFL_GlueInput,
     375             :                         MVT::i32, 1/*#Ops*/, 1, 
     376             :                     // Src: (or:{ *:[i32] } R0:{ *:[i32] }, (LanaiSmall:{ *:[i32] } (tjumptable:{ *:[i32] }):$small)) - Complexity = 9
     377             :                     // Dst: (SLI:{ *:[i32] } (tjumptable:{ *:[i32] }):$small)
     378             : /*   611*/        /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetConstantPool),// ->628
     379             : /*   614*/          OPC_MoveParent,
     380             : /*   615*/          OPC_MoveParent,
     381             : /*   616*/          OPC_CheckType, MVT::i32,
     382             : /*   618*/          OPC_EmitCopyToReg, 0, Lanai::R0,
     383             : /*   621*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0|OPFL_GlueInput,
     384             :                         MVT::i32, 1/*#Ops*/, 1, 
     385             :                     // Src: (or:{ *:[i32] } R0:{ *:[i32] }, (LanaiSmall:{ *:[i32] } (tconstpool:{ *:[i32] }):$small)) - Complexity = 9
     386             :                     // Dst: (SLI:{ *:[i32] } (tconstpool:{ *:[i32] }):$small)
     387             : /*   628*/        0, // EndSwitchOpcode
     388             : /*   629*/      0, // EndSwitchOpcode
     389             : /*   630*/    /*Scope*/ 88, /*->719*/
     390             : /*   631*/      OPC_MoveChild0,
     391             : /*   632*/      OPC_CheckOpcode, TARGET_VAL(LanaiISD::LO),
     392             : /*   635*/      OPC_RecordChild0, // #0 = $lo
     393             : /*   636*/      OPC_MoveChild0,
     394             : /*   637*/      OPC_SwitchOpcode /*5 cases */, 13, TARGET_VAL(ISD::TargetGlobalAddress),// ->654
     395             : /*   641*/        OPC_MoveParent,
     396             : /*   642*/        OPC_MoveParent,
     397             : /*   643*/        OPC_RecordChild1, // #1 = $hi
     398             : /*   644*/        OPC_CheckType, MVT::i32,
     399             : /*   646*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
     400             :                       MVT::i32, 2/*#Ops*/, 1, 0, 
     401             :                   // Src: (or:{ *:[i32] } (LanaiLo:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$lo), GPR:{ *:[i32] }:$hi) - Complexity = 9
     402             :                   // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tglobaladdr:{ *:[i32] }):$lo)
     403             : /*   654*/      /*SwitchOpcode*/ 13, TARGET_VAL(ISD::TargetExternalSymbol),// ->670
     404             : /*   657*/        OPC_MoveParent,
     405             : /*   658*/        OPC_MoveParent,
     406             : /*   659*/        OPC_RecordChild1, // #1 = $hi
     407             : /*   660*/        OPC_CheckType, MVT::i32,
     408             : /*   662*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
     409             :                       MVT::i32, 2/*#Ops*/, 1, 0, 
     410             :                   // Src: (or:{ *:[i32] } (LanaiLo:{ *:[i32] } (texternalsym:{ *:[i32] }):$lo), GPR:{ *:[i32] }:$hi) - Complexity = 9
     411             :                   // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (texternalsym:{ *:[i32] }):$lo)
     412             : /*   670*/      /*SwitchOpcode*/ 13, TARGET_VAL(ISD::TargetBlockAddress),// ->686
     413             : /*   673*/        OPC_MoveParent,
     414             : /*   674*/        OPC_MoveParent,
     415             : /*   675*/        OPC_RecordChild1, // #1 = $hi
     416             : /*   676*/        OPC_CheckType, MVT::i32,
     417             : /*   678*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
     418             :                       MVT::i32, 2/*#Ops*/, 1, 0, 
     419             :                   // Src: (or:{ *:[i32] } (LanaiLo:{ *:[i32] } (tblockaddress:{ *:[i32] }):$lo), GPR:{ *:[i32] }:$hi) - Complexity = 9
     420             :                   // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tblockaddress:{ *:[i32] }):$lo)
     421             : /*   686*/      /*SwitchOpcode*/ 13, TARGET_VAL(ISD::TargetJumpTable),// ->702
     422             : /*   689*/        OPC_MoveParent,
     423             : /*   690*/        OPC_MoveParent,
     424             : /*   691*/        OPC_RecordChild1, // #1 = $hi
     425             : /*   692*/        OPC_CheckType, MVT::i32,
     426             : /*   694*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
     427             :                       MVT::i32, 2/*#Ops*/, 1, 0, 
     428             :                   // Src: (or:{ *:[i32] } (LanaiLo:{ *:[i32] } (tjumptable:{ *:[i32] }):$lo), GPR:{ *:[i32] }:$hi) - Complexity = 9
     429             :                   // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tjumptable:{ *:[i32] }):$lo)
     430             : /*   702*/      /*SwitchOpcode*/ 13, TARGET_VAL(ISD::TargetConstantPool),// ->718
     431             : /*   705*/        OPC_MoveParent,
     432             : /*   706*/        OPC_MoveParent,
     433             : /*   707*/        OPC_RecordChild1, // #1 = $hi
     434             : /*   708*/        OPC_CheckType, MVT::i32,
     435             : /*   710*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
     436             :                       MVT::i32, 2/*#Ops*/, 1, 0, 
     437             :                   // Src: (or:{ *:[i32] } (LanaiLo:{ *:[i32] } (tconstpool:{ *:[i32] }):$lo), GPR:{ *:[i32] }:$hi) - Complexity = 9
     438             :                   // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$hi, (tconstpool:{ *:[i32] }):$lo)
     439             : /*   718*/      0, // EndSwitchOpcode
     440             : /*   719*/    /*Scope*/ 108, /*->828*/
     441             : /*   720*/      OPC_RecordChild0, // #0 = $Rs1
     442             : /*   721*/      OPC_RecordChild1, // #1 = $imm16
     443             : /*   722*/      OPC_Scope, 76, /*->800*/ // 2 children in Scope
     444             : /*   724*/        OPC_MoveChild1,
     445             : /*   725*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     446             : /*   728*/        OPC_Scope, 16, /*->746*/ // 4 children in Scope
     447             : /*   730*/          OPC_CheckPredicate, 13, // Predicate_i32lo16z
     448             : /*   732*/          OPC_MoveParent,
     449             : /*   733*/          OPC_EmitConvertToTarget, 1,
     450             : /*   735*/          OPC_EmitNodeXForm, 0, 2, // LO16
     451             : /*   738*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
     452             :                         MVT::i32, 2/*#Ops*/, 0, 3, 
     453             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm16) - Complexity = 7
     454             :                     // Dst: (OR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     455             : /*   746*/        /*Scope*/ 16, /*->763*/
     456             : /*   747*/          OPC_CheckPredicate, 14, // Predicate_i32hi16
     457             : /*   749*/          OPC_MoveParent,
     458             : /*   750*/          OPC_EmitConvertToTarget, 1,
     459             : /*   752*/          OPC_EmitNodeXForm, 1, 2, // HI16
     460             : /*   755*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_HI), 0,
     461             :                         MVT::i32, 2/*#Ops*/, 0, 3, 
     462             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16) - Complexity = 7
     463             :                     // Dst: (OR_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     464             : /*   763*/        /*Scope*/ 17, /*->781*/
     465             : /*   764*/          OPC_CheckPredicate, 13, // Predicate_i32lo16z
     466             : /*   766*/          OPC_MoveParent,
     467             : /*   767*/          OPC_EmitConvertToTarget, 1,
     468             : /*   769*/          OPC_EmitNodeXForm, 0, 2, // LO16
     469             : /*   772*/          OPC_MorphNodeTo2, TARGET_VAL(Lanai::OR_F_I_LO), 0,
     470             :                         MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     471             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm16) - Complexity = 7
     472             :                     // Dst: (OR_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     473             : /*   781*/        /*Scope*/ 17, /*->799*/
     474             : /*   782*/          OPC_CheckPredicate, 14, // Predicate_i32hi16
     475             : /*   784*/          OPC_MoveParent,
     476             : /*   785*/          OPC_EmitConvertToTarget, 1,
     477             : /*   787*/          OPC_EmitNodeXForm, 1, 2, // HI16
     478             : /*   790*/          OPC_MorphNodeTo2, TARGET_VAL(Lanai::OR_F_I_HI), 0,
     479             :                         MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     480             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16) - Complexity = 7
     481             :                     // Dst: (OR_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     482             : /*   799*/        0, /*End of Scope*/
     483             : /*   800*/      /*Scope*/ 26, /*->827*/
     484             : /*   801*/        OPC_EmitInteger, MVT::i32, 0, 
     485             : /*   804*/        OPC_Scope, 9, /*->815*/ // 2 children in Scope
     486             : /*   806*/          OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_R), 0,
     487             :                         MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     488             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     489             :                     // Dst: (OR_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     490             : /*   815*/        /*Scope*/ 10, /*->826*/
     491             : /*   816*/          OPC_MorphNodeTo2, TARGET_VAL(Lanai::OR_F_R), 0,
     492             :                         MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     493             :                     // Src: (or:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     494             :                     // Dst: (OR_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     495             : /*   826*/        0, /*End of Scope*/
     496             : /*   827*/      0, /*End of Scope*/
     497             : /*   828*/    0, /*End of Scope*/
     498             : /*   829*/  /*SwitchOpcode*/ 108, TARGET_VAL(ISD::AND),// ->940
     499             : /*   832*/    OPC_RecordChild0, // #0 = $Rs1
     500             : /*   833*/    OPC_RecordChild1, // #1 = $imm16
     501             : /*   834*/    OPC_Scope, 76, /*->912*/ // 2 children in Scope
     502             : /*   836*/      OPC_MoveChild1,
     503             : /*   837*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     504             : /*   840*/      OPC_Scope, 16, /*->858*/ // 4 children in Scope
     505             : /*   842*/        OPC_CheckPredicate, 15, // Predicate_i32lo16and
     506             : /*   844*/        OPC_MoveParent,
     507             : /*   845*/        OPC_EmitConvertToTarget, 1,
     508             : /*   847*/        OPC_EmitNodeXForm, 0, 2, // LO16
     509             : /*   850*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::AND_I_LO), 0,
     510             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     511             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16and>><<X:LO16>>:$imm16) - Complexity = 7
     512             :                   // Dst: (AND_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     513             : /*   858*/      /*Scope*/ 16, /*->875*/
     514             : /*   859*/        OPC_CheckPredicate, 16, // Predicate_i32hi16and
     515             : /*   861*/        OPC_MoveParent,
     516             : /*   862*/        OPC_EmitConvertToTarget, 1,
     517             : /*   864*/        OPC_EmitNodeXForm, 1, 2, // HI16
     518             : /*   867*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::AND_I_HI), 0,
     519             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     520             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16and>><<X:HI16>>:$imm16) - Complexity = 7
     521             :                   // Dst: (AND_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     522             : /*   875*/      /*Scope*/ 17, /*->893*/
     523             : /*   876*/        OPC_CheckPredicate, 15, // Predicate_i32lo16and
     524             : /*   878*/        OPC_MoveParent,
     525             : /*   879*/        OPC_EmitConvertToTarget, 1,
     526             : /*   881*/        OPC_EmitNodeXForm, 0, 2, // LO16
     527             : /*   884*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::AND_F_I_LO), 0,
     528             :                       MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     529             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16and>><<X:LO16>>:$imm16) - Complexity = 7
     530             :                   // Dst: (AND_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     531             : /*   893*/      /*Scope*/ 17, /*->911*/
     532             : /*   894*/        OPC_CheckPredicate, 16, // Predicate_i32hi16and
     533             : /*   896*/        OPC_MoveParent,
     534             : /*   897*/        OPC_EmitConvertToTarget, 1,
     535             : /*   899*/        OPC_EmitNodeXForm, 1, 2, // HI16
     536             : /*   902*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::AND_F_I_HI), 0,
     537             :                       MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     538             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16and>><<X:HI16>>:$imm16) - Complexity = 7
     539             :                   // Dst: (AND_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     540             : /*   911*/      0, /*End of Scope*/
     541             : /*   912*/    /*Scope*/ 26, /*->939*/
     542             : /*   913*/      OPC_EmitInteger, MVT::i32, 0, 
     543             : /*   916*/      OPC_Scope, 9, /*->927*/ // 2 children in Scope
     544             : /*   918*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::AND_R), 0,
     545             :                       MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     546             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     547             :                   // Dst: (AND_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     548             : /*   927*/      /*Scope*/ 10, /*->938*/
     549             : /*   928*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::AND_F_R), 0,
     550             :                       MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     551             :                   // Src: (and:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     552             :                   // Dst: (AND_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     553             : /*   938*/      0, /*End of Scope*/
     554             : /*   939*/    0, /*End of Scope*/
     555             : /*   940*/  /*SwitchOpcode*/ 108, TARGET_VAL(ISD::XOR),// ->1051
     556             : /*   943*/    OPC_RecordChild0, // #0 = $Rs1
     557             : /*   944*/    OPC_RecordChild1, // #1 = $imm16
     558             : /*   945*/    OPC_Scope, 76, /*->1023*/ // 2 children in Scope
     559             : /*   947*/      OPC_MoveChild1,
     560             : /*   948*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     561             : /*   951*/      OPC_Scope, 16, /*->969*/ // 4 children in Scope
     562             : /*   953*/        OPC_CheckPredicate, 13, // Predicate_i32lo16z
     563             : /*   955*/        OPC_MoveParent,
     564             : /*   956*/        OPC_EmitConvertToTarget, 1,
     565             : /*   958*/        OPC_EmitNodeXForm, 0, 2, // LO16
     566             : /*   961*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::XOR_I_LO), 0,
     567             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     568             :                   // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm16) - Complexity = 7
     569             :                   // Dst: (XOR_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     570             : /*   969*/      /*Scope*/ 16, /*->986*/
     571             : /*   970*/        OPC_CheckPredicate, 14, // Predicate_i32hi16
     572             : /*   972*/        OPC_MoveParent,
     573             : /*   973*/        OPC_EmitConvertToTarget, 1,
     574             : /*   975*/        OPC_EmitNodeXForm, 1, 2, // HI16
     575             : /*   978*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::XOR_I_HI), 0,
     576             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     577             :                   // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16) - Complexity = 7
     578             :                   // Dst: (XOR_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     579             : /*   986*/      /*Scope*/ 17, /*->1004*/
     580             : /*   987*/        OPC_CheckPredicate, 13, // Predicate_i32lo16z
     581             : /*   989*/        OPC_MoveParent,
     582             : /*   990*/        OPC_EmitConvertToTarget, 1,
     583             : /*   992*/        OPC_EmitNodeXForm, 0, 2, // LO16
     584             : /*   995*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::XOR_F_I_LO), 0,
     585             :                       MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     586             :                   // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm16) - Complexity = 7
     587             :                   // Dst: (XOR_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     588             : /*  1004*/      /*Scope*/ 17, /*->1022*/
     589             : /*  1005*/        OPC_CheckPredicate, 14, // Predicate_i32hi16
     590             : /*  1007*/        OPC_MoveParent,
     591             : /*  1008*/        OPC_EmitConvertToTarget, 1,
     592             : /*  1010*/        OPC_EmitNodeXForm, 1, 2, // HI16
     593             : /*  1013*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::XOR_F_I_HI), 0,
     594             :                       MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     595             :                   // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16) - Complexity = 7
     596             :                   // Dst: (XOR_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     597             : /*  1022*/      0, /*End of Scope*/
     598             : /*  1023*/    /*Scope*/ 26, /*->1050*/
     599             : /*  1024*/      OPC_EmitInteger, MVT::i32, 0, 
     600             : /*  1027*/      OPC_Scope, 9, /*->1038*/ // 2 children in Scope
     601             : /*  1029*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::XOR_R), 0,
     602             :                       MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     603             :                   // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     604             :                   // Dst: (XOR_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     605             : /*  1038*/      /*Scope*/ 10, /*->1049*/
     606             : /*  1039*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::XOR_F_R), 0,
     607             :                       MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     608             :                   // Src: (xor:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     609             :                   // Dst: (XOR_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     610             : /*  1049*/      0, /*End of Scope*/
     611             : /*  1050*/    0, /*End of Scope*/
     612             : /*  1051*/  /*SwitchOpcode*/ 73, TARGET_VAL(ISD::ADD),// ->1127
     613             : /*  1054*/    OPC_RecordChild0, // #0 = $Rs1
     614             : /*  1055*/    OPC_RecordChild1, // #1 = $imm
     615             : /*  1056*/    OPC_Scope, 55, /*->1113*/ // 2 children in Scope
     616             : /*  1058*/      OPC_MoveChild1,
     617             : /*  1059*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     618             : /*  1062*/      OPC_Scope, 16, /*->1080*/ // 3 children in Scope
     619             : /*  1064*/        OPC_CheckPredicate, 13, // Predicate_i32lo16z
     620             : /*  1066*/        OPC_MoveParent,
     621             : /*  1067*/        OPC_EmitConvertToTarget, 1,
     622             : /*  1069*/        OPC_EmitNodeXForm, 0, 2, // LO16
     623             : /*  1072*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADD_I_LO), 0,
     624             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     625             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
     626             :                   // Dst: (ADD_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
     627             : /*  1080*/      /*Scope*/ 16, /*->1097*/
     628             : /*  1081*/        OPC_CheckPredicate, 14, // Predicate_i32hi16
     629             : /*  1083*/        OPC_MoveParent,
     630             : /*  1084*/        OPC_EmitConvertToTarget, 1,
     631             : /*  1086*/        OPC_EmitNodeXForm, 1, 2, // HI16
     632             : /*  1089*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADD_I_HI), 0,
     633             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     634             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
     635             :                   // Dst: (ADD_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
     636             : /*  1097*/      /*Scope*/ 14, /*->1112*/
     637             : /*  1098*/        OPC_CheckPredicate, 17, // Predicate_i32neg16
     638             : /*  1100*/        OPC_MoveParent,
     639             : /*  1101*/        OPC_EmitNodeXForm, 2, 1, // NEG
     640             : /*  1104*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUB_I_LO), 0,
     641             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
     642             :                   // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32neg16>><<X:LO16>>:$imm) - Complexity = 7
     643             :                   // Dst: (SUB_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (NEG:{ *:[i32] } ?:{ *:[i32] }:$imm))
     644             : /*  1112*/      0, /*End of Scope*/
     645             : /*  1113*/    /*Scope*/ 12, /*->1126*/
     646             : /*  1114*/      OPC_EmitInteger, MVT::i32, 0, 
     647             : /*  1117*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADD_R), 0,
     648             :                     MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     649             :                 // Src: (add:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     650             :                 // Dst: (ADD_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     651             : /*  1126*/    0, /*End of Scope*/
     652             : /*  1127*/  /*SwitchOpcode*/ 73, TARGET_VAL(ISD::SUB),// ->1203
     653             : /*  1130*/    OPC_RecordChild0, // #0 = $Rs1
     654             : /*  1131*/    OPC_RecordChild1, // #1 = $imm
     655             : /*  1132*/    OPC_Scope, 55, /*->1189*/ // 2 children in Scope
     656             : /*  1134*/      OPC_MoveChild1,
     657             : /*  1135*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     658             : /*  1138*/      OPC_Scope, 16, /*->1156*/ // 3 children in Scope
     659             : /*  1140*/        OPC_CheckPredicate, 13, // Predicate_i32lo16z
     660             : /*  1142*/        OPC_MoveParent,
     661             : /*  1143*/        OPC_EmitConvertToTarget, 1,
     662             : /*  1145*/        OPC_EmitNodeXForm, 0, 2, // LO16
     663             : /*  1148*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUB_I_LO), 0,
     664             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     665             :                   // Src: (sub:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
     666             :                   // Dst: (SUB_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
     667             : /*  1156*/      /*Scope*/ 16, /*->1173*/
     668             : /*  1157*/        OPC_CheckPredicate, 14, // Predicate_i32hi16
     669             : /*  1159*/        OPC_MoveParent,
     670             : /*  1160*/        OPC_EmitConvertToTarget, 1,
     671             : /*  1162*/        OPC_EmitNodeXForm, 1, 2, // HI16
     672             : /*  1165*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUB_I_HI), 0,
     673             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     674             :                   // Src: (sub:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
     675             :                   // Dst: (SUB_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
     676             : /*  1173*/      /*Scope*/ 14, /*->1188*/
     677             : /*  1174*/        OPC_CheckPredicate, 17, // Predicate_i32neg16
     678             : /*  1176*/        OPC_MoveParent,
     679             : /*  1177*/        OPC_EmitNodeXForm, 2, 1, // NEG
     680             : /*  1180*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADD_I_LO), 0,
     681             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
     682             :                   // Src: (sub:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32neg16>><<X:LO16>>:$imm) - Complexity = 7
     683             :                   // Dst: (ADD_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (NEG:{ *:[i32] } ?:{ *:[i32] }:$imm))
     684             : /*  1188*/      0, /*End of Scope*/
     685             : /*  1189*/    /*Scope*/ 12, /*->1202*/
     686             : /*  1190*/      OPC_EmitInteger, MVT::i32, 0, 
     687             : /*  1193*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUB_R), 0,
     688             :                     MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     689             :                 // Src: (sub:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     690             :                 // Dst: (SUB_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     691             : /*  1202*/    0, /*End of Scope*/
     692             : /*  1203*/  /*SwitchOpcode*/ 61, TARGET_VAL(ISD::ADDC),// ->1267
     693             : /*  1206*/    OPC_RecordChild0, // #0 = $Rs1
     694             : /*  1207*/    OPC_RecordChild1, // #1 = $imm
     695             : /*  1208*/    OPC_Scope, 42, /*->1252*/ // 2 children in Scope
     696             : /*  1210*/      OPC_MoveChild1,
     697             : /*  1211*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     698             : /*  1214*/      OPC_Scope, 17, /*->1233*/ // 2 children in Scope
     699             : /*  1216*/        OPC_CheckPredicate, 13, // Predicate_i32lo16z
     700             : /*  1218*/        OPC_MoveParent,
     701             : /*  1219*/        OPC_EmitConvertToTarget, 1,
     702             : /*  1221*/        OPC_EmitNodeXForm, 0, 2, // LO16
     703             : /*  1224*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::ADD_F_I_LO), 0|OPFL_GlueOutput,
     704             :                       MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     705             :                   // Src: (addc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
     706             :                   // Dst: (ADD_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
     707             : /*  1233*/      /*Scope*/ 17, /*->1251*/
     708             : /*  1234*/        OPC_CheckPredicate, 14, // Predicate_i32hi16
     709             : /*  1236*/        OPC_MoveParent,
     710             : /*  1237*/        OPC_EmitConvertToTarget, 1,
     711             : /*  1239*/        OPC_EmitNodeXForm, 1, 2, // HI16
     712             : /*  1242*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::ADD_F_I_HI), 0|OPFL_GlueOutput,
     713             :                       MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     714             :                   // Src: (addc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
     715             :                   // Dst: (ADD_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
     716             : /*  1251*/      0, /*End of Scope*/
     717             : /*  1252*/    /*Scope*/ 13, /*->1266*/
     718             : /*  1253*/      OPC_EmitInteger, MVT::i32, 0, 
     719             : /*  1256*/      OPC_MorphNodeTo2, TARGET_VAL(Lanai::ADD_F_R), 0|OPFL_GlueOutput,
     720             :                     MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     721             :                 // Src: (addc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     722             :                 // Dst: (ADD_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     723             : /*  1266*/    0, /*End of Scope*/
     724             : /*  1267*/  /*SwitchOpcode*/ 61, TARGET_VAL(ISD::SUBC),// ->1331
     725             : /*  1270*/    OPC_RecordChild0, // #0 = $Rs1
     726             : /*  1271*/    OPC_RecordChild1, // #1 = $imm
     727             : /*  1272*/    OPC_Scope, 42, /*->1316*/ // 2 children in Scope
     728             : /*  1274*/      OPC_MoveChild1,
     729             : /*  1275*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     730             : /*  1278*/      OPC_Scope, 17, /*->1297*/ // 2 children in Scope
     731             : /*  1280*/        OPC_CheckPredicate, 13, // Predicate_i32lo16z
     732             : /*  1282*/        OPC_MoveParent,
     733             : /*  1283*/        OPC_EmitConvertToTarget, 1,
     734             : /*  1285*/        OPC_EmitNodeXForm, 0, 2, // LO16
     735             : /*  1288*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUB_F_I_LO), 0|OPFL_GlueOutput,
     736             :                       MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     737             :                   // Src: (subc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
     738             :                   // Dst: (SUB_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
     739             : /*  1297*/      /*Scope*/ 17, /*->1315*/
     740             : /*  1298*/        OPC_CheckPredicate, 14, // Predicate_i32hi16
     741             : /*  1300*/        OPC_MoveParent,
     742             : /*  1301*/        OPC_EmitConvertToTarget, 1,
     743             : /*  1303*/        OPC_EmitNodeXForm, 1, 2, // HI16
     744             : /*  1306*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUB_F_I_HI), 0|OPFL_GlueOutput,
     745             :                       MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     746             :                   // Src: (subc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
     747             :                   // Dst: (SUB_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
     748             : /*  1315*/      0, /*End of Scope*/
     749             : /*  1316*/    /*Scope*/ 13, /*->1330*/
     750             : /*  1317*/      OPC_EmitInteger, MVT::i32, 0, 
     751             : /*  1320*/      OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUB_F_R), 0|OPFL_GlueOutput,
     752             :                     MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     753             :                 // Src: (subc:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     754             :                 // Dst: (SUB_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     755             : /*  1330*/    0, /*End of Scope*/
     756             : /*  1331*/  /*SwitchOpcode*/ 73, TARGET_VAL(ISD::ADDE),// ->1407
     757             : /*  1334*/    OPC_CaptureGlueInput,
     758             : /*  1335*/    OPC_RecordChild0, // #0 = $Rs1
     759             : /*  1336*/    OPC_RecordChild1, // #1 = $imm
     760             : /*  1337*/    OPC_Scope, 40, /*->1379*/ // 2 children in Scope
     761             : /*  1339*/      OPC_MoveChild1,
     762             : /*  1340*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     763             : /*  1343*/      OPC_Scope, 16, /*->1361*/ // 2 children in Scope
     764             : /*  1345*/        OPC_CheckPredicate, 13, // Predicate_i32lo16z
     765             : /*  1347*/        OPC_MoveParent,
     766             : /*  1348*/        OPC_EmitConvertToTarget, 1,
     767             : /*  1350*/        OPC_EmitNodeXForm, 0, 2, // LO16
     768             : /*  1353*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADDC_I_LO), 0|OPFL_GlueInput|OPFL_GlueOutput,
     769             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     770             :                   // Src: (adde:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
     771             :                   // Dst: (ADDC_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
     772             : /*  1361*/      /*Scope*/ 16, /*->1378*/
     773             : /*  1362*/        OPC_CheckPredicate, 14, // Predicate_i32hi16
     774             : /*  1364*/        OPC_MoveParent,
     775             : /*  1365*/        OPC_EmitConvertToTarget, 1,
     776             : /*  1367*/        OPC_EmitNodeXForm, 1, 2, // HI16
     777             : /*  1370*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADDC_I_HI), 0|OPFL_GlueInput|OPFL_GlueOutput,
     778             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     779             :                   // Src: (adde:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
     780             :                   // Dst: (ADDC_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
     781             : /*  1378*/      0, /*End of Scope*/
     782             : /*  1379*/    /*Scope*/ 26, /*->1406*/
     783             : /*  1380*/      OPC_EmitInteger, MVT::i32, 0, 
     784             : /*  1383*/      OPC_Scope, 9, /*->1394*/ // 2 children in Scope
     785             : /*  1385*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::ADDC_R), 0|OPFL_GlueInput|OPFL_GlueOutput,
     786             :                       MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     787             :                   // Src: (adde:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     788             :                   // Dst: (ADDC_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     789             : /*  1394*/      /*Scope*/ 10, /*->1405*/
     790             : /*  1395*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::ADDC_F_R), 0|OPFL_GlueInput|OPFL_GlueOutput,
     791             :                       MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     792             :                   // Src: (adde:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     793             :                   // Dst: (ADDC_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     794             : /*  1405*/      0, /*End of Scope*/
     795             : /*  1406*/    0, /*End of Scope*/
     796             : /*  1407*/  /*SwitchOpcode*/ 73, TARGET_VAL(ISD::SUBE),// ->1483
     797             : /*  1410*/    OPC_CaptureGlueInput,
     798             : /*  1411*/    OPC_RecordChild0, // #0 = $Rs1
     799             : /*  1412*/    OPC_RecordChild1, // #1 = $imm
     800             : /*  1413*/    OPC_Scope, 40, /*->1455*/ // 2 children in Scope
     801             : /*  1415*/      OPC_MoveChild1,
     802             : /*  1416*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     803             : /*  1419*/      OPC_Scope, 16, /*->1437*/ // 2 children in Scope
     804             : /*  1421*/        OPC_CheckPredicate, 13, // Predicate_i32lo16z
     805             : /*  1423*/        OPC_MoveParent,
     806             : /*  1424*/        OPC_EmitConvertToTarget, 1,
     807             : /*  1426*/        OPC_EmitNodeXForm, 0, 2, // LO16
     808             : /*  1429*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUBB_I_LO), 0|OPFL_GlueInput|OPFL_GlueOutput,
     809             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     810             :                   // Src: (sube:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
     811             :                   // Dst: (SUBB_I_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
     812             : /*  1437*/      /*Scope*/ 16, /*->1454*/
     813             : /*  1438*/        OPC_CheckPredicate, 14, // Predicate_i32hi16
     814             : /*  1440*/        OPC_MoveParent,
     815             : /*  1441*/        OPC_EmitConvertToTarget, 1,
     816             : /*  1443*/        OPC_EmitNodeXForm, 1, 2, // HI16
     817             : /*  1446*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUBB_I_HI), 0|OPFL_GlueInput|OPFL_GlueOutput,
     818             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     819             :                   // Src: (sube:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
     820             :                   // Dst: (SUBB_I_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
     821             : /*  1454*/      0, /*End of Scope*/
     822             : /*  1455*/    /*Scope*/ 26, /*->1482*/
     823             : /*  1456*/      OPC_EmitInteger, MVT::i32, 0, 
     824             : /*  1459*/      OPC_Scope, 9, /*->1470*/ // 2 children in Scope
     825             : /*  1461*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SUBB_R), 0|OPFL_GlueInput|OPFL_GlueOutput,
     826             :                       MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     827             :                   // Src: (sube:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     828             :                   // Dst: (SUBB_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     829             : /*  1470*/      /*Scope*/ 10, /*->1481*/
     830             : /*  1471*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUBB_F_R), 0|OPFL_GlueInput|OPFL_GlueOutput,
     831             :                       MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     832             :                   // Src: (sube:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     833             :                   // Dst: (SUBB_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     834             : /*  1481*/      0, /*End of Scope*/
     835             : /*  1482*/    0, /*End of Scope*/
     836             : /*  1483*/  /*SwitchOpcode*/ 65, TARGET_VAL(LanaiISD::SUBBF),// ->1551
     837             : /*  1486*/    OPC_CaptureGlueInput,
     838             : /*  1487*/    OPC_RecordChild0, // #0 = $Rs1
     839             : /*  1488*/    OPC_Scope, 43, /*->1533*/ // 2 children in Scope
     840             : /*  1490*/      OPC_RecordChild1, // #1 = $imm
     841             : /*  1491*/      OPC_MoveChild1,
     842             : /*  1492*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     843             : /*  1495*/      OPC_Scope, 17, /*->1514*/ // 2 children in Scope
     844             : /*  1497*/        OPC_CheckPredicate, 13, // Predicate_i32lo16z
     845             : /*  1499*/        OPC_MoveParent,
     846             : /*  1500*/        OPC_EmitConvertToTarget, 1,
     847             : /*  1502*/        OPC_EmitNodeXForm, 0, 2, // LO16
     848             : /*  1505*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUBB_F_I_LO), 0|OPFL_GlueInput|OPFL_GlueOutput,
     849             :                       MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     850             :                   // Src: (LanaiSubbF GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm) - Complexity = 7
     851             :                   // Dst: (SUBB_F_I_LO:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16z>>:$imm))
     852             : /*  1514*/      /*Scope*/ 17, /*->1532*/
     853             : /*  1515*/        OPC_CheckPredicate, 14, // Predicate_i32hi16
     854             : /*  1517*/        OPC_MoveParent,
     855             : /*  1518*/        OPC_EmitConvertToTarget, 1,
     856             : /*  1520*/        OPC_EmitNodeXForm, 1, 2, // HI16
     857             : /*  1523*/        OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUBB_F_I_HI), 0|OPFL_GlueInput|OPFL_GlueOutput,
     858             :                       MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
     859             :                   // Src: (LanaiSubbF GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm) - Complexity = 7
     860             :                   // Dst: (SUBB_F_I_HI:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16>>:$imm))
     861             : /*  1532*/      0, /*End of Scope*/
     862             : /*  1533*/    /*Scope*/ 16, /*->1550*/
     863             : /*  1534*/      OPC_CheckChild0Type, MVT::i32,
     864             : /*  1536*/      OPC_RecordChild1, // #1 = $Rs2
     865             : /*  1537*/      OPC_EmitInteger, MVT::i32, 0, 
     866             : /*  1540*/      OPC_MorphNodeTo2, TARGET_VAL(Lanai::SUBB_F_R), 0|OPFL_GlueInput|OPFL_GlueOutput,
     867             :                     MVT::i32, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     868             :                 // Src: (LanaiSubbF GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     869             :                 // Dst: (SUBB_F_R:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     870             : /*  1550*/    0, /*End of Scope*/
     871             : /*  1551*/  /*SwitchOpcode*/ 35, TARGET_VAL(ISD::SHL),// ->1589
     872             : /*  1554*/    OPC_RecordChild0, // #0 = $Rs1
     873             : /*  1555*/    OPC_RecordChild1, // #1 = $imm16
     874             : /*  1556*/    OPC_Scope, 17, /*->1575*/ // 2 children in Scope
     875             : /*  1558*/      OPC_MoveChild1,
     876             : /*  1559*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     877             : /*  1562*/      OPC_CheckPredicate, 18, // Predicate_immShift
     878             : /*  1564*/      OPC_MoveParent,
     879             : /*  1565*/      OPC_EmitConvertToTarget, 1,
     880             : /*  1567*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SL_I), 0,
     881             :                     MVT::i32, 2/*#Ops*/, 0, 2, 
     882             :                 // Src: (shl:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_immShift>>:$imm16) - Complexity = 7
     883             :                 // Dst: (SL_I:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] }):$imm16)
     884             : /*  1575*/    /*Scope*/ 12, /*->1588*/
     885             : /*  1576*/      OPC_EmitInteger, MVT::i32, 0, 
     886             : /*  1579*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SHL_R), 0,
     887             :                     MVT::i32, 3/*#Ops*/, 0, 1, 2, 
     888             :                 // Src: (shl:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     889             :                 // Dst: (SHL_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     890             : /*  1588*/    0, /*End of Scope*/
     891             : /*  1589*/  /*SwitchOpcode*/ 51, TARGET_VAL(ISD::SRL),// ->1643
     892             : /*  1592*/    OPC_RecordChild0, // #0 = $Rs1
     893             : /*  1593*/    OPC_RecordChild1, // #1 = $imm
     894             : /*  1594*/    OPC_Scope, 18, /*->1614*/ // 2 children in Scope
     895             : /*  1596*/      OPC_MoveChild1,
     896             : /*  1597*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     897             : /*  1600*/      OPC_CheckPredicate, 18, // Predicate_immShift
     898             : /*  1602*/      OPC_MoveParent,
     899             : /*  1603*/      OPC_EmitNodeXForm, 2, 1, // NEG
     900             : /*  1606*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SL_I), 0,
     901             :                     MVT::i32, 2/*#Ops*/, 0, 2, 
     902             :                 // Src: (srl:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_immShift>>:$imm) - Complexity = 7
     903             :                 // Dst: (SL_I:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (NEG:{ *:[i32] } ?:{ *:[i32] }:$imm))
     904             : /*  1614*/    /*Scope*/ 27, /*->1642*/
     905             : /*  1615*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
     906             : /*  1618*/      OPC_EmitInteger, MVT::i32, 0, 
     907             : /*  1621*/      OPC_EmitNode1, TARGET_VAL(Lanai::SUB_R), 0,
     908             :                     MVT::i32, 3/*#Ops*/, 2, 1, 3,  // Results = #4
     909             : /*  1630*/      OPC_EmitInteger, MVT::i32, 0, 
     910             : /*  1633*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SRL_R), 0,
     911             :                     MVT::i32, 3/*#Ops*/, 0, 4, 5, 
     912             :                 // Src: (srl:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     913             :                 // Dst: (SRL_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (SUB_R:{ *:[i32] } R0:{ *:[i32] }, GPR:{ *:[i32] }:$Rs2))
     914             : /*  1642*/    0, /*End of Scope*/
     915             : /*  1643*/  /*SwitchOpcode*/ 51, TARGET_VAL(ISD::SRA),// ->1697
     916             : /*  1646*/    OPC_RecordChild0, // #0 = $Rs1
     917             : /*  1647*/    OPC_RecordChild1, // #1 = $imm
     918             : /*  1648*/    OPC_Scope, 18, /*->1668*/ // 2 children in Scope
     919             : /*  1650*/      OPC_MoveChild1,
     920             : /*  1651*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     921             : /*  1654*/      OPC_CheckPredicate, 18, // Predicate_immShift
     922             : /*  1656*/      OPC_MoveParent,
     923             : /*  1657*/      OPC_EmitNodeXForm, 2, 1, // NEG
     924             : /*  1660*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SA_I), 0,
     925             :                     MVT::i32, 2/*#Ops*/, 0, 2, 
     926             :                 // Src: (sra:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_immShift>>:$imm) - Complexity = 7
     927             :                 // Dst: (SA_I:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (NEG:{ *:[i32] } ?:{ *:[i32] }:$imm))
     928             : /*  1668*/    /*Scope*/ 27, /*->1696*/
     929             : /*  1669*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
     930             : /*  1672*/      OPC_EmitInteger, MVT::i32, 0, 
     931             : /*  1675*/      OPC_EmitNode1, TARGET_VAL(Lanai::SUB_R), 0,
     932             :                     MVT::i32, 3/*#Ops*/, 2, 1, 3,  // Results = #4
     933             : /*  1684*/      OPC_EmitInteger, MVT::i32, 0, 
     934             : /*  1687*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SRA_R), 0,
     935             :                     MVT::i32, 3/*#Ops*/, 0, 4, 5, 
     936             :                 // Src: (sra:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     937             :                 // Dst: (SRA_R:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (SUB_R:{ *:[i32] } R0:{ *:[i32] }, GPR:{ *:[i32] }:$Rs2))
     938             : /*  1696*/    0, /*End of Scope*/
     939             : /*  1697*/  /*SwitchOpcode*/ 57, TARGET_VAL(LanaiISD::SET_FLAG),// ->1757
     940             : /*  1700*/    OPC_RecordChild0, // #0 = $Rs1
     941             : /*  1701*/    OPC_Scope, 41, /*->1744*/ // 2 children in Scope
     942             : /*  1703*/      OPC_RecordChild1, // #1 = $imm16
     943             : /*  1704*/      OPC_MoveChild1,
     944             : /*  1705*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     945             : /*  1708*/      OPC_Scope, 16, /*->1726*/ // 2 children in Scope
     946             : /*  1710*/        OPC_CheckPredicate, 13, // Predicate_i32lo16z
     947             : /*  1712*/        OPC_MoveParent,
     948             : /*  1713*/        OPC_EmitConvertToTarget, 1,
     949             : /*  1715*/        OPC_EmitNodeXForm, 0, 2, // LO16
     950             : /*  1718*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SFSUB_F_RI_LO), 0|OPFL_GlueOutput,
     951             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     952             :                   // Src: (LanaiSetFlag GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm16) - Complexity = 7
     953             :                   // Dst: (SFSUB_F_RI_LO:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     954             : /*  1726*/      /*Scope*/ 16, /*->1743*/
     955             : /*  1727*/        OPC_CheckPredicate, 14, // Predicate_i32hi16
     956             : /*  1729*/        OPC_MoveParent,
     957             : /*  1730*/        OPC_EmitConvertToTarget, 1,
     958             : /*  1732*/        OPC_EmitNodeXForm, 1, 2, // HI16
     959             : /*  1735*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::SFSUB_F_RI_HI), 0|OPFL_GlueOutput,
     960             :                       MVT::i32, 2/*#Ops*/, 0, 3, 
     961             :                   // Src: (LanaiSetFlag GPR:{ *:[i32] }:$Rs1, (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16) - Complexity = 7
     962             :                   // Dst: (SFSUB_F_RI_HI:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
     963             : /*  1743*/      0, /*End of Scope*/
     964             : /*  1744*/    /*Scope*/ 11, /*->1756*/
     965             : /*  1745*/      OPC_CheckChild0Type, MVT::i32,
     966             : /*  1747*/      OPC_RecordChild1, // #1 = $Rs2
     967             : /*  1748*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SFSUB_F_RR), 0|OPFL_GlueOutput,
     968             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
     969             :                 // Src: (LanaiSetFlag GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2) - Complexity = 3
     970             :                 // Dst: (SFSUB_F_RR:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2)
     971             : /*  1756*/    0, /*End of Scope*/
     972             : /*  1757*/  /*SwitchOpcode*/ 24, TARGET_VAL(LanaiISD::BR_CC),// ->1784
     973             : /*  1760*/    OPC_RecordNode, // #0 = 'LanaiBrCC' chained node
     974             : /*  1761*/    OPC_CaptureGlueInput,
     975             : /*  1762*/    OPC_RecordChild1, // #1 = $addr
     976             : /*  1763*/    OPC_MoveChild1,
     977             : /*  1764*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     978             : /*  1767*/    OPC_MoveParent,
     979             : /*  1768*/    OPC_RecordChild2, // #2 = $DDDI
     980             : /*  1769*/    OPC_MoveChild2,
     981             : /*  1770*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     982             : /*  1773*/    OPC_MoveParent,
     983             : /*  1774*/    OPC_EmitMergeInputChains1_0,
     984             : /*  1775*/    OPC_EmitConvertToTarget, 2,
     985             : /*  1777*/    OPC_MorphNodeTo0, TARGET_VAL(Lanai::BRCC), 0|OPFL_Chain|OPFL_GlueInput,
     986             :                   2/*#Ops*/, 1, 3, 
     987             :               // Src: (LanaiBrCC (bb:{ *:[Other] }):$addr, (imm:{ *:[i32] }):$DDDI) - Complexity = 6
     988             :               // Dst: (BRCC (bb:{ *:[Other] }):$addr, (imm:{ *:[i32] }):$DDDI)
     989             : /*  1784*/  /*SwitchOpcode*/ 16, TARGET_VAL(LanaiISD::SETCC),// ->1803
     990             : /*  1787*/    OPC_CaptureGlueInput,
     991             : /*  1788*/    OPC_RecordChild0, // #0 = $DDDI
     992             : /*  1789*/    OPC_MoveChild0,
     993             : /*  1790*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     994             : /*  1793*/    OPC_MoveParent,
     995             : /*  1794*/    OPC_EmitConvertToTarget, 0,
     996             : /*  1796*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::SCC), 0|OPFL_GlueInput,
     997             :                   MVT::i32, 1/*#Ops*/, 1, 
     998             :               // Src: (LanaiSetCC:{ *:[i32] } (imm:{ *:[i32] }):$DDDI) - Complexity = 6
     999             :               // Dst: (SCC:{ *:[i32] } (imm:{ *:[i32] }):$DDDI)
    1000             : /*  1803*/  /*SwitchOpcode*/ 22, TARGET_VAL(LanaiISD::SELECT_CC),// ->1828
    1001             : /*  1806*/    OPC_CaptureGlueInput,
    1002             : /*  1807*/    OPC_RecordChild0, // #0 = $Rs1
    1003             : /*  1808*/    OPC_RecordChild1, // #1 = $Rs2
    1004             : /*  1809*/    OPC_RecordChild2, // #2 = $DDDI
    1005             : /*  1810*/    OPC_MoveChild2,
    1006             : /*  1811*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1007             : /*  1814*/    OPC_MoveParent,
    1008             : /*  1815*/    OPC_CheckType, MVT::i32,
    1009             : /*  1817*/    OPC_EmitConvertToTarget, 2,
    1010             : /*  1819*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::SELECT), 0|OPFL_GlueInput,
    1011             :                   MVT::i32, 3/*#Ops*/, 0, 1, 3, 
    1012             :               // Src: (LanaiSelectCC:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2, (imm:{ *:[i32] }):$DDDI) - Complexity = 6
    1013             :               // Dst: (SELECT:{ *:[i32] } GPR:{ *:[i32] }:$Rs1, GPR:{ *:[i32] }:$Rs2, (imm:{ *:[i32] }):$DDDI)
    1014             : /*  1828*/  /*SwitchOpcode*/ 42, TARGET_VAL(LanaiISD::CALL),// ->1873
    1015             : /*  1831*/    OPC_RecordNode, // #0 = 'Call' chained node
    1016             : /*  1832*/    OPC_CaptureGlueInput,
    1017             : /*  1833*/    OPC_RecordChild1, // #1 = $dst
    1018             : /*  1834*/    OPC_Scope, 27, /*->1863*/ // 2 children in Scope
    1019             : /*  1836*/      OPC_MoveChild1,
    1020             : /*  1837*/      OPC_SwitchOpcode /*2 cases */, 9, TARGET_VAL(ISD::TargetGlobalAddress),// ->1850
    1021             : /*  1841*/        OPC_MoveParent,
    1022             : /*  1842*/        OPC_EmitMergeInputChains1_0,
    1023             : /*  1843*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1024             :                       MVT::i32, 1/*#Ops*/, 1, 
    1025             :                   // Src: (Call (tglobaladdr:{ *:[i32] }):$dst) - Complexity = 6
    1026             :                   // Dst: (CALL:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst)
    1027             : /*  1850*/      /*SwitchOpcode*/ 9, TARGET_VAL(ISD::TargetExternalSymbol),// ->1862
    1028             : /*  1853*/        OPC_MoveParent,
    1029             : /*  1854*/        OPC_EmitMergeInputChains1_0,
    1030             : /*  1855*/        OPC_MorphNodeTo1, TARGET_VAL(Lanai::CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1031             :                       MVT::i32, 1/*#Ops*/, 1, 
    1032             :                   // Src: (Call (texternalsym:{ *:[i32] }):$dst) - Complexity = 6
    1033             :                   // Dst: (CALL:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst)
    1034             : /*  1862*/      0, // EndSwitchOpcode
    1035             : /*  1863*/    /*Scope*/ 8, /*->1872*/
    1036             : /*  1864*/      OPC_EmitMergeInputChains1_0,
    1037             : /*  1865*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::CALLR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
    1038             :                     MVT::i32, 1/*#Ops*/, 1, 
    1039             :                 // Src: (Call GPR:{ *:[i32] }:$Rs1) - Complexity = 3
    1040             :                 // Dst: (CALLR:{ *:[i32] } GPR:{ *:[i32] }:$Rs1)
    1041             : /*  1872*/    0, /*End of Scope*/
    1042             : /*  1873*/  /*SwitchOpcode*/ 69, TARGET_VAL(LanaiISD::HI),// ->1945
    1043             : /*  1876*/    OPC_RecordChild0, // #0 = $dst
    1044             : /*  1877*/    OPC_MoveChild0,
    1045             : /*  1878*/    OPC_SwitchOpcode /*5 cases */, 10, TARGET_VAL(ISD::TargetGlobalAddress),// ->1892
    1046             : /*  1882*/      OPC_MoveParent,
    1047             : /*  1883*/      OPC_CheckType, MVT::i32,
    1048             : /*  1885*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
    1049             :                     MVT::i32, 1/*#Ops*/, 0, 
    1050             :                 // Src: (LanaiHi:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst) - Complexity = 6
    1051             :                 // Dst: (MOVHI:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst)
    1052             : /*  1892*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetExternalSymbol),// ->1905
    1053             : /*  1895*/      OPC_MoveParent,
    1054             : /*  1896*/      OPC_CheckType, MVT::i32,
    1055             : /*  1898*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
    1056             :                     MVT::i32, 1/*#Ops*/, 0, 
    1057             :                 // Src: (LanaiHi:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst) - Complexity = 6
    1058             :                 // Dst: (MOVHI:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst)
    1059             : /*  1905*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetBlockAddress),// ->1918
    1060             : /*  1908*/      OPC_MoveParent,
    1061             : /*  1909*/      OPC_CheckType, MVT::i32,
    1062             : /*  1911*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
    1063             :                     MVT::i32, 1/*#Ops*/, 0, 
    1064             :                 // Src: (LanaiHi:{ *:[i32] } (tblockaddress:{ *:[i32] }):$dst) - Complexity = 6
    1065             :                 // Dst: (MOVHI:{ *:[i32] } (tblockaddress:{ *:[i32] }):$dst)
    1066             : /*  1918*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetJumpTable),// ->1931
    1067             : /*  1921*/      OPC_MoveParent,
    1068             : /*  1922*/      OPC_CheckType, MVT::i32,
    1069             : /*  1924*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
    1070             :                     MVT::i32, 1/*#Ops*/, 0, 
    1071             :                 // Src: (LanaiHi:{ *:[i32] } (tjumptable:{ *:[i32] }):$dst) - Complexity = 6
    1072             :                 // Dst: (MOVHI:{ *:[i32] } (tjumptable:{ *:[i32] }):$dst)
    1073             : /*  1931*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetConstantPool),// ->1944
    1074             : /*  1934*/      OPC_MoveParent,
    1075             : /*  1935*/      OPC_CheckType, MVT::i32,
    1076             : /*  1937*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
    1077             :                     MVT::i32, 1/*#Ops*/, 0, 
    1078             :                 // Src: (LanaiHi:{ *:[i32] } (tconstpool:{ *:[i32] }):$dst) - Complexity = 6
    1079             :                 // Dst: (MOVHI:{ *:[i32] } (tconstpool:{ *:[i32] }):$dst)
    1080             : /*  1944*/    0, // EndSwitchOpcode
    1081             : /*  1945*/  /*SwitchOpcode*/ 89, TARGET_VAL(LanaiISD::LO),// ->2037
    1082             : /*  1948*/    OPC_RecordChild0, // #0 = $dst
    1083             : /*  1949*/    OPC_MoveChild0,
    1084             : /*  1950*/    OPC_SwitchOpcode /*5 cases */, 14, TARGET_VAL(ISD::TargetGlobalAddress),// ->1968
    1085             : /*  1954*/      OPC_MoveParent,
    1086             : /*  1955*/      OPC_CheckType, MVT::i32,
    1087             : /*  1957*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
    1088             : /*  1960*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
    1089             :                     MVT::i32, 2/*#Ops*/, 1, 0, 
    1090             :                 // Src: (LanaiLo:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst) - Complexity = 6
    1091             :                 // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$dst)
    1092             : /*  1968*/    /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetExternalSymbol),// ->1985
    1093             : /*  1971*/      OPC_MoveParent,
    1094             : /*  1972*/      OPC_CheckType, MVT::i32,
    1095             : /*  1974*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
    1096             : /*  1977*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
    1097             :                     MVT::i32, 2/*#Ops*/, 1, 0, 
    1098             :                 // Src: (LanaiLo:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst) - Complexity = 6
    1099             :                 // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$dst)
    1100             : /*  1985*/    /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetBlockAddress),// ->2002
    1101             : /*  1988*/      OPC_MoveParent,
    1102             : /*  1989*/      OPC_CheckType, MVT::i32,
    1103             : /*  1991*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
    1104             : /*  1994*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
    1105             :                     MVT::i32, 2/*#Ops*/, 1, 0, 
    1106             :                 // Src: (LanaiLo:{ *:[i32] } (tblockaddress:{ *:[i32] }):$dst) - Complexity = 6
    1107             :                 // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (tblockaddress:{ *:[i32] }):$dst)
    1108             : /*  2002*/    /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetJumpTable),// ->2019
    1109             : /*  2005*/      OPC_MoveParent,
    1110             : /*  2006*/      OPC_CheckType, MVT::i32,
    1111             : /*  2008*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
    1112             : /*  2011*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
    1113             :                     MVT::i32, 2/*#Ops*/, 1, 0, 
    1114             :                 // Src: (LanaiLo:{ *:[i32] } (tjumptable:{ *:[i32] }):$dst) - Complexity = 6
    1115             :                 // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (tjumptable:{ *:[i32] }):$dst)
    1116             : /*  2019*/    /*SwitchOpcode*/ 14, TARGET_VAL(ISD::TargetConstantPool),// ->2036
    1117             : /*  2022*/      OPC_MoveParent,
    1118             : /*  2023*/      OPC_CheckType, MVT::i32,
    1119             : /*  2025*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
    1120             : /*  2028*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
    1121             :                     MVT::i32, 2/*#Ops*/, 1, 0, 
    1122             :                 // Src: (LanaiLo:{ *:[i32] } (tconstpool:{ *:[i32] }):$dst) - Complexity = 6
    1123             :                 // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (tconstpool:{ *:[i32] }):$dst)
    1124             : /*  2036*/    0, // EndSwitchOpcode
    1125             : /*  2037*/  /*SwitchOpcode*/ 69, TARGET_VAL(LanaiISD::SMALL),// ->2109
    1126             : /*  2040*/    OPC_RecordChild0, // #0 = $dst
    1127             : /*  2041*/    OPC_MoveChild0,
    1128             : /*  2042*/    OPC_SwitchOpcode /*5 cases */, 10, TARGET_VAL(ISD::TargetGlobalAddress),// ->2056
    1129             : /*  2046*/      OPC_MoveParent,
    1130             : /*  2047*/      OPC_CheckType, MVT::i32,
    1131             : /*  2049*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
    1132             :                     MVT::i32, 1/*#Ops*/, 0, 
    1133             :                 // Src: (LanaiSmall:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst) - Complexity = 6
    1134             :                 // Dst: (SLI:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$dst)
    1135             : /*  2056*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetExternalSymbol),// ->2069
    1136             : /*  2059*/      OPC_MoveParent,
    1137             : /*  2060*/      OPC_CheckType, MVT::i32,
    1138             : /*  2062*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
    1139             :                     MVT::i32, 1/*#Ops*/, 0, 
    1140             :                 // Src: (LanaiSmall:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst) - Complexity = 6
    1141             :                 // Dst: (SLI:{ *:[i32] } (texternalsym:{ *:[i32] }):$dst)
    1142             : /*  2069*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetBlockAddress),// ->2082
    1143             : /*  2072*/      OPC_MoveParent,
    1144             : /*  2073*/      OPC_CheckType, MVT::i32,
    1145             : /*  2075*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
    1146             :                     MVT::i32, 1/*#Ops*/, 0, 
    1147             :                 // Src: (LanaiSmall:{ *:[i32] } (tblockaddress:{ *:[i32] }):$dst) - Complexity = 6
    1148             :                 // Dst: (SLI:{ *:[i32] } (tblockaddress:{ *:[i32] }):$dst)
    1149             : /*  2082*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetJumpTable),// ->2095
    1150             : /*  2085*/      OPC_MoveParent,
    1151             : /*  2086*/      OPC_CheckType, MVT::i32,
    1152             : /*  2088*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
    1153             :                     MVT::i32, 1/*#Ops*/, 0, 
    1154             :                 // Src: (LanaiSmall:{ *:[i32] } (tjumptable:{ *:[i32] }):$dst) - Complexity = 6
    1155             :                 // Dst: (SLI:{ *:[i32] } (tjumptable:{ *:[i32] }):$dst)
    1156             : /*  2095*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetConstantPool),// ->2108
    1157             : /*  2098*/      OPC_MoveParent,
    1158             : /*  2099*/      OPC_CheckType, MVT::i32,
    1159             : /*  2101*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
    1160             :                     MVT::i32, 1/*#Ops*/, 0, 
    1161             :                 // Src: (LanaiSmall:{ *:[i32] } (tconstpool:{ *:[i32] }):$dst) - Complexity = 6
    1162             :                 // Dst: (SLI:{ *:[i32] } (tconstpool:{ *:[i32] }):$dst)
    1163             : /*  2108*/    0, // EndSwitchOpcode
    1164             : /*  2109*/  /*SwitchOpcode*/ 113, TARGET_VAL(ISD::Constant),// ->2225
    1165             : /*  2112*/    OPC_RecordNode, // #0 = $imm
    1166             : /*  2113*/    OPC_Scope, 18, /*->2133*/ // 6 children in Scope
    1167             : /*  2115*/      OPC_CheckPredicate, 15, // Predicate_i32lo16and
    1168             : /*  2117*/      OPC_EmitRegister, MVT::i32, Lanai::R1,
    1169             : /*  2120*/      OPC_EmitConvertToTarget, 0,
    1170             : /*  2122*/      OPC_EmitNodeXForm, 0, 2, // LO16
    1171             : /*  2125*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::AND_I_LO), 0,
    1172             :                     MVT::i32, 2/*#Ops*/, 1, 3, 
    1173             :                 // Src: (imm:{ *:[i32] })<<P:Predicate_i32lo16and>><<X:LO16>>:$imm - Complexity = 4
    1174             :                 // Dst: (AND_I_LO:{ *:[i32] } R1:{ *:[i32] }, (LO16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32lo16and>>:$imm))
    1175             : /*  2133*/    /*Scope*/ 18, /*->2152*/
    1176             : /*  2134*/      OPC_CheckPredicate, 16, // Predicate_i32hi16and
    1177             : /*  2136*/      OPC_EmitRegister, MVT::i32, Lanai::R1,
    1178             : /*  2139*/      OPC_EmitConvertToTarget, 0,
    1179             : /*  2141*/      OPC_EmitNodeXForm, 1, 2, // HI16
    1180             : /*  2144*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::AND_I_HI), 0,
    1181             :                     MVT::i32, 2/*#Ops*/, 1, 3, 
    1182             :                 // Src: (imm:{ *:[i32] })<<P:Predicate_i32hi16and>><<X:HI16>>:$imm - Complexity = 4
    1183             :                 // Dst: (AND_I_HI:{ *:[i32] } R1:{ *:[i32] }, (HI16:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_i32hi16and>>:$imm))
    1184             : /*  2152*/    /*Scope*/ 14, /*->2167*/
    1185             : /*  2153*/      OPC_CheckPredicate, 14, // Predicate_i32hi16
    1186             : /*  2155*/      OPC_EmitConvertToTarget, 0,
    1187             : /*  2157*/      OPC_EmitNodeXForm, 1, 1, // HI16
    1188             : /*  2160*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::MOVHI), 0,
    1189             :                     MVT::i32, 1/*#Ops*/, 2, 
    1190             :                 // Src: (imm:{ *:[i32] })<<P:Predicate_i32hi16>><<X:HI16>>:$imm16 - Complexity = 4
    1191             :                 // Dst: (MOVHI:{ *:[i32] } (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm16))
    1192             : /*  2167*/    /*Scope*/ 14, /*->2182*/
    1193             : /*  2168*/      OPC_CheckPredicate, 19, // Predicate_i32lo21
    1194             : /*  2170*/      OPC_EmitConvertToTarget, 0,
    1195             : /*  2172*/      OPC_EmitNodeXForm, 3, 1, // LO21
    1196             : /*  2175*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::SLI), 0,
    1197             :                     MVT::i32, 1/*#Ops*/, 2, 
    1198             :                 // Src: (imm:{ *:[i32] })<<P:Predicate_i32lo21>><<X:LO21>>:$imm - Complexity = 4
    1199             :                 // Dst: (SLI:{ *:[i32] } (LO21:{ *:[i32] } (imm:{ *:[i32] }):$imm))
    1200             : /*  2182*/    /*Scope*/ 15, /*->2198*/
    1201             : /*  2183*/      OPC_CheckPredicate, 13, // Predicate_i32lo16z
    1202             : /*  2185*/      OPC_EmitRegister, MVT::i32, Lanai::R0,
    1203             : /*  2188*/      OPC_EmitConvertToTarget, 0,
    1204             : /*  2190*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
    1205             :                     MVT::i32, 2/*#Ops*/, 1, 2, 
    1206             :                 // Src: (imm:{ *:[i32] })<<P:Predicate_i32lo16z>><<X:LO16>>:$imm - Complexity = 4
    1207             :                 // Dst: (OR_I_LO:{ *:[i32] } R0:{ *:[i32] }, (imm:{ *:[i32] }):$imm)
    1208             : /*  2198*/    /*Scope*/ 25, /*->2224*/
    1209             : /*  2199*/      OPC_EmitConvertToTarget, 0,
    1210             : /*  2201*/      OPC_EmitNodeXForm, 1, 1, // HI16
    1211             : /*  2204*/      OPC_EmitNode1, TARGET_VAL(Lanai::MOVHI), 0,
    1212             :                     MVT::i32, 1/*#Ops*/, 2,  // Results = #3
    1213             : /*  2211*/      OPC_EmitConvertToTarget, 0,
    1214             : /*  2213*/      OPC_EmitNodeXForm, 0, 4, // LO16
    1215             : /*  2216*/      OPC_MorphNodeTo1, TARGET_VAL(Lanai::OR_I_LO), 0,
    1216             :                     MVT::i32, 2/*#Ops*/, 3, 5, 
    1217             :                 // Src: (imm:{ *:[i32] }):$imm - Complexity = 3
    1218             :                 // Dst: (OR_I_LO:{ *:[i32] } (MOVHI:{ *:[i32] } (HI16:{ *:[i32] } (imm:{ *:[i32] }):$imm)), (LO16:{ *:[i32] } (imm:{ *:[i32] }):$imm))
    1219             : /*  2224*/    0, /*End of Scope*/
    1220             : /*  2225*/  /*SwitchOpcode*/ 14, TARGET_VAL(ISD::BR),// ->2242
    1221             : /*  2228*/    OPC_RecordNode, // #0 = 'br' chained node
    1222             : /*  2229*/    OPC_RecordChild1, // #1 = $addr
    1223             : /*  2230*/    OPC_MoveChild1,
    1224             : /*  2231*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
    1225             : /*  2234*/    OPC_MoveParent,
    1226             : /*  2235*/    OPC_EmitMergeInputChains1_0,
    1227             : /*  2236*/    OPC_MorphNodeTo0, TARGET_VAL(Lanai::BT), 0|OPFL_Chain,
    1228             :                   1/*#Ops*/, 1, 
    1229             :               // Src: (br (bb:{ *:[Other] }):$addr) - Complexity = 3
    1230             :               // Dst: (BT (bb:{ *:[Other] }):$addr)
    1231             : /*  2242*/  /*SwitchOpcode*/ 11, TARGET_VAL(ISD::BRIND),// ->2256
    1232             : /*  2245*/    OPC_RecordNode, // #0 = 'brind' chained node
    1233             : /*  2246*/    OPC_RecordChild1, // #1 = $Rs2
    1234             : /*  2247*/    OPC_CheckChild1Type, MVT::i32,
    1235             : /*  2249*/    OPC_EmitMergeInputChains1_0,
    1236             : /*  2250*/    OPC_MorphNodeTo0, TARGET_VAL(Lanai::JR), 0|OPFL_Chain,
    1237             :                   1/*#Ops*/, 1, 
    1238             :               // Src: (brind GPR:{ *:[i32] }:$Rs2) - Complexity = 3
    1239             :               // Dst: (JR GPR:{ *:[i32] }:$Rs2)
    1240             : /*  2256*/  /*SwitchOpcode*/ 8, TARGET_VAL(LanaiISD::RET_FLAG),// ->2267
    1241             : /*  2259*/    OPC_RecordNode, // #0 = 'RetFlag' chained node
    1242             : /*  2260*/    OPC_CaptureGlueInput,
    1243             : /*  2261*/    OPC_EmitMergeInputChains1_0,
    1244             : /*  2262*/    OPC_MorphNodeTo0, TARGET_VAL(Lanai::RET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
    1245             :                   0/*#Ops*/, 
    1246             :               // Src: (RetFlag) - Complexity = 3
    1247             :               // Dst: (RET)
    1248             : /*  2267*/  /*SwitchOpcode*/ 9, TARGET_VAL(LanaiISD::ADJDYNALLOC),// ->2279
    1249             : /*  2270*/    OPC_RecordChild0, // #0 = $src
    1250             : /*  2271*/    OPC_MorphNodeTo2, TARGET_VAL(Lanai::ADJDYNALLOC), 0,
    1251             :                   MVT::i32, MVT::i32, 1/*#Ops*/, 0, 
    1252             :               // Src: (LanaiAdjDynAlloc:{ *:[i32] } GPR:{ *:[i32] }:$src) - Complexity = 3
    1253             :               // Dst: (ADJDYNALLOC:{ *:[i32] }:{ *:[i32] } GPR:{ *:[i32] }:$src)
    1254             : /*  2279*/  /*SwitchOpcode*/ 8, TARGET_VAL(ISD::CTPOP),// ->2290
    1255             : /*  2282*/    OPC_RecordChild0, // #0 = $Rs1
    1256             : /*  2283*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::POPC), 0,
    1257             :                   MVT::i32, 1/*#Ops*/, 0, 
    1258             :               // Src: (ctpop:{ *:[i32] } GPR:{ *:[i32] }:$Rs1) - Complexity = 3
    1259             :               // Dst: (POPC:{ *:[i32] } GPR:{ *:[i32] }:$Rs1)
    1260             : /*  2290*/  /*SwitchOpcode*/ 8, TARGET_VAL(ISD::CTLZ),// ->2301
    1261             : /*  2293*/    OPC_RecordChild0, // #0 = $Rs1
    1262             : /*  2294*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::LEADZ), 0,
    1263             :                   MVT::i32, 1/*#Ops*/, 0, 
    1264             :               // Src: (ctlz:{ *:[i32] } GPR:{ *:[i32] }:$Rs1) - Complexity = 3
    1265             :               // Dst: (LEADZ:{ *:[i32] } GPR:{ *:[i32] }:$Rs1)
    1266             : /*  2301*/  /*SwitchOpcode*/ 8, TARGET_VAL(ISD::CTTZ),// ->2312
    1267             : /*  2304*/    OPC_RecordChild0, // #0 = $Rs1
    1268             : /*  2305*/    OPC_MorphNodeTo1, TARGET_VAL(Lanai::TRAILZ), 0,
    1269             :                   MVT::i32, 1/*#Ops*/, 0, 
    1270             :               // Src: (cttz:{ *:[i32] } GPR:{ *:[i32] }:$Rs1) - Complexity = 3
    1271             :               // Dst: (TRAILZ:{ *:[i32] } GPR:{ *:[i32] }:$Rs1)
    1272             : /*  2312*/  0, // EndSwitchOpcode
    1273             :     0
    1274             :   }; // Total Array size is 2314 bytes
    1275             : 
    1276             :   // Opcode Histogram:
    1277             :   // #OPC_Scope                                = 41
    1278             :   // #OPC_RecordNode                           = 10
    1279             :   // #OPC_RecordChild                          = 62
    1280             :   // #OPC_RecordMemRef                         = 2
    1281             :   // #OPC_CaptureGlueInput                     = 9
    1282             :   // #OPC_MoveChild                            = 32
    1283             :   // #OPC_MoveParent                           = 89
    1284             :   // #OPC_CheckSame                            = 0
    1285             :   // #OPC_CheckChildSame                       = 0
    1286             :   // #OPC_CheckPatternPredicate                = 0
    1287             :   // #OPC_CheckPredicate                       = 67
    1288             :   // #OPC_CheckOpcode                          = 24
    1289             :   // #OPC_SwitchOpcode                         = 9
    1290             :   // #OPC_CheckType                            = 32
    1291             :   // #OPC_SwitchType                           = 0
    1292             :   // #OPC_CheckChildType                       = 6
    1293             :   // #OPC_CheckInteger                         = 0
    1294             :   // #OPC_CheckChildInteger                    = 0
    1295             :   // #OPC_CheckCondCode                        = 0
    1296             :   // #OPC_CheckValueType                       = 0
    1297             :   // #OPC_CheckComplexPat                      = 21
    1298             :   // #OPC_CheckAndImm                          = 0
    1299             :   // #OPC_CheckOrImm                           = 0
    1300             :   // #OPC_CheckFoldableChainNode               = 0
    1301             :   // #OPC_EmitInteger                          = 15
    1302             :   // #OPC_EmitStringInteger                    = 0
    1303             :   // #OPC_EmitRegister                         = 10
    1304             :   // #OPC_EmitConvertToTarget                  = 39
    1305             :   // #OPC_EmitMergeInputChains                 = 30
    1306             :   // #OPC_EmitCopyToReg                        = 5
    1307             :   // #OPC_EmitNode                             = 3
    1308             :   // #OPC_EmitNodeXForm                        = 38
    1309             :   // #OPC_CompleteMatch                        = 0
    1310             :   // #OPC_MorphNodeTo                          = 124
    1311             : 
    1312             :   #undef TARGET_VAL
    1313        1238 :   SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
    1314             : }
    1315             : #endif // GET_DAGISEL_BODY
    1316             : 
    1317             : #ifdef GET_DAGISEL_DECL
    1318             : bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
    1319             : #endif
    1320             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1321         300 : bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
    1322             : #if DAGISEL_INLINE
    1323             :   override
    1324             : #endif
    1325             : {
    1326         300 :   switch (PredNo) {
    1327           0 :   default: llvm_unreachable("Invalid predicate in table?");
    1328          66 :   case 0: { 
    1329             :     // Predicate_unindexedload
    1330             :     SDNode *N = Node;
    1331          66 : if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
    1332          66 : return true;
    1333             : 
    1334             :   }
    1335          67 :   case 1: { 
    1336             :     // Predicate_load
    1337             :     SDNode *N = Node;
    1338          67 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
    1339          65 : return true;
    1340             : 
    1341             :   }
    1342           9 :   case 2: { 
    1343             :     // Predicate_zextload
    1344             :     SDNode *N = Node;
    1345           9 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
    1346           0 : return true;
    1347             : 
    1348             :   }
    1349           0 :   case 3: { 
    1350             :     // Predicate_zextloadi32
    1351             :     SDNode *N = Node;
    1352             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i32) return false;
    1353           0 : return true;
    1354             : 
    1355             :   }
    1356           2 :   case 4: { 
    1357             :     // Predicate_zextloadi16
    1358             :     // Predicate_sextloadi16
    1359             :     // Predicate_extloadi16
    1360             :     SDNode *N = Node;
    1361             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i16) return false;
    1362           2 : return true;
    1363             : 
    1364             :   }
    1365           2 :   case 5: { 
    1366             :     // Predicate_zextloadi8
    1367             :     // Predicate_sextloadi8
    1368             :     // Predicate_extloadi8
    1369             :     SDNode *N = Node;
    1370             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i8) return false;
    1371           0 : return true;
    1372             : 
    1373             :   }
    1374           9 :   case 6: { 
    1375             :     // Predicate_sextload
    1376             :     SDNode *N = Node;
    1377           9 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
    1378           0 : return true;
    1379             : 
    1380             :   }
    1381           3 :   case 7: { 
    1382             :     // Predicate_extload
    1383             :     SDNode *N = Node;
    1384           3 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
    1385           2 : return true;
    1386             : 
    1387             :   }
    1388           5 :   case 8: { 
    1389             :     // Predicate_unindexedstore
    1390             :     SDNode *N = Node;
    1391           5 : if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
    1392           5 : return true;
    1393             : 
    1394             :   }
    1395           5 :   case 9: { 
    1396             :     // Predicate_store
    1397             :     SDNode *N = Node;
    1398           5 :  if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
    1399           3 : return true;
    1400             : 
    1401             :   }
    1402           2 :   case 10: { 
    1403             :     // Predicate_truncstore
    1404             :     SDNode *N = Node;
    1405           2 :  if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
    1406           2 : return true;
    1407             : 
    1408             :   }
    1409           4 :   case 11: { 
    1410             :     // Predicate_truncstorei16
    1411             :     SDNode *N = Node;
    1412             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i16) return false;
    1413           4 : return true;
    1414             : 
    1415             :   }
    1416           2 :   case 12: { 
    1417             :     // Predicate_truncstorei8
    1418             :     SDNode *N = Node;
    1419             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i8) return false;
    1420           0 : return true;
    1421             : 
    1422             :   }
    1423             :   case 13: { 
    1424             :     // Predicate_i32lo16z
    1425             :     auto *N = cast<ConstantSDNode>(Node);
    1426             : 
    1427             :     // i32lo16 predicate - true if the 32-bit immediate has only rightmost 16
    1428             :     // bits set.
    1429          92 :     return ((N->getZExtValue() & 0xFFFFUL) == N->getZExtValue());
    1430             :   }
    1431             :   case 14: { 
    1432             :     // Predicate_i32hi16
    1433             :     auto *N = cast<ConstantSDNode>(Node);
    1434             : 
    1435             :     // i32hi16 predicate - true if the 32-bit immediate has only leftmost 16
    1436             :     // bits set.
    1437          34 :     return ((N->getZExtValue() & 0xFFFF0000UL) == N->getZExtValue());
    1438             :   }
    1439             :   case 15: { 
    1440             :     // Predicate_i32lo16and
    1441             :     auto *N = cast<ConstantSDNode>(Node);
    1442             : 
    1443             :     // i32lo16 predicate - true if the 32-bit immediate has the rightmost 16
    1444             :     // bits set and the leftmost 16 bits 1's.
    1445          18 :     return (N->getZExtValue() >= 0xFFFF0000UL);
    1446             :   }
    1447             :   case 16: { 
    1448             :     // Predicate_i32hi16and
    1449             :     auto *N = cast<ConstantSDNode>(Node);
    1450             : 
    1451             :     // i32lo16 predicate - true if the 32-bit immediate has the leftmost 16
    1452             :     // bits set and the rightmost 16 bits 1's.
    1453          16 :     return ((N->getZExtValue() & 0xFFFFUL) == 0xFFFFUL);
    1454             :   }
    1455             :   case 17: { 
    1456             :     // Predicate_i32neg16
    1457             :     auto *N = cast<ConstantSDNode>(Node);
    1458             : 
    1459             :     // i32neg16 predicate - true if the 32-bit immediate is negative and can
    1460             :     // be represented by a 16 bit integer.
    1461          18 :     int Imm = N->getSExtValue();
    1462          18 :     return (Imm < 0) && (isInt<16>(Imm));
    1463             :   }
    1464             :   case 18: { 
    1465             :     // Predicate_immShift
    1466             :     auto *N = cast<ConstantSDNode>(Node);
    1467             : 
    1468          27 :     int Imm = N->getSExtValue();
    1469          27 :     return Imm >= -31 && Imm <= 31;
    1470             :   }
    1471             :   case 19: { 
    1472             :     // Predicate_i32lo21
    1473             :     auto *N = cast<ConstantSDNode>(Node);
    1474             : 
    1475             :     // i32lo21 predicate - true if the 32-bit immediate has only rightmost 21
    1476             :     // bits set.
    1477          16 :     return ((N->getZExtValue() & 0x1FFFFFUL) == N->getZExtValue());
    1478             :   }
    1479             :   }
    1480             : }
    1481             : #endif // GET_DAGISEL_BODY
    1482             : 
    1483             : #ifdef GET_DAGISEL_DECL
    1484             : bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
    1485             :       SDValue N, unsigned PatternNo,
    1486             :       SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result) override;
    1487             : #endif
    1488             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1489          78 : bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
    1490             :       SDValue N, unsigned PatternNo,
    1491             :       SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result)
    1492             : #if DAGISEL_INLINE
    1493             :   override
    1494             : #endif
    1495             : {
    1496          78 :   unsigned NextRes = Result.size();
    1497          78 :   switch (PatternNo) {
    1498           0 :   default: llvm_unreachable("Invalid pattern # in table?");
    1499          67 :   case 0:
    1500          67 :     Result.resize(NextRes+3);
    1501         335 :   return selectAddrRi(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
    1502           6 :   case 1:
    1503           6 :     Result.resize(NextRes+3);
    1504          24 :   return selectAddrRr(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
    1505           4 :   case 2:
    1506           4 :     Result.resize(NextRes+3);
    1507          20 :   return selectAddrSpls(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
    1508           1 :   case 3:
    1509           1 :     Result.resize(NextRes+1);
    1510           2 :   return selectAddrSls(N, Result[NextRes+0].first);
    1511             :   }
    1512             : }
    1513             : #endif // GET_DAGISEL_BODY
    1514             : 
    1515             : #ifdef GET_DAGISEL_DECL
    1516             : SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
    1517             : #endif
    1518             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
    1519          57 : SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
    1520             : #if DAGISEL_INLINE
    1521             :   override
    1522             : #endif
    1523             : {
    1524          57 :   switch (XFormNo) {
    1525           0 :   default: llvm_unreachable("Invalid xform # in table?");
    1526          38 :   case 0: {  // LO16
    1527             :     ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
    1528             : 
    1529          76 :   return CurDAG->getTargetConstant((uint64_t)N->getZExtValue() & 0xffff,
    1530          76 :                                    SDLoc(N), MVT::i32);
    1531             : 
    1532             :   }
    1533           2 :   case 1: {  // HI16
    1534             :     ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
    1535             : 
    1536           6 :   return CurDAG->getTargetConstant((uint64_t)N->getZExtValue() >> 16, SDLoc(N),
    1537           2 :                                    MVT::i32);
    1538             : 
    1539             :   }
    1540          11 :   case 2: {  // NEG
    1541             :     ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
    1542             : 
    1543          44 :   return CurDAG->getTargetConstant(-N->getSExtValue(), SDLoc(N), MVT::i32);
    1544             : 
    1545             :   }
    1546           6 :   case 3: {  // LO21
    1547             :     ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
    1548             : 
    1549          12 :   return CurDAG->getTargetConstant((uint64_t)N->getZExtValue() & 0x1fffff,
    1550          12 :                                    SDLoc(N), MVT::i32);
    1551             : 
    1552             :   }
    1553             :   }
    1554             : }
    1555             : #endif // GET_DAGISEL_BODY
    1556             : 
    1557             : 
    1558             : #ifdef DAGISEL_INLINE
    1559             : #undef DAGISEL_INLINE
    1560             : #endif
    1561             : #ifdef DAGISEL_CLASS_COLONCOLON
    1562             : #undef DAGISEL_CLASS_COLONCOLON
    1563             : #endif
    1564             : #ifdef GET_DAGISEL_DECL
    1565             : #undef GET_DAGISEL_DECL
    1566             : #endif
    1567             : #ifdef GET_DAGISEL_BODY
    1568             : #undef GET_DAGISEL_BODY
    1569             : #endif

Generated by: LCOV version 1.13