LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/WebAssembly - WebAssemblyGenDAGISel.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 63 70 90.0 %
Date: 2018-10-20 13:21:21 Functions: 2 2 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
       2             : |*                                                                            *|
       3             : |* DAG Instruction Selector for the WebAssembly target                        *|
       4             : |*                                                                            *|
       5             : |* Automatically generated file, do not edit!                                 *|
       6             : |*                                                                            *|
       7             : \*===----------------------------------------------------------------------===*/
       8             : 
       9             : // *** NOTE: This file is #included into the middle of the target
      10             : // *** instruction selector class.  These functions are really methods.
      11             : 
      12             : // If GET_DAGISEL_DECL is #defined with any value, only function
      13             : // declarations will be included when this file is included.
      14             : // If GET_DAGISEL_BODY is #defined, its value should be the name of
      15             : // the instruction selector class. Function bodies will be emitted
      16             : // and each function's name will be qualified with the name of the
      17             : // class.
      18             : //
      19             : // When neither of the GET_DAGISEL* macros is defined, the functions
      20             : // are emitted inline.
      21             : 
      22             : #if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)
      23             : #error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, undef both for inline definitions
      24             : #endif
      25             : 
      26             : #ifdef GET_DAGISEL_BODY
      27             : #define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)
      28             : #define LOCAL_DAGISEL_STRINGIZE_(X) #X
      29             : static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1,
      30             :    "GET_DAGISEL_BODY is empty: it should be defined with the class name");
      31             : #undef LOCAL_DAGISEL_STRINGIZE_
      32             : #undef LOCAL_DAGISEL_STRINGIZE
      33             : #endif
      34             : 
      35             : #if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)
      36             : #define DAGISEL_INLINE 1
      37             : #else
      38             : #define DAGISEL_INLINE 0
      39             : #endif
      40             : 
      41             : #if !DAGISEL_INLINE
      42             : #define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::
      43             : #else
      44             : #define DAGISEL_CLASS_COLONCOLON
      45             : #endif
      46             : 
      47             : #ifdef GET_DAGISEL_DECL
      48             : void SelectCode(SDNode *N);
      49             : #endif
      50             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
      51             : void DAGISEL_CLASS_COLONCOLON SelectCode(SDNode *N)
      52             : {
      53             :   // Some target values are emitted as 2 bytes, TARGET_VAL handles
      54             :   // this.
      55             :   #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
      56             :   static const unsigned char MatcherTable[] = {
      57             : /*     0*/  OPC_SwitchOpcode /*80 cases */, 126|128,1|128,1/*16638*/, TARGET_VAL(ISD::AND),// ->16644
      58             : /*     6*/    OPC_Scope, 61, /*->69*/ // 303 children in Scope
      59             : /*     8*/      OPC_CheckAndImm, 127|128,1/*255*/, 
      60             : /*    11*/      OPC_MoveChild0,
      61             : /*    12*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
      62             : /*    15*/      OPC_MoveChild0,
      63             : /*    16*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
      64             : /*    19*/      OPC_RecordMemRef,
      65             : /*    20*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
      66             : /*    21*/      OPC_CheckFoldableChainNode,
      67             : /*    22*/      OPC_MoveChild1,
      68             : /*    23*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      69             : /*    26*/      OPC_RecordChild0, // #1 = $addr
      70             : /*    27*/      OPC_MoveChild1,
      71             : /*    28*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
      72             : /*    31*/      OPC_RecordChild0, // #2 = $off
      73             : /*    32*/      OPC_MoveChild0,
      74             : /*    33*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
      75             : /*    36*/      OPC_MoveParent,
      76             : /*    37*/      OPC_MoveParent,
      77             : /*    38*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
      78             : /*    40*/      OPC_CheckType, MVT::i32,
      79             : /*    42*/      OPC_MoveParent,
      80             : /*    43*/      OPC_MoveChild2,
      81             : /*    44*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
      82             : /*    47*/      OPC_RecordChild0, // #3 = $val
      83             : /*    48*/      OPC_MoveParent,
      84             : /*    49*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
      85             : /*    51*/      OPC_MoveParent,
      86             : /*    52*/      OPC_MoveParent,
      87             : /*    53*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
      88             : /*    55*/      OPC_EmitMergeInputChains1_0,
      89             : /*    56*/      OPC_EmitInteger, MVT::i32, 0, 
      90             : /*    59*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
      91             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
      92             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 28
      93             :                 // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
      94             : /*    69*/    /*Scope*/ 62, /*->132*/
      95             : /*    70*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
      96             : /*    74*/      OPC_MoveChild0,
      97             : /*    75*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
      98             : /*    78*/      OPC_MoveChild0,
      99             : /*    79*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
     100             : /*    82*/      OPC_RecordMemRef,
     101             : /*    83*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
     102             : /*    84*/      OPC_CheckFoldableChainNode,
     103             : /*    85*/      OPC_MoveChild1,
     104             : /*    86*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     105             : /*    89*/      OPC_RecordChild0, // #1 = $addr
     106             : /*    90*/      OPC_MoveChild1,
     107             : /*    91*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     108             : /*    94*/      OPC_RecordChild0, // #2 = $off
     109             : /*    95*/      OPC_MoveChild0,
     110             : /*    96*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     111             : /*    99*/      OPC_MoveParent,
     112             : /*   100*/      OPC_MoveParent,
     113             : /*   101*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     114             : /*   103*/      OPC_CheckType, MVT::i32,
     115             : /*   105*/      OPC_MoveParent,
     116             : /*   106*/      OPC_MoveChild2,
     117             : /*   107*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     118             : /*   110*/      OPC_RecordChild0, // #3 = $val
     119             : /*   111*/      OPC_MoveParent,
     120             : /*   112*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
     121             : /*   114*/      OPC_MoveParent,
     122             : /*   115*/      OPC_MoveParent,
     123             : /*   116*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     124             : /*   118*/      OPC_EmitMergeInputChains1_0,
     125             : /*   119*/      OPC_EmitInteger, MVT::i32, 0, 
     126             : /*   122*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
     127             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     128             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 28
     129             :                 // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     130             : /*   132*/    /*Scope*/ 61, /*->194*/
     131             : /*   133*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     132             : /*   136*/      OPC_MoveChild0,
     133             : /*   137*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     134             : /*   140*/      OPC_MoveChild0,
     135             : /*   141*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
     136             : /*   144*/      OPC_RecordMemRef,
     137             : /*   145*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
     138             : /*   146*/      OPC_CheckFoldableChainNode,
     139             : /*   147*/      OPC_MoveChild1,
     140             : /*   148*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     141             : /*   151*/      OPC_RecordChild0, // #1 = $addr
     142             : /*   152*/      OPC_MoveChild1,
     143             : /*   153*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     144             : /*   156*/      OPC_RecordChild0, // #2 = $off
     145             : /*   157*/      OPC_MoveChild0,
     146             : /*   158*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     147             : /*   161*/      OPC_MoveParent,
     148             : /*   162*/      OPC_MoveParent,
     149             : /*   163*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     150             : /*   165*/      OPC_CheckType, MVT::i32,
     151             : /*   167*/      OPC_MoveParent,
     152             : /*   168*/      OPC_MoveChild2,
     153             : /*   169*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     154             : /*   172*/      OPC_RecordChild0, // #3 = $val
     155             : /*   173*/      OPC_MoveParent,
     156             : /*   174*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
     157             : /*   176*/      OPC_MoveParent,
     158             : /*   177*/      OPC_MoveParent,
     159             : /*   178*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     160             : /*   180*/      OPC_EmitMergeInputChains1_0,
     161             : /*   181*/      OPC_EmitInteger, MVT::i32, 0, 
     162             : /*   184*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
     163             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     164             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 28
     165             :                 // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     166             : /*   194*/    /*Scope*/ 62, /*->257*/
     167             : /*   195*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     168             : /*   199*/      OPC_MoveChild0,
     169             : /*   200*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     170             : /*   203*/      OPC_MoveChild0,
     171             : /*   204*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
     172             : /*   207*/      OPC_RecordMemRef,
     173             : /*   208*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
     174             : /*   209*/      OPC_CheckFoldableChainNode,
     175             : /*   210*/      OPC_MoveChild1,
     176             : /*   211*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     177             : /*   214*/      OPC_RecordChild0, // #1 = $addr
     178             : /*   215*/      OPC_MoveChild1,
     179             : /*   216*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     180             : /*   219*/      OPC_RecordChild0, // #2 = $off
     181             : /*   220*/      OPC_MoveChild0,
     182             : /*   221*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     183             : /*   224*/      OPC_MoveParent,
     184             : /*   225*/      OPC_MoveParent,
     185             : /*   226*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     186             : /*   228*/      OPC_CheckType, MVT::i32,
     187             : /*   230*/      OPC_MoveParent,
     188             : /*   231*/      OPC_MoveChild2,
     189             : /*   232*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     190             : /*   235*/      OPC_RecordChild0, // #3 = $val
     191             : /*   236*/      OPC_MoveParent,
     192             : /*   237*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
     193             : /*   239*/      OPC_MoveParent,
     194             : /*   240*/      OPC_MoveParent,
     195             : /*   241*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     196             : /*   243*/      OPC_EmitMergeInputChains1_0,
     197             : /*   244*/      OPC_EmitInteger, MVT::i32, 0, 
     198             : /*   247*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
     199             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     200             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 28
     201             :                 // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     202             : /*   257*/    /*Scope*/ 61, /*->319*/
     203             : /*   258*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     204             : /*   261*/      OPC_MoveChild0,
     205             : /*   262*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     206             : /*   265*/      OPC_MoveChild0,
     207             : /*   266*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
     208             : /*   269*/      OPC_RecordMemRef,
     209             : /*   270*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
     210             : /*   271*/      OPC_CheckFoldableChainNode,
     211             : /*   272*/      OPC_MoveChild1,
     212             : /*   273*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     213             : /*   276*/      OPC_RecordChild0, // #1 = $addr
     214             : /*   277*/      OPC_MoveChild1,
     215             : /*   278*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     216             : /*   281*/      OPC_RecordChild0, // #2 = $off
     217             : /*   282*/      OPC_MoveChild0,
     218             : /*   283*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     219             : /*   286*/      OPC_MoveParent,
     220             : /*   287*/      OPC_MoveParent,
     221             : /*   288*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     222             : /*   290*/      OPC_CheckType, MVT::i32,
     223             : /*   292*/      OPC_MoveParent,
     224             : /*   293*/      OPC_MoveChild2,
     225             : /*   294*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     226             : /*   297*/      OPC_RecordChild0, // #3 = $val
     227             : /*   298*/      OPC_MoveParent,
     228             : /*   299*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
     229             : /*   301*/      OPC_MoveParent,
     230             : /*   302*/      OPC_MoveParent,
     231             : /*   303*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     232             : /*   305*/      OPC_EmitMergeInputChains1_0,
     233             : /*   306*/      OPC_EmitInteger, MVT::i32, 0, 
     234             : /*   309*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
     235             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     236             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 28
     237             :                 // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     238             : /*   319*/    /*Scope*/ 62, /*->382*/
     239             : /*   320*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     240             : /*   324*/      OPC_MoveChild0,
     241             : /*   325*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     242             : /*   328*/      OPC_MoveChild0,
     243             : /*   329*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
     244             : /*   332*/      OPC_RecordMemRef,
     245             : /*   333*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
     246             : /*   334*/      OPC_CheckFoldableChainNode,
     247             : /*   335*/      OPC_MoveChild1,
     248             : /*   336*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     249             : /*   339*/      OPC_RecordChild0, // #1 = $addr
     250             : /*   340*/      OPC_MoveChild1,
     251             : /*   341*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     252             : /*   344*/      OPC_RecordChild0, // #2 = $off
     253             : /*   345*/      OPC_MoveChild0,
     254             : /*   346*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     255             : /*   349*/      OPC_MoveParent,
     256             : /*   350*/      OPC_MoveParent,
     257             : /*   351*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     258             : /*   353*/      OPC_CheckType, MVT::i32,
     259             : /*   355*/      OPC_MoveParent,
     260             : /*   356*/      OPC_MoveChild2,
     261             : /*   357*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     262             : /*   360*/      OPC_RecordChild0, // #3 = $val
     263             : /*   361*/      OPC_MoveParent,
     264             : /*   362*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
     265             : /*   364*/      OPC_MoveParent,
     266             : /*   365*/      OPC_MoveParent,
     267             : /*   366*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     268             : /*   368*/      OPC_EmitMergeInputChains1_0,
     269             : /*   369*/      OPC_EmitInteger, MVT::i32, 0, 
     270             : /*   372*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
     271             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     272             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 28
     273             :                 // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     274             : /*   382*/    /*Scope*/ 61, /*->444*/
     275             : /*   383*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     276             : /*   386*/      OPC_MoveChild0,
     277             : /*   387*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     278             : /*   390*/      OPC_MoveChild0,
     279             : /*   391*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
     280             : /*   394*/      OPC_RecordMemRef,
     281             : /*   395*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
     282             : /*   396*/      OPC_CheckFoldableChainNode,
     283             : /*   397*/      OPC_MoveChild1,
     284             : /*   398*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     285             : /*   401*/      OPC_RecordChild0, // #1 = $addr
     286             : /*   402*/      OPC_MoveChild1,
     287             : /*   403*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     288             : /*   406*/      OPC_RecordChild0, // #2 = $off
     289             : /*   407*/      OPC_MoveChild0,
     290             : /*   408*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     291             : /*   411*/      OPC_MoveParent,
     292             : /*   412*/      OPC_MoveParent,
     293             : /*   413*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     294             : /*   415*/      OPC_CheckType, MVT::i32,
     295             : /*   417*/      OPC_MoveParent,
     296             : /*   418*/      OPC_MoveChild2,
     297             : /*   419*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     298             : /*   422*/      OPC_RecordChild0, // #3 = $val
     299             : /*   423*/      OPC_MoveParent,
     300             : /*   424*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
     301             : /*   426*/      OPC_MoveParent,
     302             : /*   427*/      OPC_MoveParent,
     303             : /*   428*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     304             : /*   430*/      OPC_EmitMergeInputChains1_0,
     305             : /*   431*/      OPC_EmitInteger, MVT::i32, 0, 
     306             : /*   434*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
     307             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     308             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 28
     309             :                 // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     310             : /*   444*/    /*Scope*/ 62, /*->507*/
     311             : /*   445*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     312             : /*   449*/      OPC_MoveChild0,
     313             : /*   450*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     314             : /*   453*/      OPC_MoveChild0,
     315             : /*   454*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
     316             : /*   457*/      OPC_RecordMemRef,
     317             : /*   458*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
     318             : /*   459*/      OPC_CheckFoldableChainNode,
     319             : /*   460*/      OPC_MoveChild1,
     320             : /*   461*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     321             : /*   464*/      OPC_RecordChild0, // #1 = $addr
     322             : /*   465*/      OPC_MoveChild1,
     323             : /*   466*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     324             : /*   469*/      OPC_RecordChild0, // #2 = $off
     325             : /*   470*/      OPC_MoveChild0,
     326             : /*   471*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     327             : /*   474*/      OPC_MoveParent,
     328             : /*   475*/      OPC_MoveParent,
     329             : /*   476*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     330             : /*   478*/      OPC_CheckType, MVT::i32,
     331             : /*   480*/      OPC_MoveParent,
     332             : /*   481*/      OPC_MoveChild2,
     333             : /*   482*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     334             : /*   485*/      OPC_RecordChild0, // #3 = $val
     335             : /*   486*/      OPC_MoveParent,
     336             : /*   487*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
     337             : /*   489*/      OPC_MoveParent,
     338             : /*   490*/      OPC_MoveParent,
     339             : /*   491*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     340             : /*   493*/      OPC_EmitMergeInputChains1_0,
     341             : /*   494*/      OPC_EmitInteger, MVT::i32, 0, 
     342             : /*   497*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
     343             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     344             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 28
     345             :                 // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     346             : /*   507*/    /*Scope*/ 61, /*->569*/
     347             : /*   508*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     348             : /*   511*/      OPC_MoveChild0,
     349             : /*   512*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     350             : /*   515*/      OPC_MoveChild0,
     351             : /*   516*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
     352             : /*   519*/      OPC_RecordMemRef,
     353             : /*   520*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
     354             : /*   521*/      OPC_CheckFoldableChainNode,
     355             : /*   522*/      OPC_MoveChild1,
     356             : /*   523*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     357             : /*   526*/      OPC_RecordChild0, // #1 = $addr
     358             : /*   527*/      OPC_MoveChild1,
     359             : /*   528*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     360             : /*   531*/      OPC_RecordChild0, // #2 = $off
     361             : /*   532*/      OPC_MoveChild0,
     362             : /*   533*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     363             : /*   536*/      OPC_MoveParent,
     364             : /*   537*/      OPC_MoveParent,
     365             : /*   538*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     366             : /*   540*/      OPC_CheckType, MVT::i32,
     367             : /*   542*/      OPC_MoveParent,
     368             : /*   543*/      OPC_MoveChild2,
     369             : /*   544*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     370             : /*   547*/      OPC_RecordChild0, // #3 = $val
     371             : /*   548*/      OPC_MoveParent,
     372             : /*   549*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
     373             : /*   551*/      OPC_MoveParent,
     374             : /*   552*/      OPC_MoveParent,
     375             : /*   553*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     376             : /*   555*/      OPC_EmitMergeInputChains1_0,
     377             : /*   556*/      OPC_EmitInteger, MVT::i32, 0, 
     378             : /*   559*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
     379             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     380             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 28
     381             :                 // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     382             : /*   569*/    /*Scope*/ 62, /*->632*/
     383             : /*   570*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     384             : /*   574*/      OPC_MoveChild0,
     385             : /*   575*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     386             : /*   578*/      OPC_MoveChild0,
     387             : /*   579*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
     388             : /*   582*/      OPC_RecordMemRef,
     389             : /*   583*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
     390             : /*   584*/      OPC_CheckFoldableChainNode,
     391             : /*   585*/      OPC_MoveChild1,
     392             : /*   586*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     393             : /*   589*/      OPC_RecordChild0, // #1 = $addr
     394             : /*   590*/      OPC_MoveChild1,
     395             : /*   591*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     396             : /*   594*/      OPC_RecordChild0, // #2 = $off
     397             : /*   595*/      OPC_MoveChild0,
     398             : /*   596*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     399             : /*   599*/      OPC_MoveParent,
     400             : /*   600*/      OPC_MoveParent,
     401             : /*   601*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     402             : /*   603*/      OPC_CheckType, MVT::i32,
     403             : /*   605*/      OPC_MoveParent,
     404             : /*   606*/      OPC_MoveChild2,
     405             : /*   607*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     406             : /*   610*/      OPC_RecordChild0, // #3 = $val
     407             : /*   611*/      OPC_MoveParent,
     408             : /*   612*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
     409             : /*   614*/      OPC_MoveParent,
     410             : /*   615*/      OPC_MoveParent,
     411             : /*   616*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     412             : /*   618*/      OPC_EmitMergeInputChains1_0,
     413             : /*   619*/      OPC_EmitInteger, MVT::i32, 0, 
     414             : /*   622*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
     415             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     416             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 28
     417             :                 // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     418             : /*   632*/    /*Scope*/ 61, /*->694*/
     419             : /*   633*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     420             : /*   636*/      OPC_MoveChild0,
     421             : /*   637*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     422             : /*   640*/      OPC_MoveChild0,
     423             : /*   641*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
     424             : /*   644*/      OPC_RecordMemRef,
     425             : /*   645*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
     426             : /*   646*/      OPC_CheckFoldableChainNode,
     427             : /*   647*/      OPC_MoveChild1,
     428             : /*   648*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     429             : /*   651*/      OPC_RecordChild0, // #1 = $addr
     430             : /*   652*/      OPC_MoveChild1,
     431             : /*   653*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     432             : /*   656*/      OPC_RecordChild0, // #2 = $off
     433             : /*   657*/      OPC_MoveChild0,
     434             : /*   658*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     435             : /*   661*/      OPC_MoveParent,
     436             : /*   662*/      OPC_MoveParent,
     437             : /*   663*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     438             : /*   665*/      OPC_CheckType, MVT::i32,
     439             : /*   667*/      OPC_MoveParent,
     440             : /*   668*/      OPC_MoveChild2,
     441             : /*   669*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     442             : /*   672*/      OPC_RecordChild0, // #3 = $val
     443             : /*   673*/      OPC_MoveParent,
     444             : /*   674*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
     445             : /*   676*/      OPC_MoveParent,
     446             : /*   677*/      OPC_MoveParent,
     447             : /*   678*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     448             : /*   680*/      OPC_EmitMergeInputChains1_0,
     449             : /*   681*/      OPC_EmitInteger, MVT::i32, 0, 
     450             : /*   684*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
     451             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     452             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 28
     453             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     454             : /*   694*/    /*Scope*/ 62, /*->757*/
     455             : /*   695*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     456             : /*   699*/      OPC_MoveChild0,
     457             : /*   700*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     458             : /*   703*/      OPC_MoveChild0,
     459             : /*   704*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
     460             : /*   707*/      OPC_RecordMemRef,
     461             : /*   708*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
     462             : /*   709*/      OPC_CheckFoldableChainNode,
     463             : /*   710*/      OPC_MoveChild1,
     464             : /*   711*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     465             : /*   714*/      OPC_RecordChild0, // #1 = $addr
     466             : /*   715*/      OPC_MoveChild1,
     467             : /*   716*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     468             : /*   719*/      OPC_RecordChild0, // #2 = $off
     469             : /*   720*/      OPC_MoveChild0,
     470             : /*   721*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     471             : /*   724*/      OPC_MoveParent,
     472             : /*   725*/      OPC_MoveParent,
     473             : /*   726*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     474             : /*   728*/      OPC_CheckType, MVT::i32,
     475             : /*   730*/      OPC_MoveParent,
     476             : /*   731*/      OPC_MoveChild2,
     477             : /*   732*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     478             : /*   735*/      OPC_RecordChild0, // #3 = $val
     479             : /*   736*/      OPC_MoveParent,
     480             : /*   737*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
     481             : /*   739*/      OPC_MoveParent,
     482             : /*   740*/      OPC_MoveParent,
     483             : /*   741*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     484             : /*   743*/      OPC_EmitMergeInputChains1_0,
     485             : /*   744*/      OPC_EmitInteger, MVT::i32, 0, 
     486             : /*   747*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
     487             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     488             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 28
     489             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     490             : /*   757*/    /*Scope*/ 61, /*->819*/
     491             : /*   758*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     492             : /*   761*/      OPC_MoveChild0,
     493             : /*   762*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     494             : /*   765*/      OPC_MoveChild0,
     495             : /*   766*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
     496             : /*   769*/      OPC_RecordMemRef,
     497             : /*   770*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
     498             : /*   771*/      OPC_CheckFoldableChainNode,
     499             : /*   772*/      OPC_MoveChild1,
     500             : /*   773*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     501             : /*   776*/      OPC_MoveChild0,
     502             : /*   777*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     503             : /*   780*/      OPC_RecordChild0, // #1 = $off
     504             : /*   781*/      OPC_MoveChild0,
     505             : /*   782*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     506             : /*   785*/      OPC_MoveParent,
     507             : /*   786*/      OPC_MoveParent,
     508             : /*   787*/      OPC_RecordChild1, // #2 = $addr
     509             : /*   788*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     510             : /*   790*/      OPC_CheckType, MVT::i32,
     511             : /*   792*/      OPC_MoveParent,
     512             : /*   793*/      OPC_MoveChild2,
     513             : /*   794*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     514             : /*   797*/      OPC_RecordChild0, // #3 = $val
     515             : /*   798*/      OPC_MoveParent,
     516             : /*   799*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
     517             : /*   801*/      OPC_MoveParent,
     518             : /*   802*/      OPC_MoveParent,
     519             : /*   803*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     520             : /*   805*/      OPC_EmitMergeInputChains1_0,
     521             : /*   806*/      OPC_EmitInteger, MVT::i32, 0, 
     522             : /*   809*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
     523             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     524             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 28
     525             :                 // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     526             : /*   819*/    /*Scope*/ 62, /*->882*/
     527             : /*   820*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     528             : /*   824*/      OPC_MoveChild0,
     529             : /*   825*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     530             : /*   828*/      OPC_MoveChild0,
     531             : /*   829*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
     532             : /*   832*/      OPC_RecordMemRef,
     533             : /*   833*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
     534             : /*   834*/      OPC_CheckFoldableChainNode,
     535             : /*   835*/      OPC_MoveChild1,
     536             : /*   836*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     537             : /*   839*/      OPC_MoveChild0,
     538             : /*   840*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     539             : /*   843*/      OPC_RecordChild0, // #1 = $off
     540             : /*   844*/      OPC_MoveChild0,
     541             : /*   845*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     542             : /*   848*/      OPC_MoveParent,
     543             : /*   849*/      OPC_MoveParent,
     544             : /*   850*/      OPC_RecordChild1, // #2 = $addr
     545             : /*   851*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     546             : /*   853*/      OPC_CheckType, MVT::i32,
     547             : /*   855*/      OPC_MoveParent,
     548             : /*   856*/      OPC_MoveChild2,
     549             : /*   857*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     550             : /*   860*/      OPC_RecordChild0, // #3 = $val
     551             : /*   861*/      OPC_MoveParent,
     552             : /*   862*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
     553             : /*   864*/      OPC_MoveParent,
     554             : /*   865*/      OPC_MoveParent,
     555             : /*   866*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     556             : /*   868*/      OPC_EmitMergeInputChains1_0,
     557             : /*   869*/      OPC_EmitInteger, MVT::i32, 0, 
     558             : /*   872*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
     559             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     560             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 28
     561             :                 // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     562             : /*   882*/    /*Scope*/ 61, /*->944*/
     563             : /*   883*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     564             : /*   886*/      OPC_MoveChild0,
     565             : /*   887*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     566             : /*   890*/      OPC_MoveChild0,
     567             : /*   891*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
     568             : /*   894*/      OPC_RecordMemRef,
     569             : /*   895*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
     570             : /*   896*/      OPC_CheckFoldableChainNode,
     571             : /*   897*/      OPC_MoveChild1,
     572             : /*   898*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     573             : /*   901*/      OPC_MoveChild0,
     574             : /*   902*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     575             : /*   905*/      OPC_RecordChild0, // #1 = $off
     576             : /*   906*/      OPC_MoveChild0,
     577             : /*   907*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     578             : /*   910*/      OPC_MoveParent,
     579             : /*   911*/      OPC_MoveParent,
     580             : /*   912*/      OPC_RecordChild1, // #2 = $addr
     581             : /*   913*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     582             : /*   915*/      OPC_CheckType, MVT::i32,
     583             : /*   917*/      OPC_MoveParent,
     584             : /*   918*/      OPC_MoveChild2,
     585             : /*   919*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     586             : /*   922*/      OPC_RecordChild0, // #3 = $val
     587             : /*   923*/      OPC_MoveParent,
     588             : /*   924*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
     589             : /*   926*/      OPC_MoveParent,
     590             : /*   927*/      OPC_MoveParent,
     591             : /*   928*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     592             : /*   930*/      OPC_EmitMergeInputChains1_0,
     593             : /*   931*/      OPC_EmitInteger, MVT::i32, 0, 
     594             : /*   934*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
     595             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     596             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 28
     597             :                 // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     598             : /*   944*/    /*Scope*/ 62, /*->1007*/
     599             : /*   945*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     600             : /*   949*/      OPC_MoveChild0,
     601             : /*   950*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     602             : /*   953*/      OPC_MoveChild0,
     603             : /*   954*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
     604             : /*   957*/      OPC_RecordMemRef,
     605             : /*   958*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
     606             : /*   959*/      OPC_CheckFoldableChainNode,
     607             : /*   960*/      OPC_MoveChild1,
     608             : /*   961*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     609             : /*   964*/      OPC_MoveChild0,
     610             : /*   965*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     611             : /*   968*/      OPC_RecordChild0, // #1 = $off
     612             : /*   969*/      OPC_MoveChild0,
     613             : /*   970*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     614             : /*   973*/      OPC_MoveParent,
     615             : /*   974*/      OPC_MoveParent,
     616             : /*   975*/      OPC_RecordChild1, // #2 = $addr
     617             : /*   976*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     618             : /*   978*/      OPC_CheckType, MVT::i32,
     619             : /*   980*/      OPC_MoveParent,
     620             : /*   981*/      OPC_MoveChild2,
     621             : /*   982*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     622             : /*   985*/      OPC_RecordChild0, // #3 = $val
     623             : /*   986*/      OPC_MoveParent,
     624             : /*   987*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
     625             : /*   989*/      OPC_MoveParent,
     626             : /*   990*/      OPC_MoveParent,
     627             : /*   991*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     628             : /*   993*/      OPC_EmitMergeInputChains1_0,
     629             : /*   994*/      OPC_EmitInteger, MVT::i32, 0, 
     630             : /*   997*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
     631             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     632             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 28
     633             :                 // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     634             : /*  1007*/    /*Scope*/ 61, /*->1069*/
     635             : /*  1008*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     636             : /*  1011*/      OPC_MoveChild0,
     637             : /*  1012*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     638             : /*  1015*/      OPC_MoveChild0,
     639             : /*  1016*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
     640             : /*  1019*/      OPC_RecordMemRef,
     641             : /*  1020*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
     642             : /*  1021*/      OPC_CheckFoldableChainNode,
     643             : /*  1022*/      OPC_MoveChild1,
     644             : /*  1023*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     645             : /*  1026*/      OPC_MoveChild0,
     646             : /*  1027*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     647             : /*  1030*/      OPC_RecordChild0, // #1 = $off
     648             : /*  1031*/      OPC_MoveChild0,
     649             : /*  1032*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     650             : /*  1035*/      OPC_MoveParent,
     651             : /*  1036*/      OPC_MoveParent,
     652             : /*  1037*/      OPC_RecordChild1, // #2 = $addr
     653             : /*  1038*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     654             : /*  1040*/      OPC_CheckType, MVT::i32,
     655             : /*  1042*/      OPC_MoveParent,
     656             : /*  1043*/      OPC_MoveChild2,
     657             : /*  1044*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     658             : /*  1047*/      OPC_RecordChild0, // #3 = $val
     659             : /*  1048*/      OPC_MoveParent,
     660             : /*  1049*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
     661             : /*  1051*/      OPC_MoveParent,
     662             : /*  1052*/      OPC_MoveParent,
     663             : /*  1053*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     664             : /*  1055*/      OPC_EmitMergeInputChains1_0,
     665             : /*  1056*/      OPC_EmitInteger, MVT::i32, 0, 
     666             : /*  1059*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
     667             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     668             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 28
     669             :                 // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     670             : /*  1069*/    /*Scope*/ 62, /*->1132*/
     671             : /*  1070*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     672             : /*  1074*/      OPC_MoveChild0,
     673             : /*  1075*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     674             : /*  1078*/      OPC_MoveChild0,
     675             : /*  1079*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
     676             : /*  1082*/      OPC_RecordMemRef,
     677             : /*  1083*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
     678             : /*  1084*/      OPC_CheckFoldableChainNode,
     679             : /*  1085*/      OPC_MoveChild1,
     680             : /*  1086*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     681             : /*  1089*/      OPC_MoveChild0,
     682             : /*  1090*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     683             : /*  1093*/      OPC_RecordChild0, // #1 = $off
     684             : /*  1094*/      OPC_MoveChild0,
     685             : /*  1095*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     686             : /*  1098*/      OPC_MoveParent,
     687             : /*  1099*/      OPC_MoveParent,
     688             : /*  1100*/      OPC_RecordChild1, // #2 = $addr
     689             : /*  1101*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     690             : /*  1103*/      OPC_CheckType, MVT::i32,
     691             : /*  1105*/      OPC_MoveParent,
     692             : /*  1106*/      OPC_MoveChild2,
     693             : /*  1107*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     694             : /*  1110*/      OPC_RecordChild0, // #3 = $val
     695             : /*  1111*/      OPC_MoveParent,
     696             : /*  1112*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
     697             : /*  1114*/      OPC_MoveParent,
     698             : /*  1115*/      OPC_MoveParent,
     699             : /*  1116*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     700             : /*  1118*/      OPC_EmitMergeInputChains1_0,
     701             : /*  1119*/      OPC_EmitInteger, MVT::i32, 0, 
     702             : /*  1122*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
     703             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     704             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 28
     705             :                 // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     706             : /*  1132*/    /*Scope*/ 61, /*->1194*/
     707             : /*  1133*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     708             : /*  1136*/      OPC_MoveChild0,
     709             : /*  1137*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     710             : /*  1140*/      OPC_MoveChild0,
     711             : /*  1141*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
     712             : /*  1144*/      OPC_RecordMemRef,
     713             : /*  1145*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
     714             : /*  1146*/      OPC_CheckFoldableChainNode,
     715             : /*  1147*/      OPC_MoveChild1,
     716             : /*  1148*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     717             : /*  1151*/      OPC_MoveChild0,
     718             : /*  1152*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     719             : /*  1155*/      OPC_RecordChild0, // #1 = $off
     720             : /*  1156*/      OPC_MoveChild0,
     721             : /*  1157*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     722             : /*  1160*/      OPC_MoveParent,
     723             : /*  1161*/      OPC_MoveParent,
     724             : /*  1162*/      OPC_RecordChild1, // #2 = $addr
     725             : /*  1163*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     726             : /*  1165*/      OPC_CheckType, MVT::i32,
     727             : /*  1167*/      OPC_MoveParent,
     728             : /*  1168*/      OPC_MoveChild2,
     729             : /*  1169*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     730             : /*  1172*/      OPC_RecordChild0, // #3 = $val
     731             : /*  1173*/      OPC_MoveParent,
     732             : /*  1174*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
     733             : /*  1176*/      OPC_MoveParent,
     734             : /*  1177*/      OPC_MoveParent,
     735             : /*  1178*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     736             : /*  1180*/      OPC_EmitMergeInputChains1_0,
     737             : /*  1181*/      OPC_EmitInteger, MVT::i32, 0, 
     738             : /*  1184*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
     739             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     740             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 28
     741             :                 // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     742             : /*  1194*/    /*Scope*/ 62, /*->1257*/
     743             : /*  1195*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     744             : /*  1199*/      OPC_MoveChild0,
     745             : /*  1200*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     746             : /*  1203*/      OPC_MoveChild0,
     747             : /*  1204*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
     748             : /*  1207*/      OPC_RecordMemRef,
     749             : /*  1208*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
     750             : /*  1209*/      OPC_CheckFoldableChainNode,
     751             : /*  1210*/      OPC_MoveChild1,
     752             : /*  1211*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     753             : /*  1214*/      OPC_MoveChild0,
     754             : /*  1215*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     755             : /*  1218*/      OPC_RecordChild0, // #1 = $off
     756             : /*  1219*/      OPC_MoveChild0,
     757             : /*  1220*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     758             : /*  1223*/      OPC_MoveParent,
     759             : /*  1224*/      OPC_MoveParent,
     760             : /*  1225*/      OPC_RecordChild1, // #2 = $addr
     761             : /*  1226*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     762             : /*  1228*/      OPC_CheckType, MVT::i32,
     763             : /*  1230*/      OPC_MoveParent,
     764             : /*  1231*/      OPC_MoveChild2,
     765             : /*  1232*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     766             : /*  1235*/      OPC_RecordChild0, // #3 = $val
     767             : /*  1236*/      OPC_MoveParent,
     768             : /*  1237*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
     769             : /*  1239*/      OPC_MoveParent,
     770             : /*  1240*/      OPC_MoveParent,
     771             : /*  1241*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     772             : /*  1243*/      OPC_EmitMergeInputChains1_0,
     773             : /*  1244*/      OPC_EmitInteger, MVT::i32, 0, 
     774             : /*  1247*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
     775             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     776             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 28
     777             :                 // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     778             : /*  1257*/    /*Scope*/ 61, /*->1319*/
     779             : /*  1258*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     780             : /*  1261*/      OPC_MoveChild0,
     781             : /*  1262*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     782             : /*  1265*/      OPC_MoveChild0,
     783             : /*  1266*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
     784             : /*  1269*/      OPC_RecordMemRef,
     785             : /*  1270*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
     786             : /*  1271*/      OPC_CheckFoldableChainNode,
     787             : /*  1272*/      OPC_MoveChild1,
     788             : /*  1273*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     789             : /*  1276*/      OPC_MoveChild0,
     790             : /*  1277*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     791             : /*  1280*/      OPC_RecordChild0, // #1 = $off
     792             : /*  1281*/      OPC_MoveChild0,
     793             : /*  1282*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     794             : /*  1285*/      OPC_MoveParent,
     795             : /*  1286*/      OPC_MoveParent,
     796             : /*  1287*/      OPC_RecordChild1, // #2 = $addr
     797             : /*  1288*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     798             : /*  1290*/      OPC_CheckType, MVT::i32,
     799             : /*  1292*/      OPC_MoveParent,
     800             : /*  1293*/      OPC_MoveChild2,
     801             : /*  1294*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     802             : /*  1297*/      OPC_RecordChild0, // #3 = $val
     803             : /*  1298*/      OPC_MoveParent,
     804             : /*  1299*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
     805             : /*  1301*/      OPC_MoveParent,
     806             : /*  1302*/      OPC_MoveParent,
     807             : /*  1303*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     808             : /*  1305*/      OPC_EmitMergeInputChains1_0,
     809             : /*  1306*/      OPC_EmitInteger, MVT::i32, 0, 
     810             : /*  1309*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
     811             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     812             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 28
     813             :                 // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     814             : /*  1319*/    /*Scope*/ 62, /*->1382*/
     815             : /*  1320*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     816             : /*  1324*/      OPC_MoveChild0,
     817             : /*  1325*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     818             : /*  1328*/      OPC_MoveChild0,
     819             : /*  1329*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
     820             : /*  1332*/      OPC_RecordMemRef,
     821             : /*  1333*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
     822             : /*  1334*/      OPC_CheckFoldableChainNode,
     823             : /*  1335*/      OPC_MoveChild1,
     824             : /*  1336*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     825             : /*  1339*/      OPC_MoveChild0,
     826             : /*  1340*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     827             : /*  1343*/      OPC_RecordChild0, // #1 = $off
     828             : /*  1344*/      OPC_MoveChild0,
     829             : /*  1345*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     830             : /*  1348*/      OPC_MoveParent,
     831             : /*  1349*/      OPC_MoveParent,
     832             : /*  1350*/      OPC_RecordChild1, // #2 = $addr
     833             : /*  1351*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     834             : /*  1353*/      OPC_CheckType, MVT::i32,
     835             : /*  1355*/      OPC_MoveParent,
     836             : /*  1356*/      OPC_MoveChild2,
     837             : /*  1357*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     838             : /*  1360*/      OPC_RecordChild0, // #3 = $val
     839             : /*  1361*/      OPC_MoveParent,
     840             : /*  1362*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
     841             : /*  1364*/      OPC_MoveParent,
     842             : /*  1365*/      OPC_MoveParent,
     843             : /*  1366*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     844             : /*  1368*/      OPC_EmitMergeInputChains1_0,
     845             : /*  1369*/      OPC_EmitInteger, MVT::i32, 0, 
     846             : /*  1372*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
     847             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     848             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 28
     849             :                 // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     850             : /*  1382*/    /*Scope*/ 61, /*->1444*/
     851             : /*  1383*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     852             : /*  1386*/      OPC_MoveChild0,
     853             : /*  1387*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     854             : /*  1390*/      OPC_MoveChild0,
     855             : /*  1391*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
     856             : /*  1394*/      OPC_RecordMemRef,
     857             : /*  1395*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
     858             : /*  1396*/      OPC_CheckFoldableChainNode,
     859             : /*  1397*/      OPC_MoveChild1,
     860             : /*  1398*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     861             : /*  1401*/      OPC_MoveChild0,
     862             : /*  1402*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     863             : /*  1405*/      OPC_RecordChild0, // #1 = $off
     864             : /*  1406*/      OPC_MoveChild0,
     865             : /*  1407*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     866             : /*  1410*/      OPC_MoveParent,
     867             : /*  1411*/      OPC_MoveParent,
     868             : /*  1412*/      OPC_RecordChild1, // #2 = $addr
     869             : /*  1413*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     870             : /*  1415*/      OPC_CheckType, MVT::i32,
     871             : /*  1417*/      OPC_MoveParent,
     872             : /*  1418*/      OPC_MoveChild2,
     873             : /*  1419*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     874             : /*  1422*/      OPC_RecordChild0, // #3 = $val
     875             : /*  1423*/      OPC_MoveParent,
     876             : /*  1424*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
     877             : /*  1426*/      OPC_MoveParent,
     878             : /*  1427*/      OPC_MoveParent,
     879             : /*  1428*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     880             : /*  1430*/      OPC_EmitMergeInputChains1_0,
     881             : /*  1431*/      OPC_EmitInteger, MVT::i32, 0, 
     882             : /*  1434*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
     883             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     884             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 28
     885             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     886             : /*  1444*/    /*Scope*/ 62, /*->1507*/
     887             : /*  1445*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     888             : /*  1449*/      OPC_MoveChild0,
     889             : /*  1450*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     890             : /*  1453*/      OPC_MoveChild0,
     891             : /*  1454*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
     892             : /*  1457*/      OPC_RecordMemRef,
     893             : /*  1458*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
     894             : /*  1459*/      OPC_CheckFoldableChainNode,
     895             : /*  1460*/      OPC_MoveChild1,
     896             : /*  1461*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     897             : /*  1464*/      OPC_MoveChild0,
     898             : /*  1465*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     899             : /*  1468*/      OPC_RecordChild0, // #1 = $off
     900             : /*  1469*/      OPC_MoveChild0,
     901             : /*  1470*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
     902             : /*  1473*/      OPC_MoveParent,
     903             : /*  1474*/      OPC_MoveParent,
     904             : /*  1475*/      OPC_RecordChild1, // #2 = $addr
     905             : /*  1476*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
     906             : /*  1478*/      OPC_CheckType, MVT::i32,
     907             : /*  1480*/      OPC_MoveParent,
     908             : /*  1481*/      OPC_MoveChild2,
     909             : /*  1482*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     910             : /*  1485*/      OPC_RecordChild0, // #3 = $val
     911             : /*  1486*/      OPC_MoveParent,
     912             : /*  1487*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
     913             : /*  1489*/      OPC_MoveParent,
     914             : /*  1490*/      OPC_MoveParent,
     915             : /*  1491*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     916             : /*  1493*/      OPC_EmitMergeInputChains1_0,
     917             : /*  1494*/      OPC_EmitInteger, MVT::i32, 0, 
     918             : /*  1497*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
     919             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
     920             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 28
     921             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     922             : /*  1507*/    /*Scope*/ 59, /*->1567*/
     923             : /*  1508*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     924             : /*  1511*/      OPC_MoveChild0,
     925             : /*  1512*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     926             : /*  1515*/      OPC_MoveChild0,
     927             : /*  1516*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
     928             : /*  1519*/      OPC_RecordMemRef,
     929             : /*  1520*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
     930             : /*  1521*/      OPC_CheckFoldableChainNode,
     931             : /*  1522*/      OPC_MoveChild1,
     932             : /*  1523*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     933             : /*  1526*/      OPC_RecordChild0, // #1 = $addr
     934             : /*  1527*/      OPC_MoveChild1,
     935             : /*  1528*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     936             : /*  1531*/      OPC_RecordChild0, // #2 = $off
     937             : /*  1532*/      OPC_MoveChild0,
     938             : /*  1533*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
     939             : /*  1536*/      OPC_MoveParent,
     940             : /*  1537*/      OPC_MoveParent,
     941             : /*  1538*/      OPC_CheckType, MVT::i32,
     942             : /*  1540*/      OPC_MoveParent,
     943             : /*  1541*/      OPC_MoveChild2,
     944             : /*  1542*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     945             : /*  1545*/      OPC_RecordChild0, // #3 = $val
     946             : /*  1546*/      OPC_MoveParent,
     947             : /*  1547*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
     948             : /*  1549*/      OPC_MoveParent,
     949             : /*  1550*/      OPC_MoveParent,
     950             : /*  1551*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     951             : /*  1553*/      OPC_EmitMergeInputChains1_0,
     952             : /*  1554*/      OPC_EmitInteger, MVT::i32, 0, 
     953             : /*  1557*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
     954             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     955             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 27
     956             :                 // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     957             : /*  1567*/    /*Scope*/ 60, /*->1628*/
     958             : /*  1568*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
     959             : /*  1572*/      OPC_MoveChild0,
     960             : /*  1573*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     961             : /*  1576*/      OPC_MoveChild0,
     962             : /*  1577*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
     963             : /*  1580*/      OPC_RecordMemRef,
     964             : /*  1581*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
     965             : /*  1582*/      OPC_CheckFoldableChainNode,
     966             : /*  1583*/      OPC_MoveChild1,
     967             : /*  1584*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     968             : /*  1587*/      OPC_RecordChild0, // #1 = $addr
     969             : /*  1588*/      OPC_MoveChild1,
     970             : /*  1589*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
     971             : /*  1592*/      OPC_RecordChild0, // #2 = $off
     972             : /*  1593*/      OPC_MoveChild0,
     973             : /*  1594*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
     974             : /*  1597*/      OPC_MoveParent,
     975             : /*  1598*/      OPC_MoveParent,
     976             : /*  1599*/      OPC_CheckType, MVT::i32,
     977             : /*  1601*/      OPC_MoveParent,
     978             : /*  1602*/      OPC_MoveChild2,
     979             : /*  1603*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
     980             : /*  1606*/      OPC_RecordChild0, // #3 = $val
     981             : /*  1607*/      OPC_MoveParent,
     982             : /*  1608*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
     983             : /*  1610*/      OPC_MoveParent,
     984             : /*  1611*/      OPC_MoveParent,
     985             : /*  1612*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
     986             : /*  1614*/      OPC_EmitMergeInputChains1_0,
     987             : /*  1615*/      OPC_EmitInteger, MVT::i32, 0, 
     988             : /*  1618*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
     989             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
     990             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 27
     991             :                 // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
     992             : /*  1628*/    /*Scope*/ 59, /*->1688*/
     993             : /*  1629*/      OPC_CheckAndImm, 127|128,1/*255*/, 
     994             : /*  1632*/      OPC_MoveChild0,
     995             : /*  1633*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     996             : /*  1636*/      OPC_MoveChild0,
     997             : /*  1637*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
     998             : /*  1640*/      OPC_RecordMemRef,
     999             : /*  1641*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    1000             : /*  1642*/      OPC_CheckFoldableChainNode,
    1001             : /*  1643*/      OPC_MoveChild1,
    1002             : /*  1644*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1003             : /*  1647*/      OPC_RecordChild0, // #1 = $addr
    1004             : /*  1648*/      OPC_MoveChild1,
    1005             : /*  1649*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1006             : /*  1652*/      OPC_RecordChild0, // #2 = $off
    1007             : /*  1653*/      OPC_MoveChild0,
    1008             : /*  1654*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1009             : /*  1657*/      OPC_MoveParent,
    1010             : /*  1658*/      OPC_MoveParent,
    1011             : /*  1659*/      OPC_CheckType, MVT::i32,
    1012             : /*  1661*/      OPC_MoveParent,
    1013             : /*  1662*/      OPC_MoveChild2,
    1014             : /*  1663*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1015             : /*  1666*/      OPC_RecordChild0, // #3 = $val
    1016             : /*  1667*/      OPC_MoveParent,
    1017             : /*  1668*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    1018             : /*  1670*/      OPC_MoveParent,
    1019             : /*  1671*/      OPC_MoveParent,
    1020             : /*  1672*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1021             : /*  1674*/      OPC_EmitMergeInputChains1_0,
    1022             : /*  1675*/      OPC_EmitInteger, MVT::i32, 0, 
    1023             : /*  1678*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1024             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
    1025             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 27
    1026             :                 // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1027             : /*  1688*/    /*Scope*/ 60, /*->1749*/
    1028             : /*  1689*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1029             : /*  1693*/      OPC_MoveChild0,
    1030             : /*  1694*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1031             : /*  1697*/      OPC_MoveChild0,
    1032             : /*  1698*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    1033             : /*  1701*/      OPC_RecordMemRef,
    1034             : /*  1702*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    1035             : /*  1703*/      OPC_CheckFoldableChainNode,
    1036             : /*  1704*/      OPC_MoveChild1,
    1037             : /*  1705*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1038             : /*  1708*/      OPC_RecordChild0, // #1 = $addr
    1039             : /*  1709*/      OPC_MoveChild1,
    1040             : /*  1710*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1041             : /*  1713*/      OPC_RecordChild0, // #2 = $off
    1042             : /*  1714*/      OPC_MoveChild0,
    1043             : /*  1715*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1044             : /*  1718*/      OPC_MoveParent,
    1045             : /*  1719*/      OPC_MoveParent,
    1046             : /*  1720*/      OPC_CheckType, MVT::i32,
    1047             : /*  1722*/      OPC_MoveParent,
    1048             : /*  1723*/      OPC_MoveChild2,
    1049             : /*  1724*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1050             : /*  1727*/      OPC_RecordChild0, // #3 = $val
    1051             : /*  1728*/      OPC_MoveParent,
    1052             : /*  1729*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    1053             : /*  1731*/      OPC_MoveParent,
    1054             : /*  1732*/      OPC_MoveParent,
    1055             : /*  1733*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1056             : /*  1735*/      OPC_EmitMergeInputChains1_0,
    1057             : /*  1736*/      OPC_EmitInteger, MVT::i32, 0, 
    1058             : /*  1739*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1059             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
    1060             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 27
    1061             :                 // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1062             : /*  1749*/    /*Scope*/ 59, /*->1809*/
    1063             : /*  1750*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1064             : /*  1753*/      OPC_MoveChild0,
    1065             : /*  1754*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1066             : /*  1757*/      OPC_MoveChild0,
    1067             : /*  1758*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    1068             : /*  1761*/      OPC_RecordMemRef,
    1069             : /*  1762*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    1070             : /*  1763*/      OPC_CheckFoldableChainNode,
    1071             : /*  1764*/      OPC_MoveChild1,
    1072             : /*  1765*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1073             : /*  1768*/      OPC_RecordChild0, // #1 = $addr
    1074             : /*  1769*/      OPC_MoveChild1,
    1075             : /*  1770*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1076             : /*  1773*/      OPC_RecordChild0, // #2 = $off
    1077             : /*  1774*/      OPC_MoveChild0,
    1078             : /*  1775*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1079             : /*  1778*/      OPC_MoveParent,
    1080             : /*  1779*/      OPC_MoveParent,
    1081             : /*  1780*/      OPC_CheckType, MVT::i32,
    1082             : /*  1782*/      OPC_MoveParent,
    1083             : /*  1783*/      OPC_MoveChild2,
    1084             : /*  1784*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1085             : /*  1787*/      OPC_RecordChild0, // #3 = $val
    1086             : /*  1788*/      OPC_MoveParent,
    1087             : /*  1789*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    1088             : /*  1791*/      OPC_MoveParent,
    1089             : /*  1792*/      OPC_MoveParent,
    1090             : /*  1793*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1091             : /*  1795*/      OPC_EmitMergeInputChains1_0,
    1092             : /*  1796*/      OPC_EmitInteger, MVT::i32, 0, 
    1093             : /*  1799*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1094             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
    1095             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 27
    1096             :                 // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1097             : /*  1809*/    /*Scope*/ 60, /*->1870*/
    1098             : /*  1810*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1099             : /*  1814*/      OPC_MoveChild0,
    1100             : /*  1815*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1101             : /*  1818*/      OPC_MoveChild0,
    1102             : /*  1819*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    1103             : /*  1822*/      OPC_RecordMemRef,
    1104             : /*  1823*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    1105             : /*  1824*/      OPC_CheckFoldableChainNode,
    1106             : /*  1825*/      OPC_MoveChild1,
    1107             : /*  1826*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1108             : /*  1829*/      OPC_RecordChild0, // #1 = $addr
    1109             : /*  1830*/      OPC_MoveChild1,
    1110             : /*  1831*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1111             : /*  1834*/      OPC_RecordChild0, // #2 = $off
    1112             : /*  1835*/      OPC_MoveChild0,
    1113             : /*  1836*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1114             : /*  1839*/      OPC_MoveParent,
    1115             : /*  1840*/      OPC_MoveParent,
    1116             : /*  1841*/      OPC_CheckType, MVT::i32,
    1117             : /*  1843*/      OPC_MoveParent,
    1118             : /*  1844*/      OPC_MoveChild2,
    1119             : /*  1845*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1120             : /*  1848*/      OPC_RecordChild0, // #3 = $val
    1121             : /*  1849*/      OPC_MoveParent,
    1122             : /*  1850*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    1123             : /*  1852*/      OPC_MoveParent,
    1124             : /*  1853*/      OPC_MoveParent,
    1125             : /*  1854*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1126             : /*  1856*/      OPC_EmitMergeInputChains1_0,
    1127             : /*  1857*/      OPC_EmitInteger, MVT::i32, 0, 
    1128             : /*  1860*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1129             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
    1130             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 27
    1131             :                 // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1132             : /*  1870*/    /*Scope*/ 59, /*->1930*/
    1133             : /*  1871*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1134             : /*  1874*/      OPC_MoveChild0,
    1135             : /*  1875*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1136             : /*  1878*/      OPC_MoveChild0,
    1137             : /*  1879*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    1138             : /*  1882*/      OPC_RecordMemRef,
    1139             : /*  1883*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    1140             : /*  1884*/      OPC_CheckFoldableChainNode,
    1141             : /*  1885*/      OPC_MoveChild1,
    1142             : /*  1886*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1143             : /*  1889*/      OPC_RecordChild0, // #1 = $addr
    1144             : /*  1890*/      OPC_MoveChild1,
    1145             : /*  1891*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1146             : /*  1894*/      OPC_RecordChild0, // #2 = $off
    1147             : /*  1895*/      OPC_MoveChild0,
    1148             : /*  1896*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1149             : /*  1899*/      OPC_MoveParent,
    1150             : /*  1900*/      OPC_MoveParent,
    1151             : /*  1901*/      OPC_CheckType, MVT::i32,
    1152             : /*  1903*/      OPC_MoveParent,
    1153             : /*  1904*/      OPC_MoveChild2,
    1154             : /*  1905*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1155             : /*  1908*/      OPC_RecordChild0, // #3 = $val
    1156             : /*  1909*/      OPC_MoveParent,
    1157             : /*  1910*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    1158             : /*  1912*/      OPC_MoveParent,
    1159             : /*  1913*/      OPC_MoveParent,
    1160             : /*  1914*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1161             : /*  1916*/      OPC_EmitMergeInputChains1_0,
    1162             : /*  1917*/      OPC_EmitInteger, MVT::i32, 0, 
    1163             : /*  1920*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1164             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
    1165             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 27
    1166             :                 // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1167             : /*  1930*/    /*Scope*/ 60, /*->1991*/
    1168             : /*  1931*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1169             : /*  1935*/      OPC_MoveChild0,
    1170             : /*  1936*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1171             : /*  1939*/      OPC_MoveChild0,
    1172             : /*  1940*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    1173             : /*  1943*/      OPC_RecordMemRef,
    1174             : /*  1944*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    1175             : /*  1945*/      OPC_CheckFoldableChainNode,
    1176             : /*  1946*/      OPC_MoveChild1,
    1177             : /*  1947*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1178             : /*  1950*/      OPC_RecordChild0, // #1 = $addr
    1179             : /*  1951*/      OPC_MoveChild1,
    1180             : /*  1952*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1181             : /*  1955*/      OPC_RecordChild0, // #2 = $off
    1182             : /*  1956*/      OPC_MoveChild0,
    1183             : /*  1957*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1184             : /*  1960*/      OPC_MoveParent,
    1185             : /*  1961*/      OPC_MoveParent,
    1186             : /*  1962*/      OPC_CheckType, MVT::i32,
    1187             : /*  1964*/      OPC_MoveParent,
    1188             : /*  1965*/      OPC_MoveChild2,
    1189             : /*  1966*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1190             : /*  1969*/      OPC_RecordChild0, // #3 = $val
    1191             : /*  1970*/      OPC_MoveParent,
    1192             : /*  1971*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    1193             : /*  1973*/      OPC_MoveParent,
    1194             : /*  1974*/      OPC_MoveParent,
    1195             : /*  1975*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1196             : /*  1977*/      OPC_EmitMergeInputChains1_0,
    1197             : /*  1978*/      OPC_EmitInteger, MVT::i32, 0, 
    1198             : /*  1981*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1199             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
    1200             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 27
    1201             :                 // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1202             : /*  1991*/    /*Scope*/ 59, /*->2051*/
    1203             : /*  1992*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1204             : /*  1995*/      OPC_MoveChild0,
    1205             : /*  1996*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1206             : /*  1999*/      OPC_MoveChild0,
    1207             : /*  2000*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    1208             : /*  2003*/      OPC_RecordMemRef,
    1209             : /*  2004*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    1210             : /*  2005*/      OPC_CheckFoldableChainNode,
    1211             : /*  2006*/      OPC_MoveChild1,
    1212             : /*  2007*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1213             : /*  2010*/      OPC_RecordChild0, // #1 = $addr
    1214             : /*  2011*/      OPC_MoveChild1,
    1215             : /*  2012*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1216             : /*  2015*/      OPC_RecordChild0, // #2 = $off
    1217             : /*  2016*/      OPC_MoveChild0,
    1218             : /*  2017*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1219             : /*  2020*/      OPC_MoveParent,
    1220             : /*  2021*/      OPC_MoveParent,
    1221             : /*  2022*/      OPC_CheckType, MVT::i32,
    1222             : /*  2024*/      OPC_MoveParent,
    1223             : /*  2025*/      OPC_MoveChild2,
    1224             : /*  2026*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1225             : /*  2029*/      OPC_RecordChild0, // #3 = $val
    1226             : /*  2030*/      OPC_MoveParent,
    1227             : /*  2031*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    1228             : /*  2033*/      OPC_MoveParent,
    1229             : /*  2034*/      OPC_MoveParent,
    1230             : /*  2035*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1231             : /*  2037*/      OPC_EmitMergeInputChains1_0,
    1232             : /*  2038*/      OPC_EmitInteger, MVT::i32, 0, 
    1233             : /*  2041*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1234             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
    1235             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 27
    1236             :                 // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1237             : /*  2051*/    /*Scope*/ 60, /*->2112*/
    1238             : /*  2052*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1239             : /*  2056*/      OPC_MoveChild0,
    1240             : /*  2057*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1241             : /*  2060*/      OPC_MoveChild0,
    1242             : /*  2061*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    1243             : /*  2064*/      OPC_RecordMemRef,
    1244             : /*  2065*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    1245             : /*  2066*/      OPC_CheckFoldableChainNode,
    1246             : /*  2067*/      OPC_MoveChild1,
    1247             : /*  2068*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1248             : /*  2071*/      OPC_RecordChild0, // #1 = $addr
    1249             : /*  2072*/      OPC_MoveChild1,
    1250             : /*  2073*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1251             : /*  2076*/      OPC_RecordChild0, // #2 = $off
    1252             : /*  2077*/      OPC_MoveChild0,
    1253             : /*  2078*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1254             : /*  2081*/      OPC_MoveParent,
    1255             : /*  2082*/      OPC_MoveParent,
    1256             : /*  2083*/      OPC_CheckType, MVT::i32,
    1257             : /*  2085*/      OPC_MoveParent,
    1258             : /*  2086*/      OPC_MoveChild2,
    1259             : /*  2087*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1260             : /*  2090*/      OPC_RecordChild0, // #3 = $val
    1261             : /*  2091*/      OPC_MoveParent,
    1262             : /*  2092*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    1263             : /*  2094*/      OPC_MoveParent,
    1264             : /*  2095*/      OPC_MoveParent,
    1265             : /*  2096*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1266             : /*  2098*/      OPC_EmitMergeInputChains1_0,
    1267             : /*  2099*/      OPC_EmitInteger, MVT::i32, 0, 
    1268             : /*  2102*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1269             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
    1270             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 27
    1271             :                 // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1272             : /*  2112*/    /*Scope*/ 59, /*->2172*/
    1273             : /*  2113*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1274             : /*  2116*/      OPC_MoveChild0,
    1275             : /*  2117*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1276             : /*  2120*/      OPC_MoveChild0,
    1277             : /*  2121*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    1278             : /*  2124*/      OPC_RecordMemRef,
    1279             : /*  2125*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    1280             : /*  2126*/      OPC_CheckFoldableChainNode,
    1281             : /*  2127*/      OPC_MoveChild1,
    1282             : /*  2128*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1283             : /*  2131*/      OPC_RecordChild0, // #1 = $addr
    1284             : /*  2132*/      OPC_MoveChild1,
    1285             : /*  2133*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1286             : /*  2136*/      OPC_RecordChild0, // #2 = $off
    1287             : /*  2137*/      OPC_MoveChild0,
    1288             : /*  2138*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1289             : /*  2141*/      OPC_MoveParent,
    1290             : /*  2142*/      OPC_MoveParent,
    1291             : /*  2143*/      OPC_CheckType, MVT::i32,
    1292             : /*  2145*/      OPC_MoveParent,
    1293             : /*  2146*/      OPC_MoveChild2,
    1294             : /*  2147*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1295             : /*  2150*/      OPC_RecordChild0, // #3 = $val
    1296             : /*  2151*/      OPC_MoveParent,
    1297             : /*  2152*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    1298             : /*  2154*/      OPC_MoveParent,
    1299             : /*  2155*/      OPC_MoveParent,
    1300             : /*  2156*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1301             : /*  2158*/      OPC_EmitMergeInputChains1_0,
    1302             : /*  2159*/      OPC_EmitInteger, MVT::i32, 0, 
    1303             : /*  2162*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1304             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
    1305             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 27
    1306             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1307             : /*  2172*/    /*Scope*/ 60, /*->2233*/
    1308             : /*  2173*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1309             : /*  2177*/      OPC_MoveChild0,
    1310             : /*  2178*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1311             : /*  2181*/      OPC_MoveChild0,
    1312             : /*  2182*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    1313             : /*  2185*/      OPC_RecordMemRef,
    1314             : /*  2186*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    1315             : /*  2187*/      OPC_CheckFoldableChainNode,
    1316             : /*  2188*/      OPC_MoveChild1,
    1317             : /*  2189*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1318             : /*  2192*/      OPC_RecordChild0, // #1 = $addr
    1319             : /*  2193*/      OPC_MoveChild1,
    1320             : /*  2194*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1321             : /*  2197*/      OPC_RecordChild0, // #2 = $off
    1322             : /*  2198*/      OPC_MoveChild0,
    1323             : /*  2199*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1324             : /*  2202*/      OPC_MoveParent,
    1325             : /*  2203*/      OPC_MoveParent,
    1326             : /*  2204*/      OPC_CheckType, MVT::i32,
    1327             : /*  2206*/      OPC_MoveParent,
    1328             : /*  2207*/      OPC_MoveChild2,
    1329             : /*  2208*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1330             : /*  2211*/      OPC_RecordChild0, // #3 = $val
    1331             : /*  2212*/      OPC_MoveParent,
    1332             : /*  2213*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    1333             : /*  2215*/      OPC_MoveParent,
    1334             : /*  2216*/      OPC_MoveParent,
    1335             : /*  2217*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1336             : /*  2219*/      OPC_EmitMergeInputChains1_0,
    1337             : /*  2220*/      OPC_EmitInteger, MVT::i32, 0, 
    1338             : /*  2223*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1339             :                     MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
    1340             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 27
    1341             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1342             : /*  2233*/    /*Scope*/ 59, /*->2293*/
    1343             : /*  2234*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1344             : /*  2237*/      OPC_MoveChild0,
    1345             : /*  2238*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1346             : /*  2241*/      OPC_MoveChild0,
    1347             : /*  2242*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    1348             : /*  2245*/      OPC_RecordMemRef,
    1349             : /*  2246*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    1350             : /*  2247*/      OPC_CheckFoldableChainNode,
    1351             : /*  2248*/      OPC_MoveChild1,
    1352             : /*  2249*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1353             : /*  2252*/      OPC_MoveChild0,
    1354             : /*  2253*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1355             : /*  2256*/      OPC_RecordChild0, // #1 = $off
    1356             : /*  2257*/      OPC_MoveChild0,
    1357             : /*  2258*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1358             : /*  2261*/      OPC_MoveParent,
    1359             : /*  2262*/      OPC_MoveParent,
    1360             : /*  2263*/      OPC_RecordChild1, // #2 = $addr
    1361             : /*  2264*/      OPC_CheckType, MVT::i32,
    1362             : /*  2266*/      OPC_MoveParent,
    1363             : /*  2267*/      OPC_MoveChild2,
    1364             : /*  2268*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1365             : /*  2271*/      OPC_RecordChild0, // #3 = $val
    1366             : /*  2272*/      OPC_MoveParent,
    1367             : /*  2273*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    1368             : /*  2275*/      OPC_MoveParent,
    1369             : /*  2276*/      OPC_MoveParent,
    1370             : /*  2277*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1371             : /*  2279*/      OPC_EmitMergeInputChains1_0,
    1372             : /*  2280*/      OPC_EmitInteger, MVT::i32, 0, 
    1373             : /*  2283*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1374             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1375             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 27
    1376             :                 // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1377             : /*  2293*/    /*Scope*/ 60, /*->2354*/
    1378             : /*  2294*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1379             : /*  2298*/      OPC_MoveChild0,
    1380             : /*  2299*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1381             : /*  2302*/      OPC_MoveChild0,
    1382             : /*  2303*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    1383             : /*  2306*/      OPC_RecordMemRef,
    1384             : /*  2307*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    1385             : /*  2308*/      OPC_CheckFoldableChainNode,
    1386             : /*  2309*/      OPC_MoveChild1,
    1387             : /*  2310*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1388             : /*  2313*/      OPC_MoveChild0,
    1389             : /*  2314*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1390             : /*  2317*/      OPC_RecordChild0, // #1 = $off
    1391             : /*  2318*/      OPC_MoveChild0,
    1392             : /*  2319*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1393             : /*  2322*/      OPC_MoveParent,
    1394             : /*  2323*/      OPC_MoveParent,
    1395             : /*  2324*/      OPC_RecordChild1, // #2 = $addr
    1396             : /*  2325*/      OPC_CheckType, MVT::i32,
    1397             : /*  2327*/      OPC_MoveParent,
    1398             : /*  2328*/      OPC_MoveChild2,
    1399             : /*  2329*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1400             : /*  2332*/      OPC_RecordChild0, // #3 = $val
    1401             : /*  2333*/      OPC_MoveParent,
    1402             : /*  2334*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    1403             : /*  2336*/      OPC_MoveParent,
    1404             : /*  2337*/      OPC_MoveParent,
    1405             : /*  2338*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1406             : /*  2340*/      OPC_EmitMergeInputChains1_0,
    1407             : /*  2341*/      OPC_EmitInteger, MVT::i32, 0, 
    1408             : /*  2344*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1409             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1410             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 27
    1411             :                 // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1412             : /*  2354*/    /*Scope*/ 59, /*->2414*/
    1413             : /*  2355*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1414             : /*  2358*/      OPC_MoveChild0,
    1415             : /*  2359*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1416             : /*  2362*/      OPC_MoveChild0,
    1417             : /*  2363*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    1418             : /*  2366*/      OPC_RecordMemRef,
    1419             : /*  2367*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    1420             : /*  2368*/      OPC_CheckFoldableChainNode,
    1421             : /*  2369*/      OPC_MoveChild1,
    1422             : /*  2370*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1423             : /*  2373*/      OPC_MoveChild0,
    1424             : /*  2374*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1425             : /*  2377*/      OPC_RecordChild0, // #1 = $off
    1426             : /*  2378*/      OPC_MoveChild0,
    1427             : /*  2379*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1428             : /*  2382*/      OPC_MoveParent,
    1429             : /*  2383*/      OPC_MoveParent,
    1430             : /*  2384*/      OPC_RecordChild1, // #2 = $addr
    1431             : /*  2385*/      OPC_CheckType, MVT::i32,
    1432             : /*  2387*/      OPC_MoveParent,
    1433             : /*  2388*/      OPC_MoveChild2,
    1434             : /*  2389*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1435             : /*  2392*/      OPC_RecordChild0, // #3 = $val
    1436             : /*  2393*/      OPC_MoveParent,
    1437             : /*  2394*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    1438             : /*  2396*/      OPC_MoveParent,
    1439             : /*  2397*/      OPC_MoveParent,
    1440             : /*  2398*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1441             : /*  2400*/      OPC_EmitMergeInputChains1_0,
    1442             : /*  2401*/      OPC_EmitInteger, MVT::i32, 0, 
    1443             : /*  2404*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1444             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1445             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 27
    1446             :                 // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1447             : /*  2414*/    /*Scope*/ 60, /*->2475*/
    1448             : /*  2415*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1449             : /*  2419*/      OPC_MoveChild0,
    1450             : /*  2420*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1451             : /*  2423*/      OPC_MoveChild0,
    1452             : /*  2424*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    1453             : /*  2427*/      OPC_RecordMemRef,
    1454             : /*  2428*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    1455             : /*  2429*/      OPC_CheckFoldableChainNode,
    1456             : /*  2430*/      OPC_MoveChild1,
    1457             : /*  2431*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1458             : /*  2434*/      OPC_MoveChild0,
    1459             : /*  2435*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1460             : /*  2438*/      OPC_RecordChild0, // #1 = $off
    1461             : /*  2439*/      OPC_MoveChild0,
    1462             : /*  2440*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1463             : /*  2443*/      OPC_MoveParent,
    1464             : /*  2444*/      OPC_MoveParent,
    1465             : /*  2445*/      OPC_RecordChild1, // #2 = $addr
    1466             : /*  2446*/      OPC_CheckType, MVT::i32,
    1467             : /*  2448*/      OPC_MoveParent,
    1468             : /*  2449*/      OPC_MoveChild2,
    1469             : /*  2450*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1470             : /*  2453*/      OPC_RecordChild0, // #3 = $val
    1471             : /*  2454*/      OPC_MoveParent,
    1472             : /*  2455*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    1473             : /*  2457*/      OPC_MoveParent,
    1474             : /*  2458*/      OPC_MoveParent,
    1475             : /*  2459*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1476             : /*  2461*/      OPC_EmitMergeInputChains1_0,
    1477             : /*  2462*/      OPC_EmitInteger, MVT::i32, 0, 
    1478             : /*  2465*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1479             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1480             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 27
    1481             :                 // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1482             : /*  2475*/    /*Scope*/ 59, /*->2535*/
    1483             : /*  2476*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1484             : /*  2479*/      OPC_MoveChild0,
    1485             : /*  2480*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1486             : /*  2483*/      OPC_MoveChild0,
    1487             : /*  2484*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    1488             : /*  2487*/      OPC_RecordMemRef,
    1489             : /*  2488*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    1490             : /*  2489*/      OPC_CheckFoldableChainNode,
    1491             : /*  2490*/      OPC_MoveChild1,
    1492             : /*  2491*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1493             : /*  2494*/      OPC_MoveChild0,
    1494             : /*  2495*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1495             : /*  2498*/      OPC_RecordChild0, // #1 = $off
    1496             : /*  2499*/      OPC_MoveChild0,
    1497             : /*  2500*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1498             : /*  2503*/      OPC_MoveParent,
    1499             : /*  2504*/      OPC_MoveParent,
    1500             : /*  2505*/      OPC_RecordChild1, // #2 = $addr
    1501             : /*  2506*/      OPC_CheckType, MVT::i32,
    1502             : /*  2508*/      OPC_MoveParent,
    1503             : /*  2509*/      OPC_MoveChild2,
    1504             : /*  2510*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1505             : /*  2513*/      OPC_RecordChild0, // #3 = $val
    1506             : /*  2514*/      OPC_MoveParent,
    1507             : /*  2515*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    1508             : /*  2517*/      OPC_MoveParent,
    1509             : /*  2518*/      OPC_MoveParent,
    1510             : /*  2519*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1511             : /*  2521*/      OPC_EmitMergeInputChains1_0,
    1512             : /*  2522*/      OPC_EmitInteger, MVT::i32, 0, 
    1513             : /*  2525*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1514             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1515             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 27
    1516             :                 // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1517             : /*  2535*/    /*Scope*/ 60, /*->2596*/
    1518             : /*  2536*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1519             : /*  2540*/      OPC_MoveChild0,
    1520             : /*  2541*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1521             : /*  2544*/      OPC_MoveChild0,
    1522             : /*  2545*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    1523             : /*  2548*/      OPC_RecordMemRef,
    1524             : /*  2549*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    1525             : /*  2550*/      OPC_CheckFoldableChainNode,
    1526             : /*  2551*/      OPC_MoveChild1,
    1527             : /*  2552*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1528             : /*  2555*/      OPC_MoveChild0,
    1529             : /*  2556*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1530             : /*  2559*/      OPC_RecordChild0, // #1 = $off
    1531             : /*  2560*/      OPC_MoveChild0,
    1532             : /*  2561*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1533             : /*  2564*/      OPC_MoveParent,
    1534             : /*  2565*/      OPC_MoveParent,
    1535             : /*  2566*/      OPC_RecordChild1, // #2 = $addr
    1536             : /*  2567*/      OPC_CheckType, MVT::i32,
    1537             : /*  2569*/      OPC_MoveParent,
    1538             : /*  2570*/      OPC_MoveChild2,
    1539             : /*  2571*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1540             : /*  2574*/      OPC_RecordChild0, // #3 = $val
    1541             : /*  2575*/      OPC_MoveParent,
    1542             : /*  2576*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    1543             : /*  2578*/      OPC_MoveParent,
    1544             : /*  2579*/      OPC_MoveParent,
    1545             : /*  2580*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1546             : /*  2582*/      OPC_EmitMergeInputChains1_0,
    1547             : /*  2583*/      OPC_EmitInteger, MVT::i32, 0, 
    1548             : /*  2586*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1549             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1550             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 27
    1551             :                 // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1552             : /*  2596*/    /*Scope*/ 59, /*->2656*/
    1553             : /*  2597*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1554             : /*  2600*/      OPC_MoveChild0,
    1555             : /*  2601*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1556             : /*  2604*/      OPC_MoveChild0,
    1557             : /*  2605*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    1558             : /*  2608*/      OPC_RecordMemRef,
    1559             : /*  2609*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    1560             : /*  2610*/      OPC_CheckFoldableChainNode,
    1561             : /*  2611*/      OPC_MoveChild1,
    1562             : /*  2612*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1563             : /*  2615*/      OPC_MoveChild0,
    1564             : /*  2616*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1565             : /*  2619*/      OPC_RecordChild0, // #1 = $off
    1566             : /*  2620*/      OPC_MoveChild0,
    1567             : /*  2621*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1568             : /*  2624*/      OPC_MoveParent,
    1569             : /*  2625*/      OPC_MoveParent,
    1570             : /*  2626*/      OPC_RecordChild1, // #2 = $addr
    1571             : /*  2627*/      OPC_CheckType, MVT::i32,
    1572             : /*  2629*/      OPC_MoveParent,
    1573             : /*  2630*/      OPC_MoveChild2,
    1574             : /*  2631*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1575             : /*  2634*/      OPC_RecordChild0, // #3 = $val
    1576             : /*  2635*/      OPC_MoveParent,
    1577             : /*  2636*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    1578             : /*  2638*/      OPC_MoveParent,
    1579             : /*  2639*/      OPC_MoveParent,
    1580             : /*  2640*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1581             : /*  2642*/      OPC_EmitMergeInputChains1_0,
    1582             : /*  2643*/      OPC_EmitInteger, MVT::i32, 0, 
    1583             : /*  2646*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1584             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1585             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 27
    1586             :                 // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1587             : /*  2656*/    /*Scope*/ 60, /*->2717*/
    1588             : /*  2657*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1589             : /*  2661*/      OPC_MoveChild0,
    1590             : /*  2662*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1591             : /*  2665*/      OPC_MoveChild0,
    1592             : /*  2666*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    1593             : /*  2669*/      OPC_RecordMemRef,
    1594             : /*  2670*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    1595             : /*  2671*/      OPC_CheckFoldableChainNode,
    1596             : /*  2672*/      OPC_MoveChild1,
    1597             : /*  2673*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1598             : /*  2676*/      OPC_MoveChild0,
    1599             : /*  2677*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1600             : /*  2680*/      OPC_RecordChild0, // #1 = $off
    1601             : /*  2681*/      OPC_MoveChild0,
    1602             : /*  2682*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1603             : /*  2685*/      OPC_MoveParent,
    1604             : /*  2686*/      OPC_MoveParent,
    1605             : /*  2687*/      OPC_RecordChild1, // #2 = $addr
    1606             : /*  2688*/      OPC_CheckType, MVT::i32,
    1607             : /*  2690*/      OPC_MoveParent,
    1608             : /*  2691*/      OPC_MoveChild2,
    1609             : /*  2692*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1610             : /*  2695*/      OPC_RecordChild0, // #3 = $val
    1611             : /*  2696*/      OPC_MoveParent,
    1612             : /*  2697*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    1613             : /*  2699*/      OPC_MoveParent,
    1614             : /*  2700*/      OPC_MoveParent,
    1615             : /*  2701*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1616             : /*  2703*/      OPC_EmitMergeInputChains1_0,
    1617             : /*  2704*/      OPC_EmitInteger, MVT::i32, 0, 
    1618             : /*  2707*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1619             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1620             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 27
    1621             :                 // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1622             : /*  2717*/    /*Scope*/ 59, /*->2777*/
    1623             : /*  2718*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1624             : /*  2721*/      OPC_MoveChild0,
    1625             : /*  2722*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1626             : /*  2725*/      OPC_MoveChild0,
    1627             : /*  2726*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    1628             : /*  2729*/      OPC_RecordMemRef,
    1629             : /*  2730*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    1630             : /*  2731*/      OPC_CheckFoldableChainNode,
    1631             : /*  2732*/      OPC_MoveChild1,
    1632             : /*  2733*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1633             : /*  2736*/      OPC_MoveChild0,
    1634             : /*  2737*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1635             : /*  2740*/      OPC_RecordChild0, // #1 = $off
    1636             : /*  2741*/      OPC_MoveChild0,
    1637             : /*  2742*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1638             : /*  2745*/      OPC_MoveParent,
    1639             : /*  2746*/      OPC_MoveParent,
    1640             : /*  2747*/      OPC_RecordChild1, // #2 = $addr
    1641             : /*  2748*/      OPC_CheckType, MVT::i32,
    1642             : /*  2750*/      OPC_MoveParent,
    1643             : /*  2751*/      OPC_MoveChild2,
    1644             : /*  2752*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1645             : /*  2755*/      OPC_RecordChild0, // #3 = $val
    1646             : /*  2756*/      OPC_MoveParent,
    1647             : /*  2757*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    1648             : /*  2759*/      OPC_MoveParent,
    1649             : /*  2760*/      OPC_MoveParent,
    1650             : /*  2761*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1651             : /*  2763*/      OPC_EmitMergeInputChains1_0,
    1652             : /*  2764*/      OPC_EmitInteger, MVT::i32, 0, 
    1653             : /*  2767*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1654             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1655             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 27
    1656             :                 // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1657             : /*  2777*/    /*Scope*/ 60, /*->2838*/
    1658             : /*  2778*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1659             : /*  2782*/      OPC_MoveChild0,
    1660             : /*  2783*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1661             : /*  2786*/      OPC_MoveChild0,
    1662             : /*  2787*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    1663             : /*  2790*/      OPC_RecordMemRef,
    1664             : /*  2791*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    1665             : /*  2792*/      OPC_CheckFoldableChainNode,
    1666             : /*  2793*/      OPC_MoveChild1,
    1667             : /*  2794*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1668             : /*  2797*/      OPC_MoveChild0,
    1669             : /*  2798*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1670             : /*  2801*/      OPC_RecordChild0, // #1 = $off
    1671             : /*  2802*/      OPC_MoveChild0,
    1672             : /*  2803*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1673             : /*  2806*/      OPC_MoveParent,
    1674             : /*  2807*/      OPC_MoveParent,
    1675             : /*  2808*/      OPC_RecordChild1, // #2 = $addr
    1676             : /*  2809*/      OPC_CheckType, MVT::i32,
    1677             : /*  2811*/      OPC_MoveParent,
    1678             : /*  2812*/      OPC_MoveChild2,
    1679             : /*  2813*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1680             : /*  2816*/      OPC_RecordChild0, // #3 = $val
    1681             : /*  2817*/      OPC_MoveParent,
    1682             : /*  2818*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    1683             : /*  2820*/      OPC_MoveParent,
    1684             : /*  2821*/      OPC_MoveParent,
    1685             : /*  2822*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1686             : /*  2824*/      OPC_EmitMergeInputChains1_0,
    1687             : /*  2825*/      OPC_EmitInteger, MVT::i32, 0, 
    1688             : /*  2828*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1689             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1690             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 27
    1691             :                 // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1692             : /*  2838*/    /*Scope*/ 59, /*->2898*/
    1693             : /*  2839*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1694             : /*  2842*/      OPC_MoveChild0,
    1695             : /*  2843*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1696             : /*  2846*/      OPC_MoveChild0,
    1697             : /*  2847*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    1698             : /*  2850*/      OPC_RecordMemRef,
    1699             : /*  2851*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    1700             : /*  2852*/      OPC_CheckFoldableChainNode,
    1701             : /*  2853*/      OPC_MoveChild1,
    1702             : /*  2854*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1703             : /*  2857*/      OPC_MoveChild0,
    1704             : /*  2858*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1705             : /*  2861*/      OPC_RecordChild0, // #1 = $off
    1706             : /*  2862*/      OPC_MoveChild0,
    1707             : /*  2863*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1708             : /*  2866*/      OPC_MoveParent,
    1709             : /*  2867*/      OPC_MoveParent,
    1710             : /*  2868*/      OPC_RecordChild1, // #2 = $addr
    1711             : /*  2869*/      OPC_CheckType, MVT::i32,
    1712             : /*  2871*/      OPC_MoveParent,
    1713             : /*  2872*/      OPC_MoveChild2,
    1714             : /*  2873*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1715             : /*  2876*/      OPC_RecordChild0, // #3 = $val
    1716             : /*  2877*/      OPC_MoveParent,
    1717             : /*  2878*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    1718             : /*  2880*/      OPC_MoveParent,
    1719             : /*  2881*/      OPC_MoveParent,
    1720             : /*  2882*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1721             : /*  2884*/      OPC_EmitMergeInputChains1_0,
    1722             : /*  2885*/      OPC_EmitInteger, MVT::i32, 0, 
    1723             : /*  2888*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1724             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1725             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 27
    1726             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1727             : /*  2898*/    /*Scope*/ 60, /*->2959*/
    1728             : /*  2899*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1729             : /*  2903*/      OPC_MoveChild0,
    1730             : /*  2904*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1731             : /*  2907*/      OPC_MoveChild0,
    1732             : /*  2908*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    1733             : /*  2911*/      OPC_RecordMemRef,
    1734             : /*  2912*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    1735             : /*  2913*/      OPC_CheckFoldableChainNode,
    1736             : /*  2914*/      OPC_MoveChild1,
    1737             : /*  2915*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1738             : /*  2918*/      OPC_MoveChild0,
    1739             : /*  2919*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1740             : /*  2922*/      OPC_RecordChild0, // #1 = $off
    1741             : /*  2923*/      OPC_MoveChild0,
    1742             : /*  2924*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    1743             : /*  2927*/      OPC_MoveParent,
    1744             : /*  2928*/      OPC_MoveParent,
    1745             : /*  2929*/      OPC_RecordChild1, // #2 = $addr
    1746             : /*  2930*/      OPC_CheckType, MVT::i32,
    1747             : /*  2932*/      OPC_MoveParent,
    1748             : /*  2933*/      OPC_MoveChild2,
    1749             : /*  2934*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1750             : /*  2937*/      OPC_RecordChild0, // #3 = $val
    1751             : /*  2938*/      OPC_MoveParent,
    1752             : /*  2939*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    1753             : /*  2941*/      OPC_MoveParent,
    1754             : /*  2942*/      OPC_MoveParent,
    1755             : /*  2943*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1756             : /*  2945*/      OPC_EmitMergeInputChains1_0,
    1757             : /*  2946*/      OPC_EmitInteger, MVT::i32, 0, 
    1758             : /*  2949*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1759             :                     MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
    1760             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 27
    1761             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1762             : /*  2959*/    /*Scope*/ 54, /*->3014*/
    1763             : /*  2960*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1764             : /*  2963*/      OPC_MoveChild0,
    1765             : /*  2964*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1766             : /*  2967*/      OPC_MoveChild0,
    1767             : /*  2968*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    1768             : /*  2971*/      OPC_RecordMemRef,
    1769             : /*  2972*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    1770             : /*  2973*/      OPC_CheckFoldableChainNode,
    1771             : /*  2974*/      OPC_MoveChild1,
    1772             : /*  2975*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1773             : /*  2978*/      OPC_RecordChild0, // #1 = $addr
    1774             : /*  2979*/      OPC_MoveChild1,
    1775             : /*  2980*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1776             : /*  2983*/      OPC_RecordChild0, // #2 = $off
    1777             : /*  2984*/      OPC_MoveChild0,
    1778             : /*  2985*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    1779             : /*  2988*/      OPC_MoveParent,
    1780             : /*  2989*/      OPC_MoveParent,
    1781             : /*  2990*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    1782             : /*  2992*/      OPC_CheckType, MVT::i32,
    1783             : /*  2994*/      OPC_MoveParent,
    1784             : /*  2995*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    1785             : /*  2997*/      OPC_MoveParent,
    1786             : /*  2998*/      OPC_MoveParent,
    1787             : /*  2999*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1788             : /*  3001*/      OPC_EmitMergeInputChains1_0,
    1789             : /*  3002*/      OPC_EmitInteger, MVT::i32, 0, 
    1790             : /*  3005*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1791             :                     MVT::i64, 3/*#Ops*/, 3, 2, 1, 
    1792             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 25
    1793             :                 // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    1794             : /*  3014*/    /*Scope*/ 55, /*->3070*/
    1795             : /*  3015*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1796             : /*  3019*/      OPC_MoveChild0,
    1797             : /*  3020*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1798             : /*  3023*/      OPC_MoveChild0,
    1799             : /*  3024*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    1800             : /*  3027*/      OPC_RecordMemRef,
    1801             : /*  3028*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    1802             : /*  3029*/      OPC_CheckFoldableChainNode,
    1803             : /*  3030*/      OPC_MoveChild1,
    1804             : /*  3031*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1805             : /*  3034*/      OPC_RecordChild0, // #1 = $addr
    1806             : /*  3035*/      OPC_MoveChild1,
    1807             : /*  3036*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    1808             : /*  3039*/      OPC_RecordChild0, // #2 = $off
    1809             : /*  3040*/      OPC_MoveChild0,
    1810             : /*  3041*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    1811             : /*  3044*/      OPC_MoveParent,
    1812             : /*  3045*/      OPC_MoveParent,
    1813             : /*  3046*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    1814             : /*  3048*/      OPC_CheckType, MVT::i32,
    1815             : /*  3050*/      OPC_MoveParent,
    1816             : /*  3051*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    1817             : /*  3053*/      OPC_MoveParent,
    1818             : /*  3054*/      OPC_MoveParent,
    1819             : /*  3055*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1820             : /*  3057*/      OPC_EmitMergeInputChains1_0,
    1821             : /*  3058*/      OPC_EmitInteger, MVT::i32, 0, 
    1822             : /*  3061*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1823             :                     MVT::i64, 3/*#Ops*/, 3, 2, 1, 
    1824             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 25
    1825             :                 // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    1826             : /*  3070*/    /*Scope*/ 58, /*->3129*/
    1827             : /*  3071*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1828             : /*  3074*/      OPC_MoveChild0,
    1829             : /*  3075*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1830             : /*  3078*/      OPC_MoveChild0,
    1831             : /*  3079*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    1832             : /*  3082*/      OPC_RecordMemRef,
    1833             : /*  3083*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    1834             : /*  3084*/      OPC_CheckFoldableChainNode,
    1835             : /*  3085*/      OPC_MoveChild1,
    1836             : /*  3086*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1837             : /*  3089*/      OPC_RecordChild0, // #1 = $addr
    1838             : /*  3090*/      OPC_RecordChild1, // #2 = $off
    1839             : /*  3091*/      OPC_MoveChild1,
    1840             : /*  3092*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1841             : /*  3095*/      OPC_MoveParent,
    1842             : /*  3096*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    1843             : /*  3098*/      OPC_CheckType, MVT::i32,
    1844             : /*  3100*/      OPC_MoveParent,
    1845             : /*  3101*/      OPC_MoveChild2,
    1846             : /*  3102*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1847             : /*  3105*/      OPC_RecordChild0, // #3 = $val
    1848             : /*  3106*/      OPC_MoveParent,
    1849             : /*  3107*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    1850             : /*  3109*/      OPC_MoveParent,
    1851             : /*  3110*/      OPC_MoveParent,
    1852             : /*  3111*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1853             : /*  3113*/      OPC_EmitMergeInputChains1_0,
    1854             : /*  3114*/      OPC_EmitInteger, MVT::i32, 0, 
    1855             : /*  3117*/      OPC_EmitConvertToTarget, 2,
    1856             : /*  3119*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1857             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    1858             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 25
    1859             :                 // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1860             : /*  3129*/    /*Scope*/ 59, /*->3189*/
    1861             : /*  3130*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1862             : /*  3134*/      OPC_MoveChild0,
    1863             : /*  3135*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1864             : /*  3138*/      OPC_MoveChild0,
    1865             : /*  3139*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    1866             : /*  3142*/      OPC_RecordMemRef,
    1867             : /*  3143*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    1868             : /*  3144*/      OPC_CheckFoldableChainNode,
    1869             : /*  3145*/      OPC_MoveChild1,
    1870             : /*  3146*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1871             : /*  3149*/      OPC_RecordChild0, // #1 = $addr
    1872             : /*  3150*/      OPC_RecordChild1, // #2 = $off
    1873             : /*  3151*/      OPC_MoveChild1,
    1874             : /*  3152*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1875             : /*  3155*/      OPC_MoveParent,
    1876             : /*  3156*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    1877             : /*  3158*/      OPC_CheckType, MVT::i32,
    1878             : /*  3160*/      OPC_MoveParent,
    1879             : /*  3161*/      OPC_MoveChild2,
    1880             : /*  3162*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1881             : /*  3165*/      OPC_RecordChild0, // #3 = $val
    1882             : /*  3166*/      OPC_MoveParent,
    1883             : /*  3167*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    1884             : /*  3169*/      OPC_MoveParent,
    1885             : /*  3170*/      OPC_MoveParent,
    1886             : /*  3171*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1887             : /*  3173*/      OPC_EmitMergeInputChains1_0,
    1888             : /*  3174*/      OPC_EmitInteger, MVT::i32, 0, 
    1889             : /*  3177*/      OPC_EmitConvertToTarget, 2,
    1890             : /*  3179*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1891             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    1892             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 25
    1893             :                 // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1894             : /*  3189*/    /*Scope*/ 58, /*->3248*/
    1895             : /*  3190*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1896             : /*  3193*/      OPC_MoveChild0,
    1897             : /*  3194*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1898             : /*  3197*/      OPC_MoveChild0,
    1899             : /*  3198*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    1900             : /*  3201*/      OPC_RecordMemRef,
    1901             : /*  3202*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    1902             : /*  3203*/      OPC_CheckFoldableChainNode,
    1903             : /*  3204*/      OPC_MoveChild1,
    1904             : /*  3205*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    1905             : /*  3208*/      OPC_RecordChild0, // #1 = $addr
    1906             : /*  3209*/      OPC_RecordChild1, // #2 = $off
    1907             : /*  3210*/      OPC_MoveChild1,
    1908             : /*  3211*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1909             : /*  3214*/      OPC_MoveParent,
    1910             : /*  3215*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    1911             : /*  3217*/      OPC_CheckType, MVT::i32,
    1912             : /*  3219*/      OPC_MoveParent,
    1913             : /*  3220*/      OPC_MoveChild2,
    1914             : /*  3221*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1915             : /*  3224*/      OPC_RecordChild0, // #3 = $val
    1916             : /*  3225*/      OPC_MoveParent,
    1917             : /*  3226*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    1918             : /*  3228*/      OPC_MoveParent,
    1919             : /*  3229*/      OPC_MoveParent,
    1920             : /*  3230*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1921             : /*  3232*/      OPC_EmitMergeInputChains1_0,
    1922             : /*  3233*/      OPC_EmitInteger, MVT::i32, 0, 
    1923             : /*  3236*/      OPC_EmitConvertToTarget, 2,
    1924             : /*  3238*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1925             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    1926             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 25
    1927             :                 // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1928             : /*  3248*/    /*Scope*/ 59, /*->3308*/
    1929             : /*  3249*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1930             : /*  3253*/      OPC_MoveChild0,
    1931             : /*  3254*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1932             : /*  3257*/      OPC_MoveChild0,
    1933             : /*  3258*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    1934             : /*  3261*/      OPC_RecordMemRef,
    1935             : /*  3262*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    1936             : /*  3263*/      OPC_CheckFoldableChainNode,
    1937             : /*  3264*/      OPC_MoveChild1,
    1938             : /*  3265*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    1939             : /*  3268*/      OPC_RecordChild0, // #1 = $addr
    1940             : /*  3269*/      OPC_RecordChild1, // #2 = $off
    1941             : /*  3270*/      OPC_MoveChild1,
    1942             : /*  3271*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1943             : /*  3274*/      OPC_MoveParent,
    1944             : /*  3275*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    1945             : /*  3277*/      OPC_CheckType, MVT::i32,
    1946             : /*  3279*/      OPC_MoveParent,
    1947             : /*  3280*/      OPC_MoveChild2,
    1948             : /*  3281*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1949             : /*  3284*/      OPC_RecordChild0, // #3 = $val
    1950             : /*  3285*/      OPC_MoveParent,
    1951             : /*  3286*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    1952             : /*  3288*/      OPC_MoveParent,
    1953             : /*  3289*/      OPC_MoveParent,
    1954             : /*  3290*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1955             : /*  3292*/      OPC_EmitMergeInputChains1_0,
    1956             : /*  3293*/      OPC_EmitInteger, MVT::i32, 0, 
    1957             : /*  3296*/      OPC_EmitConvertToTarget, 2,
    1958             : /*  3298*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1959             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    1960             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 25
    1961             :                 // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1962             : /*  3308*/    /*Scope*/ 58, /*->3367*/
    1963             : /*  3309*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    1964             : /*  3312*/      OPC_MoveChild0,
    1965             : /*  3313*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    1966             : /*  3316*/      OPC_MoveChild0,
    1967             : /*  3317*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    1968             : /*  3320*/      OPC_RecordMemRef,
    1969             : /*  3321*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    1970             : /*  3322*/      OPC_CheckFoldableChainNode,
    1971             : /*  3323*/      OPC_MoveChild1,
    1972             : /*  3324*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    1973             : /*  3327*/      OPC_RecordChild0, // #1 = $addr
    1974             : /*  3328*/      OPC_RecordChild1, // #2 = $off
    1975             : /*  3329*/      OPC_MoveChild1,
    1976             : /*  3330*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1977             : /*  3333*/      OPC_MoveParent,
    1978             : /*  3334*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    1979             : /*  3336*/      OPC_CheckType, MVT::i32,
    1980             : /*  3338*/      OPC_MoveParent,
    1981             : /*  3339*/      OPC_MoveChild2,
    1982             : /*  3340*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    1983             : /*  3343*/      OPC_RecordChild0, // #3 = $val
    1984             : /*  3344*/      OPC_MoveParent,
    1985             : /*  3345*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    1986             : /*  3347*/      OPC_MoveParent,
    1987             : /*  3348*/      OPC_MoveParent,
    1988             : /*  3349*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    1989             : /*  3351*/      OPC_EmitMergeInputChains1_0,
    1990             : /*  3352*/      OPC_EmitInteger, MVT::i32, 0, 
    1991             : /*  3355*/      OPC_EmitConvertToTarget, 2,
    1992             : /*  3357*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    1993             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    1994             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 25
    1995             :                 // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    1996             : /*  3367*/    /*Scope*/ 59, /*->3427*/
    1997             : /*  3368*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    1998             : /*  3372*/      OPC_MoveChild0,
    1999             : /*  3373*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2000             : /*  3376*/      OPC_MoveChild0,
    2001             : /*  3377*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    2002             : /*  3380*/      OPC_RecordMemRef,
    2003             : /*  3381*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    2004             : /*  3382*/      OPC_CheckFoldableChainNode,
    2005             : /*  3383*/      OPC_MoveChild1,
    2006             : /*  3384*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2007             : /*  3387*/      OPC_RecordChild0, // #1 = $addr
    2008             : /*  3388*/      OPC_RecordChild1, // #2 = $off
    2009             : /*  3389*/      OPC_MoveChild1,
    2010             : /*  3390*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2011             : /*  3393*/      OPC_MoveParent,
    2012             : /*  3394*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    2013             : /*  3396*/      OPC_CheckType, MVT::i32,
    2014             : /*  3398*/      OPC_MoveParent,
    2015             : /*  3399*/      OPC_MoveChild2,
    2016             : /*  3400*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2017             : /*  3403*/      OPC_RecordChild0, // #3 = $val
    2018             : /*  3404*/      OPC_MoveParent,
    2019             : /*  3405*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    2020             : /*  3407*/      OPC_MoveParent,
    2021             : /*  3408*/      OPC_MoveParent,
    2022             : /*  3409*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2023             : /*  3411*/      OPC_EmitMergeInputChains1_0,
    2024             : /*  3412*/      OPC_EmitInteger, MVT::i32, 0, 
    2025             : /*  3415*/      OPC_EmitConvertToTarget, 2,
    2026             : /*  3417*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2027             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2028             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 25
    2029             :                 // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2030             : /*  3427*/    /*Scope*/ 58, /*->3486*/
    2031             : /*  3428*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2032             : /*  3431*/      OPC_MoveChild0,
    2033             : /*  3432*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2034             : /*  3435*/      OPC_MoveChild0,
    2035             : /*  3436*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    2036             : /*  3439*/      OPC_RecordMemRef,
    2037             : /*  3440*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    2038             : /*  3441*/      OPC_CheckFoldableChainNode,
    2039             : /*  3442*/      OPC_MoveChild1,
    2040             : /*  3443*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    2041             : /*  3446*/      OPC_RecordChild0, // #1 = $addr
    2042             : /*  3447*/      OPC_RecordChild1, // #2 = $off
    2043             : /*  3448*/      OPC_MoveChild1,
    2044             : /*  3449*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2045             : /*  3452*/      OPC_MoveParent,
    2046             : /*  3453*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    2047             : /*  3455*/      OPC_CheckType, MVT::i32,
    2048             : /*  3457*/      OPC_MoveParent,
    2049             : /*  3458*/      OPC_MoveChild2,
    2050             : /*  3459*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2051             : /*  3462*/      OPC_RecordChild0, // #3 = $val
    2052             : /*  3463*/      OPC_MoveParent,
    2053             : /*  3464*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    2054             : /*  3466*/      OPC_MoveParent,
    2055             : /*  3467*/      OPC_MoveParent,
    2056             : /*  3468*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2057             : /*  3470*/      OPC_EmitMergeInputChains1_0,
    2058             : /*  3471*/      OPC_EmitInteger, MVT::i32, 0, 
    2059             : /*  3474*/      OPC_EmitConvertToTarget, 2,
    2060             : /*  3476*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2061             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2062             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 25
    2063             :                 // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2064             : /*  3486*/    /*Scope*/ 59, /*->3546*/
    2065             : /*  3487*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2066             : /*  3491*/      OPC_MoveChild0,
    2067             : /*  3492*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2068             : /*  3495*/      OPC_MoveChild0,
    2069             : /*  3496*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    2070             : /*  3499*/      OPC_RecordMemRef,
    2071             : /*  3500*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    2072             : /*  3501*/      OPC_CheckFoldableChainNode,
    2073             : /*  3502*/      OPC_MoveChild1,
    2074             : /*  3503*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    2075             : /*  3506*/      OPC_RecordChild0, // #1 = $addr
    2076             : /*  3507*/      OPC_RecordChild1, // #2 = $off
    2077             : /*  3508*/      OPC_MoveChild1,
    2078             : /*  3509*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2079             : /*  3512*/      OPC_MoveParent,
    2080             : /*  3513*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    2081             : /*  3515*/      OPC_CheckType, MVT::i32,
    2082             : /*  3517*/      OPC_MoveParent,
    2083             : /*  3518*/      OPC_MoveChild2,
    2084             : /*  3519*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2085             : /*  3522*/      OPC_RecordChild0, // #3 = $val
    2086             : /*  3523*/      OPC_MoveParent,
    2087             : /*  3524*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    2088             : /*  3526*/      OPC_MoveParent,
    2089             : /*  3527*/      OPC_MoveParent,
    2090             : /*  3528*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2091             : /*  3530*/      OPC_EmitMergeInputChains1_0,
    2092             : /*  3531*/      OPC_EmitInteger, MVT::i32, 0, 
    2093             : /*  3534*/      OPC_EmitConvertToTarget, 2,
    2094             : /*  3536*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2095             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2096             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 25
    2097             :                 // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2098             : /*  3546*/    /*Scope*/ 58, /*->3605*/
    2099             : /*  3547*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2100             : /*  3550*/      OPC_MoveChild0,
    2101             : /*  3551*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2102             : /*  3554*/      OPC_MoveChild0,
    2103             : /*  3555*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    2104             : /*  3558*/      OPC_RecordMemRef,
    2105             : /*  3559*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    2106             : /*  3560*/      OPC_CheckFoldableChainNode,
    2107             : /*  3561*/      OPC_MoveChild1,
    2108             : /*  3562*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2109             : /*  3565*/      OPC_RecordChild0, // #1 = $addr
    2110             : /*  3566*/      OPC_RecordChild1, // #2 = $off
    2111             : /*  3567*/      OPC_MoveChild1,
    2112             : /*  3568*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2113             : /*  3571*/      OPC_MoveParent,
    2114             : /*  3572*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    2115             : /*  3574*/      OPC_CheckType, MVT::i32,
    2116             : /*  3576*/      OPC_MoveParent,
    2117             : /*  3577*/      OPC_MoveChild2,
    2118             : /*  3578*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2119             : /*  3581*/      OPC_RecordChild0, // #3 = $val
    2120             : /*  3582*/      OPC_MoveParent,
    2121             : /*  3583*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    2122             : /*  3585*/      OPC_MoveParent,
    2123             : /*  3586*/      OPC_MoveParent,
    2124             : /*  3587*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2125             : /*  3589*/      OPC_EmitMergeInputChains1_0,
    2126             : /*  3590*/      OPC_EmitInteger, MVT::i32, 0, 
    2127             : /*  3593*/      OPC_EmitConvertToTarget, 2,
    2128             : /*  3595*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2129             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2130             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 25
    2131             :                 // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2132             : /*  3605*/    /*Scope*/ 59, /*->3665*/
    2133             : /*  3606*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2134             : /*  3610*/      OPC_MoveChild0,
    2135             : /*  3611*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2136             : /*  3614*/      OPC_MoveChild0,
    2137             : /*  3615*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    2138             : /*  3618*/      OPC_RecordMemRef,
    2139             : /*  3619*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    2140             : /*  3620*/      OPC_CheckFoldableChainNode,
    2141             : /*  3621*/      OPC_MoveChild1,
    2142             : /*  3622*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2143             : /*  3625*/      OPC_RecordChild0, // #1 = $addr
    2144             : /*  3626*/      OPC_RecordChild1, // #2 = $off
    2145             : /*  3627*/      OPC_MoveChild1,
    2146             : /*  3628*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2147             : /*  3631*/      OPC_MoveParent,
    2148             : /*  3632*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    2149             : /*  3634*/      OPC_CheckType, MVT::i32,
    2150             : /*  3636*/      OPC_MoveParent,
    2151             : /*  3637*/      OPC_MoveChild2,
    2152             : /*  3638*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2153             : /*  3641*/      OPC_RecordChild0, // #3 = $val
    2154             : /*  3642*/      OPC_MoveParent,
    2155             : /*  3643*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    2156             : /*  3645*/      OPC_MoveParent,
    2157             : /*  3646*/      OPC_MoveParent,
    2158             : /*  3647*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2159             : /*  3649*/      OPC_EmitMergeInputChains1_0,
    2160             : /*  3650*/      OPC_EmitInteger, MVT::i32, 0, 
    2161             : /*  3653*/      OPC_EmitConvertToTarget, 2,
    2162             : /*  3655*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2163             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2164             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 25
    2165             :                 // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2166             : /*  3665*/    /*Scope*/ 58, /*->3724*/
    2167             : /*  3666*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2168             : /*  3669*/      OPC_MoveChild0,
    2169             : /*  3670*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2170             : /*  3673*/      OPC_MoveChild0,
    2171             : /*  3674*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    2172             : /*  3677*/      OPC_RecordMemRef,
    2173             : /*  3678*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    2174             : /*  3679*/      OPC_CheckFoldableChainNode,
    2175             : /*  3680*/      OPC_MoveChild1,
    2176             : /*  3681*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    2177             : /*  3684*/      OPC_RecordChild0, // #1 = $addr
    2178             : /*  3685*/      OPC_RecordChild1, // #2 = $off
    2179             : /*  3686*/      OPC_MoveChild1,
    2180             : /*  3687*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2181             : /*  3690*/      OPC_MoveParent,
    2182             : /*  3691*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    2183             : /*  3693*/      OPC_CheckType, MVT::i32,
    2184             : /*  3695*/      OPC_MoveParent,
    2185             : /*  3696*/      OPC_MoveChild2,
    2186             : /*  3697*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2187             : /*  3700*/      OPC_RecordChild0, // #3 = $val
    2188             : /*  3701*/      OPC_MoveParent,
    2189             : /*  3702*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    2190             : /*  3704*/      OPC_MoveParent,
    2191             : /*  3705*/      OPC_MoveParent,
    2192             : /*  3706*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2193             : /*  3708*/      OPC_EmitMergeInputChains1_0,
    2194             : /*  3709*/      OPC_EmitInteger, MVT::i32, 0, 
    2195             : /*  3712*/      OPC_EmitConvertToTarget, 2,
    2196             : /*  3714*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2197             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2198             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 25
    2199             :                 // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2200             : /*  3724*/    /*Scope*/ 59, /*->3784*/
    2201             : /*  3725*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2202             : /*  3729*/      OPC_MoveChild0,
    2203             : /*  3730*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2204             : /*  3733*/      OPC_MoveChild0,
    2205             : /*  3734*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    2206             : /*  3737*/      OPC_RecordMemRef,
    2207             : /*  3738*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    2208             : /*  3739*/      OPC_CheckFoldableChainNode,
    2209             : /*  3740*/      OPC_MoveChild1,
    2210             : /*  3741*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    2211             : /*  3744*/      OPC_RecordChild0, // #1 = $addr
    2212             : /*  3745*/      OPC_RecordChild1, // #2 = $off
    2213             : /*  3746*/      OPC_MoveChild1,
    2214             : /*  3747*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2215             : /*  3750*/      OPC_MoveParent,
    2216             : /*  3751*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    2217             : /*  3753*/      OPC_CheckType, MVT::i32,
    2218             : /*  3755*/      OPC_MoveParent,
    2219             : /*  3756*/      OPC_MoveChild2,
    2220             : /*  3757*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2221             : /*  3760*/      OPC_RecordChild0, // #3 = $val
    2222             : /*  3761*/      OPC_MoveParent,
    2223             : /*  3762*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    2224             : /*  3764*/      OPC_MoveParent,
    2225             : /*  3765*/      OPC_MoveParent,
    2226             : /*  3766*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2227             : /*  3768*/      OPC_EmitMergeInputChains1_0,
    2228             : /*  3769*/      OPC_EmitInteger, MVT::i32, 0, 
    2229             : /*  3772*/      OPC_EmitConvertToTarget, 2,
    2230             : /*  3774*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2231             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2232             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 25
    2233             :                 // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2234             : /*  3784*/    /*Scope*/ 58, /*->3843*/
    2235             : /*  3785*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2236             : /*  3788*/      OPC_MoveChild0,
    2237             : /*  3789*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2238             : /*  3792*/      OPC_MoveChild0,
    2239             : /*  3793*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    2240             : /*  3796*/      OPC_RecordMemRef,
    2241             : /*  3797*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    2242             : /*  3798*/      OPC_CheckFoldableChainNode,
    2243             : /*  3799*/      OPC_MoveChild1,
    2244             : /*  3800*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2245             : /*  3803*/      OPC_RecordChild0, // #1 = $addr
    2246             : /*  3804*/      OPC_RecordChild1, // #2 = $off
    2247             : /*  3805*/      OPC_MoveChild1,
    2248             : /*  3806*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2249             : /*  3809*/      OPC_MoveParent,
    2250             : /*  3810*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    2251             : /*  3812*/      OPC_CheckType, MVT::i32,
    2252             : /*  3814*/      OPC_MoveParent,
    2253             : /*  3815*/      OPC_MoveChild2,
    2254             : /*  3816*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2255             : /*  3819*/      OPC_RecordChild0, // #3 = $val
    2256             : /*  3820*/      OPC_MoveParent,
    2257             : /*  3821*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    2258             : /*  3823*/      OPC_MoveParent,
    2259             : /*  3824*/      OPC_MoveParent,
    2260             : /*  3825*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2261             : /*  3827*/      OPC_EmitMergeInputChains1_0,
    2262             : /*  3828*/      OPC_EmitInteger, MVT::i32, 0, 
    2263             : /*  3831*/      OPC_EmitConvertToTarget, 2,
    2264             : /*  3833*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2265             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2266             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 25
    2267             :                 // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2268             : /*  3843*/    /*Scope*/ 59, /*->3903*/
    2269             : /*  3844*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2270             : /*  3848*/      OPC_MoveChild0,
    2271             : /*  3849*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2272             : /*  3852*/      OPC_MoveChild0,
    2273             : /*  3853*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    2274             : /*  3856*/      OPC_RecordMemRef,
    2275             : /*  3857*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    2276             : /*  3858*/      OPC_CheckFoldableChainNode,
    2277             : /*  3859*/      OPC_MoveChild1,
    2278             : /*  3860*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2279             : /*  3863*/      OPC_RecordChild0, // #1 = $addr
    2280             : /*  3864*/      OPC_RecordChild1, // #2 = $off
    2281             : /*  3865*/      OPC_MoveChild1,
    2282             : /*  3866*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2283             : /*  3869*/      OPC_MoveParent,
    2284             : /*  3870*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    2285             : /*  3872*/      OPC_CheckType, MVT::i32,
    2286             : /*  3874*/      OPC_MoveParent,
    2287             : /*  3875*/      OPC_MoveChild2,
    2288             : /*  3876*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2289             : /*  3879*/      OPC_RecordChild0, // #3 = $val
    2290             : /*  3880*/      OPC_MoveParent,
    2291             : /*  3881*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    2292             : /*  3883*/      OPC_MoveParent,
    2293             : /*  3884*/      OPC_MoveParent,
    2294             : /*  3885*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2295             : /*  3887*/      OPC_EmitMergeInputChains1_0,
    2296             : /*  3888*/      OPC_EmitInteger, MVT::i32, 0, 
    2297             : /*  3891*/      OPC_EmitConvertToTarget, 2,
    2298             : /*  3893*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2299             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2300             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 25
    2301             :                 // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2302             : /*  3903*/    /*Scope*/ 58, /*->3962*/
    2303             : /*  3904*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2304             : /*  3907*/      OPC_MoveChild0,
    2305             : /*  3908*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2306             : /*  3911*/      OPC_MoveChild0,
    2307             : /*  3912*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    2308             : /*  3915*/      OPC_RecordMemRef,
    2309             : /*  3916*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    2310             : /*  3917*/      OPC_CheckFoldableChainNode,
    2311             : /*  3918*/      OPC_MoveChild1,
    2312             : /*  3919*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    2313             : /*  3922*/      OPC_RecordChild0, // #1 = $addr
    2314             : /*  3923*/      OPC_RecordChild1, // #2 = $off
    2315             : /*  3924*/      OPC_MoveChild1,
    2316             : /*  3925*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2317             : /*  3928*/      OPC_MoveParent,
    2318             : /*  3929*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    2319             : /*  3931*/      OPC_CheckType, MVT::i32,
    2320             : /*  3933*/      OPC_MoveParent,
    2321             : /*  3934*/      OPC_MoveChild2,
    2322             : /*  3935*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2323             : /*  3938*/      OPC_RecordChild0, // #3 = $val
    2324             : /*  3939*/      OPC_MoveParent,
    2325             : /*  3940*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    2326             : /*  3942*/      OPC_MoveParent,
    2327             : /*  3943*/      OPC_MoveParent,
    2328             : /*  3944*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2329             : /*  3946*/      OPC_EmitMergeInputChains1_0,
    2330             : /*  3947*/      OPC_EmitInteger, MVT::i32, 0, 
    2331             : /*  3950*/      OPC_EmitConvertToTarget, 2,
    2332             : /*  3952*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2333             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2334             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 25
    2335             :                 // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2336             : /*  3962*/    /*Scope*/ 59, /*->4022*/
    2337             : /*  3963*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2338             : /*  3967*/      OPC_MoveChild0,
    2339             : /*  3968*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2340             : /*  3971*/      OPC_MoveChild0,
    2341             : /*  3972*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    2342             : /*  3975*/      OPC_RecordMemRef,
    2343             : /*  3976*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    2344             : /*  3977*/      OPC_CheckFoldableChainNode,
    2345             : /*  3978*/      OPC_MoveChild1,
    2346             : /*  3979*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    2347             : /*  3982*/      OPC_RecordChild0, // #1 = $addr
    2348             : /*  3983*/      OPC_RecordChild1, // #2 = $off
    2349             : /*  3984*/      OPC_MoveChild1,
    2350             : /*  3985*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2351             : /*  3988*/      OPC_MoveParent,
    2352             : /*  3989*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    2353             : /*  3991*/      OPC_CheckType, MVT::i32,
    2354             : /*  3993*/      OPC_MoveParent,
    2355             : /*  3994*/      OPC_MoveChild2,
    2356             : /*  3995*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2357             : /*  3998*/      OPC_RecordChild0, // #3 = $val
    2358             : /*  3999*/      OPC_MoveParent,
    2359             : /*  4000*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    2360             : /*  4002*/      OPC_MoveParent,
    2361             : /*  4003*/      OPC_MoveParent,
    2362             : /*  4004*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2363             : /*  4006*/      OPC_EmitMergeInputChains1_0,
    2364             : /*  4007*/      OPC_EmitInteger, MVT::i32, 0, 
    2365             : /*  4010*/      OPC_EmitConvertToTarget, 2,
    2366             : /*  4012*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2367             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2368             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 25
    2369             :                 // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2370             : /*  4022*/    /*Scope*/ 58, /*->4081*/
    2371             : /*  4023*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2372             : /*  4026*/      OPC_MoveChild0,
    2373             : /*  4027*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2374             : /*  4030*/      OPC_MoveChild0,
    2375             : /*  4031*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    2376             : /*  4034*/      OPC_RecordMemRef,
    2377             : /*  4035*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    2378             : /*  4036*/      OPC_CheckFoldableChainNode,
    2379             : /*  4037*/      OPC_MoveChild1,
    2380             : /*  4038*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2381             : /*  4041*/      OPC_RecordChild0, // #1 = $addr
    2382             : /*  4042*/      OPC_RecordChild1, // #2 = $off
    2383             : /*  4043*/      OPC_MoveChild1,
    2384             : /*  4044*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2385             : /*  4047*/      OPC_MoveParent,
    2386             : /*  4048*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    2387             : /*  4050*/      OPC_CheckType, MVT::i32,
    2388             : /*  4052*/      OPC_MoveParent,
    2389             : /*  4053*/      OPC_MoveChild2,
    2390             : /*  4054*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2391             : /*  4057*/      OPC_RecordChild0, // #3 = $val
    2392             : /*  4058*/      OPC_MoveParent,
    2393             : /*  4059*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    2394             : /*  4061*/      OPC_MoveParent,
    2395             : /*  4062*/      OPC_MoveParent,
    2396             : /*  4063*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2397             : /*  4065*/      OPC_EmitMergeInputChains1_0,
    2398             : /*  4066*/      OPC_EmitInteger, MVT::i32, 0, 
    2399             : /*  4069*/      OPC_EmitConvertToTarget, 2,
    2400             : /*  4071*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2401             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2402             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 25
    2403             :                 // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2404             : /*  4081*/    /*Scope*/ 59, /*->4141*/
    2405             : /*  4082*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2406             : /*  4086*/      OPC_MoveChild0,
    2407             : /*  4087*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2408             : /*  4090*/      OPC_MoveChild0,
    2409             : /*  4091*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    2410             : /*  4094*/      OPC_RecordMemRef,
    2411             : /*  4095*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    2412             : /*  4096*/      OPC_CheckFoldableChainNode,
    2413             : /*  4097*/      OPC_MoveChild1,
    2414             : /*  4098*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2415             : /*  4101*/      OPC_RecordChild0, // #1 = $addr
    2416             : /*  4102*/      OPC_RecordChild1, // #2 = $off
    2417             : /*  4103*/      OPC_MoveChild1,
    2418             : /*  4104*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2419             : /*  4107*/      OPC_MoveParent,
    2420             : /*  4108*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    2421             : /*  4110*/      OPC_CheckType, MVT::i32,
    2422             : /*  4112*/      OPC_MoveParent,
    2423             : /*  4113*/      OPC_MoveChild2,
    2424             : /*  4114*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2425             : /*  4117*/      OPC_RecordChild0, // #3 = $val
    2426             : /*  4118*/      OPC_MoveParent,
    2427             : /*  4119*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    2428             : /*  4121*/      OPC_MoveParent,
    2429             : /*  4122*/      OPC_MoveParent,
    2430             : /*  4123*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2431             : /*  4125*/      OPC_EmitMergeInputChains1_0,
    2432             : /*  4126*/      OPC_EmitInteger, MVT::i32, 0, 
    2433             : /*  4129*/      OPC_EmitConvertToTarget, 2,
    2434             : /*  4131*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2435             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2436             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 25
    2437             :                 // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2438             : /*  4141*/    /*Scope*/ 58, /*->4200*/
    2439             : /*  4142*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2440             : /*  4145*/      OPC_MoveChild0,
    2441             : /*  4146*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2442             : /*  4149*/      OPC_MoveChild0,
    2443             : /*  4150*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    2444             : /*  4153*/      OPC_RecordMemRef,
    2445             : /*  4154*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    2446             : /*  4155*/      OPC_CheckFoldableChainNode,
    2447             : /*  4156*/      OPC_MoveChild1,
    2448             : /*  4157*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    2449             : /*  4160*/      OPC_RecordChild0, // #1 = $addr
    2450             : /*  4161*/      OPC_RecordChild1, // #2 = $off
    2451             : /*  4162*/      OPC_MoveChild1,
    2452             : /*  4163*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2453             : /*  4166*/      OPC_MoveParent,
    2454             : /*  4167*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    2455             : /*  4169*/      OPC_CheckType, MVT::i32,
    2456             : /*  4171*/      OPC_MoveParent,
    2457             : /*  4172*/      OPC_MoveChild2,
    2458             : /*  4173*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2459             : /*  4176*/      OPC_RecordChild0, // #3 = $val
    2460             : /*  4177*/      OPC_MoveParent,
    2461             : /*  4178*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    2462             : /*  4180*/      OPC_MoveParent,
    2463             : /*  4181*/      OPC_MoveParent,
    2464             : /*  4182*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2465             : /*  4184*/      OPC_EmitMergeInputChains1_0,
    2466             : /*  4185*/      OPC_EmitInteger, MVT::i32, 0, 
    2467             : /*  4188*/      OPC_EmitConvertToTarget, 2,
    2468             : /*  4190*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2469             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2470             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 25
    2471             :                 // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2472             : /*  4200*/    /*Scope*/ 59, /*->4260*/
    2473             : /*  4201*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2474             : /*  4205*/      OPC_MoveChild0,
    2475             : /*  4206*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2476             : /*  4209*/      OPC_MoveChild0,
    2477             : /*  4210*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    2478             : /*  4213*/      OPC_RecordMemRef,
    2479             : /*  4214*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    2480             : /*  4215*/      OPC_CheckFoldableChainNode,
    2481             : /*  4216*/      OPC_MoveChild1,
    2482             : /*  4217*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    2483             : /*  4220*/      OPC_RecordChild0, // #1 = $addr
    2484             : /*  4221*/      OPC_RecordChild1, // #2 = $off
    2485             : /*  4222*/      OPC_MoveChild1,
    2486             : /*  4223*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2487             : /*  4226*/      OPC_MoveParent,
    2488             : /*  4227*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    2489             : /*  4229*/      OPC_CheckType, MVT::i32,
    2490             : /*  4231*/      OPC_MoveParent,
    2491             : /*  4232*/      OPC_MoveChild2,
    2492             : /*  4233*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2493             : /*  4236*/      OPC_RecordChild0, // #3 = $val
    2494             : /*  4237*/      OPC_MoveParent,
    2495             : /*  4238*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    2496             : /*  4240*/      OPC_MoveParent,
    2497             : /*  4241*/      OPC_MoveParent,
    2498             : /*  4242*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2499             : /*  4244*/      OPC_EmitMergeInputChains1_0,
    2500             : /*  4245*/      OPC_EmitInteger, MVT::i32, 0, 
    2501             : /*  4248*/      OPC_EmitConvertToTarget, 2,
    2502             : /*  4250*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2503             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2504             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 25
    2505             :                 // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2506             : /*  4260*/    /*Scope*/ 58, /*->4319*/
    2507             : /*  4261*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2508             : /*  4264*/      OPC_MoveChild0,
    2509             : /*  4265*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2510             : /*  4268*/      OPC_MoveChild0,
    2511             : /*  4269*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    2512             : /*  4272*/      OPC_RecordMemRef,
    2513             : /*  4273*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    2514             : /*  4274*/      OPC_CheckFoldableChainNode,
    2515             : /*  4275*/      OPC_MoveChild1,
    2516             : /*  4276*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2517             : /*  4279*/      OPC_RecordChild0, // #1 = $addr
    2518             : /*  4280*/      OPC_RecordChild1, // #2 = $off
    2519             : /*  4281*/      OPC_MoveChild1,
    2520             : /*  4282*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2521             : /*  4285*/      OPC_MoveParent,
    2522             : /*  4286*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    2523             : /*  4288*/      OPC_CheckType, MVT::i32,
    2524             : /*  4290*/      OPC_MoveParent,
    2525             : /*  4291*/      OPC_MoveChild2,
    2526             : /*  4292*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2527             : /*  4295*/      OPC_RecordChild0, // #3 = $val
    2528             : /*  4296*/      OPC_MoveParent,
    2529             : /*  4297*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    2530             : /*  4299*/      OPC_MoveParent,
    2531             : /*  4300*/      OPC_MoveParent,
    2532             : /*  4301*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2533             : /*  4303*/      OPC_EmitMergeInputChains1_0,
    2534             : /*  4304*/      OPC_EmitInteger, MVT::i32, 0, 
    2535             : /*  4307*/      OPC_EmitConvertToTarget, 2,
    2536             : /*  4309*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2537             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2538             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 25
    2539             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2540             : /*  4319*/    /*Scope*/ 59, /*->4379*/
    2541             : /*  4320*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2542             : /*  4324*/      OPC_MoveChild0,
    2543             : /*  4325*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2544             : /*  4328*/      OPC_MoveChild0,
    2545             : /*  4329*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    2546             : /*  4332*/      OPC_RecordMemRef,
    2547             : /*  4333*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    2548             : /*  4334*/      OPC_CheckFoldableChainNode,
    2549             : /*  4335*/      OPC_MoveChild1,
    2550             : /*  4336*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2551             : /*  4339*/      OPC_RecordChild0, // #1 = $addr
    2552             : /*  4340*/      OPC_RecordChild1, // #2 = $off
    2553             : /*  4341*/      OPC_MoveChild1,
    2554             : /*  4342*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2555             : /*  4345*/      OPC_MoveParent,
    2556             : /*  4346*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    2557             : /*  4348*/      OPC_CheckType, MVT::i32,
    2558             : /*  4350*/      OPC_MoveParent,
    2559             : /*  4351*/      OPC_MoveChild2,
    2560             : /*  4352*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2561             : /*  4355*/      OPC_RecordChild0, // #3 = $val
    2562             : /*  4356*/      OPC_MoveParent,
    2563             : /*  4357*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    2564             : /*  4359*/      OPC_MoveParent,
    2565             : /*  4360*/      OPC_MoveParent,
    2566             : /*  4361*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2567             : /*  4363*/      OPC_EmitMergeInputChains1_0,
    2568             : /*  4364*/      OPC_EmitInteger, MVT::i32, 0, 
    2569             : /*  4367*/      OPC_EmitConvertToTarget, 2,
    2570             : /*  4369*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2571             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2572             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 25
    2573             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2574             : /*  4379*/    /*Scope*/ 58, /*->4438*/
    2575             : /*  4380*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2576             : /*  4383*/      OPC_MoveChild0,
    2577             : /*  4384*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2578             : /*  4387*/      OPC_MoveChild0,
    2579             : /*  4388*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    2580             : /*  4391*/      OPC_RecordMemRef,
    2581             : /*  4392*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    2582             : /*  4393*/      OPC_CheckFoldableChainNode,
    2583             : /*  4394*/      OPC_MoveChild1,
    2584             : /*  4395*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    2585             : /*  4398*/      OPC_RecordChild0, // #1 = $addr
    2586             : /*  4399*/      OPC_RecordChild1, // #2 = $off
    2587             : /*  4400*/      OPC_MoveChild1,
    2588             : /*  4401*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2589             : /*  4404*/      OPC_MoveParent,
    2590             : /*  4405*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    2591             : /*  4407*/      OPC_CheckType, MVT::i32,
    2592             : /*  4409*/      OPC_MoveParent,
    2593             : /*  4410*/      OPC_MoveChild2,
    2594             : /*  4411*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2595             : /*  4414*/      OPC_RecordChild0, // #3 = $val
    2596             : /*  4415*/      OPC_MoveParent,
    2597             : /*  4416*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    2598             : /*  4418*/      OPC_MoveParent,
    2599             : /*  4419*/      OPC_MoveParent,
    2600             : /*  4420*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2601             : /*  4422*/      OPC_EmitMergeInputChains1_0,
    2602             : /*  4423*/      OPC_EmitInteger, MVT::i32, 0, 
    2603             : /*  4426*/      OPC_EmitConvertToTarget, 2,
    2604             : /*  4428*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2605             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2606             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 25
    2607             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2608             : /*  4438*/    /*Scope*/ 59, /*->4498*/
    2609             : /*  4439*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2610             : /*  4443*/      OPC_MoveChild0,
    2611             : /*  4444*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2612             : /*  4447*/      OPC_MoveChild0,
    2613             : /*  4448*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    2614             : /*  4451*/      OPC_RecordMemRef,
    2615             : /*  4452*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    2616             : /*  4453*/      OPC_CheckFoldableChainNode,
    2617             : /*  4454*/      OPC_MoveChild1,
    2618             : /*  4455*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    2619             : /*  4458*/      OPC_RecordChild0, // #1 = $addr
    2620             : /*  4459*/      OPC_RecordChild1, // #2 = $off
    2621             : /*  4460*/      OPC_MoveChild1,
    2622             : /*  4461*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2623             : /*  4464*/      OPC_MoveParent,
    2624             : /*  4465*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    2625             : /*  4467*/      OPC_CheckType, MVT::i32,
    2626             : /*  4469*/      OPC_MoveParent,
    2627             : /*  4470*/      OPC_MoveChild2,
    2628             : /*  4471*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2629             : /*  4474*/      OPC_RecordChild0, // #3 = $val
    2630             : /*  4475*/      OPC_MoveParent,
    2631             : /*  4476*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    2632             : /*  4478*/      OPC_MoveParent,
    2633             : /*  4479*/      OPC_MoveParent,
    2634             : /*  4480*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2635             : /*  4482*/      OPC_EmitMergeInputChains1_0,
    2636             : /*  4483*/      OPC_EmitInteger, MVT::i32, 0, 
    2637             : /*  4486*/      OPC_EmitConvertToTarget, 2,
    2638             : /*  4488*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2639             :                     MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
    2640             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 25
    2641             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    2642             : /*  4498*/    /*Scope*/ 54, /*->4553*/
    2643             : /*  4499*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2644             : /*  4502*/      OPC_MoveChild0,
    2645             : /*  4503*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2646             : /*  4506*/      OPC_MoveChild0,
    2647             : /*  4507*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    2648             : /*  4510*/      OPC_RecordMemRef,
    2649             : /*  4511*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    2650             : /*  4512*/      OPC_CheckFoldableChainNode,
    2651             : /*  4513*/      OPC_MoveChild1,
    2652             : /*  4514*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2653             : /*  4517*/      OPC_MoveChild0,
    2654             : /*  4518*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    2655             : /*  4521*/      OPC_RecordChild0, // #1 = $off
    2656             : /*  4522*/      OPC_MoveChild0,
    2657             : /*  4523*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    2658             : /*  4526*/      OPC_MoveParent,
    2659             : /*  4527*/      OPC_MoveParent,
    2660             : /*  4528*/      OPC_RecordChild1, // #2 = $addr
    2661             : /*  4529*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    2662             : /*  4531*/      OPC_CheckType, MVT::i32,
    2663             : /*  4533*/      OPC_MoveParent,
    2664             : /*  4534*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    2665             : /*  4536*/      OPC_MoveParent,
    2666             : /*  4537*/      OPC_MoveParent,
    2667             : /*  4538*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2668             : /*  4540*/      OPC_EmitMergeInputChains1_0,
    2669             : /*  4541*/      OPC_EmitInteger, MVT::i32, 0, 
    2670             : /*  4544*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2671             :                     MVT::i64, 3/*#Ops*/, 3, 1, 2, 
    2672             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 25
    2673             :                 // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    2674             : /*  4553*/    /*Scope*/ 55, /*->4609*/
    2675             : /*  4554*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2676             : /*  4558*/      OPC_MoveChild0,
    2677             : /*  4559*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2678             : /*  4562*/      OPC_MoveChild0,
    2679             : /*  4563*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    2680             : /*  4566*/      OPC_RecordMemRef,
    2681             : /*  4567*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    2682             : /*  4568*/      OPC_CheckFoldableChainNode,
    2683             : /*  4569*/      OPC_MoveChild1,
    2684             : /*  4570*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2685             : /*  4573*/      OPC_MoveChild0,
    2686             : /*  4574*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    2687             : /*  4577*/      OPC_RecordChild0, // #1 = $off
    2688             : /*  4578*/      OPC_MoveChild0,
    2689             : /*  4579*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    2690             : /*  4582*/      OPC_MoveParent,
    2691             : /*  4583*/      OPC_MoveParent,
    2692             : /*  4584*/      OPC_RecordChild1, // #2 = $addr
    2693             : /*  4585*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    2694             : /*  4587*/      OPC_CheckType, MVT::i32,
    2695             : /*  4589*/      OPC_MoveParent,
    2696             : /*  4590*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    2697             : /*  4592*/      OPC_MoveParent,
    2698             : /*  4593*/      OPC_MoveParent,
    2699             : /*  4594*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2700             : /*  4596*/      OPC_EmitMergeInputChains1_0,
    2701             : /*  4597*/      OPC_EmitInteger, MVT::i32, 0, 
    2702             : /*  4600*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2703             :                     MVT::i64, 3/*#Ops*/, 3, 1, 2, 
    2704             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 25
    2705             :                 // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    2706             : /*  4609*/    /*Scope*/ 52, /*->4662*/
    2707             : /*  4610*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2708             : /*  4613*/      OPC_MoveChild0,
    2709             : /*  4614*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2710             : /*  4617*/      OPC_MoveChild0,
    2711             : /*  4618*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    2712             : /*  4621*/      OPC_RecordMemRef,
    2713             : /*  4622*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    2714             : /*  4623*/      OPC_CheckFoldableChainNode,
    2715             : /*  4624*/      OPC_MoveChild1,
    2716             : /*  4625*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2717             : /*  4628*/      OPC_RecordChild0, // #1 = $addr
    2718             : /*  4629*/      OPC_MoveChild1,
    2719             : /*  4630*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    2720             : /*  4633*/      OPC_RecordChild0, // #2 = $off
    2721             : /*  4634*/      OPC_MoveChild0,
    2722             : /*  4635*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    2723             : /*  4638*/      OPC_MoveParent,
    2724             : /*  4639*/      OPC_MoveParent,
    2725             : /*  4640*/      OPC_CheckType, MVT::i32,
    2726             : /*  4642*/      OPC_MoveParent,
    2727             : /*  4643*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    2728             : /*  4645*/      OPC_MoveParent,
    2729             : /*  4646*/      OPC_MoveParent,
    2730             : /*  4647*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2731             : /*  4649*/      OPC_EmitMergeInputChains1_0,
    2732             : /*  4650*/      OPC_EmitInteger, MVT::i32, 0, 
    2733             : /*  4653*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2734             :                     MVT::i64, 3/*#Ops*/, 3, 2, 1, 
    2735             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 24
    2736             :                 // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    2737             : /*  4662*/    /*Scope*/ 53, /*->4716*/
    2738             : /*  4663*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2739             : /*  4667*/      OPC_MoveChild0,
    2740             : /*  4668*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2741             : /*  4671*/      OPC_MoveChild0,
    2742             : /*  4672*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    2743             : /*  4675*/      OPC_RecordMemRef,
    2744             : /*  4676*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    2745             : /*  4677*/      OPC_CheckFoldableChainNode,
    2746             : /*  4678*/      OPC_MoveChild1,
    2747             : /*  4679*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2748             : /*  4682*/      OPC_RecordChild0, // #1 = $addr
    2749             : /*  4683*/      OPC_MoveChild1,
    2750             : /*  4684*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    2751             : /*  4687*/      OPC_RecordChild0, // #2 = $off
    2752             : /*  4688*/      OPC_MoveChild0,
    2753             : /*  4689*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    2754             : /*  4692*/      OPC_MoveParent,
    2755             : /*  4693*/      OPC_MoveParent,
    2756             : /*  4694*/      OPC_CheckType, MVT::i32,
    2757             : /*  4696*/      OPC_MoveParent,
    2758             : /*  4697*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    2759             : /*  4699*/      OPC_MoveParent,
    2760             : /*  4700*/      OPC_MoveParent,
    2761             : /*  4701*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2762             : /*  4703*/      OPC_EmitMergeInputChains1_0,
    2763             : /*  4704*/      OPC_EmitInteger, MVT::i32, 0, 
    2764             : /*  4707*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2765             :                     MVT::i64, 3/*#Ops*/, 3, 2, 1, 
    2766             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 24
    2767             :                 // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    2768             : /*  4716*/    /*Scope*/ 52, /*->4769*/
    2769             : /*  4717*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2770             : /*  4720*/      OPC_MoveChild0,
    2771             : /*  4721*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2772             : /*  4724*/      OPC_MoveChild0,
    2773             : /*  4725*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    2774             : /*  4728*/      OPC_RecordMemRef,
    2775             : /*  4729*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    2776             : /*  4730*/      OPC_CheckFoldableChainNode,
    2777             : /*  4731*/      OPC_MoveChild1,
    2778             : /*  4732*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2779             : /*  4735*/      OPC_MoveChild0,
    2780             : /*  4736*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    2781             : /*  4739*/      OPC_RecordChild0, // #1 = $off
    2782             : /*  4740*/      OPC_MoveChild0,
    2783             : /*  4741*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    2784             : /*  4744*/      OPC_MoveParent,
    2785             : /*  4745*/      OPC_MoveParent,
    2786             : /*  4746*/      OPC_RecordChild1, // #2 = $addr
    2787             : /*  4747*/      OPC_CheckType, MVT::i32,
    2788             : /*  4749*/      OPC_MoveParent,
    2789             : /*  4750*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    2790             : /*  4752*/      OPC_MoveParent,
    2791             : /*  4753*/      OPC_MoveParent,
    2792             : /*  4754*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2793             : /*  4756*/      OPC_EmitMergeInputChains1_0,
    2794             : /*  4757*/      OPC_EmitInteger, MVT::i32, 0, 
    2795             : /*  4760*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2796             :                     MVT::i64, 3/*#Ops*/, 3, 1, 2, 
    2797             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 24
    2798             :                 // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    2799             : /*  4769*/    /*Scope*/ 53, /*->4823*/
    2800             : /*  4770*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2801             : /*  4774*/      OPC_MoveChild0,
    2802             : /*  4775*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2803             : /*  4778*/      OPC_MoveChild0,
    2804             : /*  4779*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    2805             : /*  4782*/      OPC_RecordMemRef,
    2806             : /*  4783*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    2807             : /*  4784*/      OPC_CheckFoldableChainNode,
    2808             : /*  4785*/      OPC_MoveChild1,
    2809             : /*  4786*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    2810             : /*  4789*/      OPC_MoveChild0,
    2811             : /*  4790*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    2812             : /*  4793*/      OPC_RecordChild0, // #1 = $off
    2813             : /*  4794*/      OPC_MoveChild0,
    2814             : /*  4795*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    2815             : /*  4798*/      OPC_MoveParent,
    2816             : /*  4799*/      OPC_MoveParent,
    2817             : /*  4800*/      OPC_RecordChild1, // #2 = $addr
    2818             : /*  4801*/      OPC_CheckType, MVT::i32,
    2819             : /*  4803*/      OPC_MoveParent,
    2820             : /*  4804*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    2821             : /*  4806*/      OPC_MoveParent,
    2822             : /*  4807*/      OPC_MoveParent,
    2823             : /*  4808*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2824             : /*  4810*/      OPC_EmitMergeInputChains1_0,
    2825             : /*  4811*/      OPC_EmitInteger, MVT::i32, 0, 
    2826             : /*  4814*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2827             :                     MVT::i64, 3/*#Ops*/, 3, 1, 2, 
    2828             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 24
    2829             :                 // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    2830             : /*  4823*/    /*Scope*/ 61, /*->4885*/
    2831             : /*  4824*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2832             : /*  4827*/      OPC_MoveChild0,
    2833             : /*  4828*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2834             : /*  4831*/      OPC_MoveChild0,
    2835             : /*  4832*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    2836             : /*  4835*/      OPC_RecordMemRef,
    2837             : /*  4836*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    2838             : /*  4837*/      OPC_CheckFoldableChainNode,
    2839             : /*  4838*/      OPC_MoveChild1,
    2840             : /*  4839*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    2841             : /*  4842*/      OPC_RecordChild0, // #1 = $off
    2842             : /*  4843*/      OPC_MoveChild0,
    2843             : /*  4844*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    2844             : /*  4847*/      OPC_MoveParent,
    2845             : /*  4848*/      OPC_MoveParent,
    2846             : /*  4849*/      OPC_MoveChild2,
    2847             : /*  4850*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2848             : /*  4853*/      OPC_RecordChild0, // #2 = $val
    2849             : /*  4854*/      OPC_MoveParent,
    2850             : /*  4855*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    2851             : /*  4857*/      OPC_MoveParent,
    2852             : /*  4858*/      OPC_MoveParent,
    2853             : /*  4859*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2854             : /*  4861*/      OPC_EmitMergeInputChains1_0,
    2855             : /*  4862*/      OPC_EmitInteger, MVT::i32, 0, 
    2856             : /*  4865*/      OPC_EmitInteger, MVT::i32, 0, 
    2857             : /*  4868*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    2858             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    2859             : /*  4875*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2860             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    2861             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 24
    2862             :                 // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    2863             : /*  4885*/    /*Scope*/ 62, /*->4948*/
    2864             : /*  4886*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2865             : /*  4890*/      OPC_MoveChild0,
    2866             : /*  4891*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2867             : /*  4894*/      OPC_MoveChild0,
    2868             : /*  4895*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    2869             : /*  4898*/      OPC_RecordMemRef,
    2870             : /*  4899*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    2871             : /*  4900*/      OPC_CheckFoldableChainNode,
    2872             : /*  4901*/      OPC_MoveChild1,
    2873             : /*  4902*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    2874             : /*  4905*/      OPC_RecordChild0, // #1 = $off
    2875             : /*  4906*/      OPC_MoveChild0,
    2876             : /*  4907*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    2877             : /*  4910*/      OPC_MoveParent,
    2878             : /*  4911*/      OPC_MoveParent,
    2879             : /*  4912*/      OPC_MoveChild2,
    2880             : /*  4913*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2881             : /*  4916*/      OPC_RecordChild0, // #2 = $val
    2882             : /*  4917*/      OPC_MoveParent,
    2883             : /*  4918*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    2884             : /*  4920*/      OPC_MoveParent,
    2885             : /*  4921*/      OPC_MoveParent,
    2886             : /*  4922*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2887             : /*  4924*/      OPC_EmitMergeInputChains1_0,
    2888             : /*  4925*/      OPC_EmitInteger, MVT::i32, 0, 
    2889             : /*  4928*/      OPC_EmitInteger, MVT::i32, 0, 
    2890             : /*  4931*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    2891             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    2892             : /*  4938*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2893             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    2894             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 24
    2895             :                 // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    2896             : /*  4948*/    /*Scope*/ 61, /*->5010*/
    2897             : /*  4949*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2898             : /*  4952*/      OPC_MoveChild0,
    2899             : /*  4953*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2900             : /*  4956*/      OPC_MoveChild0,
    2901             : /*  4957*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    2902             : /*  4960*/      OPC_RecordMemRef,
    2903             : /*  4961*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    2904             : /*  4962*/      OPC_CheckFoldableChainNode,
    2905             : /*  4963*/      OPC_MoveChild1,
    2906             : /*  4964*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    2907             : /*  4967*/      OPC_RecordChild0, // #1 = $off
    2908             : /*  4968*/      OPC_MoveChild0,
    2909             : /*  4969*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    2910             : /*  4972*/      OPC_MoveParent,
    2911             : /*  4973*/      OPC_MoveParent,
    2912             : /*  4974*/      OPC_MoveChild2,
    2913             : /*  4975*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2914             : /*  4978*/      OPC_RecordChild0, // #2 = $val
    2915             : /*  4979*/      OPC_MoveParent,
    2916             : /*  4980*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    2917             : /*  4982*/      OPC_MoveParent,
    2918             : /*  4983*/      OPC_MoveParent,
    2919             : /*  4984*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2920             : /*  4986*/      OPC_EmitMergeInputChains1_0,
    2921             : /*  4987*/      OPC_EmitInteger, MVT::i32, 0, 
    2922             : /*  4990*/      OPC_EmitInteger, MVT::i32, 0, 
    2923             : /*  4993*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    2924             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    2925             : /*  5000*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2926             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    2927             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 24
    2928             :                 // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    2929             : /*  5010*/    /*Scope*/ 62, /*->5073*/
    2930             : /*  5011*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2931             : /*  5015*/      OPC_MoveChild0,
    2932             : /*  5016*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2933             : /*  5019*/      OPC_MoveChild0,
    2934             : /*  5020*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    2935             : /*  5023*/      OPC_RecordMemRef,
    2936             : /*  5024*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    2937             : /*  5025*/      OPC_CheckFoldableChainNode,
    2938             : /*  5026*/      OPC_MoveChild1,
    2939             : /*  5027*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    2940             : /*  5030*/      OPC_RecordChild0, // #1 = $off
    2941             : /*  5031*/      OPC_MoveChild0,
    2942             : /*  5032*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    2943             : /*  5035*/      OPC_MoveParent,
    2944             : /*  5036*/      OPC_MoveParent,
    2945             : /*  5037*/      OPC_MoveChild2,
    2946             : /*  5038*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2947             : /*  5041*/      OPC_RecordChild0, // #2 = $val
    2948             : /*  5042*/      OPC_MoveParent,
    2949             : /*  5043*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    2950             : /*  5045*/      OPC_MoveParent,
    2951             : /*  5046*/      OPC_MoveParent,
    2952             : /*  5047*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2953             : /*  5049*/      OPC_EmitMergeInputChains1_0,
    2954             : /*  5050*/      OPC_EmitInteger, MVT::i32, 0, 
    2955             : /*  5053*/      OPC_EmitInteger, MVT::i32, 0, 
    2956             : /*  5056*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    2957             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    2958             : /*  5063*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2959             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    2960             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 24
    2961             :                 // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    2962             : /*  5073*/    /*Scope*/ 61, /*->5135*/
    2963             : /*  5074*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    2964             : /*  5077*/      OPC_MoveChild0,
    2965             : /*  5078*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2966             : /*  5081*/      OPC_MoveChild0,
    2967             : /*  5082*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    2968             : /*  5085*/      OPC_RecordMemRef,
    2969             : /*  5086*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    2970             : /*  5087*/      OPC_CheckFoldableChainNode,
    2971             : /*  5088*/      OPC_MoveChild1,
    2972             : /*  5089*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    2973             : /*  5092*/      OPC_RecordChild0, // #1 = $off
    2974             : /*  5093*/      OPC_MoveChild0,
    2975             : /*  5094*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    2976             : /*  5097*/      OPC_MoveParent,
    2977             : /*  5098*/      OPC_MoveParent,
    2978             : /*  5099*/      OPC_MoveChild2,
    2979             : /*  5100*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    2980             : /*  5103*/      OPC_RecordChild0, // #2 = $val
    2981             : /*  5104*/      OPC_MoveParent,
    2982             : /*  5105*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    2983             : /*  5107*/      OPC_MoveParent,
    2984             : /*  5108*/      OPC_MoveParent,
    2985             : /*  5109*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    2986             : /*  5111*/      OPC_EmitMergeInputChains1_0,
    2987             : /*  5112*/      OPC_EmitInteger, MVT::i32, 0, 
    2988             : /*  5115*/      OPC_EmitInteger, MVT::i32, 0, 
    2989             : /*  5118*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    2990             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    2991             : /*  5125*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    2992             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    2993             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 24
    2994             :                 // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    2995             : /*  5135*/    /*Scope*/ 62, /*->5198*/
    2996             : /*  5136*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    2997             : /*  5140*/      OPC_MoveChild0,
    2998             : /*  5141*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    2999             : /*  5144*/      OPC_MoveChild0,
    3000             : /*  5145*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    3001             : /*  5148*/      OPC_RecordMemRef,
    3002             : /*  5149*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    3003             : /*  5150*/      OPC_CheckFoldableChainNode,
    3004             : /*  5151*/      OPC_MoveChild1,
    3005             : /*  5152*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3006             : /*  5155*/      OPC_RecordChild0, // #1 = $off
    3007             : /*  5156*/      OPC_MoveChild0,
    3008             : /*  5157*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3009             : /*  5160*/      OPC_MoveParent,
    3010             : /*  5161*/      OPC_MoveParent,
    3011             : /*  5162*/      OPC_MoveChild2,
    3012             : /*  5163*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3013             : /*  5166*/      OPC_RecordChild0, // #2 = $val
    3014             : /*  5167*/      OPC_MoveParent,
    3015             : /*  5168*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    3016             : /*  5170*/      OPC_MoveParent,
    3017             : /*  5171*/      OPC_MoveParent,
    3018             : /*  5172*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3019             : /*  5174*/      OPC_EmitMergeInputChains1_0,
    3020             : /*  5175*/      OPC_EmitInteger, MVT::i32, 0, 
    3021             : /*  5178*/      OPC_EmitInteger, MVT::i32, 0, 
    3022             : /*  5181*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3023             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3024             : /*  5188*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3025             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3026             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 24
    3027             :                 // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3028             : /*  5198*/    /*Scope*/ 61, /*->5260*/
    3029             : /*  5199*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3030             : /*  5202*/      OPC_MoveChild0,
    3031             : /*  5203*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3032             : /*  5206*/      OPC_MoveChild0,
    3033             : /*  5207*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    3034             : /*  5210*/      OPC_RecordMemRef,
    3035             : /*  5211*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    3036             : /*  5212*/      OPC_CheckFoldableChainNode,
    3037             : /*  5213*/      OPC_MoveChild1,
    3038             : /*  5214*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3039             : /*  5217*/      OPC_RecordChild0, // #1 = $off
    3040             : /*  5218*/      OPC_MoveChild0,
    3041             : /*  5219*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    3042             : /*  5222*/      OPC_MoveParent,
    3043             : /*  5223*/      OPC_MoveParent,
    3044             : /*  5224*/      OPC_MoveChild2,
    3045             : /*  5225*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3046             : /*  5228*/      OPC_RecordChild0, // #2 = $val
    3047             : /*  5229*/      OPC_MoveParent,
    3048             : /*  5230*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    3049             : /*  5232*/      OPC_MoveParent,
    3050             : /*  5233*/      OPC_MoveParent,
    3051             : /*  5234*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3052             : /*  5236*/      OPC_EmitMergeInputChains1_0,
    3053             : /*  5237*/      OPC_EmitInteger, MVT::i32, 0, 
    3054             : /*  5240*/      OPC_EmitInteger, MVT::i32, 0, 
    3055             : /*  5243*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3056             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3057             : /*  5250*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3058             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3059             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 24
    3060             :                 // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3061             : /*  5260*/    /*Scope*/ 62, /*->5323*/
    3062             : /*  5261*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3063             : /*  5265*/      OPC_MoveChild0,
    3064             : /*  5266*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3065             : /*  5269*/      OPC_MoveChild0,
    3066             : /*  5270*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    3067             : /*  5273*/      OPC_RecordMemRef,
    3068             : /*  5274*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    3069             : /*  5275*/      OPC_CheckFoldableChainNode,
    3070             : /*  5276*/      OPC_MoveChild1,
    3071             : /*  5277*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3072             : /*  5280*/      OPC_RecordChild0, // #1 = $off
    3073             : /*  5281*/      OPC_MoveChild0,
    3074             : /*  5282*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    3075             : /*  5285*/      OPC_MoveParent,
    3076             : /*  5286*/      OPC_MoveParent,
    3077             : /*  5287*/      OPC_MoveChild2,
    3078             : /*  5288*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3079             : /*  5291*/      OPC_RecordChild0, // #2 = $val
    3080             : /*  5292*/      OPC_MoveParent,
    3081             : /*  5293*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    3082             : /*  5295*/      OPC_MoveParent,
    3083             : /*  5296*/      OPC_MoveParent,
    3084             : /*  5297*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3085             : /*  5299*/      OPC_EmitMergeInputChains1_0,
    3086             : /*  5300*/      OPC_EmitInteger, MVT::i32, 0, 
    3087             : /*  5303*/      OPC_EmitInteger, MVT::i32, 0, 
    3088             : /*  5306*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3089             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3090             : /*  5313*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3091             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3092             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 24
    3093             :                 // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3094             : /*  5323*/    /*Scope*/ 61, /*->5385*/
    3095             : /*  5324*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3096             : /*  5327*/      OPC_MoveChild0,
    3097             : /*  5328*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3098             : /*  5331*/      OPC_MoveChild0,
    3099             : /*  5332*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    3100             : /*  5335*/      OPC_RecordMemRef,
    3101             : /*  5336*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    3102             : /*  5337*/      OPC_CheckFoldableChainNode,
    3103             : /*  5338*/      OPC_MoveChild1,
    3104             : /*  5339*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3105             : /*  5342*/      OPC_RecordChild0, // #1 = $off
    3106             : /*  5343*/      OPC_MoveChild0,
    3107             : /*  5344*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3108             : /*  5347*/      OPC_MoveParent,
    3109             : /*  5348*/      OPC_MoveParent,
    3110             : /*  5349*/      OPC_MoveChild2,
    3111             : /*  5350*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3112             : /*  5353*/      OPC_RecordChild0, // #2 = $val
    3113             : /*  5354*/      OPC_MoveParent,
    3114             : /*  5355*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    3115             : /*  5357*/      OPC_MoveParent,
    3116             : /*  5358*/      OPC_MoveParent,
    3117             : /*  5359*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3118             : /*  5361*/      OPC_EmitMergeInputChains1_0,
    3119             : /*  5362*/      OPC_EmitInteger, MVT::i32, 0, 
    3120             : /*  5365*/      OPC_EmitInteger, MVT::i32, 0, 
    3121             : /*  5368*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3122             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3123             : /*  5375*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3124             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3125             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 24
    3126             :                 // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3127             : /*  5385*/    /*Scope*/ 62, /*->5448*/
    3128             : /*  5386*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3129             : /*  5390*/      OPC_MoveChild0,
    3130             : /*  5391*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3131             : /*  5394*/      OPC_MoveChild0,
    3132             : /*  5395*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    3133             : /*  5398*/      OPC_RecordMemRef,
    3134             : /*  5399*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    3135             : /*  5400*/      OPC_CheckFoldableChainNode,
    3136             : /*  5401*/      OPC_MoveChild1,
    3137             : /*  5402*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3138             : /*  5405*/      OPC_RecordChild0, // #1 = $off
    3139             : /*  5406*/      OPC_MoveChild0,
    3140             : /*  5407*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3141             : /*  5410*/      OPC_MoveParent,
    3142             : /*  5411*/      OPC_MoveParent,
    3143             : /*  5412*/      OPC_MoveChild2,
    3144             : /*  5413*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3145             : /*  5416*/      OPC_RecordChild0, // #2 = $val
    3146             : /*  5417*/      OPC_MoveParent,
    3147             : /*  5418*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    3148             : /*  5420*/      OPC_MoveParent,
    3149             : /*  5421*/      OPC_MoveParent,
    3150             : /*  5422*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3151             : /*  5424*/      OPC_EmitMergeInputChains1_0,
    3152             : /*  5425*/      OPC_EmitInteger, MVT::i32, 0, 
    3153             : /*  5428*/      OPC_EmitInteger, MVT::i32, 0, 
    3154             : /*  5431*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3155             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3156             : /*  5438*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3157             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3158             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 24
    3159             :                 // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3160             : /*  5448*/    /*Scope*/ 61, /*->5510*/
    3161             : /*  5449*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3162             : /*  5452*/      OPC_MoveChild0,
    3163             : /*  5453*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3164             : /*  5456*/      OPC_MoveChild0,
    3165             : /*  5457*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    3166             : /*  5460*/      OPC_RecordMemRef,
    3167             : /*  5461*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    3168             : /*  5462*/      OPC_CheckFoldableChainNode,
    3169             : /*  5463*/      OPC_MoveChild1,
    3170             : /*  5464*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3171             : /*  5467*/      OPC_RecordChild0, // #1 = $off
    3172             : /*  5468*/      OPC_MoveChild0,
    3173             : /*  5469*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    3174             : /*  5472*/      OPC_MoveParent,
    3175             : /*  5473*/      OPC_MoveParent,
    3176             : /*  5474*/      OPC_MoveChild2,
    3177             : /*  5475*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3178             : /*  5478*/      OPC_RecordChild0, // #2 = $val
    3179             : /*  5479*/      OPC_MoveParent,
    3180             : /*  5480*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    3181             : /*  5482*/      OPC_MoveParent,
    3182             : /*  5483*/      OPC_MoveParent,
    3183             : /*  5484*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3184             : /*  5486*/      OPC_EmitMergeInputChains1_0,
    3185             : /*  5487*/      OPC_EmitInteger, MVT::i32, 0, 
    3186             : /*  5490*/      OPC_EmitInteger, MVT::i32, 0, 
    3187             : /*  5493*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3188             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3189             : /*  5500*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3190             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3191             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 24
    3192             :                 // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3193             : /*  5510*/    /*Scope*/ 62, /*->5573*/
    3194             : /*  5511*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3195             : /*  5515*/      OPC_MoveChild0,
    3196             : /*  5516*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3197             : /*  5519*/      OPC_MoveChild0,
    3198             : /*  5520*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    3199             : /*  5523*/      OPC_RecordMemRef,
    3200             : /*  5524*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    3201             : /*  5525*/      OPC_CheckFoldableChainNode,
    3202             : /*  5526*/      OPC_MoveChild1,
    3203             : /*  5527*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3204             : /*  5530*/      OPC_RecordChild0, // #1 = $off
    3205             : /*  5531*/      OPC_MoveChild0,
    3206             : /*  5532*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    3207             : /*  5535*/      OPC_MoveParent,
    3208             : /*  5536*/      OPC_MoveParent,
    3209             : /*  5537*/      OPC_MoveChild2,
    3210             : /*  5538*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3211             : /*  5541*/      OPC_RecordChild0, // #2 = $val
    3212             : /*  5542*/      OPC_MoveParent,
    3213             : /*  5543*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    3214             : /*  5545*/      OPC_MoveParent,
    3215             : /*  5546*/      OPC_MoveParent,
    3216             : /*  5547*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3217             : /*  5549*/      OPC_EmitMergeInputChains1_0,
    3218             : /*  5550*/      OPC_EmitInteger, MVT::i32, 0, 
    3219             : /*  5553*/      OPC_EmitInteger, MVT::i32, 0, 
    3220             : /*  5556*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3221             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3222             : /*  5563*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3223             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3224             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 24
    3225             :                 // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3226             : /*  5573*/    /*Scope*/ 61, /*->5635*/
    3227             : /*  5574*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3228             : /*  5577*/      OPC_MoveChild0,
    3229             : /*  5578*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3230             : /*  5581*/      OPC_MoveChild0,
    3231             : /*  5582*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    3232             : /*  5585*/      OPC_RecordMemRef,
    3233             : /*  5586*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    3234             : /*  5587*/      OPC_CheckFoldableChainNode,
    3235             : /*  5588*/      OPC_MoveChild1,
    3236             : /*  5589*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3237             : /*  5592*/      OPC_RecordChild0, // #1 = $off
    3238             : /*  5593*/      OPC_MoveChild0,
    3239             : /*  5594*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3240             : /*  5597*/      OPC_MoveParent,
    3241             : /*  5598*/      OPC_MoveParent,
    3242             : /*  5599*/      OPC_MoveChild2,
    3243             : /*  5600*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3244             : /*  5603*/      OPC_RecordChild0, // #2 = $val
    3245             : /*  5604*/      OPC_MoveParent,
    3246             : /*  5605*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    3247             : /*  5607*/      OPC_MoveParent,
    3248             : /*  5608*/      OPC_MoveParent,
    3249             : /*  5609*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3250             : /*  5611*/      OPC_EmitMergeInputChains1_0,
    3251             : /*  5612*/      OPC_EmitInteger, MVT::i32, 0, 
    3252             : /*  5615*/      OPC_EmitInteger, MVT::i32, 0, 
    3253             : /*  5618*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3254             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3255             : /*  5625*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3256             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3257             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 24
    3258             :                 // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3259             : /*  5635*/    /*Scope*/ 62, /*->5698*/
    3260             : /*  5636*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3261             : /*  5640*/      OPC_MoveChild0,
    3262             : /*  5641*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3263             : /*  5644*/      OPC_MoveChild0,
    3264             : /*  5645*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    3265             : /*  5648*/      OPC_RecordMemRef,
    3266             : /*  5649*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    3267             : /*  5650*/      OPC_CheckFoldableChainNode,
    3268             : /*  5651*/      OPC_MoveChild1,
    3269             : /*  5652*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3270             : /*  5655*/      OPC_RecordChild0, // #1 = $off
    3271             : /*  5656*/      OPC_MoveChild0,
    3272             : /*  5657*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3273             : /*  5660*/      OPC_MoveParent,
    3274             : /*  5661*/      OPC_MoveParent,
    3275             : /*  5662*/      OPC_MoveChild2,
    3276             : /*  5663*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3277             : /*  5666*/      OPC_RecordChild0, // #2 = $val
    3278             : /*  5667*/      OPC_MoveParent,
    3279             : /*  5668*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    3280             : /*  5670*/      OPC_MoveParent,
    3281             : /*  5671*/      OPC_MoveParent,
    3282             : /*  5672*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3283             : /*  5674*/      OPC_EmitMergeInputChains1_0,
    3284             : /*  5675*/      OPC_EmitInteger, MVT::i32, 0, 
    3285             : /*  5678*/      OPC_EmitInteger, MVT::i32, 0, 
    3286             : /*  5681*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3287             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3288             : /*  5688*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3289             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3290             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 24
    3291             :                 // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3292             : /*  5698*/    /*Scope*/ 61, /*->5760*/
    3293             : /*  5699*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3294             : /*  5702*/      OPC_MoveChild0,
    3295             : /*  5703*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3296             : /*  5706*/      OPC_MoveChild0,
    3297             : /*  5707*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    3298             : /*  5710*/      OPC_RecordMemRef,
    3299             : /*  5711*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    3300             : /*  5712*/      OPC_CheckFoldableChainNode,
    3301             : /*  5713*/      OPC_MoveChild1,
    3302             : /*  5714*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3303             : /*  5717*/      OPC_RecordChild0, // #1 = $off
    3304             : /*  5718*/      OPC_MoveChild0,
    3305             : /*  5719*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    3306             : /*  5722*/      OPC_MoveParent,
    3307             : /*  5723*/      OPC_MoveParent,
    3308             : /*  5724*/      OPC_MoveChild2,
    3309             : /*  5725*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3310             : /*  5728*/      OPC_RecordChild0, // #2 = $val
    3311             : /*  5729*/      OPC_MoveParent,
    3312             : /*  5730*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    3313             : /*  5732*/      OPC_MoveParent,
    3314             : /*  5733*/      OPC_MoveParent,
    3315             : /*  5734*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3316             : /*  5736*/      OPC_EmitMergeInputChains1_0,
    3317             : /*  5737*/      OPC_EmitInteger, MVT::i32, 0, 
    3318             : /*  5740*/      OPC_EmitInteger, MVT::i32, 0, 
    3319             : /*  5743*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3320             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3321             : /*  5750*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3322             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3323             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 24
    3324             :                 // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3325             : /*  5760*/    /*Scope*/ 62, /*->5823*/
    3326             : /*  5761*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3327             : /*  5765*/      OPC_MoveChild0,
    3328             : /*  5766*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3329             : /*  5769*/      OPC_MoveChild0,
    3330             : /*  5770*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    3331             : /*  5773*/      OPC_RecordMemRef,
    3332             : /*  5774*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    3333             : /*  5775*/      OPC_CheckFoldableChainNode,
    3334             : /*  5776*/      OPC_MoveChild1,
    3335             : /*  5777*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3336             : /*  5780*/      OPC_RecordChild0, // #1 = $off
    3337             : /*  5781*/      OPC_MoveChild0,
    3338             : /*  5782*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    3339             : /*  5785*/      OPC_MoveParent,
    3340             : /*  5786*/      OPC_MoveParent,
    3341             : /*  5787*/      OPC_MoveChild2,
    3342             : /*  5788*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3343             : /*  5791*/      OPC_RecordChild0, // #2 = $val
    3344             : /*  5792*/      OPC_MoveParent,
    3345             : /*  5793*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    3346             : /*  5795*/      OPC_MoveParent,
    3347             : /*  5796*/      OPC_MoveParent,
    3348             : /*  5797*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3349             : /*  5799*/      OPC_EmitMergeInputChains1_0,
    3350             : /*  5800*/      OPC_EmitInteger, MVT::i32, 0, 
    3351             : /*  5803*/      OPC_EmitInteger, MVT::i32, 0, 
    3352             : /*  5806*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3353             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3354             : /*  5813*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3355             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3356             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 24
    3357             :                 // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3358             : /*  5823*/    /*Scope*/ 61, /*->5885*/
    3359             : /*  5824*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3360             : /*  5827*/      OPC_MoveChild0,
    3361             : /*  5828*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3362             : /*  5831*/      OPC_MoveChild0,
    3363             : /*  5832*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    3364             : /*  5835*/      OPC_RecordMemRef,
    3365             : /*  5836*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    3366             : /*  5837*/      OPC_CheckFoldableChainNode,
    3367             : /*  5838*/      OPC_MoveChild1,
    3368             : /*  5839*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3369             : /*  5842*/      OPC_RecordChild0, // #1 = $off
    3370             : /*  5843*/      OPC_MoveChild0,
    3371             : /*  5844*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3372             : /*  5847*/      OPC_MoveParent,
    3373             : /*  5848*/      OPC_MoveParent,
    3374             : /*  5849*/      OPC_MoveChild2,
    3375             : /*  5850*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3376             : /*  5853*/      OPC_RecordChild0, // #2 = $val
    3377             : /*  5854*/      OPC_MoveParent,
    3378             : /*  5855*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    3379             : /*  5857*/      OPC_MoveParent,
    3380             : /*  5858*/      OPC_MoveParent,
    3381             : /*  5859*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3382             : /*  5861*/      OPC_EmitMergeInputChains1_0,
    3383             : /*  5862*/      OPC_EmitInteger, MVT::i32, 0, 
    3384             : /*  5865*/      OPC_EmitInteger, MVT::i32, 0, 
    3385             : /*  5868*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3386             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3387             : /*  5875*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3388             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3389             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 24
    3390             :                 // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3391             : /*  5885*/    /*Scope*/ 62, /*->5948*/
    3392             : /*  5886*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3393             : /*  5890*/      OPC_MoveChild0,
    3394             : /*  5891*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3395             : /*  5894*/      OPC_MoveChild0,
    3396             : /*  5895*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    3397             : /*  5898*/      OPC_RecordMemRef,
    3398             : /*  5899*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    3399             : /*  5900*/      OPC_CheckFoldableChainNode,
    3400             : /*  5901*/      OPC_MoveChild1,
    3401             : /*  5902*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3402             : /*  5905*/      OPC_RecordChild0, // #1 = $off
    3403             : /*  5906*/      OPC_MoveChild0,
    3404             : /*  5907*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3405             : /*  5910*/      OPC_MoveParent,
    3406             : /*  5911*/      OPC_MoveParent,
    3407             : /*  5912*/      OPC_MoveChild2,
    3408             : /*  5913*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3409             : /*  5916*/      OPC_RecordChild0, // #2 = $val
    3410             : /*  5917*/      OPC_MoveParent,
    3411             : /*  5918*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    3412             : /*  5920*/      OPC_MoveParent,
    3413             : /*  5921*/      OPC_MoveParent,
    3414             : /*  5922*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3415             : /*  5924*/      OPC_EmitMergeInputChains1_0,
    3416             : /*  5925*/      OPC_EmitInteger, MVT::i32, 0, 
    3417             : /*  5928*/      OPC_EmitInteger, MVT::i32, 0, 
    3418             : /*  5931*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3419             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3420             : /*  5938*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3421             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3422             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 24
    3423             :                 // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3424             : /*  5948*/    /*Scope*/ 61, /*->6010*/
    3425             : /*  5949*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3426             : /*  5952*/      OPC_MoveChild0,
    3427             : /*  5953*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3428             : /*  5956*/      OPC_MoveChild0,
    3429             : /*  5957*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    3430             : /*  5960*/      OPC_RecordMemRef,
    3431             : /*  5961*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    3432             : /*  5962*/      OPC_CheckFoldableChainNode,
    3433             : /*  5963*/      OPC_MoveChild1,
    3434             : /*  5964*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3435             : /*  5967*/      OPC_RecordChild0, // #1 = $off
    3436             : /*  5968*/      OPC_MoveChild0,
    3437             : /*  5969*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    3438             : /*  5972*/      OPC_MoveParent,
    3439             : /*  5973*/      OPC_MoveParent,
    3440             : /*  5974*/      OPC_MoveChild2,
    3441             : /*  5975*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3442             : /*  5978*/      OPC_RecordChild0, // #2 = $val
    3443             : /*  5979*/      OPC_MoveParent,
    3444             : /*  5980*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    3445             : /*  5982*/      OPC_MoveParent,
    3446             : /*  5983*/      OPC_MoveParent,
    3447             : /*  5984*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3448             : /*  5986*/      OPC_EmitMergeInputChains1_0,
    3449             : /*  5987*/      OPC_EmitInteger, MVT::i32, 0, 
    3450             : /*  5990*/      OPC_EmitInteger, MVT::i32, 0, 
    3451             : /*  5993*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3452             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3453             : /*  6000*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3454             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3455             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 24
    3456             :                 // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3457             : /*  6010*/    /*Scope*/ 62, /*->6073*/
    3458             : /*  6011*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3459             : /*  6015*/      OPC_MoveChild0,
    3460             : /*  6016*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3461             : /*  6019*/      OPC_MoveChild0,
    3462             : /*  6020*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    3463             : /*  6023*/      OPC_RecordMemRef,
    3464             : /*  6024*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    3465             : /*  6025*/      OPC_CheckFoldableChainNode,
    3466             : /*  6026*/      OPC_MoveChild1,
    3467             : /*  6027*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3468             : /*  6030*/      OPC_RecordChild0, // #1 = $off
    3469             : /*  6031*/      OPC_MoveChild0,
    3470             : /*  6032*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    3471             : /*  6035*/      OPC_MoveParent,
    3472             : /*  6036*/      OPC_MoveParent,
    3473             : /*  6037*/      OPC_MoveChild2,
    3474             : /*  6038*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3475             : /*  6041*/      OPC_RecordChild0, // #2 = $val
    3476             : /*  6042*/      OPC_MoveParent,
    3477             : /*  6043*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    3478             : /*  6045*/      OPC_MoveParent,
    3479             : /*  6046*/      OPC_MoveParent,
    3480             : /*  6047*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3481             : /*  6049*/      OPC_EmitMergeInputChains1_0,
    3482             : /*  6050*/      OPC_EmitInteger, MVT::i32, 0, 
    3483             : /*  6053*/      OPC_EmitInteger, MVT::i32, 0, 
    3484             : /*  6056*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3485             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3486             : /*  6063*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3487             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3488             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 24
    3489             :                 // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3490             : /*  6073*/    /*Scope*/ 61, /*->6135*/
    3491             : /*  6074*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3492             : /*  6077*/      OPC_MoveChild0,
    3493             : /*  6078*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3494             : /*  6081*/      OPC_MoveChild0,
    3495             : /*  6082*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    3496             : /*  6085*/      OPC_RecordMemRef,
    3497             : /*  6086*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    3498             : /*  6087*/      OPC_CheckFoldableChainNode,
    3499             : /*  6088*/      OPC_MoveChild1,
    3500             : /*  6089*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3501             : /*  6092*/      OPC_RecordChild0, // #1 = $off
    3502             : /*  6093*/      OPC_MoveChild0,
    3503             : /*  6094*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3504             : /*  6097*/      OPC_MoveParent,
    3505             : /*  6098*/      OPC_MoveParent,
    3506             : /*  6099*/      OPC_MoveChild2,
    3507             : /*  6100*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3508             : /*  6103*/      OPC_RecordChild0, // #2 = $val
    3509             : /*  6104*/      OPC_MoveParent,
    3510             : /*  6105*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    3511             : /*  6107*/      OPC_MoveParent,
    3512             : /*  6108*/      OPC_MoveParent,
    3513             : /*  6109*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3514             : /*  6111*/      OPC_EmitMergeInputChains1_0,
    3515             : /*  6112*/      OPC_EmitInteger, MVT::i32, 0, 
    3516             : /*  6115*/      OPC_EmitInteger, MVT::i32, 0, 
    3517             : /*  6118*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3518             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3519             : /*  6125*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3520             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3521             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 24
    3522             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3523             : /*  6135*/    /*Scope*/ 62, /*->6198*/
    3524             : /*  6136*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3525             : /*  6140*/      OPC_MoveChild0,
    3526             : /*  6141*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3527             : /*  6144*/      OPC_MoveChild0,
    3528             : /*  6145*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    3529             : /*  6148*/      OPC_RecordMemRef,
    3530             : /*  6149*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    3531             : /*  6150*/      OPC_CheckFoldableChainNode,
    3532             : /*  6151*/      OPC_MoveChild1,
    3533             : /*  6152*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3534             : /*  6155*/      OPC_RecordChild0, // #1 = $off
    3535             : /*  6156*/      OPC_MoveChild0,
    3536             : /*  6157*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3537             : /*  6160*/      OPC_MoveParent,
    3538             : /*  6161*/      OPC_MoveParent,
    3539             : /*  6162*/      OPC_MoveChild2,
    3540             : /*  6163*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3541             : /*  6166*/      OPC_RecordChild0, // #2 = $val
    3542             : /*  6167*/      OPC_MoveParent,
    3543             : /*  6168*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    3544             : /*  6170*/      OPC_MoveParent,
    3545             : /*  6171*/      OPC_MoveParent,
    3546             : /*  6172*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3547             : /*  6174*/      OPC_EmitMergeInputChains1_0,
    3548             : /*  6175*/      OPC_EmitInteger, MVT::i32, 0, 
    3549             : /*  6178*/      OPC_EmitInteger, MVT::i32, 0, 
    3550             : /*  6181*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3551             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3552             : /*  6188*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3553             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3554             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 24
    3555             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3556             : /*  6198*/    /*Scope*/ 61, /*->6260*/
    3557             : /*  6199*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3558             : /*  6202*/      OPC_MoveChild0,
    3559             : /*  6203*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3560             : /*  6206*/      OPC_MoveChild0,
    3561             : /*  6207*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    3562             : /*  6210*/      OPC_RecordMemRef,
    3563             : /*  6211*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    3564             : /*  6212*/      OPC_CheckFoldableChainNode,
    3565             : /*  6213*/      OPC_MoveChild1,
    3566             : /*  6214*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3567             : /*  6217*/      OPC_RecordChild0, // #1 = $off
    3568             : /*  6218*/      OPC_MoveChild0,
    3569             : /*  6219*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    3570             : /*  6222*/      OPC_MoveParent,
    3571             : /*  6223*/      OPC_MoveParent,
    3572             : /*  6224*/      OPC_MoveChild2,
    3573             : /*  6225*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3574             : /*  6228*/      OPC_RecordChild0, // #2 = $val
    3575             : /*  6229*/      OPC_MoveParent,
    3576             : /*  6230*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    3577             : /*  6232*/      OPC_MoveParent,
    3578             : /*  6233*/      OPC_MoveParent,
    3579             : /*  6234*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3580             : /*  6236*/      OPC_EmitMergeInputChains1_0,
    3581             : /*  6237*/      OPC_EmitInteger, MVT::i32, 0, 
    3582             : /*  6240*/      OPC_EmitInteger, MVT::i32, 0, 
    3583             : /*  6243*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3584             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3585             : /*  6250*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3586             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3587             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 24
    3588             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3589             : /*  6260*/    /*Scope*/ 62, /*->6323*/
    3590             : /*  6261*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3591             : /*  6265*/      OPC_MoveChild0,
    3592             : /*  6266*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3593             : /*  6269*/      OPC_MoveChild0,
    3594             : /*  6270*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    3595             : /*  6273*/      OPC_RecordMemRef,
    3596             : /*  6274*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    3597             : /*  6275*/      OPC_CheckFoldableChainNode,
    3598             : /*  6276*/      OPC_MoveChild1,
    3599             : /*  6277*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3600             : /*  6280*/      OPC_RecordChild0, // #1 = $off
    3601             : /*  6281*/      OPC_MoveChild0,
    3602             : /*  6282*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    3603             : /*  6285*/      OPC_MoveParent,
    3604             : /*  6286*/      OPC_MoveParent,
    3605             : /*  6287*/      OPC_MoveChild2,
    3606             : /*  6288*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    3607             : /*  6291*/      OPC_RecordChild0, // #2 = $val
    3608             : /*  6292*/      OPC_MoveParent,
    3609             : /*  6293*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    3610             : /*  6295*/      OPC_MoveParent,
    3611             : /*  6296*/      OPC_MoveParent,
    3612             : /*  6297*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3613             : /*  6299*/      OPC_EmitMergeInputChains1_0,
    3614             : /*  6300*/      OPC_EmitInteger, MVT::i32, 0, 
    3615             : /*  6303*/      OPC_EmitInteger, MVT::i32, 0, 
    3616             : /*  6306*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    3617             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    3618             : /*  6313*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3619             :                     MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
    3620             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 24
    3621             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    3622             : /*  6323*/    /*Scope*/ 51, /*->6375*/
    3623             : /*  6324*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3624             : /*  6327*/      OPC_MoveChild0,
    3625             : /*  6328*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3626             : /*  6331*/      OPC_MoveChild0,
    3627             : /*  6332*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    3628             : /*  6335*/      OPC_RecordMemRef,
    3629             : /*  6336*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    3630             : /*  6337*/      OPC_CheckFoldableChainNode,
    3631             : /*  6338*/      OPC_MoveChild1,
    3632             : /*  6339*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3633             : /*  6342*/      OPC_RecordChild0, // #1 = $addr
    3634             : /*  6343*/      OPC_RecordChild1, // #2 = $off
    3635             : /*  6344*/      OPC_MoveChild1,
    3636             : /*  6345*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3637             : /*  6348*/      OPC_MoveParent,
    3638             : /*  6349*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    3639             : /*  6351*/      OPC_CheckType, MVT::i32,
    3640             : /*  6353*/      OPC_MoveParent,
    3641             : /*  6354*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    3642             : /*  6356*/      OPC_MoveParent,
    3643             : /*  6357*/      OPC_MoveParent,
    3644             : /*  6358*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3645             : /*  6360*/      OPC_EmitMergeInputChains1_0,
    3646             : /*  6361*/      OPC_EmitInteger, MVT::i32, 0, 
    3647             : /*  6364*/      OPC_EmitConvertToTarget, 2,
    3648             : /*  6366*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3649             :                     MVT::i64, 3/*#Ops*/, 3, 4, 1, 
    3650             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 22
    3651             :                 // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    3652             : /*  6375*/    /*Scope*/ 52, /*->6428*/
    3653             : /*  6376*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3654             : /*  6380*/      OPC_MoveChild0,
    3655             : /*  6381*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3656             : /*  6384*/      OPC_MoveChild0,
    3657             : /*  6385*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    3658             : /*  6388*/      OPC_RecordMemRef,
    3659             : /*  6389*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    3660             : /*  6390*/      OPC_CheckFoldableChainNode,
    3661             : /*  6391*/      OPC_MoveChild1,
    3662             : /*  6392*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3663             : /*  6395*/      OPC_RecordChild0, // #1 = $addr
    3664             : /*  6396*/      OPC_RecordChild1, // #2 = $off
    3665             : /*  6397*/      OPC_MoveChild1,
    3666             : /*  6398*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3667             : /*  6401*/      OPC_MoveParent,
    3668             : /*  6402*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    3669             : /*  6404*/      OPC_CheckType, MVT::i32,
    3670             : /*  6406*/      OPC_MoveParent,
    3671             : /*  6407*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    3672             : /*  6409*/      OPC_MoveParent,
    3673             : /*  6410*/      OPC_MoveParent,
    3674             : /*  6411*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3675             : /*  6413*/      OPC_EmitMergeInputChains1_0,
    3676             : /*  6414*/      OPC_EmitInteger, MVT::i32, 0, 
    3677             : /*  6417*/      OPC_EmitConvertToTarget, 2,
    3678             : /*  6419*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3679             :                     MVT::i64, 3/*#Ops*/, 3, 4, 1, 
    3680             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 22
    3681             :                 // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    3682             : /*  6428*/    /*Scope*/ 51, /*->6480*/
    3683             : /*  6429*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3684             : /*  6432*/      OPC_MoveChild0,
    3685             : /*  6433*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3686             : /*  6436*/      OPC_MoveChild0,
    3687             : /*  6437*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    3688             : /*  6440*/      OPC_RecordMemRef,
    3689             : /*  6441*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    3690             : /*  6442*/      OPC_CheckFoldableChainNode,
    3691             : /*  6443*/      OPC_MoveChild1,
    3692             : /*  6444*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    3693             : /*  6447*/      OPC_RecordChild0, // #1 = $addr
    3694             : /*  6448*/      OPC_RecordChild1, // #2 = $off
    3695             : /*  6449*/      OPC_MoveChild1,
    3696             : /*  6450*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3697             : /*  6453*/      OPC_MoveParent,
    3698             : /*  6454*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    3699             : /*  6456*/      OPC_CheckType, MVT::i32,
    3700             : /*  6458*/      OPC_MoveParent,
    3701             : /*  6459*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    3702             : /*  6461*/      OPC_MoveParent,
    3703             : /*  6462*/      OPC_MoveParent,
    3704             : /*  6463*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3705             : /*  6465*/      OPC_EmitMergeInputChains1_0,
    3706             : /*  6466*/      OPC_EmitInteger, MVT::i32, 0, 
    3707             : /*  6469*/      OPC_EmitConvertToTarget, 2,
    3708             : /*  6471*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3709             :                     MVT::i64, 3/*#Ops*/, 3, 4, 1, 
    3710             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 22
    3711             :                 // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    3712             : /*  6480*/    /*Scope*/ 52, /*->6533*/
    3713             : /*  6481*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3714             : /*  6485*/      OPC_MoveChild0,
    3715             : /*  6486*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    3716             : /*  6489*/      OPC_MoveChild0,
    3717             : /*  6490*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    3718             : /*  6493*/      OPC_RecordMemRef,
    3719             : /*  6494*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    3720             : /*  6495*/      OPC_CheckFoldableChainNode,
    3721             : /*  6496*/      OPC_MoveChild1,
    3722             : /*  6497*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    3723             : /*  6500*/      OPC_RecordChild0, // #1 = $addr
    3724             : /*  6501*/      OPC_RecordChild1, // #2 = $off
    3725             : /*  6502*/      OPC_MoveChild1,
    3726             : /*  6503*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3727             : /*  6506*/      OPC_MoveParent,
    3728             : /*  6507*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    3729             : /*  6509*/      OPC_CheckType, MVT::i32,
    3730             : /*  6511*/      OPC_MoveParent,
    3731             : /*  6512*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    3732             : /*  6514*/      OPC_MoveParent,
    3733             : /*  6515*/      OPC_MoveParent,
    3734             : /*  6516*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3735             : /*  6518*/      OPC_EmitMergeInputChains1_0,
    3736             : /*  6519*/      OPC_EmitInteger, MVT::i32, 0, 
    3737             : /*  6522*/      OPC_EmitConvertToTarget, 2,
    3738             : /*  6524*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    3739             :                     MVT::i64, 3/*#Ops*/, 3, 4, 1, 
    3740             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 22
    3741             :                 // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    3742             : /*  6533*/    /*Scope*/ 51, /*->6585*/
    3743             : /*  6534*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3744             : /*  6537*/      OPC_MoveChild0,
    3745             : /*  6538*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    3746             : /*  6541*/      OPC_RecordMemRef,
    3747             : /*  6542*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    3748             : /*  6543*/      OPC_CheckFoldableChainNode,
    3749             : /*  6544*/      OPC_MoveChild1,
    3750             : /*  6545*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3751             : /*  6548*/      OPC_RecordChild0, // #1 = $addr
    3752             : /*  6549*/      OPC_MoveChild1,
    3753             : /*  6550*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3754             : /*  6553*/      OPC_RecordChild0, // #2 = $off
    3755             : /*  6554*/      OPC_MoveChild0,
    3756             : /*  6555*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3757             : /*  6558*/      OPC_MoveParent,
    3758             : /*  6559*/      OPC_MoveParent,
    3759             : /*  6560*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    3760             : /*  6562*/      OPC_CheckType, MVT::i32,
    3761             : /*  6564*/      OPC_MoveParent,
    3762             : /*  6565*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    3763             : /*  6567*/      OPC_MoveParent,
    3764             : /*  6568*/      OPC_CheckType, MVT::i32,
    3765             : /*  6570*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3766             : /*  6572*/      OPC_EmitMergeInputChains1_0,
    3767             : /*  6573*/      OPC_EmitInteger, MVT::i32, 0, 
    3768             : /*  6576*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    3769             :                     MVT::i32, 3/*#Ops*/, 3, 2, 1, 
    3770             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 22
    3771             :                 // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    3772             : /*  6585*/    /*Scope*/ 52, /*->6638*/
    3773             : /*  6586*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3774             : /*  6590*/      OPC_MoveChild0,
    3775             : /*  6591*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    3776             : /*  6594*/      OPC_RecordMemRef,
    3777             : /*  6595*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    3778             : /*  6596*/      OPC_CheckFoldableChainNode,
    3779             : /*  6597*/      OPC_MoveChild1,
    3780             : /*  6598*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3781             : /*  6601*/      OPC_RecordChild0, // #1 = $addr
    3782             : /*  6602*/      OPC_MoveChild1,
    3783             : /*  6603*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3784             : /*  6606*/      OPC_RecordChild0, // #2 = $off
    3785             : /*  6607*/      OPC_MoveChild0,
    3786             : /*  6608*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3787             : /*  6611*/      OPC_MoveParent,
    3788             : /*  6612*/      OPC_MoveParent,
    3789             : /*  6613*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    3790             : /*  6615*/      OPC_CheckType, MVT::i32,
    3791             : /*  6617*/      OPC_MoveParent,
    3792             : /*  6618*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    3793             : /*  6620*/      OPC_MoveParent,
    3794             : /*  6621*/      OPC_CheckType, MVT::i32,
    3795             : /*  6623*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3796             : /*  6625*/      OPC_EmitMergeInputChains1_0,
    3797             : /*  6626*/      OPC_EmitInteger, MVT::i32, 0, 
    3798             : /*  6629*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    3799             :                     MVT::i32, 3/*#Ops*/, 3, 2, 1, 
    3800             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 22
    3801             :                 // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    3802             : /*  6638*/    /*Scope*/ 53, /*->6692*/
    3803             : /*  6639*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3804             : /*  6642*/      OPC_MoveChild0,
    3805             : /*  6643*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    3806             : /*  6646*/      OPC_RecordMemRef,
    3807             : /*  6647*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    3808             : /*  6648*/      OPC_CheckFoldableChainNode,
    3809             : /*  6649*/      OPC_MoveChild1,
    3810             : /*  6650*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3811             : /*  6653*/      OPC_RecordChild0, // #1 = $addr
    3812             : /*  6654*/      OPC_MoveChild1,
    3813             : /*  6655*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3814             : /*  6658*/      OPC_RecordChild0, // #2 = $off
    3815             : /*  6659*/      OPC_MoveChild0,
    3816             : /*  6660*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3817             : /*  6663*/      OPC_MoveParent,
    3818             : /*  6664*/      OPC_MoveParent,
    3819             : /*  6665*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    3820             : /*  6667*/      OPC_CheckType, MVT::i32,
    3821             : /*  6669*/      OPC_MoveParent,
    3822             : /*  6670*/      OPC_RecordChild2, // #3 = $val
    3823             : /*  6671*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    3824             : /*  6673*/      OPC_MoveParent,
    3825             : /*  6674*/      OPC_CheckType, MVT::i32,
    3826             : /*  6676*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3827             : /*  6678*/      OPC_EmitMergeInputChains1_0,
    3828             : /*  6679*/      OPC_EmitInteger, MVT::i32, 0, 
    3829             : /*  6682*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    3830             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    3831             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 22
    3832             :                 // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    3833             : /*  6692*/    /*Scope*/ 54, /*->6747*/
    3834             : /*  6693*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3835             : /*  6697*/      OPC_MoveChild0,
    3836             : /*  6698*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    3837             : /*  6701*/      OPC_RecordMemRef,
    3838             : /*  6702*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    3839             : /*  6703*/      OPC_CheckFoldableChainNode,
    3840             : /*  6704*/      OPC_MoveChild1,
    3841             : /*  6705*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3842             : /*  6708*/      OPC_RecordChild0, // #1 = $addr
    3843             : /*  6709*/      OPC_MoveChild1,
    3844             : /*  6710*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3845             : /*  6713*/      OPC_RecordChild0, // #2 = $off
    3846             : /*  6714*/      OPC_MoveChild0,
    3847             : /*  6715*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3848             : /*  6718*/      OPC_MoveParent,
    3849             : /*  6719*/      OPC_MoveParent,
    3850             : /*  6720*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    3851             : /*  6722*/      OPC_CheckType, MVT::i32,
    3852             : /*  6724*/      OPC_MoveParent,
    3853             : /*  6725*/      OPC_RecordChild2, // #3 = $val
    3854             : /*  6726*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    3855             : /*  6728*/      OPC_MoveParent,
    3856             : /*  6729*/      OPC_CheckType, MVT::i32,
    3857             : /*  6731*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3858             : /*  6733*/      OPC_EmitMergeInputChains1_0,
    3859             : /*  6734*/      OPC_EmitInteger, MVT::i32, 0, 
    3860             : /*  6737*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    3861             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    3862             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 22
    3863             :                 // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    3864             : /*  6747*/    /*Scope*/ 53, /*->6801*/
    3865             : /*  6748*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3866             : /*  6751*/      OPC_MoveChild0,
    3867             : /*  6752*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    3868             : /*  6755*/      OPC_RecordMemRef,
    3869             : /*  6756*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    3870             : /*  6757*/      OPC_CheckFoldableChainNode,
    3871             : /*  6758*/      OPC_MoveChild1,
    3872             : /*  6759*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3873             : /*  6762*/      OPC_RecordChild0, // #1 = $addr
    3874             : /*  6763*/      OPC_MoveChild1,
    3875             : /*  6764*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3876             : /*  6767*/      OPC_RecordChild0, // #2 = $off
    3877             : /*  6768*/      OPC_MoveChild0,
    3878             : /*  6769*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3879             : /*  6772*/      OPC_MoveParent,
    3880             : /*  6773*/      OPC_MoveParent,
    3881             : /*  6774*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    3882             : /*  6776*/      OPC_CheckType, MVT::i32,
    3883             : /*  6778*/      OPC_MoveParent,
    3884             : /*  6779*/      OPC_RecordChild2, // #3 = $val
    3885             : /*  6780*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    3886             : /*  6782*/      OPC_MoveParent,
    3887             : /*  6783*/      OPC_CheckType, MVT::i32,
    3888             : /*  6785*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3889             : /*  6787*/      OPC_EmitMergeInputChains1_0,
    3890             : /*  6788*/      OPC_EmitInteger, MVT::i32, 0, 
    3891             : /*  6791*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    3892             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    3893             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 22
    3894             :                 // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    3895             : /*  6801*/    /*Scope*/ 54, /*->6856*/
    3896             : /*  6802*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3897             : /*  6806*/      OPC_MoveChild0,
    3898             : /*  6807*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    3899             : /*  6810*/      OPC_RecordMemRef,
    3900             : /*  6811*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    3901             : /*  6812*/      OPC_CheckFoldableChainNode,
    3902             : /*  6813*/      OPC_MoveChild1,
    3903             : /*  6814*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3904             : /*  6817*/      OPC_RecordChild0, // #1 = $addr
    3905             : /*  6818*/      OPC_MoveChild1,
    3906             : /*  6819*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3907             : /*  6822*/      OPC_RecordChild0, // #2 = $off
    3908             : /*  6823*/      OPC_MoveChild0,
    3909             : /*  6824*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3910             : /*  6827*/      OPC_MoveParent,
    3911             : /*  6828*/      OPC_MoveParent,
    3912             : /*  6829*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    3913             : /*  6831*/      OPC_CheckType, MVT::i32,
    3914             : /*  6833*/      OPC_MoveParent,
    3915             : /*  6834*/      OPC_RecordChild2, // #3 = $val
    3916             : /*  6835*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    3917             : /*  6837*/      OPC_MoveParent,
    3918             : /*  6838*/      OPC_CheckType, MVT::i32,
    3919             : /*  6840*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3920             : /*  6842*/      OPC_EmitMergeInputChains1_0,
    3921             : /*  6843*/      OPC_EmitInteger, MVT::i32, 0, 
    3922             : /*  6846*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    3923             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    3924             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 22
    3925             :                 // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    3926             : /*  6856*/    /*Scope*/ 53, /*->6910*/
    3927             : /*  6857*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3928             : /*  6860*/      OPC_MoveChild0,
    3929             : /*  6861*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    3930             : /*  6864*/      OPC_RecordMemRef,
    3931             : /*  6865*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    3932             : /*  6866*/      OPC_CheckFoldableChainNode,
    3933             : /*  6867*/      OPC_MoveChild1,
    3934             : /*  6868*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3935             : /*  6871*/      OPC_RecordChild0, // #1 = $addr
    3936             : /*  6872*/      OPC_MoveChild1,
    3937             : /*  6873*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3938             : /*  6876*/      OPC_RecordChild0, // #2 = $off
    3939             : /*  6877*/      OPC_MoveChild0,
    3940             : /*  6878*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3941             : /*  6881*/      OPC_MoveParent,
    3942             : /*  6882*/      OPC_MoveParent,
    3943             : /*  6883*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    3944             : /*  6885*/      OPC_CheckType, MVT::i32,
    3945             : /*  6887*/      OPC_MoveParent,
    3946             : /*  6888*/      OPC_RecordChild2, // #3 = $val
    3947             : /*  6889*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    3948             : /*  6891*/      OPC_MoveParent,
    3949             : /*  6892*/      OPC_CheckType, MVT::i32,
    3950             : /*  6894*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3951             : /*  6896*/      OPC_EmitMergeInputChains1_0,
    3952             : /*  6897*/      OPC_EmitInteger, MVT::i32, 0, 
    3953             : /*  6900*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    3954             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    3955             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 22
    3956             :                 // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    3957             : /*  6910*/    /*Scope*/ 54, /*->6965*/
    3958             : /*  6911*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    3959             : /*  6915*/      OPC_MoveChild0,
    3960             : /*  6916*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    3961             : /*  6919*/      OPC_RecordMemRef,
    3962             : /*  6920*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    3963             : /*  6921*/      OPC_CheckFoldableChainNode,
    3964             : /*  6922*/      OPC_MoveChild1,
    3965             : /*  6923*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3966             : /*  6926*/      OPC_RecordChild0, // #1 = $addr
    3967             : /*  6927*/      OPC_MoveChild1,
    3968             : /*  6928*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    3969             : /*  6931*/      OPC_RecordChild0, // #2 = $off
    3970             : /*  6932*/      OPC_MoveChild0,
    3971             : /*  6933*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    3972             : /*  6936*/      OPC_MoveParent,
    3973             : /*  6937*/      OPC_MoveParent,
    3974             : /*  6938*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    3975             : /*  6940*/      OPC_CheckType, MVT::i32,
    3976             : /*  6942*/      OPC_MoveParent,
    3977             : /*  6943*/      OPC_RecordChild2, // #3 = $val
    3978             : /*  6944*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    3979             : /*  6946*/      OPC_MoveParent,
    3980             : /*  6947*/      OPC_CheckType, MVT::i32,
    3981             : /*  6949*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    3982             : /*  6951*/      OPC_EmitMergeInputChains1_0,
    3983             : /*  6952*/      OPC_EmitInteger, MVT::i32, 0, 
    3984             : /*  6955*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    3985             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    3986             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 22
    3987             :                 // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    3988             : /*  6965*/    /*Scope*/ 53, /*->7019*/
    3989             : /*  6966*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    3990             : /*  6969*/      OPC_MoveChild0,
    3991             : /*  6970*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    3992             : /*  6973*/      OPC_RecordMemRef,
    3993             : /*  6974*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    3994             : /*  6975*/      OPC_CheckFoldableChainNode,
    3995             : /*  6976*/      OPC_MoveChild1,
    3996             : /*  6977*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    3997             : /*  6980*/      OPC_RecordChild0, // #1 = $addr
    3998             : /*  6981*/      OPC_MoveChild1,
    3999             : /*  6982*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4000             : /*  6985*/      OPC_RecordChild0, // #2 = $off
    4001             : /*  6986*/      OPC_MoveChild0,
    4002             : /*  6987*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4003             : /*  6990*/      OPC_MoveParent,
    4004             : /*  6991*/      OPC_MoveParent,
    4005             : /*  6992*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4006             : /*  6994*/      OPC_CheckType, MVT::i32,
    4007             : /*  6996*/      OPC_MoveParent,
    4008             : /*  6997*/      OPC_RecordChild2, // #3 = $val
    4009             : /*  6998*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    4010             : /*  7000*/      OPC_MoveParent,
    4011             : /*  7001*/      OPC_CheckType, MVT::i32,
    4012             : /*  7003*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4013             : /*  7005*/      OPC_EmitMergeInputChains1_0,
    4014             : /*  7006*/      OPC_EmitInteger, MVT::i32, 0, 
    4015             : /*  7009*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4016             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4017             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 22
    4018             :                 // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4019             : /*  7019*/    /*Scope*/ 54, /*->7074*/
    4020             : /*  7020*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4021             : /*  7024*/      OPC_MoveChild0,
    4022             : /*  7025*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    4023             : /*  7028*/      OPC_RecordMemRef,
    4024             : /*  7029*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    4025             : /*  7030*/      OPC_CheckFoldableChainNode,
    4026             : /*  7031*/      OPC_MoveChild1,
    4027             : /*  7032*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4028             : /*  7035*/      OPC_RecordChild0, // #1 = $addr
    4029             : /*  7036*/      OPC_MoveChild1,
    4030             : /*  7037*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4031             : /*  7040*/      OPC_RecordChild0, // #2 = $off
    4032             : /*  7041*/      OPC_MoveChild0,
    4033             : /*  7042*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4034             : /*  7045*/      OPC_MoveParent,
    4035             : /*  7046*/      OPC_MoveParent,
    4036             : /*  7047*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4037             : /*  7049*/      OPC_CheckType, MVT::i32,
    4038             : /*  7051*/      OPC_MoveParent,
    4039             : /*  7052*/      OPC_RecordChild2, // #3 = $val
    4040             : /*  7053*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    4041             : /*  7055*/      OPC_MoveParent,
    4042             : /*  7056*/      OPC_CheckType, MVT::i32,
    4043             : /*  7058*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4044             : /*  7060*/      OPC_EmitMergeInputChains1_0,
    4045             : /*  7061*/      OPC_EmitInteger, MVT::i32, 0, 
    4046             : /*  7064*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4047             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4048             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4049             :                 // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4050             : /*  7074*/    /*Scope*/ 53, /*->7128*/
    4051             : /*  7075*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4052             : /*  7078*/      OPC_MoveChild0,
    4053             : /*  7079*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    4054             : /*  7082*/      OPC_RecordMemRef,
    4055             : /*  7083*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    4056             : /*  7084*/      OPC_CheckFoldableChainNode,
    4057             : /*  7085*/      OPC_MoveChild1,
    4058             : /*  7086*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4059             : /*  7089*/      OPC_RecordChild0, // #1 = $addr
    4060             : /*  7090*/      OPC_MoveChild1,
    4061             : /*  7091*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4062             : /*  7094*/      OPC_RecordChild0, // #2 = $off
    4063             : /*  7095*/      OPC_MoveChild0,
    4064             : /*  7096*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4065             : /*  7099*/      OPC_MoveParent,
    4066             : /*  7100*/      OPC_MoveParent,
    4067             : /*  7101*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4068             : /*  7103*/      OPC_CheckType, MVT::i32,
    4069             : /*  7105*/      OPC_MoveParent,
    4070             : /*  7106*/      OPC_RecordChild2, // #3 = $val
    4071             : /*  7107*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    4072             : /*  7109*/      OPC_MoveParent,
    4073             : /*  7110*/      OPC_CheckType, MVT::i32,
    4074             : /*  7112*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4075             : /*  7114*/      OPC_EmitMergeInputChains1_0,
    4076             : /*  7115*/      OPC_EmitInteger, MVT::i32, 0, 
    4077             : /*  7118*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4078             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4079             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 22
    4080             :                 // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4081             : /*  7128*/    /*Scope*/ 54, /*->7183*/
    4082             : /*  7129*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4083             : /*  7133*/      OPC_MoveChild0,
    4084             : /*  7134*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    4085             : /*  7137*/      OPC_RecordMemRef,
    4086             : /*  7138*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    4087             : /*  7139*/      OPC_CheckFoldableChainNode,
    4088             : /*  7140*/      OPC_MoveChild1,
    4089             : /*  7141*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4090             : /*  7144*/      OPC_RecordChild0, // #1 = $addr
    4091             : /*  7145*/      OPC_MoveChild1,
    4092             : /*  7146*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4093             : /*  7149*/      OPC_RecordChild0, // #2 = $off
    4094             : /*  7150*/      OPC_MoveChild0,
    4095             : /*  7151*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4096             : /*  7154*/      OPC_MoveParent,
    4097             : /*  7155*/      OPC_MoveParent,
    4098             : /*  7156*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4099             : /*  7158*/      OPC_CheckType, MVT::i32,
    4100             : /*  7160*/      OPC_MoveParent,
    4101             : /*  7161*/      OPC_RecordChild2, // #3 = $val
    4102             : /*  7162*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    4103             : /*  7164*/      OPC_MoveParent,
    4104             : /*  7165*/      OPC_CheckType, MVT::i32,
    4105             : /*  7167*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4106             : /*  7169*/      OPC_EmitMergeInputChains1_0,
    4107             : /*  7170*/      OPC_EmitInteger, MVT::i32, 0, 
    4108             : /*  7173*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4109             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4110             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4111             :                 // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4112             : /*  7183*/    /*Scope*/ 53, /*->7237*/
    4113             : /*  7184*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4114             : /*  7187*/      OPC_MoveChild0,
    4115             : /*  7188*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    4116             : /*  7191*/      OPC_RecordMemRef,
    4117             : /*  7192*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    4118             : /*  7193*/      OPC_CheckFoldableChainNode,
    4119             : /*  7194*/      OPC_MoveChild1,
    4120             : /*  7195*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4121             : /*  7198*/      OPC_RecordChild0, // #1 = $addr
    4122             : /*  7199*/      OPC_MoveChild1,
    4123             : /*  7200*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4124             : /*  7203*/      OPC_RecordChild0, // #2 = $off
    4125             : /*  7204*/      OPC_MoveChild0,
    4126             : /*  7205*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4127             : /*  7208*/      OPC_MoveParent,
    4128             : /*  7209*/      OPC_MoveParent,
    4129             : /*  7210*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4130             : /*  7212*/      OPC_CheckType, MVT::i32,
    4131             : /*  7214*/      OPC_MoveParent,
    4132             : /*  7215*/      OPC_RecordChild2, // #3 = $val
    4133             : /*  7216*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    4134             : /*  7218*/      OPC_MoveParent,
    4135             : /*  7219*/      OPC_CheckType, MVT::i32,
    4136             : /*  7221*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4137             : /*  7223*/      OPC_EmitMergeInputChains1_0,
    4138             : /*  7224*/      OPC_EmitInteger, MVT::i32, 0, 
    4139             : /*  7227*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4140             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4141             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 22
    4142             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4143             : /*  7237*/    /*Scope*/ 54, /*->7292*/
    4144             : /*  7238*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4145             : /*  7242*/      OPC_MoveChild0,
    4146             : /*  7243*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    4147             : /*  7246*/      OPC_RecordMemRef,
    4148             : /*  7247*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    4149             : /*  7248*/      OPC_CheckFoldableChainNode,
    4150             : /*  7249*/      OPC_MoveChild1,
    4151             : /*  7250*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4152             : /*  7253*/      OPC_RecordChild0, // #1 = $addr
    4153             : /*  7254*/      OPC_MoveChild1,
    4154             : /*  7255*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4155             : /*  7258*/      OPC_RecordChild0, // #2 = $off
    4156             : /*  7259*/      OPC_MoveChild0,
    4157             : /*  7260*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4158             : /*  7263*/      OPC_MoveParent,
    4159             : /*  7264*/      OPC_MoveParent,
    4160             : /*  7265*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4161             : /*  7267*/      OPC_CheckType, MVT::i32,
    4162             : /*  7269*/      OPC_MoveParent,
    4163             : /*  7270*/      OPC_RecordChild2, // #3 = $val
    4164             : /*  7271*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    4165             : /*  7273*/      OPC_MoveParent,
    4166             : /*  7274*/      OPC_CheckType, MVT::i32,
    4167             : /*  7276*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4168             : /*  7278*/      OPC_EmitMergeInputChains1_0,
    4169             : /*  7279*/      OPC_EmitInteger, MVT::i32, 0, 
    4170             : /*  7282*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4171             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4172             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4173             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4174             : /*  7292*/    /*Scope*/ 55, /*->7348*/
    4175             : /*  7293*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4176             : /*  7296*/      OPC_MoveChild0,
    4177             : /*  7297*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    4178             : /*  7300*/      OPC_RecordMemRef,
    4179             : /*  7301*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    4180             : /*  7302*/      OPC_CheckFoldableChainNode,
    4181             : /*  7303*/      OPC_MoveChild1,
    4182             : /*  7304*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4183             : /*  7307*/      OPC_RecordChild0, // #1 = $addr
    4184             : /*  7308*/      OPC_MoveChild1,
    4185             : /*  7309*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4186             : /*  7312*/      OPC_RecordChild0, // #2 = $off
    4187             : /*  7313*/      OPC_MoveChild0,
    4188             : /*  7314*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4189             : /*  7317*/      OPC_MoveParent,
    4190             : /*  7318*/      OPC_MoveParent,
    4191             : /*  7319*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4192             : /*  7321*/      OPC_CheckType, MVT::i32,
    4193             : /*  7323*/      OPC_MoveParent,
    4194             : /*  7324*/      OPC_RecordChild2, // #3 = $exp
    4195             : /*  7325*/      OPC_RecordChild3, // #4 = $new
    4196             : /*  7326*/      OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    4197             : /*  7328*/      OPC_MoveParent,
    4198             : /*  7329*/      OPC_CheckType, MVT::i32,
    4199             : /*  7331*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4200             : /*  7333*/      OPC_EmitMergeInputChains1_0,
    4201             : /*  7334*/      OPC_EmitInteger, MVT::i32, 0, 
    4202             : /*  7337*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4203             :                     MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
    4204             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 22
    4205             :                 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    4206             : /*  7348*/    /*Scope*/ 56, /*->7405*/
    4207             : /*  7349*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4208             : /*  7353*/      OPC_MoveChild0,
    4209             : /*  7354*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    4210             : /*  7357*/      OPC_RecordMemRef,
    4211             : /*  7358*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    4212             : /*  7359*/      OPC_CheckFoldableChainNode,
    4213             : /*  7360*/      OPC_MoveChild1,
    4214             : /*  7361*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4215             : /*  7364*/      OPC_RecordChild0, // #1 = $addr
    4216             : /*  7365*/      OPC_MoveChild1,
    4217             : /*  7366*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4218             : /*  7369*/      OPC_RecordChild0, // #2 = $off
    4219             : /*  7370*/      OPC_MoveChild0,
    4220             : /*  7371*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4221             : /*  7374*/      OPC_MoveParent,
    4222             : /*  7375*/      OPC_MoveParent,
    4223             : /*  7376*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4224             : /*  7378*/      OPC_CheckType, MVT::i32,
    4225             : /*  7380*/      OPC_MoveParent,
    4226             : /*  7381*/      OPC_RecordChild2, // #3 = $exp
    4227             : /*  7382*/      OPC_RecordChild3, // #4 = $new
    4228             : /*  7383*/      OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    4229             : /*  7385*/      OPC_MoveParent,
    4230             : /*  7386*/      OPC_CheckType, MVT::i32,
    4231             : /*  7388*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4232             : /*  7390*/      OPC_EmitMergeInputChains1_0,
    4233             : /*  7391*/      OPC_EmitInteger, MVT::i32, 0, 
    4234             : /*  7394*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4235             :                     MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
    4236             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4237             :                 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    4238             : /*  7405*/    /*Scope*/ 51, /*->7457*/
    4239             : /*  7406*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4240             : /*  7409*/      OPC_MoveChild0,
    4241             : /*  7410*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    4242             : /*  7413*/      OPC_RecordMemRef,
    4243             : /*  7414*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    4244             : /*  7415*/      OPC_CheckFoldableChainNode,
    4245             : /*  7416*/      OPC_MoveChild1,
    4246             : /*  7417*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4247             : /*  7420*/      OPC_MoveChild0,
    4248             : /*  7421*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4249             : /*  7424*/      OPC_RecordChild0, // #1 = $off
    4250             : /*  7425*/      OPC_MoveChild0,
    4251             : /*  7426*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4252             : /*  7429*/      OPC_MoveParent,
    4253             : /*  7430*/      OPC_MoveParent,
    4254             : /*  7431*/      OPC_RecordChild1, // #2 = $addr
    4255             : /*  7432*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4256             : /*  7434*/      OPC_CheckType, MVT::i32,
    4257             : /*  7436*/      OPC_MoveParent,
    4258             : /*  7437*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    4259             : /*  7439*/      OPC_MoveParent,
    4260             : /*  7440*/      OPC_CheckType, MVT::i32,
    4261             : /*  7442*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4262             : /*  7444*/      OPC_EmitMergeInputChains1_0,
    4263             : /*  7445*/      OPC_EmitInteger, MVT::i32, 0, 
    4264             : /*  7448*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4265             :                     MVT::i32, 3/*#Ops*/, 3, 1, 2, 
    4266             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 22
    4267             :                 // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    4268             : /*  7457*/    /*Scope*/ 52, /*->7510*/
    4269             : /*  7458*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4270             : /*  7462*/      OPC_MoveChild0,
    4271             : /*  7463*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    4272             : /*  7466*/      OPC_RecordMemRef,
    4273             : /*  7467*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    4274             : /*  7468*/      OPC_CheckFoldableChainNode,
    4275             : /*  7469*/      OPC_MoveChild1,
    4276             : /*  7470*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4277             : /*  7473*/      OPC_MoveChild0,
    4278             : /*  7474*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4279             : /*  7477*/      OPC_RecordChild0, // #1 = $off
    4280             : /*  7478*/      OPC_MoveChild0,
    4281             : /*  7479*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4282             : /*  7482*/      OPC_MoveParent,
    4283             : /*  7483*/      OPC_MoveParent,
    4284             : /*  7484*/      OPC_RecordChild1, // #2 = $addr
    4285             : /*  7485*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4286             : /*  7487*/      OPC_CheckType, MVT::i32,
    4287             : /*  7489*/      OPC_MoveParent,
    4288             : /*  7490*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    4289             : /*  7492*/      OPC_MoveParent,
    4290             : /*  7493*/      OPC_CheckType, MVT::i32,
    4291             : /*  7495*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4292             : /*  7497*/      OPC_EmitMergeInputChains1_0,
    4293             : /*  7498*/      OPC_EmitInteger, MVT::i32, 0, 
    4294             : /*  7501*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4295             :                     MVT::i32, 3/*#Ops*/, 3, 1, 2, 
    4296             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4297             :                 // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    4298             : /*  7510*/    /*Scope*/ 53, /*->7564*/
    4299             : /*  7511*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4300             : /*  7514*/      OPC_MoveChild0,
    4301             : /*  7515*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    4302             : /*  7518*/      OPC_RecordMemRef,
    4303             : /*  7519*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    4304             : /*  7520*/      OPC_CheckFoldableChainNode,
    4305             : /*  7521*/      OPC_MoveChild1,
    4306             : /*  7522*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4307             : /*  7525*/      OPC_MoveChild0,
    4308             : /*  7526*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4309             : /*  7529*/      OPC_RecordChild0, // #1 = $off
    4310             : /*  7530*/      OPC_MoveChild0,
    4311             : /*  7531*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4312             : /*  7534*/      OPC_MoveParent,
    4313             : /*  7535*/      OPC_MoveParent,
    4314             : /*  7536*/      OPC_RecordChild1, // #2 = $addr
    4315             : /*  7537*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4316             : /*  7539*/      OPC_CheckType, MVT::i32,
    4317             : /*  7541*/      OPC_MoveParent,
    4318             : /*  7542*/      OPC_RecordChild2, // #3 = $val
    4319             : /*  7543*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    4320             : /*  7545*/      OPC_MoveParent,
    4321             : /*  7546*/      OPC_CheckType, MVT::i32,
    4322             : /*  7548*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4323             : /*  7550*/      OPC_EmitMergeInputChains1_0,
    4324             : /*  7551*/      OPC_EmitInteger, MVT::i32, 0, 
    4325             : /*  7554*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4326             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4327             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 22
    4328             :                 // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4329             : /*  7564*/    /*Scope*/ 54, /*->7619*/
    4330             : /*  7565*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4331             : /*  7569*/      OPC_MoveChild0,
    4332             : /*  7570*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    4333             : /*  7573*/      OPC_RecordMemRef,
    4334             : /*  7574*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    4335             : /*  7575*/      OPC_CheckFoldableChainNode,
    4336             : /*  7576*/      OPC_MoveChild1,
    4337             : /*  7577*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4338             : /*  7580*/      OPC_MoveChild0,
    4339             : /*  7581*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4340             : /*  7584*/      OPC_RecordChild0, // #1 = $off
    4341             : /*  7585*/      OPC_MoveChild0,
    4342             : /*  7586*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4343             : /*  7589*/      OPC_MoveParent,
    4344             : /*  7590*/      OPC_MoveParent,
    4345             : /*  7591*/      OPC_RecordChild1, // #2 = $addr
    4346             : /*  7592*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4347             : /*  7594*/      OPC_CheckType, MVT::i32,
    4348             : /*  7596*/      OPC_MoveParent,
    4349             : /*  7597*/      OPC_RecordChild2, // #3 = $val
    4350             : /*  7598*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    4351             : /*  7600*/      OPC_MoveParent,
    4352             : /*  7601*/      OPC_CheckType, MVT::i32,
    4353             : /*  7603*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4354             : /*  7605*/      OPC_EmitMergeInputChains1_0,
    4355             : /*  7606*/      OPC_EmitInteger, MVT::i32, 0, 
    4356             : /*  7609*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4357             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4358             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4359             :                 // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4360             : /*  7619*/    /*Scope*/ 53, /*->7673*/
    4361             : /*  7620*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4362             : /*  7623*/      OPC_MoveChild0,
    4363             : /*  7624*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    4364             : /*  7627*/      OPC_RecordMemRef,
    4365             : /*  7628*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    4366             : /*  7629*/      OPC_CheckFoldableChainNode,
    4367             : /*  7630*/      OPC_MoveChild1,
    4368             : /*  7631*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4369             : /*  7634*/      OPC_MoveChild0,
    4370             : /*  7635*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4371             : /*  7638*/      OPC_RecordChild0, // #1 = $off
    4372             : /*  7639*/      OPC_MoveChild0,
    4373             : /*  7640*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4374             : /*  7643*/      OPC_MoveParent,
    4375             : /*  7644*/      OPC_MoveParent,
    4376             : /*  7645*/      OPC_RecordChild1, // #2 = $addr
    4377             : /*  7646*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4378             : /*  7648*/      OPC_CheckType, MVT::i32,
    4379             : /*  7650*/      OPC_MoveParent,
    4380             : /*  7651*/      OPC_RecordChild2, // #3 = $val
    4381             : /*  7652*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    4382             : /*  7654*/      OPC_MoveParent,
    4383             : /*  7655*/      OPC_CheckType, MVT::i32,
    4384             : /*  7657*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4385             : /*  7659*/      OPC_EmitMergeInputChains1_0,
    4386             : /*  7660*/      OPC_EmitInteger, MVT::i32, 0, 
    4387             : /*  7663*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4388             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4389             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 22
    4390             :                 // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4391             : /*  7673*/    /*Scope*/ 54, /*->7728*/
    4392             : /*  7674*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4393             : /*  7678*/      OPC_MoveChild0,
    4394             : /*  7679*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    4395             : /*  7682*/      OPC_RecordMemRef,
    4396             : /*  7683*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    4397             : /*  7684*/      OPC_CheckFoldableChainNode,
    4398             : /*  7685*/      OPC_MoveChild1,
    4399             : /*  7686*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4400             : /*  7689*/      OPC_MoveChild0,
    4401             : /*  7690*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4402             : /*  7693*/      OPC_RecordChild0, // #1 = $off
    4403             : /*  7694*/      OPC_MoveChild0,
    4404             : /*  7695*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4405             : /*  7698*/      OPC_MoveParent,
    4406             : /*  7699*/      OPC_MoveParent,
    4407             : /*  7700*/      OPC_RecordChild1, // #2 = $addr
    4408             : /*  7701*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4409             : /*  7703*/      OPC_CheckType, MVT::i32,
    4410             : /*  7705*/      OPC_MoveParent,
    4411             : /*  7706*/      OPC_RecordChild2, // #3 = $val
    4412             : /*  7707*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    4413             : /*  7709*/      OPC_MoveParent,
    4414             : /*  7710*/      OPC_CheckType, MVT::i32,
    4415             : /*  7712*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4416             : /*  7714*/      OPC_EmitMergeInputChains1_0,
    4417             : /*  7715*/      OPC_EmitInteger, MVT::i32, 0, 
    4418             : /*  7718*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4419             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4420             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4421             :                 // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4422             : /*  7728*/    /*Scope*/ 53, /*->7782*/
    4423             : /*  7729*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4424             : /*  7732*/      OPC_MoveChild0,
    4425             : /*  7733*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    4426             : /*  7736*/      OPC_RecordMemRef,
    4427             : /*  7737*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    4428             : /*  7738*/      OPC_CheckFoldableChainNode,
    4429             : /*  7739*/      OPC_MoveChild1,
    4430             : /*  7740*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4431             : /*  7743*/      OPC_MoveChild0,
    4432             : /*  7744*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4433             : /*  7747*/      OPC_RecordChild0, // #1 = $off
    4434             : /*  7748*/      OPC_MoveChild0,
    4435             : /*  7749*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4436             : /*  7752*/      OPC_MoveParent,
    4437             : /*  7753*/      OPC_MoveParent,
    4438             : /*  7754*/      OPC_RecordChild1, // #2 = $addr
    4439             : /*  7755*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4440             : /*  7757*/      OPC_CheckType, MVT::i32,
    4441             : /*  7759*/      OPC_MoveParent,
    4442             : /*  7760*/      OPC_RecordChild2, // #3 = $val
    4443             : /*  7761*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    4444             : /*  7763*/      OPC_MoveParent,
    4445             : /*  7764*/      OPC_CheckType, MVT::i32,
    4446             : /*  7766*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4447             : /*  7768*/      OPC_EmitMergeInputChains1_0,
    4448             : /*  7769*/      OPC_EmitInteger, MVT::i32, 0, 
    4449             : /*  7772*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4450             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4451             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 22
    4452             :                 // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4453             : /*  7782*/    /*Scope*/ 54, /*->7837*/
    4454             : /*  7783*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4455             : /*  7787*/      OPC_MoveChild0,
    4456             : /*  7788*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    4457             : /*  7791*/      OPC_RecordMemRef,
    4458             : /*  7792*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    4459             : /*  7793*/      OPC_CheckFoldableChainNode,
    4460             : /*  7794*/      OPC_MoveChild1,
    4461             : /*  7795*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4462             : /*  7798*/      OPC_MoveChild0,
    4463             : /*  7799*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4464             : /*  7802*/      OPC_RecordChild0, // #1 = $off
    4465             : /*  7803*/      OPC_MoveChild0,
    4466             : /*  7804*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4467             : /*  7807*/      OPC_MoveParent,
    4468             : /*  7808*/      OPC_MoveParent,
    4469             : /*  7809*/      OPC_RecordChild1, // #2 = $addr
    4470             : /*  7810*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4471             : /*  7812*/      OPC_CheckType, MVT::i32,
    4472             : /*  7814*/      OPC_MoveParent,
    4473             : /*  7815*/      OPC_RecordChild2, // #3 = $val
    4474             : /*  7816*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    4475             : /*  7818*/      OPC_MoveParent,
    4476             : /*  7819*/      OPC_CheckType, MVT::i32,
    4477             : /*  7821*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4478             : /*  7823*/      OPC_EmitMergeInputChains1_0,
    4479             : /*  7824*/      OPC_EmitInteger, MVT::i32, 0, 
    4480             : /*  7827*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4481             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4482             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4483             :                 // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4484             : /*  7837*/    /*Scope*/ 53, /*->7891*/
    4485             : /*  7838*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4486             : /*  7841*/      OPC_MoveChild0,
    4487             : /*  7842*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    4488             : /*  7845*/      OPC_RecordMemRef,
    4489             : /*  7846*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    4490             : /*  7847*/      OPC_CheckFoldableChainNode,
    4491             : /*  7848*/      OPC_MoveChild1,
    4492             : /*  7849*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4493             : /*  7852*/      OPC_MoveChild0,
    4494             : /*  7853*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4495             : /*  7856*/      OPC_RecordChild0, // #1 = $off
    4496             : /*  7857*/      OPC_MoveChild0,
    4497             : /*  7858*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4498             : /*  7861*/      OPC_MoveParent,
    4499             : /*  7862*/      OPC_MoveParent,
    4500             : /*  7863*/      OPC_RecordChild1, // #2 = $addr
    4501             : /*  7864*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4502             : /*  7866*/      OPC_CheckType, MVT::i32,
    4503             : /*  7868*/      OPC_MoveParent,
    4504             : /*  7869*/      OPC_RecordChild2, // #3 = $val
    4505             : /*  7870*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    4506             : /*  7872*/      OPC_MoveParent,
    4507             : /*  7873*/      OPC_CheckType, MVT::i32,
    4508             : /*  7875*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4509             : /*  7877*/      OPC_EmitMergeInputChains1_0,
    4510             : /*  7878*/      OPC_EmitInteger, MVT::i32, 0, 
    4511             : /*  7881*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4512             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4513             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 22
    4514             :                 // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4515             : /*  7891*/    /*Scope*/ 54, /*->7946*/
    4516             : /*  7892*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4517             : /*  7896*/      OPC_MoveChild0,
    4518             : /*  7897*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    4519             : /*  7900*/      OPC_RecordMemRef,
    4520             : /*  7901*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    4521             : /*  7902*/      OPC_CheckFoldableChainNode,
    4522             : /*  7903*/      OPC_MoveChild1,
    4523             : /*  7904*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4524             : /*  7907*/      OPC_MoveChild0,
    4525             : /*  7908*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4526             : /*  7911*/      OPC_RecordChild0, // #1 = $off
    4527             : /*  7912*/      OPC_MoveChild0,
    4528             : /*  7913*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4529             : /*  7916*/      OPC_MoveParent,
    4530             : /*  7917*/      OPC_MoveParent,
    4531             : /*  7918*/      OPC_RecordChild1, // #2 = $addr
    4532             : /*  7919*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4533             : /*  7921*/      OPC_CheckType, MVT::i32,
    4534             : /*  7923*/      OPC_MoveParent,
    4535             : /*  7924*/      OPC_RecordChild2, // #3 = $val
    4536             : /*  7925*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    4537             : /*  7927*/      OPC_MoveParent,
    4538             : /*  7928*/      OPC_CheckType, MVT::i32,
    4539             : /*  7930*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4540             : /*  7932*/      OPC_EmitMergeInputChains1_0,
    4541             : /*  7933*/      OPC_EmitInteger, MVT::i32, 0, 
    4542             : /*  7936*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4543             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4544             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4545             :                 // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4546             : /*  7946*/    /*Scope*/ 53, /*->8000*/
    4547             : /*  7947*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4548             : /*  7950*/      OPC_MoveChild0,
    4549             : /*  7951*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    4550             : /*  7954*/      OPC_RecordMemRef,
    4551             : /*  7955*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    4552             : /*  7956*/      OPC_CheckFoldableChainNode,
    4553             : /*  7957*/      OPC_MoveChild1,
    4554             : /*  7958*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4555             : /*  7961*/      OPC_MoveChild0,
    4556             : /*  7962*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4557             : /*  7965*/      OPC_RecordChild0, // #1 = $off
    4558             : /*  7966*/      OPC_MoveChild0,
    4559             : /*  7967*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4560             : /*  7970*/      OPC_MoveParent,
    4561             : /*  7971*/      OPC_MoveParent,
    4562             : /*  7972*/      OPC_RecordChild1, // #2 = $addr
    4563             : /*  7973*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4564             : /*  7975*/      OPC_CheckType, MVT::i32,
    4565             : /*  7977*/      OPC_MoveParent,
    4566             : /*  7978*/      OPC_RecordChild2, // #3 = $val
    4567             : /*  7979*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    4568             : /*  7981*/      OPC_MoveParent,
    4569             : /*  7982*/      OPC_CheckType, MVT::i32,
    4570             : /*  7984*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4571             : /*  7986*/      OPC_EmitMergeInputChains1_0,
    4572             : /*  7987*/      OPC_EmitInteger, MVT::i32, 0, 
    4573             : /*  7990*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4574             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4575             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 22
    4576             :                 // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4577             : /*  8000*/    /*Scope*/ 54, /*->8055*/
    4578             : /*  8001*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4579             : /*  8005*/      OPC_MoveChild0,
    4580             : /*  8006*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    4581             : /*  8009*/      OPC_RecordMemRef,
    4582             : /*  8010*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    4583             : /*  8011*/      OPC_CheckFoldableChainNode,
    4584             : /*  8012*/      OPC_MoveChild1,
    4585             : /*  8013*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4586             : /*  8016*/      OPC_MoveChild0,
    4587             : /*  8017*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4588             : /*  8020*/      OPC_RecordChild0, // #1 = $off
    4589             : /*  8021*/      OPC_MoveChild0,
    4590             : /*  8022*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4591             : /*  8025*/      OPC_MoveParent,
    4592             : /*  8026*/      OPC_MoveParent,
    4593             : /*  8027*/      OPC_RecordChild1, // #2 = $addr
    4594             : /*  8028*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4595             : /*  8030*/      OPC_CheckType, MVT::i32,
    4596             : /*  8032*/      OPC_MoveParent,
    4597             : /*  8033*/      OPC_RecordChild2, // #3 = $val
    4598             : /*  8034*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    4599             : /*  8036*/      OPC_MoveParent,
    4600             : /*  8037*/      OPC_CheckType, MVT::i32,
    4601             : /*  8039*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4602             : /*  8041*/      OPC_EmitMergeInputChains1_0,
    4603             : /*  8042*/      OPC_EmitInteger, MVT::i32, 0, 
    4604             : /*  8045*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4605             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4606             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4607             :                 // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4608             : /*  8055*/    /*Scope*/ 53, /*->8109*/
    4609             : /*  8056*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4610             : /*  8059*/      OPC_MoveChild0,
    4611             : /*  8060*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    4612             : /*  8063*/      OPC_RecordMemRef,
    4613             : /*  8064*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    4614             : /*  8065*/      OPC_CheckFoldableChainNode,
    4615             : /*  8066*/      OPC_MoveChild1,
    4616             : /*  8067*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4617             : /*  8070*/      OPC_MoveChild0,
    4618             : /*  8071*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4619             : /*  8074*/      OPC_RecordChild0, // #1 = $off
    4620             : /*  8075*/      OPC_MoveChild0,
    4621             : /*  8076*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4622             : /*  8079*/      OPC_MoveParent,
    4623             : /*  8080*/      OPC_MoveParent,
    4624             : /*  8081*/      OPC_RecordChild1, // #2 = $addr
    4625             : /*  8082*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4626             : /*  8084*/      OPC_CheckType, MVT::i32,
    4627             : /*  8086*/      OPC_MoveParent,
    4628             : /*  8087*/      OPC_RecordChild2, // #3 = $val
    4629             : /*  8088*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    4630             : /*  8090*/      OPC_MoveParent,
    4631             : /*  8091*/      OPC_CheckType, MVT::i32,
    4632             : /*  8093*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4633             : /*  8095*/      OPC_EmitMergeInputChains1_0,
    4634             : /*  8096*/      OPC_EmitInteger, MVT::i32, 0, 
    4635             : /*  8099*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4636             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4637             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 22
    4638             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4639             : /*  8109*/    /*Scope*/ 54, /*->8164*/
    4640             : /*  8110*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4641             : /*  8114*/      OPC_MoveChild0,
    4642             : /*  8115*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    4643             : /*  8118*/      OPC_RecordMemRef,
    4644             : /*  8119*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    4645             : /*  8120*/      OPC_CheckFoldableChainNode,
    4646             : /*  8121*/      OPC_MoveChild1,
    4647             : /*  8122*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4648             : /*  8125*/      OPC_MoveChild0,
    4649             : /*  8126*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4650             : /*  8129*/      OPC_RecordChild0, // #1 = $off
    4651             : /*  8130*/      OPC_MoveChild0,
    4652             : /*  8131*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4653             : /*  8134*/      OPC_MoveParent,
    4654             : /*  8135*/      OPC_MoveParent,
    4655             : /*  8136*/      OPC_RecordChild1, // #2 = $addr
    4656             : /*  8137*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4657             : /*  8139*/      OPC_CheckType, MVT::i32,
    4658             : /*  8141*/      OPC_MoveParent,
    4659             : /*  8142*/      OPC_RecordChild2, // #3 = $val
    4660             : /*  8143*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    4661             : /*  8145*/      OPC_MoveParent,
    4662             : /*  8146*/      OPC_CheckType, MVT::i32,
    4663             : /*  8148*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4664             : /*  8150*/      OPC_EmitMergeInputChains1_0,
    4665             : /*  8151*/      OPC_EmitInteger, MVT::i32, 0, 
    4666             : /*  8154*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4667             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    4668             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4669             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4670             : /*  8164*/    /*Scope*/ 55, /*->8220*/
    4671             : /*  8165*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4672             : /*  8168*/      OPC_MoveChild0,
    4673             : /*  8169*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    4674             : /*  8172*/      OPC_RecordMemRef,
    4675             : /*  8173*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    4676             : /*  8174*/      OPC_CheckFoldableChainNode,
    4677             : /*  8175*/      OPC_MoveChild1,
    4678             : /*  8176*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4679             : /*  8179*/      OPC_MoveChild0,
    4680             : /*  8180*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4681             : /*  8183*/      OPC_RecordChild0, // #1 = $off
    4682             : /*  8184*/      OPC_MoveChild0,
    4683             : /*  8185*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4684             : /*  8188*/      OPC_MoveParent,
    4685             : /*  8189*/      OPC_MoveParent,
    4686             : /*  8190*/      OPC_RecordChild1, // #2 = $addr
    4687             : /*  8191*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4688             : /*  8193*/      OPC_CheckType, MVT::i32,
    4689             : /*  8195*/      OPC_MoveParent,
    4690             : /*  8196*/      OPC_RecordChild2, // #3 = $exp
    4691             : /*  8197*/      OPC_RecordChild3, // #4 = $new
    4692             : /*  8198*/      OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    4693             : /*  8200*/      OPC_MoveParent,
    4694             : /*  8201*/      OPC_CheckType, MVT::i32,
    4695             : /*  8203*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4696             : /*  8205*/      OPC_EmitMergeInputChains1_0,
    4697             : /*  8206*/      OPC_EmitInteger, MVT::i32, 0, 
    4698             : /*  8209*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4699             :                     MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
    4700             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 22
    4701             :                 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    4702             : /*  8220*/    /*Scope*/ 56, /*->8277*/
    4703             : /*  8221*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4704             : /*  8225*/      OPC_MoveChild0,
    4705             : /*  8226*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    4706             : /*  8229*/      OPC_RecordMemRef,
    4707             : /*  8230*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    4708             : /*  8231*/      OPC_CheckFoldableChainNode,
    4709             : /*  8232*/      OPC_MoveChild1,
    4710             : /*  8233*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4711             : /*  8236*/      OPC_MoveChild0,
    4712             : /*  8237*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4713             : /*  8240*/      OPC_RecordChild0, // #1 = $off
    4714             : /*  8241*/      OPC_MoveChild0,
    4715             : /*  8242*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    4716             : /*  8245*/      OPC_MoveParent,
    4717             : /*  8246*/      OPC_MoveParent,
    4718             : /*  8247*/      OPC_RecordChild1, // #2 = $addr
    4719             : /*  8248*/      OPC_CheckPredicate, 0, // Predicate_regPlusGA
    4720             : /*  8250*/      OPC_CheckType, MVT::i32,
    4721             : /*  8252*/      OPC_MoveParent,
    4722             : /*  8253*/      OPC_RecordChild2, // #3 = $exp
    4723             : /*  8254*/      OPC_RecordChild3, // #4 = $new
    4724             : /*  8255*/      OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    4725             : /*  8257*/      OPC_MoveParent,
    4726             : /*  8258*/      OPC_CheckType, MVT::i32,
    4727             : /*  8260*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4728             : /*  8262*/      OPC_EmitMergeInputChains1_0,
    4729             : /*  8263*/      OPC_EmitInteger, MVT::i32, 0, 
    4730             : /*  8266*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4731             :                     MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
    4732             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 22
    4733             :                 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    4734             : /*  8277*/    /*Scope*/ 49, /*->8327*/
    4735             : /*  8278*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4736             : /*  8281*/      OPC_MoveChild0,
    4737             : /*  8282*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    4738             : /*  8285*/      OPC_RecordMemRef,
    4739             : /*  8286*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    4740             : /*  8287*/      OPC_CheckFoldableChainNode,
    4741             : /*  8288*/      OPC_MoveChild1,
    4742             : /*  8289*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4743             : /*  8292*/      OPC_RecordChild0, // #1 = $addr
    4744             : /*  8293*/      OPC_MoveChild1,
    4745             : /*  8294*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4746             : /*  8297*/      OPC_RecordChild0, // #2 = $off
    4747             : /*  8298*/      OPC_MoveChild0,
    4748             : /*  8299*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    4749             : /*  8302*/      OPC_MoveParent,
    4750             : /*  8303*/      OPC_MoveParent,
    4751             : /*  8304*/      OPC_CheckType, MVT::i32,
    4752             : /*  8306*/      OPC_MoveParent,
    4753             : /*  8307*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    4754             : /*  8309*/      OPC_MoveParent,
    4755             : /*  8310*/      OPC_CheckType, MVT::i32,
    4756             : /*  8312*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4757             : /*  8314*/      OPC_EmitMergeInputChains1_0,
    4758             : /*  8315*/      OPC_EmitInteger, MVT::i32, 0, 
    4759             : /*  8318*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4760             :                     MVT::i32, 3/*#Ops*/, 3, 2, 1, 
    4761             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 21
    4762             :                 // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    4763             : /*  8327*/    /*Scope*/ 50, /*->8378*/
    4764             : /*  8328*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4765             : /*  8332*/      OPC_MoveChild0,
    4766             : /*  8333*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    4767             : /*  8336*/      OPC_RecordMemRef,
    4768             : /*  8337*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    4769             : /*  8338*/      OPC_CheckFoldableChainNode,
    4770             : /*  8339*/      OPC_MoveChild1,
    4771             : /*  8340*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4772             : /*  8343*/      OPC_RecordChild0, // #1 = $addr
    4773             : /*  8344*/      OPC_MoveChild1,
    4774             : /*  8345*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4775             : /*  8348*/      OPC_RecordChild0, // #2 = $off
    4776             : /*  8349*/      OPC_MoveChild0,
    4777             : /*  8350*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    4778             : /*  8353*/      OPC_MoveParent,
    4779             : /*  8354*/      OPC_MoveParent,
    4780             : /*  8355*/      OPC_CheckType, MVT::i32,
    4781             : /*  8357*/      OPC_MoveParent,
    4782             : /*  8358*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    4783             : /*  8360*/      OPC_MoveParent,
    4784             : /*  8361*/      OPC_CheckType, MVT::i32,
    4785             : /*  8363*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4786             : /*  8365*/      OPC_EmitMergeInputChains1_0,
    4787             : /*  8366*/      OPC_EmitInteger, MVT::i32, 0, 
    4788             : /*  8369*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4789             :                     MVT::i32, 3/*#Ops*/, 3, 2, 1, 
    4790             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 21
    4791             :                 // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    4792             : /*  8378*/    /*Scope*/ 51, /*->8430*/
    4793             : /*  8379*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4794             : /*  8382*/      OPC_MoveChild0,
    4795             : /*  8383*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    4796             : /*  8386*/      OPC_RecordMemRef,
    4797             : /*  8387*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    4798             : /*  8388*/      OPC_CheckFoldableChainNode,
    4799             : /*  8389*/      OPC_MoveChild1,
    4800             : /*  8390*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4801             : /*  8393*/      OPC_RecordChild0, // #1 = $addr
    4802             : /*  8394*/      OPC_MoveChild1,
    4803             : /*  8395*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4804             : /*  8398*/      OPC_RecordChild0, // #2 = $off
    4805             : /*  8399*/      OPC_MoveChild0,
    4806             : /*  8400*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    4807             : /*  8403*/      OPC_MoveParent,
    4808             : /*  8404*/      OPC_MoveParent,
    4809             : /*  8405*/      OPC_CheckType, MVT::i32,
    4810             : /*  8407*/      OPC_MoveParent,
    4811             : /*  8408*/      OPC_RecordChild2, // #3 = $val
    4812             : /*  8409*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    4813             : /*  8411*/      OPC_MoveParent,
    4814             : /*  8412*/      OPC_CheckType, MVT::i32,
    4815             : /*  8414*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4816             : /*  8416*/      OPC_EmitMergeInputChains1_0,
    4817             : /*  8417*/      OPC_EmitInteger, MVT::i32, 0, 
    4818             : /*  8420*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4819             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4820             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 21
    4821             :                 // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4822             : /*  8430*/    /*Scope*/ 52, /*->8483*/
    4823             : /*  8431*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4824             : /*  8435*/      OPC_MoveChild0,
    4825             : /*  8436*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    4826             : /*  8439*/      OPC_RecordMemRef,
    4827             : /*  8440*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    4828             : /*  8441*/      OPC_CheckFoldableChainNode,
    4829             : /*  8442*/      OPC_MoveChild1,
    4830             : /*  8443*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4831             : /*  8446*/      OPC_RecordChild0, // #1 = $addr
    4832             : /*  8447*/      OPC_MoveChild1,
    4833             : /*  8448*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4834             : /*  8451*/      OPC_RecordChild0, // #2 = $off
    4835             : /*  8452*/      OPC_MoveChild0,
    4836             : /*  8453*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    4837             : /*  8456*/      OPC_MoveParent,
    4838             : /*  8457*/      OPC_MoveParent,
    4839             : /*  8458*/      OPC_CheckType, MVT::i32,
    4840             : /*  8460*/      OPC_MoveParent,
    4841             : /*  8461*/      OPC_RecordChild2, // #3 = $val
    4842             : /*  8462*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    4843             : /*  8464*/      OPC_MoveParent,
    4844             : /*  8465*/      OPC_CheckType, MVT::i32,
    4845             : /*  8467*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4846             : /*  8469*/      OPC_EmitMergeInputChains1_0,
    4847             : /*  8470*/      OPC_EmitInteger, MVT::i32, 0, 
    4848             : /*  8473*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4849             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4850             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 21
    4851             :                 // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4852             : /*  8483*/    /*Scope*/ 51, /*->8535*/
    4853             : /*  8484*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4854             : /*  8487*/      OPC_MoveChild0,
    4855             : /*  8488*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    4856             : /*  8491*/      OPC_RecordMemRef,
    4857             : /*  8492*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    4858             : /*  8493*/      OPC_CheckFoldableChainNode,
    4859             : /*  8494*/      OPC_MoveChild1,
    4860             : /*  8495*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4861             : /*  8498*/      OPC_RecordChild0, // #1 = $addr
    4862             : /*  8499*/      OPC_MoveChild1,
    4863             : /*  8500*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4864             : /*  8503*/      OPC_RecordChild0, // #2 = $off
    4865             : /*  8504*/      OPC_MoveChild0,
    4866             : /*  8505*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    4867             : /*  8508*/      OPC_MoveParent,
    4868             : /*  8509*/      OPC_MoveParent,
    4869             : /*  8510*/      OPC_CheckType, MVT::i32,
    4870             : /*  8512*/      OPC_MoveParent,
    4871             : /*  8513*/      OPC_RecordChild2, // #3 = $val
    4872             : /*  8514*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    4873             : /*  8516*/      OPC_MoveParent,
    4874             : /*  8517*/      OPC_CheckType, MVT::i32,
    4875             : /*  8519*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4876             : /*  8521*/      OPC_EmitMergeInputChains1_0,
    4877             : /*  8522*/      OPC_EmitInteger, MVT::i32, 0, 
    4878             : /*  8525*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4879             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4880             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 21
    4881             :                 // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4882             : /*  8535*/    /*Scope*/ 52, /*->8588*/
    4883             : /*  8536*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4884             : /*  8540*/      OPC_MoveChild0,
    4885             : /*  8541*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    4886             : /*  8544*/      OPC_RecordMemRef,
    4887             : /*  8545*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    4888             : /*  8546*/      OPC_CheckFoldableChainNode,
    4889             : /*  8547*/      OPC_MoveChild1,
    4890             : /*  8548*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4891             : /*  8551*/      OPC_RecordChild0, // #1 = $addr
    4892             : /*  8552*/      OPC_MoveChild1,
    4893             : /*  8553*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4894             : /*  8556*/      OPC_RecordChild0, // #2 = $off
    4895             : /*  8557*/      OPC_MoveChild0,
    4896             : /*  8558*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    4897             : /*  8561*/      OPC_MoveParent,
    4898             : /*  8562*/      OPC_MoveParent,
    4899             : /*  8563*/      OPC_CheckType, MVT::i32,
    4900             : /*  8565*/      OPC_MoveParent,
    4901             : /*  8566*/      OPC_RecordChild2, // #3 = $val
    4902             : /*  8567*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    4903             : /*  8569*/      OPC_MoveParent,
    4904             : /*  8570*/      OPC_CheckType, MVT::i32,
    4905             : /*  8572*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4906             : /*  8574*/      OPC_EmitMergeInputChains1_0,
    4907             : /*  8575*/      OPC_EmitInteger, MVT::i32, 0, 
    4908             : /*  8578*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4909             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4910             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 21
    4911             :                 // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4912             : /*  8588*/    /*Scope*/ 51, /*->8640*/
    4913             : /*  8589*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4914             : /*  8592*/      OPC_MoveChild0,
    4915             : /*  8593*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    4916             : /*  8596*/      OPC_RecordMemRef,
    4917             : /*  8597*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    4918             : /*  8598*/      OPC_CheckFoldableChainNode,
    4919             : /*  8599*/      OPC_MoveChild1,
    4920             : /*  8600*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4921             : /*  8603*/      OPC_RecordChild0, // #1 = $addr
    4922             : /*  8604*/      OPC_MoveChild1,
    4923             : /*  8605*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4924             : /*  8608*/      OPC_RecordChild0, // #2 = $off
    4925             : /*  8609*/      OPC_MoveChild0,
    4926             : /*  8610*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    4927             : /*  8613*/      OPC_MoveParent,
    4928             : /*  8614*/      OPC_MoveParent,
    4929             : /*  8615*/      OPC_CheckType, MVT::i32,
    4930             : /*  8617*/      OPC_MoveParent,
    4931             : /*  8618*/      OPC_RecordChild2, // #3 = $val
    4932             : /*  8619*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    4933             : /*  8621*/      OPC_MoveParent,
    4934             : /*  8622*/      OPC_CheckType, MVT::i32,
    4935             : /*  8624*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4936             : /*  8626*/      OPC_EmitMergeInputChains1_0,
    4937             : /*  8627*/      OPC_EmitInteger, MVT::i32, 0, 
    4938             : /*  8630*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4939             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4940             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 21
    4941             :                 // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4942             : /*  8640*/    /*Scope*/ 52, /*->8693*/
    4943             : /*  8641*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    4944             : /*  8645*/      OPC_MoveChild0,
    4945             : /*  8646*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    4946             : /*  8649*/      OPC_RecordMemRef,
    4947             : /*  8650*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    4948             : /*  8651*/      OPC_CheckFoldableChainNode,
    4949             : /*  8652*/      OPC_MoveChild1,
    4950             : /*  8653*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4951             : /*  8656*/      OPC_RecordChild0, // #1 = $addr
    4952             : /*  8657*/      OPC_MoveChild1,
    4953             : /*  8658*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4954             : /*  8661*/      OPC_RecordChild0, // #2 = $off
    4955             : /*  8662*/      OPC_MoveChild0,
    4956             : /*  8663*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    4957             : /*  8666*/      OPC_MoveParent,
    4958             : /*  8667*/      OPC_MoveParent,
    4959             : /*  8668*/      OPC_CheckType, MVT::i32,
    4960             : /*  8670*/      OPC_MoveParent,
    4961             : /*  8671*/      OPC_RecordChild2, // #3 = $val
    4962             : /*  8672*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    4963             : /*  8674*/      OPC_MoveParent,
    4964             : /*  8675*/      OPC_CheckType, MVT::i32,
    4965             : /*  8677*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4966             : /*  8679*/      OPC_EmitMergeInputChains1_0,
    4967             : /*  8680*/      OPC_EmitInteger, MVT::i32, 0, 
    4968             : /*  8683*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4969             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    4970             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 21
    4971             :                 // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    4972             : /*  8693*/    /*Scope*/ 51, /*->8745*/
    4973             : /*  8694*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    4974             : /*  8697*/      OPC_MoveChild0,
    4975             : /*  8698*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    4976             : /*  8701*/      OPC_RecordMemRef,
    4977             : /*  8702*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    4978             : /*  8703*/      OPC_CheckFoldableChainNode,
    4979             : /*  8704*/      OPC_MoveChild1,
    4980             : /*  8705*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    4981             : /*  8708*/      OPC_RecordChild0, // #1 = $addr
    4982             : /*  8709*/      OPC_MoveChild1,
    4983             : /*  8710*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    4984             : /*  8713*/      OPC_RecordChild0, // #2 = $off
    4985             : /*  8714*/      OPC_MoveChild0,
    4986             : /*  8715*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    4987             : /*  8718*/      OPC_MoveParent,
    4988             : /*  8719*/      OPC_MoveParent,
    4989             : /*  8720*/      OPC_CheckType, MVT::i32,
    4990             : /*  8722*/      OPC_MoveParent,
    4991             : /*  8723*/      OPC_RecordChild2, // #3 = $val
    4992             : /*  8724*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    4993             : /*  8726*/      OPC_MoveParent,
    4994             : /*  8727*/      OPC_CheckType, MVT::i32,
    4995             : /*  8729*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    4996             : /*  8731*/      OPC_EmitMergeInputChains1_0,
    4997             : /*  8732*/      OPC_EmitInteger, MVT::i32, 0, 
    4998             : /*  8735*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    4999             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    5000             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 21
    5001             :                 // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5002             : /*  8745*/    /*Scope*/ 52, /*->8798*/
    5003             : /*  8746*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5004             : /*  8750*/      OPC_MoveChild0,
    5005             : /*  8751*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    5006             : /*  8754*/      OPC_RecordMemRef,
    5007             : /*  8755*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    5008             : /*  8756*/      OPC_CheckFoldableChainNode,
    5009             : /*  8757*/      OPC_MoveChild1,
    5010             : /*  8758*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5011             : /*  8761*/      OPC_RecordChild0, // #1 = $addr
    5012             : /*  8762*/      OPC_MoveChild1,
    5013             : /*  8763*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5014             : /*  8766*/      OPC_RecordChild0, // #2 = $off
    5015             : /*  8767*/      OPC_MoveChild0,
    5016             : /*  8768*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5017             : /*  8771*/      OPC_MoveParent,
    5018             : /*  8772*/      OPC_MoveParent,
    5019             : /*  8773*/      OPC_CheckType, MVT::i32,
    5020             : /*  8775*/      OPC_MoveParent,
    5021             : /*  8776*/      OPC_RecordChild2, // #3 = $val
    5022             : /*  8777*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    5023             : /*  8779*/      OPC_MoveParent,
    5024             : /*  8780*/      OPC_CheckType, MVT::i32,
    5025             : /*  8782*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5026             : /*  8784*/      OPC_EmitMergeInputChains1_0,
    5027             : /*  8785*/      OPC_EmitInteger, MVT::i32, 0, 
    5028             : /*  8788*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5029             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    5030             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5031             :                 // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5032             : /*  8798*/    /*Scope*/ 51, /*->8850*/
    5033             : /*  8799*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5034             : /*  8802*/      OPC_MoveChild0,
    5035             : /*  8803*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    5036             : /*  8806*/      OPC_RecordMemRef,
    5037             : /*  8807*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    5038             : /*  8808*/      OPC_CheckFoldableChainNode,
    5039             : /*  8809*/      OPC_MoveChild1,
    5040             : /*  8810*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5041             : /*  8813*/      OPC_RecordChild0, // #1 = $addr
    5042             : /*  8814*/      OPC_MoveChild1,
    5043             : /*  8815*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5044             : /*  8818*/      OPC_RecordChild0, // #2 = $off
    5045             : /*  8819*/      OPC_MoveChild0,
    5046             : /*  8820*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5047             : /*  8823*/      OPC_MoveParent,
    5048             : /*  8824*/      OPC_MoveParent,
    5049             : /*  8825*/      OPC_CheckType, MVT::i32,
    5050             : /*  8827*/      OPC_MoveParent,
    5051             : /*  8828*/      OPC_RecordChild2, // #3 = $val
    5052             : /*  8829*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    5053             : /*  8831*/      OPC_MoveParent,
    5054             : /*  8832*/      OPC_CheckType, MVT::i32,
    5055             : /*  8834*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5056             : /*  8836*/      OPC_EmitMergeInputChains1_0,
    5057             : /*  8837*/      OPC_EmitInteger, MVT::i32, 0, 
    5058             : /*  8840*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5059             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    5060             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 21
    5061             :                 // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5062             : /*  8850*/    /*Scope*/ 52, /*->8903*/
    5063             : /*  8851*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5064             : /*  8855*/      OPC_MoveChild0,
    5065             : /*  8856*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    5066             : /*  8859*/      OPC_RecordMemRef,
    5067             : /*  8860*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    5068             : /*  8861*/      OPC_CheckFoldableChainNode,
    5069             : /*  8862*/      OPC_MoveChild1,
    5070             : /*  8863*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5071             : /*  8866*/      OPC_RecordChild0, // #1 = $addr
    5072             : /*  8867*/      OPC_MoveChild1,
    5073             : /*  8868*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5074             : /*  8871*/      OPC_RecordChild0, // #2 = $off
    5075             : /*  8872*/      OPC_MoveChild0,
    5076             : /*  8873*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5077             : /*  8876*/      OPC_MoveParent,
    5078             : /*  8877*/      OPC_MoveParent,
    5079             : /*  8878*/      OPC_CheckType, MVT::i32,
    5080             : /*  8880*/      OPC_MoveParent,
    5081             : /*  8881*/      OPC_RecordChild2, // #3 = $val
    5082             : /*  8882*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    5083             : /*  8884*/      OPC_MoveParent,
    5084             : /*  8885*/      OPC_CheckType, MVT::i32,
    5085             : /*  8887*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5086             : /*  8889*/      OPC_EmitMergeInputChains1_0,
    5087             : /*  8890*/      OPC_EmitInteger, MVT::i32, 0, 
    5088             : /*  8893*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5089             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    5090             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5091             :                 // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5092             : /*  8903*/    /*Scope*/ 51, /*->8955*/
    5093             : /*  8904*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5094             : /*  8907*/      OPC_MoveChild0,
    5095             : /*  8908*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    5096             : /*  8911*/      OPC_RecordMemRef,
    5097             : /*  8912*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    5098             : /*  8913*/      OPC_CheckFoldableChainNode,
    5099             : /*  8914*/      OPC_MoveChild1,
    5100             : /*  8915*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5101             : /*  8918*/      OPC_RecordChild0, // #1 = $addr
    5102             : /*  8919*/      OPC_MoveChild1,
    5103             : /*  8920*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5104             : /*  8923*/      OPC_RecordChild0, // #2 = $off
    5105             : /*  8924*/      OPC_MoveChild0,
    5106             : /*  8925*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5107             : /*  8928*/      OPC_MoveParent,
    5108             : /*  8929*/      OPC_MoveParent,
    5109             : /*  8930*/      OPC_CheckType, MVT::i32,
    5110             : /*  8932*/      OPC_MoveParent,
    5111             : /*  8933*/      OPC_RecordChild2, // #3 = $val
    5112             : /*  8934*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    5113             : /*  8936*/      OPC_MoveParent,
    5114             : /*  8937*/      OPC_CheckType, MVT::i32,
    5115             : /*  8939*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5116             : /*  8941*/      OPC_EmitMergeInputChains1_0,
    5117             : /*  8942*/      OPC_EmitInteger, MVT::i32, 0, 
    5118             : /*  8945*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5119             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    5120             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 21
    5121             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5122             : /*  8955*/    /*Scope*/ 52, /*->9008*/
    5123             : /*  8956*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5124             : /*  8960*/      OPC_MoveChild0,
    5125             : /*  8961*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    5126             : /*  8964*/      OPC_RecordMemRef,
    5127             : /*  8965*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    5128             : /*  8966*/      OPC_CheckFoldableChainNode,
    5129             : /*  8967*/      OPC_MoveChild1,
    5130             : /*  8968*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5131             : /*  8971*/      OPC_RecordChild0, // #1 = $addr
    5132             : /*  8972*/      OPC_MoveChild1,
    5133             : /*  8973*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5134             : /*  8976*/      OPC_RecordChild0, // #2 = $off
    5135             : /*  8977*/      OPC_MoveChild0,
    5136             : /*  8978*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5137             : /*  8981*/      OPC_MoveParent,
    5138             : /*  8982*/      OPC_MoveParent,
    5139             : /*  8983*/      OPC_CheckType, MVT::i32,
    5140             : /*  8985*/      OPC_MoveParent,
    5141             : /*  8986*/      OPC_RecordChild2, // #3 = $val
    5142             : /*  8987*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    5143             : /*  8989*/      OPC_MoveParent,
    5144             : /*  8990*/      OPC_CheckType, MVT::i32,
    5145             : /*  8992*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5146             : /*  8994*/      OPC_EmitMergeInputChains1_0,
    5147             : /*  8995*/      OPC_EmitInteger, MVT::i32, 0, 
    5148             : /*  8998*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5149             :                     MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
    5150             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5151             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5152             : /*  9008*/    /*Scope*/ 53, /*->9062*/
    5153             : /*  9009*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5154             : /*  9012*/      OPC_MoveChild0,
    5155             : /*  9013*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    5156             : /*  9016*/      OPC_RecordMemRef,
    5157             : /*  9017*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    5158             : /*  9018*/      OPC_CheckFoldableChainNode,
    5159             : /*  9019*/      OPC_MoveChild1,
    5160             : /*  9020*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5161             : /*  9023*/      OPC_RecordChild0, // #1 = $addr
    5162             : /*  9024*/      OPC_MoveChild1,
    5163             : /*  9025*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5164             : /*  9028*/      OPC_RecordChild0, // #2 = $off
    5165             : /*  9029*/      OPC_MoveChild0,
    5166             : /*  9030*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5167             : /*  9033*/      OPC_MoveParent,
    5168             : /*  9034*/      OPC_MoveParent,
    5169             : /*  9035*/      OPC_CheckType, MVT::i32,
    5170             : /*  9037*/      OPC_MoveParent,
    5171             : /*  9038*/      OPC_RecordChild2, // #3 = $exp
    5172             : /*  9039*/      OPC_RecordChild3, // #4 = $new
    5173             : /*  9040*/      OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    5174             : /*  9042*/      OPC_MoveParent,
    5175             : /*  9043*/      OPC_CheckType, MVT::i32,
    5176             : /*  9045*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5177             : /*  9047*/      OPC_EmitMergeInputChains1_0,
    5178             : /*  9048*/      OPC_EmitInteger, MVT::i32, 0, 
    5179             : /*  9051*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5180             :                     MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
    5181             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 21
    5182             :                 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    5183             : /*  9062*/    /*Scope*/ 54, /*->9117*/
    5184             : /*  9063*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5185             : /*  9067*/      OPC_MoveChild0,
    5186             : /*  9068*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    5187             : /*  9071*/      OPC_RecordMemRef,
    5188             : /*  9072*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    5189             : /*  9073*/      OPC_CheckFoldableChainNode,
    5190             : /*  9074*/      OPC_MoveChild1,
    5191             : /*  9075*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5192             : /*  9078*/      OPC_RecordChild0, // #1 = $addr
    5193             : /*  9079*/      OPC_MoveChild1,
    5194             : /*  9080*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5195             : /*  9083*/      OPC_RecordChild0, // #2 = $off
    5196             : /*  9084*/      OPC_MoveChild0,
    5197             : /*  9085*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5198             : /*  9088*/      OPC_MoveParent,
    5199             : /*  9089*/      OPC_MoveParent,
    5200             : /*  9090*/      OPC_CheckType, MVT::i32,
    5201             : /*  9092*/      OPC_MoveParent,
    5202             : /*  9093*/      OPC_RecordChild2, // #3 = $exp
    5203             : /*  9094*/      OPC_RecordChild3, // #4 = $new
    5204             : /*  9095*/      OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    5205             : /*  9097*/      OPC_MoveParent,
    5206             : /*  9098*/      OPC_CheckType, MVT::i32,
    5207             : /*  9100*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5208             : /*  9102*/      OPC_EmitMergeInputChains1_0,
    5209             : /*  9103*/      OPC_EmitInteger, MVT::i32, 0, 
    5210             : /*  9106*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5211             :                     MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
    5212             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5213             :                 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    5214             : /*  9117*/    /*Scope*/ 49, /*->9167*/
    5215             : /*  9118*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5216             : /*  9121*/      OPC_MoveChild0,
    5217             : /*  9122*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    5218             : /*  9125*/      OPC_RecordMemRef,
    5219             : /*  9126*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    5220             : /*  9127*/      OPC_CheckFoldableChainNode,
    5221             : /*  9128*/      OPC_MoveChild1,
    5222             : /*  9129*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5223             : /*  9132*/      OPC_MoveChild0,
    5224             : /*  9133*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5225             : /*  9136*/      OPC_RecordChild0, // #1 = $off
    5226             : /*  9137*/      OPC_MoveChild0,
    5227             : /*  9138*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5228             : /*  9141*/      OPC_MoveParent,
    5229             : /*  9142*/      OPC_MoveParent,
    5230             : /*  9143*/      OPC_RecordChild1, // #2 = $addr
    5231             : /*  9144*/      OPC_CheckType, MVT::i32,
    5232             : /*  9146*/      OPC_MoveParent,
    5233             : /*  9147*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    5234             : /*  9149*/      OPC_MoveParent,
    5235             : /*  9150*/      OPC_CheckType, MVT::i32,
    5236             : /*  9152*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5237             : /*  9154*/      OPC_EmitMergeInputChains1_0,
    5238             : /*  9155*/      OPC_EmitInteger, MVT::i32, 0, 
    5239             : /*  9158*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5240             :                     MVT::i32, 3/*#Ops*/, 3, 1, 2, 
    5241             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 21
    5242             :                 // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    5243             : /*  9167*/    /*Scope*/ 50, /*->9218*/
    5244             : /*  9168*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5245             : /*  9172*/      OPC_MoveChild0,
    5246             : /*  9173*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    5247             : /*  9176*/      OPC_RecordMemRef,
    5248             : /*  9177*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    5249             : /*  9178*/      OPC_CheckFoldableChainNode,
    5250             : /*  9179*/      OPC_MoveChild1,
    5251             : /*  9180*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5252             : /*  9183*/      OPC_MoveChild0,
    5253             : /*  9184*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5254             : /*  9187*/      OPC_RecordChild0, // #1 = $off
    5255             : /*  9188*/      OPC_MoveChild0,
    5256             : /*  9189*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5257             : /*  9192*/      OPC_MoveParent,
    5258             : /*  9193*/      OPC_MoveParent,
    5259             : /*  9194*/      OPC_RecordChild1, // #2 = $addr
    5260             : /*  9195*/      OPC_CheckType, MVT::i32,
    5261             : /*  9197*/      OPC_MoveParent,
    5262             : /*  9198*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    5263             : /*  9200*/      OPC_MoveParent,
    5264             : /*  9201*/      OPC_CheckType, MVT::i32,
    5265             : /*  9203*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5266             : /*  9205*/      OPC_EmitMergeInputChains1_0,
    5267             : /*  9206*/      OPC_EmitInteger, MVT::i32, 0, 
    5268             : /*  9209*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5269             :                     MVT::i32, 3/*#Ops*/, 3, 1, 2, 
    5270             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5271             :                 // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    5272             : /*  9218*/    /*Scope*/ 51, /*->9270*/
    5273             : /*  9219*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5274             : /*  9222*/      OPC_MoveChild0,
    5275             : /*  9223*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    5276             : /*  9226*/      OPC_RecordMemRef,
    5277             : /*  9227*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    5278             : /*  9228*/      OPC_CheckFoldableChainNode,
    5279             : /*  9229*/      OPC_MoveChild1,
    5280             : /*  9230*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5281             : /*  9233*/      OPC_MoveChild0,
    5282             : /*  9234*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5283             : /*  9237*/      OPC_RecordChild0, // #1 = $off
    5284             : /*  9238*/      OPC_MoveChild0,
    5285             : /*  9239*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5286             : /*  9242*/      OPC_MoveParent,
    5287             : /*  9243*/      OPC_MoveParent,
    5288             : /*  9244*/      OPC_RecordChild1, // #2 = $addr
    5289             : /*  9245*/      OPC_CheckType, MVT::i32,
    5290             : /*  9247*/      OPC_MoveParent,
    5291             : /*  9248*/      OPC_RecordChild2, // #3 = $val
    5292             : /*  9249*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    5293             : /*  9251*/      OPC_MoveParent,
    5294             : /*  9252*/      OPC_CheckType, MVT::i32,
    5295             : /*  9254*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5296             : /*  9256*/      OPC_EmitMergeInputChains1_0,
    5297             : /*  9257*/      OPC_EmitInteger, MVT::i32, 0, 
    5298             : /*  9260*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5299             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5300             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 21
    5301             :                 // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5302             : /*  9270*/    /*Scope*/ 52, /*->9323*/
    5303             : /*  9271*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5304             : /*  9275*/      OPC_MoveChild0,
    5305             : /*  9276*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    5306             : /*  9279*/      OPC_RecordMemRef,
    5307             : /*  9280*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    5308             : /*  9281*/      OPC_CheckFoldableChainNode,
    5309             : /*  9282*/      OPC_MoveChild1,
    5310             : /*  9283*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5311             : /*  9286*/      OPC_MoveChild0,
    5312             : /*  9287*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5313             : /*  9290*/      OPC_RecordChild0, // #1 = $off
    5314             : /*  9291*/      OPC_MoveChild0,
    5315             : /*  9292*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5316             : /*  9295*/      OPC_MoveParent,
    5317             : /*  9296*/      OPC_MoveParent,
    5318             : /*  9297*/      OPC_RecordChild1, // #2 = $addr
    5319             : /*  9298*/      OPC_CheckType, MVT::i32,
    5320             : /*  9300*/      OPC_MoveParent,
    5321             : /*  9301*/      OPC_RecordChild2, // #3 = $val
    5322             : /*  9302*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    5323             : /*  9304*/      OPC_MoveParent,
    5324             : /*  9305*/      OPC_CheckType, MVT::i32,
    5325             : /*  9307*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5326             : /*  9309*/      OPC_EmitMergeInputChains1_0,
    5327             : /*  9310*/      OPC_EmitInteger, MVT::i32, 0, 
    5328             : /*  9313*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5329             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5330             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5331             :                 // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5332             : /*  9323*/    /*Scope*/ 51, /*->9375*/
    5333             : /*  9324*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5334             : /*  9327*/      OPC_MoveChild0,
    5335             : /*  9328*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    5336             : /*  9331*/      OPC_RecordMemRef,
    5337             : /*  9332*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    5338             : /*  9333*/      OPC_CheckFoldableChainNode,
    5339             : /*  9334*/      OPC_MoveChild1,
    5340             : /*  9335*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5341             : /*  9338*/      OPC_MoveChild0,
    5342             : /*  9339*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5343             : /*  9342*/      OPC_RecordChild0, // #1 = $off
    5344             : /*  9343*/      OPC_MoveChild0,
    5345             : /*  9344*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5346             : /*  9347*/      OPC_MoveParent,
    5347             : /*  9348*/      OPC_MoveParent,
    5348             : /*  9349*/      OPC_RecordChild1, // #2 = $addr
    5349             : /*  9350*/      OPC_CheckType, MVT::i32,
    5350             : /*  9352*/      OPC_MoveParent,
    5351             : /*  9353*/      OPC_RecordChild2, // #3 = $val
    5352             : /*  9354*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    5353             : /*  9356*/      OPC_MoveParent,
    5354             : /*  9357*/      OPC_CheckType, MVT::i32,
    5355             : /*  9359*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5356             : /*  9361*/      OPC_EmitMergeInputChains1_0,
    5357             : /*  9362*/      OPC_EmitInteger, MVT::i32, 0, 
    5358             : /*  9365*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5359             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5360             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 21
    5361             :                 // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5362             : /*  9375*/    /*Scope*/ 52, /*->9428*/
    5363             : /*  9376*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5364             : /*  9380*/      OPC_MoveChild0,
    5365             : /*  9381*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    5366             : /*  9384*/      OPC_RecordMemRef,
    5367             : /*  9385*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    5368             : /*  9386*/      OPC_CheckFoldableChainNode,
    5369             : /*  9387*/      OPC_MoveChild1,
    5370             : /*  9388*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5371             : /*  9391*/      OPC_MoveChild0,
    5372             : /*  9392*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5373             : /*  9395*/      OPC_RecordChild0, // #1 = $off
    5374             : /*  9396*/      OPC_MoveChild0,
    5375             : /*  9397*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5376             : /*  9400*/      OPC_MoveParent,
    5377             : /*  9401*/      OPC_MoveParent,
    5378             : /*  9402*/      OPC_RecordChild1, // #2 = $addr
    5379             : /*  9403*/      OPC_CheckType, MVT::i32,
    5380             : /*  9405*/      OPC_MoveParent,
    5381             : /*  9406*/      OPC_RecordChild2, // #3 = $val
    5382             : /*  9407*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    5383             : /*  9409*/      OPC_MoveParent,
    5384             : /*  9410*/      OPC_CheckType, MVT::i32,
    5385             : /*  9412*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5386             : /*  9414*/      OPC_EmitMergeInputChains1_0,
    5387             : /*  9415*/      OPC_EmitInteger, MVT::i32, 0, 
    5388             : /*  9418*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5389             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5390             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5391             :                 // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5392             : /*  9428*/    /*Scope*/ 51, /*->9480*/
    5393             : /*  9429*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5394             : /*  9432*/      OPC_MoveChild0,
    5395             : /*  9433*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    5396             : /*  9436*/      OPC_RecordMemRef,
    5397             : /*  9437*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    5398             : /*  9438*/      OPC_CheckFoldableChainNode,
    5399             : /*  9439*/      OPC_MoveChild1,
    5400             : /*  9440*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5401             : /*  9443*/      OPC_MoveChild0,
    5402             : /*  9444*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5403             : /*  9447*/      OPC_RecordChild0, // #1 = $off
    5404             : /*  9448*/      OPC_MoveChild0,
    5405             : /*  9449*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5406             : /*  9452*/      OPC_MoveParent,
    5407             : /*  9453*/      OPC_MoveParent,
    5408             : /*  9454*/      OPC_RecordChild1, // #2 = $addr
    5409             : /*  9455*/      OPC_CheckType, MVT::i32,
    5410             : /*  9457*/      OPC_MoveParent,
    5411             : /*  9458*/      OPC_RecordChild2, // #3 = $val
    5412             : /*  9459*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    5413             : /*  9461*/      OPC_MoveParent,
    5414             : /*  9462*/      OPC_CheckType, MVT::i32,
    5415             : /*  9464*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5416             : /*  9466*/      OPC_EmitMergeInputChains1_0,
    5417             : /*  9467*/      OPC_EmitInteger, MVT::i32, 0, 
    5418             : /*  9470*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5419             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5420             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 21
    5421             :                 // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5422             : /*  9480*/    /*Scope*/ 52, /*->9533*/
    5423             : /*  9481*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5424             : /*  9485*/      OPC_MoveChild0,
    5425             : /*  9486*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    5426             : /*  9489*/      OPC_RecordMemRef,
    5427             : /*  9490*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    5428             : /*  9491*/      OPC_CheckFoldableChainNode,
    5429             : /*  9492*/      OPC_MoveChild1,
    5430             : /*  9493*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5431             : /*  9496*/      OPC_MoveChild0,
    5432             : /*  9497*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5433             : /*  9500*/      OPC_RecordChild0, // #1 = $off
    5434             : /*  9501*/      OPC_MoveChild0,
    5435             : /*  9502*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5436             : /*  9505*/      OPC_MoveParent,
    5437             : /*  9506*/      OPC_MoveParent,
    5438             : /*  9507*/      OPC_RecordChild1, // #2 = $addr
    5439             : /*  9508*/      OPC_CheckType, MVT::i32,
    5440             : /*  9510*/      OPC_MoveParent,
    5441             : /*  9511*/      OPC_RecordChild2, // #3 = $val
    5442             : /*  9512*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    5443             : /*  9514*/      OPC_MoveParent,
    5444             : /*  9515*/      OPC_CheckType, MVT::i32,
    5445             : /*  9517*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5446             : /*  9519*/      OPC_EmitMergeInputChains1_0,
    5447             : /*  9520*/      OPC_EmitInteger, MVT::i32, 0, 
    5448             : /*  9523*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5449             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5450             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5451             :                 // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5452             : /*  9533*/    /*Scope*/ 51, /*->9585*/
    5453             : /*  9534*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5454             : /*  9537*/      OPC_MoveChild0,
    5455             : /*  9538*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    5456             : /*  9541*/      OPC_RecordMemRef,
    5457             : /*  9542*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    5458             : /*  9543*/      OPC_CheckFoldableChainNode,
    5459             : /*  9544*/      OPC_MoveChild1,
    5460             : /*  9545*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5461             : /*  9548*/      OPC_MoveChild0,
    5462             : /*  9549*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5463             : /*  9552*/      OPC_RecordChild0, // #1 = $off
    5464             : /*  9553*/      OPC_MoveChild0,
    5465             : /*  9554*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5466             : /*  9557*/      OPC_MoveParent,
    5467             : /*  9558*/      OPC_MoveParent,
    5468             : /*  9559*/      OPC_RecordChild1, // #2 = $addr
    5469             : /*  9560*/      OPC_CheckType, MVT::i32,
    5470             : /*  9562*/      OPC_MoveParent,
    5471             : /*  9563*/      OPC_RecordChild2, // #3 = $val
    5472             : /*  9564*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    5473             : /*  9566*/      OPC_MoveParent,
    5474             : /*  9567*/      OPC_CheckType, MVT::i32,
    5475             : /*  9569*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5476             : /*  9571*/      OPC_EmitMergeInputChains1_0,
    5477             : /*  9572*/      OPC_EmitInteger, MVT::i32, 0, 
    5478             : /*  9575*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5479             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5480             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 21
    5481             :                 // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5482             : /*  9585*/    /*Scope*/ 52, /*->9638*/
    5483             : /*  9586*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5484             : /*  9590*/      OPC_MoveChild0,
    5485             : /*  9591*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    5486             : /*  9594*/      OPC_RecordMemRef,
    5487             : /*  9595*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    5488             : /*  9596*/      OPC_CheckFoldableChainNode,
    5489             : /*  9597*/      OPC_MoveChild1,
    5490             : /*  9598*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5491             : /*  9601*/      OPC_MoveChild0,
    5492             : /*  9602*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5493             : /*  9605*/      OPC_RecordChild0, // #1 = $off
    5494             : /*  9606*/      OPC_MoveChild0,
    5495             : /*  9607*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5496             : /*  9610*/      OPC_MoveParent,
    5497             : /*  9611*/      OPC_MoveParent,
    5498             : /*  9612*/      OPC_RecordChild1, // #2 = $addr
    5499             : /*  9613*/      OPC_CheckType, MVT::i32,
    5500             : /*  9615*/      OPC_MoveParent,
    5501             : /*  9616*/      OPC_RecordChild2, // #3 = $val
    5502             : /*  9617*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    5503             : /*  9619*/      OPC_MoveParent,
    5504             : /*  9620*/      OPC_CheckType, MVT::i32,
    5505             : /*  9622*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5506             : /*  9624*/      OPC_EmitMergeInputChains1_0,
    5507             : /*  9625*/      OPC_EmitInteger, MVT::i32, 0, 
    5508             : /*  9628*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5509             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5510             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5511             :                 // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5512             : /*  9638*/    /*Scope*/ 51, /*->9690*/
    5513             : /*  9639*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5514             : /*  9642*/      OPC_MoveChild0,
    5515             : /*  9643*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    5516             : /*  9646*/      OPC_RecordMemRef,
    5517             : /*  9647*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    5518             : /*  9648*/      OPC_CheckFoldableChainNode,
    5519             : /*  9649*/      OPC_MoveChild1,
    5520             : /*  9650*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5521             : /*  9653*/      OPC_MoveChild0,
    5522             : /*  9654*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5523             : /*  9657*/      OPC_RecordChild0, // #1 = $off
    5524             : /*  9658*/      OPC_MoveChild0,
    5525             : /*  9659*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5526             : /*  9662*/      OPC_MoveParent,
    5527             : /*  9663*/      OPC_MoveParent,
    5528             : /*  9664*/      OPC_RecordChild1, // #2 = $addr
    5529             : /*  9665*/      OPC_CheckType, MVT::i32,
    5530             : /*  9667*/      OPC_MoveParent,
    5531             : /*  9668*/      OPC_RecordChild2, // #3 = $val
    5532             : /*  9669*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    5533             : /*  9671*/      OPC_MoveParent,
    5534             : /*  9672*/      OPC_CheckType, MVT::i32,
    5535             : /*  9674*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5536             : /*  9676*/      OPC_EmitMergeInputChains1_0,
    5537             : /*  9677*/      OPC_EmitInteger, MVT::i32, 0, 
    5538             : /*  9680*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5539             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5540             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 21
    5541             :                 // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5542             : /*  9690*/    /*Scope*/ 52, /*->9743*/
    5543             : /*  9691*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5544             : /*  9695*/      OPC_MoveChild0,
    5545             : /*  9696*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    5546             : /*  9699*/      OPC_RecordMemRef,
    5547             : /*  9700*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    5548             : /*  9701*/      OPC_CheckFoldableChainNode,
    5549             : /*  9702*/      OPC_MoveChild1,
    5550             : /*  9703*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5551             : /*  9706*/      OPC_MoveChild0,
    5552             : /*  9707*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5553             : /*  9710*/      OPC_RecordChild0, // #1 = $off
    5554             : /*  9711*/      OPC_MoveChild0,
    5555             : /*  9712*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5556             : /*  9715*/      OPC_MoveParent,
    5557             : /*  9716*/      OPC_MoveParent,
    5558             : /*  9717*/      OPC_RecordChild1, // #2 = $addr
    5559             : /*  9718*/      OPC_CheckType, MVT::i32,
    5560             : /*  9720*/      OPC_MoveParent,
    5561             : /*  9721*/      OPC_RecordChild2, // #3 = $val
    5562             : /*  9722*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    5563             : /*  9724*/      OPC_MoveParent,
    5564             : /*  9725*/      OPC_CheckType, MVT::i32,
    5565             : /*  9727*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5566             : /*  9729*/      OPC_EmitMergeInputChains1_0,
    5567             : /*  9730*/      OPC_EmitInteger, MVT::i32, 0, 
    5568             : /*  9733*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5569             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5570             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5571             :                 // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5572             : /*  9743*/    /*Scope*/ 51, /*->9795*/
    5573             : /*  9744*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5574             : /*  9747*/      OPC_MoveChild0,
    5575             : /*  9748*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    5576             : /*  9751*/      OPC_RecordMemRef,
    5577             : /*  9752*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    5578             : /*  9753*/      OPC_CheckFoldableChainNode,
    5579             : /*  9754*/      OPC_MoveChild1,
    5580             : /*  9755*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5581             : /*  9758*/      OPC_MoveChild0,
    5582             : /*  9759*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5583             : /*  9762*/      OPC_RecordChild0, // #1 = $off
    5584             : /*  9763*/      OPC_MoveChild0,
    5585             : /*  9764*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5586             : /*  9767*/      OPC_MoveParent,
    5587             : /*  9768*/      OPC_MoveParent,
    5588             : /*  9769*/      OPC_RecordChild1, // #2 = $addr
    5589             : /*  9770*/      OPC_CheckType, MVT::i32,
    5590             : /*  9772*/      OPC_MoveParent,
    5591             : /*  9773*/      OPC_RecordChild2, // #3 = $val
    5592             : /*  9774*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    5593             : /*  9776*/      OPC_MoveParent,
    5594             : /*  9777*/      OPC_CheckType, MVT::i32,
    5595             : /*  9779*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5596             : /*  9781*/      OPC_EmitMergeInputChains1_0,
    5597             : /*  9782*/      OPC_EmitInteger, MVT::i32, 0, 
    5598             : /*  9785*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5599             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5600             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 21
    5601             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5602             : /*  9795*/    /*Scope*/ 52, /*->9848*/
    5603             : /*  9796*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5604             : /*  9800*/      OPC_MoveChild0,
    5605             : /*  9801*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    5606             : /*  9804*/      OPC_RecordMemRef,
    5607             : /*  9805*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    5608             : /*  9806*/      OPC_CheckFoldableChainNode,
    5609             : /*  9807*/      OPC_MoveChild1,
    5610             : /*  9808*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5611             : /*  9811*/      OPC_MoveChild0,
    5612             : /*  9812*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5613             : /*  9815*/      OPC_RecordChild0, // #1 = $off
    5614             : /*  9816*/      OPC_MoveChild0,
    5615             : /*  9817*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5616             : /*  9820*/      OPC_MoveParent,
    5617             : /*  9821*/      OPC_MoveParent,
    5618             : /*  9822*/      OPC_RecordChild1, // #2 = $addr
    5619             : /*  9823*/      OPC_CheckType, MVT::i32,
    5620             : /*  9825*/      OPC_MoveParent,
    5621             : /*  9826*/      OPC_RecordChild2, // #3 = $val
    5622             : /*  9827*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    5623             : /*  9829*/      OPC_MoveParent,
    5624             : /*  9830*/      OPC_CheckType, MVT::i32,
    5625             : /*  9832*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5626             : /*  9834*/      OPC_EmitMergeInputChains1_0,
    5627             : /*  9835*/      OPC_EmitInteger, MVT::i32, 0, 
    5628             : /*  9838*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5629             :                     MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
    5630             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5631             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    5632             : /*  9848*/    /*Scope*/ 53, /*->9902*/
    5633             : /*  9849*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5634             : /*  9852*/      OPC_MoveChild0,
    5635             : /*  9853*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    5636             : /*  9856*/      OPC_RecordMemRef,
    5637             : /*  9857*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    5638             : /*  9858*/      OPC_CheckFoldableChainNode,
    5639             : /*  9859*/      OPC_MoveChild1,
    5640             : /*  9860*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5641             : /*  9863*/      OPC_MoveChild0,
    5642             : /*  9864*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5643             : /*  9867*/      OPC_RecordChild0, // #1 = $off
    5644             : /*  9868*/      OPC_MoveChild0,
    5645             : /*  9869*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5646             : /*  9872*/      OPC_MoveParent,
    5647             : /*  9873*/      OPC_MoveParent,
    5648             : /*  9874*/      OPC_RecordChild1, // #2 = $addr
    5649             : /*  9875*/      OPC_CheckType, MVT::i32,
    5650             : /*  9877*/      OPC_MoveParent,
    5651             : /*  9878*/      OPC_RecordChild2, // #3 = $exp
    5652             : /*  9879*/      OPC_RecordChild3, // #4 = $new
    5653             : /*  9880*/      OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    5654             : /*  9882*/      OPC_MoveParent,
    5655             : /*  9883*/      OPC_CheckType, MVT::i32,
    5656             : /*  9885*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5657             : /*  9887*/      OPC_EmitMergeInputChains1_0,
    5658             : /*  9888*/      OPC_EmitInteger, MVT::i32, 0, 
    5659             : /*  9891*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5660             :                     MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
    5661             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 21
    5662             :                 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    5663             : /*  9902*/    /*Scope*/ 54, /*->9957*/
    5664             : /*  9903*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5665             : /*  9907*/      OPC_MoveChild0,
    5666             : /*  9908*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    5667             : /*  9911*/      OPC_RecordMemRef,
    5668             : /*  9912*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    5669             : /*  9913*/      OPC_CheckFoldableChainNode,
    5670             : /*  9914*/      OPC_MoveChild1,
    5671             : /*  9915*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    5672             : /*  9918*/      OPC_MoveChild0,
    5673             : /*  9919*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5674             : /*  9922*/      OPC_RecordChild0, // #1 = $off
    5675             : /*  9923*/      OPC_MoveChild0,
    5676             : /*  9924*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5677             : /*  9927*/      OPC_MoveParent,
    5678             : /*  9928*/      OPC_MoveParent,
    5679             : /*  9929*/      OPC_RecordChild1, // #2 = $addr
    5680             : /*  9930*/      OPC_CheckType, MVT::i32,
    5681             : /*  9932*/      OPC_MoveParent,
    5682             : /*  9933*/      OPC_RecordChild2, // #3 = $exp
    5683             : /*  9934*/      OPC_RecordChild3, // #4 = $new
    5684             : /*  9935*/      OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    5685             : /*  9937*/      OPC_MoveParent,
    5686             : /*  9938*/      OPC_CheckType, MVT::i32,
    5687             : /*  9940*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5688             : /*  9942*/      OPC_EmitMergeInputChains1_0,
    5689             : /*  9943*/      OPC_EmitInteger, MVT::i32, 0, 
    5690             : /*  9946*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    5691             :                     MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
    5692             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 21
    5693             :                 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    5694             : /*  9957*/    /*Scope*/ 54, /*->10012*/
    5695             : /*  9958*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5696             : /*  9961*/      OPC_MoveChild0,
    5697             : /*  9962*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    5698             : /*  9965*/      OPC_MoveChild0,
    5699             : /*  9966*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    5700             : /*  9969*/      OPC_RecordMemRef,
    5701             : /*  9970*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    5702             : /*  9971*/      OPC_CheckFoldableChainNode,
    5703             : /*  9972*/      OPC_MoveChild1,
    5704             : /*  9973*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5705             : /*  9976*/      OPC_RecordChild0, // #1 = $off
    5706             : /*  9977*/      OPC_MoveChild0,
    5707             : /*  9978*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    5708             : /*  9981*/      OPC_MoveParent,
    5709             : /*  9982*/      OPC_MoveParent,
    5710             : /*  9983*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    5711             : /*  9985*/      OPC_MoveParent,
    5712             : /*  9986*/      OPC_MoveParent,
    5713             : /*  9987*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5714             : /*  9989*/      OPC_EmitMergeInputChains1_0,
    5715             : /*  9990*/      OPC_EmitInteger, MVT::i32, 0, 
    5716             : /*  9993*/      OPC_EmitInteger, MVT::i32, 0, 
    5717             : /*  9996*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    5718             :                     MVT::i32, 1/*#Ops*/, 3,  // Results = #4
    5719             : /* 10003*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    5720             :                     MVT::i64, 3/*#Ops*/, 2, 1, 4, 
    5721             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 21
    5722             :                 // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    5723             : /* 10012*/    /*Scope*/ 55, /*->10068*/
    5724             : /* 10013*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5725             : /* 10017*/      OPC_MoveChild0,
    5726             : /* 10018*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    5727             : /* 10021*/      OPC_MoveChild0,
    5728             : /* 10022*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    5729             : /* 10025*/      OPC_RecordMemRef,
    5730             : /* 10026*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    5731             : /* 10027*/      OPC_CheckFoldableChainNode,
    5732             : /* 10028*/      OPC_MoveChild1,
    5733             : /* 10029*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5734             : /* 10032*/      OPC_RecordChild0, // #1 = $off
    5735             : /* 10033*/      OPC_MoveChild0,
    5736             : /* 10034*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    5737             : /* 10037*/      OPC_MoveParent,
    5738             : /* 10038*/      OPC_MoveParent,
    5739             : /* 10039*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    5740             : /* 10041*/      OPC_MoveParent,
    5741             : /* 10042*/      OPC_MoveParent,
    5742             : /* 10043*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5743             : /* 10045*/      OPC_EmitMergeInputChains1_0,
    5744             : /* 10046*/      OPC_EmitInteger, MVT::i32, 0, 
    5745             : /* 10049*/      OPC_EmitInteger, MVT::i32, 0, 
    5746             : /* 10052*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    5747             :                     MVT::i32, 1/*#Ops*/, 3,  // Results = #4
    5748             : /* 10059*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    5749             :                     MVT::i64, 3/*#Ops*/, 2, 1, 4, 
    5750             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 21
    5751             :                 // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    5752             : /* 10068*/    /*Scope*/ 54, /*->10123*/
    5753             : /* 10069*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5754             : /* 10072*/      OPC_MoveChild0,
    5755             : /* 10073*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    5756             : /* 10076*/      OPC_MoveChild0,
    5757             : /* 10077*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    5758             : /* 10080*/      OPC_RecordMemRef,
    5759             : /* 10081*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    5760             : /* 10082*/      OPC_CheckFoldableChainNode,
    5761             : /* 10083*/      OPC_MoveChild1,
    5762             : /* 10084*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5763             : /* 10087*/      OPC_RecordChild0, // #1 = $off
    5764             : /* 10088*/      OPC_MoveChild0,
    5765             : /* 10089*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5766             : /* 10092*/      OPC_MoveParent,
    5767             : /* 10093*/      OPC_MoveParent,
    5768             : /* 10094*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    5769             : /* 10096*/      OPC_MoveParent,
    5770             : /* 10097*/      OPC_MoveParent,
    5771             : /* 10098*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5772             : /* 10100*/      OPC_EmitMergeInputChains1_0,
    5773             : /* 10101*/      OPC_EmitInteger, MVT::i32, 0, 
    5774             : /* 10104*/      OPC_EmitInteger, MVT::i32, 0, 
    5775             : /* 10107*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    5776             :                     MVT::i32, 1/*#Ops*/, 3,  // Results = #4
    5777             : /* 10114*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    5778             :                     MVT::i64, 3/*#Ops*/, 2, 1, 4, 
    5779             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 21
    5780             :                 // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    5781             : /* 10123*/    /*Scope*/ 55, /*->10179*/
    5782             : /* 10124*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5783             : /* 10128*/      OPC_MoveChild0,
    5784             : /* 10129*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    5785             : /* 10132*/      OPC_MoveChild0,
    5786             : /* 10133*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    5787             : /* 10136*/      OPC_RecordMemRef,
    5788             : /* 10137*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    5789             : /* 10138*/      OPC_CheckFoldableChainNode,
    5790             : /* 10139*/      OPC_MoveChild1,
    5791             : /* 10140*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    5792             : /* 10143*/      OPC_RecordChild0, // #1 = $off
    5793             : /* 10144*/      OPC_MoveChild0,
    5794             : /* 10145*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    5795             : /* 10148*/      OPC_MoveParent,
    5796             : /* 10149*/      OPC_MoveParent,
    5797             : /* 10150*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    5798             : /* 10152*/      OPC_MoveParent,
    5799             : /* 10153*/      OPC_MoveParent,
    5800             : /* 10154*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5801             : /* 10156*/      OPC_EmitMergeInputChains1_0,
    5802             : /* 10157*/      OPC_EmitInteger, MVT::i32, 0, 
    5803             : /* 10160*/      OPC_EmitInteger, MVT::i32, 0, 
    5804             : /* 10163*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    5805             :                     MVT::i32, 1/*#Ops*/, 3,  // Results = #4
    5806             : /* 10170*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    5807             :                     MVT::i64, 3/*#Ops*/, 2, 1, 4, 
    5808             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 21
    5809             :                 // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    5810             : /* 10179*/    /*Scope*/ 58, /*->10238*/
    5811             : /* 10180*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5812             : /* 10183*/      OPC_MoveChild0,
    5813             : /* 10184*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    5814             : /* 10187*/      OPC_MoveChild0,
    5815             : /* 10188*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    5816             : /* 10191*/      OPC_RecordMemRef,
    5817             : /* 10192*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    5818             : /* 10193*/      OPC_CheckFoldableChainNode,
    5819             : /* 10194*/      OPC_RecordChild1, // #1 = $off
    5820             : /* 10195*/      OPC_MoveChild1,
    5821             : /* 10196*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5822             : /* 10199*/      OPC_MoveParent,
    5823             : /* 10200*/      OPC_MoveChild2,
    5824             : /* 10201*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    5825             : /* 10204*/      OPC_RecordChild0, // #2 = $val
    5826             : /* 10205*/      OPC_MoveParent,
    5827             : /* 10206*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    5828             : /* 10208*/      OPC_MoveParent,
    5829             : /* 10209*/      OPC_MoveParent,
    5830             : /* 10210*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5831             : /* 10212*/      OPC_EmitMergeInputChains1_0,
    5832             : /* 10213*/      OPC_EmitInteger, MVT::i32, 0, 
    5833             : /* 10216*/      OPC_EmitConvertToTarget, 1,
    5834             : /* 10218*/      OPC_EmitInteger, MVT::i32, 0, 
    5835             : /* 10221*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    5836             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    5837             : /* 10228*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    5838             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    5839             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 21
    5840             :                 // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    5841             : /* 10238*/    /*Scope*/ 59, /*->10298*/
    5842             : /* 10239*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5843             : /* 10243*/      OPC_MoveChild0,
    5844             : /* 10244*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    5845             : /* 10247*/      OPC_MoveChild0,
    5846             : /* 10248*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    5847             : /* 10251*/      OPC_RecordMemRef,
    5848             : /* 10252*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    5849             : /* 10253*/      OPC_CheckFoldableChainNode,
    5850             : /* 10254*/      OPC_RecordChild1, // #1 = $off
    5851             : /* 10255*/      OPC_MoveChild1,
    5852             : /* 10256*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5853             : /* 10259*/      OPC_MoveParent,
    5854             : /* 10260*/      OPC_MoveChild2,
    5855             : /* 10261*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    5856             : /* 10264*/      OPC_RecordChild0, // #2 = $val
    5857             : /* 10265*/      OPC_MoveParent,
    5858             : /* 10266*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    5859             : /* 10268*/      OPC_MoveParent,
    5860             : /* 10269*/      OPC_MoveParent,
    5861             : /* 10270*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5862             : /* 10272*/      OPC_EmitMergeInputChains1_0,
    5863             : /* 10273*/      OPC_EmitInteger, MVT::i32, 0, 
    5864             : /* 10276*/      OPC_EmitConvertToTarget, 1,
    5865             : /* 10278*/      OPC_EmitInteger, MVT::i32, 0, 
    5866             : /* 10281*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    5867             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    5868             : /* 10288*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    5869             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    5870             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 21
    5871             :                 // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    5872             : /* 10298*/    /*Scope*/ 58, /*->10357*/
    5873             : /* 10299*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5874             : /* 10302*/      OPC_MoveChild0,
    5875             : /* 10303*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    5876             : /* 10306*/      OPC_MoveChild0,
    5877             : /* 10307*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    5878             : /* 10310*/      OPC_RecordMemRef,
    5879             : /* 10311*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    5880             : /* 10312*/      OPC_CheckFoldableChainNode,
    5881             : /* 10313*/      OPC_RecordChild1, // #1 = $off
    5882             : /* 10314*/      OPC_MoveChild1,
    5883             : /* 10315*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5884             : /* 10318*/      OPC_MoveParent,
    5885             : /* 10319*/      OPC_MoveChild2,
    5886             : /* 10320*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    5887             : /* 10323*/      OPC_RecordChild0, // #2 = $val
    5888             : /* 10324*/      OPC_MoveParent,
    5889             : /* 10325*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    5890             : /* 10327*/      OPC_MoveParent,
    5891             : /* 10328*/      OPC_MoveParent,
    5892             : /* 10329*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5893             : /* 10331*/      OPC_EmitMergeInputChains1_0,
    5894             : /* 10332*/      OPC_EmitInteger, MVT::i32, 0, 
    5895             : /* 10335*/      OPC_EmitConvertToTarget, 1,
    5896             : /* 10337*/      OPC_EmitInteger, MVT::i32, 0, 
    5897             : /* 10340*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    5898             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    5899             : /* 10347*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    5900             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    5901             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 21
    5902             :                 // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    5903             : /* 10357*/    /*Scope*/ 59, /*->10417*/
    5904             : /* 10358*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5905             : /* 10362*/      OPC_MoveChild0,
    5906             : /* 10363*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    5907             : /* 10366*/      OPC_MoveChild0,
    5908             : /* 10367*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    5909             : /* 10370*/      OPC_RecordMemRef,
    5910             : /* 10371*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    5911             : /* 10372*/      OPC_CheckFoldableChainNode,
    5912             : /* 10373*/      OPC_RecordChild1, // #1 = $off
    5913             : /* 10374*/      OPC_MoveChild1,
    5914             : /* 10375*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5915             : /* 10378*/      OPC_MoveParent,
    5916             : /* 10379*/      OPC_MoveChild2,
    5917             : /* 10380*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    5918             : /* 10383*/      OPC_RecordChild0, // #2 = $val
    5919             : /* 10384*/      OPC_MoveParent,
    5920             : /* 10385*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    5921             : /* 10387*/      OPC_MoveParent,
    5922             : /* 10388*/      OPC_MoveParent,
    5923             : /* 10389*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5924             : /* 10391*/      OPC_EmitMergeInputChains1_0,
    5925             : /* 10392*/      OPC_EmitInteger, MVT::i32, 0, 
    5926             : /* 10395*/      OPC_EmitConvertToTarget, 1,
    5927             : /* 10397*/      OPC_EmitInteger, MVT::i32, 0, 
    5928             : /* 10400*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    5929             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    5930             : /* 10407*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    5931             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    5932             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 21
    5933             :                 // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    5934             : /* 10417*/    /*Scope*/ 58, /*->10476*/
    5935             : /* 10418*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5936             : /* 10421*/      OPC_MoveChild0,
    5937             : /* 10422*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    5938             : /* 10425*/      OPC_MoveChild0,
    5939             : /* 10426*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    5940             : /* 10429*/      OPC_RecordMemRef,
    5941             : /* 10430*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    5942             : /* 10431*/      OPC_CheckFoldableChainNode,
    5943             : /* 10432*/      OPC_RecordChild1, // #1 = $off
    5944             : /* 10433*/      OPC_MoveChild1,
    5945             : /* 10434*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5946             : /* 10437*/      OPC_MoveParent,
    5947             : /* 10438*/      OPC_MoveChild2,
    5948             : /* 10439*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    5949             : /* 10442*/      OPC_RecordChild0, // #2 = $val
    5950             : /* 10443*/      OPC_MoveParent,
    5951             : /* 10444*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    5952             : /* 10446*/      OPC_MoveParent,
    5953             : /* 10447*/      OPC_MoveParent,
    5954             : /* 10448*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5955             : /* 10450*/      OPC_EmitMergeInputChains1_0,
    5956             : /* 10451*/      OPC_EmitInteger, MVT::i32, 0, 
    5957             : /* 10454*/      OPC_EmitConvertToTarget, 1,
    5958             : /* 10456*/      OPC_EmitInteger, MVT::i32, 0, 
    5959             : /* 10459*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    5960             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    5961             : /* 10466*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    5962             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    5963             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 21
    5964             :                 // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    5965             : /* 10476*/    /*Scope*/ 59, /*->10536*/
    5966             : /* 10477*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    5967             : /* 10481*/      OPC_MoveChild0,
    5968             : /* 10482*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    5969             : /* 10485*/      OPC_MoveChild0,
    5970             : /* 10486*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    5971             : /* 10489*/      OPC_RecordMemRef,
    5972             : /* 10490*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    5973             : /* 10491*/      OPC_CheckFoldableChainNode,
    5974             : /* 10492*/      OPC_RecordChild1, // #1 = $off
    5975             : /* 10493*/      OPC_MoveChild1,
    5976             : /* 10494*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5977             : /* 10497*/      OPC_MoveParent,
    5978             : /* 10498*/      OPC_MoveChild2,
    5979             : /* 10499*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    5980             : /* 10502*/      OPC_RecordChild0, // #2 = $val
    5981             : /* 10503*/      OPC_MoveParent,
    5982             : /* 10504*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    5983             : /* 10506*/      OPC_MoveParent,
    5984             : /* 10507*/      OPC_MoveParent,
    5985             : /* 10508*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    5986             : /* 10510*/      OPC_EmitMergeInputChains1_0,
    5987             : /* 10511*/      OPC_EmitInteger, MVT::i32, 0, 
    5988             : /* 10514*/      OPC_EmitConvertToTarget, 1,
    5989             : /* 10516*/      OPC_EmitInteger, MVT::i32, 0, 
    5990             : /* 10519*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    5991             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    5992             : /* 10526*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    5993             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    5994             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 21
    5995             :                 // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    5996             : /* 10536*/    /*Scope*/ 58, /*->10595*/
    5997             : /* 10537*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    5998             : /* 10540*/      OPC_MoveChild0,
    5999             : /* 10541*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    6000             : /* 10544*/      OPC_MoveChild0,
    6001             : /* 10545*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    6002             : /* 10548*/      OPC_RecordMemRef,
    6003             : /* 10549*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    6004             : /* 10550*/      OPC_CheckFoldableChainNode,
    6005             : /* 10551*/      OPC_RecordChild1, // #1 = $off
    6006             : /* 10552*/      OPC_MoveChild1,
    6007             : /* 10553*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6008             : /* 10556*/      OPC_MoveParent,
    6009             : /* 10557*/      OPC_MoveChild2,
    6010             : /* 10558*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    6011             : /* 10561*/      OPC_RecordChild0, // #2 = $val
    6012             : /* 10562*/      OPC_MoveParent,
    6013             : /* 10563*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    6014             : /* 10565*/      OPC_MoveParent,
    6015             : /* 10566*/      OPC_MoveParent,
    6016             : /* 10567*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6017             : /* 10569*/      OPC_EmitMergeInputChains1_0,
    6018             : /* 10570*/      OPC_EmitInteger, MVT::i32, 0, 
    6019             : /* 10573*/      OPC_EmitConvertToTarget, 1,
    6020             : /* 10575*/      OPC_EmitInteger, MVT::i32, 0, 
    6021             : /* 10578*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    6022             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    6023             : /* 10585*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    6024             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    6025             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 21
    6026             :                 // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    6027             : /* 10595*/    /*Scope*/ 59, /*->10655*/
    6028             : /* 10596*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6029             : /* 10600*/      OPC_MoveChild0,
    6030             : /* 10601*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    6031             : /* 10604*/      OPC_MoveChild0,
    6032             : /* 10605*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    6033             : /* 10608*/      OPC_RecordMemRef,
    6034             : /* 10609*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    6035             : /* 10610*/      OPC_CheckFoldableChainNode,
    6036             : /* 10611*/      OPC_RecordChild1, // #1 = $off
    6037             : /* 10612*/      OPC_MoveChild1,
    6038             : /* 10613*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6039             : /* 10616*/      OPC_MoveParent,
    6040             : /* 10617*/      OPC_MoveChild2,
    6041             : /* 10618*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    6042             : /* 10621*/      OPC_RecordChild0, // #2 = $val
    6043             : /* 10622*/      OPC_MoveParent,
    6044             : /* 10623*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    6045             : /* 10625*/      OPC_MoveParent,
    6046             : /* 10626*/      OPC_MoveParent,
    6047             : /* 10627*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6048             : /* 10629*/      OPC_EmitMergeInputChains1_0,
    6049             : /* 10630*/      OPC_EmitInteger, MVT::i32, 0, 
    6050             : /* 10633*/      OPC_EmitConvertToTarget, 1,
    6051             : /* 10635*/      OPC_EmitInteger, MVT::i32, 0, 
    6052             : /* 10638*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    6053             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    6054             : /* 10645*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    6055             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    6056             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 21
    6057             :                 // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    6058             : /* 10655*/    /*Scope*/ 58, /*->10714*/
    6059             : /* 10656*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6060             : /* 10659*/      OPC_MoveChild0,
    6061             : /* 10660*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    6062             : /* 10663*/      OPC_MoveChild0,
    6063             : /* 10664*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    6064             : /* 10667*/      OPC_RecordMemRef,
    6065             : /* 10668*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    6066             : /* 10669*/      OPC_CheckFoldableChainNode,
    6067             : /* 10670*/      OPC_RecordChild1, // #1 = $off
    6068             : /* 10671*/      OPC_MoveChild1,
    6069             : /* 10672*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6070             : /* 10675*/      OPC_MoveParent,
    6071             : /* 10676*/      OPC_MoveChild2,
    6072             : /* 10677*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    6073             : /* 10680*/      OPC_RecordChild0, // #2 = $val
    6074             : /* 10681*/      OPC_MoveParent,
    6075             : /* 10682*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    6076             : /* 10684*/      OPC_MoveParent,
    6077             : /* 10685*/      OPC_MoveParent,
    6078             : /* 10686*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6079             : /* 10688*/      OPC_EmitMergeInputChains1_0,
    6080             : /* 10689*/      OPC_EmitInteger, MVT::i32, 0, 
    6081             : /* 10692*/      OPC_EmitConvertToTarget, 1,
    6082             : /* 10694*/      OPC_EmitInteger, MVT::i32, 0, 
    6083             : /* 10697*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    6084             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    6085             : /* 10704*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    6086             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    6087             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 21
    6088             :                 // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    6089             : /* 10714*/    /*Scope*/ 59, /*->10774*/
    6090             : /* 10715*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6091             : /* 10719*/      OPC_MoveChild0,
    6092             : /* 10720*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    6093             : /* 10723*/      OPC_MoveChild0,
    6094             : /* 10724*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    6095             : /* 10727*/      OPC_RecordMemRef,
    6096             : /* 10728*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    6097             : /* 10729*/      OPC_CheckFoldableChainNode,
    6098             : /* 10730*/      OPC_RecordChild1, // #1 = $off
    6099             : /* 10731*/      OPC_MoveChild1,
    6100             : /* 10732*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6101             : /* 10735*/      OPC_MoveParent,
    6102             : /* 10736*/      OPC_MoveChild2,
    6103             : /* 10737*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    6104             : /* 10740*/      OPC_RecordChild0, // #2 = $val
    6105             : /* 10741*/      OPC_MoveParent,
    6106             : /* 10742*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    6107             : /* 10744*/      OPC_MoveParent,
    6108             : /* 10745*/      OPC_MoveParent,
    6109             : /* 10746*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6110             : /* 10748*/      OPC_EmitMergeInputChains1_0,
    6111             : /* 10749*/      OPC_EmitInteger, MVT::i32, 0, 
    6112             : /* 10752*/      OPC_EmitConvertToTarget, 1,
    6113             : /* 10754*/      OPC_EmitInteger, MVT::i32, 0, 
    6114             : /* 10757*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    6115             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    6116             : /* 10764*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    6117             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    6118             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 21
    6119             :                 // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    6120             : /* 10774*/    /*Scope*/ 58, /*->10833*/
    6121             : /* 10775*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6122             : /* 10778*/      OPC_MoveChild0,
    6123             : /* 10779*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    6124             : /* 10782*/      OPC_MoveChild0,
    6125             : /* 10783*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    6126             : /* 10786*/      OPC_RecordMemRef,
    6127             : /* 10787*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    6128             : /* 10788*/      OPC_CheckFoldableChainNode,
    6129             : /* 10789*/      OPC_RecordChild1, // #1 = $off
    6130             : /* 10790*/      OPC_MoveChild1,
    6131             : /* 10791*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6132             : /* 10794*/      OPC_MoveParent,
    6133             : /* 10795*/      OPC_MoveChild2,
    6134             : /* 10796*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    6135             : /* 10799*/      OPC_RecordChild0, // #2 = $val
    6136             : /* 10800*/      OPC_MoveParent,
    6137             : /* 10801*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    6138             : /* 10803*/      OPC_MoveParent,
    6139             : /* 10804*/      OPC_MoveParent,
    6140             : /* 10805*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6141             : /* 10807*/      OPC_EmitMergeInputChains1_0,
    6142             : /* 10808*/      OPC_EmitInteger, MVT::i32, 0, 
    6143             : /* 10811*/      OPC_EmitConvertToTarget, 1,
    6144             : /* 10813*/      OPC_EmitInteger, MVT::i32, 0, 
    6145             : /* 10816*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    6146             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    6147             : /* 10823*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    6148             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    6149             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 21
    6150             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    6151             : /* 10833*/    /*Scope*/ 59, /*->10893*/
    6152             : /* 10834*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6153             : /* 10838*/      OPC_MoveChild0,
    6154             : /* 10839*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    6155             : /* 10842*/      OPC_MoveChild0,
    6156             : /* 10843*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    6157             : /* 10846*/      OPC_RecordMemRef,
    6158             : /* 10847*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    6159             : /* 10848*/      OPC_CheckFoldableChainNode,
    6160             : /* 10849*/      OPC_RecordChild1, // #1 = $off
    6161             : /* 10850*/      OPC_MoveChild1,
    6162             : /* 10851*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6163             : /* 10854*/      OPC_MoveParent,
    6164             : /* 10855*/      OPC_MoveChild2,
    6165             : /* 10856*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    6166             : /* 10859*/      OPC_RecordChild0, // #2 = $val
    6167             : /* 10860*/      OPC_MoveParent,
    6168             : /* 10861*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    6169             : /* 10863*/      OPC_MoveParent,
    6170             : /* 10864*/      OPC_MoveParent,
    6171             : /* 10865*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6172             : /* 10867*/      OPC_EmitMergeInputChains1_0,
    6173             : /* 10868*/      OPC_EmitInteger, MVT::i32, 0, 
    6174             : /* 10871*/      OPC_EmitConvertToTarget, 1,
    6175             : /* 10873*/      OPC_EmitInteger, MVT::i32, 0, 
    6176             : /* 10876*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    6177             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    6178             : /* 10883*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    6179             :                     MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
    6180             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 21
    6181             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
    6182             : /* 10893*/    /*Scope*/ 48, /*->10942*/
    6183             : /* 10894*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6184             : /* 10897*/      OPC_MoveChild0,
    6185             : /* 10898*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    6186             : /* 10901*/      OPC_RecordMemRef,
    6187             : /* 10902*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    6188             : /* 10903*/      OPC_CheckFoldableChainNode,
    6189             : /* 10904*/      OPC_MoveChild1,
    6190             : /* 10905*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6191             : /* 10908*/      OPC_RecordChild0, // #1 = $addr
    6192             : /* 10909*/      OPC_RecordChild1, // #2 = $off
    6193             : /* 10910*/      OPC_MoveChild1,
    6194             : /* 10911*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6195             : /* 10914*/      OPC_MoveParent,
    6196             : /* 10915*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6197             : /* 10917*/      OPC_CheckType, MVT::i32,
    6198             : /* 10919*/      OPC_MoveParent,
    6199             : /* 10920*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    6200             : /* 10922*/      OPC_MoveParent,
    6201             : /* 10923*/      OPC_CheckType, MVT::i32,
    6202             : /* 10925*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6203             : /* 10927*/      OPC_EmitMergeInputChains1_0,
    6204             : /* 10928*/      OPC_EmitInteger, MVT::i32, 0, 
    6205             : /* 10931*/      OPC_EmitConvertToTarget, 2,
    6206             : /* 10933*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6207             :                     MVT::i32, 3/*#Ops*/, 3, 4, 1, 
    6208             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 19
    6209             :                 // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    6210             : /* 10942*/    /*Scope*/ 49, /*->10992*/
    6211             : /* 10943*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6212             : /* 10947*/      OPC_MoveChild0,
    6213             : /* 10948*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    6214             : /* 10951*/      OPC_RecordMemRef,
    6215             : /* 10952*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    6216             : /* 10953*/      OPC_CheckFoldableChainNode,
    6217             : /* 10954*/      OPC_MoveChild1,
    6218             : /* 10955*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6219             : /* 10958*/      OPC_RecordChild0, // #1 = $addr
    6220             : /* 10959*/      OPC_RecordChild1, // #2 = $off
    6221             : /* 10960*/      OPC_MoveChild1,
    6222             : /* 10961*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6223             : /* 10964*/      OPC_MoveParent,
    6224             : /* 10965*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6225             : /* 10967*/      OPC_CheckType, MVT::i32,
    6226             : /* 10969*/      OPC_MoveParent,
    6227             : /* 10970*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    6228             : /* 10972*/      OPC_MoveParent,
    6229             : /* 10973*/      OPC_CheckType, MVT::i32,
    6230             : /* 10975*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6231             : /* 10977*/      OPC_EmitMergeInputChains1_0,
    6232             : /* 10978*/      OPC_EmitInteger, MVT::i32, 0, 
    6233             : /* 10981*/      OPC_EmitConvertToTarget, 2,
    6234             : /* 10983*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6235             :                     MVT::i32, 3/*#Ops*/, 3, 4, 1, 
    6236             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6237             :                 // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    6238             : /* 10992*/    /*Scope*/ 48, /*->11041*/
    6239             : /* 10993*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6240             : /* 10996*/      OPC_MoveChild0,
    6241             : /* 10997*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    6242             : /* 11000*/      OPC_RecordMemRef,
    6243             : /* 11001*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    6244             : /* 11002*/      OPC_CheckFoldableChainNode,
    6245             : /* 11003*/      OPC_MoveChild1,
    6246             : /* 11004*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6247             : /* 11007*/      OPC_RecordChild0, // #1 = $addr
    6248             : /* 11008*/      OPC_RecordChild1, // #2 = $off
    6249             : /* 11009*/      OPC_MoveChild1,
    6250             : /* 11010*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6251             : /* 11013*/      OPC_MoveParent,
    6252             : /* 11014*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6253             : /* 11016*/      OPC_CheckType, MVT::i32,
    6254             : /* 11018*/      OPC_MoveParent,
    6255             : /* 11019*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    6256             : /* 11021*/      OPC_MoveParent,
    6257             : /* 11022*/      OPC_CheckType, MVT::i32,
    6258             : /* 11024*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6259             : /* 11026*/      OPC_EmitMergeInputChains1_0,
    6260             : /* 11027*/      OPC_EmitInteger, MVT::i32, 0, 
    6261             : /* 11030*/      OPC_EmitConvertToTarget, 2,
    6262             : /* 11032*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6263             :                     MVT::i32, 3/*#Ops*/, 3, 4, 1, 
    6264             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 19
    6265             :                 // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    6266             : /* 11041*/    /*Scope*/ 49, /*->11091*/
    6267             : /* 11042*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6268             : /* 11046*/      OPC_MoveChild0,
    6269             : /* 11047*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    6270             : /* 11050*/      OPC_RecordMemRef,
    6271             : /* 11051*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    6272             : /* 11052*/      OPC_CheckFoldableChainNode,
    6273             : /* 11053*/      OPC_MoveChild1,
    6274             : /* 11054*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6275             : /* 11057*/      OPC_RecordChild0, // #1 = $addr
    6276             : /* 11058*/      OPC_RecordChild1, // #2 = $off
    6277             : /* 11059*/      OPC_MoveChild1,
    6278             : /* 11060*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6279             : /* 11063*/      OPC_MoveParent,
    6280             : /* 11064*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6281             : /* 11066*/      OPC_CheckType, MVT::i32,
    6282             : /* 11068*/      OPC_MoveParent,
    6283             : /* 11069*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    6284             : /* 11071*/      OPC_MoveParent,
    6285             : /* 11072*/      OPC_CheckType, MVT::i32,
    6286             : /* 11074*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6287             : /* 11076*/      OPC_EmitMergeInputChains1_0,
    6288             : /* 11077*/      OPC_EmitInteger, MVT::i32, 0, 
    6289             : /* 11080*/      OPC_EmitConvertToTarget, 2,
    6290             : /* 11082*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6291             :                     MVT::i32, 3/*#Ops*/, 3, 4, 1, 
    6292             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6293             :                 // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
    6294             : /* 11091*/    /*Scope*/ 50, /*->11142*/
    6295             : /* 11092*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6296             : /* 11095*/      OPC_MoveChild0,
    6297             : /* 11096*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    6298             : /* 11099*/      OPC_RecordMemRef,
    6299             : /* 11100*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    6300             : /* 11101*/      OPC_CheckFoldableChainNode,
    6301             : /* 11102*/      OPC_MoveChild1,
    6302             : /* 11103*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6303             : /* 11106*/      OPC_RecordChild0, // #1 = $addr
    6304             : /* 11107*/      OPC_RecordChild1, // #2 = $off
    6305             : /* 11108*/      OPC_MoveChild1,
    6306             : /* 11109*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6307             : /* 11112*/      OPC_MoveParent,
    6308             : /* 11113*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6309             : /* 11115*/      OPC_CheckType, MVT::i32,
    6310             : /* 11117*/      OPC_MoveParent,
    6311             : /* 11118*/      OPC_RecordChild2, // #3 = $val
    6312             : /* 11119*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    6313             : /* 11121*/      OPC_MoveParent,
    6314             : /* 11122*/      OPC_CheckType, MVT::i32,
    6315             : /* 11124*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6316             : /* 11126*/      OPC_EmitMergeInputChains1_0,
    6317             : /* 11127*/      OPC_EmitInteger, MVT::i32, 0, 
    6318             : /* 11130*/      OPC_EmitConvertToTarget, 2,
    6319             : /* 11132*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6320             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6321             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 19
    6322             :                 // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6323             : /* 11142*/    /*Scope*/ 51, /*->11194*/
    6324             : /* 11143*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6325             : /* 11147*/      OPC_MoveChild0,
    6326             : /* 11148*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    6327             : /* 11151*/      OPC_RecordMemRef,
    6328             : /* 11152*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    6329             : /* 11153*/      OPC_CheckFoldableChainNode,
    6330             : /* 11154*/      OPC_MoveChild1,
    6331             : /* 11155*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6332             : /* 11158*/      OPC_RecordChild0, // #1 = $addr
    6333             : /* 11159*/      OPC_RecordChild1, // #2 = $off
    6334             : /* 11160*/      OPC_MoveChild1,
    6335             : /* 11161*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6336             : /* 11164*/      OPC_MoveParent,
    6337             : /* 11165*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6338             : /* 11167*/      OPC_CheckType, MVT::i32,
    6339             : /* 11169*/      OPC_MoveParent,
    6340             : /* 11170*/      OPC_RecordChild2, // #3 = $val
    6341             : /* 11171*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    6342             : /* 11173*/      OPC_MoveParent,
    6343             : /* 11174*/      OPC_CheckType, MVT::i32,
    6344             : /* 11176*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6345             : /* 11178*/      OPC_EmitMergeInputChains1_0,
    6346             : /* 11179*/      OPC_EmitInteger, MVT::i32, 0, 
    6347             : /* 11182*/      OPC_EmitConvertToTarget, 2,
    6348             : /* 11184*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6349             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6350             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6351             :                 // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6352             : /* 11194*/    /*Scope*/ 50, /*->11245*/
    6353             : /* 11195*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6354             : /* 11198*/      OPC_MoveChild0,
    6355             : /* 11199*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    6356             : /* 11202*/      OPC_RecordMemRef,
    6357             : /* 11203*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    6358             : /* 11204*/      OPC_CheckFoldableChainNode,
    6359             : /* 11205*/      OPC_MoveChild1,
    6360             : /* 11206*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6361             : /* 11209*/      OPC_RecordChild0, // #1 = $addr
    6362             : /* 11210*/      OPC_RecordChild1, // #2 = $off
    6363             : /* 11211*/      OPC_MoveChild1,
    6364             : /* 11212*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6365             : /* 11215*/      OPC_MoveParent,
    6366             : /* 11216*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6367             : /* 11218*/      OPC_CheckType, MVT::i32,
    6368             : /* 11220*/      OPC_MoveParent,
    6369             : /* 11221*/      OPC_RecordChild2, // #3 = $val
    6370             : /* 11222*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    6371             : /* 11224*/      OPC_MoveParent,
    6372             : /* 11225*/      OPC_CheckType, MVT::i32,
    6373             : /* 11227*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6374             : /* 11229*/      OPC_EmitMergeInputChains1_0,
    6375             : /* 11230*/      OPC_EmitInteger, MVT::i32, 0, 
    6376             : /* 11233*/      OPC_EmitConvertToTarget, 2,
    6377             : /* 11235*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6378             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6379             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 19
    6380             :                 // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6381             : /* 11245*/    /*Scope*/ 51, /*->11297*/
    6382             : /* 11246*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6383             : /* 11250*/      OPC_MoveChild0,
    6384             : /* 11251*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    6385             : /* 11254*/      OPC_RecordMemRef,
    6386             : /* 11255*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    6387             : /* 11256*/      OPC_CheckFoldableChainNode,
    6388             : /* 11257*/      OPC_MoveChild1,
    6389             : /* 11258*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6390             : /* 11261*/      OPC_RecordChild0, // #1 = $addr
    6391             : /* 11262*/      OPC_RecordChild1, // #2 = $off
    6392             : /* 11263*/      OPC_MoveChild1,
    6393             : /* 11264*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6394             : /* 11267*/      OPC_MoveParent,
    6395             : /* 11268*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6396             : /* 11270*/      OPC_CheckType, MVT::i32,
    6397             : /* 11272*/      OPC_MoveParent,
    6398             : /* 11273*/      OPC_RecordChild2, // #3 = $val
    6399             : /* 11274*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    6400             : /* 11276*/      OPC_MoveParent,
    6401             : /* 11277*/      OPC_CheckType, MVT::i32,
    6402             : /* 11279*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6403             : /* 11281*/      OPC_EmitMergeInputChains1_0,
    6404             : /* 11282*/      OPC_EmitInteger, MVT::i32, 0, 
    6405             : /* 11285*/      OPC_EmitConvertToTarget, 2,
    6406             : /* 11287*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6407             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6408             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6409             :                 // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6410             : /* 11297*/    /*Scope*/ 50, /*->11348*/
    6411             : /* 11298*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6412             : /* 11301*/      OPC_MoveChild0,
    6413             : /* 11302*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    6414             : /* 11305*/      OPC_RecordMemRef,
    6415             : /* 11306*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    6416             : /* 11307*/      OPC_CheckFoldableChainNode,
    6417             : /* 11308*/      OPC_MoveChild1,
    6418             : /* 11309*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6419             : /* 11312*/      OPC_RecordChild0, // #1 = $addr
    6420             : /* 11313*/      OPC_RecordChild1, // #2 = $off
    6421             : /* 11314*/      OPC_MoveChild1,
    6422             : /* 11315*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6423             : /* 11318*/      OPC_MoveParent,
    6424             : /* 11319*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6425             : /* 11321*/      OPC_CheckType, MVT::i32,
    6426             : /* 11323*/      OPC_MoveParent,
    6427             : /* 11324*/      OPC_RecordChild2, // #3 = $val
    6428             : /* 11325*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    6429             : /* 11327*/      OPC_MoveParent,
    6430             : /* 11328*/      OPC_CheckType, MVT::i32,
    6431             : /* 11330*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6432             : /* 11332*/      OPC_EmitMergeInputChains1_0,
    6433             : /* 11333*/      OPC_EmitInteger, MVT::i32, 0, 
    6434             : /* 11336*/      OPC_EmitConvertToTarget, 2,
    6435             : /* 11338*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6436             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6437             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 19
    6438             :                 // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6439             : /* 11348*/    /*Scope*/ 51, /*->11400*/
    6440             : /* 11349*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6441             : /* 11353*/      OPC_MoveChild0,
    6442             : /* 11354*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    6443             : /* 11357*/      OPC_RecordMemRef,
    6444             : /* 11358*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    6445             : /* 11359*/      OPC_CheckFoldableChainNode,
    6446             : /* 11360*/      OPC_MoveChild1,
    6447             : /* 11361*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6448             : /* 11364*/      OPC_RecordChild0, // #1 = $addr
    6449             : /* 11365*/      OPC_RecordChild1, // #2 = $off
    6450             : /* 11366*/      OPC_MoveChild1,
    6451             : /* 11367*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6452             : /* 11370*/      OPC_MoveParent,
    6453             : /* 11371*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6454             : /* 11373*/      OPC_CheckType, MVT::i32,
    6455             : /* 11375*/      OPC_MoveParent,
    6456             : /* 11376*/      OPC_RecordChild2, // #3 = $val
    6457             : /* 11377*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    6458             : /* 11379*/      OPC_MoveParent,
    6459             : /* 11380*/      OPC_CheckType, MVT::i32,
    6460             : /* 11382*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6461             : /* 11384*/      OPC_EmitMergeInputChains1_0,
    6462             : /* 11385*/      OPC_EmitInteger, MVT::i32, 0, 
    6463             : /* 11388*/      OPC_EmitConvertToTarget, 2,
    6464             : /* 11390*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6465             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6466             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6467             :                 // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6468             : /* 11400*/    /*Scope*/ 50, /*->11451*/
    6469             : /* 11401*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6470             : /* 11404*/      OPC_MoveChild0,
    6471             : /* 11405*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    6472             : /* 11408*/      OPC_RecordMemRef,
    6473             : /* 11409*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    6474             : /* 11410*/      OPC_CheckFoldableChainNode,
    6475             : /* 11411*/      OPC_MoveChild1,
    6476             : /* 11412*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6477             : /* 11415*/      OPC_RecordChild0, // #1 = $addr
    6478             : /* 11416*/      OPC_RecordChild1, // #2 = $off
    6479             : /* 11417*/      OPC_MoveChild1,
    6480             : /* 11418*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6481             : /* 11421*/      OPC_MoveParent,
    6482             : /* 11422*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6483             : /* 11424*/      OPC_CheckType, MVT::i32,
    6484             : /* 11426*/      OPC_MoveParent,
    6485             : /* 11427*/      OPC_RecordChild2, // #3 = $val
    6486             : /* 11428*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    6487             : /* 11430*/      OPC_MoveParent,
    6488             : /* 11431*/      OPC_CheckType, MVT::i32,
    6489             : /* 11433*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6490             : /* 11435*/      OPC_EmitMergeInputChains1_0,
    6491             : /* 11436*/      OPC_EmitInteger, MVT::i32, 0, 
    6492             : /* 11439*/      OPC_EmitConvertToTarget, 2,
    6493             : /* 11441*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6494             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6495             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 19
    6496             :                 // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6497             : /* 11451*/    /*Scope*/ 51, /*->11503*/
    6498             : /* 11452*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6499             : /* 11456*/      OPC_MoveChild0,
    6500             : /* 11457*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    6501             : /* 11460*/      OPC_RecordMemRef,
    6502             : /* 11461*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    6503             : /* 11462*/      OPC_CheckFoldableChainNode,
    6504             : /* 11463*/      OPC_MoveChild1,
    6505             : /* 11464*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6506             : /* 11467*/      OPC_RecordChild0, // #1 = $addr
    6507             : /* 11468*/      OPC_RecordChild1, // #2 = $off
    6508             : /* 11469*/      OPC_MoveChild1,
    6509             : /* 11470*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6510             : /* 11473*/      OPC_MoveParent,
    6511             : /* 11474*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6512             : /* 11476*/      OPC_CheckType, MVT::i32,
    6513             : /* 11478*/      OPC_MoveParent,
    6514             : /* 11479*/      OPC_RecordChild2, // #3 = $val
    6515             : /* 11480*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    6516             : /* 11482*/      OPC_MoveParent,
    6517             : /* 11483*/      OPC_CheckType, MVT::i32,
    6518             : /* 11485*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6519             : /* 11487*/      OPC_EmitMergeInputChains1_0,
    6520             : /* 11488*/      OPC_EmitInteger, MVT::i32, 0, 
    6521             : /* 11491*/      OPC_EmitConvertToTarget, 2,
    6522             : /* 11493*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6523             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6524             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6525             :                 // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6526             : /* 11503*/    /*Scope*/ 50, /*->11554*/
    6527             : /* 11504*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6528             : /* 11507*/      OPC_MoveChild0,
    6529             : /* 11508*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    6530             : /* 11511*/      OPC_RecordMemRef,
    6531             : /* 11512*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    6532             : /* 11513*/      OPC_CheckFoldableChainNode,
    6533             : /* 11514*/      OPC_MoveChild1,
    6534             : /* 11515*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6535             : /* 11518*/      OPC_RecordChild0, // #1 = $addr
    6536             : /* 11519*/      OPC_RecordChild1, // #2 = $off
    6537             : /* 11520*/      OPC_MoveChild1,
    6538             : /* 11521*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6539             : /* 11524*/      OPC_MoveParent,
    6540             : /* 11525*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6541             : /* 11527*/      OPC_CheckType, MVT::i32,
    6542             : /* 11529*/      OPC_MoveParent,
    6543             : /* 11530*/      OPC_RecordChild2, // #3 = $val
    6544             : /* 11531*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    6545             : /* 11533*/      OPC_MoveParent,
    6546             : /* 11534*/      OPC_CheckType, MVT::i32,
    6547             : /* 11536*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6548             : /* 11538*/      OPC_EmitMergeInputChains1_0,
    6549             : /* 11539*/      OPC_EmitInteger, MVT::i32, 0, 
    6550             : /* 11542*/      OPC_EmitConvertToTarget, 2,
    6551             : /* 11544*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6552             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6553             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 19
    6554             :                 // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6555             : /* 11554*/    /*Scope*/ 51, /*->11606*/
    6556             : /* 11555*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6557             : /* 11559*/      OPC_MoveChild0,
    6558             : /* 11560*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    6559             : /* 11563*/      OPC_RecordMemRef,
    6560             : /* 11564*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    6561             : /* 11565*/      OPC_CheckFoldableChainNode,
    6562             : /* 11566*/      OPC_MoveChild1,
    6563             : /* 11567*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6564             : /* 11570*/      OPC_RecordChild0, // #1 = $addr
    6565             : /* 11571*/      OPC_RecordChild1, // #2 = $off
    6566             : /* 11572*/      OPC_MoveChild1,
    6567             : /* 11573*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6568             : /* 11576*/      OPC_MoveParent,
    6569             : /* 11577*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6570             : /* 11579*/      OPC_CheckType, MVT::i32,
    6571             : /* 11581*/      OPC_MoveParent,
    6572             : /* 11582*/      OPC_RecordChild2, // #3 = $val
    6573             : /* 11583*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    6574             : /* 11585*/      OPC_MoveParent,
    6575             : /* 11586*/      OPC_CheckType, MVT::i32,
    6576             : /* 11588*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6577             : /* 11590*/      OPC_EmitMergeInputChains1_0,
    6578             : /* 11591*/      OPC_EmitInteger, MVT::i32, 0, 
    6579             : /* 11594*/      OPC_EmitConvertToTarget, 2,
    6580             : /* 11596*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6581             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6582             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6583             :                 // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6584             : /* 11606*/    /*Scope*/ 50, /*->11657*/
    6585             : /* 11607*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6586             : /* 11610*/      OPC_MoveChild0,
    6587             : /* 11611*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    6588             : /* 11614*/      OPC_RecordMemRef,
    6589             : /* 11615*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    6590             : /* 11616*/      OPC_CheckFoldableChainNode,
    6591             : /* 11617*/      OPC_MoveChild1,
    6592             : /* 11618*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6593             : /* 11621*/      OPC_RecordChild0, // #1 = $addr
    6594             : /* 11622*/      OPC_RecordChild1, // #2 = $off
    6595             : /* 11623*/      OPC_MoveChild1,
    6596             : /* 11624*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6597             : /* 11627*/      OPC_MoveParent,
    6598             : /* 11628*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6599             : /* 11630*/      OPC_CheckType, MVT::i32,
    6600             : /* 11632*/      OPC_MoveParent,
    6601             : /* 11633*/      OPC_RecordChild2, // #3 = $val
    6602             : /* 11634*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    6603             : /* 11636*/      OPC_MoveParent,
    6604             : /* 11637*/      OPC_CheckType, MVT::i32,
    6605             : /* 11639*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6606             : /* 11641*/      OPC_EmitMergeInputChains1_0,
    6607             : /* 11642*/      OPC_EmitInteger, MVT::i32, 0, 
    6608             : /* 11645*/      OPC_EmitConvertToTarget, 2,
    6609             : /* 11647*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6610             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6611             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 19
    6612             :                 // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6613             : /* 11657*/    /*Scope*/ 51, /*->11709*/
    6614             : /* 11658*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6615             : /* 11662*/      OPC_MoveChild0,
    6616             : /* 11663*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    6617             : /* 11666*/      OPC_RecordMemRef,
    6618             : /* 11667*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    6619             : /* 11668*/      OPC_CheckFoldableChainNode,
    6620             : /* 11669*/      OPC_MoveChild1,
    6621             : /* 11670*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6622             : /* 11673*/      OPC_RecordChild0, // #1 = $addr
    6623             : /* 11674*/      OPC_RecordChild1, // #2 = $off
    6624             : /* 11675*/      OPC_MoveChild1,
    6625             : /* 11676*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6626             : /* 11679*/      OPC_MoveParent,
    6627             : /* 11680*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6628             : /* 11682*/      OPC_CheckType, MVT::i32,
    6629             : /* 11684*/      OPC_MoveParent,
    6630             : /* 11685*/      OPC_RecordChild2, // #3 = $val
    6631             : /* 11686*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    6632             : /* 11688*/      OPC_MoveParent,
    6633             : /* 11689*/      OPC_CheckType, MVT::i32,
    6634             : /* 11691*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6635             : /* 11693*/      OPC_EmitMergeInputChains1_0,
    6636             : /* 11694*/      OPC_EmitInteger, MVT::i32, 0, 
    6637             : /* 11697*/      OPC_EmitConvertToTarget, 2,
    6638             : /* 11699*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6639             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6640             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6641             :                 // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6642             : /* 11709*/    /*Scope*/ 50, /*->11760*/
    6643             : /* 11710*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6644             : /* 11713*/      OPC_MoveChild0,
    6645             : /* 11714*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    6646             : /* 11717*/      OPC_RecordMemRef,
    6647             : /* 11718*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    6648             : /* 11719*/      OPC_CheckFoldableChainNode,
    6649             : /* 11720*/      OPC_MoveChild1,
    6650             : /* 11721*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6651             : /* 11724*/      OPC_RecordChild0, // #1 = $addr
    6652             : /* 11725*/      OPC_RecordChild1, // #2 = $off
    6653             : /* 11726*/      OPC_MoveChild1,
    6654             : /* 11727*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6655             : /* 11730*/      OPC_MoveParent,
    6656             : /* 11731*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6657             : /* 11733*/      OPC_CheckType, MVT::i32,
    6658             : /* 11735*/      OPC_MoveParent,
    6659             : /* 11736*/      OPC_RecordChild2, // #3 = $val
    6660             : /* 11737*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    6661             : /* 11739*/      OPC_MoveParent,
    6662             : /* 11740*/      OPC_CheckType, MVT::i32,
    6663             : /* 11742*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6664             : /* 11744*/      OPC_EmitMergeInputChains1_0,
    6665             : /* 11745*/      OPC_EmitInteger, MVT::i32, 0, 
    6666             : /* 11748*/      OPC_EmitConvertToTarget, 2,
    6667             : /* 11750*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6668             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6669             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 19
    6670             :                 // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6671             : /* 11760*/    /*Scope*/ 51, /*->11812*/
    6672             : /* 11761*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6673             : /* 11765*/      OPC_MoveChild0,
    6674             : /* 11766*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    6675             : /* 11769*/      OPC_RecordMemRef,
    6676             : /* 11770*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    6677             : /* 11771*/      OPC_CheckFoldableChainNode,
    6678             : /* 11772*/      OPC_MoveChild1,
    6679             : /* 11773*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6680             : /* 11776*/      OPC_RecordChild0, // #1 = $addr
    6681             : /* 11777*/      OPC_RecordChild1, // #2 = $off
    6682             : /* 11778*/      OPC_MoveChild1,
    6683             : /* 11779*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6684             : /* 11782*/      OPC_MoveParent,
    6685             : /* 11783*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6686             : /* 11785*/      OPC_CheckType, MVT::i32,
    6687             : /* 11787*/      OPC_MoveParent,
    6688             : /* 11788*/      OPC_RecordChild2, // #3 = $val
    6689             : /* 11789*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    6690             : /* 11791*/      OPC_MoveParent,
    6691             : /* 11792*/      OPC_CheckType, MVT::i32,
    6692             : /* 11794*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6693             : /* 11796*/      OPC_EmitMergeInputChains1_0,
    6694             : /* 11797*/      OPC_EmitInteger, MVT::i32, 0, 
    6695             : /* 11800*/      OPC_EmitConvertToTarget, 2,
    6696             : /* 11802*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6697             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6698             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6699             :                 // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6700             : /* 11812*/    /*Scope*/ 50, /*->11863*/
    6701             : /* 11813*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6702             : /* 11816*/      OPC_MoveChild0,
    6703             : /* 11817*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    6704             : /* 11820*/      OPC_RecordMemRef,
    6705             : /* 11821*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    6706             : /* 11822*/      OPC_CheckFoldableChainNode,
    6707             : /* 11823*/      OPC_MoveChild1,
    6708             : /* 11824*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6709             : /* 11827*/      OPC_RecordChild0, // #1 = $addr
    6710             : /* 11828*/      OPC_RecordChild1, // #2 = $off
    6711             : /* 11829*/      OPC_MoveChild1,
    6712             : /* 11830*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6713             : /* 11833*/      OPC_MoveParent,
    6714             : /* 11834*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6715             : /* 11836*/      OPC_CheckType, MVT::i32,
    6716             : /* 11838*/      OPC_MoveParent,
    6717             : /* 11839*/      OPC_RecordChild2, // #3 = $val
    6718             : /* 11840*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    6719             : /* 11842*/      OPC_MoveParent,
    6720             : /* 11843*/      OPC_CheckType, MVT::i32,
    6721             : /* 11845*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6722             : /* 11847*/      OPC_EmitMergeInputChains1_0,
    6723             : /* 11848*/      OPC_EmitInteger, MVT::i32, 0, 
    6724             : /* 11851*/      OPC_EmitConvertToTarget, 2,
    6725             : /* 11853*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6726             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6727             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 19
    6728             :                 // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6729             : /* 11863*/    /*Scope*/ 51, /*->11915*/
    6730             : /* 11864*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6731             : /* 11868*/      OPC_MoveChild0,
    6732             : /* 11869*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    6733             : /* 11872*/      OPC_RecordMemRef,
    6734             : /* 11873*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    6735             : /* 11874*/      OPC_CheckFoldableChainNode,
    6736             : /* 11875*/      OPC_MoveChild1,
    6737             : /* 11876*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6738             : /* 11879*/      OPC_RecordChild0, // #1 = $addr
    6739             : /* 11880*/      OPC_RecordChild1, // #2 = $off
    6740             : /* 11881*/      OPC_MoveChild1,
    6741             : /* 11882*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6742             : /* 11885*/      OPC_MoveParent,
    6743             : /* 11886*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6744             : /* 11888*/      OPC_CheckType, MVT::i32,
    6745             : /* 11890*/      OPC_MoveParent,
    6746             : /* 11891*/      OPC_RecordChild2, // #3 = $val
    6747             : /* 11892*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    6748             : /* 11894*/      OPC_MoveParent,
    6749             : /* 11895*/      OPC_CheckType, MVT::i32,
    6750             : /* 11897*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6751             : /* 11899*/      OPC_EmitMergeInputChains1_0,
    6752             : /* 11900*/      OPC_EmitInteger, MVT::i32, 0, 
    6753             : /* 11903*/      OPC_EmitConvertToTarget, 2,
    6754             : /* 11905*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6755             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6756             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6757             :                 // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6758             : /* 11915*/    /*Scope*/ 50, /*->11966*/
    6759             : /* 11916*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6760             : /* 11919*/      OPC_MoveChild0,
    6761             : /* 11920*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    6762             : /* 11923*/      OPC_RecordMemRef,
    6763             : /* 11924*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    6764             : /* 11925*/      OPC_CheckFoldableChainNode,
    6765             : /* 11926*/      OPC_MoveChild1,
    6766             : /* 11927*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6767             : /* 11930*/      OPC_RecordChild0, // #1 = $addr
    6768             : /* 11931*/      OPC_RecordChild1, // #2 = $off
    6769             : /* 11932*/      OPC_MoveChild1,
    6770             : /* 11933*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6771             : /* 11936*/      OPC_MoveParent,
    6772             : /* 11937*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6773             : /* 11939*/      OPC_CheckType, MVT::i32,
    6774             : /* 11941*/      OPC_MoveParent,
    6775             : /* 11942*/      OPC_RecordChild2, // #3 = $val
    6776             : /* 11943*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    6777             : /* 11945*/      OPC_MoveParent,
    6778             : /* 11946*/      OPC_CheckType, MVT::i32,
    6779             : /* 11948*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6780             : /* 11950*/      OPC_EmitMergeInputChains1_0,
    6781             : /* 11951*/      OPC_EmitInteger, MVT::i32, 0, 
    6782             : /* 11954*/      OPC_EmitConvertToTarget, 2,
    6783             : /* 11956*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6784             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6785             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 19
    6786             :                 // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6787             : /* 11966*/    /*Scope*/ 51, /*->12018*/
    6788             : /* 11967*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6789             : /* 11971*/      OPC_MoveChild0,
    6790             : /* 11972*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    6791             : /* 11975*/      OPC_RecordMemRef,
    6792             : /* 11976*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    6793             : /* 11977*/      OPC_CheckFoldableChainNode,
    6794             : /* 11978*/      OPC_MoveChild1,
    6795             : /* 11979*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6796             : /* 11982*/      OPC_RecordChild0, // #1 = $addr
    6797             : /* 11983*/      OPC_RecordChild1, // #2 = $off
    6798             : /* 11984*/      OPC_MoveChild1,
    6799             : /* 11985*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6800             : /* 11988*/      OPC_MoveParent,
    6801             : /* 11989*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6802             : /* 11991*/      OPC_CheckType, MVT::i32,
    6803             : /* 11993*/      OPC_MoveParent,
    6804             : /* 11994*/      OPC_RecordChild2, // #3 = $val
    6805             : /* 11995*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    6806             : /* 11997*/      OPC_MoveParent,
    6807             : /* 11998*/      OPC_CheckType, MVT::i32,
    6808             : /* 12000*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6809             : /* 12002*/      OPC_EmitMergeInputChains1_0,
    6810             : /* 12003*/      OPC_EmitInteger, MVT::i32, 0, 
    6811             : /* 12006*/      OPC_EmitConvertToTarget, 2,
    6812             : /* 12008*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6813             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6814             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6815             :                 // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6816             : /* 12018*/    /*Scope*/ 50, /*->12069*/
    6817             : /* 12019*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6818             : /* 12022*/      OPC_MoveChild0,
    6819             : /* 12023*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    6820             : /* 12026*/      OPC_RecordMemRef,
    6821             : /* 12027*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    6822             : /* 12028*/      OPC_CheckFoldableChainNode,
    6823             : /* 12029*/      OPC_MoveChild1,
    6824             : /* 12030*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6825             : /* 12033*/      OPC_RecordChild0, // #1 = $addr
    6826             : /* 12034*/      OPC_RecordChild1, // #2 = $off
    6827             : /* 12035*/      OPC_MoveChild1,
    6828             : /* 12036*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6829             : /* 12039*/      OPC_MoveParent,
    6830             : /* 12040*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6831             : /* 12042*/      OPC_CheckType, MVT::i32,
    6832             : /* 12044*/      OPC_MoveParent,
    6833             : /* 12045*/      OPC_RecordChild2, // #3 = $val
    6834             : /* 12046*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    6835             : /* 12048*/      OPC_MoveParent,
    6836             : /* 12049*/      OPC_CheckType, MVT::i32,
    6837             : /* 12051*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6838             : /* 12053*/      OPC_EmitMergeInputChains1_0,
    6839             : /* 12054*/      OPC_EmitInteger, MVT::i32, 0, 
    6840             : /* 12057*/      OPC_EmitConvertToTarget, 2,
    6841             : /* 12059*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6842             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6843             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 19
    6844             :                 // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6845             : /* 12069*/    /*Scope*/ 51, /*->12121*/
    6846             : /* 12070*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6847             : /* 12074*/      OPC_MoveChild0,
    6848             : /* 12075*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    6849             : /* 12078*/      OPC_RecordMemRef,
    6850             : /* 12079*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    6851             : /* 12080*/      OPC_CheckFoldableChainNode,
    6852             : /* 12081*/      OPC_MoveChild1,
    6853             : /* 12082*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6854             : /* 12085*/      OPC_RecordChild0, // #1 = $addr
    6855             : /* 12086*/      OPC_RecordChild1, // #2 = $off
    6856             : /* 12087*/      OPC_MoveChild1,
    6857             : /* 12088*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6858             : /* 12091*/      OPC_MoveParent,
    6859             : /* 12092*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6860             : /* 12094*/      OPC_CheckType, MVT::i32,
    6861             : /* 12096*/      OPC_MoveParent,
    6862             : /* 12097*/      OPC_RecordChild2, // #3 = $val
    6863             : /* 12098*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    6864             : /* 12100*/      OPC_MoveParent,
    6865             : /* 12101*/      OPC_CheckType, MVT::i32,
    6866             : /* 12103*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6867             : /* 12105*/      OPC_EmitMergeInputChains1_0,
    6868             : /* 12106*/      OPC_EmitInteger, MVT::i32, 0, 
    6869             : /* 12109*/      OPC_EmitConvertToTarget, 2,
    6870             : /* 12111*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6871             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6872             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6873             :                 // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6874             : /* 12121*/    /*Scope*/ 50, /*->12172*/
    6875             : /* 12122*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6876             : /* 12125*/      OPC_MoveChild0,
    6877             : /* 12126*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    6878             : /* 12129*/      OPC_RecordMemRef,
    6879             : /* 12130*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    6880             : /* 12131*/      OPC_CheckFoldableChainNode,
    6881             : /* 12132*/      OPC_MoveChild1,
    6882             : /* 12133*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6883             : /* 12136*/      OPC_RecordChild0, // #1 = $addr
    6884             : /* 12137*/      OPC_RecordChild1, // #2 = $off
    6885             : /* 12138*/      OPC_MoveChild1,
    6886             : /* 12139*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6887             : /* 12142*/      OPC_MoveParent,
    6888             : /* 12143*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6889             : /* 12145*/      OPC_CheckType, MVT::i32,
    6890             : /* 12147*/      OPC_MoveParent,
    6891             : /* 12148*/      OPC_RecordChild2, // #3 = $val
    6892             : /* 12149*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    6893             : /* 12151*/      OPC_MoveParent,
    6894             : /* 12152*/      OPC_CheckType, MVT::i32,
    6895             : /* 12154*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6896             : /* 12156*/      OPC_EmitMergeInputChains1_0,
    6897             : /* 12157*/      OPC_EmitInteger, MVT::i32, 0, 
    6898             : /* 12160*/      OPC_EmitConvertToTarget, 2,
    6899             : /* 12162*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6900             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6901             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
    6902             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6903             : /* 12172*/    /*Scope*/ 51, /*->12224*/
    6904             : /* 12173*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6905             : /* 12177*/      OPC_MoveChild0,
    6906             : /* 12178*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    6907             : /* 12181*/      OPC_RecordMemRef,
    6908             : /* 12182*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    6909             : /* 12183*/      OPC_CheckFoldableChainNode,
    6910             : /* 12184*/      OPC_MoveChild1,
    6911             : /* 12185*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6912             : /* 12188*/      OPC_RecordChild0, // #1 = $addr
    6913             : /* 12189*/      OPC_RecordChild1, // #2 = $off
    6914             : /* 12190*/      OPC_MoveChild1,
    6915             : /* 12191*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6916             : /* 12194*/      OPC_MoveParent,
    6917             : /* 12195*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    6918             : /* 12197*/      OPC_CheckType, MVT::i32,
    6919             : /* 12199*/      OPC_MoveParent,
    6920             : /* 12200*/      OPC_RecordChild2, // #3 = $val
    6921             : /* 12201*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    6922             : /* 12203*/      OPC_MoveParent,
    6923             : /* 12204*/      OPC_CheckType, MVT::i32,
    6924             : /* 12206*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6925             : /* 12208*/      OPC_EmitMergeInputChains1_0,
    6926             : /* 12209*/      OPC_EmitInteger, MVT::i32, 0, 
    6927             : /* 12212*/      OPC_EmitConvertToTarget, 2,
    6928             : /* 12214*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6929             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6930             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6931             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6932             : /* 12224*/    /*Scope*/ 50, /*->12275*/
    6933             : /* 12225*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6934             : /* 12228*/      OPC_MoveChild0,
    6935             : /* 12229*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    6936             : /* 12232*/      OPC_RecordMemRef,
    6937             : /* 12233*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    6938             : /* 12234*/      OPC_CheckFoldableChainNode,
    6939             : /* 12235*/      OPC_MoveChild1,
    6940             : /* 12236*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6941             : /* 12239*/      OPC_RecordChild0, // #1 = $addr
    6942             : /* 12240*/      OPC_RecordChild1, // #2 = $off
    6943             : /* 12241*/      OPC_MoveChild1,
    6944             : /* 12242*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6945             : /* 12245*/      OPC_MoveParent,
    6946             : /* 12246*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6947             : /* 12248*/      OPC_CheckType, MVT::i32,
    6948             : /* 12250*/      OPC_MoveParent,
    6949             : /* 12251*/      OPC_RecordChild2, // #3 = $val
    6950             : /* 12252*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    6951             : /* 12254*/      OPC_MoveParent,
    6952             : /* 12255*/      OPC_CheckType, MVT::i32,
    6953             : /* 12257*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6954             : /* 12259*/      OPC_EmitMergeInputChains1_0,
    6955             : /* 12260*/      OPC_EmitInteger, MVT::i32, 0, 
    6956             : /* 12263*/      OPC_EmitConvertToTarget, 2,
    6957             : /* 12265*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6958             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6959             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
    6960             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6961             : /* 12275*/    /*Scope*/ 51, /*->12327*/
    6962             : /* 12276*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    6963             : /* 12280*/      OPC_MoveChild0,
    6964             : /* 12281*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    6965             : /* 12284*/      OPC_RecordMemRef,
    6966             : /* 12285*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    6967             : /* 12286*/      OPC_CheckFoldableChainNode,
    6968             : /* 12287*/      OPC_MoveChild1,
    6969             : /* 12288*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    6970             : /* 12291*/      OPC_RecordChild0, // #1 = $addr
    6971             : /* 12292*/      OPC_RecordChild1, // #2 = $off
    6972             : /* 12293*/      OPC_MoveChild1,
    6973             : /* 12294*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6974             : /* 12297*/      OPC_MoveParent,
    6975             : /* 12298*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    6976             : /* 12300*/      OPC_CheckType, MVT::i32,
    6977             : /* 12302*/      OPC_MoveParent,
    6978             : /* 12303*/      OPC_RecordChild2, // #3 = $val
    6979             : /* 12304*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    6980             : /* 12306*/      OPC_MoveParent,
    6981             : /* 12307*/      OPC_CheckType, MVT::i32,
    6982             : /* 12309*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    6983             : /* 12311*/      OPC_EmitMergeInputChains1_0,
    6984             : /* 12312*/      OPC_EmitInteger, MVT::i32, 0, 
    6985             : /* 12315*/      OPC_EmitConvertToTarget, 2,
    6986             : /* 12317*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    6987             :                     MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
    6988             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
    6989             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    6990             : /* 12327*/    /*Scope*/ 52, /*->12380*/
    6991             : /* 12328*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    6992             : /* 12331*/      OPC_MoveChild0,
    6993             : /* 12332*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    6994             : /* 12335*/      OPC_RecordMemRef,
    6995             : /* 12336*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    6996             : /* 12337*/      OPC_CheckFoldableChainNode,
    6997             : /* 12338*/      OPC_MoveChild1,
    6998             : /* 12339*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    6999             : /* 12342*/      OPC_RecordChild0, // #1 = $addr
    7000             : /* 12343*/      OPC_RecordChild1, // #2 = $off
    7001             : /* 12344*/      OPC_MoveChild1,
    7002             : /* 12345*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7003             : /* 12348*/      OPC_MoveParent,
    7004             : /* 12349*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    7005             : /* 12351*/      OPC_CheckType, MVT::i32,
    7006             : /* 12353*/      OPC_MoveParent,
    7007             : /* 12354*/      OPC_RecordChild2, // #3 = $exp
    7008             : /* 12355*/      OPC_RecordChild3, // #4 = $new
    7009             : /* 12356*/      OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    7010             : /* 12358*/      OPC_MoveParent,
    7011             : /* 12359*/      OPC_CheckType, MVT::i32,
    7012             : /* 12361*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7013             : /* 12363*/      OPC_EmitMergeInputChains1_0,
    7014             : /* 12364*/      OPC_EmitInteger, MVT::i32, 0, 
    7015             : /* 12367*/      OPC_EmitConvertToTarget, 2,
    7016             : /* 12369*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7017             :                     MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
    7018             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
    7019             :                 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    7020             : /* 12380*/    /*Scope*/ 53, /*->12434*/
    7021             : /* 12381*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7022             : /* 12385*/      OPC_MoveChild0,
    7023             : /* 12386*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    7024             : /* 12389*/      OPC_RecordMemRef,
    7025             : /* 12390*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    7026             : /* 12391*/      OPC_CheckFoldableChainNode,
    7027             : /* 12392*/      OPC_MoveChild1,
    7028             : /* 12393*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
    7029             : /* 12396*/      OPC_RecordChild0, // #1 = $addr
    7030             : /* 12397*/      OPC_RecordChild1, // #2 = $off
    7031             : /* 12398*/      OPC_MoveChild1,
    7032             : /* 12399*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7033             : /* 12402*/      OPC_MoveParent,
    7034             : /* 12403*/      OPC_CheckPredicate, 3, // Predicate_regPlusImm
    7035             : /* 12405*/      OPC_CheckType, MVT::i32,
    7036             : /* 12407*/      OPC_MoveParent,
    7037             : /* 12408*/      OPC_RecordChild2, // #3 = $exp
    7038             : /* 12409*/      OPC_RecordChild3, // #4 = $new
    7039             : /* 12410*/      OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    7040             : /* 12412*/      OPC_MoveParent,
    7041             : /* 12413*/      OPC_CheckType, MVT::i32,
    7042             : /* 12415*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7043             : /* 12417*/      OPC_EmitMergeInputChains1_0,
    7044             : /* 12418*/      OPC_EmitInteger, MVT::i32, 0, 
    7045             : /* 12421*/      OPC_EmitConvertToTarget, 2,
    7046             : /* 12423*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7047             :                     MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
    7048             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
    7049             :                 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    7050             : /* 12434*/    /*Scope*/ 52, /*->12487*/
    7051             : /* 12435*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7052             : /* 12438*/      OPC_MoveChild0,
    7053             : /* 12439*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    7054             : /* 12442*/      OPC_RecordMemRef,
    7055             : /* 12443*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    7056             : /* 12444*/      OPC_CheckFoldableChainNode,
    7057             : /* 12445*/      OPC_MoveChild1,
    7058             : /* 12446*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    7059             : /* 12449*/      OPC_RecordChild0, // #1 = $addr
    7060             : /* 12450*/      OPC_RecordChild1, // #2 = $off
    7061             : /* 12451*/      OPC_MoveChild1,
    7062             : /* 12452*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7063             : /* 12455*/      OPC_MoveParent,
    7064             : /* 12456*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    7065             : /* 12458*/      OPC_CheckType, MVT::i32,
    7066             : /* 12460*/      OPC_MoveParent,
    7067             : /* 12461*/      OPC_RecordChild2, // #3 = $exp
    7068             : /* 12462*/      OPC_RecordChild3, // #4 = $new
    7069             : /* 12463*/      OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    7070             : /* 12465*/      OPC_MoveParent,
    7071             : /* 12466*/      OPC_CheckType, MVT::i32,
    7072             : /* 12468*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7073             : /* 12470*/      OPC_EmitMergeInputChains1_0,
    7074             : /* 12471*/      OPC_EmitInteger, MVT::i32, 0, 
    7075             : /* 12474*/      OPC_EmitConvertToTarget, 2,
    7076             : /* 12476*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7077             :                     MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
    7078             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 19
    7079             :                 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    7080             : /* 12487*/    /*Scope*/ 53, /*->12541*/
    7081             : /* 12488*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7082             : /* 12492*/      OPC_MoveChild0,
    7083             : /* 12493*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    7084             : /* 12496*/      OPC_RecordMemRef,
    7085             : /* 12497*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    7086             : /* 12498*/      OPC_CheckFoldableChainNode,
    7087             : /* 12499*/      OPC_MoveChild1,
    7088             : /* 12500*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    7089             : /* 12503*/      OPC_RecordChild0, // #1 = $addr
    7090             : /* 12504*/      OPC_RecordChild1, // #2 = $off
    7091             : /* 12505*/      OPC_MoveChild1,
    7092             : /* 12506*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7093             : /* 12509*/      OPC_MoveParent,
    7094             : /* 12510*/      OPC_CheckPredicate, 4, // Predicate_or_is_add
    7095             : /* 12512*/      OPC_CheckType, MVT::i32,
    7096             : /* 12514*/      OPC_MoveParent,
    7097             : /* 12515*/      OPC_RecordChild2, // #3 = $exp
    7098             : /* 12516*/      OPC_RecordChild3, // #4 = $new
    7099             : /* 12517*/      OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    7100             : /* 12519*/      OPC_MoveParent,
    7101             : /* 12520*/      OPC_CheckType, MVT::i32,
    7102             : /* 12522*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7103             : /* 12524*/      OPC_EmitMergeInputChains1_0,
    7104             : /* 12525*/      OPC_EmitInteger, MVT::i32, 0, 
    7105             : /* 12528*/      OPC_EmitConvertToTarget, 2,
    7106             : /* 12530*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7107             :                     MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
    7108             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 19
    7109             :                 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    7110             : /* 12541*/    /*Scope*/ 46, /*->12588*/
    7111             : /* 12542*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7112             : /* 12545*/      OPC_MoveChild0,
    7113             : /* 12546*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7114             : /* 12549*/      OPC_MoveChild0,
    7115             : /* 12550*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    7116             : /* 12553*/      OPC_RecordMemRef,
    7117             : /* 12554*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    7118             : /* 12555*/      OPC_CheckFoldableChainNode,
    7119             : /* 12556*/      OPC_RecordChild1, // #1 = $addr
    7120             : /* 12557*/      OPC_CheckChild1Type, MVT::i32,
    7121             : /* 12559*/      OPC_MoveChild2,
    7122             : /* 12560*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7123             : /* 12563*/      OPC_RecordChild0, // #2 = $val
    7124             : /* 12564*/      OPC_MoveParent,
    7125             : /* 12565*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    7126             : /* 12567*/      OPC_MoveParent,
    7127             : /* 12568*/      OPC_MoveParent,
    7128             : /* 12569*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7129             : /* 12571*/      OPC_EmitMergeInputChains1_0,
    7130             : /* 12572*/      OPC_EmitInteger, MVT::i32, 0, 
    7131             : /* 12575*/      OPC_EmitInteger, MVT::i32, 0, 
    7132             : /* 12578*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7133             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7134             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>), 255:{ *:[i64] }) - Complexity = 18
    7135             :                 // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7136             : /* 12588*/    /*Scope*/ 47, /*->12636*/
    7137             : /* 12589*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7138             : /* 12593*/      OPC_MoveChild0,
    7139             : /* 12594*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7140             : /* 12597*/      OPC_MoveChild0,
    7141             : /* 12598*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    7142             : /* 12601*/      OPC_RecordMemRef,
    7143             : /* 12602*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    7144             : /* 12603*/      OPC_CheckFoldableChainNode,
    7145             : /* 12604*/      OPC_RecordChild1, // #1 = $addr
    7146             : /* 12605*/      OPC_CheckChild1Type, MVT::i32,
    7147             : /* 12607*/      OPC_MoveChild2,
    7148             : /* 12608*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7149             : /* 12611*/      OPC_RecordChild0, // #2 = $val
    7150             : /* 12612*/      OPC_MoveParent,
    7151             : /* 12613*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    7152             : /* 12615*/      OPC_MoveParent,
    7153             : /* 12616*/      OPC_MoveParent,
    7154             : /* 12617*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7155             : /* 12619*/      OPC_EmitMergeInputChains1_0,
    7156             : /* 12620*/      OPC_EmitInteger, MVT::i32, 0, 
    7157             : /* 12623*/      OPC_EmitInteger, MVT::i32, 0, 
    7158             : /* 12626*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7159             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7160             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>), 65535:{ *:[i64] }) - Complexity = 18
    7161             :                 // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7162             : /* 12636*/    /*Scope*/ 46, /*->12683*/
    7163             : /* 12637*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7164             : /* 12640*/      OPC_MoveChild0,
    7165             : /* 12641*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7166             : /* 12644*/      OPC_MoveChild0,
    7167             : /* 12645*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    7168             : /* 12648*/      OPC_RecordMemRef,
    7169             : /* 12649*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    7170             : /* 12650*/      OPC_CheckFoldableChainNode,
    7171             : /* 12651*/      OPC_RecordChild1, // #1 = $addr
    7172             : /* 12652*/      OPC_CheckChild1Type, MVT::i32,
    7173             : /* 12654*/      OPC_MoveChild2,
    7174             : /* 12655*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7175             : /* 12658*/      OPC_RecordChild0, // #2 = $val
    7176             : /* 12659*/      OPC_MoveParent,
    7177             : /* 12660*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    7178             : /* 12662*/      OPC_MoveParent,
    7179             : /* 12663*/      OPC_MoveParent,
    7180             : /* 12664*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7181             : /* 12666*/      OPC_EmitMergeInputChains1_0,
    7182             : /* 12667*/      OPC_EmitInteger, MVT::i32, 0, 
    7183             : /* 12670*/      OPC_EmitInteger, MVT::i32, 0, 
    7184             : /* 12673*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7185             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7186             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>), 255:{ *:[i64] }) - Complexity = 18
    7187             :                 // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7188             : /* 12683*/    /*Scope*/ 47, /*->12731*/
    7189             : /* 12684*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7190             : /* 12688*/      OPC_MoveChild0,
    7191             : /* 12689*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7192             : /* 12692*/      OPC_MoveChild0,
    7193             : /* 12693*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    7194             : /* 12696*/      OPC_RecordMemRef,
    7195             : /* 12697*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    7196             : /* 12698*/      OPC_CheckFoldableChainNode,
    7197             : /* 12699*/      OPC_RecordChild1, // #1 = $addr
    7198             : /* 12700*/      OPC_CheckChild1Type, MVT::i32,
    7199             : /* 12702*/      OPC_MoveChild2,
    7200             : /* 12703*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7201             : /* 12706*/      OPC_RecordChild0, // #2 = $val
    7202             : /* 12707*/      OPC_MoveParent,
    7203             : /* 12708*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    7204             : /* 12710*/      OPC_MoveParent,
    7205             : /* 12711*/      OPC_MoveParent,
    7206             : /* 12712*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7207             : /* 12714*/      OPC_EmitMergeInputChains1_0,
    7208             : /* 12715*/      OPC_EmitInteger, MVT::i32, 0, 
    7209             : /* 12718*/      OPC_EmitInteger, MVT::i32, 0, 
    7210             : /* 12721*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7211             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7212             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>), 65535:{ *:[i64] }) - Complexity = 18
    7213             :                 // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7214             : /* 12731*/    /*Scope*/ 46, /*->12778*/
    7215             : /* 12732*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7216             : /* 12735*/      OPC_MoveChild0,
    7217             : /* 12736*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7218             : /* 12739*/      OPC_MoveChild0,
    7219             : /* 12740*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    7220             : /* 12743*/      OPC_RecordMemRef,
    7221             : /* 12744*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    7222             : /* 12745*/      OPC_CheckFoldableChainNode,
    7223             : /* 12746*/      OPC_RecordChild1, // #1 = $addr
    7224             : /* 12747*/      OPC_CheckChild1Type, MVT::i32,
    7225             : /* 12749*/      OPC_MoveChild2,
    7226             : /* 12750*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7227             : /* 12753*/      OPC_RecordChild0, // #2 = $val
    7228             : /* 12754*/      OPC_MoveParent,
    7229             : /* 12755*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    7230             : /* 12757*/      OPC_MoveParent,
    7231             : /* 12758*/      OPC_MoveParent,
    7232             : /* 12759*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7233             : /* 12761*/      OPC_EmitMergeInputChains1_0,
    7234             : /* 12762*/      OPC_EmitInteger, MVT::i32, 0, 
    7235             : /* 12765*/      OPC_EmitInteger, MVT::i32, 0, 
    7236             : /* 12768*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7237             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7238             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>), 255:{ *:[i64] }) - Complexity = 18
    7239             :                 // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7240             : /* 12778*/    /*Scope*/ 47, /*->12826*/
    7241             : /* 12779*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7242             : /* 12783*/      OPC_MoveChild0,
    7243             : /* 12784*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7244             : /* 12787*/      OPC_MoveChild0,
    7245             : /* 12788*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    7246             : /* 12791*/      OPC_RecordMemRef,
    7247             : /* 12792*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    7248             : /* 12793*/      OPC_CheckFoldableChainNode,
    7249             : /* 12794*/      OPC_RecordChild1, // #1 = $addr
    7250             : /* 12795*/      OPC_CheckChild1Type, MVT::i32,
    7251             : /* 12797*/      OPC_MoveChild2,
    7252             : /* 12798*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7253             : /* 12801*/      OPC_RecordChild0, // #2 = $val
    7254             : /* 12802*/      OPC_MoveParent,
    7255             : /* 12803*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    7256             : /* 12805*/      OPC_MoveParent,
    7257             : /* 12806*/      OPC_MoveParent,
    7258             : /* 12807*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7259             : /* 12809*/      OPC_EmitMergeInputChains1_0,
    7260             : /* 12810*/      OPC_EmitInteger, MVT::i32, 0, 
    7261             : /* 12813*/      OPC_EmitInteger, MVT::i32, 0, 
    7262             : /* 12816*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7263             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7264             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>), 65535:{ *:[i64] }) - Complexity = 18
    7265             :                 // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7266             : /* 12826*/    /*Scope*/ 46, /*->12873*/
    7267             : /* 12827*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7268             : /* 12830*/      OPC_MoveChild0,
    7269             : /* 12831*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7270             : /* 12834*/      OPC_MoveChild0,
    7271             : /* 12835*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    7272             : /* 12838*/      OPC_RecordMemRef,
    7273             : /* 12839*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    7274             : /* 12840*/      OPC_CheckFoldableChainNode,
    7275             : /* 12841*/      OPC_RecordChild1, // #1 = $addr
    7276             : /* 12842*/      OPC_CheckChild1Type, MVT::i32,
    7277             : /* 12844*/      OPC_MoveChild2,
    7278             : /* 12845*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7279             : /* 12848*/      OPC_RecordChild0, // #2 = $val
    7280             : /* 12849*/      OPC_MoveParent,
    7281             : /* 12850*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    7282             : /* 12852*/      OPC_MoveParent,
    7283             : /* 12853*/      OPC_MoveParent,
    7284             : /* 12854*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7285             : /* 12856*/      OPC_EmitMergeInputChains1_0,
    7286             : /* 12857*/      OPC_EmitInteger, MVT::i32, 0, 
    7287             : /* 12860*/      OPC_EmitInteger, MVT::i32, 0, 
    7288             : /* 12863*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7289             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7290             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>), 255:{ *:[i64] }) - Complexity = 18
    7291             :                 // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7292             : /* 12873*/    /*Scope*/ 47, /*->12921*/
    7293             : /* 12874*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7294             : /* 12878*/      OPC_MoveChild0,
    7295             : /* 12879*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7296             : /* 12882*/      OPC_MoveChild0,
    7297             : /* 12883*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    7298             : /* 12886*/      OPC_RecordMemRef,
    7299             : /* 12887*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    7300             : /* 12888*/      OPC_CheckFoldableChainNode,
    7301             : /* 12889*/      OPC_RecordChild1, // #1 = $addr
    7302             : /* 12890*/      OPC_CheckChild1Type, MVT::i32,
    7303             : /* 12892*/      OPC_MoveChild2,
    7304             : /* 12893*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7305             : /* 12896*/      OPC_RecordChild0, // #2 = $val
    7306             : /* 12897*/      OPC_MoveParent,
    7307             : /* 12898*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    7308             : /* 12900*/      OPC_MoveParent,
    7309             : /* 12901*/      OPC_MoveParent,
    7310             : /* 12902*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7311             : /* 12904*/      OPC_EmitMergeInputChains1_0,
    7312             : /* 12905*/      OPC_EmitInteger, MVT::i32, 0, 
    7313             : /* 12908*/      OPC_EmitInteger, MVT::i32, 0, 
    7314             : /* 12911*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7315             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7316             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>), 65535:{ *:[i64] }) - Complexity = 18
    7317             :                 // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7318             : /* 12921*/    /*Scope*/ 46, /*->12968*/
    7319             : /* 12922*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7320             : /* 12925*/      OPC_MoveChild0,
    7321             : /* 12926*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7322             : /* 12929*/      OPC_MoveChild0,
    7323             : /* 12930*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    7324             : /* 12933*/      OPC_RecordMemRef,
    7325             : /* 12934*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    7326             : /* 12935*/      OPC_CheckFoldableChainNode,
    7327             : /* 12936*/      OPC_RecordChild1, // #1 = $addr
    7328             : /* 12937*/      OPC_CheckChild1Type, MVT::i32,
    7329             : /* 12939*/      OPC_MoveChild2,
    7330             : /* 12940*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7331             : /* 12943*/      OPC_RecordChild0, // #2 = $val
    7332             : /* 12944*/      OPC_MoveParent,
    7333             : /* 12945*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    7334             : /* 12947*/      OPC_MoveParent,
    7335             : /* 12948*/      OPC_MoveParent,
    7336             : /* 12949*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7337             : /* 12951*/      OPC_EmitMergeInputChains1_0,
    7338             : /* 12952*/      OPC_EmitInteger, MVT::i32, 0, 
    7339             : /* 12955*/      OPC_EmitInteger, MVT::i32, 0, 
    7340             : /* 12958*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7341             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7342             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>), 255:{ *:[i64] }) - Complexity = 18
    7343             :                 // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7344             : /* 12968*/    /*Scope*/ 47, /*->13016*/
    7345             : /* 12969*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7346             : /* 12973*/      OPC_MoveChild0,
    7347             : /* 12974*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7348             : /* 12977*/      OPC_MoveChild0,
    7349             : /* 12978*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    7350             : /* 12981*/      OPC_RecordMemRef,
    7351             : /* 12982*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    7352             : /* 12983*/      OPC_CheckFoldableChainNode,
    7353             : /* 12984*/      OPC_RecordChild1, // #1 = $addr
    7354             : /* 12985*/      OPC_CheckChild1Type, MVT::i32,
    7355             : /* 12987*/      OPC_MoveChild2,
    7356             : /* 12988*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7357             : /* 12991*/      OPC_RecordChild0, // #2 = $val
    7358             : /* 12992*/      OPC_MoveParent,
    7359             : /* 12993*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    7360             : /* 12995*/      OPC_MoveParent,
    7361             : /* 12996*/      OPC_MoveParent,
    7362             : /* 12997*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7363             : /* 12999*/      OPC_EmitMergeInputChains1_0,
    7364             : /* 13000*/      OPC_EmitInteger, MVT::i32, 0, 
    7365             : /* 13003*/      OPC_EmitInteger, MVT::i32, 0, 
    7366             : /* 13006*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7367             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7368             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>), 65535:{ *:[i64] }) - Complexity = 18
    7369             :                 // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7370             : /* 13016*/    /*Scope*/ 46, /*->13063*/
    7371             : /* 13017*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7372             : /* 13020*/      OPC_MoveChild0,
    7373             : /* 13021*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7374             : /* 13024*/      OPC_MoveChild0,
    7375             : /* 13025*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    7376             : /* 13028*/      OPC_RecordMemRef,
    7377             : /* 13029*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    7378             : /* 13030*/      OPC_CheckFoldableChainNode,
    7379             : /* 13031*/      OPC_RecordChild1, // #1 = $addr
    7380             : /* 13032*/      OPC_CheckChild1Type, MVT::i32,
    7381             : /* 13034*/      OPC_MoveChild2,
    7382             : /* 13035*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7383             : /* 13038*/      OPC_RecordChild0, // #2 = $val
    7384             : /* 13039*/      OPC_MoveParent,
    7385             : /* 13040*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    7386             : /* 13042*/      OPC_MoveParent,
    7387             : /* 13043*/      OPC_MoveParent,
    7388             : /* 13044*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7389             : /* 13046*/      OPC_EmitMergeInputChains1_0,
    7390             : /* 13047*/      OPC_EmitInteger, MVT::i32, 0, 
    7391             : /* 13050*/      OPC_EmitInteger, MVT::i32, 0, 
    7392             : /* 13053*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7393             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7394             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>), 255:{ *:[i64] }) - Complexity = 18
    7395             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7396             : /* 13063*/    /*Scope*/ 47, /*->13111*/
    7397             : /* 13064*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7398             : /* 13068*/      OPC_MoveChild0,
    7399             : /* 13069*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7400             : /* 13072*/      OPC_MoveChild0,
    7401             : /* 13073*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    7402             : /* 13076*/      OPC_RecordMemRef,
    7403             : /* 13077*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    7404             : /* 13078*/      OPC_CheckFoldableChainNode,
    7405             : /* 13079*/      OPC_RecordChild1, // #1 = $addr
    7406             : /* 13080*/      OPC_CheckChild1Type, MVT::i32,
    7407             : /* 13082*/      OPC_MoveChild2,
    7408             : /* 13083*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    7409             : /* 13086*/      OPC_RecordChild0, // #2 = $val
    7410             : /* 13087*/      OPC_MoveParent,
    7411             : /* 13088*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    7412             : /* 13090*/      OPC_MoveParent,
    7413             : /* 13091*/      OPC_MoveParent,
    7414             : /* 13092*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7415             : /* 13094*/      OPC_EmitMergeInputChains1_0,
    7416             : /* 13095*/      OPC_EmitInteger, MVT::i32, 0, 
    7417             : /* 13098*/      OPC_EmitInteger, MVT::i32, 0, 
    7418             : /* 13101*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7419             :                     MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
    7420             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>), 65535:{ *:[i64] }) - Complexity = 18
    7421             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    7422             : /* 13111*/    /*Scope*/ 51, /*->13163*/
    7423             : /* 13112*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7424             : /* 13115*/      OPC_MoveChild0,
    7425             : /* 13116*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7426             : /* 13119*/      OPC_MoveChild0,
    7427             : /* 13120*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    7428             : /* 13123*/      OPC_RecordMemRef,
    7429             : /* 13124*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    7430             : /* 13125*/      OPC_CheckFoldableChainNode,
    7431             : /* 13126*/      OPC_RecordChild1, // #1 = $off
    7432             : /* 13127*/      OPC_MoveChild1,
    7433             : /* 13128*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7434             : /* 13131*/      OPC_MoveParent,
    7435             : /* 13132*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    7436             : /* 13134*/      OPC_MoveParent,
    7437             : /* 13135*/      OPC_MoveParent,
    7438             : /* 13136*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7439             : /* 13138*/      OPC_EmitMergeInputChains1_0,
    7440             : /* 13139*/      OPC_EmitInteger, MVT::i32, 0, 
    7441             : /* 13142*/      OPC_EmitConvertToTarget, 1,
    7442             : /* 13144*/      OPC_EmitInteger, MVT::i32, 0, 
    7443             : /* 13147*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7444             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7445             : /* 13154*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7446             :                     MVT::i64, 3/*#Ops*/, 2, 3, 5, 
    7447             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 18
    7448             :                 // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    7449             : /* 13163*/    /*Scope*/ 52, /*->13216*/
    7450             : /* 13164*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7451             : /* 13168*/      OPC_MoveChild0,
    7452             : /* 13169*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    7453             : /* 13172*/      OPC_MoveChild0,
    7454             : /* 13173*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    7455             : /* 13176*/      OPC_RecordMemRef,
    7456             : /* 13177*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    7457             : /* 13178*/      OPC_CheckFoldableChainNode,
    7458             : /* 13179*/      OPC_RecordChild1, // #1 = $off
    7459             : /* 13180*/      OPC_MoveChild1,
    7460             : /* 13181*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    7461             : /* 13184*/      OPC_MoveParent,
    7462             : /* 13185*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    7463             : /* 13187*/      OPC_MoveParent,
    7464             : /* 13188*/      OPC_MoveParent,
    7465             : /* 13189*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7466             : /* 13191*/      OPC_EmitMergeInputChains1_0,
    7467             : /* 13192*/      OPC_EmitInteger, MVT::i32, 0, 
    7468             : /* 13195*/      OPC_EmitConvertToTarget, 1,
    7469             : /* 13197*/      OPC_EmitInteger, MVT::i32, 0, 
    7470             : /* 13200*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7471             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7472             : /* 13207*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    7473             :                     MVT::i64, 3/*#Ops*/, 2, 3, 5, 
    7474             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 18
    7475             :                 // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    7476             : /* 13216*/    /*Scope*/ 51, /*->13268*/
    7477             : /* 13217*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7478             : /* 13220*/      OPC_MoveChild0,
    7479             : /* 13221*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    7480             : /* 13224*/      OPC_RecordMemRef,
    7481             : /* 13225*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    7482             : /* 13226*/      OPC_CheckFoldableChainNode,
    7483             : /* 13227*/      OPC_MoveChild1,
    7484             : /* 13228*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7485             : /* 13231*/      OPC_RecordChild0, // #1 = $off
    7486             : /* 13232*/      OPC_MoveChild0,
    7487             : /* 13233*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    7488             : /* 13236*/      OPC_MoveParent,
    7489             : /* 13237*/      OPC_MoveParent,
    7490             : /* 13238*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    7491             : /* 13240*/      OPC_MoveParent,
    7492             : /* 13241*/      OPC_CheckType, MVT::i32,
    7493             : /* 13243*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7494             : /* 13245*/      OPC_EmitMergeInputChains1_0,
    7495             : /* 13246*/      OPC_EmitInteger, MVT::i32, 0, 
    7496             : /* 13249*/      OPC_EmitInteger, MVT::i32, 0, 
    7497             : /* 13252*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7498             :                     MVT::i32, 1/*#Ops*/, 3,  // Results = #4
    7499             : /* 13259*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7500             :                     MVT::i32, 3/*#Ops*/, 2, 1, 4, 
    7501             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 18
    7502             :                 // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    7503             : /* 13268*/    /*Scope*/ 52, /*->13321*/
    7504             : /* 13269*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7505             : /* 13273*/      OPC_MoveChild0,
    7506             : /* 13274*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    7507             : /* 13277*/      OPC_RecordMemRef,
    7508             : /* 13278*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    7509             : /* 13279*/      OPC_CheckFoldableChainNode,
    7510             : /* 13280*/      OPC_MoveChild1,
    7511             : /* 13281*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7512             : /* 13284*/      OPC_RecordChild0, // #1 = $off
    7513             : /* 13285*/      OPC_MoveChild0,
    7514             : /* 13286*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    7515             : /* 13289*/      OPC_MoveParent,
    7516             : /* 13290*/      OPC_MoveParent,
    7517             : /* 13291*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    7518             : /* 13293*/      OPC_MoveParent,
    7519             : /* 13294*/      OPC_CheckType, MVT::i32,
    7520             : /* 13296*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7521             : /* 13298*/      OPC_EmitMergeInputChains1_0,
    7522             : /* 13299*/      OPC_EmitInteger, MVT::i32, 0, 
    7523             : /* 13302*/      OPC_EmitInteger, MVT::i32, 0, 
    7524             : /* 13305*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7525             :                     MVT::i32, 1/*#Ops*/, 3,  // Results = #4
    7526             : /* 13312*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7527             :                     MVT::i32, 3/*#Ops*/, 2, 1, 4, 
    7528             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 18
    7529             :                 // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    7530             : /* 13321*/    /*Scope*/ 51, /*->13373*/
    7531             : /* 13322*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7532             : /* 13325*/      OPC_MoveChild0,
    7533             : /* 13326*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    7534             : /* 13329*/      OPC_RecordMemRef,
    7535             : /* 13330*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    7536             : /* 13331*/      OPC_CheckFoldableChainNode,
    7537             : /* 13332*/      OPC_MoveChild1,
    7538             : /* 13333*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7539             : /* 13336*/      OPC_RecordChild0, // #1 = $off
    7540             : /* 13337*/      OPC_MoveChild0,
    7541             : /* 13338*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    7542             : /* 13341*/      OPC_MoveParent,
    7543             : /* 13342*/      OPC_MoveParent,
    7544             : /* 13343*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    7545             : /* 13345*/      OPC_MoveParent,
    7546             : /* 13346*/      OPC_CheckType, MVT::i32,
    7547             : /* 13348*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7548             : /* 13350*/      OPC_EmitMergeInputChains1_0,
    7549             : /* 13351*/      OPC_EmitInteger, MVT::i32, 0, 
    7550             : /* 13354*/      OPC_EmitInteger, MVT::i32, 0, 
    7551             : /* 13357*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7552             :                     MVT::i32, 1/*#Ops*/, 3,  // Results = #4
    7553             : /* 13364*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7554             :                     MVT::i32, 3/*#Ops*/, 2, 1, 4, 
    7555             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 18
    7556             :                 // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    7557             : /* 13373*/    /*Scope*/ 52, /*->13426*/
    7558             : /* 13374*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7559             : /* 13378*/      OPC_MoveChild0,
    7560             : /* 13379*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    7561             : /* 13382*/      OPC_RecordMemRef,
    7562             : /* 13383*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    7563             : /* 13384*/      OPC_CheckFoldableChainNode,
    7564             : /* 13385*/      OPC_MoveChild1,
    7565             : /* 13386*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7566             : /* 13389*/      OPC_RecordChild0, // #1 = $off
    7567             : /* 13390*/      OPC_MoveChild0,
    7568             : /* 13391*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    7569             : /* 13394*/      OPC_MoveParent,
    7570             : /* 13395*/      OPC_MoveParent,
    7571             : /* 13396*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    7572             : /* 13398*/      OPC_MoveParent,
    7573             : /* 13399*/      OPC_CheckType, MVT::i32,
    7574             : /* 13401*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7575             : /* 13403*/      OPC_EmitMergeInputChains1_0,
    7576             : /* 13404*/      OPC_EmitInteger, MVT::i32, 0, 
    7577             : /* 13407*/      OPC_EmitInteger, MVT::i32, 0, 
    7578             : /* 13410*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7579             :                     MVT::i32, 1/*#Ops*/, 3,  // Results = #4
    7580             : /* 13417*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7581             :                     MVT::i32, 3/*#Ops*/, 2, 1, 4, 
    7582             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 18
    7583             :                 // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    7584             : /* 13426*/    /*Scope*/ 53, /*->13480*/
    7585             : /* 13427*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7586             : /* 13430*/      OPC_MoveChild0,
    7587             : /* 13431*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    7588             : /* 13434*/      OPC_RecordMemRef,
    7589             : /* 13435*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    7590             : /* 13436*/      OPC_CheckFoldableChainNode,
    7591             : /* 13437*/      OPC_MoveChild1,
    7592             : /* 13438*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7593             : /* 13441*/      OPC_RecordChild0, // #1 = $off
    7594             : /* 13442*/      OPC_MoveChild0,
    7595             : /* 13443*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    7596             : /* 13446*/      OPC_MoveParent,
    7597             : /* 13447*/      OPC_MoveParent,
    7598             : /* 13448*/      OPC_RecordChild2, // #2 = $val
    7599             : /* 13449*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    7600             : /* 13451*/      OPC_MoveParent,
    7601             : /* 13452*/      OPC_CheckType, MVT::i32,
    7602             : /* 13454*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7603             : /* 13456*/      OPC_EmitMergeInputChains1_0,
    7604             : /* 13457*/      OPC_EmitInteger, MVT::i32, 0, 
    7605             : /* 13460*/      OPC_EmitInteger, MVT::i32, 0, 
    7606             : /* 13463*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7607             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7608             : /* 13470*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7609             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7610             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 18
    7611             :                 // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7612             : /* 13480*/    /*Scope*/ 54, /*->13535*/
    7613             : /* 13481*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7614             : /* 13485*/      OPC_MoveChild0,
    7615             : /* 13486*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    7616             : /* 13489*/      OPC_RecordMemRef,
    7617             : /* 13490*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    7618             : /* 13491*/      OPC_CheckFoldableChainNode,
    7619             : /* 13492*/      OPC_MoveChild1,
    7620             : /* 13493*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7621             : /* 13496*/      OPC_RecordChild0, // #1 = $off
    7622             : /* 13497*/      OPC_MoveChild0,
    7623             : /* 13498*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    7624             : /* 13501*/      OPC_MoveParent,
    7625             : /* 13502*/      OPC_MoveParent,
    7626             : /* 13503*/      OPC_RecordChild2, // #2 = $val
    7627             : /* 13504*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    7628             : /* 13506*/      OPC_MoveParent,
    7629             : /* 13507*/      OPC_CheckType, MVT::i32,
    7630             : /* 13509*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7631             : /* 13511*/      OPC_EmitMergeInputChains1_0,
    7632             : /* 13512*/      OPC_EmitInteger, MVT::i32, 0, 
    7633             : /* 13515*/      OPC_EmitInteger, MVT::i32, 0, 
    7634             : /* 13518*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7635             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7636             : /* 13525*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7637             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7638             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 18
    7639             :                 // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7640             : /* 13535*/    /*Scope*/ 53, /*->13589*/
    7641             : /* 13536*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7642             : /* 13539*/      OPC_MoveChild0,
    7643             : /* 13540*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    7644             : /* 13543*/      OPC_RecordMemRef,
    7645             : /* 13544*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    7646             : /* 13545*/      OPC_CheckFoldableChainNode,
    7647             : /* 13546*/      OPC_MoveChild1,
    7648             : /* 13547*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7649             : /* 13550*/      OPC_RecordChild0, // #1 = $off
    7650             : /* 13551*/      OPC_MoveChild0,
    7651             : /* 13552*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    7652             : /* 13555*/      OPC_MoveParent,
    7653             : /* 13556*/      OPC_MoveParent,
    7654             : /* 13557*/      OPC_RecordChild2, // #2 = $val
    7655             : /* 13558*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    7656             : /* 13560*/      OPC_MoveParent,
    7657             : /* 13561*/      OPC_CheckType, MVT::i32,
    7658             : /* 13563*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7659             : /* 13565*/      OPC_EmitMergeInputChains1_0,
    7660             : /* 13566*/      OPC_EmitInteger, MVT::i32, 0, 
    7661             : /* 13569*/      OPC_EmitInteger, MVT::i32, 0, 
    7662             : /* 13572*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7663             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7664             : /* 13579*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7665             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7666             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 18
    7667             :                 // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7668             : /* 13589*/    /*Scope*/ 54, /*->13644*/
    7669             : /* 13590*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7670             : /* 13594*/      OPC_MoveChild0,
    7671             : /* 13595*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    7672             : /* 13598*/      OPC_RecordMemRef,
    7673             : /* 13599*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    7674             : /* 13600*/      OPC_CheckFoldableChainNode,
    7675             : /* 13601*/      OPC_MoveChild1,
    7676             : /* 13602*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7677             : /* 13605*/      OPC_RecordChild0, // #1 = $off
    7678             : /* 13606*/      OPC_MoveChild0,
    7679             : /* 13607*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    7680             : /* 13610*/      OPC_MoveParent,
    7681             : /* 13611*/      OPC_MoveParent,
    7682             : /* 13612*/      OPC_RecordChild2, // #2 = $val
    7683             : /* 13613*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    7684             : /* 13615*/      OPC_MoveParent,
    7685             : /* 13616*/      OPC_CheckType, MVT::i32,
    7686             : /* 13618*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7687             : /* 13620*/      OPC_EmitMergeInputChains1_0,
    7688             : /* 13621*/      OPC_EmitInteger, MVT::i32, 0, 
    7689             : /* 13624*/      OPC_EmitInteger, MVT::i32, 0, 
    7690             : /* 13627*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7691             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7692             : /* 13634*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7693             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7694             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 18
    7695             :                 // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7696             : /* 13644*/    /*Scope*/ 53, /*->13698*/
    7697             : /* 13645*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7698             : /* 13648*/      OPC_MoveChild0,
    7699             : /* 13649*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    7700             : /* 13652*/      OPC_RecordMemRef,
    7701             : /* 13653*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    7702             : /* 13654*/      OPC_CheckFoldableChainNode,
    7703             : /* 13655*/      OPC_MoveChild1,
    7704             : /* 13656*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7705             : /* 13659*/      OPC_RecordChild0, // #1 = $off
    7706             : /* 13660*/      OPC_MoveChild0,
    7707             : /* 13661*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    7708             : /* 13664*/      OPC_MoveParent,
    7709             : /* 13665*/      OPC_MoveParent,
    7710             : /* 13666*/      OPC_RecordChild2, // #2 = $val
    7711             : /* 13667*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    7712             : /* 13669*/      OPC_MoveParent,
    7713             : /* 13670*/      OPC_CheckType, MVT::i32,
    7714             : /* 13672*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7715             : /* 13674*/      OPC_EmitMergeInputChains1_0,
    7716             : /* 13675*/      OPC_EmitInteger, MVT::i32, 0, 
    7717             : /* 13678*/      OPC_EmitInteger, MVT::i32, 0, 
    7718             : /* 13681*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7719             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7720             : /* 13688*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7721             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7722             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 18
    7723             :                 // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7724             : /* 13698*/    /*Scope*/ 54, /*->13753*/
    7725             : /* 13699*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7726             : /* 13703*/      OPC_MoveChild0,
    7727             : /* 13704*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    7728             : /* 13707*/      OPC_RecordMemRef,
    7729             : /* 13708*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    7730             : /* 13709*/      OPC_CheckFoldableChainNode,
    7731             : /* 13710*/      OPC_MoveChild1,
    7732             : /* 13711*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7733             : /* 13714*/      OPC_RecordChild0, // #1 = $off
    7734             : /* 13715*/      OPC_MoveChild0,
    7735             : /* 13716*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    7736             : /* 13719*/      OPC_MoveParent,
    7737             : /* 13720*/      OPC_MoveParent,
    7738             : /* 13721*/      OPC_RecordChild2, // #2 = $val
    7739             : /* 13722*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    7740             : /* 13724*/      OPC_MoveParent,
    7741             : /* 13725*/      OPC_CheckType, MVT::i32,
    7742             : /* 13727*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7743             : /* 13729*/      OPC_EmitMergeInputChains1_0,
    7744             : /* 13730*/      OPC_EmitInteger, MVT::i32, 0, 
    7745             : /* 13733*/      OPC_EmitInteger, MVT::i32, 0, 
    7746             : /* 13736*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7747             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7748             : /* 13743*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7749             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7750             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 18
    7751             :                 // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7752             : /* 13753*/    /*Scope*/ 53, /*->13807*/
    7753             : /* 13754*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7754             : /* 13757*/      OPC_MoveChild0,
    7755             : /* 13758*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    7756             : /* 13761*/      OPC_RecordMemRef,
    7757             : /* 13762*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    7758             : /* 13763*/      OPC_CheckFoldableChainNode,
    7759             : /* 13764*/      OPC_MoveChild1,
    7760             : /* 13765*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7761             : /* 13768*/      OPC_RecordChild0, // #1 = $off
    7762             : /* 13769*/      OPC_MoveChild0,
    7763             : /* 13770*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    7764             : /* 13773*/      OPC_MoveParent,
    7765             : /* 13774*/      OPC_MoveParent,
    7766             : /* 13775*/      OPC_RecordChild2, // #2 = $val
    7767             : /* 13776*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    7768             : /* 13778*/      OPC_MoveParent,
    7769             : /* 13779*/      OPC_CheckType, MVT::i32,
    7770             : /* 13781*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7771             : /* 13783*/      OPC_EmitMergeInputChains1_0,
    7772             : /* 13784*/      OPC_EmitInteger, MVT::i32, 0, 
    7773             : /* 13787*/      OPC_EmitInteger, MVT::i32, 0, 
    7774             : /* 13790*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7775             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7776             : /* 13797*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7777             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7778             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 18
    7779             :                 // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7780             : /* 13807*/    /*Scope*/ 54, /*->13862*/
    7781             : /* 13808*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7782             : /* 13812*/      OPC_MoveChild0,
    7783             : /* 13813*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    7784             : /* 13816*/      OPC_RecordMemRef,
    7785             : /* 13817*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    7786             : /* 13818*/      OPC_CheckFoldableChainNode,
    7787             : /* 13819*/      OPC_MoveChild1,
    7788             : /* 13820*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7789             : /* 13823*/      OPC_RecordChild0, // #1 = $off
    7790             : /* 13824*/      OPC_MoveChild0,
    7791             : /* 13825*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    7792             : /* 13828*/      OPC_MoveParent,
    7793             : /* 13829*/      OPC_MoveParent,
    7794             : /* 13830*/      OPC_RecordChild2, // #2 = $val
    7795             : /* 13831*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    7796             : /* 13833*/      OPC_MoveParent,
    7797             : /* 13834*/      OPC_CheckType, MVT::i32,
    7798             : /* 13836*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7799             : /* 13838*/      OPC_EmitMergeInputChains1_0,
    7800             : /* 13839*/      OPC_EmitInteger, MVT::i32, 0, 
    7801             : /* 13842*/      OPC_EmitInteger, MVT::i32, 0, 
    7802             : /* 13845*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7803             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7804             : /* 13852*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7805             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7806             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 18
    7807             :                 // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7808             : /* 13862*/    /*Scope*/ 53, /*->13916*/
    7809             : /* 13863*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7810             : /* 13866*/      OPC_MoveChild0,
    7811             : /* 13867*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    7812             : /* 13870*/      OPC_RecordMemRef,
    7813             : /* 13871*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    7814             : /* 13872*/      OPC_CheckFoldableChainNode,
    7815             : /* 13873*/      OPC_MoveChild1,
    7816             : /* 13874*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7817             : /* 13877*/      OPC_RecordChild0, // #1 = $off
    7818             : /* 13878*/      OPC_MoveChild0,
    7819             : /* 13879*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    7820             : /* 13882*/      OPC_MoveParent,
    7821             : /* 13883*/      OPC_MoveParent,
    7822             : /* 13884*/      OPC_RecordChild2, // #2 = $val
    7823             : /* 13885*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    7824             : /* 13887*/      OPC_MoveParent,
    7825             : /* 13888*/      OPC_CheckType, MVT::i32,
    7826             : /* 13890*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7827             : /* 13892*/      OPC_EmitMergeInputChains1_0,
    7828             : /* 13893*/      OPC_EmitInteger, MVT::i32, 0, 
    7829             : /* 13896*/      OPC_EmitInteger, MVT::i32, 0, 
    7830             : /* 13899*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7831             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7832             : /* 13906*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7833             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7834             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 18
    7835             :                 // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7836             : /* 13916*/    /*Scope*/ 54, /*->13971*/
    7837             : /* 13917*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7838             : /* 13921*/      OPC_MoveChild0,
    7839             : /* 13922*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    7840             : /* 13925*/      OPC_RecordMemRef,
    7841             : /* 13926*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    7842             : /* 13927*/      OPC_CheckFoldableChainNode,
    7843             : /* 13928*/      OPC_MoveChild1,
    7844             : /* 13929*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7845             : /* 13932*/      OPC_RecordChild0, // #1 = $off
    7846             : /* 13933*/      OPC_MoveChild0,
    7847             : /* 13934*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    7848             : /* 13937*/      OPC_MoveParent,
    7849             : /* 13938*/      OPC_MoveParent,
    7850             : /* 13939*/      OPC_RecordChild2, // #2 = $val
    7851             : /* 13940*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    7852             : /* 13942*/      OPC_MoveParent,
    7853             : /* 13943*/      OPC_CheckType, MVT::i32,
    7854             : /* 13945*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7855             : /* 13947*/      OPC_EmitMergeInputChains1_0,
    7856             : /* 13948*/      OPC_EmitInteger, MVT::i32, 0, 
    7857             : /* 13951*/      OPC_EmitInteger, MVT::i32, 0, 
    7858             : /* 13954*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7859             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7860             : /* 13961*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7861             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7862             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 18
    7863             :                 // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7864             : /* 13971*/    /*Scope*/ 53, /*->14025*/
    7865             : /* 13972*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7866             : /* 13975*/      OPC_MoveChild0,
    7867             : /* 13976*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    7868             : /* 13979*/      OPC_RecordMemRef,
    7869             : /* 13980*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    7870             : /* 13981*/      OPC_CheckFoldableChainNode,
    7871             : /* 13982*/      OPC_MoveChild1,
    7872             : /* 13983*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7873             : /* 13986*/      OPC_RecordChild0, // #1 = $off
    7874             : /* 13987*/      OPC_MoveChild0,
    7875             : /* 13988*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    7876             : /* 13991*/      OPC_MoveParent,
    7877             : /* 13992*/      OPC_MoveParent,
    7878             : /* 13993*/      OPC_RecordChild2, // #2 = $val
    7879             : /* 13994*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    7880             : /* 13996*/      OPC_MoveParent,
    7881             : /* 13997*/      OPC_CheckType, MVT::i32,
    7882             : /* 13999*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7883             : /* 14001*/      OPC_EmitMergeInputChains1_0,
    7884             : /* 14002*/      OPC_EmitInteger, MVT::i32, 0, 
    7885             : /* 14005*/      OPC_EmitInteger, MVT::i32, 0, 
    7886             : /* 14008*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7887             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7888             : /* 14015*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7889             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7890             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 18
    7891             :                 // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7892             : /* 14025*/    /*Scope*/ 54, /*->14080*/
    7893             : /* 14026*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7894             : /* 14030*/      OPC_MoveChild0,
    7895             : /* 14031*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    7896             : /* 14034*/      OPC_RecordMemRef,
    7897             : /* 14035*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    7898             : /* 14036*/      OPC_CheckFoldableChainNode,
    7899             : /* 14037*/      OPC_MoveChild1,
    7900             : /* 14038*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7901             : /* 14041*/      OPC_RecordChild0, // #1 = $off
    7902             : /* 14042*/      OPC_MoveChild0,
    7903             : /* 14043*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    7904             : /* 14046*/      OPC_MoveParent,
    7905             : /* 14047*/      OPC_MoveParent,
    7906             : /* 14048*/      OPC_RecordChild2, // #2 = $val
    7907             : /* 14049*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    7908             : /* 14051*/      OPC_MoveParent,
    7909             : /* 14052*/      OPC_CheckType, MVT::i32,
    7910             : /* 14054*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7911             : /* 14056*/      OPC_EmitMergeInputChains1_0,
    7912             : /* 14057*/      OPC_EmitInteger, MVT::i32, 0, 
    7913             : /* 14060*/      OPC_EmitInteger, MVT::i32, 0, 
    7914             : /* 14063*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7915             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7916             : /* 14070*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7917             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7918             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 18
    7919             :                 // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7920             : /* 14080*/    /*Scope*/ 53, /*->14134*/
    7921             : /* 14081*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7922             : /* 14084*/      OPC_MoveChild0,
    7923             : /* 14085*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    7924             : /* 14088*/      OPC_RecordMemRef,
    7925             : /* 14089*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    7926             : /* 14090*/      OPC_CheckFoldableChainNode,
    7927             : /* 14091*/      OPC_MoveChild1,
    7928             : /* 14092*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7929             : /* 14095*/      OPC_RecordChild0, // #1 = $off
    7930             : /* 14096*/      OPC_MoveChild0,
    7931             : /* 14097*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    7932             : /* 14100*/      OPC_MoveParent,
    7933             : /* 14101*/      OPC_MoveParent,
    7934             : /* 14102*/      OPC_RecordChild2, // #2 = $val
    7935             : /* 14103*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    7936             : /* 14105*/      OPC_MoveParent,
    7937             : /* 14106*/      OPC_CheckType, MVT::i32,
    7938             : /* 14108*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7939             : /* 14110*/      OPC_EmitMergeInputChains1_0,
    7940             : /* 14111*/      OPC_EmitInteger, MVT::i32, 0, 
    7941             : /* 14114*/      OPC_EmitInteger, MVT::i32, 0, 
    7942             : /* 14117*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7943             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7944             : /* 14124*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7945             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7946             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 18
    7947             :                 // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7948             : /* 14134*/    /*Scope*/ 54, /*->14189*/
    7949             : /* 14135*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    7950             : /* 14139*/      OPC_MoveChild0,
    7951             : /* 14140*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    7952             : /* 14143*/      OPC_RecordMemRef,
    7953             : /* 14144*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    7954             : /* 14145*/      OPC_CheckFoldableChainNode,
    7955             : /* 14146*/      OPC_MoveChild1,
    7956             : /* 14147*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7957             : /* 14150*/      OPC_RecordChild0, // #1 = $off
    7958             : /* 14151*/      OPC_MoveChild0,
    7959             : /* 14152*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    7960             : /* 14155*/      OPC_MoveParent,
    7961             : /* 14156*/      OPC_MoveParent,
    7962             : /* 14157*/      OPC_RecordChild2, // #2 = $val
    7963             : /* 14158*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    7964             : /* 14160*/      OPC_MoveParent,
    7965             : /* 14161*/      OPC_CheckType, MVT::i32,
    7966             : /* 14163*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7967             : /* 14165*/      OPC_EmitMergeInputChains1_0,
    7968             : /* 14166*/      OPC_EmitInteger, MVT::i32, 0, 
    7969             : /* 14169*/      OPC_EmitInteger, MVT::i32, 0, 
    7970             : /* 14172*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7971             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    7972             : /* 14179*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    7973             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    7974             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 18
    7975             :                 // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    7976             : /* 14189*/    /*Scope*/ 53, /*->14243*/
    7977             : /* 14190*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    7978             : /* 14193*/      OPC_MoveChild0,
    7979             : /* 14194*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    7980             : /* 14197*/      OPC_RecordMemRef,
    7981             : /* 14198*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    7982             : /* 14199*/      OPC_CheckFoldableChainNode,
    7983             : /* 14200*/      OPC_MoveChild1,
    7984             : /* 14201*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    7985             : /* 14204*/      OPC_RecordChild0, // #1 = $off
    7986             : /* 14205*/      OPC_MoveChild0,
    7987             : /* 14206*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    7988             : /* 14209*/      OPC_MoveParent,
    7989             : /* 14210*/      OPC_MoveParent,
    7990             : /* 14211*/      OPC_RecordChild2, // #2 = $val
    7991             : /* 14212*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    7992             : /* 14214*/      OPC_MoveParent,
    7993             : /* 14215*/      OPC_CheckType, MVT::i32,
    7994             : /* 14217*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    7995             : /* 14219*/      OPC_EmitMergeInputChains1_0,
    7996             : /* 14220*/      OPC_EmitInteger, MVT::i32, 0, 
    7997             : /* 14223*/      OPC_EmitInteger, MVT::i32, 0, 
    7998             : /* 14226*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    7999             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8000             : /* 14233*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8001             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    8002             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 18
    8003             :                 // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8004             : /* 14243*/    /*Scope*/ 54, /*->14298*/
    8005             : /* 14244*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8006             : /* 14248*/      OPC_MoveChild0,
    8007             : /* 14249*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    8008             : /* 14252*/      OPC_RecordMemRef,
    8009             : /* 14253*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    8010             : /* 14254*/      OPC_CheckFoldableChainNode,
    8011             : /* 14255*/      OPC_MoveChild1,
    8012             : /* 14256*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8013             : /* 14259*/      OPC_RecordChild0, // #1 = $off
    8014             : /* 14260*/      OPC_MoveChild0,
    8015             : /* 14261*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    8016             : /* 14264*/      OPC_MoveParent,
    8017             : /* 14265*/      OPC_MoveParent,
    8018             : /* 14266*/      OPC_RecordChild2, // #2 = $val
    8019             : /* 14267*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    8020             : /* 14269*/      OPC_MoveParent,
    8021             : /* 14270*/      OPC_CheckType, MVT::i32,
    8022             : /* 14272*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8023             : /* 14274*/      OPC_EmitMergeInputChains1_0,
    8024             : /* 14275*/      OPC_EmitInteger, MVT::i32, 0, 
    8025             : /* 14278*/      OPC_EmitInteger, MVT::i32, 0, 
    8026             : /* 14281*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8027             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8028             : /* 14288*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8029             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    8030             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 18
    8031             :                 // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8032             : /* 14298*/    /*Scope*/ 53, /*->14352*/
    8033             : /* 14299*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8034             : /* 14302*/      OPC_MoveChild0,
    8035             : /* 14303*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    8036             : /* 14306*/      OPC_RecordMemRef,
    8037             : /* 14307*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    8038             : /* 14308*/      OPC_CheckFoldableChainNode,
    8039             : /* 14309*/      OPC_MoveChild1,
    8040             : /* 14310*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8041             : /* 14313*/      OPC_RecordChild0, // #1 = $off
    8042             : /* 14314*/      OPC_MoveChild0,
    8043             : /* 14315*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    8044             : /* 14318*/      OPC_MoveParent,
    8045             : /* 14319*/      OPC_MoveParent,
    8046             : /* 14320*/      OPC_RecordChild2, // #2 = $val
    8047             : /* 14321*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    8048             : /* 14323*/      OPC_MoveParent,
    8049             : /* 14324*/      OPC_CheckType, MVT::i32,
    8050             : /* 14326*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8051             : /* 14328*/      OPC_EmitMergeInputChains1_0,
    8052             : /* 14329*/      OPC_EmitInteger, MVT::i32, 0, 
    8053             : /* 14332*/      OPC_EmitInteger, MVT::i32, 0, 
    8054             : /* 14335*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8055             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8056             : /* 14342*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8057             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    8058             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 18
    8059             :                 // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8060             : /* 14352*/    /*Scope*/ 54, /*->14407*/
    8061             : /* 14353*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8062             : /* 14357*/      OPC_MoveChild0,
    8063             : /* 14358*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    8064             : /* 14361*/      OPC_RecordMemRef,
    8065             : /* 14362*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    8066             : /* 14363*/      OPC_CheckFoldableChainNode,
    8067             : /* 14364*/      OPC_MoveChild1,
    8068             : /* 14365*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8069             : /* 14368*/      OPC_RecordChild0, // #1 = $off
    8070             : /* 14369*/      OPC_MoveChild0,
    8071             : /* 14370*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    8072             : /* 14373*/      OPC_MoveParent,
    8073             : /* 14374*/      OPC_MoveParent,
    8074             : /* 14375*/      OPC_RecordChild2, // #2 = $val
    8075             : /* 14376*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    8076             : /* 14378*/      OPC_MoveParent,
    8077             : /* 14379*/      OPC_CheckType, MVT::i32,
    8078             : /* 14381*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8079             : /* 14383*/      OPC_EmitMergeInputChains1_0,
    8080             : /* 14384*/      OPC_EmitInteger, MVT::i32, 0, 
    8081             : /* 14387*/      OPC_EmitInteger, MVT::i32, 0, 
    8082             : /* 14390*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8083             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8084             : /* 14397*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8085             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    8086             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 18
    8087             :                 // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8088             : /* 14407*/    /*Scope*/ 53, /*->14461*/
    8089             : /* 14408*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8090             : /* 14411*/      OPC_MoveChild0,
    8091             : /* 14412*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    8092             : /* 14415*/      OPC_RecordMemRef,
    8093             : /* 14416*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    8094             : /* 14417*/      OPC_CheckFoldableChainNode,
    8095             : /* 14418*/      OPC_MoveChild1,
    8096             : /* 14419*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8097             : /* 14422*/      OPC_RecordChild0, // #1 = $off
    8098             : /* 14423*/      OPC_MoveChild0,
    8099             : /* 14424*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    8100             : /* 14427*/      OPC_MoveParent,
    8101             : /* 14428*/      OPC_MoveParent,
    8102             : /* 14429*/      OPC_RecordChild2, // #2 = $val
    8103             : /* 14430*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    8104             : /* 14432*/      OPC_MoveParent,
    8105             : /* 14433*/      OPC_CheckType, MVT::i32,
    8106             : /* 14435*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8107             : /* 14437*/      OPC_EmitMergeInputChains1_0,
    8108             : /* 14438*/      OPC_EmitInteger, MVT::i32, 0, 
    8109             : /* 14441*/      OPC_EmitInteger, MVT::i32, 0, 
    8110             : /* 14444*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8111             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8112             : /* 14451*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8113             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    8114             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 18
    8115             :                 // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8116             : /* 14461*/    /*Scope*/ 54, /*->14516*/
    8117             : /* 14462*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8118             : /* 14466*/      OPC_MoveChild0,
    8119             : /* 14467*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    8120             : /* 14470*/      OPC_RecordMemRef,
    8121             : /* 14471*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    8122             : /* 14472*/      OPC_CheckFoldableChainNode,
    8123             : /* 14473*/      OPC_MoveChild1,
    8124             : /* 14474*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8125             : /* 14477*/      OPC_RecordChild0, // #1 = $off
    8126             : /* 14478*/      OPC_MoveChild0,
    8127             : /* 14479*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    8128             : /* 14482*/      OPC_MoveParent,
    8129             : /* 14483*/      OPC_MoveParent,
    8130             : /* 14484*/      OPC_RecordChild2, // #2 = $val
    8131             : /* 14485*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    8132             : /* 14487*/      OPC_MoveParent,
    8133             : /* 14488*/      OPC_CheckType, MVT::i32,
    8134             : /* 14490*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8135             : /* 14492*/      OPC_EmitMergeInputChains1_0,
    8136             : /* 14493*/      OPC_EmitInteger, MVT::i32, 0, 
    8137             : /* 14496*/      OPC_EmitInteger, MVT::i32, 0, 
    8138             : /* 14499*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8139             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8140             : /* 14506*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8141             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    8142             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 18
    8143             :                 // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8144             : /* 14516*/    /*Scope*/ 53, /*->14570*/
    8145             : /* 14517*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8146             : /* 14520*/      OPC_MoveChild0,
    8147             : /* 14521*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    8148             : /* 14524*/      OPC_RecordMemRef,
    8149             : /* 14525*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    8150             : /* 14526*/      OPC_CheckFoldableChainNode,
    8151             : /* 14527*/      OPC_MoveChild1,
    8152             : /* 14528*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8153             : /* 14531*/      OPC_RecordChild0, // #1 = $off
    8154             : /* 14532*/      OPC_MoveChild0,
    8155             : /* 14533*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    8156             : /* 14536*/      OPC_MoveParent,
    8157             : /* 14537*/      OPC_MoveParent,
    8158             : /* 14538*/      OPC_RecordChild2, // #2 = $val
    8159             : /* 14539*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    8160             : /* 14541*/      OPC_MoveParent,
    8161             : /* 14542*/      OPC_CheckType, MVT::i32,
    8162             : /* 14544*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8163             : /* 14546*/      OPC_EmitMergeInputChains1_0,
    8164             : /* 14547*/      OPC_EmitInteger, MVT::i32, 0, 
    8165             : /* 14550*/      OPC_EmitInteger, MVT::i32, 0, 
    8166             : /* 14553*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8167             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8168             : /* 14560*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8169             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    8170             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
    8171             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8172             : /* 14570*/    /*Scope*/ 54, /*->14625*/
    8173             : /* 14571*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8174             : /* 14575*/      OPC_MoveChild0,
    8175             : /* 14576*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    8176             : /* 14579*/      OPC_RecordMemRef,
    8177             : /* 14580*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    8178             : /* 14581*/      OPC_CheckFoldableChainNode,
    8179             : /* 14582*/      OPC_MoveChild1,
    8180             : /* 14583*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8181             : /* 14586*/      OPC_RecordChild0, // #1 = $off
    8182             : /* 14587*/      OPC_MoveChild0,
    8183             : /* 14588*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    8184             : /* 14591*/      OPC_MoveParent,
    8185             : /* 14592*/      OPC_MoveParent,
    8186             : /* 14593*/      OPC_RecordChild2, // #2 = $val
    8187             : /* 14594*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    8188             : /* 14596*/      OPC_MoveParent,
    8189             : /* 14597*/      OPC_CheckType, MVT::i32,
    8190             : /* 14599*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8191             : /* 14601*/      OPC_EmitMergeInputChains1_0,
    8192             : /* 14602*/      OPC_EmitInteger, MVT::i32, 0, 
    8193             : /* 14605*/      OPC_EmitInteger, MVT::i32, 0, 
    8194             : /* 14608*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8195             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8196             : /* 14615*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8197             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    8198             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
    8199             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8200             : /* 14625*/    /*Scope*/ 53, /*->14679*/
    8201             : /* 14626*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8202             : /* 14629*/      OPC_MoveChild0,
    8203             : /* 14630*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    8204             : /* 14633*/      OPC_RecordMemRef,
    8205             : /* 14634*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    8206             : /* 14635*/      OPC_CheckFoldableChainNode,
    8207             : /* 14636*/      OPC_MoveChild1,
    8208             : /* 14637*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8209             : /* 14640*/      OPC_RecordChild0, // #1 = $off
    8210             : /* 14641*/      OPC_MoveChild0,
    8211             : /* 14642*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    8212             : /* 14645*/      OPC_MoveParent,
    8213             : /* 14646*/      OPC_MoveParent,
    8214             : /* 14647*/      OPC_RecordChild2, // #2 = $val
    8215             : /* 14648*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    8216             : /* 14650*/      OPC_MoveParent,
    8217             : /* 14651*/      OPC_CheckType, MVT::i32,
    8218             : /* 14653*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8219             : /* 14655*/      OPC_EmitMergeInputChains1_0,
    8220             : /* 14656*/      OPC_EmitInteger, MVT::i32, 0, 
    8221             : /* 14659*/      OPC_EmitInteger, MVT::i32, 0, 
    8222             : /* 14662*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8223             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8224             : /* 14669*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8225             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    8226             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
    8227             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8228             : /* 14679*/    /*Scope*/ 54, /*->14734*/
    8229             : /* 14680*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8230             : /* 14684*/      OPC_MoveChild0,
    8231             : /* 14685*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    8232             : /* 14688*/      OPC_RecordMemRef,
    8233             : /* 14689*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    8234             : /* 14690*/      OPC_CheckFoldableChainNode,
    8235             : /* 14691*/      OPC_MoveChild1,
    8236             : /* 14692*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8237             : /* 14695*/      OPC_RecordChild0, // #1 = $off
    8238             : /* 14696*/      OPC_MoveChild0,
    8239             : /* 14697*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    8240             : /* 14700*/      OPC_MoveParent,
    8241             : /* 14701*/      OPC_MoveParent,
    8242             : /* 14702*/      OPC_RecordChild2, // #2 = $val
    8243             : /* 14703*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    8244             : /* 14705*/      OPC_MoveParent,
    8245             : /* 14706*/      OPC_CheckType, MVT::i32,
    8246             : /* 14708*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8247             : /* 14710*/      OPC_EmitMergeInputChains1_0,
    8248             : /* 14711*/      OPC_EmitInteger, MVT::i32, 0, 
    8249             : /* 14714*/      OPC_EmitInteger, MVT::i32, 0, 
    8250             : /* 14717*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8251             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8252             : /* 14724*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8253             :                     MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
    8254             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
    8255             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8256             : /* 14734*/    /*Scope*/ 55, /*->14790*/
    8257             : /* 14735*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8258             : /* 14738*/      OPC_MoveChild0,
    8259             : /* 14739*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    8260             : /* 14742*/      OPC_RecordMemRef,
    8261             : /* 14743*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    8262             : /* 14744*/      OPC_CheckFoldableChainNode,
    8263             : /* 14745*/      OPC_MoveChild1,
    8264             : /* 14746*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8265             : /* 14749*/      OPC_RecordChild0, // #1 = $off
    8266             : /* 14750*/      OPC_MoveChild0,
    8267             : /* 14751*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    8268             : /* 14754*/      OPC_MoveParent,
    8269             : /* 14755*/      OPC_MoveParent,
    8270             : /* 14756*/      OPC_RecordChild2, // #2 = $exp
    8271             : /* 14757*/      OPC_RecordChild3, // #3 = $new
    8272             : /* 14758*/      OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    8273             : /* 14760*/      OPC_MoveParent,
    8274             : /* 14761*/      OPC_CheckType, MVT::i32,
    8275             : /* 14763*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8276             : /* 14765*/      OPC_EmitMergeInputChains1_0,
    8277             : /* 14766*/      OPC_EmitInteger, MVT::i32, 0, 
    8278             : /* 14769*/      OPC_EmitInteger, MVT::i32, 0, 
    8279             : /* 14772*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8280             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8281             : /* 14779*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8282             :                     MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
    8283             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
    8284             :                 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    8285             : /* 14790*/    /*Scope*/ 56, /*->14847*/
    8286             : /* 14791*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8287             : /* 14795*/      OPC_MoveChild0,
    8288             : /* 14796*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    8289             : /* 14799*/      OPC_RecordMemRef,
    8290             : /* 14800*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    8291             : /* 14801*/      OPC_CheckFoldableChainNode,
    8292             : /* 14802*/      OPC_MoveChild1,
    8293             : /* 14803*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8294             : /* 14806*/      OPC_RecordChild0, // #1 = $off
    8295             : /* 14807*/      OPC_MoveChild0,
    8296             : /* 14808*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    8297             : /* 14811*/      OPC_MoveParent,
    8298             : /* 14812*/      OPC_MoveParent,
    8299             : /* 14813*/      OPC_RecordChild2, // #2 = $exp
    8300             : /* 14814*/      OPC_RecordChild3, // #3 = $new
    8301             : /* 14815*/      OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    8302             : /* 14817*/      OPC_MoveParent,
    8303             : /* 14818*/      OPC_CheckType, MVT::i32,
    8304             : /* 14820*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8305             : /* 14822*/      OPC_EmitMergeInputChains1_0,
    8306             : /* 14823*/      OPC_EmitInteger, MVT::i32, 0, 
    8307             : /* 14826*/      OPC_EmitInteger, MVT::i32, 0, 
    8308             : /* 14829*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8309             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8310             : /* 14836*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8311             :                     MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
    8312             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
    8313             :                 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    8314             : /* 14847*/    /*Scope*/ 55, /*->14903*/
    8315             : /* 14848*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8316             : /* 14851*/      OPC_MoveChild0,
    8317             : /* 14852*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    8318             : /* 14855*/      OPC_RecordMemRef,
    8319             : /* 14856*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    8320             : /* 14857*/      OPC_CheckFoldableChainNode,
    8321             : /* 14858*/      OPC_MoveChild1,
    8322             : /* 14859*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8323             : /* 14862*/      OPC_RecordChild0, // #1 = $off
    8324             : /* 14863*/      OPC_MoveChild0,
    8325             : /* 14864*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    8326             : /* 14867*/      OPC_MoveParent,
    8327             : /* 14868*/      OPC_MoveParent,
    8328             : /* 14869*/      OPC_RecordChild2, // #2 = $exp
    8329             : /* 14870*/      OPC_RecordChild3, // #3 = $new
    8330             : /* 14871*/      OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    8331             : /* 14873*/      OPC_MoveParent,
    8332             : /* 14874*/      OPC_CheckType, MVT::i32,
    8333             : /* 14876*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8334             : /* 14878*/      OPC_EmitMergeInputChains1_0,
    8335             : /* 14879*/      OPC_EmitInteger, MVT::i32, 0, 
    8336             : /* 14882*/      OPC_EmitInteger, MVT::i32, 0, 
    8337             : /* 14885*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8338             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8339             : /* 14892*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8340             :                     MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
    8341             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 18
    8342             :                 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    8343             : /* 14903*/    /*Scope*/ 56, /*->14960*/
    8344             : /* 14904*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8345             : /* 14908*/      OPC_MoveChild0,
    8346             : /* 14909*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    8347             : /* 14912*/      OPC_RecordMemRef,
    8348             : /* 14913*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    8349             : /* 14914*/      OPC_CheckFoldableChainNode,
    8350             : /* 14915*/      OPC_MoveChild1,
    8351             : /* 14916*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    8352             : /* 14919*/      OPC_RecordChild0, // #1 = $off
    8353             : /* 14920*/      OPC_MoveChild0,
    8354             : /* 14921*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    8355             : /* 14924*/      OPC_MoveParent,
    8356             : /* 14925*/      OPC_MoveParent,
    8357             : /* 14926*/      OPC_RecordChild2, // #2 = $exp
    8358             : /* 14927*/      OPC_RecordChild3, // #3 = $new
    8359             : /* 14928*/      OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    8360             : /* 14930*/      OPC_MoveParent,
    8361             : /* 14931*/      OPC_CheckType, MVT::i32,
    8362             : /* 14933*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8363             : /* 14935*/      OPC_EmitMergeInputChains1_0,
    8364             : /* 14936*/      OPC_EmitInteger, MVT::i32, 0, 
    8365             : /* 14939*/      OPC_EmitInteger, MVT::i32, 0, 
    8366             : /* 14942*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8367             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8368             : /* 14949*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8369             :                     MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
    8370             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 18
    8371             :                 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    8372             : /* 14960*/    /*Scope*/ 39, /*->15000*/
    8373             : /* 14961*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8374             : /* 14964*/      OPC_MoveChild0,
    8375             : /* 14965*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    8376             : /* 14968*/      OPC_MoveChild0,
    8377             : /* 14969*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    8378             : /* 14972*/      OPC_RecordMemRef,
    8379             : /* 14973*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    8380             : /* 14974*/      OPC_CheckFoldableChainNode,
    8381             : /* 14975*/      OPC_RecordChild1, // #1 = $addr
    8382             : /* 14976*/      OPC_CheckChild1Type, MVT::i32,
    8383             : /* 14978*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    8384             : /* 14980*/      OPC_MoveParent,
    8385             : /* 14981*/      OPC_MoveParent,
    8386             : /* 14982*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8387             : /* 14984*/      OPC_EmitMergeInputChains1_0,
    8388             : /* 14985*/      OPC_EmitInteger, MVT::i32, 0, 
    8389             : /* 14988*/      OPC_EmitInteger, MVT::i32, 0, 
    8390             : /* 14991*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    8391             :                     MVT::i64, 3/*#Ops*/, 2, 3, 1, 
    8392             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>>), 255:{ *:[i64] }) - Complexity = 15
    8393             :                 // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
    8394             : /* 15000*/    /*Scope*/ 40, /*->15041*/
    8395             : /* 15001*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8396             : /* 15005*/      OPC_MoveChild0,
    8397             : /* 15006*/      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    8398             : /* 15009*/      OPC_MoveChild0,
    8399             : /* 15010*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    8400             : /* 15013*/      OPC_RecordMemRef,
    8401             : /* 15014*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    8402             : /* 15015*/      OPC_CheckFoldableChainNode,
    8403             : /* 15016*/      OPC_RecordChild1, // #1 = $addr
    8404             : /* 15017*/      OPC_CheckChild1Type, MVT::i32,
    8405             : /* 15019*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    8406             : /* 15021*/      OPC_MoveParent,
    8407             : /* 15022*/      OPC_MoveParent,
    8408             : /* 15023*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8409             : /* 15025*/      OPC_EmitMergeInputChains1_0,
    8410             : /* 15026*/      OPC_EmitInteger, MVT::i32, 0, 
    8411             : /* 15029*/      OPC_EmitInteger, MVT::i32, 0, 
    8412             : /* 15032*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
    8413             :                     MVT::i64, 3/*#Ops*/, 2, 3, 1, 
    8414             :                 // Src: (and:{ *:[i64] } (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>>), 65535:{ *:[i64] }) - Complexity = 15
    8415             :                 // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
    8416             : /* 15041*/    /*Scope*/ 35, /*->15077*/
    8417             : /* 15042*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8418             : /* 15045*/      OPC_MoveChild0,
    8419             : /* 15046*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    8420             : /* 15049*/      OPC_RecordChild0, // #0 = $vec
    8421             : /* 15050*/      OPC_CheckChild0Type, MVT::v16i8,
    8422             : /* 15052*/      OPC_RecordChild1, // #1 = $idx
    8423             : /* 15053*/      OPC_MoveChild1,
    8424             : /* 15054*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8425             : /* 15057*/      OPC_CheckPredicate, 5, // Predicate_LaneIdx16
    8426             : /* 15059*/      OPC_CheckType, MVT::i32,
    8427             : /* 15061*/      OPC_MoveParent,
    8428             : /* 15062*/      OPC_MoveParent,
    8429             : /* 15063*/      OPC_CheckType, MVT::i32,
    8430             : /* 15065*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
    8431             : /* 15067*/      OPC_EmitConvertToTarget, 1,
    8432             : /* 15069*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v16i8_u), 0,
    8433             :                     MVT::i32, 2/*#Ops*/, 0, 2, 
    8434             :                 // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx), 255:{ *:[i32] }) - Complexity = 15
    8435             :                 // Dst: (EXTRACT_LANE_v16i8_u:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] }):$idx)
    8436             : /* 15077*/    /*Scope*/ 36, /*->15114*/
    8437             : /* 15078*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8438             : /* 15082*/      OPC_MoveChild0,
    8439             : /* 15083*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    8440             : /* 15086*/      OPC_RecordChild0, // #0 = $vec
    8441             : /* 15087*/      OPC_CheckChild0Type, MVT::v8i16,
    8442             : /* 15089*/      OPC_RecordChild1, // #1 = $idx
    8443             : /* 15090*/      OPC_MoveChild1,
    8444             : /* 15091*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8445             : /* 15094*/      OPC_CheckPredicate, 6, // Predicate_LaneIdx8
    8446             : /* 15096*/      OPC_CheckType, MVT::i32,
    8447             : /* 15098*/      OPC_MoveParent,
    8448             : /* 15099*/      OPC_MoveParent,
    8449             : /* 15100*/      OPC_CheckType, MVT::i32,
    8450             : /* 15102*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
    8451             : /* 15104*/      OPC_EmitConvertToTarget, 1,
    8452             : /* 15106*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v8i16_u), 0,
    8453             :                     MVT::i32, 2/*#Ops*/, 0, 2, 
    8454             :                 // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx), 65535:{ *:[i32] }) - Complexity = 15
    8455             :                 // Dst: (EXTRACT_LANE_v8i16_u:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] }):$idx)
    8456             : /* 15114*/    /*Scope*/ 48, /*->15163*/
    8457             : /* 15115*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8458             : /* 15118*/      OPC_MoveChild0,
    8459             : /* 15119*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    8460             : /* 15122*/      OPC_RecordMemRef,
    8461             : /* 15123*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    8462             : /* 15124*/      OPC_CheckFoldableChainNode,
    8463             : /* 15125*/      OPC_RecordChild1, // #1 = $off
    8464             : /* 15126*/      OPC_MoveChild1,
    8465             : /* 15127*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8466             : /* 15130*/      OPC_MoveParent,
    8467             : /* 15131*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    8468             : /* 15133*/      OPC_MoveParent,
    8469             : /* 15134*/      OPC_CheckType, MVT::i32,
    8470             : /* 15136*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8471             : /* 15138*/      OPC_EmitMergeInputChains1_0,
    8472             : /* 15139*/      OPC_EmitInteger, MVT::i32, 0, 
    8473             : /* 15142*/      OPC_EmitConvertToTarget, 1,
    8474             : /* 15144*/      OPC_EmitInteger, MVT::i32, 0, 
    8475             : /* 15147*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8476             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8477             : /* 15154*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8478             :                     MVT::i32, 3/*#Ops*/, 2, 3, 5, 
    8479             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 15
    8480             :                 // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    8481             : /* 15163*/    /*Scope*/ 49, /*->15213*/
    8482             : /* 15164*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8483             : /* 15168*/      OPC_MoveChild0,
    8484             : /* 15169*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    8485             : /* 15172*/      OPC_RecordMemRef,
    8486             : /* 15173*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    8487             : /* 15174*/      OPC_CheckFoldableChainNode,
    8488             : /* 15175*/      OPC_RecordChild1, // #1 = $off
    8489             : /* 15176*/      OPC_MoveChild1,
    8490             : /* 15177*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8491             : /* 15180*/      OPC_MoveParent,
    8492             : /* 15181*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    8493             : /* 15183*/      OPC_MoveParent,
    8494             : /* 15184*/      OPC_CheckType, MVT::i32,
    8495             : /* 15186*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8496             : /* 15188*/      OPC_EmitMergeInputChains1_0,
    8497             : /* 15189*/      OPC_EmitInteger, MVT::i32, 0, 
    8498             : /* 15192*/      OPC_EmitConvertToTarget, 1,
    8499             : /* 15194*/      OPC_EmitInteger, MVT::i32, 0, 
    8500             : /* 15197*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8501             :                     MVT::i32, 1/*#Ops*/, 4,  // Results = #5
    8502             : /* 15204*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8503             :                     MVT::i32, 3/*#Ops*/, 2, 3, 5, 
    8504             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 15
    8505             :                 // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
    8506             : /* 15213*/    /*Scope*/ 50, /*->15264*/
    8507             : /* 15214*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8508             : /* 15217*/      OPC_MoveChild0,
    8509             : /* 15218*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    8510             : /* 15221*/      OPC_RecordMemRef,
    8511             : /* 15222*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    8512             : /* 15223*/      OPC_CheckFoldableChainNode,
    8513             : /* 15224*/      OPC_RecordChild1, // #1 = $off
    8514             : /* 15225*/      OPC_MoveChild1,
    8515             : /* 15226*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8516             : /* 15229*/      OPC_MoveParent,
    8517             : /* 15230*/      OPC_RecordChild2, // #2 = $val
    8518             : /* 15231*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    8519             : /* 15233*/      OPC_MoveParent,
    8520             : /* 15234*/      OPC_CheckType, MVT::i32,
    8521             : /* 15236*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8522             : /* 15238*/      OPC_EmitMergeInputChains1_0,
    8523             : /* 15239*/      OPC_EmitInteger, MVT::i32, 0, 
    8524             : /* 15242*/      OPC_EmitConvertToTarget, 1,
    8525             : /* 15244*/      OPC_EmitInteger, MVT::i32, 0, 
    8526             : /* 15247*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8527             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8528             : /* 15254*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8529             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8530             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 15
    8531             :                 // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8532             : /* 15264*/    /*Scope*/ 51, /*->15316*/
    8533             : /* 15265*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8534             : /* 15269*/      OPC_MoveChild0,
    8535             : /* 15270*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    8536             : /* 15273*/      OPC_RecordMemRef,
    8537             : /* 15274*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    8538             : /* 15275*/      OPC_CheckFoldableChainNode,
    8539             : /* 15276*/      OPC_RecordChild1, // #1 = $off
    8540             : /* 15277*/      OPC_MoveChild1,
    8541             : /* 15278*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8542             : /* 15281*/      OPC_MoveParent,
    8543             : /* 15282*/      OPC_RecordChild2, // #2 = $val
    8544             : /* 15283*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    8545             : /* 15285*/      OPC_MoveParent,
    8546             : /* 15286*/      OPC_CheckType, MVT::i32,
    8547             : /* 15288*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8548             : /* 15290*/      OPC_EmitMergeInputChains1_0,
    8549             : /* 15291*/      OPC_EmitInteger, MVT::i32, 0, 
    8550             : /* 15294*/      OPC_EmitConvertToTarget, 1,
    8551             : /* 15296*/      OPC_EmitInteger, MVT::i32, 0, 
    8552             : /* 15299*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8553             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8554             : /* 15306*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8555             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8556             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 15
    8557             :                 // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8558             : /* 15316*/    /*Scope*/ 50, /*->15367*/
    8559             : /* 15317*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8560             : /* 15320*/      OPC_MoveChild0,
    8561             : /* 15321*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    8562             : /* 15324*/      OPC_RecordMemRef,
    8563             : /* 15325*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    8564             : /* 15326*/      OPC_CheckFoldableChainNode,
    8565             : /* 15327*/      OPC_RecordChild1, // #1 = $off
    8566             : /* 15328*/      OPC_MoveChild1,
    8567             : /* 15329*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8568             : /* 15332*/      OPC_MoveParent,
    8569             : /* 15333*/      OPC_RecordChild2, // #2 = $val
    8570             : /* 15334*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    8571             : /* 15336*/      OPC_MoveParent,
    8572             : /* 15337*/      OPC_CheckType, MVT::i32,
    8573             : /* 15339*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8574             : /* 15341*/      OPC_EmitMergeInputChains1_0,
    8575             : /* 15342*/      OPC_EmitInteger, MVT::i32, 0, 
    8576             : /* 15345*/      OPC_EmitConvertToTarget, 1,
    8577             : /* 15347*/      OPC_EmitInteger, MVT::i32, 0, 
    8578             : /* 15350*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8579             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8580             : /* 15357*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8581             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8582             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 15
    8583             :                 // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8584             : /* 15367*/    /*Scope*/ 51, /*->15419*/
    8585             : /* 15368*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8586             : /* 15372*/      OPC_MoveChild0,
    8587             : /* 15373*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    8588             : /* 15376*/      OPC_RecordMemRef,
    8589             : /* 15377*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    8590             : /* 15378*/      OPC_CheckFoldableChainNode,
    8591             : /* 15379*/      OPC_RecordChild1, // #1 = $off
    8592             : /* 15380*/      OPC_MoveChild1,
    8593             : /* 15381*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8594             : /* 15384*/      OPC_MoveParent,
    8595             : /* 15385*/      OPC_RecordChild2, // #2 = $val
    8596             : /* 15386*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    8597             : /* 15388*/      OPC_MoveParent,
    8598             : /* 15389*/      OPC_CheckType, MVT::i32,
    8599             : /* 15391*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8600             : /* 15393*/      OPC_EmitMergeInputChains1_0,
    8601             : /* 15394*/      OPC_EmitInteger, MVT::i32, 0, 
    8602             : /* 15397*/      OPC_EmitConvertToTarget, 1,
    8603             : /* 15399*/      OPC_EmitInteger, MVT::i32, 0, 
    8604             : /* 15402*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8605             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8606             : /* 15409*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8607             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8608             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 15
    8609             :                 // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8610             : /* 15419*/    /*Scope*/ 50, /*->15470*/
    8611             : /* 15420*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8612             : /* 15423*/      OPC_MoveChild0,
    8613             : /* 15424*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    8614             : /* 15427*/      OPC_RecordMemRef,
    8615             : /* 15428*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    8616             : /* 15429*/      OPC_CheckFoldableChainNode,
    8617             : /* 15430*/      OPC_RecordChild1, // #1 = $off
    8618             : /* 15431*/      OPC_MoveChild1,
    8619             : /* 15432*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8620             : /* 15435*/      OPC_MoveParent,
    8621             : /* 15436*/      OPC_RecordChild2, // #2 = $val
    8622             : /* 15437*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    8623             : /* 15439*/      OPC_MoveParent,
    8624             : /* 15440*/      OPC_CheckType, MVT::i32,
    8625             : /* 15442*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8626             : /* 15444*/      OPC_EmitMergeInputChains1_0,
    8627             : /* 15445*/      OPC_EmitInteger, MVT::i32, 0, 
    8628             : /* 15448*/      OPC_EmitConvertToTarget, 1,
    8629             : /* 15450*/      OPC_EmitInteger, MVT::i32, 0, 
    8630             : /* 15453*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8631             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8632             : /* 15460*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8633             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8634             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 15
    8635             :                 // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8636             : /* 15470*/    /*Scope*/ 51, /*->15522*/
    8637             : /* 15471*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8638             : /* 15475*/      OPC_MoveChild0,
    8639             : /* 15476*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    8640             : /* 15479*/      OPC_RecordMemRef,
    8641             : /* 15480*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    8642             : /* 15481*/      OPC_CheckFoldableChainNode,
    8643             : /* 15482*/      OPC_RecordChild1, // #1 = $off
    8644             : /* 15483*/      OPC_MoveChild1,
    8645             : /* 15484*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8646             : /* 15487*/      OPC_MoveParent,
    8647             : /* 15488*/      OPC_RecordChild2, // #2 = $val
    8648             : /* 15489*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    8649             : /* 15491*/      OPC_MoveParent,
    8650             : /* 15492*/      OPC_CheckType, MVT::i32,
    8651             : /* 15494*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8652             : /* 15496*/      OPC_EmitMergeInputChains1_0,
    8653             : /* 15497*/      OPC_EmitInteger, MVT::i32, 0, 
    8654             : /* 15500*/      OPC_EmitConvertToTarget, 1,
    8655             : /* 15502*/      OPC_EmitInteger, MVT::i32, 0, 
    8656             : /* 15505*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8657             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8658             : /* 15512*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8659             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8660             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 15
    8661             :                 // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8662             : /* 15522*/    /*Scope*/ 50, /*->15573*/
    8663             : /* 15523*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8664             : /* 15526*/      OPC_MoveChild0,
    8665             : /* 15527*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    8666             : /* 15530*/      OPC_RecordMemRef,
    8667             : /* 15531*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    8668             : /* 15532*/      OPC_CheckFoldableChainNode,
    8669             : /* 15533*/      OPC_RecordChild1, // #1 = $off
    8670             : /* 15534*/      OPC_MoveChild1,
    8671             : /* 15535*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8672             : /* 15538*/      OPC_MoveParent,
    8673             : /* 15539*/      OPC_RecordChild2, // #2 = $val
    8674             : /* 15540*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    8675             : /* 15542*/      OPC_MoveParent,
    8676             : /* 15543*/      OPC_CheckType, MVT::i32,
    8677             : /* 15545*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8678             : /* 15547*/      OPC_EmitMergeInputChains1_0,
    8679             : /* 15548*/      OPC_EmitInteger, MVT::i32, 0, 
    8680             : /* 15551*/      OPC_EmitConvertToTarget, 1,
    8681             : /* 15553*/      OPC_EmitInteger, MVT::i32, 0, 
    8682             : /* 15556*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8683             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8684             : /* 15563*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8685             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8686             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 15
    8687             :                 // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8688             : /* 15573*/    /*Scope*/ 51, /*->15625*/
    8689             : /* 15574*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8690             : /* 15578*/      OPC_MoveChild0,
    8691             : /* 15579*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    8692             : /* 15582*/      OPC_RecordMemRef,
    8693             : /* 15583*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    8694             : /* 15584*/      OPC_CheckFoldableChainNode,
    8695             : /* 15585*/      OPC_RecordChild1, // #1 = $off
    8696             : /* 15586*/      OPC_MoveChild1,
    8697             : /* 15587*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8698             : /* 15590*/      OPC_MoveParent,
    8699             : /* 15591*/      OPC_RecordChild2, // #2 = $val
    8700             : /* 15592*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    8701             : /* 15594*/      OPC_MoveParent,
    8702             : /* 15595*/      OPC_CheckType, MVT::i32,
    8703             : /* 15597*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8704             : /* 15599*/      OPC_EmitMergeInputChains1_0,
    8705             : /* 15600*/      OPC_EmitInteger, MVT::i32, 0, 
    8706             : /* 15603*/      OPC_EmitConvertToTarget, 1,
    8707             : /* 15605*/      OPC_EmitInteger, MVT::i32, 0, 
    8708             : /* 15608*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8709             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8710             : /* 15615*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8711             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8712             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 15
    8713             :                 // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8714             : /* 15625*/    /*Scope*/ 50, /*->15676*/
    8715             : /* 15626*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8716             : /* 15629*/      OPC_MoveChild0,
    8717             : /* 15630*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    8718             : /* 15633*/      OPC_RecordMemRef,
    8719             : /* 15634*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    8720             : /* 15635*/      OPC_CheckFoldableChainNode,
    8721             : /* 15636*/      OPC_RecordChild1, // #1 = $off
    8722             : /* 15637*/      OPC_MoveChild1,
    8723             : /* 15638*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8724             : /* 15641*/      OPC_MoveParent,
    8725             : /* 15642*/      OPC_RecordChild2, // #2 = $val
    8726             : /* 15643*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    8727             : /* 15645*/      OPC_MoveParent,
    8728             : /* 15646*/      OPC_CheckType, MVT::i32,
    8729             : /* 15648*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8730             : /* 15650*/      OPC_EmitMergeInputChains1_0,
    8731             : /* 15651*/      OPC_EmitInteger, MVT::i32, 0, 
    8732             : /* 15654*/      OPC_EmitConvertToTarget, 1,
    8733             : /* 15656*/      OPC_EmitInteger, MVT::i32, 0, 
    8734             : /* 15659*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8735             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8736             : /* 15666*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8737             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8738             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 15
    8739             :                 // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8740             : /* 15676*/    /*Scope*/ 51, /*->15728*/
    8741             : /* 15677*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8742             : /* 15681*/      OPC_MoveChild0,
    8743             : /* 15682*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    8744             : /* 15685*/      OPC_RecordMemRef,
    8745             : /* 15686*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    8746             : /* 15687*/      OPC_CheckFoldableChainNode,
    8747             : /* 15688*/      OPC_RecordChild1, // #1 = $off
    8748             : /* 15689*/      OPC_MoveChild1,
    8749             : /* 15690*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8750             : /* 15693*/      OPC_MoveParent,
    8751             : /* 15694*/      OPC_RecordChild2, // #2 = $val
    8752             : /* 15695*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    8753             : /* 15697*/      OPC_MoveParent,
    8754             : /* 15698*/      OPC_CheckType, MVT::i32,
    8755             : /* 15700*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8756             : /* 15702*/      OPC_EmitMergeInputChains1_0,
    8757             : /* 15703*/      OPC_EmitInteger, MVT::i32, 0, 
    8758             : /* 15706*/      OPC_EmitConvertToTarget, 1,
    8759             : /* 15708*/      OPC_EmitInteger, MVT::i32, 0, 
    8760             : /* 15711*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8761             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8762             : /* 15718*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8763             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8764             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 15
    8765             :                 // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8766             : /* 15728*/    /*Scope*/ 50, /*->15779*/
    8767             : /* 15729*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8768             : /* 15732*/      OPC_MoveChild0,
    8769             : /* 15733*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    8770             : /* 15736*/      OPC_RecordMemRef,
    8771             : /* 15737*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    8772             : /* 15738*/      OPC_CheckFoldableChainNode,
    8773             : /* 15739*/      OPC_RecordChild1, // #1 = $off
    8774             : /* 15740*/      OPC_MoveChild1,
    8775             : /* 15741*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8776             : /* 15744*/      OPC_MoveParent,
    8777             : /* 15745*/      OPC_RecordChild2, // #2 = $val
    8778             : /* 15746*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    8779             : /* 15748*/      OPC_MoveParent,
    8780             : /* 15749*/      OPC_CheckType, MVT::i32,
    8781             : /* 15751*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8782             : /* 15753*/      OPC_EmitMergeInputChains1_0,
    8783             : /* 15754*/      OPC_EmitInteger, MVT::i32, 0, 
    8784             : /* 15757*/      OPC_EmitConvertToTarget, 1,
    8785             : /* 15759*/      OPC_EmitInteger, MVT::i32, 0, 
    8786             : /* 15762*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8787             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8788             : /* 15769*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8789             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8790             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 15
    8791             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8792             : /* 15779*/    /*Scope*/ 51, /*->15831*/
    8793             : /* 15780*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8794             : /* 15784*/      OPC_MoveChild0,
    8795             : /* 15785*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    8796             : /* 15788*/      OPC_RecordMemRef,
    8797             : /* 15789*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    8798             : /* 15790*/      OPC_CheckFoldableChainNode,
    8799             : /* 15791*/      OPC_RecordChild1, // #1 = $off
    8800             : /* 15792*/      OPC_MoveChild1,
    8801             : /* 15793*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8802             : /* 15796*/      OPC_MoveParent,
    8803             : /* 15797*/      OPC_RecordChild2, // #2 = $val
    8804             : /* 15798*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    8805             : /* 15800*/      OPC_MoveParent,
    8806             : /* 15801*/      OPC_CheckType, MVT::i32,
    8807             : /* 15803*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8808             : /* 15805*/      OPC_EmitMergeInputChains1_0,
    8809             : /* 15806*/      OPC_EmitInteger, MVT::i32, 0, 
    8810             : /* 15809*/      OPC_EmitConvertToTarget, 1,
    8811             : /* 15811*/      OPC_EmitInteger, MVT::i32, 0, 
    8812             : /* 15814*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8813             :                     MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    8814             : /* 15821*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8815             :                     MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
    8816             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 15
    8817             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
    8818             : /* 15831*/    /*Scope*/ 52, /*->15884*/
    8819             : /* 15832*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8820             : /* 15835*/      OPC_MoveChild0,
    8821             : /* 15836*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    8822             : /* 15839*/      OPC_RecordMemRef,
    8823             : /* 15840*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    8824             : /* 15841*/      OPC_CheckFoldableChainNode,
    8825             : /* 15842*/      OPC_RecordChild1, // #1 = $off
    8826             : /* 15843*/      OPC_MoveChild1,
    8827             : /* 15844*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8828             : /* 15847*/      OPC_MoveParent,
    8829             : /* 15848*/      OPC_RecordChild2, // #2 = $exp
    8830             : /* 15849*/      OPC_RecordChild3, // #3 = $new
    8831             : /* 15850*/      OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    8832             : /* 15852*/      OPC_MoveParent,
    8833             : /* 15853*/      OPC_CheckType, MVT::i32,
    8834             : /* 15855*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8835             : /* 15857*/      OPC_EmitMergeInputChains1_0,
    8836             : /* 15858*/      OPC_EmitInteger, MVT::i32, 0, 
    8837             : /* 15861*/      OPC_EmitConvertToTarget, 1,
    8838             : /* 15863*/      OPC_EmitInteger, MVT::i32, 0, 
    8839             : /* 15866*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8840             :                     MVT::i32, 1/*#Ops*/, 6,  // Results = #7
    8841             : /* 15873*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8842             :                     MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3, 
    8843             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 15
    8844             :                 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    8845             : /* 15884*/    /*Scope*/ 53, /*->15938*/
    8846             : /* 15885*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8847             : /* 15889*/      OPC_MoveChild0,
    8848             : /* 15890*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    8849             : /* 15893*/      OPC_RecordMemRef,
    8850             : /* 15894*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    8851             : /* 15895*/      OPC_CheckFoldableChainNode,
    8852             : /* 15896*/      OPC_RecordChild1, // #1 = $off
    8853             : /* 15897*/      OPC_MoveChild1,
    8854             : /* 15898*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    8855             : /* 15901*/      OPC_MoveParent,
    8856             : /* 15902*/      OPC_RecordChild2, // #2 = $exp
    8857             : /* 15903*/      OPC_RecordChild3, // #3 = $new
    8858             : /* 15904*/      OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    8859             : /* 15906*/      OPC_MoveParent,
    8860             : /* 15907*/      OPC_CheckType, MVT::i32,
    8861             : /* 15909*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8862             : /* 15911*/      OPC_EmitMergeInputChains1_0,
    8863             : /* 15912*/      OPC_EmitInteger, MVT::i32, 0, 
    8864             : /* 15915*/      OPC_EmitConvertToTarget, 1,
    8865             : /* 15917*/      OPC_EmitInteger, MVT::i32, 0, 
    8866             : /* 15920*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    8867             :                     MVT::i32, 1/*#Ops*/, 6,  // Results = #7
    8868             : /* 15927*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8869             :                     MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3, 
    8870             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 15
    8871             :                 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    8872             : /* 15938*/    /*Scope*/ 36, /*->15975*/
    8873             : /* 15939*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8874             : /* 15942*/      OPC_MoveChild0,
    8875             : /* 15943*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    8876             : /* 15946*/      OPC_RecordMemRef,
    8877             : /* 15947*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    8878             : /* 15948*/      OPC_CheckFoldableChainNode,
    8879             : /* 15949*/      OPC_RecordChild1, // #1 = $addr
    8880             : /* 15950*/      OPC_CheckChild1Type, MVT::i32,
    8881             : /* 15952*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_8
    8882             : /* 15954*/      OPC_MoveParent,
    8883             : /* 15955*/      OPC_CheckType, MVT::i32,
    8884             : /* 15957*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8885             : /* 15959*/      OPC_EmitMergeInputChains1_0,
    8886             : /* 15960*/      OPC_EmitInteger, MVT::i32, 0, 
    8887             : /* 15963*/      OPC_EmitInteger, MVT::i32, 0, 
    8888             : /* 15966*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8889             :                     MVT::i32, 3/*#Ops*/, 2, 3, 1, 
    8890             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>>, 255:{ *:[i32] }) - Complexity = 12
    8891             :                 // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
    8892             : /* 15975*/    /*Scope*/ 37, /*->16013*/
    8893             : /* 15976*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8894             : /* 15980*/      OPC_MoveChild0,
    8895             : /* 15981*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD),
    8896             : /* 15984*/      OPC_RecordMemRef,
    8897             : /* 15985*/      OPC_RecordNode, // #0 = 'atomic_load' chained node
    8898             : /* 15986*/      OPC_CheckFoldableChainNode,
    8899             : /* 15987*/      OPC_RecordChild1, // #1 = $addr
    8900             : /* 15988*/      OPC_CheckChild1Type, MVT::i32,
    8901             : /* 15990*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_16
    8902             : /* 15992*/      OPC_MoveParent,
    8903             : /* 15993*/      OPC_CheckType, MVT::i32,
    8904             : /* 15995*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8905             : /* 15997*/      OPC_EmitMergeInputChains1_0,
    8906             : /* 15998*/      OPC_EmitInteger, MVT::i32, 0, 
    8907             : /* 16001*/      OPC_EmitInteger, MVT::i32, 0, 
    8908             : /* 16004*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8909             :                     MVT::i32, 3/*#Ops*/, 2, 3, 1, 
    8910             :                 // Src: (and:{ *:[i32] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>>, 65535:{ *:[i32] }) - Complexity = 12
    8911             :                 // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
    8912             : /* 16013*/    /*Scope*/ 38, /*->16052*/
    8913             : /* 16014*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8914             : /* 16017*/      OPC_MoveChild0,
    8915             : /* 16018*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    8916             : /* 16021*/      OPC_RecordMemRef,
    8917             : /* 16022*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    8918             : /* 16023*/      OPC_CheckFoldableChainNode,
    8919             : /* 16024*/      OPC_RecordChild1, // #1 = $addr
    8920             : /* 16025*/      OPC_CheckChild1Type, MVT::i32,
    8921             : /* 16027*/      OPC_RecordChild2, // #2 = $val
    8922             : /* 16028*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
    8923             : /* 16030*/      OPC_MoveParent,
    8924             : /* 16031*/      OPC_CheckType, MVT::i32,
    8925             : /* 16033*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8926             : /* 16035*/      OPC_EmitMergeInputChains1_0,
    8927             : /* 16036*/      OPC_EmitInteger, MVT::i32, 0, 
    8928             : /* 16039*/      OPC_EmitInteger, MVT::i32, 0, 
    8929             : /* 16042*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8930             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    8931             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>>, 255:{ *:[i32] }) - Complexity = 12
    8932             :                 // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    8933             : /* 16052*/    /*Scope*/ 39, /*->16092*/
    8934             : /* 16053*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8935             : /* 16057*/      OPC_MoveChild0,
    8936             : /* 16058*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),
    8937             : /* 16061*/      OPC_RecordMemRef,
    8938             : /* 16062*/      OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    8939             : /* 16063*/      OPC_CheckFoldableChainNode,
    8940             : /* 16064*/      OPC_RecordChild1, // #1 = $addr
    8941             : /* 16065*/      OPC_CheckChild1Type, MVT::i32,
    8942             : /* 16067*/      OPC_RecordChild2, // #2 = $val
    8943             : /* 16068*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
    8944             : /* 16070*/      OPC_MoveParent,
    8945             : /* 16071*/      OPC_CheckType, MVT::i32,
    8946             : /* 16073*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8947             : /* 16075*/      OPC_EmitMergeInputChains1_0,
    8948             : /* 16076*/      OPC_EmitInteger, MVT::i32, 0, 
    8949             : /* 16079*/      OPC_EmitInteger, MVT::i32, 0, 
    8950             : /* 16082*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8951             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    8952             :                 // Src: (and:{ *:[i32] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>>, 65535:{ *:[i32] }) - Complexity = 12
    8953             :                 // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    8954             : /* 16092*/    /*Scope*/ 38, /*->16131*/
    8955             : /* 16093*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8956             : /* 16096*/      OPC_MoveChild0,
    8957             : /* 16097*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    8958             : /* 16100*/      OPC_RecordMemRef,
    8959             : /* 16101*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    8960             : /* 16102*/      OPC_CheckFoldableChainNode,
    8961             : /* 16103*/      OPC_RecordChild1, // #1 = $addr
    8962             : /* 16104*/      OPC_CheckChild1Type, MVT::i32,
    8963             : /* 16106*/      OPC_RecordChild2, // #2 = $val
    8964             : /* 16107*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
    8965             : /* 16109*/      OPC_MoveParent,
    8966             : /* 16110*/      OPC_CheckType, MVT::i32,
    8967             : /* 16112*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8968             : /* 16114*/      OPC_EmitMergeInputChains1_0,
    8969             : /* 16115*/      OPC_EmitInteger, MVT::i32, 0, 
    8970             : /* 16118*/      OPC_EmitInteger, MVT::i32, 0, 
    8971             : /* 16121*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8972             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    8973             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>>, 255:{ *:[i32] }) - Complexity = 12
    8974             :                 // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    8975             : /* 16131*/    /*Scope*/ 39, /*->16171*/
    8976             : /* 16132*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    8977             : /* 16136*/      OPC_MoveChild0,
    8978             : /* 16137*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),
    8979             : /* 16140*/      OPC_RecordMemRef,
    8980             : /* 16141*/      OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
    8981             : /* 16142*/      OPC_CheckFoldableChainNode,
    8982             : /* 16143*/      OPC_RecordChild1, // #1 = $addr
    8983             : /* 16144*/      OPC_CheckChild1Type, MVT::i32,
    8984             : /* 16146*/      OPC_RecordChild2, // #2 = $val
    8985             : /* 16147*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
    8986             : /* 16149*/      OPC_MoveParent,
    8987             : /* 16150*/      OPC_CheckType, MVT::i32,
    8988             : /* 16152*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    8989             : /* 16154*/      OPC_EmitMergeInputChains1_0,
    8990             : /* 16155*/      OPC_EmitInteger, MVT::i32, 0, 
    8991             : /* 16158*/      OPC_EmitInteger, MVT::i32, 0, 
    8992             : /* 16161*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
    8993             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    8994             :                 // Src: (and:{ *:[i32] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>>, 65535:{ *:[i32] }) - Complexity = 12
    8995             :                 // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    8996             : /* 16171*/    /*Scope*/ 38, /*->16210*/
    8997             : /* 16172*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    8998             : /* 16175*/      OPC_MoveChild0,
    8999             : /* 16176*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    9000             : /* 16179*/      OPC_RecordMemRef,
    9001             : /* 16180*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    9002             : /* 16181*/      OPC_CheckFoldableChainNode,
    9003             : /* 16182*/      OPC_RecordChild1, // #1 = $addr
    9004             : /* 16183*/      OPC_CheckChild1Type, MVT::i32,
    9005             : /* 16185*/      OPC_RecordChild2, // #2 = $val
    9006             : /* 16186*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
    9007             : /* 16188*/      OPC_MoveParent,
    9008             : /* 16189*/      OPC_CheckType, MVT::i32,
    9009             : /* 16191*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9010             : /* 16193*/      OPC_EmitMergeInputChains1_0,
    9011             : /* 16194*/      OPC_EmitInteger, MVT::i32, 0, 
    9012             : /* 16197*/      OPC_EmitInteger, MVT::i32, 0, 
    9013             : /* 16200*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    9014             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    9015             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>>, 255:{ *:[i32] }) - Complexity = 12
    9016             :                 // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    9017             : /* 16210*/    /*Scope*/ 39, /*->16250*/
    9018             : /* 16211*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    9019             : /* 16215*/      OPC_MoveChild0,
    9020             : /* 16216*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_AND),
    9021             : /* 16219*/      OPC_RecordMemRef,
    9022             : /* 16220*/      OPC_RecordNode, // #0 = 'atomic_load_and' chained node
    9023             : /* 16221*/      OPC_CheckFoldableChainNode,
    9024             : /* 16222*/      OPC_RecordChild1, // #1 = $addr
    9025             : /* 16223*/      OPC_CheckChild1Type, MVT::i32,
    9026             : /* 16225*/      OPC_RecordChild2, // #2 = $val
    9027             : /* 16226*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
    9028             : /* 16228*/      OPC_MoveParent,
    9029             : /* 16229*/      OPC_CheckType, MVT::i32,
    9030             : /* 16231*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9031             : /* 16233*/      OPC_EmitMergeInputChains1_0,
    9032             : /* 16234*/      OPC_EmitInteger, MVT::i32, 0, 
    9033             : /* 16237*/      OPC_EmitInteger, MVT::i32, 0, 
    9034             : /* 16240*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
    9035             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    9036             :                 // Src: (and:{ *:[i32] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>>, 65535:{ *:[i32] }) - Complexity = 12
    9037             :                 // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    9038             : /* 16250*/    /*Scope*/ 38, /*->16289*/
    9039             : /* 16251*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    9040             : /* 16254*/      OPC_MoveChild0,
    9041             : /* 16255*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    9042             : /* 16258*/      OPC_RecordMemRef,
    9043             : /* 16259*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    9044             : /* 16260*/      OPC_CheckFoldableChainNode,
    9045             : /* 16261*/      OPC_RecordChild1, // #1 = $addr
    9046             : /* 16262*/      OPC_CheckChild1Type, MVT::i32,
    9047             : /* 16264*/      OPC_RecordChild2, // #2 = $val
    9048             : /* 16265*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
    9049             : /* 16267*/      OPC_MoveParent,
    9050             : /* 16268*/      OPC_CheckType, MVT::i32,
    9051             : /* 16270*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9052             : /* 16272*/      OPC_EmitMergeInputChains1_0,
    9053             : /* 16273*/      OPC_EmitInteger, MVT::i32, 0, 
    9054             : /* 16276*/      OPC_EmitInteger, MVT::i32, 0, 
    9055             : /* 16279*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    9056             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    9057             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>>, 255:{ *:[i32] }) - Complexity = 12
    9058             :                 // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    9059             : /* 16289*/    /*Scope*/ 39, /*->16329*/
    9060             : /* 16290*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    9061             : /* 16294*/      OPC_MoveChild0,
    9062             : /* 16295*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_OR),
    9063             : /* 16298*/      OPC_RecordMemRef,
    9064             : /* 16299*/      OPC_RecordNode, // #0 = 'atomic_load_or' chained node
    9065             : /* 16300*/      OPC_CheckFoldableChainNode,
    9066             : /* 16301*/      OPC_RecordChild1, // #1 = $addr
    9067             : /* 16302*/      OPC_CheckChild1Type, MVT::i32,
    9068             : /* 16304*/      OPC_RecordChild2, // #2 = $val
    9069             : /* 16305*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
    9070             : /* 16307*/      OPC_MoveParent,
    9071             : /* 16308*/      OPC_CheckType, MVT::i32,
    9072             : /* 16310*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9073             : /* 16312*/      OPC_EmitMergeInputChains1_0,
    9074             : /* 16313*/      OPC_EmitInteger, MVT::i32, 0, 
    9075             : /* 16316*/      OPC_EmitInteger, MVT::i32, 0, 
    9076             : /* 16319*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    9077             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    9078             :                 // Src: (and:{ *:[i32] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>>, 65535:{ *:[i32] }) - Complexity = 12
    9079             :                 // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    9080             : /* 16329*/    /*Scope*/ 38, /*->16368*/
    9081             : /* 16330*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    9082             : /* 16333*/      OPC_MoveChild0,
    9083             : /* 16334*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    9084             : /* 16337*/      OPC_RecordMemRef,
    9085             : /* 16338*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    9086             : /* 16339*/      OPC_CheckFoldableChainNode,
    9087             : /* 16340*/      OPC_RecordChild1, // #1 = $addr
    9088             : /* 16341*/      OPC_CheckChild1Type, MVT::i32,
    9089             : /* 16343*/      OPC_RecordChild2, // #2 = $val
    9090             : /* 16344*/      OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
    9091             : /* 16346*/      OPC_MoveParent,
    9092             : /* 16347*/      OPC_CheckType, MVT::i32,
    9093             : /* 16349*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9094             : /* 16351*/      OPC_EmitMergeInputChains1_0,
    9095             : /* 16352*/      OPC_EmitInteger, MVT::i32, 0, 
    9096             : /* 16355*/      OPC_EmitInteger, MVT::i32, 0, 
    9097             : /* 16358*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    9098             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    9099             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>>, 255:{ *:[i32] }) - Complexity = 12
    9100             :                 // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    9101             : /* 16368*/    /*Scope*/ 39, /*->16408*/
    9102             : /* 16369*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    9103             : /* 16373*/      OPC_MoveChild0,
    9104             : /* 16374*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),
    9105             : /* 16377*/      OPC_RecordMemRef,
    9106             : /* 16378*/      OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
    9107             : /* 16379*/      OPC_CheckFoldableChainNode,
    9108             : /* 16380*/      OPC_RecordChild1, // #1 = $addr
    9109             : /* 16381*/      OPC_CheckChild1Type, MVT::i32,
    9110             : /* 16383*/      OPC_RecordChild2, // #2 = $val
    9111             : /* 16384*/      OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
    9112             : /* 16386*/      OPC_MoveParent,
    9113             : /* 16387*/      OPC_CheckType, MVT::i32,
    9114             : /* 16389*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9115             : /* 16391*/      OPC_EmitMergeInputChains1_0,
    9116             : /* 16392*/      OPC_EmitInteger, MVT::i32, 0, 
    9117             : /* 16395*/      OPC_EmitInteger, MVT::i32, 0, 
    9118             : /* 16398*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
    9119             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    9120             :                 // Src: (and:{ *:[i32] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>>, 65535:{ *:[i32] }) - Complexity = 12
    9121             :                 // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    9122             : /* 16408*/    /*Scope*/ 38, /*->16447*/
    9123             : /* 16409*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    9124             : /* 16412*/      OPC_MoveChild0,
    9125             : /* 16413*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    9126             : /* 16416*/      OPC_RecordMemRef,
    9127             : /* 16417*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    9128             : /* 16418*/      OPC_CheckFoldableChainNode,
    9129             : /* 16419*/      OPC_RecordChild1, // #1 = $addr
    9130             : /* 16420*/      OPC_CheckChild1Type, MVT::i32,
    9131             : /* 16422*/      OPC_RecordChild2, // #2 = $val
    9132             : /* 16423*/      OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
    9133             : /* 16425*/      OPC_MoveParent,
    9134             : /* 16426*/      OPC_CheckType, MVT::i32,
    9135             : /* 16428*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9136             : /* 16430*/      OPC_EmitMergeInputChains1_0,
    9137             : /* 16431*/      OPC_EmitInteger, MVT::i32, 0, 
    9138             : /* 16434*/      OPC_EmitInteger, MVT::i32, 0, 
    9139             : /* 16437*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    9140             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    9141             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>>, 255:{ *:[i32] }) - Complexity = 12
    9142             :                 // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    9143             : /* 16447*/    /*Scope*/ 39, /*->16487*/
    9144             : /* 16448*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    9145             : /* 16452*/      OPC_MoveChild0,
    9146             : /* 16453*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_SWAP),
    9147             : /* 16456*/      OPC_RecordMemRef,
    9148             : /* 16457*/      OPC_RecordNode, // #0 = 'atomic_swap' chained node
    9149             : /* 16458*/      OPC_CheckFoldableChainNode,
    9150             : /* 16459*/      OPC_RecordChild1, // #1 = $addr
    9151             : /* 16460*/      OPC_CheckChild1Type, MVT::i32,
    9152             : /* 16462*/      OPC_RecordChild2, // #2 = $val
    9153             : /* 16463*/      OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
    9154             : /* 16465*/      OPC_MoveParent,
    9155             : /* 16466*/      OPC_CheckType, MVT::i32,
    9156             : /* 16468*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9157             : /* 16470*/      OPC_EmitMergeInputChains1_0,
    9158             : /* 16471*/      OPC_EmitInteger, MVT::i32, 0, 
    9159             : /* 16474*/      OPC_EmitInteger, MVT::i32, 0, 
    9160             : /* 16477*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    9161             :                     MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
    9162             :                 // Src: (and:{ *:[i32] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>>, 65535:{ *:[i32] }) - Complexity = 12
    9163             :                 // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
    9164             : /* 16487*/    /*Scope*/ 40, /*->16528*/
    9165             : /* 16488*/      OPC_CheckAndImm, 127|128,1/*255*/, 
    9166             : /* 16491*/      OPC_MoveChild0,
    9167             : /* 16492*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    9168             : /* 16495*/      OPC_RecordMemRef,
    9169             : /* 16496*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    9170             : /* 16497*/      OPC_CheckFoldableChainNode,
    9171             : /* 16498*/      OPC_RecordChild1, // #1 = $addr
    9172             : /* 16499*/      OPC_CheckChild1Type, MVT::i32,
    9173             : /* 16501*/      OPC_RecordChild2, // #2 = $exp
    9174             : /* 16502*/      OPC_RecordChild3, // #3 = $new
    9175             : /* 16503*/      OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    9176             : /* 16505*/      OPC_MoveParent,
    9177             : /* 16506*/      OPC_CheckType, MVT::i32,
    9178             : /* 16508*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9179             : /* 16510*/      OPC_EmitMergeInputChains1_0,
    9180             : /* 16511*/      OPC_EmitInteger, MVT::i32, 0, 
    9181             : /* 16514*/      OPC_EmitInteger, MVT::i32, 0, 
    9182             : /* 16517*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    9183             :                     MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3, 
    9184             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>>, 255:{ *:[i32] }) - Complexity = 12
    9185             :                 // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    9186             : /* 16528*/    /*Scope*/ 41, /*->16570*/
    9187             : /* 16529*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
    9188             : /* 16533*/      OPC_MoveChild0,
    9189             : /* 16534*/      OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    9190             : /* 16537*/      OPC_RecordMemRef,
    9191             : /* 16538*/      OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    9192             : /* 16539*/      OPC_CheckFoldableChainNode,
    9193             : /* 16540*/      OPC_RecordChild1, // #1 = $addr
    9194             : /* 16541*/      OPC_CheckChild1Type, MVT::i32,
    9195             : /* 16543*/      OPC_RecordChild2, // #2 = $exp
    9196             : /* 16544*/      OPC_RecordChild3, // #3 = $new
    9197             : /* 16545*/      OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    9198             : /* 16547*/      OPC_MoveParent,
    9199             : /* 16548*/      OPC_CheckType, MVT::i32,
    9200             : /* 16550*/      OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9201             : /* 16552*/      OPC_EmitMergeInputChains1_0,
    9202             : /* 16553*/      OPC_EmitInteger, MVT::i32, 0, 
    9203             : /* 16556*/      OPC_EmitInteger, MVT::i32, 0, 
    9204             : /* 16559*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
    9205             :                     MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3, 
    9206             :                 // Src: (and:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>>, 65535:{ *:[i32] }) - Complexity = 12
    9207             :                 // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
    9208             : /* 16570*/    /*Scope*/ 72, /*->16643*/
    9209             : /* 16571*/      OPC_RecordChild0, // #0 = $lhs
    9210             : /* 16572*/      OPC_RecordChild1, // #1 = $rhs
    9211             : /* 16573*/      OPC_SwitchType /*6 cases */, 8, MVT::i32,// ->16584
    9212             : /* 16576*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_I32), 0,
    9213             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
    9214             :                   // Src: (and:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
    9215             :                   // Dst: (AND_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
    9216             : /* 16584*/      /*SwitchType*/ 8, MVT::i64,// ->16594
    9217             : /* 16586*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_I64), 0,
    9218             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
    9219             :                   // Src: (and:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
    9220             :                   // Dst: (AND_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
    9221             : /* 16594*/      /*SwitchType*/ 10, MVT::v16i8,// ->16606
    9222             : /* 16596*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
    9223             : /* 16598*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_v16i8), 0,
    9224             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
    9225             :                   // Src: (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
    9226             :                   // Dst: (AND_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
    9227             : /* 16606*/      /*SwitchType*/ 10, MVT::v8i16,// ->16618
    9228             : /* 16608*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
    9229             : /* 16610*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_v8i16), 0,
    9230             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
    9231             :                   // Src: (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
    9232             :                   // Dst: (AND_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
    9233             : /* 16618*/      /*SwitchType*/ 10, MVT::v4i32,// ->16630
    9234             : /* 16620*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
    9235             : /* 16622*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_v4i32), 0,
    9236             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
    9237             :                   // Src: (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
    9238             :                   // Dst: (AND_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
    9239             : /* 16630*/      /*SwitchType*/ 10, MVT::v2i64,// ->16642
    9240             : /* 16632*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
    9241             : /* 16634*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::AND_v2i64), 0,
    9242             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
    9243             :                   // Src: (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
    9244             :                   // Dst: (AND_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
    9245             : /* 16642*/      0, // EndSwitchType
    9246             : /* 16643*/    0, /*End of Scope*/
    9247             : /* 16644*/  /*SwitchOpcode*/ 54|128,33/*4278*/, TARGET_VAL(ISD::ZERO_EXTEND),// ->20926
    9248             : /* 16648*/    OPC_Scope, 41|128,33/*4265*/, /*->20916*/ // 2 children in Scope
    9249             : /* 16651*/      OPC_MoveChild0,
    9250             : /* 16652*/      OPC_SwitchOpcode /*9 cases */, 38|128,6/*806*/, TARGET_VAL(ISD::AssertZext),// ->17463
    9251             : /* 16657*/        OPC_MoveChild0,
    9252             : /* 16658*/        OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
    9253             : /* 16661*/        OPC_RecordMemRef,
    9254             : /* 16662*/        OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    9255             : /* 16663*/        OPC_CheckFoldableChainNode,
    9256             : /* 16664*/        OPC_Scope, 123|128,4/*635*/, /*->17302*/ // 2 children in Scope
    9257             : /* 16667*/          OPC_MoveChild1,
    9258             : /* 16668*/          OPC_SwitchOpcode /*3 cases */, 121|128,2/*377*/, TARGET_VAL(ISD::ADD),// ->17050
    9259             : /* 16673*/            OPC_Scope, 75, /*->16750*/ // 5 children in Scope
    9260             : /* 16675*/              OPC_RecordChild0, // #1 = $addr
    9261             : /* 16676*/              OPC_MoveChild1,
    9262             : /* 16677*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    9263             : /* 16680*/              OPC_RecordChild0, // #2 = $off
    9264             : /* 16681*/              OPC_MoveChild0,
    9265             : /* 16682*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    9266             : /* 16685*/              OPC_MoveParent,
    9267             : /* 16686*/              OPC_MoveParent,
    9268             : /* 16687*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
    9269             : /* 16689*/              OPC_CheckType, MVT::i32,
    9270             : /* 16691*/              OPC_MoveParent,
    9271             : /* 16692*/              OPC_MoveChild2,
    9272             : /* 16693*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9273             : /* 16696*/              OPC_RecordChild0, // #3 = $exp
    9274             : /* 16697*/              OPC_MoveParent,
    9275             : /* 16698*/              OPC_MoveChild3,
    9276             : /* 16699*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9277             : /* 16702*/              OPC_RecordChild0, // #4 = $new
    9278             : /* 16703*/              OPC_MoveParent,
    9279             : /* 16704*/              OPC_Scope, 21, /*->16727*/ // 2 children in Scope
    9280             : /* 16706*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    9281             : /* 16708*/                OPC_MoveParent,
    9282             : /* 16709*/                OPC_MoveParent,
    9283             : /* 16710*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9284             : /* 16712*/                OPC_EmitMergeInputChains1_0,
    9285             : /* 16713*/                OPC_EmitInteger, MVT::i32, 0, 
    9286             : /* 16716*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9287             :                               MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
    9288             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 26
    9289             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9290             : /* 16727*/              /*Scope*/ 21, /*->16749*/
    9291             : /* 16728*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    9292             : /* 16730*/                OPC_MoveParent,
    9293             : /* 16731*/                OPC_MoveParent,
    9294             : /* 16732*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9295             : /* 16734*/                OPC_EmitMergeInputChains1_0,
    9296             : /* 16735*/                OPC_EmitInteger, MVT::i32, 0, 
    9297             : /* 16738*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9298             :                               MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
    9299             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 26
    9300             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9301             : /* 16749*/              0, /*End of Scope*/
    9302             : /* 16750*/            /*Scope*/ 75, /*->16826*/
    9303             : /* 16751*/              OPC_MoveChild0,
    9304             : /* 16752*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    9305             : /* 16755*/              OPC_RecordChild0, // #1 = $off
    9306             : /* 16756*/              OPC_MoveChild0,
    9307             : /* 16757*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    9308             : /* 16760*/              OPC_MoveParent,
    9309             : /* 16761*/              OPC_MoveParent,
    9310             : /* 16762*/              OPC_RecordChild1, // #2 = $addr
    9311             : /* 16763*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
    9312             : /* 16765*/              OPC_CheckType, MVT::i32,
    9313             : /* 16767*/              OPC_MoveParent,
    9314             : /* 16768*/              OPC_MoveChild2,
    9315             : /* 16769*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9316             : /* 16772*/              OPC_RecordChild0, // #3 = $exp
    9317             : /* 16773*/              OPC_MoveParent,
    9318             : /* 16774*/              OPC_MoveChild3,
    9319             : /* 16775*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9320             : /* 16778*/              OPC_RecordChild0, // #4 = $new
    9321             : /* 16779*/              OPC_MoveParent,
    9322             : /* 16780*/              OPC_Scope, 21, /*->16803*/ // 2 children in Scope
    9323             : /* 16782*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    9324             : /* 16784*/                OPC_MoveParent,
    9325             : /* 16785*/                OPC_MoveParent,
    9326             : /* 16786*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9327             : /* 16788*/                OPC_EmitMergeInputChains1_0,
    9328             : /* 16789*/                OPC_EmitInteger, MVT::i32, 0, 
    9329             : /* 16792*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9330             :                               MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
    9331             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 26
    9332             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9333             : /* 16803*/              /*Scope*/ 21, /*->16825*/
    9334             : /* 16804*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    9335             : /* 16806*/                OPC_MoveParent,
    9336             : /* 16807*/                OPC_MoveParent,
    9337             : /* 16808*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9338             : /* 16810*/                OPC_EmitMergeInputChains1_0,
    9339             : /* 16811*/                OPC_EmitInteger, MVT::i32, 0, 
    9340             : /* 16814*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9341             :                               MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
    9342             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 26
    9343             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9344             : /* 16825*/              0, /*End of Scope*/
    9345             : /* 16826*/            /*Scope*/ 73, /*->16900*/
    9346             : /* 16827*/              OPC_RecordChild0, // #1 = $addr
    9347             : /* 16828*/              OPC_MoveChild1,
    9348             : /* 16829*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    9349             : /* 16832*/              OPC_RecordChild0, // #2 = $off
    9350             : /* 16833*/              OPC_MoveChild0,
    9351             : /* 16834*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    9352             : /* 16837*/              OPC_MoveParent,
    9353             : /* 16838*/              OPC_MoveParent,
    9354             : /* 16839*/              OPC_CheckType, MVT::i32,
    9355             : /* 16841*/              OPC_MoveParent,
    9356             : /* 16842*/              OPC_MoveChild2,
    9357             : /* 16843*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9358             : /* 16846*/              OPC_RecordChild0, // #3 = $exp
    9359             : /* 16847*/              OPC_MoveParent,
    9360             : /* 16848*/              OPC_MoveChild3,
    9361             : /* 16849*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9362             : /* 16852*/              OPC_RecordChild0, // #4 = $new
    9363             : /* 16853*/              OPC_MoveParent,
    9364             : /* 16854*/              OPC_Scope, 21, /*->16877*/ // 2 children in Scope
    9365             : /* 16856*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    9366             : /* 16858*/                OPC_MoveParent,
    9367             : /* 16859*/                OPC_MoveParent,
    9368             : /* 16860*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9369             : /* 16862*/                OPC_EmitMergeInputChains1_0,
    9370             : /* 16863*/                OPC_EmitInteger, MVT::i32, 0, 
    9371             : /* 16866*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9372             :                               MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
    9373             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 25
    9374             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9375             : /* 16877*/              /*Scope*/ 21, /*->16899*/
    9376             : /* 16878*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    9377             : /* 16880*/                OPC_MoveParent,
    9378             : /* 16881*/                OPC_MoveParent,
    9379             : /* 16882*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9380             : /* 16884*/                OPC_EmitMergeInputChains1_0,
    9381             : /* 16885*/                OPC_EmitInteger, MVT::i32, 0, 
    9382             : /* 16888*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9383             :                               MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
    9384             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 25
    9385             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9386             : /* 16899*/              0, /*End of Scope*/
    9387             : /* 16900*/            /*Scope*/ 73, /*->16974*/
    9388             : /* 16901*/              OPC_MoveChild0,
    9389             : /* 16902*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    9390             : /* 16905*/              OPC_RecordChild0, // #1 = $off
    9391             : /* 16906*/              OPC_MoveChild0,
    9392             : /* 16907*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    9393             : /* 16910*/              OPC_MoveParent,
    9394             : /* 16911*/              OPC_MoveParent,
    9395             : /* 16912*/              OPC_RecordChild1, // #2 = $addr
    9396             : /* 16913*/              OPC_CheckType, MVT::i32,
    9397             : /* 16915*/              OPC_MoveParent,
    9398             : /* 16916*/              OPC_MoveChild2,
    9399             : /* 16917*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9400             : /* 16920*/              OPC_RecordChild0, // #3 = $exp
    9401             : /* 16921*/              OPC_MoveParent,
    9402             : /* 16922*/              OPC_MoveChild3,
    9403             : /* 16923*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9404             : /* 16926*/              OPC_RecordChild0, // #4 = $new
    9405             : /* 16927*/              OPC_MoveParent,
    9406             : /* 16928*/              OPC_Scope, 21, /*->16951*/ // 2 children in Scope
    9407             : /* 16930*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    9408             : /* 16932*/                OPC_MoveParent,
    9409             : /* 16933*/                OPC_MoveParent,
    9410             : /* 16934*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9411             : /* 16936*/                OPC_EmitMergeInputChains1_0,
    9412             : /* 16937*/                OPC_EmitInteger, MVT::i32, 0, 
    9413             : /* 16940*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9414             :                               MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
    9415             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 25
    9416             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9417             : /* 16951*/              /*Scope*/ 21, /*->16973*/
    9418             : /* 16952*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    9419             : /* 16954*/                OPC_MoveParent,
    9420             : /* 16955*/                OPC_MoveParent,
    9421             : /* 16956*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9422             : /* 16958*/                OPC_EmitMergeInputChains1_0,
    9423             : /* 16959*/                OPC_EmitInteger, MVT::i32, 0, 
    9424             : /* 16962*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9425             :                               MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
    9426             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 25
    9427             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9428             : /* 16973*/              0, /*End of Scope*/
    9429             : /* 16974*/            /*Scope*/ 74, /*->17049*/
    9430             : /* 16975*/              OPC_RecordChild0, // #1 = $addr
    9431             : /* 16976*/              OPC_RecordChild1, // #2 = $off
    9432             : /* 16977*/              OPC_MoveChild1,
    9433             : /* 16978*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    9434             : /* 16981*/              OPC_MoveParent,
    9435             : /* 16982*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
    9436             : /* 16984*/              OPC_CheckType, MVT::i32,
    9437             : /* 16986*/              OPC_MoveParent,
    9438             : /* 16987*/              OPC_MoveChild2,
    9439             : /* 16988*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9440             : /* 16991*/              OPC_RecordChild0, // #3 = $exp
    9441             : /* 16992*/              OPC_MoveParent,
    9442             : /* 16993*/              OPC_MoveChild3,
    9443             : /* 16994*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9444             : /* 16997*/              OPC_RecordChild0, // #4 = $new
    9445             : /* 16998*/              OPC_MoveParent,
    9446             : /* 16999*/              OPC_Scope, 23, /*->17024*/ // 2 children in Scope
    9447             : /* 17001*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    9448             : /* 17003*/                OPC_MoveParent,
    9449             : /* 17004*/                OPC_MoveParent,
    9450             : /* 17005*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9451             : /* 17007*/                OPC_EmitMergeInputChains1_0,
    9452             : /* 17008*/                OPC_EmitInteger, MVT::i32, 0, 
    9453             : /* 17011*/                OPC_EmitConvertToTarget, 2,
    9454             : /* 17013*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9455             :                               MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
    9456             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
    9457             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9458             : /* 17024*/              /*Scope*/ 23, /*->17048*/
    9459             : /* 17025*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    9460             : /* 17027*/                OPC_MoveParent,
    9461             : /* 17028*/                OPC_MoveParent,
    9462             : /* 17029*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9463             : /* 17031*/                OPC_EmitMergeInputChains1_0,
    9464             : /* 17032*/                OPC_EmitInteger, MVT::i32, 0, 
    9465             : /* 17035*/                OPC_EmitConvertToTarget, 2,
    9466             : /* 17037*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9467             :                               MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
    9468             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
    9469             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9470             : /* 17048*/              0, /*End of Scope*/
    9471             : /* 17049*/            0, /*End of Scope*/
    9472             : /* 17050*/          /*SwitchOpcode*/ 74, TARGET_VAL(ISD::OR),// ->17127
    9473             : /* 17053*/            OPC_RecordChild0, // #1 = $addr
    9474             : /* 17054*/            OPC_RecordChild1, // #2 = $off
    9475             : /* 17055*/            OPC_MoveChild1,
    9476             : /* 17056*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    9477             : /* 17059*/            OPC_MoveParent,
    9478             : /* 17060*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
    9479             : /* 17062*/            OPC_CheckType, MVT::i32,
    9480             : /* 17064*/            OPC_MoveParent,
    9481             : /* 17065*/            OPC_MoveChild2,
    9482             : /* 17066*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9483             : /* 17069*/            OPC_RecordChild0, // #3 = $exp
    9484             : /* 17070*/            OPC_MoveParent,
    9485             : /* 17071*/            OPC_MoveChild3,
    9486             : /* 17072*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9487             : /* 17075*/            OPC_RecordChild0, // #4 = $new
    9488             : /* 17076*/            OPC_MoveParent,
    9489             : /* 17077*/            OPC_Scope, 23, /*->17102*/ // 2 children in Scope
    9490             : /* 17079*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    9491             : /* 17081*/              OPC_MoveParent,
    9492             : /* 17082*/              OPC_MoveParent,
    9493             : /* 17083*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9494             : /* 17085*/              OPC_EmitMergeInputChains1_0,
    9495             : /* 17086*/              OPC_EmitInteger, MVT::i32, 0, 
    9496             : /* 17089*/              OPC_EmitConvertToTarget, 2,
    9497             : /* 17091*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9498             :                             MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
    9499             :                         // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
    9500             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9501             : /* 17102*/            /*Scope*/ 23, /*->17126*/
    9502             : /* 17103*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    9503             : /* 17105*/              OPC_MoveParent,
    9504             : /* 17106*/              OPC_MoveParent,
    9505             : /* 17107*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9506             : /* 17109*/              OPC_EmitMergeInputChains1_0,
    9507             : /* 17110*/              OPC_EmitInteger, MVT::i32, 0, 
    9508             : /* 17113*/              OPC_EmitConvertToTarget, 2,
    9509             : /* 17115*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9510             :                             MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
    9511             :                         // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
    9512             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9513             : /* 17126*/            0, /*End of Scope*/
    9514             : /* 17127*/          /*SwitchOpcode*/ 42|128,1/*170*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->17301
    9515             : /* 17131*/            OPC_RecordChild0, // #1 = $off
    9516             : /* 17132*/            OPC_MoveChild0,
    9517             : /* 17133*/            OPC_SwitchOpcode /*2 cases */, 80, TARGET_VAL(ISD::TargetGlobalAddress),// ->17217
    9518             : /* 17137*/              OPC_MoveParent,
    9519             : /* 17138*/              OPC_MoveParent,
    9520             : /* 17139*/              OPC_MoveChild2,
    9521             : /* 17140*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9522             : /* 17143*/              OPC_RecordChild0, // #2 = $exp
    9523             : /* 17144*/              OPC_MoveParent,
    9524             : /* 17145*/              OPC_MoveChild3,
    9525             : /* 17146*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9526             : /* 17149*/              OPC_RecordChild0, // #3 = $new
    9527             : /* 17150*/              OPC_MoveParent,
    9528             : /* 17151*/              OPC_Scope, 31, /*->17184*/ // 2 children in Scope
    9529             : /* 17153*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    9530             : /* 17155*/                OPC_MoveParent,
    9531             : /* 17156*/                OPC_MoveParent,
    9532             : /* 17157*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9533             : /* 17159*/                OPC_EmitMergeInputChains1_0,
    9534             : /* 17160*/                OPC_EmitInteger, MVT::i32, 0, 
    9535             : /* 17163*/                OPC_EmitInteger, MVT::i32, 0, 
    9536             : /* 17166*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    9537             :                               MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    9538             : /* 17173*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9539             :                               MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
    9540             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
    9541             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9542             : /* 17184*/              /*Scope*/ 31, /*->17216*/
    9543             : /* 17185*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    9544             : /* 17187*/                OPC_MoveParent,
    9545             : /* 17188*/                OPC_MoveParent,
    9546             : /* 17189*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9547             : /* 17191*/                OPC_EmitMergeInputChains1_0,
    9548             : /* 17192*/                OPC_EmitInteger, MVT::i32, 0, 
    9549             : /* 17195*/                OPC_EmitInteger, MVT::i32, 0, 
    9550             : /* 17198*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    9551             :                               MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    9552             : /* 17205*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9553             :                               MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
    9554             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
    9555             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9556             : /* 17216*/              0, /*End of Scope*/
    9557             : /* 17217*/            /*SwitchOpcode*/ 80, TARGET_VAL(ISD::TargetExternalSymbol),// ->17300
    9558             : /* 17220*/              OPC_MoveParent,
    9559             : /* 17221*/              OPC_MoveParent,
    9560             : /* 17222*/              OPC_MoveChild2,
    9561             : /* 17223*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9562             : /* 17226*/              OPC_RecordChild0, // #2 = $exp
    9563             : /* 17227*/              OPC_MoveParent,
    9564             : /* 17228*/              OPC_MoveChild3,
    9565             : /* 17229*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9566             : /* 17232*/              OPC_RecordChild0, // #3 = $new
    9567             : /* 17233*/              OPC_MoveParent,
    9568             : /* 17234*/              OPC_Scope, 31, /*->17267*/ // 2 children in Scope
    9569             : /* 17236*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    9570             : /* 17238*/                OPC_MoveParent,
    9571             : /* 17239*/                OPC_MoveParent,
    9572             : /* 17240*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9573             : /* 17242*/                OPC_EmitMergeInputChains1_0,
    9574             : /* 17243*/                OPC_EmitInteger, MVT::i32, 0, 
    9575             : /* 17246*/                OPC_EmitInteger, MVT::i32, 0, 
    9576             : /* 17249*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    9577             :                               MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    9578             : /* 17256*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9579             :                               MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
    9580             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
    9581             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9582             : /* 17267*/              /*Scope*/ 31, /*->17299*/
    9583             : /* 17268*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    9584             : /* 17270*/                OPC_MoveParent,
    9585             : /* 17271*/                OPC_MoveParent,
    9586             : /* 17272*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9587             : /* 17274*/                OPC_EmitMergeInputChains1_0,
    9588             : /* 17275*/                OPC_EmitInteger, MVT::i32, 0, 
    9589             : /* 17278*/                OPC_EmitInteger, MVT::i32, 0, 
    9590             : /* 17281*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    9591             :                               MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    9592             : /* 17288*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9593             :                               MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
    9594             :                           // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
    9595             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9596             : /* 17299*/              0, /*End of Scope*/
    9597             : /* 17300*/            0, // EndSwitchOpcode
    9598             : /* 17301*/          0, // EndSwitchOpcode
    9599             : /* 17302*/        /*Scope*/ 30|128,1/*158*/, /*->17462*/
    9600             : /* 17304*/          OPC_RecordChild1, // #1 = $off
    9601             : /* 17305*/          OPC_Scope, 87, /*->17394*/ // 2 children in Scope
    9602             : /* 17307*/            OPC_MoveChild1,
    9603             : /* 17308*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    9604             : /* 17311*/            OPC_MoveParent,
    9605             : /* 17312*/            OPC_MoveChild2,
    9606             : /* 17313*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9607             : /* 17316*/            OPC_RecordChild0, // #2 = $exp
    9608             : /* 17317*/            OPC_MoveParent,
    9609             : /* 17318*/            OPC_MoveChild3,
    9610             : /* 17319*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9611             : /* 17322*/            OPC_RecordChild0, // #3 = $new
    9612             : /* 17323*/            OPC_MoveParent,
    9613             : /* 17324*/            OPC_Scope, 33, /*->17359*/ // 2 children in Scope
    9614             : /* 17326*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    9615             : /* 17328*/              OPC_MoveParent,
    9616             : /* 17329*/              OPC_MoveParent,
    9617             : /* 17330*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9618             : /* 17332*/              OPC_EmitMergeInputChains1_0,
    9619             : /* 17333*/              OPC_EmitInteger, MVT::i32, 0, 
    9620             : /* 17336*/              OPC_EmitConvertToTarget, 1,
    9621             : /* 17338*/              OPC_EmitInteger, MVT::i32, 0, 
    9622             : /* 17341*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    9623             :                             MVT::i32, 1/*#Ops*/, 6,  // Results = #7
    9624             : /* 17348*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9625             :                             MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3, 
    9626             :                         // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 19
    9627             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9628             : /* 17359*/            /*Scope*/ 33, /*->17393*/
    9629             : /* 17360*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    9630             : /* 17362*/              OPC_MoveParent,
    9631             : /* 17363*/              OPC_MoveParent,
    9632             : /* 17364*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9633             : /* 17366*/              OPC_EmitMergeInputChains1_0,
    9634             : /* 17367*/              OPC_EmitInteger, MVT::i32, 0, 
    9635             : /* 17370*/              OPC_EmitConvertToTarget, 1,
    9636             : /* 17372*/              OPC_EmitInteger, MVT::i32, 0, 
    9637             : /* 17375*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    9638             :                             MVT::i32, 1/*#Ops*/, 6,  // Results = #7
    9639             : /* 17382*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9640             :                             MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3, 
    9641             :                         // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 19
    9642             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9643             : /* 17393*/            0, /*End of Scope*/
    9644             : /* 17394*/          /*Scope*/ 66, /*->17461*/
    9645             : /* 17395*/            OPC_CheckChild1Type, MVT::i32,
    9646             : /* 17397*/            OPC_MoveChild2,
    9647             : /* 17398*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9648             : /* 17401*/            OPC_RecordChild0, // #2 = $exp
    9649             : /* 17402*/            OPC_MoveParent,
    9650             : /* 17403*/            OPC_MoveChild3,
    9651             : /* 17404*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9652             : /* 17407*/            OPC_RecordChild0, // #3 = $new
    9653             : /* 17408*/            OPC_MoveParent,
    9654             : /* 17409*/            OPC_Scope, 24, /*->17435*/ // 2 children in Scope
    9655             : /* 17411*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
    9656             : /* 17413*/              OPC_MoveParent,
    9657             : /* 17414*/              OPC_MoveParent,
    9658             : /* 17415*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9659             : /* 17417*/              OPC_EmitMergeInputChains1_0,
    9660             : /* 17418*/              OPC_EmitInteger, MVT::i32, 0, 
    9661             : /* 17421*/              OPC_EmitInteger, MVT::i32, 0, 
    9662             : /* 17424*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9663             :                             MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3, 
    9664             :                         // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 16
    9665             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9666             : /* 17435*/            /*Scope*/ 24, /*->17460*/
    9667             : /* 17436*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
    9668             : /* 17438*/              OPC_MoveParent,
    9669             : /* 17439*/              OPC_MoveParent,
    9670             : /* 17440*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9671             : /* 17442*/              OPC_EmitMergeInputChains1_0,
    9672             : /* 17443*/              OPC_EmitInteger, MVT::i32, 0, 
    9673             : /* 17446*/              OPC_EmitInteger, MVT::i32, 0, 
    9674             : /* 17449*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9675             :                             MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3, 
    9676             :                         // Src: (zext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 16
    9677             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9678             : /* 17460*/            0, /*End of Scope*/
    9679             : /* 17461*/          0, /*End of Scope*/
    9680             : /* 17462*/        0, /*End of Scope*/
    9681             : /* 17463*/      /*SwitchOpcode*/ 116|128,3/*500*/, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),// ->17967
    9682             : /* 17467*/        OPC_RecordMemRef,
    9683             : /* 17468*/        OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
    9684             : /* 17469*/        OPC_Scope, 18|128,3/*402*/, /*->17874*/ // 2 children in Scope
    9685             : /* 17472*/          OPC_MoveChild1,
    9686             : /* 17473*/          OPC_SwitchOpcode /*3 cases */, 117|128,1/*245*/, TARGET_VAL(ISD::ADD),// ->17723
    9687             : /* 17478*/            OPC_Scope, 49, /*->17529*/ // 5 children in Scope
    9688             : /* 17480*/              OPC_RecordChild0, // #1 = $addr
    9689             : /* 17481*/              OPC_MoveChild1,
    9690             : /* 17482*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    9691             : /* 17485*/              OPC_RecordChild0, // #2 = $off
    9692             : /* 17486*/              OPC_MoveChild0,
    9693             : /* 17487*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    9694             : /* 17490*/              OPC_MoveParent,
    9695             : /* 17491*/              OPC_MoveParent,
    9696             : /* 17492*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
    9697             : /* 17494*/              OPC_CheckType, MVT::i32,
    9698             : /* 17496*/              OPC_MoveParent,
    9699             : /* 17497*/              OPC_MoveChild2,
    9700             : /* 17498*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9701             : /* 17501*/              OPC_RecordChild0, // #3 = $exp
    9702             : /* 17502*/              OPC_MoveParent,
    9703             : /* 17503*/              OPC_MoveChild3,
    9704             : /* 17504*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9705             : /* 17507*/              OPC_RecordChild0, // #4 = $new
    9706             : /* 17508*/              OPC_MoveParent,
    9707             : /* 17509*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
    9708             : /* 17511*/              OPC_MoveParent,
    9709             : /* 17512*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9710             : /* 17514*/              OPC_EmitMergeInputChains1_0,
    9711             : /* 17515*/              OPC_EmitInteger, MVT::i32, 0, 
    9712             : /* 17518*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9713             :                             MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
    9714             :                         // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 23
    9715             :                         // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9716             : /* 17529*/            /*Scope*/ 49, /*->17579*/
    9717             : /* 17530*/              OPC_MoveChild0,
    9718             : /* 17531*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    9719             : /* 17534*/              OPC_RecordChild0, // #1 = $off
    9720             : /* 17535*/              OPC_MoveChild0,
    9721             : /* 17536*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    9722             : /* 17539*/              OPC_MoveParent,
    9723             : /* 17540*/              OPC_MoveParent,
    9724             : /* 17541*/              OPC_RecordChild1, // #2 = $addr
    9725             : /* 17542*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
    9726             : /* 17544*/              OPC_CheckType, MVT::i32,
    9727             : /* 17546*/              OPC_MoveParent,
    9728             : /* 17547*/              OPC_MoveChild2,
    9729             : /* 17548*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9730             : /* 17551*/              OPC_RecordChild0, // #3 = $exp
    9731             : /* 17552*/              OPC_MoveParent,
    9732             : /* 17553*/              OPC_MoveChild3,
    9733             : /* 17554*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9734             : /* 17557*/              OPC_RecordChild0, // #4 = $new
    9735             : /* 17558*/              OPC_MoveParent,
    9736             : /* 17559*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
    9737             : /* 17561*/              OPC_MoveParent,
    9738             : /* 17562*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9739             : /* 17564*/              OPC_EmitMergeInputChains1_0,
    9740             : /* 17565*/              OPC_EmitInteger, MVT::i32, 0, 
    9741             : /* 17568*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9742             :                             MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
    9743             :                         // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 23
    9744             :                         // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9745             : /* 17579*/            /*Scope*/ 47, /*->17627*/
    9746             : /* 17580*/              OPC_RecordChild0, // #1 = $addr
    9747             : /* 17581*/              OPC_MoveChild1,
    9748             : /* 17582*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    9749             : /* 17585*/              OPC_RecordChild0, // #2 = $off
    9750             : /* 17586*/              OPC_MoveChild0,
    9751             : /* 17587*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    9752             : /* 17590*/              OPC_MoveParent,
    9753             : /* 17591*/              OPC_MoveParent,
    9754             : /* 17592*/              OPC_CheckType, MVT::i32,
    9755             : /* 17594*/              OPC_MoveParent,
    9756             : /* 17595*/              OPC_MoveChild2,
    9757             : /* 17596*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9758             : /* 17599*/              OPC_RecordChild0, // #3 = $exp
    9759             : /* 17600*/              OPC_MoveParent,
    9760             : /* 17601*/              OPC_MoveChild3,
    9761             : /* 17602*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9762             : /* 17605*/              OPC_RecordChild0, // #4 = $new
    9763             : /* 17606*/              OPC_MoveParent,
    9764             : /* 17607*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
    9765             : /* 17609*/              OPC_MoveParent,
    9766             : /* 17610*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9767             : /* 17612*/              OPC_EmitMergeInputChains1_0,
    9768             : /* 17613*/              OPC_EmitInteger, MVT::i32, 0, 
    9769             : /* 17616*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9770             :                             MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
    9771             :                         // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 22
    9772             :                         // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9773             : /* 17627*/            /*Scope*/ 47, /*->17675*/
    9774             : /* 17628*/              OPC_MoveChild0,
    9775             : /* 17629*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    9776             : /* 17632*/              OPC_RecordChild0, // #1 = $off
    9777             : /* 17633*/              OPC_MoveChild0,
    9778             : /* 17634*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
    9779             : /* 17637*/              OPC_MoveParent,
    9780             : /* 17638*/              OPC_MoveParent,
    9781             : /* 17639*/              OPC_RecordChild1, // #2 = $addr
    9782             : /* 17640*/              OPC_CheckType, MVT::i32,
    9783             : /* 17642*/              OPC_MoveParent,
    9784             : /* 17643*/              OPC_MoveChild2,
    9785             : /* 17644*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9786             : /* 17647*/              OPC_RecordChild0, // #3 = $exp
    9787             : /* 17648*/              OPC_MoveParent,
    9788             : /* 17649*/              OPC_MoveChild3,
    9789             : /* 17650*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9790             : /* 17653*/              OPC_RecordChild0, // #4 = $new
    9791             : /* 17654*/              OPC_MoveParent,
    9792             : /* 17655*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
    9793             : /* 17657*/              OPC_MoveParent,
    9794             : /* 17658*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9795             : /* 17660*/              OPC_EmitMergeInputChains1_0,
    9796             : /* 17661*/              OPC_EmitInteger, MVT::i32, 0, 
    9797             : /* 17664*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9798             :                             MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
    9799             :                         // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 22
    9800             :                         // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9801             : /* 17675*/            /*Scope*/ 46, /*->17722*/
    9802             : /* 17676*/              OPC_RecordChild0, // #1 = $addr
    9803             : /* 17677*/              OPC_RecordChild1, // #2 = $off
    9804             : /* 17678*/              OPC_MoveChild1,
    9805             : /* 17679*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    9806             : /* 17682*/              OPC_MoveParent,
    9807             : /* 17683*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
    9808             : /* 17685*/              OPC_CheckType, MVT::i32,
    9809             : /* 17687*/              OPC_MoveParent,
    9810             : /* 17688*/              OPC_MoveChild2,
    9811             : /* 17689*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9812             : /* 17692*/              OPC_RecordChild0, // #3 = $exp
    9813             : /* 17693*/              OPC_MoveParent,
    9814             : /* 17694*/              OPC_MoveChild3,
    9815             : /* 17695*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9816             : /* 17698*/              OPC_RecordChild0, // #4 = $new
    9817             : /* 17699*/              OPC_MoveParent,
    9818             : /* 17700*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
    9819             : /* 17702*/              OPC_MoveParent,
    9820             : /* 17703*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9821             : /* 17705*/              OPC_EmitMergeInputChains1_0,
    9822             : /* 17706*/              OPC_EmitInteger, MVT::i32, 0, 
    9823             : /* 17709*/              OPC_EmitConvertToTarget, 2,
    9824             : /* 17711*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9825             :                             MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
    9826             :                         // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 20
    9827             :                         // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9828             : /* 17722*/            0, /*End of Scope*/
    9829             : /* 17723*/          /*SwitchOpcode*/ 46, TARGET_VAL(ISD::OR),// ->17772
    9830             : /* 17726*/            OPC_RecordChild0, // #1 = $addr
    9831             : /* 17727*/            OPC_RecordChild1, // #2 = $off
    9832             : /* 17728*/            OPC_MoveChild1,
    9833             : /* 17729*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    9834             : /* 17732*/            OPC_MoveParent,
    9835             : /* 17733*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
    9836             : /* 17735*/            OPC_CheckType, MVT::i32,
    9837             : /* 17737*/            OPC_MoveParent,
    9838             : /* 17738*/            OPC_MoveChild2,
    9839             : /* 17739*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9840             : /* 17742*/            OPC_RecordChild0, // #3 = $exp
    9841             : /* 17743*/            OPC_MoveParent,
    9842             : /* 17744*/            OPC_MoveChild3,
    9843             : /* 17745*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9844             : /* 17748*/            OPC_RecordChild0, // #4 = $new
    9845             : /* 17749*/            OPC_MoveParent,
    9846             : /* 17750*/            OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
    9847             : /* 17752*/            OPC_MoveParent,
    9848             : /* 17753*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9849             : /* 17755*/            OPC_EmitMergeInputChains1_0,
    9850             : /* 17756*/            OPC_EmitInteger, MVT::i32, 0, 
    9851             : /* 17759*/            OPC_EmitConvertToTarget, 2,
    9852             : /* 17761*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9853             :                           MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
    9854             :                       // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 20
    9855             :                       // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9856             : /* 17772*/          /*SwitchOpcode*/ 98, TARGET_VAL(WebAssemblyISD::Wrapper),// ->17873
    9857             : /* 17775*/            OPC_RecordChild0, // #1 = $off
    9858             : /* 17776*/            OPC_MoveChild0,
    9859             : /* 17777*/            OPC_SwitchOpcode /*2 cases */, 44, TARGET_VAL(ISD::TargetGlobalAddress),// ->17825
    9860             : /* 17781*/              OPC_MoveParent,
    9861             : /* 17782*/              OPC_MoveParent,
    9862             : /* 17783*/              OPC_MoveChild2,
    9863             : /* 17784*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9864             : /* 17787*/              OPC_RecordChild0, // #2 = $exp
    9865             : /* 17788*/              OPC_MoveParent,
    9866             : /* 17789*/              OPC_MoveChild3,
    9867             : /* 17790*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9868             : /* 17793*/              OPC_RecordChild0, // #3 = $new
    9869             : /* 17794*/              OPC_MoveParent,
    9870             : /* 17795*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
    9871             : /* 17797*/              OPC_MoveParent,
    9872             : /* 17798*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9873             : /* 17800*/              OPC_EmitMergeInputChains1_0,
    9874             : /* 17801*/              OPC_EmitInteger, MVT::i32, 0, 
    9875             : /* 17804*/              OPC_EmitInteger, MVT::i32, 0, 
    9876             : /* 17807*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    9877             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    9878             : /* 17814*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9879             :                             MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
    9880             :                         // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 19
    9881             :                         // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9882             : /* 17825*/            /*SwitchOpcode*/ 44, TARGET_VAL(ISD::TargetExternalSymbol),// ->17872
    9883             : /* 17828*/              OPC_MoveParent,
    9884             : /* 17829*/              OPC_MoveParent,
    9885             : /* 17830*/              OPC_MoveChild2,
    9886             : /* 17831*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9887             : /* 17834*/              OPC_RecordChild0, // #2 = $exp
    9888             : /* 17835*/              OPC_MoveParent,
    9889             : /* 17836*/              OPC_MoveChild3,
    9890             : /* 17837*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9891             : /* 17840*/              OPC_RecordChild0, // #3 = $new
    9892             : /* 17841*/              OPC_MoveParent,
    9893             : /* 17842*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
    9894             : /* 17844*/              OPC_MoveParent,
    9895             : /* 17845*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9896             : /* 17847*/              OPC_EmitMergeInputChains1_0,
    9897             : /* 17848*/              OPC_EmitInteger, MVT::i32, 0, 
    9898             : /* 17851*/              OPC_EmitInteger, MVT::i32, 0, 
    9899             : /* 17854*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    9900             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
    9901             : /* 17861*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9902             :                             MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
    9903             :                         // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 19
    9904             :                         // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9905             : /* 17872*/            0, // EndSwitchOpcode
    9906             : /* 17873*/          0, // EndSwitchOpcode
    9907             : /* 17874*/        /*Scope*/ 91, /*->17966*/
    9908             : /* 17875*/          OPC_RecordChild1, // #1 = $off
    9909             : /* 17876*/          OPC_Scope, 49, /*->17927*/ // 2 children in Scope
    9910             : /* 17878*/            OPC_MoveChild1,
    9911             : /* 17879*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    9912             : /* 17882*/            OPC_MoveParent,
    9913             : /* 17883*/            OPC_MoveChild2,
    9914             : /* 17884*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9915             : /* 17887*/            OPC_RecordChild0, // #2 = $exp
    9916             : /* 17888*/            OPC_MoveParent,
    9917             : /* 17889*/            OPC_MoveChild3,
    9918             : /* 17890*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9919             : /* 17893*/            OPC_RecordChild0, // #3 = $new
    9920             : /* 17894*/            OPC_MoveParent,
    9921             : /* 17895*/            OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
    9922             : /* 17897*/            OPC_MoveParent,
    9923             : /* 17898*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9924             : /* 17900*/            OPC_EmitMergeInputChains1_0,
    9925             : /* 17901*/            OPC_EmitInteger, MVT::i32, 0, 
    9926             : /* 17904*/            OPC_EmitConvertToTarget, 1,
    9927             : /* 17906*/            OPC_EmitInteger, MVT::i32, 0, 
    9928             : /* 17909*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
    9929             :                           MVT::i32, 1/*#Ops*/, 6,  // Results = #7
    9930             : /* 17916*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9931             :                           MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3, 
    9932             :                       // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 16
    9933             :                       // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9934             : /* 17927*/          /*Scope*/ 37, /*->17965*/
    9935             : /* 17928*/            OPC_CheckChild1Type, MVT::i32,
    9936             : /* 17930*/            OPC_MoveChild2,
    9937             : /* 17931*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9938             : /* 17934*/            OPC_RecordChild0, // #2 = $exp
    9939             : /* 17935*/            OPC_MoveParent,
    9940             : /* 17936*/            OPC_MoveChild3,
    9941             : /* 17937*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9942             : /* 17940*/            OPC_RecordChild0, // #3 = $new
    9943             : /* 17941*/            OPC_MoveParent,
    9944             : /* 17942*/            OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
    9945             : /* 17944*/            OPC_MoveParent,
    9946             : /* 17945*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9947             : /* 17947*/            OPC_EmitMergeInputChains1_0,
    9948             : /* 17948*/            OPC_EmitInteger, MVT::i32, 0, 
    9949             : /* 17951*/            OPC_EmitInteger, MVT::i32, 0, 
    9950             : /* 17954*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9951             :                           MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3, 
    9952             :                       // Src: (zext:{ *:[i64] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_32>>) - Complexity = 13
    9953             :                       // Dst: (ATOMIC_RMW32_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
    9954             : /* 17965*/          0, /*End of Scope*/
    9955             : /* 17966*/        0, /*End of Scope*/
    9956             : /* 17967*/      /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),// ->18401
    9957             : /* 17971*/        OPC_RecordMemRef,
    9958             : /* 17972*/        OPC_RecordNode, // #0 = 'atomic_load_add' chained node
    9959             : /* 17973*/        OPC_Scope, 90|128,2/*346*/, /*->18322*/ // 2 children in Scope
    9960             : /* 17976*/          OPC_MoveChild1,
    9961             : /* 17977*/          OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->18192
    9962             : /* 17982*/            OPC_Scope, 42, /*->18026*/ // 5 children in Scope
    9963             : /* 17984*/              OPC_RecordChild0, // #1 = $addr
    9964             : /* 17985*/              OPC_MoveChild1,
    9965             : /* 17986*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    9966             : /* 17989*/              OPC_RecordChild0, // #2 = $off
    9967             : /* 17990*/              OPC_MoveChild0,
    9968             : /* 17991*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    9969             : /* 17994*/              OPC_MoveParent,
    9970             : /* 17995*/              OPC_MoveParent,
    9971             : /* 17996*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
    9972             : /* 17998*/              OPC_CheckType, MVT::i32,
    9973             : /* 18000*/              OPC_MoveParent,
    9974             : /* 18001*/              OPC_MoveChild2,
    9975             : /* 18002*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
    9976             : /* 18005*/              OPC_RecordChild0, // #3 = $val
    9977             : /* 18006*/              OPC_MoveParent,
    9978             : /* 18007*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
    9979             : /* 18009*/              OPC_MoveParent,
    9980             : /* 18010*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
    9981             : /* 18012*/              OPC_EmitMergeInputChains1_0,
    9982             : /* 18013*/              OPC_EmitInteger, MVT::i32, 0, 
    9983             : /* 18016*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
    9984             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
    9985             :                         // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 20
    9986             :                         // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
    9987             : /* 18026*/            /*Scope*/ 42, /*->18069*/
    9988             : /* 18027*/              OPC_MoveChild0,
    9989             : /* 18028*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
    9990             : /* 18031*/              OPC_RecordChild0, // #1 = $off
    9991             : /* 18032*/              OPC_MoveChild0,
    9992             : /* 18033*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    9993             : /* 18036*/              OPC_MoveParent,
    9994             : /* 18037*/              OPC_MoveParent,
    9995             : /* 18038*/              OPC_RecordChild1, // #2 = $addr
    9996             : /* 18039*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
    9997             : /* 18041*/              OPC_CheckType, MVT::i32,
    9998             : /* 18043*/              OPC_MoveParent,
    9999             : /* 18044*/              OPC_MoveChild2,
   10000             : /* 18045*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10001             : /* 18048*/              OPC_RecordChild0, // #3 = $val
   10002             : /* 18049*/              OPC_MoveParent,
   10003             : /* 18050*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   10004             : /* 18052*/              OPC_MoveParent,
   10005             : /* 18053*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10006             : /* 18055*/              OPC_EmitMergeInputChains1_0,
   10007             : /* 18056*/              OPC_EmitInteger, MVT::i32, 0, 
   10008             : /* 18059*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10009             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   10010             :                         // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 20
   10011             :                         // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10012             : /* 18069*/            /*Scope*/ 40, /*->18110*/
   10013             : /* 18070*/              OPC_RecordChild0, // #1 = $addr
   10014             : /* 18071*/              OPC_MoveChild1,
   10015             : /* 18072*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10016             : /* 18075*/              OPC_RecordChild0, // #2 = $off
   10017             : /* 18076*/              OPC_MoveChild0,
   10018             : /* 18077*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   10019             : /* 18080*/              OPC_MoveParent,
   10020             : /* 18081*/              OPC_MoveParent,
   10021             : /* 18082*/              OPC_CheckType, MVT::i32,
   10022             : /* 18084*/              OPC_MoveParent,
   10023             : /* 18085*/              OPC_MoveChild2,
   10024             : /* 18086*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10025             : /* 18089*/              OPC_RecordChild0, // #3 = $val
   10026             : /* 18090*/              OPC_MoveParent,
   10027             : /* 18091*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   10028             : /* 18093*/              OPC_MoveParent,
   10029             : /* 18094*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10030             : /* 18096*/              OPC_EmitMergeInputChains1_0,
   10031             : /* 18097*/              OPC_EmitInteger, MVT::i32, 0, 
   10032             : /* 18100*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10033             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   10034             :                         // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 19
   10035             :                         // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10036             : /* 18110*/            /*Scope*/ 40, /*->18151*/
   10037             : /* 18111*/              OPC_MoveChild0,
   10038             : /* 18112*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10039             : /* 18115*/              OPC_RecordChild0, // #1 = $off
   10040             : /* 18116*/              OPC_MoveChild0,
   10041             : /* 18117*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   10042             : /* 18120*/              OPC_MoveParent,
   10043             : /* 18121*/              OPC_MoveParent,
   10044             : /* 18122*/              OPC_RecordChild1, // #2 = $addr
   10045             : /* 18123*/              OPC_CheckType, MVT::i32,
   10046             : /* 18125*/              OPC_MoveParent,
   10047             : /* 18126*/              OPC_MoveChild2,
   10048             : /* 18127*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10049             : /* 18130*/              OPC_RecordChild0, // #3 = $val
   10050             : /* 18131*/              OPC_MoveParent,
   10051             : /* 18132*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   10052             : /* 18134*/              OPC_MoveParent,
   10053             : /* 18135*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10054             : /* 18137*/              OPC_EmitMergeInputChains1_0,
   10055             : /* 18138*/              OPC_EmitInteger, MVT::i32, 0, 
   10056             : /* 18141*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10057             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   10058             :                         // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 19
   10059             :                         // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10060             : /* 18151*/            /*Scope*/ 39, /*->18191*/
   10061             : /* 18152*/              OPC_RecordChild0, // #1 = $addr
   10062             : /* 18153*/              OPC_RecordChild1, // #2 = $off
   10063             : /* 18154*/              OPC_MoveChild1,
   10064             : /* 18155*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10065             : /* 18158*/              OPC_MoveParent,
   10066             : /* 18159*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   10067             : /* 18161*/              OPC_CheckType, MVT::i32,
   10068             : /* 18163*/              OPC_MoveParent,
   10069             : /* 18164*/              OPC_MoveChild2,
   10070             : /* 18165*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10071             : /* 18168*/              OPC_RecordChild0, // #3 = $val
   10072             : /* 18169*/              OPC_MoveParent,
   10073             : /* 18170*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   10074             : /* 18172*/              OPC_MoveParent,
   10075             : /* 18173*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10076             : /* 18175*/              OPC_EmitMergeInputChains1_0,
   10077             : /* 18176*/              OPC_EmitInteger, MVT::i32, 0, 
   10078             : /* 18179*/              OPC_EmitConvertToTarget, 2,
   10079             : /* 18181*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10080             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   10081             :                         // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 17
   10082             :                         // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10083             : /* 18191*/            0, /*End of Scope*/
   10084             : /* 18192*/          /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->18234
   10085             : /* 18195*/            OPC_RecordChild0, // #1 = $addr
   10086             : /* 18196*/            OPC_RecordChild1, // #2 = $off
   10087             : /* 18197*/            OPC_MoveChild1,
   10088             : /* 18198*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10089             : /* 18201*/            OPC_MoveParent,
   10090             : /* 18202*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   10091             : /* 18204*/            OPC_CheckType, MVT::i32,
   10092             : /* 18206*/            OPC_MoveParent,
   10093             : /* 18207*/            OPC_MoveChild2,
   10094             : /* 18208*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10095             : /* 18211*/            OPC_RecordChild0, // #3 = $val
   10096             : /* 18212*/            OPC_MoveParent,
   10097             : /* 18213*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   10098             : /* 18215*/            OPC_MoveParent,
   10099             : /* 18216*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10100             : /* 18218*/            OPC_EmitMergeInputChains1_0,
   10101             : /* 18219*/            OPC_EmitInteger, MVT::i32, 0, 
   10102             : /* 18222*/            OPC_EmitConvertToTarget, 2,
   10103             : /* 18224*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10104             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   10105             :                       // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 17
   10106             :                       // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10107             : /* 18234*/          /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->18321
   10108             : /* 18237*/            OPC_RecordChild0, // #1 = $off
   10109             : /* 18238*/            OPC_MoveChild0,
   10110             : /* 18239*/            OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->18280
   10111             : /* 18243*/              OPC_MoveParent,
   10112             : /* 18244*/              OPC_MoveParent,
   10113             : /* 18245*/              OPC_MoveChild2,
   10114             : /* 18246*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10115             : /* 18249*/              OPC_RecordChild0, // #2 = $val
   10116             : /* 18250*/              OPC_MoveParent,
   10117             : /* 18251*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   10118             : /* 18253*/              OPC_MoveParent,
   10119             : /* 18254*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10120             : /* 18256*/              OPC_EmitMergeInputChains1_0,
   10121             : /* 18257*/              OPC_EmitInteger, MVT::i32, 0, 
   10122             : /* 18260*/              OPC_EmitInteger, MVT::i32, 0, 
   10123             : /* 18263*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10124             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   10125             : /* 18270*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10126             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   10127             :                         // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 16
   10128             :                         // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10129             : /* 18280*/            /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->18320
   10130             : /* 18283*/              OPC_MoveParent,
   10131             : /* 18284*/              OPC_MoveParent,
   10132             : /* 18285*/              OPC_MoveChild2,
   10133             : /* 18286*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10134             : /* 18289*/              OPC_RecordChild0, // #2 = $val
   10135             : /* 18290*/              OPC_MoveParent,
   10136             : /* 18291*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   10137             : /* 18293*/              OPC_MoveParent,
   10138             : /* 18294*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10139             : /* 18296*/              OPC_EmitMergeInputChains1_0,
   10140             : /* 18297*/              OPC_EmitInteger, MVT::i32, 0, 
   10141             : /* 18300*/              OPC_EmitInteger, MVT::i32, 0, 
   10142             : /* 18303*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10143             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   10144             : /* 18310*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10145             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   10146             :                         // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 16
   10147             :                         // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10148             : /* 18320*/            0, // EndSwitchOpcode
   10149             : /* 18321*/          0, // EndSwitchOpcode
   10150             : /* 18322*/        /*Scope*/ 77, /*->18400*/
   10151             : /* 18323*/          OPC_RecordChild1, // #1 = $off
   10152             : /* 18324*/          OPC_Scope, 42, /*->18368*/ // 2 children in Scope
   10153             : /* 18326*/            OPC_MoveChild1,
   10154             : /* 18327*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10155             : /* 18330*/            OPC_MoveParent,
   10156             : /* 18331*/            OPC_MoveChild2,
   10157             : /* 18332*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10158             : /* 18335*/            OPC_RecordChild0, // #2 = $val
   10159             : /* 18336*/            OPC_MoveParent,
   10160             : /* 18337*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   10161             : /* 18339*/            OPC_MoveParent,
   10162             : /* 18340*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10163             : /* 18342*/            OPC_EmitMergeInputChains1_0,
   10164             : /* 18343*/            OPC_EmitInteger, MVT::i32, 0, 
   10165             : /* 18346*/            OPC_EmitConvertToTarget, 1,
   10166             : /* 18348*/            OPC_EmitInteger, MVT::i32, 0, 
   10167             : /* 18351*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10168             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   10169             : /* 18358*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10170             :                           MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   10171             :                       // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 13
   10172             :                       // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10173             : /* 18368*/          /*Scope*/ 30, /*->18399*/
   10174             : /* 18369*/            OPC_CheckChild1Type, MVT::i32,
   10175             : /* 18371*/            OPC_MoveChild2,
   10176             : /* 18372*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10177             : /* 18375*/            OPC_RecordChild0, // #2 = $val
   10178             : /* 18376*/            OPC_MoveParent,
   10179             : /* 18377*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   10180             : /* 18379*/            OPC_MoveParent,
   10181             : /* 18380*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10182             : /* 18382*/            OPC_EmitMergeInputChains1_0,
   10183             : /* 18383*/            OPC_EmitInteger, MVT::i32, 0, 
   10184             : /* 18386*/            OPC_EmitInteger, MVT::i32, 0, 
   10185             : /* 18389*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10186             :                           MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   10187             :                       // Src: (zext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_32>>) - Complexity = 10
   10188             :                       // Dst: (ATOMIC_RMW32_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10189             : /* 18399*/          0, /*End of Scope*/
   10190             : /* 18400*/        0, /*End of Scope*/
   10191             : /* 18401*/      /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),// ->18835
   10192             : /* 18405*/        OPC_RecordMemRef,
   10193             : /* 18406*/        OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
   10194             : /* 18407*/        OPC_Scope, 90|128,2/*346*/, /*->18756*/ // 2 children in Scope
   10195             : /* 18410*/          OPC_MoveChild1,
   10196             : /* 18411*/          OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->18626
   10197             : /* 18416*/            OPC_Scope, 42, /*->18460*/ // 5 children in Scope
   10198             : /* 18418*/              OPC_RecordChild0, // #1 = $addr
   10199             : /* 18419*/              OPC_MoveChild1,
   10200             : /* 18420*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10201             : /* 18423*/              OPC_RecordChild0, // #2 = $off
   10202             : /* 18424*/              OPC_MoveChild0,
   10203             : /* 18425*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   10204             : /* 18428*/              OPC_MoveParent,
   10205             : /* 18429*/              OPC_MoveParent,
   10206             : /* 18430*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   10207             : /* 18432*/              OPC_CheckType, MVT::i32,
   10208             : /* 18434*/              OPC_MoveParent,
   10209             : /* 18435*/              OPC_MoveChild2,
   10210             : /* 18436*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10211             : /* 18439*/              OPC_RecordChild0, // #3 = $val
   10212             : /* 18440*/              OPC_MoveParent,
   10213             : /* 18441*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   10214             : /* 18443*/              OPC_MoveParent,
   10215             : /* 18444*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10216             : /* 18446*/              OPC_EmitMergeInputChains1_0,
   10217             : /* 18447*/              OPC_EmitInteger, MVT::i32, 0, 
   10218             : /* 18450*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10219             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   10220             :                         // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 20
   10221             :                         // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10222             : /* 18460*/            /*Scope*/ 42, /*->18503*/
   10223             : /* 18461*/              OPC_MoveChild0,
   10224             : /* 18462*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10225             : /* 18465*/              OPC_RecordChild0, // #1 = $off
   10226             : /* 18466*/              OPC_MoveChild0,
   10227             : /* 18467*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   10228             : /* 18470*/              OPC_MoveParent,
   10229             : /* 18471*/              OPC_MoveParent,
   10230             : /* 18472*/              OPC_RecordChild1, // #2 = $addr
   10231             : /* 18473*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   10232             : /* 18475*/              OPC_CheckType, MVT::i32,
   10233             : /* 18477*/              OPC_MoveParent,
   10234             : /* 18478*/              OPC_MoveChild2,
   10235             : /* 18479*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10236             : /* 18482*/              OPC_RecordChild0, // #3 = $val
   10237             : /* 18483*/              OPC_MoveParent,
   10238             : /* 18484*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   10239             : /* 18486*/              OPC_MoveParent,
   10240             : /* 18487*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10241             : /* 18489*/              OPC_EmitMergeInputChains1_0,
   10242             : /* 18490*/              OPC_EmitInteger, MVT::i32, 0, 
   10243             : /* 18493*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10244             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   10245             :                         // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 20
   10246             :                         // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10247             : /* 18503*/            /*Scope*/ 40, /*->18544*/
   10248             : /* 18504*/              OPC_RecordChild0, // #1 = $addr
   10249             : /* 18505*/              OPC_MoveChild1,
   10250             : /* 18506*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10251             : /* 18509*/              OPC_RecordChild0, // #2 = $off
   10252             : /* 18510*/              OPC_MoveChild0,
   10253             : /* 18511*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   10254             : /* 18514*/              OPC_MoveParent,
   10255             : /* 18515*/              OPC_MoveParent,
   10256             : /* 18516*/              OPC_CheckType, MVT::i32,
   10257             : /* 18518*/              OPC_MoveParent,
   10258             : /* 18519*/              OPC_MoveChild2,
   10259             : /* 18520*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10260             : /* 18523*/              OPC_RecordChild0, // #3 = $val
   10261             : /* 18524*/              OPC_MoveParent,
   10262             : /* 18525*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   10263             : /* 18527*/              OPC_MoveParent,
   10264             : /* 18528*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10265             : /* 18530*/              OPC_EmitMergeInputChains1_0,
   10266             : /* 18531*/              OPC_EmitInteger, MVT::i32, 0, 
   10267             : /* 18534*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10268             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   10269             :                         // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 19
   10270             :                         // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10271             : /* 18544*/            /*Scope*/ 40, /*->18585*/
   10272             : /* 18545*/              OPC_MoveChild0,
   10273             : /* 18546*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10274             : /* 18549*/              OPC_RecordChild0, // #1 = $off
   10275             : /* 18550*/              OPC_MoveChild0,
   10276             : /* 18551*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   10277             : /* 18554*/              OPC_MoveParent,
   10278             : /* 18555*/              OPC_MoveParent,
   10279             : /* 18556*/              OPC_RecordChild1, // #2 = $addr
   10280             : /* 18557*/              OPC_CheckType, MVT::i32,
   10281             : /* 18559*/              OPC_MoveParent,
   10282             : /* 18560*/              OPC_MoveChild2,
   10283             : /* 18561*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10284             : /* 18564*/              OPC_RecordChild0, // #3 = $val
   10285             : /* 18565*/              OPC_MoveParent,
   10286             : /* 18566*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   10287             : /* 18568*/              OPC_MoveParent,
   10288             : /* 18569*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10289             : /* 18571*/              OPC_EmitMergeInputChains1_0,
   10290             : /* 18572*/              OPC_EmitInteger, MVT::i32, 0, 
   10291             : /* 18575*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10292             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   10293             :                         // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 19
   10294             :                         // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10295             : /* 18585*/            /*Scope*/ 39, /*->18625*/
   10296             : /* 18586*/              OPC_RecordChild0, // #1 = $addr
   10297             : /* 18587*/              OPC_RecordChild1, // #2 = $off
   10298             : /* 18588*/              OPC_MoveChild1,
   10299             : /* 18589*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10300             : /* 18592*/              OPC_MoveParent,
   10301             : /* 18593*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   10302             : /* 18595*/              OPC_CheckType, MVT::i32,
   10303             : /* 18597*/              OPC_MoveParent,
   10304             : /* 18598*/              OPC_MoveChild2,
   10305             : /* 18599*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10306             : /* 18602*/              OPC_RecordChild0, // #3 = $val
   10307             : /* 18603*/              OPC_MoveParent,
   10308             : /* 18604*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   10309             : /* 18606*/              OPC_MoveParent,
   10310             : /* 18607*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10311             : /* 18609*/              OPC_EmitMergeInputChains1_0,
   10312             : /* 18610*/              OPC_EmitInteger, MVT::i32, 0, 
   10313             : /* 18613*/              OPC_EmitConvertToTarget, 2,
   10314             : /* 18615*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10315             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   10316             :                         // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 17
   10317             :                         // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10318             : /* 18625*/            0, /*End of Scope*/
   10319             : /* 18626*/          /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->18668
   10320             : /* 18629*/            OPC_RecordChild0, // #1 = $addr
   10321             : /* 18630*/            OPC_RecordChild1, // #2 = $off
   10322             : /* 18631*/            OPC_MoveChild1,
   10323             : /* 18632*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10324             : /* 18635*/            OPC_MoveParent,
   10325             : /* 18636*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   10326             : /* 18638*/            OPC_CheckType, MVT::i32,
   10327             : /* 18640*/            OPC_MoveParent,
   10328             : /* 18641*/            OPC_MoveChild2,
   10329             : /* 18642*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10330             : /* 18645*/            OPC_RecordChild0, // #3 = $val
   10331             : /* 18646*/            OPC_MoveParent,
   10332             : /* 18647*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   10333             : /* 18649*/            OPC_MoveParent,
   10334             : /* 18650*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10335             : /* 18652*/            OPC_EmitMergeInputChains1_0,
   10336             : /* 18653*/            OPC_EmitInteger, MVT::i32, 0, 
   10337             : /* 18656*/            OPC_EmitConvertToTarget, 2,
   10338             : /* 18658*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10339             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   10340             :                       // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 17
   10341             :                       // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10342             : /* 18668*/          /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->18755
   10343             : /* 18671*/            OPC_RecordChild0, // #1 = $off
   10344             : /* 18672*/            OPC_MoveChild0,
   10345             : /* 18673*/            OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->18714
   10346             : /* 18677*/              OPC_MoveParent,
   10347             : /* 18678*/              OPC_MoveParent,
   10348             : /* 18679*/              OPC_MoveChild2,
   10349             : /* 18680*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10350             : /* 18683*/              OPC_RecordChild0, // #2 = $val
   10351             : /* 18684*/              OPC_MoveParent,
   10352             : /* 18685*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   10353             : /* 18687*/              OPC_MoveParent,
   10354             : /* 18688*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10355             : /* 18690*/              OPC_EmitMergeInputChains1_0,
   10356             : /* 18691*/              OPC_EmitInteger, MVT::i32, 0, 
   10357             : /* 18694*/              OPC_EmitInteger, MVT::i32, 0, 
   10358             : /* 18697*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10359             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   10360             : /* 18704*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10361             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   10362             :                         // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 16
   10363             :                         // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10364             : /* 18714*/            /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->18754
   10365             : /* 18717*/              OPC_MoveParent,
   10366             : /* 18718*/              OPC_MoveParent,
   10367             : /* 18719*/              OPC_MoveChild2,
   10368             : /* 18720*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10369             : /* 18723*/              OPC_RecordChild0, // #2 = $val
   10370             : /* 18724*/              OPC_MoveParent,
   10371             : /* 18725*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   10372             : /* 18727*/              OPC_MoveParent,
   10373             : /* 18728*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10374             : /* 18730*/              OPC_EmitMergeInputChains1_0,
   10375             : /* 18731*/              OPC_EmitInteger, MVT::i32, 0, 
   10376             : /* 18734*/              OPC_EmitInteger, MVT::i32, 0, 
   10377             : /* 18737*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10378             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   10379             : /* 18744*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10380             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   10381             :                         // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 16
   10382             :                         // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10383             : /* 18754*/            0, // EndSwitchOpcode
   10384             : /* 18755*/          0, // EndSwitchOpcode
   10385             : /* 18756*/        /*Scope*/ 77, /*->18834*/
   10386             : /* 18757*/          OPC_RecordChild1, // #1 = $off
   10387             : /* 18758*/          OPC_Scope, 42, /*->18802*/ // 2 children in Scope
   10388             : /* 18760*/            OPC_MoveChild1,
   10389             : /* 18761*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10390             : /* 18764*/            OPC_MoveParent,
   10391             : /* 18765*/            OPC_MoveChild2,
   10392             : /* 18766*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10393             : /* 18769*/            OPC_RecordChild0, // #2 = $val
   10394             : /* 18770*/            OPC_MoveParent,
   10395             : /* 18771*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   10396             : /* 18773*/            OPC_MoveParent,
   10397             : /* 18774*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10398             : /* 18776*/            OPC_EmitMergeInputChains1_0,
   10399             : /* 18777*/            OPC_EmitInteger, MVT::i32, 0, 
   10400             : /* 18780*/            OPC_EmitConvertToTarget, 1,
   10401             : /* 18782*/            OPC_EmitInteger, MVT::i32, 0, 
   10402             : /* 18785*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10403             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   10404             : /* 18792*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10405             :                           MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   10406             :                       // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 13
   10407             :                       // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10408             : /* 18802*/          /*Scope*/ 30, /*->18833*/
   10409             : /* 18803*/            OPC_CheckChild1Type, MVT::i32,
   10410             : /* 18805*/            OPC_MoveChild2,
   10411             : /* 18806*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10412             : /* 18809*/            OPC_RecordChild0, // #2 = $val
   10413             : /* 18810*/            OPC_MoveParent,
   10414             : /* 18811*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   10415             : /* 18813*/            OPC_MoveParent,
   10416             : /* 18814*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10417             : /* 18816*/            OPC_EmitMergeInputChains1_0,
   10418             : /* 18817*/            OPC_EmitInteger, MVT::i32, 0, 
   10419             : /* 18820*/            OPC_EmitInteger, MVT::i32, 0, 
   10420             : /* 18823*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10421             :                           MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   10422             :                       // Src: (zext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_32>>) - Complexity = 10
   10423             :                       // Dst: (ATOMIC_RMW32_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10424             : /* 18833*/          0, /*End of Scope*/
   10425             : /* 18834*/        0, /*End of Scope*/
   10426             : /* 18835*/      /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_LOAD_AND),// ->19269
   10427             : /* 18839*/        OPC_RecordMemRef,
   10428             : /* 18840*/        OPC_RecordNode, // #0 = 'atomic_load_and' chained node
   10429             : /* 18841*/        OPC_Scope, 90|128,2/*346*/, /*->19190*/ // 2 children in Scope
   10430             : /* 18844*/          OPC_MoveChild1,
   10431             : /* 18845*/          OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->19060
   10432             : /* 18850*/            OPC_Scope, 42, /*->18894*/ // 5 children in Scope
   10433             : /* 18852*/              OPC_RecordChild0, // #1 = $addr
   10434             : /* 18853*/              OPC_MoveChild1,
   10435             : /* 18854*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10436             : /* 18857*/              OPC_RecordChild0, // #2 = $off
   10437             : /* 18858*/              OPC_MoveChild0,
   10438             : /* 18859*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   10439             : /* 18862*/              OPC_MoveParent,
   10440             : /* 18863*/              OPC_MoveParent,
   10441             : /* 18864*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   10442             : /* 18866*/              OPC_CheckType, MVT::i32,
   10443             : /* 18868*/              OPC_MoveParent,
   10444             : /* 18869*/              OPC_MoveChild2,
   10445             : /* 18870*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10446             : /* 18873*/              OPC_RecordChild0, // #3 = $val
   10447             : /* 18874*/              OPC_MoveParent,
   10448             : /* 18875*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   10449             : /* 18877*/              OPC_MoveParent,
   10450             : /* 18878*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10451             : /* 18880*/              OPC_EmitMergeInputChains1_0,
   10452             : /* 18881*/              OPC_EmitInteger, MVT::i32, 0, 
   10453             : /* 18884*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10454             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   10455             :                         // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 20
   10456             :                         // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10457             : /* 18894*/            /*Scope*/ 42, /*->18937*/
   10458             : /* 18895*/              OPC_MoveChild0,
   10459             : /* 18896*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10460             : /* 18899*/              OPC_RecordChild0, // #1 = $off
   10461             : /* 18900*/              OPC_MoveChild0,
   10462             : /* 18901*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   10463             : /* 18904*/              OPC_MoveParent,
   10464             : /* 18905*/              OPC_MoveParent,
   10465             : /* 18906*/              OPC_RecordChild1, // #2 = $addr
   10466             : /* 18907*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   10467             : /* 18909*/              OPC_CheckType, MVT::i32,
   10468             : /* 18911*/              OPC_MoveParent,
   10469             : /* 18912*/              OPC_MoveChild2,
   10470             : /* 18913*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10471             : /* 18916*/              OPC_RecordChild0, // #3 = $val
   10472             : /* 18917*/              OPC_MoveParent,
   10473             : /* 18918*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   10474             : /* 18920*/              OPC_MoveParent,
   10475             : /* 18921*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10476             : /* 18923*/              OPC_EmitMergeInputChains1_0,
   10477             : /* 18924*/              OPC_EmitInteger, MVT::i32, 0, 
   10478             : /* 18927*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10479             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   10480             :                         // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 20
   10481             :                         // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10482             : /* 18937*/            /*Scope*/ 40, /*->18978*/
   10483             : /* 18938*/              OPC_RecordChild0, // #1 = $addr
   10484             : /* 18939*/              OPC_MoveChild1,
   10485             : /* 18940*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10486             : /* 18943*/              OPC_RecordChild0, // #2 = $off
   10487             : /* 18944*/              OPC_MoveChild0,
   10488             : /* 18945*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   10489             : /* 18948*/              OPC_MoveParent,
   10490             : /* 18949*/              OPC_MoveParent,
   10491             : /* 18950*/              OPC_CheckType, MVT::i32,
   10492             : /* 18952*/              OPC_MoveParent,
   10493             : /* 18953*/              OPC_MoveChild2,
   10494             : /* 18954*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10495             : /* 18957*/              OPC_RecordChild0, // #3 = $val
   10496             : /* 18958*/              OPC_MoveParent,
   10497             : /* 18959*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   10498             : /* 18961*/              OPC_MoveParent,
   10499             : /* 18962*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10500             : /* 18964*/              OPC_EmitMergeInputChains1_0,
   10501             : /* 18965*/              OPC_EmitInteger, MVT::i32, 0, 
   10502             : /* 18968*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10503             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   10504             :                         // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 19
   10505             :                         // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10506             : /* 18978*/            /*Scope*/ 40, /*->19019*/
   10507             : /* 18979*/              OPC_MoveChild0,
   10508             : /* 18980*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10509             : /* 18983*/              OPC_RecordChild0, // #1 = $off
   10510             : /* 18984*/              OPC_MoveChild0,
   10511             : /* 18985*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   10512             : /* 18988*/              OPC_MoveParent,
   10513             : /* 18989*/              OPC_MoveParent,
   10514             : /* 18990*/              OPC_RecordChild1, // #2 = $addr
   10515             : /* 18991*/              OPC_CheckType, MVT::i32,
   10516             : /* 18993*/              OPC_MoveParent,
   10517             : /* 18994*/              OPC_MoveChild2,
   10518             : /* 18995*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10519             : /* 18998*/              OPC_RecordChild0, // #3 = $val
   10520             : /* 18999*/              OPC_MoveParent,
   10521             : /* 19000*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   10522             : /* 19002*/              OPC_MoveParent,
   10523             : /* 19003*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10524             : /* 19005*/              OPC_EmitMergeInputChains1_0,
   10525             : /* 19006*/              OPC_EmitInteger, MVT::i32, 0, 
   10526             : /* 19009*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10527             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   10528             :                         // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 19
   10529             :                         // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10530             : /* 19019*/            /*Scope*/ 39, /*->19059*/
   10531             : /* 19020*/              OPC_RecordChild0, // #1 = $addr
   10532             : /* 19021*/              OPC_RecordChild1, // #2 = $off
   10533             : /* 19022*/              OPC_MoveChild1,
   10534             : /* 19023*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10535             : /* 19026*/              OPC_MoveParent,
   10536             : /* 19027*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   10537             : /* 19029*/              OPC_CheckType, MVT::i32,
   10538             : /* 19031*/              OPC_MoveParent,
   10539             : /* 19032*/              OPC_MoveChild2,
   10540             : /* 19033*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10541             : /* 19036*/              OPC_RecordChild0, // #3 = $val
   10542             : /* 19037*/              OPC_MoveParent,
   10543             : /* 19038*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   10544             : /* 19040*/              OPC_MoveParent,
   10545             : /* 19041*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10546             : /* 19043*/              OPC_EmitMergeInputChains1_0,
   10547             : /* 19044*/              OPC_EmitInteger, MVT::i32, 0, 
   10548             : /* 19047*/              OPC_EmitConvertToTarget, 2,
   10549             : /* 19049*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10550             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   10551             :                         // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 17
   10552             :                         // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10553             : /* 19059*/            0, /*End of Scope*/
   10554             : /* 19060*/          /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->19102
   10555             : /* 19063*/            OPC_RecordChild0, // #1 = $addr
   10556             : /* 19064*/            OPC_RecordChild1, // #2 = $off
   10557             : /* 19065*/            OPC_MoveChild1,
   10558             : /* 19066*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10559             : /* 19069*/            OPC_MoveParent,
   10560             : /* 19070*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   10561             : /* 19072*/            OPC_CheckType, MVT::i32,
   10562             : /* 19074*/            OPC_MoveParent,
   10563             : /* 19075*/            OPC_MoveChild2,
   10564             : /* 19076*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10565             : /* 19079*/            OPC_RecordChild0, // #3 = $val
   10566             : /* 19080*/            OPC_MoveParent,
   10567             : /* 19081*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   10568             : /* 19083*/            OPC_MoveParent,
   10569             : /* 19084*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10570             : /* 19086*/            OPC_EmitMergeInputChains1_0,
   10571             : /* 19087*/            OPC_EmitInteger, MVT::i32, 0, 
   10572             : /* 19090*/            OPC_EmitConvertToTarget, 2,
   10573             : /* 19092*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10574             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   10575             :                       // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 17
   10576             :                       // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10577             : /* 19102*/          /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->19189
   10578             : /* 19105*/            OPC_RecordChild0, // #1 = $off
   10579             : /* 19106*/            OPC_MoveChild0,
   10580             : /* 19107*/            OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->19148
   10581             : /* 19111*/              OPC_MoveParent,
   10582             : /* 19112*/              OPC_MoveParent,
   10583             : /* 19113*/              OPC_MoveChild2,
   10584             : /* 19114*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10585             : /* 19117*/              OPC_RecordChild0, // #2 = $val
   10586             : /* 19118*/              OPC_MoveParent,
   10587             : /* 19119*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   10588             : /* 19121*/              OPC_MoveParent,
   10589             : /* 19122*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10590             : /* 19124*/              OPC_EmitMergeInputChains1_0,
   10591             : /* 19125*/              OPC_EmitInteger, MVT::i32, 0, 
   10592             : /* 19128*/              OPC_EmitInteger, MVT::i32, 0, 
   10593             : /* 19131*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10594             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   10595             : /* 19138*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10596             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   10597             :                         // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 16
   10598             :                         // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10599             : /* 19148*/            /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->19188
   10600             : /* 19151*/              OPC_MoveParent,
   10601             : /* 19152*/              OPC_MoveParent,
   10602             : /* 19153*/              OPC_MoveChild2,
   10603             : /* 19154*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10604             : /* 19157*/              OPC_RecordChild0, // #2 = $val
   10605             : /* 19158*/              OPC_MoveParent,
   10606             : /* 19159*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   10607             : /* 19161*/              OPC_MoveParent,
   10608             : /* 19162*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10609             : /* 19164*/              OPC_EmitMergeInputChains1_0,
   10610             : /* 19165*/              OPC_EmitInteger, MVT::i32, 0, 
   10611             : /* 19168*/              OPC_EmitInteger, MVT::i32, 0, 
   10612             : /* 19171*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10613             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   10614             : /* 19178*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10615             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   10616             :                         // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 16
   10617             :                         // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10618             : /* 19188*/            0, // EndSwitchOpcode
   10619             : /* 19189*/          0, // EndSwitchOpcode
   10620             : /* 19190*/        /*Scope*/ 77, /*->19268*/
   10621             : /* 19191*/          OPC_RecordChild1, // #1 = $off
   10622             : /* 19192*/          OPC_Scope, 42, /*->19236*/ // 2 children in Scope
   10623             : /* 19194*/            OPC_MoveChild1,
   10624             : /* 19195*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10625             : /* 19198*/            OPC_MoveParent,
   10626             : /* 19199*/            OPC_MoveChild2,
   10627             : /* 19200*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10628             : /* 19203*/            OPC_RecordChild0, // #2 = $val
   10629             : /* 19204*/            OPC_MoveParent,
   10630             : /* 19205*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   10631             : /* 19207*/            OPC_MoveParent,
   10632             : /* 19208*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10633             : /* 19210*/            OPC_EmitMergeInputChains1_0,
   10634             : /* 19211*/            OPC_EmitInteger, MVT::i32, 0, 
   10635             : /* 19214*/            OPC_EmitConvertToTarget, 1,
   10636             : /* 19216*/            OPC_EmitInteger, MVT::i32, 0, 
   10637             : /* 19219*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10638             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   10639             : /* 19226*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10640             :                           MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   10641             :                       // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 13
   10642             :                       // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10643             : /* 19236*/          /*Scope*/ 30, /*->19267*/
   10644             : /* 19237*/            OPC_CheckChild1Type, MVT::i32,
   10645             : /* 19239*/            OPC_MoveChild2,
   10646             : /* 19240*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10647             : /* 19243*/            OPC_RecordChild0, // #2 = $val
   10648             : /* 19244*/            OPC_MoveParent,
   10649             : /* 19245*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   10650             : /* 19247*/            OPC_MoveParent,
   10651             : /* 19248*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10652             : /* 19250*/            OPC_EmitMergeInputChains1_0,
   10653             : /* 19251*/            OPC_EmitInteger, MVT::i32, 0, 
   10654             : /* 19254*/            OPC_EmitInteger, MVT::i32, 0, 
   10655             : /* 19257*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10656             :                           MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   10657             :                       // Src: (zext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_32>>) - Complexity = 10
   10658             :                       // Dst: (ATOMIC_RMW32_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10659             : /* 19267*/          0, /*End of Scope*/
   10660             : /* 19268*/        0, /*End of Scope*/
   10661             : /* 19269*/      /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_LOAD_OR),// ->19703
   10662             : /* 19273*/        OPC_RecordMemRef,
   10663             : /* 19274*/        OPC_RecordNode, // #0 = 'atomic_load_or' chained node
   10664             : /* 19275*/        OPC_Scope, 90|128,2/*346*/, /*->19624*/ // 2 children in Scope
   10665             : /* 19278*/          OPC_MoveChild1,
   10666             : /* 19279*/          OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->19494
   10667             : /* 19284*/            OPC_Scope, 42, /*->19328*/ // 5 children in Scope
   10668             : /* 19286*/              OPC_RecordChild0, // #1 = $addr
   10669             : /* 19287*/              OPC_MoveChild1,
   10670             : /* 19288*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10671             : /* 19291*/              OPC_RecordChild0, // #2 = $off
   10672             : /* 19292*/              OPC_MoveChild0,
   10673             : /* 19293*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   10674             : /* 19296*/              OPC_MoveParent,
   10675             : /* 19297*/              OPC_MoveParent,
   10676             : /* 19298*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   10677             : /* 19300*/              OPC_CheckType, MVT::i32,
   10678             : /* 19302*/              OPC_MoveParent,
   10679             : /* 19303*/              OPC_MoveChild2,
   10680             : /* 19304*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10681             : /* 19307*/              OPC_RecordChild0, // #3 = $val
   10682             : /* 19308*/              OPC_MoveParent,
   10683             : /* 19309*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   10684             : /* 19311*/              OPC_MoveParent,
   10685             : /* 19312*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10686             : /* 19314*/              OPC_EmitMergeInputChains1_0,
   10687             : /* 19315*/              OPC_EmitInteger, MVT::i32, 0, 
   10688             : /* 19318*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10689             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   10690             :                         // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 20
   10691             :                         // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10692             : /* 19328*/            /*Scope*/ 42, /*->19371*/
   10693             : /* 19329*/              OPC_MoveChild0,
   10694             : /* 19330*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10695             : /* 19333*/              OPC_RecordChild0, // #1 = $off
   10696             : /* 19334*/              OPC_MoveChild0,
   10697             : /* 19335*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   10698             : /* 19338*/              OPC_MoveParent,
   10699             : /* 19339*/              OPC_MoveParent,
   10700             : /* 19340*/              OPC_RecordChild1, // #2 = $addr
   10701             : /* 19341*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   10702             : /* 19343*/              OPC_CheckType, MVT::i32,
   10703             : /* 19345*/              OPC_MoveParent,
   10704             : /* 19346*/              OPC_MoveChild2,
   10705             : /* 19347*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10706             : /* 19350*/              OPC_RecordChild0, // #3 = $val
   10707             : /* 19351*/              OPC_MoveParent,
   10708             : /* 19352*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   10709             : /* 19354*/              OPC_MoveParent,
   10710             : /* 19355*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10711             : /* 19357*/              OPC_EmitMergeInputChains1_0,
   10712             : /* 19358*/              OPC_EmitInteger, MVT::i32, 0, 
   10713             : /* 19361*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10714             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   10715             :                         // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 20
   10716             :                         // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10717             : /* 19371*/            /*Scope*/ 40, /*->19412*/
   10718             : /* 19372*/              OPC_RecordChild0, // #1 = $addr
   10719             : /* 19373*/              OPC_MoveChild1,
   10720             : /* 19374*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10721             : /* 19377*/              OPC_RecordChild0, // #2 = $off
   10722             : /* 19378*/              OPC_MoveChild0,
   10723             : /* 19379*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   10724             : /* 19382*/              OPC_MoveParent,
   10725             : /* 19383*/              OPC_MoveParent,
   10726             : /* 19384*/              OPC_CheckType, MVT::i32,
   10727             : /* 19386*/              OPC_MoveParent,
   10728             : /* 19387*/              OPC_MoveChild2,
   10729             : /* 19388*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10730             : /* 19391*/              OPC_RecordChild0, // #3 = $val
   10731             : /* 19392*/              OPC_MoveParent,
   10732             : /* 19393*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   10733             : /* 19395*/              OPC_MoveParent,
   10734             : /* 19396*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10735             : /* 19398*/              OPC_EmitMergeInputChains1_0,
   10736             : /* 19399*/              OPC_EmitInteger, MVT::i32, 0, 
   10737             : /* 19402*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10738             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   10739             :                         // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 19
   10740             :                         // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10741             : /* 19412*/            /*Scope*/ 40, /*->19453*/
   10742             : /* 19413*/              OPC_MoveChild0,
   10743             : /* 19414*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10744             : /* 19417*/              OPC_RecordChild0, // #1 = $off
   10745             : /* 19418*/              OPC_MoveChild0,
   10746             : /* 19419*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   10747             : /* 19422*/              OPC_MoveParent,
   10748             : /* 19423*/              OPC_MoveParent,
   10749             : /* 19424*/              OPC_RecordChild1, // #2 = $addr
   10750             : /* 19425*/              OPC_CheckType, MVT::i32,
   10751             : /* 19427*/              OPC_MoveParent,
   10752             : /* 19428*/              OPC_MoveChild2,
   10753             : /* 19429*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10754             : /* 19432*/              OPC_RecordChild0, // #3 = $val
   10755             : /* 19433*/              OPC_MoveParent,
   10756             : /* 19434*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   10757             : /* 19436*/              OPC_MoveParent,
   10758             : /* 19437*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10759             : /* 19439*/              OPC_EmitMergeInputChains1_0,
   10760             : /* 19440*/              OPC_EmitInteger, MVT::i32, 0, 
   10761             : /* 19443*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10762             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   10763             :                         // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 19
   10764             :                         // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10765             : /* 19453*/            /*Scope*/ 39, /*->19493*/
   10766             : /* 19454*/              OPC_RecordChild0, // #1 = $addr
   10767             : /* 19455*/              OPC_RecordChild1, // #2 = $off
   10768             : /* 19456*/              OPC_MoveChild1,
   10769             : /* 19457*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10770             : /* 19460*/              OPC_MoveParent,
   10771             : /* 19461*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   10772             : /* 19463*/              OPC_CheckType, MVT::i32,
   10773             : /* 19465*/              OPC_MoveParent,
   10774             : /* 19466*/              OPC_MoveChild2,
   10775             : /* 19467*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10776             : /* 19470*/              OPC_RecordChild0, // #3 = $val
   10777             : /* 19471*/              OPC_MoveParent,
   10778             : /* 19472*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   10779             : /* 19474*/              OPC_MoveParent,
   10780             : /* 19475*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10781             : /* 19477*/              OPC_EmitMergeInputChains1_0,
   10782             : /* 19478*/              OPC_EmitInteger, MVT::i32, 0, 
   10783             : /* 19481*/              OPC_EmitConvertToTarget, 2,
   10784             : /* 19483*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10785             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   10786             :                         // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 17
   10787             :                         // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10788             : /* 19493*/            0, /*End of Scope*/
   10789             : /* 19494*/          /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->19536
   10790             : /* 19497*/            OPC_RecordChild0, // #1 = $addr
   10791             : /* 19498*/            OPC_RecordChild1, // #2 = $off
   10792             : /* 19499*/            OPC_MoveChild1,
   10793             : /* 19500*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10794             : /* 19503*/            OPC_MoveParent,
   10795             : /* 19504*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   10796             : /* 19506*/            OPC_CheckType, MVT::i32,
   10797             : /* 19508*/            OPC_MoveParent,
   10798             : /* 19509*/            OPC_MoveChild2,
   10799             : /* 19510*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10800             : /* 19513*/            OPC_RecordChild0, // #3 = $val
   10801             : /* 19514*/            OPC_MoveParent,
   10802             : /* 19515*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   10803             : /* 19517*/            OPC_MoveParent,
   10804             : /* 19518*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10805             : /* 19520*/            OPC_EmitMergeInputChains1_0,
   10806             : /* 19521*/            OPC_EmitInteger, MVT::i32, 0, 
   10807             : /* 19524*/            OPC_EmitConvertToTarget, 2,
   10808             : /* 19526*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10809             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   10810             :                       // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 17
   10811             :                       // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10812             : /* 19536*/          /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->19623
   10813             : /* 19539*/            OPC_RecordChild0, // #1 = $off
   10814             : /* 19540*/            OPC_MoveChild0,
   10815             : /* 19541*/            OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->19582
   10816             : /* 19545*/              OPC_MoveParent,
   10817             : /* 19546*/              OPC_MoveParent,
   10818             : /* 19547*/              OPC_MoveChild2,
   10819             : /* 19548*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10820             : /* 19551*/              OPC_RecordChild0, // #2 = $val
   10821             : /* 19552*/              OPC_MoveParent,
   10822             : /* 19553*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   10823             : /* 19555*/              OPC_MoveParent,
   10824             : /* 19556*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10825             : /* 19558*/              OPC_EmitMergeInputChains1_0,
   10826             : /* 19559*/              OPC_EmitInteger, MVT::i32, 0, 
   10827             : /* 19562*/              OPC_EmitInteger, MVT::i32, 0, 
   10828             : /* 19565*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10829             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   10830             : /* 19572*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10831             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   10832             :                         // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 16
   10833             :                         // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10834             : /* 19582*/            /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->19622
   10835             : /* 19585*/              OPC_MoveParent,
   10836             : /* 19586*/              OPC_MoveParent,
   10837             : /* 19587*/              OPC_MoveChild2,
   10838             : /* 19588*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10839             : /* 19591*/              OPC_RecordChild0, // #2 = $val
   10840             : /* 19592*/              OPC_MoveParent,
   10841             : /* 19593*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   10842             : /* 19595*/              OPC_MoveParent,
   10843             : /* 19596*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10844             : /* 19598*/              OPC_EmitMergeInputChains1_0,
   10845             : /* 19599*/              OPC_EmitInteger, MVT::i32, 0, 
   10846             : /* 19602*/              OPC_EmitInteger, MVT::i32, 0, 
   10847             : /* 19605*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10848             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   10849             : /* 19612*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10850             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   10851             :                         // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 16
   10852             :                         // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10853             : /* 19622*/            0, // EndSwitchOpcode
   10854             : /* 19623*/          0, // EndSwitchOpcode
   10855             : /* 19624*/        /*Scope*/ 77, /*->19702*/
   10856             : /* 19625*/          OPC_RecordChild1, // #1 = $off
   10857             : /* 19626*/          OPC_Scope, 42, /*->19670*/ // 2 children in Scope
   10858             : /* 19628*/            OPC_MoveChild1,
   10859             : /* 19629*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   10860             : /* 19632*/            OPC_MoveParent,
   10861             : /* 19633*/            OPC_MoveChild2,
   10862             : /* 19634*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10863             : /* 19637*/            OPC_RecordChild0, // #2 = $val
   10864             : /* 19638*/            OPC_MoveParent,
   10865             : /* 19639*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   10866             : /* 19641*/            OPC_MoveParent,
   10867             : /* 19642*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10868             : /* 19644*/            OPC_EmitMergeInputChains1_0,
   10869             : /* 19645*/            OPC_EmitInteger, MVT::i32, 0, 
   10870             : /* 19648*/            OPC_EmitConvertToTarget, 1,
   10871             : /* 19650*/            OPC_EmitInteger, MVT::i32, 0, 
   10872             : /* 19653*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   10873             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   10874             : /* 19660*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10875             :                           MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   10876             :                       // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 13
   10877             :                       // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   10878             : /* 19670*/          /*Scope*/ 30, /*->19701*/
   10879             : /* 19671*/            OPC_CheckChild1Type, MVT::i32,
   10880             : /* 19673*/            OPC_MoveChild2,
   10881             : /* 19674*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10882             : /* 19677*/            OPC_RecordChild0, // #2 = $val
   10883             : /* 19678*/            OPC_MoveParent,
   10884             : /* 19679*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   10885             : /* 19681*/            OPC_MoveParent,
   10886             : /* 19682*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10887             : /* 19684*/            OPC_EmitMergeInputChains1_0,
   10888             : /* 19685*/            OPC_EmitInteger, MVT::i32, 0, 
   10889             : /* 19688*/            OPC_EmitInteger, MVT::i32, 0, 
   10890             : /* 19691*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10891             :                           MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   10892             :                       // Src: (zext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_32>>) - Complexity = 10
   10893             :                       // Dst: (ATOMIC_RMW32_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10894             : /* 19701*/          0, /*End of Scope*/
   10895             : /* 19702*/        0, /*End of Scope*/
   10896             : /* 19703*/      /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),// ->20137
   10897             : /* 19707*/        OPC_RecordMemRef,
   10898             : /* 19708*/        OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
   10899             : /* 19709*/        OPC_Scope, 90|128,2/*346*/, /*->20058*/ // 2 children in Scope
   10900             : /* 19712*/          OPC_MoveChild1,
   10901             : /* 19713*/          OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->19928
   10902             : /* 19718*/            OPC_Scope, 42, /*->19762*/ // 5 children in Scope
   10903             : /* 19720*/              OPC_RecordChild0, // #1 = $addr
   10904             : /* 19721*/              OPC_MoveChild1,
   10905             : /* 19722*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10906             : /* 19725*/              OPC_RecordChild0, // #2 = $off
   10907             : /* 19726*/              OPC_MoveChild0,
   10908             : /* 19727*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   10909             : /* 19730*/              OPC_MoveParent,
   10910             : /* 19731*/              OPC_MoveParent,
   10911             : /* 19732*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   10912             : /* 19734*/              OPC_CheckType, MVT::i32,
   10913             : /* 19736*/              OPC_MoveParent,
   10914             : /* 19737*/              OPC_MoveChild2,
   10915             : /* 19738*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10916             : /* 19741*/              OPC_RecordChild0, // #3 = $val
   10917             : /* 19742*/              OPC_MoveParent,
   10918             : /* 19743*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   10919             : /* 19745*/              OPC_MoveParent,
   10920             : /* 19746*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10921             : /* 19748*/              OPC_EmitMergeInputChains1_0,
   10922             : /* 19749*/              OPC_EmitInteger, MVT::i32, 0, 
   10923             : /* 19752*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10924             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   10925             :                         // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 20
   10926             :                         // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10927             : /* 19762*/            /*Scope*/ 42, /*->19805*/
   10928             : /* 19763*/              OPC_MoveChild0,
   10929             : /* 19764*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10930             : /* 19767*/              OPC_RecordChild0, // #1 = $off
   10931             : /* 19768*/              OPC_MoveChild0,
   10932             : /* 19769*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   10933             : /* 19772*/              OPC_MoveParent,
   10934             : /* 19773*/              OPC_MoveParent,
   10935             : /* 19774*/              OPC_RecordChild1, // #2 = $addr
   10936             : /* 19775*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   10937             : /* 19777*/              OPC_CheckType, MVT::i32,
   10938             : /* 19779*/              OPC_MoveParent,
   10939             : /* 19780*/              OPC_MoveChild2,
   10940             : /* 19781*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10941             : /* 19784*/              OPC_RecordChild0, // #3 = $val
   10942             : /* 19785*/              OPC_MoveParent,
   10943             : /* 19786*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   10944             : /* 19788*/              OPC_MoveParent,
   10945             : /* 19789*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10946             : /* 19791*/              OPC_EmitMergeInputChains1_0,
   10947             : /* 19792*/              OPC_EmitInteger, MVT::i32, 0, 
   10948             : /* 19795*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10949             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   10950             :                         // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 20
   10951             :                         // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10952             : /* 19805*/            /*Scope*/ 40, /*->19846*/
   10953             : /* 19806*/              OPC_RecordChild0, // #1 = $addr
   10954             : /* 19807*/              OPC_MoveChild1,
   10955             : /* 19808*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10956             : /* 19811*/              OPC_RecordChild0, // #2 = $off
   10957             : /* 19812*/              OPC_MoveChild0,
   10958             : /* 19813*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   10959             : /* 19816*/              OPC_MoveParent,
   10960             : /* 19817*/              OPC_MoveParent,
   10961             : /* 19818*/              OPC_CheckType, MVT::i32,
   10962             : /* 19820*/              OPC_MoveParent,
   10963             : /* 19821*/              OPC_MoveChild2,
   10964             : /* 19822*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10965             : /* 19825*/              OPC_RecordChild0, // #3 = $val
   10966             : /* 19826*/              OPC_MoveParent,
   10967             : /* 19827*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   10968             : /* 19829*/              OPC_MoveParent,
   10969             : /* 19830*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10970             : /* 19832*/              OPC_EmitMergeInputChains1_0,
   10971             : /* 19833*/              OPC_EmitInteger, MVT::i32, 0, 
   10972             : /* 19836*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10973             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   10974             :                         // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 19
   10975             :                         // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   10976             : /* 19846*/            /*Scope*/ 40, /*->19887*/
   10977             : /* 19847*/              OPC_MoveChild0,
   10978             : /* 19848*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   10979             : /* 19851*/              OPC_RecordChild0, // #1 = $off
   10980             : /* 19852*/              OPC_MoveChild0,
   10981             : /* 19853*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   10982             : /* 19856*/              OPC_MoveParent,
   10983             : /* 19857*/              OPC_MoveParent,
   10984             : /* 19858*/              OPC_RecordChild1, // #2 = $addr
   10985             : /* 19859*/              OPC_CheckType, MVT::i32,
   10986             : /* 19861*/              OPC_MoveParent,
   10987             : /* 19862*/              OPC_MoveChild2,
   10988             : /* 19863*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   10989             : /* 19866*/              OPC_RecordChild0, // #3 = $val
   10990             : /* 19867*/              OPC_MoveParent,
   10991             : /* 19868*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   10992             : /* 19870*/              OPC_MoveParent,
   10993             : /* 19871*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   10994             : /* 19873*/              OPC_EmitMergeInputChains1_0,
   10995             : /* 19874*/              OPC_EmitInteger, MVT::i32, 0, 
   10996             : /* 19877*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   10997             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   10998             :                         // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 19
   10999             :                         // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   11000             : /* 19887*/            /*Scope*/ 39, /*->19927*/
   11001             : /* 19888*/              OPC_RecordChild0, // #1 = $addr
   11002             : /* 19889*/              OPC_RecordChild1, // #2 = $off
   11003             : /* 19890*/              OPC_MoveChild1,
   11004             : /* 19891*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11005             : /* 19894*/              OPC_MoveParent,
   11006             : /* 19895*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   11007             : /* 19897*/              OPC_CheckType, MVT::i32,
   11008             : /* 19899*/              OPC_MoveParent,
   11009             : /* 19900*/              OPC_MoveChild2,
   11010             : /* 19901*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11011             : /* 19904*/              OPC_RecordChild0, // #3 = $val
   11012             : /* 19905*/              OPC_MoveParent,
   11013             : /* 19906*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   11014             : /* 19908*/              OPC_MoveParent,
   11015             : /* 19909*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11016             : /* 19911*/              OPC_EmitMergeInputChains1_0,
   11017             : /* 19912*/              OPC_EmitInteger, MVT::i32, 0, 
   11018             : /* 19915*/              OPC_EmitConvertToTarget, 2,
   11019             : /* 19917*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11020             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   11021             :                         // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 17
   11022             :                         // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   11023             : /* 19927*/            0, /*End of Scope*/
   11024             : /* 19928*/          /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->19970
   11025             : /* 19931*/            OPC_RecordChild0, // #1 = $addr
   11026             : /* 19932*/            OPC_RecordChild1, // #2 = $off
   11027             : /* 19933*/            OPC_MoveChild1,
   11028             : /* 19934*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11029             : /* 19937*/            OPC_MoveParent,
   11030             : /* 19938*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   11031             : /* 19940*/            OPC_CheckType, MVT::i32,
   11032             : /* 19942*/            OPC_MoveParent,
   11033             : /* 19943*/            OPC_MoveChild2,
   11034             : /* 19944*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11035             : /* 19947*/            OPC_RecordChild0, // #3 = $val
   11036             : /* 19948*/            OPC_MoveParent,
   11037             : /* 19949*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   11038             : /* 19951*/            OPC_MoveParent,
   11039             : /* 19952*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11040             : /* 19954*/            OPC_EmitMergeInputChains1_0,
   11041             : /* 19955*/            OPC_EmitInteger, MVT::i32, 0, 
   11042             : /* 19958*/            OPC_EmitConvertToTarget, 2,
   11043             : /* 19960*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11044             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   11045             :                       // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 17
   11046             :                       // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   11047             : /* 19970*/          /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->20057
   11048             : /* 19973*/            OPC_RecordChild0, // #1 = $off
   11049             : /* 19974*/            OPC_MoveChild0,
   11050             : /* 19975*/            OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->20016
   11051             : /* 19979*/              OPC_MoveParent,
   11052             : /* 19980*/              OPC_MoveParent,
   11053             : /* 19981*/              OPC_MoveChild2,
   11054             : /* 19982*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11055             : /* 19985*/              OPC_RecordChild0, // #2 = $val
   11056             : /* 19986*/              OPC_MoveParent,
   11057             : /* 19987*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   11058             : /* 19989*/              OPC_MoveParent,
   11059             : /* 19990*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11060             : /* 19992*/              OPC_EmitMergeInputChains1_0,
   11061             : /* 19993*/              OPC_EmitInteger, MVT::i32, 0, 
   11062             : /* 19996*/              OPC_EmitInteger, MVT::i32, 0, 
   11063             : /* 19999*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11064             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   11065             : /* 20006*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11066             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   11067             :                         // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 16
   11068             :                         // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   11069             : /* 20016*/            /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->20056
   11070             : /* 20019*/              OPC_MoveParent,
   11071             : /* 20020*/              OPC_MoveParent,
   11072             : /* 20021*/              OPC_MoveChild2,
   11073             : /* 20022*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11074             : /* 20025*/              OPC_RecordChild0, // #2 = $val
   11075             : /* 20026*/              OPC_MoveParent,
   11076             : /* 20027*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   11077             : /* 20029*/              OPC_MoveParent,
   11078             : /* 20030*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11079             : /* 20032*/              OPC_EmitMergeInputChains1_0,
   11080             : /* 20033*/              OPC_EmitInteger, MVT::i32, 0, 
   11081             : /* 20036*/              OPC_EmitInteger, MVT::i32, 0, 
   11082             : /* 20039*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11083             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   11084             : /* 20046*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11085             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   11086             :                         // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 16
   11087             :                         // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   11088             : /* 20056*/            0, // EndSwitchOpcode
   11089             : /* 20057*/          0, // EndSwitchOpcode
   11090             : /* 20058*/        /*Scope*/ 77, /*->20136*/
   11091             : /* 20059*/          OPC_RecordChild1, // #1 = $off
   11092             : /* 20060*/          OPC_Scope, 42, /*->20104*/ // 2 children in Scope
   11093             : /* 20062*/            OPC_MoveChild1,
   11094             : /* 20063*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11095             : /* 20066*/            OPC_MoveParent,
   11096             : /* 20067*/            OPC_MoveChild2,
   11097             : /* 20068*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11098             : /* 20071*/            OPC_RecordChild0, // #2 = $val
   11099             : /* 20072*/            OPC_MoveParent,
   11100             : /* 20073*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   11101             : /* 20075*/            OPC_MoveParent,
   11102             : /* 20076*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11103             : /* 20078*/            OPC_EmitMergeInputChains1_0,
   11104             : /* 20079*/            OPC_EmitInteger, MVT::i32, 0, 
   11105             : /* 20082*/            OPC_EmitConvertToTarget, 1,
   11106             : /* 20084*/            OPC_EmitInteger, MVT::i32, 0, 
   11107             : /* 20087*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11108             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   11109             : /* 20094*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11110             :                           MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   11111             :                       // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 13
   11112             :                       // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   11113             : /* 20104*/          /*Scope*/ 30, /*->20135*/
   11114             : /* 20105*/            OPC_CheckChild1Type, MVT::i32,
   11115             : /* 20107*/            OPC_MoveChild2,
   11116             : /* 20108*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11117             : /* 20111*/            OPC_RecordChild0, // #2 = $val
   11118             : /* 20112*/            OPC_MoveParent,
   11119             : /* 20113*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   11120             : /* 20115*/            OPC_MoveParent,
   11121             : /* 20116*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11122             : /* 20118*/            OPC_EmitMergeInputChains1_0,
   11123             : /* 20119*/            OPC_EmitInteger, MVT::i32, 0, 
   11124             : /* 20122*/            OPC_EmitInteger, MVT::i32, 0, 
   11125             : /* 20125*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11126             :                           MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   11127             :                       // Src: (zext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_32>>) - Complexity = 10
   11128             :                       // Dst: (ATOMIC_RMW32_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   11129             : /* 20135*/          0, /*End of Scope*/
   11130             : /* 20136*/        0, /*End of Scope*/
   11131             : /* 20137*/      /*SwitchOpcode*/ 46|128,3/*430*/, TARGET_VAL(ISD::ATOMIC_SWAP),// ->20571
   11132             : /* 20141*/        OPC_RecordMemRef,
   11133             : /* 20142*/        OPC_RecordNode, // #0 = 'atomic_swap' chained node
   11134             : /* 20143*/        OPC_Scope, 90|128,2/*346*/, /*->20492*/ // 2 children in Scope
   11135             : /* 20146*/          OPC_MoveChild1,
   11136             : /* 20147*/          OPC_SwitchOpcode /*3 cases */, 82|128,1/*210*/, TARGET_VAL(ISD::ADD),// ->20362
   11137             : /* 20152*/            OPC_Scope, 42, /*->20196*/ // 5 children in Scope
   11138             : /* 20154*/              OPC_RecordChild0, // #1 = $addr
   11139             : /* 20155*/              OPC_MoveChild1,
   11140             : /* 20156*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11141             : /* 20159*/              OPC_RecordChild0, // #2 = $off
   11142             : /* 20160*/              OPC_MoveChild0,
   11143             : /* 20161*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   11144             : /* 20164*/              OPC_MoveParent,
   11145             : /* 20165*/              OPC_MoveParent,
   11146             : /* 20166*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   11147             : /* 20168*/              OPC_CheckType, MVT::i32,
   11148             : /* 20170*/              OPC_MoveParent,
   11149             : /* 20171*/              OPC_MoveChild2,
   11150             : /* 20172*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11151             : /* 20175*/              OPC_RecordChild0, // #3 = $val
   11152             : /* 20176*/              OPC_MoveParent,
   11153             : /* 20177*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   11154             : /* 20179*/              OPC_MoveParent,
   11155             : /* 20180*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11156             : /* 20182*/              OPC_EmitMergeInputChains1_0,
   11157             : /* 20183*/              OPC_EmitInteger, MVT::i32, 0, 
   11158             : /* 20186*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11159             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   11160             :                         // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 20
   11161             :                         // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   11162             : /* 20196*/            /*Scope*/ 42, /*->20239*/
   11163             : /* 20197*/              OPC_MoveChild0,
   11164             : /* 20198*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11165             : /* 20201*/              OPC_RecordChild0, // #1 = $off
   11166             : /* 20202*/              OPC_MoveChild0,
   11167             : /* 20203*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   11168             : /* 20206*/              OPC_MoveParent,
   11169             : /* 20207*/              OPC_MoveParent,
   11170             : /* 20208*/              OPC_RecordChild1, // #2 = $addr
   11171             : /* 20209*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   11172             : /* 20211*/              OPC_CheckType, MVT::i32,
   11173             : /* 20213*/              OPC_MoveParent,
   11174             : /* 20214*/              OPC_MoveChild2,
   11175             : /* 20215*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11176             : /* 20218*/              OPC_RecordChild0, // #3 = $val
   11177             : /* 20219*/              OPC_MoveParent,
   11178             : /* 20220*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   11179             : /* 20222*/              OPC_MoveParent,
   11180             : /* 20223*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11181             : /* 20225*/              OPC_EmitMergeInputChains1_0,
   11182             : /* 20226*/              OPC_EmitInteger, MVT::i32, 0, 
   11183             : /* 20229*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11184             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   11185             :                         // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 20
   11186             :                         // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   11187             : /* 20239*/            /*Scope*/ 40, /*->20280*/
   11188             : /* 20240*/              OPC_RecordChild0, // #1 = $addr
   11189             : /* 20241*/              OPC_MoveChild1,
   11190             : /* 20242*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11191             : /* 20245*/              OPC_RecordChild0, // #2 = $off
   11192             : /* 20246*/              OPC_MoveChild0,
   11193             : /* 20247*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   11194             : /* 20250*/              OPC_MoveParent,
   11195             : /* 20251*/              OPC_MoveParent,
   11196             : /* 20252*/              OPC_CheckType, MVT::i32,
   11197             : /* 20254*/              OPC_MoveParent,
   11198             : /* 20255*/              OPC_MoveChild2,
   11199             : /* 20256*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11200             : /* 20259*/              OPC_RecordChild0, // #3 = $val
   11201             : /* 20260*/              OPC_MoveParent,
   11202             : /* 20261*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   11203             : /* 20263*/              OPC_MoveParent,
   11204             : /* 20264*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11205             : /* 20266*/              OPC_EmitMergeInputChains1_0,
   11206             : /* 20267*/              OPC_EmitInteger, MVT::i32, 0, 
   11207             : /* 20270*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11208             :                             MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   11209             :                         // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 19
   11210             :                         // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   11211             : /* 20280*/            /*Scope*/ 40, /*->20321*/
   11212             : /* 20281*/              OPC_MoveChild0,
   11213             : /* 20282*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11214             : /* 20285*/              OPC_RecordChild0, // #1 = $off
   11215             : /* 20286*/              OPC_MoveChild0,
   11216             : /* 20287*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   11217             : /* 20290*/              OPC_MoveParent,
   11218             : /* 20291*/              OPC_MoveParent,
   11219             : /* 20292*/              OPC_RecordChild1, // #2 = $addr
   11220             : /* 20293*/              OPC_CheckType, MVT::i32,
   11221             : /* 20295*/              OPC_MoveParent,
   11222             : /* 20296*/              OPC_MoveChild2,
   11223             : /* 20297*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11224             : /* 20300*/              OPC_RecordChild0, // #3 = $val
   11225             : /* 20301*/              OPC_MoveParent,
   11226             : /* 20302*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   11227             : /* 20304*/              OPC_MoveParent,
   11228             : /* 20305*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11229             : /* 20307*/              OPC_EmitMergeInputChains1_0,
   11230             : /* 20308*/              OPC_EmitInteger, MVT::i32, 0, 
   11231             : /* 20311*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11232             :                             MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   11233             :                         // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 19
   11234             :                         // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   11235             : /* 20321*/            /*Scope*/ 39, /*->20361*/
   11236             : /* 20322*/              OPC_RecordChild0, // #1 = $addr
   11237             : /* 20323*/              OPC_RecordChild1, // #2 = $off
   11238             : /* 20324*/              OPC_MoveChild1,
   11239             : /* 20325*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11240             : /* 20328*/              OPC_MoveParent,
   11241             : /* 20329*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   11242             : /* 20331*/              OPC_CheckType, MVT::i32,
   11243             : /* 20333*/              OPC_MoveParent,
   11244             : /* 20334*/              OPC_MoveChild2,
   11245             : /* 20335*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11246             : /* 20338*/              OPC_RecordChild0, // #3 = $val
   11247             : /* 20339*/              OPC_MoveParent,
   11248             : /* 20340*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   11249             : /* 20342*/              OPC_MoveParent,
   11250             : /* 20343*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11251             : /* 20345*/              OPC_EmitMergeInputChains1_0,
   11252             : /* 20346*/              OPC_EmitInteger, MVT::i32, 0, 
   11253             : /* 20349*/              OPC_EmitConvertToTarget, 2,
   11254             : /* 20351*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11255             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   11256             :                         // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 17
   11257             :                         // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   11258             : /* 20361*/            0, /*End of Scope*/
   11259             : /* 20362*/          /*SwitchOpcode*/ 39, TARGET_VAL(ISD::OR),// ->20404
   11260             : /* 20365*/            OPC_RecordChild0, // #1 = $addr
   11261             : /* 20366*/            OPC_RecordChild1, // #2 = $off
   11262             : /* 20367*/            OPC_MoveChild1,
   11263             : /* 20368*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11264             : /* 20371*/            OPC_MoveParent,
   11265             : /* 20372*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   11266             : /* 20374*/            OPC_CheckType, MVT::i32,
   11267             : /* 20376*/            OPC_MoveParent,
   11268             : /* 20377*/            OPC_MoveChild2,
   11269             : /* 20378*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11270             : /* 20381*/            OPC_RecordChild0, // #3 = $val
   11271             : /* 20382*/            OPC_MoveParent,
   11272             : /* 20383*/            OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   11273             : /* 20385*/            OPC_MoveParent,
   11274             : /* 20386*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11275             : /* 20388*/            OPC_EmitMergeInputChains1_0,
   11276             : /* 20389*/            OPC_EmitInteger, MVT::i32, 0, 
   11277             : /* 20392*/            OPC_EmitConvertToTarget, 2,
   11278             : /* 20394*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11279             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   11280             :                       // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 17
   11281             :                       // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   11282             : /* 20404*/          /*SwitchOpcode*/ 84, TARGET_VAL(WebAssemblyISD::Wrapper),// ->20491
   11283             : /* 20407*/            OPC_RecordChild0, // #1 = $off
   11284             : /* 20408*/            OPC_MoveChild0,
   11285             : /* 20409*/            OPC_SwitchOpcode /*2 cases */, 37, TARGET_VAL(ISD::TargetGlobalAddress),// ->20450
   11286             : /* 20413*/              OPC_MoveParent,
   11287             : /* 20414*/              OPC_MoveParent,
   11288             : /* 20415*/              OPC_MoveChild2,
   11289             : /* 20416*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11290             : /* 20419*/              OPC_RecordChild0, // #2 = $val
   11291             : /* 20420*/              OPC_MoveParent,
   11292             : /* 20421*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   11293             : /* 20423*/              OPC_MoveParent,
   11294             : /* 20424*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11295             : /* 20426*/              OPC_EmitMergeInputChains1_0,
   11296             : /* 20427*/              OPC_EmitInteger, MVT::i32, 0, 
   11297             : /* 20430*/              OPC_EmitInteger, MVT::i32, 0, 
   11298             : /* 20433*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11299             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   11300             : /* 20440*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11301             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   11302             :                         // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 16
   11303             :                         // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   11304             : /* 20450*/            /*SwitchOpcode*/ 37, TARGET_VAL(ISD::TargetExternalSymbol),// ->20490
   11305             : /* 20453*/              OPC_MoveParent,
   11306             : /* 20454*/              OPC_MoveParent,
   11307             : /* 20455*/              OPC_MoveChild2,
   11308             : /* 20456*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11309             : /* 20459*/              OPC_RecordChild0, // #2 = $val
   11310             : /* 20460*/              OPC_MoveParent,
   11311             : /* 20461*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   11312             : /* 20463*/              OPC_MoveParent,
   11313             : /* 20464*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11314             : /* 20466*/              OPC_EmitMergeInputChains1_0,
   11315             : /* 20467*/              OPC_EmitInteger, MVT::i32, 0, 
   11316             : /* 20470*/              OPC_EmitInteger, MVT::i32, 0, 
   11317             : /* 20473*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11318             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   11319             : /* 20480*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11320             :                             MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   11321             :                         // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 16
   11322             :                         // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   11323             : /* 20490*/            0, // EndSwitchOpcode
   11324             : /* 20491*/          0, // EndSwitchOpcode
   11325             : /* 20492*/        /*Scope*/ 77, /*->20570*/
   11326             : /* 20493*/          OPC_RecordChild1, // #1 = $off
   11327             : /* 20494*/          OPC_Scope, 42, /*->20538*/ // 2 children in Scope
   11328             : /* 20496*/            OPC_MoveChild1,
   11329             : /* 20497*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11330             : /* 20500*/            OPC_MoveParent,
   11331             : /* 20501*/            OPC_MoveChild2,
   11332             : /* 20502*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11333             : /* 20505*/            OPC_RecordChild0, // #2 = $val
   11334             : /* 20506*/            OPC_MoveParent,
   11335             : /* 20507*/            OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   11336             : /* 20509*/            OPC_MoveParent,
   11337             : /* 20510*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11338             : /* 20512*/            OPC_EmitMergeInputChains1_0,
   11339             : /* 20513*/            OPC_EmitInteger, MVT::i32, 0, 
   11340             : /* 20516*/            OPC_EmitConvertToTarget, 1,
   11341             : /* 20518*/            OPC_EmitInteger, MVT::i32, 0, 
   11342             : /* 20521*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11343             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   11344             : /* 20528*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11345             :                           MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   11346             :                       // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 13
   11347             :                       // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   11348             : /* 20538*/          /*Scope*/ 30, /*->20569*/
   11349             : /* 20539*/            OPC_CheckChild1Type, MVT::i32,
   11350             : /* 20541*/            OPC_MoveChild2,
   11351             : /* 20542*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11352             : /* 20545*/            OPC_RecordChild0, // #2 = $val
   11353             : /* 20546*/            OPC_MoveParent,
   11354             : /* 20547*/            OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   11355             : /* 20549*/            OPC_MoveParent,
   11356             : /* 20550*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11357             : /* 20552*/            OPC_EmitMergeInputChains1_0,
   11358             : /* 20553*/            OPC_EmitInteger, MVT::i32, 0, 
   11359             : /* 20556*/            OPC_EmitInteger, MVT::i32, 0, 
   11360             : /* 20559*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW32_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11361             :                           MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   11362             :                       // Src: (zext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_32>>) - Complexity = 10
   11363             :                       // Dst: (ATOMIC_RMW32_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   11364             : /* 20569*/          0, /*End of Scope*/
   11365             : /* 20570*/        0, /*End of Scope*/
   11366             : /* 20571*/      /*SwitchOpcode*/ 84|128,2/*340*/, TARGET_VAL(ISD::ATOMIC_LOAD),// ->20915
   11367             : /* 20575*/        OPC_RecordMemRef,
   11368             : /* 20576*/        OPC_RecordNode, // #0 = 'atomic_load' chained node
   11369             : /* 20577*/        OPC_Scope, 18|128,2/*274*/, /*->20854*/ // 2 children in Scope
   11370             : /* 20580*/          OPC_MoveChild1,
   11371             : /* 20581*/          OPC_SwitchOpcode /*3 cases */, 37|128,1/*165*/, TARGET_VAL(ISD::ADD),// ->20751
   11372             : /* 20586*/            OPC_Scope, 33, /*->20621*/ // 5 children in Scope
   11373             : /* 20588*/              OPC_RecordChild0, // #1 = $addr
   11374             : /* 20589*/              OPC_MoveChild1,
   11375             : /* 20590*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11376             : /* 20593*/              OPC_RecordChild0, // #2 = $off
   11377             : /* 20594*/              OPC_MoveChild0,
   11378             : /* 20595*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   11379             : /* 20598*/              OPC_MoveParent,
   11380             : /* 20599*/              OPC_MoveParent,
   11381             : /* 20600*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   11382             : /* 20602*/              OPC_CheckType, MVT::i32,
   11383             : /* 20604*/              OPC_MoveParent,
   11384             : /* 20605*/              OPC_MoveParent,
   11385             : /* 20606*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11386             : /* 20608*/              OPC_EmitMergeInputChains1_0,
   11387             : /* 20609*/              OPC_EmitInteger, MVT::i32, 0, 
   11388             : /* 20612*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11389             :                             MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   11390             :                         // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)) - Complexity = 16
   11391             :                         // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   11392             : /* 20621*/            /*Scope*/ 33, /*->20655*/
   11393             : /* 20622*/              OPC_MoveChild0,
   11394             : /* 20623*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11395             : /* 20626*/              OPC_RecordChild0, // #1 = $off
   11396             : /* 20627*/              OPC_MoveChild0,
   11397             : /* 20628*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   11398             : /* 20631*/              OPC_MoveParent,
   11399             : /* 20632*/              OPC_MoveParent,
   11400             : /* 20633*/              OPC_RecordChild1, // #2 = $addr
   11401             : /* 20634*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   11402             : /* 20636*/              OPC_CheckType, MVT::i32,
   11403             : /* 20638*/              OPC_MoveParent,
   11404             : /* 20639*/              OPC_MoveParent,
   11405             : /* 20640*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11406             : /* 20642*/              OPC_EmitMergeInputChains1_0,
   11407             : /* 20643*/              OPC_EmitInteger, MVT::i32, 0, 
   11408             : /* 20646*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11409             :                             MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   11410             :                         // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)) - Complexity = 16
   11411             :                         // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   11412             : /* 20655*/            /*Scope*/ 31, /*->20687*/
   11413             : /* 20656*/              OPC_RecordChild0, // #1 = $addr
   11414             : /* 20657*/              OPC_MoveChild1,
   11415             : /* 20658*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11416             : /* 20661*/              OPC_RecordChild0, // #2 = $off
   11417             : /* 20662*/              OPC_MoveChild0,
   11418             : /* 20663*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   11419             : /* 20666*/              OPC_MoveParent,
   11420             : /* 20667*/              OPC_MoveParent,
   11421             : /* 20668*/              OPC_CheckType, MVT::i32,
   11422             : /* 20670*/              OPC_MoveParent,
   11423             : /* 20671*/              OPC_MoveParent,
   11424             : /* 20672*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11425             : /* 20674*/              OPC_EmitMergeInputChains1_0,
   11426             : /* 20675*/              OPC_EmitInteger, MVT::i32, 0, 
   11427             : /* 20678*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11428             :                             MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   11429             :                         // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))) - Complexity = 15
   11430             :                         // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   11431             : /* 20687*/            /*Scope*/ 31, /*->20719*/
   11432             : /* 20688*/              OPC_MoveChild0,
   11433             : /* 20689*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11434             : /* 20692*/              OPC_RecordChild0, // #1 = $off
   11435             : /* 20693*/              OPC_MoveChild0,
   11436             : /* 20694*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   11437             : /* 20697*/              OPC_MoveParent,
   11438             : /* 20698*/              OPC_MoveParent,
   11439             : /* 20699*/              OPC_RecordChild1, // #2 = $addr
   11440             : /* 20700*/              OPC_CheckType, MVT::i32,
   11441             : /* 20702*/              OPC_MoveParent,
   11442             : /* 20703*/              OPC_MoveParent,
   11443             : /* 20704*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11444             : /* 20706*/              OPC_EmitMergeInputChains1_0,
   11445             : /* 20707*/              OPC_EmitInteger, MVT::i32, 0, 
   11446             : /* 20710*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11447             :                             MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   11448             :                         // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))) - Complexity = 15
   11449             :                         // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   11450             : /* 20719*/            /*Scope*/ 30, /*->20750*/
   11451             : /* 20720*/              OPC_RecordChild0, // #1 = $addr
   11452             : /* 20721*/              OPC_RecordChild1, // #2 = $off
   11453             : /* 20722*/              OPC_MoveChild1,
   11454             : /* 20723*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11455             : /* 20726*/              OPC_MoveParent,
   11456             : /* 20727*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   11457             : /* 20729*/              OPC_CheckType, MVT::i32,
   11458             : /* 20731*/              OPC_MoveParent,
   11459             : /* 20732*/              OPC_MoveParent,
   11460             : /* 20733*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11461             : /* 20735*/              OPC_EmitMergeInputChains1_0,
   11462             : /* 20736*/              OPC_EmitInteger, MVT::i32, 0, 
   11463             : /* 20739*/              OPC_EmitConvertToTarget, 2,
   11464             : /* 20741*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11465             :                             MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   11466             :                         // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)) - Complexity = 13
   11467             :                         // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   11468             : /* 20750*/            0, /*End of Scope*/
   11469             : /* 20751*/          /*SwitchOpcode*/ 30, TARGET_VAL(ISD::OR),// ->20784
   11470             : /* 20754*/            OPC_RecordChild0, // #1 = $addr
   11471             : /* 20755*/            OPC_RecordChild1, // #2 = $off
   11472             : /* 20756*/            OPC_MoveChild1,
   11473             : /* 20757*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11474             : /* 20760*/            OPC_MoveParent,
   11475             : /* 20761*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   11476             : /* 20763*/            OPC_CheckType, MVT::i32,
   11477             : /* 20765*/            OPC_MoveParent,
   11478             : /* 20766*/            OPC_MoveParent,
   11479             : /* 20767*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11480             : /* 20769*/            OPC_EmitMergeInputChains1_0,
   11481             : /* 20770*/            OPC_EmitInteger, MVT::i32, 0, 
   11482             : /* 20773*/            OPC_EmitConvertToTarget, 2,
   11483             : /* 20775*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11484             :                           MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   11485             :                       // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)) - Complexity = 13
   11486             :                       // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   11487             : /* 20784*/          /*SwitchOpcode*/ 66, TARGET_VAL(WebAssemblyISD::Wrapper),// ->20853
   11488             : /* 20787*/            OPC_RecordChild0, // #1 = $off
   11489             : /* 20788*/            OPC_MoveChild0,
   11490             : /* 20789*/            OPC_SwitchOpcode /*2 cases */, 28, TARGET_VAL(ISD::TargetGlobalAddress),// ->20821
   11491             : /* 20793*/              OPC_MoveParent,
   11492             : /* 20794*/              OPC_MoveParent,
   11493             : /* 20795*/              OPC_MoveParent,
   11494             : /* 20796*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11495             : /* 20798*/              OPC_EmitMergeInputChains1_0,
   11496             : /* 20799*/              OPC_EmitInteger, MVT::i32, 0, 
   11497             : /* 20802*/              OPC_EmitInteger, MVT::i32, 0, 
   11498             : /* 20805*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11499             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   11500             : /* 20812*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11501             :                             MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   11502             :                         // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))) - Complexity = 12
   11503             :                         // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   11504             : /* 20821*/            /*SwitchOpcode*/ 28, TARGET_VAL(ISD::TargetExternalSymbol),// ->20852
   11505             : /* 20824*/              OPC_MoveParent,
   11506             : /* 20825*/              OPC_MoveParent,
   11507             : /* 20826*/              OPC_MoveParent,
   11508             : /* 20827*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11509             : /* 20829*/              OPC_EmitMergeInputChains1_0,
   11510             : /* 20830*/              OPC_EmitInteger, MVT::i32, 0, 
   11511             : /* 20833*/              OPC_EmitInteger, MVT::i32, 0, 
   11512             : /* 20836*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11513             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   11514             : /* 20843*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11515             :                             MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   11516             :                         // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))) - Complexity = 12
   11517             :                         // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   11518             : /* 20852*/            0, // EndSwitchOpcode
   11519             : /* 20853*/          0, // EndSwitchOpcode
   11520             : /* 20854*/        /*Scope*/ 59, /*->20914*/
   11521             : /* 20855*/          OPC_RecordChild1, // #1 = $off
   11522             : /* 20856*/          OPC_Scope, 33, /*->20891*/ // 2 children in Scope
   11523             : /* 20858*/            OPC_MoveChild1,
   11524             : /* 20859*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11525             : /* 20862*/            OPC_MoveParent,
   11526             : /* 20863*/            OPC_MoveParent,
   11527             : /* 20864*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11528             : /* 20866*/            OPC_EmitMergeInputChains1_0,
   11529             : /* 20867*/            OPC_EmitInteger, MVT::i32, 0, 
   11530             : /* 20870*/            OPC_EmitConvertToTarget, 1,
   11531             : /* 20872*/            OPC_EmitInteger, MVT::i32, 0, 
   11532             : /* 20875*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11533             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   11534             : /* 20882*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11535             :                           MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   11536             :                       // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)) - Complexity = 9
   11537             :                       // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   11538             : /* 20891*/          /*Scope*/ 21, /*->20913*/
   11539             : /* 20892*/            OPC_CheckChild1Type, MVT::i32,
   11540             : /* 20894*/            OPC_MoveParent,
   11541             : /* 20895*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11542             : /* 20897*/            OPC_EmitMergeInputChains1_0,
   11543             : /* 20898*/            OPC_EmitInteger, MVT::i32, 0, 
   11544             : /* 20901*/            OPC_EmitInteger, MVT::i32, 0, 
   11545             : /* 20904*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11546             :                           MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   11547             :                       // Src: (zext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)) - Complexity = 6
   11548             :                       // Dst: (ATOMIC_LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   11549             : /* 20913*/          0, /*End of Scope*/
   11550             : /* 20914*/        0, /*End of Scope*/
   11551             : /* 20915*/      0, // EndSwitchOpcode
   11552             : /* 20916*/    /*Scope*/ 8, /*->20925*/
   11553             : /* 20917*/      OPC_RecordChild0, // #0 = $src
   11554             : /* 20918*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32), 0,
   11555             :                     MVT::i64, 1/*#Ops*/, 0, 
   11556             :                 // Src: (zext:{ *:[i64] } I32:{ *:[i32] }:$src) - Complexity = 3
   11557             :                 // Dst: (I64_EXTEND_U_I32:{ *:[i64] } I32:{ *:[i32] }:$src)
   11558             : /* 20925*/    0, /*End of Scope*/
   11559             : /* 20926*/  /*SwitchOpcode*/ 48|128,44/*5680*/, TARGET_VAL(ISD::ANY_EXTEND),// ->26610
   11560             : /* 20930*/    OPC_Scope, 35|128,44/*5667*/, /*->26600*/ // 2 children in Scope
   11561             : /* 20933*/      OPC_MoveChild0,
   11562             : /* 20934*/      OPC_SwitchOpcode /*8 cases */, 38|128,6/*806*/, TARGET_VAL(ISD::AssertZext),// ->21745
   11563             : /* 20939*/        OPC_MoveChild0,
   11564             : /* 20940*/        OPC_CheckOpcode, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),
   11565             : /* 20943*/        OPC_RecordMemRef,
   11566             : /* 20944*/        OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
   11567             : /* 20945*/        OPC_CheckFoldableChainNode,
   11568             : /* 20946*/        OPC_Scope, 123|128,4/*635*/, /*->21584*/ // 2 children in Scope
   11569             : /* 20949*/          OPC_MoveChild1,
   11570             : /* 20950*/          OPC_SwitchOpcode /*3 cases */, 121|128,2/*377*/, TARGET_VAL(ISD::ADD),// ->21332
   11571             : /* 20955*/            OPC_Scope, 75, /*->21032*/ // 5 children in Scope
   11572             : /* 20957*/              OPC_RecordChild0, // #1 = $addr
   11573             : /* 20958*/              OPC_MoveChild1,
   11574             : /* 20959*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11575             : /* 20962*/              OPC_RecordChild0, // #2 = $off
   11576             : /* 20963*/              OPC_MoveChild0,
   11577             : /* 20964*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   11578             : /* 20967*/              OPC_MoveParent,
   11579             : /* 20968*/              OPC_MoveParent,
   11580             : /* 20969*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   11581             : /* 20971*/              OPC_CheckType, MVT::i32,
   11582             : /* 20973*/              OPC_MoveParent,
   11583             : /* 20974*/              OPC_MoveChild2,
   11584             : /* 20975*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11585             : /* 20978*/              OPC_RecordChild0, // #3 = $exp
   11586             : /* 20979*/              OPC_MoveParent,
   11587             : /* 20980*/              OPC_MoveChild3,
   11588             : /* 20981*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11589             : /* 20984*/              OPC_RecordChild0, // #4 = $new
   11590             : /* 20985*/              OPC_MoveParent,
   11591             : /* 20986*/              OPC_Scope, 21, /*->21009*/ // 2 children in Scope
   11592             : /* 20988*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   11593             : /* 20990*/                OPC_MoveParent,
   11594             : /* 20991*/                OPC_MoveParent,
   11595             : /* 20992*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11596             : /* 20994*/                OPC_EmitMergeInputChains1_0,
   11597             : /* 20995*/                OPC_EmitInteger, MVT::i32, 0, 
   11598             : /* 20998*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11599             :                               MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   11600             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 26
   11601             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11602             : /* 21009*/              /*Scope*/ 21, /*->21031*/
   11603             : /* 21010*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   11604             : /* 21012*/                OPC_MoveParent,
   11605             : /* 21013*/                OPC_MoveParent,
   11606             : /* 21014*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11607             : /* 21016*/                OPC_EmitMergeInputChains1_0,
   11608             : /* 21017*/                OPC_EmitInteger, MVT::i32, 0, 
   11609             : /* 21020*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11610             :                               MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   11611             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 26
   11612             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11613             : /* 21031*/              0, /*End of Scope*/
   11614             : /* 21032*/            /*Scope*/ 75, /*->21108*/
   11615             : /* 21033*/              OPC_MoveChild0,
   11616             : /* 21034*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11617             : /* 21037*/              OPC_RecordChild0, // #1 = $off
   11618             : /* 21038*/              OPC_MoveChild0,
   11619             : /* 21039*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   11620             : /* 21042*/              OPC_MoveParent,
   11621             : /* 21043*/              OPC_MoveParent,
   11622             : /* 21044*/              OPC_RecordChild1, // #2 = $addr
   11623             : /* 21045*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   11624             : /* 21047*/              OPC_CheckType, MVT::i32,
   11625             : /* 21049*/              OPC_MoveParent,
   11626             : /* 21050*/              OPC_MoveChild2,
   11627             : /* 21051*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11628             : /* 21054*/              OPC_RecordChild0, // #3 = $exp
   11629             : /* 21055*/              OPC_MoveParent,
   11630             : /* 21056*/              OPC_MoveChild3,
   11631             : /* 21057*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11632             : /* 21060*/              OPC_RecordChild0, // #4 = $new
   11633             : /* 21061*/              OPC_MoveParent,
   11634             : /* 21062*/              OPC_Scope, 21, /*->21085*/ // 2 children in Scope
   11635             : /* 21064*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   11636             : /* 21066*/                OPC_MoveParent,
   11637             : /* 21067*/                OPC_MoveParent,
   11638             : /* 21068*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11639             : /* 21070*/                OPC_EmitMergeInputChains1_0,
   11640             : /* 21071*/                OPC_EmitInteger, MVT::i32, 0, 
   11641             : /* 21074*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11642             :                               MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   11643             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 26
   11644             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11645             : /* 21085*/              /*Scope*/ 21, /*->21107*/
   11646             : /* 21086*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   11647             : /* 21088*/                OPC_MoveParent,
   11648             : /* 21089*/                OPC_MoveParent,
   11649             : /* 21090*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11650             : /* 21092*/                OPC_EmitMergeInputChains1_0,
   11651             : /* 21093*/                OPC_EmitInteger, MVT::i32, 0, 
   11652             : /* 21096*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11653             :                               MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   11654             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 26
   11655             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11656             : /* 21107*/              0, /*End of Scope*/
   11657             : /* 21108*/            /*Scope*/ 73, /*->21182*/
   11658             : /* 21109*/              OPC_RecordChild0, // #1 = $addr
   11659             : /* 21110*/              OPC_MoveChild1,
   11660             : /* 21111*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11661             : /* 21114*/              OPC_RecordChild0, // #2 = $off
   11662             : /* 21115*/              OPC_MoveChild0,
   11663             : /* 21116*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   11664             : /* 21119*/              OPC_MoveParent,
   11665             : /* 21120*/              OPC_MoveParent,
   11666             : /* 21121*/              OPC_CheckType, MVT::i32,
   11667             : /* 21123*/              OPC_MoveParent,
   11668             : /* 21124*/              OPC_MoveChild2,
   11669             : /* 21125*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11670             : /* 21128*/              OPC_RecordChild0, // #3 = $exp
   11671             : /* 21129*/              OPC_MoveParent,
   11672             : /* 21130*/              OPC_MoveChild3,
   11673             : /* 21131*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11674             : /* 21134*/              OPC_RecordChild0, // #4 = $new
   11675             : /* 21135*/              OPC_MoveParent,
   11676             : /* 21136*/              OPC_Scope, 21, /*->21159*/ // 2 children in Scope
   11677             : /* 21138*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   11678             : /* 21140*/                OPC_MoveParent,
   11679             : /* 21141*/                OPC_MoveParent,
   11680             : /* 21142*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11681             : /* 21144*/                OPC_EmitMergeInputChains1_0,
   11682             : /* 21145*/                OPC_EmitInteger, MVT::i32, 0, 
   11683             : /* 21148*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11684             :                               MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   11685             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 25
   11686             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11687             : /* 21159*/              /*Scope*/ 21, /*->21181*/
   11688             : /* 21160*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   11689             : /* 21162*/                OPC_MoveParent,
   11690             : /* 21163*/                OPC_MoveParent,
   11691             : /* 21164*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11692             : /* 21166*/                OPC_EmitMergeInputChains1_0,
   11693             : /* 21167*/                OPC_EmitInteger, MVT::i32, 0, 
   11694             : /* 21170*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11695             :                               MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   11696             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 25
   11697             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11698             : /* 21181*/              0, /*End of Scope*/
   11699             : /* 21182*/            /*Scope*/ 73, /*->21256*/
   11700             : /* 21183*/              OPC_MoveChild0,
   11701             : /* 21184*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   11702             : /* 21187*/              OPC_RecordChild0, // #1 = $off
   11703             : /* 21188*/              OPC_MoveChild0,
   11704             : /* 21189*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   11705             : /* 21192*/              OPC_MoveParent,
   11706             : /* 21193*/              OPC_MoveParent,
   11707             : /* 21194*/              OPC_RecordChild1, // #2 = $addr
   11708             : /* 21195*/              OPC_CheckType, MVT::i32,
   11709             : /* 21197*/              OPC_MoveParent,
   11710             : /* 21198*/              OPC_MoveChild2,
   11711             : /* 21199*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11712             : /* 21202*/              OPC_RecordChild0, // #3 = $exp
   11713             : /* 21203*/              OPC_MoveParent,
   11714             : /* 21204*/              OPC_MoveChild3,
   11715             : /* 21205*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11716             : /* 21208*/              OPC_RecordChild0, // #4 = $new
   11717             : /* 21209*/              OPC_MoveParent,
   11718             : /* 21210*/              OPC_Scope, 21, /*->21233*/ // 2 children in Scope
   11719             : /* 21212*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   11720             : /* 21214*/                OPC_MoveParent,
   11721             : /* 21215*/                OPC_MoveParent,
   11722             : /* 21216*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11723             : /* 21218*/                OPC_EmitMergeInputChains1_0,
   11724             : /* 21219*/                OPC_EmitInteger, MVT::i32, 0, 
   11725             : /* 21222*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11726             :                               MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   11727             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 25
   11728             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11729             : /* 21233*/              /*Scope*/ 21, /*->21255*/
   11730             : /* 21234*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   11731             : /* 21236*/                OPC_MoveParent,
   11732             : /* 21237*/                OPC_MoveParent,
   11733             : /* 21238*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11734             : /* 21240*/                OPC_EmitMergeInputChains1_0,
   11735             : /* 21241*/                OPC_EmitInteger, MVT::i32, 0, 
   11736             : /* 21244*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11737             :                               MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   11738             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 25
   11739             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11740             : /* 21255*/              0, /*End of Scope*/
   11741             : /* 21256*/            /*Scope*/ 74, /*->21331*/
   11742             : /* 21257*/              OPC_RecordChild0, // #1 = $addr
   11743             : /* 21258*/              OPC_RecordChild1, // #2 = $off
   11744             : /* 21259*/              OPC_MoveChild1,
   11745             : /* 21260*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11746             : /* 21263*/              OPC_MoveParent,
   11747             : /* 21264*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   11748             : /* 21266*/              OPC_CheckType, MVT::i32,
   11749             : /* 21268*/              OPC_MoveParent,
   11750             : /* 21269*/              OPC_MoveChild2,
   11751             : /* 21270*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11752             : /* 21273*/              OPC_RecordChild0, // #3 = $exp
   11753             : /* 21274*/              OPC_MoveParent,
   11754             : /* 21275*/              OPC_MoveChild3,
   11755             : /* 21276*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11756             : /* 21279*/              OPC_RecordChild0, // #4 = $new
   11757             : /* 21280*/              OPC_MoveParent,
   11758             : /* 21281*/              OPC_Scope, 23, /*->21306*/ // 2 children in Scope
   11759             : /* 21283*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   11760             : /* 21285*/                OPC_MoveParent,
   11761             : /* 21286*/                OPC_MoveParent,
   11762             : /* 21287*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11763             : /* 21289*/                OPC_EmitMergeInputChains1_0,
   11764             : /* 21290*/                OPC_EmitInteger, MVT::i32, 0, 
   11765             : /* 21293*/                OPC_EmitConvertToTarget, 2,
   11766             : /* 21295*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11767             :                               MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   11768             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
   11769             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11770             : /* 21306*/              /*Scope*/ 23, /*->21330*/
   11771             : /* 21307*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   11772             : /* 21309*/                OPC_MoveParent,
   11773             : /* 21310*/                OPC_MoveParent,
   11774             : /* 21311*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11775             : /* 21313*/                OPC_EmitMergeInputChains1_0,
   11776             : /* 21314*/                OPC_EmitInteger, MVT::i32, 0, 
   11777             : /* 21317*/                OPC_EmitConvertToTarget, 2,
   11778             : /* 21319*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11779             :                               MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   11780             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
   11781             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11782             : /* 21330*/              0, /*End of Scope*/
   11783             : /* 21331*/            0, /*End of Scope*/
   11784             : /* 21332*/          /*SwitchOpcode*/ 74, TARGET_VAL(ISD::OR),// ->21409
   11785             : /* 21335*/            OPC_RecordChild0, // #1 = $addr
   11786             : /* 21336*/            OPC_RecordChild1, // #2 = $off
   11787             : /* 21337*/            OPC_MoveChild1,
   11788             : /* 21338*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11789             : /* 21341*/            OPC_MoveParent,
   11790             : /* 21342*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   11791             : /* 21344*/            OPC_CheckType, MVT::i32,
   11792             : /* 21346*/            OPC_MoveParent,
   11793             : /* 21347*/            OPC_MoveChild2,
   11794             : /* 21348*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11795             : /* 21351*/            OPC_RecordChild0, // #3 = $exp
   11796             : /* 21352*/            OPC_MoveParent,
   11797             : /* 21353*/            OPC_MoveChild3,
   11798             : /* 21354*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11799             : /* 21357*/            OPC_RecordChild0, // #4 = $new
   11800             : /* 21358*/            OPC_MoveParent,
   11801             : /* 21359*/            OPC_Scope, 23, /*->21384*/ // 2 children in Scope
   11802             : /* 21361*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   11803             : /* 21363*/              OPC_MoveParent,
   11804             : /* 21364*/              OPC_MoveParent,
   11805             : /* 21365*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11806             : /* 21367*/              OPC_EmitMergeInputChains1_0,
   11807             : /* 21368*/              OPC_EmitInteger, MVT::i32, 0, 
   11808             : /* 21371*/              OPC_EmitConvertToTarget, 2,
   11809             : /* 21373*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11810             :                             MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   11811             :                         // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 23
   11812             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11813             : /* 21384*/            /*Scope*/ 23, /*->21408*/
   11814             : /* 21385*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   11815             : /* 21387*/              OPC_MoveParent,
   11816             : /* 21388*/              OPC_MoveParent,
   11817             : /* 21389*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11818             : /* 21391*/              OPC_EmitMergeInputChains1_0,
   11819             : /* 21392*/              OPC_EmitInteger, MVT::i32, 0, 
   11820             : /* 21395*/              OPC_EmitConvertToTarget, 2,
   11821             : /* 21397*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11822             :                             MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   11823             :                         // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 23
   11824             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11825             : /* 21408*/            0, /*End of Scope*/
   11826             : /* 21409*/          /*SwitchOpcode*/ 42|128,1/*170*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->21583
   11827             : /* 21413*/            OPC_RecordChild0, // #1 = $off
   11828             : /* 21414*/            OPC_MoveChild0,
   11829             : /* 21415*/            OPC_SwitchOpcode /*2 cases */, 80, TARGET_VAL(ISD::TargetGlobalAddress),// ->21499
   11830             : /* 21419*/              OPC_MoveParent,
   11831             : /* 21420*/              OPC_MoveParent,
   11832             : /* 21421*/              OPC_MoveChild2,
   11833             : /* 21422*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11834             : /* 21425*/              OPC_RecordChild0, // #2 = $exp
   11835             : /* 21426*/              OPC_MoveParent,
   11836             : /* 21427*/              OPC_MoveChild3,
   11837             : /* 21428*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11838             : /* 21431*/              OPC_RecordChild0, // #3 = $new
   11839             : /* 21432*/              OPC_MoveParent,
   11840             : /* 21433*/              OPC_Scope, 31, /*->21466*/ // 2 children in Scope
   11841             : /* 21435*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   11842             : /* 21437*/                OPC_MoveParent,
   11843             : /* 21438*/                OPC_MoveParent,
   11844             : /* 21439*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11845             : /* 21441*/                OPC_EmitMergeInputChains1_0,
   11846             : /* 21442*/                OPC_EmitInteger, MVT::i32, 0, 
   11847             : /* 21445*/                OPC_EmitInteger, MVT::i32, 0, 
   11848             : /* 21448*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11849             :                               MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   11850             : /* 21455*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11851             :                               MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   11852             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
   11853             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11854             : /* 21466*/              /*Scope*/ 31, /*->21498*/
   11855             : /* 21467*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   11856             : /* 21469*/                OPC_MoveParent,
   11857             : /* 21470*/                OPC_MoveParent,
   11858             : /* 21471*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11859             : /* 21473*/                OPC_EmitMergeInputChains1_0,
   11860             : /* 21474*/                OPC_EmitInteger, MVT::i32, 0, 
   11861             : /* 21477*/                OPC_EmitInteger, MVT::i32, 0, 
   11862             : /* 21480*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11863             :                               MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   11864             : /* 21487*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11865             :                               MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   11866             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
   11867             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11868             : /* 21498*/              0, /*End of Scope*/
   11869             : /* 21499*/            /*SwitchOpcode*/ 80, TARGET_VAL(ISD::TargetExternalSymbol),// ->21582
   11870             : /* 21502*/              OPC_MoveParent,
   11871             : /* 21503*/              OPC_MoveParent,
   11872             : /* 21504*/              OPC_MoveChild2,
   11873             : /* 21505*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11874             : /* 21508*/              OPC_RecordChild0, // #2 = $exp
   11875             : /* 21509*/              OPC_MoveParent,
   11876             : /* 21510*/              OPC_MoveChild3,
   11877             : /* 21511*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11878             : /* 21514*/              OPC_RecordChild0, // #3 = $new
   11879             : /* 21515*/              OPC_MoveParent,
   11880             : /* 21516*/              OPC_Scope, 31, /*->21549*/ // 2 children in Scope
   11881             : /* 21518*/                OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   11882             : /* 21520*/                OPC_MoveParent,
   11883             : /* 21521*/                OPC_MoveParent,
   11884             : /* 21522*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11885             : /* 21524*/                OPC_EmitMergeInputChains1_0,
   11886             : /* 21525*/                OPC_EmitInteger, MVT::i32, 0, 
   11887             : /* 21528*/                OPC_EmitInteger, MVT::i32, 0, 
   11888             : /* 21531*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11889             :                               MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   11890             : /* 21538*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11891             :                               MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   11892             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 22
   11893             :                           // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11894             : /* 21549*/              /*Scope*/ 31, /*->21581*/
   11895             : /* 21550*/                OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   11896             : /* 21552*/                OPC_MoveParent,
   11897             : /* 21553*/                OPC_MoveParent,
   11898             : /* 21554*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11899             : /* 21556*/                OPC_EmitMergeInputChains1_0,
   11900             : /* 21557*/                OPC_EmitInteger, MVT::i32, 0, 
   11901             : /* 21560*/                OPC_EmitInteger, MVT::i32, 0, 
   11902             : /* 21563*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11903             :                               MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   11904             : /* 21570*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11905             :                               MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   11906             :                           // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 22
   11907             :                           // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11908             : /* 21581*/              0, /*End of Scope*/
   11909             : /* 21582*/            0, // EndSwitchOpcode
   11910             : /* 21583*/          0, // EndSwitchOpcode
   11911             : /* 21584*/        /*Scope*/ 30|128,1/*158*/, /*->21744*/
   11912             : /* 21586*/          OPC_RecordChild1, // #1 = $off
   11913             : /* 21587*/          OPC_Scope, 87, /*->21676*/ // 2 children in Scope
   11914             : /* 21589*/            OPC_MoveChild1,
   11915             : /* 21590*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   11916             : /* 21593*/            OPC_MoveParent,
   11917             : /* 21594*/            OPC_MoveChild2,
   11918             : /* 21595*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11919             : /* 21598*/            OPC_RecordChild0, // #2 = $exp
   11920             : /* 21599*/            OPC_MoveParent,
   11921             : /* 21600*/            OPC_MoveChild3,
   11922             : /* 21601*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11923             : /* 21604*/            OPC_RecordChild0, // #3 = $new
   11924             : /* 21605*/            OPC_MoveParent,
   11925             : /* 21606*/            OPC_Scope, 33, /*->21641*/ // 2 children in Scope
   11926             : /* 21608*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   11927             : /* 21610*/              OPC_MoveParent,
   11928             : /* 21611*/              OPC_MoveParent,
   11929             : /* 21612*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11930             : /* 21614*/              OPC_EmitMergeInputChains1_0,
   11931             : /* 21615*/              OPC_EmitInteger, MVT::i32, 0, 
   11932             : /* 21618*/              OPC_EmitConvertToTarget, 1,
   11933             : /* 21620*/              OPC_EmitInteger, MVT::i32, 0, 
   11934             : /* 21623*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11935             :                             MVT::i32, 1/*#Ops*/, 6,  // Results = #7
   11936             : /* 21630*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11937             :                             MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3, 
   11938             :                         // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 19
   11939             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11940             : /* 21641*/            /*Scope*/ 33, /*->21675*/
   11941             : /* 21642*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   11942             : /* 21644*/              OPC_MoveParent,
   11943             : /* 21645*/              OPC_MoveParent,
   11944             : /* 21646*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11945             : /* 21648*/              OPC_EmitMergeInputChains1_0,
   11946             : /* 21649*/              OPC_EmitInteger, MVT::i32, 0, 
   11947             : /* 21652*/              OPC_EmitConvertToTarget, 1,
   11948             : /* 21654*/              OPC_EmitInteger, MVT::i32, 0, 
   11949             : /* 21657*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   11950             :                             MVT::i32, 1/*#Ops*/, 6,  // Results = #7
   11951             : /* 21664*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11952             :                             MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3, 
   11953             :                         // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 19
   11954             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11955             : /* 21675*/            0, /*End of Scope*/
   11956             : /* 21676*/          /*Scope*/ 66, /*->21743*/
   11957             : /* 21677*/            OPC_CheckChild1Type, MVT::i32,
   11958             : /* 21679*/            OPC_MoveChild2,
   11959             : /* 21680*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11960             : /* 21683*/            OPC_RecordChild0, // #2 = $exp
   11961             : /* 21684*/            OPC_MoveParent,
   11962             : /* 21685*/            OPC_MoveChild3,
   11963             : /* 21686*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   11964             : /* 21689*/            OPC_RecordChild0, // #3 = $new
   11965             : /* 21690*/            OPC_MoveParent,
   11966             : /* 21691*/            OPC_Scope, 24, /*->21717*/ // 2 children in Scope
   11967             : /* 21693*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   11968             : /* 21695*/              OPC_MoveParent,
   11969             : /* 21696*/              OPC_MoveParent,
   11970             : /* 21697*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11971             : /* 21699*/              OPC_EmitMergeInputChains1_0,
   11972             : /* 21700*/              OPC_EmitInteger, MVT::i32, 0, 
   11973             : /* 21703*/              OPC_EmitInteger, MVT::i32, 0, 
   11974             : /* 21706*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11975             :                             MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3, 
   11976             :                         // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_8>>)) - Complexity = 16
   11977             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11978             : /* 21717*/            /*Scope*/ 24, /*->21742*/
   11979             : /* 21718*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   11980             : /* 21720*/              OPC_MoveParent,
   11981             : /* 21721*/              OPC_MoveParent,
   11982             : /* 21722*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   11983             : /* 21724*/              OPC_EmitMergeInputChains1_0,
   11984             : /* 21725*/              OPC_EmitInteger, MVT::i32, 0, 
   11985             : /* 21728*/              OPC_EmitInteger, MVT::i32, 0, 
   11986             : /* 21731*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   11987             :                             MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3, 
   11988             :                         // Src: (anyext:{ *:[i64] } (assertzext:{ *:[i32] } (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$exp), (trunc:{ *:[i32] } i64:{ *:[i64] }:$new))<<P:Predicate_atomic_cmp_swap_16>>)) - Complexity = 16
   11989             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   11990             : /* 21742*/            0, /*End of Scope*/
   11991             : /* 21743*/          0, /*End of Scope*/
   11992             : /* 21744*/        0, /*End of Scope*/
   11993             : /* 21745*/      /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),// ->22450
   11994             : /* 21749*/        OPC_RecordMemRef,
   11995             : /* 21750*/        OPC_RecordNode, // #0 = 'atomic_load_add' chained node
   11996             : /* 21751*/        OPC_Scope, 43|128,4/*555*/, /*->22309*/ // 2 children in Scope
   11997             : /* 21754*/          OPC_MoveChild1,
   11998             : /* 21755*/          OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->22087
   11999             : /* 21760*/            OPC_Scope, 65, /*->21827*/ // 5 children in Scope
   12000             : /* 21762*/              OPC_RecordChild0, // #1 = $addr
   12001             : /* 21763*/              OPC_MoveChild1,
   12002             : /* 21764*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12003             : /* 21767*/              OPC_RecordChild0, // #2 = $off
   12004             : /* 21768*/              OPC_MoveChild0,
   12005             : /* 21769*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   12006             : /* 21772*/              OPC_MoveParent,
   12007             : /* 21773*/              OPC_MoveParent,
   12008             : /* 21774*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   12009             : /* 21776*/              OPC_CheckType, MVT::i32,
   12010             : /* 21778*/              OPC_MoveParent,
   12011             : /* 21779*/              OPC_MoveChild2,
   12012             : /* 21780*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12013             : /* 21783*/              OPC_RecordChild0, // #3 = $val
   12014             : /* 21784*/              OPC_MoveParent,
   12015             : /* 21785*/              OPC_Scope, 19, /*->21806*/ // 2 children in Scope
   12016             : /* 21787*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   12017             : /* 21789*/                OPC_MoveParent,
   12018             : /* 21790*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12019             : /* 21792*/                OPC_EmitMergeInputChains1_0,
   12020             : /* 21793*/                OPC_EmitInteger, MVT::i32, 0, 
   12021             : /* 21796*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12022             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12023             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 20
   12024             :                           // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12025             : /* 21806*/              /*Scope*/ 19, /*->21826*/
   12026             : /* 21807*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   12027             : /* 21809*/                OPC_MoveParent,
   12028             : /* 21810*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12029             : /* 21812*/                OPC_EmitMergeInputChains1_0,
   12030             : /* 21813*/                OPC_EmitInteger, MVT::i32, 0, 
   12031             : /* 21816*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12032             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12033             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 20
   12034             :                           // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12035             : /* 21826*/              0, /*End of Scope*/
   12036             : /* 21827*/            /*Scope*/ 65, /*->21893*/
   12037             : /* 21828*/              OPC_MoveChild0,
   12038             : /* 21829*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12039             : /* 21832*/              OPC_RecordChild0, // #1 = $off
   12040             : /* 21833*/              OPC_MoveChild0,
   12041             : /* 21834*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   12042             : /* 21837*/              OPC_MoveParent,
   12043             : /* 21838*/              OPC_MoveParent,
   12044             : /* 21839*/              OPC_RecordChild1, // #2 = $addr
   12045             : /* 21840*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   12046             : /* 21842*/              OPC_CheckType, MVT::i32,
   12047             : /* 21844*/              OPC_MoveParent,
   12048             : /* 21845*/              OPC_MoveChild2,
   12049             : /* 21846*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12050             : /* 21849*/              OPC_RecordChild0, // #3 = $val
   12051             : /* 21850*/              OPC_MoveParent,
   12052             : /* 21851*/              OPC_Scope, 19, /*->21872*/ // 2 children in Scope
   12053             : /* 21853*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   12054             : /* 21855*/                OPC_MoveParent,
   12055             : /* 21856*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12056             : /* 21858*/                OPC_EmitMergeInputChains1_0,
   12057             : /* 21859*/                OPC_EmitInteger, MVT::i32, 0, 
   12058             : /* 21862*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12059             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12060             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 20
   12061             :                           // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12062             : /* 21872*/              /*Scope*/ 19, /*->21892*/
   12063             : /* 21873*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   12064             : /* 21875*/                OPC_MoveParent,
   12065             : /* 21876*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12066             : /* 21878*/                OPC_EmitMergeInputChains1_0,
   12067             : /* 21879*/                OPC_EmitInteger, MVT::i32, 0, 
   12068             : /* 21882*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12069             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12070             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 20
   12071             :                           // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12072             : /* 21892*/              0, /*End of Scope*/
   12073             : /* 21893*/            /*Scope*/ 63, /*->21957*/
   12074             : /* 21894*/              OPC_RecordChild0, // #1 = $addr
   12075             : /* 21895*/              OPC_MoveChild1,
   12076             : /* 21896*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12077             : /* 21899*/              OPC_RecordChild0, // #2 = $off
   12078             : /* 21900*/              OPC_MoveChild0,
   12079             : /* 21901*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   12080             : /* 21904*/              OPC_MoveParent,
   12081             : /* 21905*/              OPC_MoveParent,
   12082             : /* 21906*/              OPC_CheckType, MVT::i32,
   12083             : /* 21908*/              OPC_MoveParent,
   12084             : /* 21909*/              OPC_MoveChild2,
   12085             : /* 21910*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12086             : /* 21913*/              OPC_RecordChild0, // #3 = $val
   12087             : /* 21914*/              OPC_MoveParent,
   12088             : /* 21915*/              OPC_Scope, 19, /*->21936*/ // 2 children in Scope
   12089             : /* 21917*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   12090             : /* 21919*/                OPC_MoveParent,
   12091             : /* 21920*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12092             : /* 21922*/                OPC_EmitMergeInputChains1_0,
   12093             : /* 21923*/                OPC_EmitInteger, MVT::i32, 0, 
   12094             : /* 21926*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12095             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12096             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 19
   12097             :                           // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12098             : /* 21936*/              /*Scope*/ 19, /*->21956*/
   12099             : /* 21937*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   12100             : /* 21939*/                OPC_MoveParent,
   12101             : /* 21940*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12102             : /* 21942*/                OPC_EmitMergeInputChains1_0,
   12103             : /* 21943*/                OPC_EmitInteger, MVT::i32, 0, 
   12104             : /* 21946*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12105             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12106             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 19
   12107             :                           // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12108             : /* 21956*/              0, /*End of Scope*/
   12109             : /* 21957*/            /*Scope*/ 63, /*->22021*/
   12110             : /* 21958*/              OPC_MoveChild0,
   12111             : /* 21959*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12112             : /* 21962*/              OPC_RecordChild0, // #1 = $off
   12113             : /* 21963*/              OPC_MoveChild0,
   12114             : /* 21964*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   12115             : /* 21967*/              OPC_MoveParent,
   12116             : /* 21968*/              OPC_MoveParent,
   12117             : /* 21969*/              OPC_RecordChild1, // #2 = $addr
   12118             : /* 21970*/              OPC_CheckType, MVT::i32,
   12119             : /* 21972*/              OPC_MoveParent,
   12120             : /* 21973*/              OPC_MoveChild2,
   12121             : /* 21974*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12122             : /* 21977*/              OPC_RecordChild0, // #3 = $val
   12123             : /* 21978*/              OPC_MoveParent,
   12124             : /* 21979*/              OPC_Scope, 19, /*->22000*/ // 2 children in Scope
   12125             : /* 21981*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   12126             : /* 21983*/                OPC_MoveParent,
   12127             : /* 21984*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12128             : /* 21986*/                OPC_EmitMergeInputChains1_0,
   12129             : /* 21987*/                OPC_EmitInteger, MVT::i32, 0, 
   12130             : /* 21990*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12131             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12132             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 19
   12133             :                           // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12134             : /* 22000*/              /*Scope*/ 19, /*->22020*/
   12135             : /* 22001*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   12136             : /* 22003*/                OPC_MoveParent,
   12137             : /* 22004*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12138             : /* 22006*/                OPC_EmitMergeInputChains1_0,
   12139             : /* 22007*/                OPC_EmitInteger, MVT::i32, 0, 
   12140             : /* 22010*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12141             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12142             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 19
   12143             :                           // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12144             : /* 22020*/              0, /*End of Scope*/
   12145             : /* 22021*/            /*Scope*/ 64, /*->22086*/
   12146             : /* 22022*/              OPC_RecordChild0, // #1 = $addr
   12147             : /* 22023*/              OPC_RecordChild1, // #2 = $off
   12148             : /* 22024*/              OPC_MoveChild1,
   12149             : /* 22025*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   12150             : /* 22028*/              OPC_MoveParent,
   12151             : /* 22029*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   12152             : /* 22031*/              OPC_CheckType, MVT::i32,
   12153             : /* 22033*/              OPC_MoveParent,
   12154             : /* 22034*/              OPC_MoveChild2,
   12155             : /* 22035*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12156             : /* 22038*/              OPC_RecordChild0, // #3 = $val
   12157             : /* 22039*/              OPC_MoveParent,
   12158             : /* 22040*/              OPC_Scope, 21, /*->22063*/ // 2 children in Scope
   12159             : /* 22042*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   12160             : /* 22044*/                OPC_MoveParent,
   12161             : /* 22045*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12162             : /* 22047*/                OPC_EmitMergeInputChains1_0,
   12163             : /* 22048*/                OPC_EmitInteger, MVT::i32, 0, 
   12164             : /* 22051*/                OPC_EmitConvertToTarget, 2,
   12165             : /* 22053*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12166             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12167             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 17
   12168             :                           // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12169             : /* 22063*/              /*Scope*/ 21, /*->22085*/
   12170             : /* 22064*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   12171             : /* 22066*/                OPC_MoveParent,
   12172             : /* 22067*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12173             : /* 22069*/                OPC_EmitMergeInputChains1_0,
   12174             : /* 22070*/                OPC_EmitInteger, MVT::i32, 0, 
   12175             : /* 22073*/                OPC_EmitConvertToTarget, 2,
   12176             : /* 22075*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12177             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12178             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 17
   12179             :                           // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12180             : /* 22085*/              0, /*End of Scope*/
   12181             : /* 22086*/            0, /*End of Scope*/
   12182             : /* 22087*/          /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->22154
   12183             : /* 22090*/            OPC_RecordChild0, // #1 = $addr
   12184             : /* 22091*/            OPC_RecordChild1, // #2 = $off
   12185             : /* 22092*/            OPC_MoveChild1,
   12186             : /* 22093*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   12187             : /* 22096*/            OPC_MoveParent,
   12188             : /* 22097*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   12189             : /* 22099*/            OPC_CheckType, MVT::i32,
   12190             : /* 22101*/            OPC_MoveParent,
   12191             : /* 22102*/            OPC_MoveChild2,
   12192             : /* 22103*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12193             : /* 22106*/            OPC_RecordChild0, // #3 = $val
   12194             : /* 22107*/            OPC_MoveParent,
   12195             : /* 22108*/            OPC_Scope, 21, /*->22131*/ // 2 children in Scope
   12196             : /* 22110*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   12197             : /* 22112*/              OPC_MoveParent,
   12198             : /* 22113*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12199             : /* 22115*/              OPC_EmitMergeInputChains1_0,
   12200             : /* 22116*/              OPC_EmitInteger, MVT::i32, 0, 
   12201             : /* 22119*/              OPC_EmitConvertToTarget, 2,
   12202             : /* 22121*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12203             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12204             :                         // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 17
   12205             :                         // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12206             : /* 22131*/            /*Scope*/ 21, /*->22153*/
   12207             : /* 22132*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   12208             : /* 22134*/              OPC_MoveParent,
   12209             : /* 22135*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12210             : /* 22137*/              OPC_EmitMergeInputChains1_0,
   12211             : /* 22138*/              OPC_EmitInteger, MVT::i32, 0, 
   12212             : /* 22141*/              OPC_EmitConvertToTarget, 2,
   12213             : /* 22143*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12214             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12215             :                         // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 17
   12216             :                         // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12217             : /* 22153*/            0, /*End of Scope*/
   12218             : /* 22154*/          /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->22308
   12219             : /* 22158*/            OPC_RecordChild0, // #1 = $off
   12220             : /* 22159*/            OPC_MoveChild0,
   12221             : /* 22160*/            OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->22234
   12222             : /* 22164*/              OPC_MoveParent,
   12223             : /* 22165*/              OPC_MoveParent,
   12224             : /* 22166*/              OPC_MoveChild2,
   12225             : /* 22167*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12226             : /* 22170*/              OPC_RecordChild0, // #2 = $val
   12227             : /* 22171*/              OPC_MoveParent,
   12228             : /* 22172*/              OPC_Scope, 29, /*->22203*/ // 2 children in Scope
   12229             : /* 22174*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   12230             : /* 22176*/                OPC_MoveParent,
   12231             : /* 22177*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12232             : /* 22179*/                OPC_EmitMergeInputChains1_0,
   12233             : /* 22180*/                OPC_EmitInteger, MVT::i32, 0, 
   12234             : /* 22183*/                OPC_EmitInteger, MVT::i32, 0, 
   12235             : /* 22186*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12236             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   12237             : /* 22193*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12238             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   12239             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 16
   12240             :                           // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12241             : /* 22203*/              /*Scope*/ 29, /*->22233*/
   12242             : /* 22204*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   12243             : /* 22206*/                OPC_MoveParent,
   12244             : /* 22207*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12245             : /* 22209*/                OPC_EmitMergeInputChains1_0,
   12246             : /* 22210*/                OPC_EmitInteger, MVT::i32, 0, 
   12247             : /* 22213*/                OPC_EmitInteger, MVT::i32, 0, 
   12248             : /* 22216*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12249             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   12250             : /* 22223*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12251             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   12252             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 16
   12253             :                           // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12254             : /* 22233*/              0, /*End of Scope*/
   12255             : /* 22234*/            /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->22307
   12256             : /* 22237*/              OPC_MoveParent,
   12257             : /* 22238*/              OPC_MoveParent,
   12258             : /* 22239*/              OPC_MoveChild2,
   12259             : /* 22240*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12260             : /* 22243*/              OPC_RecordChild0, // #2 = $val
   12261             : /* 22244*/              OPC_MoveParent,
   12262             : /* 22245*/              OPC_Scope, 29, /*->22276*/ // 2 children in Scope
   12263             : /* 22247*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   12264             : /* 22249*/                OPC_MoveParent,
   12265             : /* 22250*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12266             : /* 22252*/                OPC_EmitMergeInputChains1_0,
   12267             : /* 22253*/                OPC_EmitInteger, MVT::i32, 0, 
   12268             : /* 22256*/                OPC_EmitInteger, MVT::i32, 0, 
   12269             : /* 22259*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12270             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   12271             : /* 22266*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12272             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   12273             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 16
   12274             :                           // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12275             : /* 22276*/              /*Scope*/ 29, /*->22306*/
   12276             : /* 22277*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   12277             : /* 22279*/                OPC_MoveParent,
   12278             : /* 22280*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12279             : /* 22282*/                OPC_EmitMergeInputChains1_0,
   12280             : /* 22283*/                OPC_EmitInteger, MVT::i32, 0, 
   12281             : /* 22286*/                OPC_EmitInteger, MVT::i32, 0, 
   12282             : /* 22289*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12283             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   12284             : /* 22296*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12285             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   12286             :                           // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 16
   12287             :                           // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12288             : /* 22306*/              0, /*End of Scope*/
   12289             : /* 22307*/            0, // EndSwitchOpcode
   12290             : /* 22308*/          0, // EndSwitchOpcode
   12291             : /* 22309*/        /*Scope*/ 10|128,1/*138*/, /*->22449*/
   12292             : /* 22311*/          OPC_RecordChild1, // #1 = $off
   12293             : /* 22312*/          OPC_Scope, 77, /*->22391*/ // 2 children in Scope
   12294             : /* 22314*/            OPC_MoveChild1,
   12295             : /* 22315*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   12296             : /* 22318*/            OPC_MoveParent,
   12297             : /* 22319*/            OPC_MoveChild2,
   12298             : /* 22320*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12299             : /* 22323*/            OPC_RecordChild0, // #2 = $val
   12300             : /* 22324*/            OPC_MoveParent,
   12301             : /* 22325*/            OPC_Scope, 31, /*->22358*/ // 2 children in Scope
   12302             : /* 22327*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   12303             : /* 22329*/              OPC_MoveParent,
   12304             : /* 22330*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12305             : /* 22332*/              OPC_EmitMergeInputChains1_0,
   12306             : /* 22333*/              OPC_EmitInteger, MVT::i32, 0, 
   12307             : /* 22336*/              OPC_EmitConvertToTarget, 1,
   12308             : /* 22338*/              OPC_EmitInteger, MVT::i32, 0, 
   12309             : /* 22341*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12310             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   12311             : /* 22348*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12312             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   12313             :                         // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 13
   12314             :                         // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12315             : /* 22358*/            /*Scope*/ 31, /*->22390*/
   12316             : /* 22359*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   12317             : /* 22361*/              OPC_MoveParent,
   12318             : /* 22362*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12319             : /* 22364*/              OPC_EmitMergeInputChains1_0,
   12320             : /* 22365*/              OPC_EmitInteger, MVT::i32, 0, 
   12321             : /* 22368*/              OPC_EmitConvertToTarget, 1,
   12322             : /* 22370*/              OPC_EmitInteger, MVT::i32, 0, 
   12323             : /* 22373*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12324             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   12325             : /* 22380*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12326             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   12327             :                         // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 13
   12328             :                         // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12329             : /* 22390*/            0, /*End of Scope*/
   12330             : /* 22391*/          /*Scope*/ 56, /*->22448*/
   12331             : /* 22392*/            OPC_CheckChild1Type, MVT::i32,
   12332             : /* 22394*/            OPC_MoveChild2,
   12333             : /* 22395*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12334             : /* 22398*/            OPC_RecordChild0, // #2 = $val
   12335             : /* 22399*/            OPC_MoveParent,
   12336             : /* 22400*/            OPC_Scope, 22, /*->22424*/ // 2 children in Scope
   12337             : /* 22402*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   12338             : /* 22404*/              OPC_MoveParent,
   12339             : /* 22405*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12340             : /* 22407*/              OPC_EmitMergeInputChains1_0,
   12341             : /* 22408*/              OPC_EmitInteger, MVT::i32, 0, 
   12342             : /* 22411*/              OPC_EmitInteger, MVT::i32, 0, 
   12343             : /* 22414*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12344             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   12345             :                         // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_8>>) - Complexity = 10
   12346             :                         // Dst: (ATOMIC_RMW8_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12347             : /* 22424*/            /*Scope*/ 22, /*->22447*/
   12348             : /* 22425*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   12349             : /* 22427*/              OPC_MoveParent,
   12350             : /* 22428*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12351             : /* 22430*/              OPC_EmitMergeInputChains1_0,
   12352             : /* 22431*/              OPC_EmitInteger, MVT::i32, 0, 
   12353             : /* 22434*/              OPC_EmitInteger, MVT::i32, 0, 
   12354             : /* 22437*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12355             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   12356             :                         // Src: (anyext:{ *:[i64] } (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_add_16>>) - Complexity = 10
   12357             :                         // Dst: (ATOMIC_RMW16_U_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12358             : /* 22447*/            0, /*End of Scope*/
   12359             : /* 22448*/          0, /*End of Scope*/
   12360             : /* 22449*/        0, /*End of Scope*/
   12361             : /* 22450*/      /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),// ->23155
   12362             : /* 22454*/        OPC_RecordMemRef,
   12363             : /* 22455*/        OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
   12364             : /* 22456*/        OPC_Scope, 43|128,4/*555*/, /*->23014*/ // 2 children in Scope
   12365             : /* 22459*/          OPC_MoveChild1,
   12366             : /* 22460*/          OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->22792
   12367             : /* 22465*/            OPC_Scope, 65, /*->22532*/ // 5 children in Scope
   12368             : /* 22467*/              OPC_RecordChild0, // #1 = $addr
   12369             : /* 22468*/              OPC_MoveChild1,
   12370             : /* 22469*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12371             : /* 22472*/              OPC_RecordChild0, // #2 = $off
   12372             : /* 22473*/              OPC_MoveChild0,
   12373             : /* 22474*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   12374             : /* 22477*/              OPC_MoveParent,
   12375             : /* 22478*/              OPC_MoveParent,
   12376             : /* 22479*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   12377             : /* 22481*/              OPC_CheckType, MVT::i32,
   12378             : /* 22483*/              OPC_MoveParent,
   12379             : /* 22484*/              OPC_MoveChild2,
   12380             : /* 22485*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12381             : /* 22488*/              OPC_RecordChild0, // #3 = $val
   12382             : /* 22489*/              OPC_MoveParent,
   12383             : /* 22490*/              OPC_Scope, 19, /*->22511*/ // 2 children in Scope
   12384             : /* 22492*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   12385             : /* 22494*/                OPC_MoveParent,
   12386             : /* 22495*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12387             : /* 22497*/                OPC_EmitMergeInputChains1_0,
   12388             : /* 22498*/                OPC_EmitInteger, MVT::i32, 0, 
   12389             : /* 22501*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12390             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12391             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 20
   12392             :                           // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12393             : /* 22511*/              /*Scope*/ 19, /*->22531*/
   12394             : /* 22512*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   12395             : /* 22514*/                OPC_MoveParent,
   12396             : /* 22515*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12397             : /* 22517*/                OPC_EmitMergeInputChains1_0,
   12398             : /* 22518*/                OPC_EmitInteger, MVT::i32, 0, 
   12399             : /* 22521*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12400             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12401             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 20
   12402             :                           // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12403             : /* 22531*/              0, /*End of Scope*/
   12404             : /* 22532*/            /*Scope*/ 65, /*->22598*/
   12405             : /* 22533*/              OPC_MoveChild0,
   12406             : /* 22534*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12407             : /* 22537*/              OPC_RecordChild0, // #1 = $off
   12408             : /* 22538*/              OPC_MoveChild0,
   12409             : /* 22539*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   12410             : /* 22542*/              OPC_MoveParent,
   12411             : /* 22543*/              OPC_MoveParent,
   12412             : /* 22544*/              OPC_RecordChild1, // #2 = $addr
   12413             : /* 22545*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   12414             : /* 22547*/              OPC_CheckType, MVT::i32,
   12415             : /* 22549*/              OPC_MoveParent,
   12416             : /* 22550*/              OPC_MoveChild2,
   12417             : /* 22551*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12418             : /* 22554*/              OPC_RecordChild0, // #3 = $val
   12419             : /* 22555*/              OPC_MoveParent,
   12420             : /* 22556*/              OPC_Scope, 19, /*->22577*/ // 2 children in Scope
   12421             : /* 22558*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   12422             : /* 22560*/                OPC_MoveParent,
   12423             : /* 22561*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12424             : /* 22563*/                OPC_EmitMergeInputChains1_0,
   12425             : /* 22564*/                OPC_EmitInteger, MVT::i32, 0, 
   12426             : /* 22567*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12427             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12428             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 20
   12429             :                           // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12430             : /* 22577*/              /*Scope*/ 19, /*->22597*/
   12431             : /* 22578*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   12432             : /* 22580*/                OPC_MoveParent,
   12433             : /* 22581*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12434             : /* 22583*/                OPC_EmitMergeInputChains1_0,
   12435             : /* 22584*/                OPC_EmitInteger, MVT::i32, 0, 
   12436             : /* 22587*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12437             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12438             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 20
   12439             :                           // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12440             : /* 22597*/              0, /*End of Scope*/
   12441             : /* 22598*/            /*Scope*/ 63, /*->22662*/
   12442             : /* 22599*/              OPC_RecordChild0, // #1 = $addr
   12443             : /* 22600*/              OPC_MoveChild1,
   12444             : /* 22601*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12445             : /* 22604*/              OPC_RecordChild0, // #2 = $off
   12446             : /* 22605*/              OPC_MoveChild0,
   12447             : /* 22606*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   12448             : /* 22609*/              OPC_MoveParent,
   12449             : /* 22610*/              OPC_MoveParent,
   12450             : /* 22611*/              OPC_CheckType, MVT::i32,
   12451             : /* 22613*/              OPC_MoveParent,
   12452             : /* 22614*/              OPC_MoveChild2,
   12453             : /* 22615*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12454             : /* 22618*/              OPC_RecordChild0, // #3 = $val
   12455             : /* 22619*/              OPC_MoveParent,
   12456             : /* 22620*/              OPC_Scope, 19, /*->22641*/ // 2 children in Scope
   12457             : /* 22622*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   12458             : /* 22624*/                OPC_MoveParent,
   12459             : /* 22625*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12460             : /* 22627*/                OPC_EmitMergeInputChains1_0,
   12461             : /* 22628*/                OPC_EmitInteger, MVT::i32, 0, 
   12462             : /* 22631*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12463             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12464             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 19
   12465             :                           // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12466             : /* 22641*/              /*Scope*/ 19, /*->22661*/
   12467             : /* 22642*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   12468             : /* 22644*/                OPC_MoveParent,
   12469             : /* 22645*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12470             : /* 22647*/                OPC_EmitMergeInputChains1_0,
   12471             : /* 22648*/                OPC_EmitInteger, MVT::i32, 0, 
   12472             : /* 22651*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12473             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12474             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 19
   12475             :                           // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12476             : /* 22661*/              0, /*End of Scope*/
   12477             : /* 22662*/            /*Scope*/ 63, /*->22726*/
   12478             : /* 22663*/              OPC_MoveChild0,
   12479             : /* 22664*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12480             : /* 22667*/              OPC_RecordChild0, // #1 = $off
   12481             : /* 22668*/              OPC_MoveChild0,
   12482             : /* 22669*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   12483             : /* 22672*/              OPC_MoveParent,
   12484             : /* 22673*/              OPC_MoveParent,
   12485             : /* 22674*/              OPC_RecordChild1, // #2 = $addr
   12486             : /* 22675*/              OPC_CheckType, MVT::i32,
   12487             : /* 22677*/              OPC_MoveParent,
   12488             : /* 22678*/              OPC_MoveChild2,
   12489             : /* 22679*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12490             : /* 22682*/              OPC_RecordChild0, // #3 = $val
   12491             : /* 22683*/              OPC_MoveParent,
   12492             : /* 22684*/              OPC_Scope, 19, /*->22705*/ // 2 children in Scope
   12493             : /* 22686*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   12494             : /* 22688*/                OPC_MoveParent,
   12495             : /* 22689*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12496             : /* 22691*/                OPC_EmitMergeInputChains1_0,
   12497             : /* 22692*/                OPC_EmitInteger, MVT::i32, 0, 
   12498             : /* 22695*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12499             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12500             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 19
   12501             :                           // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12502             : /* 22705*/              /*Scope*/ 19, /*->22725*/
   12503             : /* 22706*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   12504             : /* 22708*/                OPC_MoveParent,
   12505             : /* 22709*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12506             : /* 22711*/                OPC_EmitMergeInputChains1_0,
   12507             : /* 22712*/                OPC_EmitInteger, MVT::i32, 0, 
   12508             : /* 22715*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12509             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12510             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 19
   12511             :                           // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12512             : /* 22725*/              0, /*End of Scope*/
   12513             : /* 22726*/            /*Scope*/ 64, /*->22791*/
   12514             : /* 22727*/              OPC_RecordChild0, // #1 = $addr
   12515             : /* 22728*/              OPC_RecordChild1, // #2 = $off
   12516             : /* 22729*/              OPC_MoveChild1,
   12517             : /* 22730*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   12518             : /* 22733*/              OPC_MoveParent,
   12519             : /* 22734*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   12520             : /* 22736*/              OPC_CheckType, MVT::i32,
   12521             : /* 22738*/              OPC_MoveParent,
   12522             : /* 22739*/              OPC_MoveChild2,
   12523             : /* 22740*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12524             : /* 22743*/              OPC_RecordChild0, // #3 = $val
   12525             : /* 22744*/              OPC_MoveParent,
   12526             : /* 22745*/              OPC_Scope, 21, /*->22768*/ // 2 children in Scope
   12527             : /* 22747*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   12528             : /* 22749*/                OPC_MoveParent,
   12529             : /* 22750*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12530             : /* 22752*/                OPC_EmitMergeInputChains1_0,
   12531             : /* 22753*/                OPC_EmitInteger, MVT::i32, 0, 
   12532             : /* 22756*/                OPC_EmitConvertToTarget, 2,
   12533             : /* 22758*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12534             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12535             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 17
   12536             :                           // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12537             : /* 22768*/              /*Scope*/ 21, /*->22790*/
   12538             : /* 22769*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   12539             : /* 22771*/                OPC_MoveParent,
   12540             : /* 22772*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12541             : /* 22774*/                OPC_EmitMergeInputChains1_0,
   12542             : /* 22775*/                OPC_EmitInteger, MVT::i32, 0, 
   12543             : /* 22778*/                OPC_EmitConvertToTarget, 2,
   12544             : /* 22780*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12545             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12546             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 17
   12547             :                           // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12548             : /* 22790*/              0, /*End of Scope*/
   12549             : /* 22791*/            0, /*End of Scope*/
   12550             : /* 22792*/          /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->22859
   12551             : /* 22795*/            OPC_RecordChild0, // #1 = $addr
   12552             : /* 22796*/            OPC_RecordChild1, // #2 = $off
   12553             : /* 22797*/            OPC_MoveChild1,
   12554             : /* 22798*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   12555             : /* 22801*/            OPC_MoveParent,
   12556             : /* 22802*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   12557             : /* 22804*/            OPC_CheckType, MVT::i32,
   12558             : /* 22806*/            OPC_MoveParent,
   12559             : /* 22807*/            OPC_MoveChild2,
   12560             : /* 22808*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12561             : /* 22811*/            OPC_RecordChild0, // #3 = $val
   12562             : /* 22812*/            OPC_MoveParent,
   12563             : /* 22813*/            OPC_Scope, 21, /*->22836*/ // 2 children in Scope
   12564             : /* 22815*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   12565             : /* 22817*/              OPC_MoveParent,
   12566             : /* 22818*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12567             : /* 22820*/              OPC_EmitMergeInputChains1_0,
   12568             : /* 22821*/              OPC_EmitInteger, MVT::i32, 0, 
   12569             : /* 22824*/              OPC_EmitConvertToTarget, 2,
   12570             : /* 22826*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12571             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12572             :                         // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 17
   12573             :                         // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12574             : /* 22836*/            /*Scope*/ 21, /*->22858*/
   12575             : /* 22837*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   12576             : /* 22839*/              OPC_MoveParent,
   12577             : /* 22840*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12578             : /* 22842*/              OPC_EmitMergeInputChains1_0,
   12579             : /* 22843*/              OPC_EmitInteger, MVT::i32, 0, 
   12580             : /* 22846*/              OPC_EmitConvertToTarget, 2,
   12581             : /* 22848*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12582             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12583             :                         // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 17
   12584             :                         // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12585             : /* 22858*/            0, /*End of Scope*/
   12586             : /* 22859*/          /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->23013
   12587             : /* 22863*/            OPC_RecordChild0, // #1 = $off
   12588             : /* 22864*/            OPC_MoveChild0,
   12589             : /* 22865*/            OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->22939
   12590             : /* 22869*/              OPC_MoveParent,
   12591             : /* 22870*/              OPC_MoveParent,
   12592             : /* 22871*/              OPC_MoveChild2,
   12593             : /* 22872*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12594             : /* 22875*/              OPC_RecordChild0, // #2 = $val
   12595             : /* 22876*/              OPC_MoveParent,
   12596             : /* 22877*/              OPC_Scope, 29, /*->22908*/ // 2 children in Scope
   12597             : /* 22879*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   12598             : /* 22881*/                OPC_MoveParent,
   12599             : /* 22882*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12600             : /* 22884*/                OPC_EmitMergeInputChains1_0,
   12601             : /* 22885*/                OPC_EmitInteger, MVT::i32, 0, 
   12602             : /* 22888*/                OPC_EmitInteger, MVT::i32, 0, 
   12603             : /* 22891*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12604             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   12605             : /* 22898*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12606             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   12607             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 16
   12608             :                           // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12609             : /* 22908*/              /*Scope*/ 29, /*->22938*/
   12610             : /* 22909*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   12611             : /* 22911*/                OPC_MoveParent,
   12612             : /* 22912*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12613             : /* 22914*/                OPC_EmitMergeInputChains1_0,
   12614             : /* 22915*/                OPC_EmitInteger, MVT::i32, 0, 
   12615             : /* 22918*/                OPC_EmitInteger, MVT::i32, 0, 
   12616             : /* 22921*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12617             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   12618             : /* 22928*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12619             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   12620             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 16
   12621             :                           // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12622             : /* 22938*/              0, /*End of Scope*/
   12623             : /* 22939*/            /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->23012
   12624             : /* 22942*/              OPC_MoveParent,
   12625             : /* 22943*/              OPC_MoveParent,
   12626             : /* 22944*/              OPC_MoveChild2,
   12627             : /* 22945*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12628             : /* 22948*/              OPC_RecordChild0, // #2 = $val
   12629             : /* 22949*/              OPC_MoveParent,
   12630             : /* 22950*/              OPC_Scope, 29, /*->22981*/ // 2 children in Scope
   12631             : /* 22952*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   12632             : /* 22954*/                OPC_MoveParent,
   12633             : /* 22955*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12634             : /* 22957*/                OPC_EmitMergeInputChains1_0,
   12635             : /* 22958*/                OPC_EmitInteger, MVT::i32, 0, 
   12636             : /* 22961*/                OPC_EmitInteger, MVT::i32, 0, 
   12637             : /* 22964*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12638             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   12639             : /* 22971*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12640             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   12641             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 16
   12642             :                           // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12643             : /* 22981*/              /*Scope*/ 29, /*->23011*/
   12644             : /* 22982*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   12645             : /* 22984*/                OPC_MoveParent,
   12646             : /* 22985*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12647             : /* 22987*/                OPC_EmitMergeInputChains1_0,
   12648             : /* 22988*/                OPC_EmitInteger, MVT::i32, 0, 
   12649             : /* 22991*/                OPC_EmitInteger, MVT::i32, 0, 
   12650             : /* 22994*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12651             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   12652             : /* 23001*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12653             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   12654             :                           // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 16
   12655             :                           // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12656             : /* 23011*/              0, /*End of Scope*/
   12657             : /* 23012*/            0, // EndSwitchOpcode
   12658             : /* 23013*/          0, // EndSwitchOpcode
   12659             : /* 23014*/        /*Scope*/ 10|128,1/*138*/, /*->23154*/
   12660             : /* 23016*/          OPC_RecordChild1, // #1 = $off
   12661             : /* 23017*/          OPC_Scope, 77, /*->23096*/ // 2 children in Scope
   12662             : /* 23019*/            OPC_MoveChild1,
   12663             : /* 23020*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   12664             : /* 23023*/            OPC_MoveParent,
   12665             : /* 23024*/            OPC_MoveChild2,
   12666             : /* 23025*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12667             : /* 23028*/            OPC_RecordChild0, // #2 = $val
   12668             : /* 23029*/            OPC_MoveParent,
   12669             : /* 23030*/            OPC_Scope, 31, /*->23063*/ // 2 children in Scope
   12670             : /* 23032*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   12671             : /* 23034*/              OPC_MoveParent,
   12672             : /* 23035*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12673             : /* 23037*/              OPC_EmitMergeInputChains1_0,
   12674             : /* 23038*/              OPC_EmitInteger, MVT::i32, 0, 
   12675             : /* 23041*/              OPC_EmitConvertToTarget, 1,
   12676             : /* 23043*/              OPC_EmitInteger, MVT::i32, 0, 
   12677             : /* 23046*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12678             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   12679             : /* 23053*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12680             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   12681             :                         // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 13
   12682             :                         // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12683             : /* 23063*/            /*Scope*/ 31, /*->23095*/
   12684             : /* 23064*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   12685             : /* 23066*/              OPC_MoveParent,
   12686             : /* 23067*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12687             : /* 23069*/              OPC_EmitMergeInputChains1_0,
   12688             : /* 23070*/              OPC_EmitInteger, MVT::i32, 0, 
   12689             : /* 23073*/              OPC_EmitConvertToTarget, 1,
   12690             : /* 23075*/              OPC_EmitInteger, MVT::i32, 0, 
   12691             : /* 23078*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12692             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   12693             : /* 23085*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12694             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   12695             :                         // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 13
   12696             :                         // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12697             : /* 23095*/            0, /*End of Scope*/
   12698             : /* 23096*/          /*Scope*/ 56, /*->23153*/
   12699             : /* 23097*/            OPC_CheckChild1Type, MVT::i32,
   12700             : /* 23099*/            OPC_MoveChild2,
   12701             : /* 23100*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12702             : /* 23103*/            OPC_RecordChild0, // #2 = $val
   12703             : /* 23104*/            OPC_MoveParent,
   12704             : /* 23105*/            OPC_Scope, 22, /*->23129*/ // 2 children in Scope
   12705             : /* 23107*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   12706             : /* 23109*/              OPC_MoveParent,
   12707             : /* 23110*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12708             : /* 23112*/              OPC_EmitMergeInputChains1_0,
   12709             : /* 23113*/              OPC_EmitInteger, MVT::i32, 0, 
   12710             : /* 23116*/              OPC_EmitInteger, MVT::i32, 0, 
   12711             : /* 23119*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12712             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   12713             :                         // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_8>>) - Complexity = 10
   12714             :                         // Dst: (ATOMIC_RMW8_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12715             : /* 23129*/            /*Scope*/ 22, /*->23152*/
   12716             : /* 23130*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   12717             : /* 23132*/              OPC_MoveParent,
   12718             : /* 23133*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12719             : /* 23135*/              OPC_EmitMergeInputChains1_0,
   12720             : /* 23136*/              OPC_EmitInteger, MVT::i32, 0, 
   12721             : /* 23139*/              OPC_EmitInteger, MVT::i32, 0, 
   12722             : /* 23142*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12723             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   12724             :                         // Src: (anyext:{ *:[i64] } (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_sub_16>>) - Complexity = 10
   12725             :                         // Dst: (ATOMIC_RMW16_U_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12726             : /* 23152*/            0, /*End of Scope*/
   12727             : /* 23153*/          0, /*End of Scope*/
   12728             : /* 23154*/        0, /*End of Scope*/
   12729             : /* 23155*/      /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_LOAD_AND),// ->23860
   12730             : /* 23159*/        OPC_RecordMemRef,
   12731             : /* 23160*/        OPC_RecordNode, // #0 = 'atomic_load_and' chained node
   12732             : /* 23161*/        OPC_Scope, 43|128,4/*555*/, /*->23719*/ // 2 children in Scope
   12733             : /* 23164*/          OPC_MoveChild1,
   12734             : /* 23165*/          OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->23497
   12735             : /* 23170*/            OPC_Scope, 65, /*->23237*/ // 5 children in Scope
   12736             : /* 23172*/              OPC_RecordChild0, // #1 = $addr
   12737             : /* 23173*/              OPC_MoveChild1,
   12738             : /* 23174*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12739             : /* 23177*/              OPC_RecordChild0, // #2 = $off
   12740             : /* 23178*/              OPC_MoveChild0,
   12741             : /* 23179*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   12742             : /* 23182*/              OPC_MoveParent,
   12743             : /* 23183*/              OPC_MoveParent,
   12744             : /* 23184*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   12745             : /* 23186*/              OPC_CheckType, MVT::i32,
   12746             : /* 23188*/              OPC_MoveParent,
   12747             : /* 23189*/              OPC_MoveChild2,
   12748             : /* 23190*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12749             : /* 23193*/              OPC_RecordChild0, // #3 = $val
   12750             : /* 23194*/              OPC_MoveParent,
   12751             : /* 23195*/              OPC_Scope, 19, /*->23216*/ // 2 children in Scope
   12752             : /* 23197*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   12753             : /* 23199*/                OPC_MoveParent,
   12754             : /* 23200*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12755             : /* 23202*/                OPC_EmitMergeInputChains1_0,
   12756             : /* 23203*/                OPC_EmitInteger, MVT::i32, 0, 
   12757             : /* 23206*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12758             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12759             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 20
   12760             :                           // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12761             : /* 23216*/              /*Scope*/ 19, /*->23236*/
   12762             : /* 23217*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   12763             : /* 23219*/                OPC_MoveParent,
   12764             : /* 23220*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12765             : /* 23222*/                OPC_EmitMergeInputChains1_0,
   12766             : /* 23223*/                OPC_EmitInteger, MVT::i32, 0, 
   12767             : /* 23226*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12768             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12769             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 20
   12770             :                           // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12771             : /* 23236*/              0, /*End of Scope*/
   12772             : /* 23237*/            /*Scope*/ 65, /*->23303*/
   12773             : /* 23238*/              OPC_MoveChild0,
   12774             : /* 23239*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12775             : /* 23242*/              OPC_RecordChild0, // #1 = $off
   12776             : /* 23243*/              OPC_MoveChild0,
   12777             : /* 23244*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   12778             : /* 23247*/              OPC_MoveParent,
   12779             : /* 23248*/              OPC_MoveParent,
   12780             : /* 23249*/              OPC_RecordChild1, // #2 = $addr
   12781             : /* 23250*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   12782             : /* 23252*/              OPC_CheckType, MVT::i32,
   12783             : /* 23254*/              OPC_MoveParent,
   12784             : /* 23255*/              OPC_MoveChild2,
   12785             : /* 23256*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12786             : /* 23259*/              OPC_RecordChild0, // #3 = $val
   12787             : /* 23260*/              OPC_MoveParent,
   12788             : /* 23261*/              OPC_Scope, 19, /*->23282*/ // 2 children in Scope
   12789             : /* 23263*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   12790             : /* 23265*/                OPC_MoveParent,
   12791             : /* 23266*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12792             : /* 23268*/                OPC_EmitMergeInputChains1_0,
   12793             : /* 23269*/                OPC_EmitInteger, MVT::i32, 0, 
   12794             : /* 23272*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12795             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12796             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 20
   12797             :                           // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12798             : /* 23282*/              /*Scope*/ 19, /*->23302*/
   12799             : /* 23283*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   12800             : /* 23285*/                OPC_MoveParent,
   12801             : /* 23286*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12802             : /* 23288*/                OPC_EmitMergeInputChains1_0,
   12803             : /* 23289*/                OPC_EmitInteger, MVT::i32, 0, 
   12804             : /* 23292*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12805             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12806             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 20
   12807             :                           // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12808             : /* 23302*/              0, /*End of Scope*/
   12809             : /* 23303*/            /*Scope*/ 63, /*->23367*/
   12810             : /* 23304*/              OPC_RecordChild0, // #1 = $addr
   12811             : /* 23305*/              OPC_MoveChild1,
   12812             : /* 23306*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12813             : /* 23309*/              OPC_RecordChild0, // #2 = $off
   12814             : /* 23310*/              OPC_MoveChild0,
   12815             : /* 23311*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   12816             : /* 23314*/              OPC_MoveParent,
   12817             : /* 23315*/              OPC_MoveParent,
   12818             : /* 23316*/              OPC_CheckType, MVT::i32,
   12819             : /* 23318*/              OPC_MoveParent,
   12820             : /* 23319*/              OPC_MoveChild2,
   12821             : /* 23320*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12822             : /* 23323*/              OPC_RecordChild0, // #3 = $val
   12823             : /* 23324*/              OPC_MoveParent,
   12824             : /* 23325*/              OPC_Scope, 19, /*->23346*/ // 2 children in Scope
   12825             : /* 23327*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   12826             : /* 23329*/                OPC_MoveParent,
   12827             : /* 23330*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12828             : /* 23332*/                OPC_EmitMergeInputChains1_0,
   12829             : /* 23333*/                OPC_EmitInteger, MVT::i32, 0, 
   12830             : /* 23336*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12831             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12832             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 19
   12833             :                           // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12834             : /* 23346*/              /*Scope*/ 19, /*->23366*/
   12835             : /* 23347*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   12836             : /* 23349*/                OPC_MoveParent,
   12837             : /* 23350*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12838             : /* 23352*/                OPC_EmitMergeInputChains1_0,
   12839             : /* 23353*/                OPC_EmitInteger, MVT::i32, 0, 
   12840             : /* 23356*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12841             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   12842             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 19
   12843             :                           // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12844             : /* 23366*/              0, /*End of Scope*/
   12845             : /* 23367*/            /*Scope*/ 63, /*->23431*/
   12846             : /* 23368*/              OPC_MoveChild0,
   12847             : /* 23369*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   12848             : /* 23372*/              OPC_RecordChild0, // #1 = $off
   12849             : /* 23373*/              OPC_MoveChild0,
   12850             : /* 23374*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   12851             : /* 23377*/              OPC_MoveParent,
   12852             : /* 23378*/              OPC_MoveParent,
   12853             : /* 23379*/              OPC_RecordChild1, // #2 = $addr
   12854             : /* 23380*/              OPC_CheckType, MVT::i32,
   12855             : /* 23382*/              OPC_MoveParent,
   12856             : /* 23383*/              OPC_MoveChild2,
   12857             : /* 23384*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12858             : /* 23387*/              OPC_RecordChild0, // #3 = $val
   12859             : /* 23388*/              OPC_MoveParent,
   12860             : /* 23389*/              OPC_Scope, 19, /*->23410*/ // 2 children in Scope
   12861             : /* 23391*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   12862             : /* 23393*/                OPC_MoveParent,
   12863             : /* 23394*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12864             : /* 23396*/                OPC_EmitMergeInputChains1_0,
   12865             : /* 23397*/                OPC_EmitInteger, MVT::i32, 0, 
   12866             : /* 23400*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12867             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12868             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 19
   12869             :                           // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12870             : /* 23410*/              /*Scope*/ 19, /*->23430*/
   12871             : /* 23411*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   12872             : /* 23413*/                OPC_MoveParent,
   12873             : /* 23414*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12874             : /* 23416*/                OPC_EmitMergeInputChains1_0,
   12875             : /* 23417*/                OPC_EmitInteger, MVT::i32, 0, 
   12876             : /* 23420*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12877             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   12878             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 19
   12879             :                           // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12880             : /* 23430*/              0, /*End of Scope*/
   12881             : /* 23431*/            /*Scope*/ 64, /*->23496*/
   12882             : /* 23432*/              OPC_RecordChild0, // #1 = $addr
   12883             : /* 23433*/              OPC_RecordChild1, // #2 = $off
   12884             : /* 23434*/              OPC_MoveChild1,
   12885             : /* 23435*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   12886             : /* 23438*/              OPC_MoveParent,
   12887             : /* 23439*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   12888             : /* 23441*/              OPC_CheckType, MVT::i32,
   12889             : /* 23443*/              OPC_MoveParent,
   12890             : /* 23444*/              OPC_MoveChild2,
   12891             : /* 23445*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12892             : /* 23448*/              OPC_RecordChild0, // #3 = $val
   12893             : /* 23449*/              OPC_MoveParent,
   12894             : /* 23450*/              OPC_Scope, 21, /*->23473*/ // 2 children in Scope
   12895             : /* 23452*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   12896             : /* 23454*/                OPC_MoveParent,
   12897             : /* 23455*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12898             : /* 23457*/                OPC_EmitMergeInputChains1_0,
   12899             : /* 23458*/                OPC_EmitInteger, MVT::i32, 0, 
   12900             : /* 23461*/                OPC_EmitConvertToTarget, 2,
   12901             : /* 23463*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12902             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12903             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 17
   12904             :                           // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12905             : /* 23473*/              /*Scope*/ 21, /*->23495*/
   12906             : /* 23474*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   12907             : /* 23476*/                OPC_MoveParent,
   12908             : /* 23477*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12909             : /* 23479*/                OPC_EmitMergeInputChains1_0,
   12910             : /* 23480*/                OPC_EmitInteger, MVT::i32, 0, 
   12911             : /* 23483*/                OPC_EmitConvertToTarget, 2,
   12912             : /* 23485*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12913             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12914             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 17
   12915             :                           // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12916             : /* 23495*/              0, /*End of Scope*/
   12917             : /* 23496*/            0, /*End of Scope*/
   12918             : /* 23497*/          /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->23564
   12919             : /* 23500*/            OPC_RecordChild0, // #1 = $addr
   12920             : /* 23501*/            OPC_RecordChild1, // #2 = $off
   12921             : /* 23502*/            OPC_MoveChild1,
   12922             : /* 23503*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   12923             : /* 23506*/            OPC_MoveParent,
   12924             : /* 23507*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   12925             : /* 23509*/            OPC_CheckType, MVT::i32,
   12926             : /* 23511*/            OPC_MoveParent,
   12927             : /* 23512*/            OPC_MoveChild2,
   12928             : /* 23513*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12929             : /* 23516*/            OPC_RecordChild0, // #3 = $val
   12930             : /* 23517*/            OPC_MoveParent,
   12931             : /* 23518*/            OPC_Scope, 21, /*->23541*/ // 2 children in Scope
   12932             : /* 23520*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   12933             : /* 23522*/              OPC_MoveParent,
   12934             : /* 23523*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12935             : /* 23525*/              OPC_EmitMergeInputChains1_0,
   12936             : /* 23526*/              OPC_EmitInteger, MVT::i32, 0, 
   12937             : /* 23529*/              OPC_EmitConvertToTarget, 2,
   12938             : /* 23531*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12939             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12940             :                         // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 17
   12941             :                         // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12942             : /* 23541*/            /*Scope*/ 21, /*->23563*/
   12943             : /* 23542*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   12944             : /* 23544*/              OPC_MoveParent,
   12945             : /* 23545*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12946             : /* 23547*/              OPC_EmitMergeInputChains1_0,
   12947             : /* 23548*/              OPC_EmitInteger, MVT::i32, 0, 
   12948             : /* 23551*/              OPC_EmitConvertToTarget, 2,
   12949             : /* 23553*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12950             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   12951             :                         // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 17
   12952             :                         // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   12953             : /* 23563*/            0, /*End of Scope*/
   12954             : /* 23564*/          /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->23718
   12955             : /* 23568*/            OPC_RecordChild0, // #1 = $off
   12956             : /* 23569*/            OPC_MoveChild0,
   12957             : /* 23570*/            OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->23644
   12958             : /* 23574*/              OPC_MoveParent,
   12959             : /* 23575*/              OPC_MoveParent,
   12960             : /* 23576*/              OPC_MoveChild2,
   12961             : /* 23577*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12962             : /* 23580*/              OPC_RecordChild0, // #2 = $val
   12963             : /* 23581*/              OPC_MoveParent,
   12964             : /* 23582*/              OPC_Scope, 29, /*->23613*/ // 2 children in Scope
   12965             : /* 23584*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   12966             : /* 23586*/                OPC_MoveParent,
   12967             : /* 23587*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12968             : /* 23589*/                OPC_EmitMergeInputChains1_0,
   12969             : /* 23590*/                OPC_EmitInteger, MVT::i32, 0, 
   12970             : /* 23593*/                OPC_EmitInteger, MVT::i32, 0, 
   12971             : /* 23596*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12972             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   12973             : /* 23603*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12974             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   12975             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 16
   12976             :                           // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12977             : /* 23613*/              /*Scope*/ 29, /*->23643*/
   12978             : /* 23614*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   12979             : /* 23616*/                OPC_MoveParent,
   12980             : /* 23617*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   12981             : /* 23619*/                OPC_EmitMergeInputChains1_0,
   12982             : /* 23620*/                OPC_EmitInteger, MVT::i32, 0, 
   12983             : /* 23623*/                OPC_EmitInteger, MVT::i32, 0, 
   12984             : /* 23626*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   12985             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   12986             : /* 23633*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   12987             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   12988             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 16
   12989             :                           // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   12990             : /* 23643*/              0, /*End of Scope*/
   12991             : /* 23644*/            /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->23717
   12992             : /* 23647*/              OPC_MoveParent,
   12993             : /* 23648*/              OPC_MoveParent,
   12994             : /* 23649*/              OPC_MoveChild2,
   12995             : /* 23650*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   12996             : /* 23653*/              OPC_RecordChild0, // #2 = $val
   12997             : /* 23654*/              OPC_MoveParent,
   12998             : /* 23655*/              OPC_Scope, 29, /*->23686*/ // 2 children in Scope
   12999             : /* 23657*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   13000             : /* 23659*/                OPC_MoveParent,
   13001             : /* 23660*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13002             : /* 23662*/                OPC_EmitMergeInputChains1_0,
   13003             : /* 23663*/                OPC_EmitInteger, MVT::i32, 0, 
   13004             : /* 23666*/                OPC_EmitInteger, MVT::i32, 0, 
   13005             : /* 23669*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13006             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   13007             : /* 23676*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13008             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   13009             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 16
   13010             :                           // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13011             : /* 23686*/              /*Scope*/ 29, /*->23716*/
   13012             : /* 23687*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   13013             : /* 23689*/                OPC_MoveParent,
   13014             : /* 23690*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13015             : /* 23692*/                OPC_EmitMergeInputChains1_0,
   13016             : /* 23693*/                OPC_EmitInteger, MVT::i32, 0, 
   13017             : /* 23696*/                OPC_EmitInteger, MVT::i32, 0, 
   13018             : /* 23699*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13019             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   13020             : /* 23706*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13021             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   13022             :                           // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 16
   13023             :                           // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13024             : /* 23716*/              0, /*End of Scope*/
   13025             : /* 23717*/            0, // EndSwitchOpcode
   13026             : /* 23718*/          0, // EndSwitchOpcode
   13027             : /* 23719*/        /*Scope*/ 10|128,1/*138*/, /*->23859*/
   13028             : /* 23721*/          OPC_RecordChild1, // #1 = $off
   13029             : /* 23722*/          OPC_Scope, 77, /*->23801*/ // 2 children in Scope
   13030             : /* 23724*/            OPC_MoveChild1,
   13031             : /* 23725*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   13032             : /* 23728*/            OPC_MoveParent,
   13033             : /* 23729*/            OPC_MoveChild2,
   13034             : /* 23730*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13035             : /* 23733*/            OPC_RecordChild0, // #2 = $val
   13036             : /* 23734*/            OPC_MoveParent,
   13037             : /* 23735*/            OPC_Scope, 31, /*->23768*/ // 2 children in Scope
   13038             : /* 23737*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   13039             : /* 23739*/              OPC_MoveParent,
   13040             : /* 23740*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13041             : /* 23742*/              OPC_EmitMergeInputChains1_0,
   13042             : /* 23743*/              OPC_EmitInteger, MVT::i32, 0, 
   13043             : /* 23746*/              OPC_EmitConvertToTarget, 1,
   13044             : /* 23748*/              OPC_EmitInteger, MVT::i32, 0, 
   13045             : /* 23751*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13046             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   13047             : /* 23758*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13048             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   13049             :                         // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 13
   13050             :                         // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13051             : /* 23768*/            /*Scope*/ 31, /*->23800*/
   13052             : /* 23769*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   13053             : /* 23771*/              OPC_MoveParent,
   13054             : /* 23772*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13055             : /* 23774*/              OPC_EmitMergeInputChains1_0,
   13056             : /* 23775*/              OPC_EmitInteger, MVT::i32, 0, 
   13057             : /* 23778*/              OPC_EmitConvertToTarget, 1,
   13058             : /* 23780*/              OPC_EmitInteger, MVT::i32, 0, 
   13059             : /* 23783*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13060             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   13061             : /* 23790*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13062             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   13063             :                         // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 13
   13064             :                         // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13065             : /* 23800*/            0, /*End of Scope*/
   13066             : /* 23801*/          /*Scope*/ 56, /*->23858*/
   13067             : /* 23802*/            OPC_CheckChild1Type, MVT::i32,
   13068             : /* 23804*/            OPC_MoveChild2,
   13069             : /* 23805*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13070             : /* 23808*/            OPC_RecordChild0, // #2 = $val
   13071             : /* 23809*/            OPC_MoveParent,
   13072             : /* 23810*/            OPC_Scope, 22, /*->23834*/ // 2 children in Scope
   13073             : /* 23812*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   13074             : /* 23814*/              OPC_MoveParent,
   13075             : /* 23815*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13076             : /* 23817*/              OPC_EmitMergeInputChains1_0,
   13077             : /* 23818*/              OPC_EmitInteger, MVT::i32, 0, 
   13078             : /* 23821*/              OPC_EmitInteger, MVT::i32, 0, 
   13079             : /* 23824*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13080             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   13081             :                         // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_8>>) - Complexity = 10
   13082             :                         // Dst: (ATOMIC_RMW8_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13083             : /* 23834*/            /*Scope*/ 22, /*->23857*/
   13084             : /* 23835*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   13085             : /* 23837*/              OPC_MoveParent,
   13086             : /* 23838*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13087             : /* 23840*/              OPC_EmitMergeInputChains1_0,
   13088             : /* 23841*/              OPC_EmitInteger, MVT::i32, 0, 
   13089             : /* 23844*/              OPC_EmitInteger, MVT::i32, 0, 
   13090             : /* 23847*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13091             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   13092             :                         // Src: (anyext:{ *:[i64] } (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_and_16>>) - Complexity = 10
   13093             :                         // Dst: (ATOMIC_RMW16_U_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13094             : /* 23857*/            0, /*End of Scope*/
   13095             : /* 23858*/          0, /*End of Scope*/
   13096             : /* 23859*/        0, /*End of Scope*/
   13097             : /* 23860*/      /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_LOAD_OR),// ->24565
   13098             : /* 23864*/        OPC_RecordMemRef,
   13099             : /* 23865*/        OPC_RecordNode, // #0 = 'atomic_load_or' chained node
   13100             : /* 23866*/        OPC_Scope, 43|128,4/*555*/, /*->24424*/ // 2 children in Scope
   13101             : /* 23869*/          OPC_MoveChild1,
   13102             : /* 23870*/          OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->24202
   13103             : /* 23875*/            OPC_Scope, 65, /*->23942*/ // 5 children in Scope
   13104             : /* 23877*/              OPC_RecordChild0, // #1 = $addr
   13105             : /* 23878*/              OPC_MoveChild1,
   13106             : /* 23879*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13107             : /* 23882*/              OPC_RecordChild0, // #2 = $off
   13108             : /* 23883*/              OPC_MoveChild0,
   13109             : /* 23884*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   13110             : /* 23887*/              OPC_MoveParent,
   13111             : /* 23888*/              OPC_MoveParent,
   13112             : /* 23889*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   13113             : /* 23891*/              OPC_CheckType, MVT::i32,
   13114             : /* 23893*/              OPC_MoveParent,
   13115             : /* 23894*/              OPC_MoveChild2,
   13116             : /* 23895*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13117             : /* 23898*/              OPC_RecordChild0, // #3 = $val
   13118             : /* 23899*/              OPC_MoveParent,
   13119             : /* 23900*/              OPC_Scope, 19, /*->23921*/ // 2 children in Scope
   13120             : /* 23902*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   13121             : /* 23904*/                OPC_MoveParent,
   13122             : /* 23905*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13123             : /* 23907*/                OPC_EmitMergeInputChains1_0,
   13124             : /* 23908*/                OPC_EmitInteger, MVT::i32, 0, 
   13125             : /* 23911*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13126             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13127             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 20
   13128             :                           // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13129             : /* 23921*/              /*Scope*/ 19, /*->23941*/
   13130             : /* 23922*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   13131             : /* 23924*/                OPC_MoveParent,
   13132             : /* 23925*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13133             : /* 23927*/                OPC_EmitMergeInputChains1_0,
   13134             : /* 23928*/                OPC_EmitInteger, MVT::i32, 0, 
   13135             : /* 23931*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13136             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13137             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 20
   13138             :                           // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13139             : /* 23941*/              0, /*End of Scope*/
   13140             : /* 23942*/            /*Scope*/ 65, /*->24008*/
   13141             : /* 23943*/              OPC_MoveChild0,
   13142             : /* 23944*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13143             : /* 23947*/              OPC_RecordChild0, // #1 = $off
   13144             : /* 23948*/              OPC_MoveChild0,
   13145             : /* 23949*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   13146             : /* 23952*/              OPC_MoveParent,
   13147             : /* 23953*/              OPC_MoveParent,
   13148             : /* 23954*/              OPC_RecordChild1, // #2 = $addr
   13149             : /* 23955*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   13150             : /* 23957*/              OPC_CheckType, MVT::i32,
   13151             : /* 23959*/              OPC_MoveParent,
   13152             : /* 23960*/              OPC_MoveChild2,
   13153             : /* 23961*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13154             : /* 23964*/              OPC_RecordChild0, // #3 = $val
   13155             : /* 23965*/              OPC_MoveParent,
   13156             : /* 23966*/              OPC_Scope, 19, /*->23987*/ // 2 children in Scope
   13157             : /* 23968*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   13158             : /* 23970*/                OPC_MoveParent,
   13159             : /* 23971*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13160             : /* 23973*/                OPC_EmitMergeInputChains1_0,
   13161             : /* 23974*/                OPC_EmitInteger, MVT::i32, 0, 
   13162             : /* 23977*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13163             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13164             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 20
   13165             :                           // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13166             : /* 23987*/              /*Scope*/ 19, /*->24007*/
   13167             : /* 23988*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   13168             : /* 23990*/                OPC_MoveParent,
   13169             : /* 23991*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13170             : /* 23993*/                OPC_EmitMergeInputChains1_0,
   13171             : /* 23994*/                OPC_EmitInteger, MVT::i32, 0, 
   13172             : /* 23997*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13173             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13174             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 20
   13175             :                           // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13176             : /* 24007*/              0, /*End of Scope*/
   13177             : /* 24008*/            /*Scope*/ 63, /*->24072*/
   13178             : /* 24009*/              OPC_RecordChild0, // #1 = $addr
   13179             : /* 24010*/              OPC_MoveChild1,
   13180             : /* 24011*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13181             : /* 24014*/              OPC_RecordChild0, // #2 = $off
   13182             : /* 24015*/              OPC_MoveChild0,
   13183             : /* 24016*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   13184             : /* 24019*/              OPC_MoveParent,
   13185             : /* 24020*/              OPC_MoveParent,
   13186             : /* 24021*/              OPC_CheckType, MVT::i32,
   13187             : /* 24023*/              OPC_MoveParent,
   13188             : /* 24024*/              OPC_MoveChild2,
   13189             : /* 24025*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13190             : /* 24028*/              OPC_RecordChild0, // #3 = $val
   13191             : /* 24029*/              OPC_MoveParent,
   13192             : /* 24030*/              OPC_Scope, 19, /*->24051*/ // 2 children in Scope
   13193             : /* 24032*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   13194             : /* 24034*/                OPC_MoveParent,
   13195             : /* 24035*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13196             : /* 24037*/                OPC_EmitMergeInputChains1_0,
   13197             : /* 24038*/                OPC_EmitInteger, MVT::i32, 0, 
   13198             : /* 24041*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13199             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13200             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 19
   13201             :                           // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13202             : /* 24051*/              /*Scope*/ 19, /*->24071*/
   13203             : /* 24052*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   13204             : /* 24054*/                OPC_MoveParent,
   13205             : /* 24055*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13206             : /* 24057*/                OPC_EmitMergeInputChains1_0,
   13207             : /* 24058*/                OPC_EmitInteger, MVT::i32, 0, 
   13208             : /* 24061*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13209             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13210             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 19
   13211             :                           // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13212             : /* 24071*/              0, /*End of Scope*/
   13213             : /* 24072*/            /*Scope*/ 63, /*->24136*/
   13214             : /* 24073*/              OPC_MoveChild0,
   13215             : /* 24074*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13216             : /* 24077*/              OPC_RecordChild0, // #1 = $off
   13217             : /* 24078*/              OPC_MoveChild0,
   13218             : /* 24079*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   13219             : /* 24082*/              OPC_MoveParent,
   13220             : /* 24083*/              OPC_MoveParent,
   13221             : /* 24084*/              OPC_RecordChild1, // #2 = $addr
   13222             : /* 24085*/              OPC_CheckType, MVT::i32,
   13223             : /* 24087*/              OPC_MoveParent,
   13224             : /* 24088*/              OPC_MoveChild2,
   13225             : /* 24089*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13226             : /* 24092*/              OPC_RecordChild0, // #3 = $val
   13227             : /* 24093*/              OPC_MoveParent,
   13228             : /* 24094*/              OPC_Scope, 19, /*->24115*/ // 2 children in Scope
   13229             : /* 24096*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   13230             : /* 24098*/                OPC_MoveParent,
   13231             : /* 24099*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13232             : /* 24101*/                OPC_EmitMergeInputChains1_0,
   13233             : /* 24102*/                OPC_EmitInteger, MVT::i32, 0, 
   13234             : /* 24105*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13235             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13236             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 19
   13237             :                           // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13238             : /* 24115*/              /*Scope*/ 19, /*->24135*/
   13239             : /* 24116*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   13240             : /* 24118*/                OPC_MoveParent,
   13241             : /* 24119*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13242             : /* 24121*/                OPC_EmitMergeInputChains1_0,
   13243             : /* 24122*/                OPC_EmitInteger, MVT::i32, 0, 
   13244             : /* 24125*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13245             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13246             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 19
   13247             :                           // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13248             : /* 24135*/              0, /*End of Scope*/
   13249             : /* 24136*/            /*Scope*/ 64, /*->24201*/
   13250             : /* 24137*/              OPC_RecordChild0, // #1 = $addr
   13251             : /* 24138*/              OPC_RecordChild1, // #2 = $off
   13252             : /* 24139*/              OPC_MoveChild1,
   13253             : /* 24140*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   13254             : /* 24143*/              OPC_MoveParent,
   13255             : /* 24144*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   13256             : /* 24146*/              OPC_CheckType, MVT::i32,
   13257             : /* 24148*/              OPC_MoveParent,
   13258             : /* 24149*/              OPC_MoveChild2,
   13259             : /* 24150*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13260             : /* 24153*/              OPC_RecordChild0, // #3 = $val
   13261             : /* 24154*/              OPC_MoveParent,
   13262             : /* 24155*/              OPC_Scope, 21, /*->24178*/ // 2 children in Scope
   13263             : /* 24157*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   13264             : /* 24159*/                OPC_MoveParent,
   13265             : /* 24160*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13266             : /* 24162*/                OPC_EmitMergeInputChains1_0,
   13267             : /* 24163*/                OPC_EmitInteger, MVT::i32, 0, 
   13268             : /* 24166*/                OPC_EmitConvertToTarget, 2,
   13269             : /* 24168*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13270             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   13271             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 17
   13272             :                           // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13273             : /* 24178*/              /*Scope*/ 21, /*->24200*/
   13274             : /* 24179*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   13275             : /* 24181*/                OPC_MoveParent,
   13276             : /* 24182*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13277             : /* 24184*/                OPC_EmitMergeInputChains1_0,
   13278             : /* 24185*/                OPC_EmitInteger, MVT::i32, 0, 
   13279             : /* 24188*/                OPC_EmitConvertToTarget, 2,
   13280             : /* 24190*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13281             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   13282             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 17
   13283             :                           // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13284             : /* 24200*/              0, /*End of Scope*/
   13285             : /* 24201*/            0, /*End of Scope*/
   13286             : /* 24202*/          /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->24269
   13287             : /* 24205*/            OPC_RecordChild0, // #1 = $addr
   13288             : /* 24206*/            OPC_RecordChild1, // #2 = $off
   13289             : /* 24207*/            OPC_MoveChild1,
   13290             : /* 24208*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   13291             : /* 24211*/            OPC_MoveParent,
   13292             : /* 24212*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   13293             : /* 24214*/            OPC_CheckType, MVT::i32,
   13294             : /* 24216*/            OPC_MoveParent,
   13295             : /* 24217*/            OPC_MoveChild2,
   13296             : /* 24218*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13297             : /* 24221*/            OPC_RecordChild0, // #3 = $val
   13298             : /* 24222*/            OPC_MoveParent,
   13299             : /* 24223*/            OPC_Scope, 21, /*->24246*/ // 2 children in Scope
   13300             : /* 24225*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   13301             : /* 24227*/              OPC_MoveParent,
   13302             : /* 24228*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13303             : /* 24230*/              OPC_EmitMergeInputChains1_0,
   13304             : /* 24231*/              OPC_EmitInteger, MVT::i32, 0, 
   13305             : /* 24234*/              OPC_EmitConvertToTarget, 2,
   13306             : /* 24236*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13307             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   13308             :                         // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 17
   13309             :                         // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13310             : /* 24246*/            /*Scope*/ 21, /*->24268*/
   13311             : /* 24247*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   13312             : /* 24249*/              OPC_MoveParent,
   13313             : /* 24250*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13314             : /* 24252*/              OPC_EmitMergeInputChains1_0,
   13315             : /* 24253*/              OPC_EmitInteger, MVT::i32, 0, 
   13316             : /* 24256*/              OPC_EmitConvertToTarget, 2,
   13317             : /* 24258*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13318             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   13319             :                         // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 17
   13320             :                         // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13321             : /* 24268*/            0, /*End of Scope*/
   13322             : /* 24269*/          /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->24423
   13323             : /* 24273*/            OPC_RecordChild0, // #1 = $off
   13324             : /* 24274*/            OPC_MoveChild0,
   13325             : /* 24275*/            OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->24349
   13326             : /* 24279*/              OPC_MoveParent,
   13327             : /* 24280*/              OPC_MoveParent,
   13328             : /* 24281*/              OPC_MoveChild2,
   13329             : /* 24282*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13330             : /* 24285*/              OPC_RecordChild0, // #2 = $val
   13331             : /* 24286*/              OPC_MoveParent,
   13332             : /* 24287*/              OPC_Scope, 29, /*->24318*/ // 2 children in Scope
   13333             : /* 24289*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   13334             : /* 24291*/                OPC_MoveParent,
   13335             : /* 24292*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13336             : /* 24294*/                OPC_EmitMergeInputChains1_0,
   13337             : /* 24295*/                OPC_EmitInteger, MVT::i32, 0, 
   13338             : /* 24298*/                OPC_EmitInteger, MVT::i32, 0, 
   13339             : /* 24301*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13340             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   13341             : /* 24308*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13342             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   13343             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 16
   13344             :                           // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13345             : /* 24318*/              /*Scope*/ 29, /*->24348*/
   13346             : /* 24319*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   13347             : /* 24321*/                OPC_MoveParent,
   13348             : /* 24322*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13349             : /* 24324*/                OPC_EmitMergeInputChains1_0,
   13350             : /* 24325*/                OPC_EmitInteger, MVT::i32, 0, 
   13351             : /* 24328*/                OPC_EmitInteger, MVT::i32, 0, 
   13352             : /* 24331*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13353             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   13354             : /* 24338*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13355             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   13356             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 16
   13357             :                           // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13358             : /* 24348*/              0, /*End of Scope*/
   13359             : /* 24349*/            /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->24422
   13360             : /* 24352*/              OPC_MoveParent,
   13361             : /* 24353*/              OPC_MoveParent,
   13362             : /* 24354*/              OPC_MoveChild2,
   13363             : /* 24355*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13364             : /* 24358*/              OPC_RecordChild0, // #2 = $val
   13365             : /* 24359*/              OPC_MoveParent,
   13366             : /* 24360*/              OPC_Scope, 29, /*->24391*/ // 2 children in Scope
   13367             : /* 24362*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   13368             : /* 24364*/                OPC_MoveParent,
   13369             : /* 24365*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13370             : /* 24367*/                OPC_EmitMergeInputChains1_0,
   13371             : /* 24368*/                OPC_EmitInteger, MVT::i32, 0, 
   13372             : /* 24371*/                OPC_EmitInteger, MVT::i32, 0, 
   13373             : /* 24374*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13374             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   13375             : /* 24381*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13376             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   13377             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 16
   13378             :                           // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13379             : /* 24391*/              /*Scope*/ 29, /*->24421*/
   13380             : /* 24392*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   13381             : /* 24394*/                OPC_MoveParent,
   13382             : /* 24395*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13383             : /* 24397*/                OPC_EmitMergeInputChains1_0,
   13384             : /* 24398*/                OPC_EmitInteger, MVT::i32, 0, 
   13385             : /* 24401*/                OPC_EmitInteger, MVT::i32, 0, 
   13386             : /* 24404*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13387             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   13388             : /* 24411*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13389             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   13390             :                           // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 16
   13391             :                           // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13392             : /* 24421*/              0, /*End of Scope*/
   13393             : /* 24422*/            0, // EndSwitchOpcode
   13394             : /* 24423*/          0, // EndSwitchOpcode
   13395             : /* 24424*/        /*Scope*/ 10|128,1/*138*/, /*->24564*/
   13396             : /* 24426*/          OPC_RecordChild1, // #1 = $off
   13397             : /* 24427*/          OPC_Scope, 77, /*->24506*/ // 2 children in Scope
   13398             : /* 24429*/            OPC_MoveChild1,
   13399             : /* 24430*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   13400             : /* 24433*/            OPC_MoveParent,
   13401             : /* 24434*/            OPC_MoveChild2,
   13402             : /* 24435*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13403             : /* 24438*/            OPC_RecordChild0, // #2 = $val
   13404             : /* 24439*/            OPC_MoveParent,
   13405             : /* 24440*/            OPC_Scope, 31, /*->24473*/ // 2 children in Scope
   13406             : /* 24442*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   13407             : /* 24444*/              OPC_MoveParent,
   13408             : /* 24445*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13409             : /* 24447*/              OPC_EmitMergeInputChains1_0,
   13410             : /* 24448*/              OPC_EmitInteger, MVT::i32, 0, 
   13411             : /* 24451*/              OPC_EmitConvertToTarget, 1,
   13412             : /* 24453*/              OPC_EmitInteger, MVT::i32, 0, 
   13413             : /* 24456*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13414             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   13415             : /* 24463*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13416             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   13417             :                         // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 13
   13418             :                         // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13419             : /* 24473*/            /*Scope*/ 31, /*->24505*/
   13420             : /* 24474*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   13421             : /* 24476*/              OPC_MoveParent,
   13422             : /* 24477*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13423             : /* 24479*/              OPC_EmitMergeInputChains1_0,
   13424             : /* 24480*/              OPC_EmitInteger, MVT::i32, 0, 
   13425             : /* 24483*/              OPC_EmitConvertToTarget, 1,
   13426             : /* 24485*/              OPC_EmitInteger, MVT::i32, 0, 
   13427             : /* 24488*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13428             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   13429             : /* 24495*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13430             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   13431             :                         // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 13
   13432             :                         // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13433             : /* 24505*/            0, /*End of Scope*/
   13434             : /* 24506*/          /*Scope*/ 56, /*->24563*/
   13435             : /* 24507*/            OPC_CheckChild1Type, MVT::i32,
   13436             : /* 24509*/            OPC_MoveChild2,
   13437             : /* 24510*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13438             : /* 24513*/            OPC_RecordChild0, // #2 = $val
   13439             : /* 24514*/            OPC_MoveParent,
   13440             : /* 24515*/            OPC_Scope, 22, /*->24539*/ // 2 children in Scope
   13441             : /* 24517*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   13442             : /* 24519*/              OPC_MoveParent,
   13443             : /* 24520*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13444             : /* 24522*/              OPC_EmitMergeInputChains1_0,
   13445             : /* 24523*/              OPC_EmitInteger, MVT::i32, 0, 
   13446             : /* 24526*/              OPC_EmitInteger, MVT::i32, 0, 
   13447             : /* 24529*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13448             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   13449             :                         // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_8>>) - Complexity = 10
   13450             :                         // Dst: (ATOMIC_RMW8_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13451             : /* 24539*/            /*Scope*/ 22, /*->24562*/
   13452             : /* 24540*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   13453             : /* 24542*/              OPC_MoveParent,
   13454             : /* 24543*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13455             : /* 24545*/              OPC_EmitMergeInputChains1_0,
   13456             : /* 24546*/              OPC_EmitInteger, MVT::i32, 0, 
   13457             : /* 24549*/              OPC_EmitInteger, MVT::i32, 0, 
   13458             : /* 24552*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13459             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   13460             :                         // Src: (anyext:{ *:[i64] } (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_or_16>>) - Complexity = 10
   13461             :                         // Dst: (ATOMIC_RMW16_U_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13462             : /* 24562*/            0, /*End of Scope*/
   13463             : /* 24563*/          0, /*End of Scope*/
   13464             : /* 24564*/        0, /*End of Scope*/
   13465             : /* 24565*/      /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),// ->25270
   13466             : /* 24569*/        OPC_RecordMemRef,
   13467             : /* 24570*/        OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
   13468             : /* 24571*/        OPC_Scope, 43|128,4/*555*/, /*->25129*/ // 2 children in Scope
   13469             : /* 24574*/          OPC_MoveChild1,
   13470             : /* 24575*/          OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->24907
   13471             : /* 24580*/            OPC_Scope, 65, /*->24647*/ // 5 children in Scope
   13472             : /* 24582*/              OPC_RecordChild0, // #1 = $addr
   13473             : /* 24583*/              OPC_MoveChild1,
   13474             : /* 24584*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13475             : /* 24587*/              OPC_RecordChild0, // #2 = $off
   13476             : /* 24588*/              OPC_MoveChild0,
   13477             : /* 24589*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   13478             : /* 24592*/              OPC_MoveParent,
   13479             : /* 24593*/              OPC_MoveParent,
   13480             : /* 24594*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   13481             : /* 24596*/              OPC_CheckType, MVT::i32,
   13482             : /* 24598*/              OPC_MoveParent,
   13483             : /* 24599*/              OPC_MoveChild2,
   13484             : /* 24600*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13485             : /* 24603*/              OPC_RecordChild0, // #3 = $val
   13486             : /* 24604*/              OPC_MoveParent,
   13487             : /* 24605*/              OPC_Scope, 19, /*->24626*/ // 2 children in Scope
   13488             : /* 24607*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   13489             : /* 24609*/                OPC_MoveParent,
   13490             : /* 24610*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13491             : /* 24612*/                OPC_EmitMergeInputChains1_0,
   13492             : /* 24613*/                OPC_EmitInteger, MVT::i32, 0, 
   13493             : /* 24616*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13494             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13495             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 20
   13496             :                           // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13497             : /* 24626*/              /*Scope*/ 19, /*->24646*/
   13498             : /* 24627*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   13499             : /* 24629*/                OPC_MoveParent,
   13500             : /* 24630*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13501             : /* 24632*/                OPC_EmitMergeInputChains1_0,
   13502             : /* 24633*/                OPC_EmitInteger, MVT::i32, 0, 
   13503             : /* 24636*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13504             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13505             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 20
   13506             :                           // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13507             : /* 24646*/              0, /*End of Scope*/
   13508             : /* 24647*/            /*Scope*/ 65, /*->24713*/
   13509             : /* 24648*/              OPC_MoveChild0,
   13510             : /* 24649*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13511             : /* 24652*/              OPC_RecordChild0, // #1 = $off
   13512             : /* 24653*/              OPC_MoveChild0,
   13513             : /* 24654*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   13514             : /* 24657*/              OPC_MoveParent,
   13515             : /* 24658*/              OPC_MoveParent,
   13516             : /* 24659*/              OPC_RecordChild1, // #2 = $addr
   13517             : /* 24660*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   13518             : /* 24662*/              OPC_CheckType, MVT::i32,
   13519             : /* 24664*/              OPC_MoveParent,
   13520             : /* 24665*/              OPC_MoveChild2,
   13521             : /* 24666*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13522             : /* 24669*/              OPC_RecordChild0, // #3 = $val
   13523             : /* 24670*/              OPC_MoveParent,
   13524             : /* 24671*/              OPC_Scope, 19, /*->24692*/ // 2 children in Scope
   13525             : /* 24673*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   13526             : /* 24675*/                OPC_MoveParent,
   13527             : /* 24676*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13528             : /* 24678*/                OPC_EmitMergeInputChains1_0,
   13529             : /* 24679*/                OPC_EmitInteger, MVT::i32, 0, 
   13530             : /* 24682*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13531             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13532             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 20
   13533             :                           // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13534             : /* 24692*/              /*Scope*/ 19, /*->24712*/
   13535             : /* 24693*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   13536             : /* 24695*/                OPC_MoveParent,
   13537             : /* 24696*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13538             : /* 24698*/                OPC_EmitMergeInputChains1_0,
   13539             : /* 24699*/                OPC_EmitInteger, MVT::i32, 0, 
   13540             : /* 24702*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13541             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13542             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 20
   13543             :                           // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13544             : /* 24712*/              0, /*End of Scope*/
   13545             : /* 24713*/            /*Scope*/ 63, /*->24777*/
   13546             : /* 24714*/              OPC_RecordChild0, // #1 = $addr
   13547             : /* 24715*/              OPC_MoveChild1,
   13548             : /* 24716*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13549             : /* 24719*/              OPC_RecordChild0, // #2 = $off
   13550             : /* 24720*/              OPC_MoveChild0,
   13551             : /* 24721*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   13552             : /* 24724*/              OPC_MoveParent,
   13553             : /* 24725*/              OPC_MoveParent,
   13554             : /* 24726*/              OPC_CheckType, MVT::i32,
   13555             : /* 24728*/              OPC_MoveParent,
   13556             : /* 24729*/              OPC_MoveChild2,
   13557             : /* 24730*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13558             : /* 24733*/              OPC_RecordChild0, // #3 = $val
   13559             : /* 24734*/              OPC_MoveParent,
   13560             : /* 24735*/              OPC_Scope, 19, /*->24756*/ // 2 children in Scope
   13561             : /* 24737*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   13562             : /* 24739*/                OPC_MoveParent,
   13563             : /* 24740*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13564             : /* 24742*/                OPC_EmitMergeInputChains1_0,
   13565             : /* 24743*/                OPC_EmitInteger, MVT::i32, 0, 
   13566             : /* 24746*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13567             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13568             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 19
   13569             :                           // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13570             : /* 24756*/              /*Scope*/ 19, /*->24776*/
   13571             : /* 24757*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   13572             : /* 24759*/                OPC_MoveParent,
   13573             : /* 24760*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13574             : /* 24762*/                OPC_EmitMergeInputChains1_0,
   13575             : /* 24763*/                OPC_EmitInteger, MVT::i32, 0, 
   13576             : /* 24766*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13577             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13578             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 19
   13579             :                           // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13580             : /* 24776*/              0, /*End of Scope*/
   13581             : /* 24777*/            /*Scope*/ 63, /*->24841*/
   13582             : /* 24778*/              OPC_MoveChild0,
   13583             : /* 24779*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13584             : /* 24782*/              OPC_RecordChild0, // #1 = $off
   13585             : /* 24783*/              OPC_MoveChild0,
   13586             : /* 24784*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   13587             : /* 24787*/              OPC_MoveParent,
   13588             : /* 24788*/              OPC_MoveParent,
   13589             : /* 24789*/              OPC_RecordChild1, // #2 = $addr
   13590             : /* 24790*/              OPC_CheckType, MVT::i32,
   13591             : /* 24792*/              OPC_MoveParent,
   13592             : /* 24793*/              OPC_MoveChild2,
   13593             : /* 24794*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13594             : /* 24797*/              OPC_RecordChild0, // #3 = $val
   13595             : /* 24798*/              OPC_MoveParent,
   13596             : /* 24799*/              OPC_Scope, 19, /*->24820*/ // 2 children in Scope
   13597             : /* 24801*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   13598             : /* 24803*/                OPC_MoveParent,
   13599             : /* 24804*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13600             : /* 24806*/                OPC_EmitMergeInputChains1_0,
   13601             : /* 24807*/                OPC_EmitInteger, MVT::i32, 0, 
   13602             : /* 24810*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13603             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13604             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 19
   13605             :                           // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13606             : /* 24820*/              /*Scope*/ 19, /*->24840*/
   13607             : /* 24821*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   13608             : /* 24823*/                OPC_MoveParent,
   13609             : /* 24824*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13610             : /* 24826*/                OPC_EmitMergeInputChains1_0,
   13611             : /* 24827*/                OPC_EmitInteger, MVT::i32, 0, 
   13612             : /* 24830*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13613             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13614             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 19
   13615             :                           // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13616             : /* 24840*/              0, /*End of Scope*/
   13617             : /* 24841*/            /*Scope*/ 64, /*->24906*/
   13618             : /* 24842*/              OPC_RecordChild0, // #1 = $addr
   13619             : /* 24843*/              OPC_RecordChild1, // #2 = $off
   13620             : /* 24844*/              OPC_MoveChild1,
   13621             : /* 24845*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   13622             : /* 24848*/              OPC_MoveParent,
   13623             : /* 24849*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   13624             : /* 24851*/              OPC_CheckType, MVT::i32,
   13625             : /* 24853*/              OPC_MoveParent,
   13626             : /* 24854*/              OPC_MoveChild2,
   13627             : /* 24855*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13628             : /* 24858*/              OPC_RecordChild0, // #3 = $val
   13629             : /* 24859*/              OPC_MoveParent,
   13630             : /* 24860*/              OPC_Scope, 21, /*->24883*/ // 2 children in Scope
   13631             : /* 24862*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   13632             : /* 24864*/                OPC_MoveParent,
   13633             : /* 24865*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13634             : /* 24867*/                OPC_EmitMergeInputChains1_0,
   13635             : /* 24868*/                OPC_EmitInteger, MVT::i32, 0, 
   13636             : /* 24871*/                OPC_EmitConvertToTarget, 2,
   13637             : /* 24873*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13638             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   13639             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 17
   13640             :                           // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13641             : /* 24883*/              /*Scope*/ 21, /*->24905*/
   13642             : /* 24884*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   13643             : /* 24886*/                OPC_MoveParent,
   13644             : /* 24887*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13645             : /* 24889*/                OPC_EmitMergeInputChains1_0,
   13646             : /* 24890*/                OPC_EmitInteger, MVT::i32, 0, 
   13647             : /* 24893*/                OPC_EmitConvertToTarget, 2,
   13648             : /* 24895*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13649             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   13650             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 17
   13651             :                           // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13652             : /* 24905*/              0, /*End of Scope*/
   13653             : /* 24906*/            0, /*End of Scope*/
   13654             : /* 24907*/          /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->24974
   13655             : /* 24910*/            OPC_RecordChild0, // #1 = $addr
   13656             : /* 24911*/            OPC_RecordChild1, // #2 = $off
   13657             : /* 24912*/            OPC_MoveChild1,
   13658             : /* 24913*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   13659             : /* 24916*/            OPC_MoveParent,
   13660             : /* 24917*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   13661             : /* 24919*/            OPC_CheckType, MVT::i32,
   13662             : /* 24921*/            OPC_MoveParent,
   13663             : /* 24922*/            OPC_MoveChild2,
   13664             : /* 24923*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13665             : /* 24926*/            OPC_RecordChild0, // #3 = $val
   13666             : /* 24927*/            OPC_MoveParent,
   13667             : /* 24928*/            OPC_Scope, 21, /*->24951*/ // 2 children in Scope
   13668             : /* 24930*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   13669             : /* 24932*/              OPC_MoveParent,
   13670             : /* 24933*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13671             : /* 24935*/              OPC_EmitMergeInputChains1_0,
   13672             : /* 24936*/              OPC_EmitInteger, MVT::i32, 0, 
   13673             : /* 24939*/              OPC_EmitConvertToTarget, 2,
   13674             : /* 24941*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13675             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   13676             :                         // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 17
   13677             :                         // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13678             : /* 24951*/            /*Scope*/ 21, /*->24973*/
   13679             : /* 24952*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   13680             : /* 24954*/              OPC_MoveParent,
   13681             : /* 24955*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13682             : /* 24957*/              OPC_EmitMergeInputChains1_0,
   13683             : /* 24958*/              OPC_EmitInteger, MVT::i32, 0, 
   13684             : /* 24961*/              OPC_EmitConvertToTarget, 2,
   13685             : /* 24963*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13686             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   13687             :                         // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 17
   13688             :                         // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13689             : /* 24973*/            0, /*End of Scope*/
   13690             : /* 24974*/          /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->25128
   13691             : /* 24978*/            OPC_RecordChild0, // #1 = $off
   13692             : /* 24979*/            OPC_MoveChild0,
   13693             : /* 24980*/            OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->25054
   13694             : /* 24984*/              OPC_MoveParent,
   13695             : /* 24985*/              OPC_MoveParent,
   13696             : /* 24986*/              OPC_MoveChild2,
   13697             : /* 24987*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13698             : /* 24990*/              OPC_RecordChild0, // #2 = $val
   13699             : /* 24991*/              OPC_MoveParent,
   13700             : /* 24992*/              OPC_Scope, 29, /*->25023*/ // 2 children in Scope
   13701             : /* 24994*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   13702             : /* 24996*/                OPC_MoveParent,
   13703             : /* 24997*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13704             : /* 24999*/                OPC_EmitMergeInputChains1_0,
   13705             : /* 25000*/                OPC_EmitInteger, MVT::i32, 0, 
   13706             : /* 25003*/                OPC_EmitInteger, MVT::i32, 0, 
   13707             : /* 25006*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13708             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   13709             : /* 25013*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13710             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   13711             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 16
   13712             :                           // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13713             : /* 25023*/              /*Scope*/ 29, /*->25053*/
   13714             : /* 25024*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   13715             : /* 25026*/                OPC_MoveParent,
   13716             : /* 25027*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13717             : /* 25029*/                OPC_EmitMergeInputChains1_0,
   13718             : /* 25030*/                OPC_EmitInteger, MVT::i32, 0, 
   13719             : /* 25033*/                OPC_EmitInteger, MVT::i32, 0, 
   13720             : /* 25036*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13721             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   13722             : /* 25043*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13723             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   13724             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 16
   13725             :                           // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13726             : /* 25053*/              0, /*End of Scope*/
   13727             : /* 25054*/            /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->25127
   13728             : /* 25057*/              OPC_MoveParent,
   13729             : /* 25058*/              OPC_MoveParent,
   13730             : /* 25059*/              OPC_MoveChild2,
   13731             : /* 25060*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13732             : /* 25063*/              OPC_RecordChild0, // #2 = $val
   13733             : /* 25064*/              OPC_MoveParent,
   13734             : /* 25065*/              OPC_Scope, 29, /*->25096*/ // 2 children in Scope
   13735             : /* 25067*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   13736             : /* 25069*/                OPC_MoveParent,
   13737             : /* 25070*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13738             : /* 25072*/                OPC_EmitMergeInputChains1_0,
   13739             : /* 25073*/                OPC_EmitInteger, MVT::i32, 0, 
   13740             : /* 25076*/                OPC_EmitInteger, MVT::i32, 0, 
   13741             : /* 25079*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13742             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   13743             : /* 25086*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13744             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   13745             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 16
   13746             :                           // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13747             : /* 25096*/              /*Scope*/ 29, /*->25126*/
   13748             : /* 25097*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   13749             : /* 25099*/                OPC_MoveParent,
   13750             : /* 25100*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13751             : /* 25102*/                OPC_EmitMergeInputChains1_0,
   13752             : /* 25103*/                OPC_EmitInteger, MVT::i32, 0, 
   13753             : /* 25106*/                OPC_EmitInteger, MVT::i32, 0, 
   13754             : /* 25109*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13755             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   13756             : /* 25116*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13757             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   13758             :                           // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 16
   13759             :                           // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13760             : /* 25126*/              0, /*End of Scope*/
   13761             : /* 25127*/            0, // EndSwitchOpcode
   13762             : /* 25128*/          0, // EndSwitchOpcode
   13763             : /* 25129*/        /*Scope*/ 10|128,1/*138*/, /*->25269*/
   13764             : /* 25131*/          OPC_RecordChild1, // #1 = $off
   13765             : /* 25132*/          OPC_Scope, 77, /*->25211*/ // 2 children in Scope
   13766             : /* 25134*/            OPC_MoveChild1,
   13767             : /* 25135*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   13768             : /* 25138*/            OPC_MoveParent,
   13769             : /* 25139*/            OPC_MoveChild2,
   13770             : /* 25140*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13771             : /* 25143*/            OPC_RecordChild0, // #2 = $val
   13772             : /* 25144*/            OPC_MoveParent,
   13773             : /* 25145*/            OPC_Scope, 31, /*->25178*/ // 2 children in Scope
   13774             : /* 25147*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   13775             : /* 25149*/              OPC_MoveParent,
   13776             : /* 25150*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13777             : /* 25152*/              OPC_EmitMergeInputChains1_0,
   13778             : /* 25153*/              OPC_EmitInteger, MVT::i32, 0, 
   13779             : /* 25156*/              OPC_EmitConvertToTarget, 1,
   13780             : /* 25158*/              OPC_EmitInteger, MVT::i32, 0, 
   13781             : /* 25161*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13782             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   13783             : /* 25168*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13784             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   13785             :                         // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 13
   13786             :                         // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13787             : /* 25178*/            /*Scope*/ 31, /*->25210*/
   13788             : /* 25179*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   13789             : /* 25181*/              OPC_MoveParent,
   13790             : /* 25182*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13791             : /* 25184*/              OPC_EmitMergeInputChains1_0,
   13792             : /* 25185*/              OPC_EmitInteger, MVT::i32, 0, 
   13793             : /* 25188*/              OPC_EmitConvertToTarget, 1,
   13794             : /* 25190*/              OPC_EmitInteger, MVT::i32, 0, 
   13795             : /* 25193*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   13796             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   13797             : /* 25200*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13798             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   13799             :                         // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 13
   13800             :                         // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   13801             : /* 25210*/            0, /*End of Scope*/
   13802             : /* 25211*/          /*Scope*/ 56, /*->25268*/
   13803             : /* 25212*/            OPC_CheckChild1Type, MVT::i32,
   13804             : /* 25214*/            OPC_MoveChild2,
   13805             : /* 25215*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13806             : /* 25218*/            OPC_RecordChild0, // #2 = $val
   13807             : /* 25219*/            OPC_MoveParent,
   13808             : /* 25220*/            OPC_Scope, 22, /*->25244*/ // 2 children in Scope
   13809             : /* 25222*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   13810             : /* 25224*/              OPC_MoveParent,
   13811             : /* 25225*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13812             : /* 25227*/              OPC_EmitMergeInputChains1_0,
   13813             : /* 25228*/              OPC_EmitInteger, MVT::i32, 0, 
   13814             : /* 25231*/              OPC_EmitInteger, MVT::i32, 0, 
   13815             : /* 25234*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13816             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   13817             :                         // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_8>>) - Complexity = 10
   13818             :                         // Dst: (ATOMIC_RMW8_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13819             : /* 25244*/            /*Scope*/ 22, /*->25267*/
   13820             : /* 25245*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   13821             : /* 25247*/              OPC_MoveParent,
   13822             : /* 25248*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13823             : /* 25250*/              OPC_EmitMergeInputChains1_0,
   13824             : /* 25251*/              OPC_EmitInteger, MVT::i32, 0, 
   13825             : /* 25254*/              OPC_EmitInteger, MVT::i32, 0, 
   13826             : /* 25257*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13827             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   13828             :                         // Src: (anyext:{ *:[i64] } (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_load_xor_16>>) - Complexity = 10
   13829             :                         // Dst: (ATOMIC_RMW16_U_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13830             : /* 25267*/            0, /*End of Scope*/
   13831             : /* 25268*/          0, /*End of Scope*/
   13832             : /* 25269*/        0, /*End of Scope*/
   13833             : /* 25270*/      /*SwitchOpcode*/ 61|128,5/*701*/, TARGET_VAL(ISD::ATOMIC_SWAP),// ->25975
   13834             : /* 25274*/        OPC_RecordMemRef,
   13835             : /* 25275*/        OPC_RecordNode, // #0 = 'atomic_swap' chained node
   13836             : /* 25276*/        OPC_Scope, 43|128,4/*555*/, /*->25834*/ // 2 children in Scope
   13837             : /* 25279*/          OPC_MoveChild1,
   13838             : /* 25280*/          OPC_SwitchOpcode /*3 cases */, 71|128,2/*327*/, TARGET_VAL(ISD::ADD),// ->25612
   13839             : /* 25285*/            OPC_Scope, 65, /*->25352*/ // 5 children in Scope
   13840             : /* 25287*/              OPC_RecordChild0, // #1 = $addr
   13841             : /* 25288*/              OPC_MoveChild1,
   13842             : /* 25289*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13843             : /* 25292*/              OPC_RecordChild0, // #2 = $off
   13844             : /* 25293*/              OPC_MoveChild0,
   13845             : /* 25294*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   13846             : /* 25297*/              OPC_MoveParent,
   13847             : /* 25298*/              OPC_MoveParent,
   13848             : /* 25299*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   13849             : /* 25301*/              OPC_CheckType, MVT::i32,
   13850             : /* 25303*/              OPC_MoveParent,
   13851             : /* 25304*/              OPC_MoveChild2,
   13852             : /* 25305*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13853             : /* 25308*/              OPC_RecordChild0, // #3 = $val
   13854             : /* 25309*/              OPC_MoveParent,
   13855             : /* 25310*/              OPC_Scope, 19, /*->25331*/ // 2 children in Scope
   13856             : /* 25312*/                OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   13857             : /* 25314*/                OPC_MoveParent,
   13858             : /* 25315*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13859             : /* 25317*/                OPC_EmitMergeInputChains1_0,
   13860             : /* 25318*/                OPC_EmitInteger, MVT::i32, 0, 
   13861             : /* 25321*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13862             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13863             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 20
   13864             :                           // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13865             : /* 25331*/              /*Scope*/ 19, /*->25351*/
   13866             : /* 25332*/                OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   13867             : /* 25334*/                OPC_MoveParent,
   13868             : /* 25335*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13869             : /* 25337*/                OPC_EmitMergeInputChains1_0,
   13870             : /* 25338*/                OPC_EmitInteger, MVT::i32, 0, 
   13871             : /* 25341*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13872             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13873             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 20
   13874             :                           // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13875             : /* 25351*/              0, /*End of Scope*/
   13876             : /* 25352*/            /*Scope*/ 65, /*->25418*/
   13877             : /* 25353*/              OPC_MoveChild0,
   13878             : /* 25354*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13879             : /* 25357*/              OPC_RecordChild0, // #1 = $off
   13880             : /* 25358*/              OPC_MoveChild0,
   13881             : /* 25359*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   13882             : /* 25362*/              OPC_MoveParent,
   13883             : /* 25363*/              OPC_MoveParent,
   13884             : /* 25364*/              OPC_RecordChild1, // #2 = $addr
   13885             : /* 25365*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   13886             : /* 25367*/              OPC_CheckType, MVT::i32,
   13887             : /* 25369*/              OPC_MoveParent,
   13888             : /* 25370*/              OPC_MoveChild2,
   13889             : /* 25371*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13890             : /* 25374*/              OPC_RecordChild0, // #3 = $val
   13891             : /* 25375*/              OPC_MoveParent,
   13892             : /* 25376*/              OPC_Scope, 19, /*->25397*/ // 2 children in Scope
   13893             : /* 25378*/                OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   13894             : /* 25380*/                OPC_MoveParent,
   13895             : /* 25381*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13896             : /* 25383*/                OPC_EmitMergeInputChains1_0,
   13897             : /* 25384*/                OPC_EmitInteger, MVT::i32, 0, 
   13898             : /* 25387*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13899             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13900             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 20
   13901             :                           // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13902             : /* 25397*/              /*Scope*/ 19, /*->25417*/
   13903             : /* 25398*/                OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   13904             : /* 25400*/                OPC_MoveParent,
   13905             : /* 25401*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13906             : /* 25403*/                OPC_EmitMergeInputChains1_0,
   13907             : /* 25404*/                OPC_EmitInteger, MVT::i32, 0, 
   13908             : /* 25407*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13909             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13910             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 20
   13911             :                           // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13912             : /* 25417*/              0, /*End of Scope*/
   13913             : /* 25418*/            /*Scope*/ 63, /*->25482*/
   13914             : /* 25419*/              OPC_RecordChild0, // #1 = $addr
   13915             : /* 25420*/              OPC_MoveChild1,
   13916             : /* 25421*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13917             : /* 25424*/              OPC_RecordChild0, // #2 = $off
   13918             : /* 25425*/              OPC_MoveChild0,
   13919             : /* 25426*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   13920             : /* 25429*/              OPC_MoveParent,
   13921             : /* 25430*/              OPC_MoveParent,
   13922             : /* 25431*/              OPC_CheckType, MVT::i32,
   13923             : /* 25433*/              OPC_MoveParent,
   13924             : /* 25434*/              OPC_MoveChild2,
   13925             : /* 25435*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13926             : /* 25438*/              OPC_RecordChild0, // #3 = $val
   13927             : /* 25439*/              OPC_MoveParent,
   13928             : /* 25440*/              OPC_Scope, 19, /*->25461*/ // 2 children in Scope
   13929             : /* 25442*/                OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   13930             : /* 25444*/                OPC_MoveParent,
   13931             : /* 25445*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13932             : /* 25447*/                OPC_EmitMergeInputChains1_0,
   13933             : /* 25448*/                OPC_EmitInteger, MVT::i32, 0, 
   13934             : /* 25451*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13935             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13936             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 19
   13937             :                           // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13938             : /* 25461*/              /*Scope*/ 19, /*->25481*/
   13939             : /* 25462*/                OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   13940             : /* 25464*/                OPC_MoveParent,
   13941             : /* 25465*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13942             : /* 25467*/                OPC_EmitMergeInputChains1_0,
   13943             : /* 25468*/                OPC_EmitInteger, MVT::i32, 0, 
   13944             : /* 25471*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13945             :                               MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   13946             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 19
   13947             :                           // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13948             : /* 25481*/              0, /*End of Scope*/
   13949             : /* 25482*/            /*Scope*/ 63, /*->25546*/
   13950             : /* 25483*/              OPC_MoveChild0,
   13951             : /* 25484*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   13952             : /* 25487*/              OPC_RecordChild0, // #1 = $off
   13953             : /* 25488*/              OPC_MoveChild0,
   13954             : /* 25489*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   13955             : /* 25492*/              OPC_MoveParent,
   13956             : /* 25493*/              OPC_MoveParent,
   13957             : /* 25494*/              OPC_RecordChild1, // #2 = $addr
   13958             : /* 25495*/              OPC_CheckType, MVT::i32,
   13959             : /* 25497*/              OPC_MoveParent,
   13960             : /* 25498*/              OPC_MoveChild2,
   13961             : /* 25499*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13962             : /* 25502*/              OPC_RecordChild0, // #3 = $val
   13963             : /* 25503*/              OPC_MoveParent,
   13964             : /* 25504*/              OPC_Scope, 19, /*->25525*/ // 2 children in Scope
   13965             : /* 25506*/                OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   13966             : /* 25508*/                OPC_MoveParent,
   13967             : /* 25509*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13968             : /* 25511*/                OPC_EmitMergeInputChains1_0,
   13969             : /* 25512*/                OPC_EmitInteger, MVT::i32, 0, 
   13970             : /* 25515*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13971             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13972             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 19
   13973             :                           // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13974             : /* 25525*/              /*Scope*/ 19, /*->25545*/
   13975             : /* 25526*/                OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   13976             : /* 25528*/                OPC_MoveParent,
   13977             : /* 25529*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   13978             : /* 25531*/                OPC_EmitMergeInputChains1_0,
   13979             : /* 25532*/                OPC_EmitInteger, MVT::i32, 0, 
   13980             : /* 25535*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   13981             :                               MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   13982             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 19
   13983             :                           // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   13984             : /* 25545*/              0, /*End of Scope*/
   13985             : /* 25546*/            /*Scope*/ 64, /*->25611*/
   13986             : /* 25547*/              OPC_RecordChild0, // #1 = $addr
   13987             : /* 25548*/              OPC_RecordChild1, // #2 = $off
   13988             : /* 25549*/              OPC_MoveChild1,
   13989             : /* 25550*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   13990             : /* 25553*/              OPC_MoveParent,
   13991             : /* 25554*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   13992             : /* 25556*/              OPC_CheckType, MVT::i32,
   13993             : /* 25558*/              OPC_MoveParent,
   13994             : /* 25559*/              OPC_MoveChild2,
   13995             : /* 25560*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   13996             : /* 25563*/              OPC_RecordChild0, // #3 = $val
   13997             : /* 25564*/              OPC_MoveParent,
   13998             : /* 25565*/              OPC_Scope, 21, /*->25588*/ // 2 children in Scope
   13999             : /* 25567*/                OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   14000             : /* 25569*/                OPC_MoveParent,
   14001             : /* 25570*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14002             : /* 25572*/                OPC_EmitMergeInputChains1_0,
   14003             : /* 25573*/                OPC_EmitInteger, MVT::i32, 0, 
   14004             : /* 25576*/                OPC_EmitConvertToTarget, 2,
   14005             : /* 25578*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14006             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   14007             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 17
   14008             :                           // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   14009             : /* 25588*/              /*Scope*/ 21, /*->25610*/
   14010             : /* 25589*/                OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   14011             : /* 25591*/                OPC_MoveParent,
   14012             : /* 25592*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14013             : /* 25594*/                OPC_EmitMergeInputChains1_0,
   14014             : /* 25595*/                OPC_EmitInteger, MVT::i32, 0, 
   14015             : /* 25598*/                OPC_EmitConvertToTarget, 2,
   14016             : /* 25600*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14017             :                               MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   14018             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 17
   14019             :                           // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   14020             : /* 25610*/              0, /*End of Scope*/
   14021             : /* 25611*/            0, /*End of Scope*/
   14022             : /* 25612*/          /*SwitchOpcode*/ 64, TARGET_VAL(ISD::OR),// ->25679
   14023             : /* 25615*/            OPC_RecordChild0, // #1 = $addr
   14024             : /* 25616*/            OPC_RecordChild1, // #2 = $off
   14025             : /* 25617*/            OPC_MoveChild1,
   14026             : /* 25618*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   14027             : /* 25621*/            OPC_MoveParent,
   14028             : /* 25622*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   14029             : /* 25624*/            OPC_CheckType, MVT::i32,
   14030             : /* 25626*/            OPC_MoveParent,
   14031             : /* 25627*/            OPC_MoveChild2,
   14032             : /* 25628*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   14033             : /* 25631*/            OPC_RecordChild0, // #3 = $val
   14034             : /* 25632*/            OPC_MoveParent,
   14035             : /* 25633*/            OPC_Scope, 21, /*->25656*/ // 2 children in Scope
   14036             : /* 25635*/              OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   14037             : /* 25637*/              OPC_MoveParent,
   14038             : /* 25638*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14039             : /* 25640*/              OPC_EmitMergeInputChains1_0,
   14040             : /* 25641*/              OPC_EmitInteger, MVT::i32, 0, 
   14041             : /* 25644*/              OPC_EmitConvertToTarget, 2,
   14042             : /* 25646*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14043             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   14044             :                         // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 17
   14045             :                         // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   14046             : /* 25656*/            /*Scope*/ 21, /*->25678*/
   14047             : /* 25657*/              OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   14048             : /* 25659*/              OPC_MoveParent,
   14049             : /* 25660*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14050             : /* 25662*/              OPC_EmitMergeInputChains1_0,
   14051             : /* 25663*/              OPC_EmitInteger, MVT::i32, 0, 
   14052             : /* 25666*/              OPC_EmitConvertToTarget, 2,
   14053             : /* 25668*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14054             :                             MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   14055             :                         // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 17
   14056             :                         // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   14057             : /* 25678*/            0, /*End of Scope*/
   14058             : /* 25679*/          /*SwitchOpcode*/ 22|128,1/*150*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->25833
   14059             : /* 25683*/            OPC_RecordChild0, // #1 = $off
   14060             : /* 25684*/            OPC_MoveChild0,
   14061             : /* 25685*/            OPC_SwitchOpcode /*2 cases */, 70, TARGET_VAL(ISD::TargetGlobalAddress),// ->25759
   14062             : /* 25689*/              OPC_MoveParent,
   14063             : /* 25690*/              OPC_MoveParent,
   14064             : /* 25691*/              OPC_MoveChild2,
   14065             : /* 25692*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   14066             : /* 25695*/              OPC_RecordChild0, // #2 = $val
   14067             : /* 25696*/              OPC_MoveParent,
   14068             : /* 25697*/              OPC_Scope, 29, /*->25728*/ // 2 children in Scope
   14069             : /* 25699*/                OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   14070             : /* 25701*/                OPC_MoveParent,
   14071             : /* 25702*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14072             : /* 25704*/                OPC_EmitMergeInputChains1_0,
   14073             : /* 25705*/                OPC_EmitInteger, MVT::i32, 0, 
   14074             : /* 25708*/                OPC_EmitInteger, MVT::i32, 0, 
   14075             : /* 25711*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14076             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   14077             : /* 25718*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14078             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   14079             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 16
   14080             :                           // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   14081             : /* 25728*/              /*Scope*/ 29, /*->25758*/
   14082             : /* 25729*/                OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   14083             : /* 25731*/                OPC_MoveParent,
   14084             : /* 25732*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14085             : /* 25734*/                OPC_EmitMergeInputChains1_0,
   14086             : /* 25735*/                OPC_EmitInteger, MVT::i32, 0, 
   14087             : /* 25738*/                OPC_EmitInteger, MVT::i32, 0, 
   14088             : /* 25741*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14089             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   14090             : /* 25748*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14091             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   14092             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 16
   14093             :                           // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   14094             : /* 25758*/              0, /*End of Scope*/
   14095             : /* 25759*/            /*SwitchOpcode*/ 70, TARGET_VAL(ISD::TargetExternalSymbol),// ->25832
   14096             : /* 25762*/              OPC_MoveParent,
   14097             : /* 25763*/              OPC_MoveParent,
   14098             : /* 25764*/              OPC_MoveChild2,
   14099             : /* 25765*/              OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   14100             : /* 25768*/              OPC_RecordChild0, // #2 = $val
   14101             : /* 25769*/              OPC_MoveParent,
   14102             : /* 25770*/              OPC_Scope, 29, /*->25801*/ // 2 children in Scope
   14103             : /* 25772*/                OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   14104             : /* 25774*/                OPC_MoveParent,
   14105             : /* 25775*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14106             : /* 25777*/                OPC_EmitMergeInputChains1_0,
   14107             : /* 25778*/                OPC_EmitInteger, MVT::i32, 0, 
   14108             : /* 25781*/                OPC_EmitInteger, MVT::i32, 0, 
   14109             : /* 25784*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14110             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   14111             : /* 25791*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14112             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   14113             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 16
   14114             :                           // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   14115             : /* 25801*/              /*Scope*/ 29, /*->25831*/
   14116             : /* 25802*/                OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   14117             : /* 25804*/                OPC_MoveParent,
   14118             : /* 25805*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14119             : /* 25807*/                OPC_EmitMergeInputChains1_0,
   14120             : /* 25808*/                OPC_EmitInteger, MVT::i32, 0, 
   14121             : /* 25811*/                OPC_EmitInteger, MVT::i32, 0, 
   14122             : /* 25814*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14123             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   14124             : /* 25821*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14125             :                               MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   14126             :                           // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 16
   14127             :                           // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   14128             : /* 25831*/              0, /*End of Scope*/
   14129             : /* 25832*/            0, // EndSwitchOpcode
   14130             : /* 25833*/          0, // EndSwitchOpcode
   14131             : /* 25834*/        /*Scope*/ 10|128,1/*138*/, /*->25974*/
   14132             : /* 25836*/          OPC_RecordChild1, // #1 = $off
   14133             : /* 25837*/          OPC_Scope, 77, /*->25916*/ // 2 children in Scope
   14134             : /* 25839*/            OPC_MoveChild1,
   14135             : /* 25840*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   14136             : /* 25843*/            OPC_MoveParent,
   14137             : /* 25844*/            OPC_MoveChild2,
   14138             : /* 25845*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   14139             : /* 25848*/            OPC_RecordChild0, // #2 = $val
   14140             : /* 25849*/            OPC_MoveParent,
   14141             : /* 25850*/            OPC_Scope, 31, /*->25883*/ // 2 children in Scope
   14142             : /* 25852*/              OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   14143             : /* 25854*/              OPC_MoveParent,
   14144             : /* 25855*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14145             : /* 25857*/              OPC_EmitMergeInputChains1_0,
   14146             : /* 25858*/              OPC_EmitInteger, MVT::i32, 0, 
   14147             : /* 25861*/              OPC_EmitConvertToTarget, 1,
   14148             : /* 25863*/              OPC_EmitInteger, MVT::i32, 0, 
   14149             : /* 25866*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14150             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   14151             : /* 25873*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14152             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   14153             :                         // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 13
   14154             :                         // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   14155             : /* 25883*/            /*Scope*/ 31, /*->25915*/
   14156             : /* 25884*/              OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   14157             : /* 25886*/              OPC_MoveParent,
   14158             : /* 25887*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14159             : /* 25889*/              OPC_EmitMergeInputChains1_0,
   14160             : /* 25890*/              OPC_EmitInteger, MVT::i32, 0, 
   14161             : /* 25893*/              OPC_EmitConvertToTarget, 1,
   14162             : /* 25895*/              OPC_EmitInteger, MVT::i32, 0, 
   14163             : /* 25898*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14164             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   14165             : /* 25905*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14166             :                             MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   14167             :                         // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 13
   14168             :                         // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   14169             : /* 25915*/            0, /*End of Scope*/
   14170             : /* 25916*/          /*Scope*/ 56, /*->25973*/
   14171             : /* 25917*/            OPC_CheckChild1Type, MVT::i32,
   14172             : /* 25919*/            OPC_MoveChild2,
   14173             : /* 25920*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   14174             : /* 25923*/            OPC_RecordChild0, // #2 = $val
   14175             : /* 25924*/            OPC_MoveParent,
   14176             : /* 25925*/            OPC_Scope, 22, /*->25949*/ // 2 children in Scope
   14177             : /* 25927*/              OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   14178             : /* 25929*/              OPC_MoveParent,
   14179             : /* 25930*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14180             : /* 25932*/              OPC_EmitMergeInputChains1_0,
   14181             : /* 25933*/              OPC_EmitInteger, MVT::i32, 0, 
   14182             : /* 25936*/              OPC_EmitInteger, MVT::i32, 0, 
   14183             : /* 25939*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14184             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   14185             :                         // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_8>>) - Complexity = 10
   14186             :                         // Dst: (ATOMIC_RMW8_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   14187             : /* 25949*/            /*Scope*/ 22, /*->25972*/
   14188             : /* 25950*/              OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   14189             : /* 25952*/              OPC_MoveParent,
   14190             : /* 25953*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14191             : /* 25955*/              OPC_EmitMergeInputChains1_0,
   14192             : /* 25956*/              OPC_EmitInteger, MVT::i32, 0, 
   14193             : /* 25959*/              OPC_EmitInteger, MVT::i32, 0, 
   14194             : /* 25962*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14195             :                             MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   14196             :                         // Src: (anyext:{ *:[i64] } (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_swap_16>>) - Complexity = 10
   14197             :                         // Dst: (ATOMIC_RMW16_U_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   14198             : /* 25972*/            0, /*End of Scope*/
   14199             : /* 25973*/          0, /*End of Scope*/
   14200             : /* 25974*/        0, /*End of Scope*/
   14201             : /* 25975*/      /*SwitchOpcode*/ 108|128,4/*620*/, TARGET_VAL(ISD::ATOMIC_LOAD),// ->26599
   14202             : /* 25979*/        OPC_RecordMemRef,
   14203             : /* 25980*/        OPC_RecordNode, // #0 = 'atomic_load' chained node
   14204             : /* 25981*/        OPC_Scope, 107|128,3/*491*/, /*->26475*/ // 2 children in Scope
   14205             : /* 25984*/          OPC_MoveChild1,
   14206             : /* 25985*/          OPC_SwitchOpcode /*3 cases */, 31|128,2/*287*/, TARGET_VAL(ISD::ADD),// ->26277
   14207             : /* 25990*/            OPC_Scope, 57, /*->26049*/ // 5 children in Scope
   14208             : /* 25992*/              OPC_RecordChild0, // #1 = $addr
   14209             : /* 25993*/              OPC_MoveChild1,
   14210             : /* 25994*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14211             : /* 25997*/              OPC_RecordChild0, // #2 = $off
   14212             : /* 25998*/              OPC_MoveChild0,
   14213             : /* 25999*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   14214             : /* 26002*/              OPC_MoveParent,
   14215             : /* 26003*/              OPC_MoveParent,
   14216             : /* 26004*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   14217             : /* 26006*/              OPC_CheckType, MVT::i32,
   14218             : /* 26008*/              OPC_MoveParent,
   14219             : /* 26009*/              OPC_Scope, 18, /*->26029*/ // 2 children in Scope
   14220             : /* 26011*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   14221             : /* 26013*/                OPC_MoveParent,
   14222             : /* 26014*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14223             : /* 26016*/                OPC_EmitMergeInputChains1_0,
   14224             : /* 26017*/                OPC_EmitInteger, MVT::i32, 0, 
   14225             : /* 26020*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14226             :                               MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   14227             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>) - Complexity = 17
   14228             :                           // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14229             : /* 26029*/              /*Scope*/ 18, /*->26048*/
   14230             : /* 26030*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   14231             : /* 26032*/                OPC_MoveParent,
   14232             : /* 26033*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14233             : /* 26035*/                OPC_EmitMergeInputChains1_0,
   14234             : /* 26036*/                OPC_EmitInteger, MVT::i32, 0, 
   14235             : /* 26039*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14236             :                               MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   14237             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>) - Complexity = 17
   14238             :                           // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14239             : /* 26048*/              0, /*End of Scope*/
   14240             : /* 26049*/            /*Scope*/ 57, /*->26107*/
   14241             : /* 26050*/              OPC_MoveChild0,
   14242             : /* 26051*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14243             : /* 26054*/              OPC_RecordChild0, // #1 = $off
   14244             : /* 26055*/              OPC_MoveChild0,
   14245             : /* 26056*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   14246             : /* 26059*/              OPC_MoveParent,
   14247             : /* 26060*/              OPC_MoveParent,
   14248             : /* 26061*/              OPC_RecordChild1, // #2 = $addr
   14249             : /* 26062*/              OPC_CheckPredicate, 0, // Predicate_regPlusGA
   14250             : /* 26064*/              OPC_CheckType, MVT::i32,
   14251             : /* 26066*/              OPC_MoveParent,
   14252             : /* 26067*/              OPC_Scope, 18, /*->26087*/ // 2 children in Scope
   14253             : /* 26069*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   14254             : /* 26071*/                OPC_MoveParent,
   14255             : /* 26072*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14256             : /* 26074*/                OPC_EmitMergeInputChains1_0,
   14257             : /* 26075*/                OPC_EmitInteger, MVT::i32, 0, 
   14258             : /* 26078*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14259             :                               MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   14260             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>>) - Complexity = 17
   14261             :                           // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14262             : /* 26087*/              /*Scope*/ 18, /*->26106*/
   14263             : /* 26088*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   14264             : /* 26090*/                OPC_MoveParent,
   14265             : /* 26091*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14266             : /* 26093*/                OPC_EmitMergeInputChains1_0,
   14267             : /* 26094*/                OPC_EmitInteger, MVT::i32, 0, 
   14268             : /* 26097*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14269             :                               MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   14270             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>>) - Complexity = 17
   14271             :                           // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14272             : /* 26106*/              0, /*End of Scope*/
   14273             : /* 26107*/            /*Scope*/ 55, /*->26163*/
   14274             : /* 26108*/              OPC_RecordChild0, // #1 = $addr
   14275             : /* 26109*/              OPC_MoveChild1,
   14276             : /* 26110*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14277             : /* 26113*/              OPC_RecordChild0, // #2 = $off
   14278             : /* 26114*/              OPC_MoveChild0,
   14279             : /* 26115*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   14280             : /* 26118*/              OPC_MoveParent,
   14281             : /* 26119*/              OPC_MoveParent,
   14282             : /* 26120*/              OPC_CheckType, MVT::i32,
   14283             : /* 26122*/              OPC_MoveParent,
   14284             : /* 26123*/              OPC_Scope, 18, /*->26143*/ // 2 children in Scope
   14285             : /* 26125*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   14286             : /* 26127*/                OPC_MoveParent,
   14287             : /* 26128*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14288             : /* 26130*/                OPC_EmitMergeInputChains1_0,
   14289             : /* 26131*/                OPC_EmitInteger, MVT::i32, 0, 
   14290             : /* 26134*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14291             :                               MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   14292             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_8>>) - Complexity = 16
   14293             :                           // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14294             : /* 26143*/              /*Scope*/ 18, /*->26162*/
   14295             : /* 26144*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   14296             : /* 26146*/                OPC_MoveParent,
   14297             : /* 26147*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14298             : /* 26149*/                OPC_EmitMergeInputChains1_0,
   14299             : /* 26150*/                OPC_EmitInteger, MVT::i32, 0, 
   14300             : /* 26153*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14301             :                               MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   14302             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_16>>) - Complexity = 16
   14303             :                           // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14304             : /* 26162*/              0, /*End of Scope*/
   14305             : /* 26163*/            /*Scope*/ 55, /*->26219*/
   14306             : /* 26164*/              OPC_MoveChild0,
   14307             : /* 26165*/              OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14308             : /* 26168*/              OPC_RecordChild0, // #1 = $off
   14309             : /* 26169*/              OPC_MoveChild0,
   14310             : /* 26170*/              OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   14311             : /* 26173*/              OPC_MoveParent,
   14312             : /* 26174*/              OPC_MoveParent,
   14313             : /* 26175*/              OPC_RecordChild1, // #2 = $addr
   14314             : /* 26176*/              OPC_CheckType, MVT::i32,
   14315             : /* 26178*/              OPC_MoveParent,
   14316             : /* 26179*/              OPC_Scope, 18, /*->26199*/ // 2 children in Scope
   14317             : /* 26181*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   14318             : /* 26183*/                OPC_MoveParent,
   14319             : /* 26184*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14320             : /* 26186*/                OPC_EmitMergeInputChains1_0,
   14321             : /* 26187*/                OPC_EmitInteger, MVT::i32, 0, 
   14322             : /* 26190*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14323             :                               MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   14324             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_8>>) - Complexity = 16
   14325             :                           // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14326             : /* 26199*/              /*Scope*/ 18, /*->26218*/
   14327             : /* 26200*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   14328             : /* 26202*/                OPC_MoveParent,
   14329             : /* 26203*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14330             : /* 26205*/                OPC_EmitMergeInputChains1_0,
   14331             : /* 26206*/                OPC_EmitInteger, MVT::i32, 0, 
   14332             : /* 26209*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14333             :                               MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   14334             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_16>>) - Complexity = 16
   14335             :                           // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14336             : /* 26218*/              0, /*End of Scope*/
   14337             : /* 26219*/            /*Scope*/ 56, /*->26276*/
   14338             : /* 26220*/              OPC_RecordChild0, // #1 = $addr
   14339             : /* 26221*/              OPC_RecordChild1, // #2 = $off
   14340             : /* 26222*/              OPC_MoveChild1,
   14341             : /* 26223*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   14342             : /* 26226*/              OPC_MoveParent,
   14343             : /* 26227*/              OPC_CheckPredicate, 3, // Predicate_regPlusImm
   14344             : /* 26229*/              OPC_CheckType, MVT::i32,
   14345             : /* 26231*/              OPC_MoveParent,
   14346             : /* 26232*/              OPC_Scope, 20, /*->26254*/ // 2 children in Scope
   14347             : /* 26234*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   14348             : /* 26236*/                OPC_MoveParent,
   14349             : /* 26237*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14350             : /* 26239*/                OPC_EmitMergeInputChains1_0,
   14351             : /* 26240*/                OPC_EmitInteger, MVT::i32, 0, 
   14352             : /* 26243*/                OPC_EmitConvertToTarget, 2,
   14353             : /* 26245*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14354             :                               MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   14355             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>>) - Complexity = 14
   14356             :                           // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14357             : /* 26254*/              /*Scope*/ 20, /*->26275*/
   14358             : /* 26255*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   14359             : /* 26257*/                OPC_MoveParent,
   14360             : /* 26258*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14361             : /* 26260*/                OPC_EmitMergeInputChains1_0,
   14362             : /* 26261*/                OPC_EmitInteger, MVT::i32, 0, 
   14363             : /* 26264*/                OPC_EmitConvertToTarget, 2,
   14364             : /* 26266*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14365             :                               MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   14366             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>>) - Complexity = 14
   14367             :                           // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14368             : /* 26275*/              0, /*End of Scope*/
   14369             : /* 26276*/            0, /*End of Scope*/
   14370             : /* 26277*/          /*SwitchOpcode*/ 56, TARGET_VAL(ISD::OR),// ->26336
   14371             : /* 26280*/            OPC_RecordChild0, // #1 = $addr
   14372             : /* 26281*/            OPC_RecordChild1, // #2 = $off
   14373             : /* 26282*/            OPC_MoveChild1,
   14374             : /* 26283*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   14375             : /* 26286*/            OPC_MoveParent,
   14376             : /* 26287*/            OPC_CheckPredicate, 4, // Predicate_or_is_add
   14377             : /* 26289*/            OPC_CheckType, MVT::i32,
   14378             : /* 26291*/            OPC_MoveParent,
   14379             : /* 26292*/            OPC_Scope, 20, /*->26314*/ // 2 children in Scope
   14380             : /* 26294*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   14381             : /* 26296*/              OPC_MoveParent,
   14382             : /* 26297*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14383             : /* 26299*/              OPC_EmitMergeInputChains1_0,
   14384             : /* 26300*/              OPC_EmitInteger, MVT::i32, 0, 
   14385             : /* 26303*/              OPC_EmitConvertToTarget, 2,
   14386             : /* 26305*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14387             :                             MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   14388             :                         // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>>) - Complexity = 14
   14389             :                         // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14390             : /* 26314*/            /*Scope*/ 20, /*->26335*/
   14391             : /* 26315*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   14392             : /* 26317*/              OPC_MoveParent,
   14393             : /* 26318*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14394             : /* 26320*/              OPC_EmitMergeInputChains1_0,
   14395             : /* 26321*/              OPC_EmitInteger, MVT::i32, 0, 
   14396             : /* 26324*/              OPC_EmitConvertToTarget, 2,
   14397             : /* 26326*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14398             :                             MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   14399             :                         // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>>) - Complexity = 14
   14400             :                         // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   14401             : /* 26335*/            0, /*End of Scope*/
   14402             : /* 26336*/          /*SwitchOpcode*/ 6|128,1/*134*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->26474
   14403             : /* 26340*/            OPC_RecordChild0, // #1 = $off
   14404             : /* 26341*/            OPC_MoveChild0,
   14405             : /* 26342*/            OPC_SwitchOpcode /*2 cases */, 62, TARGET_VAL(ISD::TargetGlobalAddress),// ->26408
   14406             : /* 26346*/              OPC_MoveParent,
   14407             : /* 26347*/              OPC_MoveParent,
   14408             : /* 26348*/              OPC_Scope, 28, /*->26378*/ // 2 children in Scope
   14409             : /* 26350*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   14410             : /* 26352*/                OPC_MoveParent,
   14411             : /* 26353*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14412             : /* 26355*/                OPC_EmitMergeInputChains1_0,
   14413             : /* 26356*/                OPC_EmitInteger, MVT::i32, 0, 
   14414             : /* 26359*/                OPC_EmitInteger, MVT::i32, 0, 
   14415             : /* 26362*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14416             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   14417             : /* 26369*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14418             :                               MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   14419             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>) - Complexity = 13
   14420             :                           // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   14421             : /* 26378*/              /*Scope*/ 28, /*->26407*/
   14422             : /* 26379*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   14423             : /* 26381*/                OPC_MoveParent,
   14424             : /* 26382*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14425             : /* 26384*/                OPC_EmitMergeInputChains1_0,
   14426             : /* 26385*/                OPC_EmitInteger, MVT::i32, 0, 
   14427             : /* 26388*/                OPC_EmitInteger, MVT::i32, 0, 
   14428             : /* 26391*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14429             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   14430             : /* 26398*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14431             :                               MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   14432             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>) - Complexity = 13
   14433             :                           // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   14434             : /* 26407*/              0, /*End of Scope*/
   14435             : /* 26408*/            /*SwitchOpcode*/ 62, TARGET_VAL(ISD::TargetExternalSymbol),// ->26473
   14436             : /* 26411*/              OPC_MoveParent,
   14437             : /* 26412*/              OPC_MoveParent,
   14438             : /* 26413*/              OPC_Scope, 28, /*->26443*/ // 2 children in Scope
   14439             : /* 26415*/                OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   14440             : /* 26417*/                OPC_MoveParent,
   14441             : /* 26418*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14442             : /* 26420*/                OPC_EmitMergeInputChains1_0,
   14443             : /* 26421*/                OPC_EmitInteger, MVT::i32, 0, 
   14444             : /* 26424*/                OPC_EmitInteger, MVT::i32, 0, 
   14445             : /* 26427*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14446             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   14447             : /* 26434*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14448             :                               MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   14449             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>>) - Complexity = 13
   14450             :                           // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   14451             : /* 26443*/              /*Scope*/ 28, /*->26472*/
   14452             : /* 26444*/                OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   14453             : /* 26446*/                OPC_MoveParent,
   14454             : /* 26447*/                OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14455             : /* 26449*/                OPC_EmitMergeInputChains1_0,
   14456             : /* 26450*/                OPC_EmitInteger, MVT::i32, 0, 
   14457             : /* 26453*/                OPC_EmitInteger, MVT::i32, 0, 
   14458             : /* 26456*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14459             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   14460             : /* 26463*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14461             :                               MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   14462             :                           // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>>) - Complexity = 13
   14463             :                           // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   14464             : /* 26472*/              0, /*End of Scope*/
   14465             : /* 26473*/            0, // EndSwitchOpcode
   14466             : /* 26474*/          0, // EndSwitchOpcode
   14467             : /* 26475*/        /*Scope*/ 122, /*->26598*/
   14468             : /* 26476*/          OPC_RecordChild1, // #1 = $off
   14469             : /* 26477*/          OPC_Scope, 69, /*->26548*/ // 2 children in Scope
   14470             : /* 26479*/            OPC_MoveChild1,
   14471             : /* 26480*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   14472             : /* 26483*/            OPC_MoveParent,
   14473             : /* 26484*/            OPC_Scope, 30, /*->26516*/ // 2 children in Scope
   14474             : /* 26486*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   14475             : /* 26488*/              OPC_MoveParent,
   14476             : /* 26489*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14477             : /* 26491*/              OPC_EmitMergeInputChains1_0,
   14478             : /* 26492*/              OPC_EmitInteger, MVT::i32, 0, 
   14479             : /* 26495*/              OPC_EmitConvertToTarget, 1,
   14480             : /* 26497*/              OPC_EmitInteger, MVT::i32, 0, 
   14481             : /* 26500*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14482             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   14483             : /* 26507*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14484             :                             MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   14485             :                         // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>>) - Complexity = 10
   14486             :                         // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   14487             : /* 26516*/            /*Scope*/ 30, /*->26547*/
   14488             : /* 26517*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   14489             : /* 26519*/              OPC_MoveParent,
   14490             : /* 26520*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14491             : /* 26522*/              OPC_EmitMergeInputChains1_0,
   14492             : /* 26523*/              OPC_EmitInteger, MVT::i32, 0, 
   14493             : /* 26526*/              OPC_EmitConvertToTarget, 1,
   14494             : /* 26528*/              OPC_EmitInteger, MVT::i32, 0, 
   14495             : /* 26531*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14496             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   14497             : /* 26538*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14498             :                             MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   14499             :                         // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>>) - Complexity = 10
   14500             :                         // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   14501             : /* 26547*/            0, /*End of Scope*/
   14502             : /* 26548*/          /*Scope*/ 48, /*->26597*/
   14503             : /* 26549*/            OPC_CheckChild1Type, MVT::i32,
   14504             : /* 26551*/            OPC_Scope, 21, /*->26574*/ // 2 children in Scope
   14505             : /* 26553*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   14506             : /* 26555*/              OPC_MoveParent,
   14507             : /* 26556*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14508             : /* 26558*/              OPC_EmitMergeInputChains1_0,
   14509             : /* 26559*/              OPC_EmitInteger, MVT::i32, 0, 
   14510             : /* 26562*/              OPC_EmitInteger, MVT::i32, 0, 
   14511             : /* 26565*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14512             :                             MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   14513             :                         // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>>) - Complexity = 7
   14514             :                         // Dst: (ATOMIC_LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   14515             : /* 26574*/            /*Scope*/ 21, /*->26596*/
   14516             : /* 26575*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   14517             : /* 26577*/              OPC_MoveParent,
   14518             : /* 26578*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14519             : /* 26580*/              OPC_EmitMergeInputChains1_0,
   14520             : /* 26581*/              OPC_EmitInteger, MVT::i32, 0, 
   14521             : /* 26584*/              OPC_EmitInteger, MVT::i32, 0, 
   14522             : /* 26587*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14523             :                             MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   14524             :                         // Src: (anyext:{ *:[i64] } (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>>) - Complexity = 7
   14525             :                         // Dst: (ATOMIC_LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   14526             : /* 26596*/            0, /*End of Scope*/
   14527             : /* 26597*/          0, /*End of Scope*/
   14528             : /* 26598*/        0, /*End of Scope*/
   14529             : /* 26599*/      0, // EndSwitchOpcode
   14530             : /* 26600*/    /*Scope*/ 8, /*->26609*/
   14531             : /* 26601*/      OPC_RecordChild0, // #0 = $src
   14532             : /* 26602*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND_U_I32), 0,
   14533             :                     MVT::i64, 1/*#Ops*/, 0, 
   14534             :                 // Src: (anyext:{ *:[i64] } I32:{ *:[i32] }:$src) - Complexity = 3
   14535             :                 // Dst: (I64_EXTEND_U_I32:{ *:[i64] } I32:{ *:[i32] }:$src)
   14536             : /* 26609*/    0, /*End of Scope*/
   14537             : /* 26610*/  /*SwitchOpcode*/ 26|128,10/*1306*/, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),// ->27920
   14538             : /* 26614*/    OPC_Scope, 1|128,7/*897*/, /*->27514*/ // 5 children in Scope
   14539             : /* 26617*/      OPC_RecordMemRef,
   14540             : /* 26618*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
   14541             : /* 26619*/      OPC_Scope, 29|128,2/*285*/, /*->26907*/ // 3 children in Scope
   14542             : /* 26622*/        OPC_CheckChild1Integer, 50|128,42/*5426*/, 
   14543             : /* 26625*/        OPC_MoveChild2,
   14544             : /* 26626*/        OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->26801
   14545             : /* 26631*/          OPC_Scope, 34, /*->26667*/ // 5 children in Scope
   14546             : /* 26633*/            OPC_RecordChild0, // #1 = $addr
   14547             : /* 26634*/            OPC_MoveChild1,
   14548             : /* 26635*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14549             : /* 26638*/            OPC_RecordChild0, // #2 = $off
   14550             : /* 26639*/            OPC_MoveChild0,
   14551             : /* 26640*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   14552             : /* 26643*/            OPC_MoveParent,
   14553             : /* 26644*/            OPC_MoveParent,
   14554             : /* 26645*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   14555             : /* 26647*/            OPC_CheckType, MVT::i32,
   14556             : /* 26649*/            OPC_MoveParent,
   14557             : /* 26650*/            OPC_RecordChild3, // #3 = $count
   14558             : /* 26651*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14559             : /* 26653*/            OPC_EmitMergeInputChains1_0,
   14560             : /* 26654*/            OPC_EmitInteger, MVT::i32, 0, 
   14561             : /* 26657*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
   14562             :                           MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   14563             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, I32:{ *:[i32] }:$count) - Complexity = 18
   14564             :                       // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
   14565             : /* 26667*/          /*Scope*/ 34, /*->26702*/
   14566             : /* 26668*/            OPC_MoveChild0,
   14567             : /* 26669*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14568             : /* 26672*/            OPC_RecordChild0, // #1 = $off
   14569             : /* 26673*/            OPC_MoveChild0,
   14570             : /* 26674*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   14571             : /* 26677*/            OPC_MoveParent,
   14572             : /* 26678*/            OPC_MoveParent,
   14573             : /* 26679*/            OPC_RecordChild1, // #2 = $addr
   14574             : /* 26680*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   14575             : /* 26682*/            OPC_CheckType, MVT::i32,
   14576             : /* 26684*/            OPC_MoveParent,
   14577             : /* 26685*/            OPC_RecordChild3, // #3 = $count
   14578             : /* 26686*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14579             : /* 26688*/            OPC_EmitMergeInputChains1_0,
   14580             : /* 26689*/            OPC_EmitInteger, MVT::i32, 0, 
   14581             : /* 26692*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
   14582             :                           MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   14583             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, I32:{ *:[i32] }:$count) - Complexity = 18
   14584             :                       // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
   14585             : /* 26702*/          /*Scope*/ 32, /*->26735*/
   14586             : /* 26703*/            OPC_RecordChild0, // #1 = $addr
   14587             : /* 26704*/            OPC_MoveChild1,
   14588             : /* 26705*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14589             : /* 26708*/            OPC_RecordChild0, // #2 = $off
   14590             : /* 26709*/            OPC_MoveChild0,
   14591             : /* 26710*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   14592             : /* 26713*/            OPC_MoveParent,
   14593             : /* 26714*/            OPC_MoveParent,
   14594             : /* 26715*/            OPC_CheckType, MVT::i32,
   14595             : /* 26717*/            OPC_MoveParent,
   14596             : /* 26718*/            OPC_RecordChild3, // #3 = $count
   14597             : /* 26719*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14598             : /* 26721*/            OPC_EmitMergeInputChains1_0,
   14599             : /* 26722*/            OPC_EmitInteger, MVT::i32, 0, 
   14600             : /* 26725*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
   14601             :                           MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   14602             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), I32:{ *:[i32] }:$count) - Complexity = 17
   14603             :                       // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
   14604             : /* 26735*/          /*Scope*/ 32, /*->26768*/
   14605             : /* 26736*/            OPC_MoveChild0,
   14606             : /* 26737*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14607             : /* 26740*/            OPC_RecordChild0, // #1 = $off
   14608             : /* 26741*/            OPC_MoveChild0,
   14609             : /* 26742*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   14610             : /* 26745*/            OPC_MoveParent,
   14611             : /* 26746*/            OPC_MoveParent,
   14612             : /* 26747*/            OPC_RecordChild1, // #2 = $addr
   14613             : /* 26748*/            OPC_CheckType, MVT::i32,
   14614             : /* 26750*/            OPC_MoveParent,
   14615             : /* 26751*/            OPC_RecordChild3, // #3 = $count
   14616             : /* 26752*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14617             : /* 26754*/            OPC_EmitMergeInputChains1_0,
   14618             : /* 26755*/            OPC_EmitInteger, MVT::i32, 0, 
   14619             : /* 26758*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
   14620             :                           MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   14621             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), I32:{ *:[i32] }:$count) - Complexity = 17
   14622             :                       // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
   14623             : /* 26768*/          /*Scope*/ 31, /*->26800*/
   14624             : /* 26769*/            OPC_RecordChild0, // #1 = $addr
   14625             : /* 26770*/            OPC_RecordChild1, // #2 = $off
   14626             : /* 26771*/            OPC_MoveChild1,
   14627             : /* 26772*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   14628             : /* 26775*/            OPC_MoveParent,
   14629             : /* 26776*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   14630             : /* 26778*/            OPC_CheckType, MVT::i32,
   14631             : /* 26780*/            OPC_MoveParent,
   14632             : /* 26781*/            OPC_RecordChild3, // #3 = $count
   14633             : /* 26782*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14634             : /* 26784*/            OPC_EmitMergeInputChains1_0,
   14635             : /* 26785*/            OPC_EmitInteger, MVT::i32, 0, 
   14636             : /* 26788*/            OPC_EmitConvertToTarget, 2,
   14637             : /* 26790*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
   14638             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   14639             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, I32:{ *:[i32] }:$count) - Complexity = 15
   14640             :                       // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
   14641             : /* 26800*/          0, /*End of Scope*/
   14642             : /* 26801*/        /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->26835
   14643             : /* 26804*/          OPC_RecordChild0, // #1 = $addr
   14644             : /* 26805*/          OPC_RecordChild1, // #2 = $off
   14645             : /* 26806*/          OPC_MoveChild1,
   14646             : /* 26807*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   14647             : /* 26810*/          OPC_MoveParent,
   14648             : /* 26811*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   14649             : /* 26813*/          OPC_CheckType, MVT::i32,
   14650             : /* 26815*/          OPC_MoveParent,
   14651             : /* 26816*/          OPC_RecordChild3, // #3 = $count
   14652             : /* 26817*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14653             : /* 26819*/          OPC_EmitMergeInputChains1_0,
   14654             : /* 26820*/          OPC_EmitInteger, MVT::i32, 0, 
   14655             : /* 26823*/          OPC_EmitConvertToTarget, 2,
   14656             : /* 26825*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
   14657             :                         MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   14658             :                     // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, I32:{ *:[i32] }:$count) - Complexity = 15
   14659             :                     // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
   14660             : /* 26835*/        /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->26906
   14661             : /* 26838*/          OPC_RecordChild0, // #1 = $off
   14662             : /* 26839*/          OPC_MoveChild0,
   14663             : /* 26840*/          OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->26873
   14664             : /* 26844*/            OPC_MoveParent,
   14665             : /* 26845*/            OPC_MoveParent,
   14666             : /* 26846*/            OPC_RecordChild3, // #2 = $count
   14667             : /* 26847*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14668             : /* 26849*/            OPC_EmitMergeInputChains1_0,
   14669             : /* 26850*/            OPC_EmitInteger, MVT::i32, 0, 
   14670             : /* 26853*/            OPC_EmitInteger, MVT::i32, 0, 
   14671             : /* 26856*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14672             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   14673             : /* 26863*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
   14674             :                           MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   14675             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), I32:{ *:[i32] }:$count) - Complexity = 14
   14676             :                       // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), I32:{ *:[i32] }:$count)
   14677             : /* 26873*/          /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->26905
   14678             : /* 26876*/            OPC_MoveParent,
   14679             : /* 26877*/            OPC_MoveParent,
   14680             : /* 26878*/            OPC_RecordChild3, // #2 = $count
   14681             : /* 26879*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14682             : /* 26881*/            OPC_EmitMergeInputChains1_0,
   14683             : /* 26882*/            OPC_EmitInteger, MVT::i32, 0, 
   14684             : /* 26885*/            OPC_EmitInteger, MVT::i32, 0, 
   14685             : /* 26888*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14686             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   14687             : /* 26895*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
   14688             :                           MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   14689             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), I32:{ *:[i32] }:$count) - Complexity = 14
   14690             :                       // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), I32:{ *:[i32] }:$count)
   14691             : /* 26905*/          0, // EndSwitchOpcode
   14692             : /* 26906*/        0, // EndSwitchOpcode
   14693             : /* 26907*/      /*Scope*/ 45|128,2/*301*/, /*->27210*/
   14694             : /* 26909*/        OPC_CheckChild1Integer, 51|128,42/*5427*/, 
   14695             : /* 26912*/        OPC_MoveChild2,
   14696             : /* 26913*/        OPC_SwitchOpcode /*3 cases */, 52|128,1/*180*/, TARGET_VAL(ISD::ADD),// ->27098
   14697             : /* 26918*/          OPC_Scope, 36, /*->26956*/ // 5 children in Scope
   14698             : /* 26920*/            OPC_RecordChild0, // #1 = $addr
   14699             : /* 26921*/            OPC_MoveChild1,
   14700             : /* 26922*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14701             : /* 26925*/            OPC_RecordChild0, // #2 = $off
   14702             : /* 26926*/            OPC_MoveChild0,
   14703             : /* 26927*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   14704             : /* 26930*/            OPC_MoveParent,
   14705             : /* 26931*/            OPC_MoveParent,
   14706             : /* 26932*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   14707             : /* 26934*/            OPC_CheckType, MVT::i32,
   14708             : /* 26936*/            OPC_MoveParent,
   14709             : /* 26937*/            OPC_RecordChild3, // #3 = $exp
   14710             : /* 26938*/            OPC_RecordChild4, // #4 = $timeout
   14711             : /* 26939*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14712             : /* 26941*/            OPC_EmitMergeInputChains1_0,
   14713             : /* 26942*/            OPC_EmitInteger, MVT::i32, 0, 
   14714             : /* 26945*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
   14715             :                           MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   14716             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 18
   14717             :                       // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
   14718             : /* 26956*/          /*Scope*/ 36, /*->26993*/
   14719             : /* 26957*/            OPC_MoveChild0,
   14720             : /* 26958*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14721             : /* 26961*/            OPC_RecordChild0, // #1 = $off
   14722             : /* 26962*/            OPC_MoveChild0,
   14723             : /* 26963*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   14724             : /* 26966*/            OPC_MoveParent,
   14725             : /* 26967*/            OPC_MoveParent,
   14726             : /* 26968*/            OPC_RecordChild1, // #2 = $addr
   14727             : /* 26969*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   14728             : /* 26971*/            OPC_CheckType, MVT::i32,
   14729             : /* 26973*/            OPC_MoveParent,
   14730             : /* 26974*/            OPC_RecordChild3, // #3 = $exp
   14731             : /* 26975*/            OPC_RecordChild4, // #4 = $timeout
   14732             : /* 26976*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14733             : /* 26978*/            OPC_EmitMergeInputChains1_0,
   14734             : /* 26979*/            OPC_EmitInteger, MVT::i32, 0, 
   14735             : /* 26982*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
   14736             :                           MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   14737             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 18
   14738             :                       // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
   14739             : /* 26993*/          /*Scope*/ 34, /*->27028*/
   14740             : /* 26994*/            OPC_RecordChild0, // #1 = $addr
   14741             : /* 26995*/            OPC_MoveChild1,
   14742             : /* 26996*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14743             : /* 26999*/            OPC_RecordChild0, // #2 = $off
   14744             : /* 27000*/            OPC_MoveChild0,
   14745             : /* 27001*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   14746             : /* 27004*/            OPC_MoveParent,
   14747             : /* 27005*/            OPC_MoveParent,
   14748             : /* 27006*/            OPC_CheckType, MVT::i32,
   14749             : /* 27008*/            OPC_MoveParent,
   14750             : /* 27009*/            OPC_RecordChild3, // #3 = $exp
   14751             : /* 27010*/            OPC_RecordChild4, // #4 = $timeout
   14752             : /* 27011*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14753             : /* 27013*/            OPC_EmitMergeInputChains1_0,
   14754             : /* 27014*/            OPC_EmitInteger, MVT::i32, 0, 
   14755             : /* 27017*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
   14756             :                           MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   14757             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 17
   14758             :                       // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
   14759             : /* 27028*/          /*Scope*/ 34, /*->27063*/
   14760             : /* 27029*/            OPC_MoveChild0,
   14761             : /* 27030*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14762             : /* 27033*/            OPC_RecordChild0, // #1 = $off
   14763             : /* 27034*/            OPC_MoveChild0,
   14764             : /* 27035*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   14765             : /* 27038*/            OPC_MoveParent,
   14766             : /* 27039*/            OPC_MoveParent,
   14767             : /* 27040*/            OPC_RecordChild1, // #2 = $addr
   14768             : /* 27041*/            OPC_CheckType, MVT::i32,
   14769             : /* 27043*/            OPC_MoveParent,
   14770             : /* 27044*/            OPC_RecordChild3, // #3 = $exp
   14771             : /* 27045*/            OPC_RecordChild4, // #4 = $timeout
   14772             : /* 27046*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14773             : /* 27048*/            OPC_EmitMergeInputChains1_0,
   14774             : /* 27049*/            OPC_EmitInteger, MVT::i32, 0, 
   14775             : /* 27052*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
   14776             :                           MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   14777             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 17
   14778             :                       // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
   14779             : /* 27063*/          /*Scope*/ 33, /*->27097*/
   14780             : /* 27064*/            OPC_RecordChild0, // #1 = $addr
   14781             : /* 27065*/            OPC_RecordChild1, // #2 = $off
   14782             : /* 27066*/            OPC_MoveChild1,
   14783             : /* 27067*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   14784             : /* 27070*/            OPC_MoveParent,
   14785             : /* 27071*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   14786             : /* 27073*/            OPC_CheckType, MVT::i32,
   14787             : /* 27075*/            OPC_MoveParent,
   14788             : /* 27076*/            OPC_RecordChild3, // #3 = $exp
   14789             : /* 27077*/            OPC_RecordChild4, // #4 = $timeout
   14790             : /* 27078*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14791             : /* 27080*/            OPC_EmitMergeInputChains1_0,
   14792             : /* 27081*/            OPC_EmitInteger, MVT::i32, 0, 
   14793             : /* 27084*/            OPC_EmitConvertToTarget, 2,
   14794             : /* 27086*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
   14795             :                           MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   14796             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
   14797             :                       // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
   14798             : /* 27097*/          0, /*End of Scope*/
   14799             : /* 27098*/        /*SwitchOpcode*/ 33, TARGET_VAL(ISD::OR),// ->27134
   14800             : /* 27101*/          OPC_RecordChild0, // #1 = $addr
   14801             : /* 27102*/          OPC_RecordChild1, // #2 = $off
   14802             : /* 27103*/          OPC_MoveChild1,
   14803             : /* 27104*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   14804             : /* 27107*/          OPC_MoveParent,
   14805             : /* 27108*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   14806             : /* 27110*/          OPC_CheckType, MVT::i32,
   14807             : /* 27112*/          OPC_MoveParent,
   14808             : /* 27113*/          OPC_RecordChild3, // #3 = $exp
   14809             : /* 27114*/          OPC_RecordChild4, // #4 = $timeout
   14810             : /* 27115*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14811             : /* 27117*/          OPC_EmitMergeInputChains1_0,
   14812             : /* 27118*/          OPC_EmitInteger, MVT::i32, 0, 
   14813             : /* 27121*/          OPC_EmitConvertToTarget, 2,
   14814             : /* 27123*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
   14815             :                         MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   14816             :                     // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
   14817             :                     // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
   14818             : /* 27134*/        /*SwitchOpcode*/ 72, TARGET_VAL(WebAssemblyISD::Wrapper),// ->27209
   14819             : /* 27137*/          OPC_RecordChild0, // #1 = $off
   14820             : /* 27138*/          OPC_MoveChild0,
   14821             : /* 27139*/          OPC_SwitchOpcode /*2 cases */, 31, TARGET_VAL(ISD::TargetGlobalAddress),// ->27174
   14822             : /* 27143*/            OPC_MoveParent,
   14823             : /* 27144*/            OPC_MoveParent,
   14824             : /* 27145*/            OPC_RecordChild3, // #2 = $exp
   14825             : /* 27146*/            OPC_RecordChild4, // #3 = $timeout
   14826             : /* 27147*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14827             : /* 27149*/            OPC_EmitMergeInputChains1_0,
   14828             : /* 27150*/            OPC_EmitInteger, MVT::i32, 0, 
   14829             : /* 27153*/            OPC_EmitInteger, MVT::i32, 0, 
   14830             : /* 27156*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14831             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   14832             : /* 27163*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
   14833             :                           MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   14834             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
   14835             :                       // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
   14836             : /* 27174*/          /*SwitchOpcode*/ 31, TARGET_VAL(ISD::TargetExternalSymbol),// ->27208
   14837             : /* 27177*/            OPC_MoveParent,
   14838             : /* 27178*/            OPC_MoveParent,
   14839             : /* 27179*/            OPC_RecordChild3, // #2 = $exp
   14840             : /* 27180*/            OPC_RecordChild4, // #3 = $timeout
   14841             : /* 27181*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14842             : /* 27183*/            OPC_EmitMergeInputChains1_0,
   14843             : /* 27184*/            OPC_EmitInteger, MVT::i32, 0, 
   14844             : /* 27187*/            OPC_EmitInteger, MVT::i32, 0, 
   14845             : /* 27190*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14846             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   14847             : /* 27197*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
   14848             :                           MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   14849             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
   14850             :                       // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
   14851             : /* 27208*/          0, // EndSwitchOpcode
   14852             : /* 27209*/        0, // EndSwitchOpcode
   14853             : /* 27210*/      /*Scope*/ 45|128,2/*301*/, /*->27513*/
   14854             : /* 27212*/        OPC_CheckChild1Integer, 52|128,42/*5428*/, 
   14855             : /* 27215*/        OPC_MoveChild2,
   14856             : /* 27216*/        OPC_SwitchOpcode /*3 cases */, 52|128,1/*180*/, TARGET_VAL(ISD::ADD),// ->27401
   14857             : /* 27221*/          OPC_Scope, 36, /*->27259*/ // 5 children in Scope
   14858             : /* 27223*/            OPC_RecordChild0, // #1 = $addr
   14859             : /* 27224*/            OPC_MoveChild1,
   14860             : /* 27225*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14861             : /* 27228*/            OPC_RecordChild0, // #2 = $off
   14862             : /* 27229*/            OPC_MoveChild0,
   14863             : /* 27230*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   14864             : /* 27233*/            OPC_MoveParent,
   14865             : /* 27234*/            OPC_MoveParent,
   14866             : /* 27235*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   14867             : /* 27237*/            OPC_CheckType, MVT::i32,
   14868             : /* 27239*/            OPC_MoveParent,
   14869             : /* 27240*/            OPC_RecordChild3, // #3 = $exp
   14870             : /* 27241*/            OPC_RecordChild4, // #4 = $timeout
   14871             : /* 27242*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14872             : /* 27244*/            OPC_EmitMergeInputChains1_0,
   14873             : /* 27245*/            OPC_EmitInteger, MVT::i32, 0, 
   14874             : /* 27248*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14875             :                           MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   14876             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 18
   14877             :                       // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
   14878             : /* 27259*/          /*Scope*/ 36, /*->27296*/
   14879             : /* 27260*/            OPC_MoveChild0,
   14880             : /* 27261*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14881             : /* 27264*/            OPC_RecordChild0, // #1 = $off
   14882             : /* 27265*/            OPC_MoveChild0,
   14883             : /* 27266*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   14884             : /* 27269*/            OPC_MoveParent,
   14885             : /* 27270*/            OPC_MoveParent,
   14886             : /* 27271*/            OPC_RecordChild1, // #2 = $addr
   14887             : /* 27272*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   14888             : /* 27274*/            OPC_CheckType, MVT::i32,
   14889             : /* 27276*/            OPC_MoveParent,
   14890             : /* 27277*/            OPC_RecordChild3, // #3 = $exp
   14891             : /* 27278*/            OPC_RecordChild4, // #4 = $timeout
   14892             : /* 27279*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14893             : /* 27281*/            OPC_EmitMergeInputChains1_0,
   14894             : /* 27282*/            OPC_EmitInteger, MVT::i32, 0, 
   14895             : /* 27285*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14896             :                           MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   14897             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 18
   14898             :                       // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
   14899             : /* 27296*/          /*Scope*/ 34, /*->27331*/
   14900             : /* 27297*/            OPC_RecordChild0, // #1 = $addr
   14901             : /* 27298*/            OPC_MoveChild1,
   14902             : /* 27299*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14903             : /* 27302*/            OPC_RecordChild0, // #2 = $off
   14904             : /* 27303*/            OPC_MoveChild0,
   14905             : /* 27304*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   14906             : /* 27307*/            OPC_MoveParent,
   14907             : /* 27308*/            OPC_MoveParent,
   14908             : /* 27309*/            OPC_CheckType, MVT::i32,
   14909             : /* 27311*/            OPC_MoveParent,
   14910             : /* 27312*/            OPC_RecordChild3, // #3 = $exp
   14911             : /* 27313*/            OPC_RecordChild4, // #4 = $timeout
   14912             : /* 27314*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14913             : /* 27316*/            OPC_EmitMergeInputChains1_0,
   14914             : /* 27317*/            OPC_EmitInteger, MVT::i32, 0, 
   14915             : /* 27320*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14916             :                           MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   14917             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 17
   14918             :                       // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
   14919             : /* 27331*/          /*Scope*/ 34, /*->27366*/
   14920             : /* 27332*/            OPC_MoveChild0,
   14921             : /* 27333*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   14922             : /* 27336*/            OPC_RecordChild0, // #1 = $off
   14923             : /* 27337*/            OPC_MoveChild0,
   14924             : /* 27338*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   14925             : /* 27341*/            OPC_MoveParent,
   14926             : /* 27342*/            OPC_MoveParent,
   14927             : /* 27343*/            OPC_RecordChild1, // #2 = $addr
   14928             : /* 27344*/            OPC_CheckType, MVT::i32,
   14929             : /* 27346*/            OPC_MoveParent,
   14930             : /* 27347*/            OPC_RecordChild3, // #3 = $exp
   14931             : /* 27348*/            OPC_RecordChild4, // #4 = $timeout
   14932             : /* 27349*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14933             : /* 27351*/            OPC_EmitMergeInputChains1_0,
   14934             : /* 27352*/            OPC_EmitInteger, MVT::i32, 0, 
   14935             : /* 27355*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14936             :                           MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   14937             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 17
   14938             :                       // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
   14939             : /* 27366*/          /*Scope*/ 33, /*->27400*/
   14940             : /* 27367*/            OPC_RecordChild0, // #1 = $addr
   14941             : /* 27368*/            OPC_RecordChild1, // #2 = $off
   14942             : /* 27369*/            OPC_MoveChild1,
   14943             : /* 27370*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   14944             : /* 27373*/            OPC_MoveParent,
   14945             : /* 27374*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   14946             : /* 27376*/            OPC_CheckType, MVT::i32,
   14947             : /* 27378*/            OPC_MoveParent,
   14948             : /* 27379*/            OPC_RecordChild3, // #3 = $exp
   14949             : /* 27380*/            OPC_RecordChild4, // #4 = $timeout
   14950             : /* 27381*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14951             : /* 27383*/            OPC_EmitMergeInputChains1_0,
   14952             : /* 27384*/            OPC_EmitInteger, MVT::i32, 0, 
   14953             : /* 27387*/            OPC_EmitConvertToTarget, 2,
   14954             : /* 27389*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14955             :                           MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   14956             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
   14957             :                       // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
   14958             : /* 27400*/          0, /*End of Scope*/
   14959             : /* 27401*/        /*SwitchOpcode*/ 33, TARGET_VAL(ISD::OR),// ->27437
   14960             : /* 27404*/          OPC_RecordChild0, // #1 = $addr
   14961             : /* 27405*/          OPC_RecordChild1, // #2 = $off
   14962             : /* 27406*/          OPC_MoveChild1,
   14963             : /* 27407*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   14964             : /* 27410*/          OPC_MoveParent,
   14965             : /* 27411*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   14966             : /* 27413*/          OPC_CheckType, MVT::i32,
   14967             : /* 27415*/          OPC_MoveParent,
   14968             : /* 27416*/          OPC_RecordChild3, // #3 = $exp
   14969             : /* 27417*/          OPC_RecordChild4, // #4 = $timeout
   14970             : /* 27418*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14971             : /* 27420*/          OPC_EmitMergeInputChains1_0,
   14972             : /* 27421*/          OPC_EmitInteger, MVT::i32, 0, 
   14973             : /* 27424*/          OPC_EmitConvertToTarget, 2,
   14974             : /* 27426*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14975             :                         MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   14976             :                     // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 15
   14977             :                     // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
   14978             : /* 27437*/        /*SwitchOpcode*/ 72, TARGET_VAL(WebAssemblyISD::Wrapper),// ->27512
   14979             : /* 27440*/          OPC_RecordChild0, // #1 = $off
   14980             : /* 27441*/          OPC_MoveChild0,
   14981             : /* 27442*/          OPC_SwitchOpcode /*2 cases */, 31, TARGET_VAL(ISD::TargetGlobalAddress),// ->27477
   14982             : /* 27446*/            OPC_MoveParent,
   14983             : /* 27447*/            OPC_MoveParent,
   14984             : /* 27448*/            OPC_RecordChild3, // #2 = $exp
   14985             : /* 27449*/            OPC_RecordChild4, // #3 = $timeout
   14986             : /* 27450*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   14987             : /* 27452*/            OPC_EmitMergeInputChains1_0,
   14988             : /* 27453*/            OPC_EmitInteger, MVT::i32, 0, 
   14989             : /* 27456*/            OPC_EmitInteger, MVT::i32, 0, 
   14990             : /* 27459*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   14991             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   14992             : /* 27466*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
   14993             :                           MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   14994             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
   14995             :                       // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
   14996             : /* 27477*/          /*SwitchOpcode*/ 31, TARGET_VAL(ISD::TargetExternalSymbol),// ->27511
   14997             : /* 27480*/            OPC_MoveParent,
   14998             : /* 27481*/            OPC_MoveParent,
   14999             : /* 27482*/            OPC_RecordChild3, // #2 = $exp
   15000             : /* 27483*/            OPC_RecordChild4, // #3 = $timeout
   15001             : /* 27484*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15002             : /* 27486*/            OPC_EmitMergeInputChains1_0,
   15003             : /* 27487*/            OPC_EmitInteger, MVT::i32, 0, 
   15004             : /* 27490*/            OPC_EmitInteger, MVT::i32, 0, 
   15005             : /* 27493*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15006             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   15007             : /* 27500*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15008             :                           MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   15009             :                       // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 14
   15010             :                       // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
   15011             : /* 27511*/          0, // EndSwitchOpcode
   15012             : /* 27512*/        0, // EndSwitchOpcode
   15013             : /* 27513*/      0, /*End of Scope*/
   15014             : /* 27514*/    /*Scope*/ 19|128,1/*147*/, /*->27663*/
   15015             : /* 27516*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
   15016             : /* 27517*/      OPC_Scope, 23, /*->27542*/ // 5 children in Scope
   15017             : /* 27519*/        OPC_CheckChild1Integer, 64|128,42/*5440*/, 
   15018             : /* 27522*/        OPC_RecordChild2, // #1 = $flags
   15019             : /* 27523*/        OPC_MoveChild2,
   15020             : /* 27524*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15021             : /* 27527*/        OPC_MoveParent,
   15022             : /* 27528*/        OPC_CheckType, MVT::i32,
   15023             : /* 27530*/        OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64())
   15024             : /* 27532*/        OPC_EmitMergeInputChains1_0,
   15025             : /* 27533*/        OPC_EmitConvertToTarget, 1,
   15026             : /* 27535*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_SIZE_I32), 0|OPFL_Chain,
   15027             :                       MVT::i32, 1/*#Ops*/, 2, 
   15028             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5440:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags) - Complexity = 11
   15029             :                   // Dst: (MEMORY_SIZE_I32:{ *:[i32] } (imm:{ *:[i32] }):$flags)
   15030             : /* 27542*/      /*Scope*/ 23, /*->27566*/
   15031             : /* 27543*/        OPC_CheckChild1Integer, 62|128,42/*5438*/, 
   15032             : /* 27546*/        OPC_RecordChild2, // #1 = $flags
   15033             : /* 27547*/        OPC_MoveChild2,
   15034             : /* 27548*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15035             : /* 27551*/        OPC_MoveParent,
   15036             : /* 27552*/        OPC_CheckType, MVT::i32,
   15037             : /* 27554*/        OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64())
   15038             : /* 27556*/        OPC_EmitMergeInputChains1_0,
   15039             : /* 27557*/        OPC_EmitConvertToTarget, 1,
   15040             : /* 27559*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEM_SIZE_I32), 0|OPFL_Chain,
   15041             :                       MVT::i32, 1/*#Ops*/, 2, 
   15042             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5438:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags) - Complexity = 11
   15043             :                   // Dst: (MEM_SIZE_I32:{ *:[i32] } (imm:{ *:[i32] }):$flags)
   15044             : /* 27566*/      /*Scope*/ 27, /*->27594*/
   15045             : /* 27567*/        OPC_CheckChild1Integer, 63|128,42/*5439*/, 
   15046             : /* 27570*/        OPC_RecordChild2, // #1 = $flags
   15047             : /* 27571*/        OPC_MoveChild2,
   15048             : /* 27572*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15049             : /* 27575*/        OPC_MoveParent,
   15050             : /* 27576*/        OPC_RecordChild3, // #2 = $delta
   15051             : /* 27577*/        OPC_CheckChild3Type, MVT::i32,
   15052             : /* 27579*/        OPC_CheckType, MVT::i32,
   15053             : /* 27581*/        OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64())
   15054             : /* 27583*/        OPC_EmitMergeInputChains1_0,
   15055             : /* 27584*/        OPC_EmitConvertToTarget, 1,
   15056             : /* 27586*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEMORY_GROW_I32), 0|OPFL_Chain,
   15057             :                       MVT::i32, 2/*#Ops*/, 3, 2, 
   15058             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5439:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags, I32:{ *:[i32] }:$delta) - Complexity = 11
   15059             :                   // Dst: (MEMORY_GROW_I32:{ *:[i32] } (imm:{ *:[i32] }):$flags, I32:{ *:[i32] }:$delta)
   15060             : /* 27594*/      /*Scope*/ 27, /*->27622*/
   15061             : /* 27595*/        OPC_CheckChild1Integer, 61|128,42/*5437*/, 
   15062             : /* 27598*/        OPC_RecordChild2, // #1 = $flags
   15063             : /* 27599*/        OPC_MoveChild2,
   15064             : /* 27600*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15065             : /* 27603*/        OPC_MoveParent,
   15066             : /* 27604*/        OPC_RecordChild3, // #2 = $delta
   15067             : /* 27605*/        OPC_CheckChild3Type, MVT::i32,
   15068             : /* 27607*/        OPC_CheckType, MVT::i32,
   15069             : /* 27609*/        OPC_CheckPatternPredicate, 2, // (!Subtarget->hasAddr64())
   15070             : /* 27611*/        OPC_EmitMergeInputChains1_0,
   15071             : /* 27612*/        OPC_EmitConvertToTarget, 1,
   15072             : /* 27614*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MEM_GROW_I32), 0|OPFL_Chain,
   15073             :                       MVT::i32, 2/*#Ops*/, 3, 2, 
   15074             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5437:{ *:[iPTR] }, (imm:{ *:[i32] }):$flags, I32:{ *:[i32] }:$delta) - Complexity = 11
   15075             :                   // Dst: (MEM_GROW_I32:{ *:[i32] } (imm:{ *:[i32] }):$flags, I32:{ *:[i32] }:$delta)
   15076             : /* 27622*/      /*Scope*/ 39, /*->27662*/
   15077             : /* 27623*/        OPC_CheckChild1Integer, 54|128,42/*5430*/, 
   15078             : /* 27626*/        OPC_RecordChild2, // #1 = $tag
   15079             : /* 27627*/        OPC_MoveChild2,
   15080             : /* 27628*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15081             : /* 27631*/        OPC_MoveParent,
   15082             : /* 27632*/        OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->27647
   15083             : /* 27635*/          OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
   15084             : /* 27637*/          OPC_EmitMergeInputChains1_0,
   15085             : /* 27638*/          OPC_EmitConvertToTarget, 1,
   15086             : /* 27640*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CATCH_I32), 0|OPFL_Chain,
   15087             :                         MVT::i32, 1/*#Ops*/, 2, 
   15088             :                     // Src: (intrinsic_w_chain:{ *:[i32] } 5430:{ *:[iPTR] }, (imm:{ *:[i32] }):$tag) - Complexity = 11
   15089             :                     // Dst: (CATCH_I32:{ *:[i32] } (imm:{ *:[i32] }):$tag)
   15090             : /* 27647*/        /*SwitchType*/ 12, MVT::i64,// ->27661
   15091             : /* 27649*/          OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
   15092             : /* 27651*/          OPC_EmitMergeInputChains1_0,
   15093             : /* 27652*/          OPC_EmitConvertToTarget, 1,
   15094             : /* 27654*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CATCH_I64), 0|OPFL_Chain,
   15095             :                         MVT::i64, 1/*#Ops*/, 2, 
   15096             :                     // Src: (intrinsic_w_chain:{ *:[i64] } 5430:{ *:[iPTR] }, (imm:{ *:[i32] }):$tag) - Complexity = 11
   15097             :                     // Dst: (CATCH_I64:{ *:[i64] } (imm:{ *:[i32] }):$tag)
   15098             : /* 27661*/        0, // EndSwitchType
   15099             : /* 27662*/      0, /*End of Scope*/
   15100             : /* 27663*/    /*Scope*/ 125, /*->27789*/
   15101             : /* 27664*/      OPC_RecordMemRef,
   15102             : /* 27665*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
   15103             : /* 27666*/      OPC_Scope, 38, /*->27706*/ // 3 children in Scope
   15104             : /* 27668*/        OPC_CheckChild1Integer, 50|128,42/*5426*/, 
   15105             : /* 27671*/        OPC_RecordChild2, // #1 = $off
   15106             : /* 27672*/        OPC_MoveChild2,
   15107             : /* 27673*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15108             : /* 27676*/        OPC_MoveParent,
   15109             : /* 27677*/        OPC_RecordChild3, // #2 = $count
   15110             : /* 27678*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15111             : /* 27680*/        OPC_EmitMergeInputChains1_0,
   15112             : /* 27681*/        OPC_EmitInteger, MVT::i32, 0, 
   15113             : /* 27684*/        OPC_EmitConvertToTarget, 1,
   15114             : /* 27686*/        OPC_EmitInteger, MVT::i32, 0, 
   15115             : /* 27689*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15116             :                       MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   15117             : /* 27696*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
   15118             :                       MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   15119             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, I32:{ *:[i32] }:$count) - Complexity = 11
   15120             :                   // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), I32:{ *:[i32] }:$count)
   15121             : /* 27706*/      /*Scope*/ 40, /*->27747*/
   15122             : /* 27707*/        OPC_CheckChild1Integer, 51|128,42/*5427*/, 
   15123             : /* 27710*/        OPC_RecordChild2, // #1 = $off
   15124             : /* 27711*/        OPC_MoveChild2,
   15125             : /* 27712*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15126             : /* 27715*/        OPC_MoveParent,
   15127             : /* 27716*/        OPC_RecordChild3, // #2 = $exp
   15128             : /* 27717*/        OPC_RecordChild4, // #3 = $timeout
   15129             : /* 27718*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15130             : /* 27720*/        OPC_EmitMergeInputChains1_0,
   15131             : /* 27721*/        OPC_EmitInteger, MVT::i32, 0, 
   15132             : /* 27724*/        OPC_EmitConvertToTarget, 1,
   15133             : /* 27726*/        OPC_EmitInteger, MVT::i32, 0, 
   15134             : /* 27729*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15135             :                       MVT::i32, 1/*#Ops*/, 6,  // Results = #7
   15136             : /* 27736*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15137             :                       MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3, 
   15138             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 11
   15139             :                   // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
   15140             : /* 27747*/      /*Scope*/ 40, /*->27788*/
   15141             : /* 27748*/        OPC_CheckChild1Integer, 52|128,42/*5428*/, 
   15142             : /* 27751*/        OPC_RecordChild2, // #1 = $off
   15143             : /* 27752*/        OPC_MoveChild2,
   15144             : /* 27753*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15145             : /* 27756*/        OPC_MoveParent,
   15146             : /* 27757*/        OPC_RecordChild3, // #2 = $exp
   15147             : /* 27758*/        OPC_RecordChild4, // #3 = $timeout
   15148             : /* 27759*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15149             : /* 27761*/        OPC_EmitMergeInputChains1_0,
   15150             : /* 27762*/        OPC_EmitInteger, MVT::i32, 0, 
   15151             : /* 27765*/        OPC_EmitConvertToTarget, 1,
   15152             : /* 27767*/        OPC_EmitInteger, MVT::i32, 0, 
   15153             : /* 27770*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15154             :                       MVT::i32, 1/*#Ops*/, 6,  // Results = #7
   15155             : /* 27777*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15156             :                       MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3, 
   15157             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 11
   15158             :                   // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
   15159             : /* 27788*/      0, /*End of Scope*/
   15160             : /* 27789*/    /*Scope*/ 39, /*->27829*/
   15161             : /* 27790*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
   15162             : /* 27791*/      OPC_CheckType, MVT::i32,
   15163             : /* 27793*/      OPC_Scope, 14, /*->27809*/ // 2 children in Scope
   15164             : /* 27795*/        OPC_CheckChild1Integer, 55|128,42/*5431*/, 
   15165             : /* 27798*/        OPC_EmitMergeInputChains1_0,
   15166             : /* 27799*/        OPC_EmitInteger, MVT::i32, 0, 
   15167             : /* 27802*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CURRENT_MEMORY_I32), 0|OPFL_Chain,
   15168             :                       MVT::i32, 1/*#Ops*/, 1, 
   15169             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5431:{ *:[iPTR] }) - Complexity = 8
   15170             :                   // Dst: (CURRENT_MEMORY_I32:{ *:[i32] } 0:{ *:[i32] })
   15171             : /* 27809*/      /*Scope*/ 18, /*->27828*/
   15172             : /* 27810*/        OPC_CheckChild1Integer, 58|128,42/*5434*/, 
   15173             : /* 27813*/        OPC_RecordChild2, // #1 = $delta
   15174             : /* 27814*/        OPC_CheckChild2Type, MVT::i32,
   15175             : /* 27816*/        OPC_EmitMergeInputChains1_0,
   15176             : /* 27817*/        OPC_EmitInteger, MVT::i32, 0, 
   15177             : /* 27820*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GROW_MEMORY_I32), 0|OPFL_Chain,
   15178             :                       MVT::i32, 2/*#Ops*/, 2, 1, 
   15179             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5434:{ *:[iPTR] }, I32:{ *:[i32] }:$delta) - Complexity = 8
   15180             :                   // Dst: (GROW_MEMORY_I32:{ *:[i32] } 0:{ *:[i32] }, ?:{ *:[i32] }:$delta)
   15181             : /* 27828*/      0, /*End of Scope*/
   15182             : /* 27829*/    /*Scope*/ 89, /*->27919*/
   15183             : /* 27830*/      OPC_RecordMemRef,
   15184             : /* 27831*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
   15185             : /* 27832*/      OPC_Scope, 26, /*->27860*/ // 3 children in Scope
   15186             : /* 27834*/        OPC_CheckChild1Integer, 50|128,42/*5426*/, 
   15187             : /* 27837*/        OPC_RecordChild2, // #1 = $addr
   15188             : /* 27838*/        OPC_CheckChild2Type, MVT::i32,
   15189             : /* 27840*/        OPC_RecordChild3, // #2 = $count
   15190             : /* 27841*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15191             : /* 27843*/        OPC_EmitMergeInputChains1_0,
   15192             : /* 27844*/        OPC_EmitInteger, MVT::i32, 0, 
   15193             : /* 27847*/        OPC_EmitInteger, MVT::i32, 0, 
   15194             : /* 27850*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_NOTIFY), 0|OPFL_Chain|OPFL_MemRefs,
   15195             :                       MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   15196             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5426:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count) - Complexity = 8
   15197             :                   // Dst: (ATOMIC_NOTIFY:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, I32:{ *:[i32] }:$count)
   15198             : /* 27860*/      /*Scope*/ 28, /*->27889*/
   15199             : /* 27861*/        OPC_CheckChild1Integer, 51|128,42/*5427*/, 
   15200             : /* 27864*/        OPC_RecordChild2, // #1 = $addr
   15201             : /* 27865*/        OPC_CheckChild2Type, MVT::i32,
   15202             : /* 27867*/        OPC_RecordChild3, // #2 = $exp
   15203             : /* 27868*/        OPC_RecordChild4, // #3 = $timeout
   15204             : /* 27869*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15205             : /* 27871*/        OPC_EmitMergeInputChains1_0,
   15206             : /* 27872*/        OPC_EmitInteger, MVT::i32, 0, 
   15207             : /* 27875*/        OPC_EmitInteger, MVT::i32, 0, 
   15208             : /* 27878*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15209             :                       MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3, 
   15210             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5427:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 8
   15211             :                   // Dst: (ATOMIC_WAIT_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, I64:{ *:[i64] }:$timeout)
   15212             : /* 27889*/      /*Scope*/ 28, /*->27918*/
   15213             : /* 27890*/        OPC_CheckChild1Integer, 52|128,42/*5428*/, 
   15214             : /* 27893*/        OPC_RecordChild2, // #1 = $addr
   15215             : /* 27894*/        OPC_CheckChild2Type, MVT::i32,
   15216             : /* 27896*/        OPC_RecordChild3, // #2 = $exp
   15217             : /* 27897*/        OPC_RecordChild4, // #3 = $timeout
   15218             : /* 27898*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15219             : /* 27900*/        OPC_EmitMergeInputChains1_0,
   15220             : /* 27901*/        OPC_EmitInteger, MVT::i32, 0, 
   15221             : /* 27904*/        OPC_EmitInteger, MVT::i32, 0, 
   15222             : /* 27907*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_WAIT_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15223             :                       MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3, 
   15224             :                   // Src: (intrinsic_w_chain:{ *:[i32] } 5428:{ *:[iPTR] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout) - Complexity = 8
   15225             :                   // Dst: (ATOMIC_WAIT_I64:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, I64:{ *:[i64] }:$timeout)
   15226             : /* 27918*/      0, /*End of Scope*/
   15227             : /* 27919*/    0, /*End of Scope*/
   15228             : /* 27920*/  /*SwitchOpcode*/ 89|128,15/*2009*/, TARGET_VAL(ISD::ATOMIC_STORE),// ->29933
   15229             : /* 27924*/    OPC_RecordMemRef,
   15230             : /* 27925*/    OPC_RecordNode, // #0 = 'atomic_store' chained node
   15231             : /* 27926*/    OPC_Scope, 35|128,11/*1443*/, /*->29372*/ // 4 children in Scope
   15232             : /* 27929*/      OPC_MoveChild1,
   15233             : /* 27930*/      OPC_SwitchOpcode /*3 cases */, 24|128,7/*920*/, TARGET_VAL(ISD::ADD),// ->28855
   15234             : /* 27935*/        OPC_Scope, 79, /*->28016*/ // 9 children in Scope
   15235             : /* 27937*/          OPC_RecordChild0, // #1 = $addr
   15236             : /* 27938*/          OPC_MoveChild1,
   15237             : /* 27939*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   15238             : /* 27942*/          OPC_RecordChild0, // #2 = $off
   15239             : /* 27943*/          OPC_MoveChild0,
   15240             : /* 27944*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   15241             : /* 27947*/          OPC_MoveParent,
   15242             : /* 27948*/          OPC_MoveParent,
   15243             : /* 27949*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   15244             : /* 27951*/          OPC_CheckType, MVT::i32,
   15245             : /* 27953*/          OPC_MoveParent,
   15246             : /* 27954*/          OPC_MoveChild2,
   15247             : /* 27955*/          OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   15248             : /* 27958*/          OPC_RecordChild0, // #3 = $val
   15249             : /* 27959*/          OPC_MoveParent,
   15250             : /* 27960*/          OPC_Scope, 17, /*->27979*/ // 3 children in Scope
   15251             : /* 27962*/            OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15252             : /* 27964*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15253             : /* 27966*/            OPC_EmitMergeInputChains1_0,
   15254             : /* 27967*/            OPC_EmitInteger, MVT::i32, 0, 
   15255             : /* 27970*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15256             :                           4/*#Ops*/, 4, 2, 1, 3, 
   15257             :                       // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 17
   15258             :                       // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15259             : /* 27979*/          /*Scope*/ 17, /*->27997*/
   15260             : /* 27980*/            OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15261             : /* 27982*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15262             : /* 27984*/            OPC_EmitMergeInputChains1_0,
   15263             : /* 27985*/            OPC_EmitInteger, MVT::i32, 0, 
   15264             : /* 27988*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15265             :                           4/*#Ops*/, 4, 2, 1, 3, 
   15266             :                       // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 17
   15267             :                       // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15268             : /* 27997*/          /*Scope*/ 17, /*->28015*/
   15269             : /* 27998*/            OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15270             : /* 28000*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15271             : /* 28002*/            OPC_EmitMergeInputChains1_0,
   15272             : /* 28003*/            OPC_EmitInteger, MVT::i32, 0, 
   15273             : /* 28006*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15274             :                           4/*#Ops*/, 4, 2, 1, 3, 
   15275             :                       // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 17
   15276             :                       // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15277             : /* 28015*/          0, /*End of Scope*/
   15278             : /* 28016*/        /*Scope*/ 79, /*->28096*/
   15279             : /* 28017*/          OPC_MoveChild0,
   15280             : /* 28018*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   15281             : /* 28021*/          OPC_RecordChild0, // #1 = $off
   15282             : /* 28022*/          OPC_MoveChild0,
   15283             : /* 28023*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   15284             : /* 28026*/          OPC_MoveParent,
   15285             : /* 28027*/          OPC_MoveParent,
   15286             : /* 28028*/          OPC_RecordChild1, // #2 = $addr
   15287             : /* 28029*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   15288             : /* 28031*/          OPC_CheckType, MVT::i32,
   15289             : /* 28033*/          OPC_MoveParent,
   15290             : /* 28034*/          OPC_MoveChild2,
   15291             : /* 28035*/          OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   15292             : /* 28038*/          OPC_RecordChild0, // #3 = $val
   15293             : /* 28039*/          OPC_MoveParent,
   15294             : /* 28040*/          OPC_Scope, 17, /*->28059*/ // 3 children in Scope
   15295             : /* 28042*/            OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15296             : /* 28044*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15297             : /* 28046*/            OPC_EmitMergeInputChains1_0,
   15298             : /* 28047*/            OPC_EmitInteger, MVT::i32, 0, 
   15299             : /* 28050*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15300             :                           4/*#Ops*/, 4, 1, 2, 3, 
   15301             :                       // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 17
   15302             :                       // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15303             : /* 28059*/          /*Scope*/ 17, /*->28077*/
   15304             : /* 28060*/            OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15305             : /* 28062*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15306             : /* 28064*/            OPC_EmitMergeInputChains1_0,
   15307             : /* 28065*/            OPC_EmitInteger, MVT::i32, 0, 
   15308             : /* 28068*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15309             :                           4/*#Ops*/, 4, 1, 2, 3, 
   15310             :                       // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 17
   15311             :                       // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15312             : /* 28077*/          /*Scope*/ 17, /*->28095*/
   15313             : /* 28078*/            OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15314             : /* 28080*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15315             : /* 28082*/            OPC_EmitMergeInputChains1_0,
   15316             : /* 28083*/            OPC_EmitInteger, MVT::i32, 0, 
   15317             : /* 28086*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15318             :                           4/*#Ops*/, 4, 1, 2, 3, 
   15319             :                       // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 17
   15320             :                       // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15321             : /* 28095*/          0, /*End of Scope*/
   15322             : /* 28096*/        /*Scope*/ 77, /*->28174*/
   15323             : /* 28097*/          OPC_RecordChild0, // #1 = $addr
   15324             : /* 28098*/          OPC_MoveChild1,
   15325             : /* 28099*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   15326             : /* 28102*/          OPC_RecordChild0, // #2 = $off
   15327             : /* 28103*/          OPC_MoveChild0,
   15328             : /* 28104*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   15329             : /* 28107*/          OPC_MoveParent,
   15330             : /* 28108*/          OPC_MoveParent,
   15331             : /* 28109*/          OPC_CheckType, MVT::i32,
   15332             : /* 28111*/          OPC_MoveParent,
   15333             : /* 28112*/          OPC_MoveChild2,
   15334             : /* 28113*/          OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   15335             : /* 28116*/          OPC_RecordChild0, // #3 = $val
   15336             : /* 28117*/          OPC_MoveParent,
   15337             : /* 28118*/          OPC_Scope, 17, /*->28137*/ // 3 children in Scope
   15338             : /* 28120*/            OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15339             : /* 28122*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15340             : /* 28124*/            OPC_EmitMergeInputChains1_0,
   15341             : /* 28125*/            OPC_EmitInteger, MVT::i32, 0, 
   15342             : /* 28128*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15343             :                           4/*#Ops*/, 4, 2, 1, 3, 
   15344             :                       // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 16
   15345             :                       // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15346             : /* 28137*/          /*Scope*/ 17, /*->28155*/
   15347             : /* 28138*/            OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15348             : /* 28140*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15349             : /* 28142*/            OPC_EmitMergeInputChains1_0,
   15350             : /* 28143*/            OPC_EmitInteger, MVT::i32, 0, 
   15351             : /* 28146*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15352             :                           4/*#Ops*/, 4, 2, 1, 3, 
   15353             :                       // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 16
   15354             :                       // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15355             : /* 28155*/          /*Scope*/ 17, /*->28173*/
   15356             : /* 28156*/            OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15357             : /* 28158*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15358             : /* 28160*/            OPC_EmitMergeInputChains1_0,
   15359             : /* 28161*/            OPC_EmitInteger, MVT::i32, 0, 
   15360             : /* 28164*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15361             :                           4/*#Ops*/, 4, 2, 1, 3, 
   15362             :                       // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 16
   15363             :                       // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15364             : /* 28173*/          0, /*End of Scope*/
   15365             : /* 28174*/        /*Scope*/ 77, /*->28252*/
   15366             : /* 28175*/          OPC_MoveChild0,
   15367             : /* 28176*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   15368             : /* 28179*/          OPC_RecordChild0, // #1 = $off
   15369             : /* 28180*/          OPC_MoveChild0,
   15370             : /* 28181*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   15371             : /* 28184*/          OPC_MoveParent,
   15372             : /* 28185*/          OPC_MoveParent,
   15373             : /* 28186*/          OPC_RecordChild1, // #2 = $addr
   15374             : /* 28187*/          OPC_CheckType, MVT::i32,
   15375             : /* 28189*/          OPC_MoveParent,
   15376             : /* 28190*/          OPC_MoveChild2,
   15377             : /* 28191*/          OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   15378             : /* 28194*/          OPC_RecordChild0, // #3 = $val
   15379             : /* 28195*/          OPC_MoveParent,
   15380             : /* 28196*/          OPC_Scope, 17, /*->28215*/ // 3 children in Scope
   15381             : /* 28198*/            OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15382             : /* 28200*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15383             : /* 28202*/            OPC_EmitMergeInputChains1_0,
   15384             : /* 28203*/            OPC_EmitInteger, MVT::i32, 0, 
   15385             : /* 28206*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15386             :                           4/*#Ops*/, 4, 1, 2, 3, 
   15387             :                       // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 16
   15388             :                       // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15389             : /* 28215*/          /*Scope*/ 17, /*->28233*/
   15390             : /* 28216*/            OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15391             : /* 28218*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15392             : /* 28220*/            OPC_EmitMergeInputChains1_0,
   15393             : /* 28221*/            OPC_EmitInteger, MVT::i32, 0, 
   15394             : /* 28224*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15395             :                           4/*#Ops*/, 4, 1, 2, 3, 
   15396             :                       // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 16
   15397             :                       // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15398             : /* 28233*/          /*Scope*/ 17, /*->28251*/
   15399             : /* 28234*/            OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15400             : /* 28236*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15401             : /* 28238*/            OPC_EmitMergeInputChains1_0,
   15402             : /* 28239*/            OPC_EmitInteger, MVT::i32, 0, 
   15403             : /* 28242*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15404             :                           4/*#Ops*/, 4, 1, 2, 3, 
   15405             :                       // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 16
   15406             :                       // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15407             : /* 28251*/          0, /*End of Scope*/
   15408             : /* 28252*/        /*Scope*/ 73|128,1/*201*/, /*->28455*/
   15409             : /* 28254*/          OPC_RecordChild0, // #1 = $addr
   15410             : /* 28255*/          OPC_Scope, 59, /*->28316*/ // 3 children in Scope
   15411             : /* 28257*/            OPC_MoveChild1,
   15412             : /* 28258*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   15413             : /* 28261*/            OPC_RecordChild0, // #2 = $off
   15414             : /* 28262*/            OPC_MoveChild0,
   15415             : /* 28263*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   15416             : /* 28266*/            OPC_MoveParent,
   15417             : /* 28267*/            OPC_MoveParent,
   15418             : /* 28268*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   15419             : /* 28270*/            OPC_CheckType, MVT::i32,
   15420             : /* 28272*/            OPC_MoveParent,
   15421             : /* 28273*/            OPC_RecordChild2, // #3 = $val
   15422             : /* 28274*/            OPC_Scope, 19, /*->28295*/ // 2 children in Scope
   15423             : /* 28276*/              OPC_CheckChild2Type, MVT::i32,
   15424             : /* 28278*/              OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15425             : /* 28280*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15426             : /* 28282*/              OPC_EmitMergeInputChains1_0,
   15427             : /* 28283*/              OPC_EmitInteger, MVT::i32, 0, 
   15428             : /* 28286*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15429             :                             4/*#Ops*/, 4, 2, 1, 3, 
   15430             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 14
   15431             :                         // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15432             : /* 28295*/            /*Scope*/ 19, /*->28315*/
   15433             : /* 28296*/              OPC_CheckChild2Type, MVT::i64,
   15434             : /* 28298*/              OPC_CheckPredicate, 8, // Predicate_atomic_store_64
   15435             : /* 28300*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15436             : /* 28302*/              OPC_EmitMergeInputChains1_0,
   15437             : /* 28303*/              OPC_EmitInteger, MVT::i32, 0, 
   15438             : /* 28306*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15439             :                             4/*#Ops*/, 4, 2, 1, 3, 
   15440             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 14
   15441             :                         // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15442             : /* 28315*/            0, /*End of Scope*/
   15443             : /* 28316*/          /*Scope*/ 79, /*->28396*/
   15444             : /* 28317*/            OPC_RecordChild1, // #2 = $off
   15445             : /* 28318*/            OPC_MoveChild1,
   15446             : /* 28319*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15447             : /* 28322*/            OPC_MoveParent,
   15448             : /* 28323*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   15449             : /* 28325*/            OPC_CheckType, MVT::i32,
   15450             : /* 28327*/            OPC_MoveParent,
   15451             : /* 28328*/            OPC_MoveChild2,
   15452             : /* 28329*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   15453             : /* 28332*/            OPC_RecordChild0, // #3 = $val
   15454             : /* 28333*/            OPC_MoveParent,
   15455             : /* 28334*/            OPC_Scope, 19, /*->28355*/ // 3 children in Scope
   15456             : /* 28336*/              OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15457             : /* 28338*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15458             : /* 28340*/              OPC_EmitMergeInputChains1_0,
   15459             : /* 28341*/              OPC_EmitInteger, MVT::i32, 0, 
   15460             : /* 28344*/              OPC_EmitConvertToTarget, 2,
   15461             : /* 28346*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15462             :                             4/*#Ops*/, 4, 5, 1, 3, 
   15463             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 14
   15464             :                         // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15465             : /* 28355*/            /*Scope*/ 19, /*->28375*/
   15466             : /* 28356*/              OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15467             : /* 28358*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15468             : /* 28360*/              OPC_EmitMergeInputChains1_0,
   15469             : /* 28361*/              OPC_EmitInteger, MVT::i32, 0, 
   15470             : /* 28364*/              OPC_EmitConvertToTarget, 2,
   15471             : /* 28366*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15472             :                             4/*#Ops*/, 4, 5, 1, 3, 
   15473             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 14
   15474             :                         // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15475             : /* 28375*/            /*Scope*/ 19, /*->28395*/
   15476             : /* 28376*/              OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15477             : /* 28378*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15478             : /* 28380*/              OPC_EmitMergeInputChains1_0,
   15479             : /* 28381*/              OPC_EmitInteger, MVT::i32, 0, 
   15480             : /* 28384*/              OPC_EmitConvertToTarget, 2,
   15481             : /* 28386*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15482             :                             4/*#Ops*/, 4, 5, 1, 3, 
   15483             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 14
   15484             :                         // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15485             : /* 28395*/            0, /*End of Scope*/
   15486             : /* 28396*/          /*Scope*/ 57, /*->28454*/
   15487             : /* 28397*/            OPC_MoveChild1,
   15488             : /* 28398*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   15489             : /* 28401*/            OPC_RecordChild0, // #2 = $off
   15490             : /* 28402*/            OPC_MoveChild0,
   15491             : /* 28403*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   15492             : /* 28406*/            OPC_MoveParent,
   15493             : /* 28407*/            OPC_MoveParent,
   15494             : /* 28408*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   15495             : /* 28410*/            OPC_CheckType, MVT::i32,
   15496             : /* 28412*/            OPC_MoveParent,
   15497             : /* 28413*/            OPC_RecordChild2, // #3 = $val
   15498             : /* 28414*/            OPC_CheckChild2Type, MVT::i32,
   15499             : /* 28416*/            OPC_Scope, 17, /*->28435*/ // 2 children in Scope
   15500             : /* 28418*/              OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15501             : /* 28420*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15502             : /* 28422*/              OPC_EmitMergeInputChains1_0,
   15503             : /* 28423*/              OPC_EmitInteger, MVT::i32, 0, 
   15504             : /* 28426*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15505             :                             4/*#Ops*/, 4, 2, 1, 3, 
   15506             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 14
   15507             :                         // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15508             : /* 28435*/            /*Scope*/ 17, /*->28453*/
   15509             : /* 28436*/              OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15510             : /* 28438*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15511             : /* 28440*/              OPC_EmitMergeInputChains1_0,
   15512             : /* 28441*/              OPC_EmitInteger, MVT::i32, 0, 
   15513             : /* 28444*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15514             :                             4/*#Ops*/, 4, 2, 1, 3, 
   15515             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 14
   15516             :                         // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15517             : /* 28453*/            0, /*End of Scope*/
   15518             : /* 28454*/          0, /*End of Scope*/
   15519             : /* 28455*/        /*Scope*/ 99, /*->28555*/
   15520             : /* 28456*/          OPC_MoveChild0,
   15521             : /* 28457*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   15522             : /* 28460*/          OPC_RecordChild0, // #1 = $off
   15523             : /* 28461*/          OPC_MoveChild0,
   15524             : /* 28462*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   15525             : /* 28465*/          OPC_MoveParent,
   15526             : /* 28466*/          OPC_MoveParent,
   15527             : /* 28467*/          OPC_RecordChild1, // #2 = $addr
   15528             : /* 28468*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   15529             : /* 28470*/          OPC_CheckType, MVT::i32,
   15530             : /* 28472*/          OPC_MoveParent,
   15531             : /* 28473*/          OPC_RecordChild2, // #3 = $val
   15532             : /* 28474*/          OPC_Scope, 58, /*->28534*/ // 2 children in Scope
   15533             : /* 28476*/            OPC_CheckChild2Type, MVT::i32,
   15534             : /* 28478*/            OPC_Scope, 17, /*->28497*/ // 3 children in Scope
   15535             : /* 28480*/              OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15536             : /* 28482*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15537             : /* 28484*/              OPC_EmitMergeInputChains1_0,
   15538             : /* 28485*/              OPC_EmitInteger, MVT::i32, 0, 
   15539             : /* 28488*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15540             :                             4/*#Ops*/, 4, 1, 2, 3, 
   15541             :                         // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 14
   15542             :                         // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15543             : /* 28497*/            /*Scope*/ 17, /*->28515*/
   15544             : /* 28498*/              OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15545             : /* 28500*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15546             : /* 28502*/              OPC_EmitMergeInputChains1_0,
   15547             : /* 28503*/              OPC_EmitInteger, MVT::i32, 0, 
   15548             : /* 28506*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15549             :                             4/*#Ops*/, 4, 1, 2, 3, 
   15550             :                         // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 14
   15551             :                         // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15552             : /* 28515*/            /*Scope*/ 17, /*->28533*/
   15553             : /* 28516*/              OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15554             : /* 28518*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15555             : /* 28520*/              OPC_EmitMergeInputChains1_0,
   15556             : /* 28521*/              OPC_EmitInteger, MVT::i32, 0, 
   15557             : /* 28524*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15558             :                             4/*#Ops*/, 4, 1, 2, 3, 
   15559             :                         // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 14
   15560             :                         // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15561             : /* 28533*/            0, /*End of Scope*/
   15562             : /* 28534*/          /*Scope*/ 19, /*->28554*/
   15563             : /* 28535*/            OPC_CheckChild2Type, MVT::i64,
   15564             : /* 28537*/            OPC_CheckPredicate, 8, // Predicate_atomic_store_64
   15565             : /* 28539*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15566             : /* 28541*/            OPC_EmitMergeInputChains1_0,
   15567             : /* 28542*/            OPC_EmitInteger, MVT::i32, 0, 
   15568             : /* 28545*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15569             :                           4/*#Ops*/, 4, 1, 2, 3, 
   15570             :                       // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 14
   15571             :                       // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15572             : /* 28554*/          0, /*End of Scope*/
   15573             : /* 28555*/        /*Scope*/ 97, /*->28653*/
   15574             : /* 28556*/          OPC_RecordChild0, // #1 = $addr
   15575             : /* 28557*/          OPC_MoveChild1,
   15576             : /* 28558*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   15577             : /* 28561*/          OPC_RecordChild0, // #2 = $off
   15578             : /* 28562*/          OPC_MoveChild0,
   15579             : /* 28563*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   15580             : /* 28566*/          OPC_MoveParent,
   15581             : /* 28567*/          OPC_MoveParent,
   15582             : /* 28568*/          OPC_CheckType, MVT::i32,
   15583             : /* 28570*/          OPC_MoveParent,
   15584             : /* 28571*/          OPC_RecordChild2, // #3 = $val
   15585             : /* 28572*/          OPC_Scope, 58, /*->28632*/ // 2 children in Scope
   15586             : /* 28574*/            OPC_CheckChild2Type, MVT::i32,
   15587             : /* 28576*/            OPC_Scope, 17, /*->28595*/ // 3 children in Scope
   15588             : /* 28578*/              OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15589             : /* 28580*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15590             : /* 28582*/              OPC_EmitMergeInputChains1_0,
   15591             : /* 28583*/              OPC_EmitInteger, MVT::i32, 0, 
   15592             : /* 28586*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15593             :                             4/*#Ops*/, 4, 2, 1, 3, 
   15594             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 13
   15595             :                         // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15596             : /* 28595*/            /*Scope*/ 17, /*->28613*/
   15597             : /* 28596*/              OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15598             : /* 28598*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15599             : /* 28600*/              OPC_EmitMergeInputChains1_0,
   15600             : /* 28601*/              OPC_EmitInteger, MVT::i32, 0, 
   15601             : /* 28604*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15602             :                             4/*#Ops*/, 4, 2, 1, 3, 
   15603             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 13
   15604             :                         // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15605             : /* 28613*/            /*Scope*/ 17, /*->28631*/
   15606             : /* 28614*/              OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15607             : /* 28616*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15608             : /* 28618*/              OPC_EmitMergeInputChains1_0,
   15609             : /* 28619*/              OPC_EmitInteger, MVT::i32, 0, 
   15610             : /* 28622*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15611             :                             4/*#Ops*/, 4, 2, 1, 3, 
   15612             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 13
   15613             :                         // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15614             : /* 28631*/            0, /*End of Scope*/
   15615             : /* 28632*/          /*Scope*/ 19, /*->28652*/
   15616             : /* 28633*/            OPC_CheckChild2Type, MVT::i64,
   15617             : /* 28635*/            OPC_CheckPredicate, 8, // Predicate_atomic_store_64
   15618             : /* 28637*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15619             : /* 28639*/            OPC_EmitMergeInputChains1_0,
   15620             : /* 28640*/            OPC_EmitInteger, MVT::i32, 0, 
   15621             : /* 28643*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15622             :                           4/*#Ops*/, 4, 2, 1, 3, 
   15623             :                       // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 13
   15624             :                       // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15625             : /* 28652*/          0, /*End of Scope*/
   15626             : /* 28653*/        /*Scope*/ 97, /*->28751*/
   15627             : /* 28654*/          OPC_MoveChild0,
   15628             : /* 28655*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   15629             : /* 28658*/          OPC_RecordChild0, // #1 = $off
   15630             : /* 28659*/          OPC_MoveChild0,
   15631             : /* 28660*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   15632             : /* 28663*/          OPC_MoveParent,
   15633             : /* 28664*/          OPC_MoveParent,
   15634             : /* 28665*/          OPC_RecordChild1, // #2 = $addr
   15635             : /* 28666*/          OPC_CheckType, MVT::i32,
   15636             : /* 28668*/          OPC_MoveParent,
   15637             : /* 28669*/          OPC_RecordChild2, // #3 = $val
   15638             : /* 28670*/          OPC_Scope, 58, /*->28730*/ // 2 children in Scope
   15639             : /* 28672*/            OPC_CheckChild2Type, MVT::i32,
   15640             : /* 28674*/            OPC_Scope, 17, /*->28693*/ // 3 children in Scope
   15641             : /* 28676*/              OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15642             : /* 28678*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15643             : /* 28680*/              OPC_EmitMergeInputChains1_0,
   15644             : /* 28681*/              OPC_EmitInteger, MVT::i32, 0, 
   15645             : /* 28684*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15646             :                             4/*#Ops*/, 4, 1, 2, 3, 
   15647             :                         // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 13
   15648             :                         // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15649             : /* 28693*/            /*Scope*/ 17, /*->28711*/
   15650             : /* 28694*/              OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15651             : /* 28696*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15652             : /* 28698*/              OPC_EmitMergeInputChains1_0,
   15653             : /* 28699*/              OPC_EmitInteger, MVT::i32, 0, 
   15654             : /* 28702*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15655             :                             4/*#Ops*/, 4, 1, 2, 3, 
   15656             :                         // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 13
   15657             :                         // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15658             : /* 28711*/            /*Scope*/ 17, /*->28729*/
   15659             : /* 28712*/              OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15660             : /* 28714*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15661             : /* 28716*/              OPC_EmitMergeInputChains1_0,
   15662             : /* 28717*/              OPC_EmitInteger, MVT::i32, 0, 
   15663             : /* 28720*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15664             :                             4/*#Ops*/, 4, 1, 2, 3, 
   15665             :                         // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 13
   15666             :                         // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15667             : /* 28729*/            0, /*End of Scope*/
   15668             : /* 28730*/          /*Scope*/ 19, /*->28750*/
   15669             : /* 28731*/            OPC_CheckChild2Type, MVT::i64,
   15670             : /* 28733*/            OPC_CheckPredicate, 8, // Predicate_atomic_store_64
   15671             : /* 28735*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15672             : /* 28737*/            OPC_EmitMergeInputChains1_0,
   15673             : /* 28738*/            OPC_EmitInteger, MVT::i32, 0, 
   15674             : /* 28741*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15675             :                           4/*#Ops*/, 4, 1, 2, 3, 
   15676             :                       // Src: (atomic_store (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 13
   15677             :                       // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15678             : /* 28750*/          0, /*End of Scope*/
   15679             : /* 28751*/        /*Scope*/ 102, /*->28854*/
   15680             : /* 28752*/          OPC_RecordChild0, // #1 = $addr
   15681             : /* 28753*/          OPC_RecordChild1, // #2 = $off
   15682             : /* 28754*/          OPC_MoveChild1,
   15683             : /* 28755*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15684             : /* 28758*/          OPC_MoveParent,
   15685             : /* 28759*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   15686             : /* 28761*/          OPC_CheckType, MVT::i32,
   15687             : /* 28763*/          OPC_MoveParent,
   15688             : /* 28764*/          OPC_RecordChild2, // #3 = $val
   15689             : /* 28765*/          OPC_Scope, 64, /*->28831*/ // 2 children in Scope
   15690             : /* 28767*/            OPC_CheckChild2Type, MVT::i32,
   15691             : /* 28769*/            OPC_Scope, 19, /*->28790*/ // 3 children in Scope
   15692             : /* 28771*/              OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15693             : /* 28773*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15694             : /* 28775*/              OPC_EmitMergeInputChains1_0,
   15695             : /* 28776*/              OPC_EmitInteger, MVT::i32, 0, 
   15696             : /* 28779*/              OPC_EmitConvertToTarget, 2,
   15697             : /* 28781*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15698             :                             4/*#Ops*/, 4, 5, 1, 3, 
   15699             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 11
   15700             :                         // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15701             : /* 28790*/            /*Scope*/ 19, /*->28810*/
   15702             : /* 28791*/              OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15703             : /* 28793*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15704             : /* 28795*/              OPC_EmitMergeInputChains1_0,
   15705             : /* 28796*/              OPC_EmitInteger, MVT::i32, 0, 
   15706             : /* 28799*/              OPC_EmitConvertToTarget, 2,
   15707             : /* 28801*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15708             :                             4/*#Ops*/, 4, 5, 1, 3, 
   15709             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 11
   15710             :                         // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15711             : /* 28810*/            /*Scope*/ 19, /*->28830*/
   15712             : /* 28811*/              OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15713             : /* 28813*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15714             : /* 28815*/              OPC_EmitMergeInputChains1_0,
   15715             : /* 28816*/              OPC_EmitInteger, MVT::i32, 0, 
   15716             : /* 28819*/              OPC_EmitConvertToTarget, 2,
   15717             : /* 28821*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15718             :                             4/*#Ops*/, 4, 5, 1, 3, 
   15719             :                         // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 11
   15720             :                         // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15721             : /* 28830*/            0, /*End of Scope*/
   15722             : /* 28831*/          /*Scope*/ 21, /*->28853*/
   15723             : /* 28832*/            OPC_CheckChild2Type, MVT::i64,
   15724             : /* 28834*/            OPC_CheckPredicate, 8, // Predicate_atomic_store_64
   15725             : /* 28836*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15726             : /* 28838*/            OPC_EmitMergeInputChains1_0,
   15727             : /* 28839*/            OPC_EmitInteger, MVT::i32, 0, 
   15728             : /* 28842*/            OPC_EmitConvertToTarget, 2,
   15729             : /* 28844*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15730             :                           4/*#Ops*/, 4, 5, 1, 3, 
   15731             :                       // Src: (atomic_store (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 11
   15732             :                       // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15733             : /* 28853*/          0, /*End of Scope*/
   15734             : /* 28854*/        0, /*End of Scope*/
   15735             : /* 28855*/      /*SwitchOpcode*/ 46|128,1/*174*/, TARGET_VAL(ISD::OR),// ->29033
   15736             : /* 28859*/        OPC_RecordChild0, // #1 = $addr
   15737             : /* 28860*/        OPC_RecordChild1, // #2 = $off
   15738             : /* 28861*/        OPC_MoveChild1,
   15739             : /* 28862*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15740             : /* 28865*/        OPC_MoveParent,
   15741             : /* 28866*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   15742             : /* 28868*/        OPC_CheckType, MVT::i32,
   15743             : /* 28870*/        OPC_MoveParent,
   15744             : /* 28871*/        OPC_Scope, 68, /*->28941*/ // 2 children in Scope
   15745             : /* 28873*/          OPC_MoveChild2,
   15746             : /* 28874*/          OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   15747             : /* 28877*/          OPC_RecordChild0, // #3 = $val
   15748             : /* 28878*/          OPC_MoveParent,
   15749             : /* 28879*/          OPC_Scope, 19, /*->28900*/ // 3 children in Scope
   15750             : /* 28881*/            OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15751             : /* 28883*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15752             : /* 28885*/            OPC_EmitMergeInputChains1_0,
   15753             : /* 28886*/            OPC_EmitInteger, MVT::i32, 0, 
   15754             : /* 28889*/            OPC_EmitConvertToTarget, 2,
   15755             : /* 28891*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15756             :                           4/*#Ops*/, 4, 5, 1, 3, 
   15757             :                       // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 14
   15758             :                       // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15759             : /* 28900*/          /*Scope*/ 19, /*->28920*/
   15760             : /* 28901*/            OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15761             : /* 28903*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15762             : /* 28905*/            OPC_EmitMergeInputChains1_0,
   15763             : /* 28906*/            OPC_EmitInteger, MVT::i32, 0, 
   15764             : /* 28909*/            OPC_EmitConvertToTarget, 2,
   15765             : /* 28911*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15766             :                           4/*#Ops*/, 4, 5, 1, 3, 
   15767             :                       // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 14
   15768             :                       // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15769             : /* 28920*/          /*Scope*/ 19, /*->28940*/
   15770             : /* 28921*/            OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15771             : /* 28923*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15772             : /* 28925*/            OPC_EmitMergeInputChains1_0,
   15773             : /* 28926*/            OPC_EmitInteger, MVT::i32, 0, 
   15774             : /* 28929*/            OPC_EmitConvertToTarget, 2,
   15775             : /* 28931*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15776             :                           4/*#Ops*/, 4, 5, 1, 3, 
   15777             :                       // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 14
   15778             :                       // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15779             : /* 28940*/          0, /*End of Scope*/
   15780             : /* 28941*/        /*Scope*/ 90, /*->29032*/
   15781             : /* 28942*/          OPC_RecordChild2, // #3 = $val
   15782             : /* 28943*/          OPC_Scope, 64, /*->29009*/ // 2 children in Scope
   15783             : /* 28945*/            OPC_CheckChild2Type, MVT::i32,
   15784             : /* 28947*/            OPC_Scope, 19, /*->28968*/ // 3 children in Scope
   15785             : /* 28949*/              OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15786             : /* 28951*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15787             : /* 28953*/              OPC_EmitMergeInputChains1_0,
   15788             : /* 28954*/              OPC_EmitInteger, MVT::i32, 0, 
   15789             : /* 28957*/              OPC_EmitConvertToTarget, 2,
   15790             : /* 28959*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15791             :                             4/*#Ops*/, 4, 5, 1, 3, 
   15792             :                         // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 11
   15793             :                         // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15794             : /* 28968*/            /*Scope*/ 19, /*->28988*/
   15795             : /* 28969*/              OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15796             : /* 28971*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15797             : /* 28973*/              OPC_EmitMergeInputChains1_0,
   15798             : /* 28974*/              OPC_EmitInteger, MVT::i32, 0, 
   15799             : /* 28977*/              OPC_EmitConvertToTarget, 2,
   15800             : /* 28979*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15801             :                             4/*#Ops*/, 4, 5, 1, 3, 
   15802             :                         // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 11
   15803             :                         // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15804             : /* 28988*/            /*Scope*/ 19, /*->29008*/
   15805             : /* 28989*/              OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15806             : /* 28991*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15807             : /* 28993*/              OPC_EmitMergeInputChains1_0,
   15808             : /* 28994*/              OPC_EmitInteger, MVT::i32, 0, 
   15809             : /* 28997*/              OPC_EmitConvertToTarget, 2,
   15810             : /* 28999*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15811             :                             4/*#Ops*/, 4, 5, 1, 3, 
   15812             :                         // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 11
   15813             :                         // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   15814             : /* 29008*/            0, /*End of Scope*/
   15815             : /* 29009*/          /*Scope*/ 21, /*->29031*/
   15816             : /* 29010*/            OPC_CheckChild2Type, MVT::i64,
   15817             : /* 29012*/            OPC_CheckPredicate, 8, // Predicate_atomic_store_64
   15818             : /* 29014*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15819             : /* 29016*/            OPC_EmitMergeInputChains1_0,
   15820             : /* 29017*/            OPC_EmitInteger, MVT::i32, 0, 
   15821             : /* 29020*/            OPC_EmitConvertToTarget, 2,
   15822             : /* 29022*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15823             :                           4/*#Ops*/, 4, 5, 1, 3, 
   15824             :                       // Src: (atomic_store (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 11
   15825             :                       // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   15826             : /* 29031*/          0, /*End of Scope*/
   15827             : /* 29032*/        0, /*End of Scope*/
   15828             : /* 29033*/      /*SwitchOpcode*/ 78|128,2/*334*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->29371
   15829             : /* 29037*/        OPC_RecordChild0, // #1 = $off
   15830             : /* 29038*/        OPC_MoveChild0,
   15831             : /* 29039*/        OPC_SwitchOpcode /*2 cases */, 33|128,1/*161*/, TARGET_VAL(ISD::TargetGlobalAddress),// ->29205
   15832             : /* 29044*/          OPC_MoveParent,
   15833             : /* 29045*/          OPC_MoveParent,
   15834             : /* 29046*/          OPC_Scope, 92, /*->29140*/ // 2 children in Scope
   15835             : /* 29048*/            OPC_MoveChild2,
   15836             : /* 29049*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   15837             : /* 29052*/            OPC_RecordChild0, // #2 = $val
   15838             : /* 29053*/            OPC_MoveParent,
   15839             : /* 29054*/            OPC_Scope, 27, /*->29083*/ // 3 children in Scope
   15840             : /* 29056*/              OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15841             : /* 29058*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15842             : /* 29060*/              OPC_EmitMergeInputChains1_0,
   15843             : /* 29061*/              OPC_EmitInteger, MVT::i32, 0, 
   15844             : /* 29064*/              OPC_EmitInteger, MVT::i32, 0, 
   15845             : /* 29067*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15846             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   15847             : /* 29074*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15848             :                             4/*#Ops*/, 3, 1, 5, 2, 
   15849             :                         // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 13
   15850             :                         // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   15851             : /* 29083*/            /*Scope*/ 27, /*->29111*/
   15852             : /* 29084*/              OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15853             : /* 29086*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15854             : /* 29088*/              OPC_EmitMergeInputChains1_0,
   15855             : /* 29089*/              OPC_EmitInteger, MVT::i32, 0, 
   15856             : /* 29092*/              OPC_EmitInteger, MVT::i32, 0, 
   15857             : /* 29095*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15858             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   15859             : /* 29102*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15860             :                             4/*#Ops*/, 3, 1, 5, 2, 
   15861             :                         // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 13
   15862             :                         // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   15863             : /* 29111*/            /*Scope*/ 27, /*->29139*/
   15864             : /* 29112*/              OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15865             : /* 29114*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15866             : /* 29116*/              OPC_EmitMergeInputChains1_0,
   15867             : /* 29117*/              OPC_EmitInteger, MVT::i32, 0, 
   15868             : /* 29120*/              OPC_EmitInteger, MVT::i32, 0, 
   15869             : /* 29123*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15870             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   15871             : /* 29130*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15872             :                             4/*#Ops*/, 3, 1, 5, 2, 
   15873             :                         // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 13
   15874             :                         // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   15875             : /* 29139*/            0, /*End of Scope*/
   15876             : /* 29140*/          /*Scope*/ 63, /*->29204*/
   15877             : /* 29141*/            OPC_RecordChild2, // #2 = $val
   15878             : /* 29142*/            OPC_Scope, 29, /*->29173*/ // 2 children in Scope
   15879             : /* 29144*/              OPC_CheckChild2Type, MVT::i32,
   15880             : /* 29146*/              OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15881             : /* 29148*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15882             : /* 29150*/              OPC_EmitMergeInputChains1_0,
   15883             : /* 29151*/              OPC_EmitInteger, MVT::i32, 0, 
   15884             : /* 29154*/              OPC_EmitInteger, MVT::i32, 0, 
   15885             : /* 29157*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15886             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   15887             : /* 29164*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15888             :                             4/*#Ops*/, 3, 1, 5, 2, 
   15889             :                         // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 10
   15890             :                         // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   15891             : /* 29173*/            /*Scope*/ 29, /*->29203*/
   15892             : /* 29174*/              OPC_CheckChild2Type, MVT::i64,
   15893             : /* 29176*/              OPC_CheckPredicate, 8, // Predicate_atomic_store_64
   15894             : /* 29178*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15895             : /* 29180*/              OPC_EmitMergeInputChains1_0,
   15896             : /* 29181*/              OPC_EmitInteger, MVT::i32, 0, 
   15897             : /* 29184*/              OPC_EmitInteger, MVT::i32, 0, 
   15898             : /* 29187*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15899             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   15900             : /* 29194*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15901             :                             4/*#Ops*/, 3, 1, 5, 2, 
   15902             :                         // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 10
   15903             :                         // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   15904             : /* 29203*/            0, /*End of Scope*/
   15905             : /* 29204*/          0, /*End of Scope*/
   15906             : /* 29205*/        /*SwitchOpcode*/ 33|128,1/*161*/, TARGET_VAL(ISD::TargetExternalSymbol),// ->29370
   15907             : /* 29209*/          OPC_MoveParent,
   15908             : /* 29210*/          OPC_MoveParent,
   15909             : /* 29211*/          OPC_Scope, 92, /*->29305*/ // 2 children in Scope
   15910             : /* 29213*/            OPC_MoveChild2,
   15911             : /* 29214*/            OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   15912             : /* 29217*/            OPC_RecordChild0, // #2 = $val
   15913             : /* 29218*/            OPC_MoveParent,
   15914             : /* 29219*/            OPC_Scope, 27, /*->29248*/ // 3 children in Scope
   15915             : /* 29221*/              OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15916             : /* 29223*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15917             : /* 29225*/              OPC_EmitMergeInputChains1_0,
   15918             : /* 29226*/              OPC_EmitInteger, MVT::i32, 0, 
   15919             : /* 29229*/              OPC_EmitInteger, MVT::i32, 0, 
   15920             : /* 29232*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15921             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   15922             : /* 29239*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15923             :                             4/*#Ops*/, 3, 1, 5, 2, 
   15924             :                         // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 13
   15925             :                         // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   15926             : /* 29248*/            /*Scope*/ 27, /*->29276*/
   15927             : /* 29249*/              OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   15928             : /* 29251*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15929             : /* 29253*/              OPC_EmitMergeInputChains1_0,
   15930             : /* 29254*/              OPC_EmitInteger, MVT::i32, 0, 
   15931             : /* 29257*/              OPC_EmitInteger, MVT::i32, 0, 
   15932             : /* 29260*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15933             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   15934             : /* 29267*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15935             :                             4/*#Ops*/, 3, 1, 5, 2, 
   15936             :                         // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 13
   15937             :                         // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   15938             : /* 29276*/            /*Scope*/ 27, /*->29304*/
   15939             : /* 29277*/              OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15940             : /* 29279*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15941             : /* 29281*/              OPC_EmitMergeInputChains1_0,
   15942             : /* 29282*/              OPC_EmitInteger, MVT::i32, 0, 
   15943             : /* 29285*/              OPC_EmitInteger, MVT::i32, 0, 
   15944             : /* 29288*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15945             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   15946             : /* 29295*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15947             :                             4/*#Ops*/, 3, 1, 5, 2, 
   15948             :                         // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 13
   15949             :                         // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   15950             : /* 29304*/            0, /*End of Scope*/
   15951             : /* 29305*/          /*Scope*/ 63, /*->29369*/
   15952             : /* 29306*/            OPC_RecordChild2, // #2 = $val
   15953             : /* 29307*/            OPC_Scope, 29, /*->29338*/ // 2 children in Scope
   15954             : /* 29309*/              OPC_CheckChild2Type, MVT::i32,
   15955             : /* 29311*/              OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   15956             : /* 29313*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15957             : /* 29315*/              OPC_EmitMergeInputChains1_0,
   15958             : /* 29316*/              OPC_EmitInteger, MVT::i32, 0, 
   15959             : /* 29319*/              OPC_EmitInteger, MVT::i32, 0, 
   15960             : /* 29322*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15961             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   15962             : /* 29329*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   15963             :                             4/*#Ops*/, 3, 1, 5, 2, 
   15964             :                         // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 10
   15965             :                         // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   15966             : /* 29338*/            /*Scope*/ 29, /*->29368*/
   15967             : /* 29339*/              OPC_CheckChild2Type, MVT::i64,
   15968             : /* 29341*/              OPC_CheckPredicate, 8, // Predicate_atomic_store_64
   15969             : /* 29343*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15970             : /* 29345*/              OPC_EmitMergeInputChains1_0,
   15971             : /* 29346*/              OPC_EmitInteger, MVT::i32, 0, 
   15972             : /* 29349*/              OPC_EmitInteger, MVT::i32, 0, 
   15973             : /* 29352*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   15974             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   15975             : /* 29359*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   15976             :                             4/*#Ops*/, 3, 1, 5, 2, 
   15977             :                         // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 10
   15978             :                         // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   15979             : /* 29368*/            0, /*End of Scope*/
   15980             : /* 29369*/          0, /*End of Scope*/
   15981             : /* 29370*/        0, // EndSwitchOpcode
   15982             : /* 29371*/      0, // EndSwitchOpcode
   15983             : /* 29372*/    /*Scope*/ 104, /*->29477*/
   15984             : /* 29373*/      OPC_RecordChild1, // #1 = $off
   15985             : /* 29374*/      OPC_MoveChild1,
   15986             : /* 29375*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   15987             : /* 29378*/      OPC_MoveParent,
   15988             : /* 29379*/      OPC_MoveChild2,
   15989             : /* 29380*/      OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   15990             : /* 29383*/      OPC_RecordChild0, // #2 = $val
   15991             : /* 29384*/      OPC_MoveParent,
   15992             : /* 29385*/      OPC_Scope, 29, /*->29416*/ // 3 children in Scope
   15993             : /* 29387*/        OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   15994             : /* 29389*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   15995             : /* 29391*/        OPC_EmitMergeInputChains1_0,
   15996             : /* 29392*/        OPC_EmitInteger, MVT::i32, 0, 
   15997             : /* 29395*/        OPC_EmitConvertToTarget, 1,
   15998             : /* 29397*/        OPC_EmitInteger, MVT::i32, 0, 
   15999             : /* 29400*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   16000             :                       MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   16001             : /* 29407*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16002             :                       4/*#Ops*/, 3, 4, 6, 2, 
   16003             :                   // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 10
   16004             :                   // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   16005             : /* 29416*/      /*Scope*/ 29, /*->29446*/
   16006             : /* 29417*/        OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   16007             : /* 29419*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16008             : /* 29421*/        OPC_EmitMergeInputChains1_0,
   16009             : /* 29422*/        OPC_EmitInteger, MVT::i32, 0, 
   16010             : /* 29425*/        OPC_EmitConvertToTarget, 1,
   16011             : /* 29427*/        OPC_EmitInteger, MVT::i32, 0, 
   16012             : /* 29430*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   16013             :                       MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   16014             : /* 29437*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16015             :                       4/*#Ops*/, 3, 4, 6, 2, 
   16016             :                   // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 10
   16017             :                   // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   16018             : /* 29446*/      /*Scope*/ 29, /*->29476*/
   16019             : /* 29447*/        OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   16020             : /* 29449*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16021             : /* 29451*/        OPC_EmitMergeInputChains1_0,
   16022             : /* 29452*/        OPC_EmitInteger, MVT::i32, 0, 
   16023             : /* 29455*/        OPC_EmitConvertToTarget, 1,
   16024             : /* 29457*/        OPC_EmitInteger, MVT::i32, 0, 
   16025             : /* 29460*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   16026             :                       MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   16027             : /* 29467*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16028             :                       4/*#Ops*/, 3, 4, 6, 2, 
   16029             :                   // Src: (atomic_store (imm:{ *:[iPTR] }):$off, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 10
   16030             :                   // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   16031             : /* 29476*/      0, /*End of Scope*/
   16032             : /* 29477*/    /*Scope*/ 12|128,1/*140*/, /*->29619*/
   16033             : /* 29479*/      OPC_MoveChild1,
   16034             : /* 29480*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   16035             : /* 29483*/      OPC_RecordChild0, // #1 = $off
   16036             : /* 29484*/      OPC_MoveChild0,
   16037             : /* 29485*/      OPC_SwitchOpcode /*2 cases */, 63, TARGET_VAL(ISD::TargetGlobalAddress),// ->29552
   16038             : /* 29489*/        OPC_MoveParent,
   16039             : /* 29490*/        OPC_MoveParent,
   16040             : /* 29491*/        OPC_RecordChild2, // #2 = $val
   16041             : /* 29492*/        OPC_CheckChild2Type, MVT::i32,
   16042             : /* 29494*/        OPC_Scope, 27, /*->29523*/ // 2 children in Scope
   16043             : /* 29496*/          OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   16044             : /* 29498*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16045             : /* 29500*/          OPC_EmitMergeInputChains1_0,
   16046             : /* 29501*/          OPC_EmitInteger, MVT::i32, 0, 
   16047             : /* 29504*/          OPC_EmitInteger, MVT::i32, 0, 
   16048             : /* 29507*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   16049             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   16050             : /* 29514*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16051             :                         4/*#Ops*/, 3, 1, 5, 2, 
   16052             :                     // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 10
   16053             :                     // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   16054             : /* 29523*/        /*Scope*/ 27, /*->29551*/
   16055             : /* 29524*/          OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   16056             : /* 29526*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16057             : /* 29528*/          OPC_EmitMergeInputChains1_0,
   16058             : /* 29529*/          OPC_EmitInteger, MVT::i32, 0, 
   16059             : /* 29532*/          OPC_EmitInteger, MVT::i32, 0, 
   16060             : /* 29535*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   16061             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   16062             : /* 29542*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16063             :                         4/*#Ops*/, 3, 1, 5, 2, 
   16064             :                     // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 10
   16065             :                     // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   16066             : /* 29551*/        0, /*End of Scope*/
   16067             : /* 29552*/      /*SwitchOpcode*/ 63, TARGET_VAL(ISD::TargetExternalSymbol),// ->29618
   16068             : /* 29555*/        OPC_MoveParent,
   16069             : /* 29556*/        OPC_MoveParent,
   16070             : /* 29557*/        OPC_RecordChild2, // #2 = $val
   16071             : /* 29558*/        OPC_CheckChild2Type, MVT::i32,
   16072             : /* 29560*/        OPC_Scope, 27, /*->29589*/ // 2 children in Scope
   16073             : /* 29562*/          OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   16074             : /* 29564*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16075             : /* 29566*/          OPC_EmitMergeInputChains1_0,
   16076             : /* 29567*/          OPC_EmitInteger, MVT::i32, 0, 
   16077             : /* 29570*/          OPC_EmitInteger, MVT::i32, 0, 
   16078             : /* 29573*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   16079             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   16080             : /* 29580*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16081             :                         4/*#Ops*/, 3, 1, 5, 2, 
   16082             :                     // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 10
   16083             :                     // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   16084             : /* 29589*/        /*Scope*/ 27, /*->29617*/
   16085             : /* 29590*/          OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   16086             : /* 29592*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16087             : /* 29594*/          OPC_EmitMergeInputChains1_0,
   16088             : /* 29595*/          OPC_EmitInteger, MVT::i32, 0, 
   16089             : /* 29598*/          OPC_EmitInteger, MVT::i32, 0, 
   16090             : /* 29601*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   16091             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   16092             : /* 29608*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16093             :                         4/*#Ops*/, 3, 1, 5, 2, 
   16094             :                     // Src: (atomic_store (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 10
   16095             :                     // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   16096             : /* 29617*/        0, /*End of Scope*/
   16097             : /* 29618*/      0, // EndSwitchOpcode
   16098             : /* 29619*/    /*Scope*/ 55|128,2/*311*/, /*->29932*/
   16099             : /* 29621*/      OPC_RecordChild1, // #1 = $addr
   16100             : /* 29622*/      OPC_Scope, 73, /*->29697*/ // 3 children in Scope
   16101             : /* 29624*/        OPC_CheckChild1Type, MVT::i32,
   16102             : /* 29626*/        OPC_MoveChild2,
   16103             : /* 29627*/        OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   16104             : /* 29630*/        OPC_RecordChild0, // #2 = $val
   16105             : /* 29631*/        OPC_MoveParent,
   16106             : /* 29632*/        OPC_Scope, 20, /*->29654*/ // 3 children in Scope
   16107             : /* 29634*/          OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   16108             : /* 29636*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16109             : /* 29638*/          OPC_EmitMergeInputChains1_0,
   16110             : /* 29639*/          OPC_EmitInteger, MVT::i32, 0, 
   16111             : /* 29642*/          OPC_EmitInteger, MVT::i32, 0, 
   16112             : /* 29645*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16113             :                         4/*#Ops*/, 3, 4, 1, 2, 
   16114             :                     // Src: (atomic_store I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_8>> - Complexity = 7
   16115             :                     // Dst: (ATOMIC_STORE8_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   16116             : /* 29654*/        /*Scope*/ 20, /*->29675*/
   16117             : /* 29655*/          OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   16118             : /* 29657*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16119             : /* 29659*/          OPC_EmitMergeInputChains1_0,
   16120             : /* 29660*/          OPC_EmitInteger, MVT::i32, 0, 
   16121             : /* 29663*/          OPC_EmitInteger, MVT::i32, 0, 
   16122             : /* 29666*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16123             :                         4/*#Ops*/, 3, 4, 1, 2, 
   16124             :                     // Src: (atomic_store I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_16>> - Complexity = 7
   16125             :                     // Dst: (ATOMIC_STORE16_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   16126             : /* 29675*/        /*Scope*/ 20, /*->29696*/
   16127             : /* 29676*/          OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   16128             : /* 29678*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16129             : /* 29680*/          OPC_EmitMergeInputChains1_0,
   16130             : /* 29681*/          OPC_EmitInteger, MVT::i32, 0, 
   16131             : /* 29684*/          OPC_EmitInteger, MVT::i32, 0, 
   16132             : /* 29687*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16133             :                         4/*#Ops*/, 3, 4, 1, 2, 
   16134             :                     // Src: (atomic_store I32:{ *:[i32] }:$addr, (trunc:{ *:[i32] } i64:{ *:[i64] }:$val))<<P:Predicate_atomic_store_32>> - Complexity = 7
   16135             :                     // Dst: (ATOMIC_STORE32_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   16136             : /* 29696*/        0, /*End of Scope*/
   16137             : /* 29697*/      /*Scope*/ 7|128,1/*135*/, /*->29834*/
   16138             : /* 29699*/        OPC_MoveChild1,
   16139             : /* 29700*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   16140             : /* 29703*/        OPC_MoveParent,
   16141             : /* 29704*/        OPC_RecordChild2, // #2 = $val
   16142             : /* 29705*/        OPC_Scope, 94, /*->29801*/ // 2 children in Scope
   16143             : /* 29707*/          OPC_CheckChild2Type, MVT::i32,
   16144             : /* 29709*/          OPC_Scope, 29, /*->29740*/ // 3 children in Scope
   16145             : /* 29711*/            OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   16146             : /* 29713*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16147             : /* 29715*/            OPC_EmitMergeInputChains1_0,
   16148             : /* 29716*/            OPC_EmitInteger, MVT::i32, 0, 
   16149             : /* 29719*/            OPC_EmitConvertToTarget, 1,
   16150             : /* 29721*/            OPC_EmitInteger, MVT::i32, 0, 
   16151             : /* 29724*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   16152             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   16153             : /* 29731*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16154             :                           4/*#Ops*/, 3, 4, 6, 2, 
   16155             :                       // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 7
   16156             :                       // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   16157             : /* 29740*/          /*Scope*/ 29, /*->29770*/
   16158             : /* 29741*/            OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   16159             : /* 29743*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16160             : /* 29745*/            OPC_EmitMergeInputChains1_0,
   16161             : /* 29746*/            OPC_EmitInteger, MVT::i32, 0, 
   16162             : /* 29749*/            OPC_EmitConvertToTarget, 1,
   16163             : /* 29751*/            OPC_EmitInteger, MVT::i32, 0, 
   16164             : /* 29754*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   16165             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   16166             : /* 29761*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16167             :                           4/*#Ops*/, 3, 4, 6, 2, 
   16168             :                       // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 7
   16169             :                       // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   16170             : /* 29770*/          /*Scope*/ 29, /*->29800*/
   16171             : /* 29771*/            OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   16172             : /* 29773*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16173             : /* 29775*/            OPC_EmitMergeInputChains1_0,
   16174             : /* 29776*/            OPC_EmitInteger, MVT::i32, 0, 
   16175             : /* 29779*/            OPC_EmitConvertToTarget, 1,
   16176             : /* 29781*/            OPC_EmitInteger, MVT::i32, 0, 
   16177             : /* 29784*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   16178             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   16179             : /* 29791*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16180             :                           4/*#Ops*/, 3, 4, 6, 2, 
   16181             :                       // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 7
   16182             :                       // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   16183             : /* 29800*/          0, /*End of Scope*/
   16184             : /* 29801*/        /*Scope*/ 31, /*->29833*/
   16185             : /* 29802*/          OPC_CheckChild2Type, MVT::i64,
   16186             : /* 29804*/          OPC_CheckPredicate, 8, // Predicate_atomic_store_64
   16187             : /* 29806*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16188             : /* 29808*/          OPC_EmitMergeInputChains1_0,
   16189             : /* 29809*/          OPC_EmitInteger, MVT::i32, 0, 
   16190             : /* 29812*/          OPC_EmitConvertToTarget, 1,
   16191             : /* 29814*/          OPC_EmitInteger, MVT::i32, 0, 
   16192             : /* 29817*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   16193             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   16194             : /* 29824*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16195             :                         4/*#Ops*/, 3, 4, 6, 2, 
   16196             :                     // Src: (atomic_store (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 7
   16197             :                     // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   16198             : /* 29833*/        0, /*End of Scope*/
   16199             : /* 29834*/      /*Scope*/ 96, /*->29931*/
   16200             : /* 29835*/        OPC_CheckChild1Type, MVT::i32,
   16201             : /* 29837*/        OPC_RecordChild2, // #2 = $val
   16202             : /* 29838*/        OPC_Scope, 67, /*->29907*/ // 2 children in Scope
   16203             : /* 29840*/          OPC_CheckChild2Type, MVT::i32,
   16204             : /* 29842*/          OPC_Scope, 20, /*->29864*/ // 3 children in Scope
   16205             : /* 29844*/            OPC_CheckPredicate, 7, // Predicate_atomic_store_32
   16206             : /* 29846*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16207             : /* 29848*/            OPC_EmitMergeInputChains1_0,
   16208             : /* 29849*/            OPC_EmitInteger, MVT::i32, 0, 
   16209             : /* 29852*/            OPC_EmitInteger, MVT::i32, 0, 
   16210             : /* 29855*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16211             :                           4/*#Ops*/, 3, 4, 1, 2, 
   16212             :                       // Src: (atomic_store I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>> - Complexity = 4
   16213             :                       // Dst: (ATOMIC_STORE_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   16214             : /* 29864*/          /*Scope*/ 20, /*->29885*/
   16215             : /* 29865*/            OPC_CheckPredicate, 1, // Predicate_atomic_store_8
   16216             : /* 29867*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16217             : /* 29869*/            OPC_EmitMergeInputChains1_0,
   16218             : /* 29870*/            OPC_EmitInteger, MVT::i32, 0, 
   16219             : /* 29873*/            OPC_EmitInteger, MVT::i32, 0, 
   16220             : /* 29876*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16221             :                           4/*#Ops*/, 3, 4, 1, 2, 
   16222             :                       // Src: (atomic_store I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>> - Complexity = 4
   16223             :                       // Dst: (ATOMIC_STORE8_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   16224             : /* 29885*/          /*Scope*/ 20, /*->29906*/
   16225             : /* 29886*/            OPC_CheckPredicate, 2, // Predicate_atomic_store_16
   16226             : /* 29888*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16227             : /* 29890*/            OPC_EmitMergeInputChains1_0,
   16228             : /* 29891*/            OPC_EmitInteger, MVT::i32, 0, 
   16229             : /* 29894*/            OPC_EmitInteger, MVT::i32, 0, 
   16230             : /* 29897*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16231             :                           4/*#Ops*/, 3, 4, 1, 2, 
   16232             :                       // Src: (atomic_store I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>> - Complexity = 4
   16233             :                       // Dst: (ATOMIC_STORE16_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   16234             : /* 29906*/          0, /*End of Scope*/
   16235             : /* 29907*/        /*Scope*/ 22, /*->29930*/
   16236             : /* 29908*/          OPC_CheckChild2Type, MVT::i64,
   16237             : /* 29910*/          OPC_CheckPredicate, 8, // Predicate_atomic_store_64
   16238             : /* 29912*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   16239             : /* 29914*/          OPC_EmitMergeInputChains1_0,
   16240             : /* 29915*/          OPC_EmitInteger, MVT::i32, 0, 
   16241             : /* 29918*/          OPC_EmitInteger, MVT::i32, 0, 
   16242             : /* 29921*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::ATOMIC_STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16243             :                         4/*#Ops*/, 3, 4, 1, 2, 
   16244             :                     // Src: (atomic_store I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>> - Complexity = 4
   16245             :                     // Dst: (ATOMIC_STORE_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   16246             : /* 29930*/        0, /*End of Scope*/
   16247             : /* 29931*/      0, /*End of Scope*/
   16248             : /* 29932*/    0, /*End of Scope*/
   16249             : /* 29933*/  /*SwitchOpcode*/ 79|128,48/*6223*/, TARGET_VAL(ISD::LOAD),// ->36160
   16250             : /* 29937*/    OPC_RecordMemRef,
   16251             : /* 29938*/    OPC_RecordNode, // #0 = 'ld' chained node
   16252             : /* 29939*/    OPC_Scope, 104|128,24/*3176*/, /*->33118*/ // 8 children in Scope
   16253             : /* 29942*/      OPC_MoveChild1,
   16254             : /* 29943*/      OPC_SwitchOpcode /*3 cases */, 97|128,13/*1761*/, TARGET_VAL(ISD::ADD),// ->31709
   16255             : /* 29948*/        OPC_Scope, 93|128,2/*349*/, /*->30300*/ // 5 children in Scope
   16256             : /* 29951*/          OPC_RecordChild0, // #1 = $addr
   16257             : /* 29952*/          OPC_MoveChild1,
   16258             : /* 29953*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   16259             : /* 29956*/          OPC_RecordChild0, // #2 = $off
   16260             : /* 29957*/          OPC_MoveChild0,
   16261             : /* 29958*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   16262             : /* 29961*/          OPC_MoveParent,
   16263             : /* 29962*/          OPC_MoveParent,
   16264             : /* 29963*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   16265             : /* 29965*/          OPC_CheckType, MVT::i32,
   16266             : /* 29967*/          OPC_MoveParent,
   16267             : /* 29968*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   16268             : /* 29970*/          OPC_Scope, 34, /*->30006*/ // 12 children in Scope
   16269             : /* 29972*/            OPC_CheckPredicate, 10, // Predicate_load
   16270             : /* 29974*/            OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->29990
   16271             : /* 29977*/              OPC_EmitMergeInputChains1_0,
   16272             : /* 29978*/              OPC_EmitInteger, MVT::i32, 0, 
   16273             : /* 29981*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16274             :                             MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16275             :                         // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   16276             :                         // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16277             : /* 29990*/            /*SwitchType*/ 13, MVT::i64,// ->30005
   16278             : /* 29992*/              OPC_EmitMergeInputChains1_0,
   16279             : /* 29993*/              OPC_EmitInteger, MVT::i32, 0, 
   16280             : /* 29996*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16281             :                             MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16282             :                         // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   16283             :                         // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16284             : /* 30005*/            0, // EndSwitchType
   16285             : /* 30006*/          /*Scope*/ 19, /*->30026*/
   16286             : /* 30007*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16287             : /* 30009*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   16288             : /* 30011*/            OPC_CheckType, MVT::i32,
   16289             : /* 30013*/            OPC_EmitMergeInputChains1_0,
   16290             : /* 30014*/            OPC_EmitInteger, MVT::i32, 0, 
   16291             : /* 30017*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16292             :                           MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16293             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 14
   16294             :                       // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16295             : /* 30026*/          /*Scope*/ 19, /*->30046*/
   16296             : /* 30027*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16297             : /* 30029*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   16298             : /* 30031*/            OPC_CheckType, MVT::i32,
   16299             : /* 30033*/            OPC_EmitMergeInputChains1_0,
   16300             : /* 30034*/            OPC_EmitInteger, MVT::i32, 0, 
   16301             : /* 30037*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16302             :                           MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16303             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 14
   16304             :                       // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16305             : /* 30046*/          /*Scope*/ 19, /*->30066*/
   16306             : /* 30047*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16307             : /* 30049*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   16308             : /* 30051*/            OPC_CheckType, MVT::i32,
   16309             : /* 30053*/            OPC_EmitMergeInputChains1_0,
   16310             : /* 30054*/            OPC_EmitInteger, MVT::i32, 0, 
   16311             : /* 30057*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16312             :                           MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16313             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 14
   16314             :                       // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16315             : /* 30066*/          /*Scope*/ 19, /*->30086*/
   16316             : /* 30067*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16317             : /* 30069*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   16318             : /* 30071*/            OPC_CheckType, MVT::i32,
   16319             : /* 30073*/            OPC_EmitMergeInputChains1_0,
   16320             : /* 30074*/            OPC_EmitInteger, MVT::i32, 0, 
   16321             : /* 30077*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16322             :                           MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16323             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 14
   16324             :                       // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16325             : /* 30086*/          /*Scope*/ 19, /*->30106*/
   16326             : /* 30087*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16327             : /* 30089*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   16328             : /* 30091*/            OPC_CheckType, MVT::i64,
   16329             : /* 30093*/            OPC_EmitMergeInputChains1_0,
   16330             : /* 30094*/            OPC_EmitInteger, MVT::i32, 0, 
   16331             : /* 30097*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16332             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16333             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 14
   16334             :                       // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16335             : /* 30106*/          /*Scope*/ 19, /*->30126*/
   16336             : /* 30107*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16337             : /* 30109*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   16338             : /* 30111*/            OPC_CheckType, MVT::i64,
   16339             : /* 30113*/            OPC_EmitMergeInputChains1_0,
   16340             : /* 30114*/            OPC_EmitInteger, MVT::i32, 0, 
   16341             : /* 30117*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16342             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16343             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 14
   16344             :                       // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16345             : /* 30126*/          /*Scope*/ 19, /*->30146*/
   16346             : /* 30127*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16347             : /* 30129*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   16348             : /* 30131*/            OPC_CheckType, MVT::i64,
   16349             : /* 30133*/            OPC_EmitMergeInputChains1_0,
   16350             : /* 30134*/            OPC_EmitInteger, MVT::i32, 0, 
   16351             : /* 30137*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16352             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16353             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 14
   16354             :                       // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16355             : /* 30146*/          /*Scope*/ 19, /*->30166*/
   16356             : /* 30147*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16357             : /* 30149*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   16358             : /* 30151*/            OPC_CheckType, MVT::i64,
   16359             : /* 30153*/            OPC_EmitMergeInputChains1_0,
   16360             : /* 30154*/            OPC_EmitInteger, MVT::i32, 0, 
   16361             : /* 30157*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16362             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16363             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 14
   16364             :                       // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16365             : /* 30166*/          /*Scope*/ 19, /*->30186*/
   16366             : /* 30167*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16367             : /* 30169*/            OPC_CheckPredicate, 15, // Predicate_sextloadi32
   16368             : /* 30171*/            OPC_CheckType, MVT::i64,
   16369             : /* 30173*/            OPC_EmitMergeInputChains1_0,
   16370             : /* 30174*/            OPC_EmitInteger, MVT::i32, 0, 
   16371             : /* 30177*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16372             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16373             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 14
   16374             :                       // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16375             : /* 30186*/          /*Scope*/ 19, /*->30206*/
   16376             : /* 30187*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16377             : /* 30189*/            OPC_CheckPredicate, 15, // Predicate_zextloadi32
   16378             : /* 30191*/            OPC_CheckType, MVT::i64,
   16379             : /* 30193*/            OPC_EmitMergeInputChains1_0,
   16380             : /* 30194*/            OPC_EmitInteger, MVT::i32, 0, 
   16381             : /* 30197*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16382             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16383             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 14
   16384             :                       // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16385             : /* 30206*/          /*Scope*/ 92, /*->30299*/
   16386             : /* 30207*/            OPC_CheckPredicate, 16, // Predicate_extload
   16387             : /* 30209*/            OPC_SwitchType /*2 cases */, 34, MVT::i32,// ->30246
   16388             : /* 30212*/              OPC_Scope, 15, /*->30229*/ // 2 children in Scope
   16389             : /* 30214*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   16390             : /* 30216*/                OPC_EmitMergeInputChains1_0,
   16391             : /* 30217*/                OPC_EmitInteger, MVT::i32, 0, 
   16392             : /* 30220*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16393             :                               MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16394             :                           // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 14
   16395             :                           // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16396             : /* 30229*/              /*Scope*/ 15, /*->30245*/
   16397             : /* 30230*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   16398             : /* 30232*/                OPC_EmitMergeInputChains1_0,
   16399             : /* 30233*/                OPC_EmitInteger, MVT::i32, 0, 
   16400             : /* 30236*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16401             :                               MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16402             :                           // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 14
   16403             :                           // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16404             : /* 30245*/              0, /*End of Scope*/
   16405             : /* 30246*/            /*SwitchType*/ 50, MVT::i64,// ->30298
   16406             : /* 30248*/              OPC_Scope, 15, /*->30265*/ // 3 children in Scope
   16407             : /* 30250*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   16408             : /* 30252*/                OPC_EmitMergeInputChains1_0,
   16409             : /* 30253*/                OPC_EmitInteger, MVT::i32, 0, 
   16410             : /* 30256*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16411             :                               MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16412             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 14
   16413             :                           // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16414             : /* 30265*/              /*Scope*/ 15, /*->30281*/
   16415             : /* 30266*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   16416             : /* 30268*/                OPC_EmitMergeInputChains1_0,
   16417             : /* 30269*/                OPC_EmitInteger, MVT::i32, 0, 
   16418             : /* 30272*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16419             :                               MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16420             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 14
   16421             :                           // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16422             : /* 30281*/              /*Scope*/ 15, /*->30297*/
   16423             : /* 30282*/                OPC_CheckPredicate, 15, // Predicate_extloadi32
   16424             : /* 30284*/                OPC_EmitMergeInputChains1_0,
   16425             : /* 30285*/                OPC_EmitInteger, MVT::i32, 0, 
   16426             : /* 30288*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16427             :                               MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16428             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 14
   16429             :                           // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16430             : /* 30297*/              0, /*End of Scope*/
   16431             : /* 30298*/            0, // EndSwitchType
   16432             : /* 30299*/          0, /*End of Scope*/
   16433             : /* 30300*/        /*Scope*/ 72|128,2/*328*/, /*->30630*/
   16434             : /* 30302*/          OPC_MoveChild0,
   16435             : /* 30303*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   16436             : /* 30306*/          OPC_RecordChild0, // #1 = $off
   16437             : /* 30307*/          OPC_MoveChild0,
   16438             : /* 30308*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   16439             : /* 30311*/          OPC_MoveParent,
   16440             : /* 30312*/          OPC_MoveParent,
   16441             : /* 30313*/          OPC_RecordChild1, // #2 = $addr
   16442             : /* 30314*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   16443             : /* 30316*/          OPC_CheckType, MVT::i32,
   16444             : /* 30318*/          OPC_MoveParent,
   16445             : /* 30319*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   16446             : /* 30321*/          OPC_Scope, 19, /*->30342*/ // 10 children in Scope
   16447             : /* 30323*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16448             : /* 30325*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   16449             : /* 30327*/            OPC_CheckType, MVT::i32,
   16450             : /* 30329*/            OPC_EmitMergeInputChains1_0,
   16451             : /* 30330*/            OPC_EmitInteger, MVT::i32, 0, 
   16452             : /* 30333*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16453             :                           MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16454             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 14
   16455             :                       // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16456             : /* 30342*/          /*Scope*/ 19, /*->30362*/
   16457             : /* 30343*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16458             : /* 30345*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   16459             : /* 30347*/            OPC_CheckType, MVT::i32,
   16460             : /* 30349*/            OPC_EmitMergeInputChains1_0,
   16461             : /* 30350*/            OPC_EmitInteger, MVT::i32, 0, 
   16462             : /* 30353*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16463             :                           MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16464             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 14
   16465             :                       // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16466             : /* 30362*/          /*Scope*/ 38, /*->30401*/
   16467             : /* 30363*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16468             : /* 30365*/            OPC_SwitchType /*2 cases */, 15, MVT::i32,// ->30383
   16469             : /* 30368*/              OPC_CheckPredicate, 14, // Predicate_sextloadi16
   16470             : /* 30370*/              OPC_EmitMergeInputChains1_0,
   16471             : /* 30371*/              OPC_EmitInteger, MVT::i32, 0, 
   16472             : /* 30374*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16473             :                             MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16474             :                         // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 14
   16475             :                         // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16476             : /* 30383*/            /*SwitchType*/ 15, MVT::i64,// ->30400
   16477             : /* 30385*/              OPC_CheckPredicate, 12, // Predicate_sextloadi8
   16478             : /* 30387*/              OPC_EmitMergeInputChains1_0,
   16479             : /* 30388*/              OPC_EmitInteger, MVT::i32, 0, 
   16480             : /* 30391*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16481             :                             MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16482             :                         // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 14
   16483             :                         // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16484             : /* 30400*/            0, // EndSwitchType
   16485             : /* 30401*/          /*Scope*/ 19, /*->30421*/
   16486             : /* 30402*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16487             : /* 30404*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   16488             : /* 30406*/            OPC_CheckType, MVT::i64,
   16489             : /* 30408*/            OPC_EmitMergeInputChains1_0,
   16490             : /* 30409*/            OPC_EmitInteger, MVT::i32, 0, 
   16491             : /* 30412*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16492             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16493             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 14
   16494             :                       // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16495             : /* 30421*/          /*Scope*/ 19, /*->30441*/
   16496             : /* 30422*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16497             : /* 30424*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   16498             : /* 30426*/            OPC_CheckType, MVT::i64,
   16499             : /* 30428*/            OPC_EmitMergeInputChains1_0,
   16500             : /* 30429*/            OPC_EmitInteger, MVT::i32, 0, 
   16501             : /* 30432*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16502             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16503             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 14
   16504             :                       // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16505             : /* 30441*/          /*Scope*/ 19, /*->30461*/
   16506             : /* 30442*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16507             : /* 30444*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   16508             : /* 30446*/            OPC_CheckType, MVT::i64,
   16509             : /* 30448*/            OPC_EmitMergeInputChains1_0,
   16510             : /* 30449*/            OPC_EmitInteger, MVT::i32, 0, 
   16511             : /* 30452*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16512             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16513             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 14
   16514             :                       // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16515             : /* 30461*/          /*Scope*/ 19, /*->30481*/
   16516             : /* 30462*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16517             : /* 30464*/            OPC_CheckPredicate, 15, // Predicate_sextloadi32
   16518             : /* 30466*/            OPC_CheckType, MVT::i64,
   16519             : /* 30468*/            OPC_EmitMergeInputChains1_0,
   16520             : /* 30469*/            OPC_EmitInteger, MVT::i32, 0, 
   16521             : /* 30472*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16522             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16523             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 14
   16524             :                       // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16525             : /* 30481*/          /*Scope*/ 19, /*->30501*/
   16526             : /* 30482*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16527             : /* 30484*/            OPC_CheckPredicate, 15, // Predicate_zextloadi32
   16528             : /* 30486*/            OPC_CheckType, MVT::i64,
   16529             : /* 30488*/            OPC_EmitMergeInputChains1_0,
   16530             : /* 30489*/            OPC_EmitInteger, MVT::i32, 0, 
   16531             : /* 30492*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16532             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16533             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 14
   16534             :                       // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16535             : /* 30501*/          /*Scope*/ 92, /*->30594*/
   16536             : /* 30502*/            OPC_CheckPredicate, 16, // Predicate_extload
   16537             : /* 30504*/            OPC_SwitchType /*2 cases */, 34, MVT::i32,// ->30541
   16538             : /* 30507*/              OPC_Scope, 15, /*->30524*/ // 2 children in Scope
   16539             : /* 30509*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   16540             : /* 30511*/                OPC_EmitMergeInputChains1_0,
   16541             : /* 30512*/                OPC_EmitInteger, MVT::i32, 0, 
   16542             : /* 30515*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16543             :                               MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16544             :                           // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 14
   16545             :                           // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16546             : /* 30524*/              /*Scope*/ 15, /*->30540*/
   16547             : /* 30525*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   16548             : /* 30527*/                OPC_EmitMergeInputChains1_0,
   16549             : /* 30528*/                OPC_EmitInteger, MVT::i32, 0, 
   16550             : /* 30531*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16551             :                               MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16552             :                           // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 14
   16553             :                           // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16554             : /* 30540*/              0, /*End of Scope*/
   16555             : /* 30541*/            /*SwitchType*/ 50, MVT::i64,// ->30593
   16556             : /* 30543*/              OPC_Scope, 15, /*->30560*/ // 3 children in Scope
   16557             : /* 30545*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   16558             : /* 30547*/                OPC_EmitMergeInputChains1_0,
   16559             : /* 30548*/                OPC_EmitInteger, MVT::i32, 0, 
   16560             : /* 30551*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16561             :                               MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16562             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 14
   16563             :                           // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16564             : /* 30560*/              /*Scope*/ 15, /*->30576*/
   16565             : /* 30561*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   16566             : /* 30563*/                OPC_EmitMergeInputChains1_0,
   16567             : /* 30564*/                OPC_EmitInteger, MVT::i32, 0, 
   16568             : /* 30567*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16569             :                               MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16570             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 14
   16571             :                           // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16572             : /* 30576*/              /*Scope*/ 15, /*->30592*/
   16573             : /* 30577*/                OPC_CheckPredicate, 15, // Predicate_extloadi32
   16574             : /* 30579*/                OPC_EmitMergeInputChains1_0,
   16575             : /* 30580*/                OPC_EmitInteger, MVT::i32, 0, 
   16576             : /* 30583*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16577             :                               MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16578             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 14
   16579             :                           // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16580             : /* 30592*/              0, /*End of Scope*/
   16581             : /* 30593*/            0, // EndSwitchType
   16582             : /* 30594*/          /*Scope*/ 34, /*->30629*/
   16583             : /* 30595*/            OPC_CheckPredicate, 10, // Predicate_load
   16584             : /* 30597*/            OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->30613
   16585             : /* 30600*/              OPC_EmitMergeInputChains1_0,
   16586             : /* 30601*/              OPC_EmitInteger, MVT::i32, 0, 
   16587             : /* 30604*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16588             :                             MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16589             :                         // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   16590             :                         // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16591             : /* 30613*/            /*SwitchType*/ 13, MVT::i64,// ->30628
   16592             : /* 30615*/              OPC_EmitMergeInputChains1_0,
   16593             : /* 30616*/              OPC_EmitInteger, MVT::i32, 0, 
   16594             : /* 30619*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16595             :                             MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16596             :                         // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   16597             :                         // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16598             : /* 30628*/            0, // EndSwitchType
   16599             : /* 30629*/          0, /*End of Scope*/
   16600             : /* 30630*/        /*Scope*/ 91|128,2/*347*/, /*->30979*/
   16601             : /* 30632*/          OPC_RecordChild0, // #1 = $addr
   16602             : /* 30633*/          OPC_MoveChild1,
   16603             : /* 30634*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   16604             : /* 30637*/          OPC_RecordChild0, // #2 = $off
   16605             : /* 30638*/          OPC_MoveChild0,
   16606             : /* 30639*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   16607             : /* 30642*/          OPC_MoveParent,
   16608             : /* 30643*/          OPC_MoveParent,
   16609             : /* 30644*/          OPC_CheckType, MVT::i32,
   16610             : /* 30646*/          OPC_MoveParent,
   16611             : /* 30647*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   16612             : /* 30649*/          OPC_Scope, 34, /*->30685*/ // 12 children in Scope
   16613             : /* 30651*/            OPC_CheckPredicate, 10, // Predicate_load
   16614             : /* 30653*/            OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->30669
   16615             : /* 30656*/              OPC_EmitMergeInputChains1_0,
   16616             : /* 30657*/              OPC_EmitInteger, MVT::i32, 0, 
   16617             : /* 30660*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16618             :                             MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16619             :                         // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   16620             :                         // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16621             : /* 30669*/            /*SwitchType*/ 13, MVT::i64,// ->30684
   16622             : /* 30671*/              OPC_EmitMergeInputChains1_0,
   16623             : /* 30672*/              OPC_EmitInteger, MVT::i32, 0, 
   16624             : /* 30675*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16625             :                             MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16626             :                         // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   16627             :                         // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16628             : /* 30684*/            0, // EndSwitchType
   16629             : /* 30685*/          /*Scope*/ 19, /*->30705*/
   16630             : /* 30686*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16631             : /* 30688*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   16632             : /* 30690*/            OPC_CheckType, MVT::i32,
   16633             : /* 30692*/            OPC_EmitMergeInputChains1_0,
   16634             : /* 30693*/            OPC_EmitInteger, MVT::i32, 0, 
   16635             : /* 30696*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16636             :                           MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16637             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 13
   16638             :                       // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16639             : /* 30705*/          /*Scope*/ 19, /*->30725*/
   16640             : /* 30706*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16641             : /* 30708*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   16642             : /* 30710*/            OPC_CheckType, MVT::i32,
   16643             : /* 30712*/            OPC_EmitMergeInputChains1_0,
   16644             : /* 30713*/            OPC_EmitInteger, MVT::i32, 0, 
   16645             : /* 30716*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16646             :                           MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16647             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
   16648             :                       // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16649             : /* 30725*/          /*Scope*/ 19, /*->30745*/
   16650             : /* 30726*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16651             : /* 30728*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   16652             : /* 30730*/            OPC_CheckType, MVT::i32,
   16653             : /* 30732*/            OPC_EmitMergeInputChains1_0,
   16654             : /* 30733*/            OPC_EmitInteger, MVT::i32, 0, 
   16655             : /* 30736*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16656             :                           MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16657             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 13
   16658             :                       // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16659             : /* 30745*/          /*Scope*/ 19, /*->30765*/
   16660             : /* 30746*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16661             : /* 30748*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   16662             : /* 30750*/            OPC_CheckType, MVT::i32,
   16663             : /* 30752*/            OPC_EmitMergeInputChains1_0,
   16664             : /* 30753*/            OPC_EmitInteger, MVT::i32, 0, 
   16665             : /* 30756*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16666             :                           MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16667             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
   16668             :                       // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16669             : /* 30765*/          /*Scope*/ 19, /*->30785*/
   16670             : /* 30766*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16671             : /* 30768*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   16672             : /* 30770*/            OPC_CheckType, MVT::i64,
   16673             : /* 30772*/            OPC_EmitMergeInputChains1_0,
   16674             : /* 30773*/            OPC_EmitInteger, MVT::i32, 0, 
   16675             : /* 30776*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16676             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16677             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 13
   16678             :                       // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16679             : /* 30785*/          /*Scope*/ 19, /*->30805*/
   16680             : /* 30786*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16681             : /* 30788*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   16682             : /* 30790*/            OPC_CheckType, MVT::i64,
   16683             : /* 30792*/            OPC_EmitMergeInputChains1_0,
   16684             : /* 30793*/            OPC_EmitInteger, MVT::i32, 0, 
   16685             : /* 30796*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16686             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16687             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
   16688             :                       // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16689             : /* 30805*/          /*Scope*/ 19, /*->30825*/
   16690             : /* 30806*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16691             : /* 30808*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   16692             : /* 30810*/            OPC_CheckType, MVT::i64,
   16693             : /* 30812*/            OPC_EmitMergeInputChains1_0,
   16694             : /* 30813*/            OPC_EmitInteger, MVT::i32, 0, 
   16695             : /* 30816*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16696             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16697             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 13
   16698             :                       // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16699             : /* 30825*/          /*Scope*/ 19, /*->30845*/
   16700             : /* 30826*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16701             : /* 30828*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   16702             : /* 30830*/            OPC_CheckType, MVT::i64,
   16703             : /* 30832*/            OPC_EmitMergeInputChains1_0,
   16704             : /* 30833*/            OPC_EmitInteger, MVT::i32, 0, 
   16705             : /* 30836*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16706             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16707             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
   16708             :                       // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16709             : /* 30845*/          /*Scope*/ 19, /*->30865*/
   16710             : /* 30846*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16711             : /* 30848*/            OPC_CheckPredicate, 15, // Predicate_sextloadi32
   16712             : /* 30850*/            OPC_CheckType, MVT::i64,
   16713             : /* 30852*/            OPC_EmitMergeInputChains1_0,
   16714             : /* 30853*/            OPC_EmitInteger, MVT::i32, 0, 
   16715             : /* 30856*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16716             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16717             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 13
   16718             :                       // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16719             : /* 30865*/          /*Scope*/ 19, /*->30885*/
   16720             : /* 30866*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16721             : /* 30868*/            OPC_CheckPredicate, 15, // Predicate_zextloadi32
   16722             : /* 30870*/            OPC_CheckType, MVT::i64,
   16723             : /* 30872*/            OPC_EmitMergeInputChains1_0,
   16724             : /* 30873*/            OPC_EmitInteger, MVT::i32, 0, 
   16725             : /* 30876*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16726             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16727             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 13
   16728             :                       // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16729             : /* 30885*/          /*Scope*/ 92, /*->30978*/
   16730             : /* 30886*/            OPC_CheckPredicate, 16, // Predicate_extload
   16731             : /* 30888*/            OPC_SwitchType /*2 cases */, 34, MVT::i32,// ->30925
   16732             : /* 30891*/              OPC_Scope, 15, /*->30908*/ // 2 children in Scope
   16733             : /* 30893*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   16734             : /* 30895*/                OPC_EmitMergeInputChains1_0,
   16735             : /* 30896*/                OPC_EmitInteger, MVT::i32, 0, 
   16736             : /* 30899*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16737             :                               MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16738             :                           // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
   16739             :                           // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16740             : /* 30908*/              /*Scope*/ 15, /*->30924*/
   16741             : /* 30909*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   16742             : /* 30911*/                OPC_EmitMergeInputChains1_0,
   16743             : /* 30912*/                OPC_EmitInteger, MVT::i32, 0, 
   16744             : /* 30915*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16745             :                               MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   16746             :                           // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
   16747             :                           // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16748             : /* 30924*/              0, /*End of Scope*/
   16749             : /* 30925*/            /*SwitchType*/ 50, MVT::i64,// ->30977
   16750             : /* 30927*/              OPC_Scope, 15, /*->30944*/ // 3 children in Scope
   16751             : /* 30929*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   16752             : /* 30931*/                OPC_EmitMergeInputChains1_0,
   16753             : /* 30932*/                OPC_EmitInteger, MVT::i32, 0, 
   16754             : /* 30935*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16755             :                               MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16756             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
   16757             :                           // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16758             : /* 30944*/              /*Scope*/ 15, /*->30960*/
   16759             : /* 30945*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   16760             : /* 30947*/                OPC_EmitMergeInputChains1_0,
   16761             : /* 30948*/                OPC_EmitInteger, MVT::i32, 0, 
   16762             : /* 30951*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16763             :                               MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16764             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
   16765             :                           // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16766             : /* 30960*/              /*Scope*/ 15, /*->30976*/
   16767             : /* 30961*/                OPC_CheckPredicate, 15, // Predicate_extloadi32
   16768             : /* 30963*/                OPC_EmitMergeInputChains1_0,
   16769             : /* 30964*/                OPC_EmitInteger, MVT::i32, 0, 
   16770             : /* 30967*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16771             :                               MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   16772             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 13
   16773             :                           // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16774             : /* 30976*/              0, /*End of Scope*/
   16775             : /* 30977*/            0, // EndSwitchType
   16776             : /* 30978*/          0, /*End of Scope*/
   16777             : /* 30979*/        /*Scope*/ 91|128,2/*347*/, /*->31328*/
   16778             : /* 30981*/          OPC_MoveChild0,
   16779             : /* 30982*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   16780             : /* 30985*/          OPC_RecordChild0, // #1 = $off
   16781             : /* 30986*/          OPC_MoveChild0,
   16782             : /* 30987*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   16783             : /* 30990*/          OPC_MoveParent,
   16784             : /* 30991*/          OPC_MoveParent,
   16785             : /* 30992*/          OPC_RecordChild1, // #2 = $addr
   16786             : /* 30993*/          OPC_CheckType, MVT::i32,
   16787             : /* 30995*/          OPC_MoveParent,
   16788             : /* 30996*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   16789             : /* 30998*/          OPC_Scope, 19, /*->31019*/ // 12 children in Scope
   16790             : /* 31000*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16791             : /* 31002*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   16792             : /* 31004*/            OPC_CheckType, MVT::i32,
   16793             : /* 31006*/            OPC_EmitMergeInputChains1_0,
   16794             : /* 31007*/            OPC_EmitInteger, MVT::i32, 0, 
   16795             : /* 31010*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16796             :                           MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16797             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 13
   16798             :                       // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16799             : /* 31019*/          /*Scope*/ 19, /*->31039*/
   16800             : /* 31020*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16801             : /* 31022*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   16802             : /* 31024*/            OPC_CheckType, MVT::i32,
   16803             : /* 31026*/            OPC_EmitMergeInputChains1_0,
   16804             : /* 31027*/            OPC_EmitInteger, MVT::i32, 0, 
   16805             : /* 31030*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16806             :                           MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16807             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
   16808             :                       // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16809             : /* 31039*/          /*Scope*/ 19, /*->31059*/
   16810             : /* 31040*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16811             : /* 31042*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   16812             : /* 31044*/            OPC_CheckType, MVT::i32,
   16813             : /* 31046*/            OPC_EmitMergeInputChains1_0,
   16814             : /* 31047*/            OPC_EmitInteger, MVT::i32, 0, 
   16815             : /* 31050*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16816             :                           MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16817             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 13
   16818             :                       // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16819             : /* 31059*/          /*Scope*/ 19, /*->31079*/
   16820             : /* 31060*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16821             : /* 31062*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   16822             : /* 31064*/            OPC_CheckType, MVT::i32,
   16823             : /* 31066*/            OPC_EmitMergeInputChains1_0,
   16824             : /* 31067*/            OPC_EmitInteger, MVT::i32, 0, 
   16825             : /* 31070*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16826             :                           MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16827             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
   16828             :                       // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16829             : /* 31079*/          /*Scope*/ 19, /*->31099*/
   16830             : /* 31080*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16831             : /* 31082*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   16832             : /* 31084*/            OPC_CheckType, MVT::i64,
   16833             : /* 31086*/            OPC_EmitMergeInputChains1_0,
   16834             : /* 31087*/            OPC_EmitInteger, MVT::i32, 0, 
   16835             : /* 31090*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16836             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16837             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 13
   16838             :                       // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16839             : /* 31099*/          /*Scope*/ 19, /*->31119*/
   16840             : /* 31100*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16841             : /* 31102*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   16842             : /* 31104*/            OPC_CheckType, MVT::i64,
   16843             : /* 31106*/            OPC_EmitMergeInputChains1_0,
   16844             : /* 31107*/            OPC_EmitInteger, MVT::i32, 0, 
   16845             : /* 31110*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16846             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16847             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
   16848             :                       // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16849             : /* 31119*/          /*Scope*/ 19, /*->31139*/
   16850             : /* 31120*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16851             : /* 31122*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   16852             : /* 31124*/            OPC_CheckType, MVT::i64,
   16853             : /* 31126*/            OPC_EmitMergeInputChains1_0,
   16854             : /* 31127*/            OPC_EmitInteger, MVT::i32, 0, 
   16855             : /* 31130*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16856             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16857             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 13
   16858             :                       // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16859             : /* 31139*/          /*Scope*/ 19, /*->31159*/
   16860             : /* 31140*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16861             : /* 31142*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   16862             : /* 31144*/            OPC_CheckType, MVT::i64,
   16863             : /* 31146*/            OPC_EmitMergeInputChains1_0,
   16864             : /* 31147*/            OPC_EmitInteger, MVT::i32, 0, 
   16865             : /* 31150*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16866             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16867             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
   16868             :                       // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16869             : /* 31159*/          /*Scope*/ 19, /*->31179*/
   16870             : /* 31160*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16871             : /* 31162*/            OPC_CheckPredicate, 15, // Predicate_sextloadi32
   16872             : /* 31164*/            OPC_CheckType, MVT::i64,
   16873             : /* 31166*/            OPC_EmitMergeInputChains1_0,
   16874             : /* 31167*/            OPC_EmitInteger, MVT::i32, 0, 
   16875             : /* 31170*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16876             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16877             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 13
   16878             :                       // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16879             : /* 31179*/          /*Scope*/ 19, /*->31199*/
   16880             : /* 31180*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16881             : /* 31182*/            OPC_CheckPredicate, 15, // Predicate_zextloadi32
   16882             : /* 31184*/            OPC_CheckType, MVT::i64,
   16883             : /* 31186*/            OPC_EmitMergeInputChains1_0,
   16884             : /* 31187*/            OPC_EmitInteger, MVT::i32, 0, 
   16885             : /* 31190*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16886             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16887             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 13
   16888             :                       // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16889             : /* 31199*/          /*Scope*/ 92, /*->31292*/
   16890             : /* 31200*/            OPC_CheckPredicate, 16, // Predicate_extload
   16891             : /* 31202*/            OPC_SwitchType /*2 cases */, 34, MVT::i32,// ->31239
   16892             : /* 31205*/              OPC_Scope, 15, /*->31222*/ // 2 children in Scope
   16893             : /* 31207*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   16894             : /* 31209*/                OPC_EmitMergeInputChains1_0,
   16895             : /* 31210*/                OPC_EmitInteger, MVT::i32, 0, 
   16896             : /* 31213*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16897             :                               MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16898             :                           // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
   16899             :                           // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16900             : /* 31222*/              /*Scope*/ 15, /*->31238*/
   16901             : /* 31223*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   16902             : /* 31225*/                OPC_EmitMergeInputChains1_0,
   16903             : /* 31226*/                OPC_EmitInteger, MVT::i32, 0, 
   16904             : /* 31229*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16905             :                               MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16906             :                           // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
   16907             :                           // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16908             : /* 31238*/              0, /*End of Scope*/
   16909             : /* 31239*/            /*SwitchType*/ 50, MVT::i64,// ->31291
   16910             : /* 31241*/              OPC_Scope, 15, /*->31258*/ // 3 children in Scope
   16911             : /* 31243*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   16912             : /* 31245*/                OPC_EmitMergeInputChains1_0,
   16913             : /* 31246*/                OPC_EmitInteger, MVT::i32, 0, 
   16914             : /* 31249*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16915             :                               MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16916             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
   16917             :                           // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16918             : /* 31258*/              /*Scope*/ 15, /*->31274*/
   16919             : /* 31259*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   16920             : /* 31261*/                OPC_EmitMergeInputChains1_0,
   16921             : /* 31262*/                OPC_EmitInteger, MVT::i32, 0, 
   16922             : /* 31265*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16923             :                               MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16924             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
   16925             :                           // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16926             : /* 31274*/              /*Scope*/ 15, /*->31290*/
   16927             : /* 31275*/                OPC_CheckPredicate, 15, // Predicate_extloadi32
   16928             : /* 31277*/                OPC_EmitMergeInputChains1_0,
   16929             : /* 31278*/                OPC_EmitInteger, MVT::i32, 0, 
   16930             : /* 31281*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16931             :                               MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16932             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 13
   16933             :                           // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16934             : /* 31290*/              0, /*End of Scope*/
   16935             : /* 31291*/            0, // EndSwitchType
   16936             : /* 31292*/          /*Scope*/ 34, /*->31327*/
   16937             : /* 31293*/            OPC_CheckPredicate, 10, // Predicate_load
   16938             : /* 31295*/            OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->31311
   16939             : /* 31298*/              OPC_EmitMergeInputChains1_0,
   16940             : /* 31299*/              OPC_EmitInteger, MVT::i32, 0, 
   16941             : /* 31302*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16942             :                             MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   16943             :                         // Src: (ld:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   16944             :                         // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16945             : /* 31311*/            /*SwitchType*/ 13, MVT::i64,// ->31326
   16946             : /* 31313*/              OPC_EmitMergeInputChains1_0,
   16947             : /* 31314*/              OPC_EmitInteger, MVT::i32, 0, 
   16948             : /* 31317*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16949             :                             MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   16950             :                         // Src: (ld:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   16951             :                         // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16952             : /* 31326*/            0, // EndSwitchType
   16953             : /* 31327*/          0, /*End of Scope*/
   16954             : /* 31328*/        /*Scope*/ 122|128,2/*378*/, /*->31708*/
   16955             : /* 31330*/          OPC_RecordChild0, // #1 = $addr
   16956             : /* 31331*/          OPC_RecordChild1, // #2 = $off
   16957             : /* 31332*/          OPC_MoveChild1,
   16958             : /* 31333*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   16959             : /* 31336*/          OPC_MoveParent,
   16960             : /* 31337*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   16961             : /* 31339*/          OPC_CheckType, MVT::i32,
   16962             : /* 31341*/          OPC_MoveParent,
   16963             : /* 31342*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   16964             : /* 31344*/          OPC_Scope, 38, /*->31384*/ // 12 children in Scope
   16965             : /* 31346*/            OPC_CheckPredicate, 10, // Predicate_load
   16966             : /* 31348*/            OPC_SwitchType /*2 cases */, 15, MVT::i32,// ->31366
   16967             : /* 31351*/              OPC_EmitMergeInputChains1_0,
   16968             : /* 31352*/              OPC_EmitInteger, MVT::i32, 0, 
   16969             : /* 31355*/              OPC_EmitConvertToTarget, 2,
   16970             : /* 31357*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16971             :                             MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   16972             :                         // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   16973             :                         // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16974             : /* 31366*/            /*SwitchType*/ 15, MVT::i64,// ->31383
   16975             : /* 31368*/              OPC_EmitMergeInputChains1_0,
   16976             : /* 31369*/              OPC_EmitInteger, MVT::i32, 0, 
   16977             : /* 31372*/              OPC_EmitConvertToTarget, 2,
   16978             : /* 31374*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   16979             :                             MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   16980             :                         // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   16981             :                         // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16982             : /* 31383*/            0, // EndSwitchType
   16983             : /* 31384*/          /*Scope*/ 21, /*->31406*/
   16984             : /* 31385*/            OPC_CheckPredicate, 11, // Predicate_sextload
   16985             : /* 31387*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   16986             : /* 31389*/            OPC_CheckType, MVT::i32,
   16987             : /* 31391*/            OPC_EmitMergeInputChains1_0,
   16988             : /* 31392*/            OPC_EmitInteger, MVT::i32, 0, 
   16989             : /* 31395*/            OPC_EmitConvertToTarget, 2,
   16990             : /* 31397*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   16991             :                           MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   16992             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
   16993             :                       // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   16994             : /* 31406*/          /*Scope*/ 21, /*->31428*/
   16995             : /* 31407*/            OPC_CheckPredicate, 13, // Predicate_zextload
   16996             : /* 31409*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   16997             : /* 31411*/            OPC_CheckType, MVT::i32,
   16998             : /* 31413*/            OPC_EmitMergeInputChains1_0,
   16999             : /* 31414*/            OPC_EmitInteger, MVT::i32, 0, 
   17000             : /* 31417*/            OPC_EmitConvertToTarget, 2,
   17001             : /* 31419*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17002             :                           MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17003             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
   17004             :                       // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17005             : /* 31428*/          /*Scope*/ 21, /*->31450*/
   17006             : /* 31429*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17007             : /* 31431*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   17008             : /* 31433*/            OPC_CheckType, MVT::i32,
   17009             : /* 31435*/            OPC_EmitMergeInputChains1_0,
   17010             : /* 31436*/            OPC_EmitInteger, MVT::i32, 0, 
   17011             : /* 31439*/            OPC_EmitConvertToTarget, 2,
   17012             : /* 31441*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17013             :                           MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17014             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
   17015             :                       // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17016             : /* 31450*/          /*Scope*/ 21, /*->31472*/
   17017             : /* 31451*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17018             : /* 31453*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   17019             : /* 31455*/            OPC_CheckType, MVT::i32,
   17020             : /* 31457*/            OPC_EmitMergeInputChains1_0,
   17021             : /* 31458*/            OPC_EmitInteger, MVT::i32, 0, 
   17022             : /* 31461*/            OPC_EmitConvertToTarget, 2,
   17023             : /* 31463*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17024             :                           MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17025             :                       // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
   17026             :                       // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17027             : /* 31472*/          /*Scope*/ 21, /*->31494*/
   17028             : /* 31473*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17029             : /* 31475*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   17030             : /* 31477*/            OPC_CheckType, MVT::i64,
   17031             : /* 31479*/            OPC_EmitMergeInputChains1_0,
   17032             : /* 31480*/            OPC_EmitInteger, MVT::i32, 0, 
   17033             : /* 31483*/            OPC_EmitConvertToTarget, 2,
   17034             : /* 31485*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17035             :                           MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17036             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
   17037             :                       // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17038             : /* 31494*/          /*Scope*/ 21, /*->31516*/
   17039             : /* 31495*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17040             : /* 31497*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   17041             : /* 31499*/            OPC_CheckType, MVT::i64,
   17042             : /* 31501*/            OPC_EmitMergeInputChains1_0,
   17043             : /* 31502*/            OPC_EmitInteger, MVT::i32, 0, 
   17044             : /* 31505*/            OPC_EmitConvertToTarget, 2,
   17045             : /* 31507*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17046             :                           MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17047             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
   17048             :                       // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17049             : /* 31516*/          /*Scope*/ 21, /*->31538*/
   17050             : /* 31517*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17051             : /* 31519*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   17052             : /* 31521*/            OPC_CheckType, MVT::i64,
   17053             : /* 31523*/            OPC_EmitMergeInputChains1_0,
   17054             : /* 31524*/            OPC_EmitInteger, MVT::i32, 0, 
   17055             : /* 31527*/            OPC_EmitConvertToTarget, 2,
   17056             : /* 31529*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17057             :                           MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17058             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
   17059             :                       // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17060             : /* 31538*/          /*Scope*/ 21, /*->31560*/
   17061             : /* 31539*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17062             : /* 31541*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   17063             : /* 31543*/            OPC_CheckType, MVT::i64,
   17064             : /* 31545*/            OPC_EmitMergeInputChains1_0,
   17065             : /* 31546*/            OPC_EmitInteger, MVT::i32, 0, 
   17066             : /* 31549*/            OPC_EmitConvertToTarget, 2,
   17067             : /* 31551*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17068             :                           MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17069             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
   17070             :                       // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17071             : /* 31560*/          /*Scope*/ 21, /*->31582*/
   17072             : /* 31561*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17073             : /* 31563*/            OPC_CheckPredicate, 15, // Predicate_sextloadi32
   17074             : /* 31565*/            OPC_CheckType, MVT::i64,
   17075             : /* 31567*/            OPC_EmitMergeInputChains1_0,
   17076             : /* 31568*/            OPC_EmitInteger, MVT::i32, 0, 
   17077             : /* 31571*/            OPC_EmitConvertToTarget, 2,
   17078             : /* 31573*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17079             :                           MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17080             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 11
   17081             :                       // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17082             : /* 31582*/          /*Scope*/ 21, /*->31604*/
   17083             : /* 31583*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17084             : /* 31585*/            OPC_CheckPredicate, 15, // Predicate_zextloadi32
   17085             : /* 31587*/            OPC_CheckType, MVT::i64,
   17086             : /* 31589*/            OPC_EmitMergeInputChains1_0,
   17087             : /* 31590*/            OPC_EmitInteger, MVT::i32, 0, 
   17088             : /* 31593*/            OPC_EmitConvertToTarget, 2,
   17089             : /* 31595*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17090             :                           MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17091             :                       // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 11
   17092             :                       // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17093             : /* 31604*/          /*Scope*/ 102, /*->31707*/
   17094             : /* 31605*/            OPC_CheckPredicate, 16, // Predicate_extload
   17095             : /* 31607*/            OPC_SwitchType /*2 cases */, 38, MVT::i32,// ->31648
   17096             : /* 31610*/              OPC_Scope, 17, /*->31629*/ // 2 children in Scope
   17097             : /* 31612*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   17098             : /* 31614*/                OPC_EmitMergeInputChains1_0,
   17099             : /* 31615*/                OPC_EmitInteger, MVT::i32, 0, 
   17100             : /* 31618*/                OPC_EmitConvertToTarget, 2,
   17101             : /* 31620*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17102             :                               MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17103             :                           // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
   17104             :                           // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17105             : /* 31629*/              /*Scope*/ 17, /*->31647*/
   17106             : /* 31630*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   17107             : /* 31632*/                OPC_EmitMergeInputChains1_0,
   17108             : /* 31633*/                OPC_EmitInteger, MVT::i32, 0, 
   17109             : /* 31636*/                OPC_EmitConvertToTarget, 2,
   17110             : /* 31638*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17111             :                               MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17112             :                           // Src: (ld:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
   17113             :                           // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17114             : /* 31647*/              0, /*End of Scope*/
   17115             : /* 31648*/            /*SwitchType*/ 56, MVT::i64,// ->31706
   17116             : /* 31650*/              OPC_Scope, 17, /*->31669*/ // 3 children in Scope
   17117             : /* 31652*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   17118             : /* 31654*/                OPC_EmitMergeInputChains1_0,
   17119             : /* 31655*/                OPC_EmitInteger, MVT::i32, 0, 
   17120             : /* 31658*/                OPC_EmitConvertToTarget, 2,
   17121             : /* 31660*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17122             :                               MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17123             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
   17124             :                           // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17125             : /* 31669*/              /*Scope*/ 17, /*->31687*/
   17126             : /* 31670*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   17127             : /* 31672*/                OPC_EmitMergeInputChains1_0,
   17128             : /* 31673*/                OPC_EmitInteger, MVT::i32, 0, 
   17129             : /* 31676*/                OPC_EmitConvertToTarget, 2,
   17130             : /* 31678*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17131             :                               MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17132             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
   17133             :                           // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17134             : /* 31687*/              /*Scope*/ 17, /*->31705*/
   17135             : /* 31688*/                OPC_CheckPredicate, 15, // Predicate_extloadi32
   17136             : /* 31690*/                OPC_EmitMergeInputChains1_0,
   17137             : /* 31691*/                OPC_EmitInteger, MVT::i32, 0, 
   17138             : /* 31694*/                OPC_EmitConvertToTarget, 2,
   17139             : /* 31696*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17140             :                               MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17141             :                           // Src: (ld:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 11
   17142             :                           // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17143             : /* 31705*/              0, /*End of Scope*/
   17144             : /* 31706*/            0, // EndSwitchType
   17145             : /* 31707*/          0, /*End of Scope*/
   17146             : /* 31708*/        0, /*End of Scope*/
   17147             : /* 31709*/      /*SwitchOpcode*/ 122|128,2/*378*/, TARGET_VAL(ISD::OR),// ->32091
   17148             : /* 31713*/        OPC_RecordChild0, // #1 = $addr
   17149             : /* 31714*/        OPC_RecordChild1, // #2 = $off
   17150             : /* 31715*/        OPC_MoveChild1,
   17151             : /* 31716*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   17152             : /* 31719*/        OPC_MoveParent,
   17153             : /* 31720*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   17154             : /* 31722*/        OPC_CheckType, MVT::i32,
   17155             : /* 31724*/        OPC_MoveParent,
   17156             : /* 31725*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   17157             : /* 31727*/        OPC_Scope, 38, /*->31767*/ // 12 children in Scope
   17158             : /* 31729*/          OPC_CheckPredicate, 10, // Predicate_load
   17159             : /* 31731*/          OPC_SwitchType /*2 cases */, 15, MVT::i32,// ->31749
   17160             : /* 31734*/            OPC_EmitMergeInputChains1_0,
   17161             : /* 31735*/            OPC_EmitInteger, MVT::i32, 0, 
   17162             : /* 31738*/            OPC_EmitConvertToTarget, 2,
   17163             : /* 31740*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17164             :                           MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17165             :                       // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   17166             :                       // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17167             : /* 31749*/          /*SwitchType*/ 15, MVT::i64,// ->31766
   17168             : /* 31751*/            OPC_EmitMergeInputChains1_0,
   17169             : /* 31752*/            OPC_EmitInteger, MVT::i32, 0, 
   17170             : /* 31755*/            OPC_EmitConvertToTarget, 2,
   17171             : /* 31757*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17172             :                           MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17173             :                       // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   17174             :                       // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17175             : /* 31766*/          0, // EndSwitchType
   17176             : /* 31767*/        /*Scope*/ 21, /*->31789*/
   17177             : /* 31768*/          OPC_CheckPredicate, 11, // Predicate_sextload
   17178             : /* 31770*/          OPC_CheckPredicate, 12, // Predicate_sextloadi8
   17179             : /* 31772*/          OPC_CheckType, MVT::i32,
   17180             : /* 31774*/          OPC_EmitMergeInputChains1_0,
   17181             : /* 31775*/          OPC_EmitInteger, MVT::i32, 0, 
   17182             : /* 31778*/          OPC_EmitConvertToTarget, 2,
   17183             : /* 31780*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17184             :                         MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17185             :                     // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
   17186             :                     // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17187             : /* 31789*/        /*Scope*/ 21, /*->31811*/
   17188             : /* 31790*/          OPC_CheckPredicate, 13, // Predicate_zextload
   17189             : /* 31792*/          OPC_CheckPredicate, 12, // Predicate_zextloadi8
   17190             : /* 31794*/          OPC_CheckType, MVT::i32,
   17191             : /* 31796*/          OPC_EmitMergeInputChains1_0,
   17192             : /* 31797*/          OPC_EmitInteger, MVT::i32, 0, 
   17193             : /* 31800*/          OPC_EmitConvertToTarget, 2,
   17194             : /* 31802*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17195             :                         MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17196             :                     // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
   17197             :                     // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17198             : /* 31811*/        /*Scope*/ 21, /*->31833*/
   17199             : /* 31812*/          OPC_CheckPredicate, 11, // Predicate_sextload
   17200             : /* 31814*/          OPC_CheckPredicate, 14, // Predicate_sextloadi16
   17201             : /* 31816*/          OPC_CheckType, MVT::i32,
   17202             : /* 31818*/          OPC_EmitMergeInputChains1_0,
   17203             : /* 31819*/          OPC_EmitInteger, MVT::i32, 0, 
   17204             : /* 31822*/          OPC_EmitConvertToTarget, 2,
   17205             : /* 31824*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17206             :                         MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17207             :                     // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
   17208             :                     // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17209             : /* 31833*/        /*Scope*/ 21, /*->31855*/
   17210             : /* 31834*/          OPC_CheckPredicate, 13, // Predicate_zextload
   17211             : /* 31836*/          OPC_CheckPredicate, 14, // Predicate_zextloadi16
   17212             : /* 31838*/          OPC_CheckType, MVT::i32,
   17213             : /* 31840*/          OPC_EmitMergeInputChains1_0,
   17214             : /* 31841*/          OPC_EmitInteger, MVT::i32, 0, 
   17215             : /* 31844*/          OPC_EmitConvertToTarget, 2,
   17216             : /* 31846*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17217             :                         MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17218             :                     // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
   17219             :                     // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17220             : /* 31855*/        /*Scope*/ 21, /*->31877*/
   17221             : /* 31856*/          OPC_CheckPredicate, 11, // Predicate_sextload
   17222             : /* 31858*/          OPC_CheckPredicate, 12, // Predicate_sextloadi8
   17223             : /* 31860*/          OPC_CheckType, MVT::i64,
   17224             : /* 31862*/          OPC_EmitMergeInputChains1_0,
   17225             : /* 31863*/          OPC_EmitInteger, MVT::i32, 0, 
   17226             : /* 31866*/          OPC_EmitConvertToTarget, 2,
   17227             : /* 31868*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17228             :                         MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17229             :                     // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 11
   17230             :                     // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17231             : /* 31877*/        /*Scope*/ 21, /*->31899*/
   17232             : /* 31878*/          OPC_CheckPredicate, 13, // Predicate_zextload
   17233             : /* 31880*/          OPC_CheckPredicate, 12, // Predicate_zextloadi8
   17234             : /* 31882*/          OPC_CheckType, MVT::i64,
   17235             : /* 31884*/          OPC_EmitMergeInputChains1_0,
   17236             : /* 31885*/          OPC_EmitInteger, MVT::i32, 0, 
   17237             : /* 31888*/          OPC_EmitConvertToTarget, 2,
   17238             : /* 31890*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17239             :                         MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17240             :                     // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 11
   17241             :                     // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17242             : /* 31899*/        /*Scope*/ 21, /*->31921*/
   17243             : /* 31900*/          OPC_CheckPredicate, 11, // Predicate_sextload
   17244             : /* 31902*/          OPC_CheckPredicate, 14, // Predicate_sextloadi16
   17245             : /* 31904*/          OPC_CheckType, MVT::i64,
   17246             : /* 31906*/          OPC_EmitMergeInputChains1_0,
   17247             : /* 31907*/          OPC_EmitInteger, MVT::i32, 0, 
   17248             : /* 31910*/          OPC_EmitConvertToTarget, 2,
   17249             : /* 31912*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17250             :                         MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17251             :                     // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 11
   17252             :                     // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17253             : /* 31921*/        /*Scope*/ 21, /*->31943*/
   17254             : /* 31922*/          OPC_CheckPredicate, 13, // Predicate_zextload
   17255             : /* 31924*/          OPC_CheckPredicate, 14, // Predicate_zextloadi16
   17256             : /* 31926*/          OPC_CheckType, MVT::i64,
   17257             : /* 31928*/          OPC_EmitMergeInputChains1_0,
   17258             : /* 31929*/          OPC_EmitInteger, MVT::i32, 0, 
   17259             : /* 31932*/          OPC_EmitConvertToTarget, 2,
   17260             : /* 31934*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17261             :                         MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17262             :                     // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 11
   17263             :                     // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17264             : /* 31943*/        /*Scope*/ 21, /*->31965*/
   17265             : /* 31944*/          OPC_CheckPredicate, 11, // Predicate_sextload
   17266             : /* 31946*/          OPC_CheckPredicate, 15, // Predicate_sextloadi32
   17267             : /* 31948*/          OPC_CheckType, MVT::i64,
   17268             : /* 31950*/          OPC_EmitMergeInputChains1_0,
   17269             : /* 31951*/          OPC_EmitInteger, MVT::i32, 0, 
   17270             : /* 31954*/          OPC_EmitConvertToTarget, 2,
   17271             : /* 31956*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17272             :                         MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17273             :                     // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 11
   17274             :                     // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17275             : /* 31965*/        /*Scope*/ 21, /*->31987*/
   17276             : /* 31966*/          OPC_CheckPredicate, 13, // Predicate_zextload
   17277             : /* 31968*/          OPC_CheckPredicate, 15, // Predicate_zextloadi32
   17278             : /* 31970*/          OPC_CheckType, MVT::i64,
   17279             : /* 31972*/          OPC_EmitMergeInputChains1_0,
   17280             : /* 31973*/          OPC_EmitInteger, MVT::i32, 0, 
   17281             : /* 31976*/          OPC_EmitConvertToTarget, 2,
   17282             : /* 31978*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17283             :                         MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17284             :                     // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 11
   17285             :                     // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17286             : /* 31987*/        /*Scope*/ 102, /*->32090*/
   17287             : /* 31988*/          OPC_CheckPredicate, 16, // Predicate_extload
   17288             : /* 31990*/          OPC_SwitchType /*2 cases */, 38, MVT::i32,// ->32031
   17289             : /* 31993*/            OPC_Scope, 17, /*->32012*/ // 2 children in Scope
   17290             : /* 31995*/              OPC_CheckPredicate, 12, // Predicate_extloadi8
   17291             : /* 31997*/              OPC_EmitMergeInputChains1_0,
   17292             : /* 31998*/              OPC_EmitInteger, MVT::i32, 0, 
   17293             : /* 32001*/              OPC_EmitConvertToTarget, 2,
   17294             : /* 32003*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17295             :                             MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17296             :                         // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
   17297             :                         // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17298             : /* 32012*/            /*Scope*/ 17, /*->32030*/
   17299             : /* 32013*/              OPC_CheckPredicate, 14, // Predicate_extloadi16
   17300             : /* 32015*/              OPC_EmitMergeInputChains1_0,
   17301             : /* 32016*/              OPC_EmitInteger, MVT::i32, 0, 
   17302             : /* 32019*/              OPC_EmitConvertToTarget, 2,
   17303             : /* 32021*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17304             :                             MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   17305             :                         // Src: (ld:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
   17306             :                         // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17307             : /* 32030*/            0, /*End of Scope*/
   17308             : /* 32031*/          /*SwitchType*/ 56, MVT::i64,// ->32089
   17309             : /* 32033*/            OPC_Scope, 17, /*->32052*/ // 3 children in Scope
   17310             : /* 32035*/              OPC_CheckPredicate, 12, // Predicate_extloadi8
   17311             : /* 32037*/              OPC_EmitMergeInputChains1_0,
   17312             : /* 32038*/              OPC_EmitInteger, MVT::i32, 0, 
   17313             : /* 32041*/              OPC_EmitConvertToTarget, 2,
   17314             : /* 32043*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17315             :                             MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17316             :                         // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 11
   17317             :                         // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17318             : /* 32052*/            /*Scope*/ 17, /*->32070*/
   17319             : /* 32053*/              OPC_CheckPredicate, 14, // Predicate_extloadi16
   17320             : /* 32055*/              OPC_EmitMergeInputChains1_0,
   17321             : /* 32056*/              OPC_EmitInteger, MVT::i32, 0, 
   17322             : /* 32059*/              OPC_EmitConvertToTarget, 2,
   17323             : /* 32061*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17324             :                             MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17325             :                         // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 11
   17326             :                         // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17327             : /* 32070*/            /*Scope*/ 17, /*->32088*/
   17328             : /* 32071*/              OPC_CheckPredicate, 15, // Predicate_extloadi32
   17329             : /* 32073*/              OPC_EmitMergeInputChains1_0,
   17330             : /* 32074*/              OPC_EmitInteger, MVT::i32, 0, 
   17331             : /* 32077*/              OPC_EmitConvertToTarget, 2,
   17332             : /* 32079*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17333             :                             MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   17334             :                         // Src: (ld:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 11
   17335             :                         // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   17336             : /* 32088*/            0, /*End of Scope*/
   17337             : /* 32089*/          0, // EndSwitchType
   17338             : /* 32090*/        0, /*End of Scope*/
   17339             : /* 32091*/      /*SwitchOpcode*/ 126|128,7/*1022*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->33117
   17340             : /* 32095*/        OPC_RecordChild0, // #1 = $off
   17341             : /* 32096*/        OPC_MoveChild0,
   17342             : /* 32097*/        OPC_SwitchOpcode /*2 cases */, 121|128,3/*505*/, TARGET_VAL(ISD::TargetGlobalAddress),// ->32607
   17343             : /* 32102*/          OPC_MoveParent,
   17344             : /* 32103*/          OPC_MoveParent,
   17345             : /* 32104*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   17346             : /* 32106*/          OPC_Scope, 54, /*->32162*/ // 12 children in Scope
   17347             : /* 32108*/            OPC_CheckPredicate, 10, // Predicate_load
   17348             : /* 32110*/            OPC_SwitchType /*2 cases */, 23, MVT::i32,// ->32136
   17349             : /* 32113*/              OPC_EmitMergeInputChains1_0,
   17350             : /* 32114*/              OPC_EmitInteger, MVT::i32, 0, 
   17351             : /* 32117*/              OPC_EmitInteger, MVT::i32, 0, 
   17352             : /* 32120*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17353             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17354             : /* 32127*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17355             :                             MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17356             :                         // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   17357             :                         // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17358             : /* 32136*/            /*SwitchType*/ 23, MVT::i64,// ->32161
   17359             : /* 32138*/              OPC_EmitMergeInputChains1_0,
   17360             : /* 32139*/              OPC_EmitInteger, MVT::i32, 0, 
   17361             : /* 32142*/              OPC_EmitInteger, MVT::i32, 0, 
   17362             : /* 32145*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17363             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17364             : /* 32152*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17365             :                             MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17366             :                         // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   17367             :                         // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17368             : /* 32161*/            0, // EndSwitchType
   17369             : /* 32162*/          /*Scope*/ 29, /*->32192*/
   17370             : /* 32163*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17371             : /* 32165*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   17372             : /* 32167*/            OPC_CheckType, MVT::i32,
   17373             : /* 32169*/            OPC_EmitMergeInputChains1_0,
   17374             : /* 32170*/            OPC_EmitInteger, MVT::i32, 0, 
   17375             : /* 32173*/            OPC_EmitInteger, MVT::i32, 0, 
   17376             : /* 32176*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17377             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17378             : /* 32183*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17379             :                           MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17380             :                       // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
   17381             :                       // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17382             : /* 32192*/          /*Scope*/ 29, /*->32222*/
   17383             : /* 32193*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17384             : /* 32195*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   17385             : /* 32197*/            OPC_CheckType, MVT::i32,
   17386             : /* 32199*/            OPC_EmitMergeInputChains1_0,
   17387             : /* 32200*/            OPC_EmitInteger, MVT::i32, 0, 
   17388             : /* 32203*/            OPC_EmitInteger, MVT::i32, 0, 
   17389             : /* 32206*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17390             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17391             : /* 32213*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17392             :                           MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17393             :                       // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
   17394             :                       // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17395             : /* 32222*/          /*Scope*/ 29, /*->32252*/
   17396             : /* 32223*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17397             : /* 32225*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   17398             : /* 32227*/            OPC_CheckType, MVT::i32,
   17399             : /* 32229*/            OPC_EmitMergeInputChains1_0,
   17400             : /* 32230*/            OPC_EmitInteger, MVT::i32, 0, 
   17401             : /* 32233*/            OPC_EmitInteger, MVT::i32, 0, 
   17402             : /* 32236*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17403             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17404             : /* 32243*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17405             :                           MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17406             :                       // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
   17407             :                       // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17408             : /* 32252*/          /*Scope*/ 29, /*->32282*/
   17409             : /* 32253*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17410             : /* 32255*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   17411             : /* 32257*/            OPC_CheckType, MVT::i32,
   17412             : /* 32259*/            OPC_EmitMergeInputChains1_0,
   17413             : /* 32260*/            OPC_EmitInteger, MVT::i32, 0, 
   17414             : /* 32263*/            OPC_EmitInteger, MVT::i32, 0, 
   17415             : /* 32266*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17416             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17417             : /* 32273*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17418             :                           MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17419             :                       // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
   17420             :                       // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17421             : /* 32282*/          /*Scope*/ 29, /*->32312*/
   17422             : /* 32283*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17423             : /* 32285*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   17424             : /* 32287*/            OPC_CheckType, MVT::i64,
   17425             : /* 32289*/            OPC_EmitMergeInputChains1_0,
   17426             : /* 32290*/            OPC_EmitInteger, MVT::i32, 0, 
   17427             : /* 32293*/            OPC_EmitInteger, MVT::i32, 0, 
   17428             : /* 32296*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17429             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17430             : /* 32303*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17431             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17432             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
   17433             :                       // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17434             : /* 32312*/          /*Scope*/ 29, /*->32342*/
   17435             : /* 32313*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17436             : /* 32315*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   17437             : /* 32317*/            OPC_CheckType, MVT::i64,
   17438             : /* 32319*/            OPC_EmitMergeInputChains1_0,
   17439             : /* 32320*/            OPC_EmitInteger, MVT::i32, 0, 
   17440             : /* 32323*/            OPC_EmitInteger, MVT::i32, 0, 
   17441             : /* 32326*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17442             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17443             : /* 32333*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17444             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17445             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
   17446             :                       // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17447             : /* 32342*/          /*Scope*/ 29, /*->32372*/
   17448             : /* 32343*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17449             : /* 32345*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   17450             : /* 32347*/            OPC_CheckType, MVT::i64,
   17451             : /* 32349*/            OPC_EmitMergeInputChains1_0,
   17452             : /* 32350*/            OPC_EmitInteger, MVT::i32, 0, 
   17453             : /* 32353*/            OPC_EmitInteger, MVT::i32, 0, 
   17454             : /* 32356*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17455             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17456             : /* 32363*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17457             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17458             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
   17459             :                       // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17460             : /* 32372*/          /*Scope*/ 29, /*->32402*/
   17461             : /* 32373*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17462             : /* 32375*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   17463             : /* 32377*/            OPC_CheckType, MVT::i64,
   17464             : /* 32379*/            OPC_EmitMergeInputChains1_0,
   17465             : /* 32380*/            OPC_EmitInteger, MVT::i32, 0, 
   17466             : /* 32383*/            OPC_EmitInteger, MVT::i32, 0, 
   17467             : /* 32386*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17468             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17469             : /* 32393*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17470             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17471             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
   17472             :                       // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17473             : /* 32402*/          /*Scope*/ 29, /*->32432*/
   17474             : /* 32403*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17475             : /* 32405*/            OPC_CheckPredicate, 15, // Predicate_sextloadi32
   17476             : /* 32407*/            OPC_CheckType, MVT::i64,
   17477             : /* 32409*/            OPC_EmitMergeInputChains1_0,
   17478             : /* 32410*/            OPC_EmitInteger, MVT::i32, 0, 
   17479             : /* 32413*/            OPC_EmitInteger, MVT::i32, 0, 
   17480             : /* 32416*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17481             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17482             : /* 32423*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17483             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17484             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 10
   17485             :                       // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17486             : /* 32432*/          /*Scope*/ 29, /*->32462*/
   17487             : /* 32433*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17488             : /* 32435*/            OPC_CheckPredicate, 15, // Predicate_zextloadi32
   17489             : /* 32437*/            OPC_CheckType, MVT::i64,
   17490             : /* 32439*/            OPC_EmitMergeInputChains1_0,
   17491             : /* 32440*/            OPC_EmitInteger, MVT::i32, 0, 
   17492             : /* 32443*/            OPC_EmitInteger, MVT::i32, 0, 
   17493             : /* 32446*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17494             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17495             : /* 32453*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17496             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17497             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 10
   17498             :                       // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17499             : /* 32462*/          /*Scope*/ 14|128,1/*142*/, /*->32606*/
   17500             : /* 32464*/            OPC_CheckPredicate, 16, // Predicate_extload
   17501             : /* 32466*/            OPC_SwitchType /*2 cases */, 54, MVT::i32,// ->32523
   17502             : /* 32469*/              OPC_Scope, 25, /*->32496*/ // 2 children in Scope
   17503             : /* 32471*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   17504             : /* 32473*/                OPC_EmitMergeInputChains1_0,
   17505             : /* 32474*/                OPC_EmitInteger, MVT::i32, 0, 
   17506             : /* 32477*/                OPC_EmitInteger, MVT::i32, 0, 
   17507             : /* 32480*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17508             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17509             : /* 32487*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17510             :                               MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17511             :                           // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
   17512             :                           // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17513             : /* 32496*/              /*Scope*/ 25, /*->32522*/
   17514             : /* 32497*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   17515             : /* 32499*/                OPC_EmitMergeInputChains1_0,
   17516             : /* 32500*/                OPC_EmitInteger, MVT::i32, 0, 
   17517             : /* 32503*/                OPC_EmitInteger, MVT::i32, 0, 
   17518             : /* 32506*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17519             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17520             : /* 32513*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17521             :                               MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17522             :                           // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
   17523             :                           // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17524             : /* 32522*/              0, /*End of Scope*/
   17525             : /* 32523*/            /*SwitchType*/ 80, MVT::i64,// ->32605
   17526             : /* 32525*/              OPC_Scope, 25, /*->32552*/ // 3 children in Scope
   17527             : /* 32527*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   17528             : /* 32529*/                OPC_EmitMergeInputChains1_0,
   17529             : /* 32530*/                OPC_EmitInteger, MVT::i32, 0, 
   17530             : /* 32533*/                OPC_EmitInteger, MVT::i32, 0, 
   17531             : /* 32536*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17532             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17533             : /* 32543*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17534             :                               MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17535             :                           // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
   17536             :                           // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17537             : /* 32552*/              /*Scope*/ 25, /*->32578*/
   17538             : /* 32553*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   17539             : /* 32555*/                OPC_EmitMergeInputChains1_0,
   17540             : /* 32556*/                OPC_EmitInteger, MVT::i32, 0, 
   17541             : /* 32559*/                OPC_EmitInteger, MVT::i32, 0, 
   17542             : /* 32562*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17543             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17544             : /* 32569*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17545             :                               MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17546             :                           // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
   17547             :                           // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17548             : /* 32578*/              /*Scope*/ 25, /*->32604*/
   17549             : /* 32579*/                OPC_CheckPredicate, 15, // Predicate_extloadi32
   17550             : /* 32581*/                OPC_EmitMergeInputChains1_0,
   17551             : /* 32582*/                OPC_EmitInteger, MVT::i32, 0, 
   17552             : /* 32585*/                OPC_EmitInteger, MVT::i32, 0, 
   17553             : /* 32588*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17554             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17555             : /* 32595*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17556             :                               MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17557             :                           // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 10
   17558             :                           // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17559             : /* 32604*/              0, /*End of Scope*/
   17560             : /* 32605*/            0, // EndSwitchType
   17561             : /* 32606*/          0, /*End of Scope*/
   17562             : /* 32607*/        /*SwitchOpcode*/ 121|128,3/*505*/, TARGET_VAL(ISD::TargetExternalSymbol),// ->33116
   17563             : /* 32611*/          OPC_MoveParent,
   17564             : /* 32612*/          OPC_MoveParent,
   17565             : /* 32613*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   17566             : /* 32615*/          OPC_Scope, 54, /*->32671*/ // 12 children in Scope
   17567             : /* 32617*/            OPC_CheckPredicate, 10, // Predicate_load
   17568             : /* 32619*/            OPC_SwitchType /*2 cases */, 23, MVT::i32,// ->32645
   17569             : /* 32622*/              OPC_EmitMergeInputChains1_0,
   17570             : /* 32623*/              OPC_EmitInteger, MVT::i32, 0, 
   17571             : /* 32626*/              OPC_EmitInteger, MVT::i32, 0, 
   17572             : /* 32629*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17573             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17574             : /* 32636*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17575             :                             MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17576             :                         // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   17577             :                         // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17578             : /* 32645*/            /*SwitchType*/ 23, MVT::i64,// ->32670
   17579             : /* 32647*/              OPC_EmitMergeInputChains1_0,
   17580             : /* 32648*/              OPC_EmitInteger, MVT::i32, 0, 
   17581             : /* 32651*/              OPC_EmitInteger, MVT::i32, 0, 
   17582             : /* 32654*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17583             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17584             : /* 32661*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17585             :                             MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17586             :                         // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   17587             :                         // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17588             : /* 32670*/            0, // EndSwitchType
   17589             : /* 32671*/          /*Scope*/ 29, /*->32701*/
   17590             : /* 32672*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17591             : /* 32674*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   17592             : /* 32676*/            OPC_CheckType, MVT::i32,
   17593             : /* 32678*/            OPC_EmitMergeInputChains1_0,
   17594             : /* 32679*/            OPC_EmitInteger, MVT::i32, 0, 
   17595             : /* 32682*/            OPC_EmitInteger, MVT::i32, 0, 
   17596             : /* 32685*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17597             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17598             : /* 32692*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17599             :                           MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17600             :                       // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
   17601             :                       // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17602             : /* 32701*/          /*Scope*/ 29, /*->32731*/
   17603             : /* 32702*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17604             : /* 32704*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   17605             : /* 32706*/            OPC_CheckType, MVT::i32,
   17606             : /* 32708*/            OPC_EmitMergeInputChains1_0,
   17607             : /* 32709*/            OPC_EmitInteger, MVT::i32, 0, 
   17608             : /* 32712*/            OPC_EmitInteger, MVT::i32, 0, 
   17609             : /* 32715*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17610             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17611             : /* 32722*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17612             :                           MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17613             :                       // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
   17614             :                       // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17615             : /* 32731*/          /*Scope*/ 29, /*->32761*/
   17616             : /* 32732*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17617             : /* 32734*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   17618             : /* 32736*/            OPC_CheckType, MVT::i32,
   17619             : /* 32738*/            OPC_EmitMergeInputChains1_0,
   17620             : /* 32739*/            OPC_EmitInteger, MVT::i32, 0, 
   17621             : /* 32742*/            OPC_EmitInteger, MVT::i32, 0, 
   17622             : /* 32745*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17623             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17624             : /* 32752*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17625             :                           MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17626             :                       // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
   17627             :                       // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17628             : /* 32761*/          /*Scope*/ 29, /*->32791*/
   17629             : /* 32762*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17630             : /* 32764*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   17631             : /* 32766*/            OPC_CheckType, MVT::i32,
   17632             : /* 32768*/            OPC_EmitMergeInputChains1_0,
   17633             : /* 32769*/            OPC_EmitInteger, MVT::i32, 0, 
   17634             : /* 32772*/            OPC_EmitInteger, MVT::i32, 0, 
   17635             : /* 32775*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17636             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17637             : /* 32782*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17638             :                           MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17639             :                       // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
   17640             :                       // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17641             : /* 32791*/          /*Scope*/ 29, /*->32821*/
   17642             : /* 32792*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17643             : /* 32794*/            OPC_CheckPredicate, 12, // Predicate_sextloadi8
   17644             : /* 32796*/            OPC_CheckType, MVT::i64,
   17645             : /* 32798*/            OPC_EmitMergeInputChains1_0,
   17646             : /* 32799*/            OPC_EmitInteger, MVT::i32, 0, 
   17647             : /* 32802*/            OPC_EmitInteger, MVT::i32, 0, 
   17648             : /* 32805*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17649             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17650             : /* 32812*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17651             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17652             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 10
   17653             :                       // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17654             : /* 32821*/          /*Scope*/ 29, /*->32851*/
   17655             : /* 32822*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17656             : /* 32824*/            OPC_CheckPredicate, 12, // Predicate_zextloadi8
   17657             : /* 32826*/            OPC_CheckType, MVT::i64,
   17658             : /* 32828*/            OPC_EmitMergeInputChains1_0,
   17659             : /* 32829*/            OPC_EmitInteger, MVT::i32, 0, 
   17660             : /* 32832*/            OPC_EmitInteger, MVT::i32, 0, 
   17661             : /* 32835*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17662             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17663             : /* 32842*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17664             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17665             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 10
   17666             :                       // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17667             : /* 32851*/          /*Scope*/ 29, /*->32881*/
   17668             : /* 32852*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17669             : /* 32854*/            OPC_CheckPredicate, 14, // Predicate_sextloadi16
   17670             : /* 32856*/            OPC_CheckType, MVT::i64,
   17671             : /* 32858*/            OPC_EmitMergeInputChains1_0,
   17672             : /* 32859*/            OPC_EmitInteger, MVT::i32, 0, 
   17673             : /* 32862*/            OPC_EmitInteger, MVT::i32, 0, 
   17674             : /* 32865*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17675             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17676             : /* 32872*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17677             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17678             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 10
   17679             :                       // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17680             : /* 32881*/          /*Scope*/ 29, /*->32911*/
   17681             : /* 32882*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17682             : /* 32884*/            OPC_CheckPredicate, 14, // Predicate_zextloadi16
   17683             : /* 32886*/            OPC_CheckType, MVT::i64,
   17684             : /* 32888*/            OPC_EmitMergeInputChains1_0,
   17685             : /* 32889*/            OPC_EmitInteger, MVT::i32, 0, 
   17686             : /* 32892*/            OPC_EmitInteger, MVT::i32, 0, 
   17687             : /* 32895*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17688             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17689             : /* 32902*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17690             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17691             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 10
   17692             :                       // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17693             : /* 32911*/          /*Scope*/ 29, /*->32941*/
   17694             : /* 32912*/            OPC_CheckPredicate, 11, // Predicate_sextload
   17695             : /* 32914*/            OPC_CheckPredicate, 15, // Predicate_sextloadi32
   17696             : /* 32916*/            OPC_CheckType, MVT::i64,
   17697             : /* 32918*/            OPC_EmitMergeInputChains1_0,
   17698             : /* 32919*/            OPC_EmitInteger, MVT::i32, 0, 
   17699             : /* 32922*/            OPC_EmitInteger, MVT::i32, 0, 
   17700             : /* 32925*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17701             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17702             : /* 32932*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17703             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17704             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 10
   17705             :                       // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17706             : /* 32941*/          /*Scope*/ 29, /*->32971*/
   17707             : /* 32942*/            OPC_CheckPredicate, 13, // Predicate_zextload
   17708             : /* 32944*/            OPC_CheckPredicate, 15, // Predicate_zextloadi32
   17709             : /* 32946*/            OPC_CheckType, MVT::i64,
   17710             : /* 32948*/            OPC_EmitMergeInputChains1_0,
   17711             : /* 32949*/            OPC_EmitInteger, MVT::i32, 0, 
   17712             : /* 32952*/            OPC_EmitInteger, MVT::i32, 0, 
   17713             : /* 32955*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17714             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17715             : /* 32962*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17716             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17717             :                       // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 10
   17718             :                       // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17719             : /* 32971*/          /*Scope*/ 14|128,1/*142*/, /*->33115*/
   17720             : /* 32973*/            OPC_CheckPredicate, 16, // Predicate_extload
   17721             : /* 32975*/            OPC_SwitchType /*2 cases */, 54, MVT::i32,// ->33032
   17722             : /* 32978*/              OPC_Scope, 25, /*->33005*/ // 2 children in Scope
   17723             : /* 32980*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   17724             : /* 32982*/                OPC_EmitMergeInputChains1_0,
   17725             : /* 32983*/                OPC_EmitInteger, MVT::i32, 0, 
   17726             : /* 32986*/                OPC_EmitInteger, MVT::i32, 0, 
   17727             : /* 32989*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17728             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17729             : /* 32996*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17730             :                               MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17731             :                           // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
   17732             :                           // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17733             : /* 33005*/              /*Scope*/ 25, /*->33031*/
   17734             : /* 33006*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   17735             : /* 33008*/                OPC_EmitMergeInputChains1_0,
   17736             : /* 33009*/                OPC_EmitInteger, MVT::i32, 0, 
   17737             : /* 33012*/                OPC_EmitInteger, MVT::i32, 0, 
   17738             : /* 33015*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17739             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17740             : /* 33022*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17741             :                               MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   17742             :                           // Src: (ld:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
   17743             :                           // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17744             : /* 33031*/              0, /*End of Scope*/
   17745             : /* 33032*/            /*SwitchType*/ 80, MVT::i64,// ->33114
   17746             : /* 33034*/              OPC_Scope, 25, /*->33061*/ // 3 children in Scope
   17747             : /* 33036*/                OPC_CheckPredicate, 12, // Predicate_extloadi8
   17748             : /* 33038*/                OPC_EmitMergeInputChains1_0,
   17749             : /* 33039*/                OPC_EmitInteger, MVT::i32, 0, 
   17750             : /* 33042*/                OPC_EmitInteger, MVT::i32, 0, 
   17751             : /* 33045*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17752             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17753             : /* 33052*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17754             :                               MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17755             :                           // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 10
   17756             :                           // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17757             : /* 33061*/              /*Scope*/ 25, /*->33087*/
   17758             : /* 33062*/                OPC_CheckPredicate, 14, // Predicate_extloadi16
   17759             : /* 33064*/                OPC_EmitMergeInputChains1_0,
   17760             : /* 33065*/                OPC_EmitInteger, MVT::i32, 0, 
   17761             : /* 33068*/                OPC_EmitInteger, MVT::i32, 0, 
   17762             : /* 33071*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17763             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17764             : /* 33078*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17765             :                               MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17766             :                           // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 10
   17767             :                           // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17768             : /* 33087*/              /*Scope*/ 25, /*->33113*/
   17769             : /* 33088*/                OPC_CheckPredicate, 15, // Predicate_extloadi32
   17770             : /* 33090*/                OPC_EmitMergeInputChains1_0,
   17771             : /* 33091*/                OPC_EmitInteger, MVT::i32, 0, 
   17772             : /* 33094*/                OPC_EmitInteger, MVT::i32, 0, 
   17773             : /* 33097*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17774             :                               MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   17775             : /* 33104*/                OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17776             :                               MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   17777             :                           // Src: (ld:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 10
   17778             :                           // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17779             : /* 33113*/              0, /*End of Scope*/
   17780             : /* 33114*/            0, // EndSwitchType
   17781             : /* 33115*/          0, /*End of Scope*/
   17782             : /* 33116*/        0, // EndSwitchOpcode
   17783             : /* 33117*/      0, // EndSwitchOpcode
   17784             : /* 33118*/    /*Scope*/ 38|128,7/*934*/, /*->34054*/
   17785             : /* 33120*/      OPC_RecordChild1, // #1 = $off
   17786             : /* 33121*/      OPC_Scope, 30|128,4/*542*/, /*->33666*/ // 2 children in Scope
   17787             : /* 33124*/        OPC_MoveChild1,
   17788             : /* 33125*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   17789             : /* 33128*/        OPC_MoveParent,
   17790             : /* 33129*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   17791             : /* 33131*/        OPC_Scope, 58, /*->33191*/ // 12 children in Scope
   17792             : /* 33133*/          OPC_CheckPredicate, 10, // Predicate_load
   17793             : /* 33135*/          OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->33163
   17794             : /* 33138*/            OPC_EmitMergeInputChains1_0,
   17795             : /* 33139*/            OPC_EmitInteger, MVT::i32, 0, 
   17796             : /* 33142*/            OPC_EmitConvertToTarget, 1,
   17797             : /* 33144*/            OPC_EmitInteger, MVT::i32, 0, 
   17798             : /* 33147*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17799             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17800             : /* 33154*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17801             :                           MVT::i32, 3/*#Ops*/, 2, 3, 5, 
   17802             :                       // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
   17803             :                       // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17804             : /* 33163*/          /*SwitchType*/ 25, MVT::i64,// ->33190
   17805             : /* 33165*/            OPC_EmitMergeInputChains1_0,
   17806             : /* 33166*/            OPC_EmitInteger, MVT::i32, 0, 
   17807             : /* 33169*/            OPC_EmitConvertToTarget, 1,
   17808             : /* 33171*/            OPC_EmitInteger, MVT::i32, 0, 
   17809             : /* 33174*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17810             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17811             : /* 33181*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17812             :                           MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   17813             :                       // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
   17814             :                       // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17815             : /* 33190*/          0, // EndSwitchType
   17816             : /* 33191*/        /*Scope*/ 31, /*->33223*/
   17817             : /* 33192*/          OPC_CheckPredicate, 11, // Predicate_sextload
   17818             : /* 33194*/          OPC_CheckPredicate, 12, // Predicate_sextloadi8
   17819             : /* 33196*/          OPC_CheckType, MVT::i32,
   17820             : /* 33198*/          OPC_EmitMergeInputChains1_0,
   17821             : /* 33199*/          OPC_EmitInteger, MVT::i32, 0, 
   17822             : /* 33202*/          OPC_EmitConvertToTarget, 1,
   17823             : /* 33204*/          OPC_EmitInteger, MVT::i32, 0, 
   17824             : /* 33207*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17825             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17826             : /* 33214*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17827             :                         MVT::i32, 3/*#Ops*/, 2, 3, 5, 
   17828             :                     // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 7
   17829             :                     // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17830             : /* 33223*/        /*Scope*/ 31, /*->33255*/
   17831             : /* 33224*/          OPC_CheckPredicate, 13, // Predicate_zextload
   17832             : /* 33226*/          OPC_CheckPredicate, 12, // Predicate_zextloadi8
   17833             : /* 33228*/          OPC_CheckType, MVT::i32,
   17834             : /* 33230*/          OPC_EmitMergeInputChains1_0,
   17835             : /* 33231*/          OPC_EmitInteger, MVT::i32, 0, 
   17836             : /* 33234*/          OPC_EmitConvertToTarget, 1,
   17837             : /* 33236*/          OPC_EmitInteger, MVT::i32, 0, 
   17838             : /* 33239*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17839             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17840             : /* 33246*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17841             :                         MVT::i32, 3/*#Ops*/, 2, 3, 5, 
   17842             :                     // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 7
   17843             :                     // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17844             : /* 33255*/        /*Scope*/ 31, /*->33287*/
   17845             : /* 33256*/          OPC_CheckPredicate, 11, // Predicate_sextload
   17846             : /* 33258*/          OPC_CheckPredicate, 14, // Predicate_sextloadi16
   17847             : /* 33260*/          OPC_CheckType, MVT::i32,
   17848             : /* 33262*/          OPC_EmitMergeInputChains1_0,
   17849             : /* 33263*/          OPC_EmitInteger, MVT::i32, 0, 
   17850             : /* 33266*/          OPC_EmitConvertToTarget, 1,
   17851             : /* 33268*/          OPC_EmitInteger, MVT::i32, 0, 
   17852             : /* 33271*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17853             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17854             : /* 33278*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17855             :                         MVT::i32, 3/*#Ops*/, 2, 3, 5, 
   17856             :                     // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 7
   17857             :                     // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17858             : /* 33287*/        /*Scope*/ 31, /*->33319*/
   17859             : /* 33288*/          OPC_CheckPredicate, 13, // Predicate_zextload
   17860             : /* 33290*/          OPC_CheckPredicate, 14, // Predicate_zextloadi16
   17861             : /* 33292*/          OPC_CheckType, MVT::i32,
   17862             : /* 33294*/          OPC_EmitMergeInputChains1_0,
   17863             : /* 33295*/          OPC_EmitInteger, MVT::i32, 0, 
   17864             : /* 33298*/          OPC_EmitConvertToTarget, 1,
   17865             : /* 33300*/          OPC_EmitInteger, MVT::i32, 0, 
   17866             : /* 33303*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17867             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17868             : /* 33310*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17869             :                         MVT::i32, 3/*#Ops*/, 2, 3, 5, 
   17870             :                     // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 7
   17871             :                     // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17872             : /* 33319*/        /*Scope*/ 31, /*->33351*/
   17873             : /* 33320*/          OPC_CheckPredicate, 11, // Predicate_sextload
   17874             : /* 33322*/          OPC_CheckPredicate, 12, // Predicate_sextloadi8
   17875             : /* 33324*/          OPC_CheckType, MVT::i64,
   17876             : /* 33326*/          OPC_EmitMergeInputChains1_0,
   17877             : /* 33327*/          OPC_EmitInteger, MVT::i32, 0, 
   17878             : /* 33330*/          OPC_EmitConvertToTarget, 1,
   17879             : /* 33332*/          OPC_EmitInteger, MVT::i32, 0, 
   17880             : /* 33335*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17881             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17882             : /* 33342*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17883             :                         MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   17884             :                     // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 7
   17885             :                     // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17886             : /* 33351*/        /*Scope*/ 31, /*->33383*/
   17887             : /* 33352*/          OPC_CheckPredicate, 13, // Predicate_zextload
   17888             : /* 33354*/          OPC_CheckPredicate, 12, // Predicate_zextloadi8
   17889             : /* 33356*/          OPC_CheckType, MVT::i64,
   17890             : /* 33358*/          OPC_EmitMergeInputChains1_0,
   17891             : /* 33359*/          OPC_EmitInteger, MVT::i32, 0, 
   17892             : /* 33362*/          OPC_EmitConvertToTarget, 1,
   17893             : /* 33364*/          OPC_EmitInteger, MVT::i32, 0, 
   17894             : /* 33367*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17895             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17896             : /* 33374*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17897             :                         MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   17898             :                     // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 7
   17899             :                     // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17900             : /* 33383*/        /*Scope*/ 31, /*->33415*/
   17901             : /* 33384*/          OPC_CheckPredicate, 11, // Predicate_sextload
   17902             : /* 33386*/          OPC_CheckPredicate, 14, // Predicate_sextloadi16
   17903             : /* 33388*/          OPC_CheckType, MVT::i64,
   17904             : /* 33390*/          OPC_EmitMergeInputChains1_0,
   17905             : /* 33391*/          OPC_EmitInteger, MVT::i32, 0, 
   17906             : /* 33394*/          OPC_EmitConvertToTarget, 1,
   17907             : /* 33396*/          OPC_EmitInteger, MVT::i32, 0, 
   17908             : /* 33399*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17909             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17910             : /* 33406*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17911             :                         MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   17912             :                     // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 7
   17913             :                     // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17914             : /* 33415*/        /*Scope*/ 31, /*->33447*/
   17915             : /* 33416*/          OPC_CheckPredicate, 13, // Predicate_zextload
   17916             : /* 33418*/          OPC_CheckPredicate, 14, // Predicate_zextloadi16
   17917             : /* 33420*/          OPC_CheckType, MVT::i64,
   17918             : /* 33422*/          OPC_EmitMergeInputChains1_0,
   17919             : /* 33423*/          OPC_EmitInteger, MVT::i32, 0, 
   17920             : /* 33426*/          OPC_EmitConvertToTarget, 1,
   17921             : /* 33428*/          OPC_EmitInteger, MVT::i32, 0, 
   17922             : /* 33431*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17923             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17924             : /* 33438*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17925             :                         MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   17926             :                     // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 7
   17927             :                     // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17928             : /* 33447*/        /*Scope*/ 31, /*->33479*/
   17929             : /* 33448*/          OPC_CheckPredicate, 11, // Predicate_sextload
   17930             : /* 33450*/          OPC_CheckPredicate, 15, // Predicate_sextloadi32
   17931             : /* 33452*/          OPC_CheckType, MVT::i64,
   17932             : /* 33454*/          OPC_EmitMergeInputChains1_0,
   17933             : /* 33455*/          OPC_EmitInteger, MVT::i32, 0, 
   17934             : /* 33458*/          OPC_EmitConvertToTarget, 1,
   17935             : /* 33460*/          OPC_EmitInteger, MVT::i32, 0, 
   17936             : /* 33463*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17937             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17938             : /* 33470*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17939             :                         MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   17940             :                     // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 7
   17941             :                     // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17942             : /* 33479*/        /*Scope*/ 31, /*->33511*/
   17943             : /* 33480*/          OPC_CheckPredicate, 13, // Predicate_zextload
   17944             : /* 33482*/          OPC_CheckPredicate, 15, // Predicate_zextloadi32
   17945             : /* 33484*/          OPC_CheckType, MVT::i64,
   17946             : /* 33486*/          OPC_EmitMergeInputChains1_0,
   17947             : /* 33487*/          OPC_EmitInteger, MVT::i32, 0, 
   17948             : /* 33490*/          OPC_EmitConvertToTarget, 1,
   17949             : /* 33492*/          OPC_EmitInteger, MVT::i32, 0, 
   17950             : /* 33495*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17951             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17952             : /* 33502*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17953             :                         MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   17954             :                     // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 7
   17955             :                     // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17956             : /* 33511*/        /*Scope*/ 24|128,1/*152*/, /*->33665*/
   17957             : /* 33513*/          OPC_CheckPredicate, 16, // Predicate_extload
   17958             : /* 33515*/          OPC_SwitchType /*2 cases */, 58, MVT::i32,// ->33576
   17959             : /* 33518*/            OPC_Scope, 27, /*->33547*/ // 2 children in Scope
   17960             : /* 33520*/              OPC_CheckPredicate, 12, // Predicate_extloadi8
   17961             : /* 33522*/              OPC_EmitMergeInputChains1_0,
   17962             : /* 33523*/              OPC_EmitInteger, MVT::i32, 0, 
   17963             : /* 33526*/              OPC_EmitConvertToTarget, 1,
   17964             : /* 33528*/              OPC_EmitInteger, MVT::i32, 0, 
   17965             : /* 33531*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17966             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17967             : /* 33538*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17968             :                             MVT::i32, 3/*#Ops*/, 2, 3, 5, 
   17969             :                         // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 7
   17970             :                         // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17971             : /* 33547*/            /*Scope*/ 27, /*->33575*/
   17972             : /* 33548*/              OPC_CheckPredicate, 14, // Predicate_extloadi16
   17973             : /* 33550*/              OPC_EmitMergeInputChains1_0,
   17974             : /* 33551*/              OPC_EmitInteger, MVT::i32, 0, 
   17975             : /* 33554*/              OPC_EmitConvertToTarget, 1,
   17976             : /* 33556*/              OPC_EmitInteger, MVT::i32, 0, 
   17977             : /* 33559*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17978             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17979             : /* 33566*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   17980             :                             MVT::i32, 3/*#Ops*/, 2, 3, 5, 
   17981             :                         // Src: (ld:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 7
   17982             :                         // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17983             : /* 33575*/            0, /*End of Scope*/
   17984             : /* 33576*/          /*SwitchType*/ 86, MVT::i64,// ->33664
   17985             : /* 33578*/            OPC_Scope, 27, /*->33607*/ // 3 children in Scope
   17986             : /* 33580*/              OPC_CheckPredicate, 12, // Predicate_extloadi8
   17987             : /* 33582*/              OPC_EmitMergeInputChains1_0,
   17988             : /* 33583*/              OPC_EmitInteger, MVT::i32, 0, 
   17989             : /* 33586*/              OPC_EmitConvertToTarget, 1,
   17990             : /* 33588*/              OPC_EmitInteger, MVT::i32, 0, 
   17991             : /* 33591*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   17992             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   17993             : /* 33598*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   17994             :                             MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   17995             :                         // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 7
   17996             :                         // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   17997             : /* 33607*/            /*Scope*/ 27, /*->33635*/
   17998             : /* 33608*/              OPC_CheckPredicate, 14, // Predicate_extloadi16
   17999             : /* 33610*/              OPC_EmitMergeInputChains1_0,
   18000             : /* 33611*/              OPC_EmitInteger, MVT::i32, 0, 
   18001             : /* 33614*/              OPC_EmitConvertToTarget, 1,
   18002             : /* 33616*/              OPC_EmitInteger, MVT::i32, 0, 
   18003             : /* 33619*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18004             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   18005             : /* 33626*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18006             :                             MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   18007             :                         // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 7
   18008             :                         // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18009             : /* 33635*/            /*Scope*/ 27, /*->33663*/
   18010             : /* 33636*/              OPC_CheckPredicate, 15, // Predicate_extloadi32
   18011             : /* 33638*/              OPC_EmitMergeInputChains1_0,
   18012             : /* 33639*/              OPC_EmitInteger, MVT::i32, 0, 
   18013             : /* 33642*/              OPC_EmitConvertToTarget, 1,
   18014             : /* 33644*/              OPC_EmitInteger, MVT::i32, 0, 
   18015             : /* 33647*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18016             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   18017             : /* 33654*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18018             :                             MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   18019             :                         // Src: (ld:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 7
   18020             :                         // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18021             : /* 33663*/            0, /*End of Scope*/
   18022             : /* 33664*/          0, // EndSwitchType
   18023             : /* 33665*/        0, /*End of Scope*/
   18024             : /* 33666*/      /*Scope*/ 1|128,3/*385*/, /*->34053*/
   18025             : /* 33668*/        OPC_CheckChild1Type, MVT::i32,
   18026             : /* 33670*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   18027             : /* 33672*/        OPC_Scope, 40, /*->33714*/ // 12 children in Scope
   18028             : /* 33674*/          OPC_CheckPredicate, 10, // Predicate_load
   18029             : /* 33676*/          OPC_SwitchType /*2 cases */, 16, MVT::i32,// ->33695
   18030             : /* 33679*/            OPC_EmitMergeInputChains1_0,
   18031             : /* 33680*/            OPC_EmitInteger, MVT::i32, 0, 
   18032             : /* 33683*/            OPC_EmitInteger, MVT::i32, 0, 
   18033             : /* 33686*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   18034             :                           MVT::i32, 3/*#Ops*/, 2, 3, 1, 
   18035             :                       // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
   18036             :                       // Dst: (LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18037             : /* 33695*/          /*SwitchType*/ 16, MVT::i64,// ->33713
   18038             : /* 33697*/            OPC_EmitMergeInputChains1_0,
   18039             : /* 33698*/            OPC_EmitInteger, MVT::i32, 0, 
   18040             : /* 33701*/            OPC_EmitInteger, MVT::i32, 0, 
   18041             : /* 33704*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18042             :                           MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   18043             :                       // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
   18044             :                       // Dst: (LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18045             : /* 33713*/          0, // EndSwitchType
   18046             : /* 33714*/        /*Scope*/ 22, /*->33737*/
   18047             : /* 33715*/          OPC_CheckPredicate, 11, // Predicate_sextload
   18048             : /* 33717*/          OPC_CheckPredicate, 12, // Predicate_sextloadi8
   18049             : /* 33719*/          OPC_CheckType, MVT::i32,
   18050             : /* 33721*/          OPC_EmitMergeInputChains1_0,
   18051             : /* 33722*/          OPC_EmitInteger, MVT::i32, 0, 
   18052             : /* 33725*/          OPC_EmitInteger, MVT::i32, 0, 
   18053             : /* 33728*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   18054             :                         MVT::i32, 3/*#Ops*/, 2, 3, 1, 
   18055             :                     // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 4
   18056             :                     // Dst: (LOAD8_S_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18057             : /* 33737*/        /*Scope*/ 22, /*->33760*/
   18058             : /* 33738*/          OPC_CheckPredicate, 13, // Predicate_zextload
   18059             : /* 33740*/          OPC_CheckPredicate, 12, // Predicate_zextloadi8
   18060             : /* 33742*/          OPC_CheckType, MVT::i32,
   18061             : /* 33744*/          OPC_EmitMergeInputChains1_0,
   18062             : /* 33745*/          OPC_EmitInteger, MVT::i32, 0, 
   18063             : /* 33748*/          OPC_EmitInteger, MVT::i32, 0, 
   18064             : /* 33751*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   18065             :                         MVT::i32, 3/*#Ops*/, 2, 3, 1, 
   18066             :                     // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 4
   18067             :                     // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18068             : /* 33760*/        /*Scope*/ 22, /*->33783*/
   18069             : /* 33761*/          OPC_CheckPredicate, 11, // Predicate_sextload
   18070             : /* 33763*/          OPC_CheckPredicate, 14, // Predicate_sextloadi16
   18071             : /* 33765*/          OPC_CheckType, MVT::i32,
   18072             : /* 33767*/          OPC_EmitMergeInputChains1_0,
   18073             : /* 33768*/          OPC_EmitInteger, MVT::i32, 0, 
   18074             : /* 33771*/          OPC_EmitInteger, MVT::i32, 0, 
   18075             : /* 33774*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I32), 0|OPFL_Chain|OPFL_MemRefs,
   18076             :                         MVT::i32, 3/*#Ops*/, 2, 3, 1, 
   18077             :                     // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 4
   18078             :                     // Dst: (LOAD16_S_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18079             : /* 33783*/        /*Scope*/ 22, /*->33806*/
   18080             : /* 33784*/          OPC_CheckPredicate, 13, // Predicate_zextload
   18081             : /* 33786*/          OPC_CheckPredicate, 14, // Predicate_zextloadi16
   18082             : /* 33788*/          OPC_CheckType, MVT::i32,
   18083             : /* 33790*/          OPC_EmitMergeInputChains1_0,
   18084             : /* 33791*/          OPC_EmitInteger, MVT::i32, 0, 
   18085             : /* 33794*/          OPC_EmitInteger, MVT::i32, 0, 
   18086             : /* 33797*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   18087             :                         MVT::i32, 3/*#Ops*/, 2, 3, 1, 
   18088             :                     // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 4
   18089             :                     // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18090             : /* 33806*/        /*Scope*/ 22, /*->33829*/
   18091             : /* 33807*/          OPC_CheckPredicate, 11, // Predicate_sextload
   18092             : /* 33809*/          OPC_CheckPredicate, 12, // Predicate_sextloadi8
   18093             : /* 33811*/          OPC_CheckType, MVT::i64,
   18094             : /* 33813*/          OPC_EmitMergeInputChains1_0,
   18095             : /* 33814*/          OPC_EmitInteger, MVT::i32, 0, 
   18096             : /* 33817*/          OPC_EmitInteger, MVT::i32, 0, 
   18097             : /* 33820*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18098             :                         MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   18099             :                     // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 4
   18100             :                     // Dst: (LOAD8_S_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18101             : /* 33829*/        /*Scope*/ 22, /*->33852*/
   18102             : /* 33830*/          OPC_CheckPredicate, 13, // Predicate_zextload
   18103             : /* 33832*/          OPC_CheckPredicate, 12, // Predicate_zextloadi8
   18104             : /* 33834*/          OPC_CheckType, MVT::i64,
   18105             : /* 33836*/          OPC_EmitMergeInputChains1_0,
   18106             : /* 33837*/          OPC_EmitInteger, MVT::i32, 0, 
   18107             : /* 33840*/          OPC_EmitInteger, MVT::i32, 0, 
   18108             : /* 33843*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18109             :                         MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   18110             :                     // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 4
   18111             :                     // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18112             : /* 33852*/        /*Scope*/ 22, /*->33875*/
   18113             : /* 33853*/          OPC_CheckPredicate, 11, // Predicate_sextload
   18114             : /* 33855*/          OPC_CheckPredicate, 14, // Predicate_sextloadi16
   18115             : /* 33857*/          OPC_CheckType, MVT::i64,
   18116             : /* 33859*/          OPC_EmitMergeInputChains1_0,
   18117             : /* 33860*/          OPC_EmitInteger, MVT::i32, 0, 
   18118             : /* 33863*/          OPC_EmitInteger, MVT::i32, 0, 
   18119             : /* 33866*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18120             :                         MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   18121             :                     // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 4
   18122             :                     // Dst: (LOAD16_S_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18123             : /* 33875*/        /*Scope*/ 22, /*->33898*/
   18124             : /* 33876*/          OPC_CheckPredicate, 13, // Predicate_zextload
   18125             : /* 33878*/          OPC_CheckPredicate, 14, // Predicate_zextloadi16
   18126             : /* 33880*/          OPC_CheckType, MVT::i64,
   18127             : /* 33882*/          OPC_EmitMergeInputChains1_0,
   18128             : /* 33883*/          OPC_EmitInteger, MVT::i32, 0, 
   18129             : /* 33886*/          OPC_EmitInteger, MVT::i32, 0, 
   18130             : /* 33889*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18131             :                         MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   18132             :                     // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 4
   18133             :                     // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18134             : /* 33898*/        /*Scope*/ 22, /*->33921*/
   18135             : /* 33899*/          OPC_CheckPredicate, 11, // Predicate_sextload
   18136             : /* 33901*/          OPC_CheckPredicate, 15, // Predicate_sextloadi32
   18137             : /* 33903*/          OPC_CheckType, MVT::i64,
   18138             : /* 33905*/          OPC_EmitMergeInputChains1_0,
   18139             : /* 33906*/          OPC_EmitInteger, MVT::i32, 0, 
   18140             : /* 33909*/          OPC_EmitInteger, MVT::i32, 0, 
   18141             : /* 33912*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_S_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18142             :                         MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   18143             :                     // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 4
   18144             :                     // Dst: (LOAD32_S_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18145             : /* 33921*/        /*Scope*/ 22, /*->33944*/
   18146             : /* 33922*/          OPC_CheckPredicate, 13, // Predicate_zextload
   18147             : /* 33924*/          OPC_CheckPredicate, 15, // Predicate_zextloadi32
   18148             : /* 33926*/          OPC_CheckType, MVT::i64,
   18149             : /* 33928*/          OPC_EmitMergeInputChains1_0,
   18150             : /* 33929*/          OPC_EmitInteger, MVT::i32, 0, 
   18151             : /* 33932*/          OPC_EmitInteger, MVT::i32, 0, 
   18152             : /* 33935*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18153             :                         MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   18154             :                     // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 4
   18155             :                     // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18156             : /* 33944*/        /*Scope*/ 107, /*->34052*/
   18157             : /* 33945*/          OPC_CheckPredicate, 16, // Predicate_extload
   18158             : /* 33947*/          OPC_SwitchType /*2 cases */, 40, MVT::i32,// ->33990
   18159             : /* 33950*/            OPC_Scope, 18, /*->33970*/ // 2 children in Scope
   18160             : /* 33952*/              OPC_CheckPredicate, 12, // Predicate_extloadi8
   18161             : /* 33954*/              OPC_EmitMergeInputChains1_0,
   18162             : /* 33955*/              OPC_EmitInteger, MVT::i32, 0, 
   18163             : /* 33958*/              OPC_EmitInteger, MVT::i32, 0, 
   18164             : /* 33961*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   18165             :                             MVT::i32, 3/*#Ops*/, 2, 3, 1, 
   18166             :                         // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 4
   18167             :                         // Dst: (LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18168             : /* 33970*/            /*Scope*/ 18, /*->33989*/
   18169             : /* 33971*/              OPC_CheckPredicate, 14, // Predicate_extloadi16
   18170             : /* 33973*/              OPC_EmitMergeInputChains1_0,
   18171             : /* 33974*/              OPC_EmitInteger, MVT::i32, 0, 
   18172             : /* 33977*/              OPC_EmitInteger, MVT::i32, 0, 
   18173             : /* 33980*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   18174             :                             MVT::i32, 3/*#Ops*/, 2, 3, 1, 
   18175             :                         // Src: (ld:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 4
   18176             :                         // Dst: (LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18177             : /* 33989*/            0, /*End of Scope*/
   18178             : /* 33990*/          /*SwitchType*/ 59, MVT::i64,// ->34051
   18179             : /* 33992*/            OPC_Scope, 18, /*->34012*/ // 3 children in Scope
   18180             : /* 33994*/              OPC_CheckPredicate, 12, // Predicate_extloadi8
   18181             : /* 33996*/              OPC_EmitMergeInputChains1_0,
   18182             : /* 33997*/              OPC_EmitInteger, MVT::i32, 0, 
   18183             : /* 34000*/              OPC_EmitInteger, MVT::i32, 0, 
   18184             : /* 34003*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD8_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18185             :                             MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   18186             :                         // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 4
   18187             :                         // Dst: (LOAD8_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18188             : /* 34012*/            /*Scope*/ 18, /*->34031*/
   18189             : /* 34013*/              OPC_CheckPredicate, 14, // Predicate_extloadi16
   18190             : /* 34015*/              OPC_EmitMergeInputChains1_0,
   18191             : /* 34016*/              OPC_EmitInteger, MVT::i32, 0, 
   18192             : /* 34019*/              OPC_EmitInteger, MVT::i32, 0, 
   18193             : /* 34022*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD16_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18194             :                             MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   18195             :                         // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 4
   18196             :                         // Dst: (LOAD16_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18197             : /* 34031*/            /*Scope*/ 18, /*->34050*/
   18198             : /* 34032*/              OPC_CheckPredicate, 15, // Predicate_extloadi32
   18199             : /* 34034*/              OPC_EmitMergeInputChains1_0,
   18200             : /* 34035*/              OPC_EmitInteger, MVT::i32, 0, 
   18201             : /* 34038*/              OPC_EmitInteger, MVT::i32, 0, 
   18202             : /* 34041*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD32_U_I64), 0|OPFL_Chain|OPFL_MemRefs,
   18203             :                             MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   18204             :                         // Src: (ld:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 4
   18205             :                         // Dst: (LOAD32_U_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18206             : /* 34050*/            0, /*End of Scope*/
   18207             : /* 34051*/          0, // EndSwitchType
   18208             : /* 34052*/        0, /*End of Scope*/
   18209             : /* 34053*/      0, /*End of Scope*/
   18210             : /* 34054*/    /*Scope*/ 74|128,3/*458*/, /*->34514*/
   18211             : /* 34056*/      OPC_MoveChild1,
   18212             : /* 34057*/      OPC_SwitchOpcode /*3 cases */, 11|128,2/*267*/, TARGET_VAL(ISD::ADD),// ->34329
   18213             : /* 34062*/        OPC_Scope, 53, /*->34117*/ // 5 children in Scope
   18214             : /* 34064*/          OPC_RecordChild0, // #1 = $addr
   18215             : /* 34065*/          OPC_MoveChild1,
   18216             : /* 34066*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   18217             : /* 34069*/          OPC_RecordChild0, // #2 = $off
   18218             : /* 34070*/          OPC_MoveChild0,
   18219             : /* 34071*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   18220             : /* 34074*/          OPC_MoveParent,
   18221             : /* 34075*/          OPC_MoveParent,
   18222             : /* 34076*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   18223             : /* 34078*/          OPC_CheckType, MVT::i32,
   18224             : /* 34080*/          OPC_MoveParent,
   18225             : /* 34081*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18226             : /* 34083*/          OPC_CheckPredicate, 10, // Predicate_load
   18227             : /* 34085*/          OPC_SwitchType /*2 cases */, 13, MVT::f32,// ->34101
   18228             : /* 34088*/            OPC_EmitMergeInputChains1_0,
   18229             : /* 34089*/            OPC_EmitInteger, MVT::i32, 0, 
   18230             : /* 34092*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
   18231             :                           MVT::f32, 3/*#Ops*/, 3, 2, 1, 
   18232             :                       // Src: (ld:{ *:[f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18233             :                       // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18234             : /* 34101*/          /*SwitchType*/ 13, MVT::f64,// ->34116
   18235             : /* 34103*/            OPC_EmitMergeInputChains1_0,
   18236             : /* 34104*/            OPC_EmitInteger, MVT::i32, 0, 
   18237             : /* 34107*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
   18238             :                           MVT::f64, 3/*#Ops*/, 3, 2, 1, 
   18239             :                       // Src: (ld:{ *:[f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18240             :                       // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18241             : /* 34116*/          0, // EndSwitchType
   18242             : /* 34117*/        /*Scope*/ 53, /*->34171*/
   18243             : /* 34118*/          OPC_MoveChild0,
   18244             : /* 34119*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   18245             : /* 34122*/          OPC_RecordChild0, // #1 = $off
   18246             : /* 34123*/          OPC_MoveChild0,
   18247             : /* 34124*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   18248             : /* 34127*/          OPC_MoveParent,
   18249             : /* 34128*/          OPC_MoveParent,
   18250             : /* 34129*/          OPC_RecordChild1, // #2 = $addr
   18251             : /* 34130*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   18252             : /* 34132*/          OPC_CheckType, MVT::i32,
   18253             : /* 34134*/          OPC_MoveParent,
   18254             : /* 34135*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18255             : /* 34137*/          OPC_CheckPredicate, 10, // Predicate_load
   18256             : /* 34139*/          OPC_SwitchType /*2 cases */, 13, MVT::f32,// ->34155
   18257             : /* 34142*/            OPC_EmitMergeInputChains1_0,
   18258             : /* 34143*/            OPC_EmitInteger, MVT::i32, 0, 
   18259             : /* 34146*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
   18260             :                           MVT::f32, 3/*#Ops*/, 3, 1, 2, 
   18261             :                       // Src: (ld:{ *:[f32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18262             :                       // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18263             : /* 34155*/          /*SwitchType*/ 13, MVT::f64,// ->34170
   18264             : /* 34157*/            OPC_EmitMergeInputChains1_0,
   18265             : /* 34158*/            OPC_EmitInteger, MVT::i32, 0, 
   18266             : /* 34161*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
   18267             :                           MVT::f64, 3/*#Ops*/, 3, 1, 2, 
   18268             :                       // Src: (ld:{ *:[f64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18269             :                       // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18270             : /* 34170*/          0, // EndSwitchType
   18271             : /* 34171*/        /*Scope*/ 51, /*->34223*/
   18272             : /* 34172*/          OPC_RecordChild0, // #1 = $addr
   18273             : /* 34173*/          OPC_MoveChild1,
   18274             : /* 34174*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   18275             : /* 34177*/          OPC_RecordChild0, // #2 = $off
   18276             : /* 34178*/          OPC_MoveChild0,
   18277             : /* 34179*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   18278             : /* 34182*/          OPC_MoveParent,
   18279             : /* 34183*/          OPC_MoveParent,
   18280             : /* 34184*/          OPC_CheckType, MVT::i32,
   18281             : /* 34186*/          OPC_MoveParent,
   18282             : /* 34187*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18283             : /* 34189*/          OPC_CheckPredicate, 10, // Predicate_load
   18284             : /* 34191*/          OPC_SwitchType /*2 cases */, 13, MVT::f32,// ->34207
   18285             : /* 34194*/            OPC_EmitMergeInputChains1_0,
   18286             : /* 34195*/            OPC_EmitInteger, MVT::i32, 0, 
   18287             : /* 34198*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
   18288             :                           MVT::f32, 3/*#Ops*/, 3, 2, 1, 
   18289             :                       // Src: (ld:{ *:[f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18290             :                       // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18291             : /* 34207*/          /*SwitchType*/ 13, MVT::f64,// ->34222
   18292             : /* 34209*/            OPC_EmitMergeInputChains1_0,
   18293             : /* 34210*/            OPC_EmitInteger, MVT::i32, 0, 
   18294             : /* 34213*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
   18295             :                           MVT::f64, 3/*#Ops*/, 3, 2, 1, 
   18296             :                       // Src: (ld:{ *:[f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18297             :                       // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18298             : /* 34222*/          0, // EndSwitchType
   18299             : /* 34223*/        /*Scope*/ 51, /*->34275*/
   18300             : /* 34224*/          OPC_MoveChild0,
   18301             : /* 34225*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   18302             : /* 34228*/          OPC_RecordChild0, // #1 = $off
   18303             : /* 34229*/          OPC_MoveChild0,
   18304             : /* 34230*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   18305             : /* 34233*/          OPC_MoveParent,
   18306             : /* 34234*/          OPC_MoveParent,
   18307             : /* 34235*/          OPC_RecordChild1, // #2 = $addr
   18308             : /* 34236*/          OPC_CheckType, MVT::i32,
   18309             : /* 34238*/          OPC_MoveParent,
   18310             : /* 34239*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18311             : /* 34241*/          OPC_CheckPredicate, 10, // Predicate_load
   18312             : /* 34243*/          OPC_SwitchType /*2 cases */, 13, MVT::f32,// ->34259
   18313             : /* 34246*/            OPC_EmitMergeInputChains1_0,
   18314             : /* 34247*/            OPC_EmitInteger, MVT::i32, 0, 
   18315             : /* 34250*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
   18316             :                           MVT::f32, 3/*#Ops*/, 3, 1, 2, 
   18317             :                       // Src: (ld:{ *:[f32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18318             :                       // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18319             : /* 34259*/          /*SwitchType*/ 13, MVT::f64,// ->34274
   18320             : /* 34261*/            OPC_EmitMergeInputChains1_0,
   18321             : /* 34262*/            OPC_EmitInteger, MVT::i32, 0, 
   18322             : /* 34265*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
   18323             :                           MVT::f64, 3/*#Ops*/, 3, 1, 2, 
   18324             :                       // Src: (ld:{ *:[f64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18325             :                       // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18326             : /* 34274*/          0, // EndSwitchType
   18327             : /* 34275*/        /*Scope*/ 52, /*->34328*/
   18328             : /* 34276*/          OPC_RecordChild0, // #1 = $addr
   18329             : /* 34277*/          OPC_RecordChild1, // #2 = $off
   18330             : /* 34278*/          OPC_MoveChild1,
   18331             : /* 34279*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   18332             : /* 34282*/          OPC_MoveParent,
   18333             : /* 34283*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   18334             : /* 34285*/          OPC_CheckType, MVT::i32,
   18335             : /* 34287*/          OPC_MoveParent,
   18336             : /* 34288*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18337             : /* 34290*/          OPC_CheckPredicate, 10, // Predicate_load
   18338             : /* 34292*/          OPC_SwitchType /*2 cases */, 15, MVT::f32,// ->34310
   18339             : /* 34295*/            OPC_EmitMergeInputChains1_0,
   18340             : /* 34296*/            OPC_EmitInteger, MVT::i32, 0, 
   18341             : /* 34299*/            OPC_EmitConvertToTarget, 2,
   18342             : /* 34301*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
   18343             :                           MVT::f32, 3/*#Ops*/, 3, 4, 1, 
   18344             :                       // Src: (ld:{ *:[f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18345             :                       // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18346             : /* 34310*/          /*SwitchType*/ 15, MVT::f64,// ->34327
   18347             : /* 34312*/            OPC_EmitMergeInputChains1_0,
   18348             : /* 34313*/            OPC_EmitInteger, MVT::i32, 0, 
   18349             : /* 34316*/            OPC_EmitConvertToTarget, 2,
   18350             : /* 34318*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
   18351             :                           MVT::f64, 3/*#Ops*/, 3, 4, 1, 
   18352             :                       // Src: (ld:{ *:[f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18353             :                       // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18354             : /* 34327*/          0, // EndSwitchType
   18355             : /* 34328*/        0, /*End of Scope*/
   18356             : /* 34329*/      /*SwitchOpcode*/ 52, TARGET_VAL(ISD::OR),// ->34384
   18357             : /* 34332*/        OPC_RecordChild0, // #1 = $addr
   18358             : /* 34333*/        OPC_RecordChild1, // #2 = $off
   18359             : /* 34334*/        OPC_MoveChild1,
   18360             : /* 34335*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   18361             : /* 34338*/        OPC_MoveParent,
   18362             : /* 34339*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   18363             : /* 34341*/        OPC_CheckType, MVT::i32,
   18364             : /* 34343*/        OPC_MoveParent,
   18365             : /* 34344*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   18366             : /* 34346*/        OPC_CheckPredicate, 10, // Predicate_load
   18367             : /* 34348*/        OPC_SwitchType /*2 cases */, 15, MVT::f32,// ->34366
   18368             : /* 34351*/          OPC_EmitMergeInputChains1_0,
   18369             : /* 34352*/          OPC_EmitInteger, MVT::i32, 0, 
   18370             : /* 34355*/          OPC_EmitConvertToTarget, 2,
   18371             : /* 34357*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
   18372             :                         MVT::f32, 3/*#Ops*/, 3, 4, 1, 
   18373             :                     // Src: (ld:{ *:[f32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18374             :                     // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18375             : /* 34366*/        /*SwitchType*/ 15, MVT::f64,// ->34383
   18376             : /* 34368*/          OPC_EmitMergeInputChains1_0,
   18377             : /* 34369*/          OPC_EmitInteger, MVT::i32, 0, 
   18378             : /* 34372*/          OPC_EmitConvertToTarget, 2,
   18379             : /* 34374*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
   18380             :                         MVT::f64, 3/*#Ops*/, 3, 4, 1, 
   18381             :                     // Src: (ld:{ *:[f64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18382             :                     // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18383             : /* 34383*/        0, // EndSwitchType
   18384             : /* 34384*/      /*SwitchOpcode*/ 126, TARGET_VAL(WebAssemblyISD::Wrapper),// ->34513
   18385             : /* 34387*/        OPC_RecordChild0, // #1 = $off
   18386             : /* 34388*/        OPC_MoveChild0,
   18387             : /* 34389*/        OPC_SwitchOpcode /*2 cases */, 58, TARGET_VAL(ISD::TargetGlobalAddress),// ->34451
   18388             : /* 34393*/          OPC_MoveParent,
   18389             : /* 34394*/          OPC_MoveParent,
   18390             : /* 34395*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18391             : /* 34397*/          OPC_CheckPredicate, 10, // Predicate_load
   18392             : /* 34399*/          OPC_SwitchType /*2 cases */, 23, MVT::f32,// ->34425
   18393             : /* 34402*/            OPC_EmitMergeInputChains1_0,
   18394             : /* 34403*/            OPC_EmitInteger, MVT::i32, 0, 
   18395             : /* 34406*/            OPC_EmitInteger, MVT::i32, 0, 
   18396             : /* 34409*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18397             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18398             : /* 34416*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
   18399             :                           MVT::f32, 3/*#Ops*/, 2, 1, 4, 
   18400             :                       // Src: (ld:{ *:[f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18401             :                       // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18402             : /* 34425*/          /*SwitchType*/ 23, MVT::f64,// ->34450
   18403             : /* 34427*/            OPC_EmitMergeInputChains1_0,
   18404             : /* 34428*/            OPC_EmitInteger, MVT::i32, 0, 
   18405             : /* 34431*/            OPC_EmitInteger, MVT::i32, 0, 
   18406             : /* 34434*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18407             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18408             : /* 34441*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
   18409             :                           MVT::f64, 3/*#Ops*/, 2, 1, 4, 
   18410             :                       // Src: (ld:{ *:[f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18411             :                       // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18412             : /* 34450*/          0, // EndSwitchType
   18413             : /* 34451*/        /*SwitchOpcode*/ 58, TARGET_VAL(ISD::TargetExternalSymbol),// ->34512
   18414             : /* 34454*/          OPC_MoveParent,
   18415             : /* 34455*/          OPC_MoveParent,
   18416             : /* 34456*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18417             : /* 34458*/          OPC_CheckPredicate, 10, // Predicate_load
   18418             : /* 34460*/          OPC_SwitchType /*2 cases */, 23, MVT::f32,// ->34486
   18419             : /* 34463*/            OPC_EmitMergeInputChains1_0,
   18420             : /* 34464*/            OPC_EmitInteger, MVT::i32, 0, 
   18421             : /* 34467*/            OPC_EmitInteger, MVT::i32, 0, 
   18422             : /* 34470*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18423             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18424             : /* 34477*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
   18425             :                           MVT::f32, 3/*#Ops*/, 2, 1, 4, 
   18426             :                       // Src: (ld:{ *:[f32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18427             :                       // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18428             : /* 34486*/          /*SwitchType*/ 23, MVT::f64,// ->34511
   18429             : /* 34488*/            OPC_EmitMergeInputChains1_0,
   18430             : /* 34489*/            OPC_EmitInteger, MVT::i32, 0, 
   18431             : /* 34492*/            OPC_EmitInteger, MVT::i32, 0, 
   18432             : /* 34495*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18433             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18434             : /* 34502*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
   18435             :                           MVT::f64, 3/*#Ops*/, 2, 1, 4, 
   18436             :                       // Src: (ld:{ *:[f64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18437             :                       // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18438             : /* 34511*/          0, // EndSwitchType
   18439             : /* 34512*/        0, // EndSwitchOpcode
   18440             : /* 34513*/      0, // EndSwitchOpcode
   18441             : /* 34514*/    /*Scope*/ 114, /*->34629*/
   18442             : /* 34515*/      OPC_RecordChild1, // #1 = $off
   18443             : /* 34516*/      OPC_Scope, 65, /*->34583*/ // 2 children in Scope
   18444             : /* 34518*/        OPC_MoveChild1,
   18445             : /* 34519*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   18446             : /* 34522*/        OPC_MoveParent,
   18447             : /* 34523*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   18448             : /* 34525*/        OPC_CheckPredicate, 10, // Predicate_load
   18449             : /* 34527*/        OPC_SwitchType /*2 cases */, 25, MVT::f32,// ->34555
   18450             : /* 34530*/          OPC_EmitMergeInputChains1_0,
   18451             : /* 34531*/          OPC_EmitInteger, MVT::i32, 0, 
   18452             : /* 34534*/          OPC_EmitConvertToTarget, 1,
   18453             : /* 34536*/          OPC_EmitInteger, MVT::i32, 0, 
   18454             : /* 34539*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18455             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   18456             : /* 34546*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
   18457             :                         MVT::f32, 3/*#Ops*/, 2, 3, 5, 
   18458             :                     // Src: (ld:{ *:[f32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
   18459             :                     // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18460             : /* 34555*/        /*SwitchType*/ 25, MVT::f64,// ->34582
   18461             : /* 34557*/          OPC_EmitMergeInputChains1_0,
   18462             : /* 34558*/          OPC_EmitInteger, MVT::i32, 0, 
   18463             : /* 34561*/          OPC_EmitConvertToTarget, 1,
   18464             : /* 34563*/          OPC_EmitInteger, MVT::i32, 0, 
   18465             : /* 34566*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18466             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   18467             : /* 34573*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
   18468             :                         MVT::f64, 3/*#Ops*/, 2, 3, 5, 
   18469             :                     // Src: (ld:{ *:[f64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
   18470             :                     // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18471             : /* 34582*/        0, // EndSwitchType
   18472             : /* 34583*/      /*Scope*/ 44, /*->34628*/
   18473             : /* 34584*/        OPC_CheckChild1Type, MVT::i32,
   18474             : /* 34586*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   18475             : /* 34588*/        OPC_CheckPredicate, 10, // Predicate_load
   18476             : /* 34590*/        OPC_SwitchType /*2 cases */, 16, MVT::f32,// ->34609
   18477             : /* 34593*/          OPC_EmitMergeInputChains1_0,
   18478             : /* 34594*/          OPC_EmitInteger, MVT::i32, 0, 
   18479             : /* 34597*/          OPC_EmitInteger, MVT::i32, 0, 
   18480             : /* 34600*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F32), 0|OPFL_Chain|OPFL_MemRefs,
   18481             :                         MVT::f32, 3/*#Ops*/, 2, 3, 1, 
   18482             :                     // Src: (ld:{ *:[f32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
   18483             :                     // Dst: (LOAD_F32:{ *:[f32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18484             : /* 34609*/        /*SwitchType*/ 16, MVT::f64,// ->34627
   18485             : /* 34611*/          OPC_EmitMergeInputChains1_0,
   18486             : /* 34612*/          OPC_EmitInteger, MVT::i32, 0, 
   18487             : /* 34615*/          OPC_EmitInteger, MVT::i32, 0, 
   18488             : /* 34618*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_F64), 0|OPFL_Chain|OPFL_MemRefs,
   18489             :                         MVT::f64, 3/*#Ops*/, 2, 3, 1, 
   18490             :                     // Src: (ld:{ *:[f64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
   18491             :                     // Dst: (LOAD_F64:{ *:[f64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18492             : /* 34627*/        0, // EndSwitchType
   18493             : /* 34628*/      0, /*End of Scope*/
   18494             : /* 34629*/    /*Scope*/ 107|128,5/*747*/, /*->35378*/
   18495             : /* 34631*/      OPC_MoveChild1,
   18496             : /* 34632*/      OPC_SwitchOpcode /*3 cases */, 37|128,3/*421*/, TARGET_VAL(ISD::ADD),// ->35058
   18497             : /* 34637*/        OPC_Scope, 83, /*->34722*/ // 5 children in Scope
   18498             : /* 34639*/          OPC_RecordChild0, // #1 = $addr
   18499             : /* 34640*/          OPC_MoveChild1,
   18500             : /* 34641*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   18501             : /* 34644*/          OPC_RecordChild0, // #2 = $off
   18502             : /* 34645*/          OPC_MoveChild0,
   18503             : /* 34646*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   18504             : /* 34649*/          OPC_MoveParent,
   18505             : /* 34650*/          OPC_MoveParent,
   18506             : /* 34651*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   18507             : /* 34653*/          OPC_CheckType, MVT::i32,
   18508             : /* 34655*/          OPC_MoveParent,
   18509             : /* 34656*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18510             : /* 34658*/          OPC_CheckPredicate, 10, // Predicate_load
   18511             : /* 34660*/          OPC_SwitchType /*4 cases */, 13, MVT::v16i8,// ->34676
   18512             : /* 34663*/            OPC_EmitMergeInputChains1_0,
   18513             : /* 34664*/            OPC_EmitInteger, MVT::i32, 0, 
   18514             : /* 34667*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   18515             :                           MVT::v16i8, 3/*#Ops*/, 3, 2, 1, 
   18516             :                       // Src: (ld:{ *:[v16i8] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18517             :                       // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18518             : /* 34676*/          /*SwitchType*/ 13, MVT::v8i16,// ->34691
   18519             : /* 34678*/            OPC_EmitMergeInputChains1_0,
   18520             : /* 34679*/            OPC_EmitInteger, MVT::i32, 0, 
   18521             : /* 34682*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   18522             :                           MVT::v8i16, 3/*#Ops*/, 3, 2, 1, 
   18523             :                       // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18524             :                       // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18525             : /* 34691*/          /*SwitchType*/ 13, MVT::v4i32,// ->34706
   18526             : /* 34693*/            OPC_EmitMergeInputChains1_0,
   18527             : /* 34694*/            OPC_EmitInteger, MVT::i32, 0, 
   18528             : /* 34697*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   18529             :                           MVT::v4i32, 3/*#Ops*/, 3, 2, 1, 
   18530             :                       // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18531             :                       // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18532             : /* 34706*/          /*SwitchType*/ 13, MVT::v2i64,// ->34721
   18533             : /* 34708*/            OPC_EmitMergeInputChains1_0,
   18534             : /* 34709*/            OPC_EmitInteger, MVT::i32, 0, 
   18535             : /* 34712*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   18536             :                           MVT::v2i64, 3/*#Ops*/, 3, 2, 1, 
   18537             :                       // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18538             :                       // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18539             : /* 34721*/          0, // EndSwitchType
   18540             : /* 34722*/        /*Scope*/ 83, /*->34806*/
   18541             : /* 34723*/          OPC_MoveChild0,
   18542             : /* 34724*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   18543             : /* 34727*/          OPC_RecordChild0, // #1 = $off
   18544             : /* 34728*/          OPC_MoveChild0,
   18545             : /* 34729*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   18546             : /* 34732*/          OPC_MoveParent,
   18547             : /* 34733*/          OPC_MoveParent,
   18548             : /* 34734*/          OPC_RecordChild1, // #2 = $addr
   18549             : /* 34735*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   18550             : /* 34737*/          OPC_CheckType, MVT::i32,
   18551             : /* 34739*/          OPC_MoveParent,
   18552             : /* 34740*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18553             : /* 34742*/          OPC_CheckPredicate, 10, // Predicate_load
   18554             : /* 34744*/          OPC_SwitchType /*4 cases */, 13, MVT::v16i8,// ->34760
   18555             : /* 34747*/            OPC_EmitMergeInputChains1_0,
   18556             : /* 34748*/            OPC_EmitInteger, MVT::i32, 0, 
   18557             : /* 34751*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   18558             :                           MVT::v16i8, 3/*#Ops*/, 3, 1, 2, 
   18559             :                       // Src: (ld:{ *:[v16i8] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18560             :                       // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18561             : /* 34760*/          /*SwitchType*/ 13, MVT::v8i16,// ->34775
   18562             : /* 34762*/            OPC_EmitMergeInputChains1_0,
   18563             : /* 34763*/            OPC_EmitInteger, MVT::i32, 0, 
   18564             : /* 34766*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   18565             :                           MVT::v8i16, 3/*#Ops*/, 3, 1, 2, 
   18566             :                       // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18567             :                       // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18568             : /* 34775*/          /*SwitchType*/ 13, MVT::v4i32,// ->34790
   18569             : /* 34777*/            OPC_EmitMergeInputChains1_0,
   18570             : /* 34778*/            OPC_EmitInteger, MVT::i32, 0, 
   18571             : /* 34781*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   18572             :                           MVT::v4i32, 3/*#Ops*/, 3, 1, 2, 
   18573             :                       // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18574             :                       // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18575             : /* 34790*/          /*SwitchType*/ 13, MVT::v2i64,// ->34805
   18576             : /* 34792*/            OPC_EmitMergeInputChains1_0,
   18577             : /* 34793*/            OPC_EmitInteger, MVT::i32, 0, 
   18578             : /* 34796*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   18579             :                           MVT::v2i64, 3/*#Ops*/, 3, 1, 2, 
   18580             :                       // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18581             :                       // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18582             : /* 34805*/          0, // EndSwitchType
   18583             : /* 34806*/        /*Scope*/ 81, /*->34888*/
   18584             : /* 34807*/          OPC_RecordChild0, // #1 = $addr
   18585             : /* 34808*/          OPC_MoveChild1,
   18586             : /* 34809*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   18587             : /* 34812*/          OPC_RecordChild0, // #2 = $off
   18588             : /* 34813*/          OPC_MoveChild0,
   18589             : /* 34814*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   18590             : /* 34817*/          OPC_MoveParent,
   18591             : /* 34818*/          OPC_MoveParent,
   18592             : /* 34819*/          OPC_CheckType, MVT::i32,
   18593             : /* 34821*/          OPC_MoveParent,
   18594             : /* 34822*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18595             : /* 34824*/          OPC_CheckPredicate, 10, // Predicate_load
   18596             : /* 34826*/          OPC_SwitchType /*4 cases */, 13, MVT::v16i8,// ->34842
   18597             : /* 34829*/            OPC_EmitMergeInputChains1_0,
   18598             : /* 34830*/            OPC_EmitInteger, MVT::i32, 0, 
   18599             : /* 34833*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   18600             :                           MVT::v16i8, 3/*#Ops*/, 3, 2, 1, 
   18601             :                       // Src: (ld:{ *:[v16i8] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18602             :                       // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18603             : /* 34842*/          /*SwitchType*/ 13, MVT::v8i16,// ->34857
   18604             : /* 34844*/            OPC_EmitMergeInputChains1_0,
   18605             : /* 34845*/            OPC_EmitInteger, MVT::i32, 0, 
   18606             : /* 34848*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   18607             :                           MVT::v8i16, 3/*#Ops*/, 3, 2, 1, 
   18608             :                       // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18609             :                       // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18610             : /* 34857*/          /*SwitchType*/ 13, MVT::v4i32,// ->34872
   18611             : /* 34859*/            OPC_EmitMergeInputChains1_0,
   18612             : /* 34860*/            OPC_EmitInteger, MVT::i32, 0, 
   18613             : /* 34863*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   18614             :                           MVT::v4i32, 3/*#Ops*/, 3, 2, 1, 
   18615             :                       // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18616             :                       // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18617             : /* 34872*/          /*SwitchType*/ 13, MVT::v2i64,// ->34887
   18618             : /* 34874*/            OPC_EmitMergeInputChains1_0,
   18619             : /* 34875*/            OPC_EmitInteger, MVT::i32, 0, 
   18620             : /* 34878*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   18621             :                           MVT::v2i64, 3/*#Ops*/, 3, 2, 1, 
   18622             :                       // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18623             :                       // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18624             : /* 34887*/          0, // EndSwitchType
   18625             : /* 34888*/        /*Scope*/ 81, /*->34970*/
   18626             : /* 34889*/          OPC_MoveChild0,
   18627             : /* 34890*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   18628             : /* 34893*/          OPC_RecordChild0, // #1 = $off
   18629             : /* 34894*/          OPC_MoveChild0,
   18630             : /* 34895*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   18631             : /* 34898*/          OPC_MoveParent,
   18632             : /* 34899*/          OPC_MoveParent,
   18633             : /* 34900*/          OPC_RecordChild1, // #2 = $addr
   18634             : /* 34901*/          OPC_CheckType, MVT::i32,
   18635             : /* 34903*/          OPC_MoveParent,
   18636             : /* 34904*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18637             : /* 34906*/          OPC_CheckPredicate, 10, // Predicate_load
   18638             : /* 34908*/          OPC_SwitchType /*4 cases */, 13, MVT::v16i8,// ->34924
   18639             : /* 34911*/            OPC_EmitMergeInputChains1_0,
   18640             : /* 34912*/            OPC_EmitInteger, MVT::i32, 0, 
   18641             : /* 34915*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   18642             :                           MVT::v16i8, 3/*#Ops*/, 3, 1, 2, 
   18643             :                       // Src: (ld:{ *:[v16i8] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18644             :                       // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18645             : /* 34924*/          /*SwitchType*/ 13, MVT::v8i16,// ->34939
   18646             : /* 34926*/            OPC_EmitMergeInputChains1_0,
   18647             : /* 34927*/            OPC_EmitInteger, MVT::i32, 0, 
   18648             : /* 34930*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   18649             :                           MVT::v8i16, 3/*#Ops*/, 3, 1, 2, 
   18650             :                       // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18651             :                       // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18652             : /* 34939*/          /*SwitchType*/ 13, MVT::v4i32,// ->34954
   18653             : /* 34941*/            OPC_EmitMergeInputChains1_0,
   18654             : /* 34942*/            OPC_EmitInteger, MVT::i32, 0, 
   18655             : /* 34945*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   18656             :                           MVT::v4i32, 3/*#Ops*/, 3, 1, 2, 
   18657             :                       // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18658             :                       // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18659             : /* 34954*/          /*SwitchType*/ 13, MVT::v2i64,// ->34969
   18660             : /* 34956*/            OPC_EmitMergeInputChains1_0,
   18661             : /* 34957*/            OPC_EmitInteger, MVT::i32, 0, 
   18662             : /* 34960*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   18663             :                           MVT::v2i64, 3/*#Ops*/, 3, 1, 2, 
   18664             :                       // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   18665             :                       // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18666             : /* 34969*/          0, // EndSwitchType
   18667             : /* 34970*/        /*Scope*/ 86, /*->35057*/
   18668             : /* 34971*/          OPC_RecordChild0, // #1 = $addr
   18669             : /* 34972*/          OPC_RecordChild1, // #2 = $off
   18670             : /* 34973*/          OPC_MoveChild1,
   18671             : /* 34974*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   18672             : /* 34977*/          OPC_MoveParent,
   18673             : /* 34978*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   18674             : /* 34980*/          OPC_CheckType, MVT::i32,
   18675             : /* 34982*/          OPC_MoveParent,
   18676             : /* 34983*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18677             : /* 34985*/          OPC_CheckPredicate, 10, // Predicate_load
   18678             : /* 34987*/          OPC_SwitchType /*4 cases */, 15, MVT::v16i8,// ->35005
   18679             : /* 34990*/            OPC_EmitMergeInputChains1_0,
   18680             : /* 34991*/            OPC_EmitInteger, MVT::i32, 0, 
   18681             : /* 34994*/            OPC_EmitConvertToTarget, 2,
   18682             : /* 34996*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   18683             :                           MVT::v16i8, 3/*#Ops*/, 3, 4, 1, 
   18684             :                       // Src: (ld:{ *:[v16i8] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18685             :                       // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18686             : /* 35005*/          /*SwitchType*/ 15, MVT::v8i16,// ->35022
   18687             : /* 35007*/            OPC_EmitMergeInputChains1_0,
   18688             : /* 35008*/            OPC_EmitInteger, MVT::i32, 0, 
   18689             : /* 35011*/            OPC_EmitConvertToTarget, 2,
   18690             : /* 35013*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   18691             :                           MVT::v8i16, 3/*#Ops*/, 3, 4, 1, 
   18692             :                       // Src: (ld:{ *:[v8i16] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18693             :                       // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18694             : /* 35022*/          /*SwitchType*/ 15, MVT::v4i32,// ->35039
   18695             : /* 35024*/            OPC_EmitMergeInputChains1_0,
   18696             : /* 35025*/            OPC_EmitInteger, MVT::i32, 0, 
   18697             : /* 35028*/            OPC_EmitConvertToTarget, 2,
   18698             : /* 35030*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   18699             :                           MVT::v4i32, 3/*#Ops*/, 3, 4, 1, 
   18700             :                       // Src: (ld:{ *:[v4i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18701             :                       // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18702             : /* 35039*/          /*SwitchType*/ 15, MVT::v2i64,// ->35056
   18703             : /* 35041*/            OPC_EmitMergeInputChains1_0,
   18704             : /* 35042*/            OPC_EmitInteger, MVT::i32, 0, 
   18705             : /* 35045*/            OPC_EmitConvertToTarget, 2,
   18706             : /* 35047*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   18707             :                           MVT::v2i64, 3/*#Ops*/, 3, 4, 1, 
   18708             :                       // Src: (ld:{ *:[v2i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18709             :                       // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18710             : /* 35056*/          0, // EndSwitchType
   18711             : /* 35057*/        0, /*End of Scope*/
   18712             : /* 35058*/      /*SwitchOpcode*/ 86, TARGET_VAL(ISD::OR),// ->35147
   18713             : /* 35061*/        OPC_RecordChild0, // #1 = $addr
   18714             : /* 35062*/        OPC_RecordChild1, // #2 = $off
   18715             : /* 35063*/        OPC_MoveChild1,
   18716             : /* 35064*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   18717             : /* 35067*/        OPC_MoveParent,
   18718             : /* 35068*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   18719             : /* 35070*/        OPC_CheckType, MVT::i32,
   18720             : /* 35072*/        OPC_MoveParent,
   18721             : /* 35073*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   18722             : /* 35075*/        OPC_CheckPredicate, 10, // Predicate_load
   18723             : /* 35077*/        OPC_SwitchType /*4 cases */, 15, MVT::v16i8,// ->35095
   18724             : /* 35080*/          OPC_EmitMergeInputChains1_0,
   18725             : /* 35081*/          OPC_EmitInteger, MVT::i32, 0, 
   18726             : /* 35084*/          OPC_EmitConvertToTarget, 2,
   18727             : /* 35086*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   18728             :                         MVT::v16i8, 3/*#Ops*/, 3, 4, 1, 
   18729             :                     // Src: (ld:{ *:[v16i8] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18730             :                     // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18731             : /* 35095*/        /*SwitchType*/ 15, MVT::v8i16,// ->35112
   18732             : /* 35097*/          OPC_EmitMergeInputChains1_0,
   18733             : /* 35098*/          OPC_EmitInteger, MVT::i32, 0, 
   18734             : /* 35101*/          OPC_EmitConvertToTarget, 2,
   18735             : /* 35103*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   18736             :                         MVT::v8i16, 3/*#Ops*/, 3, 4, 1, 
   18737             :                     // Src: (ld:{ *:[v8i16] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18738             :                     // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18739             : /* 35112*/        /*SwitchType*/ 15, MVT::v4i32,// ->35129
   18740             : /* 35114*/          OPC_EmitMergeInputChains1_0,
   18741             : /* 35115*/          OPC_EmitInteger, MVT::i32, 0, 
   18742             : /* 35118*/          OPC_EmitConvertToTarget, 2,
   18743             : /* 35120*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   18744             :                         MVT::v4i32, 3/*#Ops*/, 3, 4, 1, 
   18745             :                     // Src: (ld:{ *:[v4i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18746             :                     // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18747             : /* 35129*/        /*SwitchType*/ 15, MVT::v2i64,// ->35146
   18748             : /* 35131*/          OPC_EmitMergeInputChains1_0,
   18749             : /* 35132*/          OPC_EmitInteger, MVT::i32, 0, 
   18750             : /* 35135*/          OPC_EmitConvertToTarget, 2,
   18751             : /* 35137*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   18752             :                         MVT::v2i64, 3/*#Ops*/, 3, 4, 1, 
   18753             :                     // Src: (ld:{ *:[v2i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   18754             :                     // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18755             : /* 35146*/        0, // EndSwitchType
   18756             : /* 35147*/      /*SwitchOpcode*/ 98|128,1/*226*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->35377
   18757             : /* 35151*/        OPC_RecordChild0, // #1 = $off
   18758             : /* 35152*/        OPC_MoveChild0,
   18759             : /* 35153*/        OPC_SwitchOpcode /*2 cases */, 108, TARGET_VAL(ISD::TargetGlobalAddress),// ->35265
   18760             : /* 35157*/          OPC_MoveParent,
   18761             : /* 35158*/          OPC_MoveParent,
   18762             : /* 35159*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18763             : /* 35161*/          OPC_CheckPredicate, 10, // Predicate_load
   18764             : /* 35163*/          OPC_SwitchType /*4 cases */, 23, MVT::v16i8,// ->35189
   18765             : /* 35166*/            OPC_EmitMergeInputChains1_0,
   18766             : /* 35167*/            OPC_EmitInteger, MVT::i32, 0, 
   18767             : /* 35170*/            OPC_EmitInteger, MVT::i32, 0, 
   18768             : /* 35173*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18769             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18770             : /* 35180*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   18771             :                           MVT::v16i8, 3/*#Ops*/, 2, 1, 4, 
   18772             :                       // Src: (ld:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18773             :                       // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18774             : /* 35189*/          /*SwitchType*/ 23, MVT::v8i16,// ->35214
   18775             : /* 35191*/            OPC_EmitMergeInputChains1_0,
   18776             : /* 35192*/            OPC_EmitInteger, MVT::i32, 0, 
   18777             : /* 35195*/            OPC_EmitInteger, MVT::i32, 0, 
   18778             : /* 35198*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18779             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18780             : /* 35205*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   18781             :                           MVT::v8i16, 3/*#Ops*/, 2, 1, 4, 
   18782             :                       // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18783             :                       // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18784             : /* 35214*/          /*SwitchType*/ 23, MVT::v4i32,// ->35239
   18785             : /* 35216*/            OPC_EmitMergeInputChains1_0,
   18786             : /* 35217*/            OPC_EmitInteger, MVT::i32, 0, 
   18787             : /* 35220*/            OPC_EmitInteger, MVT::i32, 0, 
   18788             : /* 35223*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18789             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18790             : /* 35230*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   18791             :                           MVT::v4i32, 3/*#Ops*/, 2, 1, 4, 
   18792             :                       // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18793             :                       // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18794             : /* 35239*/          /*SwitchType*/ 23, MVT::v2i64,// ->35264
   18795             : /* 35241*/            OPC_EmitMergeInputChains1_0,
   18796             : /* 35242*/            OPC_EmitInteger, MVT::i32, 0, 
   18797             : /* 35245*/            OPC_EmitInteger, MVT::i32, 0, 
   18798             : /* 35248*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18799             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18800             : /* 35255*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   18801             :                           MVT::v2i64, 3/*#Ops*/, 2, 1, 4, 
   18802             :                       // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18803             :                       // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18804             : /* 35264*/          0, // EndSwitchType
   18805             : /* 35265*/        /*SwitchOpcode*/ 108, TARGET_VAL(ISD::TargetExternalSymbol),// ->35376
   18806             : /* 35268*/          OPC_MoveParent,
   18807             : /* 35269*/          OPC_MoveParent,
   18808             : /* 35270*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18809             : /* 35272*/          OPC_CheckPredicate, 10, // Predicate_load
   18810             : /* 35274*/          OPC_SwitchType /*4 cases */, 23, MVT::v16i8,// ->35300
   18811             : /* 35277*/            OPC_EmitMergeInputChains1_0,
   18812             : /* 35278*/            OPC_EmitInteger, MVT::i32, 0, 
   18813             : /* 35281*/            OPC_EmitInteger, MVT::i32, 0, 
   18814             : /* 35284*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18815             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18816             : /* 35291*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   18817             :                           MVT::v16i8, 3/*#Ops*/, 2, 1, 4, 
   18818             :                       // Src: (ld:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18819             :                       // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18820             : /* 35300*/          /*SwitchType*/ 23, MVT::v8i16,// ->35325
   18821             : /* 35302*/            OPC_EmitMergeInputChains1_0,
   18822             : /* 35303*/            OPC_EmitInteger, MVT::i32, 0, 
   18823             : /* 35306*/            OPC_EmitInteger, MVT::i32, 0, 
   18824             : /* 35309*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18825             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18826             : /* 35316*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   18827             :                           MVT::v8i16, 3/*#Ops*/, 2, 1, 4, 
   18828             :                       // Src: (ld:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18829             :                       // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18830             : /* 35325*/          /*SwitchType*/ 23, MVT::v4i32,// ->35350
   18831             : /* 35327*/            OPC_EmitMergeInputChains1_0,
   18832             : /* 35328*/            OPC_EmitInteger, MVT::i32, 0, 
   18833             : /* 35331*/            OPC_EmitInteger, MVT::i32, 0, 
   18834             : /* 35334*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18835             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18836             : /* 35341*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   18837             :                           MVT::v4i32, 3/*#Ops*/, 2, 1, 4, 
   18838             :                       // Src: (ld:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18839             :                       // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18840             : /* 35350*/          /*SwitchType*/ 23, MVT::v2i64,// ->35375
   18841             : /* 35352*/            OPC_EmitMergeInputChains1_0,
   18842             : /* 35353*/            OPC_EmitInteger, MVT::i32, 0, 
   18843             : /* 35356*/            OPC_EmitInteger, MVT::i32, 0, 
   18844             : /* 35359*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18845             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   18846             : /* 35366*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   18847             :                           MVT::v2i64, 3/*#Ops*/, 2, 1, 4, 
   18848             :                       // Src: (ld:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   18849             :                       // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18850             : /* 35375*/          0, // EndSwitchType
   18851             : /* 35376*/        0, // EndSwitchOpcode
   18852             : /* 35377*/      0, // EndSwitchOpcode
   18853             : /* 35378*/    /*Scope*/ 76|128,1/*204*/, /*->35584*/
   18854             : /* 35380*/      OPC_RecordChild1, // #1 = $off
   18855             : /* 35381*/      OPC_Scope, 119, /*->35502*/ // 2 children in Scope
   18856             : /* 35383*/        OPC_MoveChild1,
   18857             : /* 35384*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   18858             : /* 35387*/        OPC_MoveParent,
   18859             : /* 35388*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   18860             : /* 35390*/        OPC_CheckPredicate, 10, // Predicate_load
   18861             : /* 35392*/        OPC_SwitchType /*4 cases */, 25, MVT::v16i8,// ->35420
   18862             : /* 35395*/          OPC_EmitMergeInputChains1_0,
   18863             : /* 35396*/          OPC_EmitInteger, MVT::i32, 0, 
   18864             : /* 35399*/          OPC_EmitConvertToTarget, 1,
   18865             : /* 35401*/          OPC_EmitInteger, MVT::i32, 0, 
   18866             : /* 35404*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18867             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   18868             : /* 35411*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   18869             :                         MVT::v16i8, 3/*#Ops*/, 2, 3, 5, 
   18870             :                     // Src: (ld:{ *:[v16i8] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
   18871             :                     // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18872             : /* 35420*/        /*SwitchType*/ 25, MVT::v8i16,// ->35447
   18873             : /* 35422*/          OPC_EmitMergeInputChains1_0,
   18874             : /* 35423*/          OPC_EmitInteger, MVT::i32, 0, 
   18875             : /* 35426*/          OPC_EmitConvertToTarget, 1,
   18876             : /* 35428*/          OPC_EmitInteger, MVT::i32, 0, 
   18877             : /* 35431*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18878             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   18879             : /* 35438*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   18880             :                         MVT::v8i16, 3/*#Ops*/, 2, 3, 5, 
   18881             :                     // Src: (ld:{ *:[v8i16] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
   18882             :                     // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18883             : /* 35447*/        /*SwitchType*/ 25, MVT::v4i32,// ->35474
   18884             : /* 35449*/          OPC_EmitMergeInputChains1_0,
   18885             : /* 35450*/          OPC_EmitInteger, MVT::i32, 0, 
   18886             : /* 35453*/          OPC_EmitConvertToTarget, 1,
   18887             : /* 35455*/          OPC_EmitInteger, MVT::i32, 0, 
   18888             : /* 35458*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18889             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   18890             : /* 35465*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   18891             :                         MVT::v4i32, 3/*#Ops*/, 2, 3, 5, 
   18892             :                     // Src: (ld:{ *:[v4i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
   18893             :                     // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18894             : /* 35474*/        /*SwitchType*/ 25, MVT::v2i64,// ->35501
   18895             : /* 35476*/          OPC_EmitMergeInputChains1_0,
   18896             : /* 35477*/          OPC_EmitInteger, MVT::i32, 0, 
   18897             : /* 35480*/          OPC_EmitConvertToTarget, 1,
   18898             : /* 35482*/          OPC_EmitInteger, MVT::i32, 0, 
   18899             : /* 35485*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   18900             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   18901             : /* 35492*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   18902             :                         MVT::v2i64, 3/*#Ops*/, 2, 3, 5, 
   18903             :                     // Src: (ld:{ *:[v2i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
   18904             :                     // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   18905             : /* 35501*/        0, // EndSwitchType
   18906             : /* 35502*/      /*Scope*/ 80, /*->35583*/
   18907             : /* 35503*/        OPC_CheckChild1Type, MVT::i32,
   18908             : /* 35505*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   18909             : /* 35507*/        OPC_CheckPredicate, 10, // Predicate_load
   18910             : /* 35509*/        OPC_SwitchType /*4 cases */, 16, MVT::v16i8,// ->35528
   18911             : /* 35512*/          OPC_EmitMergeInputChains1_0,
   18912             : /* 35513*/          OPC_EmitInteger, MVT::i32, 0, 
   18913             : /* 35516*/          OPC_EmitInteger, MVT::i32, 0, 
   18914             : /* 35519*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   18915             :                         MVT::v16i8, 3/*#Ops*/, 2, 3, 1, 
   18916             :                     // Src: (ld:{ *:[v16i8] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
   18917             :                     // Dst: (LOAD_v16i8:{ *:[v16i8] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18918             : /* 35528*/        /*SwitchType*/ 16, MVT::v8i16,// ->35546
   18919             : /* 35530*/          OPC_EmitMergeInputChains1_0,
   18920             : /* 35531*/          OPC_EmitInteger, MVT::i32, 0, 
   18921             : /* 35534*/          OPC_EmitInteger, MVT::i32, 0, 
   18922             : /* 35537*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   18923             :                         MVT::v8i16, 3/*#Ops*/, 2, 3, 1, 
   18924             :                     // Src: (ld:{ *:[v8i16] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
   18925             :                     // Dst: (LOAD_v8i16:{ *:[v8i16] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18926             : /* 35546*/        /*SwitchType*/ 16, MVT::v4i32,// ->35564
   18927             : /* 35548*/          OPC_EmitMergeInputChains1_0,
   18928             : /* 35549*/          OPC_EmitInteger, MVT::i32, 0, 
   18929             : /* 35552*/          OPC_EmitInteger, MVT::i32, 0, 
   18930             : /* 35555*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   18931             :                         MVT::v4i32, 3/*#Ops*/, 2, 3, 1, 
   18932             :                     // Src: (ld:{ *:[v4i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
   18933             :                     // Dst: (LOAD_v4i32:{ *:[v4i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18934             : /* 35564*/        /*SwitchType*/ 16, MVT::v2i64,// ->35582
   18935             : /* 35566*/          OPC_EmitMergeInputChains1_0,
   18936             : /* 35567*/          OPC_EmitInteger, MVT::i32, 0, 
   18937             : /* 35570*/          OPC_EmitInteger, MVT::i32, 0, 
   18938             : /* 35573*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   18939             :                         MVT::v2i64, 3/*#Ops*/, 2, 3, 1, 
   18940             :                     // Src: (ld:{ *:[v2i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
   18941             :                     // Dst: (LOAD_v2i64:{ *:[v2i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   18942             : /* 35582*/        0, // EndSwitchType
   18943             : /* 35583*/      0, /*End of Scope*/
   18944             : /* 35584*/    /*Scope*/ 74|128,3/*458*/, /*->36044*/
   18945             : /* 35586*/      OPC_MoveChild1,
   18946             : /* 35587*/      OPC_SwitchOpcode /*3 cases */, 11|128,2/*267*/, TARGET_VAL(ISD::ADD),// ->35859
   18947             : /* 35592*/        OPC_Scope, 53, /*->35647*/ // 5 children in Scope
   18948             : /* 35594*/          OPC_RecordChild0, // #1 = $addr
   18949             : /* 35595*/          OPC_MoveChild1,
   18950             : /* 35596*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   18951             : /* 35599*/          OPC_RecordChild0, // #2 = $off
   18952             : /* 35600*/          OPC_MoveChild0,
   18953             : /* 35601*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   18954             : /* 35604*/          OPC_MoveParent,
   18955             : /* 35605*/          OPC_MoveParent,
   18956             : /* 35606*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   18957             : /* 35608*/          OPC_CheckType, MVT::i32,
   18958             : /* 35610*/          OPC_MoveParent,
   18959             : /* 35611*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18960             : /* 35613*/          OPC_CheckPredicate, 10, // Predicate_load
   18961             : /* 35615*/          OPC_SwitchType /*2 cases */, 13, MVT::v4f32,// ->35631
   18962             : /* 35618*/            OPC_EmitMergeInputChains1_0,
   18963             : /* 35619*/            OPC_EmitInteger, MVT::i32, 0, 
   18964             : /* 35622*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   18965             :                           MVT::v4f32, 3/*#Ops*/, 3, 2, 1, 
   18966             :                       // Src: (ld:{ *:[v4f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18967             :                       // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18968             : /* 35631*/          /*SwitchType*/ 13, MVT::v2f64,// ->35646
   18969             : /* 35633*/            OPC_EmitMergeInputChains1_0,
   18970             : /* 35634*/            OPC_EmitInteger, MVT::i32, 0, 
   18971             : /* 35637*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   18972             :                           MVT::v2f64, 3/*#Ops*/, 3, 2, 1, 
   18973             :                       // Src: (ld:{ *:[v2f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18974             :                       // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18975             : /* 35646*/          0, // EndSwitchType
   18976             : /* 35647*/        /*Scope*/ 53, /*->35701*/
   18977             : /* 35648*/          OPC_MoveChild0,
   18978             : /* 35649*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   18979             : /* 35652*/          OPC_RecordChild0, // #1 = $off
   18980             : /* 35653*/          OPC_MoveChild0,
   18981             : /* 35654*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   18982             : /* 35657*/          OPC_MoveParent,
   18983             : /* 35658*/          OPC_MoveParent,
   18984             : /* 35659*/          OPC_RecordChild1, // #2 = $addr
   18985             : /* 35660*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   18986             : /* 35662*/          OPC_CheckType, MVT::i32,
   18987             : /* 35664*/          OPC_MoveParent,
   18988             : /* 35665*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   18989             : /* 35667*/          OPC_CheckPredicate, 10, // Predicate_load
   18990             : /* 35669*/          OPC_SwitchType /*2 cases */, 13, MVT::v4f32,// ->35685
   18991             : /* 35672*/            OPC_EmitMergeInputChains1_0,
   18992             : /* 35673*/            OPC_EmitInteger, MVT::i32, 0, 
   18993             : /* 35676*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   18994             :                           MVT::v4f32, 3/*#Ops*/, 3, 1, 2, 
   18995             :                       // Src: (ld:{ *:[v4f32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   18996             :                       // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   18997             : /* 35685*/          /*SwitchType*/ 13, MVT::v2f64,// ->35700
   18998             : /* 35687*/            OPC_EmitMergeInputChains1_0,
   18999             : /* 35688*/            OPC_EmitInteger, MVT::i32, 0, 
   19000             : /* 35691*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   19001             :                           MVT::v2f64, 3/*#Ops*/, 3, 1, 2, 
   19002             :                       // Src: (ld:{ *:[v2f64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
   19003             :                       // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   19004             : /* 35700*/          0, // EndSwitchType
   19005             : /* 35701*/        /*Scope*/ 51, /*->35753*/
   19006             : /* 35702*/          OPC_RecordChild0, // #1 = $addr
   19007             : /* 35703*/          OPC_MoveChild1,
   19008             : /* 35704*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   19009             : /* 35707*/          OPC_RecordChild0, // #2 = $off
   19010             : /* 35708*/          OPC_MoveChild0,
   19011             : /* 35709*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   19012             : /* 35712*/          OPC_MoveParent,
   19013             : /* 35713*/          OPC_MoveParent,
   19014             : /* 35714*/          OPC_CheckType, MVT::i32,
   19015             : /* 35716*/          OPC_MoveParent,
   19016             : /* 35717*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   19017             : /* 35719*/          OPC_CheckPredicate, 10, // Predicate_load
   19018             : /* 35721*/          OPC_SwitchType /*2 cases */, 13, MVT::v4f32,// ->35737
   19019             : /* 35724*/            OPC_EmitMergeInputChains1_0,
   19020             : /* 35725*/            OPC_EmitInteger, MVT::i32, 0, 
   19021             : /* 35728*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   19022             :                           MVT::v4f32, 3/*#Ops*/, 3, 2, 1, 
   19023             :                       // Src: (ld:{ *:[v4f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   19024             :                       // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   19025             : /* 35737*/          /*SwitchType*/ 13, MVT::v2f64,// ->35752
   19026             : /* 35739*/            OPC_EmitMergeInputChains1_0,
   19027             : /* 35740*/            OPC_EmitInteger, MVT::i32, 0, 
   19028             : /* 35743*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   19029             :                           MVT::v2f64, 3/*#Ops*/, 3, 2, 1, 
   19030             :                       // Src: (ld:{ *:[v2f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   19031             :                       // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   19032             : /* 35752*/          0, // EndSwitchType
   19033             : /* 35753*/        /*Scope*/ 51, /*->35805*/
   19034             : /* 35754*/          OPC_MoveChild0,
   19035             : /* 35755*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   19036             : /* 35758*/          OPC_RecordChild0, // #1 = $off
   19037             : /* 35759*/          OPC_MoveChild0,
   19038             : /* 35760*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   19039             : /* 35763*/          OPC_MoveParent,
   19040             : /* 35764*/          OPC_MoveParent,
   19041             : /* 35765*/          OPC_RecordChild1, // #2 = $addr
   19042             : /* 35766*/          OPC_CheckType, MVT::i32,
   19043             : /* 35768*/          OPC_MoveParent,
   19044             : /* 35769*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   19045             : /* 35771*/          OPC_CheckPredicate, 10, // Predicate_load
   19046             : /* 35773*/          OPC_SwitchType /*2 cases */, 13, MVT::v4f32,// ->35789
   19047             : /* 35776*/            OPC_EmitMergeInputChains1_0,
   19048             : /* 35777*/            OPC_EmitInteger, MVT::i32, 0, 
   19049             : /* 35780*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   19050             :                           MVT::v4f32, 3/*#Ops*/, 3, 1, 2, 
   19051             :                       // Src: (ld:{ *:[v4f32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   19052             :                       // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   19053             : /* 35789*/          /*SwitchType*/ 13, MVT::v2f64,// ->35804
   19054             : /* 35791*/            OPC_EmitMergeInputChains1_0,
   19055             : /* 35792*/            OPC_EmitInteger, MVT::i32, 0, 
   19056             : /* 35795*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   19057             :                           MVT::v2f64, 3/*#Ops*/, 3, 1, 2, 
   19058             :                       // Src: (ld:{ *:[v2f64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
   19059             :                       // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   19060             : /* 35804*/          0, // EndSwitchType
   19061             : /* 35805*/        /*Scope*/ 52, /*->35858*/
   19062             : /* 35806*/          OPC_RecordChild0, // #1 = $addr
   19063             : /* 35807*/          OPC_RecordChild1, // #2 = $off
   19064             : /* 35808*/          OPC_MoveChild1,
   19065             : /* 35809*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   19066             : /* 35812*/          OPC_MoveParent,
   19067             : /* 35813*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   19068             : /* 35815*/          OPC_CheckType, MVT::i32,
   19069             : /* 35817*/          OPC_MoveParent,
   19070             : /* 35818*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   19071             : /* 35820*/          OPC_CheckPredicate, 10, // Predicate_load
   19072             : /* 35822*/          OPC_SwitchType /*2 cases */, 15, MVT::v4f32,// ->35840
   19073             : /* 35825*/            OPC_EmitMergeInputChains1_0,
   19074             : /* 35826*/            OPC_EmitInteger, MVT::i32, 0, 
   19075             : /* 35829*/            OPC_EmitConvertToTarget, 2,
   19076             : /* 35831*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   19077             :                           MVT::v4f32, 3/*#Ops*/, 3, 4, 1, 
   19078             :                       // Src: (ld:{ *:[v4f32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   19079             :                       // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   19080             : /* 35840*/          /*SwitchType*/ 15, MVT::v2f64,// ->35857
   19081             : /* 35842*/            OPC_EmitMergeInputChains1_0,
   19082             : /* 35843*/            OPC_EmitInteger, MVT::i32, 0, 
   19083             : /* 35846*/            OPC_EmitConvertToTarget, 2,
   19084             : /* 35848*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   19085             :                           MVT::v2f64, 3/*#Ops*/, 3, 4, 1, 
   19086             :                       // Src: (ld:{ *:[v2f64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   19087             :                       // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   19088             : /* 35857*/          0, // EndSwitchType
   19089             : /* 35858*/        0, /*End of Scope*/
   19090             : /* 35859*/      /*SwitchOpcode*/ 52, TARGET_VAL(ISD::OR),// ->35914
   19091             : /* 35862*/        OPC_RecordChild0, // #1 = $addr
   19092             : /* 35863*/        OPC_RecordChild1, // #2 = $off
   19093             : /* 35864*/        OPC_MoveChild1,
   19094             : /* 35865*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   19095             : /* 35868*/        OPC_MoveParent,
   19096             : /* 35869*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   19097             : /* 35871*/        OPC_CheckType, MVT::i32,
   19098             : /* 35873*/        OPC_MoveParent,
   19099             : /* 35874*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   19100             : /* 35876*/        OPC_CheckPredicate, 10, // Predicate_load
   19101             : /* 35878*/        OPC_SwitchType /*2 cases */, 15, MVT::v4f32,// ->35896
   19102             : /* 35881*/          OPC_EmitMergeInputChains1_0,
   19103             : /* 35882*/          OPC_EmitInteger, MVT::i32, 0, 
   19104             : /* 35885*/          OPC_EmitConvertToTarget, 2,
   19105             : /* 35887*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   19106             :                         MVT::v4f32, 3/*#Ops*/, 3, 4, 1, 
   19107             :                     // Src: (ld:{ *:[v4f32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   19108             :                     // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   19109             : /* 35896*/        /*SwitchType*/ 15, MVT::v2f64,// ->35913
   19110             : /* 35898*/          OPC_EmitMergeInputChains1_0,
   19111             : /* 35899*/          OPC_EmitInteger, MVT::i32, 0, 
   19112             : /* 35902*/          OPC_EmitConvertToTarget, 2,
   19113             : /* 35904*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   19114             :                         MVT::v2f64, 3/*#Ops*/, 3, 4, 1, 
   19115             :                     // Src: (ld:{ *:[v2f64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 11
   19116             :                     // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   19117             : /* 35913*/        0, // EndSwitchType
   19118             : /* 35914*/      /*SwitchOpcode*/ 126, TARGET_VAL(WebAssemblyISD::Wrapper),// ->36043
   19119             : /* 35917*/        OPC_RecordChild0, // #1 = $off
   19120             : /* 35918*/        OPC_MoveChild0,
   19121             : /* 35919*/        OPC_SwitchOpcode /*2 cases */, 58, TARGET_VAL(ISD::TargetGlobalAddress),// ->35981
   19122             : /* 35923*/          OPC_MoveParent,
   19123             : /* 35924*/          OPC_MoveParent,
   19124             : /* 35925*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   19125             : /* 35927*/          OPC_CheckPredicate, 10, // Predicate_load
   19126             : /* 35929*/          OPC_SwitchType /*2 cases */, 23, MVT::v4f32,// ->35955
   19127             : /* 35932*/            OPC_EmitMergeInputChains1_0,
   19128             : /* 35933*/            OPC_EmitInteger, MVT::i32, 0, 
   19129             : /* 35936*/            OPC_EmitInteger, MVT::i32, 0, 
   19130             : /* 35939*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19131             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   19132             : /* 35946*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   19133             :                           MVT::v4f32, 3/*#Ops*/, 2, 1, 4, 
   19134             :                       // Src: (ld:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   19135             :                       // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   19136             : /* 35955*/          /*SwitchType*/ 23, MVT::v2f64,// ->35980
   19137             : /* 35957*/            OPC_EmitMergeInputChains1_0,
   19138             : /* 35958*/            OPC_EmitInteger, MVT::i32, 0, 
   19139             : /* 35961*/            OPC_EmitInteger, MVT::i32, 0, 
   19140             : /* 35964*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19141             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   19142             : /* 35971*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   19143             :                           MVT::v2f64, 3/*#Ops*/, 2, 1, 4, 
   19144             :                       // Src: (ld:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   19145             :                       // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   19146             : /* 35980*/          0, // EndSwitchType
   19147             : /* 35981*/        /*SwitchOpcode*/ 58, TARGET_VAL(ISD::TargetExternalSymbol),// ->36042
   19148             : /* 35984*/          OPC_MoveParent,
   19149             : /* 35985*/          OPC_MoveParent,
   19150             : /* 35986*/          OPC_CheckPredicate, 9, // Predicate_unindexedload
   19151             : /* 35988*/          OPC_CheckPredicate, 10, // Predicate_load
   19152             : /* 35990*/          OPC_SwitchType /*2 cases */, 23, MVT::v4f32,// ->36016
   19153             : /* 35993*/            OPC_EmitMergeInputChains1_0,
   19154             : /* 35994*/            OPC_EmitInteger, MVT::i32, 0, 
   19155             : /* 35997*/            OPC_EmitInteger, MVT::i32, 0, 
   19156             : /* 36000*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19157             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   19158             : /* 36007*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   19159             :                           MVT::v4f32, 3/*#Ops*/, 2, 1, 4, 
   19160             :                       // Src: (ld:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   19161             :                       // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   19162             : /* 36016*/          /*SwitchType*/ 23, MVT::v2f64,// ->36041
   19163             : /* 36018*/            OPC_EmitMergeInputChains1_0,
   19164             : /* 36019*/            OPC_EmitInteger, MVT::i32, 0, 
   19165             : /* 36022*/            OPC_EmitInteger, MVT::i32, 0, 
   19166             : /* 36025*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19167             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   19168             : /* 36032*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   19169             :                           MVT::v2f64, 3/*#Ops*/, 2, 1, 4, 
   19170             :                       // Src: (ld:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 10
   19171             :                       // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   19172             : /* 36041*/          0, // EndSwitchType
   19173             : /* 36042*/        0, // EndSwitchOpcode
   19174             : /* 36043*/      0, // EndSwitchOpcode
   19175             : /* 36044*/    /*Scope*/ 114, /*->36159*/
   19176             : /* 36045*/      OPC_RecordChild1, // #1 = $off
   19177             : /* 36046*/      OPC_Scope, 65, /*->36113*/ // 2 children in Scope
   19178             : /* 36048*/        OPC_MoveChild1,
   19179             : /* 36049*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   19180             : /* 36052*/        OPC_MoveParent,
   19181             : /* 36053*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   19182             : /* 36055*/        OPC_CheckPredicate, 10, // Predicate_load
   19183             : /* 36057*/        OPC_SwitchType /*2 cases */, 25, MVT::v4f32,// ->36085
   19184             : /* 36060*/          OPC_EmitMergeInputChains1_0,
   19185             : /* 36061*/          OPC_EmitInteger, MVT::i32, 0, 
   19186             : /* 36064*/          OPC_EmitConvertToTarget, 1,
   19187             : /* 36066*/          OPC_EmitInteger, MVT::i32, 0, 
   19188             : /* 36069*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19189             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   19190             : /* 36076*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   19191             :                         MVT::v4f32, 3/*#Ops*/, 2, 3, 5, 
   19192             :                     // Src: (ld:{ *:[v4f32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
   19193             :                     // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   19194             : /* 36085*/        /*SwitchType*/ 25, MVT::v2f64,// ->36112
   19195             : /* 36087*/          OPC_EmitMergeInputChains1_0,
   19196             : /* 36088*/          OPC_EmitInteger, MVT::i32, 0, 
   19197             : /* 36091*/          OPC_EmitConvertToTarget, 1,
   19198             : /* 36093*/          OPC_EmitInteger, MVT::i32, 0, 
   19199             : /* 36096*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19200             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   19201             : /* 36103*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   19202             :                         MVT::v2f64, 3/*#Ops*/, 2, 3, 5, 
   19203             :                     // Src: (ld:{ *:[v2f64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 7
   19204             :                     // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   19205             : /* 36112*/        0, // EndSwitchType
   19206             : /* 36113*/      /*Scope*/ 44, /*->36158*/
   19207             : /* 36114*/        OPC_CheckChild1Type, MVT::i32,
   19208             : /* 36116*/        OPC_CheckPredicate, 9, // Predicate_unindexedload
   19209             : /* 36118*/        OPC_CheckPredicate, 10, // Predicate_load
   19210             : /* 36120*/        OPC_SwitchType /*2 cases */, 16, MVT::v4f32,// ->36139
   19211             : /* 36123*/          OPC_EmitMergeInputChains1_0,
   19212             : /* 36124*/          OPC_EmitInteger, MVT::i32, 0, 
   19213             : /* 36127*/          OPC_EmitInteger, MVT::i32, 0, 
   19214             : /* 36130*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   19215             :                         MVT::v4f32, 3/*#Ops*/, 2, 3, 1, 
   19216             :                     // Src: (ld:{ *:[v4f32] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
   19217             :                     // Dst: (LOAD_v4f32:{ *:[v4f32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   19218             : /* 36139*/        /*SwitchType*/ 16, MVT::v2f64,// ->36157
   19219             : /* 36141*/          OPC_EmitMergeInputChains1_0,
   19220             : /* 36142*/          OPC_EmitInteger, MVT::i32, 0, 
   19221             : /* 36145*/          OPC_EmitInteger, MVT::i32, 0, 
   19222             : /* 36148*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LOAD_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   19223             :                         MVT::v2f64, 3/*#Ops*/, 2, 3, 1, 
   19224             :                     // Src: (ld:{ *:[v2f64] } I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
   19225             :                     // Dst: (LOAD_v2f64:{ *:[v2f64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   19226             : /* 36157*/        0, // EndSwitchType
   19227             : /* 36158*/      0, /*End of Scope*/
   19228             : /* 36159*/    0, /*End of Scope*/
   19229             : /* 36160*/  /*SwitchOpcode*/ 76|128,36/*4684*/, TARGET_VAL(ISD::STORE),// ->40848
   19230             : /* 36164*/    OPC_RecordMemRef,
   19231             : /* 36165*/    OPC_RecordNode, // #0 = 'st' chained node
   19232             : /* 36166*/    OPC_RecordChild1, // #1 = $val
   19233             : /* 36167*/    OPC_Scope, 62|128,6/*830*/, /*->37000*/ // 10 children in Scope
   19234             : /* 36170*/      OPC_CheckChild1Type, MVT::i32,
   19235             : /* 36172*/      OPC_Scope, 11|128,5/*651*/, /*->36826*/ // 2 children in Scope
   19236             : /* 36175*/        OPC_MoveChild2,
   19237             : /* 36176*/        OPC_SwitchOpcode /*3 cases */, 118|128,2/*374*/, TARGET_VAL(ISD::ADD),// ->36555
   19238             : /* 36181*/          OPC_Scope, 74, /*->36257*/ // 5 children in Scope
   19239             : /* 36183*/            OPC_RecordChild0, // #2 = $addr
   19240             : /* 36184*/            OPC_MoveChild1,
   19241             : /* 36185*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   19242             : /* 36188*/            OPC_RecordChild0, // #3 = $off
   19243             : /* 36189*/            OPC_MoveChild0,
   19244             : /* 36190*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   19245             : /* 36193*/            OPC_MoveParent,
   19246             : /* 36194*/            OPC_MoveParent,
   19247             : /* 36195*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   19248             : /* 36197*/            OPC_CheckType, MVT::i32,
   19249             : /* 36199*/            OPC_MoveParent,
   19250             : /* 36200*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19251             : /* 36202*/            OPC_Scope, 15, /*->36219*/ // 2 children in Scope
   19252             : /* 36204*/              OPC_CheckPredicate, 18, // Predicate_store
   19253             : /* 36206*/              OPC_EmitMergeInputChains1_0,
   19254             : /* 36207*/              OPC_EmitInteger, MVT::i32, 0, 
   19255             : /* 36210*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19256             :                             4/*#Ops*/, 4, 3, 2, 1, 
   19257             :                         // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   19258             :                         // Dst: (STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19259             : /* 36219*/            /*Scope*/ 36, /*->36256*/
   19260             : /* 36220*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19261             : /* 36222*/              OPC_Scope, 15, /*->36239*/ // 2 children in Scope
   19262             : /* 36224*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19263             : /* 36226*/                OPC_EmitMergeInputChains1_0,
   19264             : /* 36227*/                OPC_EmitInteger, MVT::i32, 0, 
   19265             : /* 36230*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19266             :                               4/*#Ops*/, 4, 3, 2, 1, 
   19267             :                           // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 14
   19268             :                           // Dst: (STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19269             : /* 36239*/              /*Scope*/ 15, /*->36255*/
   19270             : /* 36240*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19271             : /* 36242*/                OPC_EmitMergeInputChains1_0,
   19272             : /* 36243*/                OPC_EmitInteger, MVT::i32, 0, 
   19273             : /* 36246*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19274             :                               4/*#Ops*/, 4, 3, 2, 1, 
   19275             :                           // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 14
   19276             :                           // Dst: (STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19277             : /* 36255*/              0, /*End of Scope*/
   19278             : /* 36256*/            0, /*End of Scope*/
   19279             : /* 36257*/          /*Scope*/ 74, /*->36332*/
   19280             : /* 36258*/            OPC_MoveChild0,
   19281             : /* 36259*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   19282             : /* 36262*/            OPC_RecordChild0, // #2 = $off
   19283             : /* 36263*/            OPC_MoveChild0,
   19284             : /* 36264*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   19285             : /* 36267*/            OPC_MoveParent,
   19286             : /* 36268*/            OPC_MoveParent,
   19287             : /* 36269*/            OPC_RecordChild1, // #3 = $addr
   19288             : /* 36270*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   19289             : /* 36272*/            OPC_CheckType, MVT::i32,
   19290             : /* 36274*/            OPC_MoveParent,
   19291             : /* 36275*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19292             : /* 36277*/            OPC_Scope, 15, /*->36294*/ // 2 children in Scope
   19293             : /* 36279*/              OPC_CheckPredicate, 18, // Predicate_store
   19294             : /* 36281*/              OPC_EmitMergeInputChains1_0,
   19295             : /* 36282*/              OPC_EmitInteger, MVT::i32, 0, 
   19296             : /* 36285*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19297             :                             4/*#Ops*/, 4, 2, 3, 1, 
   19298             :                         // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   19299             :                         // Dst: (STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19300             : /* 36294*/            /*Scope*/ 36, /*->36331*/
   19301             : /* 36295*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19302             : /* 36297*/              OPC_Scope, 15, /*->36314*/ // 2 children in Scope
   19303             : /* 36299*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19304             : /* 36301*/                OPC_EmitMergeInputChains1_0,
   19305             : /* 36302*/                OPC_EmitInteger, MVT::i32, 0, 
   19306             : /* 36305*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19307             :                               4/*#Ops*/, 4, 2, 3, 1, 
   19308             :                           // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 14
   19309             :                           // Dst: (STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19310             : /* 36314*/              /*Scope*/ 15, /*->36330*/
   19311             : /* 36315*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19312             : /* 36317*/                OPC_EmitMergeInputChains1_0,
   19313             : /* 36318*/                OPC_EmitInteger, MVT::i32, 0, 
   19314             : /* 36321*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19315             :                               4/*#Ops*/, 4, 2, 3, 1, 
   19316             :                           // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 14
   19317             :                           // Dst: (STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19318             : /* 36330*/              0, /*End of Scope*/
   19319             : /* 36331*/            0, /*End of Scope*/
   19320             : /* 36332*/          /*Scope*/ 72, /*->36405*/
   19321             : /* 36333*/            OPC_RecordChild0, // #2 = $addr
   19322             : /* 36334*/            OPC_MoveChild1,
   19323             : /* 36335*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   19324             : /* 36338*/            OPC_RecordChild0, // #3 = $off
   19325             : /* 36339*/            OPC_MoveChild0,
   19326             : /* 36340*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   19327             : /* 36343*/            OPC_MoveParent,
   19328             : /* 36344*/            OPC_MoveParent,
   19329             : /* 36345*/            OPC_CheckType, MVT::i32,
   19330             : /* 36347*/            OPC_MoveParent,
   19331             : /* 36348*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19332             : /* 36350*/            OPC_Scope, 15, /*->36367*/ // 2 children in Scope
   19333             : /* 36352*/              OPC_CheckPredicate, 18, // Predicate_store
   19334             : /* 36354*/              OPC_EmitMergeInputChains1_0,
   19335             : /* 36355*/              OPC_EmitInteger, MVT::i32, 0, 
   19336             : /* 36358*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19337             :                             4/*#Ops*/, 4, 3, 2, 1, 
   19338             :                         // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   19339             :                         // Dst: (STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19340             : /* 36367*/            /*Scope*/ 36, /*->36404*/
   19341             : /* 36368*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19342             : /* 36370*/              OPC_Scope, 15, /*->36387*/ // 2 children in Scope
   19343             : /* 36372*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19344             : /* 36374*/                OPC_EmitMergeInputChains1_0,
   19345             : /* 36375*/                OPC_EmitInteger, MVT::i32, 0, 
   19346             : /* 36378*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19347             :                               4/*#Ops*/, 4, 3, 2, 1, 
   19348             :                           // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
   19349             :                           // Dst: (STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19350             : /* 36387*/              /*Scope*/ 15, /*->36403*/
   19351             : /* 36388*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19352             : /* 36390*/                OPC_EmitMergeInputChains1_0,
   19353             : /* 36391*/                OPC_EmitInteger, MVT::i32, 0, 
   19354             : /* 36394*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19355             :                               4/*#Ops*/, 4, 3, 2, 1, 
   19356             :                           // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
   19357             :                           // Dst: (STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19358             : /* 36403*/              0, /*End of Scope*/
   19359             : /* 36404*/            0, /*End of Scope*/
   19360             : /* 36405*/          /*Scope*/ 72, /*->36478*/
   19361             : /* 36406*/            OPC_MoveChild0,
   19362             : /* 36407*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   19363             : /* 36410*/            OPC_RecordChild0, // #2 = $off
   19364             : /* 36411*/            OPC_MoveChild0,
   19365             : /* 36412*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   19366             : /* 36415*/            OPC_MoveParent,
   19367             : /* 36416*/            OPC_MoveParent,
   19368             : /* 36417*/            OPC_RecordChild1, // #3 = $addr
   19369             : /* 36418*/            OPC_CheckType, MVT::i32,
   19370             : /* 36420*/            OPC_MoveParent,
   19371             : /* 36421*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19372             : /* 36423*/            OPC_Scope, 15, /*->36440*/ // 2 children in Scope
   19373             : /* 36425*/              OPC_CheckPredicate, 18, // Predicate_store
   19374             : /* 36427*/              OPC_EmitMergeInputChains1_0,
   19375             : /* 36428*/              OPC_EmitInteger, MVT::i32, 0, 
   19376             : /* 36431*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19377             :                             4/*#Ops*/, 4, 2, 3, 1, 
   19378             :                         // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   19379             :                         // Dst: (STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19380             : /* 36440*/            /*Scope*/ 36, /*->36477*/
   19381             : /* 36441*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19382             : /* 36443*/              OPC_Scope, 15, /*->36460*/ // 2 children in Scope
   19383             : /* 36445*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19384             : /* 36447*/                OPC_EmitMergeInputChains1_0,
   19385             : /* 36448*/                OPC_EmitInteger, MVT::i32, 0, 
   19386             : /* 36451*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19387             :                               4/*#Ops*/, 4, 2, 3, 1, 
   19388             :                           // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
   19389             :                           // Dst: (STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19390             : /* 36460*/              /*Scope*/ 15, /*->36476*/
   19391             : /* 36461*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19392             : /* 36463*/                OPC_EmitMergeInputChains1_0,
   19393             : /* 36464*/                OPC_EmitInteger, MVT::i32, 0, 
   19394             : /* 36467*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19395             :                               4/*#Ops*/, 4, 2, 3, 1, 
   19396             :                           // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
   19397             :                           // Dst: (STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19398             : /* 36476*/              0, /*End of Scope*/
   19399             : /* 36477*/            0, /*End of Scope*/
   19400             : /* 36478*/          /*Scope*/ 75, /*->36554*/
   19401             : /* 36479*/            OPC_RecordChild0, // #2 = $addr
   19402             : /* 36480*/            OPC_RecordChild1, // #3 = $off
   19403             : /* 36481*/            OPC_MoveChild1,
   19404             : /* 36482*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   19405             : /* 36485*/            OPC_MoveParent,
   19406             : /* 36486*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   19407             : /* 36488*/            OPC_CheckType, MVT::i32,
   19408             : /* 36490*/            OPC_MoveParent,
   19409             : /* 36491*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19410             : /* 36493*/            OPC_Scope, 17, /*->36512*/ // 2 children in Scope
   19411             : /* 36495*/              OPC_CheckPredicate, 18, // Predicate_store
   19412             : /* 36497*/              OPC_EmitMergeInputChains1_0,
   19413             : /* 36498*/              OPC_EmitInteger, MVT::i32, 0, 
   19414             : /* 36501*/              OPC_EmitConvertToTarget, 3,
   19415             : /* 36503*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19416             :                             4/*#Ops*/, 4, 5, 2, 1, 
   19417             :                         // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   19418             :                         // Dst: (STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19419             : /* 36512*/            /*Scope*/ 40, /*->36553*/
   19420             : /* 36513*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19421             : /* 36515*/              OPC_Scope, 17, /*->36534*/ // 2 children in Scope
   19422             : /* 36517*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19423             : /* 36519*/                OPC_EmitMergeInputChains1_0,
   19424             : /* 36520*/                OPC_EmitInteger, MVT::i32, 0, 
   19425             : /* 36523*/                OPC_EmitConvertToTarget, 3,
   19426             : /* 36525*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19427             :                               4/*#Ops*/, 4, 5, 2, 1, 
   19428             :                           // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
   19429             :                           // Dst: (STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19430             : /* 36534*/              /*Scope*/ 17, /*->36552*/
   19431             : /* 36535*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19432             : /* 36537*/                OPC_EmitMergeInputChains1_0,
   19433             : /* 36538*/                OPC_EmitInteger, MVT::i32, 0, 
   19434             : /* 36541*/                OPC_EmitConvertToTarget, 3,
   19435             : /* 36543*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19436             :                               4/*#Ops*/, 4, 5, 2, 1, 
   19437             :                           // Src: (st i32:{ *:[i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
   19438             :                           // Dst: (STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19439             : /* 36552*/              0, /*End of Scope*/
   19440             : /* 36553*/            0, /*End of Scope*/
   19441             : /* 36554*/          0, /*End of Scope*/
   19442             : /* 36555*/        /*SwitchOpcode*/ 75, TARGET_VAL(ISD::OR),// ->36633
   19443             : /* 36558*/          OPC_RecordChild0, // #2 = $addr
   19444             : /* 36559*/          OPC_RecordChild1, // #3 = $off
   19445             : /* 36560*/          OPC_MoveChild1,
   19446             : /* 36561*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   19447             : /* 36564*/          OPC_MoveParent,
   19448             : /* 36565*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   19449             : /* 36567*/          OPC_CheckType, MVT::i32,
   19450             : /* 36569*/          OPC_MoveParent,
   19451             : /* 36570*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19452             : /* 36572*/          OPC_Scope, 17, /*->36591*/ // 2 children in Scope
   19453             : /* 36574*/            OPC_CheckPredicate, 18, // Predicate_store
   19454             : /* 36576*/            OPC_EmitMergeInputChains1_0,
   19455             : /* 36577*/            OPC_EmitInteger, MVT::i32, 0, 
   19456             : /* 36580*/            OPC_EmitConvertToTarget, 3,
   19457             : /* 36582*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19458             :                           4/*#Ops*/, 4, 5, 2, 1, 
   19459             :                       // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   19460             :                       // Dst: (STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19461             : /* 36591*/          /*Scope*/ 40, /*->36632*/
   19462             : /* 36592*/            OPC_CheckPredicate, 19, // Predicate_truncstore
   19463             : /* 36594*/            OPC_Scope, 17, /*->36613*/ // 2 children in Scope
   19464             : /* 36596*/              OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19465             : /* 36598*/              OPC_EmitMergeInputChains1_0,
   19466             : /* 36599*/              OPC_EmitInteger, MVT::i32, 0, 
   19467             : /* 36602*/              OPC_EmitConvertToTarget, 3,
   19468             : /* 36604*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19469             :                             4/*#Ops*/, 4, 5, 2, 1, 
   19470             :                         // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
   19471             :                         // Dst: (STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19472             : /* 36613*/            /*Scope*/ 17, /*->36631*/
   19473             : /* 36614*/              OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19474             : /* 36616*/              OPC_EmitMergeInputChains1_0,
   19475             : /* 36617*/              OPC_EmitInteger, MVT::i32, 0, 
   19476             : /* 36620*/              OPC_EmitConvertToTarget, 3,
   19477             : /* 36622*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19478             :                             4/*#Ops*/, 4, 5, 2, 1, 
   19479             :                         // Src: (st i32:{ *:[i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
   19480             :                         // Dst: (STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19481             : /* 36631*/            0, /*End of Scope*/
   19482             : /* 36632*/          0, /*End of Scope*/
   19483             : /* 36633*/        /*SwitchOpcode*/ 60|128,1/*188*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->36825
   19484             : /* 36637*/          OPC_RecordChild0, // #2 = $off
   19485             : /* 36638*/          OPC_MoveChild0,
   19486             : /* 36639*/          OPC_SwitchOpcode /*2 cases */, 89, TARGET_VAL(ISD::TargetGlobalAddress),// ->36732
   19487             : /* 36643*/            OPC_MoveParent,
   19488             : /* 36644*/            OPC_MoveParent,
   19489             : /* 36645*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19490             : /* 36647*/            OPC_Scope, 25, /*->36674*/ // 2 children in Scope
   19491             : /* 36649*/              OPC_CheckPredicate, 18, // Predicate_store
   19492             : /* 36651*/              OPC_EmitMergeInputChains1_0,
   19493             : /* 36652*/              OPC_EmitInteger, MVT::i32, 0, 
   19494             : /* 36655*/              OPC_EmitInteger, MVT::i32, 0, 
   19495             : /* 36658*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19496             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   19497             : /* 36665*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19498             :                             4/*#Ops*/, 3, 2, 5, 1, 
   19499             :                         // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   19500             :                         // Dst: (STORE_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   19501             : /* 36674*/            /*Scope*/ 56, /*->36731*/
   19502             : /* 36675*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19503             : /* 36677*/              OPC_Scope, 25, /*->36704*/ // 2 children in Scope
   19504             : /* 36679*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19505             : /* 36681*/                OPC_EmitMergeInputChains1_0,
   19506             : /* 36682*/                OPC_EmitInteger, MVT::i32, 0, 
   19507             : /* 36685*/                OPC_EmitInteger, MVT::i32, 0, 
   19508             : /* 36688*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19509             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   19510             : /* 36695*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19511             :                               4/*#Ops*/, 3, 2, 5, 1, 
   19512             :                           // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
   19513             :                           // Dst: (STORE8_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   19514             : /* 36704*/              /*Scope*/ 25, /*->36730*/
   19515             : /* 36705*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19516             : /* 36707*/                OPC_EmitMergeInputChains1_0,
   19517             : /* 36708*/                OPC_EmitInteger, MVT::i32, 0, 
   19518             : /* 36711*/                OPC_EmitInteger, MVT::i32, 0, 
   19519             : /* 36714*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19520             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   19521             : /* 36721*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19522             :                               4/*#Ops*/, 3, 2, 5, 1, 
   19523             :                           // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
   19524             :                           // Dst: (STORE16_I32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   19525             : /* 36730*/              0, /*End of Scope*/
   19526             : /* 36731*/            0, /*End of Scope*/
   19527             : /* 36732*/          /*SwitchOpcode*/ 89, TARGET_VAL(ISD::TargetExternalSymbol),// ->36824
   19528             : /* 36735*/            OPC_MoveParent,
   19529             : /* 36736*/            OPC_MoveParent,
   19530             : /* 36737*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19531             : /* 36739*/            OPC_Scope, 25, /*->36766*/ // 2 children in Scope
   19532             : /* 36741*/              OPC_CheckPredicate, 18, // Predicate_store
   19533             : /* 36743*/              OPC_EmitMergeInputChains1_0,
   19534             : /* 36744*/              OPC_EmitInteger, MVT::i32, 0, 
   19535             : /* 36747*/              OPC_EmitInteger, MVT::i32, 0, 
   19536             : /* 36750*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19537             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   19538             : /* 36757*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19539             :                             4/*#Ops*/, 3, 2, 5, 1, 
   19540             :                         // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   19541             :                         // Dst: (STORE_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   19542             : /* 36766*/            /*Scope*/ 56, /*->36823*/
   19543             : /* 36767*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19544             : /* 36769*/              OPC_Scope, 25, /*->36796*/ // 2 children in Scope
   19545             : /* 36771*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19546             : /* 36773*/                OPC_EmitMergeInputChains1_0,
   19547             : /* 36774*/                OPC_EmitInteger, MVT::i32, 0, 
   19548             : /* 36777*/                OPC_EmitInteger, MVT::i32, 0, 
   19549             : /* 36780*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19550             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   19551             : /* 36787*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19552             :                               4/*#Ops*/, 3, 2, 5, 1, 
   19553             :                           // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
   19554             :                           // Dst: (STORE8_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   19555             : /* 36796*/              /*Scope*/ 25, /*->36822*/
   19556             : /* 36797*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19557             : /* 36799*/                OPC_EmitMergeInputChains1_0,
   19558             : /* 36800*/                OPC_EmitInteger, MVT::i32, 0, 
   19559             : /* 36803*/                OPC_EmitInteger, MVT::i32, 0, 
   19560             : /* 36806*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19561             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   19562             : /* 36813*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19563             :                               4/*#Ops*/, 3, 2, 5, 1, 
   19564             :                           // Src: (st i32:{ *:[i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
   19565             :                           // Dst: (STORE16_I32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   19566             : /* 36822*/              0, /*End of Scope*/
   19567             : /* 36823*/            0, /*End of Scope*/
   19568             : /* 36824*/          0, // EndSwitchOpcode
   19569             : /* 36825*/        0, // EndSwitchOpcode
   19570             : /* 36826*/      /*Scope*/ 43|128,1/*171*/, /*->36999*/
   19571             : /* 36828*/        OPC_RecordChild2, // #2 = $off
   19572             : /* 36829*/        OPC_Scope, 98, /*->36929*/ // 2 children in Scope
   19573             : /* 36831*/          OPC_MoveChild2,
   19574             : /* 36832*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   19575             : /* 36835*/          OPC_MoveParent,
   19576             : /* 36836*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19577             : /* 36838*/          OPC_Scope, 27, /*->36867*/ // 2 children in Scope
   19578             : /* 36840*/            OPC_CheckPredicate, 18, // Predicate_store
   19579             : /* 36842*/            OPC_EmitMergeInputChains1_0,
   19580             : /* 36843*/            OPC_EmitInteger, MVT::i32, 0, 
   19581             : /* 36846*/            OPC_EmitConvertToTarget, 2,
   19582             : /* 36848*/            OPC_EmitInteger, MVT::i32, 0, 
   19583             : /* 36851*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19584             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   19585             : /* 36858*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19586             :                           4/*#Ops*/, 3, 4, 6, 1, 
   19587             :                       // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
   19588             :                       // Dst: (STORE_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   19589             : /* 36867*/          /*Scope*/ 60, /*->36928*/
   19590             : /* 36868*/            OPC_CheckPredicate, 19, // Predicate_truncstore
   19591             : /* 36870*/            OPC_Scope, 27, /*->36899*/ // 2 children in Scope
   19592             : /* 36872*/              OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19593             : /* 36874*/              OPC_EmitMergeInputChains1_0,
   19594             : /* 36875*/              OPC_EmitInteger, MVT::i32, 0, 
   19595             : /* 36878*/              OPC_EmitConvertToTarget, 2,
   19596             : /* 36880*/              OPC_EmitInteger, MVT::i32, 0, 
   19597             : /* 36883*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19598             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   19599             : /* 36890*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19600             :                             4/*#Ops*/, 3, 4, 6, 1, 
   19601             :                         // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 7
   19602             :                         // Dst: (STORE8_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   19603             : /* 36899*/            /*Scope*/ 27, /*->36927*/
   19604             : /* 36900*/              OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19605             : /* 36902*/              OPC_EmitMergeInputChains1_0,
   19606             : /* 36903*/              OPC_EmitInteger, MVT::i32, 0, 
   19607             : /* 36906*/              OPC_EmitConvertToTarget, 2,
   19608             : /* 36908*/              OPC_EmitInteger, MVT::i32, 0, 
   19609             : /* 36911*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19610             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   19611             : /* 36918*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19612             :                             4/*#Ops*/, 3, 4, 6, 1, 
   19613             :                         // Src: (st i32:{ *:[i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 7
   19614             :                         // Dst: (STORE16_I32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   19615             : /* 36927*/            0, /*End of Scope*/
   19616             : /* 36928*/          0, /*End of Scope*/
   19617             : /* 36929*/        /*Scope*/ 68, /*->36998*/
   19618             : /* 36930*/          OPC_CheckChild2Type, MVT::i32,
   19619             : /* 36932*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19620             : /* 36934*/          OPC_Scope, 18, /*->36954*/ // 2 children in Scope
   19621             : /* 36936*/            OPC_CheckPredicate, 18, // Predicate_store
   19622             : /* 36938*/            OPC_EmitMergeInputChains1_0,
   19623             : /* 36939*/            OPC_EmitInteger, MVT::i32, 0, 
   19624             : /* 36942*/            OPC_EmitInteger, MVT::i32, 0, 
   19625             : /* 36945*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19626             :                           4/*#Ops*/, 3, 4, 2, 1, 
   19627             :                       // Src: (st i32:{ *:[i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
   19628             :                       // Dst: (STORE_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19629             : /* 36954*/          /*Scope*/ 42, /*->36997*/
   19630             : /* 36955*/            OPC_CheckPredicate, 19, // Predicate_truncstore
   19631             : /* 36957*/            OPC_Scope, 18, /*->36977*/ // 2 children in Scope
   19632             : /* 36959*/              OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19633             : /* 36961*/              OPC_EmitMergeInputChains1_0,
   19634             : /* 36962*/              OPC_EmitInteger, MVT::i32, 0, 
   19635             : /* 36965*/              OPC_EmitInteger, MVT::i32, 0, 
   19636             : /* 36968*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19637             :                             4/*#Ops*/, 3, 4, 2, 1, 
   19638             :                         // Src: (st i32:{ *:[i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 4
   19639             :                         // Dst: (STORE8_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19640             : /* 36977*/            /*Scope*/ 18, /*->36996*/
   19641             : /* 36978*/              OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19642             : /* 36980*/              OPC_EmitMergeInputChains1_0,
   19643             : /* 36981*/              OPC_EmitInteger, MVT::i32, 0, 
   19644             : /* 36984*/              OPC_EmitInteger, MVT::i32, 0, 
   19645             : /* 36987*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I32), 0|OPFL_Chain|OPFL_MemRefs,
   19646             :                             4/*#Ops*/, 3, 4, 2, 1, 
   19647             :                         // Src: (st i32:{ *:[i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 4
   19648             :                         // Dst: (STORE16_I32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   19649             : /* 36996*/            0, /*End of Scope*/
   19650             : /* 36997*/          0, /*End of Scope*/
   19651             : /* 36998*/        0, /*End of Scope*/
   19652             : /* 36999*/      0, /*End of Scope*/
   19653             : /* 37000*/    /*Scope*/ 5|128,8/*1029*/, /*->38031*/
   19654             : /* 37002*/      OPC_CheckChild1Type, MVT::i64,
   19655             : /* 37004*/      OPC_Scope, 35|128,6/*803*/, /*->37810*/ // 2 children in Scope
   19656             : /* 37007*/        OPC_MoveChild2,
   19657             : /* 37008*/        OPC_SwitchOpcode /*3 cases */, 72|128,3/*456*/, TARGET_VAL(ISD::ADD),// ->37469
   19658             : /* 37013*/          OPC_Scope, 90, /*->37105*/ // 5 children in Scope
   19659             : /* 37015*/            OPC_RecordChild0, // #2 = $addr
   19660             : /* 37016*/            OPC_MoveChild1,
   19661             : /* 37017*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   19662             : /* 37020*/            OPC_RecordChild0, // #3 = $off
   19663             : /* 37021*/            OPC_MoveChild0,
   19664             : /* 37022*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   19665             : /* 37025*/            OPC_MoveParent,
   19666             : /* 37026*/            OPC_MoveParent,
   19667             : /* 37027*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   19668             : /* 37029*/            OPC_CheckType, MVT::i32,
   19669             : /* 37031*/            OPC_MoveParent,
   19670             : /* 37032*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19671             : /* 37034*/            OPC_Scope, 15, /*->37051*/ // 2 children in Scope
   19672             : /* 37036*/              OPC_CheckPredicate, 18, // Predicate_store
   19673             : /* 37038*/              OPC_EmitMergeInputChains1_0,
   19674             : /* 37039*/              OPC_EmitInteger, MVT::i32, 0, 
   19675             : /* 37042*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19676             :                             4/*#Ops*/, 4, 3, 2, 1, 
   19677             :                         // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   19678             :                         // Dst: (STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19679             : /* 37051*/            /*Scope*/ 52, /*->37104*/
   19680             : /* 37052*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19681             : /* 37054*/              OPC_Scope, 15, /*->37071*/ // 3 children in Scope
   19682             : /* 37056*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19683             : /* 37058*/                OPC_EmitMergeInputChains1_0,
   19684             : /* 37059*/                OPC_EmitInteger, MVT::i32, 0, 
   19685             : /* 37062*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19686             :                               4/*#Ops*/, 4, 3, 2, 1, 
   19687             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 14
   19688             :                           // Dst: (STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19689             : /* 37071*/              /*Scope*/ 15, /*->37087*/
   19690             : /* 37072*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19691             : /* 37074*/                OPC_EmitMergeInputChains1_0,
   19692             : /* 37075*/                OPC_EmitInteger, MVT::i32, 0, 
   19693             : /* 37078*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19694             :                               4/*#Ops*/, 4, 3, 2, 1, 
   19695             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 14
   19696             :                           // Dst: (STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19697             : /* 37087*/              /*Scope*/ 15, /*->37103*/
   19698             : /* 37088*/                OPC_CheckPredicate, 22, // Predicate_truncstorei32
   19699             : /* 37090*/                OPC_EmitMergeInputChains1_0,
   19700             : /* 37091*/                OPC_EmitInteger, MVT::i32, 0, 
   19701             : /* 37094*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19702             :                               4/*#Ops*/, 4, 3, 2, 1, 
   19703             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 14
   19704             :                           // Dst: (STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19705             : /* 37103*/              0, /*End of Scope*/
   19706             : /* 37104*/            0, /*End of Scope*/
   19707             : /* 37105*/          /*Scope*/ 90, /*->37196*/
   19708             : /* 37106*/            OPC_MoveChild0,
   19709             : /* 37107*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   19710             : /* 37110*/            OPC_RecordChild0, // #2 = $off
   19711             : /* 37111*/            OPC_MoveChild0,
   19712             : /* 37112*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   19713             : /* 37115*/            OPC_MoveParent,
   19714             : /* 37116*/            OPC_MoveParent,
   19715             : /* 37117*/            OPC_RecordChild1, // #3 = $addr
   19716             : /* 37118*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   19717             : /* 37120*/            OPC_CheckType, MVT::i32,
   19718             : /* 37122*/            OPC_MoveParent,
   19719             : /* 37123*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19720             : /* 37125*/            OPC_Scope, 15, /*->37142*/ // 2 children in Scope
   19721             : /* 37127*/              OPC_CheckPredicate, 18, // Predicate_store
   19722             : /* 37129*/              OPC_EmitMergeInputChains1_0,
   19723             : /* 37130*/              OPC_EmitInteger, MVT::i32, 0, 
   19724             : /* 37133*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19725             :                             4/*#Ops*/, 4, 2, 3, 1, 
   19726             :                         // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   19727             :                         // Dst: (STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19728             : /* 37142*/            /*Scope*/ 52, /*->37195*/
   19729             : /* 37143*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19730             : /* 37145*/              OPC_Scope, 15, /*->37162*/ // 3 children in Scope
   19731             : /* 37147*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19732             : /* 37149*/                OPC_EmitMergeInputChains1_0,
   19733             : /* 37150*/                OPC_EmitInteger, MVT::i32, 0, 
   19734             : /* 37153*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19735             :                               4/*#Ops*/, 4, 2, 3, 1, 
   19736             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 14
   19737             :                           // Dst: (STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19738             : /* 37162*/              /*Scope*/ 15, /*->37178*/
   19739             : /* 37163*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19740             : /* 37165*/                OPC_EmitMergeInputChains1_0,
   19741             : /* 37166*/                OPC_EmitInteger, MVT::i32, 0, 
   19742             : /* 37169*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19743             :                               4/*#Ops*/, 4, 2, 3, 1, 
   19744             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 14
   19745             :                           // Dst: (STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19746             : /* 37178*/              /*Scope*/ 15, /*->37194*/
   19747             : /* 37179*/                OPC_CheckPredicate, 22, // Predicate_truncstorei32
   19748             : /* 37181*/                OPC_EmitMergeInputChains1_0,
   19749             : /* 37182*/                OPC_EmitInteger, MVT::i32, 0, 
   19750             : /* 37185*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19751             :                               4/*#Ops*/, 4, 2, 3, 1, 
   19752             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 14
   19753             :                           // Dst: (STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19754             : /* 37194*/              0, /*End of Scope*/
   19755             : /* 37195*/            0, /*End of Scope*/
   19756             : /* 37196*/          /*Scope*/ 88, /*->37285*/
   19757             : /* 37197*/            OPC_RecordChild0, // #2 = $addr
   19758             : /* 37198*/            OPC_MoveChild1,
   19759             : /* 37199*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   19760             : /* 37202*/            OPC_RecordChild0, // #3 = $off
   19761             : /* 37203*/            OPC_MoveChild0,
   19762             : /* 37204*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   19763             : /* 37207*/            OPC_MoveParent,
   19764             : /* 37208*/            OPC_MoveParent,
   19765             : /* 37209*/            OPC_CheckType, MVT::i32,
   19766             : /* 37211*/            OPC_MoveParent,
   19767             : /* 37212*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19768             : /* 37214*/            OPC_Scope, 15, /*->37231*/ // 2 children in Scope
   19769             : /* 37216*/              OPC_CheckPredicate, 18, // Predicate_store
   19770             : /* 37218*/              OPC_EmitMergeInputChains1_0,
   19771             : /* 37219*/              OPC_EmitInteger, MVT::i32, 0, 
   19772             : /* 37222*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19773             :                             4/*#Ops*/, 4, 3, 2, 1, 
   19774             :                         // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   19775             :                         // Dst: (STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19776             : /* 37231*/            /*Scope*/ 52, /*->37284*/
   19777             : /* 37232*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19778             : /* 37234*/              OPC_Scope, 15, /*->37251*/ // 3 children in Scope
   19779             : /* 37236*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19780             : /* 37238*/                OPC_EmitMergeInputChains1_0,
   19781             : /* 37239*/                OPC_EmitInteger, MVT::i32, 0, 
   19782             : /* 37242*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19783             :                               4/*#Ops*/, 4, 3, 2, 1, 
   19784             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
   19785             :                           // Dst: (STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19786             : /* 37251*/              /*Scope*/ 15, /*->37267*/
   19787             : /* 37252*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19788             : /* 37254*/                OPC_EmitMergeInputChains1_0,
   19789             : /* 37255*/                OPC_EmitInteger, MVT::i32, 0, 
   19790             : /* 37258*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19791             :                               4/*#Ops*/, 4, 3, 2, 1, 
   19792             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
   19793             :                           // Dst: (STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19794             : /* 37267*/              /*Scope*/ 15, /*->37283*/
   19795             : /* 37268*/                OPC_CheckPredicate, 22, // Predicate_truncstorei32
   19796             : /* 37270*/                OPC_EmitMergeInputChains1_0,
   19797             : /* 37271*/                OPC_EmitInteger, MVT::i32, 0, 
   19798             : /* 37274*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19799             :                               4/*#Ops*/, 4, 3, 2, 1, 
   19800             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 13
   19801             :                           // Dst: (STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19802             : /* 37283*/              0, /*End of Scope*/
   19803             : /* 37284*/            0, /*End of Scope*/
   19804             : /* 37285*/          /*Scope*/ 88, /*->37374*/
   19805             : /* 37286*/            OPC_MoveChild0,
   19806             : /* 37287*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   19807             : /* 37290*/            OPC_RecordChild0, // #2 = $off
   19808             : /* 37291*/            OPC_MoveChild0,
   19809             : /* 37292*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   19810             : /* 37295*/            OPC_MoveParent,
   19811             : /* 37296*/            OPC_MoveParent,
   19812             : /* 37297*/            OPC_RecordChild1, // #3 = $addr
   19813             : /* 37298*/            OPC_CheckType, MVT::i32,
   19814             : /* 37300*/            OPC_MoveParent,
   19815             : /* 37301*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19816             : /* 37303*/            OPC_Scope, 15, /*->37320*/ // 2 children in Scope
   19817             : /* 37305*/              OPC_CheckPredicate, 18, // Predicate_store
   19818             : /* 37307*/              OPC_EmitMergeInputChains1_0,
   19819             : /* 37308*/              OPC_EmitInteger, MVT::i32, 0, 
   19820             : /* 37311*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19821             :                             4/*#Ops*/, 4, 2, 3, 1, 
   19822             :                         // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   19823             :                         // Dst: (STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19824             : /* 37320*/            /*Scope*/ 52, /*->37373*/
   19825             : /* 37321*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19826             : /* 37323*/              OPC_Scope, 15, /*->37340*/ // 3 children in Scope
   19827             : /* 37325*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19828             : /* 37327*/                OPC_EmitMergeInputChains1_0,
   19829             : /* 37328*/                OPC_EmitInteger, MVT::i32, 0, 
   19830             : /* 37331*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19831             :                               4/*#Ops*/, 4, 2, 3, 1, 
   19832             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
   19833             :                           // Dst: (STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19834             : /* 37340*/              /*Scope*/ 15, /*->37356*/
   19835             : /* 37341*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19836             : /* 37343*/                OPC_EmitMergeInputChains1_0,
   19837             : /* 37344*/                OPC_EmitInteger, MVT::i32, 0, 
   19838             : /* 37347*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19839             :                               4/*#Ops*/, 4, 2, 3, 1, 
   19840             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
   19841             :                           // Dst: (STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19842             : /* 37356*/              /*Scope*/ 15, /*->37372*/
   19843             : /* 37357*/                OPC_CheckPredicate, 22, // Predicate_truncstorei32
   19844             : /* 37359*/                OPC_EmitMergeInputChains1_0,
   19845             : /* 37360*/                OPC_EmitInteger, MVT::i32, 0, 
   19846             : /* 37363*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19847             :                               4/*#Ops*/, 4, 2, 3, 1, 
   19848             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 13
   19849             :                           // Dst: (STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19850             : /* 37372*/              0, /*End of Scope*/
   19851             : /* 37373*/            0, /*End of Scope*/
   19852             : /* 37374*/          /*Scope*/ 93, /*->37468*/
   19853             : /* 37375*/            OPC_RecordChild0, // #2 = $addr
   19854             : /* 37376*/            OPC_RecordChild1, // #3 = $off
   19855             : /* 37377*/            OPC_MoveChild1,
   19856             : /* 37378*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   19857             : /* 37381*/            OPC_MoveParent,
   19858             : /* 37382*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   19859             : /* 37384*/            OPC_CheckType, MVT::i32,
   19860             : /* 37386*/            OPC_MoveParent,
   19861             : /* 37387*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19862             : /* 37389*/            OPC_Scope, 17, /*->37408*/ // 2 children in Scope
   19863             : /* 37391*/              OPC_CheckPredicate, 18, // Predicate_store
   19864             : /* 37393*/              OPC_EmitMergeInputChains1_0,
   19865             : /* 37394*/              OPC_EmitInteger, MVT::i32, 0, 
   19866             : /* 37397*/              OPC_EmitConvertToTarget, 3,
   19867             : /* 37399*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19868             :                             4/*#Ops*/, 4, 5, 2, 1, 
   19869             :                         // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   19870             :                         // Dst: (STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19871             : /* 37408*/            /*Scope*/ 58, /*->37467*/
   19872             : /* 37409*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19873             : /* 37411*/              OPC_Scope, 17, /*->37430*/ // 3 children in Scope
   19874             : /* 37413*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19875             : /* 37415*/                OPC_EmitMergeInputChains1_0,
   19876             : /* 37416*/                OPC_EmitInteger, MVT::i32, 0, 
   19877             : /* 37419*/                OPC_EmitConvertToTarget, 3,
   19878             : /* 37421*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19879             :                               4/*#Ops*/, 4, 5, 2, 1, 
   19880             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
   19881             :                           // Dst: (STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19882             : /* 37430*/              /*Scope*/ 17, /*->37448*/
   19883             : /* 37431*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19884             : /* 37433*/                OPC_EmitMergeInputChains1_0,
   19885             : /* 37434*/                OPC_EmitInteger, MVT::i32, 0, 
   19886             : /* 37437*/                OPC_EmitConvertToTarget, 3,
   19887             : /* 37439*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19888             :                               4/*#Ops*/, 4, 5, 2, 1, 
   19889             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
   19890             :                           // Dst: (STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19891             : /* 37448*/              /*Scope*/ 17, /*->37466*/
   19892             : /* 37449*/                OPC_CheckPredicate, 22, // Predicate_truncstorei32
   19893             : /* 37451*/                OPC_EmitMergeInputChains1_0,
   19894             : /* 37452*/                OPC_EmitInteger, MVT::i32, 0, 
   19895             : /* 37455*/                OPC_EmitConvertToTarget, 3,
   19896             : /* 37457*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19897             :                               4/*#Ops*/, 4, 5, 2, 1, 
   19898             :                           // Src: (st i64:{ *:[i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 11
   19899             :                           // Dst: (STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19900             : /* 37466*/              0, /*End of Scope*/
   19901             : /* 37467*/            0, /*End of Scope*/
   19902             : /* 37468*/          0, /*End of Scope*/
   19903             : /* 37469*/        /*SwitchOpcode*/ 93, TARGET_VAL(ISD::OR),// ->37565
   19904             : /* 37472*/          OPC_RecordChild0, // #2 = $addr
   19905             : /* 37473*/          OPC_RecordChild1, // #3 = $off
   19906             : /* 37474*/          OPC_MoveChild1,
   19907             : /* 37475*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   19908             : /* 37478*/          OPC_MoveParent,
   19909             : /* 37479*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   19910             : /* 37481*/          OPC_CheckType, MVT::i32,
   19911             : /* 37483*/          OPC_MoveParent,
   19912             : /* 37484*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19913             : /* 37486*/          OPC_Scope, 17, /*->37505*/ // 2 children in Scope
   19914             : /* 37488*/            OPC_CheckPredicate, 18, // Predicate_store
   19915             : /* 37490*/            OPC_EmitMergeInputChains1_0,
   19916             : /* 37491*/            OPC_EmitInteger, MVT::i32, 0, 
   19917             : /* 37494*/            OPC_EmitConvertToTarget, 3,
   19918             : /* 37496*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19919             :                           4/*#Ops*/, 4, 5, 2, 1, 
   19920             :                       // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   19921             :                       // Dst: (STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19922             : /* 37505*/          /*Scope*/ 58, /*->37564*/
   19923             : /* 37506*/            OPC_CheckPredicate, 19, // Predicate_truncstore
   19924             : /* 37508*/            OPC_Scope, 17, /*->37527*/ // 3 children in Scope
   19925             : /* 37510*/              OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19926             : /* 37512*/              OPC_EmitMergeInputChains1_0,
   19927             : /* 37513*/              OPC_EmitInteger, MVT::i32, 0, 
   19928             : /* 37516*/              OPC_EmitConvertToTarget, 3,
   19929             : /* 37518*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19930             :                             4/*#Ops*/, 4, 5, 2, 1, 
   19931             :                         // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 11
   19932             :                         // Dst: (STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19933             : /* 37527*/            /*Scope*/ 17, /*->37545*/
   19934             : /* 37528*/              OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19935             : /* 37530*/              OPC_EmitMergeInputChains1_0,
   19936             : /* 37531*/              OPC_EmitInteger, MVT::i32, 0, 
   19937             : /* 37534*/              OPC_EmitConvertToTarget, 3,
   19938             : /* 37536*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19939             :                             4/*#Ops*/, 4, 5, 2, 1, 
   19940             :                         // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 11
   19941             :                         // Dst: (STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19942             : /* 37545*/            /*Scope*/ 17, /*->37563*/
   19943             : /* 37546*/              OPC_CheckPredicate, 22, // Predicate_truncstorei32
   19944             : /* 37548*/              OPC_EmitMergeInputChains1_0,
   19945             : /* 37549*/              OPC_EmitInteger, MVT::i32, 0, 
   19946             : /* 37552*/              OPC_EmitConvertToTarget, 3,
   19947             : /* 37554*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19948             :                             4/*#Ops*/, 4, 5, 2, 1, 
   19949             :                         // Src: (st i64:{ *:[i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 11
   19950             :                         // Dst: (STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   19951             : /* 37563*/            0, /*End of Scope*/
   19952             : /* 37564*/          0, /*End of Scope*/
   19953             : /* 37565*/        /*SwitchOpcode*/ 112|128,1/*240*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->37809
   19954             : /* 37569*/          OPC_RecordChild0, // #2 = $off
   19955             : /* 37570*/          OPC_MoveChild0,
   19956             : /* 37571*/          OPC_SwitchOpcode /*2 cases */, 115, TARGET_VAL(ISD::TargetGlobalAddress),// ->37690
   19957             : /* 37575*/            OPC_MoveParent,
   19958             : /* 37576*/            OPC_MoveParent,
   19959             : /* 37577*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   19960             : /* 37579*/            OPC_Scope, 25, /*->37606*/ // 2 children in Scope
   19961             : /* 37581*/              OPC_CheckPredicate, 18, // Predicate_store
   19962             : /* 37583*/              OPC_EmitMergeInputChains1_0,
   19963             : /* 37584*/              OPC_EmitInteger, MVT::i32, 0, 
   19964             : /* 37587*/              OPC_EmitInteger, MVT::i32, 0, 
   19965             : /* 37590*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19966             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   19967             : /* 37597*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19968             :                             4/*#Ops*/, 3, 2, 5, 1, 
   19969             :                         // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   19970             :                         // Dst: (STORE_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   19971             : /* 37606*/            /*Scope*/ 82, /*->37689*/
   19972             : /* 37607*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   19973             : /* 37609*/              OPC_Scope, 25, /*->37636*/ // 3 children in Scope
   19974             : /* 37611*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   19975             : /* 37613*/                OPC_EmitMergeInputChains1_0,
   19976             : /* 37614*/                OPC_EmitInteger, MVT::i32, 0, 
   19977             : /* 37617*/                OPC_EmitInteger, MVT::i32, 0, 
   19978             : /* 37620*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19979             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   19980             : /* 37627*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19981             :                               4/*#Ops*/, 3, 2, 5, 1, 
   19982             :                           // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
   19983             :                           // Dst: (STORE8_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   19984             : /* 37636*/              /*Scope*/ 25, /*->37662*/
   19985             : /* 37637*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   19986             : /* 37639*/                OPC_EmitMergeInputChains1_0,
   19987             : /* 37640*/                OPC_EmitInteger, MVT::i32, 0, 
   19988             : /* 37643*/                OPC_EmitInteger, MVT::i32, 0, 
   19989             : /* 37646*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   19990             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   19991             : /* 37653*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   19992             :                               4/*#Ops*/, 3, 2, 5, 1, 
   19993             :                           // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
   19994             :                           // Dst: (STORE16_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   19995             : /* 37662*/              /*Scope*/ 25, /*->37688*/
   19996             : /* 37663*/                OPC_CheckPredicate, 22, // Predicate_truncstorei32
   19997             : /* 37665*/                OPC_EmitMergeInputChains1_0,
   19998             : /* 37666*/                OPC_EmitInteger, MVT::i32, 0, 
   19999             : /* 37669*/                OPC_EmitInteger, MVT::i32, 0, 
   20000             : /* 37672*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20001             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20002             : /* 37679*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20003             :                               4/*#Ops*/, 3, 2, 5, 1, 
   20004             :                           // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 10
   20005             :                           // Dst: (STORE32_I64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   20006             : /* 37688*/              0, /*End of Scope*/
   20007             : /* 37689*/            0, /*End of Scope*/
   20008             : /* 37690*/          /*SwitchOpcode*/ 115, TARGET_VAL(ISD::TargetExternalSymbol),// ->37808
   20009             : /* 37693*/            OPC_MoveParent,
   20010             : /* 37694*/            OPC_MoveParent,
   20011             : /* 37695*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20012             : /* 37697*/            OPC_Scope, 25, /*->37724*/ // 2 children in Scope
   20013             : /* 37699*/              OPC_CheckPredicate, 18, // Predicate_store
   20014             : /* 37701*/              OPC_EmitMergeInputChains1_0,
   20015             : /* 37702*/              OPC_EmitInteger, MVT::i32, 0, 
   20016             : /* 37705*/              OPC_EmitInteger, MVT::i32, 0, 
   20017             : /* 37708*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20018             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20019             : /* 37715*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20020             :                             4/*#Ops*/, 3, 2, 5, 1, 
   20021             :                         // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   20022             :                         // Dst: (STORE_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   20023             : /* 37724*/            /*Scope*/ 82, /*->37807*/
   20024             : /* 37725*/              OPC_CheckPredicate, 19, // Predicate_truncstore
   20025             : /* 37727*/              OPC_Scope, 25, /*->37754*/ // 3 children in Scope
   20026             : /* 37729*/                OPC_CheckPredicate, 20, // Predicate_truncstorei8
   20027             : /* 37731*/                OPC_EmitMergeInputChains1_0,
   20028             : /* 37732*/                OPC_EmitInteger, MVT::i32, 0, 
   20029             : /* 37735*/                OPC_EmitInteger, MVT::i32, 0, 
   20030             : /* 37738*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20031             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20032             : /* 37745*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20033             :                               4/*#Ops*/, 3, 2, 5, 1, 
   20034             :                           // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 10
   20035             :                           // Dst: (STORE8_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   20036             : /* 37754*/              /*Scope*/ 25, /*->37780*/
   20037             : /* 37755*/                OPC_CheckPredicate, 21, // Predicate_truncstorei16
   20038             : /* 37757*/                OPC_EmitMergeInputChains1_0,
   20039             : /* 37758*/                OPC_EmitInteger, MVT::i32, 0, 
   20040             : /* 37761*/                OPC_EmitInteger, MVT::i32, 0, 
   20041             : /* 37764*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20042             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20043             : /* 37771*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20044             :                               4/*#Ops*/, 3, 2, 5, 1, 
   20045             :                           // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 10
   20046             :                           // Dst: (STORE16_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   20047             : /* 37780*/              /*Scope*/ 25, /*->37806*/
   20048             : /* 37781*/                OPC_CheckPredicate, 22, // Predicate_truncstorei32
   20049             : /* 37783*/                OPC_EmitMergeInputChains1_0,
   20050             : /* 37784*/                OPC_EmitInteger, MVT::i32, 0, 
   20051             : /* 37787*/                OPC_EmitInteger, MVT::i32, 0, 
   20052             : /* 37790*/                OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20053             :                               MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20054             : /* 37797*/                OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20055             :                               4/*#Ops*/, 3, 2, 5, 1, 
   20056             :                           // Src: (st i64:{ *:[i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 10
   20057             :                           // Dst: (STORE32_I64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   20058             : /* 37806*/              0, /*End of Scope*/
   20059             : /* 37807*/            0, /*End of Scope*/
   20060             : /* 37808*/          0, // EndSwitchOpcode
   20061             : /* 37809*/        0, // EndSwitchOpcode
   20062             : /* 37810*/      /*Scope*/ 90|128,1/*218*/, /*->38030*/
   20063             : /* 37812*/        OPC_RecordChild2, // #2 = $off
   20064             : /* 37813*/        OPC_Scope, 126, /*->37941*/ // 2 children in Scope
   20065             : /* 37815*/          OPC_MoveChild2,
   20066             : /* 37816*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20067             : /* 37819*/          OPC_MoveParent,
   20068             : /* 37820*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20069             : /* 37822*/          OPC_Scope, 27, /*->37851*/ // 2 children in Scope
   20070             : /* 37824*/            OPC_CheckPredicate, 18, // Predicate_store
   20071             : /* 37826*/            OPC_EmitMergeInputChains1_0,
   20072             : /* 37827*/            OPC_EmitInteger, MVT::i32, 0, 
   20073             : /* 37830*/            OPC_EmitConvertToTarget, 2,
   20074             : /* 37832*/            OPC_EmitInteger, MVT::i32, 0, 
   20075             : /* 37835*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20076             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   20077             : /* 37842*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20078             :                           4/*#Ops*/, 3, 4, 6, 1, 
   20079             :                       // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
   20080             :                       // Dst: (STORE_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   20081             : /* 37851*/          /*Scope*/ 88, /*->37940*/
   20082             : /* 37852*/            OPC_CheckPredicate, 19, // Predicate_truncstore
   20083             : /* 37854*/            OPC_Scope, 27, /*->37883*/ // 3 children in Scope
   20084             : /* 37856*/              OPC_CheckPredicate, 20, // Predicate_truncstorei8
   20085             : /* 37858*/              OPC_EmitMergeInputChains1_0,
   20086             : /* 37859*/              OPC_EmitInteger, MVT::i32, 0, 
   20087             : /* 37862*/              OPC_EmitConvertToTarget, 2,
   20088             : /* 37864*/              OPC_EmitInteger, MVT::i32, 0, 
   20089             : /* 37867*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20090             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   20091             : /* 37874*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20092             :                             4/*#Ops*/, 3, 4, 6, 1, 
   20093             :                         // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 7
   20094             :                         // Dst: (STORE8_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   20095             : /* 37883*/            /*Scope*/ 27, /*->37911*/
   20096             : /* 37884*/              OPC_CheckPredicate, 21, // Predicate_truncstorei16
   20097             : /* 37886*/              OPC_EmitMergeInputChains1_0,
   20098             : /* 37887*/              OPC_EmitInteger, MVT::i32, 0, 
   20099             : /* 37890*/              OPC_EmitConvertToTarget, 2,
   20100             : /* 37892*/              OPC_EmitInteger, MVT::i32, 0, 
   20101             : /* 37895*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20102             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   20103             : /* 37902*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20104             :                             4/*#Ops*/, 3, 4, 6, 1, 
   20105             :                         // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 7
   20106             :                         // Dst: (STORE16_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   20107             : /* 37911*/            /*Scope*/ 27, /*->37939*/
   20108             : /* 37912*/              OPC_CheckPredicate, 22, // Predicate_truncstorei32
   20109             : /* 37914*/              OPC_EmitMergeInputChains1_0,
   20110             : /* 37915*/              OPC_EmitInteger, MVT::i32, 0, 
   20111             : /* 37918*/              OPC_EmitConvertToTarget, 2,
   20112             : /* 37920*/              OPC_EmitInteger, MVT::i32, 0, 
   20113             : /* 37923*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20114             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   20115             : /* 37930*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20116             :                             4/*#Ops*/, 3, 4, 6, 1, 
   20117             :                         // Src: (st i64:{ *:[i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 7
   20118             :                         // Dst: (STORE32_I64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   20119             : /* 37939*/            0, /*End of Scope*/
   20120             : /* 37940*/          0, /*End of Scope*/
   20121             : /* 37941*/        /*Scope*/ 87, /*->38029*/
   20122             : /* 37942*/          OPC_CheckChild2Type, MVT::i32,
   20123             : /* 37944*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20124             : /* 37946*/          OPC_Scope, 18, /*->37966*/ // 2 children in Scope
   20125             : /* 37948*/            OPC_CheckPredicate, 18, // Predicate_store
   20126             : /* 37950*/            OPC_EmitMergeInputChains1_0,
   20127             : /* 37951*/            OPC_EmitInteger, MVT::i32, 0, 
   20128             : /* 37954*/            OPC_EmitInteger, MVT::i32, 0, 
   20129             : /* 37957*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20130             :                           4/*#Ops*/, 3, 4, 2, 1, 
   20131             :                       // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
   20132             :                       // Dst: (STORE_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   20133             : /* 37966*/          /*Scope*/ 61, /*->38028*/
   20134             : /* 37967*/            OPC_CheckPredicate, 19, // Predicate_truncstore
   20135             : /* 37969*/            OPC_Scope, 18, /*->37989*/ // 3 children in Scope
   20136             : /* 37971*/              OPC_CheckPredicate, 20, // Predicate_truncstorei8
   20137             : /* 37973*/              OPC_EmitMergeInputChains1_0,
   20138             : /* 37974*/              OPC_EmitInteger, MVT::i32, 0, 
   20139             : /* 37977*/              OPC_EmitInteger, MVT::i32, 0, 
   20140             : /* 37980*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE8_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20141             :                             4/*#Ops*/, 3, 4, 2, 1, 
   20142             :                         // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 4
   20143             :                         // Dst: (STORE8_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   20144             : /* 37989*/            /*Scope*/ 18, /*->38008*/
   20145             : /* 37990*/              OPC_CheckPredicate, 21, // Predicate_truncstorei16
   20146             : /* 37992*/              OPC_EmitMergeInputChains1_0,
   20147             : /* 37993*/              OPC_EmitInteger, MVT::i32, 0, 
   20148             : /* 37996*/              OPC_EmitInteger, MVT::i32, 0, 
   20149             : /* 37999*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE16_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20150             :                             4/*#Ops*/, 3, 4, 2, 1, 
   20151             :                         // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 4
   20152             :                         // Dst: (STORE16_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   20153             : /* 38008*/            /*Scope*/ 18, /*->38027*/
   20154             : /* 38009*/              OPC_CheckPredicate, 22, // Predicate_truncstorei32
   20155             : /* 38011*/              OPC_EmitMergeInputChains1_0,
   20156             : /* 38012*/              OPC_EmitInteger, MVT::i32, 0, 
   20157             : /* 38015*/              OPC_EmitInteger, MVT::i32, 0, 
   20158             : /* 38018*/              OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE32_I64), 0|OPFL_Chain|OPFL_MemRefs,
   20159             :                             4/*#Ops*/, 3, 4, 2, 1, 
   20160             :                         // Src: (st i64:{ *:[i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 4
   20161             :                         // Dst: (STORE32_I64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   20162             : /* 38027*/            0, /*End of Scope*/
   20163             : /* 38028*/          0, /*End of Scope*/
   20164             : /* 38029*/        0, /*End of Scope*/
   20165             : /* 38030*/      0, /*End of Scope*/
   20166             : /* 38031*/    /*Scope*/ 94|128,2/*350*/, /*->38383*/
   20167             : /* 38033*/      OPC_CheckChild1Type, MVT::f32,
   20168             : /* 38035*/      OPC_Scope, 26|128,2/*282*/, /*->38320*/ // 2 children in Scope
   20169             : /* 38038*/        OPC_MoveChild2,
   20170             : /* 38039*/        OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->38214
   20171             : /* 38044*/          OPC_Scope, 34, /*->38080*/ // 5 children in Scope
   20172             : /* 38046*/            OPC_RecordChild0, // #2 = $addr
   20173             : /* 38047*/            OPC_MoveChild1,
   20174             : /* 38048*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20175             : /* 38051*/            OPC_RecordChild0, // #3 = $off
   20176             : /* 38052*/            OPC_MoveChild0,
   20177             : /* 38053*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   20178             : /* 38056*/            OPC_MoveParent,
   20179             : /* 38057*/            OPC_MoveParent,
   20180             : /* 38058*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   20181             : /* 38060*/            OPC_CheckType, MVT::i32,
   20182             : /* 38062*/            OPC_MoveParent,
   20183             : /* 38063*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20184             : /* 38065*/            OPC_CheckPredicate, 18, // Predicate_store
   20185             : /* 38067*/            OPC_EmitMergeInputChains1_0,
   20186             : /* 38068*/            OPC_EmitInteger, MVT::i32, 0, 
   20187             : /* 38071*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
   20188             :                           4/*#Ops*/, 4, 3, 2, 1, 
   20189             :                       // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   20190             :                       // Dst: (STORE_F32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
   20191             : /* 38080*/          /*Scope*/ 34, /*->38115*/
   20192             : /* 38081*/            OPC_MoveChild0,
   20193             : /* 38082*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20194             : /* 38085*/            OPC_RecordChild0, // #2 = $off
   20195             : /* 38086*/            OPC_MoveChild0,
   20196             : /* 38087*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   20197             : /* 38090*/            OPC_MoveParent,
   20198             : /* 38091*/            OPC_MoveParent,
   20199             : /* 38092*/            OPC_RecordChild1, // #3 = $addr
   20200             : /* 38093*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   20201             : /* 38095*/            OPC_CheckType, MVT::i32,
   20202             : /* 38097*/            OPC_MoveParent,
   20203             : /* 38098*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20204             : /* 38100*/            OPC_CheckPredicate, 18, // Predicate_store
   20205             : /* 38102*/            OPC_EmitMergeInputChains1_0,
   20206             : /* 38103*/            OPC_EmitInteger, MVT::i32, 0, 
   20207             : /* 38106*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
   20208             :                           4/*#Ops*/, 4, 2, 3, 1, 
   20209             :                       // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   20210             :                       // Dst: (STORE_F32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
   20211             : /* 38115*/          /*Scope*/ 32, /*->38148*/
   20212             : /* 38116*/            OPC_RecordChild0, // #2 = $addr
   20213             : /* 38117*/            OPC_MoveChild1,
   20214             : /* 38118*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20215             : /* 38121*/            OPC_RecordChild0, // #3 = $off
   20216             : /* 38122*/            OPC_MoveChild0,
   20217             : /* 38123*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   20218             : /* 38126*/            OPC_MoveParent,
   20219             : /* 38127*/            OPC_MoveParent,
   20220             : /* 38128*/            OPC_CheckType, MVT::i32,
   20221             : /* 38130*/            OPC_MoveParent,
   20222             : /* 38131*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20223             : /* 38133*/            OPC_CheckPredicate, 18, // Predicate_store
   20224             : /* 38135*/            OPC_EmitMergeInputChains1_0,
   20225             : /* 38136*/            OPC_EmitInteger, MVT::i32, 0, 
   20226             : /* 38139*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
   20227             :                           4/*#Ops*/, 4, 3, 2, 1, 
   20228             :                       // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   20229             :                       // Dst: (STORE_F32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
   20230             : /* 38148*/          /*Scope*/ 32, /*->38181*/
   20231             : /* 38149*/            OPC_MoveChild0,
   20232             : /* 38150*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20233             : /* 38153*/            OPC_RecordChild0, // #2 = $off
   20234             : /* 38154*/            OPC_MoveChild0,
   20235             : /* 38155*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   20236             : /* 38158*/            OPC_MoveParent,
   20237             : /* 38159*/            OPC_MoveParent,
   20238             : /* 38160*/            OPC_RecordChild1, // #3 = $addr
   20239             : /* 38161*/            OPC_CheckType, MVT::i32,
   20240             : /* 38163*/            OPC_MoveParent,
   20241             : /* 38164*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20242             : /* 38166*/            OPC_CheckPredicate, 18, // Predicate_store
   20243             : /* 38168*/            OPC_EmitMergeInputChains1_0,
   20244             : /* 38169*/            OPC_EmitInteger, MVT::i32, 0, 
   20245             : /* 38172*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
   20246             :                           4/*#Ops*/, 4, 2, 3, 1, 
   20247             :                       // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   20248             :                       // Dst: (STORE_F32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
   20249             : /* 38181*/          /*Scope*/ 31, /*->38213*/
   20250             : /* 38182*/            OPC_RecordChild0, // #2 = $addr
   20251             : /* 38183*/            OPC_RecordChild1, // #3 = $off
   20252             : /* 38184*/            OPC_MoveChild1,
   20253             : /* 38185*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20254             : /* 38188*/            OPC_MoveParent,
   20255             : /* 38189*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   20256             : /* 38191*/            OPC_CheckType, MVT::i32,
   20257             : /* 38193*/            OPC_MoveParent,
   20258             : /* 38194*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20259             : /* 38196*/            OPC_CheckPredicate, 18, // Predicate_store
   20260             : /* 38198*/            OPC_EmitMergeInputChains1_0,
   20261             : /* 38199*/            OPC_EmitInteger, MVT::i32, 0, 
   20262             : /* 38202*/            OPC_EmitConvertToTarget, 3,
   20263             : /* 38204*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
   20264             :                           4/*#Ops*/, 4, 5, 2, 1, 
   20265             :                       // Src: (st f32:{ *:[f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   20266             :                       // Dst: (STORE_F32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
   20267             : /* 38213*/          0, /*End of Scope*/
   20268             : /* 38214*/        /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->38248
   20269             : /* 38217*/          OPC_RecordChild0, // #2 = $addr
   20270             : /* 38218*/          OPC_RecordChild1, // #3 = $off
   20271             : /* 38219*/          OPC_MoveChild1,
   20272             : /* 38220*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20273             : /* 38223*/          OPC_MoveParent,
   20274             : /* 38224*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   20275             : /* 38226*/          OPC_CheckType, MVT::i32,
   20276             : /* 38228*/          OPC_MoveParent,
   20277             : /* 38229*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20278             : /* 38231*/          OPC_CheckPredicate, 18, // Predicate_store
   20279             : /* 38233*/          OPC_EmitMergeInputChains1_0,
   20280             : /* 38234*/          OPC_EmitInteger, MVT::i32, 0, 
   20281             : /* 38237*/          OPC_EmitConvertToTarget, 3,
   20282             : /* 38239*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
   20283             :                         4/*#Ops*/, 4, 5, 2, 1, 
   20284             :                     // Src: (st f32:{ *:[f32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   20285             :                     // Dst: (STORE_F32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
   20286             : /* 38248*/        /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->38319
   20287             : /* 38251*/          OPC_RecordChild0, // #2 = $off
   20288             : /* 38252*/          OPC_MoveChild0,
   20289             : /* 38253*/          OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->38286
   20290             : /* 38257*/            OPC_MoveParent,
   20291             : /* 38258*/            OPC_MoveParent,
   20292             : /* 38259*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20293             : /* 38261*/            OPC_CheckPredicate, 18, // Predicate_store
   20294             : /* 38263*/            OPC_EmitMergeInputChains1_0,
   20295             : /* 38264*/            OPC_EmitInteger, MVT::i32, 0, 
   20296             : /* 38267*/            OPC_EmitInteger, MVT::i32, 0, 
   20297             : /* 38270*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20298             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20299             : /* 38277*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
   20300             :                           4/*#Ops*/, 3, 2, 5, 1, 
   20301             :                       // Src: (st f32:{ *:[f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   20302             :                       // Dst: (STORE_F32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f32:{ *:[f32] }:$val)
   20303             : /* 38286*/          /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->38318
   20304             : /* 38289*/            OPC_MoveParent,
   20305             : /* 38290*/            OPC_MoveParent,
   20306             : /* 38291*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20307             : /* 38293*/            OPC_CheckPredicate, 18, // Predicate_store
   20308             : /* 38295*/            OPC_EmitMergeInputChains1_0,
   20309             : /* 38296*/            OPC_EmitInteger, MVT::i32, 0, 
   20310             : /* 38299*/            OPC_EmitInteger, MVT::i32, 0, 
   20311             : /* 38302*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20312             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20313             : /* 38309*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
   20314             :                           4/*#Ops*/, 3, 2, 5, 1, 
   20315             :                       // Src: (st f32:{ *:[f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   20316             :                       // Dst: (STORE_F32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f32:{ *:[f32] }:$val)
   20317             : /* 38318*/          0, // EndSwitchOpcode
   20318             : /* 38319*/        0, // EndSwitchOpcode
   20319             : /* 38320*/      /*Scope*/ 61, /*->38382*/
   20320             : /* 38321*/        OPC_RecordChild2, // #2 = $off
   20321             : /* 38322*/        OPC_Scope, 34, /*->38358*/ // 2 children in Scope
   20322             : /* 38324*/          OPC_MoveChild2,
   20323             : /* 38325*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20324             : /* 38328*/          OPC_MoveParent,
   20325             : /* 38329*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20326             : /* 38331*/          OPC_CheckPredicate, 18, // Predicate_store
   20327             : /* 38333*/          OPC_EmitMergeInputChains1_0,
   20328             : /* 38334*/          OPC_EmitInteger, MVT::i32, 0, 
   20329             : /* 38337*/          OPC_EmitConvertToTarget, 2,
   20330             : /* 38339*/          OPC_EmitInteger, MVT::i32, 0, 
   20331             : /* 38342*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20332             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   20333             : /* 38349*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
   20334             :                         4/*#Ops*/, 3, 4, 6, 1, 
   20335             :                     // Src: (st f32:{ *:[f32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
   20336             :                     // Dst: (STORE_F32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f32:{ *:[f32] }:$val)
   20337             : /* 38358*/        /*Scope*/ 22, /*->38381*/
   20338             : /* 38359*/          OPC_CheckChild2Type, MVT::i32,
   20339             : /* 38361*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20340             : /* 38363*/          OPC_CheckPredicate, 18, // Predicate_store
   20341             : /* 38365*/          OPC_EmitMergeInputChains1_0,
   20342             : /* 38366*/          OPC_EmitInteger, MVT::i32, 0, 
   20343             : /* 38369*/          OPC_EmitInteger, MVT::i32, 0, 
   20344             : /* 38372*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F32), 0|OPFL_Chain|OPFL_MemRefs,
   20345             :                         4/*#Ops*/, 3, 4, 2, 1, 
   20346             :                     // Src: (st f32:{ *:[f32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
   20347             :                     // Dst: (STORE_F32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, f32:{ *:[f32] }:$val)
   20348             : /* 38381*/        0, /*End of Scope*/
   20349             : /* 38382*/      0, /*End of Scope*/
   20350             : /* 38383*/    /*Scope*/ 94|128,2/*350*/, /*->38735*/
   20351             : /* 38385*/      OPC_CheckChild1Type, MVT::f64,
   20352             : /* 38387*/      OPC_Scope, 26|128,2/*282*/, /*->38672*/ // 2 children in Scope
   20353             : /* 38390*/        OPC_MoveChild2,
   20354             : /* 38391*/        OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->38566
   20355             : /* 38396*/          OPC_Scope, 34, /*->38432*/ // 5 children in Scope
   20356             : /* 38398*/            OPC_RecordChild0, // #2 = $addr
   20357             : /* 38399*/            OPC_MoveChild1,
   20358             : /* 38400*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20359             : /* 38403*/            OPC_RecordChild0, // #3 = $off
   20360             : /* 38404*/            OPC_MoveChild0,
   20361             : /* 38405*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   20362             : /* 38408*/            OPC_MoveParent,
   20363             : /* 38409*/            OPC_MoveParent,
   20364             : /* 38410*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   20365             : /* 38412*/            OPC_CheckType, MVT::i32,
   20366             : /* 38414*/            OPC_MoveParent,
   20367             : /* 38415*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20368             : /* 38417*/            OPC_CheckPredicate, 18, // Predicate_store
   20369             : /* 38419*/            OPC_EmitMergeInputChains1_0,
   20370             : /* 38420*/            OPC_EmitInteger, MVT::i32, 0, 
   20371             : /* 38423*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
   20372             :                           4/*#Ops*/, 4, 3, 2, 1, 
   20373             :                       // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   20374             :                       // Dst: (STORE_F64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
   20375             : /* 38432*/          /*Scope*/ 34, /*->38467*/
   20376             : /* 38433*/            OPC_MoveChild0,
   20377             : /* 38434*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20378             : /* 38437*/            OPC_RecordChild0, // #2 = $off
   20379             : /* 38438*/            OPC_MoveChild0,
   20380             : /* 38439*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   20381             : /* 38442*/            OPC_MoveParent,
   20382             : /* 38443*/            OPC_MoveParent,
   20383             : /* 38444*/            OPC_RecordChild1, // #3 = $addr
   20384             : /* 38445*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   20385             : /* 38447*/            OPC_CheckType, MVT::i32,
   20386             : /* 38449*/            OPC_MoveParent,
   20387             : /* 38450*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20388             : /* 38452*/            OPC_CheckPredicate, 18, // Predicate_store
   20389             : /* 38454*/            OPC_EmitMergeInputChains1_0,
   20390             : /* 38455*/            OPC_EmitInteger, MVT::i32, 0, 
   20391             : /* 38458*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
   20392             :                           4/*#Ops*/, 4, 2, 3, 1, 
   20393             :                       // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   20394             :                       // Dst: (STORE_F64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
   20395             : /* 38467*/          /*Scope*/ 32, /*->38500*/
   20396             : /* 38468*/            OPC_RecordChild0, // #2 = $addr
   20397             : /* 38469*/            OPC_MoveChild1,
   20398             : /* 38470*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20399             : /* 38473*/            OPC_RecordChild0, // #3 = $off
   20400             : /* 38474*/            OPC_MoveChild0,
   20401             : /* 38475*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   20402             : /* 38478*/            OPC_MoveParent,
   20403             : /* 38479*/            OPC_MoveParent,
   20404             : /* 38480*/            OPC_CheckType, MVT::i32,
   20405             : /* 38482*/            OPC_MoveParent,
   20406             : /* 38483*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20407             : /* 38485*/            OPC_CheckPredicate, 18, // Predicate_store
   20408             : /* 38487*/            OPC_EmitMergeInputChains1_0,
   20409             : /* 38488*/            OPC_EmitInteger, MVT::i32, 0, 
   20410             : /* 38491*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
   20411             :                           4/*#Ops*/, 4, 3, 2, 1, 
   20412             :                       // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   20413             :                       // Dst: (STORE_F64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
   20414             : /* 38500*/          /*Scope*/ 32, /*->38533*/
   20415             : /* 38501*/            OPC_MoveChild0,
   20416             : /* 38502*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20417             : /* 38505*/            OPC_RecordChild0, // #2 = $off
   20418             : /* 38506*/            OPC_MoveChild0,
   20419             : /* 38507*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   20420             : /* 38510*/            OPC_MoveParent,
   20421             : /* 38511*/            OPC_MoveParent,
   20422             : /* 38512*/            OPC_RecordChild1, // #3 = $addr
   20423             : /* 38513*/            OPC_CheckType, MVT::i32,
   20424             : /* 38515*/            OPC_MoveParent,
   20425             : /* 38516*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20426             : /* 38518*/            OPC_CheckPredicate, 18, // Predicate_store
   20427             : /* 38520*/            OPC_EmitMergeInputChains1_0,
   20428             : /* 38521*/            OPC_EmitInteger, MVT::i32, 0, 
   20429             : /* 38524*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
   20430             :                           4/*#Ops*/, 4, 2, 3, 1, 
   20431             :                       // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   20432             :                       // Dst: (STORE_F64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
   20433             : /* 38533*/          /*Scope*/ 31, /*->38565*/
   20434             : /* 38534*/            OPC_RecordChild0, // #2 = $addr
   20435             : /* 38535*/            OPC_RecordChild1, // #3 = $off
   20436             : /* 38536*/            OPC_MoveChild1,
   20437             : /* 38537*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20438             : /* 38540*/            OPC_MoveParent,
   20439             : /* 38541*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   20440             : /* 38543*/            OPC_CheckType, MVT::i32,
   20441             : /* 38545*/            OPC_MoveParent,
   20442             : /* 38546*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20443             : /* 38548*/            OPC_CheckPredicate, 18, // Predicate_store
   20444             : /* 38550*/            OPC_EmitMergeInputChains1_0,
   20445             : /* 38551*/            OPC_EmitInteger, MVT::i32, 0, 
   20446             : /* 38554*/            OPC_EmitConvertToTarget, 3,
   20447             : /* 38556*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
   20448             :                           4/*#Ops*/, 4, 5, 2, 1, 
   20449             :                       // Src: (st f64:{ *:[f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   20450             :                       // Dst: (STORE_F64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
   20451             : /* 38565*/          0, /*End of Scope*/
   20452             : /* 38566*/        /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->38600
   20453             : /* 38569*/          OPC_RecordChild0, // #2 = $addr
   20454             : /* 38570*/          OPC_RecordChild1, // #3 = $off
   20455             : /* 38571*/          OPC_MoveChild1,
   20456             : /* 38572*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20457             : /* 38575*/          OPC_MoveParent,
   20458             : /* 38576*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   20459             : /* 38578*/          OPC_CheckType, MVT::i32,
   20460             : /* 38580*/          OPC_MoveParent,
   20461             : /* 38581*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20462             : /* 38583*/          OPC_CheckPredicate, 18, // Predicate_store
   20463             : /* 38585*/          OPC_EmitMergeInputChains1_0,
   20464             : /* 38586*/          OPC_EmitInteger, MVT::i32, 0, 
   20465             : /* 38589*/          OPC_EmitConvertToTarget, 3,
   20466             : /* 38591*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
   20467             :                         4/*#Ops*/, 4, 5, 2, 1, 
   20468             :                     // Src: (st f64:{ *:[f64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   20469             :                     // Dst: (STORE_F64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
   20470             : /* 38600*/        /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->38671
   20471             : /* 38603*/          OPC_RecordChild0, // #2 = $off
   20472             : /* 38604*/          OPC_MoveChild0,
   20473             : /* 38605*/          OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->38638
   20474             : /* 38609*/            OPC_MoveParent,
   20475             : /* 38610*/            OPC_MoveParent,
   20476             : /* 38611*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20477             : /* 38613*/            OPC_CheckPredicate, 18, // Predicate_store
   20478             : /* 38615*/            OPC_EmitMergeInputChains1_0,
   20479             : /* 38616*/            OPC_EmitInteger, MVT::i32, 0, 
   20480             : /* 38619*/            OPC_EmitInteger, MVT::i32, 0, 
   20481             : /* 38622*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20482             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20483             : /* 38629*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
   20484             :                           4/*#Ops*/, 3, 2, 5, 1, 
   20485             :                       // Src: (st f64:{ *:[f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   20486             :                       // Dst: (STORE_F64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f64:{ *:[f64] }:$val)
   20487             : /* 38638*/          /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->38670
   20488             : /* 38641*/            OPC_MoveParent,
   20489             : /* 38642*/            OPC_MoveParent,
   20490             : /* 38643*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20491             : /* 38645*/            OPC_CheckPredicate, 18, // Predicate_store
   20492             : /* 38647*/            OPC_EmitMergeInputChains1_0,
   20493             : /* 38648*/            OPC_EmitInteger, MVT::i32, 0, 
   20494             : /* 38651*/            OPC_EmitInteger, MVT::i32, 0, 
   20495             : /* 38654*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20496             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20497             : /* 38661*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
   20498             :                           4/*#Ops*/, 3, 2, 5, 1, 
   20499             :                       // Src: (st f64:{ *:[f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   20500             :                       // Dst: (STORE_F64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f64:{ *:[f64] }:$val)
   20501             : /* 38670*/          0, // EndSwitchOpcode
   20502             : /* 38671*/        0, // EndSwitchOpcode
   20503             : /* 38672*/      /*Scope*/ 61, /*->38734*/
   20504             : /* 38673*/        OPC_RecordChild2, // #2 = $off
   20505             : /* 38674*/        OPC_Scope, 34, /*->38710*/ // 2 children in Scope
   20506             : /* 38676*/          OPC_MoveChild2,
   20507             : /* 38677*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20508             : /* 38680*/          OPC_MoveParent,
   20509             : /* 38681*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20510             : /* 38683*/          OPC_CheckPredicate, 18, // Predicate_store
   20511             : /* 38685*/          OPC_EmitMergeInputChains1_0,
   20512             : /* 38686*/          OPC_EmitInteger, MVT::i32, 0, 
   20513             : /* 38689*/          OPC_EmitConvertToTarget, 2,
   20514             : /* 38691*/          OPC_EmitInteger, MVT::i32, 0, 
   20515             : /* 38694*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20516             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   20517             : /* 38701*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
   20518             :                         4/*#Ops*/, 3, 4, 6, 1, 
   20519             :                     // Src: (st f64:{ *:[f64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
   20520             :                     // Dst: (STORE_F64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), f64:{ *:[f64] }:$val)
   20521             : /* 38710*/        /*Scope*/ 22, /*->38733*/
   20522             : /* 38711*/          OPC_CheckChild2Type, MVT::i32,
   20523             : /* 38713*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20524             : /* 38715*/          OPC_CheckPredicate, 18, // Predicate_store
   20525             : /* 38717*/          OPC_EmitMergeInputChains1_0,
   20526             : /* 38718*/          OPC_EmitInteger, MVT::i32, 0, 
   20527             : /* 38721*/          OPC_EmitInteger, MVT::i32, 0, 
   20528             : /* 38724*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_F64), 0|OPFL_Chain|OPFL_MemRefs,
   20529             :                         4/*#Ops*/, 3, 4, 2, 1, 
   20530             :                     // Src: (st f64:{ *:[f64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
   20531             :                     // Dst: (STORE_F64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, f64:{ *:[f64] }:$val)
   20532             : /* 38733*/        0, /*End of Scope*/
   20533             : /* 38734*/      0, /*End of Scope*/
   20534             : /* 38735*/    /*Scope*/ 94|128,2/*350*/, /*->39087*/
   20535             : /* 38737*/      OPC_CheckChild1Type, MVT::v16i8,
   20536             : /* 38739*/      OPC_Scope, 26|128,2/*282*/, /*->39024*/ // 2 children in Scope
   20537             : /* 38742*/        OPC_MoveChild2,
   20538             : /* 38743*/        OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->38918
   20539             : /* 38748*/          OPC_Scope, 34, /*->38784*/ // 5 children in Scope
   20540             : /* 38750*/            OPC_RecordChild0, // #2 = $addr
   20541             : /* 38751*/            OPC_MoveChild1,
   20542             : /* 38752*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20543             : /* 38755*/            OPC_RecordChild0, // #3 = $off
   20544             : /* 38756*/            OPC_MoveChild0,
   20545             : /* 38757*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   20546             : /* 38760*/            OPC_MoveParent,
   20547             : /* 38761*/            OPC_MoveParent,
   20548             : /* 38762*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   20549             : /* 38764*/            OPC_CheckType, MVT::i32,
   20550             : /* 38766*/            OPC_MoveParent,
   20551             : /* 38767*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20552             : /* 38769*/            OPC_CheckPredicate, 18, // Predicate_store
   20553             : /* 38771*/            OPC_EmitMergeInputChains1_0,
   20554             : /* 38772*/            OPC_EmitInteger, MVT::i32, 0, 
   20555             : /* 38775*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   20556             :                           4/*#Ops*/, 4, 3, 2, 1, 
   20557             :                       // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   20558             :                       // Dst: (STORE_v16i8 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
   20559             : /* 38784*/          /*Scope*/ 34, /*->38819*/
   20560             : /* 38785*/            OPC_MoveChild0,
   20561             : /* 38786*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20562             : /* 38789*/            OPC_RecordChild0, // #2 = $off
   20563             : /* 38790*/            OPC_MoveChild0,
   20564             : /* 38791*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   20565             : /* 38794*/            OPC_MoveParent,
   20566             : /* 38795*/            OPC_MoveParent,
   20567             : /* 38796*/            OPC_RecordChild1, // #3 = $addr
   20568             : /* 38797*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   20569             : /* 38799*/            OPC_CheckType, MVT::i32,
   20570             : /* 38801*/            OPC_MoveParent,
   20571             : /* 38802*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20572             : /* 38804*/            OPC_CheckPredicate, 18, // Predicate_store
   20573             : /* 38806*/            OPC_EmitMergeInputChains1_0,
   20574             : /* 38807*/            OPC_EmitInteger, MVT::i32, 0, 
   20575             : /* 38810*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   20576             :                           4/*#Ops*/, 4, 2, 3, 1, 
   20577             :                       // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   20578             :                       // Dst: (STORE_v16i8 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
   20579             : /* 38819*/          /*Scope*/ 32, /*->38852*/
   20580             : /* 38820*/            OPC_RecordChild0, // #2 = $addr
   20581             : /* 38821*/            OPC_MoveChild1,
   20582             : /* 38822*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20583             : /* 38825*/            OPC_RecordChild0, // #3 = $off
   20584             : /* 38826*/            OPC_MoveChild0,
   20585             : /* 38827*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   20586             : /* 38830*/            OPC_MoveParent,
   20587             : /* 38831*/            OPC_MoveParent,
   20588             : /* 38832*/            OPC_CheckType, MVT::i32,
   20589             : /* 38834*/            OPC_MoveParent,
   20590             : /* 38835*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20591             : /* 38837*/            OPC_CheckPredicate, 18, // Predicate_store
   20592             : /* 38839*/            OPC_EmitMergeInputChains1_0,
   20593             : /* 38840*/            OPC_EmitInteger, MVT::i32, 0, 
   20594             : /* 38843*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   20595             :                           4/*#Ops*/, 4, 3, 2, 1, 
   20596             :                       // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   20597             :                       // Dst: (STORE_v16i8 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
   20598             : /* 38852*/          /*Scope*/ 32, /*->38885*/
   20599             : /* 38853*/            OPC_MoveChild0,
   20600             : /* 38854*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20601             : /* 38857*/            OPC_RecordChild0, // #2 = $off
   20602             : /* 38858*/            OPC_MoveChild0,
   20603             : /* 38859*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   20604             : /* 38862*/            OPC_MoveParent,
   20605             : /* 38863*/            OPC_MoveParent,
   20606             : /* 38864*/            OPC_RecordChild1, // #3 = $addr
   20607             : /* 38865*/            OPC_CheckType, MVT::i32,
   20608             : /* 38867*/            OPC_MoveParent,
   20609             : /* 38868*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20610             : /* 38870*/            OPC_CheckPredicate, 18, // Predicate_store
   20611             : /* 38872*/            OPC_EmitMergeInputChains1_0,
   20612             : /* 38873*/            OPC_EmitInteger, MVT::i32, 0, 
   20613             : /* 38876*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   20614             :                           4/*#Ops*/, 4, 2, 3, 1, 
   20615             :                       // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   20616             :                       // Dst: (STORE_v16i8 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
   20617             : /* 38885*/          /*Scope*/ 31, /*->38917*/
   20618             : /* 38886*/            OPC_RecordChild0, // #2 = $addr
   20619             : /* 38887*/            OPC_RecordChild1, // #3 = $off
   20620             : /* 38888*/            OPC_MoveChild1,
   20621             : /* 38889*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20622             : /* 38892*/            OPC_MoveParent,
   20623             : /* 38893*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   20624             : /* 38895*/            OPC_CheckType, MVT::i32,
   20625             : /* 38897*/            OPC_MoveParent,
   20626             : /* 38898*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20627             : /* 38900*/            OPC_CheckPredicate, 18, // Predicate_store
   20628             : /* 38902*/            OPC_EmitMergeInputChains1_0,
   20629             : /* 38903*/            OPC_EmitInteger, MVT::i32, 0, 
   20630             : /* 38906*/            OPC_EmitConvertToTarget, 3,
   20631             : /* 38908*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   20632             :                           4/*#Ops*/, 4, 5, 2, 1, 
   20633             :                       // Src: (st v16i8:{ *:[v16i8] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   20634             :                       // Dst: (STORE_v16i8 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
   20635             : /* 38917*/          0, /*End of Scope*/
   20636             : /* 38918*/        /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->38952
   20637             : /* 38921*/          OPC_RecordChild0, // #2 = $addr
   20638             : /* 38922*/          OPC_RecordChild1, // #3 = $off
   20639             : /* 38923*/          OPC_MoveChild1,
   20640             : /* 38924*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20641             : /* 38927*/          OPC_MoveParent,
   20642             : /* 38928*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   20643             : /* 38930*/          OPC_CheckType, MVT::i32,
   20644             : /* 38932*/          OPC_MoveParent,
   20645             : /* 38933*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20646             : /* 38935*/          OPC_CheckPredicate, 18, // Predicate_store
   20647             : /* 38937*/          OPC_EmitMergeInputChains1_0,
   20648             : /* 38938*/          OPC_EmitInteger, MVT::i32, 0, 
   20649             : /* 38941*/          OPC_EmitConvertToTarget, 3,
   20650             : /* 38943*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   20651             :                         4/*#Ops*/, 4, 5, 2, 1, 
   20652             :                     // Src: (st v16i8:{ *:[v16i8] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   20653             :                     // Dst: (STORE_v16i8 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
   20654             : /* 38952*/        /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->39023
   20655             : /* 38955*/          OPC_RecordChild0, // #2 = $off
   20656             : /* 38956*/          OPC_MoveChild0,
   20657             : /* 38957*/          OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->38990
   20658             : /* 38961*/            OPC_MoveParent,
   20659             : /* 38962*/            OPC_MoveParent,
   20660             : /* 38963*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20661             : /* 38965*/            OPC_CheckPredicate, 18, // Predicate_store
   20662             : /* 38967*/            OPC_EmitMergeInputChains1_0,
   20663             : /* 38968*/            OPC_EmitInteger, MVT::i32, 0, 
   20664             : /* 38971*/            OPC_EmitInteger, MVT::i32, 0, 
   20665             : /* 38974*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20666             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20667             : /* 38981*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   20668             :                           4/*#Ops*/, 3, 2, 5, 1, 
   20669             :                       // Src: (st v16i8:{ *:[v16i8] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   20670             :                       // Dst: (STORE_v16i8 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v16i8:{ *:[v16i8] }:$val)
   20671             : /* 38990*/          /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->39022
   20672             : /* 38993*/            OPC_MoveParent,
   20673             : /* 38994*/            OPC_MoveParent,
   20674             : /* 38995*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20675             : /* 38997*/            OPC_CheckPredicate, 18, // Predicate_store
   20676             : /* 38999*/            OPC_EmitMergeInputChains1_0,
   20677             : /* 39000*/            OPC_EmitInteger, MVT::i32, 0, 
   20678             : /* 39003*/            OPC_EmitInteger, MVT::i32, 0, 
   20679             : /* 39006*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20680             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20681             : /* 39013*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   20682             :                           4/*#Ops*/, 3, 2, 5, 1, 
   20683             :                       // Src: (st v16i8:{ *:[v16i8] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   20684             :                       // Dst: (STORE_v16i8 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v16i8:{ *:[v16i8] }:$val)
   20685             : /* 39022*/          0, // EndSwitchOpcode
   20686             : /* 39023*/        0, // EndSwitchOpcode
   20687             : /* 39024*/      /*Scope*/ 61, /*->39086*/
   20688             : /* 39025*/        OPC_RecordChild2, // #2 = $off
   20689             : /* 39026*/        OPC_Scope, 34, /*->39062*/ // 2 children in Scope
   20690             : /* 39028*/          OPC_MoveChild2,
   20691             : /* 39029*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20692             : /* 39032*/          OPC_MoveParent,
   20693             : /* 39033*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20694             : /* 39035*/          OPC_CheckPredicate, 18, // Predicate_store
   20695             : /* 39037*/          OPC_EmitMergeInputChains1_0,
   20696             : /* 39038*/          OPC_EmitInteger, MVT::i32, 0, 
   20697             : /* 39041*/          OPC_EmitConvertToTarget, 2,
   20698             : /* 39043*/          OPC_EmitInteger, MVT::i32, 0, 
   20699             : /* 39046*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20700             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   20701             : /* 39053*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   20702             :                         4/*#Ops*/, 3, 4, 6, 1, 
   20703             :                     // Src: (st v16i8:{ *:[v16i8] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
   20704             :                     // Dst: (STORE_v16i8 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v16i8:{ *:[v16i8] }:$val)
   20705             : /* 39062*/        /*Scope*/ 22, /*->39085*/
   20706             : /* 39063*/          OPC_CheckChild2Type, MVT::i32,
   20707             : /* 39065*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20708             : /* 39067*/          OPC_CheckPredicate, 18, // Predicate_store
   20709             : /* 39069*/          OPC_EmitMergeInputChains1_0,
   20710             : /* 39070*/          OPC_EmitInteger, MVT::i32, 0, 
   20711             : /* 39073*/          OPC_EmitInteger, MVT::i32, 0, 
   20712             : /* 39076*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v16i8), 0|OPFL_Chain|OPFL_MemRefs,
   20713             :                         4/*#Ops*/, 3, 4, 2, 1, 
   20714             :                     // Src: (st v16i8:{ *:[v16i8] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
   20715             :                     // Dst: (STORE_v16i8 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v16i8:{ *:[v16i8] }:$val)
   20716             : /* 39085*/        0, /*End of Scope*/
   20717             : /* 39086*/      0, /*End of Scope*/
   20718             : /* 39087*/    /*Scope*/ 94|128,2/*350*/, /*->39439*/
   20719             : /* 39089*/      OPC_CheckChild1Type, MVT::v8i16,
   20720             : /* 39091*/      OPC_Scope, 26|128,2/*282*/, /*->39376*/ // 2 children in Scope
   20721             : /* 39094*/        OPC_MoveChild2,
   20722             : /* 39095*/        OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->39270
   20723             : /* 39100*/          OPC_Scope, 34, /*->39136*/ // 5 children in Scope
   20724             : /* 39102*/            OPC_RecordChild0, // #2 = $addr
   20725             : /* 39103*/            OPC_MoveChild1,
   20726             : /* 39104*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20727             : /* 39107*/            OPC_RecordChild0, // #3 = $off
   20728             : /* 39108*/            OPC_MoveChild0,
   20729             : /* 39109*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   20730             : /* 39112*/            OPC_MoveParent,
   20731             : /* 39113*/            OPC_MoveParent,
   20732             : /* 39114*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   20733             : /* 39116*/            OPC_CheckType, MVT::i32,
   20734             : /* 39118*/            OPC_MoveParent,
   20735             : /* 39119*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20736             : /* 39121*/            OPC_CheckPredicate, 18, // Predicate_store
   20737             : /* 39123*/            OPC_EmitMergeInputChains1_0,
   20738             : /* 39124*/            OPC_EmitInteger, MVT::i32, 0, 
   20739             : /* 39127*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   20740             :                           4/*#Ops*/, 4, 3, 2, 1, 
   20741             :                       // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   20742             :                       // Dst: (STORE_v8i16 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
   20743             : /* 39136*/          /*Scope*/ 34, /*->39171*/
   20744             : /* 39137*/            OPC_MoveChild0,
   20745             : /* 39138*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20746             : /* 39141*/            OPC_RecordChild0, // #2 = $off
   20747             : /* 39142*/            OPC_MoveChild0,
   20748             : /* 39143*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   20749             : /* 39146*/            OPC_MoveParent,
   20750             : /* 39147*/            OPC_MoveParent,
   20751             : /* 39148*/            OPC_RecordChild1, // #3 = $addr
   20752             : /* 39149*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   20753             : /* 39151*/            OPC_CheckType, MVT::i32,
   20754             : /* 39153*/            OPC_MoveParent,
   20755             : /* 39154*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20756             : /* 39156*/            OPC_CheckPredicate, 18, // Predicate_store
   20757             : /* 39158*/            OPC_EmitMergeInputChains1_0,
   20758             : /* 39159*/            OPC_EmitInteger, MVT::i32, 0, 
   20759             : /* 39162*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   20760             :                           4/*#Ops*/, 4, 2, 3, 1, 
   20761             :                       // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   20762             :                       // Dst: (STORE_v8i16 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
   20763             : /* 39171*/          /*Scope*/ 32, /*->39204*/
   20764             : /* 39172*/            OPC_RecordChild0, // #2 = $addr
   20765             : /* 39173*/            OPC_MoveChild1,
   20766             : /* 39174*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20767             : /* 39177*/            OPC_RecordChild0, // #3 = $off
   20768             : /* 39178*/            OPC_MoveChild0,
   20769             : /* 39179*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   20770             : /* 39182*/            OPC_MoveParent,
   20771             : /* 39183*/            OPC_MoveParent,
   20772             : /* 39184*/            OPC_CheckType, MVT::i32,
   20773             : /* 39186*/            OPC_MoveParent,
   20774             : /* 39187*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20775             : /* 39189*/            OPC_CheckPredicate, 18, // Predicate_store
   20776             : /* 39191*/            OPC_EmitMergeInputChains1_0,
   20777             : /* 39192*/            OPC_EmitInteger, MVT::i32, 0, 
   20778             : /* 39195*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   20779             :                           4/*#Ops*/, 4, 3, 2, 1, 
   20780             :                       // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   20781             :                       // Dst: (STORE_v8i16 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
   20782             : /* 39204*/          /*Scope*/ 32, /*->39237*/
   20783             : /* 39205*/            OPC_MoveChild0,
   20784             : /* 39206*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20785             : /* 39209*/            OPC_RecordChild0, // #2 = $off
   20786             : /* 39210*/            OPC_MoveChild0,
   20787             : /* 39211*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   20788             : /* 39214*/            OPC_MoveParent,
   20789             : /* 39215*/            OPC_MoveParent,
   20790             : /* 39216*/            OPC_RecordChild1, // #3 = $addr
   20791             : /* 39217*/            OPC_CheckType, MVT::i32,
   20792             : /* 39219*/            OPC_MoveParent,
   20793             : /* 39220*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20794             : /* 39222*/            OPC_CheckPredicate, 18, // Predicate_store
   20795             : /* 39224*/            OPC_EmitMergeInputChains1_0,
   20796             : /* 39225*/            OPC_EmitInteger, MVT::i32, 0, 
   20797             : /* 39228*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   20798             :                           4/*#Ops*/, 4, 2, 3, 1, 
   20799             :                       // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   20800             :                       // Dst: (STORE_v8i16 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
   20801             : /* 39237*/          /*Scope*/ 31, /*->39269*/
   20802             : /* 39238*/            OPC_RecordChild0, // #2 = $addr
   20803             : /* 39239*/            OPC_RecordChild1, // #3 = $off
   20804             : /* 39240*/            OPC_MoveChild1,
   20805             : /* 39241*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20806             : /* 39244*/            OPC_MoveParent,
   20807             : /* 39245*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   20808             : /* 39247*/            OPC_CheckType, MVT::i32,
   20809             : /* 39249*/            OPC_MoveParent,
   20810             : /* 39250*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20811             : /* 39252*/            OPC_CheckPredicate, 18, // Predicate_store
   20812             : /* 39254*/            OPC_EmitMergeInputChains1_0,
   20813             : /* 39255*/            OPC_EmitInteger, MVT::i32, 0, 
   20814             : /* 39258*/            OPC_EmitConvertToTarget, 3,
   20815             : /* 39260*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   20816             :                           4/*#Ops*/, 4, 5, 2, 1, 
   20817             :                       // Src: (st v8i16:{ *:[v8i16] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   20818             :                       // Dst: (STORE_v8i16 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
   20819             : /* 39269*/          0, /*End of Scope*/
   20820             : /* 39270*/        /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->39304
   20821             : /* 39273*/          OPC_RecordChild0, // #2 = $addr
   20822             : /* 39274*/          OPC_RecordChild1, // #3 = $off
   20823             : /* 39275*/          OPC_MoveChild1,
   20824             : /* 39276*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20825             : /* 39279*/          OPC_MoveParent,
   20826             : /* 39280*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   20827             : /* 39282*/          OPC_CheckType, MVT::i32,
   20828             : /* 39284*/          OPC_MoveParent,
   20829             : /* 39285*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20830             : /* 39287*/          OPC_CheckPredicate, 18, // Predicate_store
   20831             : /* 39289*/          OPC_EmitMergeInputChains1_0,
   20832             : /* 39290*/          OPC_EmitInteger, MVT::i32, 0, 
   20833             : /* 39293*/          OPC_EmitConvertToTarget, 3,
   20834             : /* 39295*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   20835             :                         4/*#Ops*/, 4, 5, 2, 1, 
   20836             :                     // Src: (st v8i16:{ *:[v8i16] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   20837             :                     // Dst: (STORE_v8i16 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
   20838             : /* 39304*/        /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->39375
   20839             : /* 39307*/          OPC_RecordChild0, // #2 = $off
   20840             : /* 39308*/          OPC_MoveChild0,
   20841             : /* 39309*/          OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->39342
   20842             : /* 39313*/            OPC_MoveParent,
   20843             : /* 39314*/            OPC_MoveParent,
   20844             : /* 39315*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20845             : /* 39317*/            OPC_CheckPredicate, 18, // Predicate_store
   20846             : /* 39319*/            OPC_EmitMergeInputChains1_0,
   20847             : /* 39320*/            OPC_EmitInteger, MVT::i32, 0, 
   20848             : /* 39323*/            OPC_EmitInteger, MVT::i32, 0, 
   20849             : /* 39326*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20850             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20851             : /* 39333*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   20852             :                           4/*#Ops*/, 3, 2, 5, 1, 
   20853             :                       // Src: (st v8i16:{ *:[v8i16] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   20854             :                       // Dst: (STORE_v8i16 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v8i16:{ *:[v8i16] }:$val)
   20855             : /* 39342*/          /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->39374
   20856             : /* 39345*/            OPC_MoveParent,
   20857             : /* 39346*/            OPC_MoveParent,
   20858             : /* 39347*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20859             : /* 39349*/            OPC_CheckPredicate, 18, // Predicate_store
   20860             : /* 39351*/            OPC_EmitMergeInputChains1_0,
   20861             : /* 39352*/            OPC_EmitInteger, MVT::i32, 0, 
   20862             : /* 39355*/            OPC_EmitInteger, MVT::i32, 0, 
   20863             : /* 39358*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20864             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   20865             : /* 39365*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   20866             :                           4/*#Ops*/, 3, 2, 5, 1, 
   20867             :                       // Src: (st v8i16:{ *:[v8i16] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   20868             :                       // Dst: (STORE_v8i16 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v8i16:{ *:[v8i16] }:$val)
   20869             : /* 39374*/          0, // EndSwitchOpcode
   20870             : /* 39375*/        0, // EndSwitchOpcode
   20871             : /* 39376*/      /*Scope*/ 61, /*->39438*/
   20872             : /* 39377*/        OPC_RecordChild2, // #2 = $off
   20873             : /* 39378*/        OPC_Scope, 34, /*->39414*/ // 2 children in Scope
   20874             : /* 39380*/          OPC_MoveChild2,
   20875             : /* 39381*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20876             : /* 39384*/          OPC_MoveParent,
   20877             : /* 39385*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20878             : /* 39387*/          OPC_CheckPredicate, 18, // Predicate_store
   20879             : /* 39389*/          OPC_EmitMergeInputChains1_0,
   20880             : /* 39390*/          OPC_EmitInteger, MVT::i32, 0, 
   20881             : /* 39393*/          OPC_EmitConvertToTarget, 2,
   20882             : /* 39395*/          OPC_EmitInteger, MVT::i32, 0, 
   20883             : /* 39398*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   20884             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   20885             : /* 39405*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   20886             :                         4/*#Ops*/, 3, 4, 6, 1, 
   20887             :                     // Src: (st v8i16:{ *:[v8i16] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
   20888             :                     // Dst: (STORE_v8i16 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v8i16:{ *:[v8i16] }:$val)
   20889             : /* 39414*/        /*Scope*/ 22, /*->39437*/
   20890             : /* 39415*/          OPC_CheckChild2Type, MVT::i32,
   20891             : /* 39417*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20892             : /* 39419*/          OPC_CheckPredicate, 18, // Predicate_store
   20893             : /* 39421*/          OPC_EmitMergeInputChains1_0,
   20894             : /* 39422*/          OPC_EmitInteger, MVT::i32, 0, 
   20895             : /* 39425*/          OPC_EmitInteger, MVT::i32, 0, 
   20896             : /* 39428*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v8i16), 0|OPFL_Chain|OPFL_MemRefs,
   20897             :                         4/*#Ops*/, 3, 4, 2, 1, 
   20898             :                     // Src: (st v8i16:{ *:[v8i16] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
   20899             :                     // Dst: (STORE_v8i16 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v8i16:{ *:[v8i16] }:$val)
   20900             : /* 39437*/        0, /*End of Scope*/
   20901             : /* 39438*/      0, /*End of Scope*/
   20902             : /* 39439*/    /*Scope*/ 94|128,2/*350*/, /*->39791*/
   20903             : /* 39441*/      OPC_CheckChild1Type, MVT::v4i32,
   20904             : /* 39443*/      OPC_Scope, 26|128,2/*282*/, /*->39728*/ // 2 children in Scope
   20905             : /* 39446*/        OPC_MoveChild2,
   20906             : /* 39447*/        OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->39622
   20907             : /* 39452*/          OPC_Scope, 34, /*->39488*/ // 5 children in Scope
   20908             : /* 39454*/            OPC_RecordChild0, // #2 = $addr
   20909             : /* 39455*/            OPC_MoveChild1,
   20910             : /* 39456*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20911             : /* 39459*/            OPC_RecordChild0, // #3 = $off
   20912             : /* 39460*/            OPC_MoveChild0,
   20913             : /* 39461*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   20914             : /* 39464*/            OPC_MoveParent,
   20915             : /* 39465*/            OPC_MoveParent,
   20916             : /* 39466*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   20917             : /* 39468*/            OPC_CheckType, MVT::i32,
   20918             : /* 39470*/            OPC_MoveParent,
   20919             : /* 39471*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20920             : /* 39473*/            OPC_CheckPredicate, 18, // Predicate_store
   20921             : /* 39475*/            OPC_EmitMergeInputChains1_0,
   20922             : /* 39476*/            OPC_EmitInteger, MVT::i32, 0, 
   20923             : /* 39479*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   20924             :                           4/*#Ops*/, 4, 3, 2, 1, 
   20925             :                       // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   20926             :                       // Dst: (STORE_v4i32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
   20927             : /* 39488*/          /*Scope*/ 34, /*->39523*/
   20928             : /* 39489*/            OPC_MoveChild0,
   20929             : /* 39490*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20930             : /* 39493*/            OPC_RecordChild0, // #2 = $off
   20931             : /* 39494*/            OPC_MoveChild0,
   20932             : /* 39495*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   20933             : /* 39498*/            OPC_MoveParent,
   20934             : /* 39499*/            OPC_MoveParent,
   20935             : /* 39500*/            OPC_RecordChild1, // #3 = $addr
   20936             : /* 39501*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   20937             : /* 39503*/            OPC_CheckType, MVT::i32,
   20938             : /* 39505*/            OPC_MoveParent,
   20939             : /* 39506*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20940             : /* 39508*/            OPC_CheckPredicate, 18, // Predicate_store
   20941             : /* 39510*/            OPC_EmitMergeInputChains1_0,
   20942             : /* 39511*/            OPC_EmitInteger, MVT::i32, 0, 
   20943             : /* 39514*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   20944             :                           4/*#Ops*/, 4, 2, 3, 1, 
   20945             :                       // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   20946             :                       // Dst: (STORE_v4i32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
   20947             : /* 39523*/          /*Scope*/ 32, /*->39556*/
   20948             : /* 39524*/            OPC_RecordChild0, // #2 = $addr
   20949             : /* 39525*/            OPC_MoveChild1,
   20950             : /* 39526*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20951             : /* 39529*/            OPC_RecordChild0, // #3 = $off
   20952             : /* 39530*/            OPC_MoveChild0,
   20953             : /* 39531*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   20954             : /* 39534*/            OPC_MoveParent,
   20955             : /* 39535*/            OPC_MoveParent,
   20956             : /* 39536*/            OPC_CheckType, MVT::i32,
   20957             : /* 39538*/            OPC_MoveParent,
   20958             : /* 39539*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20959             : /* 39541*/            OPC_CheckPredicate, 18, // Predicate_store
   20960             : /* 39543*/            OPC_EmitMergeInputChains1_0,
   20961             : /* 39544*/            OPC_EmitInteger, MVT::i32, 0, 
   20962             : /* 39547*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   20963             :                           4/*#Ops*/, 4, 3, 2, 1, 
   20964             :                       // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   20965             :                       // Dst: (STORE_v4i32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
   20966             : /* 39556*/          /*Scope*/ 32, /*->39589*/
   20967             : /* 39557*/            OPC_MoveChild0,
   20968             : /* 39558*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   20969             : /* 39561*/            OPC_RecordChild0, // #2 = $off
   20970             : /* 39562*/            OPC_MoveChild0,
   20971             : /* 39563*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   20972             : /* 39566*/            OPC_MoveParent,
   20973             : /* 39567*/            OPC_MoveParent,
   20974             : /* 39568*/            OPC_RecordChild1, // #3 = $addr
   20975             : /* 39569*/            OPC_CheckType, MVT::i32,
   20976             : /* 39571*/            OPC_MoveParent,
   20977             : /* 39572*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20978             : /* 39574*/            OPC_CheckPredicate, 18, // Predicate_store
   20979             : /* 39576*/            OPC_EmitMergeInputChains1_0,
   20980             : /* 39577*/            OPC_EmitInteger, MVT::i32, 0, 
   20981             : /* 39580*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   20982             :                           4/*#Ops*/, 4, 2, 3, 1, 
   20983             :                       // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   20984             :                       // Dst: (STORE_v4i32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
   20985             : /* 39589*/          /*Scope*/ 31, /*->39621*/
   20986             : /* 39590*/            OPC_RecordChild0, // #2 = $addr
   20987             : /* 39591*/            OPC_RecordChild1, // #3 = $off
   20988             : /* 39592*/            OPC_MoveChild1,
   20989             : /* 39593*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   20990             : /* 39596*/            OPC_MoveParent,
   20991             : /* 39597*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   20992             : /* 39599*/            OPC_CheckType, MVT::i32,
   20993             : /* 39601*/            OPC_MoveParent,
   20994             : /* 39602*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   20995             : /* 39604*/            OPC_CheckPredicate, 18, // Predicate_store
   20996             : /* 39606*/            OPC_EmitMergeInputChains1_0,
   20997             : /* 39607*/            OPC_EmitInteger, MVT::i32, 0, 
   20998             : /* 39610*/            OPC_EmitConvertToTarget, 3,
   20999             : /* 39612*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   21000             :                           4/*#Ops*/, 4, 5, 2, 1, 
   21001             :                       // Src: (st v4i32:{ *:[v4i32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   21002             :                       // Dst: (STORE_v4i32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
   21003             : /* 39621*/          0, /*End of Scope*/
   21004             : /* 39622*/        /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->39656
   21005             : /* 39625*/          OPC_RecordChild0, // #2 = $addr
   21006             : /* 39626*/          OPC_RecordChild1, // #3 = $off
   21007             : /* 39627*/          OPC_MoveChild1,
   21008             : /* 39628*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21009             : /* 39631*/          OPC_MoveParent,
   21010             : /* 39632*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   21011             : /* 39634*/          OPC_CheckType, MVT::i32,
   21012             : /* 39636*/          OPC_MoveParent,
   21013             : /* 39637*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21014             : /* 39639*/          OPC_CheckPredicate, 18, // Predicate_store
   21015             : /* 39641*/          OPC_EmitMergeInputChains1_0,
   21016             : /* 39642*/          OPC_EmitInteger, MVT::i32, 0, 
   21017             : /* 39645*/          OPC_EmitConvertToTarget, 3,
   21018             : /* 39647*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   21019             :                         4/*#Ops*/, 4, 5, 2, 1, 
   21020             :                     // Src: (st v4i32:{ *:[v4i32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   21021             :                     // Dst: (STORE_v4i32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
   21022             : /* 39656*/        /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->39727
   21023             : /* 39659*/          OPC_RecordChild0, // #2 = $off
   21024             : /* 39660*/          OPC_MoveChild0,
   21025             : /* 39661*/          OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->39694
   21026             : /* 39665*/            OPC_MoveParent,
   21027             : /* 39666*/            OPC_MoveParent,
   21028             : /* 39667*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21029             : /* 39669*/            OPC_CheckPredicate, 18, // Predicate_store
   21030             : /* 39671*/            OPC_EmitMergeInputChains1_0,
   21031             : /* 39672*/            OPC_EmitInteger, MVT::i32, 0, 
   21032             : /* 39675*/            OPC_EmitInteger, MVT::i32, 0, 
   21033             : /* 39678*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21034             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   21035             : /* 39685*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   21036             :                           4/*#Ops*/, 3, 2, 5, 1, 
   21037             :                       // Src: (st v4i32:{ *:[v4i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   21038             :                       // Dst: (STORE_v4i32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4i32:{ *:[v4i32] }:$val)
   21039             : /* 39694*/          /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->39726
   21040             : /* 39697*/            OPC_MoveParent,
   21041             : /* 39698*/            OPC_MoveParent,
   21042             : /* 39699*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21043             : /* 39701*/            OPC_CheckPredicate, 18, // Predicate_store
   21044             : /* 39703*/            OPC_EmitMergeInputChains1_0,
   21045             : /* 39704*/            OPC_EmitInteger, MVT::i32, 0, 
   21046             : /* 39707*/            OPC_EmitInteger, MVT::i32, 0, 
   21047             : /* 39710*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21048             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   21049             : /* 39717*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   21050             :                           4/*#Ops*/, 3, 2, 5, 1, 
   21051             :                       // Src: (st v4i32:{ *:[v4i32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   21052             :                       // Dst: (STORE_v4i32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4i32:{ *:[v4i32] }:$val)
   21053             : /* 39726*/          0, // EndSwitchOpcode
   21054             : /* 39727*/        0, // EndSwitchOpcode
   21055             : /* 39728*/      /*Scope*/ 61, /*->39790*/
   21056             : /* 39729*/        OPC_RecordChild2, // #2 = $off
   21057             : /* 39730*/        OPC_Scope, 34, /*->39766*/ // 2 children in Scope
   21058             : /* 39732*/          OPC_MoveChild2,
   21059             : /* 39733*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21060             : /* 39736*/          OPC_MoveParent,
   21061             : /* 39737*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21062             : /* 39739*/          OPC_CheckPredicate, 18, // Predicate_store
   21063             : /* 39741*/          OPC_EmitMergeInputChains1_0,
   21064             : /* 39742*/          OPC_EmitInteger, MVT::i32, 0, 
   21065             : /* 39745*/          OPC_EmitConvertToTarget, 2,
   21066             : /* 39747*/          OPC_EmitInteger, MVT::i32, 0, 
   21067             : /* 39750*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21068             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   21069             : /* 39757*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   21070             :                         4/*#Ops*/, 3, 4, 6, 1, 
   21071             :                     // Src: (st v4i32:{ *:[v4i32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
   21072             :                     // Dst: (STORE_v4i32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4i32:{ *:[v4i32] }:$val)
   21073             : /* 39766*/        /*Scope*/ 22, /*->39789*/
   21074             : /* 39767*/          OPC_CheckChild2Type, MVT::i32,
   21075             : /* 39769*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21076             : /* 39771*/          OPC_CheckPredicate, 18, // Predicate_store
   21077             : /* 39773*/          OPC_EmitMergeInputChains1_0,
   21078             : /* 39774*/          OPC_EmitInteger, MVT::i32, 0, 
   21079             : /* 39777*/          OPC_EmitInteger, MVT::i32, 0, 
   21080             : /* 39780*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4i32), 0|OPFL_Chain|OPFL_MemRefs,
   21081             :                         4/*#Ops*/, 3, 4, 2, 1, 
   21082             :                     // Src: (st v4i32:{ *:[v4i32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
   21083             :                     // Dst: (STORE_v4i32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v4i32:{ *:[v4i32] }:$val)
   21084             : /* 39789*/        0, /*End of Scope*/
   21085             : /* 39790*/      0, /*End of Scope*/
   21086             : /* 39791*/    /*Scope*/ 94|128,2/*350*/, /*->40143*/
   21087             : /* 39793*/      OPC_CheckChild1Type, MVT::v2i64,
   21088             : /* 39795*/      OPC_Scope, 26|128,2/*282*/, /*->40080*/ // 2 children in Scope
   21089             : /* 39798*/        OPC_MoveChild2,
   21090             : /* 39799*/        OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->39974
   21091             : /* 39804*/          OPC_Scope, 34, /*->39840*/ // 5 children in Scope
   21092             : /* 39806*/            OPC_RecordChild0, // #2 = $addr
   21093             : /* 39807*/            OPC_MoveChild1,
   21094             : /* 39808*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21095             : /* 39811*/            OPC_RecordChild0, // #3 = $off
   21096             : /* 39812*/            OPC_MoveChild0,
   21097             : /* 39813*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   21098             : /* 39816*/            OPC_MoveParent,
   21099             : /* 39817*/            OPC_MoveParent,
   21100             : /* 39818*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   21101             : /* 39820*/            OPC_CheckType, MVT::i32,
   21102             : /* 39822*/            OPC_MoveParent,
   21103             : /* 39823*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21104             : /* 39825*/            OPC_CheckPredicate, 18, // Predicate_store
   21105             : /* 39827*/            OPC_EmitMergeInputChains1_0,
   21106             : /* 39828*/            OPC_EmitInteger, MVT::i32, 0, 
   21107             : /* 39831*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   21108             :                           4/*#Ops*/, 4, 3, 2, 1, 
   21109             :                       // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   21110             :                       // Dst: (STORE_v2i64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
   21111             : /* 39840*/          /*Scope*/ 34, /*->39875*/
   21112             : /* 39841*/            OPC_MoveChild0,
   21113             : /* 39842*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21114             : /* 39845*/            OPC_RecordChild0, // #2 = $off
   21115             : /* 39846*/            OPC_MoveChild0,
   21116             : /* 39847*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   21117             : /* 39850*/            OPC_MoveParent,
   21118             : /* 39851*/            OPC_MoveParent,
   21119             : /* 39852*/            OPC_RecordChild1, // #3 = $addr
   21120             : /* 39853*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   21121             : /* 39855*/            OPC_CheckType, MVT::i32,
   21122             : /* 39857*/            OPC_MoveParent,
   21123             : /* 39858*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21124             : /* 39860*/            OPC_CheckPredicate, 18, // Predicate_store
   21125             : /* 39862*/            OPC_EmitMergeInputChains1_0,
   21126             : /* 39863*/            OPC_EmitInteger, MVT::i32, 0, 
   21127             : /* 39866*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   21128             :                           4/*#Ops*/, 4, 2, 3, 1, 
   21129             :                       // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   21130             :                       // Dst: (STORE_v2i64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
   21131             : /* 39875*/          /*Scope*/ 32, /*->39908*/
   21132             : /* 39876*/            OPC_RecordChild0, // #2 = $addr
   21133             : /* 39877*/            OPC_MoveChild1,
   21134             : /* 39878*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21135             : /* 39881*/            OPC_RecordChild0, // #3 = $off
   21136             : /* 39882*/            OPC_MoveChild0,
   21137             : /* 39883*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   21138             : /* 39886*/            OPC_MoveParent,
   21139             : /* 39887*/            OPC_MoveParent,
   21140             : /* 39888*/            OPC_CheckType, MVT::i32,
   21141             : /* 39890*/            OPC_MoveParent,
   21142             : /* 39891*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21143             : /* 39893*/            OPC_CheckPredicate, 18, // Predicate_store
   21144             : /* 39895*/            OPC_EmitMergeInputChains1_0,
   21145             : /* 39896*/            OPC_EmitInteger, MVT::i32, 0, 
   21146             : /* 39899*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   21147             :                           4/*#Ops*/, 4, 3, 2, 1, 
   21148             :                       // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   21149             :                       // Dst: (STORE_v2i64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
   21150             : /* 39908*/          /*Scope*/ 32, /*->39941*/
   21151             : /* 39909*/            OPC_MoveChild0,
   21152             : /* 39910*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21153             : /* 39913*/            OPC_RecordChild0, // #2 = $off
   21154             : /* 39914*/            OPC_MoveChild0,
   21155             : /* 39915*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   21156             : /* 39918*/            OPC_MoveParent,
   21157             : /* 39919*/            OPC_MoveParent,
   21158             : /* 39920*/            OPC_RecordChild1, // #3 = $addr
   21159             : /* 39921*/            OPC_CheckType, MVT::i32,
   21160             : /* 39923*/            OPC_MoveParent,
   21161             : /* 39924*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21162             : /* 39926*/            OPC_CheckPredicate, 18, // Predicate_store
   21163             : /* 39928*/            OPC_EmitMergeInputChains1_0,
   21164             : /* 39929*/            OPC_EmitInteger, MVT::i32, 0, 
   21165             : /* 39932*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   21166             :                           4/*#Ops*/, 4, 2, 3, 1, 
   21167             :                       // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   21168             :                       // Dst: (STORE_v2i64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
   21169             : /* 39941*/          /*Scope*/ 31, /*->39973*/
   21170             : /* 39942*/            OPC_RecordChild0, // #2 = $addr
   21171             : /* 39943*/            OPC_RecordChild1, // #3 = $off
   21172             : /* 39944*/            OPC_MoveChild1,
   21173             : /* 39945*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21174             : /* 39948*/            OPC_MoveParent,
   21175             : /* 39949*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   21176             : /* 39951*/            OPC_CheckType, MVT::i32,
   21177             : /* 39953*/            OPC_MoveParent,
   21178             : /* 39954*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21179             : /* 39956*/            OPC_CheckPredicate, 18, // Predicate_store
   21180             : /* 39958*/            OPC_EmitMergeInputChains1_0,
   21181             : /* 39959*/            OPC_EmitInteger, MVT::i32, 0, 
   21182             : /* 39962*/            OPC_EmitConvertToTarget, 3,
   21183             : /* 39964*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   21184             :                           4/*#Ops*/, 4, 5, 2, 1, 
   21185             :                       // Src: (st v2i64:{ *:[v2i64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   21186             :                       // Dst: (STORE_v2i64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
   21187             : /* 39973*/          0, /*End of Scope*/
   21188             : /* 39974*/        /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->40008
   21189             : /* 39977*/          OPC_RecordChild0, // #2 = $addr
   21190             : /* 39978*/          OPC_RecordChild1, // #3 = $off
   21191             : /* 39979*/          OPC_MoveChild1,
   21192             : /* 39980*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21193             : /* 39983*/          OPC_MoveParent,
   21194             : /* 39984*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   21195             : /* 39986*/          OPC_CheckType, MVT::i32,
   21196             : /* 39988*/          OPC_MoveParent,
   21197             : /* 39989*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21198             : /* 39991*/          OPC_CheckPredicate, 18, // Predicate_store
   21199             : /* 39993*/          OPC_EmitMergeInputChains1_0,
   21200             : /* 39994*/          OPC_EmitInteger, MVT::i32, 0, 
   21201             : /* 39997*/          OPC_EmitConvertToTarget, 3,
   21202             : /* 39999*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   21203             :                         4/*#Ops*/, 4, 5, 2, 1, 
   21204             :                     // Src: (st v2i64:{ *:[v2i64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   21205             :                     // Dst: (STORE_v2i64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
   21206             : /* 40008*/        /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->40079
   21207             : /* 40011*/          OPC_RecordChild0, // #2 = $off
   21208             : /* 40012*/          OPC_MoveChild0,
   21209             : /* 40013*/          OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->40046
   21210             : /* 40017*/            OPC_MoveParent,
   21211             : /* 40018*/            OPC_MoveParent,
   21212             : /* 40019*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21213             : /* 40021*/            OPC_CheckPredicate, 18, // Predicate_store
   21214             : /* 40023*/            OPC_EmitMergeInputChains1_0,
   21215             : /* 40024*/            OPC_EmitInteger, MVT::i32, 0, 
   21216             : /* 40027*/            OPC_EmitInteger, MVT::i32, 0, 
   21217             : /* 40030*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21218             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   21219             : /* 40037*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   21220             :                           4/*#Ops*/, 3, 2, 5, 1, 
   21221             :                       // Src: (st v2i64:{ *:[v2i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   21222             :                       // Dst: (STORE_v2i64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2i64:{ *:[v2i64] }:$val)
   21223             : /* 40046*/          /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->40078
   21224             : /* 40049*/            OPC_MoveParent,
   21225             : /* 40050*/            OPC_MoveParent,
   21226             : /* 40051*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21227             : /* 40053*/            OPC_CheckPredicate, 18, // Predicate_store
   21228             : /* 40055*/            OPC_EmitMergeInputChains1_0,
   21229             : /* 40056*/            OPC_EmitInteger, MVT::i32, 0, 
   21230             : /* 40059*/            OPC_EmitInteger, MVT::i32, 0, 
   21231             : /* 40062*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21232             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   21233             : /* 40069*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   21234             :                           4/*#Ops*/, 3, 2, 5, 1, 
   21235             :                       // Src: (st v2i64:{ *:[v2i64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   21236             :                       // Dst: (STORE_v2i64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2i64:{ *:[v2i64] }:$val)
   21237             : /* 40078*/          0, // EndSwitchOpcode
   21238             : /* 40079*/        0, // EndSwitchOpcode
   21239             : /* 40080*/      /*Scope*/ 61, /*->40142*/
   21240             : /* 40081*/        OPC_RecordChild2, // #2 = $off
   21241             : /* 40082*/        OPC_Scope, 34, /*->40118*/ // 2 children in Scope
   21242             : /* 40084*/          OPC_MoveChild2,
   21243             : /* 40085*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21244             : /* 40088*/          OPC_MoveParent,
   21245             : /* 40089*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21246             : /* 40091*/          OPC_CheckPredicate, 18, // Predicate_store
   21247             : /* 40093*/          OPC_EmitMergeInputChains1_0,
   21248             : /* 40094*/          OPC_EmitInteger, MVT::i32, 0, 
   21249             : /* 40097*/          OPC_EmitConvertToTarget, 2,
   21250             : /* 40099*/          OPC_EmitInteger, MVT::i32, 0, 
   21251             : /* 40102*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21252             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   21253             : /* 40109*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   21254             :                         4/*#Ops*/, 3, 4, 6, 1, 
   21255             :                     // Src: (st v2i64:{ *:[v2i64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
   21256             :                     // Dst: (STORE_v2i64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2i64:{ *:[v2i64] }:$val)
   21257             : /* 40118*/        /*Scope*/ 22, /*->40141*/
   21258             : /* 40119*/          OPC_CheckChild2Type, MVT::i32,
   21259             : /* 40121*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21260             : /* 40123*/          OPC_CheckPredicate, 18, // Predicate_store
   21261             : /* 40125*/          OPC_EmitMergeInputChains1_0,
   21262             : /* 40126*/          OPC_EmitInteger, MVT::i32, 0, 
   21263             : /* 40129*/          OPC_EmitInteger, MVT::i32, 0, 
   21264             : /* 40132*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2i64), 0|OPFL_Chain|OPFL_MemRefs,
   21265             :                         4/*#Ops*/, 3, 4, 2, 1, 
   21266             :                     // Src: (st v2i64:{ *:[v2i64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
   21267             :                     // Dst: (STORE_v2i64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v2i64:{ *:[v2i64] }:$val)
   21268             : /* 40141*/        0, /*End of Scope*/
   21269             : /* 40142*/      0, /*End of Scope*/
   21270             : /* 40143*/    /*Scope*/ 94|128,2/*350*/, /*->40495*/
   21271             : /* 40145*/      OPC_CheckChild1Type, MVT::v4f32,
   21272             : /* 40147*/      OPC_Scope, 26|128,2/*282*/, /*->40432*/ // 2 children in Scope
   21273             : /* 40150*/        OPC_MoveChild2,
   21274             : /* 40151*/        OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->40326
   21275             : /* 40156*/          OPC_Scope, 34, /*->40192*/ // 5 children in Scope
   21276             : /* 40158*/            OPC_RecordChild0, // #2 = $addr
   21277             : /* 40159*/            OPC_MoveChild1,
   21278             : /* 40160*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21279             : /* 40163*/            OPC_RecordChild0, // #3 = $off
   21280             : /* 40164*/            OPC_MoveChild0,
   21281             : /* 40165*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   21282             : /* 40168*/            OPC_MoveParent,
   21283             : /* 40169*/            OPC_MoveParent,
   21284             : /* 40170*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   21285             : /* 40172*/            OPC_CheckType, MVT::i32,
   21286             : /* 40174*/            OPC_MoveParent,
   21287             : /* 40175*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21288             : /* 40177*/            OPC_CheckPredicate, 18, // Predicate_store
   21289             : /* 40179*/            OPC_EmitMergeInputChains1_0,
   21290             : /* 40180*/            OPC_EmitInteger, MVT::i32, 0, 
   21291             : /* 40183*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   21292             :                           4/*#Ops*/, 4, 3, 2, 1, 
   21293             :                       // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   21294             :                       // Dst: (STORE_v4f32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
   21295             : /* 40192*/          /*Scope*/ 34, /*->40227*/
   21296             : /* 40193*/            OPC_MoveChild0,
   21297             : /* 40194*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21298             : /* 40197*/            OPC_RecordChild0, // #2 = $off
   21299             : /* 40198*/            OPC_MoveChild0,
   21300             : /* 40199*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   21301             : /* 40202*/            OPC_MoveParent,
   21302             : /* 40203*/            OPC_MoveParent,
   21303             : /* 40204*/            OPC_RecordChild1, // #3 = $addr
   21304             : /* 40205*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   21305             : /* 40207*/            OPC_CheckType, MVT::i32,
   21306             : /* 40209*/            OPC_MoveParent,
   21307             : /* 40210*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21308             : /* 40212*/            OPC_CheckPredicate, 18, // Predicate_store
   21309             : /* 40214*/            OPC_EmitMergeInputChains1_0,
   21310             : /* 40215*/            OPC_EmitInteger, MVT::i32, 0, 
   21311             : /* 40218*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   21312             :                           4/*#Ops*/, 4, 2, 3, 1, 
   21313             :                       // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   21314             :                       // Dst: (STORE_v4f32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
   21315             : /* 40227*/          /*Scope*/ 32, /*->40260*/
   21316             : /* 40228*/            OPC_RecordChild0, // #2 = $addr
   21317             : /* 40229*/            OPC_MoveChild1,
   21318             : /* 40230*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21319             : /* 40233*/            OPC_RecordChild0, // #3 = $off
   21320             : /* 40234*/            OPC_MoveChild0,
   21321             : /* 40235*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   21322             : /* 40238*/            OPC_MoveParent,
   21323             : /* 40239*/            OPC_MoveParent,
   21324             : /* 40240*/            OPC_CheckType, MVT::i32,
   21325             : /* 40242*/            OPC_MoveParent,
   21326             : /* 40243*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21327             : /* 40245*/            OPC_CheckPredicate, 18, // Predicate_store
   21328             : /* 40247*/            OPC_EmitMergeInputChains1_0,
   21329             : /* 40248*/            OPC_EmitInteger, MVT::i32, 0, 
   21330             : /* 40251*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   21331             :                           4/*#Ops*/, 4, 3, 2, 1, 
   21332             :                       // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   21333             :                       // Dst: (STORE_v4f32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
   21334             : /* 40260*/          /*Scope*/ 32, /*->40293*/
   21335             : /* 40261*/            OPC_MoveChild0,
   21336             : /* 40262*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21337             : /* 40265*/            OPC_RecordChild0, // #2 = $off
   21338             : /* 40266*/            OPC_MoveChild0,
   21339             : /* 40267*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   21340             : /* 40270*/            OPC_MoveParent,
   21341             : /* 40271*/            OPC_MoveParent,
   21342             : /* 40272*/            OPC_RecordChild1, // #3 = $addr
   21343             : /* 40273*/            OPC_CheckType, MVT::i32,
   21344             : /* 40275*/            OPC_MoveParent,
   21345             : /* 40276*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21346             : /* 40278*/            OPC_CheckPredicate, 18, // Predicate_store
   21347             : /* 40280*/            OPC_EmitMergeInputChains1_0,
   21348             : /* 40281*/            OPC_EmitInteger, MVT::i32, 0, 
   21349             : /* 40284*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   21350             :                           4/*#Ops*/, 4, 2, 3, 1, 
   21351             :                       // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   21352             :                       // Dst: (STORE_v4f32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
   21353             : /* 40293*/          /*Scope*/ 31, /*->40325*/
   21354             : /* 40294*/            OPC_RecordChild0, // #2 = $addr
   21355             : /* 40295*/            OPC_RecordChild1, // #3 = $off
   21356             : /* 40296*/            OPC_MoveChild1,
   21357             : /* 40297*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21358             : /* 40300*/            OPC_MoveParent,
   21359             : /* 40301*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   21360             : /* 40303*/            OPC_CheckType, MVT::i32,
   21361             : /* 40305*/            OPC_MoveParent,
   21362             : /* 40306*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21363             : /* 40308*/            OPC_CheckPredicate, 18, // Predicate_store
   21364             : /* 40310*/            OPC_EmitMergeInputChains1_0,
   21365             : /* 40311*/            OPC_EmitInteger, MVT::i32, 0, 
   21366             : /* 40314*/            OPC_EmitConvertToTarget, 3,
   21367             : /* 40316*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   21368             :                           4/*#Ops*/, 4, 5, 2, 1, 
   21369             :                       // Src: (st v4f32:{ *:[v4f32] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   21370             :                       // Dst: (STORE_v4f32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
   21371             : /* 40325*/          0, /*End of Scope*/
   21372             : /* 40326*/        /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->40360
   21373             : /* 40329*/          OPC_RecordChild0, // #2 = $addr
   21374             : /* 40330*/          OPC_RecordChild1, // #3 = $off
   21375             : /* 40331*/          OPC_MoveChild1,
   21376             : /* 40332*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21377             : /* 40335*/          OPC_MoveParent,
   21378             : /* 40336*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   21379             : /* 40338*/          OPC_CheckType, MVT::i32,
   21380             : /* 40340*/          OPC_MoveParent,
   21381             : /* 40341*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21382             : /* 40343*/          OPC_CheckPredicate, 18, // Predicate_store
   21383             : /* 40345*/          OPC_EmitMergeInputChains1_0,
   21384             : /* 40346*/          OPC_EmitInteger, MVT::i32, 0, 
   21385             : /* 40349*/          OPC_EmitConvertToTarget, 3,
   21386             : /* 40351*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   21387             :                         4/*#Ops*/, 4, 5, 2, 1, 
   21388             :                     // Src: (st v4f32:{ *:[v4f32] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   21389             :                     // Dst: (STORE_v4f32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
   21390             : /* 40360*/        /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->40431
   21391             : /* 40363*/          OPC_RecordChild0, // #2 = $off
   21392             : /* 40364*/          OPC_MoveChild0,
   21393             : /* 40365*/          OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->40398
   21394             : /* 40369*/            OPC_MoveParent,
   21395             : /* 40370*/            OPC_MoveParent,
   21396             : /* 40371*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21397             : /* 40373*/            OPC_CheckPredicate, 18, // Predicate_store
   21398             : /* 40375*/            OPC_EmitMergeInputChains1_0,
   21399             : /* 40376*/            OPC_EmitInteger, MVT::i32, 0, 
   21400             : /* 40379*/            OPC_EmitInteger, MVT::i32, 0, 
   21401             : /* 40382*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21402             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   21403             : /* 40389*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   21404             :                           4/*#Ops*/, 3, 2, 5, 1, 
   21405             :                       // Src: (st v4f32:{ *:[v4f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   21406             :                       // Dst: (STORE_v4f32 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4f32:{ *:[v4f32] }:$val)
   21407             : /* 40398*/          /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->40430
   21408             : /* 40401*/            OPC_MoveParent,
   21409             : /* 40402*/            OPC_MoveParent,
   21410             : /* 40403*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21411             : /* 40405*/            OPC_CheckPredicate, 18, // Predicate_store
   21412             : /* 40407*/            OPC_EmitMergeInputChains1_0,
   21413             : /* 40408*/            OPC_EmitInteger, MVT::i32, 0, 
   21414             : /* 40411*/            OPC_EmitInteger, MVT::i32, 0, 
   21415             : /* 40414*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21416             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   21417             : /* 40421*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   21418             :                           4/*#Ops*/, 3, 2, 5, 1, 
   21419             :                       // Src: (st v4f32:{ *:[v4f32] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   21420             :                       // Dst: (STORE_v4f32 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4f32:{ *:[v4f32] }:$val)
   21421             : /* 40430*/          0, // EndSwitchOpcode
   21422             : /* 40431*/        0, // EndSwitchOpcode
   21423             : /* 40432*/      /*Scope*/ 61, /*->40494*/
   21424             : /* 40433*/        OPC_RecordChild2, // #2 = $off
   21425             : /* 40434*/        OPC_Scope, 34, /*->40470*/ // 2 children in Scope
   21426             : /* 40436*/          OPC_MoveChild2,
   21427             : /* 40437*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21428             : /* 40440*/          OPC_MoveParent,
   21429             : /* 40441*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21430             : /* 40443*/          OPC_CheckPredicate, 18, // Predicate_store
   21431             : /* 40445*/          OPC_EmitMergeInputChains1_0,
   21432             : /* 40446*/          OPC_EmitInteger, MVT::i32, 0, 
   21433             : /* 40449*/          OPC_EmitConvertToTarget, 2,
   21434             : /* 40451*/          OPC_EmitInteger, MVT::i32, 0, 
   21435             : /* 40454*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21436             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   21437             : /* 40461*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   21438             :                         4/*#Ops*/, 3, 4, 6, 1, 
   21439             :                     // Src: (st v4f32:{ *:[v4f32] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
   21440             :                     // Dst: (STORE_v4f32 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v4f32:{ *:[v4f32] }:$val)
   21441             : /* 40470*/        /*Scope*/ 22, /*->40493*/
   21442             : /* 40471*/          OPC_CheckChild2Type, MVT::i32,
   21443             : /* 40473*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21444             : /* 40475*/          OPC_CheckPredicate, 18, // Predicate_store
   21445             : /* 40477*/          OPC_EmitMergeInputChains1_0,
   21446             : /* 40478*/          OPC_EmitInteger, MVT::i32, 0, 
   21447             : /* 40481*/          OPC_EmitInteger, MVT::i32, 0, 
   21448             : /* 40484*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v4f32), 0|OPFL_Chain|OPFL_MemRefs,
   21449             :                         4/*#Ops*/, 3, 4, 2, 1, 
   21450             :                     // Src: (st v4f32:{ *:[v4f32] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
   21451             :                     // Dst: (STORE_v4f32 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v4f32:{ *:[v4f32] }:$val)
   21452             : /* 40493*/        0, /*End of Scope*/
   21453             : /* 40494*/      0, /*End of Scope*/
   21454             : /* 40495*/    /*Scope*/ 94|128,2/*350*/, /*->40847*/
   21455             : /* 40497*/      OPC_CheckChild1Type, MVT::v2f64,
   21456             : /* 40499*/      OPC_Scope, 26|128,2/*282*/, /*->40784*/ // 2 children in Scope
   21457             : /* 40502*/        OPC_MoveChild2,
   21458             : /* 40503*/        OPC_SwitchOpcode /*3 cases */, 42|128,1/*170*/, TARGET_VAL(ISD::ADD),// ->40678
   21459             : /* 40508*/          OPC_Scope, 34, /*->40544*/ // 5 children in Scope
   21460             : /* 40510*/            OPC_RecordChild0, // #2 = $addr
   21461             : /* 40511*/            OPC_MoveChild1,
   21462             : /* 40512*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21463             : /* 40515*/            OPC_RecordChild0, // #3 = $off
   21464             : /* 40516*/            OPC_MoveChild0,
   21465             : /* 40517*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   21466             : /* 40520*/            OPC_MoveParent,
   21467             : /* 40521*/            OPC_MoveParent,
   21468             : /* 40522*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   21469             : /* 40524*/            OPC_CheckType, MVT::i32,
   21470             : /* 40526*/            OPC_MoveParent,
   21471             : /* 40527*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21472             : /* 40529*/            OPC_CheckPredicate, 18, // Predicate_store
   21473             : /* 40531*/            OPC_EmitMergeInputChains1_0,
   21474             : /* 40532*/            OPC_EmitInteger, MVT::i32, 0, 
   21475             : /* 40535*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   21476             :                           4/*#Ops*/, 4, 3, 2, 1, 
   21477             :                       // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   21478             :                       // Dst: (STORE_v2f64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
   21479             : /* 40544*/          /*Scope*/ 34, /*->40579*/
   21480             : /* 40545*/            OPC_MoveChild0,
   21481             : /* 40546*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21482             : /* 40549*/            OPC_RecordChild0, // #2 = $off
   21483             : /* 40550*/            OPC_MoveChild0,
   21484             : /* 40551*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   21485             : /* 40554*/            OPC_MoveParent,
   21486             : /* 40555*/            OPC_MoveParent,
   21487             : /* 40556*/            OPC_RecordChild1, // #3 = $addr
   21488             : /* 40557*/            OPC_CheckPredicate, 0, // Predicate_regPlusGA
   21489             : /* 40559*/            OPC_CheckType, MVT::i32,
   21490             : /* 40561*/            OPC_MoveParent,
   21491             : /* 40562*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21492             : /* 40564*/            OPC_CheckPredicate, 18, // Predicate_store
   21493             : /* 40566*/            OPC_EmitMergeInputChains1_0,
   21494             : /* 40567*/            OPC_EmitInteger, MVT::i32, 0, 
   21495             : /* 40570*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   21496             :                           4/*#Ops*/, 4, 2, 3, 1, 
   21497             :                       // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
   21498             :                       // Dst: (STORE_v2f64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
   21499             : /* 40579*/          /*Scope*/ 32, /*->40612*/
   21500             : /* 40580*/            OPC_RecordChild0, // #2 = $addr
   21501             : /* 40581*/            OPC_MoveChild1,
   21502             : /* 40582*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21503             : /* 40585*/            OPC_RecordChild0, // #3 = $off
   21504             : /* 40586*/            OPC_MoveChild0,
   21505             : /* 40587*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   21506             : /* 40590*/            OPC_MoveParent,
   21507             : /* 40591*/            OPC_MoveParent,
   21508             : /* 40592*/            OPC_CheckType, MVT::i32,
   21509             : /* 40594*/            OPC_MoveParent,
   21510             : /* 40595*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21511             : /* 40597*/            OPC_CheckPredicate, 18, // Predicate_store
   21512             : /* 40599*/            OPC_EmitMergeInputChains1_0,
   21513             : /* 40600*/            OPC_EmitInteger, MVT::i32, 0, 
   21514             : /* 40603*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   21515             :                           4/*#Ops*/, 4, 3, 2, 1, 
   21516             :                       // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   21517             :                       // Dst: (STORE_v2f64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
   21518             : /* 40612*/          /*Scope*/ 32, /*->40645*/
   21519             : /* 40613*/            OPC_MoveChild0,
   21520             : /* 40614*/            OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21521             : /* 40617*/            OPC_RecordChild0, // #2 = $off
   21522             : /* 40618*/            OPC_MoveChild0,
   21523             : /* 40619*/            OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   21524             : /* 40622*/            OPC_MoveParent,
   21525             : /* 40623*/            OPC_MoveParent,
   21526             : /* 40624*/            OPC_RecordChild1, // #3 = $addr
   21527             : /* 40625*/            OPC_CheckType, MVT::i32,
   21528             : /* 40627*/            OPC_MoveParent,
   21529             : /* 40628*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21530             : /* 40630*/            OPC_CheckPredicate, 18, // Predicate_store
   21531             : /* 40632*/            OPC_EmitMergeInputChains1_0,
   21532             : /* 40633*/            OPC_EmitInteger, MVT::i32, 0, 
   21533             : /* 40636*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   21534             :                           4/*#Ops*/, 4, 2, 3, 1, 
   21535             :                       // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
   21536             :                       // Dst: (STORE_v2f64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
   21537             : /* 40645*/          /*Scope*/ 31, /*->40677*/
   21538             : /* 40646*/            OPC_RecordChild0, // #2 = $addr
   21539             : /* 40647*/            OPC_RecordChild1, // #3 = $off
   21540             : /* 40648*/            OPC_MoveChild1,
   21541             : /* 40649*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21542             : /* 40652*/            OPC_MoveParent,
   21543             : /* 40653*/            OPC_CheckPredicate, 3, // Predicate_regPlusImm
   21544             : /* 40655*/            OPC_CheckType, MVT::i32,
   21545             : /* 40657*/            OPC_MoveParent,
   21546             : /* 40658*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21547             : /* 40660*/            OPC_CheckPredicate, 18, // Predicate_store
   21548             : /* 40662*/            OPC_EmitMergeInputChains1_0,
   21549             : /* 40663*/            OPC_EmitInteger, MVT::i32, 0, 
   21550             : /* 40666*/            OPC_EmitConvertToTarget, 3,
   21551             : /* 40668*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   21552             :                           4/*#Ops*/, 4, 5, 2, 1, 
   21553             :                       // Src: (st v2f64:{ *:[v2f64] }:$val, (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   21554             :                       // Dst: (STORE_v2f64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
   21555             : /* 40677*/          0, /*End of Scope*/
   21556             : /* 40678*/        /*SwitchOpcode*/ 31, TARGET_VAL(ISD::OR),// ->40712
   21557             : /* 40681*/          OPC_RecordChild0, // #2 = $addr
   21558             : /* 40682*/          OPC_RecordChild1, // #3 = $off
   21559             : /* 40683*/          OPC_MoveChild1,
   21560             : /* 40684*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21561             : /* 40687*/          OPC_MoveParent,
   21562             : /* 40688*/          OPC_CheckPredicate, 4, // Predicate_or_is_add
   21563             : /* 40690*/          OPC_CheckType, MVT::i32,
   21564             : /* 40692*/          OPC_MoveParent,
   21565             : /* 40693*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21566             : /* 40695*/          OPC_CheckPredicate, 18, // Predicate_store
   21567             : /* 40697*/          OPC_EmitMergeInputChains1_0,
   21568             : /* 40698*/          OPC_EmitInteger, MVT::i32, 0, 
   21569             : /* 40701*/          OPC_EmitConvertToTarget, 3,
   21570             : /* 40703*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   21571             :                         4/*#Ops*/, 4, 5, 2, 1, 
   21572             :                     // Src: (st v2f64:{ *:[v2f64] }:$val, (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 11
   21573             :                     // Dst: (STORE_v2f64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
   21574             : /* 40712*/        /*SwitchOpcode*/ 68, TARGET_VAL(WebAssemblyISD::Wrapper),// ->40783
   21575             : /* 40715*/          OPC_RecordChild0, // #2 = $off
   21576             : /* 40716*/          OPC_MoveChild0,
   21577             : /* 40717*/          OPC_SwitchOpcode /*2 cases */, 29, TARGET_VAL(ISD::TargetGlobalAddress),// ->40750
   21578             : /* 40721*/            OPC_MoveParent,
   21579             : /* 40722*/            OPC_MoveParent,
   21580             : /* 40723*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21581             : /* 40725*/            OPC_CheckPredicate, 18, // Predicate_store
   21582             : /* 40727*/            OPC_EmitMergeInputChains1_0,
   21583             : /* 40728*/            OPC_EmitInteger, MVT::i32, 0, 
   21584             : /* 40731*/            OPC_EmitInteger, MVT::i32, 0, 
   21585             : /* 40734*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21586             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   21587             : /* 40741*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   21588             :                           4/*#Ops*/, 3, 2, 5, 1, 
   21589             :                       // Src: (st v2f64:{ *:[v2f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   21590             :                       // Dst: (STORE_v2f64 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2f64:{ *:[v2f64] }:$val)
   21591             : /* 40750*/          /*SwitchOpcode*/ 29, TARGET_VAL(ISD::TargetExternalSymbol),// ->40782
   21592             : /* 40753*/            OPC_MoveParent,
   21593             : /* 40754*/            OPC_MoveParent,
   21594             : /* 40755*/            OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21595             : /* 40757*/            OPC_CheckPredicate, 18, // Predicate_store
   21596             : /* 40759*/            OPC_EmitMergeInputChains1_0,
   21597             : /* 40760*/            OPC_EmitInteger, MVT::i32, 0, 
   21598             : /* 40763*/            OPC_EmitInteger, MVT::i32, 0, 
   21599             : /* 40766*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21600             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   21601             : /* 40773*/            OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   21602             :                           4/*#Ops*/, 3, 2, 5, 1, 
   21603             :                       // Src: (st v2f64:{ *:[v2f64] }:$val, (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 10
   21604             :                       // Dst: (STORE_v2f64 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2f64:{ *:[v2f64] }:$val)
   21605             : /* 40782*/          0, // EndSwitchOpcode
   21606             : /* 40783*/        0, // EndSwitchOpcode
   21607             : /* 40784*/      /*Scope*/ 61, /*->40846*/
   21608             : /* 40785*/        OPC_RecordChild2, // #2 = $off
   21609             : /* 40786*/        OPC_Scope, 34, /*->40822*/ // 2 children in Scope
   21610             : /* 40788*/          OPC_MoveChild2,
   21611             : /* 40789*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21612             : /* 40792*/          OPC_MoveParent,
   21613             : /* 40793*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21614             : /* 40795*/          OPC_CheckPredicate, 18, // Predicate_store
   21615             : /* 40797*/          OPC_EmitMergeInputChains1_0,
   21616             : /* 40798*/          OPC_EmitInteger, MVT::i32, 0, 
   21617             : /* 40801*/          OPC_EmitConvertToTarget, 2,
   21618             : /* 40803*/          OPC_EmitInteger, MVT::i32, 0, 
   21619             : /* 40806*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21620             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   21621             : /* 40813*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   21622             :                         4/*#Ops*/, 3, 4, 6, 1, 
   21623             :                     // Src: (st v2f64:{ *:[v2f64] }:$val, (imm:{ *:[iPTR] }):$off)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 7
   21624             :                     // Dst: (STORE_v2f64 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), v2f64:{ *:[v2f64] }:$val)
   21625             : /* 40822*/        /*Scope*/ 22, /*->40845*/
   21626             : /* 40823*/          OPC_CheckChild2Type, MVT::i32,
   21627             : /* 40825*/          OPC_CheckPredicate, 17, // Predicate_unindexedstore
   21628             : /* 40827*/          OPC_CheckPredicate, 18, // Predicate_store
   21629             : /* 40829*/          OPC_EmitMergeInputChains1_0,
   21630             : /* 40830*/          OPC_EmitInteger, MVT::i32, 0, 
   21631             : /* 40833*/          OPC_EmitInteger, MVT::i32, 0, 
   21632             : /* 40836*/          OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::STORE_v2f64), 0|OPFL_Chain|OPFL_MemRefs,
   21633             :                         4/*#Ops*/, 3, 4, 2, 1, 
   21634             :                     // Src: (st v2f64:{ *:[v2f64] }:$val, I32:{ *:[i32] }:$addr)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
   21635             :                     // Dst: (STORE_v2f64 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, v2f64:{ *:[v2f64] }:$val)
   21636             : /* 40845*/        0, /*End of Scope*/
   21637             : /* 40846*/      0, /*End of Scope*/
   21638             : /* 40847*/    0, /*End of Scope*/
   21639             : /* 40848*/  /*SwitchOpcode*/ 66|128,8/*1090*/, TARGET_VAL(ISD::ATOMIC_LOAD),// ->41942
   21640             : /* 40852*/    OPC_RecordMemRef,
   21641             : /* 40853*/    OPC_RecordNode, // #0 = 'atomic_load' chained node
   21642             : /* 40854*/    OPC_Scope, 83|128,6/*851*/, /*->41708*/ // 2 children in Scope
   21643             : /* 40857*/      OPC_MoveChild1,
   21644             : /* 40858*/      OPC_SwitchOpcode /*3 cases */, 102|128,3/*486*/, TARGET_VAL(ISD::ADD),// ->41349
   21645             : /* 40863*/        OPC_Scope, 96, /*->40961*/ // 5 children in Scope
   21646             : /* 40865*/          OPC_RecordChild0, // #1 = $addr
   21647             : /* 40866*/          OPC_MoveChild1,
   21648             : /* 40867*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21649             : /* 40870*/          OPC_RecordChild0, // #2 = $off
   21650             : /* 40871*/          OPC_MoveChild0,
   21651             : /* 40872*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   21652             : /* 40875*/          OPC_MoveParent,
   21653             : /* 40876*/          OPC_MoveParent,
   21654             : /* 40877*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   21655             : /* 40879*/          OPC_CheckType, MVT::i32,
   21656             : /* 40881*/          OPC_MoveParent,
   21657             : /* 40882*/          OPC_SwitchType /*2 cases */, 56, MVT::i32,// ->40941
   21658             : /* 40885*/            OPC_Scope, 17, /*->40904*/ // 3 children in Scope
   21659             : /* 40887*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_32
   21660             : /* 40889*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21661             : /* 40891*/              OPC_EmitMergeInputChains1_0,
   21662             : /* 40892*/              OPC_EmitInteger, MVT::i32, 0, 
   21663             : /* 40895*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21664             :                             MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   21665             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_32>> - Complexity = 14
   21666             :                         // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21667             : /* 40904*/            /*Scope*/ 17, /*->40922*/
   21668             : /* 40905*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   21669             : /* 40907*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21670             : /* 40909*/              OPC_EmitMergeInputChains1_0,
   21671             : /* 40910*/              OPC_EmitInteger, MVT::i32, 0, 
   21672             : /* 40913*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21673             :                             MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   21674             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>> - Complexity = 14
   21675             :                         // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21676             : /* 40922*/            /*Scope*/ 17, /*->40940*/
   21677             : /* 40923*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   21678             : /* 40925*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21679             : /* 40927*/              OPC_EmitMergeInputChains1_0,
   21680             : /* 40928*/              OPC_EmitInteger, MVT::i32, 0, 
   21681             : /* 40931*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21682             :                             MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   21683             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>> - Complexity = 14
   21684             :                         // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21685             : /* 40940*/            0, /*End of Scope*/
   21686             : /* 40941*/          /*SwitchType*/ 17, MVT::i64,// ->40960
   21687             : /* 40943*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_64
   21688             : /* 40945*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21689             : /* 40947*/            OPC_EmitMergeInputChains1_0,
   21690             : /* 40948*/            OPC_EmitInteger, MVT::i32, 0, 
   21691             : /* 40951*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   21692             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   21693             :                       // Src: (atomic_load:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_64>> - Complexity = 14
   21694             :                       // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21695             : /* 40960*/          0, // EndSwitchType
   21696             : /* 40961*/        /*Scope*/ 96, /*->41058*/
   21697             : /* 40962*/          OPC_MoveChild0,
   21698             : /* 40963*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21699             : /* 40966*/          OPC_RecordChild0, // #1 = $off
   21700             : /* 40967*/          OPC_MoveChild0,
   21701             : /* 40968*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   21702             : /* 40971*/          OPC_MoveParent,
   21703             : /* 40972*/          OPC_MoveParent,
   21704             : /* 40973*/          OPC_RecordChild1, // #2 = $addr
   21705             : /* 40974*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   21706             : /* 40976*/          OPC_CheckType, MVT::i32,
   21707             : /* 40978*/          OPC_MoveParent,
   21708             : /* 40979*/          OPC_SwitchType /*2 cases */, 56, MVT::i32,// ->41038
   21709             : /* 40982*/            OPC_Scope, 17, /*->41001*/ // 3 children in Scope
   21710             : /* 40984*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_32
   21711             : /* 40986*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21712             : /* 40988*/              OPC_EmitMergeInputChains1_0,
   21713             : /* 40989*/              OPC_EmitInteger, MVT::i32, 0, 
   21714             : /* 40992*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21715             :                             MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   21716             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_32>> - Complexity = 14
   21717             :                         // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21718             : /* 41001*/            /*Scope*/ 17, /*->41019*/
   21719             : /* 41002*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   21720             : /* 41004*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21721             : /* 41006*/              OPC_EmitMergeInputChains1_0,
   21722             : /* 41007*/              OPC_EmitInteger, MVT::i32, 0, 
   21723             : /* 41010*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21724             :                             MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   21725             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_8>> - Complexity = 14
   21726             :                         // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21727             : /* 41019*/            /*Scope*/ 17, /*->41037*/
   21728             : /* 41020*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   21729             : /* 41022*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21730             : /* 41024*/              OPC_EmitMergeInputChains1_0,
   21731             : /* 41025*/              OPC_EmitInteger, MVT::i32, 0, 
   21732             : /* 41028*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21733             :                             MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   21734             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_16>> - Complexity = 14
   21735             :                         // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21736             : /* 41037*/            0, /*End of Scope*/
   21737             : /* 41038*/          /*SwitchType*/ 17, MVT::i64,// ->41057
   21738             : /* 41040*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_64
   21739             : /* 41042*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21740             : /* 41044*/            OPC_EmitMergeInputChains1_0,
   21741             : /* 41045*/            OPC_EmitInteger, MVT::i32, 0, 
   21742             : /* 41048*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   21743             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   21744             :                       // Src: (atomic_load:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>)<<P:Predicate_atomic_load_64>> - Complexity = 14
   21745             :                       // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21746             : /* 41057*/          0, // EndSwitchType
   21747             : /* 41058*/        /*Scope*/ 94, /*->41153*/
   21748             : /* 41059*/          OPC_RecordChild0, // #1 = $addr
   21749             : /* 41060*/          OPC_MoveChild1,
   21750             : /* 41061*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21751             : /* 41064*/          OPC_RecordChild0, // #2 = $off
   21752             : /* 41065*/          OPC_MoveChild0,
   21753             : /* 41066*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   21754             : /* 41069*/          OPC_MoveParent,
   21755             : /* 41070*/          OPC_MoveParent,
   21756             : /* 41071*/          OPC_CheckType, MVT::i32,
   21757             : /* 41073*/          OPC_MoveParent,
   21758             : /* 41074*/          OPC_SwitchType /*2 cases */, 56, MVT::i32,// ->41133
   21759             : /* 41077*/            OPC_Scope, 17, /*->41096*/ // 3 children in Scope
   21760             : /* 41079*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_32
   21761             : /* 41081*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21762             : /* 41083*/              OPC_EmitMergeInputChains1_0,
   21763             : /* 41084*/              OPC_EmitInteger, MVT::i32, 0, 
   21764             : /* 41087*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21765             :                             MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   21766             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_32>> - Complexity = 13
   21767             :                         // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21768             : /* 41096*/            /*Scope*/ 17, /*->41114*/
   21769             : /* 41097*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   21770             : /* 41099*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21771             : /* 41101*/              OPC_EmitMergeInputChains1_0,
   21772             : /* 41102*/              OPC_EmitInteger, MVT::i32, 0, 
   21773             : /* 41105*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21774             :                             MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   21775             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_8>> - Complexity = 13
   21776             :                         // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21777             : /* 41114*/            /*Scope*/ 17, /*->41132*/
   21778             : /* 41115*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   21779             : /* 41117*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21780             : /* 41119*/              OPC_EmitMergeInputChains1_0,
   21781             : /* 41120*/              OPC_EmitInteger, MVT::i32, 0, 
   21782             : /* 41123*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21783             :                             MVT::i32, 3/*#Ops*/, 3, 2, 1, 
   21784             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_16>> - Complexity = 13
   21785             :                         // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21786             : /* 41132*/            0, /*End of Scope*/
   21787             : /* 41133*/          /*SwitchType*/ 17, MVT::i64,// ->41152
   21788             : /* 41135*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_64
   21789             : /* 41137*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21790             : /* 41139*/            OPC_EmitMergeInputChains1_0,
   21791             : /* 41140*/            OPC_EmitInteger, MVT::i32, 0, 
   21792             : /* 41143*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   21793             :                           MVT::i64, 3/*#Ops*/, 3, 2, 1, 
   21794             :                       // Src: (atomic_load:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)))<<P:Predicate_atomic_load_64>> - Complexity = 13
   21795             :                       // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21796             : /* 41152*/          0, // EndSwitchType
   21797             : /* 41153*/        /*Scope*/ 94, /*->41248*/
   21798             : /* 41154*/          OPC_MoveChild0,
   21799             : /* 41155*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   21800             : /* 41158*/          OPC_RecordChild0, // #1 = $off
   21801             : /* 41159*/          OPC_MoveChild0,
   21802             : /* 41160*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   21803             : /* 41163*/          OPC_MoveParent,
   21804             : /* 41164*/          OPC_MoveParent,
   21805             : /* 41165*/          OPC_RecordChild1, // #2 = $addr
   21806             : /* 41166*/          OPC_CheckType, MVT::i32,
   21807             : /* 41168*/          OPC_MoveParent,
   21808             : /* 41169*/          OPC_SwitchType /*2 cases */, 56, MVT::i32,// ->41228
   21809             : /* 41172*/            OPC_Scope, 17, /*->41191*/ // 3 children in Scope
   21810             : /* 41174*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_32
   21811             : /* 41176*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21812             : /* 41178*/              OPC_EmitMergeInputChains1_0,
   21813             : /* 41179*/              OPC_EmitInteger, MVT::i32, 0, 
   21814             : /* 41182*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21815             :                             MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   21816             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_32>> - Complexity = 13
   21817             :                         // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21818             : /* 41191*/            /*Scope*/ 17, /*->41209*/
   21819             : /* 41192*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   21820             : /* 41194*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21821             : /* 41196*/              OPC_EmitMergeInputChains1_0,
   21822             : /* 41197*/              OPC_EmitInteger, MVT::i32, 0, 
   21823             : /* 41200*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21824             :                             MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   21825             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_8>> - Complexity = 13
   21826             :                         // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21827             : /* 41209*/            /*Scope*/ 17, /*->41227*/
   21828             : /* 41210*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   21829             : /* 41212*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21830             : /* 41214*/              OPC_EmitMergeInputChains1_0,
   21831             : /* 41215*/              OPC_EmitInteger, MVT::i32, 0, 
   21832             : /* 41218*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21833             :                             MVT::i32, 3/*#Ops*/, 3, 1, 2, 
   21834             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_16>> - Complexity = 13
   21835             :                         // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21836             : /* 41227*/            0, /*End of Scope*/
   21837             : /* 41228*/          /*SwitchType*/ 17, MVT::i64,// ->41247
   21838             : /* 41230*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_64
   21839             : /* 41232*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21840             : /* 41234*/            OPC_EmitMergeInputChains1_0,
   21841             : /* 41235*/            OPC_EmitInteger, MVT::i32, 0, 
   21842             : /* 41238*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   21843             :                           MVT::i64, 3/*#Ops*/, 3, 1, 2, 
   21844             :                       // Src: (atomic_load:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr))<<P:Predicate_atomic_load_64>> - Complexity = 13
   21845             :                       // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21846             : /* 41247*/          0, // EndSwitchType
   21847             : /* 41248*/        /*Scope*/ 99, /*->41348*/
   21848             : /* 41249*/          OPC_RecordChild0, // #1 = $addr
   21849             : /* 41250*/          OPC_RecordChild1, // #2 = $off
   21850             : /* 41251*/          OPC_MoveChild1,
   21851             : /* 41252*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21852             : /* 41255*/          OPC_MoveParent,
   21853             : /* 41256*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   21854             : /* 41258*/          OPC_CheckType, MVT::i32,
   21855             : /* 41260*/          OPC_MoveParent,
   21856             : /* 41261*/          OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->41326
   21857             : /* 41264*/            OPC_Scope, 19, /*->41285*/ // 3 children in Scope
   21858             : /* 41266*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_32
   21859             : /* 41268*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21860             : /* 41270*/              OPC_EmitMergeInputChains1_0,
   21861             : /* 41271*/              OPC_EmitInteger, MVT::i32, 0, 
   21862             : /* 41274*/              OPC_EmitConvertToTarget, 2,
   21863             : /* 41276*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21864             :                             MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   21865             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_32>> - Complexity = 11
   21866             :                         // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21867             : /* 41285*/            /*Scope*/ 19, /*->41305*/
   21868             : /* 41286*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   21869             : /* 41288*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21870             : /* 41290*/              OPC_EmitMergeInputChains1_0,
   21871             : /* 41291*/              OPC_EmitInteger, MVT::i32, 0, 
   21872             : /* 41294*/              OPC_EmitConvertToTarget, 2,
   21873             : /* 41296*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21874             :                             MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   21875             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_8>> - Complexity = 11
   21876             :                         // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21877             : /* 41305*/            /*Scope*/ 19, /*->41325*/
   21878             : /* 41306*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   21879             : /* 41308*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21880             : /* 41310*/              OPC_EmitMergeInputChains1_0,
   21881             : /* 41311*/              OPC_EmitInteger, MVT::i32, 0, 
   21882             : /* 41314*/              OPC_EmitConvertToTarget, 2,
   21883             : /* 41316*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21884             :                             MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   21885             :                         // Src: (atomic_load:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_16>> - Complexity = 11
   21886             :                         // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21887             : /* 41325*/            0, /*End of Scope*/
   21888             : /* 41326*/          /*SwitchType*/ 19, MVT::i64,// ->41347
   21889             : /* 41328*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_64
   21890             : /* 41330*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21891             : /* 41332*/            OPC_EmitMergeInputChains1_0,
   21892             : /* 41333*/            OPC_EmitInteger, MVT::i32, 0, 
   21893             : /* 41336*/            OPC_EmitConvertToTarget, 2,
   21894             : /* 41338*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   21895             :                           MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   21896             :                       // Src: (atomic_load:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>)<<P:Predicate_atomic_load_64>> - Complexity = 11
   21897             :                       // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21898             : /* 41347*/          0, // EndSwitchType
   21899             : /* 41348*/        0, /*End of Scope*/
   21900             : /* 41349*/      /*SwitchOpcode*/ 99, TARGET_VAL(ISD::OR),// ->41451
   21901             : /* 41352*/        OPC_RecordChild0, // #1 = $addr
   21902             : /* 41353*/        OPC_RecordChild1, // #2 = $off
   21903             : /* 41354*/        OPC_MoveChild1,
   21904             : /* 41355*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   21905             : /* 41358*/        OPC_MoveParent,
   21906             : /* 41359*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   21907             : /* 41361*/        OPC_CheckType, MVT::i32,
   21908             : /* 41363*/        OPC_MoveParent,
   21909             : /* 41364*/        OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->41429
   21910             : /* 41367*/          OPC_Scope, 19, /*->41388*/ // 3 children in Scope
   21911             : /* 41369*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_32
   21912             : /* 41371*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21913             : /* 41373*/            OPC_EmitMergeInputChains1_0,
   21914             : /* 41374*/            OPC_EmitInteger, MVT::i32, 0, 
   21915             : /* 41377*/            OPC_EmitConvertToTarget, 2,
   21916             : /* 41379*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21917             :                           MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   21918             :                       // Src: (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_32>> - Complexity = 11
   21919             :                       // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21920             : /* 41388*/          /*Scope*/ 19, /*->41408*/
   21921             : /* 41389*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   21922             : /* 41391*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21923             : /* 41393*/            OPC_EmitMergeInputChains1_0,
   21924             : /* 41394*/            OPC_EmitInteger, MVT::i32, 0, 
   21925             : /* 41397*/            OPC_EmitConvertToTarget, 2,
   21926             : /* 41399*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21927             :                           MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   21928             :                       // Src: (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_8>> - Complexity = 11
   21929             :                       // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21930             : /* 41408*/          /*Scope*/ 19, /*->41428*/
   21931             : /* 41409*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   21932             : /* 41411*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21933             : /* 41413*/            OPC_EmitMergeInputChains1_0,
   21934             : /* 41414*/            OPC_EmitInteger, MVT::i32, 0, 
   21935             : /* 41417*/            OPC_EmitConvertToTarget, 2,
   21936             : /* 41419*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21937             :                           MVT::i32, 3/*#Ops*/, 3, 4, 1, 
   21938             :                       // Src: (atomic_load:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_16>> - Complexity = 11
   21939             :                       // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21940             : /* 41428*/          0, /*End of Scope*/
   21941             : /* 41429*/        /*SwitchType*/ 19, MVT::i64,// ->41450
   21942             : /* 41431*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_64
   21943             : /* 41433*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21944             : /* 41435*/          OPC_EmitMergeInputChains1_0,
   21945             : /* 41436*/          OPC_EmitInteger, MVT::i32, 0, 
   21946             : /* 41439*/          OPC_EmitConvertToTarget, 2,
   21947             : /* 41441*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   21948             :                         MVT::i64, 3/*#Ops*/, 3, 4, 1, 
   21949             :                     // Src: (atomic_load:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>)<<P:Predicate_atomic_load_64>> - Complexity = 11
   21950             :                     // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr)
   21951             : /* 41450*/        0, // EndSwitchType
   21952             : /* 41451*/      /*SwitchOpcode*/ 124|128,1/*252*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->41707
   21953             : /* 41455*/        OPC_RecordChild0, // #1 = $off
   21954             : /* 41456*/        OPC_MoveChild0,
   21955             : /* 41457*/        OPC_SwitchOpcode /*2 cases */, 121, TARGET_VAL(ISD::TargetGlobalAddress),// ->41582
   21956             : /* 41461*/          OPC_MoveParent,
   21957             : /* 41462*/          OPC_MoveParent,
   21958             : /* 41463*/          OPC_SwitchType /*2 cases */, 86, MVT::i32,// ->41552
   21959             : /* 41466*/            OPC_Scope, 27, /*->41495*/ // 3 children in Scope
   21960             : /* 41468*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_32
   21961             : /* 41470*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21962             : /* 41472*/              OPC_EmitMergeInputChains1_0,
   21963             : /* 41473*/              OPC_EmitInteger, MVT::i32, 0, 
   21964             : /* 41476*/              OPC_EmitInteger, MVT::i32, 0, 
   21965             : /* 41479*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21966             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   21967             : /* 41486*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21968             :                             MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   21969             :                         // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_32>> - Complexity = 10
   21970             :                         // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   21971             : /* 41495*/            /*Scope*/ 27, /*->41523*/
   21972             : /* 41496*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   21973             : /* 41498*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21974             : /* 41500*/              OPC_EmitMergeInputChains1_0,
   21975             : /* 41501*/              OPC_EmitInteger, MVT::i32, 0, 
   21976             : /* 41504*/              OPC_EmitInteger, MVT::i32, 0, 
   21977             : /* 41507*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21978             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   21979             : /* 41514*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21980             :                             MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   21981             :                         // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>> - Complexity = 10
   21982             :                         // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   21983             : /* 41523*/            /*Scope*/ 27, /*->41551*/
   21984             : /* 41524*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   21985             : /* 41526*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21986             : /* 41528*/              OPC_EmitMergeInputChains1_0,
   21987             : /* 41529*/              OPC_EmitInteger, MVT::i32, 0, 
   21988             : /* 41532*/              OPC_EmitInteger, MVT::i32, 0, 
   21989             : /* 41535*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   21990             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   21991             : /* 41542*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   21992             :                             MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   21993             :                         // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>> - Complexity = 10
   21994             :                         // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   21995             : /* 41551*/            0, /*End of Scope*/
   21996             : /* 41552*/          /*SwitchType*/ 27, MVT::i64,// ->41581
   21997             : /* 41554*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_64
   21998             : /* 41556*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   21999             : /* 41558*/            OPC_EmitMergeInputChains1_0,
   22000             : /* 41559*/            OPC_EmitInteger, MVT::i32, 0, 
   22001             : /* 41562*/            OPC_EmitInteger, MVT::i32, 0, 
   22002             : /* 41565*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22003             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   22004             : /* 41572*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22005             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   22006             :                       // Src: (atomic_load:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_64>> - Complexity = 10
   22007             :                       // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   22008             : /* 41581*/          0, // EndSwitchType
   22009             : /* 41582*/        /*SwitchOpcode*/ 121, TARGET_VAL(ISD::TargetExternalSymbol),// ->41706
   22010             : /* 41585*/          OPC_MoveParent,
   22011             : /* 41586*/          OPC_MoveParent,
   22012             : /* 41587*/          OPC_SwitchType /*2 cases */, 86, MVT::i32,// ->41676
   22013             : /* 41590*/            OPC_Scope, 27, /*->41619*/ // 3 children in Scope
   22014             : /* 41592*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_32
   22015             : /* 41594*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22016             : /* 41596*/              OPC_EmitMergeInputChains1_0,
   22017             : /* 41597*/              OPC_EmitInteger, MVT::i32, 0, 
   22018             : /* 41600*/              OPC_EmitInteger, MVT::i32, 0, 
   22019             : /* 41603*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22020             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   22021             : /* 41610*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22022             :                             MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   22023             :                         // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_32>> - Complexity = 10
   22024             :                         // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   22025             : /* 41619*/            /*Scope*/ 27, /*->41647*/
   22026             : /* 41620*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   22027             : /* 41622*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22028             : /* 41624*/              OPC_EmitMergeInputChains1_0,
   22029             : /* 41625*/              OPC_EmitInteger, MVT::i32, 0, 
   22030             : /* 41628*/              OPC_EmitInteger, MVT::i32, 0, 
   22031             : /* 41631*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22032             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   22033             : /* 41638*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22034             :                             MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   22035             :                         // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_8>> - Complexity = 10
   22036             :                         // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   22037             : /* 41647*/            /*Scope*/ 27, /*->41675*/
   22038             : /* 41648*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   22039             : /* 41650*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22040             : /* 41652*/              OPC_EmitMergeInputChains1_0,
   22041             : /* 41653*/              OPC_EmitInteger, MVT::i32, 0, 
   22042             : /* 41656*/              OPC_EmitInteger, MVT::i32, 0, 
   22043             : /* 41659*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22044             :                             MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   22045             : /* 41666*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22046             :                             MVT::i32, 3/*#Ops*/, 2, 1, 4, 
   22047             :                         // Src: (atomic_load:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_16>> - Complexity = 10
   22048             :                         // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   22049             : /* 41675*/            0, /*End of Scope*/
   22050             : /* 41676*/          /*SwitchType*/ 27, MVT::i64,// ->41705
   22051             : /* 41678*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_64
   22052             : /* 41680*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22053             : /* 41682*/            OPC_EmitMergeInputChains1_0,
   22054             : /* 41683*/            OPC_EmitInteger, MVT::i32, 0, 
   22055             : /* 41686*/            OPC_EmitInteger, MVT::i32, 0, 
   22056             : /* 41689*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22057             :                           MVT::i32, 1/*#Ops*/, 3,  // Results = #4
   22058             : /* 41696*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22059             :                           MVT::i64, 3/*#Ops*/, 2, 1, 4, 
   22060             :                       // Src: (atomic_load:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off))<<P:Predicate_atomic_load_64>> - Complexity = 10
   22061             :                       // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   22062             : /* 41705*/          0, // EndSwitchType
   22063             : /* 41706*/        0, // EndSwitchOpcode
   22064             : /* 41707*/      0, // EndSwitchOpcode
   22065             : /* 41708*/    /*Scope*/ 103|128,1/*231*/, /*->41941*/
   22066             : /* 41710*/      OPC_RecordChild1, // #1 = $off
   22067             : /* 41711*/      OPC_Scope, 4|128,1/*132*/, /*->41846*/ // 2 children in Scope
   22068             : /* 41714*/        OPC_MoveChild1,
   22069             : /* 41715*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   22070             : /* 41718*/        OPC_MoveParent,
   22071             : /* 41719*/        OPC_SwitchType /*2 cases */, 92, MVT::i32,// ->41814
   22072             : /* 41722*/          OPC_Scope, 29, /*->41753*/ // 3 children in Scope
   22073             : /* 41724*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_32
   22074             : /* 41726*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22075             : /* 41728*/            OPC_EmitMergeInputChains1_0,
   22076             : /* 41729*/            OPC_EmitInteger, MVT::i32, 0, 
   22077             : /* 41732*/            OPC_EmitConvertToTarget, 1,
   22078             : /* 41734*/            OPC_EmitInteger, MVT::i32, 0, 
   22079             : /* 41737*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22080             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22081             : /* 41744*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22082             :                           MVT::i32, 3/*#Ops*/, 2, 3, 5, 
   22083             :                       // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_32>> - Complexity = 7
   22084             :                       // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   22085             : /* 41753*/          /*Scope*/ 29, /*->41783*/
   22086             : /* 41754*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   22087             : /* 41756*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22088             : /* 41758*/            OPC_EmitMergeInputChains1_0,
   22089             : /* 41759*/            OPC_EmitInteger, MVT::i32, 0, 
   22090             : /* 41762*/            OPC_EmitConvertToTarget, 1,
   22091             : /* 41764*/            OPC_EmitInteger, MVT::i32, 0, 
   22092             : /* 41767*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22093             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22094             : /* 41774*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22095             :                           MVT::i32, 3/*#Ops*/, 2, 3, 5, 
   22096             :                       // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_8>> - Complexity = 7
   22097             :                       // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   22098             : /* 41783*/          /*Scope*/ 29, /*->41813*/
   22099             : /* 41784*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   22100             : /* 41786*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22101             : /* 41788*/            OPC_EmitMergeInputChains1_0,
   22102             : /* 41789*/            OPC_EmitInteger, MVT::i32, 0, 
   22103             : /* 41792*/            OPC_EmitConvertToTarget, 1,
   22104             : /* 41794*/            OPC_EmitInteger, MVT::i32, 0, 
   22105             : /* 41797*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22106             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22107             : /* 41804*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22108             :                           MVT::i32, 3/*#Ops*/, 2, 3, 5, 
   22109             :                       // Src: (atomic_load:{ *:[i32] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_16>> - Complexity = 7
   22110             :                       // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   22111             : /* 41813*/          0, /*End of Scope*/
   22112             : /* 41814*/        /*SwitchType*/ 29, MVT::i64,// ->41845
   22113             : /* 41816*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_64
   22114             : /* 41818*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22115             : /* 41820*/          OPC_EmitMergeInputChains1_0,
   22116             : /* 41821*/          OPC_EmitInteger, MVT::i32, 0, 
   22117             : /* 41824*/          OPC_EmitConvertToTarget, 1,
   22118             : /* 41826*/          OPC_EmitInteger, MVT::i32, 0, 
   22119             : /* 41829*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22120             :                         MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22121             : /* 41836*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22122             :                         MVT::i64, 3/*#Ops*/, 2, 3, 5, 
   22123             :                     // Src: (atomic_load:{ *:[i64] } (imm:{ *:[iPTR] }):$off)<<P:Predicate_atomic_load_64>> - Complexity = 7
   22124             :                     // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }))
   22125             : /* 41845*/        0, // EndSwitchType
   22126             : /* 41846*/      /*Scope*/ 93, /*->41940*/
   22127             : /* 41847*/        OPC_CheckChild1Type, MVT::i32,
   22128             : /* 41849*/        OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->41917
   22129             : /* 41852*/          OPC_Scope, 20, /*->41874*/ // 3 children in Scope
   22130             : /* 41854*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_32
   22131             : /* 41856*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22132             : /* 41858*/            OPC_EmitMergeInputChains1_0,
   22133             : /* 41859*/            OPC_EmitInteger, MVT::i32, 0, 
   22134             : /* 41862*/            OPC_EmitInteger, MVT::i32, 0, 
   22135             : /* 41865*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22136             :                           MVT::i32, 3/*#Ops*/, 2, 3, 1, 
   22137             :                       // Src: (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_32>> - Complexity = 4
   22138             :                       // Dst: (ATOMIC_LOAD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   22139             : /* 41874*/          /*Scope*/ 20, /*->41895*/
   22140             : /* 41875*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_8
   22141             : /* 41877*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22142             : /* 41879*/            OPC_EmitMergeInputChains1_0,
   22143             : /* 41880*/            OPC_EmitInteger, MVT::i32, 0, 
   22144             : /* 41883*/            OPC_EmitInteger, MVT::i32, 0, 
   22145             : /* 41886*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD8_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22146             :                           MVT::i32, 3/*#Ops*/, 2, 3, 1, 
   22147             :                       // Src: (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_8>> - Complexity = 4
   22148             :                       // Dst: (ATOMIC_LOAD8_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   22149             : /* 41895*/          /*Scope*/ 20, /*->41916*/
   22150             : /* 41896*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_16
   22151             : /* 41898*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22152             : /* 41900*/            OPC_EmitMergeInputChains1_0,
   22153             : /* 41901*/            OPC_EmitInteger, MVT::i32, 0, 
   22154             : /* 41904*/            OPC_EmitInteger, MVT::i32, 0, 
   22155             : /* 41907*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD16_U_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22156             :                           MVT::i32, 3/*#Ops*/, 2, 3, 1, 
   22157             :                       // Src: (atomic_load:{ *:[i32] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_16>> - Complexity = 4
   22158             :                       // Dst: (ATOMIC_LOAD16_U_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   22159             : /* 41916*/          0, /*End of Scope*/
   22160             : /* 41917*/        /*SwitchType*/ 20, MVT::i64,// ->41939
   22161             : /* 41919*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_64
   22162             : /* 41921*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22163             : /* 41923*/          OPC_EmitMergeInputChains1_0,
   22164             : /* 41924*/          OPC_EmitInteger, MVT::i32, 0, 
   22165             : /* 41927*/          OPC_EmitInteger, MVT::i32, 0, 
   22166             : /* 41930*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_LOAD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22167             :                         MVT::i64, 3/*#Ops*/, 2, 3, 1, 
   22168             :                     // Src: (atomic_load:{ *:[i64] } I32:{ *:[i32] }:$addr)<<P:Predicate_atomic_load_64>> - Complexity = 4
   22169             :                     // Dst: (ATOMIC_LOAD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr)
   22170             : /* 41939*/        0, // EndSwitchType
   22171             : /* 41940*/      0, /*End of Scope*/
   22172             : /* 41941*/    0, /*End of Scope*/
   22173             : /* 41942*/  /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),// ->43086
   22174             : /* 41946*/    OPC_RecordMemRef,
   22175             : /* 41947*/    OPC_RecordNode, // #0 = 'atomic_load_add' chained node
   22176             : /* 41948*/    OPC_Scope, 123|128,6/*891*/, /*->42842*/ // 2 children in Scope
   22177             : /* 41951*/      OPC_MoveChild1,
   22178             : /* 41952*/      OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->42468
   22179             : /* 41957*/        OPC_Scope, 101, /*->42060*/ // 5 children in Scope
   22180             : /* 41959*/          OPC_RecordChild0, // #1 = $addr
   22181             : /* 41960*/          OPC_MoveChild1,
   22182             : /* 41961*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   22183             : /* 41964*/          OPC_RecordChild0, // #2 = $off
   22184             : /* 41965*/          OPC_MoveChild0,
   22185             : /* 41966*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   22186             : /* 41969*/          OPC_MoveParent,
   22187             : /* 41970*/          OPC_MoveParent,
   22188             : /* 41971*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   22189             : /* 41973*/          OPC_CheckType, MVT::i32,
   22190             : /* 41975*/          OPC_MoveParent,
   22191             : /* 41976*/          OPC_RecordChild2, // #3 = $val
   22192             : /* 41977*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->42039
   22193             : /* 41980*/            OPC_Scope, 18, /*->42000*/ // 3 children in Scope
   22194             : /* 41982*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   22195             : /* 41984*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22196             : /* 41986*/              OPC_EmitMergeInputChains1_0,
   22197             : /* 41987*/              OPC_EmitInteger, MVT::i32, 0, 
   22198             : /* 41990*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22199             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22200             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 14
   22201             :                         // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22202             : /* 42000*/            /*Scope*/ 18, /*->42019*/
   22203             : /* 42001*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   22204             : /* 42003*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22205             : /* 42005*/              OPC_EmitMergeInputChains1_0,
   22206             : /* 42006*/              OPC_EmitInteger, MVT::i32, 0, 
   22207             : /* 42009*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22208             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22209             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 14
   22210             :                         // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22211             : /* 42019*/            /*Scope*/ 18, /*->42038*/
   22212             : /* 42020*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   22213             : /* 42022*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22214             : /* 42024*/              OPC_EmitMergeInputChains1_0,
   22215             : /* 42025*/              OPC_EmitInteger, MVT::i32, 0, 
   22216             : /* 42028*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22217             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22218             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 14
   22219             :                         // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22220             : /* 42038*/            0, /*End of Scope*/
   22221             : /* 42039*/          /*SwitchType*/ 18, MVT::i64,// ->42059
   22222             : /* 42041*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
   22223             : /* 42043*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22224             : /* 42045*/            OPC_EmitMergeInputChains1_0,
   22225             : /* 42046*/            OPC_EmitInteger, MVT::i32, 0, 
   22226             : /* 42049*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22227             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   22228             :                       // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 14
   22229             :                       // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22230             : /* 42059*/          0, // EndSwitchType
   22231             : /* 42060*/        /*Scope*/ 101, /*->42162*/
   22232             : /* 42061*/          OPC_MoveChild0,
   22233             : /* 42062*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   22234             : /* 42065*/          OPC_RecordChild0, // #1 = $off
   22235             : /* 42066*/          OPC_MoveChild0,
   22236             : /* 42067*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   22237             : /* 42070*/          OPC_MoveParent,
   22238             : /* 42071*/          OPC_MoveParent,
   22239             : /* 42072*/          OPC_RecordChild1, // #2 = $addr
   22240             : /* 42073*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   22241             : /* 42075*/          OPC_CheckType, MVT::i32,
   22242             : /* 42077*/          OPC_MoveParent,
   22243             : /* 42078*/          OPC_RecordChild2, // #3 = $val
   22244             : /* 42079*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->42141
   22245             : /* 42082*/            OPC_Scope, 18, /*->42102*/ // 3 children in Scope
   22246             : /* 42084*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   22247             : /* 42086*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22248             : /* 42088*/              OPC_EmitMergeInputChains1_0,
   22249             : /* 42089*/              OPC_EmitInteger, MVT::i32, 0, 
   22250             : /* 42092*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22251             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22252             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 14
   22253             :                         // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22254             : /* 42102*/            /*Scope*/ 18, /*->42121*/
   22255             : /* 42103*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   22256             : /* 42105*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22257             : /* 42107*/              OPC_EmitMergeInputChains1_0,
   22258             : /* 42108*/              OPC_EmitInteger, MVT::i32, 0, 
   22259             : /* 42111*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22260             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22261             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 14
   22262             :                         // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22263             : /* 42121*/            /*Scope*/ 18, /*->42140*/
   22264             : /* 42122*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   22265             : /* 42124*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22266             : /* 42126*/              OPC_EmitMergeInputChains1_0,
   22267             : /* 42127*/              OPC_EmitInteger, MVT::i32, 0, 
   22268             : /* 42130*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22269             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22270             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 14
   22271             :                         // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22272             : /* 42140*/            0, /*End of Scope*/
   22273             : /* 42141*/          /*SwitchType*/ 18, MVT::i64,// ->42161
   22274             : /* 42143*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
   22275             : /* 42145*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22276             : /* 42147*/            OPC_EmitMergeInputChains1_0,
   22277             : /* 42148*/            OPC_EmitInteger, MVT::i32, 0, 
   22278             : /* 42151*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22279             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   22280             :                       // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 14
   22281             :                       // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22282             : /* 42161*/          0, // EndSwitchType
   22283             : /* 42162*/        /*Scope*/ 99, /*->42262*/
   22284             : /* 42163*/          OPC_RecordChild0, // #1 = $addr
   22285             : /* 42164*/          OPC_MoveChild1,
   22286             : /* 42165*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   22287             : /* 42168*/          OPC_RecordChild0, // #2 = $off
   22288             : /* 42169*/          OPC_MoveChild0,
   22289             : /* 42170*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   22290             : /* 42173*/          OPC_MoveParent,
   22291             : /* 42174*/          OPC_MoveParent,
   22292             : /* 42175*/          OPC_CheckType, MVT::i32,
   22293             : /* 42177*/          OPC_MoveParent,
   22294             : /* 42178*/          OPC_RecordChild2, // #3 = $val
   22295             : /* 42179*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->42241
   22296             : /* 42182*/            OPC_Scope, 18, /*->42202*/ // 3 children in Scope
   22297             : /* 42184*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   22298             : /* 42186*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22299             : /* 42188*/              OPC_EmitMergeInputChains1_0,
   22300             : /* 42189*/              OPC_EmitInteger, MVT::i32, 0, 
   22301             : /* 42192*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22302             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22303             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 13
   22304             :                         // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22305             : /* 42202*/            /*Scope*/ 18, /*->42221*/
   22306             : /* 42203*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   22307             : /* 42205*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22308             : /* 42207*/              OPC_EmitMergeInputChains1_0,
   22309             : /* 42208*/              OPC_EmitInteger, MVT::i32, 0, 
   22310             : /* 42211*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22311             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22312             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 13
   22313             :                         // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22314             : /* 42221*/            /*Scope*/ 18, /*->42240*/
   22315             : /* 42222*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   22316             : /* 42224*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22317             : /* 42226*/              OPC_EmitMergeInputChains1_0,
   22318             : /* 42227*/              OPC_EmitInteger, MVT::i32, 0, 
   22319             : /* 42230*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22320             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22321             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 13
   22322             :                         // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22323             : /* 42240*/            0, /*End of Scope*/
   22324             : /* 42241*/          /*SwitchType*/ 18, MVT::i64,// ->42261
   22325             : /* 42243*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
   22326             : /* 42245*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22327             : /* 42247*/            OPC_EmitMergeInputChains1_0,
   22328             : /* 42248*/            OPC_EmitInteger, MVT::i32, 0, 
   22329             : /* 42251*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22330             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   22331             :                       // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 13
   22332             :                       // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22333             : /* 42261*/          0, // EndSwitchType
   22334             : /* 42262*/        /*Scope*/ 99, /*->42362*/
   22335             : /* 42263*/          OPC_MoveChild0,
   22336             : /* 42264*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   22337             : /* 42267*/          OPC_RecordChild0, // #1 = $off
   22338             : /* 42268*/          OPC_MoveChild0,
   22339             : /* 42269*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   22340             : /* 42272*/          OPC_MoveParent,
   22341             : /* 42273*/          OPC_MoveParent,
   22342             : /* 42274*/          OPC_RecordChild1, // #2 = $addr
   22343             : /* 42275*/          OPC_CheckType, MVT::i32,
   22344             : /* 42277*/          OPC_MoveParent,
   22345             : /* 42278*/          OPC_RecordChild2, // #3 = $val
   22346             : /* 42279*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->42341
   22347             : /* 42282*/            OPC_Scope, 18, /*->42302*/ // 3 children in Scope
   22348             : /* 42284*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   22349             : /* 42286*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22350             : /* 42288*/              OPC_EmitMergeInputChains1_0,
   22351             : /* 42289*/              OPC_EmitInteger, MVT::i32, 0, 
   22352             : /* 42292*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22353             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22354             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 13
   22355             :                         // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22356             : /* 42302*/            /*Scope*/ 18, /*->42321*/
   22357             : /* 42303*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   22358             : /* 42305*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22359             : /* 42307*/              OPC_EmitMergeInputChains1_0,
   22360             : /* 42308*/              OPC_EmitInteger, MVT::i32, 0, 
   22361             : /* 42311*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22362             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22363             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 13
   22364             :                         // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22365             : /* 42321*/            /*Scope*/ 18, /*->42340*/
   22366             : /* 42322*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   22367             : /* 42324*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22368             : /* 42326*/              OPC_EmitMergeInputChains1_0,
   22369             : /* 42327*/              OPC_EmitInteger, MVT::i32, 0, 
   22370             : /* 42330*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22371             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22372             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 13
   22373             :                         // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22374             : /* 42340*/            0, /*End of Scope*/
   22375             : /* 42341*/          /*SwitchType*/ 18, MVT::i64,// ->42361
   22376             : /* 42343*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
   22377             : /* 42345*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22378             : /* 42347*/            OPC_EmitMergeInputChains1_0,
   22379             : /* 42348*/            OPC_EmitInteger, MVT::i32, 0, 
   22380             : /* 42351*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22381             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   22382             :                       // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 13
   22383             :                       // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22384             : /* 42361*/          0, // EndSwitchType
   22385             : /* 42362*/        /*Scope*/ 104, /*->42467*/
   22386             : /* 42363*/          OPC_RecordChild0, // #1 = $addr
   22387             : /* 42364*/          OPC_RecordChild1, // #2 = $off
   22388             : /* 42365*/          OPC_MoveChild1,
   22389             : /* 42366*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   22390             : /* 42369*/          OPC_MoveParent,
   22391             : /* 42370*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   22392             : /* 42372*/          OPC_CheckType, MVT::i32,
   22393             : /* 42374*/          OPC_MoveParent,
   22394             : /* 42375*/          OPC_RecordChild2, // #3 = $val
   22395             : /* 42376*/          OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->42444
   22396             : /* 42379*/            OPC_Scope, 20, /*->42401*/ // 3 children in Scope
   22397             : /* 42381*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   22398             : /* 42383*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22399             : /* 42385*/              OPC_EmitMergeInputChains1_0,
   22400             : /* 42386*/              OPC_EmitInteger, MVT::i32, 0, 
   22401             : /* 42389*/              OPC_EmitConvertToTarget, 2,
   22402             : /* 42391*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22403             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   22404             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 11
   22405             :                         // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22406             : /* 42401*/            /*Scope*/ 20, /*->42422*/
   22407             : /* 42402*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   22408             : /* 42404*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22409             : /* 42406*/              OPC_EmitMergeInputChains1_0,
   22410             : /* 42407*/              OPC_EmitInteger, MVT::i32, 0, 
   22411             : /* 42410*/              OPC_EmitConvertToTarget, 2,
   22412             : /* 42412*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22413             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   22414             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 11
   22415             :                         // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22416             : /* 42422*/            /*Scope*/ 20, /*->42443*/
   22417             : /* 42423*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   22418             : /* 42425*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22419             : /* 42427*/              OPC_EmitMergeInputChains1_0,
   22420             : /* 42428*/              OPC_EmitInteger, MVT::i32, 0, 
   22421             : /* 42431*/              OPC_EmitConvertToTarget, 2,
   22422             : /* 42433*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22423             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   22424             :                         // Src: (atomic_load_add:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 11
   22425             :                         // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22426             : /* 42443*/            0, /*End of Scope*/
   22427             : /* 42444*/          /*SwitchType*/ 20, MVT::i64,// ->42466
   22428             : /* 42446*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
   22429             : /* 42448*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22430             : /* 42450*/            OPC_EmitMergeInputChains1_0,
   22431             : /* 42451*/            OPC_EmitInteger, MVT::i32, 0, 
   22432             : /* 42454*/            OPC_EmitConvertToTarget, 2,
   22433             : /* 42456*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22434             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   22435             :                       // Src: (atomic_load_add:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 11
   22436             :                       // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22437             : /* 42466*/          0, // EndSwitchType
   22438             : /* 42467*/        0, /*End of Scope*/
   22439             : /* 42468*/      /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->42575
   22440             : /* 42471*/        OPC_RecordChild0, // #1 = $addr
   22441             : /* 42472*/        OPC_RecordChild1, // #2 = $off
   22442             : /* 42473*/        OPC_MoveChild1,
   22443             : /* 42474*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   22444             : /* 42477*/        OPC_MoveParent,
   22445             : /* 42478*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   22446             : /* 42480*/        OPC_CheckType, MVT::i32,
   22447             : /* 42482*/        OPC_MoveParent,
   22448             : /* 42483*/        OPC_RecordChild2, // #3 = $val
   22449             : /* 42484*/        OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->42552
   22450             : /* 42487*/          OPC_Scope, 20, /*->42509*/ // 3 children in Scope
   22451             : /* 42489*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   22452             : /* 42491*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22453             : /* 42493*/            OPC_EmitMergeInputChains1_0,
   22454             : /* 42494*/            OPC_EmitInteger, MVT::i32, 0, 
   22455             : /* 42497*/            OPC_EmitConvertToTarget, 2,
   22456             : /* 42499*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22457             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   22458             :                       // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 11
   22459             :                       // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22460             : /* 42509*/          /*Scope*/ 20, /*->42530*/
   22461             : /* 42510*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   22462             : /* 42512*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22463             : /* 42514*/            OPC_EmitMergeInputChains1_0,
   22464             : /* 42515*/            OPC_EmitInteger, MVT::i32, 0, 
   22465             : /* 42518*/            OPC_EmitConvertToTarget, 2,
   22466             : /* 42520*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22467             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   22468             :                       // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 11
   22469             :                       // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22470             : /* 42530*/          /*Scope*/ 20, /*->42551*/
   22471             : /* 42531*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   22472             : /* 42533*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22473             : /* 42535*/            OPC_EmitMergeInputChains1_0,
   22474             : /* 42536*/            OPC_EmitInteger, MVT::i32, 0, 
   22475             : /* 42539*/            OPC_EmitConvertToTarget, 2,
   22476             : /* 42541*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22477             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   22478             :                       // Src: (atomic_load_add:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 11
   22479             :                       // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22480             : /* 42551*/          0, /*End of Scope*/
   22481             : /* 42552*/        /*SwitchType*/ 20, MVT::i64,// ->42574
   22482             : /* 42554*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
   22483             : /* 42556*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22484             : /* 42558*/          OPC_EmitMergeInputChains1_0,
   22485             : /* 42559*/          OPC_EmitInteger, MVT::i32, 0, 
   22486             : /* 42562*/          OPC_EmitConvertToTarget, 2,
   22487             : /* 42564*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22488             :                         MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   22489             :                     // Src: (atomic_load_add:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 11
   22490             :                     // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22491             : /* 42574*/        0, // EndSwitchType
   22492             : /* 42575*/      /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->42841
   22493             : /* 42579*/        OPC_RecordChild0, // #1 = $off
   22494             : /* 42580*/        OPC_MoveChild0,
   22495             : /* 42581*/        OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->42711
   22496             : /* 42585*/          OPC_MoveParent,
   22497             : /* 42586*/          OPC_MoveParent,
   22498             : /* 42587*/          OPC_RecordChild2, // #2 = $val
   22499             : /* 42588*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->42680
   22500             : /* 42591*/            OPC_Scope, 28, /*->42621*/ // 3 children in Scope
   22501             : /* 42593*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   22502             : /* 42595*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22503             : /* 42597*/              OPC_EmitMergeInputChains1_0,
   22504             : /* 42598*/              OPC_EmitInteger, MVT::i32, 0, 
   22505             : /* 42601*/              OPC_EmitInteger, MVT::i32, 0, 
   22506             : /* 42604*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22507             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22508             : /* 42611*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22509             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   22510             :                         // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 10
   22511             :                         // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   22512             : /* 42621*/            /*Scope*/ 28, /*->42650*/
   22513             : /* 42622*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   22514             : /* 42624*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22515             : /* 42626*/              OPC_EmitMergeInputChains1_0,
   22516             : /* 42627*/              OPC_EmitInteger, MVT::i32, 0, 
   22517             : /* 42630*/              OPC_EmitInteger, MVT::i32, 0, 
   22518             : /* 42633*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22519             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22520             : /* 42640*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22521             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   22522             :                         // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 10
   22523             :                         // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   22524             : /* 42650*/            /*Scope*/ 28, /*->42679*/
   22525             : /* 42651*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   22526             : /* 42653*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22527             : /* 42655*/              OPC_EmitMergeInputChains1_0,
   22528             : /* 42656*/              OPC_EmitInteger, MVT::i32, 0, 
   22529             : /* 42659*/              OPC_EmitInteger, MVT::i32, 0, 
   22530             : /* 42662*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22531             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22532             : /* 42669*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22533             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   22534             :                         // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 10
   22535             :                         // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   22536             : /* 42679*/            0, /*End of Scope*/
   22537             : /* 42680*/          /*SwitchType*/ 28, MVT::i64,// ->42710
   22538             : /* 42682*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
   22539             : /* 42684*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22540             : /* 42686*/            OPC_EmitMergeInputChains1_0,
   22541             : /* 42687*/            OPC_EmitInteger, MVT::i32, 0, 
   22542             : /* 42690*/            OPC_EmitInteger, MVT::i32, 0, 
   22543             : /* 42693*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22544             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22545             : /* 42700*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22546             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   22547             :                       // Src: (atomic_load_add:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 10
   22548             :                       // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   22549             : /* 42710*/          0, // EndSwitchType
   22550             : /* 42711*/        /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->42840
   22551             : /* 42714*/          OPC_MoveParent,
   22552             : /* 42715*/          OPC_MoveParent,
   22553             : /* 42716*/          OPC_RecordChild2, // #2 = $val
   22554             : /* 42717*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->42809
   22555             : /* 42720*/            OPC_Scope, 28, /*->42750*/ // 3 children in Scope
   22556             : /* 42722*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   22557             : /* 42724*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22558             : /* 42726*/              OPC_EmitMergeInputChains1_0,
   22559             : /* 42727*/              OPC_EmitInteger, MVT::i32, 0, 
   22560             : /* 42730*/              OPC_EmitInteger, MVT::i32, 0, 
   22561             : /* 42733*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22562             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22563             : /* 42740*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22564             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   22565             :                         // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 10
   22566             :                         // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   22567             : /* 42750*/            /*Scope*/ 28, /*->42779*/
   22568             : /* 42751*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   22569             : /* 42753*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22570             : /* 42755*/              OPC_EmitMergeInputChains1_0,
   22571             : /* 42756*/              OPC_EmitInteger, MVT::i32, 0, 
   22572             : /* 42759*/              OPC_EmitInteger, MVT::i32, 0, 
   22573             : /* 42762*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22574             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22575             : /* 42769*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22576             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   22577             :                         // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 10
   22578             :                         // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   22579             : /* 42779*/            /*Scope*/ 28, /*->42808*/
   22580             : /* 42780*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   22581             : /* 42782*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22582             : /* 42784*/              OPC_EmitMergeInputChains1_0,
   22583             : /* 42785*/              OPC_EmitInteger, MVT::i32, 0, 
   22584             : /* 42788*/              OPC_EmitInteger, MVT::i32, 0, 
   22585             : /* 42791*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22586             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22587             : /* 42798*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22588             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   22589             :                         // Src: (atomic_load_add:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 10
   22590             :                         // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   22591             : /* 42808*/            0, /*End of Scope*/
   22592             : /* 42809*/          /*SwitchType*/ 28, MVT::i64,// ->42839
   22593             : /* 42811*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
   22594             : /* 42813*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22595             : /* 42815*/            OPC_EmitMergeInputChains1_0,
   22596             : /* 42816*/            OPC_EmitInteger, MVT::i32, 0, 
   22597             : /* 42819*/            OPC_EmitInteger, MVT::i32, 0, 
   22598             : /* 42822*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22599             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   22600             : /* 42829*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22601             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   22602             :                       // Src: (atomic_load_add:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 10
   22603             :                       // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   22604             : /* 42839*/          0, // EndSwitchType
   22605             : /* 42840*/        0, // EndSwitchOpcode
   22606             : /* 42841*/      0, // EndSwitchOpcode
   22607             : /* 42842*/    /*Scope*/ 113|128,1/*241*/, /*->43085*/
   22608             : /* 42844*/      OPC_RecordChild1, // #1 = $off
   22609             : /* 42845*/      OPC_Scope, 9|128,1/*137*/, /*->42985*/ // 2 children in Scope
   22610             : /* 42848*/        OPC_MoveChild1,
   22611             : /* 42849*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   22612             : /* 42852*/        OPC_MoveParent,
   22613             : /* 42853*/        OPC_RecordChild2, // #2 = $val
   22614             : /* 42854*/        OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->42952
   22615             : /* 42857*/          OPC_Scope, 30, /*->42889*/ // 3 children in Scope
   22616             : /* 42859*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   22617             : /* 42861*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22618             : /* 42863*/            OPC_EmitMergeInputChains1_0,
   22619             : /* 42864*/            OPC_EmitInteger, MVT::i32, 0, 
   22620             : /* 42867*/            OPC_EmitConvertToTarget, 1,
   22621             : /* 42869*/            OPC_EmitInteger, MVT::i32, 0, 
   22622             : /* 42872*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22623             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   22624             : /* 42879*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22625             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   22626             :                       // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 7
   22627             :                       // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   22628             : /* 42889*/          /*Scope*/ 30, /*->42920*/
   22629             : /* 42890*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   22630             : /* 42892*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22631             : /* 42894*/            OPC_EmitMergeInputChains1_0,
   22632             : /* 42895*/            OPC_EmitInteger, MVT::i32, 0, 
   22633             : /* 42898*/            OPC_EmitConvertToTarget, 1,
   22634             : /* 42900*/            OPC_EmitInteger, MVT::i32, 0, 
   22635             : /* 42903*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22636             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   22637             : /* 42910*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22638             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   22639             :                       // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 7
   22640             :                       // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   22641             : /* 42920*/          /*Scope*/ 30, /*->42951*/
   22642             : /* 42921*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   22643             : /* 42923*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22644             : /* 42925*/            OPC_EmitMergeInputChains1_0,
   22645             : /* 42926*/            OPC_EmitInteger, MVT::i32, 0, 
   22646             : /* 42929*/            OPC_EmitConvertToTarget, 1,
   22647             : /* 42931*/            OPC_EmitInteger, MVT::i32, 0, 
   22648             : /* 42934*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22649             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   22650             : /* 42941*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22651             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   22652             :                       // Src: (atomic_load_add:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 7
   22653             :                       // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   22654             : /* 42951*/          0, /*End of Scope*/
   22655             : /* 42952*/        /*SwitchType*/ 30, MVT::i64,// ->42984
   22656             : /* 42954*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
   22657             : /* 42956*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22658             : /* 42958*/          OPC_EmitMergeInputChains1_0,
   22659             : /* 42959*/          OPC_EmitInteger, MVT::i32, 0, 
   22660             : /* 42962*/          OPC_EmitConvertToTarget, 1,
   22661             : /* 42964*/          OPC_EmitInteger, MVT::i32, 0, 
   22662             : /* 42967*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   22663             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   22664             : /* 42974*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22665             :                         MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   22666             :                     // Src: (atomic_load_add:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 7
   22667             :                     // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   22668             : /* 42984*/        0, // EndSwitchType
   22669             : /* 42985*/      /*Scope*/ 98, /*->43084*/
   22670             : /* 42986*/        OPC_CheckChild1Type, MVT::i32,
   22671             : /* 42988*/        OPC_RecordChild2, // #2 = $val
   22672             : /* 42989*/        OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->43060
   22673             : /* 42992*/          OPC_Scope, 21, /*->43015*/ // 3 children in Scope
   22674             : /* 42994*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_add_32
   22675             : /* 42996*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22676             : /* 42998*/            OPC_EmitMergeInputChains1_0,
   22677             : /* 42999*/            OPC_EmitInteger, MVT::i32, 0, 
   22678             : /* 43002*/            OPC_EmitInteger, MVT::i32, 0, 
   22679             : /* 43005*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22680             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   22681             :                       // Src: (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_32>> - Complexity = 4
   22682             :                       // Dst: (ATOMIC_RMW_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22683             : /* 43015*/          /*Scope*/ 21, /*->43037*/
   22684             : /* 43016*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_add_8
   22685             : /* 43018*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22686             : /* 43020*/            OPC_EmitMergeInputChains1_0,
   22687             : /* 43021*/            OPC_EmitInteger, MVT::i32, 0, 
   22688             : /* 43024*/            OPC_EmitInteger, MVT::i32, 0, 
   22689             : /* 43027*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22690             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   22691             :                       // Src: (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_8>> - Complexity = 4
   22692             :                       // Dst: (ATOMIC_RMW8_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22693             : /* 43037*/          /*Scope*/ 21, /*->43059*/
   22694             : /* 43038*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_add_16
   22695             : /* 43040*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22696             : /* 43042*/            OPC_EmitMergeInputChains1_0,
   22697             : /* 43043*/            OPC_EmitInteger, MVT::i32, 0, 
   22698             : /* 43046*/            OPC_EmitInteger, MVT::i32, 0, 
   22699             : /* 43049*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_ADD_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22700             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   22701             :                       // Src: (atomic_load_add:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_add_16>> - Complexity = 4
   22702             :                       // Dst: (ATOMIC_RMW16_U_ADD_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22703             : /* 43059*/          0, /*End of Scope*/
   22704             : /* 43060*/        /*SwitchType*/ 21, MVT::i64,// ->43083
   22705             : /* 43062*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_add_64
   22706             : /* 43064*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22707             : /* 43066*/          OPC_EmitMergeInputChains1_0,
   22708             : /* 43067*/          OPC_EmitInteger, MVT::i32, 0, 
   22709             : /* 43070*/          OPC_EmitInteger, MVT::i32, 0, 
   22710             : /* 43073*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_ADD_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22711             :                         MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   22712             :                     // Src: (atomic_load_add:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_add_64>> - Complexity = 4
   22713             :                     // Dst: (ATOMIC_RMW_ADD_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22714             : /* 43083*/        0, // EndSwitchType
   22715             : /* 43084*/      0, /*End of Scope*/
   22716             : /* 43085*/    0, /*End of Scope*/
   22717             : /* 43086*/  /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),// ->44230
   22718             : /* 43090*/    OPC_RecordMemRef,
   22719             : /* 43091*/    OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
   22720             : /* 43092*/    OPC_Scope, 123|128,6/*891*/, /*->43986*/ // 2 children in Scope
   22721             : /* 43095*/      OPC_MoveChild1,
   22722             : /* 43096*/      OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->43612
   22723             : /* 43101*/        OPC_Scope, 101, /*->43204*/ // 5 children in Scope
   22724             : /* 43103*/          OPC_RecordChild0, // #1 = $addr
   22725             : /* 43104*/          OPC_MoveChild1,
   22726             : /* 43105*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   22727             : /* 43108*/          OPC_RecordChild0, // #2 = $off
   22728             : /* 43109*/          OPC_MoveChild0,
   22729             : /* 43110*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   22730             : /* 43113*/          OPC_MoveParent,
   22731             : /* 43114*/          OPC_MoveParent,
   22732             : /* 43115*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   22733             : /* 43117*/          OPC_CheckType, MVT::i32,
   22734             : /* 43119*/          OPC_MoveParent,
   22735             : /* 43120*/          OPC_RecordChild2, // #3 = $val
   22736             : /* 43121*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->43183
   22737             : /* 43124*/            OPC_Scope, 18, /*->43144*/ // 3 children in Scope
   22738             : /* 43126*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   22739             : /* 43128*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22740             : /* 43130*/              OPC_EmitMergeInputChains1_0,
   22741             : /* 43131*/              OPC_EmitInteger, MVT::i32, 0, 
   22742             : /* 43134*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22743             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22744             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 14
   22745             :                         // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22746             : /* 43144*/            /*Scope*/ 18, /*->43163*/
   22747             : /* 43145*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   22748             : /* 43147*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22749             : /* 43149*/              OPC_EmitMergeInputChains1_0,
   22750             : /* 43150*/              OPC_EmitInteger, MVT::i32, 0, 
   22751             : /* 43153*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22752             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22753             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 14
   22754             :                         // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22755             : /* 43163*/            /*Scope*/ 18, /*->43182*/
   22756             : /* 43164*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   22757             : /* 43166*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22758             : /* 43168*/              OPC_EmitMergeInputChains1_0,
   22759             : /* 43169*/              OPC_EmitInteger, MVT::i32, 0, 
   22760             : /* 43172*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22761             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22762             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 14
   22763             :                         // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22764             : /* 43182*/            0, /*End of Scope*/
   22765             : /* 43183*/          /*SwitchType*/ 18, MVT::i64,// ->43203
   22766             : /* 43185*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
   22767             : /* 43187*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22768             : /* 43189*/            OPC_EmitMergeInputChains1_0,
   22769             : /* 43190*/            OPC_EmitInteger, MVT::i32, 0, 
   22770             : /* 43193*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22771             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   22772             :                       // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 14
   22773             :                       // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22774             : /* 43203*/          0, // EndSwitchType
   22775             : /* 43204*/        /*Scope*/ 101, /*->43306*/
   22776             : /* 43205*/          OPC_MoveChild0,
   22777             : /* 43206*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   22778             : /* 43209*/          OPC_RecordChild0, // #1 = $off
   22779             : /* 43210*/          OPC_MoveChild0,
   22780             : /* 43211*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   22781             : /* 43214*/          OPC_MoveParent,
   22782             : /* 43215*/          OPC_MoveParent,
   22783             : /* 43216*/          OPC_RecordChild1, // #2 = $addr
   22784             : /* 43217*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   22785             : /* 43219*/          OPC_CheckType, MVT::i32,
   22786             : /* 43221*/          OPC_MoveParent,
   22787             : /* 43222*/          OPC_RecordChild2, // #3 = $val
   22788             : /* 43223*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->43285
   22789             : /* 43226*/            OPC_Scope, 18, /*->43246*/ // 3 children in Scope
   22790             : /* 43228*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   22791             : /* 43230*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22792             : /* 43232*/              OPC_EmitMergeInputChains1_0,
   22793             : /* 43233*/              OPC_EmitInteger, MVT::i32, 0, 
   22794             : /* 43236*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22795             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22796             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 14
   22797             :                         // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22798             : /* 43246*/            /*Scope*/ 18, /*->43265*/
   22799             : /* 43247*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   22800             : /* 43249*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22801             : /* 43251*/              OPC_EmitMergeInputChains1_0,
   22802             : /* 43252*/              OPC_EmitInteger, MVT::i32, 0, 
   22803             : /* 43255*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22804             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22805             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 14
   22806             :                         // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22807             : /* 43265*/            /*Scope*/ 18, /*->43284*/
   22808             : /* 43266*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   22809             : /* 43268*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22810             : /* 43270*/              OPC_EmitMergeInputChains1_0,
   22811             : /* 43271*/              OPC_EmitInteger, MVT::i32, 0, 
   22812             : /* 43274*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22813             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22814             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 14
   22815             :                         // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22816             : /* 43284*/            0, /*End of Scope*/
   22817             : /* 43285*/          /*SwitchType*/ 18, MVT::i64,// ->43305
   22818             : /* 43287*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
   22819             : /* 43289*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22820             : /* 43291*/            OPC_EmitMergeInputChains1_0,
   22821             : /* 43292*/            OPC_EmitInteger, MVT::i32, 0, 
   22822             : /* 43295*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22823             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   22824             :                       // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 14
   22825             :                       // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22826             : /* 43305*/          0, // EndSwitchType
   22827             : /* 43306*/        /*Scope*/ 99, /*->43406*/
   22828             : /* 43307*/          OPC_RecordChild0, // #1 = $addr
   22829             : /* 43308*/          OPC_MoveChild1,
   22830             : /* 43309*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   22831             : /* 43312*/          OPC_RecordChild0, // #2 = $off
   22832             : /* 43313*/          OPC_MoveChild0,
   22833             : /* 43314*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   22834             : /* 43317*/          OPC_MoveParent,
   22835             : /* 43318*/          OPC_MoveParent,
   22836             : /* 43319*/          OPC_CheckType, MVT::i32,
   22837             : /* 43321*/          OPC_MoveParent,
   22838             : /* 43322*/          OPC_RecordChild2, // #3 = $val
   22839             : /* 43323*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->43385
   22840             : /* 43326*/            OPC_Scope, 18, /*->43346*/ // 3 children in Scope
   22841             : /* 43328*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   22842             : /* 43330*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22843             : /* 43332*/              OPC_EmitMergeInputChains1_0,
   22844             : /* 43333*/              OPC_EmitInteger, MVT::i32, 0, 
   22845             : /* 43336*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22846             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22847             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 13
   22848             :                         // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22849             : /* 43346*/            /*Scope*/ 18, /*->43365*/
   22850             : /* 43347*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   22851             : /* 43349*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22852             : /* 43351*/              OPC_EmitMergeInputChains1_0,
   22853             : /* 43352*/              OPC_EmitInteger, MVT::i32, 0, 
   22854             : /* 43355*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22855             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22856             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 13
   22857             :                         // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22858             : /* 43365*/            /*Scope*/ 18, /*->43384*/
   22859             : /* 43366*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   22860             : /* 43368*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22861             : /* 43370*/              OPC_EmitMergeInputChains1_0,
   22862             : /* 43371*/              OPC_EmitInteger, MVT::i32, 0, 
   22863             : /* 43374*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22864             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   22865             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 13
   22866             :                         // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22867             : /* 43384*/            0, /*End of Scope*/
   22868             : /* 43385*/          /*SwitchType*/ 18, MVT::i64,// ->43405
   22869             : /* 43387*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
   22870             : /* 43389*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22871             : /* 43391*/            OPC_EmitMergeInputChains1_0,
   22872             : /* 43392*/            OPC_EmitInteger, MVT::i32, 0, 
   22873             : /* 43395*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22874             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   22875             :                       // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 13
   22876             :                       // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22877             : /* 43405*/          0, // EndSwitchType
   22878             : /* 43406*/        /*Scope*/ 99, /*->43506*/
   22879             : /* 43407*/          OPC_MoveChild0,
   22880             : /* 43408*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   22881             : /* 43411*/          OPC_RecordChild0, // #1 = $off
   22882             : /* 43412*/          OPC_MoveChild0,
   22883             : /* 43413*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   22884             : /* 43416*/          OPC_MoveParent,
   22885             : /* 43417*/          OPC_MoveParent,
   22886             : /* 43418*/          OPC_RecordChild1, // #2 = $addr
   22887             : /* 43419*/          OPC_CheckType, MVT::i32,
   22888             : /* 43421*/          OPC_MoveParent,
   22889             : /* 43422*/          OPC_RecordChild2, // #3 = $val
   22890             : /* 43423*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->43485
   22891             : /* 43426*/            OPC_Scope, 18, /*->43446*/ // 3 children in Scope
   22892             : /* 43428*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   22893             : /* 43430*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22894             : /* 43432*/              OPC_EmitMergeInputChains1_0,
   22895             : /* 43433*/              OPC_EmitInteger, MVT::i32, 0, 
   22896             : /* 43436*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22897             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22898             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 13
   22899             :                         // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22900             : /* 43446*/            /*Scope*/ 18, /*->43465*/
   22901             : /* 43447*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   22902             : /* 43449*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22903             : /* 43451*/              OPC_EmitMergeInputChains1_0,
   22904             : /* 43452*/              OPC_EmitInteger, MVT::i32, 0, 
   22905             : /* 43455*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22906             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22907             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 13
   22908             :                         // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22909             : /* 43465*/            /*Scope*/ 18, /*->43484*/
   22910             : /* 43466*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   22911             : /* 43468*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22912             : /* 43470*/              OPC_EmitMergeInputChains1_0,
   22913             : /* 43471*/              OPC_EmitInteger, MVT::i32, 0, 
   22914             : /* 43474*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22915             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   22916             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 13
   22917             :                         // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22918             : /* 43484*/            0, /*End of Scope*/
   22919             : /* 43485*/          /*SwitchType*/ 18, MVT::i64,// ->43505
   22920             : /* 43487*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
   22921             : /* 43489*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22922             : /* 43491*/            OPC_EmitMergeInputChains1_0,
   22923             : /* 43492*/            OPC_EmitInteger, MVT::i32, 0, 
   22924             : /* 43495*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22925             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   22926             :                       // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 13
   22927             :                       // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22928             : /* 43505*/          0, // EndSwitchType
   22929             : /* 43506*/        /*Scope*/ 104, /*->43611*/
   22930             : /* 43507*/          OPC_RecordChild0, // #1 = $addr
   22931             : /* 43508*/          OPC_RecordChild1, // #2 = $off
   22932             : /* 43509*/          OPC_MoveChild1,
   22933             : /* 43510*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   22934             : /* 43513*/          OPC_MoveParent,
   22935             : /* 43514*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   22936             : /* 43516*/          OPC_CheckType, MVT::i32,
   22937             : /* 43518*/          OPC_MoveParent,
   22938             : /* 43519*/          OPC_RecordChild2, // #3 = $val
   22939             : /* 43520*/          OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->43588
   22940             : /* 43523*/            OPC_Scope, 20, /*->43545*/ // 3 children in Scope
   22941             : /* 43525*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   22942             : /* 43527*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22943             : /* 43529*/              OPC_EmitMergeInputChains1_0,
   22944             : /* 43530*/              OPC_EmitInteger, MVT::i32, 0, 
   22945             : /* 43533*/              OPC_EmitConvertToTarget, 2,
   22946             : /* 43535*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22947             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   22948             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 11
   22949             :                         // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22950             : /* 43545*/            /*Scope*/ 20, /*->43566*/
   22951             : /* 43546*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   22952             : /* 43548*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22953             : /* 43550*/              OPC_EmitMergeInputChains1_0,
   22954             : /* 43551*/              OPC_EmitInteger, MVT::i32, 0, 
   22955             : /* 43554*/              OPC_EmitConvertToTarget, 2,
   22956             : /* 43556*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22957             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   22958             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 11
   22959             :                         // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22960             : /* 43566*/            /*Scope*/ 20, /*->43587*/
   22961             : /* 43567*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   22962             : /* 43569*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22963             : /* 43571*/              OPC_EmitMergeInputChains1_0,
   22964             : /* 43572*/              OPC_EmitInteger, MVT::i32, 0, 
   22965             : /* 43575*/              OPC_EmitConvertToTarget, 2,
   22966             : /* 43577*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   22967             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   22968             :                         // Src: (atomic_load_sub:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 11
   22969             :                         // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   22970             : /* 43587*/            0, /*End of Scope*/
   22971             : /* 43588*/          /*SwitchType*/ 20, MVT::i64,// ->43610
   22972             : /* 43590*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
   22973             : /* 43592*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22974             : /* 43594*/            OPC_EmitMergeInputChains1_0,
   22975             : /* 43595*/            OPC_EmitInteger, MVT::i32, 0, 
   22976             : /* 43598*/            OPC_EmitConvertToTarget, 2,
   22977             : /* 43600*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   22978             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   22979             :                       // Src: (atomic_load_sub:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 11
   22980             :                       // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   22981             : /* 43610*/          0, // EndSwitchType
   22982             : /* 43611*/        0, /*End of Scope*/
   22983             : /* 43612*/      /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->43719
   22984             : /* 43615*/        OPC_RecordChild0, // #1 = $addr
   22985             : /* 43616*/        OPC_RecordChild1, // #2 = $off
   22986             : /* 43617*/        OPC_MoveChild1,
   22987             : /* 43618*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   22988             : /* 43621*/        OPC_MoveParent,
   22989             : /* 43622*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   22990             : /* 43624*/        OPC_CheckType, MVT::i32,
   22991             : /* 43626*/        OPC_MoveParent,
   22992             : /* 43627*/        OPC_RecordChild2, // #3 = $val
   22993             : /* 43628*/        OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->43696
   22994             : /* 43631*/          OPC_Scope, 20, /*->43653*/ // 3 children in Scope
   22995             : /* 43633*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   22996             : /* 43635*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   22997             : /* 43637*/            OPC_EmitMergeInputChains1_0,
   22998             : /* 43638*/            OPC_EmitInteger, MVT::i32, 0, 
   22999             : /* 43641*/            OPC_EmitConvertToTarget, 2,
   23000             : /* 43643*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23001             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   23002             :                       // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 11
   23003             :                       // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23004             : /* 43653*/          /*Scope*/ 20, /*->43674*/
   23005             : /* 43654*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   23006             : /* 43656*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23007             : /* 43658*/            OPC_EmitMergeInputChains1_0,
   23008             : /* 43659*/            OPC_EmitInteger, MVT::i32, 0, 
   23009             : /* 43662*/            OPC_EmitConvertToTarget, 2,
   23010             : /* 43664*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23011             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   23012             :                       // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 11
   23013             :                       // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23014             : /* 43674*/          /*Scope*/ 20, /*->43695*/
   23015             : /* 43675*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   23016             : /* 43677*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23017             : /* 43679*/            OPC_EmitMergeInputChains1_0,
   23018             : /* 43680*/            OPC_EmitInteger, MVT::i32, 0, 
   23019             : /* 43683*/            OPC_EmitConvertToTarget, 2,
   23020             : /* 43685*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23021             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   23022             :                       // Src: (atomic_load_sub:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 11
   23023             :                       // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23024             : /* 43695*/          0, /*End of Scope*/
   23025             : /* 43696*/        /*SwitchType*/ 20, MVT::i64,// ->43718
   23026             : /* 43698*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
   23027             : /* 43700*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23028             : /* 43702*/          OPC_EmitMergeInputChains1_0,
   23029             : /* 43703*/          OPC_EmitInteger, MVT::i32, 0, 
   23030             : /* 43706*/          OPC_EmitConvertToTarget, 2,
   23031             : /* 43708*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23032             :                         MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   23033             :                     // Src: (atomic_load_sub:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 11
   23034             :                     // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23035             : /* 43718*/        0, // EndSwitchType
   23036             : /* 43719*/      /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->43985
   23037             : /* 43723*/        OPC_RecordChild0, // #1 = $off
   23038             : /* 43724*/        OPC_MoveChild0,
   23039             : /* 43725*/        OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->43855
   23040             : /* 43729*/          OPC_MoveParent,
   23041             : /* 43730*/          OPC_MoveParent,
   23042             : /* 43731*/          OPC_RecordChild2, // #2 = $val
   23043             : /* 43732*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->43824
   23044             : /* 43735*/            OPC_Scope, 28, /*->43765*/ // 3 children in Scope
   23045             : /* 43737*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   23046             : /* 43739*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23047             : /* 43741*/              OPC_EmitMergeInputChains1_0,
   23048             : /* 43742*/              OPC_EmitInteger, MVT::i32, 0, 
   23049             : /* 43745*/              OPC_EmitInteger, MVT::i32, 0, 
   23050             : /* 43748*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23051             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23052             : /* 43755*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23053             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23054             :                         // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 10
   23055             :                         // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23056             : /* 43765*/            /*Scope*/ 28, /*->43794*/
   23057             : /* 43766*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   23058             : /* 43768*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23059             : /* 43770*/              OPC_EmitMergeInputChains1_0,
   23060             : /* 43771*/              OPC_EmitInteger, MVT::i32, 0, 
   23061             : /* 43774*/              OPC_EmitInteger, MVT::i32, 0, 
   23062             : /* 43777*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23063             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23064             : /* 43784*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23065             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23066             :                         // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 10
   23067             :                         // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23068             : /* 43794*/            /*Scope*/ 28, /*->43823*/
   23069             : /* 43795*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   23070             : /* 43797*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23071             : /* 43799*/              OPC_EmitMergeInputChains1_0,
   23072             : /* 43800*/              OPC_EmitInteger, MVT::i32, 0, 
   23073             : /* 43803*/              OPC_EmitInteger, MVT::i32, 0, 
   23074             : /* 43806*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23075             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23076             : /* 43813*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23077             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23078             :                         // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 10
   23079             :                         // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23080             : /* 43823*/            0, /*End of Scope*/
   23081             : /* 43824*/          /*SwitchType*/ 28, MVT::i64,// ->43854
   23082             : /* 43826*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
   23083             : /* 43828*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23084             : /* 43830*/            OPC_EmitMergeInputChains1_0,
   23085             : /* 43831*/            OPC_EmitInteger, MVT::i32, 0, 
   23086             : /* 43834*/            OPC_EmitInteger, MVT::i32, 0, 
   23087             : /* 43837*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23088             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23089             : /* 43844*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23090             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   23091             :                       // Src: (atomic_load_sub:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 10
   23092             :                       // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   23093             : /* 43854*/          0, // EndSwitchType
   23094             : /* 43855*/        /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->43984
   23095             : /* 43858*/          OPC_MoveParent,
   23096             : /* 43859*/          OPC_MoveParent,
   23097             : /* 43860*/          OPC_RecordChild2, // #2 = $val
   23098             : /* 43861*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->43953
   23099             : /* 43864*/            OPC_Scope, 28, /*->43894*/ // 3 children in Scope
   23100             : /* 43866*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   23101             : /* 43868*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23102             : /* 43870*/              OPC_EmitMergeInputChains1_0,
   23103             : /* 43871*/              OPC_EmitInteger, MVT::i32, 0, 
   23104             : /* 43874*/              OPC_EmitInteger, MVT::i32, 0, 
   23105             : /* 43877*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23106             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23107             : /* 43884*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23108             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23109             :                         // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 10
   23110             :                         // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23111             : /* 43894*/            /*Scope*/ 28, /*->43923*/
   23112             : /* 43895*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   23113             : /* 43897*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23114             : /* 43899*/              OPC_EmitMergeInputChains1_0,
   23115             : /* 43900*/              OPC_EmitInteger, MVT::i32, 0, 
   23116             : /* 43903*/              OPC_EmitInteger, MVT::i32, 0, 
   23117             : /* 43906*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23118             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23119             : /* 43913*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23120             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23121             :                         // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 10
   23122             :                         // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23123             : /* 43923*/            /*Scope*/ 28, /*->43952*/
   23124             : /* 43924*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   23125             : /* 43926*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23126             : /* 43928*/              OPC_EmitMergeInputChains1_0,
   23127             : /* 43929*/              OPC_EmitInteger, MVT::i32, 0, 
   23128             : /* 43932*/              OPC_EmitInteger, MVT::i32, 0, 
   23129             : /* 43935*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23130             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23131             : /* 43942*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23132             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23133             :                         // Src: (atomic_load_sub:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 10
   23134             :                         // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23135             : /* 43952*/            0, /*End of Scope*/
   23136             : /* 43953*/          /*SwitchType*/ 28, MVT::i64,// ->43983
   23137             : /* 43955*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
   23138             : /* 43957*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23139             : /* 43959*/            OPC_EmitMergeInputChains1_0,
   23140             : /* 43960*/            OPC_EmitInteger, MVT::i32, 0, 
   23141             : /* 43963*/            OPC_EmitInteger, MVT::i32, 0, 
   23142             : /* 43966*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23143             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23144             : /* 43973*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23145             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   23146             :                       // Src: (atomic_load_sub:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 10
   23147             :                       // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   23148             : /* 43983*/          0, // EndSwitchType
   23149             : /* 43984*/        0, // EndSwitchOpcode
   23150             : /* 43985*/      0, // EndSwitchOpcode
   23151             : /* 43986*/    /*Scope*/ 113|128,1/*241*/, /*->44229*/
   23152             : /* 43988*/      OPC_RecordChild1, // #1 = $off
   23153             : /* 43989*/      OPC_Scope, 9|128,1/*137*/, /*->44129*/ // 2 children in Scope
   23154             : /* 43992*/        OPC_MoveChild1,
   23155             : /* 43993*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   23156             : /* 43996*/        OPC_MoveParent,
   23157             : /* 43997*/        OPC_RecordChild2, // #2 = $val
   23158             : /* 43998*/        OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->44096
   23159             : /* 44001*/          OPC_Scope, 30, /*->44033*/ // 3 children in Scope
   23160             : /* 44003*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   23161             : /* 44005*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23162             : /* 44007*/            OPC_EmitMergeInputChains1_0,
   23163             : /* 44008*/            OPC_EmitInteger, MVT::i32, 0, 
   23164             : /* 44011*/            OPC_EmitConvertToTarget, 1,
   23165             : /* 44013*/            OPC_EmitInteger, MVT::i32, 0, 
   23166             : /* 44016*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23167             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   23168             : /* 44023*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23169             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   23170             :                       // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 7
   23171             :                       // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23172             : /* 44033*/          /*Scope*/ 30, /*->44064*/
   23173             : /* 44034*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   23174             : /* 44036*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23175             : /* 44038*/            OPC_EmitMergeInputChains1_0,
   23176             : /* 44039*/            OPC_EmitInteger, MVT::i32, 0, 
   23177             : /* 44042*/            OPC_EmitConvertToTarget, 1,
   23178             : /* 44044*/            OPC_EmitInteger, MVT::i32, 0, 
   23179             : /* 44047*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23180             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   23181             : /* 44054*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23182             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   23183             :                       // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 7
   23184             :                       // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23185             : /* 44064*/          /*Scope*/ 30, /*->44095*/
   23186             : /* 44065*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   23187             : /* 44067*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23188             : /* 44069*/            OPC_EmitMergeInputChains1_0,
   23189             : /* 44070*/            OPC_EmitInteger, MVT::i32, 0, 
   23190             : /* 44073*/            OPC_EmitConvertToTarget, 1,
   23191             : /* 44075*/            OPC_EmitInteger, MVT::i32, 0, 
   23192             : /* 44078*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23193             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   23194             : /* 44085*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23195             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   23196             :                       // Src: (atomic_load_sub:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 7
   23197             :                       // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23198             : /* 44095*/          0, /*End of Scope*/
   23199             : /* 44096*/        /*SwitchType*/ 30, MVT::i64,// ->44128
   23200             : /* 44098*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
   23201             : /* 44100*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23202             : /* 44102*/          OPC_EmitMergeInputChains1_0,
   23203             : /* 44103*/          OPC_EmitInteger, MVT::i32, 0, 
   23204             : /* 44106*/          OPC_EmitConvertToTarget, 1,
   23205             : /* 44108*/          OPC_EmitInteger, MVT::i32, 0, 
   23206             : /* 44111*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23207             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   23208             : /* 44118*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23209             :                         MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   23210             :                     // Src: (atomic_load_sub:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 7
   23211             :                     // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   23212             : /* 44128*/        0, // EndSwitchType
   23213             : /* 44129*/      /*Scope*/ 98, /*->44228*/
   23214             : /* 44130*/        OPC_CheckChild1Type, MVT::i32,
   23215             : /* 44132*/        OPC_RecordChild2, // #2 = $val
   23216             : /* 44133*/        OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->44204
   23217             : /* 44136*/          OPC_Scope, 21, /*->44159*/ // 3 children in Scope
   23218             : /* 44138*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_sub_32
   23219             : /* 44140*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23220             : /* 44142*/            OPC_EmitMergeInputChains1_0,
   23221             : /* 44143*/            OPC_EmitInteger, MVT::i32, 0, 
   23222             : /* 44146*/            OPC_EmitInteger, MVT::i32, 0, 
   23223             : /* 44149*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23224             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   23225             :                       // Src: (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_32>> - Complexity = 4
   23226             :                       // Dst: (ATOMIC_RMW_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23227             : /* 44159*/          /*Scope*/ 21, /*->44181*/
   23228             : /* 44160*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_sub_8
   23229             : /* 44162*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23230             : /* 44164*/            OPC_EmitMergeInputChains1_0,
   23231             : /* 44165*/            OPC_EmitInteger, MVT::i32, 0, 
   23232             : /* 44168*/            OPC_EmitInteger, MVT::i32, 0, 
   23233             : /* 44171*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23234             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   23235             :                       // Src: (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_8>> - Complexity = 4
   23236             :                       // Dst: (ATOMIC_RMW8_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23237             : /* 44181*/          /*Scope*/ 21, /*->44203*/
   23238             : /* 44182*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_sub_16
   23239             : /* 44184*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23240             : /* 44186*/            OPC_EmitMergeInputChains1_0,
   23241             : /* 44187*/            OPC_EmitInteger, MVT::i32, 0, 
   23242             : /* 44190*/            OPC_EmitInteger, MVT::i32, 0, 
   23243             : /* 44193*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_SUB_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23244             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   23245             :                       // Src: (atomic_load_sub:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_sub_16>> - Complexity = 4
   23246             :                       // Dst: (ATOMIC_RMW16_U_SUB_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23247             : /* 44203*/          0, /*End of Scope*/
   23248             : /* 44204*/        /*SwitchType*/ 21, MVT::i64,// ->44227
   23249             : /* 44206*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_sub_64
   23250             : /* 44208*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23251             : /* 44210*/          OPC_EmitMergeInputChains1_0,
   23252             : /* 44211*/          OPC_EmitInteger, MVT::i32, 0, 
   23253             : /* 44214*/          OPC_EmitInteger, MVT::i32, 0, 
   23254             : /* 44217*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_SUB_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23255             :                         MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   23256             :                     // Src: (atomic_load_sub:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_sub_64>> - Complexity = 4
   23257             :                     // Dst: (ATOMIC_RMW_SUB_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23258             : /* 44227*/        0, // EndSwitchType
   23259             : /* 44228*/      0, /*End of Scope*/
   23260             : /* 44229*/    0, /*End of Scope*/
   23261             : /* 44230*/  /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_LOAD_AND),// ->45374
   23262             : /* 44234*/    OPC_RecordMemRef,
   23263             : /* 44235*/    OPC_RecordNode, // #0 = 'atomic_load_and' chained node
   23264             : /* 44236*/    OPC_Scope, 123|128,6/*891*/, /*->45130*/ // 2 children in Scope
   23265             : /* 44239*/      OPC_MoveChild1,
   23266             : /* 44240*/      OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->44756
   23267             : /* 44245*/        OPC_Scope, 101, /*->44348*/ // 5 children in Scope
   23268             : /* 44247*/          OPC_RecordChild0, // #1 = $addr
   23269             : /* 44248*/          OPC_MoveChild1,
   23270             : /* 44249*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   23271             : /* 44252*/          OPC_RecordChild0, // #2 = $off
   23272             : /* 44253*/          OPC_MoveChild0,
   23273             : /* 44254*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   23274             : /* 44257*/          OPC_MoveParent,
   23275             : /* 44258*/          OPC_MoveParent,
   23276             : /* 44259*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   23277             : /* 44261*/          OPC_CheckType, MVT::i32,
   23278             : /* 44263*/          OPC_MoveParent,
   23279             : /* 44264*/          OPC_RecordChild2, // #3 = $val
   23280             : /* 44265*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->44327
   23281             : /* 44268*/            OPC_Scope, 18, /*->44288*/ // 3 children in Scope
   23282             : /* 44270*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   23283             : /* 44272*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23284             : /* 44274*/              OPC_EmitMergeInputChains1_0,
   23285             : /* 44275*/              OPC_EmitInteger, MVT::i32, 0, 
   23286             : /* 44278*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23287             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23288             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 14
   23289             :                         // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23290             : /* 44288*/            /*Scope*/ 18, /*->44307*/
   23291             : /* 44289*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   23292             : /* 44291*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23293             : /* 44293*/              OPC_EmitMergeInputChains1_0,
   23294             : /* 44294*/              OPC_EmitInteger, MVT::i32, 0, 
   23295             : /* 44297*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23296             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23297             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 14
   23298             :                         // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23299             : /* 44307*/            /*Scope*/ 18, /*->44326*/
   23300             : /* 44308*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   23301             : /* 44310*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23302             : /* 44312*/              OPC_EmitMergeInputChains1_0,
   23303             : /* 44313*/              OPC_EmitInteger, MVT::i32, 0, 
   23304             : /* 44316*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23305             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23306             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 14
   23307             :                         // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23308             : /* 44326*/            0, /*End of Scope*/
   23309             : /* 44327*/          /*SwitchType*/ 18, MVT::i64,// ->44347
   23310             : /* 44329*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
   23311             : /* 44331*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23312             : /* 44333*/            OPC_EmitMergeInputChains1_0,
   23313             : /* 44334*/            OPC_EmitInteger, MVT::i32, 0, 
   23314             : /* 44337*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23315             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   23316             :                       // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 14
   23317             :                       // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23318             : /* 44347*/          0, // EndSwitchType
   23319             : /* 44348*/        /*Scope*/ 101, /*->44450*/
   23320             : /* 44349*/          OPC_MoveChild0,
   23321             : /* 44350*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   23322             : /* 44353*/          OPC_RecordChild0, // #1 = $off
   23323             : /* 44354*/          OPC_MoveChild0,
   23324             : /* 44355*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   23325             : /* 44358*/          OPC_MoveParent,
   23326             : /* 44359*/          OPC_MoveParent,
   23327             : /* 44360*/          OPC_RecordChild1, // #2 = $addr
   23328             : /* 44361*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   23329             : /* 44363*/          OPC_CheckType, MVT::i32,
   23330             : /* 44365*/          OPC_MoveParent,
   23331             : /* 44366*/          OPC_RecordChild2, // #3 = $val
   23332             : /* 44367*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->44429
   23333             : /* 44370*/            OPC_Scope, 18, /*->44390*/ // 3 children in Scope
   23334             : /* 44372*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   23335             : /* 44374*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23336             : /* 44376*/              OPC_EmitMergeInputChains1_0,
   23337             : /* 44377*/              OPC_EmitInteger, MVT::i32, 0, 
   23338             : /* 44380*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23339             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   23340             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 14
   23341             :                         // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23342             : /* 44390*/            /*Scope*/ 18, /*->44409*/
   23343             : /* 44391*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   23344             : /* 44393*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23345             : /* 44395*/              OPC_EmitMergeInputChains1_0,
   23346             : /* 44396*/              OPC_EmitInteger, MVT::i32, 0, 
   23347             : /* 44399*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23348             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   23349             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 14
   23350             :                         // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23351             : /* 44409*/            /*Scope*/ 18, /*->44428*/
   23352             : /* 44410*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   23353             : /* 44412*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23354             : /* 44414*/              OPC_EmitMergeInputChains1_0,
   23355             : /* 44415*/              OPC_EmitInteger, MVT::i32, 0, 
   23356             : /* 44418*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23357             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   23358             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 14
   23359             :                         // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23360             : /* 44428*/            0, /*End of Scope*/
   23361             : /* 44429*/          /*SwitchType*/ 18, MVT::i64,// ->44449
   23362             : /* 44431*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
   23363             : /* 44433*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23364             : /* 44435*/            OPC_EmitMergeInputChains1_0,
   23365             : /* 44436*/            OPC_EmitInteger, MVT::i32, 0, 
   23366             : /* 44439*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23367             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   23368             :                       // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 14
   23369             :                       // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23370             : /* 44449*/          0, // EndSwitchType
   23371             : /* 44450*/        /*Scope*/ 99, /*->44550*/
   23372             : /* 44451*/          OPC_RecordChild0, // #1 = $addr
   23373             : /* 44452*/          OPC_MoveChild1,
   23374             : /* 44453*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   23375             : /* 44456*/          OPC_RecordChild0, // #2 = $off
   23376             : /* 44457*/          OPC_MoveChild0,
   23377             : /* 44458*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   23378             : /* 44461*/          OPC_MoveParent,
   23379             : /* 44462*/          OPC_MoveParent,
   23380             : /* 44463*/          OPC_CheckType, MVT::i32,
   23381             : /* 44465*/          OPC_MoveParent,
   23382             : /* 44466*/          OPC_RecordChild2, // #3 = $val
   23383             : /* 44467*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->44529
   23384             : /* 44470*/            OPC_Scope, 18, /*->44490*/ // 3 children in Scope
   23385             : /* 44472*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   23386             : /* 44474*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23387             : /* 44476*/              OPC_EmitMergeInputChains1_0,
   23388             : /* 44477*/              OPC_EmitInteger, MVT::i32, 0, 
   23389             : /* 44480*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23390             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23391             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 13
   23392             :                         // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23393             : /* 44490*/            /*Scope*/ 18, /*->44509*/
   23394             : /* 44491*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   23395             : /* 44493*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23396             : /* 44495*/              OPC_EmitMergeInputChains1_0,
   23397             : /* 44496*/              OPC_EmitInteger, MVT::i32, 0, 
   23398             : /* 44499*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23399             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23400             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 13
   23401             :                         // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23402             : /* 44509*/            /*Scope*/ 18, /*->44528*/
   23403             : /* 44510*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   23404             : /* 44512*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23405             : /* 44514*/              OPC_EmitMergeInputChains1_0,
   23406             : /* 44515*/              OPC_EmitInteger, MVT::i32, 0, 
   23407             : /* 44518*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23408             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23409             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 13
   23410             :                         // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23411             : /* 44528*/            0, /*End of Scope*/
   23412             : /* 44529*/          /*SwitchType*/ 18, MVT::i64,// ->44549
   23413             : /* 44531*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
   23414             : /* 44533*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23415             : /* 44535*/            OPC_EmitMergeInputChains1_0,
   23416             : /* 44536*/            OPC_EmitInteger, MVT::i32, 0, 
   23417             : /* 44539*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23418             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   23419             :                       // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 13
   23420             :                       // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23421             : /* 44549*/          0, // EndSwitchType
   23422             : /* 44550*/        /*Scope*/ 99, /*->44650*/
   23423             : /* 44551*/          OPC_MoveChild0,
   23424             : /* 44552*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   23425             : /* 44555*/          OPC_RecordChild0, // #1 = $off
   23426             : /* 44556*/          OPC_MoveChild0,
   23427             : /* 44557*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   23428             : /* 44560*/          OPC_MoveParent,
   23429             : /* 44561*/          OPC_MoveParent,
   23430             : /* 44562*/          OPC_RecordChild1, // #2 = $addr
   23431             : /* 44563*/          OPC_CheckType, MVT::i32,
   23432             : /* 44565*/          OPC_MoveParent,
   23433             : /* 44566*/          OPC_RecordChild2, // #3 = $val
   23434             : /* 44567*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->44629
   23435             : /* 44570*/            OPC_Scope, 18, /*->44590*/ // 3 children in Scope
   23436             : /* 44572*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   23437             : /* 44574*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23438             : /* 44576*/              OPC_EmitMergeInputChains1_0,
   23439             : /* 44577*/              OPC_EmitInteger, MVT::i32, 0, 
   23440             : /* 44580*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23441             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   23442             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 13
   23443             :                         // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23444             : /* 44590*/            /*Scope*/ 18, /*->44609*/
   23445             : /* 44591*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   23446             : /* 44593*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23447             : /* 44595*/              OPC_EmitMergeInputChains1_0,
   23448             : /* 44596*/              OPC_EmitInteger, MVT::i32, 0, 
   23449             : /* 44599*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23450             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   23451             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 13
   23452             :                         // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23453             : /* 44609*/            /*Scope*/ 18, /*->44628*/
   23454             : /* 44610*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   23455             : /* 44612*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23456             : /* 44614*/              OPC_EmitMergeInputChains1_0,
   23457             : /* 44615*/              OPC_EmitInteger, MVT::i32, 0, 
   23458             : /* 44618*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23459             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   23460             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 13
   23461             :                         // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23462             : /* 44628*/            0, /*End of Scope*/
   23463             : /* 44629*/          /*SwitchType*/ 18, MVT::i64,// ->44649
   23464             : /* 44631*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
   23465             : /* 44633*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23466             : /* 44635*/            OPC_EmitMergeInputChains1_0,
   23467             : /* 44636*/            OPC_EmitInteger, MVT::i32, 0, 
   23468             : /* 44639*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23469             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   23470             :                       // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 13
   23471             :                       // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23472             : /* 44649*/          0, // EndSwitchType
   23473             : /* 44650*/        /*Scope*/ 104, /*->44755*/
   23474             : /* 44651*/          OPC_RecordChild0, // #1 = $addr
   23475             : /* 44652*/          OPC_RecordChild1, // #2 = $off
   23476             : /* 44653*/          OPC_MoveChild1,
   23477             : /* 44654*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   23478             : /* 44657*/          OPC_MoveParent,
   23479             : /* 44658*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   23480             : /* 44660*/          OPC_CheckType, MVT::i32,
   23481             : /* 44662*/          OPC_MoveParent,
   23482             : /* 44663*/          OPC_RecordChild2, // #3 = $val
   23483             : /* 44664*/          OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->44732
   23484             : /* 44667*/            OPC_Scope, 20, /*->44689*/ // 3 children in Scope
   23485             : /* 44669*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   23486             : /* 44671*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23487             : /* 44673*/              OPC_EmitMergeInputChains1_0,
   23488             : /* 44674*/              OPC_EmitInteger, MVT::i32, 0, 
   23489             : /* 44677*/              OPC_EmitConvertToTarget, 2,
   23490             : /* 44679*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23491             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   23492             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 11
   23493             :                         // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23494             : /* 44689*/            /*Scope*/ 20, /*->44710*/
   23495             : /* 44690*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   23496             : /* 44692*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23497             : /* 44694*/              OPC_EmitMergeInputChains1_0,
   23498             : /* 44695*/              OPC_EmitInteger, MVT::i32, 0, 
   23499             : /* 44698*/              OPC_EmitConvertToTarget, 2,
   23500             : /* 44700*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23501             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   23502             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 11
   23503             :                         // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23504             : /* 44710*/            /*Scope*/ 20, /*->44731*/
   23505             : /* 44711*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   23506             : /* 44713*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23507             : /* 44715*/              OPC_EmitMergeInputChains1_0,
   23508             : /* 44716*/              OPC_EmitInteger, MVT::i32, 0, 
   23509             : /* 44719*/              OPC_EmitConvertToTarget, 2,
   23510             : /* 44721*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23511             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   23512             :                         // Src: (atomic_load_and:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 11
   23513             :                         // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23514             : /* 44731*/            0, /*End of Scope*/
   23515             : /* 44732*/          /*SwitchType*/ 20, MVT::i64,// ->44754
   23516             : /* 44734*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
   23517             : /* 44736*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23518             : /* 44738*/            OPC_EmitMergeInputChains1_0,
   23519             : /* 44739*/            OPC_EmitInteger, MVT::i32, 0, 
   23520             : /* 44742*/            OPC_EmitConvertToTarget, 2,
   23521             : /* 44744*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23522             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   23523             :                       // Src: (atomic_load_and:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 11
   23524             :                       // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23525             : /* 44754*/          0, // EndSwitchType
   23526             : /* 44755*/        0, /*End of Scope*/
   23527             : /* 44756*/      /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->44863
   23528             : /* 44759*/        OPC_RecordChild0, // #1 = $addr
   23529             : /* 44760*/        OPC_RecordChild1, // #2 = $off
   23530             : /* 44761*/        OPC_MoveChild1,
   23531             : /* 44762*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   23532             : /* 44765*/        OPC_MoveParent,
   23533             : /* 44766*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   23534             : /* 44768*/        OPC_CheckType, MVT::i32,
   23535             : /* 44770*/        OPC_MoveParent,
   23536             : /* 44771*/        OPC_RecordChild2, // #3 = $val
   23537             : /* 44772*/        OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->44840
   23538             : /* 44775*/          OPC_Scope, 20, /*->44797*/ // 3 children in Scope
   23539             : /* 44777*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   23540             : /* 44779*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23541             : /* 44781*/            OPC_EmitMergeInputChains1_0,
   23542             : /* 44782*/            OPC_EmitInteger, MVT::i32, 0, 
   23543             : /* 44785*/            OPC_EmitConvertToTarget, 2,
   23544             : /* 44787*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23545             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   23546             :                       // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 11
   23547             :                       // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23548             : /* 44797*/          /*Scope*/ 20, /*->44818*/
   23549             : /* 44798*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   23550             : /* 44800*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23551             : /* 44802*/            OPC_EmitMergeInputChains1_0,
   23552             : /* 44803*/            OPC_EmitInteger, MVT::i32, 0, 
   23553             : /* 44806*/            OPC_EmitConvertToTarget, 2,
   23554             : /* 44808*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23555             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   23556             :                       // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 11
   23557             :                       // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23558             : /* 44818*/          /*Scope*/ 20, /*->44839*/
   23559             : /* 44819*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   23560             : /* 44821*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23561             : /* 44823*/            OPC_EmitMergeInputChains1_0,
   23562             : /* 44824*/            OPC_EmitInteger, MVT::i32, 0, 
   23563             : /* 44827*/            OPC_EmitConvertToTarget, 2,
   23564             : /* 44829*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23565             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   23566             :                       // Src: (atomic_load_and:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 11
   23567             :                       // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23568             : /* 44839*/          0, /*End of Scope*/
   23569             : /* 44840*/        /*SwitchType*/ 20, MVT::i64,// ->44862
   23570             : /* 44842*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
   23571             : /* 44844*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23572             : /* 44846*/          OPC_EmitMergeInputChains1_0,
   23573             : /* 44847*/          OPC_EmitInteger, MVT::i32, 0, 
   23574             : /* 44850*/          OPC_EmitConvertToTarget, 2,
   23575             : /* 44852*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23576             :                         MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   23577             :                     // Src: (atomic_load_and:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 11
   23578             :                     // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23579             : /* 44862*/        0, // EndSwitchType
   23580             : /* 44863*/      /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->45129
   23581             : /* 44867*/        OPC_RecordChild0, // #1 = $off
   23582             : /* 44868*/        OPC_MoveChild0,
   23583             : /* 44869*/        OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->44999
   23584             : /* 44873*/          OPC_MoveParent,
   23585             : /* 44874*/          OPC_MoveParent,
   23586             : /* 44875*/          OPC_RecordChild2, // #2 = $val
   23587             : /* 44876*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->44968
   23588             : /* 44879*/            OPC_Scope, 28, /*->44909*/ // 3 children in Scope
   23589             : /* 44881*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   23590             : /* 44883*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23591             : /* 44885*/              OPC_EmitMergeInputChains1_0,
   23592             : /* 44886*/              OPC_EmitInteger, MVT::i32, 0, 
   23593             : /* 44889*/              OPC_EmitInteger, MVT::i32, 0, 
   23594             : /* 44892*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23595             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23596             : /* 44899*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23597             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23598             :                         // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 10
   23599             :                         // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23600             : /* 44909*/            /*Scope*/ 28, /*->44938*/
   23601             : /* 44910*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   23602             : /* 44912*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23603             : /* 44914*/              OPC_EmitMergeInputChains1_0,
   23604             : /* 44915*/              OPC_EmitInteger, MVT::i32, 0, 
   23605             : /* 44918*/              OPC_EmitInteger, MVT::i32, 0, 
   23606             : /* 44921*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23607             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23608             : /* 44928*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23609             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23610             :                         // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 10
   23611             :                         // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23612             : /* 44938*/            /*Scope*/ 28, /*->44967*/
   23613             : /* 44939*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   23614             : /* 44941*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23615             : /* 44943*/              OPC_EmitMergeInputChains1_0,
   23616             : /* 44944*/              OPC_EmitInteger, MVT::i32, 0, 
   23617             : /* 44947*/              OPC_EmitInteger, MVT::i32, 0, 
   23618             : /* 44950*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23619             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23620             : /* 44957*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23621             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23622             :                         // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 10
   23623             :                         // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23624             : /* 44967*/            0, /*End of Scope*/
   23625             : /* 44968*/          /*SwitchType*/ 28, MVT::i64,// ->44998
   23626             : /* 44970*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
   23627             : /* 44972*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23628             : /* 44974*/            OPC_EmitMergeInputChains1_0,
   23629             : /* 44975*/            OPC_EmitInteger, MVT::i32, 0, 
   23630             : /* 44978*/            OPC_EmitInteger, MVT::i32, 0, 
   23631             : /* 44981*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23632             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23633             : /* 44988*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23634             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   23635             :                       // Src: (atomic_load_and:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 10
   23636             :                       // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   23637             : /* 44998*/          0, // EndSwitchType
   23638             : /* 44999*/        /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->45128
   23639             : /* 45002*/          OPC_MoveParent,
   23640             : /* 45003*/          OPC_MoveParent,
   23641             : /* 45004*/          OPC_RecordChild2, // #2 = $val
   23642             : /* 45005*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->45097
   23643             : /* 45008*/            OPC_Scope, 28, /*->45038*/ // 3 children in Scope
   23644             : /* 45010*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   23645             : /* 45012*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23646             : /* 45014*/              OPC_EmitMergeInputChains1_0,
   23647             : /* 45015*/              OPC_EmitInteger, MVT::i32, 0, 
   23648             : /* 45018*/              OPC_EmitInteger, MVT::i32, 0, 
   23649             : /* 45021*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23650             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23651             : /* 45028*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23652             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23653             :                         // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 10
   23654             :                         // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23655             : /* 45038*/            /*Scope*/ 28, /*->45067*/
   23656             : /* 45039*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   23657             : /* 45041*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23658             : /* 45043*/              OPC_EmitMergeInputChains1_0,
   23659             : /* 45044*/              OPC_EmitInteger, MVT::i32, 0, 
   23660             : /* 45047*/              OPC_EmitInteger, MVT::i32, 0, 
   23661             : /* 45050*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23662             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23663             : /* 45057*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23664             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23665             :                         // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 10
   23666             :                         // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23667             : /* 45067*/            /*Scope*/ 28, /*->45096*/
   23668             : /* 45068*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   23669             : /* 45070*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23670             : /* 45072*/              OPC_EmitMergeInputChains1_0,
   23671             : /* 45073*/              OPC_EmitInteger, MVT::i32, 0, 
   23672             : /* 45076*/              OPC_EmitInteger, MVT::i32, 0, 
   23673             : /* 45079*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23674             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23675             : /* 45086*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23676             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   23677             :                         // Src: (atomic_load_and:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 10
   23678             :                         // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23679             : /* 45096*/            0, /*End of Scope*/
   23680             : /* 45097*/          /*SwitchType*/ 28, MVT::i64,// ->45127
   23681             : /* 45099*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
   23682             : /* 45101*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23683             : /* 45103*/            OPC_EmitMergeInputChains1_0,
   23684             : /* 45104*/            OPC_EmitInteger, MVT::i32, 0, 
   23685             : /* 45107*/            OPC_EmitInteger, MVT::i32, 0, 
   23686             : /* 45110*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23687             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   23688             : /* 45117*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23689             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   23690             :                       // Src: (atomic_load_and:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 10
   23691             :                       // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   23692             : /* 45127*/          0, // EndSwitchType
   23693             : /* 45128*/        0, // EndSwitchOpcode
   23694             : /* 45129*/      0, // EndSwitchOpcode
   23695             : /* 45130*/    /*Scope*/ 113|128,1/*241*/, /*->45373*/
   23696             : /* 45132*/      OPC_RecordChild1, // #1 = $off
   23697             : /* 45133*/      OPC_Scope, 9|128,1/*137*/, /*->45273*/ // 2 children in Scope
   23698             : /* 45136*/        OPC_MoveChild1,
   23699             : /* 45137*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   23700             : /* 45140*/        OPC_MoveParent,
   23701             : /* 45141*/        OPC_RecordChild2, // #2 = $val
   23702             : /* 45142*/        OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->45240
   23703             : /* 45145*/          OPC_Scope, 30, /*->45177*/ // 3 children in Scope
   23704             : /* 45147*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   23705             : /* 45149*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23706             : /* 45151*/            OPC_EmitMergeInputChains1_0,
   23707             : /* 45152*/            OPC_EmitInteger, MVT::i32, 0, 
   23708             : /* 45155*/            OPC_EmitConvertToTarget, 1,
   23709             : /* 45157*/            OPC_EmitInteger, MVT::i32, 0, 
   23710             : /* 45160*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23711             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   23712             : /* 45167*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23713             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   23714             :                       // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 7
   23715             :                       // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23716             : /* 45177*/          /*Scope*/ 30, /*->45208*/
   23717             : /* 45178*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   23718             : /* 45180*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23719             : /* 45182*/            OPC_EmitMergeInputChains1_0,
   23720             : /* 45183*/            OPC_EmitInteger, MVT::i32, 0, 
   23721             : /* 45186*/            OPC_EmitConvertToTarget, 1,
   23722             : /* 45188*/            OPC_EmitInteger, MVT::i32, 0, 
   23723             : /* 45191*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23724             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   23725             : /* 45198*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23726             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   23727             :                       // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 7
   23728             :                       // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23729             : /* 45208*/          /*Scope*/ 30, /*->45239*/
   23730             : /* 45209*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   23731             : /* 45211*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23732             : /* 45213*/            OPC_EmitMergeInputChains1_0,
   23733             : /* 45214*/            OPC_EmitInteger, MVT::i32, 0, 
   23734             : /* 45217*/            OPC_EmitConvertToTarget, 1,
   23735             : /* 45219*/            OPC_EmitInteger, MVT::i32, 0, 
   23736             : /* 45222*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23737             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   23738             : /* 45229*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23739             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   23740             :                       // Src: (atomic_load_and:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 7
   23741             :                       // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   23742             : /* 45239*/          0, /*End of Scope*/
   23743             : /* 45240*/        /*SwitchType*/ 30, MVT::i64,// ->45272
   23744             : /* 45242*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
   23745             : /* 45244*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23746             : /* 45246*/          OPC_EmitMergeInputChains1_0,
   23747             : /* 45247*/          OPC_EmitInteger, MVT::i32, 0, 
   23748             : /* 45250*/          OPC_EmitConvertToTarget, 1,
   23749             : /* 45252*/          OPC_EmitInteger, MVT::i32, 0, 
   23750             : /* 45255*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   23751             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   23752             : /* 45262*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23753             :                         MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   23754             :                     // Src: (atomic_load_and:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 7
   23755             :                     // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   23756             : /* 45272*/        0, // EndSwitchType
   23757             : /* 45273*/      /*Scope*/ 98, /*->45372*/
   23758             : /* 45274*/        OPC_CheckChild1Type, MVT::i32,
   23759             : /* 45276*/        OPC_RecordChild2, // #2 = $val
   23760             : /* 45277*/        OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->45348
   23761             : /* 45280*/          OPC_Scope, 21, /*->45303*/ // 3 children in Scope
   23762             : /* 45282*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_and_32
   23763             : /* 45284*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23764             : /* 45286*/            OPC_EmitMergeInputChains1_0,
   23765             : /* 45287*/            OPC_EmitInteger, MVT::i32, 0, 
   23766             : /* 45290*/            OPC_EmitInteger, MVT::i32, 0, 
   23767             : /* 45293*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23768             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   23769             :                       // Src: (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_32>> - Complexity = 4
   23770             :                       // Dst: (ATOMIC_RMW_AND_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23771             : /* 45303*/          /*Scope*/ 21, /*->45325*/
   23772             : /* 45304*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_and_8
   23773             : /* 45306*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23774             : /* 45308*/            OPC_EmitMergeInputChains1_0,
   23775             : /* 45309*/            OPC_EmitInteger, MVT::i32, 0, 
   23776             : /* 45312*/            OPC_EmitInteger, MVT::i32, 0, 
   23777             : /* 45315*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23778             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   23779             :                       // Src: (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_8>> - Complexity = 4
   23780             :                       // Dst: (ATOMIC_RMW8_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23781             : /* 45325*/          /*Scope*/ 21, /*->45347*/
   23782             : /* 45326*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_and_16
   23783             : /* 45328*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23784             : /* 45330*/            OPC_EmitMergeInputChains1_0,
   23785             : /* 45331*/            OPC_EmitInteger, MVT::i32, 0, 
   23786             : /* 45334*/            OPC_EmitInteger, MVT::i32, 0, 
   23787             : /* 45337*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_AND_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23788             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   23789             :                       // Src: (atomic_load_and:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_and_16>> - Complexity = 4
   23790             :                       // Dst: (ATOMIC_RMW16_U_AND_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23791             : /* 45347*/          0, /*End of Scope*/
   23792             : /* 45348*/        /*SwitchType*/ 21, MVT::i64,// ->45371
   23793             : /* 45350*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_and_64
   23794             : /* 45352*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23795             : /* 45354*/          OPC_EmitMergeInputChains1_0,
   23796             : /* 45355*/          OPC_EmitInteger, MVT::i32, 0, 
   23797             : /* 45358*/          OPC_EmitInteger, MVT::i32, 0, 
   23798             : /* 45361*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_AND_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23799             :                         MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   23800             :                     // Src: (atomic_load_and:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_and_64>> - Complexity = 4
   23801             :                     // Dst: (ATOMIC_RMW_AND_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23802             : /* 45371*/        0, // EndSwitchType
   23803             : /* 45372*/      0, /*End of Scope*/
   23804             : /* 45373*/    0, /*End of Scope*/
   23805             : /* 45374*/  /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_LOAD_OR),// ->46518
   23806             : /* 45378*/    OPC_RecordMemRef,
   23807             : /* 45379*/    OPC_RecordNode, // #0 = 'atomic_load_or' chained node
   23808             : /* 45380*/    OPC_Scope, 123|128,6/*891*/, /*->46274*/ // 2 children in Scope
   23809             : /* 45383*/      OPC_MoveChild1,
   23810             : /* 45384*/      OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->45900
   23811             : /* 45389*/        OPC_Scope, 101, /*->45492*/ // 5 children in Scope
   23812             : /* 45391*/          OPC_RecordChild0, // #1 = $addr
   23813             : /* 45392*/          OPC_MoveChild1,
   23814             : /* 45393*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   23815             : /* 45396*/          OPC_RecordChild0, // #2 = $off
   23816             : /* 45397*/          OPC_MoveChild0,
   23817             : /* 45398*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   23818             : /* 45401*/          OPC_MoveParent,
   23819             : /* 45402*/          OPC_MoveParent,
   23820             : /* 45403*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   23821             : /* 45405*/          OPC_CheckType, MVT::i32,
   23822             : /* 45407*/          OPC_MoveParent,
   23823             : /* 45408*/          OPC_RecordChild2, // #3 = $val
   23824             : /* 45409*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->45471
   23825             : /* 45412*/            OPC_Scope, 18, /*->45432*/ // 3 children in Scope
   23826             : /* 45414*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   23827             : /* 45416*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23828             : /* 45418*/              OPC_EmitMergeInputChains1_0,
   23829             : /* 45419*/              OPC_EmitInteger, MVT::i32, 0, 
   23830             : /* 45422*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23831             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23832             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 14
   23833             :                         // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23834             : /* 45432*/            /*Scope*/ 18, /*->45451*/
   23835             : /* 45433*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   23836             : /* 45435*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23837             : /* 45437*/              OPC_EmitMergeInputChains1_0,
   23838             : /* 45438*/              OPC_EmitInteger, MVT::i32, 0, 
   23839             : /* 45441*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23840             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23841             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 14
   23842             :                         // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23843             : /* 45451*/            /*Scope*/ 18, /*->45470*/
   23844             : /* 45452*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   23845             : /* 45454*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23846             : /* 45456*/              OPC_EmitMergeInputChains1_0,
   23847             : /* 45457*/              OPC_EmitInteger, MVT::i32, 0, 
   23848             : /* 45460*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23849             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23850             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 14
   23851             :                         // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23852             : /* 45470*/            0, /*End of Scope*/
   23853             : /* 45471*/          /*SwitchType*/ 18, MVT::i64,// ->45491
   23854             : /* 45473*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
   23855             : /* 45475*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23856             : /* 45477*/            OPC_EmitMergeInputChains1_0,
   23857             : /* 45478*/            OPC_EmitInteger, MVT::i32, 0, 
   23858             : /* 45481*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23859             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   23860             :                       // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 14
   23861             :                       // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23862             : /* 45491*/          0, // EndSwitchType
   23863             : /* 45492*/        /*Scope*/ 101, /*->45594*/
   23864             : /* 45493*/          OPC_MoveChild0,
   23865             : /* 45494*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   23866             : /* 45497*/          OPC_RecordChild0, // #1 = $off
   23867             : /* 45498*/          OPC_MoveChild0,
   23868             : /* 45499*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   23869             : /* 45502*/          OPC_MoveParent,
   23870             : /* 45503*/          OPC_MoveParent,
   23871             : /* 45504*/          OPC_RecordChild1, // #2 = $addr
   23872             : /* 45505*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   23873             : /* 45507*/          OPC_CheckType, MVT::i32,
   23874             : /* 45509*/          OPC_MoveParent,
   23875             : /* 45510*/          OPC_RecordChild2, // #3 = $val
   23876             : /* 45511*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->45573
   23877             : /* 45514*/            OPC_Scope, 18, /*->45534*/ // 3 children in Scope
   23878             : /* 45516*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   23879             : /* 45518*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23880             : /* 45520*/              OPC_EmitMergeInputChains1_0,
   23881             : /* 45521*/              OPC_EmitInteger, MVT::i32, 0, 
   23882             : /* 45524*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23883             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   23884             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 14
   23885             :                         // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23886             : /* 45534*/            /*Scope*/ 18, /*->45553*/
   23887             : /* 45535*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   23888             : /* 45537*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23889             : /* 45539*/              OPC_EmitMergeInputChains1_0,
   23890             : /* 45540*/              OPC_EmitInteger, MVT::i32, 0, 
   23891             : /* 45543*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23892             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   23893             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 14
   23894             :                         // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23895             : /* 45553*/            /*Scope*/ 18, /*->45572*/
   23896             : /* 45554*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   23897             : /* 45556*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23898             : /* 45558*/              OPC_EmitMergeInputChains1_0,
   23899             : /* 45559*/              OPC_EmitInteger, MVT::i32, 0, 
   23900             : /* 45562*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23901             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   23902             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 14
   23903             :                         // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23904             : /* 45572*/            0, /*End of Scope*/
   23905             : /* 45573*/          /*SwitchType*/ 18, MVT::i64,// ->45593
   23906             : /* 45575*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
   23907             : /* 45577*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23908             : /* 45579*/            OPC_EmitMergeInputChains1_0,
   23909             : /* 45580*/            OPC_EmitInteger, MVT::i32, 0, 
   23910             : /* 45583*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23911             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   23912             :                       // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 14
   23913             :                       // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23914             : /* 45593*/          0, // EndSwitchType
   23915             : /* 45594*/        /*Scope*/ 99, /*->45694*/
   23916             : /* 45595*/          OPC_RecordChild0, // #1 = $addr
   23917             : /* 45596*/          OPC_MoveChild1,
   23918             : /* 45597*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   23919             : /* 45600*/          OPC_RecordChild0, // #2 = $off
   23920             : /* 45601*/          OPC_MoveChild0,
   23921             : /* 45602*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   23922             : /* 45605*/          OPC_MoveParent,
   23923             : /* 45606*/          OPC_MoveParent,
   23924             : /* 45607*/          OPC_CheckType, MVT::i32,
   23925             : /* 45609*/          OPC_MoveParent,
   23926             : /* 45610*/          OPC_RecordChild2, // #3 = $val
   23927             : /* 45611*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->45673
   23928             : /* 45614*/            OPC_Scope, 18, /*->45634*/ // 3 children in Scope
   23929             : /* 45616*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   23930             : /* 45618*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23931             : /* 45620*/              OPC_EmitMergeInputChains1_0,
   23932             : /* 45621*/              OPC_EmitInteger, MVT::i32, 0, 
   23933             : /* 45624*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23934             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23935             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 13
   23936             :                         // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23937             : /* 45634*/            /*Scope*/ 18, /*->45653*/
   23938             : /* 45635*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   23939             : /* 45637*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23940             : /* 45639*/              OPC_EmitMergeInputChains1_0,
   23941             : /* 45640*/              OPC_EmitInteger, MVT::i32, 0, 
   23942             : /* 45643*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23943             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23944             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 13
   23945             :                         // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23946             : /* 45653*/            /*Scope*/ 18, /*->45672*/
   23947             : /* 45654*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   23948             : /* 45656*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23949             : /* 45658*/              OPC_EmitMergeInputChains1_0,
   23950             : /* 45659*/              OPC_EmitInteger, MVT::i32, 0, 
   23951             : /* 45662*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23952             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   23953             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 13
   23954             :                         // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23955             : /* 45672*/            0, /*End of Scope*/
   23956             : /* 45673*/          /*SwitchType*/ 18, MVT::i64,// ->45693
   23957             : /* 45675*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
   23958             : /* 45677*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23959             : /* 45679*/            OPC_EmitMergeInputChains1_0,
   23960             : /* 45680*/            OPC_EmitInteger, MVT::i32, 0, 
   23961             : /* 45683*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   23962             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   23963             :                       // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 13
   23964             :                       // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   23965             : /* 45693*/          0, // EndSwitchType
   23966             : /* 45694*/        /*Scope*/ 99, /*->45794*/
   23967             : /* 45695*/          OPC_MoveChild0,
   23968             : /* 45696*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   23969             : /* 45699*/          OPC_RecordChild0, // #1 = $off
   23970             : /* 45700*/          OPC_MoveChild0,
   23971             : /* 45701*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   23972             : /* 45704*/          OPC_MoveParent,
   23973             : /* 45705*/          OPC_MoveParent,
   23974             : /* 45706*/          OPC_RecordChild1, // #2 = $addr
   23975             : /* 45707*/          OPC_CheckType, MVT::i32,
   23976             : /* 45709*/          OPC_MoveParent,
   23977             : /* 45710*/          OPC_RecordChild2, // #3 = $val
   23978             : /* 45711*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->45773
   23979             : /* 45714*/            OPC_Scope, 18, /*->45734*/ // 3 children in Scope
   23980             : /* 45716*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   23981             : /* 45718*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23982             : /* 45720*/              OPC_EmitMergeInputChains1_0,
   23983             : /* 45721*/              OPC_EmitInteger, MVT::i32, 0, 
   23984             : /* 45724*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23985             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   23986             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 13
   23987             :                         // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23988             : /* 45734*/            /*Scope*/ 18, /*->45753*/
   23989             : /* 45735*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   23990             : /* 45737*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   23991             : /* 45739*/              OPC_EmitMergeInputChains1_0,
   23992             : /* 45740*/              OPC_EmitInteger, MVT::i32, 0, 
   23993             : /* 45743*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   23994             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   23995             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 13
   23996             :                         // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   23997             : /* 45753*/            /*Scope*/ 18, /*->45772*/
   23998             : /* 45754*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   23999             : /* 45756*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24000             : /* 45758*/              OPC_EmitMergeInputChains1_0,
   24001             : /* 45759*/              OPC_EmitInteger, MVT::i32, 0, 
   24002             : /* 45762*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24003             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   24004             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 13
   24005             :                         // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24006             : /* 45772*/            0, /*End of Scope*/
   24007             : /* 45773*/          /*SwitchType*/ 18, MVT::i64,// ->45793
   24008             : /* 45775*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
   24009             : /* 45777*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24010             : /* 45779*/            OPC_EmitMergeInputChains1_0,
   24011             : /* 45780*/            OPC_EmitInteger, MVT::i32, 0, 
   24012             : /* 45783*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24013             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   24014             :                       // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 13
   24015             :                       // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24016             : /* 45793*/          0, // EndSwitchType
   24017             : /* 45794*/        /*Scope*/ 104, /*->45899*/
   24018             : /* 45795*/          OPC_RecordChild0, // #1 = $addr
   24019             : /* 45796*/          OPC_RecordChild1, // #2 = $off
   24020             : /* 45797*/          OPC_MoveChild1,
   24021             : /* 45798*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   24022             : /* 45801*/          OPC_MoveParent,
   24023             : /* 45802*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   24024             : /* 45804*/          OPC_CheckType, MVT::i32,
   24025             : /* 45806*/          OPC_MoveParent,
   24026             : /* 45807*/          OPC_RecordChild2, // #3 = $val
   24027             : /* 45808*/          OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->45876
   24028             : /* 45811*/            OPC_Scope, 20, /*->45833*/ // 3 children in Scope
   24029             : /* 45813*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   24030             : /* 45815*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24031             : /* 45817*/              OPC_EmitMergeInputChains1_0,
   24032             : /* 45818*/              OPC_EmitInteger, MVT::i32, 0, 
   24033             : /* 45821*/              OPC_EmitConvertToTarget, 2,
   24034             : /* 45823*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24035             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24036             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 11
   24037             :                         // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24038             : /* 45833*/            /*Scope*/ 20, /*->45854*/
   24039             : /* 45834*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   24040             : /* 45836*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24041             : /* 45838*/              OPC_EmitMergeInputChains1_0,
   24042             : /* 45839*/              OPC_EmitInteger, MVT::i32, 0, 
   24043             : /* 45842*/              OPC_EmitConvertToTarget, 2,
   24044             : /* 45844*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24045             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24046             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 11
   24047             :                         // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24048             : /* 45854*/            /*Scope*/ 20, /*->45875*/
   24049             : /* 45855*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   24050             : /* 45857*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24051             : /* 45859*/              OPC_EmitMergeInputChains1_0,
   24052             : /* 45860*/              OPC_EmitInteger, MVT::i32, 0, 
   24053             : /* 45863*/              OPC_EmitConvertToTarget, 2,
   24054             : /* 45865*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24055             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24056             :                         // Src: (atomic_load_or:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 11
   24057             :                         // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24058             : /* 45875*/            0, /*End of Scope*/
   24059             : /* 45876*/          /*SwitchType*/ 20, MVT::i64,// ->45898
   24060             : /* 45878*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
   24061             : /* 45880*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24062             : /* 45882*/            OPC_EmitMergeInputChains1_0,
   24063             : /* 45883*/            OPC_EmitInteger, MVT::i32, 0, 
   24064             : /* 45886*/            OPC_EmitConvertToTarget, 2,
   24065             : /* 45888*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24066             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   24067             :                       // Src: (atomic_load_or:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 11
   24068             :                       // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24069             : /* 45898*/          0, // EndSwitchType
   24070             : /* 45899*/        0, /*End of Scope*/
   24071             : /* 45900*/      /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->46007
   24072             : /* 45903*/        OPC_RecordChild0, // #1 = $addr
   24073             : /* 45904*/        OPC_RecordChild1, // #2 = $off
   24074             : /* 45905*/        OPC_MoveChild1,
   24075             : /* 45906*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   24076             : /* 45909*/        OPC_MoveParent,
   24077             : /* 45910*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   24078             : /* 45912*/        OPC_CheckType, MVT::i32,
   24079             : /* 45914*/        OPC_MoveParent,
   24080             : /* 45915*/        OPC_RecordChild2, // #3 = $val
   24081             : /* 45916*/        OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->45984
   24082             : /* 45919*/          OPC_Scope, 20, /*->45941*/ // 3 children in Scope
   24083             : /* 45921*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   24084             : /* 45923*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24085             : /* 45925*/            OPC_EmitMergeInputChains1_0,
   24086             : /* 45926*/            OPC_EmitInteger, MVT::i32, 0, 
   24087             : /* 45929*/            OPC_EmitConvertToTarget, 2,
   24088             : /* 45931*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24089             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24090             :                       // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 11
   24091             :                       // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24092             : /* 45941*/          /*Scope*/ 20, /*->45962*/
   24093             : /* 45942*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   24094             : /* 45944*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24095             : /* 45946*/            OPC_EmitMergeInputChains1_0,
   24096             : /* 45947*/            OPC_EmitInteger, MVT::i32, 0, 
   24097             : /* 45950*/            OPC_EmitConvertToTarget, 2,
   24098             : /* 45952*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24099             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24100             :                       // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 11
   24101             :                       // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24102             : /* 45962*/          /*Scope*/ 20, /*->45983*/
   24103             : /* 45963*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   24104             : /* 45965*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24105             : /* 45967*/            OPC_EmitMergeInputChains1_0,
   24106             : /* 45968*/            OPC_EmitInteger, MVT::i32, 0, 
   24107             : /* 45971*/            OPC_EmitConvertToTarget, 2,
   24108             : /* 45973*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24109             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24110             :                       // Src: (atomic_load_or:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 11
   24111             :                       // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24112             : /* 45983*/          0, /*End of Scope*/
   24113             : /* 45984*/        /*SwitchType*/ 20, MVT::i64,// ->46006
   24114             : /* 45986*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
   24115             : /* 45988*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24116             : /* 45990*/          OPC_EmitMergeInputChains1_0,
   24117             : /* 45991*/          OPC_EmitInteger, MVT::i32, 0, 
   24118             : /* 45994*/          OPC_EmitConvertToTarget, 2,
   24119             : /* 45996*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24120             :                         MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   24121             :                     // Src: (atomic_load_or:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 11
   24122             :                     // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24123             : /* 46006*/        0, // EndSwitchType
   24124             : /* 46007*/      /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->46273
   24125             : /* 46011*/        OPC_RecordChild0, // #1 = $off
   24126             : /* 46012*/        OPC_MoveChild0,
   24127             : /* 46013*/        OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->46143
   24128             : /* 46017*/          OPC_MoveParent,
   24129             : /* 46018*/          OPC_MoveParent,
   24130             : /* 46019*/          OPC_RecordChild2, // #2 = $val
   24131             : /* 46020*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->46112
   24132             : /* 46023*/            OPC_Scope, 28, /*->46053*/ // 3 children in Scope
   24133             : /* 46025*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   24134             : /* 46027*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24135             : /* 46029*/              OPC_EmitMergeInputChains1_0,
   24136             : /* 46030*/              OPC_EmitInteger, MVT::i32, 0, 
   24137             : /* 46033*/              OPC_EmitInteger, MVT::i32, 0, 
   24138             : /* 46036*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24139             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24140             : /* 46043*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24141             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24142             :                         // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 10
   24143             :                         // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24144             : /* 46053*/            /*Scope*/ 28, /*->46082*/
   24145             : /* 46054*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   24146             : /* 46056*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24147             : /* 46058*/              OPC_EmitMergeInputChains1_0,
   24148             : /* 46059*/              OPC_EmitInteger, MVT::i32, 0, 
   24149             : /* 46062*/              OPC_EmitInteger, MVT::i32, 0, 
   24150             : /* 46065*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24151             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24152             : /* 46072*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24153             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24154             :                         // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 10
   24155             :                         // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24156             : /* 46082*/            /*Scope*/ 28, /*->46111*/
   24157             : /* 46083*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   24158             : /* 46085*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24159             : /* 46087*/              OPC_EmitMergeInputChains1_0,
   24160             : /* 46088*/              OPC_EmitInteger, MVT::i32, 0, 
   24161             : /* 46091*/              OPC_EmitInteger, MVT::i32, 0, 
   24162             : /* 46094*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24163             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24164             : /* 46101*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24165             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24166             :                         // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 10
   24167             :                         // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24168             : /* 46111*/            0, /*End of Scope*/
   24169             : /* 46112*/          /*SwitchType*/ 28, MVT::i64,// ->46142
   24170             : /* 46114*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
   24171             : /* 46116*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24172             : /* 46118*/            OPC_EmitMergeInputChains1_0,
   24173             : /* 46119*/            OPC_EmitInteger, MVT::i32, 0, 
   24174             : /* 46122*/            OPC_EmitInteger, MVT::i32, 0, 
   24175             : /* 46125*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24176             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24177             : /* 46132*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24178             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   24179             :                       // Src: (atomic_load_or:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 10
   24180             :                       // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   24181             : /* 46142*/          0, // EndSwitchType
   24182             : /* 46143*/        /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->46272
   24183             : /* 46146*/          OPC_MoveParent,
   24184             : /* 46147*/          OPC_MoveParent,
   24185             : /* 46148*/          OPC_RecordChild2, // #2 = $val
   24186             : /* 46149*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->46241
   24187             : /* 46152*/            OPC_Scope, 28, /*->46182*/ // 3 children in Scope
   24188             : /* 46154*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   24189             : /* 46156*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24190             : /* 46158*/              OPC_EmitMergeInputChains1_0,
   24191             : /* 46159*/              OPC_EmitInteger, MVT::i32, 0, 
   24192             : /* 46162*/              OPC_EmitInteger, MVT::i32, 0, 
   24193             : /* 46165*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24194             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24195             : /* 46172*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24196             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24197             :                         // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 10
   24198             :                         // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24199             : /* 46182*/            /*Scope*/ 28, /*->46211*/
   24200             : /* 46183*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   24201             : /* 46185*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24202             : /* 46187*/              OPC_EmitMergeInputChains1_0,
   24203             : /* 46188*/              OPC_EmitInteger, MVT::i32, 0, 
   24204             : /* 46191*/              OPC_EmitInteger, MVT::i32, 0, 
   24205             : /* 46194*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24206             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24207             : /* 46201*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24208             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24209             :                         // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 10
   24210             :                         // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24211             : /* 46211*/            /*Scope*/ 28, /*->46240*/
   24212             : /* 46212*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   24213             : /* 46214*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24214             : /* 46216*/              OPC_EmitMergeInputChains1_0,
   24215             : /* 46217*/              OPC_EmitInteger, MVT::i32, 0, 
   24216             : /* 46220*/              OPC_EmitInteger, MVT::i32, 0, 
   24217             : /* 46223*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24218             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24219             : /* 46230*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24220             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24221             :                         // Src: (atomic_load_or:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 10
   24222             :                         // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24223             : /* 46240*/            0, /*End of Scope*/
   24224             : /* 46241*/          /*SwitchType*/ 28, MVT::i64,// ->46271
   24225             : /* 46243*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
   24226             : /* 46245*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24227             : /* 46247*/            OPC_EmitMergeInputChains1_0,
   24228             : /* 46248*/            OPC_EmitInteger, MVT::i32, 0, 
   24229             : /* 46251*/            OPC_EmitInteger, MVT::i32, 0, 
   24230             : /* 46254*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24231             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24232             : /* 46261*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24233             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   24234             :                       // Src: (atomic_load_or:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 10
   24235             :                       // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   24236             : /* 46271*/          0, // EndSwitchType
   24237             : /* 46272*/        0, // EndSwitchOpcode
   24238             : /* 46273*/      0, // EndSwitchOpcode
   24239             : /* 46274*/    /*Scope*/ 113|128,1/*241*/, /*->46517*/
   24240             : /* 46276*/      OPC_RecordChild1, // #1 = $off
   24241             : /* 46277*/      OPC_Scope, 9|128,1/*137*/, /*->46417*/ // 2 children in Scope
   24242             : /* 46280*/        OPC_MoveChild1,
   24243             : /* 46281*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   24244             : /* 46284*/        OPC_MoveParent,
   24245             : /* 46285*/        OPC_RecordChild2, // #2 = $val
   24246             : /* 46286*/        OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->46384
   24247             : /* 46289*/          OPC_Scope, 30, /*->46321*/ // 3 children in Scope
   24248             : /* 46291*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   24249             : /* 46293*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24250             : /* 46295*/            OPC_EmitMergeInputChains1_0,
   24251             : /* 46296*/            OPC_EmitInteger, MVT::i32, 0, 
   24252             : /* 46299*/            OPC_EmitConvertToTarget, 1,
   24253             : /* 46301*/            OPC_EmitInteger, MVT::i32, 0, 
   24254             : /* 46304*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24255             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   24256             : /* 46311*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24257             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   24258             :                       // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 7
   24259             :                       // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24260             : /* 46321*/          /*Scope*/ 30, /*->46352*/
   24261             : /* 46322*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   24262             : /* 46324*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24263             : /* 46326*/            OPC_EmitMergeInputChains1_0,
   24264             : /* 46327*/            OPC_EmitInteger, MVT::i32, 0, 
   24265             : /* 46330*/            OPC_EmitConvertToTarget, 1,
   24266             : /* 46332*/            OPC_EmitInteger, MVT::i32, 0, 
   24267             : /* 46335*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24268             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   24269             : /* 46342*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24270             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   24271             :                       // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 7
   24272             :                       // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24273             : /* 46352*/          /*Scope*/ 30, /*->46383*/
   24274             : /* 46353*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   24275             : /* 46355*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24276             : /* 46357*/            OPC_EmitMergeInputChains1_0,
   24277             : /* 46358*/            OPC_EmitInteger, MVT::i32, 0, 
   24278             : /* 46361*/            OPC_EmitConvertToTarget, 1,
   24279             : /* 46363*/            OPC_EmitInteger, MVT::i32, 0, 
   24280             : /* 46366*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24281             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   24282             : /* 46373*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24283             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   24284             :                       // Src: (atomic_load_or:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 7
   24285             :                       // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24286             : /* 46383*/          0, /*End of Scope*/
   24287             : /* 46384*/        /*SwitchType*/ 30, MVT::i64,// ->46416
   24288             : /* 46386*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
   24289             : /* 46388*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24290             : /* 46390*/          OPC_EmitMergeInputChains1_0,
   24291             : /* 46391*/          OPC_EmitInteger, MVT::i32, 0, 
   24292             : /* 46394*/          OPC_EmitConvertToTarget, 1,
   24293             : /* 46396*/          OPC_EmitInteger, MVT::i32, 0, 
   24294             : /* 46399*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24295             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   24296             : /* 46406*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24297             :                         MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   24298             :                     // Src: (atomic_load_or:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 7
   24299             :                     // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   24300             : /* 46416*/        0, // EndSwitchType
   24301             : /* 46417*/      /*Scope*/ 98, /*->46516*/
   24302             : /* 46418*/        OPC_CheckChild1Type, MVT::i32,
   24303             : /* 46420*/        OPC_RecordChild2, // #2 = $val
   24304             : /* 46421*/        OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->46492
   24305             : /* 46424*/          OPC_Scope, 21, /*->46447*/ // 3 children in Scope
   24306             : /* 46426*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_or_32
   24307             : /* 46428*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24308             : /* 46430*/            OPC_EmitMergeInputChains1_0,
   24309             : /* 46431*/            OPC_EmitInteger, MVT::i32, 0, 
   24310             : /* 46434*/            OPC_EmitInteger, MVT::i32, 0, 
   24311             : /* 46437*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24312             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   24313             :                       // Src: (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_32>> - Complexity = 4
   24314             :                       // Dst: (ATOMIC_RMW_OR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24315             : /* 46447*/          /*Scope*/ 21, /*->46469*/
   24316             : /* 46448*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_or_8
   24317             : /* 46450*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24318             : /* 46452*/            OPC_EmitMergeInputChains1_0,
   24319             : /* 46453*/            OPC_EmitInteger, MVT::i32, 0, 
   24320             : /* 46456*/            OPC_EmitInteger, MVT::i32, 0, 
   24321             : /* 46459*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24322             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   24323             :                       // Src: (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_8>> - Complexity = 4
   24324             :                       // Dst: (ATOMIC_RMW8_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24325             : /* 46469*/          /*Scope*/ 21, /*->46491*/
   24326             : /* 46470*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_or_16
   24327             : /* 46472*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24328             : /* 46474*/            OPC_EmitMergeInputChains1_0,
   24329             : /* 46475*/            OPC_EmitInteger, MVT::i32, 0, 
   24330             : /* 46478*/            OPC_EmitInteger, MVT::i32, 0, 
   24331             : /* 46481*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_OR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24332             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   24333             :                       // Src: (atomic_load_or:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_or_16>> - Complexity = 4
   24334             :                       // Dst: (ATOMIC_RMW16_U_OR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24335             : /* 46491*/          0, /*End of Scope*/
   24336             : /* 46492*/        /*SwitchType*/ 21, MVT::i64,// ->46515
   24337             : /* 46494*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_or_64
   24338             : /* 46496*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24339             : /* 46498*/          OPC_EmitMergeInputChains1_0,
   24340             : /* 46499*/          OPC_EmitInteger, MVT::i32, 0, 
   24341             : /* 46502*/          OPC_EmitInteger, MVT::i32, 0, 
   24342             : /* 46505*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_OR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24343             :                         MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   24344             :                     // Src: (atomic_load_or:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_or_64>> - Complexity = 4
   24345             :                     // Dst: (ATOMIC_RMW_OR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24346             : /* 46515*/        0, // EndSwitchType
   24347             : /* 46516*/      0, /*End of Scope*/
   24348             : /* 46517*/    0, /*End of Scope*/
   24349             : /* 46518*/  /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),// ->47662
   24350             : /* 46522*/    OPC_RecordMemRef,
   24351             : /* 46523*/    OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
   24352             : /* 46524*/    OPC_Scope, 123|128,6/*891*/, /*->47418*/ // 2 children in Scope
   24353             : /* 46527*/      OPC_MoveChild1,
   24354             : /* 46528*/      OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->47044
   24355             : /* 46533*/        OPC_Scope, 101, /*->46636*/ // 5 children in Scope
   24356             : /* 46535*/          OPC_RecordChild0, // #1 = $addr
   24357             : /* 46536*/          OPC_MoveChild1,
   24358             : /* 46537*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   24359             : /* 46540*/          OPC_RecordChild0, // #2 = $off
   24360             : /* 46541*/          OPC_MoveChild0,
   24361             : /* 46542*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   24362             : /* 46545*/          OPC_MoveParent,
   24363             : /* 46546*/          OPC_MoveParent,
   24364             : /* 46547*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   24365             : /* 46549*/          OPC_CheckType, MVT::i32,
   24366             : /* 46551*/          OPC_MoveParent,
   24367             : /* 46552*/          OPC_RecordChild2, // #3 = $val
   24368             : /* 46553*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->46615
   24369             : /* 46556*/            OPC_Scope, 18, /*->46576*/ // 3 children in Scope
   24370             : /* 46558*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   24371             : /* 46560*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24372             : /* 46562*/              OPC_EmitMergeInputChains1_0,
   24373             : /* 46563*/              OPC_EmitInteger, MVT::i32, 0, 
   24374             : /* 46566*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24375             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   24376             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 14
   24377             :                         // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24378             : /* 46576*/            /*Scope*/ 18, /*->46595*/
   24379             : /* 46577*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   24380             : /* 46579*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24381             : /* 46581*/              OPC_EmitMergeInputChains1_0,
   24382             : /* 46582*/              OPC_EmitInteger, MVT::i32, 0, 
   24383             : /* 46585*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24384             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   24385             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 14
   24386             :                         // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24387             : /* 46595*/            /*Scope*/ 18, /*->46614*/
   24388             : /* 46596*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   24389             : /* 46598*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24390             : /* 46600*/              OPC_EmitMergeInputChains1_0,
   24391             : /* 46601*/              OPC_EmitInteger, MVT::i32, 0, 
   24392             : /* 46604*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24393             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   24394             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 14
   24395             :                         // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24396             : /* 46614*/            0, /*End of Scope*/
   24397             : /* 46615*/          /*SwitchType*/ 18, MVT::i64,// ->46635
   24398             : /* 46617*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
   24399             : /* 46619*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24400             : /* 46621*/            OPC_EmitMergeInputChains1_0,
   24401             : /* 46622*/            OPC_EmitInteger, MVT::i32, 0, 
   24402             : /* 46625*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24403             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   24404             :                       // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 14
   24405             :                       // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24406             : /* 46635*/          0, // EndSwitchType
   24407             : /* 46636*/        /*Scope*/ 101, /*->46738*/
   24408             : /* 46637*/          OPC_MoveChild0,
   24409             : /* 46638*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   24410             : /* 46641*/          OPC_RecordChild0, // #1 = $off
   24411             : /* 46642*/          OPC_MoveChild0,
   24412             : /* 46643*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   24413             : /* 46646*/          OPC_MoveParent,
   24414             : /* 46647*/          OPC_MoveParent,
   24415             : /* 46648*/          OPC_RecordChild1, // #2 = $addr
   24416             : /* 46649*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   24417             : /* 46651*/          OPC_CheckType, MVT::i32,
   24418             : /* 46653*/          OPC_MoveParent,
   24419             : /* 46654*/          OPC_RecordChild2, // #3 = $val
   24420             : /* 46655*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->46717
   24421             : /* 46658*/            OPC_Scope, 18, /*->46678*/ // 3 children in Scope
   24422             : /* 46660*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   24423             : /* 46662*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24424             : /* 46664*/              OPC_EmitMergeInputChains1_0,
   24425             : /* 46665*/              OPC_EmitInteger, MVT::i32, 0, 
   24426             : /* 46668*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24427             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   24428             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 14
   24429             :                         // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24430             : /* 46678*/            /*Scope*/ 18, /*->46697*/
   24431             : /* 46679*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   24432             : /* 46681*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24433             : /* 46683*/              OPC_EmitMergeInputChains1_0,
   24434             : /* 46684*/              OPC_EmitInteger, MVT::i32, 0, 
   24435             : /* 46687*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24436             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   24437             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 14
   24438             :                         // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24439             : /* 46697*/            /*Scope*/ 18, /*->46716*/
   24440             : /* 46698*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   24441             : /* 46700*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24442             : /* 46702*/              OPC_EmitMergeInputChains1_0,
   24443             : /* 46703*/              OPC_EmitInteger, MVT::i32, 0, 
   24444             : /* 46706*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24445             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   24446             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 14
   24447             :                         // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24448             : /* 46716*/            0, /*End of Scope*/
   24449             : /* 46717*/          /*SwitchType*/ 18, MVT::i64,// ->46737
   24450             : /* 46719*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
   24451             : /* 46721*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24452             : /* 46723*/            OPC_EmitMergeInputChains1_0,
   24453             : /* 46724*/            OPC_EmitInteger, MVT::i32, 0, 
   24454             : /* 46727*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24455             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   24456             :                       // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 14
   24457             :                       // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24458             : /* 46737*/          0, // EndSwitchType
   24459             : /* 46738*/        /*Scope*/ 99, /*->46838*/
   24460             : /* 46739*/          OPC_RecordChild0, // #1 = $addr
   24461             : /* 46740*/          OPC_MoveChild1,
   24462             : /* 46741*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   24463             : /* 46744*/          OPC_RecordChild0, // #2 = $off
   24464             : /* 46745*/          OPC_MoveChild0,
   24465             : /* 46746*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   24466             : /* 46749*/          OPC_MoveParent,
   24467             : /* 46750*/          OPC_MoveParent,
   24468             : /* 46751*/          OPC_CheckType, MVT::i32,
   24469             : /* 46753*/          OPC_MoveParent,
   24470             : /* 46754*/          OPC_RecordChild2, // #3 = $val
   24471             : /* 46755*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->46817
   24472             : /* 46758*/            OPC_Scope, 18, /*->46778*/ // 3 children in Scope
   24473             : /* 46760*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   24474             : /* 46762*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24475             : /* 46764*/              OPC_EmitMergeInputChains1_0,
   24476             : /* 46765*/              OPC_EmitInteger, MVT::i32, 0, 
   24477             : /* 46768*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24478             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   24479             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 13
   24480             :                         // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24481             : /* 46778*/            /*Scope*/ 18, /*->46797*/
   24482             : /* 46779*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   24483             : /* 46781*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24484             : /* 46783*/              OPC_EmitMergeInputChains1_0,
   24485             : /* 46784*/              OPC_EmitInteger, MVT::i32, 0, 
   24486             : /* 46787*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24487             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   24488             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 13
   24489             :                         // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24490             : /* 46797*/            /*Scope*/ 18, /*->46816*/
   24491             : /* 46798*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   24492             : /* 46800*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24493             : /* 46802*/              OPC_EmitMergeInputChains1_0,
   24494             : /* 46803*/              OPC_EmitInteger, MVT::i32, 0, 
   24495             : /* 46806*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24496             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   24497             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 13
   24498             :                         // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24499             : /* 46816*/            0, /*End of Scope*/
   24500             : /* 46817*/          /*SwitchType*/ 18, MVT::i64,// ->46837
   24501             : /* 46819*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
   24502             : /* 46821*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24503             : /* 46823*/            OPC_EmitMergeInputChains1_0,
   24504             : /* 46824*/            OPC_EmitInteger, MVT::i32, 0, 
   24505             : /* 46827*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24506             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   24507             :                       // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 13
   24508             :                       // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24509             : /* 46837*/          0, // EndSwitchType
   24510             : /* 46838*/        /*Scope*/ 99, /*->46938*/
   24511             : /* 46839*/          OPC_MoveChild0,
   24512             : /* 46840*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   24513             : /* 46843*/          OPC_RecordChild0, // #1 = $off
   24514             : /* 46844*/          OPC_MoveChild0,
   24515             : /* 46845*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   24516             : /* 46848*/          OPC_MoveParent,
   24517             : /* 46849*/          OPC_MoveParent,
   24518             : /* 46850*/          OPC_RecordChild1, // #2 = $addr
   24519             : /* 46851*/          OPC_CheckType, MVT::i32,
   24520             : /* 46853*/          OPC_MoveParent,
   24521             : /* 46854*/          OPC_RecordChild2, // #3 = $val
   24522             : /* 46855*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->46917
   24523             : /* 46858*/            OPC_Scope, 18, /*->46878*/ // 3 children in Scope
   24524             : /* 46860*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   24525             : /* 46862*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24526             : /* 46864*/              OPC_EmitMergeInputChains1_0,
   24527             : /* 46865*/              OPC_EmitInteger, MVT::i32, 0, 
   24528             : /* 46868*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24529             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   24530             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 13
   24531             :                         // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24532             : /* 46878*/            /*Scope*/ 18, /*->46897*/
   24533             : /* 46879*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   24534             : /* 46881*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24535             : /* 46883*/              OPC_EmitMergeInputChains1_0,
   24536             : /* 46884*/              OPC_EmitInteger, MVT::i32, 0, 
   24537             : /* 46887*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24538             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   24539             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 13
   24540             :                         // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24541             : /* 46897*/            /*Scope*/ 18, /*->46916*/
   24542             : /* 46898*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   24543             : /* 46900*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24544             : /* 46902*/              OPC_EmitMergeInputChains1_0,
   24545             : /* 46903*/              OPC_EmitInteger, MVT::i32, 0, 
   24546             : /* 46906*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24547             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   24548             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 13
   24549             :                         // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24550             : /* 46916*/            0, /*End of Scope*/
   24551             : /* 46917*/          /*SwitchType*/ 18, MVT::i64,// ->46937
   24552             : /* 46919*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
   24553             : /* 46921*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24554             : /* 46923*/            OPC_EmitMergeInputChains1_0,
   24555             : /* 46924*/            OPC_EmitInteger, MVT::i32, 0, 
   24556             : /* 46927*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24557             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   24558             :                       // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 13
   24559             :                       // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24560             : /* 46937*/          0, // EndSwitchType
   24561             : /* 46938*/        /*Scope*/ 104, /*->47043*/
   24562             : /* 46939*/          OPC_RecordChild0, // #1 = $addr
   24563             : /* 46940*/          OPC_RecordChild1, // #2 = $off
   24564             : /* 46941*/          OPC_MoveChild1,
   24565             : /* 46942*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   24566             : /* 46945*/          OPC_MoveParent,
   24567             : /* 46946*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   24568             : /* 46948*/          OPC_CheckType, MVT::i32,
   24569             : /* 46950*/          OPC_MoveParent,
   24570             : /* 46951*/          OPC_RecordChild2, // #3 = $val
   24571             : /* 46952*/          OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->47020
   24572             : /* 46955*/            OPC_Scope, 20, /*->46977*/ // 3 children in Scope
   24573             : /* 46957*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   24574             : /* 46959*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24575             : /* 46961*/              OPC_EmitMergeInputChains1_0,
   24576             : /* 46962*/              OPC_EmitInteger, MVT::i32, 0, 
   24577             : /* 46965*/              OPC_EmitConvertToTarget, 2,
   24578             : /* 46967*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24579             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24580             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 11
   24581             :                         // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24582             : /* 46977*/            /*Scope*/ 20, /*->46998*/
   24583             : /* 46978*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   24584             : /* 46980*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24585             : /* 46982*/              OPC_EmitMergeInputChains1_0,
   24586             : /* 46983*/              OPC_EmitInteger, MVT::i32, 0, 
   24587             : /* 46986*/              OPC_EmitConvertToTarget, 2,
   24588             : /* 46988*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24589             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24590             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 11
   24591             :                         // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24592             : /* 46998*/            /*Scope*/ 20, /*->47019*/
   24593             : /* 46999*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   24594             : /* 47001*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24595             : /* 47003*/              OPC_EmitMergeInputChains1_0,
   24596             : /* 47004*/              OPC_EmitInteger, MVT::i32, 0, 
   24597             : /* 47007*/              OPC_EmitConvertToTarget, 2,
   24598             : /* 47009*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24599             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24600             :                         // Src: (atomic_load_xor:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 11
   24601             :                         // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24602             : /* 47019*/            0, /*End of Scope*/
   24603             : /* 47020*/          /*SwitchType*/ 20, MVT::i64,// ->47042
   24604             : /* 47022*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
   24605             : /* 47024*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24606             : /* 47026*/            OPC_EmitMergeInputChains1_0,
   24607             : /* 47027*/            OPC_EmitInteger, MVT::i32, 0, 
   24608             : /* 47030*/            OPC_EmitConvertToTarget, 2,
   24609             : /* 47032*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24610             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   24611             :                       // Src: (atomic_load_xor:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 11
   24612             :                       // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24613             : /* 47042*/          0, // EndSwitchType
   24614             : /* 47043*/        0, /*End of Scope*/
   24615             : /* 47044*/      /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->47151
   24616             : /* 47047*/        OPC_RecordChild0, // #1 = $addr
   24617             : /* 47048*/        OPC_RecordChild1, // #2 = $off
   24618             : /* 47049*/        OPC_MoveChild1,
   24619             : /* 47050*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   24620             : /* 47053*/        OPC_MoveParent,
   24621             : /* 47054*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   24622             : /* 47056*/        OPC_CheckType, MVT::i32,
   24623             : /* 47058*/        OPC_MoveParent,
   24624             : /* 47059*/        OPC_RecordChild2, // #3 = $val
   24625             : /* 47060*/        OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->47128
   24626             : /* 47063*/          OPC_Scope, 20, /*->47085*/ // 3 children in Scope
   24627             : /* 47065*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   24628             : /* 47067*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24629             : /* 47069*/            OPC_EmitMergeInputChains1_0,
   24630             : /* 47070*/            OPC_EmitInteger, MVT::i32, 0, 
   24631             : /* 47073*/            OPC_EmitConvertToTarget, 2,
   24632             : /* 47075*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24633             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24634             :                       // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 11
   24635             :                       // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24636             : /* 47085*/          /*Scope*/ 20, /*->47106*/
   24637             : /* 47086*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   24638             : /* 47088*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24639             : /* 47090*/            OPC_EmitMergeInputChains1_0,
   24640             : /* 47091*/            OPC_EmitInteger, MVT::i32, 0, 
   24641             : /* 47094*/            OPC_EmitConvertToTarget, 2,
   24642             : /* 47096*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24643             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24644             :                       // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 11
   24645             :                       // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24646             : /* 47106*/          /*Scope*/ 20, /*->47127*/
   24647             : /* 47107*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   24648             : /* 47109*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24649             : /* 47111*/            OPC_EmitMergeInputChains1_0,
   24650             : /* 47112*/            OPC_EmitInteger, MVT::i32, 0, 
   24651             : /* 47115*/            OPC_EmitConvertToTarget, 2,
   24652             : /* 47117*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24653             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   24654             :                       // Src: (atomic_load_xor:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 11
   24655             :                       // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24656             : /* 47127*/          0, /*End of Scope*/
   24657             : /* 47128*/        /*SwitchType*/ 20, MVT::i64,// ->47150
   24658             : /* 47130*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
   24659             : /* 47132*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24660             : /* 47134*/          OPC_EmitMergeInputChains1_0,
   24661             : /* 47135*/          OPC_EmitInteger, MVT::i32, 0, 
   24662             : /* 47138*/          OPC_EmitConvertToTarget, 2,
   24663             : /* 47140*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24664             :                         MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   24665             :                     // Src: (atomic_load_xor:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 11
   24666             :                     // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24667             : /* 47150*/        0, // EndSwitchType
   24668             : /* 47151*/      /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->47417
   24669             : /* 47155*/        OPC_RecordChild0, // #1 = $off
   24670             : /* 47156*/        OPC_MoveChild0,
   24671             : /* 47157*/        OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->47287
   24672             : /* 47161*/          OPC_MoveParent,
   24673             : /* 47162*/          OPC_MoveParent,
   24674             : /* 47163*/          OPC_RecordChild2, // #2 = $val
   24675             : /* 47164*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->47256
   24676             : /* 47167*/            OPC_Scope, 28, /*->47197*/ // 3 children in Scope
   24677             : /* 47169*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   24678             : /* 47171*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24679             : /* 47173*/              OPC_EmitMergeInputChains1_0,
   24680             : /* 47174*/              OPC_EmitInteger, MVT::i32, 0, 
   24681             : /* 47177*/              OPC_EmitInteger, MVT::i32, 0, 
   24682             : /* 47180*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24683             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24684             : /* 47187*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24685             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24686             :                         // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 10
   24687             :                         // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24688             : /* 47197*/            /*Scope*/ 28, /*->47226*/
   24689             : /* 47198*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   24690             : /* 47200*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24691             : /* 47202*/              OPC_EmitMergeInputChains1_0,
   24692             : /* 47203*/              OPC_EmitInteger, MVT::i32, 0, 
   24693             : /* 47206*/              OPC_EmitInteger, MVT::i32, 0, 
   24694             : /* 47209*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24695             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24696             : /* 47216*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24697             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24698             :                         // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 10
   24699             :                         // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24700             : /* 47226*/            /*Scope*/ 28, /*->47255*/
   24701             : /* 47227*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   24702             : /* 47229*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24703             : /* 47231*/              OPC_EmitMergeInputChains1_0,
   24704             : /* 47232*/              OPC_EmitInteger, MVT::i32, 0, 
   24705             : /* 47235*/              OPC_EmitInteger, MVT::i32, 0, 
   24706             : /* 47238*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24707             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24708             : /* 47245*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24709             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24710             :                         // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 10
   24711             :                         // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24712             : /* 47255*/            0, /*End of Scope*/
   24713             : /* 47256*/          /*SwitchType*/ 28, MVT::i64,// ->47286
   24714             : /* 47258*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
   24715             : /* 47260*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24716             : /* 47262*/            OPC_EmitMergeInputChains1_0,
   24717             : /* 47263*/            OPC_EmitInteger, MVT::i32, 0, 
   24718             : /* 47266*/            OPC_EmitInteger, MVT::i32, 0, 
   24719             : /* 47269*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24720             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24721             : /* 47276*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24722             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   24723             :                       // Src: (atomic_load_xor:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 10
   24724             :                       // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   24725             : /* 47286*/          0, // EndSwitchType
   24726             : /* 47287*/        /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->47416
   24727             : /* 47290*/          OPC_MoveParent,
   24728             : /* 47291*/          OPC_MoveParent,
   24729             : /* 47292*/          OPC_RecordChild2, // #2 = $val
   24730             : /* 47293*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->47385
   24731             : /* 47296*/            OPC_Scope, 28, /*->47326*/ // 3 children in Scope
   24732             : /* 47298*/              OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   24733             : /* 47300*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24734             : /* 47302*/              OPC_EmitMergeInputChains1_0,
   24735             : /* 47303*/              OPC_EmitInteger, MVT::i32, 0, 
   24736             : /* 47306*/              OPC_EmitInteger, MVT::i32, 0, 
   24737             : /* 47309*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24738             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24739             : /* 47316*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24740             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24741             :                         // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 10
   24742             :                         // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24743             : /* 47326*/            /*Scope*/ 28, /*->47355*/
   24744             : /* 47327*/              OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   24745             : /* 47329*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24746             : /* 47331*/              OPC_EmitMergeInputChains1_0,
   24747             : /* 47332*/              OPC_EmitInteger, MVT::i32, 0, 
   24748             : /* 47335*/              OPC_EmitInteger, MVT::i32, 0, 
   24749             : /* 47338*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24750             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24751             : /* 47345*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24752             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24753             :                         // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 10
   24754             :                         // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24755             : /* 47355*/            /*Scope*/ 28, /*->47384*/
   24756             : /* 47356*/              OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   24757             : /* 47358*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24758             : /* 47360*/              OPC_EmitMergeInputChains1_0,
   24759             : /* 47361*/              OPC_EmitInteger, MVT::i32, 0, 
   24760             : /* 47364*/              OPC_EmitInteger, MVT::i32, 0, 
   24761             : /* 47367*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24762             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24763             : /* 47374*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24764             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   24765             :                         // Src: (atomic_load_xor:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 10
   24766             :                         // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24767             : /* 47384*/            0, /*End of Scope*/
   24768             : /* 47385*/          /*SwitchType*/ 28, MVT::i64,// ->47415
   24769             : /* 47387*/            OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
   24770             : /* 47389*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24771             : /* 47391*/            OPC_EmitMergeInputChains1_0,
   24772             : /* 47392*/            OPC_EmitInteger, MVT::i32, 0, 
   24773             : /* 47395*/            OPC_EmitInteger, MVT::i32, 0, 
   24774             : /* 47398*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24775             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   24776             : /* 47405*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24777             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   24778             :                       // Src: (atomic_load_xor:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 10
   24779             :                       // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   24780             : /* 47415*/          0, // EndSwitchType
   24781             : /* 47416*/        0, // EndSwitchOpcode
   24782             : /* 47417*/      0, // EndSwitchOpcode
   24783             : /* 47418*/    /*Scope*/ 113|128,1/*241*/, /*->47661*/
   24784             : /* 47420*/      OPC_RecordChild1, // #1 = $off
   24785             : /* 47421*/      OPC_Scope, 9|128,1/*137*/, /*->47561*/ // 2 children in Scope
   24786             : /* 47424*/        OPC_MoveChild1,
   24787             : /* 47425*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   24788             : /* 47428*/        OPC_MoveParent,
   24789             : /* 47429*/        OPC_RecordChild2, // #2 = $val
   24790             : /* 47430*/        OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->47528
   24791             : /* 47433*/          OPC_Scope, 30, /*->47465*/ // 3 children in Scope
   24792             : /* 47435*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   24793             : /* 47437*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24794             : /* 47439*/            OPC_EmitMergeInputChains1_0,
   24795             : /* 47440*/            OPC_EmitInteger, MVT::i32, 0, 
   24796             : /* 47443*/            OPC_EmitConvertToTarget, 1,
   24797             : /* 47445*/            OPC_EmitInteger, MVT::i32, 0, 
   24798             : /* 47448*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24799             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   24800             : /* 47455*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24801             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   24802             :                       // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 7
   24803             :                       // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24804             : /* 47465*/          /*Scope*/ 30, /*->47496*/
   24805             : /* 47466*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   24806             : /* 47468*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24807             : /* 47470*/            OPC_EmitMergeInputChains1_0,
   24808             : /* 47471*/            OPC_EmitInteger, MVT::i32, 0, 
   24809             : /* 47474*/            OPC_EmitConvertToTarget, 1,
   24810             : /* 47476*/            OPC_EmitInteger, MVT::i32, 0, 
   24811             : /* 47479*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24812             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   24813             : /* 47486*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24814             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   24815             :                       // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 7
   24816             :                       // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24817             : /* 47496*/          /*Scope*/ 30, /*->47527*/
   24818             : /* 47497*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   24819             : /* 47499*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24820             : /* 47501*/            OPC_EmitMergeInputChains1_0,
   24821             : /* 47502*/            OPC_EmitInteger, MVT::i32, 0, 
   24822             : /* 47505*/            OPC_EmitConvertToTarget, 1,
   24823             : /* 47507*/            OPC_EmitInteger, MVT::i32, 0, 
   24824             : /* 47510*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24825             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   24826             : /* 47517*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24827             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   24828             :                       // Src: (atomic_load_xor:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 7
   24829             :                       // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   24830             : /* 47527*/          0, /*End of Scope*/
   24831             : /* 47528*/        /*SwitchType*/ 30, MVT::i64,// ->47560
   24832             : /* 47530*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
   24833             : /* 47532*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24834             : /* 47534*/          OPC_EmitMergeInputChains1_0,
   24835             : /* 47535*/          OPC_EmitInteger, MVT::i32, 0, 
   24836             : /* 47538*/          OPC_EmitConvertToTarget, 1,
   24837             : /* 47540*/          OPC_EmitInteger, MVT::i32, 0, 
   24838             : /* 47543*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   24839             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   24840             : /* 47550*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24841             :                         MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   24842             :                     // Src: (atomic_load_xor:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 7
   24843             :                     // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   24844             : /* 47560*/        0, // EndSwitchType
   24845             : /* 47561*/      /*Scope*/ 98, /*->47660*/
   24846             : /* 47562*/        OPC_CheckChild1Type, MVT::i32,
   24847             : /* 47564*/        OPC_RecordChild2, // #2 = $val
   24848             : /* 47565*/        OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->47636
   24849             : /* 47568*/          OPC_Scope, 21, /*->47591*/ // 3 children in Scope
   24850             : /* 47570*/            OPC_CheckPredicate, 7, // Predicate_atomic_load_xor_32
   24851             : /* 47572*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24852             : /* 47574*/            OPC_EmitMergeInputChains1_0,
   24853             : /* 47575*/            OPC_EmitInteger, MVT::i32, 0, 
   24854             : /* 47578*/            OPC_EmitInteger, MVT::i32, 0, 
   24855             : /* 47581*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24856             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   24857             :                       // Src: (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_32>> - Complexity = 4
   24858             :                       // Dst: (ATOMIC_RMW_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24859             : /* 47591*/          /*Scope*/ 21, /*->47613*/
   24860             : /* 47592*/            OPC_CheckPredicate, 1, // Predicate_atomic_load_xor_8
   24861             : /* 47594*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24862             : /* 47596*/            OPC_EmitMergeInputChains1_0,
   24863             : /* 47597*/            OPC_EmitInteger, MVT::i32, 0, 
   24864             : /* 47600*/            OPC_EmitInteger, MVT::i32, 0, 
   24865             : /* 47603*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24866             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   24867             :                       // Src: (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_8>> - Complexity = 4
   24868             :                       // Dst: (ATOMIC_RMW8_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24869             : /* 47613*/          /*Scope*/ 21, /*->47635*/
   24870             : /* 47614*/            OPC_CheckPredicate, 2, // Predicate_atomic_load_xor_16
   24871             : /* 47616*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24872             : /* 47618*/            OPC_EmitMergeInputChains1_0,
   24873             : /* 47619*/            OPC_EmitInteger, MVT::i32, 0, 
   24874             : /* 47622*/            OPC_EmitInteger, MVT::i32, 0, 
   24875             : /* 47625*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XOR_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24876             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   24877             :                       // Src: (atomic_load_xor:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_load_xor_16>> - Complexity = 4
   24878             :                       // Dst: (ATOMIC_RMW16_U_XOR_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24879             : /* 47635*/          0, /*End of Scope*/
   24880             : /* 47636*/        /*SwitchType*/ 21, MVT::i64,// ->47659
   24881             : /* 47638*/          OPC_CheckPredicate, 8, // Predicate_atomic_load_xor_64
   24882             : /* 47640*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24883             : /* 47642*/          OPC_EmitMergeInputChains1_0,
   24884             : /* 47643*/          OPC_EmitInteger, MVT::i32, 0, 
   24885             : /* 47646*/          OPC_EmitInteger, MVT::i32, 0, 
   24886             : /* 47649*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XOR_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24887             :                         MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   24888             :                     // Src: (atomic_load_xor:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_load_xor_64>> - Complexity = 4
   24889             :                     // Dst: (ATOMIC_RMW_XOR_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24890             : /* 47659*/        0, // EndSwitchType
   24891             : /* 47660*/      0, /*End of Scope*/
   24892             : /* 47661*/    0, /*End of Scope*/
   24893             : /* 47662*/  /*SwitchOpcode*/ 116|128,8/*1140*/, TARGET_VAL(ISD::ATOMIC_SWAP),// ->48806
   24894             : /* 47666*/    OPC_RecordMemRef,
   24895             : /* 47667*/    OPC_RecordNode, // #0 = 'atomic_swap' chained node
   24896             : /* 47668*/    OPC_Scope, 123|128,6/*891*/, /*->48562*/ // 2 children in Scope
   24897             : /* 47671*/      OPC_MoveChild1,
   24898             : /* 47672*/      OPC_SwitchOpcode /*3 cases */, 127|128,3/*511*/, TARGET_VAL(ISD::ADD),// ->48188
   24899             : /* 47677*/        OPC_Scope, 101, /*->47780*/ // 5 children in Scope
   24900             : /* 47679*/          OPC_RecordChild0, // #1 = $addr
   24901             : /* 47680*/          OPC_MoveChild1,
   24902             : /* 47681*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   24903             : /* 47684*/          OPC_RecordChild0, // #2 = $off
   24904             : /* 47685*/          OPC_MoveChild0,
   24905             : /* 47686*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   24906             : /* 47689*/          OPC_MoveParent,
   24907             : /* 47690*/          OPC_MoveParent,
   24908             : /* 47691*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   24909             : /* 47693*/          OPC_CheckType, MVT::i32,
   24910             : /* 47695*/          OPC_MoveParent,
   24911             : /* 47696*/          OPC_RecordChild2, // #3 = $val
   24912             : /* 47697*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->47759
   24913             : /* 47700*/            OPC_Scope, 18, /*->47720*/ // 3 children in Scope
   24914             : /* 47702*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   24915             : /* 47704*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24916             : /* 47706*/              OPC_EmitMergeInputChains1_0,
   24917             : /* 47707*/              OPC_EmitInteger, MVT::i32, 0, 
   24918             : /* 47710*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24919             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   24920             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 14
   24921             :                         // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24922             : /* 47720*/            /*Scope*/ 18, /*->47739*/
   24923             : /* 47721*/              OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   24924             : /* 47723*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24925             : /* 47725*/              OPC_EmitMergeInputChains1_0,
   24926             : /* 47726*/              OPC_EmitInteger, MVT::i32, 0, 
   24927             : /* 47729*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24928             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   24929             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 14
   24930             :                         // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24931             : /* 47739*/            /*Scope*/ 18, /*->47758*/
   24932             : /* 47740*/              OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   24933             : /* 47742*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24934             : /* 47744*/              OPC_EmitMergeInputChains1_0,
   24935             : /* 47745*/              OPC_EmitInteger, MVT::i32, 0, 
   24936             : /* 47748*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24937             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   24938             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 14
   24939             :                         // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24940             : /* 47758*/            0, /*End of Scope*/
   24941             : /* 47759*/          /*SwitchType*/ 18, MVT::i64,// ->47779
   24942             : /* 47761*/            OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
   24943             : /* 47763*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24944             : /* 47765*/            OPC_EmitMergeInputChains1_0,
   24945             : /* 47766*/            OPC_EmitInteger, MVT::i32, 0, 
   24946             : /* 47769*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24947             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   24948             :                       // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 14
   24949             :                       // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   24950             : /* 47779*/          0, // EndSwitchType
   24951             : /* 47780*/        /*Scope*/ 101, /*->47882*/
   24952             : /* 47781*/          OPC_MoveChild0,
   24953             : /* 47782*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   24954             : /* 47785*/          OPC_RecordChild0, // #1 = $off
   24955             : /* 47786*/          OPC_MoveChild0,
   24956             : /* 47787*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   24957             : /* 47790*/          OPC_MoveParent,
   24958             : /* 47791*/          OPC_MoveParent,
   24959             : /* 47792*/          OPC_RecordChild1, // #2 = $addr
   24960             : /* 47793*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   24961             : /* 47795*/          OPC_CheckType, MVT::i32,
   24962             : /* 47797*/          OPC_MoveParent,
   24963             : /* 47798*/          OPC_RecordChild2, // #3 = $val
   24964             : /* 47799*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->47861
   24965             : /* 47802*/            OPC_Scope, 18, /*->47822*/ // 3 children in Scope
   24966             : /* 47804*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   24967             : /* 47806*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24968             : /* 47808*/              OPC_EmitMergeInputChains1_0,
   24969             : /* 47809*/              OPC_EmitInteger, MVT::i32, 0, 
   24970             : /* 47812*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24971             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   24972             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 14
   24973             :                         // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24974             : /* 47822*/            /*Scope*/ 18, /*->47841*/
   24975             : /* 47823*/              OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   24976             : /* 47825*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24977             : /* 47827*/              OPC_EmitMergeInputChains1_0,
   24978             : /* 47828*/              OPC_EmitInteger, MVT::i32, 0, 
   24979             : /* 47831*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24980             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   24981             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 14
   24982             :                         // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24983             : /* 47841*/            /*Scope*/ 18, /*->47860*/
   24984             : /* 47842*/              OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   24985             : /* 47844*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24986             : /* 47846*/              OPC_EmitMergeInputChains1_0,
   24987             : /* 47847*/              OPC_EmitInteger, MVT::i32, 0, 
   24988             : /* 47850*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   24989             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   24990             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 14
   24991             :                         // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   24992             : /* 47860*/            0, /*End of Scope*/
   24993             : /* 47861*/          /*SwitchType*/ 18, MVT::i64,// ->47881
   24994             : /* 47863*/            OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
   24995             : /* 47865*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   24996             : /* 47867*/            OPC_EmitMergeInputChains1_0,
   24997             : /* 47868*/            OPC_EmitInteger, MVT::i32, 0, 
   24998             : /* 47871*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   24999             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   25000             :                       // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 14
   25001             :                       // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   25002             : /* 47881*/          0, // EndSwitchType
   25003             : /* 47882*/        /*Scope*/ 99, /*->47982*/
   25004             : /* 47883*/          OPC_RecordChild0, // #1 = $addr
   25005             : /* 47884*/          OPC_MoveChild1,
   25006             : /* 47885*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   25007             : /* 47888*/          OPC_RecordChild0, // #2 = $off
   25008             : /* 47889*/          OPC_MoveChild0,
   25009             : /* 47890*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   25010             : /* 47893*/          OPC_MoveParent,
   25011             : /* 47894*/          OPC_MoveParent,
   25012             : /* 47895*/          OPC_CheckType, MVT::i32,
   25013             : /* 47897*/          OPC_MoveParent,
   25014             : /* 47898*/          OPC_RecordChild2, // #3 = $val
   25015             : /* 47899*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->47961
   25016             : /* 47902*/            OPC_Scope, 18, /*->47922*/ // 3 children in Scope
   25017             : /* 47904*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   25018             : /* 47906*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25019             : /* 47908*/              OPC_EmitMergeInputChains1_0,
   25020             : /* 47909*/              OPC_EmitInteger, MVT::i32, 0, 
   25021             : /* 47912*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25022             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   25023             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 13
   25024             :                         // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25025             : /* 47922*/            /*Scope*/ 18, /*->47941*/
   25026             : /* 47923*/              OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   25027             : /* 47925*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25028             : /* 47927*/              OPC_EmitMergeInputChains1_0,
   25029             : /* 47928*/              OPC_EmitInteger, MVT::i32, 0, 
   25030             : /* 47931*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25031             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   25032             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 13
   25033             :                         // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25034             : /* 47941*/            /*Scope*/ 18, /*->47960*/
   25035             : /* 47942*/              OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   25036             : /* 47944*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25037             : /* 47946*/              OPC_EmitMergeInputChains1_0,
   25038             : /* 47947*/              OPC_EmitInteger, MVT::i32, 0, 
   25039             : /* 47950*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25040             :                             MVT::i32, 4/*#Ops*/, 4, 2, 1, 3, 
   25041             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 13
   25042             :                         // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25043             : /* 47960*/            0, /*End of Scope*/
   25044             : /* 47961*/          /*SwitchType*/ 18, MVT::i64,// ->47981
   25045             : /* 47963*/            OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
   25046             : /* 47965*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25047             : /* 47967*/            OPC_EmitMergeInputChains1_0,
   25048             : /* 47968*/            OPC_EmitInteger, MVT::i32, 0, 
   25049             : /* 47971*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25050             :                           MVT::i64, 4/*#Ops*/, 4, 2, 1, 3, 
   25051             :                       // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 13
   25052             :                       // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   25053             : /* 47981*/          0, // EndSwitchType
   25054             : /* 47982*/        /*Scope*/ 99, /*->48082*/
   25055             : /* 47983*/          OPC_MoveChild0,
   25056             : /* 47984*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   25057             : /* 47987*/          OPC_RecordChild0, // #1 = $off
   25058             : /* 47988*/          OPC_MoveChild0,
   25059             : /* 47989*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   25060             : /* 47992*/          OPC_MoveParent,
   25061             : /* 47993*/          OPC_MoveParent,
   25062             : /* 47994*/          OPC_RecordChild1, // #2 = $addr
   25063             : /* 47995*/          OPC_CheckType, MVT::i32,
   25064             : /* 47997*/          OPC_MoveParent,
   25065             : /* 47998*/          OPC_RecordChild2, // #3 = $val
   25066             : /* 47999*/          OPC_SwitchType /*2 cases */, 59, MVT::i32,// ->48061
   25067             : /* 48002*/            OPC_Scope, 18, /*->48022*/ // 3 children in Scope
   25068             : /* 48004*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   25069             : /* 48006*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25070             : /* 48008*/              OPC_EmitMergeInputChains1_0,
   25071             : /* 48009*/              OPC_EmitInteger, MVT::i32, 0, 
   25072             : /* 48012*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25073             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   25074             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 13
   25075             :                         // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25076             : /* 48022*/            /*Scope*/ 18, /*->48041*/
   25077             : /* 48023*/              OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   25078             : /* 48025*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25079             : /* 48027*/              OPC_EmitMergeInputChains1_0,
   25080             : /* 48028*/              OPC_EmitInteger, MVT::i32, 0, 
   25081             : /* 48031*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25082             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   25083             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 13
   25084             :                         // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25085             : /* 48041*/            /*Scope*/ 18, /*->48060*/
   25086             : /* 48042*/              OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   25087             : /* 48044*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25088             : /* 48046*/              OPC_EmitMergeInputChains1_0,
   25089             : /* 48047*/              OPC_EmitInteger, MVT::i32, 0, 
   25090             : /* 48050*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25091             :                             MVT::i32, 4/*#Ops*/, 4, 1, 2, 3, 
   25092             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 13
   25093             :                         // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25094             : /* 48060*/            0, /*End of Scope*/
   25095             : /* 48061*/          /*SwitchType*/ 18, MVT::i64,// ->48081
   25096             : /* 48063*/            OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
   25097             : /* 48065*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25098             : /* 48067*/            OPC_EmitMergeInputChains1_0,
   25099             : /* 48068*/            OPC_EmitInteger, MVT::i32, 0, 
   25100             : /* 48071*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25101             :                           MVT::i64, 4/*#Ops*/, 4, 1, 2, 3, 
   25102             :                       // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 13
   25103             :                       // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   25104             : /* 48081*/          0, // EndSwitchType
   25105             : /* 48082*/        /*Scope*/ 104, /*->48187*/
   25106             : /* 48083*/          OPC_RecordChild0, // #1 = $addr
   25107             : /* 48084*/          OPC_RecordChild1, // #2 = $off
   25108             : /* 48085*/          OPC_MoveChild1,
   25109             : /* 48086*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   25110             : /* 48089*/          OPC_MoveParent,
   25111             : /* 48090*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   25112             : /* 48092*/          OPC_CheckType, MVT::i32,
   25113             : /* 48094*/          OPC_MoveParent,
   25114             : /* 48095*/          OPC_RecordChild2, // #3 = $val
   25115             : /* 48096*/          OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->48164
   25116             : /* 48099*/            OPC_Scope, 20, /*->48121*/ // 3 children in Scope
   25117             : /* 48101*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   25118             : /* 48103*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25119             : /* 48105*/              OPC_EmitMergeInputChains1_0,
   25120             : /* 48106*/              OPC_EmitInteger, MVT::i32, 0, 
   25121             : /* 48109*/              OPC_EmitConvertToTarget, 2,
   25122             : /* 48111*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25123             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   25124             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 11
   25125             :                         // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25126             : /* 48121*/            /*Scope*/ 20, /*->48142*/
   25127             : /* 48122*/              OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   25128             : /* 48124*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25129             : /* 48126*/              OPC_EmitMergeInputChains1_0,
   25130             : /* 48127*/              OPC_EmitInteger, MVT::i32, 0, 
   25131             : /* 48130*/              OPC_EmitConvertToTarget, 2,
   25132             : /* 48132*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25133             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   25134             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 11
   25135             :                         // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25136             : /* 48142*/            /*Scope*/ 20, /*->48163*/
   25137             : /* 48143*/              OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   25138             : /* 48145*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25139             : /* 48147*/              OPC_EmitMergeInputChains1_0,
   25140             : /* 48148*/              OPC_EmitInteger, MVT::i32, 0, 
   25141             : /* 48151*/              OPC_EmitConvertToTarget, 2,
   25142             : /* 48153*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25143             :                             MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   25144             :                         // Src: (atomic_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 11
   25145             :                         // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25146             : /* 48163*/            0, /*End of Scope*/
   25147             : /* 48164*/          /*SwitchType*/ 20, MVT::i64,// ->48186
   25148             : /* 48166*/            OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
   25149             : /* 48168*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25150             : /* 48170*/            OPC_EmitMergeInputChains1_0,
   25151             : /* 48171*/            OPC_EmitInteger, MVT::i32, 0, 
   25152             : /* 48174*/            OPC_EmitConvertToTarget, 2,
   25153             : /* 48176*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25154             :                           MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   25155             :                       // Src: (atomic_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 11
   25156             :                       // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   25157             : /* 48186*/          0, // EndSwitchType
   25158             : /* 48187*/        0, /*End of Scope*/
   25159             : /* 48188*/      /*SwitchOpcode*/ 104, TARGET_VAL(ISD::OR),// ->48295
   25160             : /* 48191*/        OPC_RecordChild0, // #1 = $addr
   25161             : /* 48192*/        OPC_RecordChild1, // #2 = $off
   25162             : /* 48193*/        OPC_MoveChild1,
   25163             : /* 48194*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   25164             : /* 48197*/        OPC_MoveParent,
   25165             : /* 48198*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   25166             : /* 48200*/        OPC_CheckType, MVT::i32,
   25167             : /* 48202*/        OPC_MoveParent,
   25168             : /* 48203*/        OPC_RecordChild2, // #3 = $val
   25169             : /* 48204*/        OPC_SwitchType /*2 cases */, 65, MVT::i32,// ->48272
   25170             : /* 48207*/          OPC_Scope, 20, /*->48229*/ // 3 children in Scope
   25171             : /* 48209*/            OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   25172             : /* 48211*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25173             : /* 48213*/            OPC_EmitMergeInputChains1_0,
   25174             : /* 48214*/            OPC_EmitInteger, MVT::i32, 0, 
   25175             : /* 48217*/            OPC_EmitConvertToTarget, 2,
   25176             : /* 48219*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25177             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   25178             :                       // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 11
   25179             :                       // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25180             : /* 48229*/          /*Scope*/ 20, /*->48250*/
   25181             : /* 48230*/            OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   25182             : /* 48232*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25183             : /* 48234*/            OPC_EmitMergeInputChains1_0,
   25184             : /* 48235*/            OPC_EmitInteger, MVT::i32, 0, 
   25185             : /* 48238*/            OPC_EmitConvertToTarget, 2,
   25186             : /* 48240*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25187             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   25188             :                       // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 11
   25189             :                       // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25190             : /* 48250*/          /*Scope*/ 20, /*->48271*/
   25191             : /* 48251*/            OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   25192             : /* 48253*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25193             : /* 48255*/            OPC_EmitMergeInputChains1_0,
   25194             : /* 48256*/            OPC_EmitInteger, MVT::i32, 0, 
   25195             : /* 48259*/            OPC_EmitConvertToTarget, 2,
   25196             : /* 48261*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25197             :                           MVT::i32, 4/*#Ops*/, 4, 5, 1, 3, 
   25198             :                       // Src: (atomic_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 11
   25199             :                       // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25200             : /* 48271*/          0, /*End of Scope*/
   25201             : /* 48272*/        /*SwitchType*/ 20, MVT::i64,// ->48294
   25202             : /* 48274*/          OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
   25203             : /* 48276*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25204             : /* 48278*/          OPC_EmitMergeInputChains1_0,
   25205             : /* 48279*/          OPC_EmitInteger, MVT::i32, 0, 
   25206             : /* 48282*/          OPC_EmitConvertToTarget, 2,
   25207             : /* 48284*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25208             :                         MVT::i64, 4/*#Ops*/, 4, 5, 1, 3, 
   25209             :                     // Src: (atomic_swap:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 11
   25210             :                     // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   25211             : /* 48294*/        0, // EndSwitchType
   25212             : /* 48295*/      /*SwitchOpcode*/ 6|128,2/*262*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->48561
   25213             : /* 48299*/        OPC_RecordChild0, // #1 = $off
   25214             : /* 48300*/        OPC_MoveChild0,
   25215             : /* 48301*/        OPC_SwitchOpcode /*2 cases */, 126, TARGET_VAL(ISD::TargetGlobalAddress),// ->48431
   25216             : /* 48305*/          OPC_MoveParent,
   25217             : /* 48306*/          OPC_MoveParent,
   25218             : /* 48307*/          OPC_RecordChild2, // #2 = $val
   25219             : /* 48308*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->48400
   25220             : /* 48311*/            OPC_Scope, 28, /*->48341*/ // 3 children in Scope
   25221             : /* 48313*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   25222             : /* 48315*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25223             : /* 48317*/              OPC_EmitMergeInputChains1_0,
   25224             : /* 48318*/              OPC_EmitInteger, MVT::i32, 0, 
   25225             : /* 48321*/              OPC_EmitInteger, MVT::i32, 0, 
   25226             : /* 48324*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25227             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   25228             : /* 48331*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25229             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   25230             :                         // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 10
   25231             :                         // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   25232             : /* 48341*/            /*Scope*/ 28, /*->48370*/
   25233             : /* 48342*/              OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   25234             : /* 48344*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25235             : /* 48346*/              OPC_EmitMergeInputChains1_0,
   25236             : /* 48347*/              OPC_EmitInteger, MVT::i32, 0, 
   25237             : /* 48350*/              OPC_EmitInteger, MVT::i32, 0, 
   25238             : /* 48353*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25239             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   25240             : /* 48360*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25241             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   25242             :                         // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 10
   25243             :                         // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   25244             : /* 48370*/            /*Scope*/ 28, /*->48399*/
   25245             : /* 48371*/              OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   25246             : /* 48373*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25247             : /* 48375*/              OPC_EmitMergeInputChains1_0,
   25248             : /* 48376*/              OPC_EmitInteger, MVT::i32, 0, 
   25249             : /* 48379*/              OPC_EmitInteger, MVT::i32, 0, 
   25250             : /* 48382*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25251             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   25252             : /* 48389*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25253             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   25254             :                         // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 10
   25255             :                         // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   25256             : /* 48399*/            0, /*End of Scope*/
   25257             : /* 48400*/          /*SwitchType*/ 28, MVT::i64,// ->48430
   25258             : /* 48402*/            OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
   25259             : /* 48404*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25260             : /* 48406*/            OPC_EmitMergeInputChains1_0,
   25261             : /* 48407*/            OPC_EmitInteger, MVT::i32, 0, 
   25262             : /* 48410*/            OPC_EmitInteger, MVT::i32, 0, 
   25263             : /* 48413*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25264             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   25265             : /* 48420*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25266             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   25267             :                       // Src: (atomic_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 10
   25268             :                       // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   25269             : /* 48430*/          0, // EndSwitchType
   25270             : /* 48431*/        /*SwitchOpcode*/ 126, TARGET_VAL(ISD::TargetExternalSymbol),// ->48560
   25271             : /* 48434*/          OPC_MoveParent,
   25272             : /* 48435*/          OPC_MoveParent,
   25273             : /* 48436*/          OPC_RecordChild2, // #2 = $val
   25274             : /* 48437*/          OPC_SwitchType /*2 cases */, 89, MVT::i32,// ->48529
   25275             : /* 48440*/            OPC_Scope, 28, /*->48470*/ // 3 children in Scope
   25276             : /* 48442*/              OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   25277             : /* 48444*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25278             : /* 48446*/              OPC_EmitMergeInputChains1_0,
   25279             : /* 48447*/              OPC_EmitInteger, MVT::i32, 0, 
   25280             : /* 48450*/              OPC_EmitInteger, MVT::i32, 0, 
   25281             : /* 48453*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25282             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   25283             : /* 48460*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25284             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   25285             :                         // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 10
   25286             :                         // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   25287             : /* 48470*/            /*Scope*/ 28, /*->48499*/
   25288             : /* 48471*/              OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   25289             : /* 48473*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25290             : /* 48475*/              OPC_EmitMergeInputChains1_0,
   25291             : /* 48476*/              OPC_EmitInteger, MVT::i32, 0, 
   25292             : /* 48479*/              OPC_EmitInteger, MVT::i32, 0, 
   25293             : /* 48482*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25294             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   25295             : /* 48489*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25296             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   25297             :                         // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 10
   25298             :                         // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   25299             : /* 48499*/            /*Scope*/ 28, /*->48528*/
   25300             : /* 48500*/              OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   25301             : /* 48502*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25302             : /* 48504*/              OPC_EmitMergeInputChains1_0,
   25303             : /* 48505*/              OPC_EmitInteger, MVT::i32, 0, 
   25304             : /* 48508*/              OPC_EmitInteger, MVT::i32, 0, 
   25305             : /* 48511*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25306             :                             MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   25307             : /* 48518*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25308             :                             MVT::i32, 4/*#Ops*/, 3, 1, 5, 2, 
   25309             :                         // Src: (atomic_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 10
   25310             :                         // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   25311             : /* 48528*/            0, /*End of Scope*/
   25312             : /* 48529*/          /*SwitchType*/ 28, MVT::i64,// ->48559
   25313             : /* 48531*/            OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
   25314             : /* 48533*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25315             : /* 48535*/            OPC_EmitMergeInputChains1_0,
   25316             : /* 48536*/            OPC_EmitInteger, MVT::i32, 0, 
   25317             : /* 48539*/            OPC_EmitInteger, MVT::i32, 0, 
   25318             : /* 48542*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25319             :                           MVT::i32, 1/*#Ops*/, 4,  // Results = #5
   25320             : /* 48549*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25321             :                           MVT::i64, 4/*#Ops*/, 3, 1, 5, 2, 
   25322             :                       // Src: (atomic_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 10
   25323             :                       // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   25324             : /* 48559*/          0, // EndSwitchType
   25325             : /* 48560*/        0, // EndSwitchOpcode
   25326             : /* 48561*/      0, // EndSwitchOpcode
   25327             : /* 48562*/    /*Scope*/ 113|128,1/*241*/, /*->48805*/
   25328             : /* 48564*/      OPC_RecordChild1, // #1 = $off
   25329             : /* 48565*/      OPC_Scope, 9|128,1/*137*/, /*->48705*/ // 2 children in Scope
   25330             : /* 48568*/        OPC_MoveChild1,
   25331             : /* 48569*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   25332             : /* 48572*/        OPC_MoveParent,
   25333             : /* 48573*/        OPC_RecordChild2, // #2 = $val
   25334             : /* 48574*/        OPC_SwitchType /*2 cases */, 95, MVT::i32,// ->48672
   25335             : /* 48577*/          OPC_Scope, 30, /*->48609*/ // 3 children in Scope
   25336             : /* 48579*/            OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   25337             : /* 48581*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25338             : /* 48583*/            OPC_EmitMergeInputChains1_0,
   25339             : /* 48584*/            OPC_EmitInteger, MVT::i32, 0, 
   25340             : /* 48587*/            OPC_EmitConvertToTarget, 1,
   25341             : /* 48589*/            OPC_EmitInteger, MVT::i32, 0, 
   25342             : /* 48592*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25343             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25344             : /* 48599*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25345             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   25346             :                       // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 7
   25347             :                       // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   25348             : /* 48609*/          /*Scope*/ 30, /*->48640*/
   25349             : /* 48610*/            OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   25350             : /* 48612*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25351             : /* 48614*/            OPC_EmitMergeInputChains1_0,
   25352             : /* 48615*/            OPC_EmitInteger, MVT::i32, 0, 
   25353             : /* 48618*/            OPC_EmitConvertToTarget, 1,
   25354             : /* 48620*/            OPC_EmitInteger, MVT::i32, 0, 
   25355             : /* 48623*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25356             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25357             : /* 48630*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25358             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   25359             :                       // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 7
   25360             :                       // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   25361             : /* 48640*/          /*Scope*/ 30, /*->48671*/
   25362             : /* 48641*/            OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   25363             : /* 48643*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25364             : /* 48645*/            OPC_EmitMergeInputChains1_0,
   25365             : /* 48646*/            OPC_EmitInteger, MVT::i32, 0, 
   25366             : /* 48649*/            OPC_EmitConvertToTarget, 1,
   25367             : /* 48651*/            OPC_EmitInteger, MVT::i32, 0, 
   25368             : /* 48654*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25369             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25370             : /* 48661*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25371             :                           MVT::i32, 4/*#Ops*/, 3, 4, 6, 2, 
   25372             :                       // Src: (atomic_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 7
   25373             :                       // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$val)
   25374             : /* 48671*/          0, /*End of Scope*/
   25375             : /* 48672*/        /*SwitchType*/ 30, MVT::i64,// ->48704
   25376             : /* 48674*/          OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
   25377             : /* 48676*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25378             : /* 48678*/          OPC_EmitMergeInputChains1_0,
   25379             : /* 48679*/          OPC_EmitInteger, MVT::i32, 0, 
   25380             : /* 48682*/          OPC_EmitConvertToTarget, 1,
   25381             : /* 48684*/          OPC_EmitInteger, MVT::i32, 0, 
   25382             : /* 48687*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25383             :                         MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25384             : /* 48694*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25385             :                         MVT::i64, 4/*#Ops*/, 3, 4, 6, 2, 
   25386             :                     // Src: (atomic_swap:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 7
   25387             :                     // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$val)
   25388             : /* 48704*/        0, // EndSwitchType
   25389             : /* 48705*/      /*Scope*/ 98, /*->48804*/
   25390             : /* 48706*/        OPC_CheckChild1Type, MVT::i32,
   25391             : /* 48708*/        OPC_RecordChild2, // #2 = $val
   25392             : /* 48709*/        OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->48780
   25393             : /* 48712*/          OPC_Scope, 21, /*->48735*/ // 3 children in Scope
   25394             : /* 48714*/            OPC_CheckPredicate, 7, // Predicate_atomic_swap_32
   25395             : /* 48716*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25396             : /* 48718*/            OPC_EmitMergeInputChains1_0,
   25397             : /* 48719*/            OPC_EmitInteger, MVT::i32, 0, 
   25398             : /* 48722*/            OPC_EmitInteger, MVT::i32, 0, 
   25399             : /* 48725*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25400             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   25401             :                       // Src: (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_32>> - Complexity = 4
   25402             :                       // Dst: (ATOMIC_RMW_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25403             : /* 48735*/          /*Scope*/ 21, /*->48757*/
   25404             : /* 48736*/            OPC_CheckPredicate, 1, // Predicate_atomic_swap_8
   25405             : /* 48738*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25406             : /* 48740*/            OPC_EmitMergeInputChains1_0,
   25407             : /* 48741*/            OPC_EmitInteger, MVT::i32, 0, 
   25408             : /* 48744*/            OPC_EmitInteger, MVT::i32, 0, 
   25409             : /* 48747*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25410             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   25411             :                       // Src: (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_8>> - Complexity = 4
   25412             :                       // Dst: (ATOMIC_RMW8_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25413             : /* 48757*/          /*Scope*/ 21, /*->48779*/
   25414             : /* 48758*/            OPC_CheckPredicate, 2, // Predicate_atomic_swap_16
   25415             : /* 48760*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25416             : /* 48762*/            OPC_EmitMergeInputChains1_0,
   25417             : /* 48763*/            OPC_EmitInteger, MVT::i32, 0, 
   25418             : /* 48766*/            OPC_EmitInteger, MVT::i32, 0, 
   25419             : /* 48769*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_XCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25420             :                           MVT::i32, 4/*#Ops*/, 3, 4, 1, 2, 
   25421             :                       // Src: (atomic_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)<<P:Predicate_atomic_swap_16>> - Complexity = 4
   25422             :                       // Dst: (ATOMIC_RMW16_U_XCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$val)
   25423             : /* 48779*/          0, /*End of Scope*/
   25424             : /* 48780*/        /*SwitchType*/ 21, MVT::i64,// ->48803
   25425             : /* 48782*/          OPC_CheckPredicate, 8, // Predicate_atomic_swap_64
   25426             : /* 48784*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25427             : /* 48786*/          OPC_EmitMergeInputChains1_0,
   25428             : /* 48787*/          OPC_EmitInteger, MVT::i32, 0, 
   25429             : /* 48790*/          OPC_EmitInteger, MVT::i32, 0, 
   25430             : /* 48793*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_XCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25431             :                         MVT::i64, 4/*#Ops*/, 3, 4, 1, 2, 
   25432             :                     // Src: (atomic_swap:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)<<P:Predicate_atomic_swap_64>> - Complexity = 4
   25433             :                     // Dst: (ATOMIC_RMW_XCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$val)
   25434             : /* 48803*/        0, // EndSwitchType
   25435             : /* 48804*/      0, /*End of Scope*/
   25436             : /* 48805*/    0, /*End of Scope*/
   25437             : /* 48806*/  /*SwitchOpcode*/ 40|128,9/*1192*/, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),// ->50002
   25438             : /* 48810*/    OPC_RecordMemRef,
   25439             : /* 48811*/    OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
   25440             : /* 48812*/    OPC_Scope, 37|128,7/*933*/, /*->49748*/ // 2 children in Scope
   25441             : /* 48815*/      OPC_MoveChild1,
   25442             : /* 48816*/      OPC_SwitchOpcode /*3 cases */, 24|128,4/*536*/, TARGET_VAL(ISD::ADD),// ->49357
   25443             : /* 48821*/        OPC_Scope, 106, /*->48929*/ // 5 children in Scope
   25444             : /* 48823*/          OPC_RecordChild0, // #1 = $addr
   25445             : /* 48824*/          OPC_MoveChild1,
   25446             : /* 48825*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   25447             : /* 48828*/          OPC_RecordChild0, // #2 = $off
   25448             : /* 48829*/          OPC_MoveChild0,
   25449             : /* 48830*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   25450             : /* 48833*/          OPC_MoveParent,
   25451             : /* 48834*/          OPC_MoveParent,
   25452             : /* 48835*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   25453             : /* 48837*/          OPC_CheckType, MVT::i32,
   25454             : /* 48839*/          OPC_MoveParent,
   25455             : /* 48840*/          OPC_RecordChild2, // #3 = $exp
   25456             : /* 48841*/          OPC_RecordChild3, // #4 = $new
   25457             : /* 48842*/          OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->48907
   25458             : /* 48845*/            OPC_Scope, 19, /*->48866*/ // 3 children in Scope
   25459             : /* 48847*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
   25460             : /* 48849*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25461             : /* 48851*/              OPC_EmitMergeInputChains1_0,
   25462             : /* 48852*/              OPC_EmitInteger, MVT::i32, 0, 
   25463             : /* 48855*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25464             :                             MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   25465             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 14
   25466             :                         // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25467             : /* 48866*/            /*Scope*/ 19, /*->48886*/
   25468             : /* 48867*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   25469             : /* 48869*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25470             : /* 48871*/              OPC_EmitMergeInputChains1_0,
   25471             : /* 48872*/              OPC_EmitInteger, MVT::i32, 0, 
   25472             : /* 48875*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25473             :                             MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   25474             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 14
   25475             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25476             : /* 48886*/            /*Scope*/ 19, /*->48906*/
   25477             : /* 48887*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   25478             : /* 48889*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25479             : /* 48891*/              OPC_EmitMergeInputChains1_0,
   25480             : /* 48892*/              OPC_EmitInteger, MVT::i32, 0, 
   25481             : /* 48895*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25482             :                             MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   25483             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 14
   25484             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25485             : /* 48906*/            0, /*End of Scope*/
   25486             : /* 48907*/          /*SwitchType*/ 19, MVT::i64,// ->48928
   25487             : /* 48909*/            OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
   25488             : /* 48911*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25489             : /* 48913*/            OPC_EmitMergeInputChains1_0,
   25490             : /* 48914*/            OPC_EmitInteger, MVT::i32, 0, 
   25491             : /* 48917*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25492             :                           MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   25493             :                       // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off))<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 14
   25494             :                       // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   25495             : /* 48928*/          0, // EndSwitchType
   25496             : /* 48929*/        /*Scope*/ 106, /*->49036*/
   25497             : /* 48930*/          OPC_MoveChild0,
   25498             : /* 48931*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   25499             : /* 48934*/          OPC_RecordChild0, // #1 = $off
   25500             : /* 48935*/          OPC_MoveChild0,
   25501             : /* 48936*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   25502             : /* 48939*/          OPC_MoveParent,
   25503             : /* 48940*/          OPC_MoveParent,
   25504             : /* 48941*/          OPC_RecordChild1, // #2 = $addr
   25505             : /* 48942*/          OPC_CheckPredicate, 0, // Predicate_regPlusGA
   25506             : /* 48944*/          OPC_CheckType, MVT::i32,
   25507             : /* 48946*/          OPC_MoveParent,
   25508             : /* 48947*/          OPC_RecordChild2, // #3 = $exp
   25509             : /* 48948*/          OPC_RecordChild3, // #4 = $new
   25510             : /* 48949*/          OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->49014
   25511             : /* 48952*/            OPC_Scope, 19, /*->48973*/ // 3 children in Scope
   25512             : /* 48954*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
   25513             : /* 48956*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25514             : /* 48958*/              OPC_EmitMergeInputChains1_0,
   25515             : /* 48959*/              OPC_EmitInteger, MVT::i32, 0, 
   25516             : /* 48962*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25517             :                             MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   25518             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 14
   25519             :                         // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25520             : /* 48973*/            /*Scope*/ 19, /*->48993*/
   25521             : /* 48974*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   25522             : /* 48976*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25523             : /* 48978*/              OPC_EmitMergeInputChains1_0,
   25524             : /* 48979*/              OPC_EmitInteger, MVT::i32, 0, 
   25525             : /* 48982*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25526             :                             MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   25527             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 14
   25528             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25529             : /* 48993*/            /*Scope*/ 19, /*->49013*/
   25530             : /* 48994*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   25531             : /* 48996*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25532             : /* 48998*/              OPC_EmitMergeInputChains1_0,
   25533             : /* 48999*/              OPC_EmitInteger, MVT::i32, 0, 
   25534             : /* 49002*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25535             :                             MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   25536             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 14
   25537             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25538             : /* 49013*/            0, /*End of Scope*/
   25539             : /* 49014*/          /*SwitchType*/ 19, MVT::i64,// ->49035
   25540             : /* 49016*/            OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
   25541             : /* 49018*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25542             : /* 49020*/            OPC_EmitMergeInputChains1_0,
   25543             : /* 49021*/            OPC_EmitInteger, MVT::i32, 0, 
   25544             : /* 49024*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25545             :                           MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   25546             :                       // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr)<<P:Predicate_regPlusGA>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 14
   25547             :                       // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   25548             : /* 49035*/          0, // EndSwitchType
   25549             : /* 49036*/        /*Scope*/ 104, /*->49141*/
   25550             : /* 49037*/          OPC_RecordChild0, // #1 = $addr
   25551             : /* 49038*/          OPC_MoveChild1,
   25552             : /* 49039*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   25553             : /* 49042*/          OPC_RecordChild0, // #2 = $off
   25554             : /* 49043*/          OPC_MoveChild0,
   25555             : /* 49044*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   25556             : /* 49047*/          OPC_MoveParent,
   25557             : /* 49048*/          OPC_MoveParent,
   25558             : /* 49049*/          OPC_CheckType, MVT::i32,
   25559             : /* 49051*/          OPC_MoveParent,
   25560             : /* 49052*/          OPC_RecordChild2, // #3 = $exp
   25561             : /* 49053*/          OPC_RecordChild3, // #4 = $new
   25562             : /* 49054*/          OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->49119
   25563             : /* 49057*/            OPC_Scope, 19, /*->49078*/ // 3 children in Scope
   25564             : /* 49059*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
   25565             : /* 49061*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25566             : /* 49063*/              OPC_EmitMergeInputChains1_0,
   25567             : /* 49064*/              OPC_EmitInteger, MVT::i32, 0, 
   25568             : /* 49067*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25569             :                             MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   25570             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 13
   25571             :                         // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25572             : /* 49078*/            /*Scope*/ 19, /*->49098*/
   25573             : /* 49079*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   25574             : /* 49081*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25575             : /* 49083*/              OPC_EmitMergeInputChains1_0,
   25576             : /* 49084*/              OPC_EmitInteger, MVT::i32, 0, 
   25577             : /* 49087*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25578             :                             MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   25579             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 13
   25580             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25581             : /* 49098*/            /*Scope*/ 19, /*->49118*/
   25582             : /* 49099*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   25583             : /* 49101*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25584             : /* 49103*/              OPC_EmitMergeInputChains1_0,
   25585             : /* 49104*/              OPC_EmitInteger, MVT::i32, 0, 
   25586             : /* 49107*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25587             :                             MVT::i32, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   25588             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 13
   25589             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25590             : /* 49118*/            0, /*End of Scope*/
   25591             : /* 49119*/          /*SwitchType*/ 19, MVT::i64,// ->49140
   25592             : /* 49121*/            OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
   25593             : /* 49123*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25594             : /* 49125*/            OPC_EmitMergeInputChains1_0,
   25595             : /* 49126*/            OPC_EmitInteger, MVT::i32, 0, 
   25596             : /* 49129*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25597             :                           MVT::i64, 5/*#Ops*/, 5, 2, 1, 3, 4, 
   25598             :                       // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off)), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 13
   25599             :                       // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   25600             : /* 49140*/          0, // EndSwitchType
   25601             : /* 49141*/        /*Scope*/ 104, /*->49246*/
   25602             : /* 49142*/          OPC_MoveChild0,
   25603             : /* 49143*/          OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   25604             : /* 49146*/          OPC_RecordChild0, // #1 = $off
   25605             : /* 49147*/          OPC_MoveChild0,
   25606             : /* 49148*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
   25607             : /* 49151*/          OPC_MoveParent,
   25608             : /* 49152*/          OPC_MoveParent,
   25609             : /* 49153*/          OPC_RecordChild1, // #2 = $addr
   25610             : /* 49154*/          OPC_CheckType, MVT::i32,
   25611             : /* 49156*/          OPC_MoveParent,
   25612             : /* 49157*/          OPC_RecordChild2, // #3 = $exp
   25613             : /* 49158*/          OPC_RecordChild3, // #4 = $new
   25614             : /* 49159*/          OPC_SwitchType /*2 cases */, 62, MVT::i32,// ->49224
   25615             : /* 49162*/            OPC_Scope, 19, /*->49183*/ // 3 children in Scope
   25616             : /* 49164*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
   25617             : /* 49166*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25618             : /* 49168*/              OPC_EmitMergeInputChains1_0,
   25619             : /* 49169*/              OPC_EmitInteger, MVT::i32, 0, 
   25620             : /* 49172*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25621             :                             MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   25622             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 13
   25623             :                         // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25624             : /* 49183*/            /*Scope*/ 19, /*->49203*/
   25625             : /* 49184*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   25626             : /* 49186*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25627             : /* 49188*/              OPC_EmitMergeInputChains1_0,
   25628             : /* 49189*/              OPC_EmitInteger, MVT::i32, 0, 
   25629             : /* 49192*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25630             :                             MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   25631             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 13
   25632             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25633             : /* 49203*/            /*Scope*/ 19, /*->49223*/
   25634             : /* 49204*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   25635             : /* 49206*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25636             : /* 49208*/              OPC_EmitMergeInputChains1_0,
   25637             : /* 49209*/              OPC_EmitInteger, MVT::i32, 0, 
   25638             : /* 49212*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25639             :                             MVT::i32, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   25640             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 13
   25641             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25642             : /* 49223*/            0, /*End of Scope*/
   25643             : /* 49224*/          /*SwitchType*/ 19, MVT::i64,// ->49245
   25644             : /* 49226*/            OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
   25645             : /* 49228*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25646             : /* 49230*/            OPC_EmitMergeInputChains1_0,
   25647             : /* 49231*/            OPC_EmitInteger, MVT::i32, 0, 
   25648             : /* 49234*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25649             :                           MVT::i64, 5/*#Ops*/, 5, 1, 2, 3, 4, 
   25650             :                       // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i32] } (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$off), I32:{ *:[i32] }:$addr), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 13
   25651             :                       // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   25652             : /* 49245*/          0, // EndSwitchType
   25653             : /* 49246*/        /*Scope*/ 109, /*->49356*/
   25654             : /* 49247*/          OPC_RecordChild0, // #1 = $addr
   25655             : /* 49248*/          OPC_RecordChild1, // #2 = $off
   25656             : /* 49249*/          OPC_MoveChild1,
   25657             : /* 49250*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   25658             : /* 49253*/          OPC_MoveParent,
   25659             : /* 49254*/          OPC_CheckPredicate, 3, // Predicate_regPlusImm
   25660             : /* 49256*/          OPC_CheckType, MVT::i32,
   25661             : /* 49258*/          OPC_MoveParent,
   25662             : /* 49259*/          OPC_RecordChild2, // #3 = $exp
   25663             : /* 49260*/          OPC_RecordChild3, // #4 = $new
   25664             : /* 49261*/          OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->49332
   25665             : /* 49264*/            OPC_Scope, 21, /*->49287*/ // 3 children in Scope
   25666             : /* 49266*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
   25667             : /* 49268*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25668             : /* 49270*/              OPC_EmitMergeInputChains1_0,
   25669             : /* 49271*/              OPC_EmitInteger, MVT::i32, 0, 
   25670             : /* 49274*/              OPC_EmitConvertToTarget, 2,
   25671             : /* 49276*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25672             :                             MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   25673             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 11
   25674             :                         // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25675             : /* 49287*/            /*Scope*/ 21, /*->49309*/
   25676             : /* 49288*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   25677             : /* 49290*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25678             : /* 49292*/              OPC_EmitMergeInputChains1_0,
   25679             : /* 49293*/              OPC_EmitInteger, MVT::i32, 0, 
   25680             : /* 49296*/              OPC_EmitConvertToTarget, 2,
   25681             : /* 49298*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25682             :                             MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   25683             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 11
   25684             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25685             : /* 49309*/            /*Scope*/ 21, /*->49331*/
   25686             : /* 49310*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   25687             : /* 49312*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25688             : /* 49314*/              OPC_EmitMergeInputChains1_0,
   25689             : /* 49315*/              OPC_EmitInteger, MVT::i32, 0, 
   25690             : /* 49318*/              OPC_EmitConvertToTarget, 2,
   25691             : /* 49320*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25692             :                             MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   25693             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 11
   25694             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25695             : /* 49331*/            0, /*End of Scope*/
   25696             : /* 49332*/          /*SwitchType*/ 21, MVT::i64,// ->49355
   25697             : /* 49334*/            OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
   25698             : /* 49336*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25699             : /* 49338*/            OPC_EmitMergeInputChains1_0,
   25700             : /* 49339*/            OPC_EmitInteger, MVT::i32, 0, 
   25701             : /* 49342*/            OPC_EmitConvertToTarget, 2,
   25702             : /* 49344*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25703             :                           MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   25704             :                       // Src: (atomic_cmp_swap:{ *:[i64] } (add:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_regPlusImm>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 11
   25705             :                       // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   25706             : /* 49355*/          0, // EndSwitchType
   25707             : /* 49356*/        0, /*End of Scope*/
   25708             : /* 49357*/      /*SwitchOpcode*/ 109, TARGET_VAL(ISD::OR),// ->49469
   25709             : /* 49360*/        OPC_RecordChild0, // #1 = $addr
   25710             : /* 49361*/        OPC_RecordChild1, // #2 = $off
   25711             : /* 49362*/        OPC_MoveChild1,
   25712             : /* 49363*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   25713             : /* 49366*/        OPC_MoveParent,
   25714             : /* 49367*/        OPC_CheckPredicate, 4, // Predicate_or_is_add
   25715             : /* 49369*/        OPC_CheckType, MVT::i32,
   25716             : /* 49371*/        OPC_MoveParent,
   25717             : /* 49372*/        OPC_RecordChild2, // #3 = $exp
   25718             : /* 49373*/        OPC_RecordChild3, // #4 = $new
   25719             : /* 49374*/        OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->49445
   25720             : /* 49377*/          OPC_Scope, 21, /*->49400*/ // 3 children in Scope
   25721             : /* 49379*/            OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
   25722             : /* 49381*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25723             : /* 49383*/            OPC_EmitMergeInputChains1_0,
   25724             : /* 49384*/            OPC_EmitInteger, MVT::i32, 0, 
   25725             : /* 49387*/            OPC_EmitConvertToTarget, 2,
   25726             : /* 49389*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25727             :                           MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   25728             :                       // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 11
   25729             :                       // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25730             : /* 49400*/          /*Scope*/ 21, /*->49422*/
   25731             : /* 49401*/            OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   25732             : /* 49403*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25733             : /* 49405*/            OPC_EmitMergeInputChains1_0,
   25734             : /* 49406*/            OPC_EmitInteger, MVT::i32, 0, 
   25735             : /* 49409*/            OPC_EmitConvertToTarget, 2,
   25736             : /* 49411*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25737             :                           MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   25738             :                       // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 11
   25739             :                       // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25740             : /* 49422*/          /*Scope*/ 21, /*->49444*/
   25741             : /* 49423*/            OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   25742             : /* 49425*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25743             : /* 49427*/            OPC_EmitMergeInputChains1_0,
   25744             : /* 49428*/            OPC_EmitInteger, MVT::i32, 0, 
   25745             : /* 49431*/            OPC_EmitConvertToTarget, 2,
   25746             : /* 49433*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25747             :                           MVT::i32, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   25748             :                       // Src: (atomic_cmp_swap:{ *:[i32] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 11
   25749             :                       // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25750             : /* 49444*/          0, /*End of Scope*/
   25751             : /* 49445*/        /*SwitchType*/ 21, MVT::i64,// ->49468
   25752             : /* 49447*/          OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
   25753             : /* 49449*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25754             : /* 49451*/          OPC_EmitMergeInputChains1_0,
   25755             : /* 49452*/          OPC_EmitInteger, MVT::i32, 0, 
   25756             : /* 49455*/          OPC_EmitConvertToTarget, 2,
   25757             : /* 49457*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25758             :                         MVT::i64, 5/*#Ops*/, 5, 6, 1, 3, 4, 
   25759             :                     // Src: (atomic_cmp_swap:{ *:[i64] } (or:{ *:[i32] } I32:{ *:[i32] }:$addr, (imm:{ *:[i32] }):$off)<<P:Predicate_or_is_add>>, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 11
   25760             :                     // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   25761             : /* 49468*/        0, // EndSwitchType
   25762             : /* 49469*/      /*SwitchOpcode*/ 18|128,2/*274*/, TARGET_VAL(WebAssemblyISD::Wrapper),// ->49747
   25763             : /* 49473*/        OPC_RecordChild0, // #1 = $off
   25764             : /* 49474*/        OPC_MoveChild0,
   25765             : /* 49475*/        OPC_SwitchOpcode /*2 cases */, 3|128,1/*131*/, TARGET_VAL(ISD::TargetGlobalAddress),// ->49611
   25766             : /* 49480*/          OPC_MoveParent,
   25767             : /* 49481*/          OPC_MoveParent,
   25768             : /* 49482*/          OPC_RecordChild2, // #2 = $exp
   25769             : /* 49483*/          OPC_RecordChild3, // #3 = $new
   25770             : /* 49484*/          OPC_SwitchType /*2 cases */, 92, MVT::i32,// ->49579
   25771             : /* 49487*/            OPC_Scope, 29, /*->49518*/ // 3 children in Scope
   25772             : /* 49489*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
   25773             : /* 49491*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25774             : /* 49493*/              OPC_EmitMergeInputChains1_0,
   25775             : /* 49494*/              OPC_EmitInteger, MVT::i32, 0, 
   25776             : /* 49497*/              OPC_EmitInteger, MVT::i32, 0, 
   25777             : /* 49500*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25778             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25779             : /* 49507*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25780             :                             MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   25781             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 10
   25782             :                         // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25783             : /* 49518*/            /*Scope*/ 29, /*->49548*/
   25784             : /* 49519*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   25785             : /* 49521*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25786             : /* 49523*/              OPC_EmitMergeInputChains1_0,
   25787             : /* 49524*/              OPC_EmitInteger, MVT::i32, 0, 
   25788             : /* 49527*/              OPC_EmitInteger, MVT::i32, 0, 
   25789             : /* 49530*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25790             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25791             : /* 49537*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25792             :                             MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   25793             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 10
   25794             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25795             : /* 49548*/            /*Scope*/ 29, /*->49578*/
   25796             : /* 49549*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   25797             : /* 49551*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25798             : /* 49553*/              OPC_EmitMergeInputChains1_0,
   25799             : /* 49554*/              OPC_EmitInteger, MVT::i32, 0, 
   25800             : /* 49557*/              OPC_EmitInteger, MVT::i32, 0, 
   25801             : /* 49560*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25802             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25803             : /* 49567*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25804             :                             MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   25805             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 10
   25806             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25807             : /* 49578*/            0, /*End of Scope*/
   25808             : /* 49579*/          /*SwitchType*/ 29, MVT::i64,// ->49610
   25809             : /* 49581*/            OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
   25810             : /* 49583*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25811             : /* 49585*/            OPC_EmitMergeInputChains1_0,
   25812             : /* 49586*/            OPC_EmitInteger, MVT::i32, 0, 
   25813             : /* 49589*/            OPC_EmitInteger, MVT::i32, 0, 
   25814             : /* 49592*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25815             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25816             : /* 49599*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25817             :                           MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   25818             :                       // Src: (atomic_cmp_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 10
   25819             :                       // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (tglobaladdr:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   25820             : /* 49610*/          0, // EndSwitchType
   25821             : /* 49611*/        /*SwitchOpcode*/ 3|128,1/*131*/, TARGET_VAL(ISD::TargetExternalSymbol),// ->49746
   25822             : /* 49615*/          OPC_MoveParent,
   25823             : /* 49616*/          OPC_MoveParent,
   25824             : /* 49617*/          OPC_RecordChild2, // #2 = $exp
   25825             : /* 49618*/          OPC_RecordChild3, // #3 = $new
   25826             : /* 49619*/          OPC_SwitchType /*2 cases */, 92, MVT::i32,// ->49714
   25827             : /* 49622*/            OPC_Scope, 29, /*->49653*/ // 3 children in Scope
   25828             : /* 49624*/              OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
   25829             : /* 49626*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25830             : /* 49628*/              OPC_EmitMergeInputChains1_0,
   25831             : /* 49629*/              OPC_EmitInteger, MVT::i32, 0, 
   25832             : /* 49632*/              OPC_EmitInteger, MVT::i32, 0, 
   25833             : /* 49635*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25834             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25835             : /* 49642*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25836             :                             MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   25837             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 10
   25838             :                         // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25839             : /* 49653*/            /*Scope*/ 29, /*->49683*/
   25840             : /* 49654*/              OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   25841             : /* 49656*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25842             : /* 49658*/              OPC_EmitMergeInputChains1_0,
   25843             : /* 49659*/              OPC_EmitInteger, MVT::i32, 0, 
   25844             : /* 49662*/              OPC_EmitInteger, MVT::i32, 0, 
   25845             : /* 49665*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25846             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25847             : /* 49672*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25848             :                             MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   25849             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 10
   25850             :                         // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25851             : /* 49683*/            /*Scope*/ 29, /*->49713*/
   25852             : /* 49684*/              OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   25853             : /* 49686*/              OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25854             : /* 49688*/              OPC_EmitMergeInputChains1_0,
   25855             : /* 49689*/              OPC_EmitInteger, MVT::i32, 0, 
   25856             : /* 49692*/              OPC_EmitInteger, MVT::i32, 0, 
   25857             : /* 49695*/              OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25858             :                             MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25859             : /* 49702*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25860             :                             MVT::i32, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   25861             :                         // Src: (atomic_cmp_swap:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 10
   25862             :                         // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25863             : /* 49713*/            0, /*End of Scope*/
   25864             : /* 49714*/          /*SwitchType*/ 29, MVT::i64,// ->49745
   25865             : /* 49716*/            OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
   25866             : /* 49718*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25867             : /* 49720*/            OPC_EmitMergeInputChains1_0,
   25868             : /* 49721*/            OPC_EmitInteger, MVT::i32, 0, 
   25869             : /* 49724*/            OPC_EmitInteger, MVT::i32, 0, 
   25870             : /* 49727*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25871             :                           MVT::i32, 1/*#Ops*/, 5,  // Results = #6
   25872             : /* 49734*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25873             :                           MVT::i64, 5/*#Ops*/, 4, 1, 6, 2, 3, 
   25874             :                       // Src: (atomic_cmp_swap:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$off), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 10
   25875             :                       // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (texternalsym:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   25876             : /* 49745*/          0, // EndSwitchType
   25877             : /* 49746*/        0, // EndSwitchOpcode
   25878             : /* 49747*/      0, // EndSwitchOpcode
   25879             : /* 49748*/    /*Scope*/ 123|128,1/*251*/, /*->50001*/
   25880             : /* 49750*/      OPC_RecordChild1, // #1 = $off
   25881             : /* 49751*/      OPC_Scope, 14|128,1/*142*/, /*->49896*/ // 2 children in Scope
   25882             : /* 49754*/        OPC_MoveChild1,
   25883             : /* 49755*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   25884             : /* 49758*/        OPC_MoveParent,
   25885             : /* 49759*/        OPC_RecordChild2, // #2 = $exp
   25886             : /* 49760*/        OPC_RecordChild3, // #3 = $new
   25887             : /* 49761*/        OPC_SwitchType /*2 cases */, 98, MVT::i32,// ->49862
   25888             : /* 49764*/          OPC_Scope, 31, /*->49797*/ // 3 children in Scope
   25889             : /* 49766*/            OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
   25890             : /* 49768*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25891             : /* 49770*/            OPC_EmitMergeInputChains1_0,
   25892             : /* 49771*/            OPC_EmitInteger, MVT::i32, 0, 
   25893             : /* 49774*/            OPC_EmitConvertToTarget, 1,
   25894             : /* 49776*/            OPC_EmitInteger, MVT::i32, 0, 
   25895             : /* 49779*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25896             :                           MVT::i32, 1/*#Ops*/, 6,  // Results = #7
   25897             : /* 49786*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25898             :                           MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3, 
   25899             :                       // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 7
   25900             :                       // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25901             : /* 49797*/          /*Scope*/ 31, /*->49829*/
   25902             : /* 49798*/            OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   25903             : /* 49800*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25904             : /* 49802*/            OPC_EmitMergeInputChains1_0,
   25905             : /* 49803*/            OPC_EmitInteger, MVT::i32, 0, 
   25906             : /* 49806*/            OPC_EmitConvertToTarget, 1,
   25907             : /* 49808*/            OPC_EmitInteger, MVT::i32, 0, 
   25908             : /* 49811*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25909             :                           MVT::i32, 1/*#Ops*/, 6,  // Results = #7
   25910             : /* 49818*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25911             :                           MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3, 
   25912             :                       // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 7
   25913             :                       // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25914             : /* 49829*/          /*Scope*/ 31, /*->49861*/
   25915             : /* 49830*/            OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   25916             : /* 49832*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25917             : /* 49834*/            OPC_EmitMergeInputChains1_0,
   25918             : /* 49835*/            OPC_EmitInteger, MVT::i32, 0, 
   25919             : /* 49838*/            OPC_EmitConvertToTarget, 1,
   25920             : /* 49840*/            OPC_EmitInteger, MVT::i32, 0, 
   25921             : /* 49843*/            OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25922             :                           MVT::i32, 1/*#Ops*/, 6,  // Results = #7
   25923             : /* 49850*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25924             :                           MVT::i32, 5/*#Ops*/, 4, 5, 7, 2, 3, 
   25925             :                       // Src: (atomic_cmp_swap:{ *:[i32] } (imm:{ *:[iPTR] }):$off, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 7
   25926             :                       // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25927             : /* 49861*/          0, /*End of Scope*/
   25928             : /* 49862*/        /*SwitchType*/ 31, MVT::i64,// ->49895
   25929             : /* 49864*/          OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
   25930             : /* 49866*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25931             : /* 49868*/          OPC_EmitMergeInputChains1_0,
   25932             : /* 49869*/          OPC_EmitInteger, MVT::i32, 0, 
   25933             : /* 49872*/          OPC_EmitConvertToTarget, 1,
   25934             : /* 49874*/          OPC_EmitInteger, MVT::i32, 0, 
   25935             : /* 49877*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   25936             :                         MVT::i32, 1/*#Ops*/, 6,  // Results = #7
   25937             : /* 49884*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25938             :                         MVT::i64, 5/*#Ops*/, 4, 5, 7, 2, 3, 
   25939             :                     // Src: (atomic_cmp_swap:{ *:[i64] } (imm:{ *:[iPTR] }):$off, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 7
   25940             :                     // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, (imm:{ *:[i32] }):$off, (CONST_I32:{ *:[i32] } 0:{ *:[i32] }), i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   25941             : /* 49895*/        0, // EndSwitchType
   25942             : /* 49896*/      /*Scope*/ 103, /*->50000*/
   25943             : /* 49897*/        OPC_CheckChild1Type, MVT::i32,
   25944             : /* 49899*/        OPC_RecordChild2, // #2 = $exp
   25945             : /* 49900*/        OPC_RecordChild3, // #3 = $new
   25946             : /* 49901*/        OPC_SwitchType /*2 cases */, 71, MVT::i32,// ->49975
   25947             : /* 49904*/          OPC_Scope, 22, /*->49928*/ // 3 children in Scope
   25948             : /* 49906*/            OPC_CheckPredicate, 7, // Predicate_atomic_cmp_swap_32
   25949             : /* 49908*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25950             : /* 49910*/            OPC_EmitMergeInputChains1_0,
   25951             : /* 49911*/            OPC_EmitInteger, MVT::i32, 0, 
   25952             : /* 49914*/            OPC_EmitInteger, MVT::i32, 0, 
   25953             : /* 49917*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25954             :                           MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3, 
   25955             :                       // Src: (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_32>> - Complexity = 4
   25956             :                       // Dst: (ATOMIC_RMW_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25957             : /* 49928*/          /*Scope*/ 22, /*->49951*/
   25958             : /* 49929*/            OPC_CheckPredicate, 1, // Predicate_atomic_cmp_swap_8
   25959             : /* 49931*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25960             : /* 49933*/            OPC_EmitMergeInputChains1_0,
   25961             : /* 49934*/            OPC_EmitInteger, MVT::i32, 0, 
   25962             : /* 49937*/            OPC_EmitInteger, MVT::i32, 0, 
   25963             : /* 49940*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW8_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25964             :                           MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3, 
   25965             :                       // Src: (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_8>> - Complexity = 4
   25966             :                       // Dst: (ATOMIC_RMW8_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25967             : /* 49951*/          /*Scope*/ 22, /*->49974*/
   25968             : /* 49952*/            OPC_CheckPredicate, 2, // Predicate_atomic_cmp_swap_16
   25969             : /* 49954*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25970             : /* 49956*/            OPC_EmitMergeInputChains1_0,
   25971             : /* 49957*/            OPC_EmitInteger, MVT::i32, 0, 
   25972             : /* 49960*/            OPC_EmitInteger, MVT::i32, 0, 
   25973             : /* 49963*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW16_U_CMPXCHG_I32), 0|OPFL_Chain|OPFL_MemRefs,
   25974             :                           MVT::i32, 5/*#Ops*/, 4, 5, 1, 2, 3, 
   25975             :                       // Src: (atomic_cmp_swap:{ *:[i32] } I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)<<P:Predicate_atomic_cmp_swap_16>> - Complexity = 4
   25976             :                       // Dst: (ATOMIC_RMW16_U_CMPXCHG_I32:{ *:[i32] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i32:{ *:[i32] }:$exp, i32:{ *:[i32] }:$new)
   25977             : /* 49974*/          0, /*End of Scope*/
   25978             : /* 49975*/        /*SwitchType*/ 22, MVT::i64,// ->49999
   25979             : /* 49977*/          OPC_CheckPredicate, 8, // Predicate_atomic_cmp_swap_64
   25980             : /* 49979*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAtomics())
   25981             : /* 49981*/          OPC_EmitMergeInputChains1_0,
   25982             : /* 49982*/          OPC_EmitInteger, MVT::i32, 0, 
   25983             : /* 49985*/          OPC_EmitInteger, MVT::i32, 0, 
   25984             : /* 49988*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ATOMIC_RMW_CMPXCHG_I64), 0|OPFL_Chain|OPFL_MemRefs,
   25985             :                         MVT::i64, 5/*#Ops*/, 4, 5, 1, 2, 3, 
   25986             :                     // Src: (atomic_cmp_swap:{ *:[i64] } I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)<<P:Predicate_atomic_cmp_swap_64>> - Complexity = 4
   25987             :                     // Dst: (ATOMIC_RMW_CMPXCHG_I64:{ *:[i64] } 0:{ *:[i32] }, 0:{ *:[i32] }, I32:{ *:[i32] }:$addr, i64:{ *:[i64] }:$exp, i64:{ *:[i64] }:$new)
   25988             : /* 49999*/        0, // EndSwitchType
   25989             : /* 50000*/      0, /*End of Scope*/
   25990             : /* 50001*/    0, /*End of Scope*/
   25991             : /* 50002*/  /*SwitchOpcode*/ 76, TARGET_VAL(ISD::BRCOND),// ->50081
   25992             : /* 50005*/    OPC_RecordNode, // #0 = 'brcond' chained node
   25993             : /* 50006*/    OPC_Scope, 54, /*->50062*/ // 2 children in Scope
   25994             : /* 50008*/      OPC_MoveChild1,
   25995             : /* 50009*/      OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   25996             : /* 50012*/      OPC_RecordChild0, // #1 = $cond
   25997             : /* 50013*/      OPC_CheckChild0Type, MVT::i32,
   25998             : /* 50015*/      OPC_CheckChild1Integer, 0, 
   25999             : /* 50017*/      OPC_MoveChild2,
   26000             : /* 50018*/      OPC_Scope, 20, /*->50040*/ // 2 children in Scope
   26001             : /* 50020*/        OPC_CheckCondCode, ISD::SETNE,
   26002             : /* 50022*/        OPC_MoveParent,
   26003             : /* 50023*/        OPC_CheckType, MVT::i32,
   26004             : /* 50025*/        OPC_MoveParent,
   26005             : /* 50026*/        OPC_RecordChild2, // #2 = $dst
   26006             : /* 50027*/        OPC_MoveChild2,
   26007             : /* 50028*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   26008             : /* 50031*/        OPC_MoveParent,
   26009             : /* 50032*/        OPC_EmitMergeInputChains1_0,
   26010             : /* 50033*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_IF), 0|OPFL_Chain,
   26011             :                       2/*#Ops*/, 2, 1, 
   26012             :                   // Src: (brcond (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 11
   26013             :                   // Dst: (BR_IF bb_op:{ *:[Other] }:$dst, I32:{ *:[i32] }:$cond)
   26014             : /* 50040*/      /*Scope*/ 20, /*->50061*/
   26015             : /* 50041*/        OPC_CheckCondCode, ISD::SETEQ,
   26016             : /* 50043*/        OPC_MoveParent,
   26017             : /* 50044*/        OPC_CheckType, MVT::i32,
   26018             : /* 50046*/        OPC_MoveParent,
   26019             : /* 50047*/        OPC_RecordChild2, // #2 = $dst
   26020             : /* 50048*/        OPC_MoveChild2,
   26021             : /* 50049*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   26022             : /* 50052*/        OPC_MoveParent,
   26023             : /* 50053*/        OPC_EmitMergeInputChains1_0,
   26024             : /* 50054*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_UNLESS), 0|OPFL_Chain,
   26025             :                       2/*#Ops*/, 2, 1, 
   26026             :                   // Src: (brcond (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), (bb:{ *:[Other] }):$dst) - Complexity = 11
   26027             :                   // Dst: (BR_UNLESS bb_op:{ *:[Other] }:$dst, I32:{ *:[i32] }:$cond)
   26028             : /* 50061*/      0, /*End of Scope*/
   26029             : /* 50062*/    /*Scope*/ 17, /*->50080*/
   26030             : /* 50063*/      OPC_RecordChild1, // #1 = $cond
   26031             : /* 50064*/      OPC_CheckChild1Type, MVT::i32,
   26032             : /* 50066*/      OPC_RecordChild2, // #2 = $dst
   26033             : /* 50067*/      OPC_MoveChild2,
   26034             : /* 50068*/      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   26035             : /* 50071*/      OPC_MoveParent,
   26036             : /* 50072*/      OPC_EmitMergeInputChains1_0,
   26037             : /* 50073*/      OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_IF), 0|OPFL_Chain,
   26038             :                     2/*#Ops*/, 2, 1, 
   26039             :                 // Src: (brcond I32:{ *:[i32] }:$cond, (bb:{ *:[Other] }):$dst) - Complexity = 3
   26040             :                 // Dst: (BR_IF (bb:{ *:[Other] }):$dst, I32:{ *:[i32] }:$cond)
   26041             : /* 50080*/    0, /*End of Scope*/
   26042             : /* 50081*/  /*SwitchOpcode*/ 43, TARGET_VAL(ISD::INTRINSIC_VOID),// ->50127
   26043             : /* 50084*/    OPC_RecordNode, // #0 = 'intrinsic_void' chained node
   26044             : /* 50085*/    OPC_CheckChild1Integer, 68|128,42/*5444*/, 
   26045             : /* 50088*/    OPC_RecordChild2, // #1 = $tag
   26046             : /* 50089*/    OPC_MoveChild2,
   26047             : /* 50090*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   26048             : /* 50093*/    OPC_MoveParent,
   26049             : /* 50094*/    OPC_RecordChild3, // #2 = $val
   26050             : /* 50095*/    OPC_Scope, 14, /*->50111*/ // 2 children in Scope
   26051             : /* 50097*/      OPC_CheckChild3Type, MVT::i32,
   26052             : /* 50099*/      OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
   26053             : /* 50101*/      OPC_EmitMergeInputChains1_0,
   26054             : /* 50102*/      OPC_EmitConvertToTarget, 1,
   26055             : /* 50104*/      OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::THROW_I32), 0|OPFL_Chain,
   26056             :                     2/*#Ops*/, 3, 2, 
   26057             :                 // Src: (intrinsic_void 5444:{ *:[iPTR] }, (imm:{ *:[i32] }):$tag, I32:{ *:[i32] }:$val) - Complexity = 11
   26058             :                 // Dst: (THROW_I32 (imm:{ *:[i32] }):$tag, I32:{ *:[i32] }:$val)
   26059             : /* 50111*/    /*Scope*/ 14, /*->50126*/
   26060             : /* 50112*/      OPC_CheckChild3Type, MVT::i64,
   26061             : /* 50114*/      OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
   26062             : /* 50116*/      OPC_EmitMergeInputChains1_0,
   26063             : /* 50117*/      OPC_EmitConvertToTarget, 1,
   26064             : /* 50119*/      OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::THROW_I64), 0|OPFL_Chain,
   26065             :                     2/*#Ops*/, 3, 2, 
   26066             :                 // Src: (intrinsic_void 5444:{ *:[iPTR] }, (imm:{ *:[i32] }):$tag, I64:{ *:[i64] }:$val) - Complexity = 11
   26067             :                 // Dst: (THROW_I64 (imm:{ *:[i32] }):$tag, I64:{ *:[i64] }:$val)
   26068             : /* 50126*/    0, /*End of Scope*/
   26069             : /* 50127*/  /*SwitchOpcode*/ 67, TARGET_VAL(ISD::ROTL),// ->50197
   26070             : /* 50130*/    OPC_RecordChild0, // #0 = $lhs
   26071             : /* 50131*/    OPC_Scope, 35, /*->50168*/ // 2 children in Scope
   26072             : /* 50133*/      OPC_MoveChild1,
   26073             : /* 50134*/      OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->50151
   26074             : /* 50137*/        OPC_CheckAndImm, 31, 
   26075             : /* 50139*/        OPC_RecordChild0, // #1 = $rhs
   26076             : /* 50140*/        OPC_MoveParent,
   26077             : /* 50141*/        OPC_CheckType, MVT::i32,
   26078             : /* 50143*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I32), 0,
   26079             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   26080             :                   // Src: (rotl:{ *:[i32] } I32:{ *:[i32] }:$lhs, (and:{ *:[i32] } I32:{ *:[i32] }:$rhs, 31:{ *:[i32] })) - Complexity = 11
   26081             :                   // Dst: (ROTL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26082             : /* 50151*/      /*SwitchType*/ 14, MVT::i64,// ->50167
   26083             : /* 50153*/        OPC_CheckAndImm, 63, 
   26084             : /* 50155*/        OPC_RecordChild0, // #1 = $rhs
   26085             : /* 50156*/        OPC_MoveParent,
   26086             : /* 50157*/        OPC_CheckType, MVT::i64,
   26087             : /* 50159*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I64), 0,
   26088             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
   26089             :                   // Src: (rotl:{ *:[i64] } I64:{ *:[i64] }:$lhs, (and:{ *:[i64] } I64:{ *:[i64] }:$rhs, 63:{ *:[i64] })) - Complexity = 11
   26090             :                   // Dst: (ROTL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   26091             : /* 50167*/      0, // EndSwitchType
   26092             : /* 50168*/    /*Scope*/ 27, /*->50196*/
   26093             : /* 50169*/      OPC_RecordChild1, // #1 = $rhs
   26094             : /* 50170*/      OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->50183
   26095             : /* 50173*/        OPC_CheckChild1Type, MVT::i32,
   26096             : /* 50175*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I32), 0,
   26097             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   26098             :                   // Src: (rotl:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   26099             :                   // Dst: (ROTL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26100             : /* 50183*/      /*SwitchType*/ 10, MVT::i64,// ->50195
   26101             : /* 50185*/        OPC_CheckChild1Type, MVT::i64,
   26102             : /* 50187*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTL_I64), 0,
   26103             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
   26104             :                   // Src: (rotl:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   26105             :                   // Dst: (ROTL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   26106             : /* 50195*/      0, // EndSwitchType
   26107             : /* 50196*/    0, /*End of Scope*/
   26108             : /* 50197*/  /*SwitchOpcode*/ 67, TARGET_VAL(ISD::ROTR),// ->50267
   26109             : /* 50200*/    OPC_RecordChild0, // #0 = $lhs
   26110             : /* 50201*/    OPC_Scope, 35, /*->50238*/ // 2 children in Scope
   26111             : /* 50203*/      OPC_MoveChild1,
   26112             : /* 50204*/      OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->50221
   26113             : /* 50207*/        OPC_CheckAndImm, 31, 
   26114             : /* 50209*/        OPC_RecordChild0, // #1 = $rhs
   26115             : /* 50210*/        OPC_MoveParent,
   26116             : /* 50211*/        OPC_CheckType, MVT::i32,
   26117             : /* 50213*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I32), 0,
   26118             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   26119             :                   // Src: (rotr:{ *:[i32] } I32:{ *:[i32] }:$lhs, (and:{ *:[i32] } I32:{ *:[i32] }:$rhs, 31:{ *:[i32] })) - Complexity = 11
   26120             :                   // Dst: (ROTR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26121             : /* 50221*/      /*SwitchType*/ 14, MVT::i64,// ->50237
   26122             : /* 50223*/        OPC_CheckAndImm, 63, 
   26123             : /* 50225*/        OPC_RecordChild0, // #1 = $rhs
   26124             : /* 50226*/        OPC_MoveParent,
   26125             : /* 50227*/        OPC_CheckType, MVT::i64,
   26126             : /* 50229*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I64), 0,
   26127             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
   26128             :                   // Src: (rotr:{ *:[i64] } I64:{ *:[i64] }:$lhs, (and:{ *:[i64] } I64:{ *:[i64] }:$rhs, 63:{ *:[i64] })) - Complexity = 11
   26129             :                   // Dst: (ROTR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   26130             : /* 50237*/      0, // EndSwitchType
   26131             : /* 50238*/    /*Scope*/ 27, /*->50266*/
   26132             : /* 50239*/      OPC_RecordChild1, // #1 = $rhs
   26133             : /* 50240*/      OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->50253
   26134             : /* 50243*/        OPC_CheckChild1Type, MVT::i32,
   26135             : /* 50245*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I32), 0,
   26136             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   26137             :                   // Src: (rotr:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   26138             :                   // Dst: (ROTR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26139             : /* 50253*/      /*SwitchType*/ 10, MVT::i64,// ->50265
   26140             : /* 50255*/        OPC_CheckChild1Type, MVT::i64,
   26141             : /* 50257*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ROTR_I64), 0,
   26142             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
   26143             :                   // Src: (rotr:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   26144             :                   // Dst: (ROTR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   26145             : /* 50265*/      0, // EndSwitchType
   26146             : /* 50266*/    0, /*End of Scope*/
   26147             : /* 50267*/  /*SwitchOpcode*/ 15|128,2/*271*/, TARGET_VAL(ISD::SELECT),// ->50542
   26148             : /* 50271*/    OPC_Scope, 118, /*->50391*/ // 4 children in Scope
   26149             : /* 50273*/      OPC_MoveChild0,
   26150             : /* 50274*/      OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   26151             : /* 50277*/      OPC_RecordChild0, // #0 = $cond
   26152             : /* 50278*/      OPC_CheckChild0Type, MVT::i32,
   26153             : /* 50280*/      OPC_CheckChild1Integer, 0, 
   26154             : /* 50282*/      OPC_MoveChild2,
   26155             : /* 50283*/      OPC_Scope, 32, /*->50317*/ // 4 children in Scope
   26156             : /* 50285*/        OPC_CheckCondCode, ISD::SETNE,
   26157             : /* 50287*/        OPC_MoveParent,
   26158             : /* 50288*/        OPC_CheckType, MVT::i32,
   26159             : /* 50290*/        OPC_MoveParent,
   26160             : /* 50291*/        OPC_RecordChild1, // #1 = $lhs
   26161             : /* 50292*/        OPC_RecordChild2, // #2 = $rhs
   26162             : /* 50293*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->50305
   26163             : /* 50296*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I32), 0,
   26164             :                         MVT::i32, 3/*#Ops*/, 1, 2, 0, 
   26165             :                     // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 11
   26166             :                     // Dst: (SELECT_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, I32:{ *:[i32] }:$cond)
   26167             : /* 50305*/        /*SwitchType*/ 9, MVT::i64,// ->50316
   26168             : /* 50307*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I64), 0,
   26169             :                         MVT::i64, 3/*#Ops*/, 1, 2, 0, 
   26170             :                     // Src: (select:{ *:[i64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 11
   26171             :                     // Dst: (SELECT_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, I32:{ *:[i32] }:$cond)
   26172             : /* 50316*/        0, // EndSwitchType
   26173             : /* 50317*/      /*Scope*/ 32, /*->50350*/
   26174             : /* 50318*/        OPC_CheckCondCode, ISD::SETEQ,
   26175             : /* 50320*/        OPC_MoveParent,
   26176             : /* 50321*/        OPC_CheckType, MVT::i32,
   26177             : /* 50323*/        OPC_MoveParent,
   26178             : /* 50324*/        OPC_RecordChild1, // #1 = $lhs
   26179             : /* 50325*/        OPC_RecordChild2, // #2 = $rhs
   26180             : /* 50326*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->50338
   26181             : /* 50329*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I32), 0,
   26182             :                         MVT::i32, 3/*#Ops*/, 2, 1, 0, 
   26183             :                     // Src: (select:{ *:[i32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 11
   26184             :                     // Dst: (SELECT_I32:{ *:[i32] } I32:{ *:[i32] }:$rhs, I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$cond)
   26185             : /* 50338*/        /*SwitchType*/ 9, MVT::i64,// ->50349
   26186             : /* 50340*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I64), 0,
   26187             :                         MVT::i64, 3/*#Ops*/, 2, 1, 0, 
   26188             :                     // Src: (select:{ *:[i64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 11
   26189             :                     // Dst: (SELECT_I64:{ *:[i64] } I64:{ *:[i64] }:$rhs, I64:{ *:[i64] }:$lhs, I32:{ *:[i32] }:$cond)
   26190             : /* 50349*/        0, // EndSwitchType
   26191             : /* 50350*/      /*Scope*/ 19, /*->50370*/
   26192             : /* 50351*/        OPC_CheckCondCode, ISD::SETNE,
   26193             : /* 50353*/        OPC_MoveParent,
   26194             : /* 50354*/        OPC_CheckType, MVT::i32,
   26195             : /* 50356*/        OPC_MoveParent,
   26196             : /* 50357*/        OPC_RecordChild1, // #1 = $lhs
   26197             : /* 50358*/        OPC_RecordChild2, // #2 = $rhs
   26198             : /* 50359*/        OPC_CheckType, MVT::ExceptRef,
   26199             : /* 50361*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_EXCEPT_REF), 0,
   26200             :                       MVT::ExceptRef, 3/*#Ops*/, 1, 2, 0, 
   26201             :                   // Src: (select:{ *:[ExceptRef] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), EXCEPT_REF:{ *:[ExceptRef] }:$lhs, EXCEPT_REF:{ *:[ExceptRef] }:$rhs) - Complexity = 11
   26202             :                   // Dst: (SELECT_EXCEPT_REF:{ *:[ExceptRef] } EXCEPT_REF:{ *:[ExceptRef] }:$lhs, EXCEPT_REF:{ *:[ExceptRef] }:$rhs, I32:{ *:[i32] }:$cond)
   26203             : /* 50370*/      /*Scope*/ 19, /*->50390*/
   26204             : /* 50371*/        OPC_CheckCondCode, ISD::SETEQ,
   26205             : /* 50373*/        OPC_MoveParent,
   26206             : /* 50374*/        OPC_CheckType, MVT::i32,
   26207             : /* 50376*/        OPC_MoveParent,
   26208             : /* 50377*/        OPC_RecordChild1, // #1 = $lhs
   26209             : /* 50378*/        OPC_RecordChild2, // #2 = $rhs
   26210             : /* 50379*/        OPC_CheckType, MVT::ExceptRef,
   26211             : /* 50381*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_EXCEPT_REF), 0,
   26212             :                       MVT::ExceptRef, 3/*#Ops*/, 2, 1, 0, 
   26213             :                   // Src: (select:{ *:[ExceptRef] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), EXCEPT_REF:{ *:[ExceptRef] }:$lhs, EXCEPT_REF:{ *:[ExceptRef] }:$rhs) - Complexity = 11
   26214             :                   // Dst: (SELECT_EXCEPT_REF:{ *:[ExceptRef] } EXCEPT_REF:{ *:[ExceptRef] }:$rhs, EXCEPT_REF:{ *:[ExceptRef] }:$lhs, I32:{ *:[i32] }:$cond)
   26215             : /* 50390*/      0, /*End of Scope*/
   26216             : /* 50391*/    /*Scope*/ 40, /*->50432*/
   26217             : /* 50392*/      OPC_RecordChild0, // #0 = $cond
   26218             : /* 50393*/      OPC_CheckChild0Type, MVT::i32,
   26219             : /* 50395*/      OPC_RecordChild1, // #1 = $lhs
   26220             : /* 50396*/      OPC_RecordChild2, // #2 = $rhs
   26221             : /* 50397*/      OPC_SwitchType /*3 cases */, 9, MVT::i32,// ->50409
   26222             : /* 50400*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I32), 0,
   26223             :                       MVT::i32, 3/*#Ops*/, 1, 2, 0, 
   26224             :                   // Src: (select:{ *:[i32] } I32:{ *:[i32] }:$cond, I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   26225             :                   // Dst: (SELECT_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, I32:{ *:[i32] }:$cond)
   26226             : /* 50409*/      /*SwitchType*/ 9, MVT::i64,// ->50420
   26227             : /* 50411*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_I64), 0,
   26228             :                       MVT::i64, 3/*#Ops*/, 1, 2, 0, 
   26229             :                   // Src: (select:{ *:[i64] } I32:{ *:[i32] }:$cond, I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   26230             :                   // Dst: (SELECT_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, I32:{ *:[i32] }:$cond)
   26231             : /* 50420*/      /*SwitchType*/ 9, MVT::ExceptRef,// ->50431
   26232             : /* 50422*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_EXCEPT_REF), 0,
   26233             :                       MVT::ExceptRef, 3/*#Ops*/, 1, 2, 0, 
   26234             :                   // Src: (select:{ *:[ExceptRef] } I32:{ *:[i32] }:$cond, EXCEPT_REF:{ *:[ExceptRef] }:$lhs, EXCEPT_REF:{ *:[ExceptRef] }:$rhs) - Complexity = 3
   26235             :                   // Dst: (SELECT_EXCEPT_REF:{ *:[ExceptRef] } EXCEPT_REF:{ *:[ExceptRef] }:$lhs, EXCEPT_REF:{ *:[ExceptRef] }:$rhs, I32:{ *:[i32] }:$cond)
   26236             : /* 50431*/      0, // EndSwitchType
   26237             : /* 50432*/    /*Scope*/ 78, /*->50511*/
   26238             : /* 50433*/      OPC_MoveChild0,
   26239             : /* 50434*/      OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   26240             : /* 50437*/      OPC_RecordChild0, // #0 = $cond
   26241             : /* 50438*/      OPC_CheckChild0Type, MVT::i32,
   26242             : /* 50440*/      OPC_CheckChild1Integer, 0, 
   26243             : /* 50442*/      OPC_MoveChild2,
   26244             : /* 50443*/      OPC_Scope, 32, /*->50477*/ // 2 children in Scope
   26245             : /* 50445*/        OPC_CheckCondCode, ISD::SETNE,
   26246             : /* 50447*/        OPC_MoveParent,
   26247             : /* 50448*/        OPC_CheckType, MVT::i32,
   26248             : /* 50450*/        OPC_MoveParent,
   26249             : /* 50451*/        OPC_RecordChild1, // #1 = $lhs
   26250             : /* 50452*/        OPC_RecordChild2, // #2 = $rhs
   26251             : /* 50453*/        OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->50465
   26252             : /* 50456*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F32), 0,
   26253             :                         MVT::f32, 3/*#Ops*/, 1, 2, 0, 
   26254             :                     // Src: (select:{ *:[f32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 11
   26255             :                     // Dst: (SELECT_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, I32:{ *:[i32] }:$cond)
   26256             : /* 50465*/        /*SwitchType*/ 9, MVT::f64,// ->50476
   26257             : /* 50467*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F64), 0,
   26258             :                         MVT::f64, 3/*#Ops*/, 1, 2, 0, 
   26259             :                     // Src: (select:{ *:[f64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETNE:{ *:[Other] }), F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 11
   26260             :                     // Dst: (SELECT_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, I32:{ *:[i32] }:$cond)
   26261             : /* 50476*/        0, // EndSwitchType
   26262             : /* 50477*/      /*Scope*/ 32, /*->50510*/
   26263             : /* 50478*/        OPC_CheckCondCode, ISD::SETEQ,
   26264             : /* 50480*/        OPC_MoveParent,
   26265             : /* 50481*/        OPC_CheckType, MVT::i32,
   26266             : /* 50483*/        OPC_MoveParent,
   26267             : /* 50484*/        OPC_RecordChild1, // #1 = $lhs
   26268             : /* 50485*/        OPC_RecordChild2, // #2 = $rhs
   26269             : /* 50486*/        OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->50498
   26270             : /* 50489*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F32), 0,
   26271             :                         MVT::f32, 3/*#Ops*/, 2, 1, 0, 
   26272             :                     // Src: (select:{ *:[f32] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 11
   26273             :                     // Dst: (SELECT_F32:{ *:[f32] } F32:{ *:[f32] }:$rhs, F32:{ *:[f32] }:$lhs, I32:{ *:[i32] }:$cond)
   26274             : /* 50498*/        /*SwitchType*/ 9, MVT::f64,// ->50509
   26275             : /* 50500*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F64), 0,
   26276             :                         MVT::f64, 3/*#Ops*/, 2, 1, 0, 
   26277             :                     // Src: (select:{ *:[f64] } (setcc:{ *:[i32] } I32:{ *:[i32] }:$cond, 0:{ *:[i32] }, SETEQ:{ *:[Other] }), F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 11
   26278             :                     // Dst: (SELECT_F64:{ *:[f64] } F64:{ *:[f64] }:$rhs, F64:{ *:[f64] }:$lhs, I32:{ *:[i32] }:$cond)
   26279             : /* 50509*/        0, // EndSwitchType
   26280             : /* 50510*/      0, /*End of Scope*/
   26281             : /* 50511*/    /*Scope*/ 29, /*->50541*/
   26282             : /* 50512*/      OPC_RecordChild0, // #0 = $cond
   26283             : /* 50513*/      OPC_CheckChild0Type, MVT::i32,
   26284             : /* 50515*/      OPC_RecordChild1, // #1 = $lhs
   26285             : /* 50516*/      OPC_RecordChild2, // #2 = $rhs
   26286             : /* 50517*/      OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->50529
   26287             : /* 50520*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F32), 0,
   26288             :                       MVT::f32, 3/*#Ops*/, 1, 2, 0, 
   26289             :                   // Src: (select:{ *:[f32] } I32:{ *:[i32] }:$cond, F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
   26290             :                   // Dst: (SELECT_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, I32:{ *:[i32] }:$cond)
   26291             : /* 50529*/      /*SwitchType*/ 9, MVT::f64,// ->50540
   26292             : /* 50531*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SELECT_F64), 0,
   26293             :                       MVT::f64, 3/*#Ops*/, 1, 2, 0, 
   26294             :                   // Src: (select:{ *:[f64] } I32:{ *:[i32] }:$cond, F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
   26295             :                   // Dst: (SELECT_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, I32:{ *:[i32] }:$cond)
   26296             : /* 50540*/      0, // EndSwitchType
   26297             : /* 50541*/    0, /*End of Scope*/
   26298             : /* 50542*/  /*SwitchOpcode*/ 20|128,1/*148*/, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->50694
   26299             : /* 50546*/    OPC_Scope, 71, /*->50619*/ // 2 children in Scope
   26300             : /* 50548*/      OPC_MoveChild0,
   26301             : /* 50549*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   26302             : /* 50552*/      OPC_RecordChild0, // #0 = $vec
   26303             : /* 50553*/      OPC_Scope, 31, /*->50586*/ // 2 children in Scope
   26304             : /* 50555*/        OPC_CheckChild0Type, MVT::v16i8,
   26305             : /* 50557*/        OPC_RecordChild1, // #1 = $idx
   26306             : /* 50558*/        OPC_MoveChild1,
   26307             : /* 50559*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   26308             : /* 50562*/        OPC_CheckPredicate, 5, // Predicate_LaneIdx16
   26309             : /* 50564*/        OPC_CheckType, MVT::i32,
   26310             : /* 50566*/        OPC_MoveParent,
   26311             : /* 50567*/        OPC_MoveParent,
   26312             : /* 50568*/        OPC_MoveChild1,
   26313             : /* 50569*/        OPC_CheckValueType, MVT::i8,
   26314             : /* 50571*/        OPC_MoveParent,
   26315             : /* 50572*/        OPC_CheckType, MVT::i32,
   26316             : /* 50574*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26317             : /* 50576*/        OPC_EmitConvertToTarget, 1,
   26318             : /* 50578*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v16i8_s), 0,
   26319             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
   26320             :                   // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx), i8:{ *:[Other] }) - Complexity = 10
   26321             :                   // Dst: (EXTRACT_LANE_v16i8_s:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] }):$idx)
   26322             : /* 50586*/      /*Scope*/ 31, /*->50618*/
   26323             : /* 50587*/        OPC_CheckChild0Type, MVT::v8i16,
   26324             : /* 50589*/        OPC_RecordChild1, // #1 = $idx
   26325             : /* 50590*/        OPC_MoveChild1,
   26326             : /* 50591*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   26327             : /* 50594*/        OPC_CheckPredicate, 6, // Predicate_LaneIdx8
   26328             : /* 50596*/        OPC_CheckType, MVT::i32,
   26329             : /* 50598*/        OPC_MoveParent,
   26330             : /* 50599*/        OPC_MoveParent,
   26331             : /* 50600*/        OPC_MoveChild1,
   26332             : /* 50601*/        OPC_CheckValueType, MVT::i16,
   26333             : /* 50603*/        OPC_MoveParent,
   26334             : /* 50604*/        OPC_CheckType, MVT::i32,
   26335             : /* 50606*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26336             : /* 50608*/        OPC_EmitConvertToTarget, 1,
   26337             : /* 50610*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v8i16_s), 0,
   26338             :                       MVT::i32, 2/*#Ops*/, 0, 2, 
   26339             :                   // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx), i16:{ *:[Other] }) - Complexity = 10
   26340             :                   // Dst: (EXTRACT_LANE_v8i16_s:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] }):$idx)
   26341             : /* 50618*/      0, /*End of Scope*/
   26342             : /* 50619*/    /*Scope*/ 73, /*->50693*/
   26343             : /* 50620*/      OPC_RecordChild0, // #0 = $src
   26344             : /* 50621*/      OPC_MoveChild1,
   26345             : /* 50622*/      OPC_Scope, 27, /*->50651*/ // 3 children in Scope
   26346             : /* 50624*/        OPC_CheckValueType, MVT::i8,
   26347             : /* 50626*/        OPC_MoveParent,
   26348             : /* 50627*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->50639
   26349             : /* 50630*/          OPC_CheckPatternPredicate, 4, // (Subtarget->hasSignExt())
   26350             : /* 50632*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_EXTEND8_S_I32), 0,
   26351             :                         MVT::i32, 1/*#Ops*/, 0, 
   26352             :                     // Src: (sext_inreg:{ *:[i32] } I32:{ *:[i32] }:$src, i8:{ *:[Other] }) - Complexity = 3
   26353             :                     // Dst: (I32_EXTEND8_S_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
   26354             : /* 50639*/        /*SwitchType*/ 9, MVT::i64,// ->50650
   26355             : /* 50641*/          OPC_CheckPatternPredicate, 4, // (Subtarget->hasSignExt())
   26356             : /* 50643*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND8_S_I64), 0,
   26357             :                         MVT::i64, 1/*#Ops*/, 0, 
   26358             :                     // Src: (sext_inreg:{ *:[i64] } I64:{ *:[i64] }:$src, i8:{ *:[Other] }) - Complexity = 3
   26359             :                     // Dst: (I64_EXTEND8_S_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
   26360             : /* 50650*/        0, // EndSwitchType
   26361             : /* 50651*/      /*Scope*/ 27, /*->50679*/
   26362             : /* 50652*/        OPC_CheckValueType, MVT::i16,
   26363             : /* 50654*/        OPC_MoveParent,
   26364             : /* 50655*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->50667
   26365             : /* 50658*/          OPC_CheckPatternPredicate, 4, // (Subtarget->hasSignExt())
   26366             : /* 50660*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_EXTEND16_S_I32), 0,
   26367             :                         MVT::i32, 1/*#Ops*/, 0, 
   26368             :                     // Src: (sext_inreg:{ *:[i32] } I32:{ *:[i32] }:$src, i16:{ *:[Other] }) - Complexity = 3
   26369             :                     // Dst: (I32_EXTEND16_S_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
   26370             : /* 50667*/        /*SwitchType*/ 9, MVT::i64,// ->50678
   26371             : /* 50669*/          OPC_CheckPatternPredicate, 4, // (Subtarget->hasSignExt())
   26372             : /* 50671*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND16_S_I64), 0,
   26373             :                         MVT::i64, 1/*#Ops*/, 0, 
   26374             :                     // Src: (sext_inreg:{ *:[i64] } I64:{ *:[i64] }:$src, i16:{ *:[Other] }) - Complexity = 3
   26375             :                     // Dst: (I64_EXTEND16_S_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
   26376             : /* 50678*/        0, // EndSwitchType
   26377             : /* 50679*/      /*Scope*/ 12, /*->50692*/
   26378             : /* 50680*/        OPC_CheckValueType, MVT::i32,
   26379             : /* 50682*/        OPC_MoveParent,
   26380             : /* 50683*/        OPC_CheckPatternPredicate, 4, // (Subtarget->hasSignExt())
   26381             : /* 50685*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND32_S_I64), 0,
   26382             :                       MVT::i64, 1/*#Ops*/, 0, 
   26383             :                   // Src: (sext_inreg:{ *:[i64] } I64:{ *:[i64] }:$src, i32:{ *:[Other] }) - Complexity = 3
   26384             :                   // Dst: (I64_EXTEND32_S_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
   26385             : /* 50692*/      0, /*End of Scope*/
   26386             : /* 50693*/    0, /*End of Scope*/
   26387             : /* 50694*/  /*SwitchOpcode*/ 22, TARGET_VAL(ISD::CALLSEQ_START),// ->50719
   26388             : /* 50697*/    OPC_RecordNode, // #0 = 'WebAssemblycallseq_start' chained node
   26389             : /* 50698*/    OPC_RecordChild1, // #1 = $amt
   26390             : /* 50699*/    OPC_MoveChild1,
   26391             : /* 50700*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   26392             : /* 50703*/    OPC_MoveParent,
   26393             : /* 50704*/    OPC_RecordChild2, // #2 = $amt2
   26394             : /* 50705*/    OPC_MoveChild2,
   26395             : /* 50706*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   26396             : /* 50709*/    OPC_MoveParent,
   26397             : /* 50710*/    OPC_EmitMergeInputChains1_0,
   26398             : /* 50711*/    OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
   26399             :                   MVT::i32, 2/*#Ops*/, 1, 2, 
   26400             :               // Src: (WebAssemblycallseq_start (timm:{ *:[iPTR] }):$amt, (timm:{ *:[iPTR] }):$amt2) - Complexity = 9
   26401             :               // Dst: (ADJCALLSTACKDOWN:{ *:[i32] } (timm:{ *:[i32] }):$amt, (timm:{ *:[i32] }):$amt2)
   26402             : /* 50719*/  /*SwitchOpcode*/ 23, TARGET_VAL(ISD::CALLSEQ_END),// ->50745
   26403             : /* 50722*/    OPC_RecordNode, // #0 = 'WebAssemblycallseq_end' chained node
   26404             : /* 50723*/    OPC_CaptureGlueInput,
   26405             : /* 50724*/    OPC_RecordChild1, // #1 = $amt
   26406             : /* 50725*/    OPC_MoveChild1,
   26407             : /* 50726*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   26408             : /* 50729*/    OPC_MoveParent,
   26409             : /* 50730*/    OPC_RecordChild2, // #2 = $amt2
   26410             : /* 50731*/    OPC_MoveChild2,
   26411             : /* 50732*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   26412             : /* 50735*/    OPC_MoveParent,
   26413             : /* 50736*/    OPC_EmitMergeInputChains1_0,
   26414             : /* 50737*/    OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
   26415             :                   MVT::i32, 2/*#Ops*/, 1, 2, 
   26416             :               // Src: (WebAssemblycallseq_end (timm:{ *:[iPTR] }):$amt, (timm:{ *:[iPTR] }):$amt2) - Complexity = 9
   26417             :               // Dst: (ADJCALLSTACKUP:{ *:[i32] } (timm:{ *:[i32] }):$amt, (timm:{ *:[i32] }):$amt2)
   26418             : /* 50745*/  /*SwitchOpcode*/ 41|128,5/*681*/, TARGET_VAL(WebAssemblyISD::CALL1),// ->51430
   26419             : /* 50749*/    OPC_RecordNode, // #0 = 'WebAssemblycall1' chained node
   26420             : /* 50750*/    OPC_Scope, 82, /*->50834*/ // 8 children in Scope
   26421             : /* 50752*/      OPC_MoveChild1,
   26422             : /* 50753*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   26423             : /* 50756*/      OPC_RecordChild0, // #1 = $callee
   26424             : /* 50757*/      OPC_MoveChild0,
   26425             : /* 50758*/      OPC_SwitchOpcode /*2 cases */, 34, TARGET_VAL(ISD::TargetGlobalAddress),// ->50796
   26426             : /* 50762*/        OPC_MoveParent,
   26427             : /* 50763*/        OPC_MoveParent,
   26428             : /* 50764*/        OPC_SwitchType /*3 cases */, 8, MVT::i32,// ->50775
   26429             : /* 50767*/          OPC_EmitMergeInputChains1_0,
   26430             : /* 50768*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I32), 0|OPFL_Chain|OPFL_Variadic1,
   26431             :                         MVT::i32, 1/*#Ops*/, 1, 
   26432             :                     // Src: (WebAssemblycall1:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26433             :                     // Dst: (CALL_I32:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$callee)
   26434             : /* 50775*/        /*SwitchType*/ 8, MVT::i64,// ->50785
   26435             : /* 50777*/          OPC_EmitMergeInputChains1_0,
   26436             : /* 50778*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I64), 0|OPFL_Chain|OPFL_Variadic1,
   26437             :                         MVT::i64, 1/*#Ops*/, 1, 
   26438             :                     // Src: (WebAssemblycall1:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26439             :                     // Dst: (CALL_I64:{ *:[i64] } (tglobaladdr:{ *:[i32] }):$callee)
   26440             : /* 50785*/        /*SwitchType*/ 8, MVT::ExceptRef,// ->50795
   26441             : /* 50787*/          OPC_EmitMergeInputChains1_0,
   26442             : /* 50788*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_EXCEPT_REF), 0|OPFL_Chain|OPFL_Variadic1,
   26443             :                         MVT::ExceptRef, 1/*#Ops*/, 1, 
   26444             :                     // Src: (WebAssemblycall1:{ *:[ExceptRef] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26445             :                     // Dst: (CALL_EXCEPT_REF:{ *:[ExceptRef] } (tglobaladdr:{ *:[i32] }):$callee)
   26446             : /* 50795*/        0, // EndSwitchType
   26447             : /* 50796*/      /*SwitchOpcode*/ 34, TARGET_VAL(ISD::TargetExternalSymbol),// ->50833
   26448             : /* 50799*/        OPC_MoveParent,
   26449             : /* 50800*/        OPC_MoveParent,
   26450             : /* 50801*/        OPC_SwitchType /*3 cases */, 8, MVT::i32,// ->50812
   26451             : /* 50804*/          OPC_EmitMergeInputChains1_0,
   26452             : /* 50805*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I32), 0|OPFL_Chain|OPFL_Variadic1,
   26453             :                         MVT::i32, 1/*#Ops*/, 1, 
   26454             :                     // Src: (WebAssemblycall1:{ *:[i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26455             :                     // Dst: (CALL_I32:{ *:[i32] } (texternalsym:{ *:[i32] }):$callee)
   26456             : /* 50812*/        /*SwitchType*/ 8, MVT::i64,// ->50822
   26457             : /* 50814*/          OPC_EmitMergeInputChains1_0,
   26458             : /* 50815*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I64), 0|OPFL_Chain|OPFL_Variadic1,
   26459             :                         MVT::i64, 1/*#Ops*/, 1, 
   26460             :                     // Src: (WebAssemblycall1:{ *:[i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26461             :                     // Dst: (CALL_I64:{ *:[i64] } (texternalsym:{ *:[i32] }):$callee)
   26462             : /* 50822*/        /*SwitchType*/ 8, MVT::ExceptRef,// ->50832
   26463             : /* 50824*/          OPC_EmitMergeInputChains1_0,
   26464             : /* 50825*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_EXCEPT_REF), 0|OPFL_Chain|OPFL_Variadic1,
   26465             :                         MVT::ExceptRef, 1/*#Ops*/, 1, 
   26466             :                     // Src: (WebAssemblycall1:{ *:[ExceptRef] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26467             :                     // Dst: (CALL_EXCEPT_REF:{ *:[ExceptRef] } (texternalsym:{ *:[i32] }):$callee)
   26468             : /* 50832*/        0, // EndSwitchType
   26469             : /* 50833*/      0, // EndSwitchOpcode
   26470             : /* 50834*/    /*Scope*/ 84, /*->50919*/
   26471             : /* 50835*/      OPC_RecordChild1, // #1 = $callee
   26472             : /* 50836*/      OPC_Scope, 45, /*->50883*/ // 2 children in Scope
   26473             : /* 50838*/        OPC_MoveChild1,
   26474             : /* 50839*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   26475             : /* 50842*/        OPC_CheckType, MVT::i32,
   26476             : /* 50844*/        OPC_MoveParent,
   26477             : /* 50845*/        OPC_SwitchType /*3 cases */, 10, MVT::i32,// ->50858
   26478             : /* 50848*/          OPC_EmitMergeInputChains1_0,
   26479             : /* 50849*/          OPC_EmitConvertToTarget, 1,
   26480             : /* 50851*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I32), 0|OPFL_Chain|OPFL_Variadic1,
   26481             :                         MVT::i32, 1/*#Ops*/, 2, 
   26482             :                     // Src: (WebAssemblycall1:{ *:[i32] } (imm:{ *:[i32] }):$callee) - Complexity = 6
   26483             :                     // Dst: (CALL_I32:{ *:[i32] } (imm:{ *:[i32] }):$callee)
   26484             : /* 50858*/        /*SwitchType*/ 10, MVT::i64,// ->50870
   26485             : /* 50860*/          OPC_EmitMergeInputChains1_0,
   26486             : /* 50861*/          OPC_EmitConvertToTarget, 1,
   26487             : /* 50863*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_I64), 0|OPFL_Chain|OPFL_Variadic1,
   26488             :                         MVT::i64, 1/*#Ops*/, 2, 
   26489             :                     // Src: (WebAssemblycall1:{ *:[i64] } (imm:{ *:[i32] }):$callee) - Complexity = 6
   26490             :                     // Dst: (CALL_I64:{ *:[i64] } (imm:{ *:[i32] }):$callee)
   26491             : /* 50870*/        /*SwitchType*/ 10, MVT::ExceptRef,// ->50882
   26492             : /* 50872*/          OPC_EmitMergeInputChains1_0,
   26493             : /* 50873*/          OPC_EmitConvertToTarget, 1,
   26494             : /* 50875*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_EXCEPT_REF), 0|OPFL_Chain|OPFL_Variadic1,
   26495             :                         MVT::ExceptRef, 1/*#Ops*/, 2, 
   26496             :                     // Src: (WebAssemblycall1:{ *:[ExceptRef] } (imm:{ *:[i32] }):$callee) - Complexity = 6
   26497             :                     // Dst: (CALL_EXCEPT_REF:{ *:[ExceptRef] } (imm:{ *:[i32] }):$callee)
   26498             : /* 50882*/        0, // EndSwitchType
   26499             : /* 50883*/      /*Scope*/ 34, /*->50918*/
   26500             : /* 50884*/        OPC_CheckChild1Type, MVT::i32,
   26501             : /* 50886*/        OPC_SwitchType /*3 cases */, 8, MVT::i32,// ->50897
   26502             : /* 50889*/          OPC_EmitMergeInputChains1_0,
   26503             : /* 50890*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_I32), 0|OPFL_Chain|OPFL_Variadic1,
   26504             :                         MVT::i32, 1/*#Ops*/, 1, 
   26505             :                     // Src: (WebAssemblycall1:{ *:[i32] } I32:{ *:[i32] }:$callee) - Complexity = 3
   26506             :                     // Dst: (PCALL_INDIRECT_I32:{ *:[i32] } I32:{ *:[i32] }:$callee)
   26507             : /* 50897*/        /*SwitchType*/ 8, MVT::i64,// ->50907
   26508             : /* 50899*/          OPC_EmitMergeInputChains1_0,
   26509             : /* 50900*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_I64), 0|OPFL_Chain|OPFL_Variadic1,
   26510             :                         MVT::i64, 1/*#Ops*/, 1, 
   26511             :                     // Src: (WebAssemblycall1:{ *:[i64] } I32:{ *:[i32] }:$callee) - Complexity = 3
   26512             :                     // Dst: (PCALL_INDIRECT_I64:{ *:[i64] } I32:{ *:[i32] }:$callee)
   26513             : /* 50907*/        /*SwitchType*/ 8, MVT::ExceptRef,// ->50917
   26514             : /* 50909*/          OPC_EmitMergeInputChains1_0,
   26515             : /* 50910*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_EXCEPT_REF), 0|OPFL_Chain|OPFL_Variadic1,
   26516             :                         MVT::ExceptRef, 1/*#Ops*/, 1, 
   26517             :                     // Src: (WebAssemblycall1:{ *:[ExceptRef] } I32:{ *:[i32] }:$callee) - Complexity = 3
   26518             :                     // Dst: (PCALL_INDIRECT_EXCEPT_REF:{ *:[ExceptRef] } I32:{ *:[i32] }:$callee)
   26519             : /* 50917*/        0, // EndSwitchType
   26520             : /* 50918*/      0, /*End of Scope*/
   26521             : /* 50919*/    /*Scope*/ 62, /*->50982*/
   26522             : /* 50920*/      OPC_MoveChild1,
   26523             : /* 50921*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   26524             : /* 50924*/      OPC_RecordChild0, // #1 = $callee
   26525             : /* 50925*/      OPC_MoveChild0,
   26526             : /* 50926*/      OPC_SwitchOpcode /*2 cases */, 24, TARGET_VAL(ISD::TargetGlobalAddress),// ->50954
   26527             : /* 50930*/        OPC_MoveParent,
   26528             : /* 50931*/        OPC_MoveParent,
   26529             : /* 50932*/        OPC_SwitchType /*2 cases */, 8, MVT::f32,// ->50943
   26530             : /* 50935*/          OPC_EmitMergeInputChains1_0,
   26531             : /* 50936*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F32), 0|OPFL_Chain|OPFL_Variadic1,
   26532             :                         MVT::f32, 1/*#Ops*/, 1, 
   26533             :                     // Src: (WebAssemblycall1:{ *:[f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26534             :                     // Dst: (CALL_F32:{ *:[f32] } (tglobaladdr:{ *:[i32] }):$callee)
   26535             : /* 50943*/        /*SwitchType*/ 8, MVT::f64,// ->50953
   26536             : /* 50945*/          OPC_EmitMergeInputChains1_0,
   26537             : /* 50946*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F64), 0|OPFL_Chain|OPFL_Variadic1,
   26538             :                         MVT::f64, 1/*#Ops*/, 1, 
   26539             :                     // Src: (WebAssemblycall1:{ *:[f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26540             :                     // Dst: (CALL_F64:{ *:[f64] } (tglobaladdr:{ *:[i32] }):$callee)
   26541             : /* 50953*/        0, // EndSwitchType
   26542             : /* 50954*/      /*SwitchOpcode*/ 24, TARGET_VAL(ISD::TargetExternalSymbol),// ->50981
   26543             : /* 50957*/        OPC_MoveParent,
   26544             : /* 50958*/        OPC_MoveParent,
   26545             : /* 50959*/        OPC_SwitchType /*2 cases */, 8, MVT::f32,// ->50970
   26546             : /* 50962*/          OPC_EmitMergeInputChains1_0,
   26547             : /* 50963*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F32), 0|OPFL_Chain|OPFL_Variadic1,
   26548             :                         MVT::f32, 1/*#Ops*/, 1, 
   26549             :                     // Src: (WebAssemblycall1:{ *:[f32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26550             :                     // Dst: (CALL_F32:{ *:[f32] } (texternalsym:{ *:[i32] }):$callee)
   26551             : /* 50970*/        /*SwitchType*/ 8, MVT::f64,// ->50980
   26552             : /* 50972*/          OPC_EmitMergeInputChains1_0,
   26553             : /* 50973*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F64), 0|OPFL_Chain|OPFL_Variadic1,
   26554             :                         MVT::f64, 1/*#Ops*/, 1, 
   26555             :                     // Src: (WebAssemblycall1:{ *:[f64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26556             :                     // Dst: (CALL_F64:{ *:[f64] } (texternalsym:{ *:[i32] }):$callee)
   26557             : /* 50980*/        0, // EndSwitchType
   26558             : /* 50981*/      0, // EndSwitchOpcode
   26559             : /* 50982*/    /*Scope*/ 62, /*->51045*/
   26560             : /* 50983*/      OPC_RecordChild1, // #1 = $callee
   26561             : /* 50984*/      OPC_Scope, 33, /*->51019*/ // 2 children in Scope
   26562             : /* 50986*/        OPC_MoveChild1,
   26563             : /* 50987*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   26564             : /* 50990*/        OPC_CheckType, MVT::i32,
   26565             : /* 50992*/        OPC_MoveParent,
   26566             : /* 50993*/        OPC_SwitchType /*2 cases */, 10, MVT::f32,// ->51006
   26567             : /* 50996*/          OPC_EmitMergeInputChains1_0,
   26568             : /* 50997*/          OPC_EmitConvertToTarget, 1,
   26569             : /* 50999*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F32), 0|OPFL_Chain|OPFL_Variadic1,
   26570             :                         MVT::f32, 1/*#Ops*/, 2, 
   26571             :                     // Src: (WebAssemblycall1:{ *:[f32] } (imm:{ *:[i32] }):$callee) - Complexity = 6
   26572             :                     // Dst: (CALL_F32:{ *:[f32] } (imm:{ *:[i32] }):$callee)
   26573             : /* 51006*/        /*SwitchType*/ 10, MVT::f64,// ->51018
   26574             : /* 51008*/          OPC_EmitMergeInputChains1_0,
   26575             : /* 51009*/          OPC_EmitConvertToTarget, 1,
   26576             : /* 51011*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_F64), 0|OPFL_Chain|OPFL_Variadic1,
   26577             :                         MVT::f64, 1/*#Ops*/, 2, 
   26578             :                     // Src: (WebAssemblycall1:{ *:[f64] } (imm:{ *:[i32] }):$callee) - Complexity = 6
   26579             :                     // Dst: (CALL_F64:{ *:[f64] } (imm:{ *:[i32] }):$callee)
   26580             : /* 51018*/        0, // EndSwitchType
   26581             : /* 51019*/      /*Scope*/ 24, /*->51044*/
   26582             : /* 51020*/        OPC_CheckChild1Type, MVT::i32,
   26583             : /* 51022*/        OPC_SwitchType /*2 cases */, 8, MVT::f32,// ->51033
   26584             : /* 51025*/          OPC_EmitMergeInputChains1_0,
   26585             : /* 51026*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_F32), 0|OPFL_Chain|OPFL_Variadic1,
   26586             :                         MVT::f32, 1/*#Ops*/, 1, 
   26587             :                     // Src: (WebAssemblycall1:{ *:[f32] } I32:{ *:[i32] }:$callee) - Complexity = 3
   26588             :                     // Dst: (PCALL_INDIRECT_F32:{ *:[f32] } I32:{ *:[i32] }:$callee)
   26589             : /* 51033*/        /*SwitchType*/ 8, MVT::f64,// ->51043
   26590             : /* 51035*/          OPC_EmitMergeInputChains1_0,
   26591             : /* 51036*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_F64), 0|OPFL_Chain|OPFL_Variadic1,
   26592             :                         MVT::f64, 1/*#Ops*/, 1, 
   26593             :                     // Src: (WebAssemblycall1:{ *:[f64] } I32:{ *:[i32] }:$callee) - Complexity = 3
   26594             :                     // Dst: (PCALL_INDIRECT_F64:{ *:[f64] } I32:{ *:[i32] }:$callee)
   26595             : /* 51043*/        0, // EndSwitchType
   26596             : /* 51044*/      0, /*End of Scope*/
   26597             : /* 51045*/    /*Scope*/ 118, /*->51164*/
   26598             : /* 51046*/      OPC_MoveChild1,
   26599             : /* 51047*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   26600             : /* 51050*/      OPC_RecordChild0, // #1 = $callee
   26601             : /* 51051*/      OPC_MoveChild0,
   26602             : /* 51052*/      OPC_SwitchOpcode /*2 cases */, 52, TARGET_VAL(ISD::TargetGlobalAddress),// ->51108
   26603             : /* 51056*/        OPC_MoveParent,
   26604             : /* 51057*/        OPC_MoveParent,
   26605             : /* 51058*/        OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->51071
   26606             : /* 51061*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26607             : /* 51063*/          OPC_EmitMergeInputChains1_0,
   26608             : /* 51064*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v16i8), 0|OPFL_Chain|OPFL_Variadic1,
   26609             :                         MVT::v16i8, 1/*#Ops*/, 1, 
   26610             :                     // Src: (WebAssemblycall1:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26611             :                     // Dst: (CALL_v16i8:{ *:[v16i8] } (tglobaladdr:{ *:[i32] }):$callee)
   26612             : /* 51071*/        /*SwitchType*/ 10, MVT::v8i16,// ->51083
   26613             : /* 51073*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26614             : /* 51075*/          OPC_EmitMergeInputChains1_0,
   26615             : /* 51076*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v8i16), 0|OPFL_Chain|OPFL_Variadic1,
   26616             :                         MVT::v8i16, 1/*#Ops*/, 1, 
   26617             :                     // Src: (WebAssemblycall1:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26618             :                     // Dst: (CALL_v8i16:{ *:[v8i16] } (tglobaladdr:{ *:[i32] }):$callee)
   26619             : /* 51083*/        /*SwitchType*/ 10, MVT::v4i32,// ->51095
   26620             : /* 51085*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26621             : /* 51087*/          OPC_EmitMergeInputChains1_0,
   26622             : /* 51088*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4i32), 0|OPFL_Chain|OPFL_Variadic1,
   26623             :                         MVT::v4i32, 1/*#Ops*/, 1, 
   26624             :                     // Src: (WebAssemblycall1:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26625             :                     // Dst: (CALL_v4i32:{ *:[v4i32] } (tglobaladdr:{ *:[i32] }):$callee)
   26626             : /* 51095*/        /*SwitchType*/ 10, MVT::v2i64,// ->51107
   26627             : /* 51097*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26628             : /* 51099*/          OPC_EmitMergeInputChains1_0,
   26629             : /* 51100*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2i64), 0|OPFL_Chain|OPFL_Variadic1,
   26630             :                         MVT::v2i64, 1/*#Ops*/, 1, 
   26631             :                     // Src: (WebAssemblycall1:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26632             :                     // Dst: (CALL_v2i64:{ *:[v2i64] } (tglobaladdr:{ *:[i32] }):$callee)
   26633             : /* 51107*/        0, // EndSwitchType
   26634             : /* 51108*/      /*SwitchOpcode*/ 52, TARGET_VAL(ISD::TargetExternalSymbol),// ->51163
   26635             : /* 51111*/        OPC_MoveParent,
   26636             : /* 51112*/        OPC_MoveParent,
   26637             : /* 51113*/        OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->51126
   26638             : /* 51116*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26639             : /* 51118*/          OPC_EmitMergeInputChains1_0,
   26640             : /* 51119*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v16i8), 0|OPFL_Chain|OPFL_Variadic1,
   26641             :                         MVT::v16i8, 1/*#Ops*/, 1, 
   26642             :                     // Src: (WebAssemblycall1:{ *:[v16i8] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26643             :                     // Dst: (CALL_v16i8:{ *:[v16i8] } (texternalsym:{ *:[i32] }):$callee)
   26644             : /* 51126*/        /*SwitchType*/ 10, MVT::v8i16,// ->51138
   26645             : /* 51128*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26646             : /* 51130*/          OPC_EmitMergeInputChains1_0,
   26647             : /* 51131*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v8i16), 0|OPFL_Chain|OPFL_Variadic1,
   26648             :                         MVT::v8i16, 1/*#Ops*/, 1, 
   26649             :                     // Src: (WebAssemblycall1:{ *:[v8i16] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26650             :                     // Dst: (CALL_v8i16:{ *:[v8i16] } (texternalsym:{ *:[i32] }):$callee)
   26651             : /* 51138*/        /*SwitchType*/ 10, MVT::v4i32,// ->51150
   26652             : /* 51140*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26653             : /* 51142*/          OPC_EmitMergeInputChains1_0,
   26654             : /* 51143*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4i32), 0|OPFL_Chain|OPFL_Variadic1,
   26655             :                         MVT::v4i32, 1/*#Ops*/, 1, 
   26656             :                     // Src: (WebAssemblycall1:{ *:[v4i32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26657             :                     // Dst: (CALL_v4i32:{ *:[v4i32] } (texternalsym:{ *:[i32] }):$callee)
   26658             : /* 51150*/        /*SwitchType*/ 10, MVT::v2i64,// ->51162
   26659             : /* 51152*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26660             : /* 51154*/          OPC_EmitMergeInputChains1_0,
   26661             : /* 51155*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2i64), 0|OPFL_Chain|OPFL_Variadic1,
   26662             :                         MVT::v2i64, 1/*#Ops*/, 1, 
   26663             :                     // Src: (WebAssemblycall1:{ *:[v2i64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26664             :                     // Dst: (CALL_v2i64:{ *:[v2i64] } (texternalsym:{ *:[i32] }):$callee)
   26665             : /* 51162*/        0, // EndSwitchType
   26666             : /* 51163*/      0, // EndSwitchOpcode
   26667             : /* 51164*/    /*Scope*/ 122, /*->51287*/
   26668             : /* 51165*/      OPC_RecordChild1, // #1 = $callee
   26669             : /* 51166*/      OPC_Scope, 65, /*->51233*/ // 2 children in Scope
   26670             : /* 51168*/        OPC_MoveChild1,
   26671             : /* 51169*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   26672             : /* 51172*/        OPC_CheckType, MVT::i32,
   26673             : /* 51174*/        OPC_MoveParent,
   26674             : /* 51175*/        OPC_SwitchType /*4 cases */, 12, MVT::v16i8,// ->51190
   26675             : /* 51178*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26676             : /* 51180*/          OPC_EmitMergeInputChains1_0,
   26677             : /* 51181*/          OPC_EmitConvertToTarget, 1,
   26678             : /* 51183*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v16i8), 0|OPFL_Chain|OPFL_Variadic1,
   26679             :                         MVT::v16i8, 1/*#Ops*/, 2, 
   26680             :                     // Src: (WebAssemblycall1:{ *:[v16i8] } (imm:{ *:[i32] }):$callee) - Complexity = 6
   26681             :                     // Dst: (CALL_v16i8:{ *:[v16i8] } (imm:{ *:[i32] }):$callee)
   26682             : /* 51190*/        /*SwitchType*/ 12, MVT::v8i16,// ->51204
   26683             : /* 51192*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26684             : /* 51194*/          OPC_EmitMergeInputChains1_0,
   26685             : /* 51195*/          OPC_EmitConvertToTarget, 1,
   26686             : /* 51197*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v8i16), 0|OPFL_Chain|OPFL_Variadic1,
   26687             :                         MVT::v8i16, 1/*#Ops*/, 2, 
   26688             :                     // Src: (WebAssemblycall1:{ *:[v8i16] } (imm:{ *:[i32] }):$callee) - Complexity = 6
   26689             :                     // Dst: (CALL_v8i16:{ *:[v8i16] } (imm:{ *:[i32] }):$callee)
   26690             : /* 51204*/        /*SwitchType*/ 12, MVT::v4i32,// ->51218
   26691             : /* 51206*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26692             : /* 51208*/          OPC_EmitMergeInputChains1_0,
   26693             : /* 51209*/          OPC_EmitConvertToTarget, 1,
   26694             : /* 51211*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4i32), 0|OPFL_Chain|OPFL_Variadic1,
   26695             :                         MVT::v4i32, 1/*#Ops*/, 2, 
   26696             :                     // Src: (WebAssemblycall1:{ *:[v4i32] } (imm:{ *:[i32] }):$callee) - Complexity = 6
   26697             :                     // Dst: (CALL_v4i32:{ *:[v4i32] } (imm:{ *:[i32] }):$callee)
   26698             : /* 51218*/        /*SwitchType*/ 12, MVT::v2i64,// ->51232
   26699             : /* 51220*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26700             : /* 51222*/          OPC_EmitMergeInputChains1_0,
   26701             : /* 51223*/          OPC_EmitConvertToTarget, 1,
   26702             : /* 51225*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2i64), 0|OPFL_Chain|OPFL_Variadic1,
   26703             :                         MVT::v2i64, 1/*#Ops*/, 2, 
   26704             :                     // Src: (WebAssemblycall1:{ *:[v2i64] } (imm:{ *:[i32] }):$callee) - Complexity = 6
   26705             :                     // Dst: (CALL_v2i64:{ *:[v2i64] } (imm:{ *:[i32] }):$callee)
   26706             : /* 51232*/        0, // EndSwitchType
   26707             : /* 51233*/      /*Scope*/ 52, /*->51286*/
   26708             : /* 51234*/        OPC_CheckChild1Type, MVT::i32,
   26709             : /* 51236*/        OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->51249
   26710             : /* 51239*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26711             : /* 51241*/          OPC_EmitMergeInputChains1_0,
   26712             : /* 51242*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v16i8), 0|OPFL_Chain|OPFL_Variadic1,
   26713             :                         MVT::v16i8, 1/*#Ops*/, 1, 
   26714             :                     // Src: (WebAssemblycall1:{ *:[v16i8] } I32:{ *:[i32] }:$callee) - Complexity = 3
   26715             :                     // Dst: (PCALL_INDIRECT_v16i8:{ *:[v16i8] } I32:{ *:[i32] }:$callee)
   26716             : /* 51249*/        /*SwitchType*/ 10, MVT::v8i16,// ->51261
   26717             : /* 51251*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26718             : /* 51253*/          OPC_EmitMergeInputChains1_0,
   26719             : /* 51254*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v8i16), 0|OPFL_Chain|OPFL_Variadic1,
   26720             :                         MVT::v8i16, 1/*#Ops*/, 1, 
   26721             :                     // Src: (WebAssemblycall1:{ *:[v8i16] } I32:{ *:[i32] }:$callee) - Complexity = 3
   26722             :                     // Dst: (PCALL_INDIRECT_v8i16:{ *:[v8i16] } I32:{ *:[i32] }:$callee)
   26723             : /* 51261*/        /*SwitchType*/ 10, MVT::v4i32,// ->51273
   26724             : /* 51263*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26725             : /* 51265*/          OPC_EmitMergeInputChains1_0,
   26726             : /* 51266*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v4i32), 0|OPFL_Chain|OPFL_Variadic1,
   26727             :                         MVT::v4i32, 1/*#Ops*/, 1, 
   26728             :                     // Src: (WebAssemblycall1:{ *:[v4i32] } I32:{ *:[i32] }:$callee) - Complexity = 3
   26729             :                     // Dst: (PCALL_INDIRECT_v4i32:{ *:[v4i32] } I32:{ *:[i32] }:$callee)
   26730             : /* 51273*/        /*SwitchType*/ 10, MVT::v2i64,// ->51285
   26731             : /* 51275*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26732             : /* 51277*/          OPC_EmitMergeInputChains1_0,
   26733             : /* 51278*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v2i64), 0|OPFL_Chain|OPFL_Variadic1,
   26734             :                         MVT::v2i64, 1/*#Ops*/, 1, 
   26735             :                     // Src: (WebAssemblycall1:{ *:[v2i64] } I32:{ *:[i32] }:$callee) - Complexity = 3
   26736             :                     // Dst: (PCALL_INDIRECT_v2i64:{ *:[v2i64] } I32:{ *:[i32] }:$callee)
   26737             : /* 51285*/        0, // EndSwitchType
   26738             : /* 51286*/      0, /*End of Scope*/
   26739             : /* 51287*/    /*Scope*/ 70, /*->51358*/
   26740             : /* 51288*/      OPC_MoveChild1,
   26741             : /* 51289*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   26742             : /* 51292*/      OPC_RecordChild0, // #1 = $callee
   26743             : /* 51293*/      OPC_MoveChild0,
   26744             : /* 51294*/      OPC_SwitchOpcode /*2 cases */, 28, TARGET_VAL(ISD::TargetGlobalAddress),// ->51326
   26745             : /* 51298*/        OPC_MoveParent,
   26746             : /* 51299*/        OPC_MoveParent,
   26747             : /* 51300*/        OPC_SwitchType /*2 cases */, 10, MVT::v4f32,// ->51313
   26748             : /* 51303*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26749             : /* 51305*/          OPC_EmitMergeInputChains1_0,
   26750             : /* 51306*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4f32), 0|OPFL_Chain|OPFL_Variadic1,
   26751             :                         MVT::v4f32, 1/*#Ops*/, 1, 
   26752             :                     // Src: (WebAssemblycall1:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26753             :                     // Dst: (CALL_v4f32:{ *:[v4f32] } (tglobaladdr:{ *:[i32] }):$callee)
   26754             : /* 51313*/        /*SwitchType*/ 10, MVT::v2f64,// ->51325
   26755             : /* 51315*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26756             : /* 51317*/          OPC_EmitMergeInputChains1_0,
   26757             : /* 51318*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2f64), 0|OPFL_Chain|OPFL_Variadic1,
   26758             :                         MVT::v2f64, 1/*#Ops*/, 1, 
   26759             :                     // Src: (WebAssemblycall1:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26760             :                     // Dst: (CALL_v2f64:{ *:[v2f64] } (tglobaladdr:{ *:[i32] }):$callee)
   26761             : /* 51325*/        0, // EndSwitchType
   26762             : /* 51326*/      /*SwitchOpcode*/ 28, TARGET_VAL(ISD::TargetExternalSymbol),// ->51357
   26763             : /* 51329*/        OPC_MoveParent,
   26764             : /* 51330*/        OPC_MoveParent,
   26765             : /* 51331*/        OPC_SwitchType /*2 cases */, 10, MVT::v4f32,// ->51344
   26766             : /* 51334*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26767             : /* 51336*/          OPC_EmitMergeInputChains1_0,
   26768             : /* 51337*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4f32), 0|OPFL_Chain|OPFL_Variadic1,
   26769             :                         MVT::v4f32, 1/*#Ops*/, 1, 
   26770             :                     // Src: (WebAssemblycall1:{ *:[v4f32] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26771             :                     // Dst: (CALL_v4f32:{ *:[v4f32] } (texternalsym:{ *:[i32] }):$callee)
   26772             : /* 51344*/        /*SwitchType*/ 10, MVT::v2f64,// ->51356
   26773             : /* 51346*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26774             : /* 51348*/          OPC_EmitMergeInputChains1_0,
   26775             : /* 51349*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2f64), 0|OPFL_Chain|OPFL_Variadic1,
   26776             :                         MVT::v2f64, 1/*#Ops*/, 1, 
   26777             :                     // Src: (WebAssemblycall1:{ *:[v2f64] } (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26778             :                     // Dst: (CALL_v2f64:{ *:[v2f64] } (texternalsym:{ *:[i32] }):$callee)
   26779             : /* 51356*/        0, // EndSwitchType
   26780             : /* 51357*/      0, // EndSwitchOpcode
   26781             : /* 51358*/    /*Scope*/ 70, /*->51429*/
   26782             : /* 51359*/      OPC_RecordChild1, // #1 = $callee
   26783             : /* 51360*/      OPC_Scope, 37, /*->51399*/ // 2 children in Scope
   26784             : /* 51362*/        OPC_MoveChild1,
   26785             : /* 51363*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   26786             : /* 51366*/        OPC_CheckType, MVT::i32,
   26787             : /* 51368*/        OPC_MoveParent,
   26788             : /* 51369*/        OPC_SwitchType /*2 cases */, 12, MVT::v4f32,// ->51384
   26789             : /* 51372*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26790             : /* 51374*/          OPC_EmitMergeInputChains1_0,
   26791             : /* 51375*/          OPC_EmitConvertToTarget, 1,
   26792             : /* 51377*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v4f32), 0|OPFL_Chain|OPFL_Variadic1,
   26793             :                         MVT::v4f32, 1/*#Ops*/, 2, 
   26794             :                     // Src: (WebAssemblycall1:{ *:[v4f32] } (imm:{ *:[i32] }):$callee) - Complexity = 6
   26795             :                     // Dst: (CALL_v4f32:{ *:[v4f32] } (imm:{ *:[i32] }):$callee)
   26796             : /* 51384*/        /*SwitchType*/ 12, MVT::v2f64,// ->51398
   26797             : /* 51386*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26798             : /* 51388*/          OPC_EmitMergeInputChains1_0,
   26799             : /* 51389*/          OPC_EmitConvertToTarget, 1,
   26800             : /* 51391*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CALL_v2f64), 0|OPFL_Chain|OPFL_Variadic1,
   26801             :                         MVT::v2f64, 1/*#Ops*/, 2, 
   26802             :                     // Src: (WebAssemblycall1:{ *:[v2f64] } (imm:{ *:[i32] }):$callee) - Complexity = 6
   26803             :                     // Dst: (CALL_v2f64:{ *:[v2f64] } (imm:{ *:[i32] }):$callee)
   26804             : /* 51398*/        0, // EndSwitchType
   26805             : /* 51399*/      /*Scope*/ 28, /*->51428*/
   26806             : /* 51400*/        OPC_CheckChild1Type, MVT::i32,
   26807             : /* 51402*/        OPC_SwitchType /*2 cases */, 10, MVT::v4f32,// ->51415
   26808             : /* 51405*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26809             : /* 51407*/          OPC_EmitMergeInputChains1_0,
   26810             : /* 51408*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v4f32), 0|OPFL_Chain|OPFL_Variadic1,
   26811             :                         MVT::v4f32, 1/*#Ops*/, 1, 
   26812             :                     // Src: (WebAssemblycall1:{ *:[v4f32] } I32:{ *:[i32] }:$callee) - Complexity = 3
   26813             :                     // Dst: (PCALL_INDIRECT_v4f32:{ *:[v4f32] } I32:{ *:[i32] }:$callee)
   26814             : /* 51415*/        /*SwitchType*/ 10, MVT::v2f64,// ->51427
   26815             : /* 51417*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   26816             : /* 51419*/          OPC_EmitMergeInputChains1_0,
   26817             : /* 51420*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::PCALL_INDIRECT_v2f64), 0|OPFL_Chain|OPFL_Variadic1,
   26818             :                         MVT::v2f64, 1/*#Ops*/, 1, 
   26819             :                     // Src: (WebAssemblycall1:{ *:[v2f64] } I32:{ *:[i32] }:$callee) - Complexity = 3
   26820             :                     // Dst: (PCALL_INDIRECT_v2f64:{ *:[v2f64] } I32:{ *:[i32] }:$callee)
   26821             : /* 51427*/        0, // EndSwitchType
   26822             : /* 51428*/      0, /*End of Scope*/
   26823             : /* 51429*/    0, /*End of Scope*/
   26824             : /* 51430*/  /*SwitchOpcode*/ 67, TARGET_VAL(WebAssemblyISD::CALL0),// ->51500
   26825             : /* 51433*/    OPC_RecordNode, // #0 = 'WebAssemblycall0' chained node
   26826             : /* 51434*/    OPC_Scope, 32, /*->51468*/ // 2 children in Scope
   26827             : /* 51436*/      OPC_MoveChild1,
   26828             : /* 51437*/      OPC_CheckOpcode, TARGET_VAL(WebAssemblyISD::Wrapper),
   26829             : /* 51440*/      OPC_RecordChild0, // #1 = $callee
   26830             : /* 51441*/      OPC_MoveChild0,
   26831             : /* 51442*/      OPC_SwitchOpcode /*2 cases */, 9, TARGET_VAL(ISD::TargetGlobalAddress),// ->51455
   26832             : /* 51446*/        OPC_MoveParent,
   26833             : /* 51447*/        OPC_MoveParent,
   26834             : /* 51448*/        OPC_EmitMergeInputChains1_0,
   26835             : /* 51449*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CALL_VOID), 0|OPFL_Chain|OPFL_Variadic1,
   26836             :                       1/*#Ops*/, 1, 
   26837             :                   // Src: (WebAssemblycall0 (WebAssemblywrapper:{ *:[iPTR] } (tglobaladdr:{ *:[iPTR] }):$callee)) - Complexity = 9
   26838             :                   // Dst: (CALL_VOID (tglobaladdr:{ *:[i32] }):$callee)
   26839             : /* 51455*/      /*SwitchOpcode*/ 9, TARGET_VAL(ISD::TargetExternalSymbol),// ->51467
   26840             : /* 51458*/        OPC_MoveParent,
   26841             : /* 51459*/        OPC_MoveParent,
   26842             : /* 51460*/        OPC_EmitMergeInputChains1_0,
   26843             : /* 51461*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CALL_VOID), 0|OPFL_Chain|OPFL_Variadic1,
   26844             :                       1/*#Ops*/, 1, 
   26845             :                   // Src: (WebAssemblycall0 (WebAssemblywrapper:{ *:[iPTR] } (texternalsym:{ *:[iPTR] }):$callee)) - Complexity = 9
   26846             :                   // Dst: (CALL_VOID (texternalsym:{ *:[i32] }):$callee)
   26847             : /* 51467*/      0, // EndSwitchOpcode
   26848             : /* 51468*/    /*Scope*/ 30, /*->51499*/
   26849             : /* 51469*/      OPC_RecordChild1, // #1 = $callee
   26850             : /* 51470*/      OPC_Scope, 16, /*->51488*/ // 2 children in Scope
   26851             : /* 51472*/        OPC_MoveChild1,
   26852             : /* 51473*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   26853             : /* 51476*/        OPC_CheckType, MVT::i32,
   26854             : /* 51478*/        OPC_MoveParent,
   26855             : /* 51479*/        OPC_EmitMergeInputChains1_0,
   26856             : /* 51480*/        OPC_EmitConvertToTarget, 1,
   26857             : /* 51482*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CALL_VOID), 0|OPFL_Chain|OPFL_Variadic1,
   26858             :                       1/*#Ops*/, 2, 
   26859             :                   // Src: (WebAssemblycall0 (imm:{ *:[i32] }):$callee) - Complexity = 6
   26860             :                   // Dst: (CALL_VOID (imm:{ *:[i32] }):$callee)
   26861             : /* 51488*/      /*Scope*/ 9, /*->51498*/
   26862             : /* 51489*/        OPC_CheckChild1Type, MVT::i32,
   26863             : /* 51491*/        OPC_EmitMergeInputChains1_0,
   26864             : /* 51492*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::PCALL_INDIRECT_VOID), 0|OPFL_Chain|OPFL_Variadic1,
   26865             :                       1/*#Ops*/, 1, 
   26866             :                   // Src: (WebAssemblycall0 I32:{ *:[i32] }:$callee) - Complexity = 3
   26867             :                   // Dst: (PCALL_INDIRECT_VOID I32:{ *:[i32] }:$callee)
   26868             : /* 51498*/      0, /*End of Scope*/
   26869             : /* 51499*/    0, /*End of Scope*/
   26870             : /* 51500*/  /*SwitchOpcode*/ 51|128,11/*1459*/, TARGET_VAL(ISD::SETCC),// ->52963
   26871             : /* 51504*/    OPC_RecordChild0, // #0 = $src
   26872             : /* 51505*/    OPC_Scope, 38|128,1/*166*/, /*->51674*/ // 9 children in Scope
   26873             : /* 51508*/      OPC_CheckChild0Type, MVT::i32,
   26874             : /* 51510*/      OPC_Scope, 15, /*->51527*/ // 2 children in Scope
   26875             : /* 51512*/        OPC_CheckChild1Integer, 0, 
   26876             : /* 51514*/        OPC_MoveChild2,
   26877             : /* 51515*/        OPC_CheckCondCode, ISD::SETEQ,
   26878             : /* 51517*/        OPC_MoveParent,
   26879             : /* 51518*/        OPC_CheckType, MVT::i32,
   26880             : /* 51520*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQZ_I32), 0,
   26881             :                       MVT::i32, 1/*#Ops*/, 0, 
   26882             :                   // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$src, 0:{ *:[i32] }, SETEQ:{ *:[Other] }) - Complexity = 8
   26883             :                   // Dst: (EQZ_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
   26884             : /* 51527*/      /*Scope*/ 16|128,1/*144*/, /*->51673*/
   26885             : /* 51529*/        OPC_RecordChild1, // #1 = $rhs
   26886             : /* 51530*/        OPC_MoveChild2,
   26887             : /* 51531*/        OPC_Scope, 13, /*->51546*/ // 10 children in Scope
   26888             : /* 51533*/          OPC_CheckCondCode, ISD::SETEQ,
   26889             : /* 51535*/          OPC_MoveParent,
   26890             : /* 51536*/          OPC_CheckType, MVT::i32,
   26891             : /* 51538*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_I32), 0,
   26892             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26893             :                     // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
   26894             :                     // Dst: (EQ_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26895             : /* 51546*/        /*Scope*/ 13, /*->51560*/
   26896             : /* 51547*/          OPC_CheckCondCode, ISD::SETNE,
   26897             : /* 51549*/          OPC_MoveParent,
   26898             : /* 51550*/          OPC_CheckType, MVT::i32,
   26899             : /* 51552*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_I32), 0,
   26900             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26901             :                     // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
   26902             :                     // Dst: (NE_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26903             : /* 51560*/        /*Scope*/ 13, /*->51574*/
   26904             : /* 51561*/          OPC_CheckCondCode, ISD::SETLT,
   26905             : /* 51563*/          OPC_MoveParent,
   26906             : /* 51564*/          OPC_CheckType, MVT::i32,
   26907             : /* 51566*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_I32), 0,
   26908             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26909             :                     // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
   26910             :                     // Dst: (LT_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26911             : /* 51574*/        /*Scope*/ 13, /*->51588*/
   26912             : /* 51575*/          OPC_CheckCondCode, ISD::SETULT,
   26913             : /* 51577*/          OPC_MoveParent,
   26914             : /* 51578*/          OPC_CheckType, MVT::i32,
   26915             : /* 51580*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_I32), 0,
   26916             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26917             :                     // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
   26918             :                     // Dst: (LT_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26919             : /* 51588*/        /*Scope*/ 13, /*->51602*/
   26920             : /* 51589*/          OPC_CheckCondCode, ISD::SETGT,
   26921             : /* 51591*/          OPC_MoveParent,
   26922             : /* 51592*/          OPC_CheckType, MVT::i32,
   26923             : /* 51594*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_I32), 0,
   26924             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26925             :                     // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
   26926             :                     // Dst: (GT_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26927             : /* 51602*/        /*Scope*/ 13, /*->51616*/
   26928             : /* 51603*/          OPC_CheckCondCode, ISD::SETUGT,
   26929             : /* 51605*/          OPC_MoveParent,
   26930             : /* 51606*/          OPC_CheckType, MVT::i32,
   26931             : /* 51608*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_I32), 0,
   26932             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26933             :                     // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
   26934             :                     // Dst: (GT_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26935             : /* 51616*/        /*Scope*/ 13, /*->51630*/
   26936             : /* 51617*/          OPC_CheckCondCode, ISD::SETLE,
   26937             : /* 51619*/          OPC_MoveParent,
   26938             : /* 51620*/          OPC_CheckType, MVT::i32,
   26939             : /* 51622*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_I32), 0,
   26940             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26941             :                     // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
   26942             :                     // Dst: (LE_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26943             : /* 51630*/        /*Scope*/ 13, /*->51644*/
   26944             : /* 51631*/          OPC_CheckCondCode, ISD::SETULE,
   26945             : /* 51633*/          OPC_MoveParent,
   26946             : /* 51634*/          OPC_CheckType, MVT::i32,
   26947             : /* 51636*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_I32), 0,
   26948             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26949             :                     // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
   26950             :                     // Dst: (LE_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26951             : /* 51644*/        /*Scope*/ 13, /*->51658*/
   26952             : /* 51645*/          OPC_CheckCondCode, ISD::SETGE,
   26953             : /* 51647*/          OPC_MoveParent,
   26954             : /* 51648*/          OPC_CheckType, MVT::i32,
   26955             : /* 51650*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_I32), 0,
   26956             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26957             :                     // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
   26958             :                     // Dst: (GE_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26959             : /* 51658*/        /*Scope*/ 13, /*->51672*/
   26960             : /* 51659*/          OPC_CheckCondCode, ISD::SETUGE,
   26961             : /* 51661*/          OPC_MoveParent,
   26962             : /* 51662*/          OPC_CheckType, MVT::i32,
   26963             : /* 51664*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_I32), 0,
   26964             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26965             :                     // Src: (setcc:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
   26966             :                     // Dst: (GE_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   26967             : /* 51672*/        0, /*End of Scope*/
   26968             : /* 51673*/      0, /*End of Scope*/
   26969             : /* 51674*/    /*Scope*/ 38|128,1/*166*/, /*->51842*/
   26970             : /* 51676*/      OPC_CheckChild0Type, MVT::i64,
   26971             : /* 51678*/      OPC_Scope, 15, /*->51695*/ // 2 children in Scope
   26972             : /* 51680*/        OPC_CheckChild1Integer, 0, 
   26973             : /* 51682*/        OPC_MoveChild2,
   26974             : /* 51683*/        OPC_CheckCondCode, ISD::SETEQ,
   26975             : /* 51685*/        OPC_MoveParent,
   26976             : /* 51686*/        OPC_CheckType, MVT::i32,
   26977             : /* 51688*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQZ_I64), 0,
   26978             :                       MVT::i32, 1/*#Ops*/, 0, 
   26979             :                   // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$src, 0:{ *:[i64] }, SETEQ:{ *:[Other] }) - Complexity = 8
   26980             :                   // Dst: (EQZ_I64:{ *:[i32] } I64:{ *:[i64] }:$src)
   26981             : /* 51695*/      /*Scope*/ 16|128,1/*144*/, /*->51841*/
   26982             : /* 51697*/        OPC_RecordChild1, // #1 = $rhs
   26983             : /* 51698*/        OPC_MoveChild2,
   26984             : /* 51699*/        OPC_Scope, 13, /*->51714*/ // 10 children in Scope
   26985             : /* 51701*/          OPC_CheckCondCode, ISD::SETEQ,
   26986             : /* 51703*/          OPC_MoveParent,
   26987             : /* 51704*/          OPC_CheckType, MVT::i32,
   26988             : /* 51706*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_I64), 0,
   26989             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26990             :                     // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
   26991             :                     // Dst: (EQ_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   26992             : /* 51714*/        /*Scope*/ 13, /*->51728*/
   26993             : /* 51715*/          OPC_CheckCondCode, ISD::SETNE,
   26994             : /* 51717*/          OPC_MoveParent,
   26995             : /* 51718*/          OPC_CheckType, MVT::i32,
   26996             : /* 51720*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_I64), 0,
   26997             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   26998             :                     // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
   26999             :                     // Dst: (NE_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   27000             : /* 51728*/        /*Scope*/ 13, /*->51742*/
   27001             : /* 51729*/          OPC_CheckCondCode, ISD::SETLT,
   27002             : /* 51731*/          OPC_MoveParent,
   27003             : /* 51732*/          OPC_CheckType, MVT::i32,
   27004             : /* 51734*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_I64), 0,
   27005             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   27006             :                     // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
   27007             :                     // Dst: (LT_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   27008             : /* 51742*/        /*Scope*/ 13, /*->51756*/
   27009             : /* 51743*/          OPC_CheckCondCode, ISD::SETULT,
   27010             : /* 51745*/          OPC_MoveParent,
   27011             : /* 51746*/          OPC_CheckType, MVT::i32,
   27012             : /* 51748*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_I64), 0,
   27013             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   27014             :                     // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
   27015             :                     // Dst: (LT_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   27016             : /* 51756*/        /*Scope*/ 13, /*->51770*/
   27017             : /* 51757*/          OPC_CheckCondCode, ISD::SETGT,
   27018             : /* 51759*/          OPC_MoveParent,
   27019             : /* 51760*/          OPC_CheckType, MVT::i32,
   27020             : /* 51762*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_I64), 0,
   27021             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   27022             :                     // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
   27023             :                     // Dst: (GT_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   27024             : /* 51770*/        /*Scope*/ 13, /*->51784*/
   27025             : /* 51771*/          OPC_CheckCondCode, ISD::SETUGT,
   27026             : /* 51773*/          OPC_MoveParent,
   27027             : /* 51774*/          OPC_CheckType, MVT::i32,
   27028             : /* 51776*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_I64), 0,
   27029             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   27030             :                     // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
   27031             :                     // Dst: (GT_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   27032             : /* 51784*/        /*Scope*/ 13, /*->51798*/
   27033             : /* 51785*/          OPC_CheckCondCode, ISD::SETLE,
   27034             : /* 51787*/          OPC_MoveParent,
   27035             : /* 51788*/          OPC_CheckType, MVT::i32,
   27036             : /* 51790*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_I64), 0,
   27037             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   27038             :                     // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
   27039             :                     // Dst: (LE_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   27040             : /* 51798*/        /*Scope*/ 13, /*->51812*/
   27041             : /* 51799*/          OPC_CheckCondCode, ISD::SETULE,
   27042             : /* 51801*/          OPC_MoveParent,
   27043             : /* 51802*/          OPC_CheckType, MVT::i32,
   27044             : /* 51804*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_I64), 0,
   27045             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   27046             :                     // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
   27047             :                     // Dst: (LE_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   27048             : /* 51812*/        /*Scope*/ 13, /*->51826*/
   27049             : /* 51813*/          OPC_CheckCondCode, ISD::SETGE,
   27050             : /* 51815*/          OPC_MoveParent,
   27051             : /* 51816*/          OPC_CheckType, MVT::i32,
   27052             : /* 51818*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_I64), 0,
   27053             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   27054             :                     // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
   27055             :                     // Dst: (GE_S_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   27056             : /* 51826*/        /*Scope*/ 13, /*->51840*/
   27057             : /* 51827*/          OPC_CheckCondCode, ISD::SETUGE,
   27058             : /* 51829*/          OPC_MoveParent,
   27059             : /* 51830*/          OPC_CheckType, MVT::i32,
   27060             : /* 51832*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_I64), 0,
   27061             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   27062             :                     // Src: (setcc:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
   27063             :                     // Dst: (GE_U_I64:{ *:[i32] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   27064             : /* 51840*/        0, /*End of Scope*/
   27065             : /* 51841*/      0, /*End of Scope*/
   27066             : /* 51842*/    /*Scope*/ 46|128,1/*174*/, /*->52018*/
   27067             : /* 51844*/      OPC_CheckChild0Type, MVT::f32,
   27068             : /* 51846*/      OPC_RecordChild1, // #1 = $rhs
   27069             : /* 51847*/      OPC_MoveChild2,
   27070             : /* 51848*/      OPC_Scope, 13, /*->51863*/ // 12 children in Scope
   27071             : /* 51850*/        OPC_CheckCondCode, ISD::SETOEQ,
   27072             : /* 51852*/        OPC_MoveParent,
   27073             : /* 51853*/        OPC_CheckType, MVT::i32,
   27074             : /* 51855*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F32), 0,
   27075             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27076             :                   // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
   27077             :                   // Dst: (EQ_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   27078             : /* 51863*/      /*Scope*/ 13, /*->51877*/
   27079             : /* 51864*/        OPC_CheckCondCode, ISD::SETUNE,
   27080             : /* 51866*/        OPC_MoveParent,
   27081             : /* 51867*/        OPC_CheckType, MVT::i32,
   27082             : /* 51869*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F32), 0,
   27083             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27084             :                   // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
   27085             :                   // Dst: (NE_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   27086             : /* 51877*/      /*Scope*/ 13, /*->51891*/
   27087             : /* 51878*/        OPC_CheckCondCode, ISD::SETOLT,
   27088             : /* 51880*/        OPC_MoveParent,
   27089             : /* 51881*/        OPC_CheckType, MVT::i32,
   27090             : /* 51883*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F32), 0,
   27091             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27092             :                   // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
   27093             :                   // Dst: (LT_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   27094             : /* 51891*/      /*Scope*/ 13, /*->51905*/
   27095             : /* 51892*/        OPC_CheckCondCode, ISD::SETOLE,
   27096             : /* 51894*/        OPC_MoveParent,
   27097             : /* 51895*/        OPC_CheckType, MVT::i32,
   27098             : /* 51897*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F32), 0,
   27099             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27100             :                   // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
   27101             :                   // Dst: (LE_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   27102             : /* 51905*/      /*Scope*/ 13, /*->51919*/
   27103             : /* 51906*/        OPC_CheckCondCode, ISD::SETOGT,
   27104             : /* 51908*/        OPC_MoveParent,
   27105             : /* 51909*/        OPC_CheckType, MVT::i32,
   27106             : /* 51911*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F32), 0,
   27107             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27108             :                   // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
   27109             :                   // Dst: (GT_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   27110             : /* 51919*/      /*Scope*/ 13, /*->51933*/
   27111             : /* 51920*/        OPC_CheckCondCode, ISD::SETOGE,
   27112             : /* 51922*/        OPC_MoveParent,
   27113             : /* 51923*/        OPC_CheckType, MVT::i32,
   27114             : /* 51925*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F32), 0,
   27115             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27116             :                   // Src: (setcc:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
   27117             :                   // Dst: (GE_F32:{ *:[i32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   27118             : /* 51933*/      /*Scope*/ 13, /*->51947*/
   27119             : /* 51934*/        OPC_CheckCondCode, ISD::SETEQ,
   27120             : /* 51936*/        OPC_MoveParent,
   27121             : /* 51937*/        OPC_CheckType, MVT::i32,
   27122             : /* 51939*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F32), 0,
   27123             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27124             :                   // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
   27125             :                   // Dst: (EQ_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
   27126             : /* 51947*/      /*Scope*/ 13, /*->51961*/
   27127             : /* 51948*/        OPC_CheckCondCode, ISD::SETNE,
   27128             : /* 51950*/        OPC_MoveParent,
   27129             : /* 51951*/        OPC_CheckType, MVT::i32,
   27130             : /* 51953*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F32), 0,
   27131             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27132             :                   // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
   27133             :                   // Dst: (NE_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
   27134             : /* 51961*/      /*Scope*/ 13, /*->51975*/
   27135             : /* 51962*/        OPC_CheckCondCode, ISD::SETLT,
   27136             : /* 51964*/        OPC_MoveParent,
   27137             : /* 51965*/        OPC_CheckType, MVT::i32,
   27138             : /* 51967*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F32), 0,
   27139             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27140             :                   // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
   27141             :                   // Dst: (LT_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
   27142             : /* 51975*/      /*Scope*/ 13, /*->51989*/
   27143             : /* 51976*/        OPC_CheckCondCode, ISD::SETLE,
   27144             : /* 51978*/        OPC_MoveParent,
   27145             : /* 51979*/        OPC_CheckType, MVT::i32,
   27146             : /* 51981*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F32), 0,
   27147             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27148             :                   // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
   27149             :                   // Dst: (LE_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
   27150             : /* 51989*/      /*Scope*/ 13, /*->52003*/
   27151             : /* 51990*/        OPC_CheckCondCode, ISD::SETGT,
   27152             : /* 51992*/        OPC_MoveParent,
   27153             : /* 51993*/        OPC_CheckType, MVT::i32,
   27154             : /* 51995*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F32), 0,
   27155             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27156             :                   // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
   27157             :                   // Dst: (GT_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
   27158             : /* 52003*/      /*Scope*/ 13, /*->52017*/
   27159             : /* 52004*/        OPC_CheckCondCode, ISD::SETGE,
   27160             : /* 52006*/        OPC_MoveParent,
   27161             : /* 52007*/        OPC_CheckType, MVT::i32,
   27162             : /* 52009*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F32), 0,
   27163             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27164             :                   // Src: (setcc:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
   27165             :                   // Dst: (GE_F32:{ *:[i32] } f32:{ *:[f32] }:$lhs, f32:{ *:[f32] }:$rhs)
   27166             : /* 52017*/      0, /*End of Scope*/
   27167             : /* 52018*/    /*Scope*/ 46|128,1/*174*/, /*->52194*/
   27168             : /* 52020*/      OPC_CheckChild0Type, MVT::f64,
   27169             : /* 52022*/      OPC_RecordChild1, // #1 = $rhs
   27170             : /* 52023*/      OPC_MoveChild2,
   27171             : /* 52024*/      OPC_Scope, 13, /*->52039*/ // 12 children in Scope
   27172             : /* 52026*/        OPC_CheckCondCode, ISD::SETOEQ,
   27173             : /* 52028*/        OPC_MoveParent,
   27174             : /* 52029*/        OPC_CheckType, MVT::i32,
   27175             : /* 52031*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F64), 0,
   27176             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27177             :                   // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
   27178             :                   // Dst: (EQ_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   27179             : /* 52039*/      /*Scope*/ 13, /*->52053*/
   27180             : /* 52040*/        OPC_CheckCondCode, ISD::SETUNE,
   27181             : /* 52042*/        OPC_MoveParent,
   27182             : /* 52043*/        OPC_CheckType, MVT::i32,
   27183             : /* 52045*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F64), 0,
   27184             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27185             :                   // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
   27186             :                   // Dst: (NE_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   27187             : /* 52053*/      /*Scope*/ 13, /*->52067*/
   27188             : /* 52054*/        OPC_CheckCondCode, ISD::SETOLT,
   27189             : /* 52056*/        OPC_MoveParent,
   27190             : /* 52057*/        OPC_CheckType, MVT::i32,
   27191             : /* 52059*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F64), 0,
   27192             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27193             :                   // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
   27194             :                   // Dst: (LT_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   27195             : /* 52067*/      /*Scope*/ 13, /*->52081*/
   27196             : /* 52068*/        OPC_CheckCondCode, ISD::SETOLE,
   27197             : /* 52070*/        OPC_MoveParent,
   27198             : /* 52071*/        OPC_CheckType, MVT::i32,
   27199             : /* 52073*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F64), 0,
   27200             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27201             :                   // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
   27202             :                   // Dst: (LE_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   27203             : /* 52081*/      /*Scope*/ 13, /*->52095*/
   27204             : /* 52082*/        OPC_CheckCondCode, ISD::SETOGT,
   27205             : /* 52084*/        OPC_MoveParent,
   27206             : /* 52085*/        OPC_CheckType, MVT::i32,
   27207             : /* 52087*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F64), 0,
   27208             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27209             :                   // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
   27210             :                   // Dst: (GT_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   27211             : /* 52095*/      /*Scope*/ 13, /*->52109*/
   27212             : /* 52096*/        OPC_CheckCondCode, ISD::SETOGE,
   27213             : /* 52098*/        OPC_MoveParent,
   27214             : /* 52099*/        OPC_CheckType, MVT::i32,
   27215             : /* 52101*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F64), 0,
   27216             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27217             :                   // Src: (setcc:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
   27218             :                   // Dst: (GE_F64:{ *:[i32] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   27219             : /* 52109*/      /*Scope*/ 13, /*->52123*/
   27220             : /* 52110*/        OPC_CheckCondCode, ISD::SETEQ,
   27221             : /* 52112*/        OPC_MoveParent,
   27222             : /* 52113*/        OPC_CheckType, MVT::i32,
   27223             : /* 52115*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_F64), 0,
   27224             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27225             :                   // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
   27226             :                   // Dst: (EQ_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
   27227             : /* 52123*/      /*Scope*/ 13, /*->52137*/
   27228             : /* 52124*/        OPC_CheckCondCode, ISD::SETNE,
   27229             : /* 52126*/        OPC_MoveParent,
   27230             : /* 52127*/        OPC_CheckType, MVT::i32,
   27231             : /* 52129*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_F64), 0,
   27232             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27233             :                   // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
   27234             :                   // Dst: (NE_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
   27235             : /* 52137*/      /*Scope*/ 13, /*->52151*/
   27236             : /* 52138*/        OPC_CheckCondCode, ISD::SETLT,
   27237             : /* 52140*/        OPC_MoveParent,
   27238             : /* 52141*/        OPC_CheckType, MVT::i32,
   27239             : /* 52143*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_F64), 0,
   27240             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27241             :                   // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
   27242             :                   // Dst: (LT_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
   27243             : /* 52151*/      /*Scope*/ 13, /*->52165*/
   27244             : /* 52152*/        OPC_CheckCondCode, ISD::SETLE,
   27245             : /* 52154*/        OPC_MoveParent,
   27246             : /* 52155*/        OPC_CheckType, MVT::i32,
   27247             : /* 52157*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_F64), 0,
   27248             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27249             :                   // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
   27250             :                   // Dst: (LE_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
   27251             : /* 52165*/      /*Scope*/ 13, /*->52179*/
   27252             : /* 52166*/        OPC_CheckCondCode, ISD::SETGT,
   27253             : /* 52168*/        OPC_MoveParent,
   27254             : /* 52169*/        OPC_CheckType, MVT::i32,
   27255             : /* 52171*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_F64), 0,
   27256             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27257             :                   // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
   27258             :                   // Dst: (GT_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
   27259             : /* 52179*/      /*Scope*/ 13, /*->52193*/
   27260             : /* 52180*/        OPC_CheckCondCode, ISD::SETGE,
   27261             : /* 52182*/        OPC_MoveParent,
   27262             : /* 52183*/        OPC_CheckType, MVT::i32,
   27263             : /* 52185*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_F64), 0,
   27264             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   27265             :                   // Src: (setcc:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
   27266             :                   // Dst: (GE_F64:{ *:[i32] } f64:{ *:[f64] }:$lhs, f64:{ *:[f64] }:$rhs)
   27267             : /* 52193*/      0, /*End of Scope*/
   27268             : /* 52194*/    /*Scope*/ 38|128,1/*166*/, /*->52362*/
   27269             : /* 52196*/      OPC_CheckChild0Type, MVT::v16i8,
   27270             : /* 52198*/      OPC_RecordChild1, // #1 = $rhs
   27271             : /* 52199*/      OPC_MoveChild2,
   27272             : /* 52200*/      OPC_Scope, 15, /*->52217*/ // 10 children in Scope
   27273             : /* 52202*/        OPC_CheckCondCode, ISD::SETEQ,
   27274             : /* 52204*/        OPC_MoveParent,
   27275             : /* 52205*/        OPC_CheckType, MVT::v16i8,
   27276             : /* 52207*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27277             : /* 52209*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v16i8), 0,
   27278             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27279             :                   // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
   27280             :                   // Dst: (EQ_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27281             : /* 52217*/      /*Scope*/ 15, /*->52233*/
   27282             : /* 52218*/        OPC_CheckCondCode, ISD::SETNE,
   27283             : /* 52220*/        OPC_MoveParent,
   27284             : /* 52221*/        OPC_CheckType, MVT::v16i8,
   27285             : /* 52223*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27286             : /* 52225*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v16i8), 0,
   27287             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27288             :                   // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
   27289             :                   // Dst: (NE_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27290             : /* 52233*/      /*Scope*/ 15, /*->52249*/
   27291             : /* 52234*/        OPC_CheckCondCode, ISD::SETLT,
   27292             : /* 52236*/        OPC_MoveParent,
   27293             : /* 52237*/        OPC_CheckType, MVT::v16i8,
   27294             : /* 52239*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27295             : /* 52241*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_v16i8), 0,
   27296             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27297             :                   // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
   27298             :                   // Dst: (LT_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27299             : /* 52249*/      /*Scope*/ 15, /*->52265*/
   27300             : /* 52250*/        OPC_CheckCondCode, ISD::SETULT,
   27301             : /* 52252*/        OPC_MoveParent,
   27302             : /* 52253*/        OPC_CheckType, MVT::v16i8,
   27303             : /* 52255*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27304             : /* 52257*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_v16i8), 0,
   27305             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27306             :                   // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
   27307             :                   // Dst: (LT_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27308             : /* 52265*/      /*Scope*/ 15, /*->52281*/
   27309             : /* 52266*/        OPC_CheckCondCode, ISD::SETLE,
   27310             : /* 52268*/        OPC_MoveParent,
   27311             : /* 52269*/        OPC_CheckType, MVT::v16i8,
   27312             : /* 52271*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27313             : /* 52273*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_v16i8), 0,
   27314             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27315             :                   // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
   27316             :                   // Dst: (LE_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27317             : /* 52281*/      /*Scope*/ 15, /*->52297*/
   27318             : /* 52282*/        OPC_CheckCondCode, ISD::SETULE,
   27319             : /* 52284*/        OPC_MoveParent,
   27320             : /* 52285*/        OPC_CheckType, MVT::v16i8,
   27321             : /* 52287*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27322             : /* 52289*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_v16i8), 0,
   27323             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27324             :                   // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
   27325             :                   // Dst: (LE_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27326             : /* 52297*/      /*Scope*/ 15, /*->52313*/
   27327             : /* 52298*/        OPC_CheckCondCode, ISD::SETGT,
   27328             : /* 52300*/        OPC_MoveParent,
   27329             : /* 52301*/        OPC_CheckType, MVT::v16i8,
   27330             : /* 52303*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27331             : /* 52305*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_v16i8), 0,
   27332             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27333             :                   // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
   27334             :                   // Dst: (GT_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27335             : /* 52313*/      /*Scope*/ 15, /*->52329*/
   27336             : /* 52314*/        OPC_CheckCondCode, ISD::SETUGT,
   27337             : /* 52316*/        OPC_MoveParent,
   27338             : /* 52317*/        OPC_CheckType, MVT::v16i8,
   27339             : /* 52319*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27340             : /* 52321*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_v16i8), 0,
   27341             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27342             :                   // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
   27343             :                   // Dst: (GT_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27344             : /* 52329*/      /*Scope*/ 15, /*->52345*/
   27345             : /* 52330*/        OPC_CheckCondCode, ISD::SETGE,
   27346             : /* 52332*/        OPC_MoveParent,
   27347             : /* 52333*/        OPC_CheckType, MVT::v16i8,
   27348             : /* 52335*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27349             : /* 52337*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_v16i8), 0,
   27350             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27351             :                   // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
   27352             :                   // Dst: (GE_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27353             : /* 52345*/      /*Scope*/ 15, /*->52361*/
   27354             : /* 52346*/        OPC_CheckCondCode, ISD::SETUGE,
   27355             : /* 52348*/        OPC_MoveParent,
   27356             : /* 52349*/        OPC_CheckType, MVT::v16i8,
   27357             : /* 52351*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27358             : /* 52353*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_v16i8), 0,
   27359             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27360             :                   // Src: (setcc:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
   27361             :                   // Dst: (GE_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27362             : /* 52361*/      0, /*End of Scope*/
   27363             : /* 52362*/    /*Scope*/ 38|128,1/*166*/, /*->52530*/
   27364             : /* 52364*/      OPC_CheckChild0Type, MVT::v8i16,
   27365             : /* 52366*/      OPC_RecordChild1, // #1 = $rhs
   27366             : /* 52367*/      OPC_MoveChild2,
   27367             : /* 52368*/      OPC_Scope, 15, /*->52385*/ // 10 children in Scope
   27368             : /* 52370*/        OPC_CheckCondCode, ISD::SETEQ,
   27369             : /* 52372*/        OPC_MoveParent,
   27370             : /* 52373*/        OPC_CheckType, MVT::v8i16,
   27371             : /* 52375*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27372             : /* 52377*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v8i16), 0,
   27373             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27374             :                   // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
   27375             :                   // Dst: (EQ_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27376             : /* 52385*/      /*Scope*/ 15, /*->52401*/
   27377             : /* 52386*/        OPC_CheckCondCode, ISD::SETNE,
   27378             : /* 52388*/        OPC_MoveParent,
   27379             : /* 52389*/        OPC_CheckType, MVT::v8i16,
   27380             : /* 52391*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27381             : /* 52393*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v8i16), 0,
   27382             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27383             :                   // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
   27384             :                   // Dst: (NE_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27385             : /* 52401*/      /*Scope*/ 15, /*->52417*/
   27386             : /* 52402*/        OPC_CheckCondCode, ISD::SETLT,
   27387             : /* 52404*/        OPC_MoveParent,
   27388             : /* 52405*/        OPC_CheckType, MVT::v8i16,
   27389             : /* 52407*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27390             : /* 52409*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_v8i16), 0,
   27391             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27392             :                   // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
   27393             :                   // Dst: (LT_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27394             : /* 52417*/      /*Scope*/ 15, /*->52433*/
   27395             : /* 52418*/        OPC_CheckCondCode, ISD::SETULT,
   27396             : /* 52420*/        OPC_MoveParent,
   27397             : /* 52421*/        OPC_CheckType, MVT::v8i16,
   27398             : /* 52423*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27399             : /* 52425*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_v8i16), 0,
   27400             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27401             :                   // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
   27402             :                   // Dst: (LT_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27403             : /* 52433*/      /*Scope*/ 15, /*->52449*/
   27404             : /* 52434*/        OPC_CheckCondCode, ISD::SETLE,
   27405             : /* 52436*/        OPC_MoveParent,
   27406             : /* 52437*/        OPC_CheckType, MVT::v8i16,
   27407             : /* 52439*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27408             : /* 52441*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_v8i16), 0,
   27409             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27410             :                   // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
   27411             :                   // Dst: (LE_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27412             : /* 52449*/      /*Scope*/ 15, /*->52465*/
   27413             : /* 52450*/        OPC_CheckCondCode, ISD::SETULE,
   27414             : /* 52452*/        OPC_MoveParent,
   27415             : /* 52453*/        OPC_CheckType, MVT::v8i16,
   27416             : /* 52455*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27417             : /* 52457*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_v8i16), 0,
   27418             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27419             :                   // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
   27420             :                   // Dst: (LE_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27421             : /* 52465*/      /*Scope*/ 15, /*->52481*/
   27422             : /* 52466*/        OPC_CheckCondCode, ISD::SETGT,
   27423             : /* 52468*/        OPC_MoveParent,
   27424             : /* 52469*/        OPC_CheckType, MVT::v8i16,
   27425             : /* 52471*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27426             : /* 52473*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_v8i16), 0,
   27427             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27428             :                   // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
   27429             :                   // Dst: (GT_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27430             : /* 52481*/      /*Scope*/ 15, /*->52497*/
   27431             : /* 52482*/        OPC_CheckCondCode, ISD::SETUGT,
   27432             : /* 52484*/        OPC_MoveParent,
   27433             : /* 52485*/        OPC_CheckType, MVT::v8i16,
   27434             : /* 52487*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27435             : /* 52489*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_v8i16), 0,
   27436             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27437             :                   // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
   27438             :                   // Dst: (GT_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27439             : /* 52497*/      /*Scope*/ 15, /*->52513*/
   27440             : /* 52498*/        OPC_CheckCondCode, ISD::SETGE,
   27441             : /* 52500*/        OPC_MoveParent,
   27442             : /* 52501*/        OPC_CheckType, MVT::v8i16,
   27443             : /* 52503*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27444             : /* 52505*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_v8i16), 0,
   27445             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27446             :                   // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
   27447             :                   // Dst: (GE_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27448             : /* 52513*/      /*Scope*/ 15, /*->52529*/
   27449             : /* 52514*/        OPC_CheckCondCode, ISD::SETUGE,
   27450             : /* 52516*/        OPC_MoveParent,
   27451             : /* 52517*/        OPC_CheckType, MVT::v8i16,
   27452             : /* 52519*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27453             : /* 52521*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_v8i16), 0,
   27454             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27455             :                   // Src: (setcc:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
   27456             :                   // Dst: (GE_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27457             : /* 52529*/      0, /*End of Scope*/
   27458             : /* 52530*/    /*Scope*/ 38|128,1/*166*/, /*->52698*/
   27459             : /* 52532*/      OPC_CheckChild0Type, MVT::v4i32,
   27460             : /* 52534*/      OPC_RecordChild1, // #1 = $rhs
   27461             : /* 52535*/      OPC_MoveChild2,
   27462             : /* 52536*/      OPC_Scope, 15, /*->52553*/ // 10 children in Scope
   27463             : /* 52538*/        OPC_CheckCondCode, ISD::SETEQ,
   27464             : /* 52540*/        OPC_MoveParent,
   27465             : /* 52541*/        OPC_CheckType, MVT::v4i32,
   27466             : /* 52543*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27467             : /* 52545*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v4i32), 0,
   27468             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27469             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
   27470             :                   // Dst: (EQ_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   27471             : /* 52553*/      /*Scope*/ 15, /*->52569*/
   27472             : /* 52554*/        OPC_CheckCondCode, ISD::SETNE,
   27473             : /* 52556*/        OPC_MoveParent,
   27474             : /* 52557*/        OPC_CheckType, MVT::v4i32,
   27475             : /* 52559*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27476             : /* 52561*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v4i32), 0,
   27477             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27478             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
   27479             :                   // Dst: (NE_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   27480             : /* 52569*/      /*Scope*/ 15, /*->52585*/
   27481             : /* 52570*/        OPC_CheckCondCode, ISD::SETLT,
   27482             : /* 52572*/        OPC_MoveParent,
   27483             : /* 52573*/        OPC_CheckType, MVT::v4i32,
   27484             : /* 52575*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27485             : /* 52577*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_S_v4i32), 0,
   27486             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27487             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETLT:{ *:[Other] }) - Complexity = 3
   27488             :                   // Dst: (LT_S_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   27489             : /* 52585*/      /*Scope*/ 15, /*->52601*/
   27490             : /* 52586*/        OPC_CheckCondCode, ISD::SETULT,
   27491             : /* 52588*/        OPC_MoveParent,
   27492             : /* 52589*/        OPC_CheckType, MVT::v4i32,
   27493             : /* 52591*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27494             : /* 52593*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_U_v4i32), 0,
   27495             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27496             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETULT:{ *:[Other] }) - Complexity = 3
   27497             :                   // Dst: (LT_U_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   27498             : /* 52601*/      /*Scope*/ 15, /*->52617*/
   27499             : /* 52602*/        OPC_CheckCondCode, ISD::SETLE,
   27500             : /* 52604*/        OPC_MoveParent,
   27501             : /* 52605*/        OPC_CheckType, MVT::v4i32,
   27502             : /* 52607*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27503             : /* 52609*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_S_v4i32), 0,
   27504             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27505             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETLE:{ *:[Other] }) - Complexity = 3
   27506             :                   // Dst: (LE_S_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   27507             : /* 52617*/      /*Scope*/ 15, /*->52633*/
   27508             : /* 52618*/        OPC_CheckCondCode, ISD::SETULE,
   27509             : /* 52620*/        OPC_MoveParent,
   27510             : /* 52621*/        OPC_CheckType, MVT::v4i32,
   27511             : /* 52623*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27512             : /* 52625*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_U_v4i32), 0,
   27513             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27514             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETULE:{ *:[Other] }) - Complexity = 3
   27515             :                   // Dst: (LE_U_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   27516             : /* 52633*/      /*Scope*/ 15, /*->52649*/
   27517             : /* 52634*/        OPC_CheckCondCode, ISD::SETGT,
   27518             : /* 52636*/        OPC_MoveParent,
   27519             : /* 52637*/        OPC_CheckType, MVT::v4i32,
   27520             : /* 52639*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27521             : /* 52641*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_S_v4i32), 0,
   27522             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27523             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETGT:{ *:[Other] }) - Complexity = 3
   27524             :                   // Dst: (GT_S_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   27525             : /* 52649*/      /*Scope*/ 15, /*->52665*/
   27526             : /* 52650*/        OPC_CheckCondCode, ISD::SETUGT,
   27527             : /* 52652*/        OPC_MoveParent,
   27528             : /* 52653*/        OPC_CheckType, MVT::v4i32,
   27529             : /* 52655*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27530             : /* 52657*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_U_v4i32), 0,
   27531             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27532             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETUGT:{ *:[Other] }) - Complexity = 3
   27533             :                   // Dst: (GT_U_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   27534             : /* 52665*/      /*Scope*/ 15, /*->52681*/
   27535             : /* 52666*/        OPC_CheckCondCode, ISD::SETGE,
   27536             : /* 52668*/        OPC_MoveParent,
   27537             : /* 52669*/        OPC_CheckType, MVT::v4i32,
   27538             : /* 52671*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27539             : /* 52673*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_S_v4i32), 0,
   27540             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27541             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETGE:{ *:[Other] }) - Complexity = 3
   27542             :                   // Dst: (GE_S_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   27543             : /* 52681*/      /*Scope*/ 15, /*->52697*/
   27544             : /* 52682*/        OPC_CheckCondCode, ISD::SETUGE,
   27545             : /* 52684*/        OPC_MoveParent,
   27546             : /* 52685*/        OPC_CheckType, MVT::v4i32,
   27547             : /* 52687*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27548             : /* 52689*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_U_v4i32), 0,
   27549             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27550             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs, SETUGE:{ *:[Other] }) - Complexity = 3
   27551             :                   // Dst: (GE_U_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   27552             : /* 52697*/      0, /*End of Scope*/
   27553             : /* 52698*/    /*Scope*/ 2|128,1/*130*/, /*->52830*/
   27554             : /* 52700*/      OPC_CheckChild0Type, MVT::v4f32,
   27555             : /* 52702*/      OPC_RecordChild1, // #1 = $rhs
   27556             : /* 52703*/      OPC_MoveChild2,
   27557             : /* 52704*/      OPC_Scope, 15, /*->52721*/ // 8 children in Scope
   27558             : /* 52706*/        OPC_CheckCondCode, ISD::SETOEQ,
   27559             : /* 52708*/        OPC_MoveParent,
   27560             : /* 52709*/        OPC_CheckType, MVT::v4i32,
   27561             : /* 52711*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27562             : /* 52713*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v4f32), 0,
   27563             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27564             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
   27565             :                   // Dst: (EQ_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   27566             : /* 52721*/      /*Scope*/ 15, /*->52737*/
   27567             : /* 52722*/        OPC_CheckCondCode, ISD::SETUNE,
   27568             : /* 52724*/        OPC_MoveParent,
   27569             : /* 52725*/        OPC_CheckType, MVT::v4i32,
   27570             : /* 52727*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27571             : /* 52729*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v4f32), 0,
   27572             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27573             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
   27574             :                   // Dst: (NE_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   27575             : /* 52737*/      /*Scope*/ 15, /*->52753*/
   27576             : /* 52738*/        OPC_CheckCondCode, ISD::SETOLT,
   27577             : /* 52740*/        OPC_MoveParent,
   27578             : /* 52741*/        OPC_CheckType, MVT::v4i32,
   27579             : /* 52743*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27580             : /* 52745*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_v4f32), 0,
   27581             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27582             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
   27583             :                   // Dst: (LT_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   27584             : /* 52753*/      /*Scope*/ 15, /*->52769*/
   27585             : /* 52754*/        OPC_CheckCondCode, ISD::SETOLE,
   27586             : /* 52756*/        OPC_MoveParent,
   27587             : /* 52757*/        OPC_CheckType, MVT::v4i32,
   27588             : /* 52759*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27589             : /* 52761*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_v4f32), 0,
   27590             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27591             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
   27592             :                   // Dst: (LE_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   27593             : /* 52769*/      /*Scope*/ 15, /*->52785*/
   27594             : /* 52770*/        OPC_CheckCondCode, ISD::SETOGT,
   27595             : /* 52772*/        OPC_MoveParent,
   27596             : /* 52773*/        OPC_CheckType, MVT::v4i32,
   27597             : /* 52775*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27598             : /* 52777*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_v4f32), 0,
   27599             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27600             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
   27601             :                   // Dst: (GT_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   27602             : /* 52785*/      /*Scope*/ 15, /*->52801*/
   27603             : /* 52786*/        OPC_CheckCondCode, ISD::SETOGE,
   27604             : /* 52788*/        OPC_MoveParent,
   27605             : /* 52789*/        OPC_CheckType, MVT::v4i32,
   27606             : /* 52791*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27607             : /* 52793*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_v4f32), 0,
   27608             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27609             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
   27610             :                   // Dst: (GE_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   27611             : /* 52801*/      /*Scope*/ 13, /*->52815*/
   27612             : /* 52802*/        OPC_CheckCondCode, ISD::SETEQ,
   27613             : /* 52804*/        OPC_MoveParent,
   27614             : /* 52805*/        OPC_CheckType, MVT::v4i32,
   27615             : /* 52807*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v4f32), 0,
   27616             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27617             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
   27618             :                   // Dst: (EQ_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   27619             : /* 52815*/      /*Scope*/ 13, /*->52829*/
   27620             : /* 52816*/        OPC_CheckCondCode, ISD::SETNE,
   27621             : /* 52818*/        OPC_MoveParent,
   27622             : /* 52819*/        OPC_CheckType, MVT::v4i32,
   27623             : /* 52821*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v4f32), 0,
   27624             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   27625             :                   // Src: (setcc:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
   27626             :                   // Dst: (NE_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   27627             : /* 52829*/      0, /*End of Scope*/
   27628             : /* 52830*/    /*Scope*/ 2|128,1/*130*/, /*->52962*/
   27629             : /* 52832*/      OPC_CheckChild0Type, MVT::v2f64,
   27630             : /* 52834*/      OPC_RecordChild1, // #1 = $rhs
   27631             : /* 52835*/      OPC_MoveChild2,
   27632             : /* 52836*/      OPC_Scope, 15, /*->52853*/ // 8 children in Scope
   27633             : /* 52838*/        OPC_CheckCondCode, ISD::SETOEQ,
   27634             : /* 52840*/        OPC_MoveParent,
   27635             : /* 52841*/        OPC_CheckType, MVT::v2i64,
   27636             : /* 52843*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27637             : /* 52845*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v2f64), 0,
   27638             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   27639             :                   // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOEQ:{ *:[Other] }) - Complexity = 3
   27640             :                   // Dst: (EQ_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   27641             : /* 52853*/      /*Scope*/ 15, /*->52869*/
   27642             : /* 52854*/        OPC_CheckCondCode, ISD::SETUNE,
   27643             : /* 52856*/        OPC_MoveParent,
   27644             : /* 52857*/        OPC_CheckType, MVT::v2i64,
   27645             : /* 52859*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27646             : /* 52861*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v2f64), 0,
   27647             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   27648             :                   // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETUNE:{ *:[Other] }) - Complexity = 3
   27649             :                   // Dst: (NE_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   27650             : /* 52869*/      /*Scope*/ 15, /*->52885*/
   27651             : /* 52870*/        OPC_CheckCondCode, ISD::SETOLT,
   27652             : /* 52872*/        OPC_MoveParent,
   27653             : /* 52873*/        OPC_CheckType, MVT::v2i64,
   27654             : /* 52875*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27655             : /* 52877*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LT_v2f64), 0,
   27656             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   27657             :                   // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOLT:{ *:[Other] }) - Complexity = 3
   27658             :                   // Dst: (LT_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   27659             : /* 52885*/      /*Scope*/ 15, /*->52901*/
   27660             : /* 52886*/        OPC_CheckCondCode, ISD::SETOLE,
   27661             : /* 52888*/        OPC_MoveParent,
   27662             : /* 52889*/        OPC_CheckType, MVT::v2i64,
   27663             : /* 52891*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27664             : /* 52893*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::LE_v2f64), 0,
   27665             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   27666             :                   // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOLE:{ *:[Other] }) - Complexity = 3
   27667             :                   // Dst: (LE_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   27668             : /* 52901*/      /*Scope*/ 15, /*->52917*/
   27669             : /* 52902*/        OPC_CheckCondCode, ISD::SETOGT,
   27670             : /* 52904*/        OPC_MoveParent,
   27671             : /* 52905*/        OPC_CheckType, MVT::v2i64,
   27672             : /* 52907*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27673             : /* 52909*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GT_v2f64), 0,
   27674             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   27675             :                   // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOGT:{ *:[Other] }) - Complexity = 3
   27676             :                   // Dst: (GT_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   27677             : /* 52917*/      /*Scope*/ 15, /*->52933*/
   27678             : /* 52918*/        OPC_CheckCondCode, ISD::SETOGE,
   27679             : /* 52920*/        OPC_MoveParent,
   27680             : /* 52921*/        OPC_CheckType, MVT::v2i64,
   27681             : /* 52923*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27682             : /* 52925*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::GE_v2f64), 0,
   27683             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   27684             :                   // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETOGE:{ *:[Other] }) - Complexity = 3
   27685             :                   // Dst: (GE_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   27686             : /* 52933*/      /*Scope*/ 13, /*->52947*/
   27687             : /* 52934*/        OPC_CheckCondCode, ISD::SETEQ,
   27688             : /* 52936*/        OPC_MoveParent,
   27689             : /* 52937*/        OPC_CheckType, MVT::v2i64,
   27690             : /* 52939*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EQ_v2f64), 0,
   27691             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   27692             :                   // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETEQ:{ *:[Other] }) - Complexity = 3
   27693             :                   // Dst: (EQ_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   27694             : /* 52947*/      /*Scope*/ 13, /*->52961*/
   27695             : /* 52948*/        OPC_CheckCondCode, ISD::SETNE,
   27696             : /* 52950*/        OPC_MoveParent,
   27697             : /* 52951*/        OPC_CheckType, MVT::v2i64,
   27698             : /* 52953*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NE_v2f64), 0,
   27699             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   27700             :                   // Src: (setcc:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs, SETNE:{ *:[Other] }) - Complexity = 3
   27701             :                   // Dst: (NE_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   27702             : /* 52961*/      0, /*End of Scope*/
   27703             : /* 52962*/    0, /*End of Scope*/
   27704             : /* 52963*/  /*SwitchOpcode*/ 52|128,4/*564*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->53531
   27705             : /* 52967*/    OPC_Scope, 76, /*->53045*/ // 9 children in Scope
   27706             : /* 52969*/      OPC_CheckChild0Integer, 69|128,42/*5445*/, 
   27707             : /* 52972*/      OPC_RecordChild1, // #0 = $src
   27708             : /* 52973*/      OPC_Scope, 22, /*->52997*/ // 4 children in Scope
   27709             : /* 52975*/        OPC_CheckChild1Type, MVT::f32,
   27710             : /* 52977*/        OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->52987
   27711             : /* 52980*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32), 0,
   27712             :                         MVT::i32, 1/*#Ops*/, 0, 
   27713             :                     // Src: (intrinsic_wo_chain:{ *:[i32] } 5445:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
   27714             :                     // Dst: (I32_TRUNC_S_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
   27715             : /* 52987*/        /*SwitchType*/ 7, MVT::i64,// ->52996
   27716             : /* 52989*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32), 0,
   27717             :                         MVT::i64, 1/*#Ops*/, 0, 
   27718             :                     // Src: (intrinsic_wo_chain:{ *:[i64] } 5445:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
   27719             :                     // Dst: (I64_TRUNC_S_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
   27720             : /* 52996*/        0, // EndSwitchType
   27721             : /* 52997*/      /*Scope*/ 22, /*->53020*/
   27722             : /* 52998*/        OPC_CheckChild1Type, MVT::f64,
   27723             : /* 53000*/        OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53010
   27724             : /* 53003*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64), 0,
   27725             :                         MVT::i32, 1/*#Ops*/, 0, 
   27726             :                     // Src: (intrinsic_wo_chain:{ *:[i32] } 5445:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
   27727             :                     // Dst: (I32_TRUNC_S_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
   27728             : /* 53010*/        /*SwitchType*/ 7, MVT::i64,// ->53019
   27729             : /* 53012*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64), 0,
   27730             :                         MVT::i64, 1/*#Ops*/, 0, 
   27731             :                     // Src: (intrinsic_wo_chain:{ *:[i64] } 5445:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
   27732             :                     // Dst: (I64_TRUNC_S_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
   27733             : /* 53019*/        0, // EndSwitchType
   27734             : /* 53020*/      /*Scope*/ 11, /*->53032*/
   27735             : /* 53021*/        OPC_CheckChild1Type, MVT::v4f32,
   27736             : /* 53023*/        OPC_CheckType, MVT::v4i32,
   27737             : /* 53025*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_sint_v4i32_v4f32), 0,
   27738             :                       MVT::v4i32, 1/*#Ops*/, 0, 
   27739             :                   // Src: (intrinsic_wo_chain:{ *:[v4i32] } 5445:{ *:[iPTR] }, V128:{ *:[v4f32] }:$src) - Complexity = 8
   27740             :                   // Dst: (fp_to_sint_v4i32_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$src)
   27741             : /* 53032*/      /*Scope*/ 11, /*->53044*/
   27742             : /* 53033*/        OPC_CheckChild1Type, MVT::v2f64,
   27743             : /* 53035*/        OPC_CheckType, MVT::v2i64,
   27744             : /* 53037*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_sint_v2i64_v2f64), 0,
   27745             :                       MVT::v2i64, 1/*#Ops*/, 0, 
   27746             :                   // Src: (intrinsic_wo_chain:{ *:[v2i64] } 5445:{ *:[iPTR] }, V128:{ *:[v2f64] }:$src) - Complexity = 8
   27747             :                   // Dst: (fp_to_sint_v2i64_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$src)
   27748             : /* 53044*/      0, /*End of Scope*/
   27749             : /* 53045*/    /*Scope*/ 76, /*->53122*/
   27750             : /* 53046*/      OPC_CheckChild0Integer, 70|128,42/*5446*/, 
   27751             : /* 53049*/      OPC_RecordChild1, // #0 = $src
   27752             : /* 53050*/      OPC_Scope, 22, /*->53074*/ // 4 children in Scope
   27753             : /* 53052*/        OPC_CheckChild1Type, MVT::f32,
   27754             : /* 53054*/        OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53064
   27755             : /* 53057*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32), 0,
   27756             :                         MVT::i32, 1/*#Ops*/, 0, 
   27757             :                     // Src: (intrinsic_wo_chain:{ *:[i32] } 5446:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
   27758             :                     // Dst: (I32_TRUNC_U_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
   27759             : /* 53064*/        /*SwitchType*/ 7, MVT::i64,// ->53073
   27760             : /* 53066*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32), 0,
   27761             :                         MVT::i64, 1/*#Ops*/, 0, 
   27762             :                     // Src: (intrinsic_wo_chain:{ *:[i64] } 5446:{ *:[iPTR] }, F32:{ *:[f32] }:$src) - Complexity = 8
   27763             :                     // Dst: (I64_TRUNC_U_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
   27764             : /* 53073*/        0, // EndSwitchType
   27765             : /* 53074*/      /*Scope*/ 22, /*->53097*/
   27766             : /* 53075*/        OPC_CheckChild1Type, MVT::f64,
   27767             : /* 53077*/        OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->53087
   27768             : /* 53080*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64), 0,
   27769             :                         MVT::i32, 1/*#Ops*/, 0, 
   27770             :                     // Src: (intrinsic_wo_chain:{ *:[i32] } 5446:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
   27771             :                     // Dst: (I32_TRUNC_U_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
   27772             : /* 53087*/        /*SwitchType*/ 7, MVT::i64,// ->53096
   27773             : /* 53089*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64), 0,
   27774             :                         MVT::i64, 1/*#Ops*/, 0, 
   27775             :                     // Src: (intrinsic_wo_chain:{ *:[i64] } 5446:{ *:[iPTR] }, F64:{ *:[f64] }:$src) - Complexity = 8
   27776             :                     // Dst: (I64_TRUNC_U_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
   27777             : /* 53096*/        0, // EndSwitchType
   27778             : /* 53097*/      /*Scope*/ 11, /*->53109*/
   27779             : /* 53098*/        OPC_CheckChild1Type, MVT::v4f32,
   27780             : /* 53100*/        OPC_CheckType, MVT::v4i32,
   27781             : /* 53102*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_uint_v4i32_v4f32), 0,
   27782             :                       MVT::v4i32, 1/*#Ops*/, 0, 
   27783             :                   // Src: (intrinsic_wo_chain:{ *:[v4i32] } 5446:{ *:[iPTR] }, V128:{ *:[v4f32] }:$src) - Complexity = 8
   27784             :                   // Dst: (fp_to_uint_v4i32_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$src)
   27785             : /* 53109*/      /*Scope*/ 11, /*->53121*/
   27786             : /* 53110*/        OPC_CheckChild1Type, MVT::v2f64,
   27787             : /* 53112*/        OPC_CheckType, MVT::v2i64,
   27788             : /* 53114*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_uint_v2i64_v2f64), 0,
   27789             :                       MVT::v2i64, 1/*#Ops*/, 0, 
   27790             :                   // Src: (intrinsic_wo_chain:{ *:[v2i64] } 5446:{ *:[iPTR] }, V128:{ *:[v2f64] }:$src) - Complexity = 8
   27791             :                   // Dst: (fp_to_uint_v2i64_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$src)
   27792             : /* 53121*/      0, /*End of Scope*/
   27793             : /* 53122*/    /*Scope*/ 54, /*->53177*/
   27794             : /* 53123*/      OPC_CheckChild0Integer, 49|128,42/*5425*/, 
   27795             : /* 53126*/      OPC_RecordChild1, // #0 = $vec
   27796             : /* 53127*/      OPC_Scope, 11, /*->53140*/ // 4 children in Scope
   27797             : /* 53129*/        OPC_CheckChild1Type, MVT::v16i8,
   27798             : /* 53131*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27799             : /* 53133*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_v16i8), 0,
   27800             :                       MVT::i32, 1/*#Ops*/, 0, 
   27801             :                   // Src: (intrinsic_wo_chain:{ *:[i32] } 5425:{ *:[iPTR] }, V128:{ *:[v16i8] }:$vec) - Complexity = 8
   27802             :                   // Dst: (ANYTRUE_v16i8:{ *:[i32] } V128:{ *:[v16i8] }:$vec)
   27803             : /* 53140*/      /*Scope*/ 11, /*->53152*/
   27804             : /* 53141*/        OPC_CheckChild1Type, MVT::v8i16,
   27805             : /* 53143*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27806             : /* 53145*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_v8i16), 0,
   27807             :                       MVT::i32, 1/*#Ops*/, 0, 
   27808             :                   // Src: (intrinsic_wo_chain:{ *:[i32] } 5425:{ *:[iPTR] }, V128:{ *:[v8i16] }:$vec) - Complexity = 8
   27809             :                   // Dst: (ANYTRUE_v8i16:{ *:[i32] } V128:{ *:[v8i16] }:$vec)
   27810             : /* 53152*/      /*Scope*/ 11, /*->53164*/
   27811             : /* 53153*/        OPC_CheckChild1Type, MVT::v4i32,
   27812             : /* 53155*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27813             : /* 53157*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_v4i32), 0,
   27814             :                       MVT::i32, 1/*#Ops*/, 0, 
   27815             :                   // Src: (intrinsic_wo_chain:{ *:[i32] } 5425:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
   27816             :                   // Dst: (ANYTRUE_v4i32:{ *:[i32] } V128:{ *:[v4i32] }:$vec)
   27817             : /* 53164*/      /*Scope*/ 11, /*->53176*/
   27818             : /* 53165*/        OPC_CheckChild1Type, MVT::v2i64,
   27819             : /* 53167*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27820             : /* 53169*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ANYTRUE_v2i64), 0,
   27821             :                       MVT::i32, 1/*#Ops*/, 0, 
   27822             :                   // Src: (intrinsic_wo_chain:{ *:[i32] } 5425:{ *:[iPTR] }, V128:{ *:[v2i64] }:$vec) - Complexity = 8
   27823             :                   // Dst: (ANYTRUE_v2i64:{ *:[i32] } V128:{ *:[v2i64] }:$vec)
   27824             : /* 53176*/      0, /*End of Scope*/
   27825             : /* 53177*/    /*Scope*/ 54, /*->53232*/
   27826             : /* 53178*/      OPC_CheckChild0Integer, 48|128,42/*5424*/, 
   27827             : /* 53181*/      OPC_RecordChild1, // #0 = $vec
   27828             : /* 53182*/      OPC_Scope, 11, /*->53195*/ // 4 children in Scope
   27829             : /* 53184*/        OPC_CheckChild1Type, MVT::v16i8,
   27830             : /* 53186*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27831             : /* 53188*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_v16i8), 0,
   27832             :                       MVT::i32, 1/*#Ops*/, 0, 
   27833             :                   // Src: (intrinsic_wo_chain:{ *:[i32] } 5424:{ *:[iPTR] }, V128:{ *:[v16i8] }:$vec) - Complexity = 8
   27834             :                   // Dst: (ALLTRUE_v16i8:{ *:[i32] } V128:{ *:[v16i8] }:$vec)
   27835             : /* 53195*/      /*Scope*/ 11, /*->53207*/
   27836             : /* 53196*/        OPC_CheckChild1Type, MVT::v8i16,
   27837             : /* 53198*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27838             : /* 53200*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_v8i16), 0,
   27839             :                       MVT::i32, 1/*#Ops*/, 0, 
   27840             :                   // Src: (intrinsic_wo_chain:{ *:[i32] } 5424:{ *:[iPTR] }, V128:{ *:[v8i16] }:$vec) - Complexity = 8
   27841             :                   // Dst: (ALLTRUE_v8i16:{ *:[i32] } V128:{ *:[v8i16] }:$vec)
   27842             : /* 53207*/      /*Scope*/ 11, /*->53219*/
   27843             : /* 53208*/        OPC_CheckChild1Type, MVT::v4i32,
   27844             : /* 53210*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27845             : /* 53212*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_v4i32), 0,
   27846             :                       MVT::i32, 1/*#Ops*/, 0, 
   27847             :                   // Src: (intrinsic_wo_chain:{ *:[i32] } 5424:{ *:[iPTR] }, V128:{ *:[v4i32] }:$vec) - Complexity = 8
   27848             :                   // Dst: (ALLTRUE_v4i32:{ *:[i32] } V128:{ *:[v4i32] }:$vec)
   27849             : /* 53219*/      /*Scope*/ 11, /*->53231*/
   27850             : /* 53220*/        OPC_CheckChild1Type, MVT::v2i64,
   27851             : /* 53222*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27852             : /* 53224*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ALLTRUE_v2i64), 0,
   27853             :                       MVT::i32, 1/*#Ops*/, 0, 
   27854             :                   // Src: (intrinsic_wo_chain:{ *:[i32] } 5424:{ *:[iPTR] }, V128:{ *:[v2i64] }:$vec) - Complexity = 8
   27855             :                   // Dst: (ALLTRUE_v2i64:{ *:[i32] } V128:{ *:[v2i64] }:$vec)
   27856             : /* 53231*/      0, /*End of Scope*/
   27857             : /* 53232*/    /*Scope*/ 40, /*->53273*/
   27858             : /* 53233*/      OPC_CheckChild0Integer, 46|128,42/*5422*/, 
   27859             : /* 53236*/      OPC_RecordChild1, // #0 = $lhs
   27860             : /* 53237*/      OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->53255
   27861             : /* 53240*/        OPC_CheckChild1Type, MVT::v16i8,
   27862             : /* 53242*/        OPC_RecordChild2, // #1 = $rhs
   27863             : /* 53243*/        OPC_CheckChild2Type, MVT::v16i8,
   27864             : /* 53245*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27865             : /* 53247*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_S_v16i8), 0,
   27866             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27867             :                   // Src: (intrinsic_wo_chain:{ *:[v16i8] } 5422:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
   27868             :                   // Dst: (ADD_SAT_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27869             : /* 53255*/      /*SwitchType*/ 15, MVT::v8i16,// ->53272
   27870             : /* 53257*/        OPC_CheckChild1Type, MVT::v8i16,
   27871             : /* 53259*/        OPC_RecordChild2, // #1 = $rhs
   27872             : /* 53260*/        OPC_CheckChild2Type, MVT::v8i16,
   27873             : /* 53262*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27874             : /* 53264*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_S_v8i16), 0,
   27875             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27876             :                   // Src: (intrinsic_wo_chain:{ *:[v8i16] } 5422:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
   27877             :                   // Dst: (ADD_SAT_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27878             : /* 53272*/      0, // EndSwitchType
   27879             : /* 53273*/    /*Scope*/ 40, /*->53314*/
   27880             : /* 53274*/      OPC_CheckChild0Integer, 47|128,42/*5423*/, 
   27881             : /* 53277*/      OPC_RecordChild1, // #0 = $lhs
   27882             : /* 53278*/      OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->53296
   27883             : /* 53281*/        OPC_CheckChild1Type, MVT::v16i8,
   27884             : /* 53283*/        OPC_RecordChild2, // #1 = $rhs
   27885             : /* 53284*/        OPC_CheckChild2Type, MVT::v16i8,
   27886             : /* 53286*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27887             : /* 53288*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_U_v16i8), 0,
   27888             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27889             :                   // Src: (intrinsic_wo_chain:{ *:[v16i8] } 5423:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
   27890             :                   // Dst: (ADD_SAT_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27891             : /* 53296*/      /*SwitchType*/ 15, MVT::v8i16,// ->53313
   27892             : /* 53298*/        OPC_CheckChild1Type, MVT::v8i16,
   27893             : /* 53300*/        OPC_RecordChild2, // #1 = $rhs
   27894             : /* 53301*/        OPC_CheckChild2Type, MVT::v8i16,
   27895             : /* 53303*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27896             : /* 53305*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_SAT_U_v8i16), 0,
   27897             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27898             :                   // Src: (intrinsic_wo_chain:{ *:[v8i16] } 5423:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
   27899             :                   // Dst: (ADD_SAT_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27900             : /* 53313*/      0, // EndSwitchType
   27901             : /* 53314*/    /*Scope*/ 40, /*->53355*/
   27902             : /* 53315*/      OPC_CheckChild0Integer, 66|128,42/*5442*/, 
   27903             : /* 53318*/      OPC_RecordChild1, // #0 = $lhs
   27904             : /* 53319*/      OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->53337
   27905             : /* 53322*/        OPC_CheckChild1Type, MVT::v16i8,
   27906             : /* 53324*/        OPC_RecordChild2, // #1 = $rhs
   27907             : /* 53325*/        OPC_CheckChild2Type, MVT::v16i8,
   27908             : /* 53327*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27909             : /* 53329*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_S_v16i8), 0,
   27910             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27911             :                   // Src: (intrinsic_wo_chain:{ *:[v16i8] } 5442:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
   27912             :                   // Dst: (SUB_SAT_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27913             : /* 53337*/      /*SwitchType*/ 15, MVT::v8i16,// ->53354
   27914             : /* 53339*/        OPC_CheckChild1Type, MVT::v8i16,
   27915             : /* 53341*/        OPC_RecordChild2, // #1 = $rhs
   27916             : /* 53342*/        OPC_CheckChild2Type, MVT::v8i16,
   27917             : /* 53344*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27918             : /* 53346*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_S_v8i16), 0,
   27919             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27920             :                   // Src: (intrinsic_wo_chain:{ *:[v8i16] } 5442:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
   27921             :                   // Dst: (SUB_SAT_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27922             : /* 53354*/      0, // EndSwitchType
   27923             : /* 53355*/    /*Scope*/ 40, /*->53396*/
   27924             : /* 53356*/      OPC_CheckChild0Integer, 67|128,42/*5443*/, 
   27925             : /* 53359*/      OPC_RecordChild1, // #0 = $lhs
   27926             : /* 53360*/      OPC_SwitchType /*2 cases */, 15, MVT::v16i8,// ->53378
   27927             : /* 53363*/        OPC_CheckChild1Type, MVT::v16i8,
   27928             : /* 53365*/        OPC_RecordChild2, // #1 = $rhs
   27929             : /* 53366*/        OPC_CheckChild2Type, MVT::v16i8,
   27930             : /* 53368*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27931             : /* 53370*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_U_v16i8), 0,
   27932             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   27933             :                   // Src: (intrinsic_wo_chain:{ *:[v16i8] } 5443:{ *:[iPTR] }, V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 8
   27934             :                   // Dst: (SUB_SAT_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   27935             : /* 53378*/      /*SwitchType*/ 15, MVT::v8i16,// ->53395
   27936             : /* 53380*/        OPC_CheckChild1Type, MVT::v8i16,
   27937             : /* 53382*/        OPC_RecordChild2, // #1 = $rhs
   27938             : /* 53383*/        OPC_CheckChild2Type, MVT::v8i16,
   27939             : /* 53385*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27940             : /* 53387*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_SAT_U_v8i16), 0,
   27941             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   27942             :                   // Src: (intrinsic_wo_chain:{ *:[v8i16] } 5443:{ *:[iPTR] }, V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 8
   27943             :                   // Dst: (SUB_SAT_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   27944             : /* 53395*/      0, // EndSwitchType
   27945             : /* 53396*/    /*Scope*/ 4|128,1/*132*/, /*->53530*/
   27946             : /* 53398*/      OPC_CheckChild0Integer, 53|128,42/*5429*/, 
   27947             : /* 53401*/      OPC_RecordChild1, // #0 = $c
   27948             : /* 53402*/      OPC_SwitchType /*6 cases */, 19, MVT::v16i8,// ->53424
   27949             : /* 53405*/        OPC_CheckChild1Type, MVT::v16i8,
   27950             : /* 53407*/        OPC_RecordChild2, // #1 = $v1
   27951             : /* 53408*/        OPC_CheckChild2Type, MVT::v16i8,
   27952             : /* 53410*/        OPC_RecordChild3, // #2 = $v2
   27953             : /* 53411*/        OPC_CheckChild3Type, MVT::v16i8,
   27954             : /* 53413*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27955             : /* 53415*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   27956             :                       MVT::v16i8, 3/*#Ops*/, 1, 2, 0, 
   27957             :                   // Src: (intrinsic_wo_chain:{ *:[v16i8] } 5429:{ *:[iPTR] }, V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2) - Complexity = 8
   27958             :                   // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   27959             : /* 53424*/      /*SwitchType*/ 19, MVT::v8i16,// ->53445
   27960             : /* 53426*/        OPC_CheckChild1Type, MVT::v8i16,
   27961             : /* 53428*/        OPC_RecordChild2, // #1 = $v1
   27962             : /* 53429*/        OPC_CheckChild2Type, MVT::v8i16,
   27963             : /* 53431*/        OPC_RecordChild3, // #2 = $v2
   27964             : /* 53432*/        OPC_CheckChild3Type, MVT::v8i16,
   27965             : /* 53434*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27966             : /* 53436*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   27967             :                       MVT::v8i16, 3/*#Ops*/, 1, 2, 0, 
   27968             :                   // Src: (intrinsic_wo_chain:{ *:[v8i16] } 5429:{ *:[iPTR] }, V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2) - Complexity = 8
   27969             :                   // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   27970             : /* 53445*/      /*SwitchType*/ 19, MVT::v4i32,// ->53466
   27971             : /* 53447*/        OPC_CheckChild1Type, MVT::v4i32,
   27972             : /* 53449*/        OPC_RecordChild2, // #1 = $v1
   27973             : /* 53450*/        OPC_CheckChild2Type, MVT::v4i32,
   27974             : /* 53452*/        OPC_RecordChild3, // #2 = $v2
   27975             : /* 53453*/        OPC_CheckChild3Type, MVT::v4i32,
   27976             : /* 53455*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27977             : /* 53457*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   27978             :                       MVT::v4i32, 3/*#Ops*/, 1, 2, 0, 
   27979             :                   // Src: (intrinsic_wo_chain:{ *:[v4i32] } 5429:{ *:[iPTR] }, V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2) - Complexity = 8
   27980             :                   // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   27981             : /* 53466*/      /*SwitchType*/ 19, MVT::v2i64,// ->53487
   27982             : /* 53468*/        OPC_CheckChild1Type, MVT::v2i64,
   27983             : /* 53470*/        OPC_RecordChild2, // #1 = $v1
   27984             : /* 53471*/        OPC_CheckChild2Type, MVT::v2i64,
   27985             : /* 53473*/        OPC_RecordChild3, // #2 = $v2
   27986             : /* 53474*/        OPC_CheckChild3Type, MVT::v2i64,
   27987             : /* 53476*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27988             : /* 53478*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   27989             :                       MVT::v2i64, 3/*#Ops*/, 1, 2, 0, 
   27990             :                   // Src: (intrinsic_wo_chain:{ *:[v2i64] } 5429:{ *:[iPTR] }, V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2) - Complexity = 8
   27991             :                   // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   27992             : /* 53487*/      /*SwitchType*/ 19, MVT::v4f32,// ->53508
   27993             : /* 53489*/        OPC_CheckChild1Type, MVT::v4f32,
   27994             : /* 53491*/        OPC_RecordChild2, // #1 = $v1
   27995             : /* 53492*/        OPC_CheckChild2Type, MVT::v4f32,
   27996             : /* 53494*/        OPC_RecordChild3, // #2 = $v2
   27997             : /* 53495*/        OPC_CheckChild3Type, MVT::v4f32,
   27998             : /* 53497*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   27999             : /* 53499*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4f32), 0,
   28000             :                       MVT::v4f32, 3/*#Ops*/, 1, 2, 0, 
   28001             :                   // Src: (intrinsic_wo_chain:{ *:[v4f32] } 5429:{ *:[iPTR] }, V128:{ *:[v4f32] }:$c, V128:{ *:[v4f32] }:$v1, V128:{ *:[v4f32] }:$v2) - Complexity = 8
   28002             :                   // Dst: (BITSELECT_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$v1, V128:{ *:[v4f32] }:$v2, V128:{ *:[v4f32] }:$c)
   28003             : /* 53508*/      /*SwitchType*/ 19, MVT::v2f64,// ->53529
   28004             : /* 53510*/        OPC_CheckChild1Type, MVT::v2f64,
   28005             : /* 53512*/        OPC_RecordChild2, // #1 = $v1
   28006             : /* 53513*/        OPC_CheckChild2Type, MVT::v2f64,
   28007             : /* 53515*/        OPC_RecordChild3, // #2 = $v2
   28008             : /* 53516*/        OPC_CheckChild3Type, MVT::v2f64,
   28009             : /* 53518*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28010             : /* 53520*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2f64), 0,
   28011             :                       MVT::v2f64, 3/*#Ops*/, 1, 2, 0, 
   28012             :                   // Src: (intrinsic_wo_chain:{ *:[v2f64] } 5429:{ *:[iPTR] }, V128:{ *:[v2f64] }:$c, V128:{ *:[v2f64] }:$v1, V128:{ *:[v2f64] }:$v2) - Complexity = 8
   28013             :                   // Dst: (BITSELECT_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$v1, V128:{ *:[v2f64] }:$v2, V128:{ *:[v2f64] }:$c)
   28014             : /* 53529*/      0, // EndSwitchType
   28015             : /* 53530*/    0, /*End of Scope*/
   28016             : /* 53531*/  /*SwitchOpcode*/ 33|128,1/*161*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->53696
   28017             : /* 53535*/    OPC_RecordChild0, // #0 = $vec
   28018             : /* 53536*/    OPC_Scope, 26, /*->53564*/ // 6 children in Scope
   28019             : /* 53538*/      OPC_CheckChild0Type, MVT::v4i32,
   28020             : /* 53540*/      OPC_RecordChild1, // #1 = $idx
   28021             : /* 53541*/      OPC_MoveChild1,
   28022             : /* 53542*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   28023             : /* 53545*/      OPC_CheckPredicate, 23, // Predicate_LaneIdx4
   28024             : /* 53547*/      OPC_CheckType, MVT::i32,
   28025             : /* 53549*/      OPC_MoveParent,
   28026             : /* 53550*/      OPC_CheckType, MVT::i32,
   28027             : /* 53552*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28028             : /* 53554*/      OPC_EmitConvertToTarget, 1,
   28029             : /* 53556*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v4i32), 0,
   28030             :                     MVT::i32, 2/*#Ops*/, 0, 2, 
   28031             :                 // Src: (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
   28032             :                 // Dst: (EXTRACT_LANE_v4i32:{ *:[i32] } V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] }):$idx)
   28033             : /* 53564*/    /*Scope*/ 26, /*->53591*/
   28034             : /* 53565*/      OPC_CheckChild0Type, MVT::v2i64,
   28035             : /* 53567*/      OPC_RecordChild1, // #1 = $idx
   28036             : /* 53568*/      OPC_MoveChild1,
   28037             : /* 53569*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   28038             : /* 53572*/      OPC_CheckPredicate, 24, // Predicate_LaneIdx2
   28039             : /* 53574*/      OPC_CheckType, MVT::i32,
   28040             : /* 53576*/      OPC_MoveParent,
   28041             : /* 53577*/      OPC_CheckType, MVT::i64,
   28042             : /* 53579*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28043             : /* 53581*/      OPC_EmitConvertToTarget, 1,
   28044             : /* 53583*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v2i64), 0,
   28045             :                     MVT::i64, 2/*#Ops*/, 0, 2, 
   28046             :                 // Src: (vector_extract:{ *:[i64] } V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
   28047             :                 // Dst: (EXTRACT_LANE_v2i64:{ *:[i64] } V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] }):$idx)
   28048             : /* 53591*/    /*Scope*/ 24, /*->53616*/
   28049             : /* 53592*/      OPC_CheckChild0Type, MVT::v16i8,
   28050             : /* 53594*/      OPC_RecordChild1, // #1 = $idx
   28051             : /* 53595*/      OPC_MoveChild1,
   28052             : /* 53596*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   28053             : /* 53599*/      OPC_CheckPredicate, 5, // Predicate_LaneIdx16
   28054             : /* 53601*/      OPC_CheckType, MVT::i32,
   28055             : /* 53603*/      OPC_MoveParent,
   28056             : /* 53604*/      OPC_CheckType, MVT::i32,
   28057             : /* 53606*/      OPC_EmitConvertToTarget, 1,
   28058             : /* 53608*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v16i8_u), 0,
   28059             :                     MVT::i32, 2/*#Ops*/, 0, 2, 
   28060             :                 // Src: (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx) - Complexity = 7
   28061             :                 // Dst: (EXTRACT_LANE_v16i8_u:{ *:[i32] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx)
   28062             : /* 53616*/    /*Scope*/ 24, /*->53641*/
   28063             : /* 53617*/      OPC_CheckChild0Type, MVT::v8i16,
   28064             : /* 53619*/      OPC_RecordChild1, // #1 = $idx
   28065             : /* 53620*/      OPC_MoveChild1,
   28066             : /* 53621*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   28067             : /* 53624*/      OPC_CheckPredicate, 6, // Predicate_LaneIdx8
   28068             : /* 53626*/      OPC_CheckType, MVT::i32,
   28069             : /* 53628*/      OPC_MoveParent,
   28070             : /* 53629*/      OPC_CheckType, MVT::i32,
   28071             : /* 53631*/      OPC_EmitConvertToTarget, 1,
   28072             : /* 53633*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v8i16_u), 0,
   28073             :                     MVT::i32, 2/*#Ops*/, 0, 2, 
   28074             :                 // Src: (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx) - Complexity = 7
   28075             :                 // Dst: (EXTRACT_LANE_v8i16_u:{ *:[i32] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx)
   28076             : /* 53641*/    /*Scope*/ 26, /*->53668*/
   28077             : /* 53642*/      OPC_CheckChild0Type, MVT::v4f32,
   28078             : /* 53644*/      OPC_RecordChild1, // #1 = $idx
   28079             : /* 53645*/      OPC_MoveChild1,
   28080             : /* 53646*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   28081             : /* 53649*/      OPC_CheckPredicate, 23, // Predicate_LaneIdx4
   28082             : /* 53651*/      OPC_CheckType, MVT::i32,
   28083             : /* 53653*/      OPC_MoveParent,
   28084             : /* 53654*/      OPC_CheckType, MVT::f32,
   28085             : /* 53656*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28086             : /* 53658*/      OPC_EmitConvertToTarget, 1,
   28087             : /* 53660*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v4f32), 0,
   28088             :                     MVT::f32, 2/*#Ops*/, 0, 2, 
   28089             :                 // Src: (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
   28090             :                 // Dst: (EXTRACT_LANE_v4f32:{ *:[f32] } V128:{ *:[v4f32] }:$vec, (imm:{ *:[i32] }):$idx)
   28091             : /* 53668*/    /*Scope*/ 26, /*->53695*/
   28092             : /* 53669*/      OPC_CheckChild0Type, MVT::v2f64,
   28093             : /* 53671*/      OPC_RecordChild1, // #1 = $idx
   28094             : /* 53672*/      OPC_MoveChild1,
   28095             : /* 53673*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   28096             : /* 53676*/      OPC_CheckPredicate, 24, // Predicate_LaneIdx2
   28097             : /* 53678*/      OPC_CheckType, MVT::i32,
   28098             : /* 53680*/      OPC_MoveParent,
   28099             : /* 53681*/      OPC_CheckType, MVT::f64,
   28100             : /* 53683*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28101             : /* 53685*/      OPC_EmitConvertToTarget, 1,
   28102             : /* 53687*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::EXTRACT_LANE_v2f64), 0,
   28103             :                     MVT::f64, 2/*#Ops*/, 0, 2, 
   28104             :                 // Src: (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$vec, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
   28105             :                 // Dst: (EXTRACT_LANE_v2f64:{ *:[f64] } V128:{ *:[v2f64] }:$vec, (imm:{ *:[i32] }):$idx)
   28106             : /* 53695*/    0, /*End of Scope*/
   28107             : /* 53696*/  /*SwitchOpcode*/ 107, TARGET_VAL(WebAssemblyISD::ARGUMENT),// ->53806
   28108             : /* 53699*/    OPC_RecordChild0, // #0 = $argno
   28109             : /* 53700*/    OPC_MoveChild0,
   28110             : /* 53701*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   28111             : /* 53704*/    OPC_MoveParent,
   28112             : /* 53705*/    OPC_SwitchType /*11 cases */, 7, MVT::i32,// ->53715
   28113             : /* 53708*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_i32), 0,
   28114             :                     MVT::i32, 1/*#Ops*/, 0, 
   28115             :                 // Src: (WebAssemblyargument:{ *:[i32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
   28116             :                 // Dst: (ARGUMENT_i32:{ *:[i32] } (timm:{ *:[i32] }):$argno)
   28117             : /* 53715*/    /*SwitchType*/ 7, MVT::i64,// ->53724
   28118             : /* 53717*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_i64), 0,
   28119             :                     MVT::i64, 1/*#Ops*/, 0, 
   28120             :                 // Src: (WebAssemblyargument:{ *:[i64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
   28121             :                 // Dst: (ARGUMENT_i64:{ *:[i64] } (timm:{ *:[i32] }):$argno)
   28122             : /* 53724*/    /*SwitchType*/ 7, MVT::ExceptRef,// ->53733
   28123             : /* 53726*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_ExceptRef), 0,
   28124             :                     MVT::ExceptRef, 1/*#Ops*/, 0, 
   28125             :                 // Src: (WebAssemblyargument:{ *:[ExceptRef] } (timm:{ *:[i32] }):$argno) - Complexity = 6
   28126             :                 // Dst: (ARGUMENT_ExceptRef:{ *:[ExceptRef] } (timm:{ *:[i32] }):$argno)
   28127             : /* 53733*/    /*SwitchType*/ 7, MVT::f32,// ->53742
   28128             : /* 53735*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_f32), 0,
   28129             :                     MVT::f32, 1/*#Ops*/, 0, 
   28130             :                 // Src: (WebAssemblyargument:{ *:[f32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
   28131             :                 // Dst: (ARGUMENT_f32:{ *:[f32] } (timm:{ *:[i32] }):$argno)
   28132             : /* 53742*/    /*SwitchType*/ 7, MVT::f64,// ->53751
   28133             : /* 53744*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_f64), 0,
   28134             :                     MVT::f64, 1/*#Ops*/, 0, 
   28135             :                 // Src: (WebAssemblyargument:{ *:[f64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
   28136             :                 // Dst: (ARGUMENT_f64:{ *:[f64] } (timm:{ *:[i32] }):$argno)
   28137             : /* 53751*/    /*SwitchType*/ 7, MVT::v16i8,// ->53760
   28138             : /* 53753*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v16i8), 0,
   28139             :                     MVT::v16i8, 1/*#Ops*/, 0, 
   28140             :                 // Src: (WebAssemblyargument:{ *:[v16i8] } (timm:{ *:[i32] }):$argno) - Complexity = 6
   28141             :                 // Dst: (ARGUMENT_v16i8:{ *:[v16i8] } (timm:{ *:[i32] }):$argno)
   28142             : /* 53760*/    /*SwitchType*/ 7, MVT::v8i16,// ->53769
   28143             : /* 53762*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v8i16), 0,
   28144             :                     MVT::v8i16, 1/*#Ops*/, 0, 
   28145             :                 // Src: (WebAssemblyargument:{ *:[v8i16] } (timm:{ *:[i32] }):$argno) - Complexity = 6
   28146             :                 // Dst: (ARGUMENT_v8i16:{ *:[v8i16] } (timm:{ *:[i32] }):$argno)
   28147             : /* 53769*/    /*SwitchType*/ 7, MVT::v4i32,// ->53778
   28148             : /* 53771*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v4i32), 0,
   28149             :                     MVT::v4i32, 1/*#Ops*/, 0, 
   28150             :                 // Src: (WebAssemblyargument:{ *:[v4i32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
   28151             :                 // Dst: (ARGUMENT_v4i32:{ *:[v4i32] } (timm:{ *:[i32] }):$argno)
   28152             : /* 53778*/    /*SwitchType*/ 7, MVT::v2i64,// ->53787
   28153             : /* 53780*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v2i64), 0,
   28154             :                     MVT::v2i64, 1/*#Ops*/, 0, 
   28155             :                 // Src: (WebAssemblyargument:{ *:[v2i64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
   28156             :                 // Dst: (ARGUMENT_v2i64:{ *:[v2i64] } (timm:{ *:[i32] }):$argno)
   28157             : /* 53787*/    /*SwitchType*/ 7, MVT::v4f32,// ->53796
   28158             : /* 53789*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v4f32), 0,
   28159             :                     MVT::v4f32, 1/*#Ops*/, 0, 
   28160             :                 // Src: (WebAssemblyargument:{ *:[v4f32] } (timm:{ *:[i32] }):$argno) - Complexity = 6
   28161             :                 // Dst: (ARGUMENT_v4f32:{ *:[v4f32] } (timm:{ *:[i32] }):$argno)
   28162             : /* 53796*/    /*SwitchType*/ 7, MVT::v2f64,// ->53805
   28163             : /* 53798*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ARGUMENT_v2f64), 0,
   28164             :                     MVT::v2f64, 1/*#Ops*/, 0, 
   28165             :                 // Src: (WebAssemblyargument:{ *:[v2f64] } (timm:{ *:[i32] }):$argno) - Complexity = 6
   28166             :                 // Dst: (ARGUMENT_v2f64:{ *:[v2f64] } (timm:{ *:[i32] }):$argno)
   28167             : /* 53805*/    0, // EndSwitchType
   28168             : /* 53806*/  /*SwitchOpcode*/ 30, TARGET_VAL(WebAssemblyISD::Wrapper),// ->53839
   28169             : /* 53809*/    OPC_RecordChild0, // #0 = $addr
   28170             : /* 53810*/    OPC_MoveChild0,
   28171             : /* 53811*/    OPC_SwitchOpcode /*2 cases */, 10, TARGET_VAL(ISD::TargetGlobalAddress),// ->53825
   28172             : /* 53815*/      OPC_MoveParent,
   28173             : /* 53816*/      OPC_CheckType, MVT::i32,
   28174             : /* 53818*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   28175             :                     MVT::i32, 1/*#Ops*/, 0, 
   28176             :                 // Src: (WebAssemblywrapper:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$addr) - Complexity = 6
   28177             :                 // Dst: (CONST_I32:{ *:[i32] } (tglobaladdr:{ *:[i32] }):$addr)
   28178             : /* 53825*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetExternalSymbol),// ->53838
   28179             : /* 53828*/      OPC_MoveParent,
   28180             : /* 53829*/      OPC_CheckType, MVT::i32,
   28181             : /* 53831*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   28182             :                     MVT::i32, 1/*#Ops*/, 0, 
   28183             :                 // Src: (WebAssemblywrapper:{ *:[i32] } (texternalsym:{ *:[i32] }):$addr) - Complexity = 6
   28184             :                 // Dst: (CONST_I32:{ *:[i32] } (texternalsym:{ *:[i32] }):$addr)
   28185             : /* 53838*/    0, // EndSwitchOpcode
   28186             : /* 53839*/  /*SwitchOpcode*/ 25, TARGET_VAL(ISD::Constant),// ->53867
   28187             : /* 53842*/    OPC_RecordNode, // #0 = $imm
   28188             : /* 53843*/    OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->53855
   28189             : /* 53846*/      OPC_EmitConvertToTarget, 0,
   28190             : /* 53848*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I32), 0,
   28191             :                     MVT::i32, 1/*#Ops*/, 1, 
   28192             :                 // Src: (imm:{ *:[i32] }):$imm - Complexity = 3
   28193             :                 // Dst: (CONST_I32:{ *:[i32] } (imm:{ *:[i32] }):$imm)
   28194             : /* 53855*/    /*SwitchType*/ 9, MVT::i64,// ->53866
   28195             : /* 53857*/      OPC_EmitConvertToTarget, 0,
   28196             : /* 53859*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_I64), 0,
   28197             :                     MVT::i64, 1/*#Ops*/, 1, 
   28198             :                 // Src: (imm:{ *:[i64] }):$imm - Complexity = 3
   28199             :                 // Dst: (CONST_I64:{ *:[i64] } (imm:{ *:[i64] }):$imm)
   28200             : /* 53866*/    0, // EndSwitchType
   28201             : /* 53867*/  /*SwitchOpcode*/ 14, TARGET_VAL(ISD::BR),// ->53884
   28202             : /* 53870*/    OPC_RecordNode, // #0 = 'br' chained node
   28203             : /* 53871*/    OPC_RecordChild1, // #1 = $dst
   28204             : /* 53872*/    OPC_MoveChild1,
   28205             : /* 53873*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   28206             : /* 53876*/    OPC_MoveParent,
   28207             : /* 53877*/    OPC_EmitMergeInputChains1_0,
   28208             : /* 53878*/    OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR), 0|OPFL_Chain,
   28209             :                   1/*#Ops*/, 1, 
   28210             :               // Src: (br (bb:{ *:[Other] }):$dst) - Complexity = 3
   28211             :               // Dst: (BR (bb:{ *:[Other] }):$dst)
   28212             : /* 53884*/  /*SwitchOpcode*/ 24, TARGET_VAL(WebAssemblyISD::BR_TABLE),// ->53911
   28213             : /* 53887*/    OPC_RecordNode, // #0 = 'WebAssemblybr_table' chained node
   28214             : /* 53888*/    OPC_RecordChild1, // #1 = $index
   28215             : /* 53889*/    OPC_Scope, 9, /*->53900*/ // 2 children in Scope
   28216             : /* 53891*/      OPC_CheckChild1Type, MVT::i32,
   28217             : /* 53893*/      OPC_EmitMergeInputChains1_0,
   28218             : /* 53894*/      OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I32), 0|OPFL_Chain|OPFL_Variadic1,
   28219             :                     1/*#Ops*/, 1, 
   28220             :                 // Src: (WebAssemblybr_table I32:{ *:[i32] }:$index) - Complexity = 3
   28221             :                 // Dst: (BR_TABLE_I32 I32:{ *:[i32] }:$index)
   28222             : /* 53900*/    /*Scope*/ 9, /*->53910*/
   28223             : /* 53901*/      OPC_CheckChild1Type, MVT::i64,
   28224             : /* 53903*/      OPC_EmitMergeInputChains1_0,
   28225             : /* 53904*/      OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::BR_TABLE_I64), 0|OPFL_Chain|OPFL_Variadic1,
   28226             :                     1/*#Ops*/, 1, 
   28227             :                 // Src: (WebAssemblybr_table I64:{ *:[i64] }:$index) - Complexity = 3
   28228             :                 // Dst: (BR_TABLE_I64 I64:{ *:[i64] }:$index)
   28229             : /* 53910*/    0, /*End of Scope*/
   28230             : /* 53911*/  /*SwitchOpcode*/ 8|128,1/*136*/, TARGET_VAL(WebAssemblyISD::RETURN),// ->54051
   28231             : /* 53915*/    OPC_RecordNode, // #0 = 'WebAssemblyreturn' chained node
   28232             : /* 53916*/    OPC_Scope, 125, /*->54043*/ // 2 children in Scope
   28233             : /* 53918*/      OPC_RecordChild1, // #1 = $val
   28234             : /* 53919*/      OPC_Scope, 9, /*->53930*/ // 11 children in Scope
   28235             : /* 53921*/        OPC_CheckChild1Type, MVT::i32,
   28236             : /* 53923*/        OPC_EmitMergeInputChains1_0,
   28237             : /* 53924*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_I32), 0|OPFL_Chain,
   28238             :                       1/*#Ops*/, 1, 
   28239             :                   // Src: (WebAssemblyreturn I32:{ *:[i32] }:$val) - Complexity = 3
   28240             :                   // Dst: (RETURN_I32 I32:{ *:[i32] }:$val)
   28241             : /* 53930*/      /*Scope*/ 9, /*->53940*/
   28242             : /* 53931*/        OPC_CheckChild1Type, MVT::i64,
   28243             : /* 53933*/        OPC_EmitMergeInputChains1_0,
   28244             : /* 53934*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_I64), 0|OPFL_Chain,
   28245             :                       1/*#Ops*/, 1, 
   28246             :                   // Src: (WebAssemblyreturn I64:{ *:[i64] }:$val) - Complexity = 3
   28247             :                   // Dst: (RETURN_I64 I64:{ *:[i64] }:$val)
   28248             : /* 53940*/      /*Scope*/ 9, /*->53950*/
   28249             : /* 53941*/        OPC_CheckChild1Type, MVT::f32,
   28250             : /* 53943*/        OPC_EmitMergeInputChains1_0,
   28251             : /* 53944*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_F32), 0|OPFL_Chain,
   28252             :                       1/*#Ops*/, 1, 
   28253             :                   // Src: (WebAssemblyreturn F32:{ *:[f32] }:$val) - Complexity = 3
   28254             :                   // Dst: (RETURN_F32 F32:{ *:[f32] }:$val)
   28255             : /* 53950*/      /*Scope*/ 9, /*->53960*/
   28256             : /* 53951*/        OPC_CheckChild1Type, MVT::f64,
   28257             : /* 53953*/        OPC_EmitMergeInputChains1_0,
   28258             : /* 53954*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_F64), 0|OPFL_Chain,
   28259             :                       1/*#Ops*/, 1, 
   28260             :                   // Src: (WebAssemblyreturn F64:{ *:[f64] }:$val) - Complexity = 3
   28261             :                   // Dst: (RETURN_F64 F64:{ *:[f64] }:$val)
   28262             : /* 53960*/      /*Scope*/ 9, /*->53970*/
   28263             : /* 53961*/        OPC_CheckChild1Type, MVT::ExceptRef,
   28264             : /* 53963*/        OPC_EmitMergeInputChains1_0,
   28265             : /* 53964*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_EXCEPT_REF), 0|OPFL_Chain,
   28266             :                       1/*#Ops*/, 1, 
   28267             :                   // Src: (WebAssemblyreturn EXCEPT_REF:{ *:[ExceptRef] }:$val) - Complexity = 3
   28268             :                   // Dst: (RETURN_EXCEPT_REF EXCEPT_REF:{ *:[ExceptRef] }:$val)
   28269             : /* 53970*/      /*Scope*/ 11, /*->53982*/
   28270             : /* 53971*/        OPC_CheckChild1Type, MVT::v16i8,
   28271             : /* 53973*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28272             : /* 53975*/        OPC_EmitMergeInputChains1_0,
   28273             : /* 53976*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v16i8), 0|OPFL_Chain,
   28274             :                       1/*#Ops*/, 1, 
   28275             :                   // Src: (WebAssemblyreturn V128:{ *:[v16i8] }:$val) - Complexity = 3
   28276             :                   // Dst: (RETURN_v16i8 V128:{ *:[v16i8] }:$val)
   28277             : /* 53982*/      /*Scope*/ 11, /*->53994*/
   28278             : /* 53983*/        OPC_CheckChild1Type, MVT::v8i16,
   28279             : /* 53985*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28280             : /* 53987*/        OPC_EmitMergeInputChains1_0,
   28281             : /* 53988*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v8i16), 0|OPFL_Chain,
   28282             :                       1/*#Ops*/, 1, 
   28283             :                   // Src: (WebAssemblyreturn V128:{ *:[v8i16] }:$val) - Complexity = 3
   28284             :                   // Dst: (RETURN_v8i16 V128:{ *:[v8i16] }:$val)
   28285             : /* 53994*/      /*Scope*/ 11, /*->54006*/
   28286             : /* 53995*/        OPC_CheckChild1Type, MVT::v4i32,
   28287             : /* 53997*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28288             : /* 53999*/        OPC_EmitMergeInputChains1_0,
   28289             : /* 54000*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v4i32), 0|OPFL_Chain,
   28290             :                       1/*#Ops*/, 1, 
   28291             :                   // Src: (WebAssemblyreturn V128:{ *:[v4i32] }:$val) - Complexity = 3
   28292             :                   // Dst: (RETURN_v4i32 V128:{ *:[v4i32] }:$val)
   28293             : /* 54006*/      /*Scope*/ 11, /*->54018*/
   28294             : /* 54007*/        OPC_CheckChild1Type, MVT::v2i64,
   28295             : /* 54009*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28296             : /* 54011*/        OPC_EmitMergeInputChains1_0,
   28297             : /* 54012*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v2i64), 0|OPFL_Chain,
   28298             :                       1/*#Ops*/, 1, 
   28299             :                   // Src: (WebAssemblyreturn V128:{ *:[v2i64] }:$val) - Complexity = 3
   28300             :                   // Dst: (RETURN_v2i64 V128:{ *:[v2i64] }:$val)
   28301             : /* 54018*/      /*Scope*/ 11, /*->54030*/
   28302             : /* 54019*/        OPC_CheckChild1Type, MVT::v4f32,
   28303             : /* 54021*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28304             : /* 54023*/        OPC_EmitMergeInputChains1_0,
   28305             : /* 54024*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v4f32), 0|OPFL_Chain,
   28306             :                       1/*#Ops*/, 1, 
   28307             :                   // Src: (WebAssemblyreturn V128:{ *:[v4f32] }:$val) - Complexity = 3
   28308             :                   // Dst: (RETURN_v4f32 V128:{ *:[v4f32] }:$val)
   28309             : /* 54030*/      /*Scope*/ 11, /*->54042*/
   28310             : /* 54031*/        OPC_CheckChild1Type, MVT::v2f64,
   28311             : /* 54033*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28312             : /* 54035*/        OPC_EmitMergeInputChains1_0,
   28313             : /* 54036*/        OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_v2f64), 0|OPFL_Chain,
   28314             :                       1/*#Ops*/, 1, 
   28315             :                   // Src: (WebAssemblyreturn V128:{ *:[v2f64] }:$val) - Complexity = 3
   28316             :                   // Dst: (RETURN_v2f64 V128:{ *:[v2f64] }:$val)
   28317             : /* 54042*/      0, /*End of Scope*/
   28318             : /* 54043*/    /*Scope*/ 6, /*->54050*/
   28319             : /* 54044*/      OPC_EmitMergeInputChains1_0,
   28320             : /* 54045*/      OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::RETURN_VOID), 0|OPFL_Chain,
   28321             :                     0/*#Ops*/, 
   28322             :                 // Src: (WebAssemblyreturn) - Complexity = 3
   28323             :                 // Dst: (RETURN_VOID)
   28324             : /* 54050*/    0, /*End of Scope*/
   28325             : /* 54051*/  /*SwitchOpcode*/ 7, TARGET_VAL(ISD::TRAP),// ->54061
   28326             : /* 54054*/    OPC_RecordNode, // #0 = 'trap' chained node
   28327             : /* 54055*/    OPC_EmitMergeInputChains1_0,
   28328             : /* 54056*/    OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::UNREACHABLE), 0|OPFL_Chain,
   28329             :                   0/*#Ops*/, 
   28330             :               // Src: (trap) - Complexity = 3
   28331             :               // Dst: (UNREACHABLE)
   28332             : /* 54061*/  /*SwitchOpcode*/ 9, TARGET_VAL(ISD::CLEANUPRET),// ->54073
   28333             : /* 54064*/    OPC_RecordNode, // #0 = 'cleanupret' chained node
   28334             : /* 54065*/    OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
   28335             : /* 54067*/    OPC_EmitMergeInputChains1_0,
   28336             : /* 54068*/    OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CLEANUPRET), 0|OPFL_Chain,
   28337             :                   0/*#Ops*/, 
   28338             :               // Src: (cleanupret) - Complexity = 3
   28339             :               // Dst: (CLEANUPRET)
   28340             : /* 54073*/  /*SwitchOpcode*/ 23, TARGET_VAL(ISD::CATCHRET),// ->54099
   28341             : /* 54076*/    OPC_RecordNode, // #0 = 'catchret' chained node
   28342             : /* 54077*/    OPC_RecordChild1, // #1 = $dst
   28343             : /* 54078*/    OPC_MoveChild1,
   28344             : /* 54079*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   28345             : /* 54082*/    OPC_MoveParent,
   28346             : /* 54083*/    OPC_RecordChild2, // #2 = $from
   28347             : /* 54084*/    OPC_MoveChild2,
   28348             : /* 54085*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   28349             : /* 54088*/    OPC_MoveParent,
   28350             : /* 54089*/    OPC_CheckPatternPredicate, 3, // (Subtarget->hasExceptionHandling())
   28351             : /* 54091*/    OPC_EmitMergeInputChains1_0,
   28352             : /* 54092*/    OPC_MorphNodeTo0, TARGET_VAL(WebAssembly::CATCHRET), 0|OPFL_Chain,
   28353             :                   2/*#Ops*/, 1, 2, 
   28354             :               // Src: (catchret (bb:{ *:[Other] }):$dst, (bb:{ *:[Other] }):$from) - Complexity = 3
   28355             :               // Dst: (CATCHRET (bb:{ *:[Other] }):$dst, (bb:{ *:[Other] }):$from)
   28356             : /* 54099*/  /*SwitchOpcode*/ 72, TARGET_VAL(ISD::ADD),// ->54174
   28357             : /* 54102*/    OPC_RecordChild0, // #0 = $lhs
   28358             : /* 54103*/    OPC_RecordChild1, // #1 = $rhs
   28359             : /* 54104*/    OPC_SwitchType /*6 cases */, 8, MVT::i32,// ->54115
   28360             : /* 54107*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_I32), 0,
   28361             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
   28362             :                 // Src: (add:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   28363             :                 // Dst: (ADD_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   28364             : /* 54115*/    /*SwitchType*/ 8, MVT::i64,// ->54125
   28365             : /* 54117*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_I64), 0,
   28366             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
   28367             :                 // Src: (add:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   28368             :                 // Dst: (ADD_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   28369             : /* 54125*/    /*SwitchType*/ 10, MVT::v16i8,// ->54137
   28370             : /* 54127*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28371             : /* 54129*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v16i8), 0,
   28372             :                     MVT::v16i8, 2/*#Ops*/, 0, 1, 
   28373             :                 // Src: (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
   28374             :                 // Dst: (ADD_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   28375             : /* 54137*/    /*SwitchType*/ 10, MVT::v8i16,// ->54149
   28376             : /* 54139*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28377             : /* 54141*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v8i16), 0,
   28378             :                     MVT::v8i16, 2/*#Ops*/, 0, 1, 
   28379             :                 // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
   28380             :                 // Dst: (ADD_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   28381             : /* 54149*/    /*SwitchType*/ 10, MVT::v4i32,// ->54161
   28382             : /* 54151*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28383             : /* 54153*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v4i32), 0,
   28384             :                     MVT::v4i32, 2/*#Ops*/, 0, 1, 
   28385             :                 // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
   28386             :                 // Dst: (ADD_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   28387             : /* 54161*/    /*SwitchType*/ 10, MVT::v2i64,// ->54173
   28388             : /* 54163*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28389             : /* 54165*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v2i64), 0,
   28390             :                     MVT::v2i64, 2/*#Ops*/, 0, 1, 
   28391             :                 // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
   28392             :                 // Dst: (ADD_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
   28393             : /* 54173*/    0, // EndSwitchType
   28394             : /* 54174*/  /*SwitchOpcode*/ 7|128,1/*135*/, TARGET_VAL(ISD::SUB),// ->54313
   28395             : /* 54178*/    OPC_Scope, 24, /*->54204*/ // 3 children in Scope
   28396             : /* 54180*/      OPC_RecordChild0, // #0 = $lhs
   28397             : /* 54181*/      OPC_RecordChild1, // #1 = $rhs
   28398             : /* 54182*/      OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54193
   28399             : /* 54185*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_I32), 0,
   28400             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   28401             :                   // Src: (sub:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   28402             :                   // Dst: (SUB_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   28403             : /* 54193*/      /*SwitchType*/ 8, MVT::i64,// ->54203
   28404             : /* 54195*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_I64), 0,
   28405             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
   28406             :                   // Src: (sub:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   28407             :                   // Dst: (SUB_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   28408             : /* 54203*/      0, // EndSwitchType
   28409             : /* 54204*/    /*Scope*/ 54, /*->54259*/
   28410             : /* 54205*/      OPC_MoveChild0,
   28411             : /* 54206*/      OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28412             : /* 54209*/      OPC_CheckPredicate, 25, // Predicate_immAllZerosV
   28413             : /* 54211*/      OPC_MoveParent,
   28414             : /* 54212*/      OPC_RecordChild1, // #0 = $vec
   28415             : /* 54213*/      OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->54225
   28416             : /* 54216*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28417             : /* 54218*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v16i8), 0,
   28418             :                       MVT::v16i8, 1/*#Ops*/, 0, 
   28419             :                   // Src: (sub:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllZerosV>>, V128:{ *:[v16i8] }:$vec) - Complexity = 7
   28420             :                   // Dst: (NEG_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec)
   28421             : /* 54225*/      /*SwitchType*/ 9, MVT::v8i16,// ->54236
   28422             : /* 54227*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28423             : /* 54229*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v8i16), 0,
   28424             :                       MVT::v8i16, 1/*#Ops*/, 0, 
   28425             :                   // Src: (sub:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllZerosV>>, V128:{ *:[v8i16] }:$vec) - Complexity = 7
   28426             :                   // Dst: (NEG_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec)
   28427             : /* 54236*/      /*SwitchType*/ 9, MVT::v4i32,// ->54247
   28428             : /* 54238*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28429             : /* 54240*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v4i32), 0,
   28430             :                       MVT::v4i32, 1/*#Ops*/, 0, 
   28431             :                   // Src: (sub:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllZerosV>>, V128:{ *:[v4i32] }:$vec) - Complexity = 7
   28432             :                   // Dst: (NEG_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec)
   28433             : /* 54247*/      /*SwitchType*/ 9, MVT::v2i64,// ->54258
   28434             : /* 54249*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28435             : /* 54251*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v2i64), 0,
   28436             :                       MVT::v2i64, 1/*#Ops*/, 0, 
   28437             :                   // Src: (sub:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllZerosV>>, V128:{ *:[v2i64] }:$vec) - Complexity = 7
   28438             :                   // Dst: (NEG_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec)
   28439             : /* 54258*/      0, // EndSwitchType
   28440             : /* 54259*/    /*Scope*/ 52, /*->54312*/
   28441             : /* 54260*/      OPC_RecordChild0, // #0 = $lhs
   28442             : /* 54261*/      OPC_RecordChild1, // #1 = $rhs
   28443             : /* 54262*/      OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->54275
   28444             : /* 54265*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28445             : /* 54267*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v16i8), 0,
   28446             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   28447             :                   // Src: (sub:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
   28448             :                   // Dst: (SUB_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   28449             : /* 54275*/      /*SwitchType*/ 10, MVT::v8i16,// ->54287
   28450             : /* 54277*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28451             : /* 54279*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v8i16), 0,
   28452             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   28453             :                   // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
   28454             :                   // Dst: (SUB_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   28455             : /* 54287*/      /*SwitchType*/ 10, MVT::v4i32,// ->54299
   28456             : /* 54289*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28457             : /* 54291*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v4i32), 0,
   28458             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   28459             :                   // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
   28460             :                   // Dst: (SUB_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   28461             : /* 54299*/      /*SwitchType*/ 10, MVT::v2i64,// ->54311
   28462             : /* 54301*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28463             : /* 54303*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v2i64), 0,
   28464             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   28465             :                   // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
   28466             :                   // Dst: (SUB_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
   28467             : /* 54311*/      0, // EndSwitchType
   28468             : /* 54312*/    0, /*End of Scope*/
   28469             : /* 54313*/  /*SwitchOpcode*/ 60, TARGET_VAL(ISD::MUL),// ->54376
   28470             : /* 54316*/    OPC_RecordChild0, // #0 = $lhs
   28471             : /* 54317*/    OPC_RecordChild1, // #1 = $rhs
   28472             : /* 54318*/    OPC_SwitchType /*5 cases */, 8, MVT::i32,// ->54329
   28473             : /* 54321*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_I32), 0,
   28474             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
   28475             :                 // Src: (mul:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   28476             :                 // Dst: (MUL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   28477             : /* 54329*/    /*SwitchType*/ 8, MVT::i64,// ->54339
   28478             : /* 54331*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_I64), 0,
   28479             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
   28480             :                 // Src: (mul:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   28481             :                 // Dst: (MUL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   28482             : /* 54339*/    /*SwitchType*/ 10, MVT::v16i8,// ->54351
   28483             : /* 54341*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28484             : /* 54343*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_v16i8), 0,
   28485             :                     MVT::v16i8, 2/*#Ops*/, 0, 1, 
   28486             :                 // Src: (mul:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
   28487             :                 // Dst: (MUL_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   28488             : /* 54351*/    /*SwitchType*/ 10, MVT::v8i16,// ->54363
   28489             : /* 54353*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28490             : /* 54355*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_v8i16), 0,
   28491             :                     MVT::v8i16, 2/*#Ops*/, 0, 1, 
   28492             :                 // Src: (mul:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
   28493             :                 // Dst: (MUL_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   28494             : /* 54363*/    /*SwitchType*/ 10, MVT::v4i32,// ->54375
   28495             : /* 54365*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   28496             : /* 54367*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_v4i32), 0,
   28497             :                     MVT::v4i32, 2/*#Ops*/, 0, 1, 
   28498             :                 // Src: (mul:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
   28499             :                 // Dst: (MUL_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   28500             : /* 54375*/    0, // EndSwitchType
   28501             : /* 54376*/  /*SwitchOpcode*/ 24, TARGET_VAL(ISD::SDIV),// ->54403
   28502             : /* 54379*/    OPC_RecordChild0, // #0 = $lhs
   28503             : /* 54380*/    OPC_RecordChild1, // #1 = $rhs
   28504             : /* 54381*/    OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54392
   28505             : /* 54384*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_S_I32), 0,
   28506             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
   28507             :                 // Src: (sdiv:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   28508             :                 // Dst: (DIV_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   28509             : /* 54392*/    /*SwitchType*/ 8, MVT::i64,// ->54402
   28510             : /* 54394*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_S_I64), 0,
   28511             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
   28512             :                 // Src: (sdiv:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   28513             :                 // Dst: (DIV_S_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   28514             : /* 54402*/    0, // EndSwitchType
   28515             : /* 54403*/  /*SwitchOpcode*/ 24, TARGET_VAL(ISD::UDIV),// ->54430
   28516             : /* 54406*/    OPC_RecordChild0, // #0 = $lhs
   28517             : /* 54407*/    OPC_RecordChild1, // #1 = $rhs
   28518             : /* 54408*/    OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54419
   28519             : /* 54411*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_U_I32), 0,
   28520             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
   28521             :                 // Src: (udiv:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   28522             :                 // Dst: (DIV_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   28523             : /* 54419*/    /*SwitchType*/ 8, MVT::i64,// ->54429
   28524             : /* 54421*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_U_I64), 0,
   28525             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
   28526             :                 // Src: (udiv:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   28527             :                 // Dst: (DIV_U_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   28528             : /* 54429*/    0, // EndSwitchType
   28529             : /* 54430*/  /*SwitchOpcode*/ 24, TARGET_VAL(ISD::SREM),// ->54457
   28530             : /* 54433*/    OPC_RecordChild0, // #0 = $lhs
   28531             : /* 54434*/    OPC_RecordChild1, // #1 = $rhs
   28532             : /* 54435*/    OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54446
   28533             : /* 54438*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_S_I32), 0,
   28534             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
   28535             :                 // Src: (srem:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   28536             :                 // Dst: (REM_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   28537             : /* 54446*/    /*SwitchType*/ 8, MVT::i64,// ->54456
   28538             : /* 54448*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_S_I64), 0,
   28539             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
   28540             :                 // Src: (srem:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   28541             :                 // Dst: (REM_S_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   28542             : /* 54456*/    0, // EndSwitchType
   28543             : /* 54457*/  /*SwitchOpcode*/ 24, TARGET_VAL(ISD::UREM),// ->54484
   28544             : /* 54460*/    OPC_RecordChild0, // #0 = $lhs
   28545             : /* 54461*/    OPC_RecordChild1, // #1 = $rhs
   28546             : /* 54462*/    OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54473
   28547             : /* 54465*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_U_I32), 0,
   28548             :                     MVT::i32, 2/*#Ops*/, 0, 1, 
   28549             :                 // Src: (urem:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   28550             :                 // Dst: (REM_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   28551             : /* 54473*/    /*SwitchType*/ 8, MVT::i64,// ->54483
   28552             : /* 54475*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REM_U_I64), 0,
   28553             :                     MVT::i64, 2/*#Ops*/, 0, 1, 
   28554             :                 // Src: (urem:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   28555             :                 // Dst: (REM_U_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   28556             : /* 54483*/    0, // EndSwitchType
   28557             : /* 54484*/  /*SwitchOpcode*/ 27|128,14/*1819*/, TARGET_VAL(ISD::OR),// ->56307
   28558             : /* 54488*/    OPC_Scope, 24, /*->54514*/ // 3 children in Scope
   28559             : /* 54490*/      OPC_RecordChild0, // #0 = $lhs
   28560             : /* 54491*/      OPC_RecordChild1, // #1 = $rhs
   28561             : /* 54492*/      OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->54503
   28562             : /* 54495*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_I32), 0,
   28563             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   28564             :                   // Src: (or:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   28565             :                   // Dst: (OR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   28566             : /* 54503*/      /*SwitchType*/ 8, MVT::i64,// ->54513
   28567             : /* 54505*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_I64), 0,
   28568             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
   28569             :                   // Src: (or:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   28570             :                   // Dst: (OR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   28571             : /* 54513*/      0, // EndSwitchType
   28572             : /* 54514*/    /*Scope*/ 73|128,13/*1737*/, /*->56253*/
   28573             : /* 54516*/      OPC_MoveChild0,
   28574             : /* 54517*/      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   28575             : /* 54520*/      OPC_Scope, 6|128,2/*262*/, /*->54785*/ // 9 children in Scope
   28576             : /* 54523*/        OPC_RecordChild0, // #0 = $c
   28577             : /* 54524*/        OPC_RecordChild1, // #1 = $v1
   28578             : /* 54525*/        OPC_MoveParent,
   28579             : /* 54526*/        OPC_MoveChild1,
   28580             : /* 54527*/        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   28581             : /* 54530*/        OPC_Scope, 89, /*->54621*/ // 4 children in Scope
   28582             : /* 54532*/          OPC_MoveChild0,
   28583             : /* 54533*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   28584             : /* 54536*/          OPC_Scope, 58, /*->54596*/ // 2 children in Scope
   28585             : /* 54538*/            OPC_CheckChild0Same, 0,
   28586             : /* 54540*/            OPC_MoveChild1,
   28587             : /* 54541*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28588             : /* 54544*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28589             : /* 54546*/            OPC_MoveParent,
   28590             : /* 54547*/            OPC_MoveParent,
   28591             : /* 54548*/            OPC_RecordChild1, // #2 = $v2
   28592             : /* 54549*/            OPC_MoveParent,
   28593             : /* 54550*/            OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->54562
   28594             : /* 54553*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28595             :                             MVT::v16i8, 3/*#Ops*/, 1, 2, 0, 
   28596             :                         // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
   28597             :                         // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28598             : /* 54562*/            /*SwitchType*/ 9, MVT::v8i16,// ->54573
   28599             : /* 54564*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   28600             :                             MVT::v8i16, 3/*#Ops*/, 1, 2, 0, 
   28601             :                         // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
   28602             :                         // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   28603             : /* 54573*/            /*SwitchType*/ 9, MVT::v4i32,// ->54584
   28604             : /* 54575*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   28605             :                             MVT::v4i32, 3/*#Ops*/, 1, 2, 0, 
   28606             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
   28607             :                         // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   28608             : /* 54584*/            /*SwitchType*/ 9, MVT::v2i64,// ->54595
   28609             : /* 54586*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   28610             :                             MVT::v2i64, 3/*#Ops*/, 1, 2, 0, 
   28611             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
   28612             :                         // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   28613             : /* 54595*/            0, // EndSwitchType
   28614             : /* 54596*/          /*Scope*/ 23, /*->54620*/
   28615             : /* 54597*/            OPC_MoveChild0,
   28616             : /* 54598*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28617             : /* 54601*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28618             : /* 54603*/            OPC_MoveParent,
   28619             : /* 54604*/            OPC_CheckChild1Same, 0,
   28620             : /* 54606*/            OPC_MoveParent,
   28621             : /* 54607*/            OPC_RecordChild1, // #2 = $v2
   28622             : /* 54608*/            OPC_MoveParent,
   28623             : /* 54609*/            OPC_CheckType, MVT::v16i8,
   28624             : /* 54611*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28625             :                           MVT::v16i8, 3/*#Ops*/, 1, 2, 0, 
   28626             :                       // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
   28627             :                       // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28628             : /* 54620*/          0, /*End of Scope*/
   28629             : /* 54621*/        /*Scope*/ 53, /*->54675*/
   28630             : /* 54622*/          OPC_RecordChild0, // #2 = $v2
   28631             : /* 54623*/          OPC_MoveChild1,
   28632             : /* 54624*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   28633             : /* 54627*/          OPC_Scope, 22, /*->54651*/ // 2 children in Scope
   28634             : /* 54629*/            OPC_CheckChild0Same, 0,
   28635             : /* 54631*/            OPC_MoveChild1,
   28636             : /* 54632*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28637             : /* 54635*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28638             : /* 54637*/            OPC_MoveParent,
   28639             : /* 54638*/            OPC_MoveParent,
   28640             : /* 54639*/            OPC_MoveParent,
   28641             : /* 54640*/            OPC_CheckType, MVT::v16i8,
   28642             : /* 54642*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28643             :                           MVT::v16i8, 3/*#Ops*/, 1, 2, 0, 
   28644             :                       // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
   28645             :                       // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28646             : /* 54651*/          /*Scope*/ 22, /*->54674*/
   28647             : /* 54652*/            OPC_MoveChild0,
   28648             : /* 54653*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28649             : /* 54656*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28650             : /* 54658*/            OPC_MoveParent,
   28651             : /* 54659*/            OPC_CheckChild1Same, 0,
   28652             : /* 54661*/            OPC_MoveParent,
   28653             : /* 54662*/            OPC_MoveParent,
   28654             : /* 54663*/            OPC_CheckType, MVT::v16i8,
   28655             : /* 54665*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28656             :                           MVT::v16i8, 3/*#Ops*/, 1, 2, 0, 
   28657             :                       // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c))) - Complexity = 16
   28658             :                       // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28659             : /* 54674*/          0, /*End of Scope*/
   28660             : /* 54675*/        /*Scope*/ 54, /*->54730*/
   28661             : /* 54676*/          OPC_MoveChild0,
   28662             : /* 54677*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   28663             : /* 54680*/          OPC_Scope, 23, /*->54705*/ // 2 children in Scope
   28664             : /* 54682*/            OPC_CheckChild0Same, 1,
   28665             : /* 54684*/            OPC_MoveChild1,
   28666             : /* 54685*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28667             : /* 54688*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28668             : /* 54690*/            OPC_MoveParent,
   28669             : /* 54691*/            OPC_MoveParent,
   28670             : /* 54692*/            OPC_RecordChild1, // #2 = $v2
   28671             : /* 54693*/            OPC_MoveParent,
   28672             : /* 54694*/            OPC_CheckType, MVT::v16i8,
   28673             : /* 54696*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28674             :                           MVT::v16i8, 3/*#Ops*/, 0, 2, 1, 
   28675             :                       // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
   28676             :                       // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28677             : /* 54705*/          /*Scope*/ 23, /*->54729*/
   28678             : /* 54706*/            OPC_MoveChild0,
   28679             : /* 54707*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28680             : /* 54710*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28681             : /* 54712*/            OPC_MoveParent,
   28682             : /* 54713*/            OPC_CheckChild1Same, 1,
   28683             : /* 54715*/            OPC_MoveParent,
   28684             : /* 54716*/            OPC_RecordChild1, // #2 = $v2
   28685             : /* 54717*/            OPC_MoveParent,
   28686             : /* 54718*/            OPC_CheckType, MVT::v16i8,
   28687             : /* 54720*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28688             :                           MVT::v16i8, 3/*#Ops*/, 0, 2, 1, 
   28689             :                       // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2)) - Complexity = 16
   28690             :                       // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28691             : /* 54729*/          0, /*End of Scope*/
   28692             : /* 54730*/        /*Scope*/ 53, /*->54784*/
   28693             : /* 54731*/          OPC_RecordChild0, // #2 = $v2
   28694             : /* 54732*/          OPC_MoveChild1,
   28695             : /* 54733*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   28696             : /* 54736*/          OPC_Scope, 22, /*->54760*/ // 2 children in Scope
   28697             : /* 54738*/            OPC_CheckChild0Same, 1,
   28698             : /* 54740*/            OPC_MoveChild1,
   28699             : /* 54741*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28700             : /* 54744*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28701             : /* 54746*/            OPC_MoveParent,
   28702             : /* 54747*/            OPC_MoveParent,
   28703             : /* 54748*/            OPC_MoveParent,
   28704             : /* 54749*/            OPC_CheckType, MVT::v16i8,
   28705             : /* 54751*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28706             :                           MVT::v16i8, 3/*#Ops*/, 0, 2, 1, 
   28707             :                       // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
   28708             :                       // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28709             : /* 54760*/          /*Scope*/ 22, /*->54783*/
   28710             : /* 54761*/            OPC_MoveChild0,
   28711             : /* 54762*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28712             : /* 54765*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28713             : /* 54767*/            OPC_MoveParent,
   28714             : /* 54768*/            OPC_CheckChild1Same, 1,
   28715             : /* 54770*/            OPC_MoveParent,
   28716             : /* 54771*/            OPC_MoveParent,
   28717             : /* 54772*/            OPC_CheckType, MVT::v16i8,
   28718             : /* 54774*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28719             :                           MVT::v16i8, 3/*#Ops*/, 0, 2, 1, 
   28720             :                       // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c))) - Complexity = 16
   28721             :                       // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28722             : /* 54783*/          0, /*End of Scope*/
   28723             : /* 54784*/        0, /*End of Scope*/
   28724             : /* 54785*/      /*Scope*/ 106, /*->54892*/
   28725             : /* 54786*/        OPC_MoveChild0,
   28726             : /* 54787*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   28727             : /* 54790*/        OPC_Scope, 49, /*->54841*/ // 2 children in Scope
   28728             : /* 54792*/          OPC_RecordChild0, // #0 = $c
   28729             : /* 54793*/          OPC_MoveChild1,
   28730             : /* 54794*/          OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28731             : /* 54797*/          OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28732             : /* 54799*/          OPC_MoveParent,
   28733             : /* 54800*/          OPC_MoveParent,
   28734             : /* 54801*/          OPC_RecordChild1, // #1 = $v2
   28735             : /* 54802*/          OPC_MoveParent,
   28736             : /* 54803*/          OPC_MoveChild1,
   28737             : /* 54804*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   28738             : /* 54807*/          OPC_Scope, 15, /*->54824*/ // 2 children in Scope
   28739             : /* 54809*/            OPC_CheckChild0Same, 0,
   28740             : /* 54811*/            OPC_RecordChild1, // #2 = $v1
   28741             : /* 54812*/            OPC_MoveParent,
   28742             : /* 54813*/            OPC_CheckType, MVT::v16i8,
   28743             : /* 54815*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28744             :                           MVT::v16i8, 3/*#Ops*/, 2, 1, 0, 
   28745             :                       // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
   28746             :                       // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28747             : /* 54824*/          /*Scope*/ 15, /*->54840*/
   28748             : /* 54825*/            OPC_RecordChild0, // #2 = $v1
   28749             : /* 54826*/            OPC_CheckChild1Same, 0,
   28750             : /* 54828*/            OPC_MoveParent,
   28751             : /* 54829*/            OPC_CheckType, MVT::v16i8,
   28752             : /* 54831*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28753             :                           MVT::v16i8, 3/*#Ops*/, 2, 1, 0, 
   28754             :                       // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
   28755             :                       // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28756             : /* 54840*/          0, /*End of Scope*/
   28757             : /* 54841*/        /*Scope*/ 49, /*->54891*/
   28758             : /* 54842*/          OPC_MoveChild0,
   28759             : /* 54843*/          OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28760             : /* 54846*/          OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28761             : /* 54848*/          OPC_MoveParent,
   28762             : /* 54849*/          OPC_RecordChild1, // #0 = $c
   28763             : /* 54850*/          OPC_MoveParent,
   28764             : /* 54851*/          OPC_RecordChild1, // #1 = $v2
   28765             : /* 54852*/          OPC_MoveParent,
   28766             : /* 54853*/          OPC_MoveChild1,
   28767             : /* 54854*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   28768             : /* 54857*/          OPC_Scope, 15, /*->54874*/ // 2 children in Scope
   28769             : /* 54859*/            OPC_CheckChild0Same, 0,
   28770             : /* 54861*/            OPC_RecordChild1, // #2 = $v1
   28771             : /* 54862*/            OPC_MoveParent,
   28772             : /* 54863*/            OPC_CheckType, MVT::v16i8,
   28773             : /* 54865*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28774             :                           MVT::v16i8, 3/*#Ops*/, 2, 1, 0, 
   28775             :                       // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
   28776             :                       // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28777             : /* 54874*/          /*Scope*/ 15, /*->54890*/
   28778             : /* 54875*/            OPC_RecordChild0, // #2 = $v1
   28779             : /* 54876*/            OPC_CheckChild1Same, 0,
   28780             : /* 54878*/            OPC_MoveParent,
   28781             : /* 54879*/            OPC_CheckType, MVT::v16i8,
   28782             : /* 54881*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28783             :                           MVT::v16i8, 3/*#Ops*/, 2, 1, 0, 
   28784             :                       // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c), V128:{ *:[v16i8] }:$v2), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
   28785             :                       // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28786             : /* 54890*/          0, /*End of Scope*/
   28787             : /* 54891*/        0, /*End of Scope*/
   28788             : /* 54892*/      /*Scope*/ 53|128,2/*309*/, /*->55203*/
   28789             : /* 54894*/        OPC_RecordChild0, // #0 = $v2
   28790             : /* 54895*/        OPC_Scope, 104, /*->55001*/ // 2 children in Scope
   28791             : /* 54897*/          OPC_MoveChild1,
   28792             : /* 54898*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   28793             : /* 54901*/          OPC_Scope, 48, /*->54951*/ // 2 children in Scope
   28794             : /* 54903*/            OPC_RecordChild0, // #1 = $c
   28795             : /* 54904*/            OPC_MoveChild1,
   28796             : /* 54905*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28797             : /* 54908*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28798             : /* 54910*/            OPC_MoveParent,
   28799             : /* 54911*/            OPC_MoveParent,
   28800             : /* 54912*/            OPC_MoveParent,
   28801             : /* 54913*/            OPC_MoveChild1,
   28802             : /* 54914*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   28803             : /* 54917*/            OPC_Scope, 15, /*->54934*/ // 2 children in Scope
   28804             : /* 54919*/              OPC_CheckChild0Same, 1,
   28805             : /* 54921*/              OPC_RecordChild1, // #2 = $v1
   28806             : /* 54922*/              OPC_MoveParent,
   28807             : /* 54923*/              OPC_CheckType, MVT::v16i8,
   28808             : /* 54925*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28809             :                             MVT::v16i8, 3/*#Ops*/, 2, 0, 1, 
   28810             :                         // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
   28811             :                         // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28812             : /* 54934*/            /*Scope*/ 15, /*->54950*/
   28813             : /* 54935*/              OPC_RecordChild0, // #2 = $v1
   28814             : /* 54936*/              OPC_CheckChild1Same, 1,
   28815             : /* 54938*/              OPC_MoveParent,
   28816             : /* 54939*/              OPC_CheckType, MVT::v16i8,
   28817             : /* 54941*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28818             :                             MVT::v16i8, 3/*#Ops*/, 2, 0, 1, 
   28819             :                         // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
   28820             :                         // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28821             : /* 54950*/            0, /*End of Scope*/
   28822             : /* 54951*/          /*Scope*/ 48, /*->55000*/
   28823             : /* 54952*/            OPC_MoveChild0,
   28824             : /* 54953*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28825             : /* 54956*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28826             : /* 54958*/            OPC_MoveParent,
   28827             : /* 54959*/            OPC_RecordChild1, // #1 = $c
   28828             : /* 54960*/            OPC_MoveParent,
   28829             : /* 54961*/            OPC_MoveParent,
   28830             : /* 54962*/            OPC_MoveChild1,
   28831             : /* 54963*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   28832             : /* 54966*/            OPC_Scope, 15, /*->54983*/ // 2 children in Scope
   28833             : /* 54968*/              OPC_CheckChild0Same, 1,
   28834             : /* 54970*/              OPC_RecordChild1, // #2 = $v1
   28835             : /* 54971*/              OPC_MoveParent,
   28836             : /* 54972*/              OPC_CheckType, MVT::v16i8,
   28837             : /* 54974*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28838             :                             MVT::v16i8, 3/*#Ops*/, 2, 0, 1, 
   28839             :                         // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$c, V128:{ *:[v16i8] }:$v1)) - Complexity = 16
   28840             :                         // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28841             : /* 54983*/            /*Scope*/ 15, /*->54999*/
   28842             : /* 54984*/              OPC_RecordChild0, // #2 = $v1
   28843             : /* 54985*/              OPC_CheckChild1Same, 1,
   28844             : /* 54987*/              OPC_MoveParent,
   28845             : /* 54988*/              OPC_CheckType, MVT::v16i8,
   28846             : /* 54990*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v16i8), 0,
   28847             :                             MVT::v16i8, 3/*#Ops*/, 2, 0, 1, 
   28848             :                         // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v2, (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$c)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$c)) - Complexity = 16
   28849             :                         // Dst: (BITSELECT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$v1, V128:{ *:[v16i8] }:$v2, V128:{ *:[v16i8] }:$c)
   28850             : /* 54999*/            0, /*End of Scope*/
   28851             : /* 55000*/          0, /*End of Scope*/
   28852             : /* 55001*/        /*Scope*/ 71|128,1/*199*/, /*->55202*/
   28853             : /* 55003*/          OPC_RecordChild1, // #1 = $v1
   28854             : /* 55004*/          OPC_MoveParent,
   28855             : /* 55005*/          OPC_MoveChild1,
   28856             : /* 55006*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   28857             : /* 55009*/          OPC_Scope, 27, /*->55038*/ // 4 children in Scope
   28858             : /* 55011*/            OPC_MoveChild0,
   28859             : /* 55012*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   28860             : /* 55015*/            OPC_MoveChild0,
   28861             : /* 55016*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28862             : /* 55019*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28863             : /* 55021*/            OPC_MoveParent,
   28864             : /* 55022*/            OPC_CheckChild1Same, 0,
   28865             : /* 55024*/            OPC_MoveParent,
   28866             : /* 55025*/            OPC_RecordChild1, // #2 = $v2
   28867             : /* 55026*/            OPC_MoveParent,
   28868             : /* 55027*/            OPC_CheckType, MVT::v8i16,
   28869             : /* 55029*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   28870             :                           MVT::v8i16, 3/*#Ops*/, 1, 2, 0, 
   28871             :                       // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
   28872             :                       // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   28873             : /* 55038*/          /*Scope*/ 53, /*->55092*/
   28874             : /* 55039*/            OPC_RecordChild0, // #2 = $v2
   28875             : /* 55040*/            OPC_MoveChild1,
   28876             : /* 55041*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   28877             : /* 55044*/            OPC_Scope, 22, /*->55068*/ // 2 children in Scope
   28878             : /* 55046*/              OPC_CheckChild0Same, 0,
   28879             : /* 55048*/              OPC_MoveChild1,
   28880             : /* 55049*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28881             : /* 55052*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28882             : /* 55054*/              OPC_MoveParent,
   28883             : /* 55055*/              OPC_MoveParent,
   28884             : /* 55056*/              OPC_MoveParent,
   28885             : /* 55057*/              OPC_CheckType, MVT::v8i16,
   28886             : /* 55059*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   28887             :                             MVT::v8i16, 3/*#Ops*/, 1, 2, 0, 
   28888             :                         // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
   28889             :                         // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   28890             : /* 55068*/            /*Scope*/ 22, /*->55091*/
   28891             : /* 55069*/              OPC_MoveChild0,
   28892             : /* 55070*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28893             : /* 55073*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28894             : /* 55075*/              OPC_MoveParent,
   28895             : /* 55076*/              OPC_CheckChild1Same, 0,
   28896             : /* 55078*/              OPC_MoveParent,
   28897             : /* 55079*/              OPC_MoveParent,
   28898             : /* 55080*/              OPC_CheckType, MVT::v8i16,
   28899             : /* 55082*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   28900             :                             MVT::v8i16, 3/*#Ops*/, 1, 2, 0, 
   28901             :                         // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c))) - Complexity = 16
   28902             :                         // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   28903             : /* 55091*/            0, /*End of Scope*/
   28904             : /* 55092*/          /*Scope*/ 54, /*->55147*/
   28905             : /* 55093*/            OPC_MoveChild0,
   28906             : /* 55094*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   28907             : /* 55097*/            OPC_Scope, 23, /*->55122*/ // 2 children in Scope
   28908             : /* 55099*/              OPC_CheckChild0Same, 1,
   28909             : /* 55101*/              OPC_MoveChild1,
   28910             : /* 55102*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28911             : /* 55105*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28912             : /* 55107*/              OPC_MoveParent,
   28913             : /* 55108*/              OPC_MoveParent,
   28914             : /* 55109*/              OPC_RecordChild1, // #2 = $v2
   28915             : /* 55110*/              OPC_MoveParent,
   28916             : /* 55111*/              OPC_CheckType, MVT::v8i16,
   28917             : /* 55113*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   28918             :                             MVT::v8i16, 3/*#Ops*/, 0, 2, 1, 
   28919             :                         // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
   28920             :                         // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   28921             : /* 55122*/            /*Scope*/ 23, /*->55146*/
   28922             : /* 55123*/              OPC_MoveChild0,
   28923             : /* 55124*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28924             : /* 55127*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28925             : /* 55129*/              OPC_MoveParent,
   28926             : /* 55130*/              OPC_CheckChild1Same, 1,
   28927             : /* 55132*/              OPC_MoveParent,
   28928             : /* 55133*/              OPC_RecordChild1, // #2 = $v2
   28929             : /* 55134*/              OPC_MoveParent,
   28930             : /* 55135*/              OPC_CheckType, MVT::v8i16,
   28931             : /* 55137*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   28932             :                             MVT::v8i16, 3/*#Ops*/, 0, 2, 1, 
   28933             :                         // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2)) - Complexity = 16
   28934             :                         // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   28935             : /* 55146*/            0, /*End of Scope*/
   28936             : /* 55147*/          /*Scope*/ 53, /*->55201*/
   28937             : /* 55148*/            OPC_RecordChild0, // #2 = $v2
   28938             : /* 55149*/            OPC_MoveChild1,
   28939             : /* 55150*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   28940             : /* 55153*/            OPC_Scope, 22, /*->55177*/ // 2 children in Scope
   28941             : /* 55155*/              OPC_CheckChild0Same, 1,
   28942             : /* 55157*/              OPC_MoveChild1,
   28943             : /* 55158*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28944             : /* 55161*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28945             : /* 55163*/              OPC_MoveParent,
   28946             : /* 55164*/              OPC_MoveParent,
   28947             : /* 55165*/              OPC_MoveParent,
   28948             : /* 55166*/              OPC_CheckType, MVT::v8i16,
   28949             : /* 55168*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   28950             :                             MVT::v8i16, 3/*#Ops*/, 0, 2, 1, 
   28951             :                         // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
   28952             :                         // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   28953             : /* 55177*/            /*Scope*/ 22, /*->55200*/
   28954             : /* 55178*/              OPC_MoveChild0,
   28955             : /* 55179*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28956             : /* 55182*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28957             : /* 55184*/              OPC_MoveParent,
   28958             : /* 55185*/              OPC_CheckChild1Same, 1,
   28959             : /* 55187*/              OPC_MoveParent,
   28960             : /* 55188*/              OPC_MoveParent,
   28961             : /* 55189*/              OPC_CheckType, MVT::v8i16,
   28962             : /* 55191*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   28963             :                             MVT::v8i16, 3/*#Ops*/, 0, 2, 1, 
   28964             :                         // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c))) - Complexity = 16
   28965             :                         // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   28966             : /* 55200*/            0, /*End of Scope*/
   28967             : /* 55201*/          0, /*End of Scope*/
   28968             : /* 55202*/        0, /*End of Scope*/
   28969             : /* 55203*/      /*Scope*/ 106, /*->55310*/
   28970             : /* 55204*/        OPC_MoveChild0,
   28971             : /* 55205*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   28972             : /* 55208*/        OPC_Scope, 49, /*->55259*/ // 2 children in Scope
   28973             : /* 55210*/          OPC_RecordChild0, // #0 = $c
   28974             : /* 55211*/          OPC_MoveChild1,
   28975             : /* 55212*/          OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   28976             : /* 55215*/          OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   28977             : /* 55217*/          OPC_MoveParent,
   28978             : /* 55218*/          OPC_MoveParent,
   28979             : /* 55219*/          OPC_RecordChild1, // #1 = $v2
   28980             : /* 55220*/          OPC_MoveParent,
   28981             : /* 55221*/          OPC_MoveChild1,
   28982             : /* 55222*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   28983             : /* 55225*/          OPC_Scope, 15, /*->55242*/ // 2 children in Scope
   28984             : /* 55227*/            OPC_CheckChild0Same, 0,
   28985             : /* 55229*/            OPC_RecordChild1, // #2 = $v1
   28986             : /* 55230*/            OPC_MoveParent,
   28987             : /* 55231*/            OPC_CheckType, MVT::v8i16,
   28988             : /* 55233*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   28989             :                           MVT::v8i16, 3/*#Ops*/, 2, 1, 0, 
   28990             :                       // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
   28991             :                       // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   28992             : /* 55242*/          /*Scope*/ 15, /*->55258*/
   28993             : /* 55243*/            OPC_RecordChild0, // #2 = $v1
   28994             : /* 55244*/            OPC_CheckChild1Same, 0,
   28995             : /* 55246*/            OPC_MoveParent,
   28996             : /* 55247*/            OPC_CheckType, MVT::v8i16,
   28997             : /* 55249*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   28998             :                           MVT::v8i16, 3/*#Ops*/, 2, 1, 0, 
   28999             :                       // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
   29000             :                       // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   29001             : /* 55258*/          0, /*End of Scope*/
   29002             : /* 55259*/        /*Scope*/ 49, /*->55309*/
   29003             : /* 55260*/          OPC_MoveChild0,
   29004             : /* 55261*/          OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29005             : /* 55264*/          OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29006             : /* 55266*/          OPC_MoveParent,
   29007             : /* 55267*/          OPC_RecordChild1, // #0 = $c
   29008             : /* 55268*/          OPC_MoveParent,
   29009             : /* 55269*/          OPC_RecordChild1, // #1 = $v2
   29010             : /* 55270*/          OPC_MoveParent,
   29011             : /* 55271*/          OPC_MoveChild1,
   29012             : /* 55272*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29013             : /* 55275*/          OPC_Scope, 15, /*->55292*/ // 2 children in Scope
   29014             : /* 55277*/            OPC_CheckChild0Same, 0,
   29015             : /* 55279*/            OPC_RecordChild1, // #2 = $v1
   29016             : /* 55280*/            OPC_MoveParent,
   29017             : /* 55281*/            OPC_CheckType, MVT::v8i16,
   29018             : /* 55283*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   29019             :                           MVT::v8i16, 3/*#Ops*/, 2, 1, 0, 
   29020             :                       // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
   29021             :                       // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   29022             : /* 55292*/          /*Scope*/ 15, /*->55308*/
   29023             : /* 55293*/            OPC_RecordChild0, // #2 = $v1
   29024             : /* 55294*/            OPC_CheckChild1Same, 0,
   29025             : /* 55296*/            OPC_MoveParent,
   29026             : /* 55297*/            OPC_CheckType, MVT::v8i16,
   29027             : /* 55299*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   29028             :                           MVT::v8i16, 3/*#Ops*/, 2, 1, 0, 
   29029             :                       // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c), V128:{ *:[v8i16] }:$v2), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
   29030             :                       // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   29031             : /* 55308*/          0, /*End of Scope*/
   29032             : /* 55309*/        0, /*End of Scope*/
   29033             : /* 55310*/      /*Scope*/ 53|128,2/*309*/, /*->55621*/
   29034             : /* 55312*/        OPC_RecordChild0, // #0 = $v2
   29035             : /* 55313*/        OPC_Scope, 104, /*->55419*/ // 2 children in Scope
   29036             : /* 55315*/          OPC_MoveChild1,
   29037             : /* 55316*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29038             : /* 55319*/          OPC_Scope, 48, /*->55369*/ // 2 children in Scope
   29039             : /* 55321*/            OPC_RecordChild0, // #1 = $c
   29040             : /* 55322*/            OPC_MoveChild1,
   29041             : /* 55323*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29042             : /* 55326*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29043             : /* 55328*/            OPC_MoveParent,
   29044             : /* 55329*/            OPC_MoveParent,
   29045             : /* 55330*/            OPC_MoveParent,
   29046             : /* 55331*/            OPC_MoveChild1,
   29047             : /* 55332*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29048             : /* 55335*/            OPC_Scope, 15, /*->55352*/ // 2 children in Scope
   29049             : /* 55337*/              OPC_CheckChild0Same, 1,
   29050             : /* 55339*/              OPC_RecordChild1, // #2 = $v1
   29051             : /* 55340*/              OPC_MoveParent,
   29052             : /* 55341*/              OPC_CheckType, MVT::v8i16,
   29053             : /* 55343*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   29054             :                             MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
   29055             :                         // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
   29056             :                         // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   29057             : /* 55352*/            /*Scope*/ 15, /*->55368*/
   29058             : /* 55353*/              OPC_RecordChild0, // #2 = $v1
   29059             : /* 55354*/              OPC_CheckChild1Same, 1,
   29060             : /* 55356*/              OPC_MoveParent,
   29061             : /* 55357*/              OPC_CheckType, MVT::v8i16,
   29062             : /* 55359*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   29063             :                             MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
   29064             :                         // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
   29065             :                         // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   29066             : /* 55368*/            0, /*End of Scope*/
   29067             : /* 55369*/          /*Scope*/ 48, /*->55418*/
   29068             : /* 55370*/            OPC_MoveChild0,
   29069             : /* 55371*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29070             : /* 55374*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29071             : /* 55376*/            OPC_MoveParent,
   29072             : /* 55377*/            OPC_RecordChild1, // #1 = $c
   29073             : /* 55378*/            OPC_MoveParent,
   29074             : /* 55379*/            OPC_MoveParent,
   29075             : /* 55380*/            OPC_MoveChild1,
   29076             : /* 55381*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29077             : /* 55384*/            OPC_Scope, 15, /*->55401*/ // 2 children in Scope
   29078             : /* 55386*/              OPC_CheckChild0Same, 1,
   29079             : /* 55388*/              OPC_RecordChild1, // #2 = $v1
   29080             : /* 55389*/              OPC_MoveParent,
   29081             : /* 55390*/              OPC_CheckType, MVT::v8i16,
   29082             : /* 55392*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   29083             :                             MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
   29084             :                         // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$c, V128:{ *:[v8i16] }:$v1)) - Complexity = 16
   29085             :                         // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   29086             : /* 55401*/            /*Scope*/ 15, /*->55417*/
   29087             : /* 55402*/              OPC_RecordChild0, // #2 = $v1
   29088             : /* 55403*/              OPC_CheckChild1Same, 1,
   29089             : /* 55405*/              OPC_MoveParent,
   29090             : /* 55406*/              OPC_CheckType, MVT::v8i16,
   29091             : /* 55408*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v8i16), 0,
   29092             :                             MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
   29093             :                         // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v2, (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$c)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$c)) - Complexity = 16
   29094             :                         // Dst: (BITSELECT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$v1, V128:{ *:[v8i16] }:$v2, V128:{ *:[v8i16] }:$c)
   29095             : /* 55417*/            0, /*End of Scope*/
   29096             : /* 55418*/          0, /*End of Scope*/
   29097             : /* 55419*/        /*Scope*/ 71|128,1/*199*/, /*->55620*/
   29098             : /* 55421*/          OPC_RecordChild1, // #1 = $v1
   29099             : /* 55422*/          OPC_MoveParent,
   29100             : /* 55423*/          OPC_MoveChild1,
   29101             : /* 55424*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29102             : /* 55427*/          OPC_Scope, 27, /*->55456*/ // 4 children in Scope
   29103             : /* 55429*/            OPC_MoveChild0,
   29104             : /* 55430*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29105             : /* 55433*/            OPC_MoveChild0,
   29106             : /* 55434*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29107             : /* 55437*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29108             : /* 55439*/            OPC_MoveParent,
   29109             : /* 55440*/            OPC_CheckChild1Same, 0,
   29110             : /* 55442*/            OPC_MoveParent,
   29111             : /* 55443*/            OPC_RecordChild1, // #2 = $v2
   29112             : /* 55444*/            OPC_MoveParent,
   29113             : /* 55445*/            OPC_CheckType, MVT::v4i32,
   29114             : /* 55447*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29115             :                           MVT::v4i32, 3/*#Ops*/, 1, 2, 0, 
   29116             :                       // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
   29117             :                       // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29118             : /* 55456*/          /*Scope*/ 53, /*->55510*/
   29119             : /* 55457*/            OPC_RecordChild0, // #2 = $v2
   29120             : /* 55458*/            OPC_MoveChild1,
   29121             : /* 55459*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29122             : /* 55462*/            OPC_Scope, 22, /*->55486*/ // 2 children in Scope
   29123             : /* 55464*/              OPC_CheckChild0Same, 0,
   29124             : /* 55466*/              OPC_MoveChild1,
   29125             : /* 55467*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29126             : /* 55470*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29127             : /* 55472*/              OPC_MoveParent,
   29128             : /* 55473*/              OPC_MoveParent,
   29129             : /* 55474*/              OPC_MoveParent,
   29130             : /* 55475*/              OPC_CheckType, MVT::v4i32,
   29131             : /* 55477*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29132             :                             MVT::v4i32, 3/*#Ops*/, 1, 2, 0, 
   29133             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
   29134             :                         // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29135             : /* 55486*/            /*Scope*/ 22, /*->55509*/
   29136             : /* 55487*/              OPC_MoveChild0,
   29137             : /* 55488*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29138             : /* 55491*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29139             : /* 55493*/              OPC_MoveParent,
   29140             : /* 55494*/              OPC_CheckChild1Same, 0,
   29141             : /* 55496*/              OPC_MoveParent,
   29142             : /* 55497*/              OPC_MoveParent,
   29143             : /* 55498*/              OPC_CheckType, MVT::v4i32,
   29144             : /* 55500*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29145             :                             MVT::v4i32, 3/*#Ops*/, 1, 2, 0, 
   29146             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c))) - Complexity = 16
   29147             :                         // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29148             : /* 55509*/            0, /*End of Scope*/
   29149             : /* 55510*/          /*Scope*/ 54, /*->55565*/
   29150             : /* 55511*/            OPC_MoveChild0,
   29151             : /* 55512*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29152             : /* 55515*/            OPC_Scope, 23, /*->55540*/ // 2 children in Scope
   29153             : /* 55517*/              OPC_CheckChild0Same, 1,
   29154             : /* 55519*/              OPC_MoveChild1,
   29155             : /* 55520*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29156             : /* 55523*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29157             : /* 55525*/              OPC_MoveParent,
   29158             : /* 55526*/              OPC_MoveParent,
   29159             : /* 55527*/              OPC_RecordChild1, // #2 = $v2
   29160             : /* 55528*/              OPC_MoveParent,
   29161             : /* 55529*/              OPC_CheckType, MVT::v4i32,
   29162             : /* 55531*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29163             :                             MVT::v4i32, 3/*#Ops*/, 0, 2, 1, 
   29164             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
   29165             :                         // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29166             : /* 55540*/            /*Scope*/ 23, /*->55564*/
   29167             : /* 55541*/              OPC_MoveChild0,
   29168             : /* 55542*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29169             : /* 55545*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29170             : /* 55547*/              OPC_MoveParent,
   29171             : /* 55548*/              OPC_CheckChild1Same, 1,
   29172             : /* 55550*/              OPC_MoveParent,
   29173             : /* 55551*/              OPC_RecordChild1, // #2 = $v2
   29174             : /* 55552*/              OPC_MoveParent,
   29175             : /* 55553*/              OPC_CheckType, MVT::v4i32,
   29176             : /* 55555*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29177             :                             MVT::v4i32, 3/*#Ops*/, 0, 2, 1, 
   29178             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2)) - Complexity = 16
   29179             :                         // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29180             : /* 55564*/            0, /*End of Scope*/
   29181             : /* 55565*/          /*Scope*/ 53, /*->55619*/
   29182             : /* 55566*/            OPC_RecordChild0, // #2 = $v2
   29183             : /* 55567*/            OPC_MoveChild1,
   29184             : /* 55568*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29185             : /* 55571*/            OPC_Scope, 22, /*->55595*/ // 2 children in Scope
   29186             : /* 55573*/              OPC_CheckChild0Same, 1,
   29187             : /* 55575*/              OPC_MoveChild1,
   29188             : /* 55576*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29189             : /* 55579*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29190             : /* 55581*/              OPC_MoveParent,
   29191             : /* 55582*/              OPC_MoveParent,
   29192             : /* 55583*/              OPC_MoveParent,
   29193             : /* 55584*/              OPC_CheckType, MVT::v4i32,
   29194             : /* 55586*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29195             :                             MVT::v4i32, 3/*#Ops*/, 0, 2, 1, 
   29196             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
   29197             :                         // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29198             : /* 55595*/            /*Scope*/ 22, /*->55618*/
   29199             : /* 55596*/              OPC_MoveChild0,
   29200             : /* 55597*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29201             : /* 55600*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29202             : /* 55602*/              OPC_MoveParent,
   29203             : /* 55603*/              OPC_CheckChild1Same, 1,
   29204             : /* 55605*/              OPC_MoveParent,
   29205             : /* 55606*/              OPC_MoveParent,
   29206             : /* 55607*/              OPC_CheckType, MVT::v4i32,
   29207             : /* 55609*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29208             :                             MVT::v4i32, 3/*#Ops*/, 0, 2, 1, 
   29209             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c))) - Complexity = 16
   29210             :                         // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29211             : /* 55618*/            0, /*End of Scope*/
   29212             : /* 55619*/          0, /*End of Scope*/
   29213             : /* 55620*/        0, /*End of Scope*/
   29214             : /* 55621*/      /*Scope*/ 106, /*->55728*/
   29215             : /* 55622*/        OPC_MoveChild0,
   29216             : /* 55623*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29217             : /* 55626*/        OPC_Scope, 49, /*->55677*/ // 2 children in Scope
   29218             : /* 55628*/          OPC_RecordChild0, // #0 = $c
   29219             : /* 55629*/          OPC_MoveChild1,
   29220             : /* 55630*/          OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29221             : /* 55633*/          OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29222             : /* 55635*/          OPC_MoveParent,
   29223             : /* 55636*/          OPC_MoveParent,
   29224             : /* 55637*/          OPC_RecordChild1, // #1 = $v2
   29225             : /* 55638*/          OPC_MoveParent,
   29226             : /* 55639*/          OPC_MoveChild1,
   29227             : /* 55640*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29228             : /* 55643*/          OPC_Scope, 15, /*->55660*/ // 2 children in Scope
   29229             : /* 55645*/            OPC_CheckChild0Same, 0,
   29230             : /* 55647*/            OPC_RecordChild1, // #2 = $v1
   29231             : /* 55648*/            OPC_MoveParent,
   29232             : /* 55649*/            OPC_CheckType, MVT::v4i32,
   29233             : /* 55651*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29234             :                           MVT::v4i32, 3/*#Ops*/, 2, 1, 0, 
   29235             :                       // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
   29236             :                       // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29237             : /* 55660*/          /*Scope*/ 15, /*->55676*/
   29238             : /* 55661*/            OPC_RecordChild0, // #2 = $v1
   29239             : /* 55662*/            OPC_CheckChild1Same, 0,
   29240             : /* 55664*/            OPC_MoveParent,
   29241             : /* 55665*/            OPC_CheckType, MVT::v4i32,
   29242             : /* 55667*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29243             :                           MVT::v4i32, 3/*#Ops*/, 2, 1, 0, 
   29244             :                       // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
   29245             :                       // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29246             : /* 55676*/          0, /*End of Scope*/
   29247             : /* 55677*/        /*Scope*/ 49, /*->55727*/
   29248             : /* 55678*/          OPC_MoveChild0,
   29249             : /* 55679*/          OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29250             : /* 55682*/          OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29251             : /* 55684*/          OPC_MoveParent,
   29252             : /* 55685*/          OPC_RecordChild1, // #0 = $c
   29253             : /* 55686*/          OPC_MoveParent,
   29254             : /* 55687*/          OPC_RecordChild1, // #1 = $v2
   29255             : /* 55688*/          OPC_MoveParent,
   29256             : /* 55689*/          OPC_MoveChild1,
   29257             : /* 55690*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29258             : /* 55693*/          OPC_Scope, 15, /*->55710*/ // 2 children in Scope
   29259             : /* 55695*/            OPC_CheckChild0Same, 0,
   29260             : /* 55697*/            OPC_RecordChild1, // #2 = $v1
   29261             : /* 55698*/            OPC_MoveParent,
   29262             : /* 55699*/            OPC_CheckType, MVT::v4i32,
   29263             : /* 55701*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29264             :                           MVT::v4i32, 3/*#Ops*/, 2, 1, 0, 
   29265             :                       // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
   29266             :                       // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29267             : /* 55710*/          /*Scope*/ 15, /*->55726*/
   29268             : /* 55711*/            OPC_RecordChild0, // #2 = $v1
   29269             : /* 55712*/            OPC_CheckChild1Same, 0,
   29270             : /* 55714*/            OPC_MoveParent,
   29271             : /* 55715*/            OPC_CheckType, MVT::v4i32,
   29272             : /* 55717*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29273             :                           MVT::v4i32, 3/*#Ops*/, 2, 1, 0, 
   29274             :                       // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c), V128:{ *:[v4i32] }:$v2), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
   29275             :                       // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29276             : /* 55726*/          0, /*End of Scope*/
   29277             : /* 55727*/        0, /*End of Scope*/
   29278             : /* 55728*/      /*Scope*/ 53|128,2/*309*/, /*->56039*/
   29279             : /* 55730*/        OPC_RecordChild0, // #0 = $v2
   29280             : /* 55731*/        OPC_Scope, 104, /*->55837*/ // 2 children in Scope
   29281             : /* 55733*/          OPC_MoveChild1,
   29282             : /* 55734*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29283             : /* 55737*/          OPC_Scope, 48, /*->55787*/ // 2 children in Scope
   29284             : /* 55739*/            OPC_RecordChild0, // #1 = $c
   29285             : /* 55740*/            OPC_MoveChild1,
   29286             : /* 55741*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29287             : /* 55744*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29288             : /* 55746*/            OPC_MoveParent,
   29289             : /* 55747*/            OPC_MoveParent,
   29290             : /* 55748*/            OPC_MoveParent,
   29291             : /* 55749*/            OPC_MoveChild1,
   29292             : /* 55750*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29293             : /* 55753*/            OPC_Scope, 15, /*->55770*/ // 2 children in Scope
   29294             : /* 55755*/              OPC_CheckChild0Same, 1,
   29295             : /* 55757*/              OPC_RecordChild1, // #2 = $v1
   29296             : /* 55758*/              OPC_MoveParent,
   29297             : /* 55759*/              OPC_CheckType, MVT::v4i32,
   29298             : /* 55761*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29299             :                             MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
   29300             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
   29301             :                         // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29302             : /* 55770*/            /*Scope*/ 15, /*->55786*/
   29303             : /* 55771*/              OPC_RecordChild0, // #2 = $v1
   29304             : /* 55772*/              OPC_CheckChild1Same, 1,
   29305             : /* 55774*/              OPC_MoveParent,
   29306             : /* 55775*/              OPC_CheckType, MVT::v4i32,
   29307             : /* 55777*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29308             :                             MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
   29309             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
   29310             :                         // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29311             : /* 55786*/            0, /*End of Scope*/
   29312             : /* 55787*/          /*Scope*/ 48, /*->55836*/
   29313             : /* 55788*/            OPC_MoveChild0,
   29314             : /* 55789*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29315             : /* 55792*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29316             : /* 55794*/            OPC_MoveParent,
   29317             : /* 55795*/            OPC_RecordChild1, // #1 = $c
   29318             : /* 55796*/            OPC_MoveParent,
   29319             : /* 55797*/            OPC_MoveParent,
   29320             : /* 55798*/            OPC_MoveChild1,
   29321             : /* 55799*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29322             : /* 55802*/            OPC_Scope, 15, /*->55819*/ // 2 children in Scope
   29323             : /* 55804*/              OPC_CheckChild0Same, 1,
   29324             : /* 55806*/              OPC_RecordChild1, // #2 = $v1
   29325             : /* 55807*/              OPC_MoveParent,
   29326             : /* 55808*/              OPC_CheckType, MVT::v4i32,
   29327             : /* 55810*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29328             :                             MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
   29329             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$c, V128:{ *:[v4i32] }:$v1)) - Complexity = 16
   29330             :                         // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29331             : /* 55819*/            /*Scope*/ 15, /*->55835*/
   29332             : /* 55820*/              OPC_RecordChild0, // #2 = $v1
   29333             : /* 55821*/              OPC_CheckChild1Same, 1,
   29334             : /* 55823*/              OPC_MoveParent,
   29335             : /* 55824*/              OPC_CheckType, MVT::v4i32,
   29336             : /* 55826*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v4i32), 0,
   29337             :                             MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
   29338             :                         // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v2, (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$c)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$c)) - Complexity = 16
   29339             :                         // Dst: (BITSELECT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$v1, V128:{ *:[v4i32] }:$v2, V128:{ *:[v4i32] }:$c)
   29340             : /* 55835*/            0, /*End of Scope*/
   29341             : /* 55836*/          0, /*End of Scope*/
   29342             : /* 55837*/        /*Scope*/ 71|128,1/*199*/, /*->56038*/
   29343             : /* 55839*/          OPC_RecordChild1, // #1 = $v1
   29344             : /* 55840*/          OPC_MoveParent,
   29345             : /* 55841*/          OPC_MoveChild1,
   29346             : /* 55842*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29347             : /* 55845*/          OPC_Scope, 27, /*->55874*/ // 4 children in Scope
   29348             : /* 55847*/            OPC_MoveChild0,
   29349             : /* 55848*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29350             : /* 55851*/            OPC_MoveChild0,
   29351             : /* 55852*/            OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29352             : /* 55855*/            OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29353             : /* 55857*/            OPC_MoveParent,
   29354             : /* 55858*/            OPC_CheckChild1Same, 0,
   29355             : /* 55860*/            OPC_MoveParent,
   29356             : /* 55861*/            OPC_RecordChild1, // #2 = $v2
   29357             : /* 55862*/            OPC_MoveParent,
   29358             : /* 55863*/            OPC_CheckType, MVT::v2i64,
   29359             : /* 55865*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29360             :                           MVT::v2i64, 3/*#Ops*/, 1, 2, 0, 
   29361             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
   29362             :                       // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29363             : /* 55874*/          /*Scope*/ 53, /*->55928*/
   29364             : /* 55875*/            OPC_RecordChild0, // #2 = $v2
   29365             : /* 55876*/            OPC_MoveChild1,
   29366             : /* 55877*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29367             : /* 55880*/            OPC_Scope, 22, /*->55904*/ // 2 children in Scope
   29368             : /* 55882*/              OPC_CheckChild0Same, 0,
   29369             : /* 55884*/              OPC_MoveChild1,
   29370             : /* 55885*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29371             : /* 55888*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29372             : /* 55890*/              OPC_MoveParent,
   29373             : /* 55891*/              OPC_MoveParent,
   29374             : /* 55892*/              OPC_MoveParent,
   29375             : /* 55893*/              OPC_CheckType, MVT::v2i64,
   29376             : /* 55895*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29377             :                             MVT::v2i64, 3/*#Ops*/, 1, 2, 0, 
   29378             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
   29379             :                         // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29380             : /* 55904*/            /*Scope*/ 22, /*->55927*/
   29381             : /* 55905*/              OPC_MoveChild0,
   29382             : /* 55906*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29383             : /* 55909*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29384             : /* 55911*/              OPC_MoveParent,
   29385             : /* 55912*/              OPC_CheckChild1Same, 0,
   29386             : /* 55914*/              OPC_MoveParent,
   29387             : /* 55915*/              OPC_MoveParent,
   29388             : /* 55916*/              OPC_CheckType, MVT::v2i64,
   29389             : /* 55918*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29390             :                             MVT::v2i64, 3/*#Ops*/, 1, 2, 0, 
   29391             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c))) - Complexity = 16
   29392             :                         // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29393             : /* 55927*/            0, /*End of Scope*/
   29394             : /* 55928*/          /*Scope*/ 54, /*->55983*/
   29395             : /* 55929*/            OPC_MoveChild0,
   29396             : /* 55930*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29397             : /* 55933*/            OPC_Scope, 23, /*->55958*/ // 2 children in Scope
   29398             : /* 55935*/              OPC_CheckChild0Same, 1,
   29399             : /* 55937*/              OPC_MoveChild1,
   29400             : /* 55938*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29401             : /* 55941*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29402             : /* 55943*/              OPC_MoveParent,
   29403             : /* 55944*/              OPC_MoveParent,
   29404             : /* 55945*/              OPC_RecordChild1, // #2 = $v2
   29405             : /* 55946*/              OPC_MoveParent,
   29406             : /* 55947*/              OPC_CheckType, MVT::v2i64,
   29407             : /* 55949*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29408             :                             MVT::v2i64, 3/*#Ops*/, 0, 2, 1, 
   29409             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
   29410             :                         // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29411             : /* 55958*/            /*Scope*/ 23, /*->55982*/
   29412             : /* 55959*/              OPC_MoveChild0,
   29413             : /* 55960*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29414             : /* 55963*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29415             : /* 55965*/              OPC_MoveParent,
   29416             : /* 55966*/              OPC_CheckChild1Same, 1,
   29417             : /* 55968*/              OPC_MoveParent,
   29418             : /* 55969*/              OPC_RecordChild1, // #2 = $v2
   29419             : /* 55970*/              OPC_MoveParent,
   29420             : /* 55971*/              OPC_CheckType, MVT::v2i64,
   29421             : /* 55973*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29422             :                             MVT::v2i64, 3/*#Ops*/, 0, 2, 1, 
   29423             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2)) - Complexity = 16
   29424             :                         // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29425             : /* 55982*/            0, /*End of Scope*/
   29426             : /* 55983*/          /*Scope*/ 53, /*->56037*/
   29427             : /* 55984*/            OPC_RecordChild0, // #2 = $v2
   29428             : /* 55985*/            OPC_MoveChild1,
   29429             : /* 55986*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29430             : /* 55989*/            OPC_Scope, 22, /*->56013*/ // 2 children in Scope
   29431             : /* 55991*/              OPC_CheckChild0Same, 1,
   29432             : /* 55993*/              OPC_MoveChild1,
   29433             : /* 55994*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29434             : /* 55997*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29435             : /* 55999*/              OPC_MoveParent,
   29436             : /* 56000*/              OPC_MoveParent,
   29437             : /* 56001*/              OPC_MoveParent,
   29438             : /* 56002*/              OPC_CheckType, MVT::v2i64,
   29439             : /* 56004*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29440             :                             MVT::v2i64, 3/*#Ops*/, 0, 2, 1, 
   29441             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>))) - Complexity = 16
   29442             :                         // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29443             : /* 56013*/            /*Scope*/ 22, /*->56036*/
   29444             : /* 56014*/              OPC_MoveChild0,
   29445             : /* 56015*/              OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29446             : /* 56018*/              OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29447             : /* 56020*/              OPC_MoveParent,
   29448             : /* 56021*/              OPC_CheckChild1Same, 1,
   29449             : /* 56023*/              OPC_MoveParent,
   29450             : /* 56024*/              OPC_MoveParent,
   29451             : /* 56025*/              OPC_CheckType, MVT::v2i64,
   29452             : /* 56027*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29453             :                             MVT::v2i64, 3/*#Ops*/, 0, 2, 1, 
   29454             :                         // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c))) - Complexity = 16
   29455             :                         // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29456             : /* 56036*/            0, /*End of Scope*/
   29457             : /* 56037*/          0, /*End of Scope*/
   29458             : /* 56038*/        0, /*End of Scope*/
   29459             : /* 56039*/      /*Scope*/ 106, /*->56146*/
   29460             : /* 56040*/        OPC_MoveChild0,
   29461             : /* 56041*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29462             : /* 56044*/        OPC_Scope, 49, /*->56095*/ // 2 children in Scope
   29463             : /* 56046*/          OPC_RecordChild0, // #0 = $c
   29464             : /* 56047*/          OPC_MoveChild1,
   29465             : /* 56048*/          OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29466             : /* 56051*/          OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29467             : /* 56053*/          OPC_MoveParent,
   29468             : /* 56054*/          OPC_MoveParent,
   29469             : /* 56055*/          OPC_RecordChild1, // #1 = $v2
   29470             : /* 56056*/          OPC_MoveParent,
   29471             : /* 56057*/          OPC_MoveChild1,
   29472             : /* 56058*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29473             : /* 56061*/          OPC_Scope, 15, /*->56078*/ // 2 children in Scope
   29474             : /* 56063*/            OPC_CheckChild0Same, 0,
   29475             : /* 56065*/            OPC_RecordChild1, // #2 = $v1
   29476             : /* 56066*/            OPC_MoveParent,
   29477             : /* 56067*/            OPC_CheckType, MVT::v2i64,
   29478             : /* 56069*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29479             :                           MVT::v2i64, 3/*#Ops*/, 2, 1, 0, 
   29480             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
   29481             :                       // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29482             : /* 56078*/          /*Scope*/ 15, /*->56094*/
   29483             : /* 56079*/            OPC_RecordChild0, // #2 = $v1
   29484             : /* 56080*/            OPC_CheckChild1Same, 0,
   29485             : /* 56082*/            OPC_MoveParent,
   29486             : /* 56083*/            OPC_CheckType, MVT::v2i64,
   29487             : /* 56085*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29488             :                           MVT::v2i64, 3/*#Ops*/, 2, 1, 0, 
   29489             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
   29490             :                       // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29491             : /* 56094*/          0, /*End of Scope*/
   29492             : /* 56095*/        /*Scope*/ 49, /*->56145*/
   29493             : /* 56096*/          OPC_MoveChild0,
   29494             : /* 56097*/          OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29495             : /* 56100*/          OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29496             : /* 56102*/          OPC_MoveParent,
   29497             : /* 56103*/          OPC_RecordChild1, // #0 = $c
   29498             : /* 56104*/          OPC_MoveParent,
   29499             : /* 56105*/          OPC_RecordChild1, // #1 = $v2
   29500             : /* 56106*/          OPC_MoveParent,
   29501             : /* 56107*/          OPC_MoveChild1,
   29502             : /* 56108*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29503             : /* 56111*/          OPC_Scope, 15, /*->56128*/ // 2 children in Scope
   29504             : /* 56113*/            OPC_CheckChild0Same, 0,
   29505             : /* 56115*/            OPC_RecordChild1, // #2 = $v1
   29506             : /* 56116*/            OPC_MoveParent,
   29507             : /* 56117*/            OPC_CheckType, MVT::v2i64,
   29508             : /* 56119*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29509             :                           MVT::v2i64, 3/*#Ops*/, 2, 1, 0, 
   29510             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
   29511             :                       // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29512             : /* 56128*/          /*Scope*/ 15, /*->56144*/
   29513             : /* 56129*/            OPC_RecordChild0, // #2 = $v1
   29514             : /* 56130*/            OPC_CheckChild1Same, 0,
   29515             : /* 56132*/            OPC_MoveParent,
   29516             : /* 56133*/            OPC_CheckType, MVT::v2i64,
   29517             : /* 56135*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29518             :                           MVT::v2i64, 3/*#Ops*/, 2, 1, 0, 
   29519             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c), V128:{ *:[v2i64] }:$v2), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
   29520             :                       // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29521             : /* 56144*/          0, /*End of Scope*/
   29522             : /* 56145*/        0, /*End of Scope*/
   29523             : /* 56146*/      /*Scope*/ 105, /*->56252*/
   29524             : /* 56147*/        OPC_RecordChild0, // #0 = $v2
   29525             : /* 56148*/        OPC_MoveChild1,
   29526             : /* 56149*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   29527             : /* 56152*/        OPC_Scope, 48, /*->56202*/ // 2 children in Scope
   29528             : /* 56154*/          OPC_RecordChild0, // #1 = $c
   29529             : /* 56155*/          OPC_MoveChild1,
   29530             : /* 56156*/          OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29531             : /* 56159*/          OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29532             : /* 56161*/          OPC_MoveParent,
   29533             : /* 56162*/          OPC_MoveParent,
   29534             : /* 56163*/          OPC_MoveParent,
   29535             : /* 56164*/          OPC_MoveChild1,
   29536             : /* 56165*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29537             : /* 56168*/          OPC_Scope, 15, /*->56185*/ // 2 children in Scope
   29538             : /* 56170*/            OPC_CheckChild0Same, 1,
   29539             : /* 56172*/            OPC_RecordChild1, // #2 = $v1
   29540             : /* 56173*/            OPC_MoveParent,
   29541             : /* 56174*/            OPC_CheckType, MVT::v2i64,
   29542             : /* 56176*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29543             :                           MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
   29544             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
   29545             :                       // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29546             : /* 56185*/          /*Scope*/ 15, /*->56201*/
   29547             : /* 56186*/            OPC_RecordChild0, // #2 = $v1
   29548             : /* 56187*/            OPC_CheckChild1Same, 1,
   29549             : /* 56189*/            OPC_MoveParent,
   29550             : /* 56190*/            OPC_CheckType, MVT::v2i64,
   29551             : /* 56192*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29552             :                           MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
   29553             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
   29554             :                       // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29555             : /* 56201*/          0, /*End of Scope*/
   29556             : /* 56202*/        /*Scope*/ 48, /*->56251*/
   29557             : /* 56203*/          OPC_MoveChild0,
   29558             : /* 56204*/          OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29559             : /* 56207*/          OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29560             : /* 56209*/          OPC_MoveParent,
   29561             : /* 56210*/          OPC_RecordChild1, // #1 = $c
   29562             : /* 56211*/          OPC_MoveParent,
   29563             : /* 56212*/          OPC_MoveParent,
   29564             : /* 56213*/          OPC_MoveChild1,
   29565             : /* 56214*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   29566             : /* 56217*/          OPC_Scope, 15, /*->56234*/ // 2 children in Scope
   29567             : /* 56219*/            OPC_CheckChild0Same, 1,
   29568             : /* 56221*/            OPC_RecordChild1, // #2 = $v1
   29569             : /* 56222*/            OPC_MoveParent,
   29570             : /* 56223*/            OPC_CheckType, MVT::v2i64,
   29571             : /* 56225*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29572             :                           MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
   29573             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$c, V128:{ *:[v2i64] }:$v1)) - Complexity = 16
   29574             :                       // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29575             : /* 56234*/          /*Scope*/ 15, /*->56250*/
   29576             : /* 56235*/            OPC_RecordChild0, // #2 = $v1
   29577             : /* 56236*/            OPC_CheckChild1Same, 1,
   29578             : /* 56238*/            OPC_MoveParent,
   29579             : /* 56239*/            OPC_CheckType, MVT::v2i64,
   29580             : /* 56241*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::BITSELECT_v2i64), 0,
   29581             :                           MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
   29582             :                       // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v2, (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$c)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$c)) - Complexity = 16
   29583             :                       // Dst: (BITSELECT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$v1, V128:{ *:[v2i64] }:$v2, V128:{ *:[v2i64] }:$c)
   29584             : /* 56250*/          0, /*End of Scope*/
   29585             : /* 56251*/        0, /*End of Scope*/
   29586             : /* 56252*/      0, /*End of Scope*/
   29587             : /* 56253*/    /*Scope*/ 52, /*->56306*/
   29588             : /* 56254*/      OPC_RecordChild0, // #0 = $lhs
   29589             : /* 56255*/      OPC_RecordChild1, // #1 = $rhs
   29590             : /* 56256*/      OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->56269
   29591             : /* 56259*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29592             : /* 56261*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_v16i8), 0,
   29593             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   29594             :                   // Src: (or:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
   29595             :                   // Dst: (OR_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   29596             : /* 56269*/      /*SwitchType*/ 10, MVT::v8i16,// ->56281
   29597             : /* 56271*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29598             : /* 56273*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_v8i16), 0,
   29599             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   29600             :                   // Src: (or:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
   29601             :                   // Dst: (OR_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   29602             : /* 56281*/      /*SwitchType*/ 10, MVT::v4i32,// ->56293
   29603             : /* 56283*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29604             : /* 56285*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_v4i32), 0,
   29605             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   29606             :                   // Src: (or:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
   29607             :                   // Dst: (OR_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   29608             : /* 56293*/      /*SwitchType*/ 10, MVT::v2i64,// ->56305
   29609             : /* 56295*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29610             : /* 56297*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::OR_v2i64), 0,
   29611             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   29612             :                   // Src: (or:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
   29613             :                   // Dst: (OR_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
   29614             : /* 56305*/      0, // EndSwitchType
   29615             : /* 56306*/    0, /*End of Scope*/
   29616             : /* 56307*/  /*SwitchOpcode*/ 64|128,1/*192*/, TARGET_VAL(ISD::XOR),// ->56503
   29617             : /* 56311*/    OPC_Scope, 81, /*->56394*/ // 3 children in Scope
   29618             : /* 56313*/      OPC_RecordChild0, // #0 = $lhs
   29619             : /* 56314*/      OPC_Scope, 23, /*->56339*/ // 2 children in Scope
   29620             : /* 56316*/        OPC_RecordChild1, // #1 = $rhs
   29621             : /* 56317*/        OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->56328
   29622             : /* 56320*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_I32), 0,
   29623             :                         MVT::i32, 2/*#Ops*/, 0, 1, 
   29624             :                     // Src: (xor:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   29625             :                     // Dst: (XOR_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   29626             : /* 56328*/        /*SwitchType*/ 8, MVT::i64,// ->56338
   29627             : /* 56330*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_I64), 0,
   29628             :                         MVT::i64, 2/*#Ops*/, 0, 1, 
   29629             :                     // Src: (xor:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   29630             :                     // Dst: (XOR_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   29631             : /* 56338*/        0, // EndSwitchType
   29632             : /* 56339*/      /*Scope*/ 53, /*->56393*/
   29633             : /* 56340*/        OPC_MoveChild1,
   29634             : /* 56341*/        OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29635             : /* 56344*/        OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29636             : /* 56346*/        OPC_MoveParent,
   29637             : /* 56347*/        OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->56359
   29638             : /* 56350*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29639             : /* 56352*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v16i8), 0,
   29640             :                         MVT::v16i8, 1/*#Ops*/, 0, 
   29641             :                     // Src: (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>) - Complexity = 7
   29642             :                     // Dst: (NOT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec)
   29643             : /* 56359*/        /*SwitchType*/ 9, MVT::v8i16,// ->56370
   29644             : /* 56361*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29645             : /* 56363*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v8i16), 0,
   29646             :                         MVT::v8i16, 1/*#Ops*/, 0, 
   29647             :                     // Src: (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>) - Complexity = 7
   29648             :                     // Dst: (NOT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec)
   29649             : /* 56370*/        /*SwitchType*/ 9, MVT::v4i32,// ->56381
   29650             : /* 56372*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29651             : /* 56374*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v4i32), 0,
   29652             :                         MVT::v4i32, 1/*#Ops*/, 0, 
   29653             :                     // Src: (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>) - Complexity = 7
   29654             :                     // Dst: (NOT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec)
   29655             : /* 56381*/        /*SwitchType*/ 9, MVT::v2i64,// ->56392
   29656             : /* 56383*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29657             : /* 56385*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v2i64), 0,
   29658             :                         MVT::v2i64, 1/*#Ops*/, 0, 
   29659             :                     // Src: (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>) - Complexity = 7
   29660             :                     // Dst: (NOT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec)
   29661             : /* 56392*/        0, // EndSwitchType
   29662             : /* 56393*/      0, /*End of Scope*/
   29663             : /* 56394*/    /*Scope*/ 54, /*->56449*/
   29664             : /* 56395*/      OPC_MoveChild0,
   29665             : /* 56396*/      OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29666             : /* 56399*/      OPC_CheckPredicate, 26, // Predicate_immAllOnesV
   29667             : /* 56401*/      OPC_MoveParent,
   29668             : /* 56402*/      OPC_RecordChild1, // #0 = $vec
   29669             : /* 56403*/      OPC_SwitchType /*4 cases */, 9, MVT::v16i8,// ->56415
   29670             : /* 56406*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29671             : /* 56408*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v16i8), 0,
   29672             :                       MVT::v16i8, 1/*#Ops*/, 0, 
   29673             :                   // Src: (xor:{ *:[v16i8] } (build_vector:{ *:[v16i8] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v16i8] }:$vec) - Complexity = 7
   29674             :                   // Dst: (NOT_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec)
   29675             : /* 56415*/      /*SwitchType*/ 9, MVT::v8i16,// ->56426
   29676             : /* 56417*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29677             : /* 56419*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v8i16), 0,
   29678             :                       MVT::v8i16, 1/*#Ops*/, 0, 
   29679             :                   // Src: (xor:{ *:[v8i16] } (build_vector:{ *:[v8i16] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v8i16] }:$vec) - Complexity = 7
   29680             :                   // Dst: (NOT_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec)
   29681             : /* 56426*/      /*SwitchType*/ 9, MVT::v4i32,// ->56437
   29682             : /* 56428*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29683             : /* 56430*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v4i32), 0,
   29684             :                       MVT::v4i32, 1/*#Ops*/, 0, 
   29685             :                   // Src: (xor:{ *:[v4i32] } (build_vector:{ *:[v4i32] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v4i32] }:$vec) - Complexity = 7
   29686             :                   // Dst: (NOT_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec)
   29687             : /* 56437*/      /*SwitchType*/ 9, MVT::v2i64,// ->56448
   29688             : /* 56439*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29689             : /* 56441*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NOT_v2i64), 0,
   29690             :                       MVT::v2i64, 1/*#Ops*/, 0, 
   29691             :                   // Src: (xor:{ *:[v2i64] } (build_vector:{ *:[v2i64] })<<P:Predicate_immAllOnesV>>, V128:{ *:[v2i64] }:$vec) - Complexity = 7
   29692             :                   // Dst: (NOT_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec)
   29693             : /* 56448*/      0, // EndSwitchType
   29694             : /* 56449*/    /*Scope*/ 52, /*->56502*/
   29695             : /* 56450*/      OPC_RecordChild0, // #0 = $lhs
   29696             : /* 56451*/      OPC_RecordChild1, // #1 = $rhs
   29697             : /* 56452*/      OPC_SwitchType /*4 cases */, 10, MVT::v16i8,// ->56465
   29698             : /* 56455*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29699             : /* 56457*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_v16i8), 0,
   29700             :                       MVT::v16i8, 2/*#Ops*/, 0, 1, 
   29701             :                   // Src: (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs) - Complexity = 3
   29702             :                   // Dst: (XOR_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$lhs, V128:{ *:[v16i8] }:$rhs)
   29703             : /* 56465*/      /*SwitchType*/ 10, MVT::v8i16,// ->56477
   29704             : /* 56467*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29705             : /* 56469*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_v8i16), 0,
   29706             :                       MVT::v8i16, 2/*#Ops*/, 0, 1, 
   29707             :                   // Src: (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs) - Complexity = 3
   29708             :                   // Dst: (XOR_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$lhs, V128:{ *:[v8i16] }:$rhs)
   29709             : /* 56477*/      /*SwitchType*/ 10, MVT::v4i32,// ->56489
   29710             : /* 56479*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29711             : /* 56481*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_v4i32), 0,
   29712             :                       MVT::v4i32, 2/*#Ops*/, 0, 1, 
   29713             :                   // Src: (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs) - Complexity = 3
   29714             :                   // Dst: (XOR_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$lhs, V128:{ *:[v4i32] }:$rhs)
   29715             : /* 56489*/      /*SwitchType*/ 10, MVT::v2i64,// ->56501
   29716             : /* 56491*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29717             : /* 56493*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::XOR_v2i64), 0,
   29718             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   29719             :                   // Src: (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs) - Complexity = 3
   29720             :                   // Dst: (XOR_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$lhs, V128:{ *:[v2i64] }:$rhs)
   29721             : /* 56501*/      0, // EndSwitchType
   29722             : /* 56502*/    0, /*End of Scope*/
   29723             : /* 56503*/  /*SwitchOpcode*/ 88|128,1/*216*/, TARGET_VAL(ISD::SHL),// ->56723
   29724             : /* 56507*/    OPC_RecordChild0, // #0 = $lhs
   29725             : /* 56508*/    OPC_Scope, 27, /*->56537*/ // 2 children in Scope
   29726             : /* 56510*/      OPC_RecordChild1, // #1 = $rhs
   29727             : /* 56511*/      OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->56524
   29728             : /* 56514*/        OPC_CheckChild1Type, MVT::i32,
   29729             : /* 56516*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_I32), 0,
   29730             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   29731             :                   // Src: (shl:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   29732             :                   // Dst: (SHL_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   29733             : /* 56524*/      /*SwitchType*/ 10, MVT::i64,// ->56536
   29734             : /* 56526*/        OPC_CheckChild1Type, MVT::i64,
   29735             : /* 56528*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_I64), 0,
   29736             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
   29737             :                   // Src: (shl:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   29738             :                   // Dst: (SHL_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   29739             : /* 56536*/      0, // EndSwitchType
   29740             : /* 56537*/    /*Scope*/ 55|128,1/*183*/, /*->56722*/
   29741             : /* 56539*/      OPC_MoveChild1,
   29742             : /* 56540*/      OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29743             : /* 56543*/      OPC_Scope, 28, /*->56573*/ // 2 children in Scope
   29744             : /* 56545*/        OPC_MoveChild0,
   29745             : /* 56546*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   29746             : /* 56549*/        OPC_RecordChild0, // #1 = $x
   29747             : /* 56550*/        OPC_MoveParent,
   29748             : /* 56551*/        OPC_MoveChild1,
   29749             : /* 56552*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   29750             : /* 56555*/        OPC_CheckChild0Same, 1,
   29751             : /* 56557*/        OPC_MoveParent,
   29752             : /* 56558*/        OPC_CheckType, MVT::v2i64,
   29753             : /* 56560*/        OPC_MoveParent,
   29754             : /* 56561*/        OPC_CheckType, MVT::v2i64,
   29755             : /* 56563*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29756             : /* 56565*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_v2i64), 0,
   29757             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   29758             :                   // Src: (shl:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } (zext:{ *:[i64] } I32:{ *:[i32] }:$x), (zext:{ *:[i64] } I32:{ *:[i32] }:$x))) - Complexity = 12
   29759             :                   // Dst: (SHL_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x)
   29760             : /* 56573*/      /*Scope*/ 18|128,1/*146*/, /*->56721*/
   29761             : /* 56575*/        OPC_RecordChild0, // #1 = $x
   29762             : /* 56576*/        OPC_Scope, 117, /*->56695*/ // 2 children in Scope
   29763             : /* 56578*/          OPC_CheckChild0Type, MVT::i32,
   29764             : /* 56580*/          OPC_CheckChild1Same, 1,
   29765             : /* 56582*/          OPC_CheckChild2Same, 1,
   29766             : /* 56584*/          OPC_CheckChild3Same, 1,
   29767             : /* 56586*/          OPC_Scope, 90, /*->56678*/ // 2 children in Scope
   29768             : /* 56588*/            OPC_MoveChild4,
   29769             : /* 56589*/            OPC_CheckSame, 1,
   29770             : /* 56591*/            OPC_MoveParent,
   29771             : /* 56592*/            OPC_MoveChild5,
   29772             : /* 56593*/            OPC_CheckSame, 1,
   29773             : /* 56595*/            OPC_MoveParent,
   29774             : /* 56596*/            OPC_MoveChild6,
   29775             : /* 56597*/            OPC_CheckSame, 1,
   29776             : /* 56599*/            OPC_MoveParent,
   29777             : /* 56600*/            OPC_MoveChild7,
   29778             : /* 56601*/            OPC_CheckSame, 1,
   29779             : /* 56603*/            OPC_MoveParent,
   29780             : /* 56604*/            OPC_Scope, 55, /*->56661*/ // 2 children in Scope
   29781             : /* 56606*/              OPC_MoveChild, 8,
   29782             : /* 56608*/              OPC_CheckSame, 1,
   29783             : /* 56610*/              OPC_MoveParent,
   29784             : /* 56611*/              OPC_MoveChild, 9,
   29785             : /* 56613*/              OPC_CheckSame, 1,
   29786             : /* 56615*/              OPC_MoveParent,
   29787             : /* 56616*/              OPC_MoveChild, 10,
   29788             : /* 56618*/              OPC_CheckSame, 1,
   29789             : /* 56620*/              OPC_MoveParent,
   29790             : /* 56621*/              OPC_MoveChild, 11,
   29791             : /* 56623*/              OPC_CheckSame, 1,
   29792             : /* 56625*/              OPC_MoveParent,
   29793             : /* 56626*/              OPC_MoveChild, 12,
   29794             : /* 56628*/              OPC_CheckSame, 1,
   29795             : /* 56630*/              OPC_MoveParent,
   29796             : /* 56631*/              OPC_MoveChild, 13,
   29797             : /* 56633*/              OPC_CheckSame, 1,
   29798             : /* 56635*/              OPC_MoveParent,
   29799             : /* 56636*/              OPC_MoveChild, 14,
   29800             : /* 56638*/              OPC_CheckSame, 1,
   29801             : /* 56640*/              OPC_MoveParent,
   29802             : /* 56641*/              OPC_MoveChild, 15,
   29803             : /* 56643*/              OPC_CheckSame, 1,
   29804             : /* 56645*/              OPC_MoveParent,
   29805             : /* 56646*/              OPC_CheckType, MVT::v16i8,
   29806             : /* 56648*/              OPC_MoveParent,
   29807             : /* 56649*/              OPC_CheckType, MVT::v16i8,
   29808             : /* 56651*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29809             : /* 56653*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_v16i8), 0,
   29810             :                             MVT::v16i8, 2/*#Ops*/, 0, 1, 
   29811             :                         // Src: (shl:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, (build_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
   29812             :                         // Dst: (SHL_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x)
   29813             : /* 56661*/            /*Scope*/ 15, /*->56677*/
   29814             : /* 56662*/              OPC_CheckType, MVT::v8i16,
   29815             : /* 56664*/              OPC_MoveParent,
   29816             : /* 56665*/              OPC_CheckType, MVT::v8i16,
   29817             : /* 56667*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29818             : /* 56669*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_v8i16), 0,
   29819             :                             MVT::v8i16, 2/*#Ops*/, 0, 1, 
   29820             :                         // Src: (shl:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, (build_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
   29821             :                         // Dst: (SHL_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x)
   29822             : /* 56677*/            0, /*End of Scope*/
   29823             : /* 56678*/          /*Scope*/ 15, /*->56694*/
   29824             : /* 56679*/            OPC_CheckType, MVT::v4i32,
   29825             : /* 56681*/            OPC_MoveParent,
   29826             : /* 56682*/            OPC_CheckType, MVT::v4i32,
   29827             : /* 56684*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29828             : /* 56686*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_v4i32), 0,
   29829             :                           MVT::v4i32, 2/*#Ops*/, 0, 1, 
   29830             :                       // Src: (shl:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, (build_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
   29831             :                       // Dst: (SHL_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x)
   29832             : /* 56694*/          0, /*End of Scope*/
   29833             : /* 56695*/        /*Scope*/ 24, /*->56720*/
   29834             : /* 56696*/          OPC_CheckChild0Type, MVT::i64,
   29835             : /* 56698*/          OPC_CheckChild1Same, 1,
   29836             : /* 56700*/          OPC_CheckType, MVT::v2i64,
   29837             : /* 56702*/          OPC_MoveParent,
   29838             : /* 56703*/          OPC_CheckType, MVT::v2i64,
   29839             : /* 56705*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::I32_WRAP_I64), 0,
   29840             :                         MVT::i32, 1/*#Ops*/, 1,  // Results = #2
   29841             : /* 56712*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHL_v2i64), 0,
   29842             :                         MVT::v2i64, 2/*#Ops*/, 0, 2, 
   29843             :                     // Src: (shl:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x, I64:{ *:[i64] }:$x)) - Complexity = 6
   29844             :                     // Dst: (SHL_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (I32_WRAP_I64:{ *:[i32] } I64:{ *:[i64] }:$x))
   29845             : /* 56720*/        0, /*End of Scope*/
   29846             : /* 56721*/      0, /*End of Scope*/
   29847             : /* 56722*/    0, /*End of Scope*/
   29848             : /* 56723*/  /*SwitchOpcode*/ 88|128,1/*216*/, TARGET_VAL(ISD::SRA),// ->56943
   29849             : /* 56727*/    OPC_RecordChild0, // #0 = $lhs
   29850             : /* 56728*/    OPC_Scope, 27, /*->56757*/ // 2 children in Scope
   29851             : /* 56730*/      OPC_RecordChild1, // #1 = $rhs
   29852             : /* 56731*/      OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->56744
   29853             : /* 56734*/        OPC_CheckChild1Type, MVT::i32,
   29854             : /* 56736*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_I32), 0,
   29855             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   29856             :                   // Src: (sra:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   29857             :                   // Dst: (SHR_S_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   29858             : /* 56744*/      /*SwitchType*/ 10, MVT::i64,// ->56756
   29859             : /* 56746*/        OPC_CheckChild1Type, MVT::i64,
   29860             : /* 56748*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_I64), 0,
   29861             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
   29862             :                   // Src: (sra:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   29863             :                   // Dst: (SHR_S_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   29864             : /* 56756*/      0, // EndSwitchType
   29865             : /* 56757*/    /*Scope*/ 55|128,1/*183*/, /*->56942*/
   29866             : /* 56759*/      OPC_MoveChild1,
   29867             : /* 56760*/      OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29868             : /* 56763*/      OPC_Scope, 28, /*->56793*/ // 2 children in Scope
   29869             : /* 56765*/        OPC_MoveChild0,
   29870             : /* 56766*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   29871             : /* 56769*/        OPC_RecordChild0, // #1 = $x
   29872             : /* 56770*/        OPC_MoveParent,
   29873             : /* 56771*/        OPC_MoveChild1,
   29874             : /* 56772*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   29875             : /* 56775*/        OPC_CheckChild0Same, 1,
   29876             : /* 56777*/        OPC_MoveParent,
   29877             : /* 56778*/        OPC_CheckType, MVT::v2i64,
   29878             : /* 56780*/        OPC_MoveParent,
   29879             : /* 56781*/        OPC_CheckType, MVT::v2i64,
   29880             : /* 56783*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29881             : /* 56785*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_v2i64), 0,
   29882             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   29883             :                   // Src: (sra:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } (zext:{ *:[i64] } I32:{ *:[i32] }:$x), (zext:{ *:[i64] } I32:{ *:[i32] }:$x))) - Complexity = 12
   29884             :                   // Dst: (SHR_S_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x)
   29885             : /* 56793*/      /*Scope*/ 18|128,1/*146*/, /*->56941*/
   29886             : /* 56795*/        OPC_RecordChild0, // #1 = $x
   29887             : /* 56796*/        OPC_Scope, 117, /*->56915*/ // 2 children in Scope
   29888             : /* 56798*/          OPC_CheckChild0Type, MVT::i32,
   29889             : /* 56800*/          OPC_CheckChild1Same, 1,
   29890             : /* 56802*/          OPC_CheckChild2Same, 1,
   29891             : /* 56804*/          OPC_CheckChild3Same, 1,
   29892             : /* 56806*/          OPC_Scope, 90, /*->56898*/ // 2 children in Scope
   29893             : /* 56808*/            OPC_MoveChild4,
   29894             : /* 56809*/            OPC_CheckSame, 1,
   29895             : /* 56811*/            OPC_MoveParent,
   29896             : /* 56812*/            OPC_MoveChild5,
   29897             : /* 56813*/            OPC_CheckSame, 1,
   29898             : /* 56815*/            OPC_MoveParent,
   29899             : /* 56816*/            OPC_MoveChild6,
   29900             : /* 56817*/            OPC_CheckSame, 1,
   29901             : /* 56819*/            OPC_MoveParent,
   29902             : /* 56820*/            OPC_MoveChild7,
   29903             : /* 56821*/            OPC_CheckSame, 1,
   29904             : /* 56823*/            OPC_MoveParent,
   29905             : /* 56824*/            OPC_Scope, 55, /*->56881*/ // 2 children in Scope
   29906             : /* 56826*/              OPC_MoveChild, 8,
   29907             : /* 56828*/              OPC_CheckSame, 1,
   29908             : /* 56830*/              OPC_MoveParent,
   29909             : /* 56831*/              OPC_MoveChild, 9,
   29910             : /* 56833*/              OPC_CheckSame, 1,
   29911             : /* 56835*/              OPC_MoveParent,
   29912             : /* 56836*/              OPC_MoveChild, 10,
   29913             : /* 56838*/              OPC_CheckSame, 1,
   29914             : /* 56840*/              OPC_MoveParent,
   29915             : /* 56841*/              OPC_MoveChild, 11,
   29916             : /* 56843*/              OPC_CheckSame, 1,
   29917             : /* 56845*/              OPC_MoveParent,
   29918             : /* 56846*/              OPC_MoveChild, 12,
   29919             : /* 56848*/              OPC_CheckSame, 1,
   29920             : /* 56850*/              OPC_MoveParent,
   29921             : /* 56851*/              OPC_MoveChild, 13,
   29922             : /* 56853*/              OPC_CheckSame, 1,
   29923             : /* 56855*/              OPC_MoveParent,
   29924             : /* 56856*/              OPC_MoveChild, 14,
   29925             : /* 56858*/              OPC_CheckSame, 1,
   29926             : /* 56860*/              OPC_MoveParent,
   29927             : /* 56861*/              OPC_MoveChild, 15,
   29928             : /* 56863*/              OPC_CheckSame, 1,
   29929             : /* 56865*/              OPC_MoveParent,
   29930             : /* 56866*/              OPC_CheckType, MVT::v16i8,
   29931             : /* 56868*/              OPC_MoveParent,
   29932             : /* 56869*/              OPC_CheckType, MVT::v16i8,
   29933             : /* 56871*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29934             : /* 56873*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_v16i8), 0,
   29935             :                             MVT::v16i8, 2/*#Ops*/, 0, 1, 
   29936             :                         // Src: (sra:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, (build_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
   29937             :                         // Dst: (SHR_S_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x)
   29938             : /* 56881*/            /*Scope*/ 15, /*->56897*/
   29939             : /* 56882*/              OPC_CheckType, MVT::v8i16,
   29940             : /* 56884*/              OPC_MoveParent,
   29941             : /* 56885*/              OPC_CheckType, MVT::v8i16,
   29942             : /* 56887*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29943             : /* 56889*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_v8i16), 0,
   29944             :                             MVT::v8i16, 2/*#Ops*/, 0, 1, 
   29945             :                         // Src: (sra:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, (build_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
   29946             :                         // Dst: (SHR_S_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x)
   29947             : /* 56897*/            0, /*End of Scope*/
   29948             : /* 56898*/          /*Scope*/ 15, /*->56914*/
   29949             : /* 56899*/            OPC_CheckType, MVT::v4i32,
   29950             : /* 56901*/            OPC_MoveParent,
   29951             : /* 56902*/            OPC_CheckType, MVT::v4i32,
   29952             : /* 56904*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   29953             : /* 56906*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_v4i32), 0,
   29954             :                           MVT::v4i32, 2/*#Ops*/, 0, 1, 
   29955             :                       // Src: (sra:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, (build_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
   29956             :                       // Dst: (SHR_S_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x)
   29957             : /* 56914*/          0, /*End of Scope*/
   29958             : /* 56915*/        /*Scope*/ 24, /*->56940*/
   29959             : /* 56916*/          OPC_CheckChild0Type, MVT::i64,
   29960             : /* 56918*/          OPC_CheckChild1Same, 1,
   29961             : /* 56920*/          OPC_CheckType, MVT::v2i64,
   29962             : /* 56922*/          OPC_MoveParent,
   29963             : /* 56923*/          OPC_CheckType, MVT::v2i64,
   29964             : /* 56925*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::I32_WRAP_I64), 0,
   29965             :                         MVT::i32, 1/*#Ops*/, 1,  // Results = #2
   29966             : /* 56932*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_S_v2i64), 0,
   29967             :                         MVT::v2i64, 2/*#Ops*/, 0, 2, 
   29968             :                     // Src: (sra:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x, I64:{ *:[i64] }:$x)) - Complexity = 6
   29969             :                     // Dst: (SHR_S_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (I32_WRAP_I64:{ *:[i32] } I64:{ *:[i64] }:$x))
   29970             : /* 56940*/        0, /*End of Scope*/
   29971             : /* 56941*/      0, /*End of Scope*/
   29972             : /* 56942*/    0, /*End of Scope*/
   29973             : /* 56943*/  /*SwitchOpcode*/ 88|128,1/*216*/, TARGET_VAL(ISD::SRL),// ->57163
   29974             : /* 56947*/    OPC_RecordChild0, // #0 = $lhs
   29975             : /* 56948*/    OPC_Scope, 27, /*->56977*/ // 2 children in Scope
   29976             : /* 56950*/      OPC_RecordChild1, // #1 = $rhs
   29977             : /* 56951*/      OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->56964
   29978             : /* 56954*/        OPC_CheckChild1Type, MVT::i32,
   29979             : /* 56956*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_I32), 0,
   29980             :                       MVT::i32, 2/*#Ops*/, 0, 1, 
   29981             :                   // Src: (srl:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs) - Complexity = 3
   29982             :                   // Dst: (SHR_U_I32:{ *:[i32] } I32:{ *:[i32] }:$lhs, I32:{ *:[i32] }:$rhs)
   29983             : /* 56964*/      /*SwitchType*/ 10, MVT::i64,// ->56976
   29984             : /* 56966*/        OPC_CheckChild1Type, MVT::i64,
   29985             : /* 56968*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_I64), 0,
   29986             :                       MVT::i64, 2/*#Ops*/, 0, 1, 
   29987             :                   // Src: (srl:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs) - Complexity = 3
   29988             :                   // Dst: (SHR_U_I64:{ *:[i64] } I64:{ *:[i64] }:$lhs, I64:{ *:[i64] }:$rhs)
   29989             : /* 56976*/      0, // EndSwitchType
   29990             : /* 56977*/    /*Scope*/ 55|128,1/*183*/, /*->57162*/
   29991             : /* 56979*/      OPC_MoveChild1,
   29992             : /* 56980*/      OPC_CheckOpcode, TARGET_VAL(ISD::BUILD_VECTOR),
   29993             : /* 56983*/      OPC_Scope, 28, /*->57013*/ // 2 children in Scope
   29994             : /* 56985*/        OPC_MoveChild0,
   29995             : /* 56986*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   29996             : /* 56989*/        OPC_RecordChild0, // #1 = $x
   29997             : /* 56990*/        OPC_MoveParent,
   29998             : /* 56991*/        OPC_MoveChild1,
   29999             : /* 56992*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   30000             : /* 56995*/        OPC_CheckChild0Same, 1,
   30001             : /* 56997*/        OPC_MoveParent,
   30002             : /* 56998*/        OPC_CheckType, MVT::v2i64,
   30003             : /* 57000*/        OPC_MoveParent,
   30004             : /* 57001*/        OPC_CheckType, MVT::v2i64,
   30005             : /* 57003*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30006             : /* 57005*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_v2i64), 0,
   30007             :                       MVT::v2i64, 2/*#Ops*/, 0, 1, 
   30008             :                   // Src: (srl:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } (zext:{ *:[i64] } I32:{ *:[i32] }:$x), (zext:{ *:[i64] } I32:{ *:[i32] }:$x))) - Complexity = 12
   30009             :                   // Dst: (SHR_U_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I32:{ *:[i32] }:$x)
   30010             : /* 57013*/      /*Scope*/ 18|128,1/*146*/, /*->57161*/
   30011             : /* 57015*/        OPC_RecordChild0, // #1 = $x
   30012             : /* 57016*/        OPC_Scope, 117, /*->57135*/ // 2 children in Scope
   30013             : /* 57018*/          OPC_CheckChild0Type, MVT::i32,
   30014             : /* 57020*/          OPC_CheckChild1Same, 1,
   30015             : /* 57022*/          OPC_CheckChild2Same, 1,
   30016             : /* 57024*/          OPC_CheckChild3Same, 1,
   30017             : /* 57026*/          OPC_Scope, 90, /*->57118*/ // 2 children in Scope
   30018             : /* 57028*/            OPC_MoveChild4,
   30019             : /* 57029*/            OPC_CheckSame, 1,
   30020             : /* 57031*/            OPC_MoveParent,
   30021             : /* 57032*/            OPC_MoveChild5,
   30022             : /* 57033*/            OPC_CheckSame, 1,
   30023             : /* 57035*/            OPC_MoveParent,
   30024             : /* 57036*/            OPC_MoveChild6,
   30025             : /* 57037*/            OPC_CheckSame, 1,
   30026             : /* 57039*/            OPC_MoveParent,
   30027             : /* 57040*/            OPC_MoveChild7,
   30028             : /* 57041*/            OPC_CheckSame, 1,
   30029             : /* 57043*/            OPC_MoveParent,
   30030             : /* 57044*/            OPC_Scope, 55, /*->57101*/ // 2 children in Scope
   30031             : /* 57046*/              OPC_MoveChild, 8,
   30032             : /* 57048*/              OPC_CheckSame, 1,
   30033             : /* 57050*/              OPC_MoveParent,
   30034             : /* 57051*/              OPC_MoveChild, 9,
   30035             : /* 57053*/              OPC_CheckSame, 1,
   30036             : /* 57055*/              OPC_MoveParent,
   30037             : /* 57056*/              OPC_MoveChild, 10,
   30038             : /* 57058*/              OPC_CheckSame, 1,
   30039             : /* 57060*/              OPC_MoveParent,
   30040             : /* 57061*/              OPC_MoveChild, 11,
   30041             : /* 57063*/              OPC_CheckSame, 1,
   30042             : /* 57065*/              OPC_MoveParent,
   30043             : /* 57066*/              OPC_MoveChild, 12,
   30044             : /* 57068*/              OPC_CheckSame, 1,
   30045             : /* 57070*/              OPC_MoveParent,
   30046             : /* 57071*/              OPC_MoveChild, 13,
   30047             : /* 57073*/              OPC_CheckSame, 1,
   30048             : /* 57075*/              OPC_MoveParent,
   30049             : /* 57076*/              OPC_MoveChild, 14,
   30050             : /* 57078*/              OPC_CheckSame, 1,
   30051             : /* 57080*/              OPC_MoveParent,
   30052             : /* 57081*/              OPC_MoveChild, 15,
   30053             : /* 57083*/              OPC_CheckSame, 1,
   30054             : /* 57085*/              OPC_MoveParent,
   30055             : /* 57086*/              OPC_CheckType, MVT::v16i8,
   30056             : /* 57088*/              OPC_MoveParent,
   30057             : /* 57089*/              OPC_CheckType, MVT::v16i8,
   30058             : /* 57091*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30059             : /* 57093*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_v16i8), 0,
   30060             :                             MVT::v16i8, 2/*#Ops*/, 0, 1, 
   30061             :                         // Src: (srl:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, (build_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
   30062             :                         // Dst: (SHR_U_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x)
   30063             : /* 57101*/            /*Scope*/ 15, /*->57117*/
   30064             : /* 57102*/              OPC_CheckType, MVT::v8i16,
   30065             : /* 57104*/              OPC_MoveParent,
   30066             : /* 57105*/              OPC_CheckType, MVT::v8i16,
   30067             : /* 57107*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30068             : /* 57109*/              OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_v8i16), 0,
   30069             :                             MVT::v8i16, 2/*#Ops*/, 0, 1, 
   30070             :                         // Src: (srl:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, (build_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
   30071             :                         // Dst: (SHR_U_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x)
   30072             : /* 57117*/            0, /*End of Scope*/
   30073             : /* 57118*/          /*Scope*/ 15, /*->57134*/
   30074             : /* 57119*/            OPC_CheckType, MVT::v4i32,
   30075             : /* 57121*/            OPC_MoveParent,
   30076             : /* 57122*/            OPC_CheckType, MVT::v4i32,
   30077             : /* 57124*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30078             : /* 57126*/            OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_v4i32), 0,
   30079             :                           MVT::v4i32, 2/*#Ops*/, 0, 1, 
   30080             :                       // Src: (srl:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, (build_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x)) - Complexity = 6
   30081             :                       // Dst: (SHR_U_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x)
   30082             : /* 57134*/          0, /*End of Scope*/
   30083             : /* 57135*/        /*Scope*/ 24, /*->57160*/
   30084             : /* 57136*/          OPC_CheckChild0Type, MVT::i64,
   30085             : /* 57138*/          OPC_CheckChild1Same, 1,
   30086             : /* 57140*/          OPC_CheckType, MVT::v2i64,
   30087             : /* 57142*/          OPC_MoveParent,
   30088             : /* 57143*/          OPC_CheckType, MVT::v2i64,
   30089             : /* 57145*/          OPC_EmitNode1, TARGET_VAL(WebAssembly::I32_WRAP_I64), 0,
   30090             :                         MVT::i32, 1/*#Ops*/, 1,  // Results = #2
   30091             : /* 57152*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHR_U_v2i64), 0,
   30092             :                         MVT::v2i64, 2/*#Ops*/, 0, 2, 
   30093             :                     // Src: (srl:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (build_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x, I64:{ *:[i64] }:$x)) - Complexity = 6
   30094             :                     // Dst: (SHR_U_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (I32_WRAP_I64:{ *:[i32] } I64:{ *:[i64] }:$x))
   30095             : /* 57160*/        0, /*End of Scope*/
   30096             : /* 57161*/      0, /*End of Scope*/
   30097             : /* 57162*/    0, /*End of Scope*/
   30098             : /* 57163*/  /*SwitchOpcode*/ 21, TARGET_VAL(ISD::CTLZ),// ->57187
   30099             : /* 57166*/    OPC_RecordChild0, // #0 = $src
   30100             : /* 57167*/    OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->57177
   30101             : /* 57170*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CLZ_I32), 0,
   30102             :                     MVT::i32, 1/*#Ops*/, 0, 
   30103             :                 // Src: (ctlz:{ *:[i32] } I32:{ *:[i32] }:$src) - Complexity = 3
   30104             :                 // Dst: (CLZ_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
   30105             : /* 57177*/    /*SwitchType*/ 7, MVT::i64,// ->57186
   30106             : /* 57179*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CLZ_I64), 0,
   30107             :                     MVT::i64, 1/*#Ops*/, 0, 
   30108             :                 // Src: (ctlz:{ *:[i64] } I64:{ *:[i64] }:$src) - Complexity = 3
   30109             :                 // Dst: (CLZ_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
   30110             : /* 57186*/    0, // EndSwitchType
   30111             : /* 57187*/  /*SwitchOpcode*/ 21, TARGET_VAL(ISD::CTTZ),// ->57211
   30112             : /* 57190*/    OPC_RecordChild0, // #0 = $src
   30113             : /* 57191*/    OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->57201
   30114             : /* 57194*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CTZ_I32), 0,
   30115             :                     MVT::i32, 1/*#Ops*/, 0, 
   30116             :                 // Src: (cttz:{ *:[i32] } I32:{ *:[i32] }:$src) - Complexity = 3
   30117             :                 // Dst: (CTZ_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
   30118             : /* 57201*/    /*SwitchType*/ 7, MVT::i64,// ->57210
   30119             : /* 57203*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CTZ_I64), 0,
   30120             :                     MVT::i64, 1/*#Ops*/, 0, 
   30121             :                 // Src: (cttz:{ *:[i64] } I64:{ *:[i64] }:$src) - Complexity = 3
   30122             :                 // Dst: (CTZ_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
   30123             : /* 57210*/    0, // EndSwitchType
   30124             : /* 57211*/  /*SwitchOpcode*/ 21, TARGET_VAL(ISD::CTPOP),// ->57235
   30125             : /* 57214*/    OPC_RecordChild0, // #0 = $src
   30126             : /* 57215*/    OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->57225
   30127             : /* 57218*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::POPCNT_I32), 0,
   30128             :                     MVT::i32, 1/*#Ops*/, 0, 
   30129             :                 // Src: (ctpop:{ *:[i32] } I32:{ *:[i32] }:$src) - Complexity = 3
   30130             :                 // Dst: (POPCNT_I32:{ *:[i32] } I32:{ *:[i32] }:$src)
   30131             : /* 57225*/    /*SwitchType*/ 7, MVT::i64,// ->57234
   30132             : /* 57227*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::POPCNT_I64), 0,
   30133             :                     MVT::i64, 1/*#Ops*/, 0, 
   30134             :                 // Src: (ctpop:{ *:[i64] } I64:{ *:[i64] }:$src) - Complexity = 3
   30135             :                 // Dst: (POPCNT_I64:{ *:[i64] } I64:{ *:[i64] }:$src)
   30136             : /* 57234*/    0, // EndSwitchType
   30137             : /* 57235*/  /*SwitchOpcode*/ 8, TARGET_VAL(ISD::TRUNCATE),// ->57246
   30138             : /* 57238*/    OPC_RecordChild0, // #0 = $src
   30139             : /* 57239*/    OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_WRAP_I64), 0,
   30140             :                   MVT::i32, 1/*#Ops*/, 0, 
   30141             :               // Src: (trunc:{ *:[i32] } I64:{ *:[i64] }:$src) - Complexity = 3
   30142             :               // Dst: (I32_WRAP_I64:{ *:[i32] } I64:{ *:[i64] }:$src)
   30143             : /* 57246*/  /*SwitchOpcode*/ 8, TARGET_VAL(ISD::SIGN_EXTEND),// ->57257
   30144             : /* 57249*/    OPC_RecordChild0, // #0 = $src
   30145             : /* 57250*/    OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_EXTEND_S_I32), 0,
   30146             :                   MVT::i64, 1/*#Ops*/, 0, 
   30147             :               // Src: (sext:{ *:[i64] } I32:{ *:[i32] }:$src) - Complexity = 3
   30148             :               // Dst: (I64_EXTEND_S_I32:{ *:[i64] } I32:{ *:[i32] }:$src)
   30149             : /* 57257*/  /*SwitchOpcode*/ 5|128,1/*133*/, TARGET_VAL(ISD::FP_TO_SINT),// ->57394
   30150             : /* 57261*/    OPC_RecordChild0, // #0 = $src
   30151             : /* 57262*/    OPC_Scope, 52, /*->57316*/ // 4 children in Scope
   30152             : /* 57264*/      OPC_CheckChild0Type, MVT::f32,
   30153             : /* 57266*/      OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->57291
   30154             : /* 57269*/        OPC_Scope, 9, /*->57280*/ // 2 children in Scope
   30155             : /* 57271*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
   30156             : /* 57273*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F32), 0,
   30157             :                         MVT::i32, 1/*#Ops*/, 0, 
   30158             :                     // Src: (fp_to_sint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30159             :                     // Dst: (I32_TRUNC_S_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
   30160             : /* 57280*/        /*Scope*/ 9, /*->57290*/
   30161             : /* 57281*/          OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
   30162             : /* 57283*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F32), 0,
   30163             :                         MVT::i32, 1/*#Ops*/, 0, 
   30164             :                     // Src: (fp_to_sint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30165             :                     // Dst: (FP_TO_SINT_I32_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
   30166             : /* 57290*/        0, /*End of Scope*/
   30167             : /* 57291*/      /*SwitchType*/ 22, MVT::i64,// ->57315
   30168             : /* 57293*/        OPC_Scope, 9, /*->57304*/ // 2 children in Scope
   30169             : /* 57295*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
   30170             : /* 57297*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F32), 0,
   30171             :                         MVT::i64, 1/*#Ops*/, 0, 
   30172             :                     // Src: (fp_to_sint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
   30173             :                     // Dst: (I64_TRUNC_S_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
   30174             : /* 57304*/        /*Scope*/ 9, /*->57314*/
   30175             : /* 57305*/          OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
   30176             : /* 57307*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F32), 0,
   30177             :                         MVT::i64, 1/*#Ops*/, 0, 
   30178             :                     // Src: (fp_to_sint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
   30179             :                     // Dst: (FP_TO_SINT_I64_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
   30180             : /* 57314*/        0, /*End of Scope*/
   30181             : /* 57315*/      0, // EndSwitchType
   30182             : /* 57316*/    /*Scope*/ 52, /*->57369*/
   30183             : /* 57317*/      OPC_CheckChild0Type, MVT::f64,
   30184             : /* 57319*/      OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->57344
   30185             : /* 57322*/        OPC_Scope, 9, /*->57333*/ // 2 children in Scope
   30186             : /* 57324*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
   30187             : /* 57326*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_S_SAT_F64), 0,
   30188             :                         MVT::i32, 1/*#Ops*/, 0, 
   30189             :                     // Src: (fp_to_sint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
   30190             :                     // Dst: (I32_TRUNC_S_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
   30191             : /* 57333*/        /*Scope*/ 9, /*->57343*/
   30192             : /* 57334*/          OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
   30193             : /* 57336*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I32_F64), 0,
   30194             :                         MVT::i32, 1/*#Ops*/, 0, 
   30195             :                     // Src: (fp_to_sint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
   30196             :                     // Dst: (FP_TO_SINT_I32_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
   30197             : /* 57343*/        0, /*End of Scope*/
   30198             : /* 57344*/      /*SwitchType*/ 22, MVT::i64,// ->57368
   30199             : /* 57346*/        OPC_Scope, 9, /*->57357*/ // 2 children in Scope
   30200             : /* 57348*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
   30201             : /* 57350*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_S_SAT_F64), 0,
   30202             :                         MVT::i64, 1/*#Ops*/, 0, 
   30203             :                     // Src: (fp_to_sint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30204             :                     // Dst: (I64_TRUNC_S_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
   30205             : /* 57357*/        /*Scope*/ 9, /*->57367*/
   30206             : /* 57358*/          OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
   30207             : /* 57360*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_SINT_I64_F64), 0,
   30208             :                         MVT::i64, 1/*#Ops*/, 0, 
   30209             :                     // Src: (fp_to_sint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30210             :                     // Dst: (FP_TO_SINT_I64_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
   30211             : /* 57367*/        0, /*End of Scope*/
   30212             : /* 57368*/      0, // EndSwitchType
   30213             : /* 57369*/    /*Scope*/ 11, /*->57381*/
   30214             : /* 57370*/      OPC_CheckType, MVT::v4i32,
   30215             : /* 57372*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30216             : /* 57374*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_sint_v4i32_v4f32), 0,
   30217             :                     MVT::v4i32, 1/*#Ops*/, 0, 
   30218             :                 // Src: (fp_to_sint:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
   30219             :                 // Dst: (fp_to_sint_v4i32_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec)
   30220             : /* 57381*/    /*Scope*/ 11, /*->57393*/
   30221             : /* 57382*/      OPC_CheckType, MVT::v2i64,
   30222             : /* 57384*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30223             : /* 57386*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_sint_v2i64_v2f64), 0,
   30224             :                     MVT::v2i64, 1/*#Ops*/, 0, 
   30225             :                 // Src: (fp_to_sint:{ *:[v2i64] } V128:{ *:[v2f64] }:$vec) - Complexity = 3
   30226             :                 // Dst: (fp_to_sint_v2i64_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$vec)
   30227             : /* 57393*/    0, /*End of Scope*/
   30228             : /* 57394*/  /*SwitchOpcode*/ 5|128,1/*133*/, TARGET_VAL(ISD::FP_TO_UINT),// ->57531
   30229             : /* 57398*/    OPC_RecordChild0, // #0 = $src
   30230             : /* 57399*/    OPC_Scope, 52, /*->57453*/ // 4 children in Scope
   30231             : /* 57401*/      OPC_CheckChild0Type, MVT::f32,
   30232             : /* 57403*/      OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->57428
   30233             : /* 57406*/        OPC_Scope, 9, /*->57417*/ // 2 children in Scope
   30234             : /* 57408*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
   30235             : /* 57410*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F32), 0,
   30236             :                         MVT::i32, 1/*#Ops*/, 0, 
   30237             :                     // Src: (fp_to_uint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30238             :                     // Dst: (I32_TRUNC_U_SAT_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
   30239             : /* 57417*/        /*Scope*/ 9, /*->57427*/
   30240             : /* 57418*/          OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
   30241             : /* 57420*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F32), 0,
   30242             :                         MVT::i32, 1/*#Ops*/, 0, 
   30243             :                     // Src: (fp_to_uint:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30244             :                     // Dst: (FP_TO_UINT_I32_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
   30245             : /* 57427*/        0, /*End of Scope*/
   30246             : /* 57428*/      /*SwitchType*/ 22, MVT::i64,// ->57452
   30247             : /* 57430*/        OPC_Scope, 9, /*->57441*/ // 2 children in Scope
   30248             : /* 57432*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
   30249             : /* 57434*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F32), 0,
   30250             :                         MVT::i64, 1/*#Ops*/, 0, 
   30251             :                     // Src: (fp_to_uint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
   30252             :                     // Dst: (I64_TRUNC_U_SAT_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
   30253             : /* 57441*/        /*Scope*/ 9, /*->57451*/
   30254             : /* 57442*/          OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
   30255             : /* 57444*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F32), 0,
   30256             :                         MVT::i64, 1/*#Ops*/, 0, 
   30257             :                     // Src: (fp_to_uint:{ *:[i64] } F32:{ *:[f32] }:$src) - Complexity = 3
   30258             :                     // Dst: (FP_TO_UINT_I64_F32:{ *:[i64] } F32:{ *:[f32] }:$src)
   30259             : /* 57451*/        0, /*End of Scope*/
   30260             : /* 57452*/      0, // EndSwitchType
   30261             : /* 57453*/    /*Scope*/ 52, /*->57506*/
   30262             : /* 57454*/      OPC_CheckChild0Type, MVT::f64,
   30263             : /* 57456*/      OPC_SwitchType /*2 cases */, 22, MVT::i32,// ->57481
   30264             : /* 57459*/        OPC_Scope, 9, /*->57470*/ // 2 children in Scope
   30265             : /* 57461*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
   30266             : /* 57463*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_TRUNC_U_SAT_F64), 0,
   30267             :                         MVT::i32, 1/*#Ops*/, 0, 
   30268             :                     // Src: (fp_to_uint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
   30269             :                     // Dst: (I32_TRUNC_U_SAT_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
   30270             : /* 57470*/        /*Scope*/ 9, /*->57480*/
   30271             : /* 57471*/          OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
   30272             : /* 57473*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I32_F64), 0,
   30273             :                         MVT::i32, 1/*#Ops*/, 0, 
   30274             :                     // Src: (fp_to_uint:{ *:[i32] } F64:{ *:[f64] }:$src) - Complexity = 3
   30275             :                     // Dst: (FP_TO_UINT_I32_F64:{ *:[i32] } F64:{ *:[f64] }:$src)
   30276             : /* 57480*/        0, /*End of Scope*/
   30277             : /* 57481*/      /*SwitchType*/ 22, MVT::i64,// ->57505
   30278             : /* 57483*/        OPC_Scope, 9, /*->57494*/ // 2 children in Scope
   30279             : /* 57485*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasNontrappingFPToInt())
   30280             : /* 57487*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_TRUNC_U_SAT_F64), 0,
   30281             :                         MVT::i64, 1/*#Ops*/, 0, 
   30282             :                     // Src: (fp_to_uint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30283             :                     // Dst: (I64_TRUNC_U_SAT_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
   30284             : /* 57494*/        /*Scope*/ 9, /*->57504*/
   30285             : /* 57495*/          OPC_CheckPatternPredicate, 6, // (!Subtarget->hasNontrappingFPToInt())
   30286             : /* 57497*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FP_TO_UINT_I64_F64), 0,
   30287             :                         MVT::i64, 1/*#Ops*/, 0, 
   30288             :                     // Src: (fp_to_uint:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30289             :                     // Dst: (FP_TO_UINT_I64_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
   30290             : /* 57504*/        0, /*End of Scope*/
   30291             : /* 57505*/      0, // EndSwitchType
   30292             : /* 57506*/    /*Scope*/ 11, /*->57518*/
   30293             : /* 57507*/      OPC_CheckType, MVT::v4i32,
   30294             : /* 57509*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30295             : /* 57511*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_uint_v4i32_v4f32), 0,
   30296             :                     MVT::v4i32, 1/*#Ops*/, 0, 
   30297             :                 // Src: (fp_to_uint:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
   30298             :                 // Dst: (fp_to_uint_v4i32_v4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$vec)
   30299             : /* 57518*/    /*Scope*/ 11, /*->57530*/
   30300             : /* 57519*/      OPC_CheckType, MVT::v2i64,
   30301             : /* 57521*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30302             : /* 57523*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::fp_to_uint_v2i64_v2f64), 0,
   30303             :                     MVT::v2i64, 1/*#Ops*/, 0, 
   30304             :                 // Src: (fp_to_uint:{ *:[v2i64] } V128:{ *:[v2f64] }:$vec) - Complexity = 3
   30305             :                 // Dst: (fp_to_uint_v2i64_v2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$vec)
   30306             : /* 57530*/    0, /*End of Scope*/
   30307             : /* 57531*/  /*SwitchOpcode*/ 103|128,1/*231*/, TARGET_VAL(ISD::BITCAST),// ->57766
   30308             : /* 57535*/    OPC_RecordChild0, // #0 = $src
   30309             : /* 57536*/    OPC_Scope, 11, /*->57549*/ // 10 children in Scope
   30310             : /* 57538*/      OPC_CheckChild0Type, MVT::f32,
   30311             : /* 57540*/      OPC_CheckType, MVT::i32,
   30312             : /* 57542*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I32_REINTERPRET_F32), 0,
   30313             :                     MVT::i32, 1/*#Ops*/, 0, 
   30314             :                 // Src: (bitconvert:{ *:[i32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30315             :                 // Dst: (I32_REINTERPRET_F32:{ *:[i32] } F32:{ *:[f32] }:$src)
   30316             : /* 57549*/    /*Scope*/ 11, /*->57561*/
   30317             : /* 57550*/      OPC_CheckChild0Type, MVT::f64,
   30318             : /* 57552*/      OPC_CheckType, MVT::i64,
   30319             : /* 57554*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::I64_REINTERPRET_F64), 0,
   30320             :                     MVT::i64, 1/*#Ops*/, 0, 
   30321             :                 // Src: (bitconvert:{ *:[i64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30322             :                 // Dst: (I64_REINTERPRET_F64:{ *:[i64] } F64:{ *:[f64] }:$src)
   30323             : /* 57561*/    /*Scope*/ 11, /*->57573*/
   30324             : /* 57562*/      OPC_CheckChild0Type, MVT::i32,
   30325             : /* 57564*/      OPC_CheckType, MVT::f32,
   30326             : /* 57566*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_REINTERPRET_I32), 0,
   30327             :                     MVT::f32, 1/*#Ops*/, 0, 
   30328             :                 // Src: (bitconvert:{ *:[f32] } I32:{ *:[i32] }:$src) - Complexity = 3
   30329             :                 // Dst: (F32_REINTERPRET_I32:{ *:[f32] } I32:{ *:[i32] }:$src)
   30330             : /* 57573*/    /*Scope*/ 11, /*->57585*/
   30331             : /* 57574*/      OPC_CheckChild0Type, MVT::i64,
   30332             : /* 57576*/      OPC_CheckType, MVT::f64,
   30333             : /* 57578*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_REINTERPRET_I64), 0,
   30334             :                     MVT::f64, 1/*#Ops*/, 0, 
   30335             :                 // Src: (bitconvert:{ *:[f64] } I64:{ *:[i64] }:$src) - Complexity = 3
   30336             :                 // Dst: (F64_REINTERPRET_I64:{ *:[f64] } I64:{ *:[i64] }:$src)
   30337             : /* 57585*/    /*Scope*/ 29, /*->57615*/
   30338             : /* 57586*/      OPC_CheckChild0Type, MVT::v8i16,
   30339             : /* 57588*/      OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->57594
   30340             : /* 57591*/        OPC_CompleteMatch, 1, 0, 
   30341             :                    // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v8i16] }:$v) - Complexity = 3
   30342             :                    // Dst: V128:{ *:[v16i8] }:$v
   30343             : /* 57594*/      /*SwitchType*/ 3, MVT::v4i32,// ->57599
   30344             : /* 57596*/        OPC_CompleteMatch, 1, 0, 
   30345             :                    // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v8i16] }:$v) - Complexity = 3
   30346             :                    // Dst: V128:{ *:[v4i32] }:$v
   30347             : /* 57599*/      /*SwitchType*/ 3, MVT::v2i64,// ->57604
   30348             : /* 57601*/        OPC_CompleteMatch, 1, 0, 
   30349             :                    // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v8i16] }:$v) - Complexity = 3
   30350             :                    // Dst: V128:{ *:[v2i64] }:$v
   30351             : /* 57604*/      /*SwitchType*/ 3, MVT::v4f32,// ->57609
   30352             : /* 57606*/        OPC_CompleteMatch, 1, 0, 
   30353             :                    // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v8i16] }:$v) - Complexity = 3
   30354             :                    // Dst: V128:{ *:[v4f32] }:$v
   30355             : /* 57609*/      /*SwitchType*/ 3, MVT::v2f64,// ->57614
   30356             : /* 57611*/        OPC_CompleteMatch, 1, 0, 
   30357             :                    // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v8i16] }:$v) - Complexity = 3
   30358             :                    // Dst: V128:{ *:[v2f64] }:$v
   30359             : /* 57614*/      0, // EndSwitchType
   30360             : /* 57615*/    /*Scope*/ 29, /*->57645*/
   30361             : /* 57616*/      OPC_CheckChild0Type, MVT::v4i32,
   30362             : /* 57618*/      OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->57624
   30363             : /* 57621*/        OPC_CompleteMatch, 1, 0, 
   30364             :                    // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v4i32] }:$v) - Complexity = 3
   30365             :                    // Dst: V128:{ *:[v16i8] }:$v
   30366             : /* 57624*/      /*SwitchType*/ 3, MVT::v8i16,// ->57629
   30367             : /* 57626*/        OPC_CompleteMatch, 1, 0, 
   30368             :                    // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v4i32] }:$v) - Complexity = 3
   30369             :                    // Dst: V128:{ *:[v8i16] }:$v
   30370             : /* 57629*/      /*SwitchType*/ 3, MVT::v2i64,// ->57634
   30371             : /* 57631*/        OPC_CompleteMatch, 1, 0, 
   30372             :                    // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v4i32] }:$v) - Complexity = 3
   30373             :                    // Dst: V128:{ *:[v2i64] }:$v
   30374             : /* 57634*/      /*SwitchType*/ 3, MVT::v4f32,// ->57639
   30375             : /* 57636*/        OPC_CompleteMatch, 1, 0, 
   30376             :                    // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v4i32] }:$v) - Complexity = 3
   30377             :                    // Dst: V128:{ *:[v4f32] }:$v
   30378             : /* 57639*/      /*SwitchType*/ 3, MVT::v2f64,// ->57644
   30379             : /* 57641*/        OPC_CompleteMatch, 1, 0, 
   30380             :                    // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v4i32] }:$v) - Complexity = 3
   30381             :                    // Dst: V128:{ *:[v2f64] }:$v
   30382             : /* 57644*/      0, // EndSwitchType
   30383             : /* 57645*/    /*Scope*/ 29, /*->57675*/
   30384             : /* 57646*/      OPC_CheckChild0Type, MVT::v2i64,
   30385             : /* 57648*/      OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->57654
   30386             : /* 57651*/        OPC_CompleteMatch, 1, 0, 
   30387             :                    // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v2i64] }:$v) - Complexity = 3
   30388             :                    // Dst: V128:{ *:[v16i8] }:$v
   30389             : /* 57654*/      /*SwitchType*/ 3, MVT::v8i16,// ->57659
   30390             : /* 57656*/        OPC_CompleteMatch, 1, 0, 
   30391             :                    // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v2i64] }:$v) - Complexity = 3
   30392             :                    // Dst: V128:{ *:[v8i16] }:$v
   30393             : /* 57659*/      /*SwitchType*/ 3, MVT::v4i32,// ->57664
   30394             : /* 57661*/        OPC_CompleteMatch, 1, 0, 
   30395             :                    // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v2i64] }:$v) - Complexity = 3
   30396             :                    // Dst: V128:{ *:[v4i32] }:$v
   30397             : /* 57664*/      /*SwitchType*/ 3, MVT::v4f32,// ->57669
   30398             : /* 57666*/        OPC_CompleteMatch, 1, 0, 
   30399             :                    // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v2i64] }:$v) - Complexity = 3
   30400             :                    // Dst: V128:{ *:[v4f32] }:$v
   30401             : /* 57669*/      /*SwitchType*/ 3, MVT::v2f64,// ->57674
   30402             : /* 57671*/        OPC_CompleteMatch, 1, 0, 
   30403             :                    // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v2i64] }:$v) - Complexity = 3
   30404             :                    // Dst: V128:{ *:[v2f64] }:$v
   30405             : /* 57674*/      0, // EndSwitchType
   30406             : /* 57675*/    /*Scope*/ 29, /*->57705*/
   30407             : /* 57676*/      OPC_CheckChild0Type, MVT::v4f32,
   30408             : /* 57678*/      OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->57684
   30409             : /* 57681*/        OPC_CompleteMatch, 1, 0, 
   30410             :                    // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v4f32] }:$v) - Complexity = 3
   30411             :                    // Dst: V128:{ *:[v16i8] }:$v
   30412             : /* 57684*/      /*SwitchType*/ 3, MVT::v8i16,// ->57689
   30413             : /* 57686*/        OPC_CompleteMatch, 1, 0, 
   30414             :                    // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v4f32] }:$v) - Complexity = 3
   30415             :                    // Dst: V128:{ *:[v8i16] }:$v
   30416             : /* 57689*/      /*SwitchType*/ 3, MVT::v4i32,// ->57694
   30417             : /* 57691*/        OPC_CompleteMatch, 1, 0, 
   30418             :                    // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v4f32] }:$v) - Complexity = 3
   30419             :                    // Dst: V128:{ *:[v4i32] }:$v
   30420             : /* 57694*/      /*SwitchType*/ 3, MVT::v2i64,// ->57699
   30421             : /* 57696*/        OPC_CompleteMatch, 1, 0, 
   30422             :                    // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v4f32] }:$v) - Complexity = 3
   30423             :                    // Dst: V128:{ *:[v2i64] }:$v
   30424             : /* 57699*/      /*SwitchType*/ 3, MVT::v2f64,// ->57704
   30425             : /* 57701*/        OPC_CompleteMatch, 1, 0, 
   30426             :                    // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v4f32] }:$v) - Complexity = 3
   30427             :                    // Dst: V128:{ *:[v2f64] }:$v
   30428             : /* 57704*/      0, // EndSwitchType
   30429             : /* 57705*/    /*Scope*/ 29, /*->57735*/
   30430             : /* 57706*/      OPC_CheckChild0Type, MVT::v2f64,
   30431             : /* 57708*/      OPC_SwitchType /*5 cases */, 3, MVT::v16i8,// ->57714
   30432             : /* 57711*/        OPC_CompleteMatch, 1, 0, 
   30433             :                    // Src: (bitconvert:{ *:[v16i8] } V128:{ *:[v2f64] }:$v) - Complexity = 3
   30434             :                    // Dst: V128:{ *:[v16i8] }:$v
   30435             : /* 57714*/      /*SwitchType*/ 3, MVT::v8i16,// ->57719
   30436             : /* 57716*/        OPC_CompleteMatch, 1, 0, 
   30437             :                    // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v2f64] }:$v) - Complexity = 3
   30438             :                    // Dst: V128:{ *:[v8i16] }:$v
   30439             : /* 57719*/      /*SwitchType*/ 3, MVT::v4i32,// ->57724
   30440             : /* 57721*/        OPC_CompleteMatch, 1, 0, 
   30441             :                    // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v2f64] }:$v) - Complexity = 3
   30442             :                    // Dst: V128:{ *:[v4i32] }:$v
   30443             : /* 57724*/      /*SwitchType*/ 3, MVT::v2i64,// ->57729
   30444             : /* 57726*/        OPC_CompleteMatch, 1, 0, 
   30445             :                    // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v2f64] }:$v) - Complexity = 3
   30446             :                    // Dst: V128:{ *:[v2i64] }:$v
   30447             : /* 57729*/      /*SwitchType*/ 3, MVT::v4f32,// ->57734
   30448             : /* 57731*/        OPC_CompleteMatch, 1, 0, 
   30449             :                    // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v2f64] }:$v) - Complexity = 3
   30450             :                    // Dst: V128:{ *:[v4f32] }:$v
   30451             : /* 57734*/      0, // EndSwitchType
   30452             : /* 57735*/    /*Scope*/ 29, /*->57765*/
   30453             : /* 57736*/      OPC_CheckChild0Type, MVT::v16i8,
   30454             : /* 57738*/      OPC_SwitchType /*5 cases */, 3, MVT::v8i16,// ->57744
   30455             : /* 57741*/        OPC_CompleteMatch, 1, 0, 
   30456             :                    // Src: (bitconvert:{ *:[v8i16] } V128:{ *:[v16i8] }:$v) - Complexity = 3
   30457             :                    // Dst: V128:{ *:[v8i16] }:$v
   30458             : /* 57744*/      /*SwitchType*/ 3, MVT::v4i32,// ->57749
   30459             : /* 57746*/        OPC_CompleteMatch, 1, 0, 
   30460             :                    // Src: (bitconvert:{ *:[v4i32] } V128:{ *:[v16i8] }:$v) - Complexity = 3
   30461             :                    // Dst: V128:{ *:[v4i32] }:$v
   30462             : /* 57749*/      /*SwitchType*/ 3, MVT::v2i64,// ->57754
   30463             : /* 57751*/        OPC_CompleteMatch, 1, 0, 
   30464             :                    // Src: (bitconvert:{ *:[v2i64] } V128:{ *:[v16i8] }:$v) - Complexity = 3
   30465             :                    // Dst: V128:{ *:[v2i64] }:$v
   30466             : /* 57754*/      /*SwitchType*/ 3, MVT::v4f32,// ->57759
   30467             : /* 57756*/        OPC_CompleteMatch, 1, 0, 
   30468             :                    // Src: (bitconvert:{ *:[v4f32] } V128:{ *:[v16i8] }:$v) - Complexity = 3
   30469             :                    // Dst: V128:{ *:[v4f32] }:$v
   30470             : /* 57759*/      /*SwitchType*/ 3, MVT::v2f64,// ->57764
   30471             : /* 57761*/        OPC_CompleteMatch, 1, 0, 
   30472             :                    // Src: (bitconvert:{ *:[v2f64] } V128:{ *:[v16i8] }:$v) - Complexity = 3
   30473             :                    // Dst: V128:{ *:[v2f64] }:$v
   30474             : /* 57764*/      0, // EndSwitchType
   30475             : /* 57765*/    0, /*End of Scope*/
   30476             : /* 57766*/  /*SwitchOpcode*/ 25, TARGET_VAL(ISD::ConstantFP),// ->57794
   30477             : /* 57769*/    OPC_RecordNode, // #0 = $imm
   30478             : /* 57770*/    OPC_SwitchType /*2 cases */, 9, MVT::f32,// ->57782
   30479             : /* 57773*/      OPC_EmitConvertToTarget, 0,
   30480             : /* 57775*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_F32), 0,
   30481             :                     MVT::f32, 1/*#Ops*/, 1, 
   30482             :                 // Src: (fpimm:{ *:[f32] }):$imm - Complexity = 3
   30483             :                 // Dst: (CONST_F32:{ *:[f32] } (fpimm:{ *:[f32] }):$imm)
   30484             : /* 57782*/    /*SwitchType*/ 9, MVT::f64,// ->57793
   30485             : /* 57784*/      OPC_EmitConvertToTarget, 0,
   30486             : /* 57786*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_F64), 0,
   30487             :                     MVT::f64, 1/*#Ops*/, 1, 
   30488             :                 // Src: (fpimm:{ *:[f64] }):$imm - Complexity = 3
   30489             :                 // Dst: (CONST_F64:{ *:[f64] } (fpimm:{ *:[f64] }):$imm)
   30490             : /* 57793*/    0, // EndSwitchType
   30491             : /* 57794*/  /*SwitchOpcode*/ 73, TARGET_VAL(ISD::SINT_TO_FP),// ->57870
   30492             : /* 57797*/    OPC_RecordChild0, // #0 = $src
   30493             : /* 57798*/    OPC_Scope, 22, /*->57822*/ // 4 children in Scope
   30494             : /* 57800*/      OPC_CheckChild0Type, MVT::i32,
   30495             : /* 57802*/      OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->57812
   30496             : /* 57805*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_S_I32), 0,
   30497             :                       MVT::f32, 1/*#Ops*/, 0, 
   30498             :                   // Src: (sint_to_fp:{ *:[f32] } I32:{ *:[i32] }:$src) - Complexity = 3
   30499             :                   // Dst: (F32_CONVERT_S_I32:{ *:[f32] } I32:{ *:[i32] }:$src)
   30500             : /* 57812*/      /*SwitchType*/ 7, MVT::f64,// ->57821
   30501             : /* 57814*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_S_I32), 0,
   30502             :                       MVT::f64, 1/*#Ops*/, 0, 
   30503             :                   // Src: (sint_to_fp:{ *:[f64] } I32:{ *:[i32] }:$src) - Complexity = 3
   30504             :                   // Dst: (F64_CONVERT_S_I32:{ *:[f64] } I32:{ *:[i32] }:$src)
   30505             : /* 57821*/      0, // EndSwitchType
   30506             : /* 57822*/    /*Scope*/ 22, /*->57845*/
   30507             : /* 57823*/      OPC_CheckChild0Type, MVT::i64,
   30508             : /* 57825*/      OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->57835
   30509             : /* 57828*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_S_I64), 0,
   30510             :                       MVT::f32, 1/*#Ops*/, 0, 
   30511             :                   // Src: (sint_to_fp:{ *:[f32] } I64:{ *:[i64] }:$src) - Complexity = 3
   30512             :                   // Dst: (F32_CONVERT_S_I64:{ *:[f32] } I64:{ *:[i64] }:$src)
   30513             : /* 57835*/      /*SwitchType*/ 7, MVT::f64,// ->57844
   30514             : /* 57837*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_S_I64), 0,
   30515             :                       MVT::f64, 1/*#Ops*/, 0, 
   30516             :                   // Src: (sint_to_fp:{ *:[f64] } I64:{ *:[i64] }:$src) - Complexity = 3
   30517             :                   // Dst: (F64_CONVERT_S_I64:{ *:[f64] } I64:{ *:[i64] }:$src)
   30518             : /* 57844*/      0, // EndSwitchType
   30519             : /* 57845*/    /*Scope*/ 11, /*->57857*/
   30520             : /* 57846*/      OPC_CheckType, MVT::v4f32,
   30521             : /* 57848*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30522             : /* 57850*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::sint_to_fp_v4f32_v4i32), 0,
   30523             :                     MVT::v4f32, 1/*#Ops*/, 0, 
   30524             :                 // Src: (sint_to_fp:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec) - Complexity = 3
   30525             :                 // Dst: (sint_to_fp_v4f32_v4i32:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec)
   30526             : /* 57857*/    /*Scope*/ 11, /*->57869*/
   30527             : /* 57858*/      OPC_CheckType, MVT::v2f64,
   30528             : /* 57860*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30529             : /* 57862*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::sint_to_fp_v2f64_v2i64), 0,
   30530             :                     MVT::v2f64, 1/*#Ops*/, 0, 
   30531             :                 // Src: (sint_to_fp:{ *:[v2f64] } V128:{ *:[v2i64] }:$vec) - Complexity = 3
   30532             :                 // Dst: (sint_to_fp_v2f64_v2i64:{ *:[v2f64] } V128:{ *:[v2i64] }:$vec)
   30533             : /* 57869*/    0, /*End of Scope*/
   30534             : /* 57870*/  /*SwitchOpcode*/ 73, TARGET_VAL(ISD::UINT_TO_FP),// ->57946
   30535             : /* 57873*/    OPC_RecordChild0, // #0 = $src
   30536             : /* 57874*/    OPC_Scope, 22, /*->57898*/ // 4 children in Scope
   30537             : /* 57876*/      OPC_CheckChild0Type, MVT::i32,
   30538             : /* 57878*/      OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->57888
   30539             : /* 57881*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_U_I32), 0,
   30540             :                       MVT::f32, 1/*#Ops*/, 0, 
   30541             :                   // Src: (uint_to_fp:{ *:[f32] } I32:{ *:[i32] }:$src) - Complexity = 3
   30542             :                   // Dst: (F32_CONVERT_U_I32:{ *:[f32] } I32:{ *:[i32] }:$src)
   30543             : /* 57888*/      /*SwitchType*/ 7, MVT::f64,// ->57897
   30544             : /* 57890*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_U_I32), 0,
   30545             :                       MVT::f64, 1/*#Ops*/, 0, 
   30546             :                   // Src: (uint_to_fp:{ *:[f64] } I32:{ *:[i32] }:$src) - Complexity = 3
   30547             :                   // Dst: (F64_CONVERT_U_I32:{ *:[f64] } I32:{ *:[i32] }:$src)
   30548             : /* 57897*/      0, // EndSwitchType
   30549             : /* 57898*/    /*Scope*/ 22, /*->57921*/
   30550             : /* 57899*/      OPC_CheckChild0Type, MVT::i64,
   30551             : /* 57901*/      OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->57911
   30552             : /* 57904*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_CONVERT_U_I64), 0,
   30553             :                       MVT::f32, 1/*#Ops*/, 0, 
   30554             :                   // Src: (uint_to_fp:{ *:[f32] } I64:{ *:[i64] }:$src) - Complexity = 3
   30555             :                   // Dst: (F32_CONVERT_U_I64:{ *:[f32] } I64:{ *:[i64] }:$src)
   30556             : /* 57911*/      /*SwitchType*/ 7, MVT::f64,// ->57920
   30557             : /* 57913*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_CONVERT_U_I64), 0,
   30558             :                       MVT::f64, 1/*#Ops*/, 0, 
   30559             :                   // Src: (uint_to_fp:{ *:[f64] } I64:{ *:[i64] }:$src) - Complexity = 3
   30560             :                   // Dst: (F64_CONVERT_U_I64:{ *:[f64] } I64:{ *:[i64] }:$src)
   30561             : /* 57920*/      0, // EndSwitchType
   30562             : /* 57921*/    /*Scope*/ 11, /*->57933*/
   30563             : /* 57922*/      OPC_CheckType, MVT::v4f32,
   30564             : /* 57924*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30565             : /* 57926*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::uint_to_fp_v4f32_v4i32), 0,
   30566             :                     MVT::v4f32, 1/*#Ops*/, 0, 
   30567             :                 // Src: (uint_to_fp:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec) - Complexity = 3
   30568             :                 // Dst: (uint_to_fp_v4f32_v4i32:{ *:[v4f32] } V128:{ *:[v4i32] }:$vec)
   30569             : /* 57933*/    /*Scope*/ 11, /*->57945*/
   30570             : /* 57934*/      OPC_CheckType, MVT::v2f64,
   30571             : /* 57936*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30572             : /* 57938*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::uint_to_fp_v2f64_v2i64), 0,
   30573             :                     MVT::v2f64, 1/*#Ops*/, 0, 
   30574             :                 // Src: (uint_to_fp:{ *:[v2f64] } V128:{ *:[v2i64] }:$vec) - Complexity = 3
   30575             :                 // Dst: (uint_to_fp_v2f64_v2i64:{ *:[v2f64] } V128:{ *:[v2i64] }:$vec)
   30576             : /* 57945*/    0, /*End of Scope*/
   30577             : /* 57946*/  /*SwitchOpcode*/ 8, TARGET_VAL(ISD::FP_EXTEND),// ->57957
   30578             : /* 57949*/    OPC_RecordChild0, // #0 = $src
   30579             : /* 57950*/    OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F64_PROMOTE_F32), 0,
   30580             :                   MVT::f64, 1/*#Ops*/, 0, 
   30581             :               // Src: (fpextend:{ *:[f64] } F32:{ *:[f32] }:$src) - Complexity = 3
   30582             :               // Dst: (F64_PROMOTE_F32:{ *:[f64] } F32:{ *:[f32] }:$src)
   30583             : /* 57957*/  /*SwitchOpcode*/ 8, TARGET_VAL(ISD::FP_ROUND),// ->57968
   30584             : /* 57960*/    OPC_RecordChild0, // #0 = $src
   30585             : /* 57961*/    OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::F32_DEMOTE_F64), 0,
   30586             :                   MVT::f32, 1/*#Ops*/, 0, 
   30587             :               // Src: (fpround:{ *:[f32] } F64:{ *:[f64] }:$src) - Complexity = 3
   30588             :               // Dst: (F32_DEMOTE_F64:{ *:[f32] } F64:{ *:[f64] }:$src)
   30589             : /* 57968*/  /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FADD),// ->58019
   30590             : /* 57971*/    OPC_RecordChild0, // #0 = $lhs
   30591             : /* 57972*/    OPC_RecordChild1, // #1 = $rhs
   30592             : /* 57973*/    OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->57984
   30593             : /* 57976*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_F32), 0,
   30594             :                     MVT::f32, 2/*#Ops*/, 0, 1, 
   30595             :                 // Src: (fadd:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
   30596             :                 // Dst: (ADD_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   30597             : /* 57984*/    /*SwitchType*/ 8, MVT::f64,// ->57994
   30598             : /* 57986*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_F64), 0,
   30599             :                     MVT::f64, 2/*#Ops*/, 0, 1, 
   30600             :                 // Src: (fadd:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
   30601             :                 // Dst: (ADD_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   30602             : /* 57994*/    /*SwitchType*/ 10, MVT::v4f32,// ->58006
   30603             : /* 57996*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30604             : /* 57998*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v4f32), 0,
   30605             :                     MVT::v4f32, 2/*#Ops*/, 0, 1, 
   30606             :                 // Src: (fadd:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
   30607             :                 // Dst: (ADD_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   30608             : /* 58006*/    /*SwitchType*/ 10, MVT::v2f64,// ->58018
   30609             : /* 58008*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30610             : /* 58010*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ADD_v2f64), 0,
   30611             :                     MVT::v2f64, 2/*#Ops*/, 0, 1, 
   30612             :                 // Src: (fadd:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
   30613             :                 // Dst: (ADD_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   30614             : /* 58018*/    0, // EndSwitchType
   30615             : /* 58019*/  /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FSUB),// ->58070
   30616             : /* 58022*/    OPC_RecordChild0, // #0 = $lhs
   30617             : /* 58023*/    OPC_RecordChild1, // #1 = $rhs
   30618             : /* 58024*/    OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->58035
   30619             : /* 58027*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_F32), 0,
   30620             :                     MVT::f32, 2/*#Ops*/, 0, 1, 
   30621             :                 // Src: (fsub:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
   30622             :                 // Dst: (SUB_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   30623             : /* 58035*/    /*SwitchType*/ 8, MVT::f64,// ->58045
   30624             : /* 58037*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_F64), 0,
   30625             :                     MVT::f64, 2/*#Ops*/, 0, 1, 
   30626             :                 // Src: (fsub:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
   30627             :                 // Dst: (SUB_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   30628             : /* 58045*/    /*SwitchType*/ 10, MVT::v4f32,// ->58057
   30629             : /* 58047*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30630             : /* 58049*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v4f32), 0,
   30631             :                     MVT::v4f32, 2/*#Ops*/, 0, 1, 
   30632             :                 // Src: (fsub:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
   30633             :                 // Dst: (SUB_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   30634             : /* 58057*/    /*SwitchType*/ 10, MVT::v2f64,// ->58069
   30635             : /* 58059*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30636             : /* 58061*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SUB_v2f64), 0,
   30637             :                     MVT::v2f64, 2/*#Ops*/, 0, 1, 
   30638             :                 // Src: (fsub:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
   30639             :                 // Dst: (SUB_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   30640             : /* 58069*/    0, // EndSwitchType
   30641             : /* 58070*/  /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FMUL),// ->58121
   30642             : /* 58073*/    OPC_RecordChild0, // #0 = $lhs
   30643             : /* 58074*/    OPC_RecordChild1, // #1 = $rhs
   30644             : /* 58075*/    OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->58086
   30645             : /* 58078*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_F32), 0,
   30646             :                     MVT::f32, 2/*#Ops*/, 0, 1, 
   30647             :                 // Src: (fmul:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
   30648             :                 // Dst: (MUL_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   30649             : /* 58086*/    /*SwitchType*/ 8, MVT::f64,// ->58096
   30650             : /* 58088*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_F64), 0,
   30651             :                     MVT::f64, 2/*#Ops*/, 0, 1, 
   30652             :                 // Src: (fmul:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
   30653             :                 // Dst: (MUL_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   30654             : /* 58096*/    /*SwitchType*/ 10, MVT::v4f32,// ->58108
   30655             : /* 58098*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30656             : /* 58100*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_v4f32), 0,
   30657             :                     MVT::v4f32, 2/*#Ops*/, 0, 1, 
   30658             :                 // Src: (fmul:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
   30659             :                 // Dst: (MUL_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   30660             : /* 58108*/    /*SwitchType*/ 10, MVT::v2f64,// ->58120
   30661             : /* 58110*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30662             : /* 58112*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MUL_v2f64), 0,
   30663             :                     MVT::v2f64, 2/*#Ops*/, 0, 1, 
   30664             :                 // Src: (fmul:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
   30665             :                 // Dst: (MUL_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   30666             : /* 58120*/    0, // EndSwitchType
   30667             : /* 58121*/  /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FDIV),// ->58172
   30668             : /* 58124*/    OPC_RecordChild0, // #0 = $lhs
   30669             : /* 58125*/    OPC_RecordChild1, // #1 = $rhs
   30670             : /* 58126*/    OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->58137
   30671             : /* 58129*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_F32), 0,
   30672             :                     MVT::f32, 2/*#Ops*/, 0, 1, 
   30673             :                 // Src: (fdiv:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
   30674             :                 // Dst: (DIV_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   30675             : /* 58137*/    /*SwitchType*/ 8, MVT::f64,// ->58147
   30676             : /* 58139*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_F64), 0,
   30677             :                     MVT::f64, 2/*#Ops*/, 0, 1, 
   30678             :                 // Src: (fdiv:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
   30679             :                 // Dst: (DIV_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   30680             : /* 58147*/    /*SwitchType*/ 10, MVT::v4f32,// ->58159
   30681             : /* 58149*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30682             : /* 58151*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_v4f32), 0,
   30683             :                     MVT::v4f32, 2/*#Ops*/, 0, 1, 
   30684             :                 // Src: (fdiv:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
   30685             :                 // Dst: (DIV_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   30686             : /* 58159*/    /*SwitchType*/ 10, MVT::v2f64,// ->58171
   30687             : /* 58161*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30688             : /* 58163*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::DIV_v2f64), 0,
   30689             :                     MVT::v2f64, 2/*#Ops*/, 0, 1, 
   30690             :                 // Src: (fdiv:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
   30691             :                 // Dst: (DIV_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   30692             : /* 58171*/    0, // EndSwitchType
   30693             : /* 58172*/  /*SwitchOpcode*/ 43, TARGET_VAL(ISD::FSQRT),// ->58218
   30694             : /* 58175*/    OPC_RecordChild0, // #0 = $src
   30695             : /* 58176*/    OPC_SwitchType /*4 cases */, 7, MVT::f32,// ->58186
   30696             : /* 58179*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_F32), 0,
   30697             :                     MVT::f32, 1/*#Ops*/, 0, 
   30698             :                 // Src: (fsqrt:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30699             :                 // Dst: (SQRT_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
   30700             : /* 58186*/    /*SwitchType*/ 7, MVT::f64,// ->58195
   30701             : /* 58188*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_F64), 0,
   30702             :                     MVT::f64, 1/*#Ops*/, 0, 
   30703             :                 // Src: (fsqrt:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30704             :                 // Dst: (SQRT_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
   30705             : /* 58195*/    /*SwitchType*/ 9, MVT::v4f32,// ->58206
   30706             : /* 58197*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30707             : /* 58199*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_v4f32), 0,
   30708             :                     MVT::v4f32, 1/*#Ops*/, 0, 
   30709             :                 // Src: (fsqrt:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
   30710             :                 // Dst: (SQRT_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec)
   30711             : /* 58206*/    /*SwitchType*/ 9, MVT::v2f64,// ->58217
   30712             : /* 58208*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30713             : /* 58210*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SQRT_v2f64), 0,
   30714             :                     MVT::v2f64, 1/*#Ops*/, 0, 
   30715             :                 // Src: (fsqrt:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec) - Complexity = 3
   30716             :                 // Dst: (SQRT_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec)
   30717             : /* 58217*/    0, // EndSwitchType
   30718             : /* 58218*/  /*SwitchOpcode*/ 43, TARGET_VAL(ISD::FABS),// ->58264
   30719             : /* 58221*/    OPC_RecordChild0, // #0 = $src
   30720             : /* 58222*/    OPC_SwitchType /*4 cases */, 7, MVT::f32,// ->58232
   30721             : /* 58225*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_F32), 0,
   30722             :                     MVT::f32, 1/*#Ops*/, 0, 
   30723             :                 // Src: (fabs:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30724             :                 // Dst: (ABS_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
   30725             : /* 58232*/    /*SwitchType*/ 7, MVT::f64,// ->58241
   30726             : /* 58234*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_F64), 0,
   30727             :                     MVT::f64, 1/*#Ops*/, 0, 
   30728             :                 // Src: (fabs:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30729             :                 // Dst: (ABS_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
   30730             : /* 58241*/    /*SwitchType*/ 9, MVT::v4f32,// ->58252
   30731             : /* 58243*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30732             : /* 58245*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_v4f32), 0,
   30733             :                     MVT::v4f32, 1/*#Ops*/, 0, 
   30734             :                 // Src: (fabs:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
   30735             :                 // Dst: (ABS_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec)
   30736             : /* 58252*/    /*SwitchType*/ 9, MVT::v2f64,// ->58263
   30737             : /* 58254*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30738             : /* 58256*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::ABS_v2f64), 0,
   30739             :                     MVT::v2f64, 1/*#Ops*/, 0, 
   30740             :                 // Src: (fabs:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec) - Complexity = 3
   30741             :                 // Dst: (ABS_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec)
   30742             : /* 58263*/    0, // EndSwitchType
   30743             : /* 58264*/  /*SwitchOpcode*/ 43, TARGET_VAL(ISD::FNEG),// ->58310
   30744             : /* 58267*/    OPC_RecordChild0, // #0 = $src
   30745             : /* 58268*/    OPC_SwitchType /*4 cases */, 7, MVT::f32,// ->58278
   30746             : /* 58271*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_F32), 0,
   30747             :                     MVT::f32, 1/*#Ops*/, 0, 
   30748             :                 // Src: (fneg:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30749             :                 // Dst: (NEG_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
   30750             : /* 58278*/    /*SwitchType*/ 7, MVT::f64,// ->58287
   30751             : /* 58280*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_F64), 0,
   30752             :                     MVT::f64, 1/*#Ops*/, 0, 
   30753             :                 // Src: (fneg:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30754             :                 // Dst: (NEG_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
   30755             : /* 58287*/    /*SwitchType*/ 9, MVT::v4f32,// ->58298
   30756             : /* 58289*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30757             : /* 58291*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v4f32), 0,
   30758             :                     MVT::v4f32, 1/*#Ops*/, 0, 
   30759             :                 // Src: (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec) - Complexity = 3
   30760             :                 // Dst: (NEG_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec)
   30761             : /* 58298*/    /*SwitchType*/ 9, MVT::v2f64,// ->58309
   30762             : /* 58300*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30763             : /* 58302*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEG_v2f64), 0,
   30764             :                     MVT::v2f64, 1/*#Ops*/, 0, 
   30765             :                 // Src: (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec) - Complexity = 3
   30766             :                 // Dst: (NEG_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec)
   30767             : /* 58309*/    0, // EndSwitchType
   30768             : /* 58310*/  /*SwitchOpcode*/ 68, TARGET_VAL(ISD::FCOPYSIGN),// ->58381
   30769             : /* 58313*/    OPC_RecordChild0, // #0 = $lhs
   30770             : /* 58314*/    OPC_RecordChild1, // #1 = $rhs
   30771             : /* 58315*/    OPC_Scope, 31, /*->58348*/ // 2 children in Scope
   30772             : /* 58317*/      OPC_CheckChild1Type, MVT::f32,
   30773             : /* 58319*/      OPC_SwitchType /*2 cases */, 8, MVT::f32,// ->58330
   30774             : /* 58322*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F32), 0,
   30775             :                       MVT::f32, 2/*#Ops*/, 0, 1, 
   30776             :                   // Src: (fcopysign:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
   30777             :                   // Dst: (COPYSIGN_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   30778             : /* 58330*/      /*SwitchType*/ 15, MVT::f64,// ->58347
   30779             : /* 58332*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::F64_PROMOTE_F32), 0,
   30780             :                       MVT::f64, 1/*#Ops*/, 1,  // Results = #2
   30781             : /* 58339*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F64), 0,
   30782             :                       MVT::f64, 2/*#Ops*/, 0, 2, 
   30783             :                   // Src: (fcopysign:{ *:[f64] } F64:{ *:[f64] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
   30784             :                   // Dst: (COPYSIGN_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, (F64_PROMOTE_F32:{ *:[f64] } F32:{ *:[f32] }:$rhs))
   30785             : /* 58347*/      0, // EndSwitchType
   30786             : /* 58348*/    /*Scope*/ 31, /*->58380*/
   30787             : /* 58349*/      OPC_CheckChild1Type, MVT::f64,
   30788             : /* 58351*/      OPC_SwitchType /*2 cases */, 8, MVT::f64,// ->58362
   30789             : /* 58354*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F64), 0,
   30790             :                       MVT::f64, 2/*#Ops*/, 0, 1, 
   30791             :                   // Src: (fcopysign:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
   30792             :                   // Dst: (COPYSIGN_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   30793             : /* 58362*/      /*SwitchType*/ 15, MVT::f32,// ->58379
   30794             : /* 58364*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::F32_DEMOTE_F64), 0,
   30795             :                       MVT::f32, 1/*#Ops*/, 1,  // Results = #2
   30796             : /* 58371*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::COPYSIGN_F32), 0,
   30797             :                       MVT::f32, 2/*#Ops*/, 0, 2, 
   30798             :                   // Src: (fcopysign:{ *:[f32] } F32:{ *:[f32] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
   30799             :                   // Dst: (COPYSIGN_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, (F32_DEMOTE_F64:{ *:[f32] } F64:{ *:[f64] }:$rhs))
   30800             : /* 58379*/      0, // EndSwitchType
   30801             : /* 58380*/    0, /*End of Scope*/
   30802             : /* 58381*/  /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FMINNAN),// ->58432
   30803             : /* 58384*/    OPC_RecordChild0, // #0 = $lhs
   30804             : /* 58385*/    OPC_RecordChild1, // #1 = $rhs
   30805             : /* 58386*/    OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->58397
   30806             : /* 58389*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_F32), 0,
   30807             :                     MVT::f32, 2/*#Ops*/, 0, 1, 
   30808             :                 // Src: (fminnan:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
   30809             :                 // Dst: (MIN_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   30810             : /* 58397*/    /*SwitchType*/ 8, MVT::f64,// ->58407
   30811             : /* 58399*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_F64), 0,
   30812             :                     MVT::f64, 2/*#Ops*/, 0, 1, 
   30813             :                 // Src: (fminnan:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
   30814             :                 // Dst: (MIN_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   30815             : /* 58407*/    /*SwitchType*/ 10, MVT::v4f32,// ->58419
   30816             : /* 58409*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30817             : /* 58411*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_v4f32), 0,
   30818             :                     MVT::v4f32, 2/*#Ops*/, 0, 1, 
   30819             :                 // Src: (fminnan:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
   30820             :                 // Dst: (MIN_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   30821             : /* 58419*/    /*SwitchType*/ 10, MVT::v2f64,// ->58431
   30822             : /* 58421*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30823             : /* 58423*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MIN_v2f64), 0,
   30824             :                     MVT::v2f64, 2/*#Ops*/, 0, 1, 
   30825             :                 // Src: (fminnan:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
   30826             :                 // Dst: (MIN_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   30827             : /* 58431*/    0, // EndSwitchType
   30828             : /* 58432*/  /*SwitchOpcode*/ 48, TARGET_VAL(ISD::FMAXNAN),// ->58483
   30829             : /* 58435*/    OPC_RecordChild0, // #0 = $lhs
   30830             : /* 58436*/    OPC_RecordChild1, // #1 = $rhs
   30831             : /* 58437*/    OPC_SwitchType /*4 cases */, 8, MVT::f32,// ->58448
   30832             : /* 58440*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_F32), 0,
   30833             :                     MVT::f32, 2/*#Ops*/, 0, 1, 
   30834             :                 // Src: (fmaxnan:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs) - Complexity = 3
   30835             :                 // Dst: (MAX_F32:{ *:[f32] } F32:{ *:[f32] }:$lhs, F32:{ *:[f32] }:$rhs)
   30836             : /* 58448*/    /*SwitchType*/ 8, MVT::f64,// ->58458
   30837             : /* 58450*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_F64), 0,
   30838             :                     MVT::f64, 2/*#Ops*/, 0, 1, 
   30839             :                 // Src: (fmaxnan:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs) - Complexity = 3
   30840             :                 // Dst: (MAX_F64:{ *:[f64] } F64:{ *:[f64] }:$lhs, F64:{ *:[f64] }:$rhs)
   30841             : /* 58458*/    /*SwitchType*/ 10, MVT::v4f32,// ->58470
   30842             : /* 58460*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30843             : /* 58462*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_v4f32), 0,
   30844             :                     MVT::v4f32, 2/*#Ops*/, 0, 1, 
   30845             :                 // Src: (fmaxnan:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs) - Complexity = 3
   30846             :                 // Dst: (MAX_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$lhs, V128:{ *:[v4f32] }:$rhs)
   30847             : /* 58470*/    /*SwitchType*/ 10, MVT::v2f64,// ->58482
   30848             : /* 58472*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30849             : /* 58474*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::MAX_v2f64), 0,
   30850             :                     MVT::v2f64, 2/*#Ops*/, 0, 1, 
   30851             :                 // Src: (fmaxnan:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs) - Complexity = 3
   30852             :                 // Dst: (MAX_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$lhs, V128:{ *:[v2f64] }:$rhs)
   30853             : /* 58482*/    0, // EndSwitchType
   30854             : /* 58483*/  /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FCEIL),// ->58507
   30855             : /* 58486*/    OPC_RecordChild0, // #0 = $src
   30856             : /* 58487*/    OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->58497
   30857             : /* 58490*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CEIL_F32), 0,
   30858             :                     MVT::f32, 1/*#Ops*/, 0, 
   30859             :                 // Src: (fceil:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30860             :                 // Dst: (CEIL_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
   30861             : /* 58497*/    /*SwitchType*/ 7, MVT::f64,// ->58506
   30862             : /* 58499*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CEIL_F64), 0,
   30863             :                     MVT::f64, 1/*#Ops*/, 0, 
   30864             :                 // Src: (fceil:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30865             :                 // Dst: (CEIL_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
   30866             : /* 58506*/    0, // EndSwitchType
   30867             : /* 58507*/  /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FFLOOR),// ->58531
   30868             : /* 58510*/    OPC_RecordChild0, // #0 = $src
   30869             : /* 58511*/    OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->58521
   30870             : /* 58514*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FLOOR_F32), 0,
   30871             :                     MVT::f32, 1/*#Ops*/, 0, 
   30872             :                 // Src: (ffloor:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30873             :                 // Dst: (FLOOR_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
   30874             : /* 58521*/    /*SwitchType*/ 7, MVT::f64,// ->58530
   30875             : /* 58523*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::FLOOR_F64), 0,
   30876             :                     MVT::f64, 1/*#Ops*/, 0, 
   30877             :                 // Src: (ffloor:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30878             :                 // Dst: (FLOOR_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
   30879             : /* 58530*/    0, // EndSwitchType
   30880             : /* 58531*/  /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FTRUNC),// ->58555
   30881             : /* 58534*/    OPC_RecordChild0, // #0 = $src
   30882             : /* 58535*/    OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->58545
   30883             : /* 58538*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TRUNC_F32), 0,
   30884             :                     MVT::f32, 1/*#Ops*/, 0, 
   30885             :                 // Src: (ftrunc:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30886             :                 // Dst: (TRUNC_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
   30887             : /* 58545*/    /*SwitchType*/ 7, MVT::f64,// ->58554
   30888             : /* 58547*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::TRUNC_F64), 0,
   30889             :                     MVT::f64, 1/*#Ops*/, 0, 
   30890             :                 // Src: (ftrunc:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30891             :                 // Dst: (TRUNC_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
   30892             : /* 58554*/    0, // EndSwitchType
   30893             : /* 58555*/  /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FNEARBYINT),// ->58579
   30894             : /* 58558*/    OPC_RecordChild0, // #0 = $src
   30895             : /* 58559*/    OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->58569
   30896             : /* 58562*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F32), 0,
   30897             :                     MVT::f32, 1/*#Ops*/, 0, 
   30898             :                 // Src: (fnearbyint:{ *:[f32] } F32:{ *:[f32] }:$src) - Complexity = 3
   30899             :                 // Dst: (NEAREST_F32:{ *:[f32] } F32:{ *:[f32] }:$src)
   30900             : /* 58569*/    /*SwitchType*/ 7, MVT::f64,// ->58578
   30901             : /* 58571*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F64), 0,
   30902             :                     MVT::f64, 1/*#Ops*/, 0, 
   30903             :                 // Src: (fnearbyint:{ *:[f64] } F64:{ *:[f64] }:$src) - Complexity = 3
   30904             :                 // Dst: (NEAREST_F64:{ *:[f64] } F64:{ *:[f64] }:$src)
   30905             : /* 58578*/    0, // EndSwitchType
   30906             : /* 58579*/  /*SwitchOpcode*/ 21, TARGET_VAL(ISD::FRINT),// ->58603
   30907             : /* 58582*/    OPC_RecordChild0, // #0 = $src
   30908             : /* 58583*/    OPC_SwitchType /*2 cases */, 7, MVT::f32,// ->58593
   30909             : /* 58586*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F32), 0,
   30910             :                     MVT::f32, 1/*#Ops*/, 0, 
   30911             :                 // Src: (frint:{ *:[f32] } f32:{ *:[f32] }:$src) - Complexity = 3
   30912             :                 // Dst: (NEAREST_F32:{ *:[f32] } f32:{ *:[f32] }:$src)
   30913             : /* 58593*/    /*SwitchType*/ 7, MVT::f64,// ->58602
   30914             : /* 58595*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::NEAREST_F64), 0,
   30915             :                     MVT::f64, 1/*#Ops*/, 0, 
   30916             :                 // Src: (frint:{ *:[f64] } f64:{ *:[f64] }:$src) - Complexity = 3
   30917             :                 // Dst: (NEAREST_F64:{ *:[f64] } f64:{ *:[f64] }:$src)
   30918             : /* 58602*/    0, // EndSwitchType
   30919             : /* 58603*/  /*SwitchOpcode*/ 38|128,9/*1190*/, TARGET_VAL(ISD::BUILD_VECTOR),// ->59797
   30920             : /* 58607*/    OPC_RecordChild0, // #0 = $x
   30921             : /* 58608*/    OPC_Scope, 105, /*->58715*/ // 10 children in Scope
   30922             : /* 58610*/      OPC_CheckChild0Type, MVT::i32,
   30923             : /* 58612*/      OPC_CheckChild1Same, 0,
   30924             : /* 58614*/      OPC_CheckChild2Same, 0,
   30925             : /* 58616*/      OPC_CheckChild3Same, 0,
   30926             : /* 58618*/      OPC_Scope, 82, /*->58702*/ // 2 children in Scope
   30927             : /* 58620*/        OPC_MoveChild4,
   30928             : /* 58621*/        OPC_CheckSame, 0,
   30929             : /* 58623*/        OPC_MoveParent,
   30930             : /* 58624*/        OPC_MoveChild5,
   30931             : /* 58625*/        OPC_CheckSame, 0,
   30932             : /* 58627*/        OPC_MoveParent,
   30933             : /* 58628*/        OPC_MoveChild6,
   30934             : /* 58629*/        OPC_CheckSame, 0,
   30935             : /* 58631*/        OPC_MoveParent,
   30936             : /* 58632*/        OPC_MoveChild7,
   30937             : /* 58633*/        OPC_CheckSame, 0,
   30938             : /* 58635*/        OPC_MoveParent,
   30939             : /* 58636*/        OPC_Scope, 51, /*->58689*/ // 2 children in Scope
   30940             : /* 58638*/          OPC_MoveChild, 8,
   30941             : /* 58640*/          OPC_CheckSame, 0,
   30942             : /* 58642*/          OPC_MoveParent,
   30943             : /* 58643*/          OPC_MoveChild, 9,
   30944             : /* 58645*/          OPC_CheckSame, 0,
   30945             : /* 58647*/          OPC_MoveParent,
   30946             : /* 58648*/          OPC_MoveChild, 10,
   30947             : /* 58650*/          OPC_CheckSame, 0,
   30948             : /* 58652*/          OPC_MoveParent,
   30949             : /* 58653*/          OPC_MoveChild, 11,
   30950             : /* 58655*/          OPC_CheckSame, 0,
   30951             : /* 58657*/          OPC_MoveParent,
   30952             : /* 58658*/          OPC_MoveChild, 12,
   30953             : /* 58660*/          OPC_CheckSame, 0,
   30954             : /* 58662*/          OPC_MoveParent,
   30955             : /* 58663*/          OPC_MoveChild, 13,
   30956             : /* 58665*/          OPC_CheckSame, 0,
   30957             : /* 58667*/          OPC_MoveParent,
   30958             : /* 58668*/          OPC_MoveChild, 14,
   30959             : /* 58670*/          OPC_CheckSame, 0,
   30960             : /* 58672*/          OPC_MoveParent,
   30961             : /* 58673*/          OPC_MoveChild, 15,
   30962             : /* 58675*/          OPC_CheckSame, 0,
   30963             : /* 58677*/          OPC_MoveParent,
   30964             : /* 58678*/          OPC_CheckType, MVT::v16i8,
   30965             : /* 58680*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30966             : /* 58682*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v16i8), 0,
   30967             :                         MVT::v16i8, 1/*#Ops*/, 0, 
   30968             :                     // Src: (build_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x) - Complexity = 68
   30969             :                     // Dst: (SPLAT_v16i8:{ *:[v16i8] } I32:{ *:[i32] }:$x)
   30970             : /* 58689*/        /*Scope*/ 11, /*->58701*/
   30971             : /* 58690*/          OPC_CheckType, MVT::v8i16,
   30972             : /* 58692*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30973             : /* 58694*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v8i16), 0,
   30974             :                         MVT::v8i16, 1/*#Ops*/, 0, 
   30975             :                     // Src: (build_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x) - Complexity = 68
   30976             :                     // Dst: (SPLAT_v8i16:{ *:[v8i16] } I32:{ *:[i32] }:$x)
   30977             : /* 58701*/        0, /*End of Scope*/
   30978             : /* 58702*/      /*Scope*/ 11, /*->58714*/
   30979             : /* 58703*/        OPC_CheckType, MVT::v4i32,
   30980             : /* 58705*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30981             : /* 58707*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v4i32), 0,
   30982             :                       MVT::v4i32, 1/*#Ops*/, 0, 
   30983             :                   // Src: (build_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x, I32:{ *:[i32] }:$x) - Complexity = 68
   30984             :                   // Dst: (SPLAT_v4i32:{ *:[v4i32] } I32:{ *:[i32] }:$x)
   30985             : /* 58714*/      0, /*End of Scope*/
   30986             : /* 58715*/    /*Scope*/ 15, /*->58731*/
   30987             : /* 58716*/      OPC_CheckChild0Type, MVT::i64,
   30988             : /* 58718*/      OPC_CheckChild1Same, 0,
   30989             : /* 58720*/      OPC_CheckType, MVT::v2i64,
   30990             : /* 58722*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   30991             : /* 58724*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v2i64), 0,
   30992             :                     MVT::v2i64, 1/*#Ops*/, 0, 
   30993             :                 // Src: (build_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x, I64:{ *:[i64] }:$x) - Complexity = 68
   30994             :                 // Dst: (SPLAT_v2i64:{ *:[v2i64] } I64:{ *:[i64] }:$x)
   30995             : /* 58731*/    /*Scope*/ 31|128,3/*415*/, /*->59148*/
   30996             : /* 58733*/      OPC_MoveChild0,
   30997             : /* 58734*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   30998             : /* 58737*/      OPC_SwitchType /*2 cases */, 123|128,2/*379*/, MVT::i32,// ->59120
   30999             : /* 58741*/        OPC_Scope, 91|128,1/*219*/, /*->58963*/ // 3 children in Scope
   31000             : /* 58744*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31001             : /* 58746*/          OPC_MoveParent,
   31002             : /* 58747*/          OPC_RecordChild1, // #1 = $i1
   31003             : /* 58748*/          OPC_MoveChild1,
   31004             : /* 58749*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31005             : /* 58752*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31006             : /* 58754*/          OPC_CheckType, MVT::i32,
   31007             : /* 58756*/          OPC_MoveParent,
   31008             : /* 58757*/          OPC_RecordChild2, // #2 = $i2
   31009             : /* 58758*/          OPC_MoveChild2,
   31010             : /* 58759*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31011             : /* 58762*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31012             : /* 58764*/          OPC_CheckType, MVT::i32,
   31013             : /* 58766*/          OPC_MoveParent,
   31014             : /* 58767*/          OPC_RecordChild3, // #3 = $i3
   31015             : /* 58768*/          OPC_MoveChild3,
   31016             : /* 58769*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31017             : /* 58772*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31018             : /* 58774*/          OPC_CheckType, MVT::i32,
   31019             : /* 58776*/          OPC_MoveParent,
   31020             : /* 58777*/          OPC_RecordChild4, // #4 = $i4
   31021             : /* 58778*/          OPC_MoveChild4,
   31022             : /* 58779*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31023             : /* 58782*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31024             : /* 58784*/          OPC_CheckType, MVT::i32,
   31025             : /* 58786*/          OPC_MoveParent,
   31026             : /* 58787*/          OPC_RecordChild5, // #5 = $i5
   31027             : /* 58788*/          OPC_MoveChild5,
   31028             : /* 58789*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31029             : /* 58792*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31030             : /* 58794*/          OPC_CheckType, MVT::i32,
   31031             : /* 58796*/          OPC_MoveParent,
   31032             : /* 58797*/          OPC_RecordChild6, // #6 = $i6
   31033             : /* 58798*/          OPC_MoveChild6,
   31034             : /* 58799*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31035             : /* 58802*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31036             : /* 58804*/          OPC_CheckType, MVT::i32,
   31037             : /* 58806*/          OPC_MoveParent,
   31038             : /* 58807*/          OPC_RecordChild7, // #7 = $i7
   31039             : /* 58808*/          OPC_MoveChild7,
   31040             : /* 58809*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31041             : /* 58812*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31042             : /* 58814*/          OPC_CheckType, MVT::i32,
   31043             : /* 58816*/          OPC_MoveParent,
   31044             : /* 58817*/          OPC_MoveChild, 8,
   31045             : /* 58819*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31046             : /* 58822*/          OPC_RecordNode, // #8 = $i8
   31047             : /* 58823*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31048             : /* 58825*/          OPC_CheckType, MVT::i32,
   31049             : /* 58827*/          OPC_MoveParent,
   31050             : /* 58828*/          OPC_MoveChild, 9,
   31051             : /* 58830*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31052             : /* 58833*/          OPC_RecordNode, // #9 = $i9
   31053             : /* 58834*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31054             : /* 58836*/          OPC_CheckType, MVT::i32,
   31055             : /* 58838*/          OPC_MoveParent,
   31056             : /* 58839*/          OPC_MoveChild, 10,
   31057             : /* 58841*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31058             : /* 58844*/          OPC_RecordNode, // #10 = $iA
   31059             : /* 58845*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31060             : /* 58847*/          OPC_CheckType, MVT::i32,
   31061             : /* 58849*/          OPC_MoveParent,
   31062             : /* 58850*/          OPC_MoveChild, 11,
   31063             : /* 58852*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31064             : /* 58855*/          OPC_RecordNode, // #11 = $iB
   31065             : /* 58856*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31066             : /* 58858*/          OPC_CheckType, MVT::i32,
   31067             : /* 58860*/          OPC_MoveParent,
   31068             : /* 58861*/          OPC_MoveChild, 12,
   31069             : /* 58863*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31070             : /* 58866*/          OPC_RecordNode, // #12 = $iC
   31071             : /* 58867*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31072             : /* 58869*/          OPC_CheckType, MVT::i32,
   31073             : /* 58871*/          OPC_MoveParent,
   31074             : /* 58872*/          OPC_MoveChild, 13,
   31075             : /* 58874*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31076             : /* 58877*/          OPC_RecordNode, // #13 = $iD
   31077             : /* 58878*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31078             : /* 58880*/          OPC_CheckType, MVT::i32,
   31079             : /* 58882*/          OPC_MoveParent,
   31080             : /* 58883*/          OPC_MoveChild, 14,
   31081             : /* 58885*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31082             : /* 58888*/          OPC_RecordNode, // #14 = $iE
   31083             : /* 58889*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31084             : /* 58891*/          OPC_CheckType, MVT::i32,
   31085             : /* 58893*/          OPC_MoveParent,
   31086             : /* 58894*/          OPC_MoveChild, 15,
   31087             : /* 58896*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31088             : /* 58899*/          OPC_RecordNode, // #15 = $iF
   31089             : /* 58900*/          OPC_CheckPredicate, 27, // Predicate_ImmI8
   31090             : /* 58902*/          OPC_CheckType, MVT::i32,
   31091             : /* 58904*/          OPC_MoveParent,
   31092             : /* 58905*/          OPC_CheckType, MVT::v16i8,
   31093             : /* 58907*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   31094             : /* 58909*/          OPC_EmitConvertToTarget, 0,
   31095             : /* 58911*/          OPC_EmitConvertToTarget, 1,
   31096             : /* 58913*/          OPC_EmitConvertToTarget, 2,
   31097             : /* 58915*/          OPC_EmitConvertToTarget, 3,
   31098             : /* 58917*/          OPC_EmitConvertToTarget, 4,
   31099             : /* 58919*/          OPC_EmitConvertToTarget, 5,
   31100             : /* 58921*/          OPC_EmitConvertToTarget, 6,
   31101             : /* 58923*/          OPC_EmitConvertToTarget, 7,
   31102             : /* 58925*/          OPC_EmitConvertToTarget, 8,
   31103             : /* 58927*/          OPC_EmitConvertToTarget, 9,
   31104             : /* 58929*/          OPC_EmitConvertToTarget, 10,
   31105             : /* 58931*/          OPC_EmitConvertToTarget, 11,
   31106             : /* 58933*/          OPC_EmitConvertToTarget, 12,
   31107             : /* 58935*/          OPC_EmitConvertToTarget, 13,
   31108             : /* 58937*/          OPC_EmitConvertToTarget, 14,
   31109             : /* 58939*/          OPC_EmitConvertToTarget, 15,
   31110             : /* 58941*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v16i8), 0,
   31111             :                         MVT::v16i8, 16/*#Ops*/, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 
   31112             :                     // Src: (build_vector:{ *:[v16i8] } (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i0, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i1, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i2, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i3, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i4, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i5, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i6, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i7, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i8, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$i9, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iA, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iB, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iC, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iD, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iE, (imm:{ *:[i32] })<<P:Predicate_ImmI8>>:$iF) - Complexity = 67
   31113             :                     // Dst: (CONST_V128_v16i8:{ *:[v16i8] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3, (imm:{ *:[i32] }):$i4, (imm:{ *:[i32] }):$i5, (imm:{ *:[i32] }):$i6, (imm:{ *:[i32] }):$i7, (imm:{ *:[i32] }):$i8, (imm:{ *:[i32] }):$i9, (imm:{ *:[i32] }):$iA, (imm:{ *:[i32] }):$iB, (imm:{ *:[i32] }):$iC, (imm:{ *:[i32] }):$iD, (imm:{ *:[i32] }):$iE, (imm:{ *:[i32] }):$iF)
   31114             : /* 58963*/        /*Scope*/ 107, /*->59071*/
   31115             : /* 58964*/          OPC_CheckPredicate, 28, // Predicate_ImmI16
   31116             : /* 58966*/          OPC_MoveParent,
   31117             : /* 58967*/          OPC_RecordChild1, // #1 = $i1
   31118             : /* 58968*/          OPC_MoveChild1,
   31119             : /* 58969*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31120             : /* 58972*/          OPC_CheckPredicate, 28, // Predicate_ImmI16
   31121             : /* 58974*/          OPC_CheckType, MVT::i32,
   31122             : /* 58976*/          OPC_MoveParent,
   31123             : /* 58977*/          OPC_RecordChild2, // #2 = $i2
   31124             : /* 58978*/          OPC_MoveChild2,
   31125             : /* 58979*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31126             : /* 58982*/          OPC_CheckPredicate, 28, // Predicate_ImmI16
   31127             : /* 58984*/          OPC_CheckType, MVT::i32,
   31128             : /* 58986*/          OPC_MoveParent,
   31129             : /* 58987*/          OPC_RecordChild3, // #3 = $i3
   31130             : /* 58988*/          OPC_MoveChild3,
   31131             : /* 58989*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31132             : /* 58992*/          OPC_CheckPredicate, 28, // Predicate_ImmI16
   31133             : /* 58994*/          OPC_CheckType, MVT::i32,
   31134             : /* 58996*/          OPC_MoveParent,
   31135             : /* 58997*/          OPC_RecordChild4, // #4 = $i4
   31136             : /* 58998*/          OPC_MoveChild4,
   31137             : /* 58999*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31138             : /* 59002*/          OPC_CheckPredicate, 28, // Predicate_ImmI16
   31139             : /* 59004*/          OPC_CheckType, MVT::i32,
   31140             : /* 59006*/          OPC_MoveParent,
   31141             : /* 59007*/          OPC_RecordChild5, // #5 = $i5
   31142             : /* 59008*/          OPC_MoveChild5,
   31143             : /* 59009*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31144             : /* 59012*/          OPC_CheckPredicate, 28, // Predicate_ImmI16
   31145             : /* 59014*/          OPC_CheckType, MVT::i32,
   31146             : /* 59016*/          OPC_MoveParent,
   31147             : /* 59017*/          OPC_RecordChild6, // #6 = $i6
   31148             : /* 59018*/          OPC_MoveChild6,
   31149             : /* 59019*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31150             : /* 59022*/          OPC_CheckPredicate, 28, // Predicate_ImmI16
   31151             : /* 59024*/          OPC_CheckType, MVT::i32,
   31152             : /* 59026*/          OPC_MoveParent,
   31153             : /* 59027*/          OPC_RecordChild7, // #7 = $i7
   31154             : /* 59028*/          OPC_MoveChild7,
   31155             : /* 59029*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31156             : /* 59032*/          OPC_CheckPredicate, 28, // Predicate_ImmI16
   31157             : /* 59034*/          OPC_CheckType, MVT::i32,
   31158             : /* 59036*/          OPC_MoveParent,
   31159             : /* 59037*/          OPC_CheckType, MVT::v8i16,
   31160             : /* 59039*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   31161             : /* 59041*/          OPC_EmitConvertToTarget, 0,
   31162             : /* 59043*/          OPC_EmitConvertToTarget, 1,
   31163             : /* 59045*/          OPC_EmitConvertToTarget, 2,
   31164             : /* 59047*/          OPC_EmitConvertToTarget, 3,
   31165             : /* 59049*/          OPC_EmitConvertToTarget, 4,
   31166             : /* 59051*/          OPC_EmitConvertToTarget, 5,
   31167             : /* 59053*/          OPC_EmitConvertToTarget, 6,
   31168             : /* 59055*/          OPC_EmitConvertToTarget, 7,
   31169             : /* 59057*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v8i16), 0,
   31170             :                         MVT::v8i16, 8/*#Ops*/, 8, 9, 10, 11, 12, 13, 14, 15, 
   31171             :                     // Src: (build_vector:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i0, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i1, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i2, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i3, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i4, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i5, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i6, (imm:{ *:[i32] })<<P:Predicate_ImmI16>>:$i7) - Complexity = 35
   31172             :                     // Dst: (CONST_V128_v8i16:{ *:[v8i16] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3, (imm:{ *:[i32] }):$i4, (imm:{ *:[i32] }):$i5, (imm:{ *:[i32] }):$i6, (imm:{ *:[i32] }):$i7)
   31173             : /* 59071*/        /*Scope*/ 47, /*->59119*/
   31174             : /* 59072*/          OPC_MoveParent,
   31175             : /* 59073*/          OPC_RecordChild1, // #1 = $i1
   31176             : /* 59074*/          OPC_MoveChild1,
   31177             : /* 59075*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31178             : /* 59078*/          OPC_CheckType, MVT::i32,
   31179             : /* 59080*/          OPC_MoveParent,
   31180             : /* 59081*/          OPC_RecordChild2, // #2 = $i2
   31181             : /* 59082*/          OPC_MoveChild2,
   31182             : /* 59083*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31183             : /* 59086*/          OPC_CheckType, MVT::i32,
   31184             : /* 59088*/          OPC_MoveParent,
   31185             : /* 59089*/          OPC_RecordChild3, // #3 = $i3
   31186             : /* 59090*/          OPC_MoveChild3,
   31187             : /* 59091*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31188             : /* 59094*/          OPC_CheckType, MVT::i32,
   31189             : /* 59096*/          OPC_MoveParent,
   31190             : /* 59097*/          OPC_CheckType, MVT::v4i32,
   31191             : /* 59099*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   31192             : /* 59101*/          OPC_EmitConvertToTarget, 0,
   31193             : /* 59103*/          OPC_EmitConvertToTarget, 1,
   31194             : /* 59105*/          OPC_EmitConvertToTarget, 2,
   31195             : /* 59107*/          OPC_EmitConvertToTarget, 3,
   31196             : /* 59109*/          OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v4i32), 0,
   31197             :                         MVT::v4i32, 4/*#Ops*/, 4, 5, 6, 7, 
   31198             :                     // Src: (build_vector:{ *:[v4i32] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3) - Complexity = 15
   31199             :                     // Dst: (CONST_V128_v4i32:{ *:[v4i32] } (imm:{ *:[i32] }):$i0, (imm:{ *:[i32] }):$i1, (imm:{ *:[i32] }):$i2, (imm:{ *:[i32] }):$i3)
   31200             : /* 59119*/        0, /*End of Scope*/
   31201             : /* 59120*/      /*SwitchType*/ 25, MVT::i64,// ->59147
   31202             : /* 59122*/        OPC_MoveParent,
   31203             : /* 59123*/        OPC_RecordChild1, // #1 = $i1
   31204             : /* 59124*/        OPC_MoveChild1,
   31205             : /* 59125*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31206             : /* 59128*/        OPC_CheckType, MVT::i64,
   31207             : /* 59130*/        OPC_MoveParent,
   31208             : /* 59131*/        OPC_CheckType, MVT::v2i64,
   31209             : /* 59133*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   31210             : /* 59135*/        OPC_EmitConvertToTarget, 0,
   31211             : /* 59137*/        OPC_EmitConvertToTarget, 1,
   31212             : /* 59139*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v2i64), 0,
   31213             :                       MVT::v2i64, 2/*#Ops*/, 2, 3, 
   31214             :                   // Src: (build_vector:{ *:[v2i64] } (imm:{ *:[i64] }):$i0, (imm:{ *:[i64] }):$i1) - Complexity = 9
   31215             :                   // Dst: (CONST_V128_v2i64:{ *:[v2i64] } (imm:{ *:[i64] }):$i0, (imm:{ *:[i64] }):$i1)
   31216             : /* 59147*/      0, // EndSwitchType
   31217             : /* 59148*/    /*Scope*/ 26, /*->59175*/
   31218             : /* 59149*/      OPC_CheckChild0Type, MVT::i64,
   31219             : /* 59151*/      OPC_RecordChild1, // #1 = $x1
   31220             : /* 59152*/      OPC_CheckChild1Type, MVT::i64,
   31221             : /* 59154*/      OPC_CheckType, MVT::v2i64,
   31222             : /* 59156*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v2i64), 0,
   31223             :                     MVT::v2i64, 1/*#Ops*/, 0,  // Results = #2
   31224             : /* 59163*/      OPC_EmitInteger, MVT::i32, 1, 
   31225             : /* 59166*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v2i64), 0,
   31226             :                     MVT::v2i64, 3/*#Ops*/, 2, 3, 1, 
   31227             :                 // Src: (build_vector:{ *:[v2i64] } I64:{ *:[i64] }:$x0, I64:{ *:[i64] }:$x1) - Complexity = 3
   31228             :                 // Dst: (REPLACE_LANE_v2i64:{ *:[v2i64] } (SPLAT_v2i64:{ *:[v2i64] } I64:{ *:[i64] }:$x0), 1:{ *:[i32] }, I64:{ *:[i64] }:$x1)
   31229             : /* 59175*/    /*Scope*/ 32|128,3/*416*/, /*->59593*/
   31230             : /* 59177*/      OPC_CheckChild0Type, MVT::i32,
   31231             : /* 59179*/      OPC_RecordChild1, // #1 = $x1
   31232             : /* 59180*/      OPC_CheckChild1Type, MVT::i32,
   31233             : /* 59182*/      OPC_RecordChild2, // #2 = $x2
   31234             : /* 59183*/      OPC_CheckChild2Type, MVT::i32,
   31235             : /* 59185*/      OPC_RecordChild3, // #3 = $x3
   31236             : /* 59186*/      OPC_CheckChild3Type, MVT::i32,
   31237             : /* 59188*/      OPC_Scope, 45, /*->59235*/ // 3 children in Scope
   31238             : /* 59190*/        OPC_CheckType, MVT::v4i32,
   31239             : /* 59192*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v4i32), 0,
   31240             :                       MVT::v4i32, 1/*#Ops*/, 0,  // Results = #4
   31241             : /* 59199*/        OPC_EmitInteger, MVT::i32, 1, 
   31242             : /* 59202*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4i32), 0,
   31243             :                       MVT::v4i32, 3/*#Ops*/, 4, 5, 1,  // Results = #6
   31244             : /* 59211*/        OPC_EmitInteger, MVT::i32, 2, 
   31245             : /* 59214*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4i32), 0,
   31246             :                       MVT::v4i32, 3/*#Ops*/, 6, 7, 2,  // Results = #8
   31247             : /* 59223*/        OPC_EmitInteger, MVT::i32, 3, 
   31248             : /* 59226*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4i32), 0,
   31249             :                       MVT::v4i32, 3/*#Ops*/, 8, 9, 3, 
   31250             :                   // Src: (build_vector:{ *:[v4i32] } I32:{ *:[i32] }:$x0, I32:{ *:[i32] }:$x1, I32:{ *:[i32] }:$x2, I32:{ *:[i32] }:$x3) - Complexity = 3
   31251             :                   // Dst: (REPLACE_LANE_v4i32:{ *:[v4i32] } (REPLACE_LANE_v4i32:{ *:[v4i32] } (REPLACE_LANE_v4i32:{ *:[v4i32] } (SPLAT_v4i32:{ *:[v4i32] } I32:{ *:[i32] }:$x0), 1:{ *:[i32] }, I32:{ *:[i32] }:$x1), 2:{ *:[i32] }, I32:{ *:[i32] }:$x2), 3:{ *:[i32] }, I32:{ *:[i32] }:$x3)
   31252             : /* 59235*/      /*Scope*/ 105, /*->59341*/
   31253             : /* 59236*/        OPC_CheckType, MVT::v8i16,
   31254             : /* 59238*/        OPC_RecordChild4, // #4 = $x4
   31255             : /* 59239*/        OPC_CheckChild4Type, MVT::i32,
   31256             : /* 59241*/        OPC_RecordChild5, // #5 = $x5
   31257             : /* 59242*/        OPC_CheckChild5Type, MVT::i32,
   31258             : /* 59244*/        OPC_RecordChild6, // #6 = $x6
   31259             : /* 59245*/        OPC_CheckChild6Type, MVT::i32,
   31260             : /* 59247*/        OPC_RecordChild7, // #7 = $x7
   31261             : /* 59248*/        OPC_CheckChild7Type, MVT::i32,
   31262             : /* 59250*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v8i16), 0,
   31263             :                       MVT::v8i16, 1/*#Ops*/, 0,  // Results = #8
   31264             : /* 59257*/        OPC_EmitInteger, MVT::i32, 1, 
   31265             : /* 59260*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
   31266             :                       MVT::v8i16, 3/*#Ops*/, 8, 9, 1,  // Results = #10
   31267             : /* 59269*/        OPC_EmitInteger, MVT::i32, 2, 
   31268             : /* 59272*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
   31269             :                       MVT::v8i16, 3/*#Ops*/, 10, 11, 2,  // Results = #12
   31270             : /* 59281*/        OPC_EmitInteger, MVT::i32, 3, 
   31271             : /* 59284*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
   31272             :                       MVT::v8i16, 3/*#Ops*/, 12, 13, 3,  // Results = #14
   31273             : /* 59293*/        OPC_EmitInteger, MVT::i32, 4, 
   31274             : /* 59296*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
   31275             :                       MVT::v8i16, 3/*#Ops*/, 14, 15, 4,  // Results = #16
   31276             : /* 59305*/        OPC_EmitInteger, MVT::i32, 5, 
   31277             : /* 59308*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
   31278             :                       MVT::v8i16, 3/*#Ops*/, 16, 17, 5,  // Results = #18
   31279             : /* 59317*/        OPC_EmitInteger, MVT::i32, 6, 
   31280             : /* 59320*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
   31281             :                       MVT::v8i16, 3/*#Ops*/, 18, 19, 6,  // Results = #20
   31282             : /* 59329*/        OPC_EmitInteger, MVT::i32, 7, 
   31283             : /* 59332*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
   31284             :                       MVT::v8i16, 3/*#Ops*/, 20, 21, 7, 
   31285             :                   // Src: (build_vector:{ *:[v8i16] } I32:{ *:[i32] }:$x0, I32:{ *:[i32] }:$x1, I32:{ *:[i32] }:$x2, I32:{ *:[i32] }:$x3, I32:{ *:[i32] }:$x4, I32:{ *:[i32] }:$x5, I32:{ *:[i32] }:$x6, I32:{ *:[i32] }:$x7) - Complexity = 3
   31286             :                   // Dst: (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (REPLACE_LANE_v8i16:{ *:[v8i16] } (SPLAT_v8i16:{ *:[v8i16] } I32:{ *:[i32] }:$x0), 1:{ *:[i32] }, I32:{ *:[i32] }:$x1), 2:{ *:[i32] }, I32:{ *:[i32] }:$x2), 3:{ *:[i32] }, I32:{ *:[i32] }:$x3), 4:{ *:[i32] }, I32:{ *:[i32] }:$x4), 5:{ *:[i32] }, I32:{ *:[i32] }:$x5), 6:{ *:[i32] }, I32:{ *:[i32] }:$x6), 7:{ *:[i32] }, I32:{ *:[i32] }:$x7)
   31287             : /* 59341*/      /*Scope*/ 121|128,1/*249*/, /*->59592*/
   31288             : /* 59343*/        OPC_RecordChild4, // #4 = $x4
   31289             : /* 59344*/        OPC_CheckChild4Type, MVT::i32,
   31290             : /* 59346*/        OPC_RecordChild5, // #5 = $x5
   31291             : /* 59347*/        OPC_CheckChild5Type, MVT::i32,
   31292             : /* 59349*/        OPC_RecordChild6, // #6 = $x6
   31293             : /* 59350*/        OPC_CheckChild6Type, MVT::i32,
   31294             : /* 59352*/        OPC_RecordChild7, // #7 = $x7
   31295             : /* 59353*/        OPC_CheckChild7Type, MVT::i32,
   31296             : /* 59355*/        OPC_MoveChild, 8,
   31297             : /* 59357*/        OPC_RecordNode, // #8 = $x8
   31298             : /* 59358*/        OPC_CheckType, MVT::i32,
   31299             : /* 59360*/        OPC_MoveParent,
   31300             : /* 59361*/        OPC_MoveChild, 9,
   31301             : /* 59363*/        OPC_RecordNode, // #9 = $x9
   31302             : /* 59364*/        OPC_CheckType, MVT::i32,
   31303             : /* 59366*/        OPC_MoveParent,
   31304             : /* 59367*/        OPC_MoveChild, 10,
   31305             : /* 59369*/        OPC_RecordNode, // #10 = $x10
   31306             : /* 59370*/        OPC_CheckType, MVT::i32,
   31307             : /* 59372*/        OPC_MoveParent,
   31308             : /* 59373*/        OPC_MoveChild, 11,
   31309             : /* 59375*/        OPC_RecordNode, // #11 = $x11
   31310             : /* 59376*/        OPC_CheckType, MVT::i32,
   31311             : /* 59378*/        OPC_MoveParent,
   31312             : /* 59379*/        OPC_MoveChild, 12,
   31313             : /* 59381*/        OPC_RecordNode, // #12 = $x12
   31314             : /* 59382*/        OPC_CheckType, MVT::i32,
   31315             : /* 59384*/        OPC_MoveParent,
   31316             : /* 59385*/        OPC_MoveChild, 13,
   31317             : /* 59387*/        OPC_RecordNode, // #13 = $x13
   31318             : /* 59388*/        OPC_CheckType, MVT::i32,
   31319             : /* 59390*/        OPC_MoveParent,
   31320             : /* 59391*/        OPC_MoveChild, 14,
   31321             : /* 59393*/        OPC_RecordNode, // #14 = $x14
   31322             : /* 59394*/        OPC_CheckType, MVT::i32,
   31323             : /* 59396*/        OPC_MoveParent,
   31324             : /* 59397*/        OPC_MoveChild, 15,
   31325             : /* 59399*/        OPC_RecordNode, // #15 = $x15
   31326             : /* 59400*/        OPC_CheckType, MVT::i32,
   31327             : /* 59402*/        OPC_MoveParent,
   31328             : /* 59403*/        OPC_CheckType, MVT::v16i8,
   31329             : /* 59405*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v16i8), 0,
   31330             :                       MVT::v16i8, 1/*#Ops*/, 0,  // Results = #16
   31331             : /* 59412*/        OPC_EmitInteger, MVT::i32, 1, 
   31332             : /* 59415*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31333             :                       MVT::v16i8, 3/*#Ops*/, 16, 17, 1,  // Results = #18
   31334             : /* 59424*/        OPC_EmitInteger, MVT::i32, 2, 
   31335             : /* 59427*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31336             :                       MVT::v16i8, 3/*#Ops*/, 18, 19, 2,  // Results = #20
   31337             : /* 59436*/        OPC_EmitInteger, MVT::i32, 3, 
   31338             : /* 59439*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31339             :                       MVT::v16i8, 3/*#Ops*/, 20, 21, 3,  // Results = #22
   31340             : /* 59448*/        OPC_EmitInteger, MVT::i32, 4, 
   31341             : /* 59451*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31342             :                       MVT::v16i8, 3/*#Ops*/, 22, 23, 4,  // Results = #24
   31343             : /* 59460*/        OPC_EmitInteger, MVT::i32, 5, 
   31344             : /* 59463*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31345             :                       MVT::v16i8, 3/*#Ops*/, 24, 25, 5,  // Results = #26
   31346             : /* 59472*/        OPC_EmitInteger, MVT::i32, 6, 
   31347             : /* 59475*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31348             :                       MVT::v16i8, 3/*#Ops*/, 26, 27, 6,  // Results = #28
   31349             : /* 59484*/        OPC_EmitInteger, MVT::i32, 7, 
   31350             : /* 59487*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31351             :                       MVT::v16i8, 3/*#Ops*/, 28, 29, 7,  // Results = #30
   31352             : /* 59496*/        OPC_EmitInteger, MVT::i32, 8, 
   31353             : /* 59499*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31354             :                       MVT::v16i8, 3/*#Ops*/, 30, 31, 8,  // Results = #32
   31355             : /* 59508*/        OPC_EmitInteger, MVT::i32, 9, 
   31356             : /* 59511*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31357             :                       MVT::v16i8, 3/*#Ops*/, 32, 33, 9,  // Results = #34
   31358             : /* 59520*/        OPC_EmitInteger, MVT::i32, 10, 
   31359             : /* 59523*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31360             :                       MVT::v16i8, 3/*#Ops*/, 34, 35, 10,  // Results = #36
   31361             : /* 59532*/        OPC_EmitInteger, MVT::i32, 11, 
   31362             : /* 59535*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31363             :                       MVT::v16i8, 3/*#Ops*/, 36, 37, 11,  // Results = #38
   31364             : /* 59544*/        OPC_EmitInteger, MVT::i32, 12, 
   31365             : /* 59547*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31366             :                       MVT::v16i8, 3/*#Ops*/, 38, 39, 12,  // Results = #40
   31367             : /* 59556*/        OPC_EmitInteger, MVT::i32, 13, 
   31368             : /* 59559*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31369             :                       MVT::v16i8, 3/*#Ops*/, 40, 41, 13,  // Results = #42
   31370             : /* 59568*/        OPC_EmitInteger, MVT::i32, 14, 
   31371             : /* 59571*/        OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31372             :                       MVT::v16i8, 3/*#Ops*/, 42, 43, 14,  // Results = #44
   31373             : /* 59580*/        OPC_EmitInteger, MVT::i32, 15, 
   31374             : /* 59583*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   31375             :                       MVT::v16i8, 3/*#Ops*/, 44, 45, 15, 
   31376             :                   // Src: (build_vector:{ *:[v16i8] } I32:{ *:[i32] }:$x0, I32:{ *:[i32] }:$x1, I32:{ *:[i32] }:$x2, I32:{ *:[i32] }:$x3, I32:{ *:[i32] }:$x4, I32:{ *:[i32] }:$x5, I32:{ *:[i32] }:$x6, I32:{ *:[i32] }:$x7, I32:{ *:[i32] }:$x8, I32:{ *:[i32] }:$x9, I32:{ *:[i32] }:$x10, I32:{ *:[i32] }:$x11, I32:{ *:[i32] }:$x12, I32:{ *:[i32] }:$x13, I32:{ *:[i32] }:$x14, I32:{ *:[i32] }:$x15) - Complexity = 3
   31377             :                   // Dst: (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (REPLACE_LANE_v16i8:{ *:[v16i8] } (SPLAT_v16i8:{ *:[v16i8] } I32:{ *:[i32] }:$x0), 1:{ *:[i32] }, I32:{ *:[i32] }:$x1), 2:{ *:[i32] }, I32:{ *:[i32] }:$x2), 3:{ *:[i32] }, I32:{ *:[i32] }:$x3), 4:{ *:[i32] }, I32:{ *:[i32] }:$x4), 5:{ *:[i32] }, I32:{ *:[i32] }:$x5), 6:{ *:[i32] }, I32:{ *:[i32] }:$x6), 7:{ *:[i32] }, I32:{ *:[i32] }:$x7), 8:{ *:[i32] }, I32:{ *:[i32] }:$x8), 9:{ *:[i32] }, I32:{ *:[i32] }:$x9), 10:{ *:[i32] }, I32:{ *:[i32] }:$x10), 11:{ *:[i32] }, I32:{ *:[i32] }:$x11), 12:{ *:[i32] }, I32:{ *:[i32] }:$x12), 13:{ *:[i32] }, I32:{ *:[i32] }:$x13), 14:{ *:[i32] }, I32:{ *:[i32] }:$x14), 15:{ *:[i32] }, I32:{ *:[i32] }:$x15)
   31378             : /* 59592*/      0, /*End of Scope*/
   31379             : /* 59593*/    /*Scope*/ 19, /*->59613*/
   31380             : /* 59594*/      OPC_CheckChild0Type, MVT::f32,
   31381             : /* 59596*/      OPC_CheckChild1Same, 0,
   31382             : /* 59598*/      OPC_CheckChild2Same, 0,
   31383             : /* 59600*/      OPC_CheckChild3Same, 0,
   31384             : /* 59602*/      OPC_CheckType, MVT::v4f32,
   31385             : /* 59604*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   31386             : /* 59606*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v4f32), 0,
   31387             :                     MVT::v4f32, 1/*#Ops*/, 0, 
   31388             :                 // Src: (build_vector:{ *:[v4f32] } F32:{ *:[f32] }:$x, F32:{ *:[f32] }:$x, F32:{ *:[f32] }:$x, F32:{ *:[f32] }:$x) - Complexity = 68
   31389             :                 // Dst: (SPLAT_v4f32:{ *:[v4f32] } F32:{ *:[f32] }:$x)
   31390             : /* 59613*/    /*Scope*/ 15, /*->59629*/
   31391             : /* 59614*/      OPC_CheckChild0Type, MVT::f64,
   31392             : /* 59616*/      OPC_CheckChild1Same, 0,
   31393             : /* 59618*/      OPC_CheckType, MVT::v2f64,
   31394             : /* 59620*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   31395             : /* 59622*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SPLAT_v2f64), 0,
   31396             :                     MVT::v2f64, 1/*#Ops*/, 0, 
   31397             :                 // Src: (build_vector:{ *:[v2f64] } F64:{ *:[f64] }:$x, F64:{ *:[f64] }:$x) - Complexity = 68
   31398             :                 // Dst: (SPLAT_v2f64:{ *:[v2f64] } F64:{ *:[f64] }:$x)
   31399             : /* 59629*/    /*Scope*/ 82, /*->59712*/
   31400             : /* 59630*/      OPC_MoveChild0,
   31401             : /* 59631*/      OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   31402             : /* 59634*/      OPC_SwitchType /*2 cases */, 47, MVT::f32,// ->59684
   31403             : /* 59637*/        OPC_MoveParent,
   31404             : /* 59638*/        OPC_RecordChild1, // #1 = $i1
   31405             : /* 59639*/        OPC_MoveChild1,
   31406             : /* 59640*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   31407             : /* 59643*/        OPC_CheckType, MVT::f32,
   31408             : /* 59645*/        OPC_MoveParent,
   31409             : /* 59646*/        OPC_RecordChild2, // #2 = $i2
   31410             : /* 59647*/        OPC_MoveChild2,
   31411             : /* 59648*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   31412             : /* 59651*/        OPC_CheckType, MVT::f32,
   31413             : /* 59653*/        OPC_MoveParent,
   31414             : /* 59654*/        OPC_RecordChild3, // #3 = $i3
   31415             : /* 59655*/        OPC_MoveChild3,
   31416             : /* 59656*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   31417             : /* 59659*/        OPC_CheckType, MVT::f32,
   31418             : /* 59661*/        OPC_MoveParent,
   31419             : /* 59662*/        OPC_CheckType, MVT::v4f32,
   31420             : /* 59664*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   31421             : /* 59666*/        OPC_EmitConvertToTarget, 0,
   31422             : /* 59668*/        OPC_EmitConvertToTarget, 1,
   31423             : /* 59670*/        OPC_EmitConvertToTarget, 2,
   31424             : /* 59672*/        OPC_EmitConvertToTarget, 3,
   31425             : /* 59674*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v4f32), 0,
   31426             :                       MVT::v4f32, 4/*#Ops*/, 4, 5, 6, 7, 
   31427             :                   // Src: (build_vector:{ *:[v4f32] } (fpimm:{ *:[f32] }):$i0, (fpimm:{ *:[f32] }):$i1, (fpimm:{ *:[f32] }):$i2, (fpimm:{ *:[f32] }):$i3) - Complexity = 15
   31428             :                   // Dst: (CONST_V128_v4f32:{ *:[v4f32] } (fpimm:{ *:[f32] }):$i0, (fpimm:{ *:[f32] }):$i1, (fpimm:{ *:[f32] }):$i2, (fpimm:{ *:[f32] }):$i3)
   31429             : /* 59684*/      /*SwitchType*/ 25, MVT::f64,// ->59711
   31430             : /* 59686*/        OPC_MoveParent,
   31431             : /* 59687*/        OPC_RecordChild1, // #1 = $i1
   31432             : /* 59688*/        OPC_MoveChild1,
   31433             : /* 59689*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   31434             : /* 59692*/        OPC_CheckType, MVT::f64,
   31435             : /* 59694*/        OPC_MoveParent,
   31436             : /* 59695*/        OPC_CheckType, MVT::v2f64,
   31437             : /* 59697*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   31438             : /* 59699*/        OPC_EmitConvertToTarget, 0,
   31439             : /* 59701*/        OPC_EmitConvertToTarget, 1,
   31440             : /* 59703*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::CONST_V128_v2f64), 0,
   31441             :                       MVT::v2f64, 2/*#Ops*/, 2, 3, 
   31442             :                   // Src: (build_vector:{ *:[v2f64] } (fpimm:{ *:[f64] }):$i0, (fpimm:{ *:[f64] }):$i1) - Complexity = 9
   31443             :                   // Dst: (CONST_V128_v2f64:{ *:[v2f64] } (fpimm:{ *:[f64] }):$i0, (fpimm:{ *:[f64] }):$i1)
   31444             : /* 59711*/      0, // EndSwitchType
   31445             : /* 59712*/    /*Scope*/ 26, /*->59739*/
   31446             : /* 59713*/      OPC_CheckChild0Type, MVT::f64,
   31447             : /* 59715*/      OPC_RecordChild1, // #1 = $x1
   31448             : /* 59716*/      OPC_CheckChild1Type, MVT::f64,
   31449             : /* 59718*/      OPC_CheckType, MVT::v2f64,
   31450             : /* 59720*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v2f64), 0,
   31451             :                     MVT::v2f64, 1/*#Ops*/, 0,  // Results = #2
   31452             : /* 59727*/      OPC_EmitInteger, MVT::i32, 1, 
   31453             : /* 59730*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v2f64), 0,
   31454             :                     MVT::v2f64, 3/*#Ops*/, 2, 3, 1, 
   31455             :                 // Src: (build_vector:{ *:[v2f64] } F64:{ *:[f64] }:$x0, F64:{ *:[f64] }:$x1) - Complexity = 3
   31456             :                 // Dst: (REPLACE_LANE_v2f64:{ *:[v2f64] } (SPLAT_v2f64:{ *:[v2f64] } F64:{ *:[f64] }:$x0), 1:{ *:[i32] }, F64:{ *:[f64] }:$x1)
   31457             : /* 59739*/    /*Scope*/ 56, /*->59796*/
   31458             : /* 59740*/      OPC_CheckChild0Type, MVT::f32,
   31459             : /* 59742*/      OPC_RecordChild1, // #1 = $x1
   31460             : /* 59743*/      OPC_CheckChild1Type, MVT::f32,
   31461             : /* 59745*/      OPC_RecordChild2, // #2 = $x2
   31462             : /* 59746*/      OPC_CheckChild2Type, MVT::f32,
   31463             : /* 59748*/      OPC_RecordChild3, // #3 = $x3
   31464             : /* 59749*/      OPC_CheckChild3Type, MVT::f32,
   31465             : /* 59751*/      OPC_CheckType, MVT::v4f32,
   31466             : /* 59753*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::SPLAT_v4f32), 0,
   31467             :                     MVT::v4f32, 1/*#Ops*/, 0,  // Results = #4
   31468             : /* 59760*/      OPC_EmitInteger, MVT::i32, 1, 
   31469             : /* 59763*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4f32), 0,
   31470             :                     MVT::v4f32, 3/*#Ops*/, 4, 5, 1,  // Results = #6
   31471             : /* 59772*/      OPC_EmitInteger, MVT::i32, 2, 
   31472             : /* 59775*/      OPC_EmitNode1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4f32), 0,
   31473             :                     MVT::v4f32, 3/*#Ops*/, 6, 7, 2,  // Results = #8
   31474             : /* 59784*/      OPC_EmitInteger, MVT::i32, 3, 
   31475             : /* 59787*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4f32), 0,
   31476             :                     MVT::v4f32, 3/*#Ops*/, 8, 9, 3, 
   31477             :                 // Src: (build_vector:{ *:[v4f32] } F32:{ *:[f32] }:$x0, F32:{ *:[f32] }:$x1, F32:{ *:[f32] }:$x2, F32:{ *:[f32] }:$x3) - Complexity = 3
   31478             :                 // Dst: (REPLACE_LANE_v4f32:{ *:[v4f32] } (REPLACE_LANE_v4f32:{ *:[v4f32] } (REPLACE_LANE_v4f32:{ *:[v4f32] } (SPLAT_v4f32:{ *:[v4f32] } F32:{ *:[f32] }:$x0), 1:{ *:[i32] }, F32:{ *:[f32] }:$x1), 2:{ *:[i32] }, F32:{ *:[f32] }:$x2), 3:{ *:[i32] }, F32:{ *:[f32] }:$x3)
   31479             : /* 59796*/    0, /*End of Scope*/
   31480             : /* 59797*/  /*SwitchOpcode*/ 5|128,11/*1413*/, TARGET_VAL(WebAssemblyISD::SHUFFLE),// ->61214
   31481             : /* 59801*/    OPC_RecordChild0, // #0 = $x
   31482             : /* 59802*/    OPC_Scope, 105|128,1/*233*/, /*->60038*/ // 6 children in Scope
   31483             : /* 59805*/      OPC_CheckChild0Type, MVT::v16i8,
   31484             : /* 59807*/      OPC_RecordChild1, // #1 = $y
   31485             : /* 59808*/      OPC_CheckChild1Type, MVT::v16i8,
   31486             : /* 59810*/      OPC_RecordChild2, // #2 = $m0
   31487             : /* 59811*/      OPC_MoveChild2,
   31488             : /* 59812*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31489             : /* 59815*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31490             : /* 59817*/      OPC_CheckType, MVT::i32,
   31491             : /* 59819*/      OPC_MoveParent,
   31492             : /* 59820*/      OPC_RecordChild3, // #3 = $m1
   31493             : /* 59821*/      OPC_MoveChild3,
   31494             : /* 59822*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31495             : /* 59825*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31496             : /* 59827*/      OPC_CheckType, MVT::i32,
   31497             : /* 59829*/      OPC_MoveParent,
   31498             : /* 59830*/      OPC_RecordChild4, // #4 = $m2
   31499             : /* 59831*/      OPC_MoveChild4,
   31500             : /* 59832*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31501             : /* 59835*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31502             : /* 59837*/      OPC_CheckType, MVT::i32,
   31503             : /* 59839*/      OPC_MoveParent,
   31504             : /* 59840*/      OPC_RecordChild5, // #5 = $m3
   31505             : /* 59841*/      OPC_MoveChild5,
   31506             : /* 59842*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31507             : /* 59845*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31508             : /* 59847*/      OPC_CheckType, MVT::i32,
   31509             : /* 59849*/      OPC_MoveParent,
   31510             : /* 59850*/      OPC_RecordChild6, // #6 = $m4
   31511             : /* 59851*/      OPC_MoveChild6,
   31512             : /* 59852*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31513             : /* 59855*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31514             : /* 59857*/      OPC_CheckType, MVT::i32,
   31515             : /* 59859*/      OPC_MoveParent,
   31516             : /* 59860*/      OPC_RecordChild7, // #7 = $m5
   31517             : /* 59861*/      OPC_MoveChild7,
   31518             : /* 59862*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31519             : /* 59865*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31520             : /* 59867*/      OPC_CheckType, MVT::i32,
   31521             : /* 59869*/      OPC_MoveParent,
   31522             : /* 59870*/      OPC_MoveChild, 8,
   31523             : /* 59872*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31524             : /* 59875*/      OPC_RecordNode, // #8 = $m6
   31525             : /* 59876*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31526             : /* 59878*/      OPC_CheckType, MVT::i32,
   31527             : /* 59880*/      OPC_MoveParent,
   31528             : /* 59881*/      OPC_MoveChild, 9,
   31529             : /* 59883*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31530             : /* 59886*/      OPC_RecordNode, // #9 = $m7
   31531             : /* 59887*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31532             : /* 59889*/      OPC_CheckType, MVT::i32,
   31533             : /* 59891*/      OPC_MoveParent,
   31534             : /* 59892*/      OPC_MoveChild, 10,
   31535             : /* 59894*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31536             : /* 59897*/      OPC_RecordNode, // #10 = $m8
   31537             : /* 59898*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31538             : /* 59900*/      OPC_CheckType, MVT::i32,
   31539             : /* 59902*/      OPC_MoveParent,
   31540             : /* 59903*/      OPC_MoveChild, 11,
   31541             : /* 59905*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31542             : /* 59908*/      OPC_RecordNode, // #11 = $m9
   31543             : /* 59909*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31544             : /* 59911*/      OPC_CheckType, MVT::i32,
   31545             : /* 59913*/      OPC_MoveParent,
   31546             : /* 59914*/      OPC_MoveChild, 12,
   31547             : /* 59916*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31548             : /* 59919*/      OPC_RecordNode, // #12 = $mA
   31549             : /* 59920*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31550             : /* 59922*/      OPC_CheckType, MVT::i32,
   31551             : /* 59924*/      OPC_MoveParent,
   31552             : /* 59925*/      OPC_MoveChild, 13,
   31553             : /* 59927*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31554             : /* 59930*/      OPC_RecordNode, // #13 = $mB
   31555             : /* 59931*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31556             : /* 59933*/      OPC_CheckType, MVT::i32,
   31557             : /* 59935*/      OPC_MoveParent,
   31558             : /* 59936*/      OPC_MoveChild, 14,
   31559             : /* 59938*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31560             : /* 59941*/      OPC_RecordNode, // #14 = $mC
   31561             : /* 59942*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31562             : /* 59944*/      OPC_CheckType, MVT::i32,
   31563             : /* 59946*/      OPC_MoveParent,
   31564             : /* 59947*/      OPC_MoveChild, 15,
   31565             : /* 59949*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31566             : /* 59952*/      OPC_RecordNode, // #15 = $mD
   31567             : /* 59953*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31568             : /* 59955*/      OPC_CheckType, MVT::i32,
   31569             : /* 59957*/      OPC_MoveParent,
   31570             : /* 59958*/      OPC_MoveChild, 16,
   31571             : /* 59960*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31572             : /* 59963*/      OPC_RecordNode, // #16 = $mE
   31573             : /* 59964*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31574             : /* 59966*/      OPC_CheckType, MVT::i32,
   31575             : /* 59968*/      OPC_MoveParent,
   31576             : /* 59969*/      OPC_MoveChild, 17,
   31577             : /* 59971*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31578             : /* 59974*/      OPC_RecordNode, // #17 = $mF
   31579             : /* 59975*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31580             : /* 59977*/      OPC_CheckType, MVT::i32,
   31581             : /* 59979*/      OPC_MoveParent,
   31582             : /* 59980*/      OPC_CheckType, MVT::v16i8,
   31583             : /* 59982*/      OPC_EmitConvertToTarget, 2,
   31584             : /* 59984*/      OPC_EmitConvertToTarget, 3,
   31585             : /* 59986*/      OPC_EmitConvertToTarget, 4,
   31586             : /* 59988*/      OPC_EmitConvertToTarget, 5,
   31587             : /* 59990*/      OPC_EmitConvertToTarget, 6,
   31588             : /* 59992*/      OPC_EmitConvertToTarget, 7,
   31589             : /* 59994*/      OPC_EmitConvertToTarget, 8,
   31590             : /* 59996*/      OPC_EmitConvertToTarget, 9,
   31591             : /* 59998*/      OPC_EmitConvertToTarget, 10,
   31592             : /* 60000*/      OPC_EmitConvertToTarget, 11,
   31593             : /* 60002*/      OPC_EmitConvertToTarget, 12,
   31594             : /* 60004*/      OPC_EmitConvertToTarget, 13,
   31595             : /* 60006*/      OPC_EmitConvertToTarget, 14,
   31596             : /* 60008*/      OPC_EmitConvertToTarget, 15,
   31597             : /* 60010*/      OPC_EmitConvertToTarget, 16,
   31598             : /* 60012*/      OPC_EmitConvertToTarget, 17,
   31599             : /* 60014*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
   31600             :                     MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 
   31601             :                 // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v16i8] }:$x, V128:{ *:[v16i8] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
   31602             :                 // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$x, V128:{ *:[v16i8] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
   31603             : /* 60038*/    /*Scope*/ 105|128,1/*233*/, /*->60273*/
   31604             : /* 60040*/      OPC_CheckChild0Type, MVT::v8i16,
   31605             : /* 60042*/      OPC_RecordChild1, // #1 = $y
   31606             : /* 60043*/      OPC_CheckChild1Type, MVT::v8i16,
   31607             : /* 60045*/      OPC_RecordChild2, // #2 = $m0
   31608             : /* 60046*/      OPC_MoveChild2,
   31609             : /* 60047*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31610             : /* 60050*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31611             : /* 60052*/      OPC_CheckType, MVT::i32,
   31612             : /* 60054*/      OPC_MoveParent,
   31613             : /* 60055*/      OPC_RecordChild3, // #3 = $m1
   31614             : /* 60056*/      OPC_MoveChild3,
   31615             : /* 60057*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31616             : /* 60060*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31617             : /* 60062*/      OPC_CheckType, MVT::i32,
   31618             : /* 60064*/      OPC_MoveParent,
   31619             : /* 60065*/      OPC_RecordChild4, // #4 = $m2
   31620             : /* 60066*/      OPC_MoveChild4,
   31621             : /* 60067*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31622             : /* 60070*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31623             : /* 60072*/      OPC_CheckType, MVT::i32,
   31624             : /* 60074*/      OPC_MoveParent,
   31625             : /* 60075*/      OPC_RecordChild5, // #5 = $m3
   31626             : /* 60076*/      OPC_MoveChild5,
   31627             : /* 60077*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31628             : /* 60080*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31629             : /* 60082*/      OPC_CheckType, MVT::i32,
   31630             : /* 60084*/      OPC_MoveParent,
   31631             : /* 60085*/      OPC_RecordChild6, // #6 = $m4
   31632             : /* 60086*/      OPC_MoveChild6,
   31633             : /* 60087*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31634             : /* 60090*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31635             : /* 60092*/      OPC_CheckType, MVT::i32,
   31636             : /* 60094*/      OPC_MoveParent,
   31637             : /* 60095*/      OPC_RecordChild7, // #7 = $m5
   31638             : /* 60096*/      OPC_MoveChild7,
   31639             : /* 60097*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31640             : /* 60100*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31641             : /* 60102*/      OPC_CheckType, MVT::i32,
   31642             : /* 60104*/      OPC_MoveParent,
   31643             : /* 60105*/      OPC_MoveChild, 8,
   31644             : /* 60107*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31645             : /* 60110*/      OPC_RecordNode, // #8 = $m6
   31646             : /* 60111*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31647             : /* 60113*/      OPC_CheckType, MVT::i32,
   31648             : /* 60115*/      OPC_MoveParent,
   31649             : /* 60116*/      OPC_MoveChild, 9,
   31650             : /* 60118*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31651             : /* 60121*/      OPC_RecordNode, // #9 = $m7
   31652             : /* 60122*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31653             : /* 60124*/      OPC_CheckType, MVT::i32,
   31654             : /* 60126*/      OPC_MoveParent,
   31655             : /* 60127*/      OPC_MoveChild, 10,
   31656             : /* 60129*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31657             : /* 60132*/      OPC_RecordNode, // #10 = $m8
   31658             : /* 60133*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31659             : /* 60135*/      OPC_CheckType, MVT::i32,
   31660             : /* 60137*/      OPC_MoveParent,
   31661             : /* 60138*/      OPC_MoveChild, 11,
   31662             : /* 60140*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31663             : /* 60143*/      OPC_RecordNode, // #11 = $m9
   31664             : /* 60144*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31665             : /* 60146*/      OPC_CheckType, MVT::i32,
   31666             : /* 60148*/      OPC_MoveParent,
   31667             : /* 60149*/      OPC_MoveChild, 12,
   31668             : /* 60151*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31669             : /* 60154*/      OPC_RecordNode, // #12 = $mA
   31670             : /* 60155*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31671             : /* 60157*/      OPC_CheckType, MVT::i32,
   31672             : /* 60159*/      OPC_MoveParent,
   31673             : /* 60160*/      OPC_MoveChild, 13,
   31674             : /* 60162*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31675             : /* 60165*/      OPC_RecordNode, // #13 = $mB
   31676             : /* 60166*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31677             : /* 60168*/      OPC_CheckType, MVT::i32,
   31678             : /* 60170*/      OPC_MoveParent,
   31679             : /* 60171*/      OPC_MoveChild, 14,
   31680             : /* 60173*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31681             : /* 60176*/      OPC_RecordNode, // #14 = $mC
   31682             : /* 60177*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31683             : /* 60179*/      OPC_CheckType, MVT::i32,
   31684             : /* 60181*/      OPC_MoveParent,
   31685             : /* 60182*/      OPC_MoveChild, 15,
   31686             : /* 60184*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31687             : /* 60187*/      OPC_RecordNode, // #15 = $mD
   31688             : /* 60188*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31689             : /* 60190*/      OPC_CheckType, MVT::i32,
   31690             : /* 60192*/      OPC_MoveParent,
   31691             : /* 60193*/      OPC_MoveChild, 16,
   31692             : /* 60195*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31693             : /* 60198*/      OPC_RecordNode, // #16 = $mE
   31694             : /* 60199*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31695             : /* 60201*/      OPC_CheckType, MVT::i32,
   31696             : /* 60203*/      OPC_MoveParent,
   31697             : /* 60204*/      OPC_MoveChild, 17,
   31698             : /* 60206*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31699             : /* 60209*/      OPC_RecordNode, // #17 = $mF
   31700             : /* 60210*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31701             : /* 60212*/      OPC_CheckType, MVT::i32,
   31702             : /* 60214*/      OPC_MoveParent,
   31703             : /* 60215*/      OPC_CheckType, MVT::v16i8,
   31704             : /* 60217*/      OPC_EmitConvertToTarget, 2,
   31705             : /* 60219*/      OPC_EmitConvertToTarget, 3,
   31706             : /* 60221*/      OPC_EmitConvertToTarget, 4,
   31707             : /* 60223*/      OPC_EmitConvertToTarget, 5,
   31708             : /* 60225*/      OPC_EmitConvertToTarget, 6,
   31709             : /* 60227*/      OPC_EmitConvertToTarget, 7,
   31710             : /* 60229*/      OPC_EmitConvertToTarget, 8,
   31711             : /* 60231*/      OPC_EmitConvertToTarget, 9,
   31712             : /* 60233*/      OPC_EmitConvertToTarget, 10,
   31713             : /* 60235*/      OPC_EmitConvertToTarget, 11,
   31714             : /* 60237*/      OPC_EmitConvertToTarget, 12,
   31715             : /* 60239*/      OPC_EmitConvertToTarget, 13,
   31716             : /* 60241*/      OPC_EmitConvertToTarget, 14,
   31717             : /* 60243*/      OPC_EmitConvertToTarget, 15,
   31718             : /* 60245*/      OPC_EmitConvertToTarget, 16,
   31719             : /* 60247*/      OPC_EmitConvertToTarget, 17,
   31720             : /* 60249*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
   31721             :                     MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 
   31722             :                 // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v8i16] }:$x, V128:{ *:[v8i16] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
   31723             :                 // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v8i16] }:$x, V128:{ *:[v8i16] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
   31724             : /* 60273*/    /*Scope*/ 105|128,1/*233*/, /*->60508*/
   31725             : /* 60275*/      OPC_CheckChild0Type, MVT::v4i32,
   31726             : /* 60277*/      OPC_RecordChild1, // #1 = $y
   31727             : /* 60278*/      OPC_CheckChild1Type, MVT::v4i32,
   31728             : /* 60280*/      OPC_RecordChild2, // #2 = $m0
   31729             : /* 60281*/      OPC_MoveChild2,
   31730             : /* 60282*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31731             : /* 60285*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31732             : /* 60287*/      OPC_CheckType, MVT::i32,
   31733             : /* 60289*/      OPC_MoveParent,
   31734             : /* 60290*/      OPC_RecordChild3, // #3 = $m1
   31735             : /* 60291*/      OPC_MoveChild3,
   31736             : /* 60292*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31737             : /* 60295*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31738             : /* 60297*/      OPC_CheckType, MVT::i32,
   31739             : /* 60299*/      OPC_MoveParent,
   31740             : /* 60300*/      OPC_RecordChild4, // #4 = $m2
   31741             : /* 60301*/      OPC_MoveChild4,
   31742             : /* 60302*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31743             : /* 60305*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31744             : /* 60307*/      OPC_CheckType, MVT::i32,
   31745             : /* 60309*/      OPC_MoveParent,
   31746             : /* 60310*/      OPC_RecordChild5, // #5 = $m3
   31747             : /* 60311*/      OPC_MoveChild5,
   31748             : /* 60312*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31749             : /* 60315*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31750             : /* 60317*/      OPC_CheckType, MVT::i32,
   31751             : /* 60319*/      OPC_MoveParent,
   31752             : /* 60320*/      OPC_RecordChild6, // #6 = $m4
   31753             : /* 60321*/      OPC_MoveChild6,
   31754             : /* 60322*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31755             : /* 60325*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31756             : /* 60327*/      OPC_CheckType, MVT::i32,
   31757             : /* 60329*/      OPC_MoveParent,
   31758             : /* 60330*/      OPC_RecordChild7, // #7 = $m5
   31759             : /* 60331*/      OPC_MoveChild7,
   31760             : /* 60332*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31761             : /* 60335*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31762             : /* 60337*/      OPC_CheckType, MVT::i32,
   31763             : /* 60339*/      OPC_MoveParent,
   31764             : /* 60340*/      OPC_MoveChild, 8,
   31765             : /* 60342*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31766             : /* 60345*/      OPC_RecordNode, // #8 = $m6
   31767             : /* 60346*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31768             : /* 60348*/      OPC_CheckType, MVT::i32,
   31769             : /* 60350*/      OPC_MoveParent,
   31770             : /* 60351*/      OPC_MoveChild, 9,
   31771             : /* 60353*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31772             : /* 60356*/      OPC_RecordNode, // #9 = $m7
   31773             : /* 60357*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31774             : /* 60359*/      OPC_CheckType, MVT::i32,
   31775             : /* 60361*/      OPC_MoveParent,
   31776             : /* 60362*/      OPC_MoveChild, 10,
   31777             : /* 60364*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31778             : /* 60367*/      OPC_RecordNode, // #10 = $m8
   31779             : /* 60368*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31780             : /* 60370*/      OPC_CheckType, MVT::i32,
   31781             : /* 60372*/      OPC_MoveParent,
   31782             : /* 60373*/      OPC_MoveChild, 11,
   31783             : /* 60375*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31784             : /* 60378*/      OPC_RecordNode, // #11 = $m9
   31785             : /* 60379*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31786             : /* 60381*/      OPC_CheckType, MVT::i32,
   31787             : /* 60383*/      OPC_MoveParent,
   31788             : /* 60384*/      OPC_MoveChild, 12,
   31789             : /* 60386*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31790             : /* 60389*/      OPC_RecordNode, // #12 = $mA
   31791             : /* 60390*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31792             : /* 60392*/      OPC_CheckType, MVT::i32,
   31793             : /* 60394*/      OPC_MoveParent,
   31794             : /* 60395*/      OPC_MoveChild, 13,
   31795             : /* 60397*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31796             : /* 60400*/      OPC_RecordNode, // #13 = $mB
   31797             : /* 60401*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31798             : /* 60403*/      OPC_CheckType, MVT::i32,
   31799             : /* 60405*/      OPC_MoveParent,
   31800             : /* 60406*/      OPC_MoveChild, 14,
   31801             : /* 60408*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31802             : /* 60411*/      OPC_RecordNode, // #14 = $mC
   31803             : /* 60412*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31804             : /* 60414*/      OPC_CheckType, MVT::i32,
   31805             : /* 60416*/      OPC_MoveParent,
   31806             : /* 60417*/      OPC_MoveChild, 15,
   31807             : /* 60419*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31808             : /* 60422*/      OPC_RecordNode, // #15 = $mD
   31809             : /* 60423*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31810             : /* 60425*/      OPC_CheckType, MVT::i32,
   31811             : /* 60427*/      OPC_MoveParent,
   31812             : /* 60428*/      OPC_MoveChild, 16,
   31813             : /* 60430*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31814             : /* 60433*/      OPC_RecordNode, // #16 = $mE
   31815             : /* 60434*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31816             : /* 60436*/      OPC_CheckType, MVT::i32,
   31817             : /* 60438*/      OPC_MoveParent,
   31818             : /* 60439*/      OPC_MoveChild, 17,
   31819             : /* 60441*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31820             : /* 60444*/      OPC_RecordNode, // #17 = $mF
   31821             : /* 60445*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31822             : /* 60447*/      OPC_CheckType, MVT::i32,
   31823             : /* 60449*/      OPC_MoveParent,
   31824             : /* 60450*/      OPC_CheckType, MVT::v16i8,
   31825             : /* 60452*/      OPC_EmitConvertToTarget, 2,
   31826             : /* 60454*/      OPC_EmitConvertToTarget, 3,
   31827             : /* 60456*/      OPC_EmitConvertToTarget, 4,
   31828             : /* 60458*/      OPC_EmitConvertToTarget, 5,
   31829             : /* 60460*/      OPC_EmitConvertToTarget, 6,
   31830             : /* 60462*/      OPC_EmitConvertToTarget, 7,
   31831             : /* 60464*/      OPC_EmitConvertToTarget, 8,
   31832             : /* 60466*/      OPC_EmitConvertToTarget, 9,
   31833             : /* 60468*/      OPC_EmitConvertToTarget, 10,
   31834             : /* 60470*/      OPC_EmitConvertToTarget, 11,
   31835             : /* 60472*/      OPC_EmitConvertToTarget, 12,
   31836             : /* 60474*/      OPC_EmitConvertToTarget, 13,
   31837             : /* 60476*/      OPC_EmitConvertToTarget, 14,
   31838             : /* 60478*/      OPC_EmitConvertToTarget, 15,
   31839             : /* 60480*/      OPC_EmitConvertToTarget, 16,
   31840             : /* 60482*/      OPC_EmitConvertToTarget, 17,
   31841             : /* 60484*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
   31842             :                     MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 
   31843             :                 // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v4i32] }:$x, V128:{ *:[v4i32] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
   31844             :                 // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v4i32] }:$x, V128:{ *:[v4i32] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
   31845             : /* 60508*/    /*Scope*/ 105|128,1/*233*/, /*->60743*/
   31846             : /* 60510*/      OPC_CheckChild0Type, MVT::v2i64,
   31847             : /* 60512*/      OPC_RecordChild1, // #1 = $y
   31848             : /* 60513*/      OPC_CheckChild1Type, MVT::v2i64,
   31849             : /* 60515*/      OPC_RecordChild2, // #2 = $m0
   31850             : /* 60516*/      OPC_MoveChild2,
   31851             : /* 60517*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31852             : /* 60520*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31853             : /* 60522*/      OPC_CheckType, MVT::i32,
   31854             : /* 60524*/      OPC_MoveParent,
   31855             : /* 60525*/      OPC_RecordChild3, // #3 = $m1
   31856             : /* 60526*/      OPC_MoveChild3,
   31857             : /* 60527*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31858             : /* 60530*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31859             : /* 60532*/      OPC_CheckType, MVT::i32,
   31860             : /* 60534*/      OPC_MoveParent,
   31861             : /* 60535*/      OPC_RecordChild4, // #4 = $m2
   31862             : /* 60536*/      OPC_MoveChild4,
   31863             : /* 60537*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31864             : /* 60540*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31865             : /* 60542*/      OPC_CheckType, MVT::i32,
   31866             : /* 60544*/      OPC_MoveParent,
   31867             : /* 60545*/      OPC_RecordChild5, // #5 = $m3
   31868             : /* 60546*/      OPC_MoveChild5,
   31869             : /* 60547*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31870             : /* 60550*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31871             : /* 60552*/      OPC_CheckType, MVT::i32,
   31872             : /* 60554*/      OPC_MoveParent,
   31873             : /* 60555*/      OPC_RecordChild6, // #6 = $m4
   31874             : /* 60556*/      OPC_MoveChild6,
   31875             : /* 60557*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31876             : /* 60560*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31877             : /* 60562*/      OPC_CheckType, MVT::i32,
   31878             : /* 60564*/      OPC_MoveParent,
   31879             : /* 60565*/      OPC_RecordChild7, // #7 = $m5
   31880             : /* 60566*/      OPC_MoveChild7,
   31881             : /* 60567*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31882             : /* 60570*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31883             : /* 60572*/      OPC_CheckType, MVT::i32,
   31884             : /* 60574*/      OPC_MoveParent,
   31885             : /* 60575*/      OPC_MoveChild, 8,
   31886             : /* 60577*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31887             : /* 60580*/      OPC_RecordNode, // #8 = $m6
   31888             : /* 60581*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31889             : /* 60583*/      OPC_CheckType, MVT::i32,
   31890             : /* 60585*/      OPC_MoveParent,
   31891             : /* 60586*/      OPC_MoveChild, 9,
   31892             : /* 60588*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31893             : /* 60591*/      OPC_RecordNode, // #9 = $m7
   31894             : /* 60592*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31895             : /* 60594*/      OPC_CheckType, MVT::i32,
   31896             : /* 60596*/      OPC_MoveParent,
   31897             : /* 60597*/      OPC_MoveChild, 10,
   31898             : /* 60599*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31899             : /* 60602*/      OPC_RecordNode, // #10 = $m8
   31900             : /* 60603*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31901             : /* 60605*/      OPC_CheckType, MVT::i32,
   31902             : /* 60607*/      OPC_MoveParent,
   31903             : /* 60608*/      OPC_MoveChild, 11,
   31904             : /* 60610*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31905             : /* 60613*/      OPC_RecordNode, // #11 = $m9
   31906             : /* 60614*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31907             : /* 60616*/      OPC_CheckType, MVT::i32,
   31908             : /* 60618*/      OPC_MoveParent,
   31909             : /* 60619*/      OPC_MoveChild, 12,
   31910             : /* 60621*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31911             : /* 60624*/      OPC_RecordNode, // #12 = $mA
   31912             : /* 60625*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31913             : /* 60627*/      OPC_CheckType, MVT::i32,
   31914             : /* 60629*/      OPC_MoveParent,
   31915             : /* 60630*/      OPC_MoveChild, 13,
   31916             : /* 60632*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31917             : /* 60635*/      OPC_RecordNode, // #13 = $mB
   31918             : /* 60636*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31919             : /* 60638*/      OPC_CheckType, MVT::i32,
   31920             : /* 60640*/      OPC_MoveParent,
   31921             : /* 60641*/      OPC_MoveChild, 14,
   31922             : /* 60643*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31923             : /* 60646*/      OPC_RecordNode, // #14 = $mC
   31924             : /* 60647*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31925             : /* 60649*/      OPC_CheckType, MVT::i32,
   31926             : /* 60651*/      OPC_MoveParent,
   31927             : /* 60652*/      OPC_MoveChild, 15,
   31928             : /* 60654*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31929             : /* 60657*/      OPC_RecordNode, // #15 = $mD
   31930             : /* 60658*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31931             : /* 60660*/      OPC_CheckType, MVT::i32,
   31932             : /* 60662*/      OPC_MoveParent,
   31933             : /* 60663*/      OPC_MoveChild, 16,
   31934             : /* 60665*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31935             : /* 60668*/      OPC_RecordNode, // #16 = $mE
   31936             : /* 60669*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31937             : /* 60671*/      OPC_CheckType, MVT::i32,
   31938             : /* 60673*/      OPC_MoveParent,
   31939             : /* 60674*/      OPC_MoveChild, 17,
   31940             : /* 60676*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31941             : /* 60679*/      OPC_RecordNode, // #17 = $mF
   31942             : /* 60680*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31943             : /* 60682*/      OPC_CheckType, MVT::i32,
   31944             : /* 60684*/      OPC_MoveParent,
   31945             : /* 60685*/      OPC_CheckType, MVT::v16i8,
   31946             : /* 60687*/      OPC_EmitConvertToTarget, 2,
   31947             : /* 60689*/      OPC_EmitConvertToTarget, 3,
   31948             : /* 60691*/      OPC_EmitConvertToTarget, 4,
   31949             : /* 60693*/      OPC_EmitConvertToTarget, 5,
   31950             : /* 60695*/      OPC_EmitConvertToTarget, 6,
   31951             : /* 60697*/      OPC_EmitConvertToTarget, 7,
   31952             : /* 60699*/      OPC_EmitConvertToTarget, 8,
   31953             : /* 60701*/      OPC_EmitConvertToTarget, 9,
   31954             : /* 60703*/      OPC_EmitConvertToTarget, 10,
   31955             : /* 60705*/      OPC_EmitConvertToTarget, 11,
   31956             : /* 60707*/      OPC_EmitConvertToTarget, 12,
   31957             : /* 60709*/      OPC_EmitConvertToTarget, 13,
   31958             : /* 60711*/      OPC_EmitConvertToTarget, 14,
   31959             : /* 60713*/      OPC_EmitConvertToTarget, 15,
   31960             : /* 60715*/      OPC_EmitConvertToTarget, 16,
   31961             : /* 60717*/      OPC_EmitConvertToTarget, 17,
   31962             : /* 60719*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
   31963             :                     MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 
   31964             :                 // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v2i64] }:$x, V128:{ *:[v2i64] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
   31965             :                 // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v2i64] }:$x, V128:{ *:[v2i64] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
   31966             : /* 60743*/    /*Scope*/ 105|128,1/*233*/, /*->60978*/
   31967             : /* 60745*/      OPC_CheckChild0Type, MVT::v4f32,
   31968             : /* 60747*/      OPC_RecordChild1, // #1 = $y
   31969             : /* 60748*/      OPC_CheckChild1Type, MVT::v4f32,
   31970             : /* 60750*/      OPC_RecordChild2, // #2 = $m0
   31971             : /* 60751*/      OPC_MoveChild2,
   31972             : /* 60752*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31973             : /* 60755*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31974             : /* 60757*/      OPC_CheckType, MVT::i32,
   31975             : /* 60759*/      OPC_MoveParent,
   31976             : /* 60760*/      OPC_RecordChild3, // #3 = $m1
   31977             : /* 60761*/      OPC_MoveChild3,
   31978             : /* 60762*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31979             : /* 60765*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31980             : /* 60767*/      OPC_CheckType, MVT::i32,
   31981             : /* 60769*/      OPC_MoveParent,
   31982             : /* 60770*/      OPC_RecordChild4, // #4 = $m2
   31983             : /* 60771*/      OPC_MoveChild4,
   31984             : /* 60772*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31985             : /* 60775*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31986             : /* 60777*/      OPC_CheckType, MVT::i32,
   31987             : /* 60779*/      OPC_MoveParent,
   31988             : /* 60780*/      OPC_RecordChild5, // #5 = $m3
   31989             : /* 60781*/      OPC_MoveChild5,
   31990             : /* 60782*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31991             : /* 60785*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31992             : /* 60787*/      OPC_CheckType, MVT::i32,
   31993             : /* 60789*/      OPC_MoveParent,
   31994             : /* 60790*/      OPC_RecordChild6, // #6 = $m4
   31995             : /* 60791*/      OPC_MoveChild6,
   31996             : /* 60792*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   31997             : /* 60795*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   31998             : /* 60797*/      OPC_CheckType, MVT::i32,
   31999             : /* 60799*/      OPC_MoveParent,
   32000             : /* 60800*/      OPC_RecordChild7, // #7 = $m5
   32001             : /* 60801*/      OPC_MoveChild7,
   32002             : /* 60802*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32003             : /* 60805*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32004             : /* 60807*/      OPC_CheckType, MVT::i32,
   32005             : /* 60809*/      OPC_MoveParent,
   32006             : /* 60810*/      OPC_MoveChild, 8,
   32007             : /* 60812*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32008             : /* 60815*/      OPC_RecordNode, // #8 = $m6
   32009             : /* 60816*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32010             : /* 60818*/      OPC_CheckType, MVT::i32,
   32011             : /* 60820*/      OPC_MoveParent,
   32012             : /* 60821*/      OPC_MoveChild, 9,
   32013             : /* 60823*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32014             : /* 60826*/      OPC_RecordNode, // #9 = $m7
   32015             : /* 60827*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32016             : /* 60829*/      OPC_CheckType, MVT::i32,
   32017             : /* 60831*/      OPC_MoveParent,
   32018             : /* 60832*/      OPC_MoveChild, 10,
   32019             : /* 60834*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32020             : /* 60837*/      OPC_RecordNode, // #10 = $m8
   32021             : /* 60838*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32022             : /* 60840*/      OPC_CheckType, MVT::i32,
   32023             : /* 60842*/      OPC_MoveParent,
   32024             : /* 60843*/      OPC_MoveChild, 11,
   32025             : /* 60845*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32026             : /* 60848*/      OPC_RecordNode, // #11 = $m9
   32027             : /* 60849*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32028             : /* 60851*/      OPC_CheckType, MVT::i32,
   32029             : /* 60853*/      OPC_MoveParent,
   32030             : /* 60854*/      OPC_MoveChild, 12,
   32031             : /* 60856*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32032             : /* 60859*/      OPC_RecordNode, // #12 = $mA
   32033             : /* 60860*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32034             : /* 60862*/      OPC_CheckType, MVT::i32,
   32035             : /* 60864*/      OPC_MoveParent,
   32036             : /* 60865*/      OPC_MoveChild, 13,
   32037             : /* 60867*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32038             : /* 60870*/      OPC_RecordNode, // #13 = $mB
   32039             : /* 60871*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32040             : /* 60873*/      OPC_CheckType, MVT::i32,
   32041             : /* 60875*/      OPC_MoveParent,
   32042             : /* 60876*/      OPC_MoveChild, 14,
   32043             : /* 60878*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32044             : /* 60881*/      OPC_RecordNode, // #14 = $mC
   32045             : /* 60882*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32046             : /* 60884*/      OPC_CheckType, MVT::i32,
   32047             : /* 60886*/      OPC_MoveParent,
   32048             : /* 60887*/      OPC_MoveChild, 15,
   32049             : /* 60889*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32050             : /* 60892*/      OPC_RecordNode, // #15 = $mD
   32051             : /* 60893*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32052             : /* 60895*/      OPC_CheckType, MVT::i32,
   32053             : /* 60897*/      OPC_MoveParent,
   32054             : /* 60898*/      OPC_MoveChild, 16,
   32055             : /* 60900*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32056             : /* 60903*/      OPC_RecordNode, // #16 = $mE
   32057             : /* 60904*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32058             : /* 60906*/      OPC_CheckType, MVT::i32,
   32059             : /* 60908*/      OPC_MoveParent,
   32060             : /* 60909*/      OPC_MoveChild, 17,
   32061             : /* 60911*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32062             : /* 60914*/      OPC_RecordNode, // #17 = $mF
   32063             : /* 60915*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32064             : /* 60917*/      OPC_CheckType, MVT::i32,
   32065             : /* 60919*/      OPC_MoveParent,
   32066             : /* 60920*/      OPC_CheckType, MVT::v16i8,
   32067             : /* 60922*/      OPC_EmitConvertToTarget, 2,
   32068             : /* 60924*/      OPC_EmitConvertToTarget, 3,
   32069             : /* 60926*/      OPC_EmitConvertToTarget, 4,
   32070             : /* 60928*/      OPC_EmitConvertToTarget, 5,
   32071             : /* 60930*/      OPC_EmitConvertToTarget, 6,
   32072             : /* 60932*/      OPC_EmitConvertToTarget, 7,
   32073             : /* 60934*/      OPC_EmitConvertToTarget, 8,
   32074             : /* 60936*/      OPC_EmitConvertToTarget, 9,
   32075             : /* 60938*/      OPC_EmitConvertToTarget, 10,
   32076             : /* 60940*/      OPC_EmitConvertToTarget, 11,
   32077             : /* 60942*/      OPC_EmitConvertToTarget, 12,
   32078             : /* 60944*/      OPC_EmitConvertToTarget, 13,
   32079             : /* 60946*/      OPC_EmitConvertToTarget, 14,
   32080             : /* 60948*/      OPC_EmitConvertToTarget, 15,
   32081             : /* 60950*/      OPC_EmitConvertToTarget, 16,
   32082             : /* 60952*/      OPC_EmitConvertToTarget, 17,
   32083             : /* 60954*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
   32084             :                     MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 
   32085             :                 // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v4f32] }:$x, V128:{ *:[v4f32] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
   32086             :                 // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v4f32] }:$x, V128:{ *:[v4f32] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
   32087             : /* 60978*/    /*Scope*/ 105|128,1/*233*/, /*->61213*/
   32088             : /* 60980*/      OPC_CheckChild0Type, MVT::v2f64,
   32089             : /* 60982*/      OPC_RecordChild1, // #1 = $y
   32090             : /* 60983*/      OPC_CheckChild1Type, MVT::v2f64,
   32091             : /* 60985*/      OPC_RecordChild2, // #2 = $m0
   32092             : /* 60986*/      OPC_MoveChild2,
   32093             : /* 60987*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32094             : /* 60990*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32095             : /* 60992*/      OPC_CheckType, MVT::i32,
   32096             : /* 60994*/      OPC_MoveParent,
   32097             : /* 60995*/      OPC_RecordChild3, // #3 = $m1
   32098             : /* 60996*/      OPC_MoveChild3,
   32099             : /* 60997*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32100             : /* 61000*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32101             : /* 61002*/      OPC_CheckType, MVT::i32,
   32102             : /* 61004*/      OPC_MoveParent,
   32103             : /* 61005*/      OPC_RecordChild4, // #4 = $m2
   32104             : /* 61006*/      OPC_MoveChild4,
   32105             : /* 61007*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32106             : /* 61010*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32107             : /* 61012*/      OPC_CheckType, MVT::i32,
   32108             : /* 61014*/      OPC_MoveParent,
   32109             : /* 61015*/      OPC_RecordChild5, // #5 = $m3
   32110             : /* 61016*/      OPC_MoveChild5,
   32111             : /* 61017*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32112             : /* 61020*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32113             : /* 61022*/      OPC_CheckType, MVT::i32,
   32114             : /* 61024*/      OPC_MoveParent,
   32115             : /* 61025*/      OPC_RecordChild6, // #6 = $m4
   32116             : /* 61026*/      OPC_MoveChild6,
   32117             : /* 61027*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32118             : /* 61030*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32119             : /* 61032*/      OPC_CheckType, MVT::i32,
   32120             : /* 61034*/      OPC_MoveParent,
   32121             : /* 61035*/      OPC_RecordChild7, // #7 = $m5
   32122             : /* 61036*/      OPC_MoveChild7,
   32123             : /* 61037*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32124             : /* 61040*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32125             : /* 61042*/      OPC_CheckType, MVT::i32,
   32126             : /* 61044*/      OPC_MoveParent,
   32127             : /* 61045*/      OPC_MoveChild, 8,
   32128             : /* 61047*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32129             : /* 61050*/      OPC_RecordNode, // #8 = $m6
   32130             : /* 61051*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32131             : /* 61053*/      OPC_CheckType, MVT::i32,
   32132             : /* 61055*/      OPC_MoveParent,
   32133             : /* 61056*/      OPC_MoveChild, 9,
   32134             : /* 61058*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32135             : /* 61061*/      OPC_RecordNode, // #9 = $m7
   32136             : /* 61062*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32137             : /* 61064*/      OPC_CheckType, MVT::i32,
   32138             : /* 61066*/      OPC_MoveParent,
   32139             : /* 61067*/      OPC_MoveChild, 10,
   32140             : /* 61069*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32141             : /* 61072*/      OPC_RecordNode, // #10 = $m8
   32142             : /* 61073*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32143             : /* 61075*/      OPC_CheckType, MVT::i32,
   32144             : /* 61077*/      OPC_MoveParent,
   32145             : /* 61078*/      OPC_MoveChild, 11,
   32146             : /* 61080*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32147             : /* 61083*/      OPC_RecordNode, // #11 = $m9
   32148             : /* 61084*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32149             : /* 61086*/      OPC_CheckType, MVT::i32,
   32150             : /* 61088*/      OPC_MoveParent,
   32151             : /* 61089*/      OPC_MoveChild, 12,
   32152             : /* 61091*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32153             : /* 61094*/      OPC_RecordNode, // #12 = $mA
   32154             : /* 61095*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32155             : /* 61097*/      OPC_CheckType, MVT::i32,
   32156             : /* 61099*/      OPC_MoveParent,
   32157             : /* 61100*/      OPC_MoveChild, 13,
   32158             : /* 61102*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32159             : /* 61105*/      OPC_RecordNode, // #13 = $mB
   32160             : /* 61106*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32161             : /* 61108*/      OPC_CheckType, MVT::i32,
   32162             : /* 61110*/      OPC_MoveParent,
   32163             : /* 61111*/      OPC_MoveChild, 14,
   32164             : /* 61113*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32165             : /* 61116*/      OPC_RecordNode, // #14 = $mC
   32166             : /* 61117*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32167             : /* 61119*/      OPC_CheckType, MVT::i32,
   32168             : /* 61121*/      OPC_MoveParent,
   32169             : /* 61122*/      OPC_MoveChild, 15,
   32170             : /* 61124*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32171             : /* 61127*/      OPC_RecordNode, // #15 = $mD
   32172             : /* 61128*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32173             : /* 61130*/      OPC_CheckType, MVT::i32,
   32174             : /* 61132*/      OPC_MoveParent,
   32175             : /* 61133*/      OPC_MoveChild, 16,
   32176             : /* 61135*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32177             : /* 61138*/      OPC_RecordNode, // #16 = $mE
   32178             : /* 61139*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32179             : /* 61141*/      OPC_CheckType, MVT::i32,
   32180             : /* 61143*/      OPC_MoveParent,
   32181             : /* 61144*/      OPC_MoveChild, 17,
   32182             : /* 61146*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32183             : /* 61149*/      OPC_RecordNode, // #17 = $mF
   32184             : /* 61150*/      OPC_CheckPredicate, 29, // Predicate_LaneIdx32
   32185             : /* 61152*/      OPC_CheckType, MVT::i32,
   32186             : /* 61154*/      OPC_MoveParent,
   32187             : /* 61155*/      OPC_CheckType, MVT::v16i8,
   32188             : /* 61157*/      OPC_EmitConvertToTarget, 2,
   32189             : /* 61159*/      OPC_EmitConvertToTarget, 3,
   32190             : /* 61161*/      OPC_EmitConvertToTarget, 4,
   32191             : /* 61163*/      OPC_EmitConvertToTarget, 5,
   32192             : /* 61165*/      OPC_EmitConvertToTarget, 6,
   32193             : /* 61167*/      OPC_EmitConvertToTarget, 7,
   32194             : /* 61169*/      OPC_EmitConvertToTarget, 8,
   32195             : /* 61171*/      OPC_EmitConvertToTarget, 9,
   32196             : /* 61173*/      OPC_EmitConvertToTarget, 10,
   32197             : /* 61175*/      OPC_EmitConvertToTarget, 11,
   32198             : /* 61177*/      OPC_EmitConvertToTarget, 12,
   32199             : /* 61179*/      OPC_EmitConvertToTarget, 13,
   32200             : /* 61181*/      OPC_EmitConvertToTarget, 14,
   32201             : /* 61183*/      OPC_EmitConvertToTarget, 15,
   32202             : /* 61185*/      OPC_EmitConvertToTarget, 16,
   32203             : /* 61187*/      OPC_EmitConvertToTarget, 17,
   32204             : /* 61189*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::SHUFFLE_v16i8), 0,
   32205             :                     MVT::v16i8, 18/*#Ops*/, 0, 1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 
   32206             :                 // Src: (wasm_shuffle:{ *:[v16i8] } V128:{ *:[v2f64] }:$x, V128:{ *:[v2f64] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF) - Complexity = 67
   32207             :                 // Dst: (SHUFFLE_v16i8:{ *:[v16i8] } V128:{ *:[v2f64] }:$x, V128:{ *:[v2f64] }:$y, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m0, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m1, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m2, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m3, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m4, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m5, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m6, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m7, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m8, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$m9, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mA, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mB, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mC, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mD, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mE, (imm:{ *:[i32] })<<P:Predicate_LaneIdx32>>:$mF)
   32208             : /* 61213*/    0, /*End of Scope*/
   32209             : /* 61214*/  /*SwitchOpcode*/ 29|128,1/*157*/, TARGET_VAL(ISD::INSERT_VECTOR_ELT),// ->61375
   32210             : /* 61218*/    OPC_RecordChild0, // #0 = $vec
   32211             : /* 61219*/    OPC_RecordChild1, // #1 = $x
   32212             : /* 61220*/    OPC_Scope, 68, /*->61290*/ // 4 children in Scope
   32213             : /* 61222*/      OPC_CheckChild1Type, MVT::i32,
   32214             : /* 61224*/      OPC_RecordChild2, // #2 = $idx
   32215             : /* 61225*/      OPC_MoveChild2,
   32216             : /* 61226*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32217             : /* 61229*/      OPC_CheckType, MVT::i32,
   32218             : /* 61231*/      OPC_Scope, 18, /*->61251*/ // 3 children in Scope
   32219             : /* 61233*/        OPC_CheckPredicate, 5, // Predicate_LaneIdx16
   32220             : /* 61235*/        OPC_MoveParent,
   32221             : /* 61236*/        OPC_CheckType, MVT::v16i8,
   32222             : /* 61238*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   32223             : /* 61240*/        OPC_EmitConvertToTarget, 2,
   32224             : /* 61242*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v16i8), 0,
   32225             :                       MVT::v16i8, 3/*#Ops*/, 0, 3, 1, 
   32226             :                   // Src: (vector_insert:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, I32:{ *:[i32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx16>>:$idx) - Complexity = 7
   32227             :                   // Dst: (REPLACE_LANE_v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$vec, (imm:{ *:[i32] }):$idx, I32:{ *:[i32] }:$x)
   32228             : /* 61251*/      /*Scope*/ 18, /*->61270*/
   32229             : /* 61252*/        OPC_CheckPredicate, 6, // Predicate_LaneIdx8
   32230             : /* 61254*/        OPC_MoveParent,
   32231             : /* 61255*/        OPC_CheckType, MVT::v8i16,
   32232             : /* 61257*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   32233             : /* 61259*/        OPC_EmitConvertToTarget, 2,
   32234             : /* 61261*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v8i16), 0,
   32235             :                       MVT::v8i16, 3/*#Ops*/, 0, 3, 1, 
   32236             :                   // Src: (vector_insert:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, I32:{ *:[i32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx8>>:$idx) - Complexity = 7
   32237             :                   // Dst: (REPLACE_LANE_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$vec, (imm:{ *:[i32] }):$idx, I32:{ *:[i32] }:$x)
   32238             : /* 61270*/      /*Scope*/ 18, /*->61289*/
   32239             : /* 61271*/        OPC_CheckPredicate, 23, // Predicate_LaneIdx4
   32240             : /* 61273*/        OPC_MoveParent,
   32241             : /* 61274*/        OPC_CheckType, MVT::v4i32,
   32242             : /* 61276*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   32243             : /* 61278*/        OPC_EmitConvertToTarget, 2,
   32244             : /* 61280*/        OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4i32), 0,
   32245             :                       MVT::v4i32, 3/*#Ops*/, 0, 3, 1, 
   32246             :                   // Src: (vector_insert:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, I32:{ *:[i32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
   32247             :                   // Dst: (REPLACE_LANE_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$vec, (imm:{ *:[i32] }):$idx, I32:{ *:[i32] }:$x)
   32248             : /* 61289*/      0, /*End of Scope*/
   32249             : /* 61290*/    /*Scope*/ 27, /*->61318*/
   32250             : /* 61291*/      OPC_CheckChild1Type, MVT::i64,
   32251             : /* 61293*/      OPC_RecordChild2, // #2 = $idx
   32252             : /* 61294*/      OPC_MoveChild2,
   32253             : /* 61295*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32254             : /* 61298*/      OPC_CheckPredicate, 24, // Predicate_LaneIdx2
   32255             : /* 61300*/      OPC_CheckType, MVT::i32,
   32256             : /* 61302*/      OPC_MoveParent,
   32257             : /* 61303*/      OPC_CheckType, MVT::v2i64,
   32258             : /* 61305*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   32259             : /* 61307*/      OPC_EmitConvertToTarget, 2,
   32260             : /* 61309*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v2i64), 0,
   32261             :                     MVT::v2i64, 3/*#Ops*/, 0, 3, 1, 
   32262             :                 // Src: (vector_insert:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, I64:{ *:[i64] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
   32263             :                 // Dst: (REPLACE_LANE_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$vec, (imm:{ *:[i32] }):$idx, I64:{ *:[i64] }:$x)
   32264             : /* 61318*/    /*Scope*/ 27, /*->61346*/
   32265             : /* 61319*/      OPC_CheckChild1Type, MVT::f32,
   32266             : /* 61321*/      OPC_RecordChild2, // #2 = $idx
   32267             : /* 61322*/      OPC_MoveChild2,
   32268             : /* 61323*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32269             : /* 61326*/      OPC_CheckPredicate, 23, // Predicate_LaneIdx4
   32270             : /* 61328*/      OPC_CheckType, MVT::i32,
   32271             : /* 61330*/      OPC_MoveParent,
   32272             : /* 61331*/      OPC_CheckType, MVT::v4f32,
   32273             : /* 61333*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   32274             : /* 61335*/      OPC_EmitConvertToTarget, 2,
   32275             : /* 61337*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v4f32), 0,
   32276             :                     MVT::v4f32, 3/*#Ops*/, 0, 3, 1, 
   32277             :                 // Src: (vector_insert:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec, F32:{ *:[f32] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx4>>:$idx) - Complexity = 7
   32278             :                 // Dst: (REPLACE_LANE_v4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$vec, (imm:{ *:[i32] }):$idx, F32:{ *:[f32] }:$x)
   32279             : /* 61346*/    /*Scope*/ 27, /*->61374*/
   32280             : /* 61347*/      OPC_CheckChild1Type, MVT::f64,
   32281             : /* 61349*/      OPC_RecordChild2, // #2 = $idx
   32282             : /* 61350*/      OPC_MoveChild2,
   32283             : /* 61351*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   32284             : /* 61354*/      OPC_CheckPredicate, 24, // Predicate_LaneIdx2
   32285             : /* 61356*/      OPC_CheckType, MVT::i32,
   32286             : /* 61358*/      OPC_MoveParent,
   32287             : /* 61359*/      OPC_CheckType, MVT::v2f64,
   32288             : /* 61361*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasSIMD128())
   32289             : /* 61363*/      OPC_EmitConvertToTarget, 2,
   32290             : /* 61365*/      OPC_MorphNodeTo1, TARGET_VAL(WebAssembly::REPLACE_LANE_v2f64), 0,
   32291             :                     MVT::v2f64, 3/*#Ops*/, 0, 3, 1, 
   32292             :                 // Src: (vector_insert:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec, F64:{ *:[f64] }:$x, (imm:{ *:[i32] })<<P:Predicate_LaneIdx2>>:$idx) - Complexity = 7
   32293             :                 // Dst: (REPLACE_LANE_v2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$vec, (imm:{ *:[i32] }):$idx, F64:{ *:[f64] }:$x)
   32294             : /* 61374*/    0, /*End of Scope*/
   32295             : /* 61375*/  0, // EndSwitchOpcode
   32296             :     0
   32297             :   }; // Total Array size is 61377 bytes
   32298             : 
   32299             :   // Opcode Histogram:
   32300             :   // #OPC_Scope                                = 529
   32301             :   // #OPC_RecordNode                           = 423
   32302             :   // #OPC_RecordChild                          = 2079
   32303             :   // #OPC_RecordMemRef                         = 331
   32304             :   // #OPC_CaptureGlueInput                     = 1
   32305             :   // #OPC_MoveChild                            = 2315
   32306             :   // #OPC_MoveParent                           = 3169
   32307             :   // #OPC_CheckSame                            = 48
   32308             :   // #OPC_CheckChildSame                       = 84
   32309             :   // #OPC_CheckPatternPredicate                = 1204
   32310             :   // #OPC_CheckPredicate                       = 2027
   32311             :   // #OPC_CheckOpcode                          = 2145
   32312             :   // #OPC_SwitchOpcode                         = 96
   32313             :   // #OPC_CheckType                            = 1113
   32314             :   // #OPC_SwitchType                           = 227
   32315             :   // #OPC_CheckChildType                       = 281
   32316             :   // #OPC_CheckInteger                         = 0
   32317             :   // #OPC_CheckChildInteger                    = 31
   32318             :   // #OPC_CheckCondCode                        = 100
   32319             :   // #OPC_CheckValueType                       = 5
   32320             :   // #OPC_CheckComplexPat                      = 0
   32321             :   // #OPC_CheckAndImm                          = 306
   32322             :   // #OPC_CheckOrImm                           = 0
   32323             :   // #OPC_CheckFoldableChainNode               = 302
   32324             :   // #OPC_EmitInteger                          = 1963
   32325             :   // #OPC_EmitStringInteger                    = 0
   32326             :   // #OPC_EmitRegister                         = 0
   32327             :   // #OPC_EmitConvertToTarget                  = 586
   32328             :   // #OPC_EmitMergeInputChains                 = 1460
   32329             :   // #OPC_EmitCopyToReg                        = 0
   32330             :   // #OPC_EmitNode                             = 449
   32331             :   // #OPC_EmitNodeXForm                        = 0
   32332             :   // #OPC_CompleteMatch                        = 30
   32333             :   // #OPC_MorphNodeTo                          = 1909
   32334             : 
   32335             :   #undef TARGET_VAL
   32336       42603 :   SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));
   32337             : }
   32338             : #endif // GET_DAGISEL_BODY
   32339             : 
   32340             : #ifdef GET_DAGISEL_DECL
   32341             : bool CheckPatternPredicate(unsigned PredNo) const override;
   32342             : #endif
   32343             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
   32344        1879 : bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
   32345             : #if DAGISEL_INLINE
   32346             :   override
   32347             : #endif
   32348             : {
   32349        1879 :   switch (PredNo) {
   32350           0 :   default: llvm_unreachable("Invalid predicate in table?");
   32351         296 :   case 0: return (Subtarget->hasAtomics());
   32352        1236 :   case 1: return (Subtarget->hasSIMD128());
   32353           4 :   case 2: return (!Subtarget->hasAddr64());
   32354          29 :   case 3: return (Subtarget->hasExceptionHandling());
   32355         258 :   case 4: return (Subtarget->hasSignExt());
   32356          32 :   case 5: return (Subtarget->hasNontrappingFPToInt());
   32357          24 :   case 6: return (!Subtarget->hasNontrappingFPToInt());
   32358             :   }
   32359             : }
   32360             : #endif // GET_DAGISEL_BODY
   32361             : 
   32362             : #ifdef GET_DAGISEL_DECL
   32363             : bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
   32364             : #endif
   32365             : #if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
   32366       16006 : bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
   32367             : #if DAGISEL_INLINE
   32368             :   override
   32369             : #endif
   32370             : {
   32371       16006 :   switch (PredNo) {
   32372           0 :   default: llvm_unreachable("Invalid predicate in table?");
   32373          22 :   case 0: { 
   32374             :     // Predicate_regPlusGA
   32375             :     SDNode *N = Node;
   32376             : 
   32377          22 :   return N->getFlags().hasNoUnsignedWrap();
   32378             : 
   32379             :   }
   32380         117 :   case 1: { 
   32381             :     // Predicate_atomic_load_add_8
   32382             :     // Predicate_atomic_load_sub_8
   32383             :     // Predicate_atomic_load_and_8
   32384             :     // Predicate_atomic_load_or_8
   32385             :     // Predicate_atomic_load_xor_8
   32386             :     // Predicate_atomic_swap_8
   32387             :     // Predicate_atomic_load_8
   32388             :     // Predicate_atomic_cmp_swap_8
   32389             :     // Predicate_atomic_store_8
   32390             :     SDNode *N = Node;
   32391             : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i8) return false;
   32392             : return true;
   32393             : 
   32394             :   }
   32395          63 :   case 2: { 
   32396             :     // Predicate_atomic_load_add_16
   32397             :     // Predicate_atomic_load_sub_16
   32398             :     // Predicate_atomic_load_and_16
   32399             :     // Predicate_atomic_load_or_16
   32400             :     // Predicate_atomic_load_xor_16
   32401             :     // Predicate_atomic_swap_16
   32402             :     // Predicate_atomic_load_16
   32403             :     // Predicate_atomic_cmp_swap_16
   32404             :     // Predicate_atomic_store_16
   32405             :     SDNode *N = Node;
   32406             : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i16) return false;
   32407             : return true;
   32408             : 
   32409             :   }
   32410        2181 :   case 3: { 
   32411             :     // Predicate_regPlusImm
   32412             :     SDNode *N = Node;
   32413        2181 :  return N->getFlags().hasNoUnsignedWrap(); 
   32414             :   }
   32415          23 :   case 4: { 
   32416             :     // Predicate_or_is_add
   32417             :     SDNode *N = Node;
   32418             : 
   32419          23 :   if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N->getOperand(1)))
   32420          46 :     return CurDAG->MaskedValueIsZero(N->getOperand(0), CN->getAPIntValue());
   32421             : 
   32422           0 :   KnownBits Known0;
   32423           0 :   CurDAG->computeKnownBits(N->getOperand(0), Known0, 0);
   32424           0 :   KnownBits Known1;
   32425           0 :   CurDAG->computeKnownBits(N->getOperand(1), Known1, 0);
   32426           0 :   return (~Known0.Zero & ~Known1.Zero) == 0;
   32427             : 
   32428             :   }
   32429             :   case 5: { 
   32430             :     // Predicate_LaneIdx16
   32431          12 :     int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
   32432          12 : return 0 <= Imm && Imm < 16;
   32433             :   }
   32434             :   case 6: { 
   32435             :     // Predicate_LaneIdx8
   32436          10 :     int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
   32437          10 : return 0 <= Imm && Imm < 8;
   32438             :   }
   32439         157 :   case 7: { 
   32440             :     // Predicate_atomic_cmp_swap_32
   32441             :     // Predicate_atomic_load_add_32
   32442             :     // Predicate_atomic_load_sub_32
   32443             :     // Predicate_atomic_load_and_32
   32444             :     // Predicate_atomic_load_or_32
   32445             :     // Predicate_atomic_load_xor_32
   32446             :     // Predicate_atomic_swap_32
   32447             :     // Predicate_atomic_store_32
   32448             :     // Predicate_atomic_load_32
   32449             :     SDNode *N = Node;
   32450             : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i32) return false;
   32451             : return true;
   32452             : 
   32453             :   }
   32454          41 :   case 8: { 
   32455             :     // Predicate_atomic_store_64
   32456             :     // Predicate_atomic_load_64
   32457             :     // Predicate_atomic_load_add_64
   32458             :     // Predicate_atomic_load_sub_64
   32459             :     // Predicate_atomic_load_and_64
   32460             :     // Predicate_atomic_load_or_64
   32461             :     // Predicate_atomic_load_xor_64
   32462             :     // Predicate_atomic_swap_64
   32463             :     // Predicate_atomic_cmp_swap_64
   32464             :     SDNode *N = Node;
   32465             : if (cast<AtomicSDNode>(N)->getMemoryVT() != MVT::i64) return false;
   32466             : return true;
   32467             : 
   32468             :   }
   32469        1110 :   case 9: { 
   32470             :     // Predicate_unindexedload
   32471             :     SDNode *N = Node;
   32472        1110 : if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
   32473             : return true;
   32474             : 
   32475             :   }
   32476        1110 :   case 10: { 
   32477             :     // Predicate_load
   32478             :     SDNode *N = Node;
   32479        1110 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
   32480             : return true;
   32481             : 
   32482             :   }
   32483        1229 :   case 11: { 
   32484             :     // Predicate_sextload
   32485             :     SDNode *N = Node;
   32486        1229 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::SEXTLOAD) return false;
   32487             : return true;
   32488             : 
   32489             :   }
   32490         102 :   case 12: { 
   32491             :     // Predicate_sextloadi8
   32492             :     // Predicate_zextloadi8
   32493             :     // Predicate_extloadi8
   32494             :     SDNode *N = Node;
   32495             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i8) return false;
   32496             : return true;
   32497             : 
   32498             :   }
   32499        1215 :   case 13: { 
   32500             :     // Predicate_zextload
   32501             :     SDNode *N = Node;
   32502        1215 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::ZEXTLOAD) return false;
   32503             : return true;
   32504             : 
   32505             :   }
   32506          58 :   case 14: { 
   32507             :     // Predicate_sextloadi16
   32508             :     // Predicate_zextloadi16
   32509             :     // Predicate_extloadi16
   32510             :     SDNode *N = Node;
   32511             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i16) return false;
   32512             : return true;
   32513             : 
   32514             :   }
   32515           8 :   case 15: { 
   32516             :     // Predicate_sextloadi32
   32517             :     // Predicate_zextloadi32
   32518             :     // Predicate_extloadi32
   32519             :     SDNode *N = Node;
   32520             : if (cast<LoadSDNode>(N)->getMemoryVT() != MVT::i32) return false;
   32521             : return true;
   32522             : 
   32523             :   }
   32524         223 :   case 16: { 
   32525             :     // Predicate_extload
   32526             :     SDNode *N = Node;
   32527         223 : if (cast<LoadSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
   32528             : return true;
   32529             : 
   32530             :   }
   32531        2607 :   case 17: { 
   32532             :     // Predicate_unindexedstore
   32533             :     SDNode *N = Node;
   32534        2607 : if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
   32535             : return true;
   32536             : 
   32537             :   }
   32538        2607 :   case 18: { 
   32539             :     // Predicate_store
   32540             :     SDNode *N = Node;
   32541        2607 :  if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
   32542             : return true;
   32543             : 
   32544             :   }
   32545        1196 :   case 19: { 
   32546             :     // Predicate_truncstore
   32547             :     SDNode *N = Node;
   32548        1196 :  if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
   32549             : return true;
   32550             : 
   32551             :   }
   32552        1196 :   case 20: { 
   32553             :     // Predicate_truncstorei8
   32554             :     SDNode *N = Node;
   32555             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i8) return false;
   32556             : return true;
   32557             : 
   32558             :   }
   32559         378 :   case 21: { 
   32560             :     // Predicate_truncstorei16
   32561             :     SDNode *N = Node;
   32562             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i16) return false;
   32563             : return true;
   32564             : 
   32565             :   }
   32566           6 :   case 22: { 
   32567             :     // Predicate_truncstorei32
   32568             :     SDNode *N = Node;
   32569             : if (cast<StoreSDNode>(N)->getMemoryVT() != MVT::i32) return false;
   32570             : return true;
   32571             : 
   32572             :   }
   32573             :   case 23: { 
   32574             :     // Predicate_LaneIdx4
   32575           8 :     int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
   32576           8 : return 0 <= Imm && Imm < 4;
   32577             :   }
   32578             :   case 24: { 
   32579             :     // Predicate_LaneIdx2
   32580          20 :     int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
   32581          20 : return 0 <= Imm && Imm < 2;
   32582             :   }
   32583          22 :   case 25: { 
   32584             :     // Predicate_immAllZerosV
   32585             :     SDNode *N = Node;
   32586             : 
   32587          22 :   return ISD::isBuildVectorAllZeros(N);
   32588             : 
   32589             :   }
   32590          71 :   case 26: { 
   32591             :     // Predicate_immAllOnesV
   32592             :     SDNode *N = Node;
   32593             : 
   32594          71 :   return ISD::isBuildVectorAllOnes(N);
   32595             : 
   32596             :   }
   32597             :   case 27: { 
   32598             :     // Predicate_ImmI8
   32599          36 :     int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
   32600          36 : return ((uint64_t)Imm & ((1UL << 8) - 1)) == (uint64_t)Imm;
   32601             :   }
   32602             :   case 28: { 
   32603             :     // Predicate_ImmI16
   32604          18 :     int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
   32605          18 : return ((uint64_t)Imm & ((1UL << 16) - 1)) == (uint64_t)Imm;
   32606             :   }
   32607             :   case 29: { 
   32608             :     // Predicate_LaneIdx32
   32609         160 :     int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
   32610         160 : return 0 <= Imm && Imm < 32;
   32611             :   }
   32612             :   }
   32613             : }
   32614             : #endif // GET_DAGISEL_BODY
   32615             : 
   32616             : 
   32617             : #ifdef DAGISEL_INLINE
   32618             : #undef DAGISEL_INLINE
   32619             : #endif
   32620             : #ifdef DAGISEL_CLASS_COLONCOLON
   32621             : #undef DAGISEL_CLASS_COLONCOLON
   32622             : #endif
   32623             : #ifdef GET_DAGISEL_DECL
   32624             : #undef GET_DAGISEL_DECL
   32625             : #endif
   32626             : #ifdef GET_DAGISEL_BODY
   32627             : #undef GET_DAGISEL_BODY
   32628             : #endif

Generated by: LCOV version 1.13