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

Generated by: LCOV version 1.13