LCOV - code coverage report
Current view: top level - build-llvm/lib/Target/X86 - X86GenDAGISel.inc (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 573 583 98.3 %
Date: 2018-10-20 13:21:21 Functions: 4 4 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
       2             : |*                                                                            *|
       3             : |* DAG Instruction Selector for the X86 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 /*391 cases */, 94|128,13|128,1/*18142*/, TARGET_VAL(ISD::STORE),// ->18148
      58             : /*     6*/    OPC_RecordMemRef,
      59             : /*     7*/    OPC_RecordNode, // #0 = 'st' chained node
      60             : /*     8*/    OPC_Scope, 119|128,7/*1015*/, /*->1026*/ // 9 children in Scope
      61             : /*    11*/      OPC_RecordChild1, // #1 = $src
      62             : /*    12*/      OPC_Scope, 67, /*->81*/ // 22 children in Scope
      63             : /*    14*/        OPC_CheckChild1Type, MVT::v4f32,
      64             : /*    16*/        OPC_RecordChild2, // #2 = $dst
      65             : /*    17*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
      66             : /*    19*/        OPC_CheckPredicate, 1, // Predicate_store
      67             : /*    21*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
      68             : /*    23*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
      69             : /*    25*/        OPC_Scope, 17, /*->44*/ // 3 children in Scope
      70             : /*    27*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
      71             : /*    29*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
      72             : /*    32*/          OPC_EmitMergeInputChains1_0,
      73             : /*    33*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTPSmr), 0|OPFL_Chain|OPFL_MemRefs,
      74             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
      75             :                     // Src: (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
      76             :                     // Dst: (VMOVNTPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
      77             : /*    44*/        /*Scope*/ 17, /*->62*/
      78             : /*    45*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
      79             : /*    47*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
      80             : /*    50*/          OPC_EmitMergeInputChains1_0,
      81             : /*    51*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVNTPSmr), 0|OPFL_Chain|OPFL_MemRefs,
      82             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
      83             :                     // Src: (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
      84             :                     // Dst: (MOVNTPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
      85             : /*    62*/        /*Scope*/ 17, /*->80*/
      86             : /*    63*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
      87             : /*    65*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
      88             : /*    68*/          OPC_EmitMergeInputChains1_0,
      89             : /*    69*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTPSZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
      90             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
      91             :                     // Src: (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
      92             :                     // Dst: (VMOVNTPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
      93             : /*    80*/        0, /*End of Scope*/
      94             : /*    81*/      /*Scope*/ 67, /*->149*/
      95             : /*    82*/        OPC_CheckChild1Type, MVT::v2f64,
      96             : /*    84*/        OPC_RecordChild2, // #2 = $dst
      97             : /*    85*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
      98             : /*    87*/        OPC_CheckPredicate, 1, // Predicate_store
      99             : /*    89*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     100             : /*    91*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     101             : /*    93*/        OPC_Scope, 17, /*->112*/ // 3 children in Scope
     102             : /*    95*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
     103             : /*    97*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     104             : /*   100*/          OPC_EmitMergeInputChains1_0,
     105             : /*   101*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTPDmr), 0|OPFL_Chain|OPFL_MemRefs,
     106             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     107             :                     // Src: (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     108             :                     // Dst: (VMOVNTPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
     109             : /*   112*/        /*Scope*/ 17, /*->130*/
     110             : /*   113*/          OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
     111             : /*   115*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     112             : /*   118*/          OPC_EmitMergeInputChains1_0,
     113             : /*   119*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVNTPDmr), 0|OPFL_Chain|OPFL_MemRefs,
     114             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     115             :                     // Src: (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     116             :                     // Dst: (MOVNTPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
     117             : /*   130*/        /*Scope*/ 17, /*->148*/
     118             : /*   131*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
     119             : /*   133*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     120             : /*   136*/          OPC_EmitMergeInputChains1_0,
     121             : /*   137*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTPDZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
     122             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     123             :                     // Src: (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     124             :                     // Dst: (VMOVNTPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
     125             : /*   148*/        0, /*End of Scope*/
     126             : /*   149*/      /*Scope*/ 49, /*->199*/
     127             : /*   150*/        OPC_CheckChild1Type, MVT::v8f32,
     128             : /*   152*/        OPC_RecordChild2, // #2 = $dst
     129             : /*   153*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     130             : /*   155*/        OPC_CheckPredicate, 1, // Predicate_store
     131             : /*   157*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     132             : /*   159*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     133             : /*   161*/        OPC_Scope, 17, /*->180*/ // 2 children in Scope
     134             : /*   163*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
     135             : /*   165*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     136             : /*   168*/          OPC_EmitMergeInputChains1_0,
     137             : /*   169*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTPSYmr), 0|OPFL_Chain|OPFL_MemRefs,
     138             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     139             :                     // Src: (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     140             :                     // Dst: (VMOVNTPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
     141             : /*   180*/        /*Scope*/ 17, /*->198*/
     142             : /*   181*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
     143             : /*   183*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     144             : /*   186*/          OPC_EmitMergeInputChains1_0,
     145             : /*   187*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTPSZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
     146             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     147             :                     // Src: (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     148             :                     // Dst: (VMOVNTPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
     149             : /*   198*/        0, /*End of Scope*/
     150             : /*   199*/      /*Scope*/ 49, /*->249*/
     151             : /*   200*/        OPC_CheckChild1Type, MVT::v4f64,
     152             : /*   202*/        OPC_RecordChild2, // #2 = $dst
     153             : /*   203*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     154             : /*   205*/        OPC_CheckPredicate, 1, // Predicate_store
     155             : /*   207*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     156             : /*   209*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     157             : /*   211*/        OPC_Scope, 17, /*->230*/ // 2 children in Scope
     158             : /*   213*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
     159             : /*   215*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     160             : /*   218*/          OPC_EmitMergeInputChains1_0,
     161             : /*   219*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTPDYmr), 0|OPFL_Chain|OPFL_MemRefs,
     162             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     163             :                     // Src: (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     164             :                     // Dst: (VMOVNTPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
     165             : /*   230*/        /*Scope*/ 17, /*->248*/
     166             : /*   231*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
     167             : /*   233*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     168             : /*   236*/          OPC_EmitMergeInputChains1_0,
     169             : /*   237*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTPDZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
     170             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     171             :                     // Src: (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     172             :                     // Dst: (VMOVNTPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
     173             : /*   248*/        0, /*End of Scope*/
     174             : /*   249*/      /*Scope*/ 67, /*->317*/
     175             : /*   250*/        OPC_CheckChild1Type, MVT::v2i64,
     176             : /*   252*/        OPC_RecordChild2, // #2 = $dst
     177             : /*   253*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     178             : /*   255*/        OPC_CheckPredicate, 1, // Predicate_store
     179             : /*   257*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     180             : /*   259*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     181             : /*   261*/        OPC_Scope, 17, /*->280*/ // 3 children in Scope
     182             : /*   263*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
     183             : /*   265*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     184             : /*   268*/          OPC_EmitMergeInputChains1_0,
     185             : /*   269*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQmr), 0|OPFL_Chain|OPFL_MemRefs,
     186             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     187             :                     // Src: (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     188             :                     // Dst: (VMOVNTDQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
     189             : /*   280*/        /*Scope*/ 17, /*->298*/
     190             : /*   281*/          OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
     191             : /*   283*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     192             : /*   286*/          OPC_EmitMergeInputChains1_0,
     193             : /*   287*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVNTDQmr), 0|OPFL_Chain|OPFL_MemRefs,
     194             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     195             :                     // Src: (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     196             :                     // Dst: (MOVNTDQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
     197             : /*   298*/        /*Scope*/ 17, /*->316*/
     198             : /*   299*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
     199             : /*   301*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     200             : /*   304*/          OPC_EmitMergeInputChains1_0,
     201             : /*   305*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
     202             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     203             :                     // Src: (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     204             :                     // Dst: (VMOVNTDQZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
     205             : /*   316*/        0, /*End of Scope*/
     206             : /*   317*/      /*Scope*/ 49, /*->367*/
     207             : /*   318*/        OPC_CheckChild1Type, MVT::v4i64,
     208             : /*   320*/        OPC_RecordChild2, // #2 = $dst
     209             : /*   321*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     210             : /*   323*/        OPC_CheckPredicate, 1, // Predicate_store
     211             : /*   325*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     212             : /*   327*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     213             : /*   329*/        OPC_Scope, 17, /*->348*/ // 2 children in Scope
     214             : /*   331*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
     215             : /*   333*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     216             : /*   336*/          OPC_EmitMergeInputChains1_0,
     217             : /*   337*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQYmr), 0|OPFL_Chain|OPFL_MemRefs,
     218             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     219             :                     // Src: (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     220             :                     // Dst: (VMOVNTDQYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
     221             : /*   348*/        /*Scope*/ 17, /*->366*/
     222             : /*   349*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
     223             : /*   351*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     224             : /*   354*/          OPC_EmitMergeInputChains1_0,
     225             : /*   355*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
     226             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     227             :                     // Src: (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     228             :                     // Dst: (VMOVNTDQZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
     229             : /*   366*/        0, /*End of Scope*/
     230             : /*   367*/      /*Scope*/ 26, /*->394*/
     231             : /*   368*/        OPC_CheckChild1Type, MVT::i32,
     232             : /*   370*/        OPC_RecordChild2, // #2 = $dst
     233             : /*   371*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     234             : /*   373*/        OPC_CheckPredicate, 1, // Predicate_store
     235             : /*   375*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     236             : /*   377*/        OPC_CheckPatternPredicate, 4, // (Subtarget->hasSSE2())
     237             : /*   379*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     238             : /*   382*/        OPC_EmitMergeInputChains1_0,
     239             : /*   383*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOVNTImr), 0|OPFL_Chain|OPFL_MemRefs,
     240             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     241             :                   // Src: (st GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 422
     242             :                   // Dst: (MOVNTImr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
     243             : /*   394*/      /*Scope*/ 26, /*->421*/
     244             : /*   395*/        OPC_CheckChild1Type, MVT::i64,
     245             : /*   397*/        OPC_RecordChild2, // #2 = $dst
     246             : /*   398*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     247             : /*   400*/        OPC_CheckPredicate, 1, // Predicate_store
     248             : /*   402*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     249             : /*   404*/        OPC_CheckPatternPredicate, 4, // (Subtarget->hasSSE2())
     250             : /*   406*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     251             : /*   409*/        OPC_EmitMergeInputChains1_0,
     252             : /*   410*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOVNTI_64mr), 0|OPFL_Chain|OPFL_MemRefs,
     253             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     254             :                   // Src: (st GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 422
     255             :                   // Dst: (MOVNTI_64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
     256             : /*   421*/      /*Scope*/ 49, /*->471*/
     257             : /*   422*/        OPC_CheckChild1Type, MVT::v8i32,
     258             : /*   424*/        OPC_RecordChild2, // #2 = $dst
     259             : /*   425*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     260             : /*   427*/        OPC_CheckPredicate, 1, // Predicate_store
     261             : /*   429*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     262             : /*   431*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     263             : /*   433*/        OPC_Scope, 17, /*->452*/ // 2 children in Scope
     264             : /*   435*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
     265             : /*   437*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     266             : /*   440*/          OPC_EmitMergeInputChains1_0,
     267             : /*   441*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQYmr), 0|OPFL_Chain|OPFL_MemRefs,
     268             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     269             :                     // Src: (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     270             :                     // Dst: (VMOVNTDQYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
     271             : /*   452*/        /*Scope*/ 17, /*->470*/
     272             : /*   453*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
     273             : /*   455*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     274             : /*   458*/          OPC_EmitMergeInputChains1_0,
     275             : /*   459*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
     276             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     277             :                     // Src: (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     278             :                     // Dst: (VMOVNTDQZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
     279             : /*   470*/        0, /*End of Scope*/
     280             : /*   471*/      /*Scope*/ 49, /*->521*/
     281             : /*   472*/        OPC_CheckChild1Type, MVT::v16i16,
     282             : /*   474*/        OPC_RecordChild2, // #2 = $dst
     283             : /*   475*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     284             : /*   477*/        OPC_CheckPredicate, 1, // Predicate_store
     285             : /*   479*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     286             : /*   481*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     287             : /*   483*/        OPC_Scope, 17, /*->502*/ // 2 children in Scope
     288             : /*   485*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
     289             : /*   487*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     290             : /*   490*/          OPC_EmitMergeInputChains1_0,
     291             : /*   491*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQYmr), 0|OPFL_Chain|OPFL_MemRefs,
     292             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     293             :                     // Src: (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     294             :                     // Dst: (VMOVNTDQYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
     295             : /*   502*/        /*Scope*/ 17, /*->520*/
     296             : /*   503*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
     297             : /*   505*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     298             : /*   508*/          OPC_EmitMergeInputChains1_0,
     299             : /*   509*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
     300             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     301             :                     // Src: (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     302             :                     // Dst: (VMOVNTDQZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
     303             : /*   520*/        0, /*End of Scope*/
     304             : /*   521*/      /*Scope*/ 49, /*->571*/
     305             : /*   522*/        OPC_CheckChild1Type, MVT::v32i8,
     306             : /*   524*/        OPC_RecordChild2, // #2 = $dst
     307             : /*   525*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     308             : /*   527*/        OPC_CheckPredicate, 1, // Predicate_store
     309             : /*   529*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     310             : /*   531*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     311             : /*   533*/        OPC_Scope, 17, /*->552*/ // 2 children in Scope
     312             : /*   535*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
     313             : /*   537*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     314             : /*   540*/          OPC_EmitMergeInputChains1_0,
     315             : /*   541*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQYmr), 0|OPFL_Chain|OPFL_MemRefs,
     316             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     317             :                     // Src: (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     318             :                     // Dst: (VMOVNTDQYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
     319             : /*   552*/        /*Scope*/ 17, /*->570*/
     320             : /*   553*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
     321             : /*   555*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     322             : /*   558*/          OPC_EmitMergeInputChains1_0,
     323             : /*   559*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
     324             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     325             :                     // Src: (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     326             :                     // Dst: (VMOVNTDQZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
     327             : /*   570*/        0, /*End of Scope*/
     328             : /*   571*/      /*Scope*/ 67, /*->639*/
     329             : /*   572*/        OPC_CheckChild1Type, MVT::v4i32,
     330             : /*   574*/        OPC_RecordChild2, // #2 = $dst
     331             : /*   575*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     332             : /*   577*/        OPC_CheckPredicate, 1, // Predicate_store
     333             : /*   579*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     334             : /*   581*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     335             : /*   583*/        OPC_Scope, 17, /*->602*/ // 3 children in Scope
     336             : /*   585*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
     337             : /*   587*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     338             : /*   590*/          OPC_EmitMergeInputChains1_0,
     339             : /*   591*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQmr), 0|OPFL_Chain|OPFL_MemRefs,
     340             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     341             :                     // Src: (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     342             :                     // Dst: (VMOVNTDQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
     343             : /*   602*/        /*Scope*/ 17, /*->620*/
     344             : /*   603*/          OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
     345             : /*   605*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     346             : /*   608*/          OPC_EmitMergeInputChains1_0,
     347             : /*   609*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVNTDQmr), 0|OPFL_Chain|OPFL_MemRefs,
     348             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     349             :                     // Src: (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     350             :                     // Dst: (MOVNTDQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
     351             : /*   620*/        /*Scope*/ 17, /*->638*/
     352             : /*   621*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
     353             : /*   623*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     354             : /*   626*/          OPC_EmitMergeInputChains1_0,
     355             : /*   627*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
     356             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     357             :                     // Src: (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     358             :                     // Dst: (VMOVNTDQZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
     359             : /*   638*/        0, /*End of Scope*/
     360             : /*   639*/      /*Scope*/ 67, /*->707*/
     361             : /*   640*/        OPC_CheckChild1Type, MVT::v8i16,
     362             : /*   642*/        OPC_RecordChild2, // #2 = $dst
     363             : /*   643*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     364             : /*   645*/        OPC_CheckPredicate, 1, // Predicate_store
     365             : /*   647*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     366             : /*   649*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     367             : /*   651*/        OPC_Scope, 17, /*->670*/ // 3 children in Scope
     368             : /*   653*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
     369             : /*   655*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     370             : /*   658*/          OPC_EmitMergeInputChains1_0,
     371             : /*   659*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQmr), 0|OPFL_Chain|OPFL_MemRefs,
     372             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     373             :                     // Src: (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     374             :                     // Dst: (VMOVNTDQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
     375             : /*   670*/        /*Scope*/ 17, /*->688*/
     376             : /*   671*/          OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
     377             : /*   673*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     378             : /*   676*/          OPC_EmitMergeInputChains1_0,
     379             : /*   677*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVNTDQmr), 0|OPFL_Chain|OPFL_MemRefs,
     380             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     381             :                     // Src: (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     382             :                     // Dst: (MOVNTDQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
     383             : /*   688*/        /*Scope*/ 17, /*->706*/
     384             : /*   689*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
     385             : /*   691*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     386             : /*   694*/          OPC_EmitMergeInputChains1_0,
     387             : /*   695*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
     388             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     389             :                     // Src: (st VR128X:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     390             :                     // Dst: (VMOVNTDQZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src)
     391             : /*   706*/        0, /*End of Scope*/
     392             : /*   707*/      /*Scope*/ 67, /*->775*/
     393             : /*   708*/        OPC_CheckChild1Type, MVT::v16i8,
     394             : /*   710*/        OPC_RecordChild2, // #2 = $dst
     395             : /*   711*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     396             : /*   713*/        OPC_CheckPredicate, 1, // Predicate_store
     397             : /*   715*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     398             : /*   717*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     399             : /*   719*/        OPC_Scope, 17, /*->738*/ // 3 children in Scope
     400             : /*   721*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
     401             : /*   723*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     402             : /*   726*/          OPC_EmitMergeInputChains1_0,
     403             : /*   727*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQmr), 0|OPFL_Chain|OPFL_MemRefs,
     404             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     405             :                     // Src: (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     406             :                     // Dst: (VMOVNTDQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
     407             : /*   738*/        /*Scope*/ 17, /*->756*/
     408             : /*   739*/          OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
     409             : /*   741*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     410             : /*   744*/          OPC_EmitMergeInputChains1_0,
     411             : /*   745*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVNTDQmr), 0|OPFL_Chain|OPFL_MemRefs,
     412             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     413             :                     // Src: (st VR128:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     414             :                     // Dst: (MOVNTDQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src)
     415             : /*   756*/        /*Scope*/ 17, /*->774*/
     416             : /*   757*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
     417             : /*   759*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     418             : /*   762*/          OPC_EmitMergeInputChains1_0,
     419             : /*   763*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
     420             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     421             :                     // Src: (st VR128X:{ *:[v16i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     422             :                     // Dst: (VMOVNTDQZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src)
     423             : /*   774*/        0, /*End of Scope*/
     424             : /*   775*/      /*Scope*/ 28, /*->804*/
     425             : /*   776*/        OPC_CheckChild1Type, MVT::v8i64,
     426             : /*   778*/        OPC_RecordChild2, // #2 = $dst
     427             : /*   779*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     428             : /*   781*/        OPC_CheckPredicate, 1, // Predicate_store
     429             : /*   783*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     430             : /*   785*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     431             : /*   787*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
     432             : /*   789*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     433             : /*   792*/        OPC_EmitMergeInputChains1_0,
     434             : /*   793*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZmr), 0|OPFL_Chain|OPFL_MemRefs,
     435             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     436             :                   // Src: (st VR512:{ *:[v8i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     437             :                   // Dst: (VMOVNTDQZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src)
     438             : /*   804*/      /*Scope*/ 28, /*->833*/
     439             : /*   805*/        OPC_CheckChild1Type, MVT::v8f64,
     440             : /*   807*/        OPC_RecordChild2, // #2 = $dst
     441             : /*   808*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     442             : /*   810*/        OPC_CheckPredicate, 1, // Predicate_store
     443             : /*   812*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     444             : /*   814*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     445             : /*   816*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
     446             : /*   818*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     447             : /*   821*/        OPC_EmitMergeInputChains1_0,
     448             : /*   822*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTPDZmr), 0|OPFL_Chain|OPFL_MemRefs,
     449             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     450             :                   // Src: (st VR512:{ *:[v8f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     451             :                   // Dst: (VMOVNTPDZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src)
     452             : /*   833*/      /*Scope*/ 28, /*->862*/
     453             : /*   834*/        OPC_CheckChild1Type, MVT::v16f32,
     454             : /*   836*/        OPC_RecordChild2, // #2 = $dst
     455             : /*   837*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     456             : /*   839*/        OPC_CheckPredicate, 1, // Predicate_store
     457             : /*   841*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     458             : /*   843*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     459             : /*   845*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
     460             : /*   847*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     461             : /*   850*/        OPC_EmitMergeInputChains1_0,
     462             : /*   851*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTPSZmr), 0|OPFL_Chain|OPFL_MemRefs,
     463             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     464             :                   // Src: (st VR512:{ *:[v16f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     465             :                   // Dst: (VMOVNTPSZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src)
     466             : /*   862*/      /*Scope*/ 28, /*->891*/
     467             : /*   863*/        OPC_CheckChild1Type, MVT::v16i32,
     468             : /*   865*/        OPC_RecordChild2, // #2 = $dst
     469             : /*   866*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     470             : /*   868*/        OPC_CheckPredicate, 1, // Predicate_store
     471             : /*   870*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     472             : /*   872*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     473             : /*   874*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
     474             : /*   876*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     475             : /*   879*/        OPC_EmitMergeInputChains1_0,
     476             : /*   880*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZmr), 0|OPFL_Chain|OPFL_MemRefs,
     477             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     478             :                   // Src: (st VR512:{ *:[v16i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     479             :                   // Dst: (VMOVNTDQZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src)
     480             : /*   891*/      /*Scope*/ 28, /*->920*/
     481             : /*   892*/        OPC_CheckChild1Type, MVT::v32i16,
     482             : /*   894*/        OPC_RecordChild2, // #2 = $dst
     483             : /*   895*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     484             : /*   897*/        OPC_CheckPredicate, 1, // Predicate_store
     485             : /*   899*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     486             : /*   901*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     487             : /*   903*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
     488             : /*   905*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     489             : /*   908*/        OPC_EmitMergeInputChains1_0,
     490             : /*   909*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZmr), 0|OPFL_Chain|OPFL_MemRefs,
     491             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     492             :                   // Src: (st VR512:{ *:[v32i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     493             :                   // Dst: (VMOVNTDQZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src)
     494             : /*   920*/      /*Scope*/ 28, /*->949*/
     495             : /*   921*/        OPC_CheckChild1Type, MVT::v64i8,
     496             : /*   923*/        OPC_RecordChild2, // #2 = $dst
     497             : /*   924*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     498             : /*   926*/        OPC_CheckPredicate, 1, // Predicate_store
     499             : /*   928*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     500             : /*   930*/        OPC_CheckPredicate, 3, // Predicate_alignednontemporalstore
     501             : /*   932*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
     502             : /*   934*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     503             : /*   937*/        OPC_EmitMergeInputChains1_0,
     504             : /*   938*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVNTDQZmr), 0|OPFL_Chain|OPFL_MemRefs,
     505             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
     506             :                   // Src: (st VR512:{ *:[v64i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>><<P:Predicate_alignednontemporalstore>> - Complexity = 422
     507             :                   // Dst: (VMOVNTDQZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src)
     508             : /*   949*/      /*Scope*/ 37, /*->987*/
     509             : /*   950*/        OPC_CheckChild1Type, MVT::f32,
     510             : /*   952*/        OPC_RecordChild2, // #2 = $dst
     511             : /*   953*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     512             : /*   955*/        OPC_CheckPredicate, 1, // Predicate_store
     513             : /*   957*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     514             : /*   959*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasSSE4A())
     515             : /*   961*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     516             : /*   964*/        OPC_EmitMergeInputChains1_0,
     517             : /*   965*/        OPC_EmitInteger, MVT::i32, X86::VR128RegClassID,
     518             : /*   968*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
     519             :                       MVT::v4f32, 2/*#Ops*/, 1, 8,  // Results = #9
     520             : /*   976*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOVNTSS), 0|OPFL_Chain|OPFL_MemRefs,
     521             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
     522             :                   // Src: (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 422
     523             :                   // Dst: (MOVNTSS addr:{ *:[iPTR] }:$dst, (COPY_TO_REGCLASS:{ *:[v4f32] } FR32:{ *:[f32] }:$src, VR128:{ *:[i32] }))
     524             : /*   987*/      /*Scope*/ 37, /*->1025*/
     525             : /*   988*/        OPC_CheckChild1Type, MVT::f64,
     526             : /*   990*/        OPC_RecordChild2, // #2 = $dst
     527             : /*   991*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
     528             : /*   993*/        OPC_CheckPredicate, 1, // Predicate_store
     529             : /*   995*/        OPC_CheckPredicate, 2, // Predicate_nontemporalstore
     530             : /*   997*/        OPC_CheckPatternPredicate, 7, // (Subtarget->hasSSE4A())
     531             : /*   999*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     532             : /*  1002*/        OPC_EmitMergeInputChains1_0,
     533             : /*  1003*/        OPC_EmitInteger, MVT::i32, X86::VR128RegClassID,
     534             : /*  1006*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
     535             :                       MVT::v2f64, 2/*#Ops*/, 1, 8,  // Results = #9
     536             : /*  1014*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOVNTSD), 0|OPFL_Chain|OPFL_MemRefs,
     537             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
     538             :                   // Src: (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 422
     539             :                   // Dst: (MOVNTSD addr:{ *:[iPTR] }:$dst, (COPY_TO_REGCLASS:{ *:[v2f64] } FR64:{ *:[f64] }:$src, VR128:{ *:[i32] }))
     540             : /*  1025*/      0, /*End of Scope*/
     541             : /*  1026*/    /*Scope*/ 121|128,97/*12537*/, /*->13565*/
     542             : /*  1028*/      OPC_MoveChild1,
     543             : /*  1029*/      OPC_SwitchOpcode /*19 cases */, 30|128,5/*670*/, TARGET_VAL(ISD::SHL),// ->1704
     544             : /*  1034*/        OPC_MoveChild0,
     545             : /*  1035*/        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     546             : /*  1038*/        OPC_RecordMemRef,
     547             : /*  1039*/        OPC_RecordNode, // #1 = 'ld' chained node
     548             : /*  1040*/        OPC_CheckFoldableChainNode,
     549             : /*  1041*/        OPC_RecordChild1, // #2 = $dst
     550             : /*  1042*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
     551             : /*  1044*/        OPC_Scope, 48, /*->1094*/ // 16 children in Scope
     552             : /*  1046*/          OPC_CheckPredicate, 5, // Predicate_loadi8
     553             : /*  1048*/          OPC_MoveParent,
     554             : /*  1049*/          OPC_MoveChild1,
     555             : /*  1050*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     556             : /*  1053*/          OPC_RecordChild0, // #3 = physreg input CL
     557             : /*  1054*/          OPC_MoveChild1,
     558             : /*  1055*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     559             : /*  1058*/          OPC_CheckPredicate, 6, // Predicate_immShift32
     560             : /*  1060*/          OPC_MoveParent,
     561             : /*  1061*/          OPC_CheckType, MVT::i8,
     562             : /*  1063*/          OPC_MoveParent,
     563             : /*  1064*/          OPC_CheckType, MVT::i8,
     564             : /*  1066*/          OPC_MoveParent,
     565             : /*  1067*/          OPC_CheckChild2Same, 2,
     566             : /*  1069*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     567             : /*  1071*/          OPC_CheckPredicate, 1, // Predicate_store
     568             : /*  1073*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     569             : /*  1076*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     570             : /*  1080*/          OPC_EmitCopyToReg, 3, X86::CL,
     571             : /*  1083*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL8mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     572             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     573             :                     // Src: (st (shl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift32>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
     574             :                     // Dst: (SHL8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     575             : /*  1094*/        /*Scope*/ 48, /*->1143*/
     576             : /*  1095*/          OPC_CheckPredicate, 7, // Predicate_loadi16
     577             : /*  1097*/          OPC_MoveParent,
     578             : /*  1098*/          OPC_MoveChild1,
     579             : /*  1099*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     580             : /*  1102*/          OPC_RecordChild0, // #3 = physreg input CL
     581             : /*  1103*/          OPC_MoveChild1,
     582             : /*  1104*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     583             : /*  1107*/          OPC_CheckPredicate, 6, // Predicate_immShift32
     584             : /*  1109*/          OPC_MoveParent,
     585             : /*  1110*/          OPC_CheckType, MVT::i8,
     586             : /*  1112*/          OPC_MoveParent,
     587             : /*  1113*/          OPC_CheckType, MVT::i16,
     588             : /*  1115*/          OPC_MoveParent,
     589             : /*  1116*/          OPC_CheckChild2Same, 2,
     590             : /*  1118*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     591             : /*  1120*/          OPC_CheckPredicate, 1, // Predicate_store
     592             : /*  1122*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     593             : /*  1125*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     594             : /*  1129*/          OPC_EmitCopyToReg, 3, X86::CL,
     595             : /*  1132*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL16mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     596             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     597             :                     // Src: (st (shl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift32>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
     598             :                     // Dst: (SHL16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     599             : /*  1143*/        /*Scope*/ 48, /*->1192*/
     600             : /*  1144*/          OPC_CheckPredicate, 8, // Predicate_loadi32
     601             : /*  1146*/          OPC_MoveParent,
     602             : /*  1147*/          OPC_MoveChild1,
     603             : /*  1148*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     604             : /*  1151*/          OPC_RecordChild0, // #3 = physreg input CL
     605             : /*  1152*/          OPC_MoveChild1,
     606             : /*  1153*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     607             : /*  1156*/          OPC_CheckPredicate, 6, // Predicate_immShift32
     608             : /*  1158*/          OPC_MoveParent,
     609             : /*  1159*/          OPC_CheckType, MVT::i8,
     610             : /*  1161*/          OPC_MoveParent,
     611             : /*  1162*/          OPC_CheckType, MVT::i32,
     612             : /*  1164*/          OPC_MoveParent,
     613             : /*  1165*/          OPC_CheckChild2Same, 2,
     614             : /*  1167*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     615             : /*  1169*/          OPC_CheckPredicate, 1, // Predicate_store
     616             : /*  1171*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     617             : /*  1174*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     618             : /*  1178*/          OPC_EmitCopyToReg, 3, X86::CL,
     619             : /*  1181*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL32mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     620             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     621             :                     // Src: (st (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift32>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
     622             :                     // Dst: (SHL32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     623             : /*  1192*/        /*Scope*/ 48, /*->1241*/
     624             : /*  1193*/          OPC_CheckPredicate, 9, // Predicate_load
     625             : /*  1195*/          OPC_MoveParent,
     626             : /*  1196*/          OPC_MoveChild1,
     627             : /*  1197*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     628             : /*  1200*/          OPC_RecordChild0, // #3 = physreg input CL
     629             : /*  1201*/          OPC_MoveChild1,
     630             : /*  1202*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     631             : /*  1205*/          OPC_CheckPredicate, 10, // Predicate_immShift64
     632             : /*  1207*/          OPC_MoveParent,
     633             : /*  1208*/          OPC_CheckType, MVT::i8,
     634             : /*  1210*/          OPC_MoveParent,
     635             : /*  1211*/          OPC_CheckType, MVT::i64,
     636             : /*  1213*/          OPC_MoveParent,
     637             : /*  1214*/          OPC_CheckChild2Same, 2,
     638             : /*  1216*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     639             : /*  1218*/          OPC_CheckPredicate, 1, // Predicate_store
     640             : /*  1220*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     641             : /*  1223*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     642             : /*  1227*/          OPC_EmitCopyToReg, 3, X86::CL,
     643             : /*  1230*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL64mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     644             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     645             :                     // Src: (st (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift64>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
     646             :                     // Dst: (SHL64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     647             : /*  1241*/        /*Scope*/ 34, /*->1276*/
     648             : /*  1242*/          OPC_CheckPredicate, 5, // Predicate_loadi8
     649             : /*  1244*/          OPC_MoveParent,
     650             : /*  1245*/          OPC_CheckChild1Integer, 1, 
     651             : /*  1247*/          OPC_CheckChild1Type, MVT::i8,
     652             : /*  1249*/          OPC_CheckType, MVT::i8,
     653             : /*  1251*/          OPC_MoveParent,
     654             : /*  1252*/          OPC_CheckChild2Same, 2,
     655             : /*  1254*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     656             : /*  1256*/          OPC_CheckPredicate, 1, // Predicate_store
     657             : /*  1258*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     658             : /*  1261*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     659             : /*  1265*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL8m1), 0|OPFL_Chain|OPFL_MemRefs,
     660             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
     661             :                     // Src: (st (shl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
     662             :                     // Dst: (SHL8m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     663             : /*  1276*/        /*Scope*/ 34, /*->1311*/
     664             : /*  1277*/          OPC_CheckPredicate, 7, // Predicate_loadi16
     665             : /*  1279*/          OPC_MoveParent,
     666             : /*  1280*/          OPC_CheckChild1Integer, 1, 
     667             : /*  1282*/          OPC_CheckChild1Type, MVT::i8,
     668             : /*  1284*/          OPC_CheckType, MVT::i16,
     669             : /*  1286*/          OPC_MoveParent,
     670             : /*  1287*/          OPC_CheckChild2Same, 2,
     671             : /*  1289*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     672             : /*  1291*/          OPC_CheckPredicate, 1, // Predicate_store
     673             : /*  1293*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     674             : /*  1296*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     675             : /*  1300*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL16m1), 0|OPFL_Chain|OPFL_MemRefs,
     676             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
     677             :                     // Src: (st (shl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
     678             :                     // Dst: (SHL16m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     679             : /*  1311*/        /*Scope*/ 34, /*->1346*/
     680             : /*  1312*/          OPC_CheckPredicate, 8, // Predicate_loadi32
     681             : /*  1314*/          OPC_MoveParent,
     682             : /*  1315*/          OPC_CheckChild1Integer, 1, 
     683             : /*  1317*/          OPC_CheckChild1Type, MVT::i8,
     684             : /*  1319*/          OPC_CheckType, MVT::i32,
     685             : /*  1321*/          OPC_MoveParent,
     686             : /*  1322*/          OPC_CheckChild2Same, 2,
     687             : /*  1324*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     688             : /*  1326*/          OPC_CheckPredicate, 1, // Predicate_store
     689             : /*  1328*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     690             : /*  1331*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     691             : /*  1335*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL32m1), 0|OPFL_Chain|OPFL_MemRefs,
     692             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
     693             :                     // Src: (st (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
     694             :                     // Dst: (SHL32m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     695             : /*  1346*/        /*Scope*/ 36, /*->1383*/
     696             : /*  1347*/          OPC_CheckPredicate, 9, // Predicate_load
     697             : /*  1349*/          OPC_MoveParent,
     698             : /*  1350*/          OPC_CheckChild1Integer, 1, 
     699             : /*  1352*/          OPC_CheckChild1Type, MVT::i8,
     700             : /*  1354*/          OPC_CheckType, MVT::i64,
     701             : /*  1356*/          OPC_MoveParent,
     702             : /*  1357*/          OPC_CheckChild2Same, 2,
     703             : /*  1359*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     704             : /*  1361*/          OPC_CheckPredicate, 1, // Predicate_store
     705             : /*  1363*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
     706             : /*  1365*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     707             : /*  1368*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     708             : /*  1372*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL64m1), 0|OPFL_Chain|OPFL_MemRefs,
     709             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
     710             :                     // Src: (st (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
     711             :                     // Dst: (SHL64m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     712             : /*  1383*/        /*Scope*/ 41, /*->1425*/
     713             : /*  1384*/          OPC_CheckPredicate, 5, // Predicate_loadi8
     714             : /*  1386*/          OPC_MoveParent,
     715             : /*  1387*/          OPC_RecordChild1, // #3 = $src
     716             : /*  1388*/          OPC_MoveChild1,
     717             : /*  1389*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     718             : /*  1392*/          OPC_CheckType, MVT::i8,
     719             : /*  1394*/          OPC_MoveParent,
     720             : /*  1395*/          OPC_CheckType, MVT::i8,
     721             : /*  1397*/          OPC_MoveParent,
     722             : /*  1398*/          OPC_CheckChild2Same, 2,
     723             : /*  1400*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     724             : /*  1402*/          OPC_CheckPredicate, 1, // Predicate_store
     725             : /*  1404*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     726             : /*  1407*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     727             : /*  1411*/          OPC_EmitConvertToTarget, 3,
     728             : /*  1413*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL8mi), 0|OPFL_Chain|OPFL_MemRefs,
     729             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
     730             :                     // Src: (st (shl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
     731             :                     // Dst: (SHL8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
     732             : /*  1425*/        /*Scope*/ 41, /*->1467*/
     733             : /*  1426*/          OPC_CheckPredicate, 7, // Predicate_loadi16
     734             : /*  1428*/          OPC_MoveParent,
     735             : /*  1429*/          OPC_RecordChild1, // #3 = $src
     736             : /*  1430*/          OPC_MoveChild1,
     737             : /*  1431*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     738             : /*  1434*/          OPC_CheckType, MVT::i8,
     739             : /*  1436*/          OPC_MoveParent,
     740             : /*  1437*/          OPC_CheckType, MVT::i16,
     741             : /*  1439*/          OPC_MoveParent,
     742             : /*  1440*/          OPC_CheckChild2Same, 2,
     743             : /*  1442*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     744             : /*  1444*/          OPC_CheckPredicate, 1, // Predicate_store
     745             : /*  1446*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     746             : /*  1449*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     747             : /*  1453*/          OPC_EmitConvertToTarget, 3,
     748             : /*  1455*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL16mi), 0|OPFL_Chain|OPFL_MemRefs,
     749             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
     750             :                     // Src: (st (shl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
     751             :                     // Dst: (SHL16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
     752             : /*  1467*/        /*Scope*/ 41, /*->1509*/
     753             : /*  1468*/          OPC_CheckPredicate, 8, // Predicate_loadi32
     754             : /*  1470*/          OPC_MoveParent,
     755             : /*  1471*/          OPC_RecordChild1, // #3 = $src
     756             : /*  1472*/          OPC_MoveChild1,
     757             : /*  1473*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     758             : /*  1476*/          OPC_CheckType, MVT::i8,
     759             : /*  1478*/          OPC_MoveParent,
     760             : /*  1479*/          OPC_CheckType, MVT::i32,
     761             : /*  1481*/          OPC_MoveParent,
     762             : /*  1482*/          OPC_CheckChild2Same, 2,
     763             : /*  1484*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     764             : /*  1486*/          OPC_CheckPredicate, 1, // Predicate_store
     765             : /*  1488*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     766             : /*  1491*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     767             : /*  1495*/          OPC_EmitConvertToTarget, 3,
     768             : /*  1497*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL32mi), 0|OPFL_Chain|OPFL_MemRefs,
     769             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
     770             :                     // Src: (st (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
     771             :                     // Dst: (SHL32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
     772             : /*  1509*/        /*Scope*/ 43, /*->1553*/
     773             : /*  1510*/          OPC_CheckPredicate, 9, // Predicate_load
     774             : /*  1512*/          OPC_MoveParent,
     775             : /*  1513*/          OPC_RecordChild1, // #3 = $src
     776             : /*  1514*/          OPC_MoveChild1,
     777             : /*  1515*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     778             : /*  1518*/          OPC_CheckType, MVT::i8,
     779             : /*  1520*/          OPC_MoveParent,
     780             : /*  1521*/          OPC_CheckType, MVT::i64,
     781             : /*  1523*/          OPC_MoveParent,
     782             : /*  1524*/          OPC_CheckChild2Same, 2,
     783             : /*  1526*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     784             : /*  1528*/          OPC_CheckPredicate, 1, // Predicate_store
     785             : /*  1530*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
     786             : /*  1532*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     787             : /*  1535*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     788             : /*  1539*/          OPC_EmitConvertToTarget, 3,
     789             : /*  1541*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL64mi), 0|OPFL_Chain|OPFL_MemRefs,
     790             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
     791             :                     // Src: (st (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
     792             :                     // Dst: (SHL64mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
     793             : /*  1553*/        /*Scope*/ 36, /*->1590*/
     794             : /*  1554*/          OPC_CheckPredicate, 5, // Predicate_loadi8
     795             : /*  1556*/          OPC_MoveParent,
     796             : /*  1557*/          OPC_RecordChild1, // #3 = physreg input CL
     797             : /*  1558*/          OPC_CheckChild1Type, MVT::i8,
     798             : /*  1560*/          OPC_CheckType, MVT::i8,
     799             : /*  1562*/          OPC_MoveParent,
     800             : /*  1563*/          OPC_CheckChild2Same, 2,
     801             : /*  1565*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     802             : /*  1567*/          OPC_CheckPredicate, 1, // Predicate_store
     803             : /*  1569*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     804             : /*  1572*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     805             : /*  1576*/          OPC_EmitCopyToReg, 3, X86::CL,
     806             : /*  1579*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL8mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     807             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     808             :                     // Src: (st (shl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
     809             :                     // Dst: (SHL8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     810             : /*  1590*/        /*Scope*/ 36, /*->1627*/
     811             : /*  1591*/          OPC_CheckPredicate, 7, // Predicate_loadi16
     812             : /*  1593*/          OPC_MoveParent,
     813             : /*  1594*/          OPC_RecordChild1, // #3 = physreg input CL
     814             : /*  1595*/          OPC_CheckChild1Type, MVT::i8,
     815             : /*  1597*/          OPC_CheckType, MVT::i16,
     816             : /*  1599*/          OPC_MoveParent,
     817             : /*  1600*/          OPC_CheckChild2Same, 2,
     818             : /*  1602*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     819             : /*  1604*/          OPC_CheckPredicate, 1, // Predicate_store
     820             : /*  1606*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     821             : /*  1609*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     822             : /*  1613*/          OPC_EmitCopyToReg, 3, X86::CL,
     823             : /*  1616*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL16mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     824             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     825             :                     // Src: (st (shl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
     826             :                     // Dst: (SHL16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     827             : /*  1627*/        /*Scope*/ 36, /*->1664*/
     828             : /*  1628*/          OPC_CheckPredicate, 8, // Predicate_loadi32
     829             : /*  1630*/          OPC_MoveParent,
     830             : /*  1631*/          OPC_RecordChild1, // #3 = physreg input CL
     831             : /*  1632*/          OPC_CheckChild1Type, MVT::i8,
     832             : /*  1634*/          OPC_CheckType, MVT::i32,
     833             : /*  1636*/          OPC_MoveParent,
     834             : /*  1637*/          OPC_CheckChild2Same, 2,
     835             : /*  1639*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     836             : /*  1641*/          OPC_CheckPredicate, 1, // Predicate_store
     837             : /*  1643*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     838             : /*  1646*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     839             : /*  1650*/          OPC_EmitCopyToReg, 3, X86::CL,
     840             : /*  1653*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL32mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     841             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     842             :                     // Src: (st (shl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
     843             :                     // Dst: (SHL32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     844             : /*  1664*/        /*Scope*/ 38, /*->1703*/
     845             : /*  1665*/          OPC_CheckPredicate, 9, // Predicate_load
     846             : /*  1667*/          OPC_MoveParent,
     847             : /*  1668*/          OPC_RecordChild1, // #3 = physreg input CL
     848             : /*  1669*/          OPC_CheckChild1Type, MVT::i8,
     849             : /*  1671*/          OPC_CheckType, MVT::i64,
     850             : /*  1673*/          OPC_MoveParent,
     851             : /*  1674*/          OPC_CheckChild2Same, 2,
     852             : /*  1676*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     853             : /*  1678*/          OPC_CheckPredicate, 1, // Predicate_store
     854             : /*  1680*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
     855             : /*  1682*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     856             : /*  1685*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     857             : /*  1689*/          OPC_EmitCopyToReg, 3, X86::CL,
     858             : /*  1692*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHL64mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     859             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     860             :                     // Src: (st (shl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
     861             :                     // Dst: (SHL64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     862             : /*  1703*/        0, /*End of Scope*/
     863             : /*  1704*/      /*SwitchOpcode*/ 30|128,5/*670*/, TARGET_VAL(ISD::SRL),// ->2378
     864             : /*  1708*/        OPC_MoveChild0,
     865             : /*  1709*/        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     866             : /*  1712*/        OPC_RecordMemRef,
     867             : /*  1713*/        OPC_RecordNode, // #1 = 'ld' chained node
     868             : /*  1714*/        OPC_CheckFoldableChainNode,
     869             : /*  1715*/        OPC_RecordChild1, // #2 = $dst
     870             : /*  1716*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
     871             : /*  1718*/        OPC_Scope, 48, /*->1768*/ // 16 children in Scope
     872             : /*  1720*/          OPC_CheckPredicate, 5, // Predicate_loadi8
     873             : /*  1722*/          OPC_MoveParent,
     874             : /*  1723*/          OPC_MoveChild1,
     875             : /*  1724*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     876             : /*  1727*/          OPC_RecordChild0, // #3 = physreg input CL
     877             : /*  1728*/          OPC_MoveChild1,
     878             : /*  1729*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     879             : /*  1732*/          OPC_CheckPredicate, 6, // Predicate_immShift32
     880             : /*  1734*/          OPC_MoveParent,
     881             : /*  1735*/          OPC_CheckType, MVT::i8,
     882             : /*  1737*/          OPC_MoveParent,
     883             : /*  1738*/          OPC_CheckType, MVT::i8,
     884             : /*  1740*/          OPC_MoveParent,
     885             : /*  1741*/          OPC_CheckChild2Same, 2,
     886             : /*  1743*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     887             : /*  1745*/          OPC_CheckPredicate, 1, // Predicate_store
     888             : /*  1747*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     889             : /*  1750*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     890             : /*  1754*/          OPC_EmitCopyToReg, 3, X86::CL,
     891             : /*  1757*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR8mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     892             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     893             :                     // Src: (st (srl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift32>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
     894             :                     // Dst: (SHR8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     895             : /*  1768*/        /*Scope*/ 48, /*->1817*/
     896             : /*  1769*/          OPC_CheckPredicate, 7, // Predicate_loadi16
     897             : /*  1771*/          OPC_MoveParent,
     898             : /*  1772*/          OPC_MoveChild1,
     899             : /*  1773*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     900             : /*  1776*/          OPC_RecordChild0, // #3 = physreg input CL
     901             : /*  1777*/          OPC_MoveChild1,
     902             : /*  1778*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     903             : /*  1781*/          OPC_CheckPredicate, 6, // Predicate_immShift32
     904             : /*  1783*/          OPC_MoveParent,
     905             : /*  1784*/          OPC_CheckType, MVT::i8,
     906             : /*  1786*/          OPC_MoveParent,
     907             : /*  1787*/          OPC_CheckType, MVT::i16,
     908             : /*  1789*/          OPC_MoveParent,
     909             : /*  1790*/          OPC_CheckChild2Same, 2,
     910             : /*  1792*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     911             : /*  1794*/          OPC_CheckPredicate, 1, // Predicate_store
     912             : /*  1796*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     913             : /*  1799*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     914             : /*  1803*/          OPC_EmitCopyToReg, 3, X86::CL,
     915             : /*  1806*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR16mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     916             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     917             :                     // Src: (st (srl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift32>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
     918             :                     // Dst: (SHR16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     919             : /*  1817*/        /*Scope*/ 48, /*->1866*/
     920             : /*  1818*/          OPC_CheckPredicate, 8, // Predicate_loadi32
     921             : /*  1820*/          OPC_MoveParent,
     922             : /*  1821*/          OPC_MoveChild1,
     923             : /*  1822*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     924             : /*  1825*/          OPC_RecordChild0, // #3 = physreg input CL
     925             : /*  1826*/          OPC_MoveChild1,
     926             : /*  1827*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     927             : /*  1830*/          OPC_CheckPredicate, 6, // Predicate_immShift32
     928             : /*  1832*/          OPC_MoveParent,
     929             : /*  1833*/          OPC_CheckType, MVT::i8,
     930             : /*  1835*/          OPC_MoveParent,
     931             : /*  1836*/          OPC_CheckType, MVT::i32,
     932             : /*  1838*/          OPC_MoveParent,
     933             : /*  1839*/          OPC_CheckChild2Same, 2,
     934             : /*  1841*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     935             : /*  1843*/          OPC_CheckPredicate, 1, // Predicate_store
     936             : /*  1845*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     937             : /*  1848*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     938             : /*  1852*/          OPC_EmitCopyToReg, 3, X86::CL,
     939             : /*  1855*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR32mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     940             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     941             :                     // Src: (st (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift32>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
     942             :                     // Dst: (SHR32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     943             : /*  1866*/        /*Scope*/ 48, /*->1915*/
     944             : /*  1867*/          OPC_CheckPredicate, 9, // Predicate_load
     945             : /*  1869*/          OPC_MoveParent,
     946             : /*  1870*/          OPC_MoveChild1,
     947             : /*  1871*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     948             : /*  1874*/          OPC_RecordChild0, // #3 = physreg input CL
     949             : /*  1875*/          OPC_MoveChild1,
     950             : /*  1876*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     951             : /*  1879*/          OPC_CheckPredicate, 10, // Predicate_immShift64
     952             : /*  1881*/          OPC_MoveParent,
     953             : /*  1882*/          OPC_CheckType, MVT::i8,
     954             : /*  1884*/          OPC_MoveParent,
     955             : /*  1885*/          OPC_CheckType, MVT::i64,
     956             : /*  1887*/          OPC_MoveParent,
     957             : /*  1888*/          OPC_CheckChild2Same, 2,
     958             : /*  1890*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     959             : /*  1892*/          OPC_CheckPredicate, 1, // Predicate_store
     960             : /*  1894*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
     961             : /*  1897*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     962             : /*  1901*/          OPC_EmitCopyToReg, 3, X86::CL,
     963             : /*  1904*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR64mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
     964             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
     965             :                     // Src: (st (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift64>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
     966             :                     // Dst: (SHR64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     967             : /*  1915*/        /*Scope*/ 34, /*->1950*/
     968             : /*  1916*/          OPC_CheckPredicate, 5, // Predicate_loadi8
     969             : /*  1918*/          OPC_MoveParent,
     970             : /*  1919*/          OPC_CheckChild1Integer, 1, 
     971             : /*  1921*/          OPC_CheckChild1Type, MVT::i8,
     972             : /*  1923*/          OPC_CheckType, MVT::i8,
     973             : /*  1925*/          OPC_MoveParent,
     974             : /*  1926*/          OPC_CheckChild2Same, 2,
     975             : /*  1928*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     976             : /*  1930*/          OPC_CheckPredicate, 1, // Predicate_store
     977             : /*  1932*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     978             : /*  1935*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     979             : /*  1939*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR8m1), 0|OPFL_Chain|OPFL_MemRefs,
     980             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
     981             :                     // Src: (st (srl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
     982             :                     // Dst: (SHR8m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     983             : /*  1950*/        /*Scope*/ 34, /*->1985*/
     984             : /*  1951*/          OPC_CheckPredicate, 7, // Predicate_loadi16
     985             : /*  1953*/          OPC_MoveParent,
     986             : /*  1954*/          OPC_CheckChild1Integer, 1, 
     987             : /*  1956*/          OPC_CheckChild1Type, MVT::i8,
     988             : /*  1958*/          OPC_CheckType, MVT::i16,
     989             : /*  1960*/          OPC_MoveParent,
     990             : /*  1961*/          OPC_CheckChild2Same, 2,
     991             : /*  1963*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
     992             : /*  1965*/          OPC_CheckPredicate, 1, // Predicate_store
     993             : /*  1967*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
     994             : /*  1970*/          OPC_EmitMergeInputChains, 2, 0, 1, 
     995             : /*  1974*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR16m1), 0|OPFL_Chain|OPFL_MemRefs,
     996             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
     997             :                     // Src: (st (srl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
     998             :                     // Dst: (SHR16m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
     999             : /*  1985*/        /*Scope*/ 34, /*->2020*/
    1000             : /*  1986*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1001             : /*  1988*/          OPC_MoveParent,
    1002             : /*  1989*/          OPC_CheckChild1Integer, 1, 
    1003             : /*  1991*/          OPC_CheckChild1Type, MVT::i8,
    1004             : /*  1993*/          OPC_CheckType, MVT::i32,
    1005             : /*  1995*/          OPC_MoveParent,
    1006             : /*  1996*/          OPC_CheckChild2Same, 2,
    1007             : /*  1998*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1008             : /*  2000*/          OPC_CheckPredicate, 1, // Predicate_store
    1009             : /*  2002*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1010             : /*  2005*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1011             : /*  2009*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR32m1), 0|OPFL_Chain|OPFL_MemRefs,
    1012             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1013             :                     // Src: (st (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1014             :                     // Dst: (SHR32m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1015             : /*  2020*/        /*Scope*/ 36, /*->2057*/
    1016             : /*  2021*/          OPC_CheckPredicate, 9, // Predicate_load
    1017             : /*  2023*/          OPC_MoveParent,
    1018             : /*  2024*/          OPC_CheckChild1Integer, 1, 
    1019             : /*  2026*/          OPC_CheckChild1Type, MVT::i8,
    1020             : /*  2028*/          OPC_CheckType, MVT::i64,
    1021             : /*  2030*/          OPC_MoveParent,
    1022             : /*  2031*/          OPC_CheckChild2Same, 2,
    1023             : /*  2033*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1024             : /*  2035*/          OPC_CheckPredicate, 1, // Predicate_store
    1025             : /*  2037*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    1026             : /*  2039*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1027             : /*  2042*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1028             : /*  2046*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR64m1), 0|OPFL_Chain|OPFL_MemRefs,
    1029             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1030             :                     // Src: (st (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1031             :                     // Dst: (SHR64m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1032             : /*  2057*/        /*Scope*/ 41, /*->2099*/
    1033             : /*  2058*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1034             : /*  2060*/          OPC_MoveParent,
    1035             : /*  2061*/          OPC_RecordChild1, // #3 = $src
    1036             : /*  2062*/          OPC_MoveChild1,
    1037             : /*  2063*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1038             : /*  2066*/          OPC_CheckType, MVT::i8,
    1039             : /*  2068*/          OPC_MoveParent,
    1040             : /*  2069*/          OPC_CheckType, MVT::i8,
    1041             : /*  2071*/          OPC_MoveParent,
    1042             : /*  2072*/          OPC_CheckChild2Same, 2,
    1043             : /*  2074*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1044             : /*  2076*/          OPC_CheckPredicate, 1, // Predicate_store
    1045             : /*  2078*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1046             : /*  2081*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1047             : /*  2085*/          OPC_EmitConvertToTarget, 3,
    1048             : /*  2087*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR8mi), 0|OPFL_Chain|OPFL_MemRefs,
    1049             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1050             :                     // Src: (st (srl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1051             :                     // Dst: (SHR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    1052             : /*  2099*/        /*Scope*/ 41, /*->2141*/
    1053             : /*  2100*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1054             : /*  2102*/          OPC_MoveParent,
    1055             : /*  2103*/          OPC_RecordChild1, // #3 = $src
    1056             : /*  2104*/          OPC_MoveChild1,
    1057             : /*  2105*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1058             : /*  2108*/          OPC_CheckType, MVT::i8,
    1059             : /*  2110*/          OPC_MoveParent,
    1060             : /*  2111*/          OPC_CheckType, MVT::i16,
    1061             : /*  2113*/          OPC_MoveParent,
    1062             : /*  2114*/          OPC_CheckChild2Same, 2,
    1063             : /*  2116*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1064             : /*  2118*/          OPC_CheckPredicate, 1, // Predicate_store
    1065             : /*  2120*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1066             : /*  2123*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1067             : /*  2127*/          OPC_EmitConvertToTarget, 3,
    1068             : /*  2129*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR16mi), 0|OPFL_Chain|OPFL_MemRefs,
    1069             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1070             :                     // Src: (st (srl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1071             :                     // Dst: (SHR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    1072             : /*  2141*/        /*Scope*/ 41, /*->2183*/
    1073             : /*  2142*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1074             : /*  2144*/          OPC_MoveParent,
    1075             : /*  2145*/          OPC_RecordChild1, // #3 = $src
    1076             : /*  2146*/          OPC_MoveChild1,
    1077             : /*  2147*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1078             : /*  2150*/          OPC_CheckType, MVT::i8,
    1079             : /*  2152*/          OPC_MoveParent,
    1080             : /*  2153*/          OPC_CheckType, MVT::i32,
    1081             : /*  2155*/          OPC_MoveParent,
    1082             : /*  2156*/          OPC_CheckChild2Same, 2,
    1083             : /*  2158*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1084             : /*  2160*/          OPC_CheckPredicate, 1, // Predicate_store
    1085             : /*  2162*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1086             : /*  2165*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1087             : /*  2169*/          OPC_EmitConvertToTarget, 3,
    1088             : /*  2171*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR32mi), 0|OPFL_Chain|OPFL_MemRefs,
    1089             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1090             :                     // Src: (st (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1091             :                     // Dst: (SHR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    1092             : /*  2183*/        /*Scope*/ 43, /*->2227*/
    1093             : /*  2184*/          OPC_CheckPredicate, 9, // Predicate_load
    1094             : /*  2186*/          OPC_MoveParent,
    1095             : /*  2187*/          OPC_RecordChild1, // #3 = $src
    1096             : /*  2188*/          OPC_MoveChild1,
    1097             : /*  2189*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1098             : /*  2192*/          OPC_CheckType, MVT::i8,
    1099             : /*  2194*/          OPC_MoveParent,
    1100             : /*  2195*/          OPC_CheckType, MVT::i64,
    1101             : /*  2197*/          OPC_MoveParent,
    1102             : /*  2198*/          OPC_CheckChild2Same, 2,
    1103             : /*  2200*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1104             : /*  2202*/          OPC_CheckPredicate, 1, // Predicate_store
    1105             : /*  2204*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    1106             : /*  2206*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1107             : /*  2209*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1108             : /*  2213*/          OPC_EmitConvertToTarget, 3,
    1109             : /*  2215*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR64mi), 0|OPFL_Chain|OPFL_MemRefs,
    1110             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1111             :                     // Src: (st (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1112             :                     // Dst: (SHR64mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    1113             : /*  2227*/        /*Scope*/ 36, /*->2264*/
    1114             : /*  2228*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1115             : /*  2230*/          OPC_MoveParent,
    1116             : /*  2231*/          OPC_RecordChild1, // #3 = physreg input CL
    1117             : /*  2232*/          OPC_CheckChild1Type, MVT::i8,
    1118             : /*  2234*/          OPC_CheckType, MVT::i8,
    1119             : /*  2236*/          OPC_MoveParent,
    1120             : /*  2237*/          OPC_CheckChild2Same, 2,
    1121             : /*  2239*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1122             : /*  2241*/          OPC_CheckPredicate, 1, // Predicate_store
    1123             : /*  2243*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1124             : /*  2246*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1125             : /*  2250*/          OPC_EmitCopyToReg, 3, X86::CL,
    1126             : /*  2253*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR8mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1127             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1128             :                     // Src: (st (srl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1129             :                     // Dst: (SHR8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1130             : /*  2264*/        /*Scope*/ 36, /*->2301*/
    1131             : /*  2265*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1132             : /*  2267*/          OPC_MoveParent,
    1133             : /*  2268*/          OPC_RecordChild1, // #3 = physreg input CL
    1134             : /*  2269*/          OPC_CheckChild1Type, MVT::i8,
    1135             : /*  2271*/          OPC_CheckType, MVT::i16,
    1136             : /*  2273*/          OPC_MoveParent,
    1137             : /*  2274*/          OPC_CheckChild2Same, 2,
    1138             : /*  2276*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1139             : /*  2278*/          OPC_CheckPredicate, 1, // Predicate_store
    1140             : /*  2280*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1141             : /*  2283*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1142             : /*  2287*/          OPC_EmitCopyToReg, 3, X86::CL,
    1143             : /*  2290*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR16mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1144             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1145             :                     // Src: (st (srl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1146             :                     // Dst: (SHR16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1147             : /*  2301*/        /*Scope*/ 36, /*->2338*/
    1148             : /*  2302*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1149             : /*  2304*/          OPC_MoveParent,
    1150             : /*  2305*/          OPC_RecordChild1, // #3 = physreg input CL
    1151             : /*  2306*/          OPC_CheckChild1Type, MVT::i8,
    1152             : /*  2308*/          OPC_CheckType, MVT::i32,
    1153             : /*  2310*/          OPC_MoveParent,
    1154             : /*  2311*/          OPC_CheckChild2Same, 2,
    1155             : /*  2313*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1156             : /*  2315*/          OPC_CheckPredicate, 1, // Predicate_store
    1157             : /*  2317*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1158             : /*  2320*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1159             : /*  2324*/          OPC_EmitCopyToReg, 3, X86::CL,
    1160             : /*  2327*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR32mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1161             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1162             :                     // Src: (st (srl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1163             :                     // Dst: (SHR32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1164             : /*  2338*/        /*Scope*/ 38, /*->2377*/
    1165             : /*  2339*/          OPC_CheckPredicate, 9, // Predicate_load
    1166             : /*  2341*/          OPC_MoveParent,
    1167             : /*  2342*/          OPC_RecordChild1, // #3 = physreg input CL
    1168             : /*  2343*/          OPC_CheckChild1Type, MVT::i8,
    1169             : /*  2345*/          OPC_CheckType, MVT::i64,
    1170             : /*  2347*/          OPC_MoveParent,
    1171             : /*  2348*/          OPC_CheckChild2Same, 2,
    1172             : /*  2350*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1173             : /*  2352*/          OPC_CheckPredicate, 1, // Predicate_store
    1174             : /*  2354*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    1175             : /*  2356*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1176             : /*  2359*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1177             : /*  2363*/          OPC_EmitCopyToReg, 3, X86::CL,
    1178             : /*  2366*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHR64mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1179             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1180             :                     // Src: (st (srl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1181             :                     // Dst: (SHR64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1182             : /*  2377*/        0, /*End of Scope*/
    1183             : /*  2378*/      /*SwitchOpcode*/ 30|128,5/*670*/, TARGET_VAL(ISD::SRA),// ->3052
    1184             : /*  2382*/        OPC_MoveChild0,
    1185             : /*  2383*/        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    1186             : /*  2386*/        OPC_RecordMemRef,
    1187             : /*  2387*/        OPC_RecordNode, // #1 = 'ld' chained node
    1188             : /*  2388*/        OPC_CheckFoldableChainNode,
    1189             : /*  2389*/        OPC_RecordChild1, // #2 = $dst
    1190             : /*  2390*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
    1191             : /*  2392*/        OPC_Scope, 48, /*->2442*/ // 16 children in Scope
    1192             : /*  2394*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1193             : /*  2396*/          OPC_MoveParent,
    1194             : /*  2397*/          OPC_MoveChild1,
    1195             : /*  2398*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1196             : /*  2401*/          OPC_RecordChild0, // #3 = physreg input CL
    1197             : /*  2402*/          OPC_MoveChild1,
    1198             : /*  2403*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1199             : /*  2406*/          OPC_CheckPredicate, 6, // Predicate_immShift32
    1200             : /*  2408*/          OPC_MoveParent,
    1201             : /*  2409*/          OPC_CheckType, MVT::i8,
    1202             : /*  2411*/          OPC_MoveParent,
    1203             : /*  2412*/          OPC_CheckType, MVT::i8,
    1204             : /*  2414*/          OPC_MoveParent,
    1205             : /*  2415*/          OPC_CheckChild2Same, 2,
    1206             : /*  2417*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1207             : /*  2419*/          OPC_CheckPredicate, 1, // Predicate_store
    1208             : /*  2421*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1209             : /*  2424*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1210             : /*  2428*/          OPC_EmitCopyToReg, 3, X86::CL,
    1211             : /*  2431*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR8mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1212             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1213             :                     // Src: (st (sra:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift32>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1214             :                     // Dst: (SAR8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1215             : /*  2442*/        /*Scope*/ 48, /*->2491*/
    1216             : /*  2443*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1217             : /*  2445*/          OPC_MoveParent,
    1218             : /*  2446*/          OPC_MoveChild1,
    1219             : /*  2447*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1220             : /*  2450*/          OPC_RecordChild0, // #3 = physreg input CL
    1221             : /*  2451*/          OPC_MoveChild1,
    1222             : /*  2452*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1223             : /*  2455*/          OPC_CheckPredicate, 6, // Predicate_immShift32
    1224             : /*  2457*/          OPC_MoveParent,
    1225             : /*  2458*/          OPC_CheckType, MVT::i8,
    1226             : /*  2460*/          OPC_MoveParent,
    1227             : /*  2461*/          OPC_CheckType, MVT::i16,
    1228             : /*  2463*/          OPC_MoveParent,
    1229             : /*  2464*/          OPC_CheckChild2Same, 2,
    1230             : /*  2466*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1231             : /*  2468*/          OPC_CheckPredicate, 1, // Predicate_store
    1232             : /*  2470*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1233             : /*  2473*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1234             : /*  2477*/          OPC_EmitCopyToReg, 3, X86::CL,
    1235             : /*  2480*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR16mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1236             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1237             :                     // Src: (st (sra:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift32>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1238             :                     // Dst: (SAR16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1239             : /*  2491*/        /*Scope*/ 48, /*->2540*/
    1240             : /*  2492*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1241             : /*  2494*/          OPC_MoveParent,
    1242             : /*  2495*/          OPC_MoveChild1,
    1243             : /*  2496*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1244             : /*  2499*/          OPC_RecordChild0, // #3 = physreg input CL
    1245             : /*  2500*/          OPC_MoveChild1,
    1246             : /*  2501*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1247             : /*  2504*/          OPC_CheckPredicate, 6, // Predicate_immShift32
    1248             : /*  2506*/          OPC_MoveParent,
    1249             : /*  2507*/          OPC_CheckType, MVT::i8,
    1250             : /*  2509*/          OPC_MoveParent,
    1251             : /*  2510*/          OPC_CheckType, MVT::i32,
    1252             : /*  2512*/          OPC_MoveParent,
    1253             : /*  2513*/          OPC_CheckChild2Same, 2,
    1254             : /*  2515*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1255             : /*  2517*/          OPC_CheckPredicate, 1, // Predicate_store
    1256             : /*  2519*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1257             : /*  2522*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1258             : /*  2526*/          OPC_EmitCopyToReg, 3, X86::CL,
    1259             : /*  2529*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR32mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1260             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1261             :                     // Src: (st (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift32>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1262             :                     // Dst: (SAR32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1263             : /*  2540*/        /*Scope*/ 48, /*->2589*/
    1264             : /*  2541*/          OPC_CheckPredicate, 9, // Predicate_load
    1265             : /*  2543*/          OPC_MoveParent,
    1266             : /*  2544*/          OPC_MoveChild1,
    1267             : /*  2545*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1268             : /*  2548*/          OPC_RecordChild0, // #3 = physreg input CL
    1269             : /*  2549*/          OPC_MoveChild1,
    1270             : /*  2550*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1271             : /*  2553*/          OPC_CheckPredicate, 10, // Predicate_immShift64
    1272             : /*  2555*/          OPC_MoveParent,
    1273             : /*  2556*/          OPC_CheckType, MVT::i8,
    1274             : /*  2558*/          OPC_MoveParent,
    1275             : /*  2559*/          OPC_CheckType, MVT::i64,
    1276             : /*  2561*/          OPC_MoveParent,
    1277             : /*  2562*/          OPC_CheckChild2Same, 2,
    1278             : /*  2564*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1279             : /*  2566*/          OPC_CheckPredicate, 1, // Predicate_store
    1280             : /*  2568*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1281             : /*  2571*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1282             : /*  2575*/          OPC_EmitCopyToReg, 3, X86::CL,
    1283             : /*  2578*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR64mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1284             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1285             :                     // Src: (st (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift64>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1286             :                     // Dst: (SAR64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1287             : /*  2589*/        /*Scope*/ 34, /*->2624*/
    1288             : /*  2590*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1289             : /*  2592*/          OPC_MoveParent,
    1290             : /*  2593*/          OPC_CheckChild1Integer, 1, 
    1291             : /*  2595*/          OPC_CheckChild1Type, MVT::i8,
    1292             : /*  2597*/          OPC_CheckType, MVT::i8,
    1293             : /*  2599*/          OPC_MoveParent,
    1294             : /*  2600*/          OPC_CheckChild2Same, 2,
    1295             : /*  2602*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1296             : /*  2604*/          OPC_CheckPredicate, 1, // Predicate_store
    1297             : /*  2606*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1298             : /*  2609*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1299             : /*  2613*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR8m1), 0|OPFL_Chain|OPFL_MemRefs,
    1300             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1301             :                     // Src: (st (sra:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1302             :                     // Dst: (SAR8m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1303             : /*  2624*/        /*Scope*/ 34, /*->2659*/
    1304             : /*  2625*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1305             : /*  2627*/          OPC_MoveParent,
    1306             : /*  2628*/          OPC_CheckChild1Integer, 1, 
    1307             : /*  2630*/          OPC_CheckChild1Type, MVT::i8,
    1308             : /*  2632*/          OPC_CheckType, MVT::i16,
    1309             : /*  2634*/          OPC_MoveParent,
    1310             : /*  2635*/          OPC_CheckChild2Same, 2,
    1311             : /*  2637*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1312             : /*  2639*/          OPC_CheckPredicate, 1, // Predicate_store
    1313             : /*  2641*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1314             : /*  2644*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1315             : /*  2648*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR16m1), 0|OPFL_Chain|OPFL_MemRefs,
    1316             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1317             :                     // Src: (st (sra:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1318             :                     // Dst: (SAR16m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1319             : /*  2659*/        /*Scope*/ 34, /*->2694*/
    1320             : /*  2660*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1321             : /*  2662*/          OPC_MoveParent,
    1322             : /*  2663*/          OPC_CheckChild1Integer, 1, 
    1323             : /*  2665*/          OPC_CheckChild1Type, MVT::i8,
    1324             : /*  2667*/          OPC_CheckType, MVT::i32,
    1325             : /*  2669*/          OPC_MoveParent,
    1326             : /*  2670*/          OPC_CheckChild2Same, 2,
    1327             : /*  2672*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1328             : /*  2674*/          OPC_CheckPredicate, 1, // Predicate_store
    1329             : /*  2676*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1330             : /*  2679*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1331             : /*  2683*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR32m1), 0|OPFL_Chain|OPFL_MemRefs,
    1332             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1333             :                     // Src: (st (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1334             :                     // Dst: (SAR32m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1335             : /*  2694*/        /*Scope*/ 36, /*->2731*/
    1336             : /*  2695*/          OPC_CheckPredicate, 9, // Predicate_load
    1337             : /*  2697*/          OPC_MoveParent,
    1338             : /*  2698*/          OPC_CheckChild1Integer, 1, 
    1339             : /*  2700*/          OPC_CheckChild1Type, MVT::i8,
    1340             : /*  2702*/          OPC_CheckType, MVT::i64,
    1341             : /*  2704*/          OPC_MoveParent,
    1342             : /*  2705*/          OPC_CheckChild2Same, 2,
    1343             : /*  2707*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1344             : /*  2709*/          OPC_CheckPredicate, 1, // Predicate_store
    1345             : /*  2711*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    1346             : /*  2713*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1347             : /*  2716*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1348             : /*  2720*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR64m1), 0|OPFL_Chain|OPFL_MemRefs,
    1349             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1350             :                     // Src: (st (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1351             :                     // Dst: (SAR64m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1352             : /*  2731*/        /*Scope*/ 41, /*->2773*/
    1353             : /*  2732*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1354             : /*  2734*/          OPC_MoveParent,
    1355             : /*  2735*/          OPC_RecordChild1, // #3 = $src
    1356             : /*  2736*/          OPC_MoveChild1,
    1357             : /*  2737*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1358             : /*  2740*/          OPC_CheckType, MVT::i8,
    1359             : /*  2742*/          OPC_MoveParent,
    1360             : /*  2743*/          OPC_CheckType, MVT::i8,
    1361             : /*  2745*/          OPC_MoveParent,
    1362             : /*  2746*/          OPC_CheckChild2Same, 2,
    1363             : /*  2748*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1364             : /*  2750*/          OPC_CheckPredicate, 1, // Predicate_store
    1365             : /*  2752*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1366             : /*  2755*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1367             : /*  2759*/          OPC_EmitConvertToTarget, 3,
    1368             : /*  2761*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR8mi), 0|OPFL_Chain|OPFL_MemRefs,
    1369             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1370             :                     // Src: (st (sra:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1371             :                     // Dst: (SAR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    1372             : /*  2773*/        /*Scope*/ 41, /*->2815*/
    1373             : /*  2774*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1374             : /*  2776*/          OPC_MoveParent,
    1375             : /*  2777*/          OPC_RecordChild1, // #3 = $src
    1376             : /*  2778*/          OPC_MoveChild1,
    1377             : /*  2779*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1378             : /*  2782*/          OPC_CheckType, MVT::i8,
    1379             : /*  2784*/          OPC_MoveParent,
    1380             : /*  2785*/          OPC_CheckType, MVT::i16,
    1381             : /*  2787*/          OPC_MoveParent,
    1382             : /*  2788*/          OPC_CheckChild2Same, 2,
    1383             : /*  2790*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1384             : /*  2792*/          OPC_CheckPredicate, 1, // Predicate_store
    1385             : /*  2794*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1386             : /*  2797*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1387             : /*  2801*/          OPC_EmitConvertToTarget, 3,
    1388             : /*  2803*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR16mi), 0|OPFL_Chain|OPFL_MemRefs,
    1389             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1390             :                     // Src: (st (sra:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1391             :                     // Dst: (SAR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    1392             : /*  2815*/        /*Scope*/ 41, /*->2857*/
    1393             : /*  2816*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1394             : /*  2818*/          OPC_MoveParent,
    1395             : /*  2819*/          OPC_RecordChild1, // #3 = $src
    1396             : /*  2820*/          OPC_MoveChild1,
    1397             : /*  2821*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1398             : /*  2824*/          OPC_CheckType, MVT::i8,
    1399             : /*  2826*/          OPC_MoveParent,
    1400             : /*  2827*/          OPC_CheckType, MVT::i32,
    1401             : /*  2829*/          OPC_MoveParent,
    1402             : /*  2830*/          OPC_CheckChild2Same, 2,
    1403             : /*  2832*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1404             : /*  2834*/          OPC_CheckPredicate, 1, // Predicate_store
    1405             : /*  2836*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1406             : /*  2839*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1407             : /*  2843*/          OPC_EmitConvertToTarget, 3,
    1408             : /*  2845*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR32mi), 0|OPFL_Chain|OPFL_MemRefs,
    1409             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1410             :                     // Src: (st (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1411             :                     // Dst: (SAR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    1412             : /*  2857*/        /*Scope*/ 43, /*->2901*/
    1413             : /*  2858*/          OPC_CheckPredicate, 9, // Predicate_load
    1414             : /*  2860*/          OPC_MoveParent,
    1415             : /*  2861*/          OPC_RecordChild1, // #3 = $src
    1416             : /*  2862*/          OPC_MoveChild1,
    1417             : /*  2863*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1418             : /*  2866*/          OPC_CheckType, MVT::i8,
    1419             : /*  2868*/          OPC_MoveParent,
    1420             : /*  2869*/          OPC_CheckType, MVT::i64,
    1421             : /*  2871*/          OPC_MoveParent,
    1422             : /*  2872*/          OPC_CheckChild2Same, 2,
    1423             : /*  2874*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1424             : /*  2876*/          OPC_CheckPredicate, 1, // Predicate_store
    1425             : /*  2878*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    1426             : /*  2880*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1427             : /*  2883*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1428             : /*  2887*/          OPC_EmitConvertToTarget, 3,
    1429             : /*  2889*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR64mi), 0|OPFL_Chain|OPFL_MemRefs,
    1430             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1431             :                     // Src: (st (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1432             :                     // Dst: (SAR64mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    1433             : /*  2901*/        /*Scope*/ 36, /*->2938*/
    1434             : /*  2902*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1435             : /*  2904*/          OPC_MoveParent,
    1436             : /*  2905*/          OPC_RecordChild1, // #3 = physreg input CL
    1437             : /*  2906*/          OPC_CheckChild1Type, MVT::i8,
    1438             : /*  2908*/          OPC_CheckType, MVT::i8,
    1439             : /*  2910*/          OPC_MoveParent,
    1440             : /*  2911*/          OPC_CheckChild2Same, 2,
    1441             : /*  2913*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1442             : /*  2915*/          OPC_CheckPredicate, 1, // Predicate_store
    1443             : /*  2917*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1444             : /*  2920*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1445             : /*  2924*/          OPC_EmitCopyToReg, 3, X86::CL,
    1446             : /*  2927*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR8mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1447             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1448             :                     // Src: (st (sra:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1449             :                     // Dst: (SAR8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1450             : /*  2938*/        /*Scope*/ 36, /*->2975*/
    1451             : /*  2939*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1452             : /*  2941*/          OPC_MoveParent,
    1453             : /*  2942*/          OPC_RecordChild1, // #3 = physreg input CL
    1454             : /*  2943*/          OPC_CheckChild1Type, MVT::i8,
    1455             : /*  2945*/          OPC_CheckType, MVT::i16,
    1456             : /*  2947*/          OPC_MoveParent,
    1457             : /*  2948*/          OPC_CheckChild2Same, 2,
    1458             : /*  2950*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1459             : /*  2952*/          OPC_CheckPredicate, 1, // Predicate_store
    1460             : /*  2954*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1461             : /*  2957*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1462             : /*  2961*/          OPC_EmitCopyToReg, 3, X86::CL,
    1463             : /*  2964*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR16mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1464             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1465             :                     // Src: (st (sra:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1466             :                     // Dst: (SAR16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1467             : /*  2975*/        /*Scope*/ 36, /*->3012*/
    1468             : /*  2976*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1469             : /*  2978*/          OPC_MoveParent,
    1470             : /*  2979*/          OPC_RecordChild1, // #3 = physreg input CL
    1471             : /*  2980*/          OPC_CheckChild1Type, MVT::i8,
    1472             : /*  2982*/          OPC_CheckType, MVT::i32,
    1473             : /*  2984*/          OPC_MoveParent,
    1474             : /*  2985*/          OPC_CheckChild2Same, 2,
    1475             : /*  2987*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1476             : /*  2989*/          OPC_CheckPredicate, 1, // Predicate_store
    1477             : /*  2991*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1478             : /*  2994*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1479             : /*  2998*/          OPC_EmitCopyToReg, 3, X86::CL,
    1480             : /*  3001*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR32mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1481             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1482             :                     // Src: (st (sra:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1483             :                     // Dst: (SAR32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1484             : /*  3012*/        /*Scope*/ 38, /*->3051*/
    1485             : /*  3013*/          OPC_CheckPredicate, 9, // Predicate_load
    1486             : /*  3015*/          OPC_MoveParent,
    1487             : /*  3016*/          OPC_RecordChild1, // #3 = physreg input CL
    1488             : /*  3017*/          OPC_CheckChild1Type, MVT::i8,
    1489             : /*  3019*/          OPC_CheckType, MVT::i64,
    1490             : /*  3021*/          OPC_MoveParent,
    1491             : /*  3022*/          OPC_CheckChild2Same, 2,
    1492             : /*  3024*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1493             : /*  3026*/          OPC_CheckPredicate, 1, // Predicate_store
    1494             : /*  3028*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    1495             : /*  3030*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1496             : /*  3033*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1497             : /*  3037*/          OPC_EmitCopyToReg, 3, X86::CL,
    1498             : /*  3040*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SAR64mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1499             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1500             :                     // Src: (st (sra:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1501             :                     // Dst: (SAR64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1502             : /*  3051*/        0, /*End of Scope*/
    1503             : /*  3052*/      /*SwitchOpcode*/ 44|128,6/*812*/, TARGET_VAL(ISD::ROTL),// ->3868
    1504             : /*  3056*/        OPC_MoveChild0,
    1505             : /*  3057*/        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    1506             : /*  3060*/        OPC_RecordMemRef,
    1507             : /*  3061*/        OPC_RecordNode, // #1 = 'ld' chained node
    1508             : /*  3062*/        OPC_CheckFoldableChainNode,
    1509             : /*  3063*/        OPC_RecordChild1, // #2 = $dst
    1510             : /*  3064*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
    1511             : /*  3066*/        OPC_Scope, 48, /*->3116*/ // 20 children in Scope
    1512             : /*  3068*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1513             : /*  3070*/          OPC_MoveParent,
    1514             : /*  3071*/          OPC_MoveChild1,
    1515             : /*  3072*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1516             : /*  3075*/          OPC_RecordChild0, // #3 = physreg input CL
    1517             : /*  3076*/          OPC_MoveChild1,
    1518             : /*  3077*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1519             : /*  3080*/          OPC_CheckPredicate, 11, // Predicate_immShift8
    1520             : /*  3082*/          OPC_MoveParent,
    1521             : /*  3083*/          OPC_CheckType, MVT::i8,
    1522             : /*  3085*/          OPC_MoveParent,
    1523             : /*  3086*/          OPC_CheckType, MVT::i8,
    1524             : /*  3088*/          OPC_MoveParent,
    1525             : /*  3089*/          OPC_CheckChild2Same, 2,
    1526             : /*  3091*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1527             : /*  3093*/          OPC_CheckPredicate, 1, // Predicate_store
    1528             : /*  3095*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1529             : /*  3098*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1530             : /*  3102*/          OPC_EmitCopyToReg, 3, X86::CL,
    1531             : /*  3105*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL8mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1532             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1533             :                     // Src: (st (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift8>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1534             :                     // Dst: (ROL8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1535             : /*  3116*/        /*Scope*/ 48, /*->3165*/
    1536             : /*  3117*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1537             : /*  3119*/          OPC_MoveParent,
    1538             : /*  3120*/          OPC_MoveChild1,
    1539             : /*  3121*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1540             : /*  3124*/          OPC_RecordChild0, // #3 = physreg input CL
    1541             : /*  3125*/          OPC_MoveChild1,
    1542             : /*  3126*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1543             : /*  3129*/          OPC_CheckPredicate, 12, // Predicate_immShift16
    1544             : /*  3131*/          OPC_MoveParent,
    1545             : /*  3132*/          OPC_CheckType, MVT::i8,
    1546             : /*  3134*/          OPC_MoveParent,
    1547             : /*  3135*/          OPC_CheckType, MVT::i16,
    1548             : /*  3137*/          OPC_MoveParent,
    1549             : /*  3138*/          OPC_CheckChild2Same, 2,
    1550             : /*  3140*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1551             : /*  3142*/          OPC_CheckPredicate, 1, // Predicate_store
    1552             : /*  3144*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1553             : /*  3147*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1554             : /*  3151*/          OPC_EmitCopyToReg, 3, X86::CL,
    1555             : /*  3154*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL16mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1556             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1557             :                     // Src: (st (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift16>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1558             :                     // Dst: (ROL16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1559             : /*  3165*/        /*Scope*/ 48, /*->3214*/
    1560             : /*  3166*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1561             : /*  3168*/          OPC_MoveParent,
    1562             : /*  3169*/          OPC_MoveChild1,
    1563             : /*  3170*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1564             : /*  3173*/          OPC_RecordChild0, // #3 = physreg input CL
    1565             : /*  3174*/          OPC_MoveChild1,
    1566             : /*  3175*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1567             : /*  3178*/          OPC_CheckPredicate, 6, // Predicate_immShift32
    1568             : /*  3180*/          OPC_MoveParent,
    1569             : /*  3181*/          OPC_CheckType, MVT::i8,
    1570             : /*  3183*/          OPC_MoveParent,
    1571             : /*  3184*/          OPC_CheckType, MVT::i32,
    1572             : /*  3186*/          OPC_MoveParent,
    1573             : /*  3187*/          OPC_CheckChild2Same, 2,
    1574             : /*  3189*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1575             : /*  3191*/          OPC_CheckPredicate, 1, // Predicate_store
    1576             : /*  3193*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1577             : /*  3196*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1578             : /*  3200*/          OPC_EmitCopyToReg, 3, X86::CL,
    1579             : /*  3203*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL32mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1580             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1581             :                     // Src: (st (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift32>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1582             :                     // Dst: (ROL32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1583             : /*  3214*/        /*Scope*/ 48, /*->3263*/
    1584             : /*  3215*/          OPC_CheckPredicate, 9, // Predicate_load
    1585             : /*  3217*/          OPC_MoveParent,
    1586             : /*  3218*/          OPC_MoveChild1,
    1587             : /*  3219*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1588             : /*  3222*/          OPC_RecordChild0, // #3 = physreg input CL
    1589             : /*  3223*/          OPC_MoveChild1,
    1590             : /*  3224*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1591             : /*  3227*/          OPC_CheckPredicate, 10, // Predicate_immShift64
    1592             : /*  3229*/          OPC_MoveParent,
    1593             : /*  3230*/          OPC_CheckType, MVT::i8,
    1594             : /*  3232*/          OPC_MoveParent,
    1595             : /*  3233*/          OPC_CheckType, MVT::i64,
    1596             : /*  3235*/          OPC_MoveParent,
    1597             : /*  3236*/          OPC_CheckChild2Same, 2,
    1598             : /*  3238*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1599             : /*  3240*/          OPC_CheckPredicate, 1, // Predicate_store
    1600             : /*  3242*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1601             : /*  3245*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1602             : /*  3249*/          OPC_EmitCopyToReg, 3, X86::CL,
    1603             : /*  3252*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL64mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1604             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1605             :                     // Src: (st (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift64>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1606             :                     // Dst: (ROL64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1607             : /*  3263*/        /*Scope*/ 34, /*->3298*/
    1608             : /*  3264*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1609             : /*  3266*/          OPC_MoveParent,
    1610             : /*  3267*/          OPC_CheckChild1Integer, 1, 
    1611             : /*  3269*/          OPC_CheckChild1Type, MVT::i8,
    1612             : /*  3271*/          OPC_CheckType, MVT::i8,
    1613             : /*  3273*/          OPC_MoveParent,
    1614             : /*  3274*/          OPC_CheckChild2Same, 2,
    1615             : /*  3276*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1616             : /*  3278*/          OPC_CheckPredicate, 1, // Predicate_store
    1617             : /*  3280*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1618             : /*  3283*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1619             : /*  3287*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL8m1), 0|OPFL_Chain|OPFL_MemRefs,
    1620             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1621             :                     // Src: (st (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1622             :                     // Dst: (ROL8m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1623             : /*  3298*/        /*Scope*/ 34, /*->3333*/
    1624             : /*  3299*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1625             : /*  3301*/          OPC_MoveParent,
    1626             : /*  3302*/          OPC_CheckChild1Integer, 1, 
    1627             : /*  3304*/          OPC_CheckChild1Type, MVT::i8,
    1628             : /*  3306*/          OPC_CheckType, MVT::i16,
    1629             : /*  3308*/          OPC_MoveParent,
    1630             : /*  3309*/          OPC_CheckChild2Same, 2,
    1631             : /*  3311*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1632             : /*  3313*/          OPC_CheckPredicate, 1, // Predicate_store
    1633             : /*  3315*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1634             : /*  3318*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1635             : /*  3322*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL16m1), 0|OPFL_Chain|OPFL_MemRefs,
    1636             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1637             :                     // Src: (st (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1638             :                     // Dst: (ROL16m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1639             : /*  3333*/        /*Scope*/ 34, /*->3368*/
    1640             : /*  3334*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1641             : /*  3336*/          OPC_MoveParent,
    1642             : /*  3337*/          OPC_CheckChild1Integer, 1, 
    1643             : /*  3339*/          OPC_CheckChild1Type, MVT::i8,
    1644             : /*  3341*/          OPC_CheckType, MVT::i32,
    1645             : /*  3343*/          OPC_MoveParent,
    1646             : /*  3344*/          OPC_CheckChild2Same, 2,
    1647             : /*  3346*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1648             : /*  3348*/          OPC_CheckPredicate, 1, // Predicate_store
    1649             : /*  3350*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1650             : /*  3353*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1651             : /*  3357*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL32m1), 0|OPFL_Chain|OPFL_MemRefs,
    1652             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1653             :                     // Src: (st (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1654             :                     // Dst: (ROL32m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1655             : /*  3368*/        /*Scope*/ 36, /*->3405*/
    1656             : /*  3369*/          OPC_CheckPredicate, 9, // Predicate_load
    1657             : /*  3371*/          OPC_MoveParent,
    1658             : /*  3372*/          OPC_CheckChild1Integer, 1, 
    1659             : /*  3374*/          OPC_CheckChild1Type, MVT::i8,
    1660             : /*  3376*/          OPC_CheckType, MVT::i64,
    1661             : /*  3378*/          OPC_MoveParent,
    1662             : /*  3379*/          OPC_CheckChild2Same, 2,
    1663             : /*  3381*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1664             : /*  3383*/          OPC_CheckPredicate, 1, // Predicate_store
    1665             : /*  3385*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    1666             : /*  3387*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1667             : /*  3390*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1668             : /*  3394*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL64m1), 0|OPFL_Chain|OPFL_MemRefs,
    1669             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1670             :                     // Src: (st (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1671             :                     // Dst: (ROL64m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1672             : /*  3405*/        /*Scope*/ 34, /*->3440*/
    1673             : /*  3406*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1674             : /*  3408*/          OPC_MoveParent,
    1675             : /*  3409*/          OPC_CheckChild1Integer, 7, 
    1676             : /*  3411*/          OPC_CheckChild1Type, MVT::i8,
    1677             : /*  3413*/          OPC_CheckType, MVT::i8,
    1678             : /*  3415*/          OPC_MoveParent,
    1679             : /*  3416*/          OPC_CheckChild2Same, 2,
    1680             : /*  3418*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1681             : /*  3420*/          OPC_CheckPredicate, 1, // Predicate_store
    1682             : /*  3422*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1683             : /*  3425*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1684             : /*  3429*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR8m1), 0|OPFL_Chain|OPFL_MemRefs,
    1685             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1686             :                     // Src: (st (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 7:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1687             :                     // Dst: (ROR8m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1688             : /*  3440*/        /*Scope*/ 34, /*->3475*/
    1689             : /*  3441*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1690             : /*  3443*/          OPC_MoveParent,
    1691             : /*  3444*/          OPC_CheckChild1Integer, 15, 
    1692             : /*  3446*/          OPC_CheckChild1Type, MVT::i8,
    1693             : /*  3448*/          OPC_CheckType, MVT::i16,
    1694             : /*  3450*/          OPC_MoveParent,
    1695             : /*  3451*/          OPC_CheckChild2Same, 2,
    1696             : /*  3453*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1697             : /*  3455*/          OPC_CheckPredicate, 1, // Predicate_store
    1698             : /*  3457*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1699             : /*  3460*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1700             : /*  3464*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR16m1), 0|OPFL_Chain|OPFL_MemRefs,
    1701             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1702             :                     // Src: (st (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 15:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1703             :                     // Dst: (ROR16m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1704             : /*  3475*/        /*Scope*/ 34, /*->3510*/
    1705             : /*  3476*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1706             : /*  3478*/          OPC_MoveParent,
    1707             : /*  3479*/          OPC_CheckChild1Integer, 31, 
    1708             : /*  3481*/          OPC_CheckChild1Type, MVT::i8,
    1709             : /*  3483*/          OPC_CheckType, MVT::i32,
    1710             : /*  3485*/          OPC_MoveParent,
    1711             : /*  3486*/          OPC_CheckChild2Same, 2,
    1712             : /*  3488*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1713             : /*  3490*/          OPC_CheckPredicate, 1, // Predicate_store
    1714             : /*  3492*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1715             : /*  3495*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1716             : /*  3499*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR32m1), 0|OPFL_Chain|OPFL_MemRefs,
    1717             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1718             :                     // Src: (st (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 31:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1719             :                     // Dst: (ROR32m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1720             : /*  3510*/        /*Scope*/ 36, /*->3547*/
    1721             : /*  3511*/          OPC_CheckPredicate, 9, // Predicate_load
    1722             : /*  3513*/          OPC_MoveParent,
    1723             : /*  3514*/          OPC_CheckChild1Integer, 63, 
    1724             : /*  3516*/          OPC_CheckChild1Type, MVT::i8,
    1725             : /*  3518*/          OPC_CheckType, MVT::i64,
    1726             : /*  3520*/          OPC_MoveParent,
    1727             : /*  3521*/          OPC_CheckChild2Same, 2,
    1728             : /*  3523*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1729             : /*  3525*/          OPC_CheckPredicate, 1, // Predicate_store
    1730             : /*  3527*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    1731             : /*  3529*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    1732             : /*  3532*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1733             : /*  3536*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR64m1), 0|OPFL_Chain|OPFL_MemRefs,
    1734             :                         MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    1735             :                     // Src: (st (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 63:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    1736             :                     // Dst: (ROR64m1:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1737             : /*  3547*/        /*Scope*/ 41, /*->3589*/
    1738             : /*  3548*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1739             : /*  3550*/          OPC_MoveParent,
    1740             : /*  3551*/          OPC_RecordChild1, // #3 = $src1
    1741             : /*  3552*/          OPC_MoveChild1,
    1742             : /*  3553*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1743             : /*  3556*/          OPC_CheckType, MVT::i8,
    1744             : /*  3558*/          OPC_MoveParent,
    1745             : /*  3559*/          OPC_CheckType, MVT::i8,
    1746             : /*  3561*/          OPC_MoveParent,
    1747             : /*  3562*/          OPC_CheckChild2Same, 2,
    1748             : /*  3564*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1749             : /*  3566*/          OPC_CheckPredicate, 1, // Predicate_store
    1750             : /*  3568*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1751             : /*  3571*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1752             : /*  3575*/          OPC_EmitConvertToTarget, 3,
    1753             : /*  3577*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL8mi), 0|OPFL_Chain|OPFL_MemRefs,
    1754             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1755             :                     // Src: (st (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1756             :                     // Dst: (ROL8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src1)
    1757             : /*  3589*/        /*Scope*/ 41, /*->3631*/
    1758             : /*  3590*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1759             : /*  3592*/          OPC_MoveParent,
    1760             : /*  3593*/          OPC_RecordChild1, // #3 = $src1
    1761             : /*  3594*/          OPC_MoveChild1,
    1762             : /*  3595*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1763             : /*  3598*/          OPC_CheckType, MVT::i8,
    1764             : /*  3600*/          OPC_MoveParent,
    1765             : /*  3601*/          OPC_CheckType, MVT::i16,
    1766             : /*  3603*/          OPC_MoveParent,
    1767             : /*  3604*/          OPC_CheckChild2Same, 2,
    1768             : /*  3606*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1769             : /*  3608*/          OPC_CheckPredicate, 1, // Predicate_store
    1770             : /*  3610*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1771             : /*  3613*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1772             : /*  3617*/          OPC_EmitConvertToTarget, 3,
    1773             : /*  3619*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL16mi), 0|OPFL_Chain|OPFL_MemRefs,
    1774             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1775             :                     // Src: (st (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1776             :                     // Dst: (ROL16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src1)
    1777             : /*  3631*/        /*Scope*/ 41, /*->3673*/
    1778             : /*  3632*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1779             : /*  3634*/          OPC_MoveParent,
    1780             : /*  3635*/          OPC_RecordChild1, // #3 = $src1
    1781             : /*  3636*/          OPC_MoveChild1,
    1782             : /*  3637*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1783             : /*  3640*/          OPC_CheckType, MVT::i8,
    1784             : /*  3642*/          OPC_MoveParent,
    1785             : /*  3643*/          OPC_CheckType, MVT::i32,
    1786             : /*  3645*/          OPC_MoveParent,
    1787             : /*  3646*/          OPC_CheckChild2Same, 2,
    1788             : /*  3648*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1789             : /*  3650*/          OPC_CheckPredicate, 1, // Predicate_store
    1790             : /*  3652*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1791             : /*  3655*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1792             : /*  3659*/          OPC_EmitConvertToTarget, 3,
    1793             : /*  3661*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL32mi), 0|OPFL_Chain|OPFL_MemRefs,
    1794             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1795             :                     // Src: (st (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1796             :                     // Dst: (ROL32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src1)
    1797             : /*  3673*/        /*Scope*/ 43, /*->3717*/
    1798             : /*  3674*/          OPC_CheckPredicate, 9, // Predicate_load
    1799             : /*  3676*/          OPC_MoveParent,
    1800             : /*  3677*/          OPC_RecordChild1, // #3 = $src1
    1801             : /*  3678*/          OPC_MoveChild1,
    1802             : /*  3679*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1803             : /*  3682*/          OPC_CheckType, MVT::i8,
    1804             : /*  3684*/          OPC_MoveParent,
    1805             : /*  3685*/          OPC_CheckType, MVT::i64,
    1806             : /*  3687*/          OPC_MoveParent,
    1807             : /*  3688*/          OPC_CheckChild2Same, 2,
    1808             : /*  3690*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1809             : /*  3692*/          OPC_CheckPredicate, 1, // Predicate_store
    1810             : /*  3694*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    1811             : /*  3696*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1812             : /*  3699*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1813             : /*  3703*/          OPC_EmitConvertToTarget, 3,
    1814             : /*  3705*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL64mi), 0|OPFL_Chain|OPFL_MemRefs,
    1815             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    1816             :                     // Src: (st (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src1), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    1817             :                     // Dst: (ROL64mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src1)
    1818             : /*  3717*/        /*Scope*/ 36, /*->3754*/
    1819             : /*  3718*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1820             : /*  3720*/          OPC_MoveParent,
    1821             : /*  3721*/          OPC_RecordChild1, // #3 = physreg input CL
    1822             : /*  3722*/          OPC_CheckChild1Type, MVT::i8,
    1823             : /*  3724*/          OPC_CheckType, MVT::i8,
    1824             : /*  3726*/          OPC_MoveParent,
    1825             : /*  3727*/          OPC_CheckChild2Same, 2,
    1826             : /*  3729*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1827             : /*  3731*/          OPC_CheckPredicate, 1, // Predicate_store
    1828             : /*  3733*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1829             : /*  3736*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1830             : /*  3740*/          OPC_EmitCopyToReg, 3, X86::CL,
    1831             : /*  3743*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL8mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1832             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1833             :                     // Src: (st (rotl:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1834             :                     // Dst: (ROL8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1835             : /*  3754*/        /*Scope*/ 36, /*->3791*/
    1836             : /*  3755*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1837             : /*  3757*/          OPC_MoveParent,
    1838             : /*  3758*/          OPC_RecordChild1, // #3 = physreg input CL
    1839             : /*  3759*/          OPC_CheckChild1Type, MVT::i8,
    1840             : /*  3761*/          OPC_CheckType, MVT::i16,
    1841             : /*  3763*/          OPC_MoveParent,
    1842             : /*  3764*/          OPC_CheckChild2Same, 2,
    1843             : /*  3766*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1844             : /*  3768*/          OPC_CheckPredicate, 1, // Predicate_store
    1845             : /*  3770*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1846             : /*  3773*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1847             : /*  3777*/          OPC_EmitCopyToReg, 3, X86::CL,
    1848             : /*  3780*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL16mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1849             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1850             :                     // Src: (st (rotl:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1851             :                     // Dst: (ROL16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1852             : /*  3791*/        /*Scope*/ 36, /*->3828*/
    1853             : /*  3792*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1854             : /*  3794*/          OPC_MoveParent,
    1855             : /*  3795*/          OPC_RecordChild1, // #3 = physreg input CL
    1856             : /*  3796*/          OPC_CheckChild1Type, MVT::i8,
    1857             : /*  3798*/          OPC_CheckType, MVT::i32,
    1858             : /*  3800*/          OPC_MoveParent,
    1859             : /*  3801*/          OPC_CheckChild2Same, 2,
    1860             : /*  3803*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1861             : /*  3805*/          OPC_CheckPredicate, 1, // Predicate_store
    1862             : /*  3807*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1863             : /*  3810*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1864             : /*  3814*/          OPC_EmitCopyToReg, 3, X86::CL,
    1865             : /*  3817*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL32mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1866             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1867             :                     // Src: (st (rotl:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1868             :                     // Dst: (ROL32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1869             : /*  3828*/        /*Scope*/ 38, /*->3867*/
    1870             : /*  3829*/          OPC_CheckPredicate, 9, // Predicate_load
    1871             : /*  3831*/          OPC_MoveParent,
    1872             : /*  3832*/          OPC_RecordChild1, // #3 = physreg input CL
    1873             : /*  3833*/          OPC_CheckChild1Type, MVT::i8,
    1874             : /*  3835*/          OPC_CheckType, MVT::i64,
    1875             : /*  3837*/          OPC_MoveParent,
    1876             : /*  3838*/          OPC_CheckChild2Same, 2,
    1877             : /*  3840*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1878             : /*  3842*/          OPC_CheckPredicate, 1, // Predicate_store
    1879             : /*  3844*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    1880             : /*  3846*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1881             : /*  3849*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1882             : /*  3853*/          OPC_EmitCopyToReg, 3, X86::CL,
    1883             : /*  3856*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROL64mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1884             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1885             :                     // Src: (st (rotl:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    1886             :                     // Dst: (ROL64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1887             : /*  3867*/        0, /*End of Scope*/
    1888             : /*  3868*/      /*SwitchOpcode*/ 16|128,4/*528*/, TARGET_VAL(ISD::ROTR),// ->4400
    1889             : /*  3872*/        OPC_MoveChild0,
    1890             : /*  3873*/        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    1891             : /*  3876*/        OPC_RecordMemRef,
    1892             : /*  3877*/        OPC_RecordNode, // #1 = 'ld' chained node
    1893             : /*  3878*/        OPC_CheckFoldableChainNode,
    1894             : /*  3879*/        OPC_RecordChild1, // #2 = $dst
    1895             : /*  3880*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
    1896             : /*  3882*/        OPC_Scope, 48, /*->3932*/ // 12 children in Scope
    1897             : /*  3884*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1898             : /*  3886*/          OPC_MoveParent,
    1899             : /*  3887*/          OPC_MoveChild1,
    1900             : /*  3888*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1901             : /*  3891*/          OPC_RecordChild0, // #3 = physreg input CL
    1902             : /*  3892*/          OPC_MoveChild1,
    1903             : /*  3893*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1904             : /*  3896*/          OPC_CheckPredicate, 11, // Predicate_immShift8
    1905             : /*  3898*/          OPC_MoveParent,
    1906             : /*  3899*/          OPC_CheckType, MVT::i8,
    1907             : /*  3901*/          OPC_MoveParent,
    1908             : /*  3902*/          OPC_CheckType, MVT::i8,
    1909             : /*  3904*/          OPC_MoveParent,
    1910             : /*  3905*/          OPC_CheckChild2Same, 2,
    1911             : /*  3907*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1912             : /*  3909*/          OPC_CheckPredicate, 1, // Predicate_store
    1913             : /*  3911*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1914             : /*  3914*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1915             : /*  3918*/          OPC_EmitCopyToReg, 3, X86::CL,
    1916             : /*  3921*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR8mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1917             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1918             :                     // Src: (st (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift8>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1919             :                     // Dst: (ROR8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1920             : /*  3932*/        /*Scope*/ 48, /*->3981*/
    1921             : /*  3933*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    1922             : /*  3935*/          OPC_MoveParent,
    1923             : /*  3936*/          OPC_MoveChild1,
    1924             : /*  3937*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1925             : /*  3940*/          OPC_RecordChild0, // #3 = physreg input CL
    1926             : /*  3941*/          OPC_MoveChild1,
    1927             : /*  3942*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1928             : /*  3945*/          OPC_CheckPredicate, 12, // Predicate_immShift16
    1929             : /*  3947*/          OPC_MoveParent,
    1930             : /*  3948*/          OPC_CheckType, MVT::i8,
    1931             : /*  3950*/          OPC_MoveParent,
    1932             : /*  3951*/          OPC_CheckType, MVT::i16,
    1933             : /*  3953*/          OPC_MoveParent,
    1934             : /*  3954*/          OPC_CheckChild2Same, 2,
    1935             : /*  3956*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1936             : /*  3958*/          OPC_CheckPredicate, 1, // Predicate_store
    1937             : /*  3960*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1938             : /*  3963*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1939             : /*  3967*/          OPC_EmitCopyToReg, 3, X86::CL,
    1940             : /*  3970*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR16mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1941             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1942             :                     // Src: (st (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift16>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1943             :                     // Dst: (ROR16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1944             : /*  3981*/        /*Scope*/ 48, /*->4030*/
    1945             : /*  3982*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    1946             : /*  3984*/          OPC_MoveParent,
    1947             : /*  3985*/          OPC_MoveChild1,
    1948             : /*  3986*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1949             : /*  3989*/          OPC_RecordChild0, // #3 = physreg input CL
    1950             : /*  3990*/          OPC_MoveChild1,
    1951             : /*  3991*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1952             : /*  3994*/          OPC_CheckPredicate, 6, // Predicate_immShift32
    1953             : /*  3996*/          OPC_MoveParent,
    1954             : /*  3997*/          OPC_CheckType, MVT::i8,
    1955             : /*  3999*/          OPC_MoveParent,
    1956             : /*  4000*/          OPC_CheckType, MVT::i32,
    1957             : /*  4002*/          OPC_MoveParent,
    1958             : /*  4003*/          OPC_CheckChild2Same, 2,
    1959             : /*  4005*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1960             : /*  4007*/          OPC_CheckPredicate, 1, // Predicate_store
    1961             : /*  4009*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1962             : /*  4012*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1963             : /*  4016*/          OPC_EmitCopyToReg, 3, X86::CL,
    1964             : /*  4019*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR32mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1965             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1966             :                     // Src: (st (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift32>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1967             :                     // Dst: (ROR32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1968             : /*  4030*/        /*Scope*/ 48, /*->4079*/
    1969             : /*  4031*/          OPC_CheckPredicate, 9, // Predicate_load
    1970             : /*  4033*/          OPC_MoveParent,
    1971             : /*  4034*/          OPC_MoveChild1,
    1972             : /*  4035*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    1973             : /*  4038*/          OPC_RecordChild0, // #3 = physreg input CL
    1974             : /*  4039*/          OPC_MoveChild1,
    1975             : /*  4040*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1976             : /*  4043*/          OPC_CheckPredicate, 10, // Predicate_immShift64
    1977             : /*  4045*/          OPC_MoveParent,
    1978             : /*  4046*/          OPC_CheckType, MVT::i8,
    1979             : /*  4048*/          OPC_MoveParent,
    1980             : /*  4049*/          OPC_CheckType, MVT::i64,
    1981             : /*  4051*/          OPC_MoveParent,
    1982             : /*  4052*/          OPC_CheckChild2Same, 2,
    1983             : /*  4054*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    1984             : /*  4056*/          OPC_CheckPredicate, 1, // Predicate_store
    1985             : /*  4058*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    1986             : /*  4061*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    1987             : /*  4065*/          OPC_EmitCopyToReg, 3, X86::CL,
    1988             : /*  4068*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR64mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    1989             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    1990             :                     // Src: (st (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (and:{ *:[i8] } CL:{ *:[i8] }, (imm:{ *:[i8] })<<P:Predicate_immShift64>>)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 54
    1991             :                     // Dst: (ROR64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    1992             : /*  4079*/        /*Scope*/ 41, /*->4121*/
    1993             : /*  4080*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    1994             : /*  4082*/          OPC_MoveParent,
    1995             : /*  4083*/          OPC_RecordChild1, // #3 = $src
    1996             : /*  4084*/          OPC_MoveChild1,
    1997             : /*  4085*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    1998             : /*  4088*/          OPC_CheckType, MVT::i8,
    1999             : /*  4090*/          OPC_MoveParent,
    2000             : /*  4091*/          OPC_CheckType, MVT::i8,
    2001             : /*  4093*/          OPC_MoveParent,
    2002             : /*  4094*/          OPC_CheckChild2Same, 2,
    2003             : /*  4096*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2004             : /*  4098*/          OPC_CheckPredicate, 1, // Predicate_store
    2005             : /*  4100*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2006             : /*  4103*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    2007             : /*  4107*/          OPC_EmitConvertToTarget, 3,
    2008             : /*  4109*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR8mi), 0|OPFL_Chain|OPFL_MemRefs,
    2009             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2010             :                     // Src: (st (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2011             :                     // Dst: (ROR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    2012             : /*  4121*/        /*Scope*/ 41, /*->4163*/
    2013             : /*  4122*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    2014             : /*  4124*/          OPC_MoveParent,
    2015             : /*  4125*/          OPC_RecordChild1, // #3 = $src
    2016             : /*  4126*/          OPC_MoveChild1,
    2017             : /*  4127*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2018             : /*  4130*/          OPC_CheckType, MVT::i8,
    2019             : /*  4132*/          OPC_MoveParent,
    2020             : /*  4133*/          OPC_CheckType, MVT::i16,
    2021             : /*  4135*/          OPC_MoveParent,
    2022             : /*  4136*/          OPC_CheckChild2Same, 2,
    2023             : /*  4138*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2024             : /*  4140*/          OPC_CheckPredicate, 1, // Predicate_store
    2025             : /*  4142*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2026             : /*  4145*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    2027             : /*  4149*/          OPC_EmitConvertToTarget, 3,
    2028             : /*  4151*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR16mi), 0|OPFL_Chain|OPFL_MemRefs,
    2029             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2030             :                     // Src: (st (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2031             :                     // Dst: (ROR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    2032             : /*  4163*/        /*Scope*/ 41, /*->4205*/
    2033             : /*  4164*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    2034             : /*  4166*/          OPC_MoveParent,
    2035             : /*  4167*/          OPC_RecordChild1, // #3 = $src
    2036             : /*  4168*/          OPC_MoveChild1,
    2037             : /*  4169*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2038             : /*  4172*/          OPC_CheckType, MVT::i8,
    2039             : /*  4174*/          OPC_MoveParent,
    2040             : /*  4175*/          OPC_CheckType, MVT::i32,
    2041             : /*  4177*/          OPC_MoveParent,
    2042             : /*  4178*/          OPC_CheckChild2Same, 2,
    2043             : /*  4180*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2044             : /*  4182*/          OPC_CheckPredicate, 1, // Predicate_store
    2045             : /*  4184*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2046             : /*  4187*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    2047             : /*  4191*/          OPC_EmitConvertToTarget, 3,
    2048             : /*  4193*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR32mi), 0|OPFL_Chain|OPFL_MemRefs,
    2049             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2050             :                     // Src: (st (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2051             :                     // Dst: (ROR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    2052             : /*  4205*/        /*Scope*/ 43, /*->4249*/
    2053             : /*  4206*/          OPC_CheckPredicate, 9, // Predicate_load
    2054             : /*  4208*/          OPC_MoveParent,
    2055             : /*  4209*/          OPC_RecordChild1, // #3 = $src
    2056             : /*  4210*/          OPC_MoveChild1,
    2057             : /*  4211*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2058             : /*  4214*/          OPC_CheckType, MVT::i8,
    2059             : /*  4216*/          OPC_MoveParent,
    2060             : /*  4217*/          OPC_CheckType, MVT::i64,
    2061             : /*  4219*/          OPC_MoveParent,
    2062             : /*  4220*/          OPC_CheckChild2Same, 2,
    2063             : /*  4222*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2064             : /*  4224*/          OPC_CheckPredicate, 1, // Predicate_store
    2065             : /*  4226*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    2066             : /*  4228*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2067             : /*  4231*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    2068             : /*  4235*/          OPC_EmitConvertToTarget, 3,
    2069             : /*  4237*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR64mi), 0|OPFL_Chain|OPFL_MemRefs,
    2070             :                         MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2071             :                     // Src: (st (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i8] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2072             :                     // Dst: (ROR64mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i8] }):$src)
    2073             : /*  4249*/        /*Scope*/ 36, /*->4286*/
    2074             : /*  4250*/          OPC_CheckPredicate, 5, // Predicate_loadi8
    2075             : /*  4252*/          OPC_MoveParent,
    2076             : /*  4253*/          OPC_RecordChild1, // #3 = physreg input CL
    2077             : /*  4254*/          OPC_CheckChild1Type, MVT::i8,
    2078             : /*  4256*/          OPC_CheckType, MVT::i8,
    2079             : /*  4258*/          OPC_MoveParent,
    2080             : /*  4259*/          OPC_CheckChild2Same, 2,
    2081             : /*  4261*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2082             : /*  4263*/          OPC_CheckPredicate, 1, // Predicate_store
    2083             : /*  4265*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2084             : /*  4268*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    2085             : /*  4272*/          OPC_EmitCopyToReg, 3, X86::CL,
    2086             : /*  4275*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR8mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    2087             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    2088             :                     // Src: (st (rotr:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2089             :                     // Dst: (ROR8mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2090             : /*  4286*/        /*Scope*/ 36, /*->4323*/
    2091             : /*  4287*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    2092             : /*  4289*/          OPC_MoveParent,
    2093             : /*  4290*/          OPC_RecordChild1, // #3 = physreg input CL
    2094             : /*  4291*/          OPC_CheckChild1Type, MVT::i8,
    2095             : /*  4293*/          OPC_CheckType, MVT::i16,
    2096             : /*  4295*/          OPC_MoveParent,
    2097             : /*  4296*/          OPC_CheckChild2Same, 2,
    2098             : /*  4298*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2099             : /*  4300*/          OPC_CheckPredicate, 1, // Predicate_store
    2100             : /*  4302*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2101             : /*  4305*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    2102             : /*  4309*/          OPC_EmitCopyToReg, 3, X86::CL,
    2103             : /*  4312*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR16mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    2104             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    2105             :                     // Src: (st (rotr:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2106             :                     // Dst: (ROR16mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2107             : /*  4323*/        /*Scope*/ 36, /*->4360*/
    2108             : /*  4324*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    2109             : /*  4326*/          OPC_MoveParent,
    2110             : /*  4327*/          OPC_RecordChild1, // #3 = physreg input CL
    2111             : /*  4328*/          OPC_CheckChild1Type, MVT::i8,
    2112             : /*  4330*/          OPC_CheckType, MVT::i32,
    2113             : /*  4332*/          OPC_MoveParent,
    2114             : /*  4333*/          OPC_CheckChild2Same, 2,
    2115             : /*  4335*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2116             : /*  4337*/          OPC_CheckPredicate, 1, // Predicate_store
    2117             : /*  4339*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2118             : /*  4342*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    2119             : /*  4346*/          OPC_EmitCopyToReg, 3, X86::CL,
    2120             : /*  4349*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR32mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    2121             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    2122             :                     // Src: (st (rotr:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2123             :                     // Dst: (ROR32mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2124             : /*  4360*/        /*Scope*/ 38, /*->4399*/
    2125             : /*  4361*/          OPC_CheckPredicate, 9, // Predicate_load
    2126             : /*  4363*/          OPC_MoveParent,
    2127             : /*  4364*/          OPC_RecordChild1, // #3 = physreg input CL
    2128             : /*  4365*/          OPC_CheckChild1Type, MVT::i8,
    2129             : /*  4367*/          OPC_CheckType, MVT::i64,
    2130             : /*  4369*/          OPC_MoveParent,
    2131             : /*  4370*/          OPC_CheckChild2Same, 2,
    2132             : /*  4372*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2133             : /*  4374*/          OPC_CheckPredicate, 1, // Predicate_store
    2134             : /*  4376*/          OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    2135             : /*  4378*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2136             : /*  4381*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    2137             : /*  4385*/          OPC_EmitCopyToReg, 3, X86::CL,
    2138             : /*  4388*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ROR64mCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    2139             :                         MVT::i32, 5/*#Ops*/, 4, 5, 6, 7, 8, 
    2140             :                     // Src: (st (rotr:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2141             :                     // Dst: (ROR64mCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2142             : /*  4399*/        0, /*End of Scope*/
    2143             : /*  4400*/      /*SwitchOpcode*/ 31|128,4/*543*/, TARGET_VAL(ISD::SUB),// ->4947
    2144             : /*  4404*/        OPC_Scope, 12|128,1/*140*/, /*->4547*/ // 2 children in Scope
    2145             : /*  4407*/          OPC_CheckChild0Integer, 0, 
    2146             : /*  4409*/          OPC_MoveChild1,
    2147             : /*  4410*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    2148             : /*  4413*/          OPC_RecordMemRef,
    2149             : /*  4414*/          OPC_RecordNode, // #1 = 'ld' chained node
    2150             : /*  4415*/          OPC_CheckFoldableChainNode,
    2151             : /*  4416*/          OPC_RecordChild1, // #2 = $dst
    2152             : /*  4417*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    2153             : /*  4419*/          OPC_Scope, 30, /*->4451*/ // 4 children in Scope
    2154             : /*  4421*/            OPC_CheckPredicate, 5, // Predicate_loadi8
    2155             : /*  4423*/            OPC_MoveParent,
    2156             : /*  4424*/            OPC_CheckType, MVT::i8,
    2157             : /*  4426*/            OPC_MoveParent,
    2158             : /*  4427*/            OPC_CheckChild2Same, 2,
    2159             : /*  4429*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2160             : /*  4431*/            OPC_CheckPredicate, 1, // Predicate_store
    2161             : /*  4433*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2162             : /*  4436*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2163             : /*  4440*/            OPC_MorphNodeTo1, TARGET_VAL(X86::NEG8m), 0|OPFL_Chain|OPFL_MemRefs,
    2164             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2165             :                       // Src: (st (sub:{ *:[i8] } 0:{ *:[i8] }, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2166             :                       // Dst: (NEG8m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2167             : /*  4451*/          /*Scope*/ 30, /*->4482*/
    2168             : /*  4452*/            OPC_CheckPredicate, 7, // Predicate_loadi16
    2169             : /*  4454*/            OPC_MoveParent,
    2170             : /*  4455*/            OPC_CheckType, MVT::i16,
    2171             : /*  4457*/            OPC_MoveParent,
    2172             : /*  4458*/            OPC_CheckChild2Same, 2,
    2173             : /*  4460*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2174             : /*  4462*/            OPC_CheckPredicate, 1, // Predicate_store
    2175             : /*  4464*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2176             : /*  4467*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2177             : /*  4471*/            OPC_MorphNodeTo1, TARGET_VAL(X86::NEG16m), 0|OPFL_Chain|OPFL_MemRefs,
    2178             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2179             :                       // Src: (st (sub:{ *:[i16] } 0:{ *:[i16] }, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2180             :                       // Dst: (NEG16m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2181             : /*  4482*/          /*Scope*/ 30, /*->4513*/
    2182             : /*  4483*/            OPC_CheckPredicate, 8, // Predicate_loadi32
    2183             : /*  4485*/            OPC_MoveParent,
    2184             : /*  4486*/            OPC_CheckType, MVT::i32,
    2185             : /*  4488*/            OPC_MoveParent,
    2186             : /*  4489*/            OPC_CheckChild2Same, 2,
    2187             : /*  4491*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2188             : /*  4493*/            OPC_CheckPredicate, 1, // Predicate_store
    2189             : /*  4495*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2190             : /*  4498*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2191             : /*  4502*/            OPC_MorphNodeTo1, TARGET_VAL(X86::NEG32m), 0|OPFL_Chain|OPFL_MemRefs,
    2192             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2193             :                       // Src: (st (sub:{ *:[i32] } 0:{ *:[i32] }, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2194             :                       // Dst: (NEG32m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2195             : /*  4513*/          /*Scope*/ 32, /*->4546*/
    2196             : /*  4514*/            OPC_CheckPredicate, 9, // Predicate_load
    2197             : /*  4516*/            OPC_MoveParent,
    2198             : /*  4517*/            OPC_CheckType, MVT::i64,
    2199             : /*  4519*/            OPC_MoveParent,
    2200             : /*  4520*/            OPC_CheckChild2Same, 2,
    2201             : /*  4522*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2202             : /*  4524*/            OPC_CheckPredicate, 1, // Predicate_store
    2203             : /*  4526*/            OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    2204             : /*  4528*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2205             : /*  4531*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2206             : /*  4535*/            OPC_MorphNodeTo1, TARGET_VAL(X86::NEG64m), 0|OPFL_Chain|OPFL_MemRefs,
    2207             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2208             :                       // Src: (st (sub:{ *:[i64] } 0:{ *:[i64] }, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2209             :                       // Dst: (NEG64m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2210             : /*  4546*/          0, /*End of Scope*/
    2211             : /*  4547*/        /*Scope*/ 13|128,3/*397*/, /*->4946*/
    2212             : /*  4549*/          OPC_MoveChild0,
    2213             : /*  4550*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    2214             : /*  4553*/          OPC_RecordMemRef,
    2215             : /*  4554*/          OPC_RecordNode, // #1 = 'ld' chained node
    2216             : /*  4555*/          OPC_CheckFoldableChainNode,
    2217             : /*  4556*/          OPC_RecordChild1, // #2 = $dst
    2218             : /*  4557*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    2219             : /*  4559*/          OPC_CheckPredicate, 9, // Predicate_load
    2220             : /*  4561*/          OPC_MoveParent,
    2221             : /*  4562*/          OPC_RecordChild1, // #3 = $src
    2222             : /*  4563*/          OPC_Scope, 7|128,2/*263*/, /*->4829*/ // 5 children in Scope
    2223             : /*  4566*/            OPC_MoveChild1,
    2224             : /*  4567*/            OPC_Scope, 25|128,1/*153*/, /*->4723*/ // 4 children in Scope
    2225             : /*  4570*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2226             : /*  4573*/              OPC_Scope, 35, /*->4610*/ // 4 children in Scope
    2227             : /*  4575*/                OPC_CheckPredicate, 13, // Predicate_i16immSExt8
    2228             : /*  4577*/                OPC_CheckPredicate, 14, // Predicate_i16immSExt8_su
    2229             : /*  4579*/                OPC_MoveParent,
    2230             : /*  4580*/                OPC_CheckType, MVT::i16,
    2231             : /*  4582*/                OPC_MoveParent,
    2232             : /*  4583*/                OPC_CheckChild2Same, 2,
    2233             : /*  4585*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2234             : /*  4587*/                OPC_CheckPredicate, 1, // Predicate_store
    2235             : /*  4589*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2236             : /*  4592*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    2237             : /*  4596*/                OPC_EmitConvertToTarget, 3,
    2238             : /*  4598*/                OPC_MorphNodeTo1, TARGET_VAL(X86::SUB16mi8), 0|OPFL_Chain|OPFL_MemRefs,
    2239             :                               MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2240             :                           // Src: (st (sub:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_i16immSExt8>><<P:Predicate_i16immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    2241             :                           // Dst: (SUB16mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
    2242             : /*  4610*/              /*Scope*/ 35, /*->4646*/
    2243             : /*  4611*/                OPC_CheckPredicate, 13, // Predicate_i32immSExt8
    2244             : /*  4613*/                OPC_CheckPredicate, 14, // Predicate_i32immSExt8_su
    2245             : /*  4615*/                OPC_MoveParent,
    2246             : /*  4616*/                OPC_CheckType, MVT::i32,
    2247             : /*  4618*/                OPC_MoveParent,
    2248             : /*  4619*/                OPC_CheckChild2Same, 2,
    2249             : /*  4621*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2250             : /*  4623*/                OPC_CheckPredicate, 1, // Predicate_store
    2251             : /*  4625*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2252             : /*  4628*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    2253             : /*  4632*/                OPC_EmitConvertToTarget, 3,
    2254             : /*  4634*/                OPC_MorphNodeTo1, TARGET_VAL(X86::SUB32mi8), 0|OPFL_Chain|OPFL_MemRefs,
    2255             :                               MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2256             :                           // Src: (st (sub:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>><<P:Predicate_i32immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    2257             :                           // Dst: (SUB32mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
    2258             : /*  4646*/              /*Scope*/ 37, /*->4684*/
    2259             : /*  4647*/                OPC_CheckPredicate, 13, // Predicate_i64immSExt8
    2260             : /*  4649*/                OPC_CheckPredicate, 14, // Predicate_i64immSExt8_su
    2261             : /*  4651*/                OPC_MoveParent,
    2262             : /*  4652*/                OPC_CheckType, MVT::i64,
    2263             : /*  4654*/                OPC_MoveParent,
    2264             : /*  4655*/                OPC_CheckChild2Same, 2,
    2265             : /*  4657*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2266             : /*  4659*/                OPC_CheckPredicate, 1, // Predicate_store
    2267             : /*  4661*/                OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    2268             : /*  4663*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2269             : /*  4666*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    2270             : /*  4670*/                OPC_EmitConvertToTarget, 3,
    2271             : /*  4672*/                OPC_MorphNodeTo1, TARGET_VAL(X86::SUB64mi8), 0|OPFL_Chain|OPFL_MemRefs,
    2272             :                               MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2273             :                           // Src: (st (sub:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>><<P:Predicate_i64immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    2274             :                           // Dst: (SUB64mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    2275             : /*  4684*/              /*Scope*/ 37, /*->4722*/
    2276             : /*  4685*/                OPC_CheckPredicate, 15, // Predicate_i64immSExt32
    2277             : /*  4687*/                OPC_CheckPredicate, 14, // Predicate_i64immSExt32_su
    2278             : /*  4689*/                OPC_MoveParent,
    2279             : /*  4690*/                OPC_CheckType, MVT::i64,
    2280             : /*  4692*/                OPC_MoveParent,
    2281             : /*  4693*/                OPC_CheckChild2Same, 2,
    2282             : /*  4695*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2283             : /*  4697*/                OPC_CheckPredicate, 1, // Predicate_store
    2284             : /*  4699*/                OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    2285             : /*  4701*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2286             : /*  4704*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    2287             : /*  4708*/                OPC_EmitConvertToTarget, 3,
    2288             : /*  4710*/                OPC_MorphNodeTo1, TARGET_VAL(X86::SUB64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    2289             :                               MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2290             :                           // Src: (st (sub:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>><<P:Predicate_i64immSExt32_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    2291             :                           // Dst: (SUB64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    2292             : /*  4722*/              0, /*End of Scope*/
    2293             : /*  4723*/            /*Scope*/ 34, /*->4758*/
    2294             : /*  4724*/              OPC_CheckPredicate, 16, // Predicate_imm8_su
    2295             : /*  4726*/              OPC_MoveParent,
    2296             : /*  4727*/              OPC_CheckType, MVT::i8,
    2297             : /*  4729*/              OPC_MoveParent,
    2298             : /*  4730*/              OPC_CheckChild2Same, 2,
    2299             : /*  4732*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2300             : /*  4734*/              OPC_CheckPredicate, 1, // Predicate_store
    2301             : /*  4736*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2302             : /*  4739*/              OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    2303             : /*  4742*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    2304             : /*  4746*/              OPC_MorphNodeTo1, TARGET_VAL(X86::SUB8mi), 0|OPFL_Chain|OPFL_MemRefs,
    2305             :                             MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2306             :                         // Src: (st (sub:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2307             :                         // Dst: (SUB8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    2308             : /*  4758*/            /*Scope*/ 34, /*->4793*/
    2309             : /*  4759*/              OPC_CheckPredicate, 16, // Predicate_imm16_su
    2310             : /*  4761*/              OPC_MoveParent,
    2311             : /*  4762*/              OPC_CheckType, MVT::i16,
    2312             : /*  4764*/              OPC_MoveParent,
    2313             : /*  4765*/              OPC_CheckChild2Same, 2,
    2314             : /*  4767*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2315             : /*  4769*/              OPC_CheckPredicate, 1, // Predicate_store
    2316             : /*  4771*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2317             : /*  4774*/              OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    2318             : /*  4777*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    2319             : /*  4781*/              OPC_MorphNodeTo1, TARGET_VAL(X86::SUB16mi), 0|OPFL_Chain|OPFL_MemRefs,
    2320             :                             MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2321             :                         // Src: (st (sub:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2322             :                         // Dst: (SUB16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    2323             : /*  4793*/            /*Scope*/ 34, /*->4828*/
    2324             : /*  4794*/              OPC_CheckPredicate, 16, // Predicate_imm32_su
    2325             : /*  4796*/              OPC_MoveParent,
    2326             : /*  4797*/              OPC_CheckType, MVT::i32,
    2327             : /*  4799*/              OPC_MoveParent,
    2328             : /*  4800*/              OPC_CheckChild2Same, 2,
    2329             : /*  4802*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2330             : /*  4804*/              OPC_CheckPredicate, 1, // Predicate_store
    2331             : /*  4806*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2332             : /*  4809*/              OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    2333             : /*  4812*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    2334             : /*  4816*/              OPC_MorphNodeTo1, TARGET_VAL(X86::SUB32mi), 0|OPFL_Chain|OPFL_MemRefs,
    2335             :                             MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2336             :                         // Src: (st (sub:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2337             :                         // Dst: (SUB32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    2338             : /*  4828*/            0, /*End of Scope*/
    2339             : /*  4829*/          /*Scope*/ 28, /*->4858*/
    2340             : /*  4830*/            OPC_CheckType, MVT::i8,
    2341             : /*  4832*/            OPC_MoveParent,
    2342             : /*  4833*/            OPC_CheckChild2Same, 2,
    2343             : /*  4835*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2344             : /*  4837*/            OPC_CheckPredicate, 1, // Predicate_store
    2345             : /*  4839*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2346             : /*  4842*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2347             : /*  4846*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SUB8mr), 0|OPFL_Chain|OPFL_MemRefs,
    2348             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    2349             :                       // Src: (st (sub:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2350             :                       // Dst: (SUB8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    2351             : /*  4858*/          /*Scope*/ 28, /*->4887*/
    2352             : /*  4859*/            OPC_CheckType, MVT::i16,
    2353             : /*  4861*/            OPC_MoveParent,
    2354             : /*  4862*/            OPC_CheckChild2Same, 2,
    2355             : /*  4864*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2356             : /*  4866*/            OPC_CheckPredicate, 1, // Predicate_store
    2357             : /*  4868*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2358             : /*  4871*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2359             : /*  4875*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SUB16mr), 0|OPFL_Chain|OPFL_MemRefs,
    2360             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    2361             :                       // Src: (st (sub:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2362             :                       // Dst: (SUB16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    2363             : /*  4887*/          /*Scope*/ 28, /*->4916*/
    2364             : /*  4888*/            OPC_CheckType, MVT::i32,
    2365             : /*  4890*/            OPC_MoveParent,
    2366             : /*  4891*/            OPC_CheckChild2Same, 2,
    2367             : /*  4893*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2368             : /*  4895*/            OPC_CheckPredicate, 1, // Predicate_store
    2369             : /*  4897*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2370             : /*  4900*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2371             : /*  4904*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SUB32mr), 0|OPFL_Chain|OPFL_MemRefs,
    2372             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    2373             :                       // Src: (st (sub:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2374             :                       // Dst: (SUB32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    2375             : /*  4916*/          /*Scope*/ 28, /*->4945*/
    2376             : /*  4917*/            OPC_CheckType, MVT::i64,
    2377             : /*  4919*/            OPC_MoveParent,
    2378             : /*  4920*/            OPC_CheckChild2Same, 2,
    2379             : /*  4922*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2380             : /*  4924*/            OPC_CheckPredicate, 1, // Predicate_store
    2381             : /*  4926*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2382             : /*  4929*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2383             : /*  4933*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SUB64mr), 0|OPFL_Chain|OPFL_MemRefs,
    2384             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    2385             :                       // Src: (st (sub:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2386             :                       // Dst: (SUB64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    2387             : /*  4945*/          0, /*End of Scope*/
    2388             : /*  4946*/        0, /*End of Scope*/
    2389             : /*  4947*/      /*SwitchOpcode*/ 94|128,6/*862*/, TARGET_VAL(ISD::XOR),// ->5813
    2390             : /*  4951*/        OPC_Scope, 64|128,3/*448*/, /*->5402*/ // 4 children in Scope
    2391             : /*  4954*/          OPC_MoveChild0,
    2392             : /*  4955*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    2393             : /*  4958*/          OPC_RecordMemRef,
    2394             : /*  4959*/          OPC_RecordNode, // #1 = 'ld' chained node
    2395             : /*  4960*/          OPC_CheckFoldableChainNode,
    2396             : /*  4961*/          OPC_RecordChild1, // #2 = $dst
    2397             : /*  4962*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    2398             : /*  4964*/          OPC_Scope, 40, /*->5006*/ // 4 children in Scope
    2399             : /*  4966*/            OPC_CheckPredicate, 5, // Predicate_loadi8
    2400             : /*  4968*/            OPC_MoveParent,
    2401             : /*  4969*/            OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    2402             : /*  4980*/            OPC_CheckType, MVT::i8,
    2403             : /*  4982*/            OPC_MoveParent,
    2404             : /*  4983*/            OPC_CheckChild2Same, 2,
    2405             : /*  4985*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2406             : /*  4987*/            OPC_CheckPredicate, 1, // Predicate_store
    2407             : /*  4989*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2408             : /*  4992*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2409             : /*  4996*/            OPC_MorphNodeTo0, TARGET_VAL(X86::NOT8m), 0|OPFL_Chain|OPFL_MemRefs,
    2410             :                           5/*#Ops*/, 3, 4, 5, 6, 7, 
    2411             :                       // Src: (st (xor:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, -1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2412             :                       // Dst: (NOT8m addr:{ *:[iPTR] }:$dst)
    2413             : /*  5006*/          /*Scope*/ 40, /*->5047*/
    2414             : /*  5007*/            OPC_CheckPredicate, 7, // Predicate_loadi16
    2415             : /*  5009*/            OPC_MoveParent,
    2416             : /*  5010*/            OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    2417             : /*  5021*/            OPC_CheckType, MVT::i16,
    2418             : /*  5023*/            OPC_MoveParent,
    2419             : /*  5024*/            OPC_CheckChild2Same, 2,
    2420             : /*  5026*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2421             : /*  5028*/            OPC_CheckPredicate, 1, // Predicate_store
    2422             : /*  5030*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2423             : /*  5033*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2424             : /*  5037*/            OPC_MorphNodeTo0, TARGET_VAL(X86::NOT16m), 0|OPFL_Chain|OPFL_MemRefs,
    2425             :                           5/*#Ops*/, 3, 4, 5, 6, 7, 
    2426             :                       // Src: (st (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, -1:{ *:[i16] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2427             :                       // Dst: (NOT16m addr:{ *:[iPTR] }:$dst)
    2428             : /*  5047*/          /*Scope*/ 40, /*->5088*/
    2429             : /*  5048*/            OPC_CheckPredicate, 8, // Predicate_loadi32
    2430             : /*  5050*/            OPC_MoveParent,
    2431             : /*  5051*/            OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    2432             : /*  5062*/            OPC_CheckType, MVT::i32,
    2433             : /*  5064*/            OPC_MoveParent,
    2434             : /*  5065*/            OPC_CheckChild2Same, 2,
    2435             : /*  5067*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2436             : /*  5069*/            OPC_CheckPredicate, 1, // Predicate_store
    2437             : /*  5071*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2438             : /*  5074*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2439             : /*  5078*/            OPC_MorphNodeTo0, TARGET_VAL(X86::NOT32m), 0|OPFL_Chain|OPFL_MemRefs,
    2440             :                           5/*#Ops*/, 3, 4, 5, 6, 7, 
    2441             :                       // Src: (st (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, -1:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2442             :                       // Dst: (NOT32m addr:{ *:[iPTR] }:$dst)
    2443             : /*  5088*/          /*Scope*/ 55|128,2/*311*/, /*->5401*/
    2444             : /*  5090*/            OPC_CheckPredicate, 9, // Predicate_load
    2445             : /*  5092*/            OPC_MoveParent,
    2446             : /*  5093*/            OPC_Scope, 39, /*->5134*/ // 2 children in Scope
    2447             : /*  5095*/              OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    2448             : /*  5106*/              OPC_CheckType, MVT::i64,
    2449             : /*  5108*/              OPC_MoveParent,
    2450             : /*  5109*/              OPC_CheckChild2Same, 2,
    2451             : /*  5111*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2452             : /*  5113*/              OPC_CheckPredicate, 1, // Predicate_store
    2453             : /*  5115*/              OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    2454             : /*  5117*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2455             : /*  5120*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    2456             : /*  5124*/              OPC_MorphNodeTo0, TARGET_VAL(X86::NOT64m), 0|OPFL_Chain|OPFL_MemRefs,
    2457             :                             5/*#Ops*/, 3, 4, 5, 6, 7, 
    2458             :                         // Src: (st (xor:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, -1:{ *:[i64] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2459             :                         // Dst: (NOT64m addr:{ *:[iPTR] }:$dst)
    2460             : /*  5134*/            /*Scope*/ 8|128,2/*264*/, /*->5400*/
    2461             : /*  5136*/              OPC_RecordChild1, // #3 = $src
    2462             : /*  5137*/              OPC_MoveChild1,
    2463             : /*  5138*/              OPC_Scope, 25|128,1/*153*/, /*->5294*/ // 4 children in Scope
    2464             : /*  5141*/                OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2465             : /*  5144*/                OPC_Scope, 35, /*->5181*/ // 4 children in Scope
    2466             : /*  5146*/                  OPC_CheckPredicate, 13, // Predicate_i16immSExt8
    2467             : /*  5148*/                  OPC_CheckPredicate, 14, // Predicate_i16immSExt8_su
    2468             : /*  5150*/                  OPC_MoveParent,
    2469             : /*  5151*/                  OPC_CheckType, MVT::i16,
    2470             : /*  5153*/                  OPC_MoveParent,
    2471             : /*  5154*/                  OPC_CheckChild2Same, 2,
    2472             : /*  5156*/                  OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2473             : /*  5158*/                  OPC_CheckPredicate, 1, // Predicate_store
    2474             : /*  5160*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2475             : /*  5163*/                  OPC_EmitMergeInputChains, 2, 0, 1, 
    2476             : /*  5167*/                  OPC_EmitConvertToTarget, 3,
    2477             : /*  5169*/                  OPC_MorphNodeTo1, TARGET_VAL(X86::XOR16mi8), 0|OPFL_Chain|OPFL_MemRefs,
    2478             :                                 MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2479             :                             // Src: (st (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_i16immSExt8>><<P:Predicate_i16immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    2480             :                             // Dst: (XOR16mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
    2481             : /*  5181*/                /*Scope*/ 35, /*->5217*/
    2482             : /*  5182*/                  OPC_CheckPredicate, 13, // Predicate_i32immSExt8
    2483             : /*  5184*/                  OPC_CheckPredicate, 14, // Predicate_i32immSExt8_su
    2484             : /*  5186*/                  OPC_MoveParent,
    2485             : /*  5187*/                  OPC_CheckType, MVT::i32,
    2486             : /*  5189*/                  OPC_MoveParent,
    2487             : /*  5190*/                  OPC_CheckChild2Same, 2,
    2488             : /*  5192*/                  OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2489             : /*  5194*/                  OPC_CheckPredicate, 1, // Predicate_store
    2490             : /*  5196*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2491             : /*  5199*/                  OPC_EmitMergeInputChains, 2, 0, 1, 
    2492             : /*  5203*/                  OPC_EmitConvertToTarget, 3,
    2493             : /*  5205*/                  OPC_MorphNodeTo1, TARGET_VAL(X86::XOR32mi8), 0|OPFL_Chain|OPFL_MemRefs,
    2494             :                                 MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2495             :                             // Src: (st (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>><<P:Predicate_i32immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    2496             :                             // Dst: (XOR32mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
    2497             : /*  5217*/                /*Scope*/ 37, /*->5255*/
    2498             : /*  5218*/                  OPC_CheckPredicate, 13, // Predicate_i64immSExt8
    2499             : /*  5220*/                  OPC_CheckPredicate, 14, // Predicate_i64immSExt8_su
    2500             : /*  5222*/                  OPC_MoveParent,
    2501             : /*  5223*/                  OPC_CheckType, MVT::i64,
    2502             : /*  5225*/                  OPC_MoveParent,
    2503             : /*  5226*/                  OPC_CheckChild2Same, 2,
    2504             : /*  5228*/                  OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2505             : /*  5230*/                  OPC_CheckPredicate, 1, // Predicate_store
    2506             : /*  5232*/                  OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    2507             : /*  5234*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2508             : /*  5237*/                  OPC_EmitMergeInputChains, 2, 0, 1, 
    2509             : /*  5241*/                  OPC_EmitConvertToTarget, 3,
    2510             : /*  5243*/                  OPC_MorphNodeTo1, TARGET_VAL(X86::XOR64mi8), 0|OPFL_Chain|OPFL_MemRefs,
    2511             :                                 MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2512             :                             // Src: (st (xor:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>><<P:Predicate_i64immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    2513             :                             // Dst: (XOR64mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    2514             : /*  5255*/                /*Scope*/ 37, /*->5293*/
    2515             : /*  5256*/                  OPC_CheckPredicate, 15, // Predicate_i64immSExt32
    2516             : /*  5258*/                  OPC_CheckPredicate, 14, // Predicate_i64immSExt32_su
    2517             : /*  5260*/                  OPC_MoveParent,
    2518             : /*  5261*/                  OPC_CheckType, MVT::i64,
    2519             : /*  5263*/                  OPC_MoveParent,
    2520             : /*  5264*/                  OPC_CheckChild2Same, 2,
    2521             : /*  5266*/                  OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2522             : /*  5268*/                  OPC_CheckPredicate, 1, // Predicate_store
    2523             : /*  5270*/                  OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    2524             : /*  5272*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2525             : /*  5275*/                  OPC_EmitMergeInputChains, 2, 0, 1, 
    2526             : /*  5279*/                  OPC_EmitConvertToTarget, 3,
    2527             : /*  5281*/                  OPC_MorphNodeTo1, TARGET_VAL(X86::XOR64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    2528             :                                 MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2529             :                             // Src: (st (xor:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>><<P:Predicate_i64immSExt32_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    2530             :                             // Dst: (XOR64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    2531             : /*  5293*/                0, /*End of Scope*/
    2532             : /*  5294*/              /*Scope*/ 34, /*->5329*/
    2533             : /*  5295*/                OPC_CheckPredicate, 16, // Predicate_imm8_su
    2534             : /*  5297*/                OPC_MoveParent,
    2535             : /*  5298*/                OPC_CheckType, MVT::i8,
    2536             : /*  5300*/                OPC_MoveParent,
    2537             : /*  5301*/                OPC_CheckChild2Same, 2,
    2538             : /*  5303*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2539             : /*  5305*/                OPC_CheckPredicate, 1, // Predicate_store
    2540             : /*  5307*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2541             : /*  5310*/                OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    2542             : /*  5313*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    2543             : /*  5317*/                OPC_MorphNodeTo1, TARGET_VAL(X86::XOR8mi), 0|OPFL_Chain|OPFL_MemRefs,
    2544             :                               MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2545             :                           // Src: (st (xor:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2546             :                           // Dst: (XOR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    2547             : /*  5329*/              /*Scope*/ 34, /*->5364*/
    2548             : /*  5330*/                OPC_CheckPredicate, 16, // Predicate_imm16_su
    2549             : /*  5332*/                OPC_MoveParent,
    2550             : /*  5333*/                OPC_CheckType, MVT::i16,
    2551             : /*  5335*/                OPC_MoveParent,
    2552             : /*  5336*/                OPC_CheckChild2Same, 2,
    2553             : /*  5338*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2554             : /*  5340*/                OPC_CheckPredicate, 1, // Predicate_store
    2555             : /*  5342*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2556             : /*  5345*/                OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    2557             : /*  5348*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    2558             : /*  5352*/                OPC_MorphNodeTo1, TARGET_VAL(X86::XOR16mi), 0|OPFL_Chain|OPFL_MemRefs,
    2559             :                               MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2560             :                           // Src: (st (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2561             :                           // Dst: (XOR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    2562             : /*  5364*/              /*Scope*/ 34, /*->5399*/
    2563             : /*  5365*/                OPC_CheckPredicate, 16, // Predicate_imm32_su
    2564             : /*  5367*/                OPC_MoveParent,
    2565             : /*  5368*/                OPC_CheckType, MVT::i32,
    2566             : /*  5370*/                OPC_MoveParent,
    2567             : /*  5371*/                OPC_CheckChild2Same, 2,
    2568             : /*  5373*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2569             : /*  5375*/                OPC_CheckPredicate, 1, // Predicate_store
    2570             : /*  5377*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2571             : /*  5380*/                OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    2572             : /*  5383*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    2573             : /*  5387*/                OPC_MorphNodeTo1, TARGET_VAL(X86::XOR32mi), 0|OPFL_Chain|OPFL_MemRefs,
    2574             :                               MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2575             :                           // Src: (st (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2576             :                           // Dst: (XOR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    2577             : /*  5399*/              0, /*End of Scope*/
    2578             : /*  5400*/            0, /*End of Scope*/
    2579             : /*  5401*/          0, /*End of Scope*/
    2580             : /*  5402*/        /*Scope*/ 20|128,1/*148*/, /*->5552*/
    2581             : /*  5404*/          OPC_RecordChild0, // #1 = $src
    2582             : /*  5405*/          OPC_MoveChild0,
    2583             : /*  5406*/          OPC_Scope, 47, /*->5455*/ // 3 children in Scope
    2584             : /*  5408*/            OPC_CheckPredicate, 16, // Predicate_imm8_su
    2585             : /*  5410*/            OPC_MoveParent,
    2586             : /*  5411*/            OPC_MoveChild1,
    2587             : /*  5412*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    2588             : /*  5415*/            OPC_RecordMemRef,
    2589             : /*  5416*/            OPC_RecordNode, // #2 = 'ld' chained node
    2590             : /*  5417*/            OPC_CheckFoldableChainNode,
    2591             : /*  5418*/            OPC_RecordChild1, // #3 = $dst
    2592             : /*  5419*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    2593             : /*  5421*/            OPC_CheckPredicate, 9, // Predicate_load
    2594             : /*  5423*/            OPC_MoveParent,
    2595             : /*  5424*/            OPC_CheckType, MVT::i8,
    2596             : /*  5426*/            OPC_MoveParent,
    2597             : /*  5427*/            OPC_CheckChild2Same, 3,
    2598             : /*  5429*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2599             : /*  5431*/            OPC_CheckPredicate, 1, // Predicate_store
    2600             : /*  5433*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    2601             : /*  5436*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    2602             : /*  5439*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    2603             : /*  5443*/            OPC_MorphNodeTo1, TARGET_VAL(X86::XOR8mi), 0|OPFL_Chain|OPFL_MemRefs,
    2604             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    2605             :                       // Src: (st (xor:{ *:[i8] } relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2606             :                       // Dst: (XOR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    2607             : /*  5455*/          /*Scope*/ 47, /*->5503*/
    2608             : /*  5456*/            OPC_CheckPredicate, 16, // Predicate_imm16_su
    2609             : /*  5458*/            OPC_MoveParent,
    2610             : /*  5459*/            OPC_MoveChild1,
    2611             : /*  5460*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    2612             : /*  5463*/            OPC_RecordMemRef,
    2613             : /*  5464*/            OPC_RecordNode, // #2 = 'ld' chained node
    2614             : /*  5465*/            OPC_CheckFoldableChainNode,
    2615             : /*  5466*/            OPC_RecordChild1, // #3 = $dst
    2616             : /*  5467*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    2617             : /*  5469*/            OPC_CheckPredicate, 9, // Predicate_load
    2618             : /*  5471*/            OPC_MoveParent,
    2619             : /*  5472*/            OPC_CheckType, MVT::i16,
    2620             : /*  5474*/            OPC_MoveParent,
    2621             : /*  5475*/            OPC_CheckChild2Same, 3,
    2622             : /*  5477*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2623             : /*  5479*/            OPC_CheckPredicate, 1, // Predicate_store
    2624             : /*  5481*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    2625             : /*  5484*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    2626             : /*  5487*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    2627             : /*  5491*/            OPC_MorphNodeTo1, TARGET_VAL(X86::XOR16mi), 0|OPFL_Chain|OPFL_MemRefs,
    2628             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    2629             :                       // Src: (st (xor:{ *:[i16] } relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2630             :                       // Dst: (XOR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    2631             : /*  5503*/          /*Scope*/ 47, /*->5551*/
    2632             : /*  5504*/            OPC_CheckPredicate, 16, // Predicate_imm32_su
    2633             : /*  5506*/            OPC_MoveParent,
    2634             : /*  5507*/            OPC_MoveChild1,
    2635             : /*  5508*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    2636             : /*  5511*/            OPC_RecordMemRef,
    2637             : /*  5512*/            OPC_RecordNode, // #2 = 'ld' chained node
    2638             : /*  5513*/            OPC_CheckFoldableChainNode,
    2639             : /*  5514*/            OPC_RecordChild1, // #3 = $dst
    2640             : /*  5515*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    2641             : /*  5517*/            OPC_CheckPredicate, 9, // Predicate_load
    2642             : /*  5519*/            OPC_MoveParent,
    2643             : /*  5520*/            OPC_CheckType, MVT::i32,
    2644             : /*  5522*/            OPC_MoveParent,
    2645             : /*  5523*/            OPC_CheckChild2Same, 3,
    2646             : /*  5525*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2647             : /*  5527*/            OPC_CheckPredicate, 1, // Predicate_store
    2648             : /*  5529*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    2649             : /*  5532*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    2650             : /*  5535*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    2651             : /*  5539*/            OPC_MorphNodeTo1, TARGET_VAL(X86::XOR32mi), 0|OPFL_Chain|OPFL_MemRefs,
    2652             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    2653             :                       // Src: (st (xor:{ *:[i32] } relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    2654             :                       // Dst: (XOR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    2655             : /*  5551*/          0, /*End of Scope*/
    2656             : /*  5552*/        /*Scope*/ 0|128,1/*128*/, /*->5682*/
    2657             : /*  5554*/          OPC_MoveChild0,
    2658             : /*  5555*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    2659             : /*  5558*/          OPC_RecordMemRef,
    2660             : /*  5559*/          OPC_RecordNode, // #1 = 'ld' chained node
    2661             : /*  5560*/          OPC_CheckFoldableChainNode,
    2662             : /*  5561*/          OPC_RecordChild1, // #2 = $dst
    2663             : /*  5562*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    2664             : /*  5564*/          OPC_CheckPredicate, 9, // Predicate_load
    2665             : /*  5566*/          OPC_MoveParent,
    2666             : /*  5567*/          OPC_RecordChild1, // #3 = $src
    2667             : /*  5568*/          OPC_SwitchType /*4 cases */, 26, MVT::i8,// ->5597
    2668             : /*  5571*/            OPC_MoveParent,
    2669             : /*  5572*/            OPC_CheckChild2Same, 2,
    2670             : /*  5574*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2671             : /*  5576*/            OPC_CheckPredicate, 1, // Predicate_store
    2672             : /*  5578*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2673             : /*  5581*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2674             : /*  5585*/            OPC_MorphNodeTo1, TARGET_VAL(X86::XOR8mr), 0|OPFL_Chain|OPFL_MemRefs,
    2675             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    2676             :                       // Src: (st (xor:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2677             :                       // Dst: (XOR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    2678             : /*  5597*/          /*SwitchType*/ 26, MVT::i16,// ->5625
    2679             : /*  5599*/            OPC_MoveParent,
    2680             : /*  5600*/            OPC_CheckChild2Same, 2,
    2681             : /*  5602*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2682             : /*  5604*/            OPC_CheckPredicate, 1, // Predicate_store
    2683             : /*  5606*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2684             : /*  5609*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2685             : /*  5613*/            OPC_MorphNodeTo1, TARGET_VAL(X86::XOR16mr), 0|OPFL_Chain|OPFL_MemRefs,
    2686             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    2687             :                       // Src: (st (xor:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2688             :                       // Dst: (XOR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    2689             : /*  5625*/          /*SwitchType*/ 26, MVT::i32,// ->5653
    2690             : /*  5627*/            OPC_MoveParent,
    2691             : /*  5628*/            OPC_CheckChild2Same, 2,
    2692             : /*  5630*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2693             : /*  5632*/            OPC_CheckPredicate, 1, // Predicate_store
    2694             : /*  5634*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2695             : /*  5637*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2696             : /*  5641*/            OPC_MorphNodeTo1, TARGET_VAL(X86::XOR32mr), 0|OPFL_Chain|OPFL_MemRefs,
    2697             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    2698             :                       // Src: (st (xor:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2699             :                       // Dst: (XOR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    2700             : /*  5653*/          /*SwitchType*/ 26, MVT::i64,// ->5681
    2701             : /*  5655*/            OPC_MoveParent,
    2702             : /*  5656*/            OPC_CheckChild2Same, 2,
    2703             : /*  5658*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2704             : /*  5660*/            OPC_CheckPredicate, 1, // Predicate_store
    2705             : /*  5662*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2706             : /*  5665*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2707             : /*  5669*/            OPC_MorphNodeTo1, TARGET_VAL(X86::XOR64mr), 0|OPFL_Chain|OPFL_MemRefs,
    2708             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    2709             :                       // Src: (st (xor:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2710             :                       // Dst: (XOR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    2711             : /*  5681*/          0, // EndSwitchType
    2712             : /*  5682*/        /*Scope*/ 0|128,1/*128*/, /*->5812*/
    2713             : /*  5684*/          OPC_RecordChild0, // #1 = $src
    2714             : /*  5685*/          OPC_MoveChild1,
    2715             : /*  5686*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    2716             : /*  5689*/          OPC_RecordMemRef,
    2717             : /*  5690*/          OPC_RecordNode, // #2 = 'ld' chained node
    2718             : /*  5691*/          OPC_CheckFoldableChainNode,
    2719             : /*  5692*/          OPC_RecordChild1, // #3 = $dst
    2720             : /*  5693*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    2721             : /*  5695*/          OPC_CheckPredicate, 9, // Predicate_load
    2722             : /*  5697*/          OPC_MoveParent,
    2723             : /*  5698*/          OPC_SwitchType /*4 cases */, 26, MVT::i8,// ->5727
    2724             : /*  5701*/            OPC_MoveParent,
    2725             : /*  5702*/            OPC_CheckChild2Same, 3,
    2726             : /*  5704*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2727             : /*  5706*/            OPC_CheckPredicate, 1, // Predicate_store
    2728             : /*  5708*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    2729             : /*  5711*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    2730             : /*  5715*/            OPC_MorphNodeTo1, TARGET_VAL(X86::XOR8mr), 0|OPFL_Chain|OPFL_MemRefs,
    2731             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    2732             :                       // Src: (st (xor:{ *:[i8] } GR8:{ *:[i8] }:$src, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2733             :                       // Dst: (XOR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    2734             : /*  5727*/          /*SwitchType*/ 26, MVT::i16,// ->5755
    2735             : /*  5729*/            OPC_MoveParent,
    2736             : /*  5730*/            OPC_CheckChild2Same, 3,
    2737             : /*  5732*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2738             : /*  5734*/            OPC_CheckPredicate, 1, // Predicate_store
    2739             : /*  5736*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    2740             : /*  5739*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    2741             : /*  5743*/            OPC_MorphNodeTo1, TARGET_VAL(X86::XOR16mr), 0|OPFL_Chain|OPFL_MemRefs,
    2742             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    2743             :                       // Src: (st (xor:{ *:[i16] } GR16:{ *:[i16] }:$src, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2744             :                       // Dst: (XOR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    2745             : /*  5755*/          /*SwitchType*/ 26, MVT::i32,// ->5783
    2746             : /*  5757*/            OPC_MoveParent,
    2747             : /*  5758*/            OPC_CheckChild2Same, 3,
    2748             : /*  5760*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2749             : /*  5762*/            OPC_CheckPredicate, 1, // Predicate_store
    2750             : /*  5764*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    2751             : /*  5767*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    2752             : /*  5771*/            OPC_MorphNodeTo1, TARGET_VAL(X86::XOR32mr), 0|OPFL_Chain|OPFL_MemRefs,
    2753             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    2754             :                       // Src: (st (xor:{ *:[i32] } GR32:{ *:[i32] }:$src, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2755             :                       // Dst: (XOR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    2756             : /*  5783*/          /*SwitchType*/ 26, MVT::i64,// ->5811
    2757             : /*  5785*/            OPC_MoveParent,
    2758             : /*  5786*/            OPC_CheckChild2Same, 3,
    2759             : /*  5788*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2760             : /*  5790*/            OPC_CheckPredicate, 1, // Predicate_store
    2761             : /*  5792*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    2762             : /*  5795*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    2763             : /*  5799*/            OPC_MorphNodeTo1, TARGET_VAL(X86::XOR64mr), 0|OPFL_Chain|OPFL_MemRefs,
    2764             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    2765             :                       // Src: (st (xor:{ *:[i64] } GR64:{ *:[i64] }:$src, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    2766             :                       // Dst: (XOR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    2767             : /*  5811*/          0, // EndSwitchType
    2768             : /*  5812*/        0, /*End of Scope*/
    2769             : /*  5813*/      /*SwitchOpcode*/ 48|128,9/*1200*/, TARGET_VAL(ISD::ADD),// ->7017
    2770             : /*  5817*/        OPC_Scope, 18|128,6/*786*/, /*->6606*/ // 4 children in Scope
    2771             : /*  5820*/          OPC_MoveChild0,
    2772             : /*  5821*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    2773             : /*  5824*/          OPC_RecordMemRef,
    2774             : /*  5825*/          OPC_RecordNode, // #1 = 'ld' chained node
    2775             : /*  5826*/          OPC_CheckFoldableChainNode,
    2776             : /*  5827*/          OPC_RecordChild1, // #2 = $dst
    2777             : /*  5828*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    2778             : /*  5830*/          OPC_Scope, 34, /*->5866*/ // 11 children in Scope
    2779             : /*  5832*/            OPC_CheckPredicate, 5, // Predicate_loadi8
    2780             : /*  5834*/            OPC_MoveParent,
    2781             : /*  5835*/            OPC_CheckChild1Integer, 1, 
    2782             : /*  5837*/            OPC_CheckType, MVT::i8,
    2783             : /*  5839*/            OPC_MoveParent,
    2784             : /*  5840*/            OPC_CheckChild2Same, 2,
    2785             : /*  5842*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2786             : /*  5844*/            OPC_CheckPredicate, 1, // Predicate_store
    2787             : /*  5846*/            OPC_CheckPatternPredicate, 9, // (!Subtarget->slowIncDec() || MF->getFunction().optForSize())
    2788             : /*  5848*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2789             : /*  5851*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2790             : /*  5855*/            OPC_MorphNodeTo1, TARGET_VAL(X86::INC8m), 0|OPFL_Chain|OPFL_MemRefs,
    2791             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2792             :                       // Src: (st (add:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, 1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2793             :                       // Dst: (INC8m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2794             : /*  5866*/          /*Scope*/ 34, /*->5901*/
    2795             : /*  5867*/            OPC_CheckPredicate, 7, // Predicate_loadi16
    2796             : /*  5869*/            OPC_MoveParent,
    2797             : /*  5870*/            OPC_CheckChild1Integer, 1, 
    2798             : /*  5872*/            OPC_CheckType, MVT::i16,
    2799             : /*  5874*/            OPC_MoveParent,
    2800             : /*  5875*/            OPC_CheckChild2Same, 2,
    2801             : /*  5877*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2802             : /*  5879*/            OPC_CheckPredicate, 1, // Predicate_store
    2803             : /*  5881*/            OPC_CheckPatternPredicate, 9, // (!Subtarget->slowIncDec() || MF->getFunction().optForSize())
    2804             : /*  5883*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2805             : /*  5886*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2806             : /*  5890*/            OPC_MorphNodeTo1, TARGET_VAL(X86::INC16m), 0|OPFL_Chain|OPFL_MemRefs,
    2807             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2808             :                       // Src: (st (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 1:{ *:[i16] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2809             :                       // Dst: (INC16m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2810             : /*  5901*/          /*Scope*/ 34, /*->5936*/
    2811             : /*  5902*/            OPC_CheckPredicate, 8, // Predicate_loadi32
    2812             : /*  5904*/            OPC_MoveParent,
    2813             : /*  5905*/            OPC_CheckChild1Integer, 1, 
    2814             : /*  5907*/            OPC_CheckType, MVT::i32,
    2815             : /*  5909*/            OPC_MoveParent,
    2816             : /*  5910*/            OPC_CheckChild2Same, 2,
    2817             : /*  5912*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2818             : /*  5914*/            OPC_CheckPredicate, 1, // Predicate_store
    2819             : /*  5916*/            OPC_CheckPatternPredicate, 9, // (!Subtarget->slowIncDec() || MF->getFunction().optForSize())
    2820             : /*  5918*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2821             : /*  5921*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2822             : /*  5925*/            OPC_MorphNodeTo1, TARGET_VAL(X86::INC32m), 0|OPFL_Chain|OPFL_MemRefs,
    2823             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2824             :                       // Src: (st (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 1:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2825             :                       // Dst: (INC32m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2826             : /*  5936*/          /*Scope*/ 34, /*->5971*/
    2827             : /*  5937*/            OPC_CheckPredicate, 9, // Predicate_load
    2828             : /*  5939*/            OPC_MoveParent,
    2829             : /*  5940*/            OPC_CheckChild1Integer, 1, 
    2830             : /*  5942*/            OPC_CheckType, MVT::i64,
    2831             : /*  5944*/            OPC_MoveParent,
    2832             : /*  5945*/            OPC_CheckChild2Same, 2,
    2833             : /*  5947*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2834             : /*  5949*/            OPC_CheckPredicate, 1, // Predicate_store
    2835             : /*  5951*/            OPC_CheckPatternPredicate, 10, // (Subtarget->is64Bit()) && (!Subtarget->slowIncDec() || MF->getFunction().optForSize())
    2836             : /*  5953*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2837             : /*  5956*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2838             : /*  5960*/            OPC_MorphNodeTo1, TARGET_VAL(X86::INC64m), 0|OPFL_Chain|OPFL_MemRefs,
    2839             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2840             :                       // Src: (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 1:{ *:[i64] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2841             :                       // Dst: (INC64m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2842             : /*  5971*/          /*Scope*/ 43, /*->6015*/
    2843             : /*  5972*/            OPC_CheckPredicate, 5, // Predicate_loadi8
    2844             : /*  5974*/            OPC_MoveParent,
    2845             : /*  5975*/            OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    2846             : /*  5986*/            OPC_CheckType, MVT::i8,
    2847             : /*  5988*/            OPC_MoveParent,
    2848             : /*  5989*/            OPC_CheckChild2Same, 2,
    2849             : /*  5991*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2850             : /*  5993*/            OPC_CheckPredicate, 1, // Predicate_store
    2851             : /*  5995*/            OPC_CheckPatternPredicate, 9, // (!Subtarget->slowIncDec() || MF->getFunction().optForSize())
    2852             : /*  5997*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2853             : /*  6000*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2854             : /*  6004*/            OPC_MorphNodeTo1, TARGET_VAL(X86::DEC8m), 0|OPFL_Chain|OPFL_MemRefs,
    2855             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2856             :                       // Src: (st (add:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, -1:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2857             :                       // Dst: (DEC8m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2858             : /*  6015*/          /*Scope*/ 43, /*->6059*/
    2859             : /*  6016*/            OPC_CheckPredicate, 7, // Predicate_loadi16
    2860             : /*  6018*/            OPC_MoveParent,
    2861             : /*  6019*/            OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    2862             : /*  6030*/            OPC_CheckType, MVT::i16,
    2863             : /*  6032*/            OPC_MoveParent,
    2864             : /*  6033*/            OPC_CheckChild2Same, 2,
    2865             : /*  6035*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2866             : /*  6037*/            OPC_CheckPredicate, 1, // Predicate_store
    2867             : /*  6039*/            OPC_CheckPatternPredicate, 9, // (!Subtarget->slowIncDec() || MF->getFunction().optForSize())
    2868             : /*  6041*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2869             : /*  6044*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2870             : /*  6048*/            OPC_MorphNodeTo1, TARGET_VAL(X86::DEC16m), 0|OPFL_Chain|OPFL_MemRefs,
    2871             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2872             :                       // Src: (st (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, -1:{ *:[i16] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2873             :                       // Dst: (DEC16m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2874             : /*  6059*/          /*Scope*/ 43, /*->6103*/
    2875             : /*  6060*/            OPC_CheckPredicate, 8, // Predicate_loadi32
    2876             : /*  6062*/            OPC_MoveParent,
    2877             : /*  6063*/            OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    2878             : /*  6074*/            OPC_CheckType, MVT::i32,
    2879             : /*  6076*/            OPC_MoveParent,
    2880             : /*  6077*/            OPC_CheckChild2Same, 2,
    2881             : /*  6079*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2882             : /*  6081*/            OPC_CheckPredicate, 1, // Predicate_store
    2883             : /*  6083*/            OPC_CheckPatternPredicate, 9, // (!Subtarget->slowIncDec() || MF->getFunction().optForSize())
    2884             : /*  6085*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2885             : /*  6088*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2886             : /*  6092*/            OPC_MorphNodeTo1, TARGET_VAL(X86::DEC32m), 0|OPFL_Chain|OPFL_MemRefs,
    2887             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2888             :                       // Src: (st (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, -1:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2889             :                       // Dst: (DEC32m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2890             : /*  6103*/          /*Scope*/ 43, /*->6147*/
    2891             : /*  6104*/            OPC_CheckPredicate, 9, // Predicate_load
    2892             : /*  6106*/            OPC_MoveParent,
    2893             : /*  6107*/            OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    2894             : /*  6118*/            OPC_CheckType, MVT::i64,
    2895             : /*  6120*/            OPC_MoveParent,
    2896             : /*  6121*/            OPC_CheckChild2Same, 2,
    2897             : /*  6123*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2898             : /*  6125*/            OPC_CheckPredicate, 1, // Predicate_store
    2899             : /*  6127*/            OPC_CheckPatternPredicate, 10, // (Subtarget->is64Bit()) && (!Subtarget->slowIncDec() || MF->getFunction().optForSize())
    2900             : /*  6129*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2901             : /*  6132*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2902             : /*  6136*/            OPC_MorphNodeTo1, TARGET_VAL(X86::DEC64m), 0|OPFL_Chain|OPFL_MemRefs,
    2903             :                           MVT::i32, 5/*#Ops*/, 3, 4, 5, 6, 7, 
    2904             :                       // Src: (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, -1:{ *:[i64] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2905             :                       // Dst: (DEC64m:{ *:[i32] } addr:{ *:[iPTR] }:$dst)
    2906             : /*  6147*/          /*Scope*/ 46, /*->6194*/
    2907             : /*  6148*/            OPC_CheckPredicate, 7, // Predicate_loadi16
    2908             : /*  6150*/            OPC_MoveParent,
    2909             : /*  6151*/            OPC_CheckChild1Integer, 0|128,1/*128*/, 
    2910             : /*  6154*/            OPC_CheckType, MVT::i16,
    2911             : /*  6156*/            OPC_MoveParent,
    2912             : /*  6157*/            OPC_CheckChild2Same, 2,
    2913             : /*  6159*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2914             : /*  6161*/            OPC_CheckPredicate, 1, // Predicate_store
    2915             : /*  6163*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2916             : /*  6166*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2917             : /*  6170*/            OPC_EmitInteger, MVT::i16, 0|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551488*/, 
    2918             : /*  6182*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SUB16mi8), 0|OPFL_Chain|OPFL_MemRefs,
    2919             :                           MVT::i32, 6/*#Ops*/, 3, 4, 5, 6, 7, 8, 
    2920             :                       // Src: (st (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, 128:{ *:[i16] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2921             :                       // Dst: (SUB16mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, -128:{ *:[i16] })
    2922             : /*  6194*/          /*Scope*/ 46, /*->6241*/
    2923             : /*  6195*/            OPC_CheckPredicate, 8, // Predicate_loadi32
    2924             : /*  6197*/            OPC_MoveParent,
    2925             : /*  6198*/            OPC_CheckChild1Integer, 0|128,1/*128*/, 
    2926             : /*  6201*/            OPC_CheckType, MVT::i32,
    2927             : /*  6203*/            OPC_MoveParent,
    2928             : /*  6204*/            OPC_CheckChild2Same, 2,
    2929             : /*  6206*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2930             : /*  6208*/            OPC_CheckPredicate, 1, // Predicate_store
    2931             : /*  6210*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2932             : /*  6213*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    2933             : /*  6217*/            OPC_EmitInteger, MVT::i32, 0|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551488*/, 
    2934             : /*  6229*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SUB32mi8), 0|OPFL_Chain|OPFL_MemRefs,
    2935             :                           MVT::i32, 6/*#Ops*/, 3, 4, 5, 6, 7, 8, 
    2936             :                       // Src: (st (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, 128:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2937             :                       // Dst: (SUB32mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, -128:{ *:[i32] })
    2938             : /*  6241*/          /*Scope*/ 106|128,2/*362*/, /*->6605*/
    2939             : /*  6243*/            OPC_CheckPredicate, 9, // Predicate_load
    2940             : /*  6245*/            OPC_MoveParent,
    2941             : /*  6246*/            OPC_Scope, 43, /*->6291*/ // 3 children in Scope
    2942             : /*  6248*/              OPC_CheckChild1Integer, 0|128,1/*128*/, 
    2943             : /*  6251*/              OPC_CheckType, MVT::i64,
    2944             : /*  6253*/              OPC_MoveParent,
    2945             : /*  6254*/              OPC_CheckChild2Same, 2,
    2946             : /*  6256*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2947             : /*  6258*/              OPC_CheckPredicate, 1, // Predicate_store
    2948             : /*  6260*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2949             : /*  6263*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    2950             : /*  6267*/              OPC_EmitInteger, MVT::i64, 0|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551488*/, 
    2951             : /*  6279*/              OPC_MorphNodeTo1, TARGET_VAL(X86::SUB64mi8), 0|OPFL_Chain|OPFL_MemRefs,
    2952             :                             MVT::i32, 6/*#Ops*/, 3, 4, 5, 6, 7, 8, 
    2953             :                         // Src: (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 128:{ *:[i64] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2954             :                         // Dst: (SUB64mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, -128:{ *:[i64] })
    2955             : /*  6291*/            /*Scope*/ 46, /*->6338*/
    2956             : /*  6292*/              OPC_CheckChild1Integer, 0|128,0|128,0|128,0|128,8/*2147483648*/, 
    2957             : /*  6298*/              OPC_CheckType, MVT::i64,
    2958             : /*  6300*/              OPC_MoveParent,
    2959             : /*  6301*/              OPC_CheckChild2Same, 2,
    2960             : /*  6303*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2961             : /*  6305*/              OPC_CheckPredicate, 1, // Predicate_store
    2962             : /*  6307*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    2963             : /*  6310*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    2964             : /*  6314*/              OPC_EmitInteger, MVT::i64, 0|128,0|128,0|128,0|128,120|128,127|128,127|128,127|128,127|128,1/*18446744071562067968*/, 
    2965             : /*  6326*/              OPC_MorphNodeTo1, TARGET_VAL(X86::SUB64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    2966             :                             MVT::i32, 6/*#Ops*/, 3, 4, 5, 6, 7, 8, 
    2967             :                         // Src: (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, 2147483648:{ *:[i64] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 52
    2968             :                         // Dst: (SUB64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, -2147483648:{ *:[i64] })
    2969             : /*  6338*/            /*Scope*/ 8|128,2/*264*/, /*->6604*/
    2970             : /*  6340*/              OPC_RecordChild1, // #3 = $src
    2971             : /*  6341*/              OPC_MoveChild1,
    2972             : /*  6342*/              OPC_Scope, 25|128,1/*153*/, /*->6498*/ // 4 children in Scope
    2973             : /*  6345*/                OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    2974             : /*  6348*/                OPC_Scope, 35, /*->6385*/ // 4 children in Scope
    2975             : /*  6350*/                  OPC_CheckPredicate, 13, // Predicate_i16immSExt8
    2976             : /*  6352*/                  OPC_CheckPredicate, 14, // Predicate_i16immSExt8_su
    2977             : /*  6354*/                  OPC_MoveParent,
    2978             : /*  6355*/                  OPC_CheckType, MVT::i16,
    2979             : /*  6357*/                  OPC_MoveParent,
    2980             : /*  6358*/                  OPC_CheckChild2Same, 2,
    2981             : /*  6360*/                  OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2982             : /*  6362*/                  OPC_CheckPredicate, 1, // Predicate_store
    2983             : /*  6364*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    2984             : /*  6367*/                  OPC_EmitMergeInputChains, 2, 0, 1, 
    2985             : /*  6371*/                  OPC_EmitConvertToTarget, 3,
    2986             : /*  6373*/                  OPC_MorphNodeTo1, TARGET_VAL(X86::ADD16mi8), 0|OPFL_Chain|OPFL_MemRefs,
    2987             :                                 MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    2988             :                             // Src: (st (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_i16immSExt8>><<P:Predicate_i16immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    2989             :                             // Dst: (ADD16mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
    2990             : /*  6385*/                /*Scope*/ 35, /*->6421*/
    2991             : /*  6386*/                  OPC_CheckPredicate, 13, // Predicate_i32immSExt8
    2992             : /*  6388*/                  OPC_CheckPredicate, 14, // Predicate_i32immSExt8_su
    2993             : /*  6390*/                  OPC_MoveParent,
    2994             : /*  6391*/                  OPC_CheckType, MVT::i32,
    2995             : /*  6393*/                  OPC_MoveParent,
    2996             : /*  6394*/                  OPC_CheckChild2Same, 2,
    2997             : /*  6396*/                  OPC_CheckPredicate, 0, // Predicate_unindexedstore
    2998             : /*  6398*/                  OPC_CheckPredicate, 1, // Predicate_store
    2999             : /*  6400*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3000             : /*  6403*/                  OPC_EmitMergeInputChains, 2, 0, 1, 
    3001             : /*  6407*/                  OPC_EmitConvertToTarget, 3,
    3002             : /*  6409*/                  OPC_MorphNodeTo1, TARGET_VAL(X86::ADD32mi8), 0|OPFL_Chain|OPFL_MemRefs,
    3003             :                                 MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3004             :                             // Src: (st (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>><<P:Predicate_i32immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3005             :                             // Dst: (ADD32mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
    3006             : /*  6421*/                /*Scope*/ 37, /*->6459*/
    3007             : /*  6422*/                  OPC_CheckPredicate, 13, // Predicate_i64immSExt8
    3008             : /*  6424*/                  OPC_CheckPredicate, 14, // Predicate_i64immSExt8_su
    3009             : /*  6426*/                  OPC_MoveParent,
    3010             : /*  6427*/                  OPC_CheckType, MVT::i64,
    3011             : /*  6429*/                  OPC_MoveParent,
    3012             : /*  6430*/                  OPC_CheckChild2Same, 2,
    3013             : /*  6432*/                  OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3014             : /*  6434*/                  OPC_CheckPredicate, 1, // Predicate_store
    3015             : /*  6436*/                  OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    3016             : /*  6438*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3017             : /*  6441*/                  OPC_EmitMergeInputChains, 2, 0, 1, 
    3018             : /*  6445*/                  OPC_EmitConvertToTarget, 3,
    3019             : /*  6447*/                  OPC_MorphNodeTo1, TARGET_VAL(X86::ADD64mi8), 0|OPFL_Chain|OPFL_MemRefs,
    3020             :                                 MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3021             :                             // Src: (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>><<P:Predicate_i64immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3022             :                             // Dst: (ADD64mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    3023             : /*  6459*/                /*Scope*/ 37, /*->6497*/
    3024             : /*  6460*/                  OPC_CheckPredicate, 15, // Predicate_i64immSExt32
    3025             : /*  6462*/                  OPC_CheckPredicate, 14, // Predicate_i64immSExt32_su
    3026             : /*  6464*/                  OPC_MoveParent,
    3027             : /*  6465*/                  OPC_CheckType, MVT::i64,
    3028             : /*  6467*/                  OPC_MoveParent,
    3029             : /*  6468*/                  OPC_CheckChild2Same, 2,
    3030             : /*  6470*/                  OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3031             : /*  6472*/                  OPC_CheckPredicate, 1, // Predicate_store
    3032             : /*  6474*/                  OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    3033             : /*  6476*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3034             : /*  6479*/                  OPC_EmitMergeInputChains, 2, 0, 1, 
    3035             : /*  6483*/                  OPC_EmitConvertToTarget, 3,
    3036             : /*  6485*/                  OPC_MorphNodeTo1, TARGET_VAL(X86::ADD64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    3037             :                                 MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3038             :                             // Src: (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>><<P:Predicate_i64immSExt32_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3039             :                             // Dst: (ADD64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    3040             : /*  6497*/                0, /*End of Scope*/
    3041             : /*  6498*/              /*Scope*/ 34, /*->6533*/
    3042             : /*  6499*/                OPC_CheckPredicate, 16, // Predicate_imm8_su
    3043             : /*  6501*/                OPC_MoveParent,
    3044             : /*  6502*/                OPC_CheckType, MVT::i8,
    3045             : /*  6504*/                OPC_MoveParent,
    3046             : /*  6505*/                OPC_CheckChild2Same, 2,
    3047             : /*  6507*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3048             : /*  6509*/                OPC_CheckPredicate, 1, // Predicate_store
    3049             : /*  6511*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3050             : /*  6514*/                OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    3051             : /*  6517*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    3052             : /*  6521*/                OPC_MorphNodeTo1, TARGET_VAL(X86::ADD8mi), 0|OPFL_Chain|OPFL_MemRefs,
    3053             :                               MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3054             :                           // Src: (st (add:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3055             :                           // Dst: (ADD8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    3056             : /*  6533*/              /*Scope*/ 34, /*->6568*/
    3057             : /*  6534*/                OPC_CheckPredicate, 16, // Predicate_imm16_su
    3058             : /*  6536*/                OPC_MoveParent,
    3059             : /*  6537*/                OPC_CheckType, MVT::i16,
    3060             : /*  6539*/                OPC_MoveParent,
    3061             : /*  6540*/                OPC_CheckChild2Same, 2,
    3062             : /*  6542*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3063             : /*  6544*/                OPC_CheckPredicate, 1, // Predicate_store
    3064             : /*  6546*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3065             : /*  6549*/                OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    3066             : /*  6552*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    3067             : /*  6556*/                OPC_MorphNodeTo1, TARGET_VAL(X86::ADD16mi), 0|OPFL_Chain|OPFL_MemRefs,
    3068             :                               MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3069             :                           // Src: (st (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3070             :                           // Dst: (ADD16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    3071             : /*  6568*/              /*Scope*/ 34, /*->6603*/
    3072             : /*  6569*/                OPC_CheckPredicate, 16, // Predicate_imm32_su
    3073             : /*  6571*/                OPC_MoveParent,
    3074             : /*  6572*/                OPC_CheckType, MVT::i32,
    3075             : /*  6574*/                OPC_MoveParent,
    3076             : /*  6575*/                OPC_CheckChild2Same, 2,
    3077             : /*  6577*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3078             : /*  6579*/                OPC_CheckPredicate, 1, // Predicate_store
    3079             : /*  6581*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3080             : /*  6584*/                OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    3081             : /*  6587*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    3082             : /*  6591*/                OPC_MorphNodeTo1, TARGET_VAL(X86::ADD32mi), 0|OPFL_Chain|OPFL_MemRefs,
    3083             :                               MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3084             :                           // Src: (st (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3085             :                           // Dst: (ADD32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    3086             : /*  6603*/              0, /*End of Scope*/
    3087             : /*  6604*/            0, /*End of Scope*/
    3088             : /*  6605*/          0, /*End of Scope*/
    3089             : /*  6606*/        /*Scope*/ 20|128,1/*148*/, /*->6756*/
    3090             : /*  6608*/          OPC_RecordChild0, // #1 = $src
    3091             : /*  6609*/          OPC_MoveChild0,
    3092             : /*  6610*/          OPC_Scope, 47, /*->6659*/ // 3 children in Scope
    3093             : /*  6612*/            OPC_CheckPredicate, 16, // Predicate_imm8_su
    3094             : /*  6614*/            OPC_MoveParent,
    3095             : /*  6615*/            OPC_MoveChild1,
    3096             : /*  6616*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3097             : /*  6619*/            OPC_RecordMemRef,
    3098             : /*  6620*/            OPC_RecordNode, // #2 = 'ld' chained node
    3099             : /*  6621*/            OPC_CheckFoldableChainNode,
    3100             : /*  6622*/            OPC_RecordChild1, // #3 = $dst
    3101             : /*  6623*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    3102             : /*  6625*/            OPC_CheckPredicate, 9, // Predicate_load
    3103             : /*  6627*/            OPC_MoveParent,
    3104             : /*  6628*/            OPC_CheckType, MVT::i8,
    3105             : /*  6630*/            OPC_MoveParent,
    3106             : /*  6631*/            OPC_CheckChild2Same, 3,
    3107             : /*  6633*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3108             : /*  6635*/            OPC_CheckPredicate, 1, // Predicate_store
    3109             : /*  6637*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    3110             : /*  6640*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    3111             : /*  6643*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3112             : /*  6647*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADD8mi), 0|OPFL_Chain|OPFL_MemRefs,
    3113             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    3114             :                       // Src: (st (add:{ *:[i8] } relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3115             :                       // Dst: (ADD8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    3116             : /*  6659*/          /*Scope*/ 47, /*->6707*/
    3117             : /*  6660*/            OPC_CheckPredicate, 16, // Predicate_imm16_su
    3118             : /*  6662*/            OPC_MoveParent,
    3119             : /*  6663*/            OPC_MoveChild1,
    3120             : /*  6664*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3121             : /*  6667*/            OPC_RecordMemRef,
    3122             : /*  6668*/            OPC_RecordNode, // #2 = 'ld' chained node
    3123             : /*  6669*/            OPC_CheckFoldableChainNode,
    3124             : /*  6670*/            OPC_RecordChild1, // #3 = $dst
    3125             : /*  6671*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    3126             : /*  6673*/            OPC_CheckPredicate, 9, // Predicate_load
    3127             : /*  6675*/            OPC_MoveParent,
    3128             : /*  6676*/            OPC_CheckType, MVT::i16,
    3129             : /*  6678*/            OPC_MoveParent,
    3130             : /*  6679*/            OPC_CheckChild2Same, 3,
    3131             : /*  6681*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3132             : /*  6683*/            OPC_CheckPredicate, 1, // Predicate_store
    3133             : /*  6685*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    3134             : /*  6688*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    3135             : /*  6691*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3136             : /*  6695*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADD16mi), 0|OPFL_Chain|OPFL_MemRefs,
    3137             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    3138             :                       // Src: (st (add:{ *:[i16] } relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3139             :                       // Dst: (ADD16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    3140             : /*  6707*/          /*Scope*/ 47, /*->6755*/
    3141             : /*  6708*/            OPC_CheckPredicate, 16, // Predicate_imm32_su
    3142             : /*  6710*/            OPC_MoveParent,
    3143             : /*  6711*/            OPC_MoveChild1,
    3144             : /*  6712*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3145             : /*  6715*/            OPC_RecordMemRef,
    3146             : /*  6716*/            OPC_RecordNode, // #2 = 'ld' chained node
    3147             : /*  6717*/            OPC_CheckFoldableChainNode,
    3148             : /*  6718*/            OPC_RecordChild1, // #3 = $dst
    3149             : /*  6719*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    3150             : /*  6721*/            OPC_CheckPredicate, 9, // Predicate_load
    3151             : /*  6723*/            OPC_MoveParent,
    3152             : /*  6724*/            OPC_CheckType, MVT::i32,
    3153             : /*  6726*/            OPC_MoveParent,
    3154             : /*  6727*/            OPC_CheckChild2Same, 3,
    3155             : /*  6729*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3156             : /*  6731*/            OPC_CheckPredicate, 1, // Predicate_store
    3157             : /*  6733*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    3158             : /*  6736*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    3159             : /*  6739*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3160             : /*  6743*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADD32mi), 0|OPFL_Chain|OPFL_MemRefs,
    3161             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    3162             :                       // Src: (st (add:{ *:[i32] } relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3163             :                       // Dst: (ADD32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    3164             : /*  6755*/          0, /*End of Scope*/
    3165             : /*  6756*/        /*Scope*/ 0|128,1/*128*/, /*->6886*/
    3166             : /*  6758*/          OPC_MoveChild0,
    3167             : /*  6759*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3168             : /*  6762*/          OPC_RecordMemRef,
    3169             : /*  6763*/          OPC_RecordNode, // #1 = 'ld' chained node
    3170             : /*  6764*/          OPC_CheckFoldableChainNode,
    3171             : /*  6765*/          OPC_RecordChild1, // #2 = $dst
    3172             : /*  6766*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    3173             : /*  6768*/          OPC_CheckPredicate, 9, // Predicate_load
    3174             : /*  6770*/          OPC_MoveParent,
    3175             : /*  6771*/          OPC_RecordChild1, // #3 = $src
    3176             : /*  6772*/          OPC_SwitchType /*4 cases */, 26, MVT::i8,// ->6801
    3177             : /*  6775*/            OPC_MoveParent,
    3178             : /*  6776*/            OPC_CheckChild2Same, 2,
    3179             : /*  6778*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3180             : /*  6780*/            OPC_CheckPredicate, 1, // Predicate_store
    3181             : /*  6782*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3182             : /*  6785*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3183             : /*  6789*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
    3184             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3185             :                       // Src: (st (add:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3186             :                       // Dst: (ADD8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    3187             : /*  6801*/          /*SwitchType*/ 26, MVT::i16,// ->6829
    3188             : /*  6803*/            OPC_MoveParent,
    3189             : /*  6804*/            OPC_CheckChild2Same, 2,
    3190             : /*  6806*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3191             : /*  6808*/            OPC_CheckPredicate, 1, // Predicate_store
    3192             : /*  6810*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3193             : /*  6813*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3194             : /*  6817*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
    3195             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3196             :                       // Src: (st (add:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3197             :                       // Dst: (ADD16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    3198             : /*  6829*/          /*SwitchType*/ 26, MVT::i32,// ->6857
    3199             : /*  6831*/            OPC_MoveParent,
    3200             : /*  6832*/            OPC_CheckChild2Same, 2,
    3201             : /*  6834*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3202             : /*  6836*/            OPC_CheckPredicate, 1, // Predicate_store
    3203             : /*  6838*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3204             : /*  6841*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3205             : /*  6845*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADD32mr), 0|OPFL_Chain|OPFL_MemRefs,
    3206             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3207             :                       // Src: (st (add:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3208             :                       // Dst: (ADD32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    3209             : /*  6857*/          /*SwitchType*/ 26, MVT::i64,// ->6885
    3210             : /*  6859*/            OPC_MoveParent,
    3211             : /*  6860*/            OPC_CheckChild2Same, 2,
    3212             : /*  6862*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3213             : /*  6864*/            OPC_CheckPredicate, 1, // Predicate_store
    3214             : /*  6866*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3215             : /*  6869*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3216             : /*  6873*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADD64mr), 0|OPFL_Chain|OPFL_MemRefs,
    3217             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3218             :                       // Src: (st (add:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3219             :                       // Dst: (ADD64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    3220             : /*  6885*/          0, // EndSwitchType
    3221             : /*  6886*/        /*Scope*/ 0|128,1/*128*/, /*->7016*/
    3222             : /*  6888*/          OPC_RecordChild0, // #1 = $src
    3223             : /*  6889*/          OPC_MoveChild1,
    3224             : /*  6890*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3225             : /*  6893*/          OPC_RecordMemRef,
    3226             : /*  6894*/          OPC_RecordNode, // #2 = 'ld' chained node
    3227             : /*  6895*/          OPC_CheckFoldableChainNode,
    3228             : /*  6896*/          OPC_RecordChild1, // #3 = $dst
    3229             : /*  6897*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    3230             : /*  6899*/          OPC_CheckPredicate, 9, // Predicate_load
    3231             : /*  6901*/          OPC_MoveParent,
    3232             : /*  6902*/          OPC_SwitchType /*4 cases */, 26, MVT::i8,// ->6931
    3233             : /*  6905*/            OPC_MoveParent,
    3234             : /*  6906*/            OPC_CheckChild2Same, 3,
    3235             : /*  6908*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3236             : /*  6910*/            OPC_CheckPredicate, 1, // Predicate_store
    3237             : /*  6912*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3238             : /*  6915*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3239             : /*  6919*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADD8mr), 0|OPFL_Chain|OPFL_MemRefs,
    3240             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3241             :                       // Src: (st (add:{ *:[i8] } GR8:{ *:[i8] }:$src, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3242             :                       // Dst: (ADD8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    3243             : /*  6931*/          /*SwitchType*/ 26, MVT::i16,// ->6959
    3244             : /*  6933*/            OPC_MoveParent,
    3245             : /*  6934*/            OPC_CheckChild2Same, 3,
    3246             : /*  6936*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3247             : /*  6938*/            OPC_CheckPredicate, 1, // Predicate_store
    3248             : /*  6940*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3249             : /*  6943*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3250             : /*  6947*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADD16mr), 0|OPFL_Chain|OPFL_MemRefs,
    3251             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3252             :                       // Src: (st (add:{ *:[i16] } GR16:{ *:[i16] }:$src, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3253             :                       // Dst: (ADD16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    3254             : /*  6959*/          /*SwitchType*/ 26, MVT::i32,// ->6987
    3255             : /*  6961*/            OPC_MoveParent,
    3256             : /*  6962*/            OPC_CheckChild2Same, 3,
    3257             : /*  6964*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3258             : /*  6966*/            OPC_CheckPredicate, 1, // Predicate_store
    3259             : /*  6968*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3260             : /*  6971*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3261             : /*  6975*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADD32mr), 0|OPFL_Chain|OPFL_MemRefs,
    3262             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3263             :                       // Src: (st (add:{ *:[i32] } GR32:{ *:[i32] }:$src, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3264             :                       // Dst: (ADD32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    3265             : /*  6987*/          /*SwitchType*/ 26, MVT::i64,// ->7015
    3266             : /*  6989*/            OPC_MoveParent,
    3267             : /*  6990*/            OPC_CheckChild2Same, 3,
    3268             : /*  6992*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3269             : /*  6994*/            OPC_CheckPredicate, 1, // Predicate_store
    3270             : /*  6996*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3271             : /*  6999*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3272             : /*  7003*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADD64mr), 0|OPFL_Chain|OPFL_MemRefs,
    3273             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3274             :                       // Src: (st (add:{ *:[i64] } GR64:{ *:[i64] }:$src, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3275             :                       // Dst: (ADD64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    3276             : /*  7015*/          0, // EndSwitchType
    3277             : /*  7016*/        0, /*End of Scope*/
    3278             : /*  7017*/      /*SwitchOpcode*/ 51|128,5/*691*/, TARGET_VAL(ISD::AND),// ->7712
    3279             : /*  7021*/        OPC_Scope, 21|128,2/*277*/, /*->7301*/ // 4 children in Scope
    3280             : /*  7024*/          OPC_MoveChild0,
    3281             : /*  7025*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3282             : /*  7028*/          OPC_RecordMemRef,
    3283             : /*  7029*/          OPC_RecordNode, // #1 = 'ld' chained node
    3284             : /*  7030*/          OPC_CheckFoldableChainNode,
    3285             : /*  7031*/          OPC_RecordChild1, // #2 = $dst
    3286             : /*  7032*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    3287             : /*  7034*/          OPC_CheckPredicate, 9, // Predicate_load
    3288             : /*  7036*/          OPC_MoveParent,
    3289             : /*  7037*/          OPC_RecordChild1, // #3 = $src
    3290             : /*  7038*/          OPC_MoveChild1,
    3291             : /*  7039*/          OPC_Scope, 25|128,1/*153*/, /*->7195*/ // 4 children in Scope
    3292             : /*  7042*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3293             : /*  7045*/            OPC_Scope, 35, /*->7082*/ // 4 children in Scope
    3294             : /*  7047*/              OPC_CheckPredicate, 13, // Predicate_i16immSExt8
    3295             : /*  7049*/              OPC_CheckPredicate, 14, // Predicate_i16immSExt8_su
    3296             : /*  7051*/              OPC_MoveParent,
    3297             : /*  7052*/              OPC_CheckType, MVT::i16,
    3298             : /*  7054*/              OPC_MoveParent,
    3299             : /*  7055*/              OPC_CheckChild2Same, 2,
    3300             : /*  7057*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3301             : /*  7059*/              OPC_CheckPredicate, 1, // Predicate_store
    3302             : /*  7061*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3303             : /*  7064*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    3304             : /*  7068*/              OPC_EmitConvertToTarget, 3,
    3305             : /*  7070*/              OPC_MorphNodeTo1, TARGET_VAL(X86::AND16mi8), 0|OPFL_Chain|OPFL_MemRefs,
    3306             :                             MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3307             :                         // Src: (st (and:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_i16immSExt8>><<P:Predicate_i16immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3308             :                         // Dst: (AND16mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
    3309             : /*  7082*/            /*Scope*/ 35, /*->7118*/
    3310             : /*  7083*/              OPC_CheckPredicate, 13, // Predicate_i32immSExt8
    3311             : /*  7085*/              OPC_CheckPredicate, 14, // Predicate_i32immSExt8_su
    3312             : /*  7087*/              OPC_MoveParent,
    3313             : /*  7088*/              OPC_CheckType, MVT::i32,
    3314             : /*  7090*/              OPC_MoveParent,
    3315             : /*  7091*/              OPC_CheckChild2Same, 2,
    3316             : /*  7093*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3317             : /*  7095*/              OPC_CheckPredicate, 1, // Predicate_store
    3318             : /*  7097*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3319             : /*  7100*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    3320             : /*  7104*/              OPC_EmitConvertToTarget, 3,
    3321             : /*  7106*/              OPC_MorphNodeTo1, TARGET_VAL(X86::AND32mi8), 0|OPFL_Chain|OPFL_MemRefs,
    3322             :                             MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3323             :                         // Src: (st (and:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>><<P:Predicate_i32immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3324             :                         // Dst: (AND32mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
    3325             : /*  7118*/            /*Scope*/ 37, /*->7156*/
    3326             : /*  7119*/              OPC_CheckPredicate, 13, // Predicate_i64immSExt8
    3327             : /*  7121*/              OPC_CheckPredicate, 14, // Predicate_i64immSExt8_su
    3328             : /*  7123*/              OPC_MoveParent,
    3329             : /*  7124*/              OPC_CheckType, MVT::i64,
    3330             : /*  7126*/              OPC_MoveParent,
    3331             : /*  7127*/              OPC_CheckChild2Same, 2,
    3332             : /*  7129*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3333             : /*  7131*/              OPC_CheckPredicate, 1, // Predicate_store
    3334             : /*  7133*/              OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    3335             : /*  7135*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3336             : /*  7138*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    3337             : /*  7142*/              OPC_EmitConvertToTarget, 3,
    3338             : /*  7144*/              OPC_MorphNodeTo1, TARGET_VAL(X86::AND64mi8), 0|OPFL_Chain|OPFL_MemRefs,
    3339             :                             MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3340             :                         // Src: (st (and:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>><<P:Predicate_i64immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3341             :                         // Dst: (AND64mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    3342             : /*  7156*/            /*Scope*/ 37, /*->7194*/
    3343             : /*  7157*/              OPC_CheckPredicate, 15, // Predicate_i64immSExt32
    3344             : /*  7159*/              OPC_CheckPredicate, 14, // Predicate_i64immSExt32_su
    3345             : /*  7161*/              OPC_MoveParent,
    3346             : /*  7162*/              OPC_CheckType, MVT::i64,
    3347             : /*  7164*/              OPC_MoveParent,
    3348             : /*  7165*/              OPC_CheckChild2Same, 2,
    3349             : /*  7167*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3350             : /*  7169*/              OPC_CheckPredicate, 1, // Predicate_store
    3351             : /*  7171*/              OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    3352             : /*  7173*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3353             : /*  7176*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    3354             : /*  7180*/              OPC_EmitConvertToTarget, 3,
    3355             : /*  7182*/              OPC_MorphNodeTo1, TARGET_VAL(X86::AND64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    3356             :                             MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3357             :                         // Src: (st (and:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>><<P:Predicate_i64immSExt32_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3358             :                         // Dst: (AND64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    3359             : /*  7194*/            0, /*End of Scope*/
    3360             : /*  7195*/          /*Scope*/ 34, /*->7230*/
    3361             : /*  7196*/            OPC_CheckPredicate, 16, // Predicate_imm8_su
    3362             : /*  7198*/            OPC_MoveParent,
    3363             : /*  7199*/            OPC_CheckType, MVT::i8,
    3364             : /*  7201*/            OPC_MoveParent,
    3365             : /*  7202*/            OPC_CheckChild2Same, 2,
    3366             : /*  7204*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3367             : /*  7206*/            OPC_CheckPredicate, 1, // Predicate_store
    3368             : /*  7208*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3369             : /*  7211*/            OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    3370             : /*  7214*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3371             : /*  7218*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND8mi), 0|OPFL_Chain|OPFL_MemRefs,
    3372             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3373             :                       // Src: (st (and:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3374             :                       // Dst: (AND8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    3375             : /*  7230*/          /*Scope*/ 34, /*->7265*/
    3376             : /*  7231*/            OPC_CheckPredicate, 16, // Predicate_imm16_su
    3377             : /*  7233*/            OPC_MoveParent,
    3378             : /*  7234*/            OPC_CheckType, MVT::i16,
    3379             : /*  7236*/            OPC_MoveParent,
    3380             : /*  7237*/            OPC_CheckChild2Same, 2,
    3381             : /*  7239*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3382             : /*  7241*/            OPC_CheckPredicate, 1, // Predicate_store
    3383             : /*  7243*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3384             : /*  7246*/            OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    3385             : /*  7249*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3386             : /*  7253*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND16mi), 0|OPFL_Chain|OPFL_MemRefs,
    3387             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3388             :                       // Src: (st (and:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3389             :                       // Dst: (AND16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    3390             : /*  7265*/          /*Scope*/ 34, /*->7300*/
    3391             : /*  7266*/            OPC_CheckPredicate, 16, // Predicate_imm32_su
    3392             : /*  7268*/            OPC_MoveParent,
    3393             : /*  7269*/            OPC_CheckType, MVT::i32,
    3394             : /*  7271*/            OPC_MoveParent,
    3395             : /*  7272*/            OPC_CheckChild2Same, 2,
    3396             : /*  7274*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3397             : /*  7276*/            OPC_CheckPredicate, 1, // Predicate_store
    3398             : /*  7278*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3399             : /*  7281*/            OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    3400             : /*  7284*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3401             : /*  7288*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND32mi), 0|OPFL_Chain|OPFL_MemRefs,
    3402             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3403             :                       // Src: (st (and:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3404             :                       // Dst: (AND32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    3405             : /*  7300*/          0, /*End of Scope*/
    3406             : /*  7301*/        /*Scope*/ 20|128,1/*148*/, /*->7451*/
    3407             : /*  7303*/          OPC_RecordChild0, // #1 = $src
    3408             : /*  7304*/          OPC_MoveChild0,
    3409             : /*  7305*/          OPC_Scope, 47, /*->7354*/ // 3 children in Scope
    3410             : /*  7307*/            OPC_CheckPredicate, 16, // Predicate_imm8_su
    3411             : /*  7309*/            OPC_MoveParent,
    3412             : /*  7310*/            OPC_MoveChild1,
    3413             : /*  7311*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3414             : /*  7314*/            OPC_RecordMemRef,
    3415             : /*  7315*/            OPC_RecordNode, // #2 = 'ld' chained node
    3416             : /*  7316*/            OPC_CheckFoldableChainNode,
    3417             : /*  7317*/            OPC_RecordChild1, // #3 = $dst
    3418             : /*  7318*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    3419             : /*  7320*/            OPC_CheckPredicate, 9, // Predicate_load
    3420             : /*  7322*/            OPC_MoveParent,
    3421             : /*  7323*/            OPC_CheckType, MVT::i8,
    3422             : /*  7325*/            OPC_MoveParent,
    3423             : /*  7326*/            OPC_CheckChild2Same, 3,
    3424             : /*  7328*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3425             : /*  7330*/            OPC_CheckPredicate, 1, // Predicate_store
    3426             : /*  7332*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    3427             : /*  7335*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    3428             : /*  7338*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3429             : /*  7342*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND8mi), 0|OPFL_Chain|OPFL_MemRefs,
    3430             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    3431             :                       // Src: (st (and:{ *:[i8] } relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3432             :                       // Dst: (AND8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    3433             : /*  7354*/          /*Scope*/ 47, /*->7402*/
    3434             : /*  7355*/            OPC_CheckPredicate, 16, // Predicate_imm16_su
    3435             : /*  7357*/            OPC_MoveParent,
    3436             : /*  7358*/            OPC_MoveChild1,
    3437             : /*  7359*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3438             : /*  7362*/            OPC_RecordMemRef,
    3439             : /*  7363*/            OPC_RecordNode, // #2 = 'ld' chained node
    3440             : /*  7364*/            OPC_CheckFoldableChainNode,
    3441             : /*  7365*/            OPC_RecordChild1, // #3 = $dst
    3442             : /*  7366*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    3443             : /*  7368*/            OPC_CheckPredicate, 9, // Predicate_load
    3444             : /*  7370*/            OPC_MoveParent,
    3445             : /*  7371*/            OPC_CheckType, MVT::i16,
    3446             : /*  7373*/            OPC_MoveParent,
    3447             : /*  7374*/            OPC_CheckChild2Same, 3,
    3448             : /*  7376*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3449             : /*  7378*/            OPC_CheckPredicate, 1, // Predicate_store
    3450             : /*  7380*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    3451             : /*  7383*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    3452             : /*  7386*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3453             : /*  7390*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND16mi), 0|OPFL_Chain|OPFL_MemRefs,
    3454             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    3455             :                       // Src: (st (and:{ *:[i16] } relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3456             :                       // Dst: (AND16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    3457             : /*  7402*/          /*Scope*/ 47, /*->7450*/
    3458             : /*  7403*/            OPC_CheckPredicate, 16, // Predicate_imm32_su
    3459             : /*  7405*/            OPC_MoveParent,
    3460             : /*  7406*/            OPC_MoveChild1,
    3461             : /*  7407*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3462             : /*  7410*/            OPC_RecordMemRef,
    3463             : /*  7411*/            OPC_RecordNode, // #2 = 'ld' chained node
    3464             : /*  7412*/            OPC_CheckFoldableChainNode,
    3465             : /*  7413*/            OPC_RecordChild1, // #3 = $dst
    3466             : /*  7414*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    3467             : /*  7416*/            OPC_CheckPredicate, 9, // Predicate_load
    3468             : /*  7418*/            OPC_MoveParent,
    3469             : /*  7419*/            OPC_CheckType, MVT::i32,
    3470             : /*  7421*/            OPC_MoveParent,
    3471             : /*  7422*/            OPC_CheckChild2Same, 3,
    3472             : /*  7424*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3473             : /*  7426*/            OPC_CheckPredicate, 1, // Predicate_store
    3474             : /*  7428*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    3475             : /*  7431*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    3476             : /*  7434*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3477             : /*  7438*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND32mi), 0|OPFL_Chain|OPFL_MemRefs,
    3478             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    3479             :                       // Src: (st (and:{ *:[i32] } relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3480             :                       // Dst: (AND32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    3481             : /*  7450*/          0, /*End of Scope*/
    3482             : /*  7451*/        /*Scope*/ 0|128,1/*128*/, /*->7581*/
    3483             : /*  7453*/          OPC_MoveChild0,
    3484             : /*  7454*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3485             : /*  7457*/          OPC_RecordMemRef,
    3486             : /*  7458*/          OPC_RecordNode, // #1 = 'ld' chained node
    3487             : /*  7459*/          OPC_CheckFoldableChainNode,
    3488             : /*  7460*/          OPC_RecordChild1, // #2 = $dst
    3489             : /*  7461*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    3490             : /*  7463*/          OPC_CheckPredicate, 9, // Predicate_load
    3491             : /*  7465*/          OPC_MoveParent,
    3492             : /*  7466*/          OPC_RecordChild1, // #3 = $src
    3493             : /*  7467*/          OPC_SwitchType /*4 cases */, 26, MVT::i8,// ->7496
    3494             : /*  7470*/            OPC_MoveParent,
    3495             : /*  7471*/            OPC_CheckChild2Same, 2,
    3496             : /*  7473*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3497             : /*  7475*/            OPC_CheckPredicate, 1, // Predicate_store
    3498             : /*  7477*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3499             : /*  7480*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3500             : /*  7484*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND8mr), 0|OPFL_Chain|OPFL_MemRefs,
    3501             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3502             :                       // Src: (st (and:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3503             :                       // Dst: (AND8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    3504             : /*  7496*/          /*SwitchType*/ 26, MVT::i16,// ->7524
    3505             : /*  7498*/            OPC_MoveParent,
    3506             : /*  7499*/            OPC_CheckChild2Same, 2,
    3507             : /*  7501*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3508             : /*  7503*/            OPC_CheckPredicate, 1, // Predicate_store
    3509             : /*  7505*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3510             : /*  7508*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3511             : /*  7512*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND16mr), 0|OPFL_Chain|OPFL_MemRefs,
    3512             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3513             :                       // Src: (st (and:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3514             :                       // Dst: (AND16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    3515             : /*  7524*/          /*SwitchType*/ 26, MVT::i32,// ->7552
    3516             : /*  7526*/            OPC_MoveParent,
    3517             : /*  7527*/            OPC_CheckChild2Same, 2,
    3518             : /*  7529*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3519             : /*  7531*/            OPC_CheckPredicate, 1, // Predicate_store
    3520             : /*  7533*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3521             : /*  7536*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3522             : /*  7540*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND32mr), 0|OPFL_Chain|OPFL_MemRefs,
    3523             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3524             :                       // Src: (st (and:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3525             :                       // Dst: (AND32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    3526             : /*  7552*/          /*SwitchType*/ 26, MVT::i64,// ->7580
    3527             : /*  7554*/            OPC_MoveParent,
    3528             : /*  7555*/            OPC_CheckChild2Same, 2,
    3529             : /*  7557*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3530             : /*  7559*/            OPC_CheckPredicate, 1, // Predicate_store
    3531             : /*  7561*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3532             : /*  7564*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3533             : /*  7568*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND64mr), 0|OPFL_Chain|OPFL_MemRefs,
    3534             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3535             :                       // Src: (st (and:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3536             :                       // Dst: (AND64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    3537             : /*  7580*/          0, // EndSwitchType
    3538             : /*  7581*/        /*Scope*/ 0|128,1/*128*/, /*->7711*/
    3539             : /*  7583*/          OPC_RecordChild0, // #1 = $src
    3540             : /*  7584*/          OPC_MoveChild1,
    3541             : /*  7585*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3542             : /*  7588*/          OPC_RecordMemRef,
    3543             : /*  7589*/          OPC_RecordNode, // #2 = 'ld' chained node
    3544             : /*  7590*/          OPC_CheckFoldableChainNode,
    3545             : /*  7591*/          OPC_RecordChild1, // #3 = $dst
    3546             : /*  7592*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    3547             : /*  7594*/          OPC_CheckPredicate, 9, // Predicate_load
    3548             : /*  7596*/          OPC_MoveParent,
    3549             : /*  7597*/          OPC_SwitchType /*4 cases */, 26, MVT::i8,// ->7626
    3550             : /*  7600*/            OPC_MoveParent,
    3551             : /*  7601*/            OPC_CheckChild2Same, 3,
    3552             : /*  7603*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3553             : /*  7605*/            OPC_CheckPredicate, 1, // Predicate_store
    3554             : /*  7607*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3555             : /*  7610*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3556             : /*  7614*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND8mr), 0|OPFL_Chain|OPFL_MemRefs,
    3557             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3558             :                       // Src: (st (and:{ *:[i8] } GR8:{ *:[i8] }:$src, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3559             :                       // Dst: (AND8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    3560             : /*  7626*/          /*SwitchType*/ 26, MVT::i16,// ->7654
    3561             : /*  7628*/            OPC_MoveParent,
    3562             : /*  7629*/            OPC_CheckChild2Same, 3,
    3563             : /*  7631*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3564             : /*  7633*/            OPC_CheckPredicate, 1, // Predicate_store
    3565             : /*  7635*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3566             : /*  7638*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3567             : /*  7642*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND16mr), 0|OPFL_Chain|OPFL_MemRefs,
    3568             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3569             :                       // Src: (st (and:{ *:[i16] } GR16:{ *:[i16] }:$src, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3570             :                       // Dst: (AND16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    3571             : /*  7654*/          /*SwitchType*/ 26, MVT::i32,// ->7682
    3572             : /*  7656*/            OPC_MoveParent,
    3573             : /*  7657*/            OPC_CheckChild2Same, 3,
    3574             : /*  7659*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3575             : /*  7661*/            OPC_CheckPredicate, 1, // Predicate_store
    3576             : /*  7663*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3577             : /*  7666*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3578             : /*  7670*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND32mr), 0|OPFL_Chain|OPFL_MemRefs,
    3579             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3580             :                       // Src: (st (and:{ *:[i32] } GR32:{ *:[i32] }:$src, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3581             :                       // Dst: (AND32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    3582             : /*  7682*/          /*SwitchType*/ 26, MVT::i64,// ->7710
    3583             : /*  7684*/            OPC_MoveParent,
    3584             : /*  7685*/            OPC_CheckChild2Same, 3,
    3585             : /*  7687*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3586             : /*  7689*/            OPC_CheckPredicate, 1, // Predicate_store
    3587             : /*  7691*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3588             : /*  7694*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3589             : /*  7698*/            OPC_MorphNodeTo1, TARGET_VAL(X86::AND64mr), 0|OPFL_Chain|OPFL_MemRefs,
    3590             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3591             :                       // Src: (st (and:{ *:[i64] } GR64:{ *:[i64] }:$src, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3592             :                       // Dst: (AND64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    3593             : /*  7710*/          0, // EndSwitchType
    3594             : /*  7711*/        0, /*End of Scope*/
    3595             : /*  7712*/      /*SwitchOpcode*/ 51|128,5/*691*/, TARGET_VAL(ISD::OR),// ->8407
    3596             : /*  7716*/        OPC_Scope, 21|128,2/*277*/, /*->7996*/ // 4 children in Scope
    3597             : /*  7719*/          OPC_MoveChild0,
    3598             : /*  7720*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3599             : /*  7723*/          OPC_RecordMemRef,
    3600             : /*  7724*/          OPC_RecordNode, // #1 = 'ld' chained node
    3601             : /*  7725*/          OPC_CheckFoldableChainNode,
    3602             : /*  7726*/          OPC_RecordChild1, // #2 = $dst
    3603             : /*  7727*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    3604             : /*  7729*/          OPC_CheckPredicate, 9, // Predicate_load
    3605             : /*  7731*/          OPC_MoveParent,
    3606             : /*  7732*/          OPC_RecordChild1, // #3 = $src
    3607             : /*  7733*/          OPC_MoveChild1,
    3608             : /*  7734*/          OPC_Scope, 25|128,1/*153*/, /*->7890*/ // 4 children in Scope
    3609             : /*  7737*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3610             : /*  7740*/            OPC_Scope, 35, /*->7777*/ // 4 children in Scope
    3611             : /*  7742*/              OPC_CheckPredicate, 13, // Predicate_i16immSExt8
    3612             : /*  7744*/              OPC_CheckPredicate, 14, // Predicate_i16immSExt8_su
    3613             : /*  7746*/              OPC_MoveParent,
    3614             : /*  7747*/              OPC_CheckType, MVT::i16,
    3615             : /*  7749*/              OPC_MoveParent,
    3616             : /*  7750*/              OPC_CheckChild2Same, 2,
    3617             : /*  7752*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3618             : /*  7754*/              OPC_CheckPredicate, 1, // Predicate_store
    3619             : /*  7756*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3620             : /*  7759*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    3621             : /*  7763*/              OPC_EmitConvertToTarget, 3,
    3622             : /*  7765*/              OPC_MorphNodeTo1, TARGET_VAL(X86::OR16mi8), 0|OPFL_Chain|OPFL_MemRefs,
    3623             :                             MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3624             :                         // Src: (st (or:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_i16immSExt8>><<P:Predicate_i16immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3625             :                         // Dst: (OR16mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
    3626             : /*  7777*/            /*Scope*/ 35, /*->7813*/
    3627             : /*  7778*/              OPC_CheckPredicate, 13, // Predicate_i32immSExt8
    3628             : /*  7780*/              OPC_CheckPredicate, 14, // Predicate_i32immSExt8_su
    3629             : /*  7782*/              OPC_MoveParent,
    3630             : /*  7783*/              OPC_CheckType, MVT::i32,
    3631             : /*  7785*/              OPC_MoveParent,
    3632             : /*  7786*/              OPC_CheckChild2Same, 2,
    3633             : /*  7788*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3634             : /*  7790*/              OPC_CheckPredicate, 1, // Predicate_store
    3635             : /*  7792*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3636             : /*  7795*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    3637             : /*  7799*/              OPC_EmitConvertToTarget, 3,
    3638             : /*  7801*/              OPC_MorphNodeTo1, TARGET_VAL(X86::OR32mi8), 0|OPFL_Chain|OPFL_MemRefs,
    3639             :                             MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3640             :                         // Src: (st (or:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>><<P:Predicate_i32immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3641             :                         // Dst: (OR32mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
    3642             : /*  7813*/            /*Scope*/ 37, /*->7851*/
    3643             : /*  7814*/              OPC_CheckPredicate, 13, // Predicate_i64immSExt8
    3644             : /*  7816*/              OPC_CheckPredicate, 14, // Predicate_i64immSExt8_su
    3645             : /*  7818*/              OPC_MoveParent,
    3646             : /*  7819*/              OPC_CheckType, MVT::i64,
    3647             : /*  7821*/              OPC_MoveParent,
    3648             : /*  7822*/              OPC_CheckChild2Same, 2,
    3649             : /*  7824*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3650             : /*  7826*/              OPC_CheckPredicate, 1, // Predicate_store
    3651             : /*  7828*/              OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    3652             : /*  7830*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3653             : /*  7833*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    3654             : /*  7837*/              OPC_EmitConvertToTarget, 3,
    3655             : /*  7839*/              OPC_MorphNodeTo1, TARGET_VAL(X86::OR64mi8), 0|OPFL_Chain|OPFL_MemRefs,
    3656             :                             MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3657             :                         // Src: (st (or:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>><<P:Predicate_i64immSExt8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3658             :                         // Dst: (OR64mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    3659             : /*  7851*/            /*Scope*/ 37, /*->7889*/
    3660             : /*  7852*/              OPC_CheckPredicate, 15, // Predicate_i64immSExt32
    3661             : /*  7854*/              OPC_CheckPredicate, 14, // Predicate_i64immSExt32_su
    3662             : /*  7856*/              OPC_MoveParent,
    3663             : /*  7857*/              OPC_CheckType, MVT::i64,
    3664             : /*  7859*/              OPC_MoveParent,
    3665             : /*  7860*/              OPC_CheckChild2Same, 2,
    3666             : /*  7862*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3667             : /*  7864*/              OPC_CheckPredicate, 1, // Predicate_store
    3668             : /*  7866*/              OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    3669             : /*  7868*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3670             : /*  7871*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    3671             : /*  7875*/              OPC_EmitConvertToTarget, 3,
    3672             : /*  7877*/              OPC_MorphNodeTo1, TARGET_VAL(X86::OR64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    3673             :                             MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3674             :                         // Src: (st (or:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>><<P:Predicate_i64immSExt32_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3675             :                         // Dst: (OR64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    3676             : /*  7889*/            0, /*End of Scope*/
    3677             : /*  7890*/          /*Scope*/ 34, /*->7925*/
    3678             : /*  7891*/            OPC_CheckPredicate, 16, // Predicate_imm8_su
    3679             : /*  7893*/            OPC_MoveParent,
    3680             : /*  7894*/            OPC_CheckType, MVT::i8,
    3681             : /*  7896*/            OPC_MoveParent,
    3682             : /*  7897*/            OPC_CheckChild2Same, 2,
    3683             : /*  7899*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3684             : /*  7901*/            OPC_CheckPredicate, 1, // Predicate_store
    3685             : /*  7903*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3686             : /*  7906*/            OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    3687             : /*  7909*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3688             : /*  7913*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR8mi), 0|OPFL_Chain|OPFL_MemRefs,
    3689             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3690             :                       // Src: (st (or:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3691             :                       // Dst: (OR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    3692             : /*  7925*/          /*Scope*/ 34, /*->7960*/
    3693             : /*  7926*/            OPC_CheckPredicate, 16, // Predicate_imm16_su
    3694             : /*  7928*/            OPC_MoveParent,
    3695             : /*  7929*/            OPC_CheckType, MVT::i16,
    3696             : /*  7931*/            OPC_MoveParent,
    3697             : /*  7932*/            OPC_CheckChild2Same, 2,
    3698             : /*  7934*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3699             : /*  7936*/            OPC_CheckPredicate, 1, // Predicate_store
    3700             : /*  7938*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3701             : /*  7941*/            OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    3702             : /*  7944*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3703             : /*  7948*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR16mi), 0|OPFL_Chain|OPFL_MemRefs,
    3704             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3705             :                       // Src: (st (or:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3706             :                       // Dst: (OR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    3707             : /*  7960*/          /*Scope*/ 34, /*->7995*/
    3708             : /*  7961*/            OPC_CheckPredicate, 16, // Predicate_imm32_su
    3709             : /*  7963*/            OPC_MoveParent,
    3710             : /*  7964*/            OPC_CheckType, MVT::i32,
    3711             : /*  7966*/            OPC_MoveParent,
    3712             : /*  7967*/            OPC_CheckChild2Same, 2,
    3713             : /*  7969*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3714             : /*  7971*/            OPC_CheckPredicate, 1, // Predicate_store
    3715             : /*  7973*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3716             : /*  7976*/            OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #9
    3717             : /*  7979*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3718             : /*  7983*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR32mi), 0|OPFL_Chain|OPFL_MemRefs,
    3719             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 9, 
    3720             :                       // Src: (st (or:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3721             :                       // Dst: (OR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    3722             : /*  7995*/          0, /*End of Scope*/
    3723             : /*  7996*/        /*Scope*/ 20|128,1/*148*/, /*->8146*/
    3724             : /*  7998*/          OPC_RecordChild0, // #1 = $src
    3725             : /*  7999*/          OPC_MoveChild0,
    3726             : /*  8000*/          OPC_Scope, 47, /*->8049*/ // 3 children in Scope
    3727             : /*  8002*/            OPC_CheckPredicate, 16, // Predicate_imm8_su
    3728             : /*  8004*/            OPC_MoveParent,
    3729             : /*  8005*/            OPC_MoveChild1,
    3730             : /*  8006*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3731             : /*  8009*/            OPC_RecordMemRef,
    3732             : /*  8010*/            OPC_RecordNode, // #2 = 'ld' chained node
    3733             : /*  8011*/            OPC_CheckFoldableChainNode,
    3734             : /*  8012*/            OPC_RecordChild1, // #3 = $dst
    3735             : /*  8013*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    3736             : /*  8015*/            OPC_CheckPredicate, 9, // Predicate_load
    3737             : /*  8017*/            OPC_MoveParent,
    3738             : /*  8018*/            OPC_CheckType, MVT::i8,
    3739             : /*  8020*/            OPC_MoveParent,
    3740             : /*  8021*/            OPC_CheckChild2Same, 3,
    3741             : /*  8023*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3742             : /*  8025*/            OPC_CheckPredicate, 1, // Predicate_store
    3743             : /*  8027*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    3744             : /*  8030*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    3745             : /*  8033*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3746             : /*  8037*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR8mi), 0|OPFL_Chain|OPFL_MemRefs,
    3747             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    3748             :                       // Src: (st (or:{ *:[i8] } relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3749             :                       // Dst: (OR8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    3750             : /*  8049*/          /*Scope*/ 47, /*->8097*/
    3751             : /*  8050*/            OPC_CheckPredicate, 16, // Predicate_imm16_su
    3752             : /*  8052*/            OPC_MoveParent,
    3753             : /*  8053*/            OPC_MoveChild1,
    3754             : /*  8054*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3755             : /*  8057*/            OPC_RecordMemRef,
    3756             : /*  8058*/            OPC_RecordNode, // #2 = 'ld' chained node
    3757             : /*  8059*/            OPC_CheckFoldableChainNode,
    3758             : /*  8060*/            OPC_RecordChild1, // #3 = $dst
    3759             : /*  8061*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    3760             : /*  8063*/            OPC_CheckPredicate, 9, // Predicate_load
    3761             : /*  8065*/            OPC_MoveParent,
    3762             : /*  8066*/            OPC_CheckType, MVT::i16,
    3763             : /*  8068*/            OPC_MoveParent,
    3764             : /*  8069*/            OPC_CheckChild2Same, 3,
    3765             : /*  8071*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3766             : /*  8073*/            OPC_CheckPredicate, 1, // Predicate_store
    3767             : /*  8075*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    3768             : /*  8078*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    3769             : /*  8081*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3770             : /*  8085*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR16mi), 0|OPFL_Chain|OPFL_MemRefs,
    3771             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    3772             :                       // Src: (st (or:{ *:[i16] } relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3773             :                       // Dst: (OR16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    3774             : /*  8097*/          /*Scope*/ 47, /*->8145*/
    3775             : /*  8098*/            OPC_CheckPredicate, 16, // Predicate_imm32_su
    3776             : /*  8100*/            OPC_MoveParent,
    3777             : /*  8101*/            OPC_MoveChild1,
    3778             : /*  8102*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3779             : /*  8105*/            OPC_RecordMemRef,
    3780             : /*  8106*/            OPC_RecordNode, // #2 = 'ld' chained node
    3781             : /*  8107*/            OPC_CheckFoldableChainNode,
    3782             : /*  8108*/            OPC_RecordChild1, // #3 = $dst
    3783             : /*  8109*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
    3784             : /*  8111*/            OPC_CheckPredicate, 9, // Predicate_load
    3785             : /*  8113*/            OPC_MoveParent,
    3786             : /*  8114*/            OPC_CheckType, MVT::i32,
    3787             : /*  8116*/            OPC_MoveParent,
    3788             : /*  8117*/            OPC_CheckChild2Same, 3,
    3789             : /*  8119*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3790             : /*  8121*/            OPC_CheckPredicate, 1, // Predicate_store
    3791             : /*  8123*/            OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #4
    3792             : /*  8126*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    3793             : /*  8129*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3794             : /*  8133*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR32mi), 0|OPFL_Chain|OPFL_MemRefs,
    3795             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 4, 
    3796             :                       // Src: (st (or:{ *:[i32] } relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    3797             :                       // Dst: (OR32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    3798             : /*  8145*/          0, /*End of Scope*/
    3799             : /*  8146*/        /*Scope*/ 0|128,1/*128*/, /*->8276*/
    3800             : /*  8148*/          OPC_MoveChild0,
    3801             : /*  8149*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3802             : /*  8152*/          OPC_RecordMemRef,
    3803             : /*  8153*/          OPC_RecordNode, // #1 = 'ld' chained node
    3804             : /*  8154*/          OPC_CheckFoldableChainNode,
    3805             : /*  8155*/          OPC_RecordChild1, // #2 = $dst
    3806             : /*  8156*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    3807             : /*  8158*/          OPC_CheckPredicate, 9, // Predicate_load
    3808             : /*  8160*/          OPC_MoveParent,
    3809             : /*  8161*/          OPC_RecordChild1, // #3 = $src
    3810             : /*  8162*/          OPC_SwitchType /*4 cases */, 26, MVT::i8,// ->8191
    3811             : /*  8165*/            OPC_MoveParent,
    3812             : /*  8166*/            OPC_CheckChild2Same, 2,
    3813             : /*  8168*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3814             : /*  8170*/            OPC_CheckPredicate, 1, // Predicate_store
    3815             : /*  8172*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3816             : /*  8175*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3817             : /*  8179*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR8mr), 0|OPFL_Chain|OPFL_MemRefs,
    3818             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3819             :                       // Src: (st (or:{ *:[i8] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3820             :                       // Dst: (OR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    3821             : /*  8191*/          /*SwitchType*/ 26, MVT::i16,// ->8219
    3822             : /*  8193*/            OPC_MoveParent,
    3823             : /*  8194*/            OPC_CheckChild2Same, 2,
    3824             : /*  8196*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3825             : /*  8198*/            OPC_CheckPredicate, 1, // Predicate_store
    3826             : /*  8200*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3827             : /*  8203*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3828             : /*  8207*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR16mr), 0|OPFL_Chain|OPFL_MemRefs,
    3829             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3830             :                       // Src: (st (or:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3831             :                       // Dst: (OR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    3832             : /*  8219*/          /*SwitchType*/ 26, MVT::i32,// ->8247
    3833             : /*  8221*/            OPC_MoveParent,
    3834             : /*  8222*/            OPC_CheckChild2Same, 2,
    3835             : /*  8224*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3836             : /*  8226*/            OPC_CheckPredicate, 1, // Predicate_store
    3837             : /*  8228*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3838             : /*  8231*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3839             : /*  8235*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR32mr), 0|OPFL_Chain|OPFL_MemRefs,
    3840             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3841             :                       // Src: (st (or:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3842             :                       // Dst: (OR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    3843             : /*  8247*/          /*SwitchType*/ 26, MVT::i64,// ->8275
    3844             : /*  8249*/            OPC_MoveParent,
    3845             : /*  8250*/            OPC_CheckChild2Same, 2,
    3846             : /*  8252*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3847             : /*  8254*/            OPC_CheckPredicate, 1, // Predicate_store
    3848             : /*  8256*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    3849             : /*  8259*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    3850             : /*  8263*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR64mr), 0|OPFL_Chain|OPFL_MemRefs,
    3851             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    3852             :                       // Src: (st (or:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3853             :                       // Dst: (OR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    3854             : /*  8275*/          0, // EndSwitchType
    3855             : /*  8276*/        /*Scope*/ 0|128,1/*128*/, /*->8406*/
    3856             : /*  8278*/          OPC_RecordChild0, // #1 = $src
    3857             : /*  8279*/          OPC_MoveChild1,
    3858             : /*  8280*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3859             : /*  8283*/          OPC_RecordMemRef,
    3860             : /*  8284*/          OPC_RecordNode, // #2 = 'ld' chained node
    3861             : /*  8285*/          OPC_CheckFoldableChainNode,
    3862             : /*  8286*/          OPC_RecordChild1, // #3 = $dst
    3863             : /*  8287*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    3864             : /*  8289*/          OPC_CheckPredicate, 9, // Predicate_load
    3865             : /*  8291*/          OPC_MoveParent,
    3866             : /*  8292*/          OPC_SwitchType /*4 cases */, 26, MVT::i8,// ->8321
    3867             : /*  8295*/            OPC_MoveParent,
    3868             : /*  8296*/            OPC_CheckChild2Same, 3,
    3869             : /*  8298*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3870             : /*  8300*/            OPC_CheckPredicate, 1, // Predicate_store
    3871             : /*  8302*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3872             : /*  8305*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3873             : /*  8309*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR8mr), 0|OPFL_Chain|OPFL_MemRefs,
    3874             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3875             :                       // Src: (st (or:{ *:[i8] } GR8:{ *:[i8] }:$src, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3876             :                       // Dst: (OR8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    3877             : /*  8321*/          /*SwitchType*/ 26, MVT::i16,// ->8349
    3878             : /*  8323*/            OPC_MoveParent,
    3879             : /*  8324*/            OPC_CheckChild2Same, 3,
    3880             : /*  8326*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3881             : /*  8328*/            OPC_CheckPredicate, 1, // Predicate_store
    3882             : /*  8330*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3883             : /*  8333*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3884             : /*  8337*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR16mr), 0|OPFL_Chain|OPFL_MemRefs,
    3885             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3886             :                       // Src: (st (or:{ *:[i16] } GR16:{ *:[i16] }:$src, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3887             :                       // Dst: (OR16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    3888             : /*  8349*/          /*SwitchType*/ 26, MVT::i32,// ->8377
    3889             : /*  8351*/            OPC_MoveParent,
    3890             : /*  8352*/            OPC_CheckChild2Same, 3,
    3891             : /*  8354*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3892             : /*  8356*/            OPC_CheckPredicate, 1, // Predicate_store
    3893             : /*  8358*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3894             : /*  8361*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3895             : /*  8365*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR32mr), 0|OPFL_Chain|OPFL_MemRefs,
    3896             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3897             :                       // Src: (st (or:{ *:[i32] } GR32:{ *:[i32] }:$src, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3898             :                       // Dst: (OR32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    3899             : /*  8377*/          /*SwitchType*/ 26, MVT::i64,// ->8405
    3900             : /*  8379*/            OPC_MoveParent,
    3901             : /*  8380*/            OPC_CheckChild2Same, 3,
    3902             : /*  8382*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3903             : /*  8384*/            OPC_CheckPredicate, 1, // Predicate_store
    3904             : /*  8386*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    3905             : /*  8389*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    3906             : /*  8393*/            OPC_MorphNodeTo1, TARGET_VAL(X86::OR64mr), 0|OPFL_Chain|OPFL_MemRefs,
    3907             :                           MVT::i32, 6/*#Ops*/, 4, 5, 6, 7, 8, 1, 
    3908             :                       // Src: (st (or:{ *:[i64] } GR64:{ *:[i64] }:$src, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    3909             :                       // Dst: (OR64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    3910             : /*  8405*/          0, // EndSwitchType
    3911             : /*  8406*/        0, /*End of Scope*/
    3912             : /*  8407*/      /*SwitchOpcode*/ 88|128,4/*600*/, TARGET_VAL(X86ISD::ADC),// ->9011
    3913             : /*  8411*/        OPC_Scope, 53|128,3/*437*/, /*->8851*/ // 2 children in Scope
    3914             : /*  8414*/          OPC_MoveChild0,
    3915             : /*  8415*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    3916             : /*  8418*/          OPC_RecordMemRef,
    3917             : /*  8419*/          OPC_RecordNode, // #1 = 'ld' chained node
    3918             : /*  8420*/          OPC_CheckFoldableChainNode,
    3919             : /*  8421*/          OPC_RecordChild1, // #2 = $dst
    3920             : /*  8422*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    3921             : /*  8424*/          OPC_CheckPredicate, 9, // Predicate_load
    3922             : /*  8426*/          OPC_MoveParent,
    3923             : /*  8427*/          OPC_RecordChild1, // #3 = $src
    3924             : /*  8428*/          OPC_Scope, 35|128,2/*291*/, /*->8722*/ // 2 children in Scope
    3925             : /*  8431*/            OPC_MoveChild1,
    3926             : /*  8432*/            OPC_Scope, 41|128,1/*169*/, /*->8604*/ // 4 children in Scope
    3927             : /*  8435*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    3928             : /*  8438*/              OPC_Scope, 39, /*->8479*/ // 4 children in Scope
    3929             : /*  8440*/                OPC_CheckPredicate, 13, // Predicate_i16immSExt8
    3930             : /*  8442*/                OPC_CheckPredicate, 14, // Predicate_i16immSExt8_su
    3931             : /*  8444*/                OPC_MoveParent,
    3932             : /*  8445*/                OPC_RecordChild2, // #4 = physreg input EFLAGS
    3933             : /*  8446*/                OPC_CheckType, MVT::i16,
    3934             : /*  8448*/                OPC_MoveParent,
    3935             : /*  8449*/                OPC_CheckChild2Same, 2,
    3936             : /*  8451*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3937             : /*  8453*/                OPC_CheckPredicate, 1, // Predicate_store
    3938             : /*  8455*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    3939             : /*  8458*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    3940             : /*  8462*/                OPC_EmitConvertToTarget, 3,
    3941             : /*  8464*/                OPC_EmitCopyToReg, 4, X86::EFLAGS,
    3942             : /*  8467*/                OPC_MorphNodeTo1, TARGET_VAL(X86::ADC16mi8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    3943             :                               MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    3944             :                           // Src: (st (X86adc_flag:{ *:[i16] }:{ *:[i32] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_i16immSExt8>><<P:Predicate_i16immSExt8_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3945             :                           // Dst: (ADC16mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
    3946             : /*  8479*/              /*Scope*/ 39, /*->8519*/
    3947             : /*  8480*/                OPC_CheckPredicate, 13, // Predicate_i32immSExt8
    3948             : /*  8482*/                OPC_CheckPredicate, 14, // Predicate_i32immSExt8_su
    3949             : /*  8484*/                OPC_MoveParent,
    3950             : /*  8485*/                OPC_RecordChild2, // #4 = physreg input EFLAGS
    3951             : /*  8486*/                OPC_CheckType, MVT::i32,
    3952             : /*  8488*/                OPC_MoveParent,
    3953             : /*  8489*/                OPC_CheckChild2Same, 2,
    3954             : /*  8491*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3955             : /*  8493*/                OPC_CheckPredicate, 1, // Predicate_store
    3956             : /*  8495*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    3957             : /*  8498*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    3958             : /*  8502*/                OPC_EmitConvertToTarget, 3,
    3959             : /*  8504*/                OPC_EmitCopyToReg, 4, X86::EFLAGS,
    3960             : /*  8507*/                OPC_MorphNodeTo1, TARGET_VAL(X86::ADC32mi8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    3961             :                               MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    3962             :                           // Src: (st (X86adc_flag:{ *:[i32] }:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>><<P:Predicate_i32immSExt8_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3963             :                           // Dst: (ADC32mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
    3964             : /*  8519*/              /*Scope*/ 41, /*->8561*/
    3965             : /*  8520*/                OPC_CheckPredicate, 13, // Predicate_i64immSExt8
    3966             : /*  8522*/                OPC_CheckPredicate, 14, // Predicate_i64immSExt8_su
    3967             : /*  8524*/                OPC_MoveParent,
    3968             : /*  8525*/                OPC_RecordChild2, // #4 = physreg input EFLAGS
    3969             : /*  8526*/                OPC_CheckType, MVT::i64,
    3970             : /*  8528*/                OPC_MoveParent,
    3971             : /*  8529*/                OPC_CheckChild2Same, 2,
    3972             : /*  8531*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3973             : /*  8533*/                OPC_CheckPredicate, 1, // Predicate_store
    3974             : /*  8535*/                OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    3975             : /*  8537*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    3976             : /*  8540*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    3977             : /*  8544*/                OPC_EmitConvertToTarget, 3,
    3978             : /*  8546*/                OPC_EmitCopyToReg, 4, X86::EFLAGS,
    3979             : /*  8549*/                OPC_MorphNodeTo1, TARGET_VAL(X86::ADC64mi8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    3980             :                               MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    3981             :                           // Src: (st (X86adc_flag:{ *:[i64] }:{ *:[i32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>><<P:Predicate_i64immSExt8_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    3982             :                           // Dst: (ADC64mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    3983             : /*  8561*/              /*Scope*/ 41, /*->8603*/
    3984             : /*  8562*/                OPC_CheckPredicate, 15, // Predicate_i64immSExt32
    3985             : /*  8564*/                OPC_CheckPredicate, 14, // Predicate_i64immSExt32_su
    3986             : /*  8566*/                OPC_MoveParent,
    3987             : /*  8567*/                OPC_RecordChild2, // #4 = physreg input EFLAGS
    3988             : /*  8568*/                OPC_CheckType, MVT::i64,
    3989             : /*  8570*/                OPC_MoveParent,
    3990             : /*  8571*/                OPC_CheckChild2Same, 2,
    3991             : /*  8573*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    3992             : /*  8575*/                OPC_CheckPredicate, 1, // Predicate_store
    3993             : /*  8577*/                OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    3994             : /*  8579*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    3995             : /*  8582*/                OPC_EmitMergeInputChains, 2, 0, 1, 
    3996             : /*  8586*/                OPC_EmitConvertToTarget, 3,
    3997             : /*  8588*/                OPC_EmitCopyToReg, 4, X86::EFLAGS,
    3998             : /*  8591*/                OPC_MorphNodeTo1, TARGET_VAL(X86::ADC64mi32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    3999             :                               MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    4000             :                           // Src: (st (X86adc_flag:{ *:[i64] }:{ *:[i32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>><<P:Predicate_i64immSExt32_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    4001             :                           // Dst: (ADC64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    4002             : /*  8603*/              0, /*End of Scope*/
    4003             : /*  8604*/            /*Scope*/ 38, /*->8643*/
    4004             : /*  8605*/              OPC_CheckPredicate, 16, // Predicate_imm8_su
    4005             : /*  8607*/              OPC_MoveParent,
    4006             : /*  8608*/              OPC_RecordChild2, // #4 = physreg input EFLAGS
    4007             : /*  8609*/              OPC_CheckType, MVT::i8,
    4008             : /*  8611*/              OPC_MoveParent,
    4009             : /*  8612*/              OPC_CheckChild2Same, 2,
    4010             : /*  8614*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4011             : /*  8616*/              OPC_CheckPredicate, 1, // Predicate_store
    4012             : /*  8618*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4013             : /*  8621*/              OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #10
    4014             : /*  8624*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    4015             : /*  8628*/              OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4016             : /*  8631*/              OPC_MorphNodeTo1, TARGET_VAL(X86::ADC8mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4017             :                             MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    4018             :                         // Src: (st (X86adc_flag:{ *:[i8] }:{ *:[i32] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4019             :                         // Dst: (ADC8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    4020             : /*  8643*/            /*Scope*/ 38, /*->8682*/
    4021             : /*  8644*/              OPC_CheckPredicate, 16, // Predicate_imm16_su
    4022             : /*  8646*/              OPC_MoveParent,
    4023             : /*  8647*/              OPC_RecordChild2, // #4 = physreg input EFLAGS
    4024             : /*  8648*/              OPC_CheckType, MVT::i16,
    4025             : /*  8650*/              OPC_MoveParent,
    4026             : /*  8651*/              OPC_CheckChild2Same, 2,
    4027             : /*  8653*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4028             : /*  8655*/              OPC_CheckPredicate, 1, // Predicate_store
    4029             : /*  8657*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4030             : /*  8660*/              OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #10
    4031             : /*  8663*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    4032             : /*  8667*/              OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4033             : /*  8670*/              OPC_MorphNodeTo1, TARGET_VAL(X86::ADC16mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4034             :                             MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    4035             :                         // Src: (st (X86adc_flag:{ *:[i16] }:{ *:[i32] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4036             :                         // Dst: (ADC16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    4037             : /*  8682*/            /*Scope*/ 38, /*->8721*/
    4038             : /*  8683*/              OPC_CheckPredicate, 16, // Predicate_imm32_su
    4039             : /*  8685*/              OPC_MoveParent,
    4040             : /*  8686*/              OPC_RecordChild2, // #4 = physreg input EFLAGS
    4041             : /*  8687*/              OPC_CheckType, MVT::i32,
    4042             : /*  8689*/              OPC_MoveParent,
    4043             : /*  8690*/              OPC_CheckChild2Same, 2,
    4044             : /*  8692*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4045             : /*  8694*/              OPC_CheckPredicate, 1, // Predicate_store
    4046             : /*  8696*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4047             : /*  8699*/              OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #10
    4048             : /*  8702*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    4049             : /*  8706*/              OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4050             : /*  8709*/              OPC_MorphNodeTo1, TARGET_VAL(X86::ADC32mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4051             :                             MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    4052             :                         // Src: (st (X86adc_flag:{ *:[i32] }:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4053             :                         // Dst: (ADC32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    4054             : /*  8721*/            0, /*End of Scope*/
    4055             : /*  8722*/          /*Scope*/ 127, /*->8850*/
    4056             : /*  8723*/            OPC_RecordChild2, // #4 = physreg input EFLAGS
    4057             : /*  8724*/            OPC_SwitchType /*4 cases */, 29, MVT::i8,// ->8756
    4058             : /*  8727*/              OPC_MoveParent,
    4059             : /*  8728*/              OPC_CheckChild2Same, 2,
    4060             : /*  8730*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4061             : /*  8732*/              OPC_CheckPredicate, 1, // Predicate_store
    4062             : /*  8734*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4063             : /*  8737*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    4064             : /*  8741*/              OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4065             : /*  8744*/              OPC_MorphNodeTo1, TARGET_VAL(X86::ADC8mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4066             :                             MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4067             :                         // Src: (st (X86adc_flag:{ *:[i8] }:{ *:[i32] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4068             :                         // Dst: (ADC8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    4069             : /*  8756*/            /*SwitchType*/ 29, MVT::i16,// ->8787
    4070             : /*  8758*/              OPC_MoveParent,
    4071             : /*  8759*/              OPC_CheckChild2Same, 2,
    4072             : /*  8761*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4073             : /*  8763*/              OPC_CheckPredicate, 1, // Predicate_store
    4074             : /*  8765*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4075             : /*  8768*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    4076             : /*  8772*/              OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4077             : /*  8775*/              OPC_MorphNodeTo1, TARGET_VAL(X86::ADC16mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4078             :                             MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4079             :                         // Src: (st (X86adc_flag:{ *:[i16] }:{ *:[i32] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4080             :                         // Dst: (ADC16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    4081             : /*  8787*/            /*SwitchType*/ 29, MVT::i32,// ->8818
    4082             : /*  8789*/              OPC_MoveParent,
    4083             : /*  8790*/              OPC_CheckChild2Same, 2,
    4084             : /*  8792*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4085             : /*  8794*/              OPC_CheckPredicate, 1, // Predicate_store
    4086             : /*  8796*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4087             : /*  8799*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    4088             : /*  8803*/              OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4089             : /*  8806*/              OPC_MorphNodeTo1, TARGET_VAL(X86::ADC32mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4090             :                             MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4091             :                         // Src: (st (X86adc_flag:{ *:[i32] }:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4092             :                         // Dst: (ADC32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    4093             : /*  8818*/            /*SwitchType*/ 29, MVT::i64,// ->8849
    4094             : /*  8820*/              OPC_MoveParent,
    4095             : /*  8821*/              OPC_CheckChild2Same, 2,
    4096             : /*  8823*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4097             : /*  8825*/              OPC_CheckPredicate, 1, // Predicate_store
    4098             : /*  8827*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4099             : /*  8830*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    4100             : /*  8834*/              OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4101             : /*  8837*/              OPC_MorphNodeTo1, TARGET_VAL(X86::ADC64mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4102             :                             MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4103             :                         // Src: (st (X86adc_flag:{ *:[i64] }:{ *:[i32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4104             :                         // Dst: (ADC64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    4105             : /*  8849*/            0, // EndSwitchType
    4106             : /*  8850*/          0, /*End of Scope*/
    4107             : /*  8851*/        /*Scope*/ 29|128,1/*157*/, /*->9010*/
    4108             : /*  8853*/          OPC_RecordChild0, // #1 = $src
    4109             : /*  8854*/          OPC_MoveChild1,
    4110             : /*  8855*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    4111             : /*  8858*/          OPC_RecordMemRef,
    4112             : /*  8859*/          OPC_RecordNode, // #2 = 'ld' chained node
    4113             : /*  8860*/          OPC_CheckFoldableChainNode,
    4114             : /*  8861*/          OPC_RecordChild1, // #3 = $dst
    4115             : /*  8862*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
    4116             : /*  8864*/          OPC_Scope, 35, /*->8901*/ // 4 children in Scope
    4117             : /*  8866*/            OPC_CheckPredicate, 5, // Predicate_loadi8
    4118             : /*  8868*/            OPC_MoveParent,
    4119             : /*  8869*/            OPC_RecordChild2, // #4 = physreg input EFLAGS
    4120             : /*  8870*/            OPC_CheckType, MVT::i8,
    4121             : /*  8872*/            OPC_MoveParent,
    4122             : /*  8873*/            OPC_CheckChild2Same, 3,
    4123             : /*  8875*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4124             : /*  8877*/            OPC_CheckPredicate, 1, // Predicate_store
    4125             : /*  8879*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    4126             : /*  8882*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    4127             : /*  8886*/            OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4128             : /*  8889*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADC8mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4129             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 1, 
    4130             :                       // Src: (st (X86adc_flag:{ *:[i8] }:{ *:[i32] } GR8:{ *:[i8] }:$src, (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi8>>, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4131             :                       // Dst: (ADC8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    4132             : /*  8901*/          /*Scope*/ 35, /*->8937*/
    4133             : /*  8902*/            OPC_CheckPredicate, 7, // Predicate_loadi16
    4134             : /*  8904*/            OPC_MoveParent,
    4135             : /*  8905*/            OPC_RecordChild2, // #4 = physreg input EFLAGS
    4136             : /*  8906*/            OPC_CheckType, MVT::i16,
    4137             : /*  8908*/            OPC_MoveParent,
    4138             : /*  8909*/            OPC_CheckChild2Same, 3,
    4139             : /*  8911*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4140             : /*  8913*/            OPC_CheckPredicate, 1, // Predicate_store
    4141             : /*  8915*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    4142             : /*  8918*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    4143             : /*  8922*/            OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4144             : /*  8925*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADC16mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4145             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 1, 
    4146             :                       // Src: (st (X86adc_flag:{ *:[i16] }:{ *:[i32] } GR16:{ *:[i16] }:$src, (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4147             :                       // Dst: (ADC16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    4148             : /*  8937*/          /*Scope*/ 35, /*->8973*/
    4149             : /*  8938*/            OPC_CheckPredicate, 8, // Predicate_loadi32
    4150             : /*  8940*/            OPC_MoveParent,
    4151             : /*  8941*/            OPC_RecordChild2, // #4 = physreg input EFLAGS
    4152             : /*  8942*/            OPC_CheckType, MVT::i32,
    4153             : /*  8944*/            OPC_MoveParent,
    4154             : /*  8945*/            OPC_CheckChild2Same, 3,
    4155             : /*  8947*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4156             : /*  8949*/            OPC_CheckPredicate, 1, // Predicate_store
    4157             : /*  8951*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    4158             : /*  8954*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    4159             : /*  8958*/            OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4160             : /*  8961*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADC32mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4161             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 1, 
    4162             :                       // Src: (st (X86adc_flag:{ *:[i32] }:{ *:[i32] } GR32:{ *:[i32] }:$src, (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4163             :                       // Dst: (ADC32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    4164             : /*  8973*/          /*Scope*/ 35, /*->9009*/
    4165             : /*  8974*/            OPC_CheckPredicate, 9, // Predicate_load
    4166             : /*  8976*/            OPC_MoveParent,
    4167             : /*  8977*/            OPC_RecordChild2, // #4 = physreg input EFLAGS
    4168             : /*  8978*/            OPC_CheckType, MVT::i64,
    4169             : /*  8980*/            OPC_MoveParent,
    4170             : /*  8981*/            OPC_CheckChild2Same, 3,
    4171             : /*  8983*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4172             : /*  8985*/            OPC_CheckPredicate, 1, // Predicate_store
    4173             : /*  8987*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #5 #6 #7 #8 #9
    4174             : /*  8990*/            OPC_EmitMergeInputChains, 2, 0, 2, 
    4175             : /*  8994*/            OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4176             : /*  8997*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ADC64mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4177             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 1, 
    4178             :                       // Src: (st (X86adc_flag:{ *:[i64] }:{ *:[i32] } GR64:{ *:[i64] }:$src, (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4179             :                       // Dst: (ADC64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    4180             : /*  9009*/          0, /*End of Scope*/
    4181             : /*  9010*/        0, /*End of Scope*/
    4182             : /*  9011*/      /*SwitchOpcode*/ 53|128,3/*437*/, TARGET_VAL(X86ISD::SBB),// ->9452
    4183             : /*  9015*/        OPC_MoveChild0,
    4184             : /*  9016*/        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    4185             : /*  9019*/        OPC_RecordMemRef,
    4186             : /*  9020*/        OPC_RecordNode, // #1 = 'ld' chained node
    4187             : /*  9021*/        OPC_CheckFoldableChainNode,
    4188             : /*  9022*/        OPC_RecordChild1, // #2 = $dst
    4189             : /*  9023*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
    4190             : /*  9025*/        OPC_CheckPredicate, 9, // Predicate_load
    4191             : /*  9027*/        OPC_MoveParent,
    4192             : /*  9028*/        OPC_RecordChild1, // #3 = $src
    4193             : /*  9029*/        OPC_Scope, 35|128,2/*291*/, /*->9323*/ // 2 children in Scope
    4194             : /*  9032*/          OPC_MoveChild1,
    4195             : /*  9033*/          OPC_Scope, 41|128,1/*169*/, /*->9205*/ // 4 children in Scope
    4196             : /*  9036*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4197             : /*  9039*/            OPC_Scope, 39, /*->9080*/ // 4 children in Scope
    4198             : /*  9041*/              OPC_CheckPredicate, 13, // Predicate_i16immSExt8
    4199             : /*  9043*/              OPC_CheckPredicate, 14, // Predicate_i16immSExt8_su
    4200             : /*  9045*/              OPC_MoveParent,
    4201             : /*  9046*/              OPC_RecordChild2, // #4 = physreg input EFLAGS
    4202             : /*  9047*/              OPC_CheckType, MVT::i16,
    4203             : /*  9049*/              OPC_MoveParent,
    4204             : /*  9050*/              OPC_CheckChild2Same, 2,
    4205             : /*  9052*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4206             : /*  9054*/              OPC_CheckPredicate, 1, // Predicate_store
    4207             : /*  9056*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4208             : /*  9059*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    4209             : /*  9063*/              OPC_EmitConvertToTarget, 3,
    4210             : /*  9065*/              OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4211             : /*  9068*/              OPC_MorphNodeTo1, TARGET_VAL(X86::SBB16mi8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4212             :                             MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    4213             :                         // Src: (st (X86sbb_flag:{ *:[i16] }:{ *:[i32] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i16] })<<P:Predicate_i16immSExt8>><<P:Predicate_i16immSExt8_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    4214             :                         // Dst: (SBB16mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i16] }):$src)
    4215             : /*  9080*/            /*Scope*/ 39, /*->9120*/
    4216             : /*  9081*/              OPC_CheckPredicate, 13, // Predicate_i32immSExt8
    4217             : /*  9083*/              OPC_CheckPredicate, 14, // Predicate_i32immSExt8_su
    4218             : /*  9085*/              OPC_MoveParent,
    4219             : /*  9086*/              OPC_RecordChild2, // #4 = physreg input EFLAGS
    4220             : /*  9087*/              OPC_CheckType, MVT::i32,
    4221             : /*  9089*/              OPC_MoveParent,
    4222             : /*  9090*/              OPC_CheckChild2Same, 2,
    4223             : /*  9092*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4224             : /*  9094*/              OPC_CheckPredicate, 1, // Predicate_store
    4225             : /*  9096*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4226             : /*  9099*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    4227             : /*  9103*/              OPC_EmitConvertToTarget, 3,
    4228             : /*  9105*/              OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4229             : /*  9108*/              OPC_MorphNodeTo1, TARGET_VAL(X86::SBB32mi8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4230             :                             MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    4231             :                         // Src: (st (X86sbb_flag:{ *:[i32] }:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i32] })<<P:Predicate_i32immSExt8>><<P:Predicate_i32immSExt8_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    4232             :                         // Dst: (SBB32mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i32] }):$src)
    4233             : /*  9120*/            /*Scope*/ 41, /*->9162*/
    4234             : /*  9121*/              OPC_CheckPredicate, 13, // Predicate_i64immSExt8
    4235             : /*  9123*/              OPC_CheckPredicate, 14, // Predicate_i64immSExt8_su
    4236             : /*  9125*/              OPC_MoveParent,
    4237             : /*  9126*/              OPC_RecordChild2, // #4 = physreg input EFLAGS
    4238             : /*  9127*/              OPC_CheckType, MVT::i64,
    4239             : /*  9129*/              OPC_MoveParent,
    4240             : /*  9130*/              OPC_CheckChild2Same, 2,
    4241             : /*  9132*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4242             : /*  9134*/              OPC_CheckPredicate, 1, // Predicate_store
    4243             : /*  9136*/              OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    4244             : /*  9138*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4245             : /*  9141*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    4246             : /*  9145*/              OPC_EmitConvertToTarget, 3,
    4247             : /*  9147*/              OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4248             : /*  9150*/              OPC_MorphNodeTo1, TARGET_VAL(X86::SBB64mi8), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4249             :                             MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    4250             :                         // Src: (st (X86sbb_flag:{ *:[i64] }:{ *:[i32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt8>><<P:Predicate_i64immSExt8_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    4251             :                         // Dst: (SBB64mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    4252             : /*  9162*/            /*Scope*/ 41, /*->9204*/
    4253             : /*  9163*/              OPC_CheckPredicate, 15, // Predicate_i64immSExt32
    4254             : /*  9165*/              OPC_CheckPredicate, 14, // Predicate_i64immSExt32_su
    4255             : /*  9167*/              OPC_MoveParent,
    4256             : /*  9168*/              OPC_RecordChild2, // #4 = physreg input EFLAGS
    4257             : /*  9169*/              OPC_CheckType, MVT::i64,
    4258             : /*  9171*/              OPC_MoveParent,
    4259             : /*  9172*/              OPC_CheckChild2Same, 2,
    4260             : /*  9174*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4261             : /*  9176*/              OPC_CheckPredicate, 1, // Predicate_store
    4262             : /*  9178*/              OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    4263             : /*  9180*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4264             : /*  9183*/              OPC_EmitMergeInputChains, 2, 0, 1, 
    4265             : /*  9187*/              OPC_EmitConvertToTarget, 3,
    4266             : /*  9189*/              OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4267             : /*  9192*/              OPC_MorphNodeTo1, TARGET_VAL(X86::SBB64mi32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4268             :                             MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    4269             :                         // Src: (st (X86sbb_flag:{ *:[i64] }:{ *:[i32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>><<P:Predicate_i64immSExt32_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 51
    4270             :                         // Dst: (SBB64mi32:{ *:[i32] } addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    4271             : /*  9204*/            0, /*End of Scope*/
    4272             : /*  9205*/          /*Scope*/ 38, /*->9244*/
    4273             : /*  9206*/            OPC_CheckPredicate, 16, // Predicate_imm8_su
    4274             : /*  9208*/            OPC_MoveParent,
    4275             : /*  9209*/            OPC_RecordChild2, // #4 = physreg input EFLAGS
    4276             : /*  9210*/            OPC_CheckType, MVT::i8,
    4277             : /*  9212*/            OPC_MoveParent,
    4278             : /*  9213*/            OPC_CheckChild2Same, 2,
    4279             : /*  9215*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4280             : /*  9217*/            OPC_CheckPredicate, 1, // Predicate_store
    4281             : /*  9219*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4282             : /*  9222*/            OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #10
    4283             : /*  9225*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    4284             : /*  9229*/            OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4285             : /*  9232*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SBB8mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4286             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    4287             :                       // Src: (st (X86sbb_flag:{ *:[i8] }:{ *:[i32] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4288             :                       // Dst: (SBB8mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    4289             : /*  9244*/          /*Scope*/ 38, /*->9283*/
    4290             : /*  9245*/            OPC_CheckPredicate, 16, // Predicate_imm16_su
    4291             : /*  9247*/            OPC_MoveParent,
    4292             : /*  9248*/            OPC_RecordChild2, // #4 = physreg input EFLAGS
    4293             : /*  9249*/            OPC_CheckType, MVT::i16,
    4294             : /*  9251*/            OPC_MoveParent,
    4295             : /*  9252*/            OPC_CheckChild2Same, 2,
    4296             : /*  9254*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4297             : /*  9256*/            OPC_CheckPredicate, 1, // Predicate_store
    4298             : /*  9258*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4299             : /*  9261*/            OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #10
    4300             : /*  9264*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    4301             : /*  9268*/            OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4302             : /*  9271*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SBB16mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4303             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    4304             :                       // Src: (st (X86sbb_flag:{ *:[i16] }:{ *:[i32] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4305             :                       // Dst: (SBB16mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    4306             : /*  9283*/          /*Scope*/ 38, /*->9322*/
    4307             : /*  9284*/            OPC_CheckPredicate, 16, // Predicate_imm32_su
    4308             : /*  9286*/            OPC_MoveParent,
    4309             : /*  9287*/            OPC_RecordChild2, // #4 = physreg input EFLAGS
    4310             : /*  9288*/            OPC_CheckType, MVT::i32,
    4311             : /*  9290*/            OPC_MoveParent,
    4312             : /*  9291*/            OPC_CheckChild2Same, 2,
    4313             : /*  9293*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4314             : /*  9295*/            OPC_CheckPredicate, 1, // Predicate_store
    4315             : /*  9297*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4316             : /*  9300*/            OPC_CheckComplexPat, /*CP*/1, /*#*/3, // selectRelocImm:$src #10
    4317             : /*  9303*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    4318             : /*  9307*/            OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4319             : /*  9310*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SBB32mi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4320             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 10, 
    4321             :                       // Src: (st (X86sbb_flag:{ *:[i32] }:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4322             :                       // Dst: (SBB32mi:{ *:[i32] } addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    4323             : /*  9322*/          0, /*End of Scope*/
    4324             : /*  9323*/        /*Scope*/ 127, /*->9451*/
    4325             : /*  9324*/          OPC_RecordChild2, // #4 = physreg input EFLAGS
    4326             : /*  9325*/          OPC_SwitchType /*4 cases */, 29, MVT::i8,// ->9357
    4327             : /*  9328*/            OPC_MoveParent,
    4328             : /*  9329*/            OPC_CheckChild2Same, 2,
    4329             : /*  9331*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4330             : /*  9333*/            OPC_CheckPredicate, 1, // Predicate_store
    4331             : /*  9335*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4332             : /*  9338*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    4333             : /*  9342*/            OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4334             : /*  9345*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SBB8mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4335             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4336             :                       // Src: (st (X86sbb_flag:{ *:[i8] }:{ *:[i32] } (ld:{ *:[i8] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR8:{ *:[i8] }:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4337             :                       // Dst: (SBB8mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    4338             : /*  9357*/          /*SwitchType*/ 29, MVT::i16,// ->9388
    4339             : /*  9359*/            OPC_MoveParent,
    4340             : /*  9360*/            OPC_CheckChild2Same, 2,
    4341             : /*  9362*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4342             : /*  9364*/            OPC_CheckPredicate, 1, // Predicate_store
    4343             : /*  9366*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4344             : /*  9369*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    4345             : /*  9373*/            OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4346             : /*  9376*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SBB16mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4347             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4348             :                       // Src: (st (X86sbb_flag:{ *:[i16] }:{ *:[i32] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR16:{ *:[i16] }:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4349             :                       // Dst: (SBB16mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    4350             : /*  9388*/          /*SwitchType*/ 29, MVT::i32,// ->9419
    4351             : /*  9390*/            OPC_MoveParent,
    4352             : /*  9391*/            OPC_CheckChild2Same, 2,
    4353             : /*  9393*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4354             : /*  9395*/            OPC_CheckPredicate, 1, // Predicate_store
    4355             : /*  9397*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4356             : /*  9400*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    4357             : /*  9404*/            OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4358             : /*  9407*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SBB32mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4359             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4360             :                       // Src: (st (X86sbb_flag:{ *:[i32] }:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR32:{ *:[i32] }:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4361             :                       // Dst: (SBB32mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    4362             : /*  9419*/          /*SwitchType*/ 29, MVT::i64,// ->9450
    4363             : /*  9421*/            OPC_MoveParent,
    4364             : /*  9422*/            OPC_CheckChild2Same, 2,
    4365             : /*  9424*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4366             : /*  9426*/            OPC_CheckPredicate, 1, // Predicate_store
    4367             : /*  9428*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4368             : /*  9431*/            OPC_EmitMergeInputChains, 2, 0, 1, 
    4369             : /*  9435*/            OPC_EmitCopyToReg, 4, X86::EFLAGS,
    4370             : /*  9438*/            OPC_MorphNodeTo1, TARGET_VAL(X86::SBB64mr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4371             :                           MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4372             :                       // Src: (st (X86sbb_flag:{ *:[i64] }:{ *:[i32] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4373             :                       // Dst: (SBB64mr:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    4374             : /*  9450*/          0, // EndSwitchType
    4375             : /*  9451*/        0, /*End of Scope*/
    4376             : /*  9452*/      /*SwitchOpcode*/ 5|128,2/*261*/, TARGET_VAL(X86ISD::SHLD),// ->9717
    4377             : /*  9456*/        OPC_MoveChild0,
    4378             : /*  9457*/        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    4379             : /*  9460*/        OPC_RecordMemRef,
    4380             : /*  9461*/        OPC_RecordNode, // #1 = 'ld' chained node
    4381             : /*  9462*/        OPC_CheckFoldableChainNode,
    4382             : /*  9463*/        OPC_RecordChild1, // #2 = $dst
    4383             : /*  9464*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
    4384             : /*  9466*/        OPC_Scope, 43, /*->9511*/ // 6 children in Scope
    4385             : /*  9468*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    4386             : /*  9470*/          OPC_MoveParent,
    4387             : /*  9471*/          OPC_RecordChild1, // #3 = $src2
    4388             : /*  9472*/          OPC_RecordChild2, // #4 = $src3
    4389             : /*  9473*/          OPC_MoveChild2,
    4390             : /*  9474*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4391             : /*  9477*/          OPC_CheckType, MVT::i8,
    4392             : /*  9479*/          OPC_MoveParent,
    4393             : /*  9480*/          OPC_CheckType, MVT::i16,
    4394             : /*  9482*/          OPC_MoveParent,
    4395             : /*  9483*/          OPC_CheckChild2Same, 2,
    4396             : /*  9485*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4397             : /*  9487*/          OPC_CheckPredicate, 1, // Predicate_store
    4398             : /*  9489*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4399             : /*  9492*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4400             : /*  9496*/          OPC_EmitConvertToTarget, 4,
    4401             : /*  9498*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHLD16mri8), 0|OPFL_Chain|OPFL_MemRefs,
    4402             :                         MVT::i32, 7/*#Ops*/, 5, 6, 7, 8, 9, 3, 10, 
    4403             :                     // Src: (st (X86shld:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src2, (imm:{ *:[i8] }):$src3), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4404             :                     // Dst: (SHLD16mri8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src2, (imm:{ *:[i8] }):$src3)
    4405             : /*  9511*/        /*Scope*/ 43, /*->9555*/
    4406             : /*  9512*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    4407             : /*  9514*/          OPC_MoveParent,
    4408             : /*  9515*/          OPC_RecordChild1, // #3 = $src2
    4409             : /*  9516*/          OPC_RecordChild2, // #4 = $src3
    4410             : /*  9517*/          OPC_MoveChild2,
    4411             : /*  9518*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4412             : /*  9521*/          OPC_CheckType, MVT::i8,
    4413             : /*  9523*/          OPC_MoveParent,
    4414             : /*  9524*/          OPC_CheckType, MVT::i32,
    4415             : /*  9526*/          OPC_MoveParent,
    4416             : /*  9527*/          OPC_CheckChild2Same, 2,
    4417             : /*  9529*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4418             : /*  9531*/          OPC_CheckPredicate, 1, // Predicate_store
    4419             : /*  9533*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4420             : /*  9536*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4421             : /*  9540*/          OPC_EmitConvertToTarget, 4,
    4422             : /*  9542*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHLD32mri8), 0|OPFL_Chain|OPFL_MemRefs,
    4423             :                         MVT::i32, 7/*#Ops*/, 5, 6, 7, 8, 9, 3, 10, 
    4424             :                     // Src: (st (X86shld:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4425             :                     // Dst: (SHLD32mri8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
    4426             : /*  9555*/        /*Scope*/ 43, /*->9599*/
    4427             : /*  9556*/          OPC_CheckPredicate, 9, // Predicate_load
    4428             : /*  9558*/          OPC_MoveParent,
    4429             : /*  9559*/          OPC_RecordChild1, // #3 = $src2
    4430             : /*  9560*/          OPC_RecordChild2, // #4 = $src3
    4431             : /*  9561*/          OPC_MoveChild2,
    4432             : /*  9562*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4433             : /*  9565*/          OPC_CheckType, MVT::i8,
    4434             : /*  9567*/          OPC_MoveParent,
    4435             : /*  9568*/          OPC_CheckType, MVT::i64,
    4436             : /*  9570*/          OPC_MoveParent,
    4437             : /*  9571*/          OPC_CheckChild2Same, 2,
    4438             : /*  9573*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4439             : /*  9575*/          OPC_CheckPredicate, 1, // Predicate_store
    4440             : /*  9577*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4441             : /*  9580*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4442             : /*  9584*/          OPC_EmitConvertToTarget, 4,
    4443             : /*  9586*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHLD64mri8), 0|OPFL_Chain|OPFL_MemRefs,
    4444             :                         MVT::i32, 7/*#Ops*/, 5, 6, 7, 8, 9, 3, 10, 
    4445             :                     // Src: (st (X86shld:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4446             :                     // Dst: (SHLD64mri8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
    4447             : /*  9599*/        /*Scope*/ 38, /*->9638*/
    4448             : /*  9600*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    4449             : /*  9602*/          OPC_MoveParent,
    4450             : /*  9603*/          OPC_RecordChild1, // #3 = $src2
    4451             : /*  9604*/          OPC_RecordChild2, // #4 = physreg input CL
    4452             : /*  9605*/          OPC_CheckChild2Type, MVT::i8,
    4453             : /*  9607*/          OPC_CheckType, MVT::i16,
    4454             : /*  9609*/          OPC_MoveParent,
    4455             : /*  9610*/          OPC_CheckChild2Same, 2,
    4456             : /*  9612*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4457             : /*  9614*/          OPC_CheckPredicate, 1, // Predicate_store
    4458             : /*  9616*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4459             : /*  9619*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4460             : /*  9623*/          OPC_EmitCopyToReg, 4, X86::CL,
    4461             : /*  9626*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHLD16mrCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4462             :                         MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4463             :                     // Src: (st (X86shld:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src2, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4464             :                     // Dst: (SHLD16mrCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src2)
    4465             : /*  9638*/        /*Scope*/ 38, /*->9677*/
    4466             : /*  9639*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    4467             : /*  9641*/          OPC_MoveParent,
    4468             : /*  9642*/          OPC_RecordChild1, // #3 = $src2
    4469             : /*  9643*/          OPC_RecordChild2, // #4 = physreg input CL
    4470             : /*  9644*/          OPC_CheckChild2Type, MVT::i8,
    4471             : /*  9646*/          OPC_CheckType, MVT::i32,
    4472             : /*  9648*/          OPC_MoveParent,
    4473             : /*  9649*/          OPC_CheckChild2Same, 2,
    4474             : /*  9651*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4475             : /*  9653*/          OPC_CheckPredicate, 1, // Predicate_store
    4476             : /*  9655*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4477             : /*  9658*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4478             : /*  9662*/          OPC_EmitCopyToReg, 4, X86::CL,
    4479             : /*  9665*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHLD32mrCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4480             :                         MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4481             :                     // Src: (st (X86shld:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4482             :                     // Dst: (SHLD32mrCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src2)
    4483             : /*  9677*/        /*Scope*/ 38, /*->9716*/
    4484             : /*  9678*/          OPC_CheckPredicate, 9, // Predicate_load
    4485             : /*  9680*/          OPC_MoveParent,
    4486             : /*  9681*/          OPC_RecordChild1, // #3 = $src2
    4487             : /*  9682*/          OPC_RecordChild2, // #4 = physreg input CL
    4488             : /*  9683*/          OPC_CheckChild2Type, MVT::i8,
    4489             : /*  9685*/          OPC_CheckType, MVT::i64,
    4490             : /*  9687*/          OPC_MoveParent,
    4491             : /*  9688*/          OPC_CheckChild2Same, 2,
    4492             : /*  9690*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4493             : /*  9692*/          OPC_CheckPredicate, 1, // Predicate_store
    4494             : /*  9694*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4495             : /*  9697*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4496             : /*  9701*/          OPC_EmitCopyToReg, 4, X86::CL,
    4497             : /*  9704*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHLD64mrCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4498             :                         MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4499             :                     // Src: (st (X86shld:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4500             :                     // Dst: (SHLD64mrCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src2)
    4501             : /*  9716*/        0, /*End of Scope*/
    4502             : /*  9717*/      /*SwitchOpcode*/ 5|128,2/*261*/, TARGET_VAL(X86ISD::SHRD),// ->9982
    4503             : /*  9721*/        OPC_MoveChild0,
    4504             : /*  9722*/        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    4505             : /*  9725*/        OPC_RecordMemRef,
    4506             : /*  9726*/        OPC_RecordNode, // #1 = 'ld' chained node
    4507             : /*  9727*/        OPC_CheckFoldableChainNode,
    4508             : /*  9728*/        OPC_RecordChild1, // #2 = $dst
    4509             : /*  9729*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
    4510             : /*  9731*/        OPC_Scope, 43, /*->9776*/ // 6 children in Scope
    4511             : /*  9733*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    4512             : /*  9735*/          OPC_MoveParent,
    4513             : /*  9736*/          OPC_RecordChild1, // #3 = $src2
    4514             : /*  9737*/          OPC_RecordChild2, // #4 = $src3
    4515             : /*  9738*/          OPC_MoveChild2,
    4516             : /*  9739*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4517             : /*  9742*/          OPC_CheckType, MVT::i8,
    4518             : /*  9744*/          OPC_MoveParent,
    4519             : /*  9745*/          OPC_CheckType, MVT::i16,
    4520             : /*  9747*/          OPC_MoveParent,
    4521             : /*  9748*/          OPC_CheckChild2Same, 2,
    4522             : /*  9750*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4523             : /*  9752*/          OPC_CheckPredicate, 1, // Predicate_store
    4524             : /*  9754*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4525             : /*  9757*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4526             : /*  9761*/          OPC_EmitConvertToTarget, 4,
    4527             : /*  9763*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHRD16mri8), 0|OPFL_Chain|OPFL_MemRefs,
    4528             :                         MVT::i32, 7/*#Ops*/, 5, 6, 7, 8, 9, 3, 10, 
    4529             :                     // Src: (st (X86shrd:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src2, (imm:{ *:[i8] }):$src3), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4530             :                     // Dst: (SHRD16mri8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src2, (imm:{ *:[i8] }):$src3)
    4531             : /*  9776*/        /*Scope*/ 43, /*->9820*/
    4532             : /*  9777*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    4533             : /*  9779*/          OPC_MoveParent,
    4534             : /*  9780*/          OPC_RecordChild1, // #3 = $src2
    4535             : /*  9781*/          OPC_RecordChild2, // #4 = $src3
    4536             : /*  9782*/          OPC_MoveChild2,
    4537             : /*  9783*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4538             : /*  9786*/          OPC_CheckType, MVT::i8,
    4539             : /*  9788*/          OPC_MoveParent,
    4540             : /*  9789*/          OPC_CheckType, MVT::i32,
    4541             : /*  9791*/          OPC_MoveParent,
    4542             : /*  9792*/          OPC_CheckChild2Same, 2,
    4543             : /*  9794*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4544             : /*  9796*/          OPC_CheckPredicate, 1, // Predicate_store
    4545             : /*  9798*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4546             : /*  9801*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4547             : /*  9805*/          OPC_EmitConvertToTarget, 4,
    4548             : /*  9807*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHRD32mri8), 0|OPFL_Chain|OPFL_MemRefs,
    4549             :                         MVT::i32, 7/*#Ops*/, 5, 6, 7, 8, 9, 3, 10, 
    4550             :                     // Src: (st (X86shrd:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4551             :                     // Dst: (SHRD32mri8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src2, (imm:{ *:[i8] }):$src3)
    4552             : /*  9820*/        /*Scope*/ 43, /*->9864*/
    4553             : /*  9821*/          OPC_CheckPredicate, 9, // Predicate_load
    4554             : /*  9823*/          OPC_MoveParent,
    4555             : /*  9824*/          OPC_RecordChild1, // #3 = $src2
    4556             : /*  9825*/          OPC_RecordChild2, // #4 = $src3
    4557             : /*  9826*/          OPC_MoveChild2,
    4558             : /*  9827*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4559             : /*  9830*/          OPC_CheckType, MVT::i8,
    4560             : /*  9832*/          OPC_MoveParent,
    4561             : /*  9833*/          OPC_CheckType, MVT::i64,
    4562             : /*  9835*/          OPC_MoveParent,
    4563             : /*  9836*/          OPC_CheckChild2Same, 2,
    4564             : /*  9838*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4565             : /*  9840*/          OPC_CheckPredicate, 1, // Predicate_store
    4566             : /*  9842*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4567             : /*  9845*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4568             : /*  9849*/          OPC_EmitConvertToTarget, 4,
    4569             : /*  9851*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHRD64mri8), 0|OPFL_Chain|OPFL_MemRefs,
    4570             :                         MVT::i32, 7/*#Ops*/, 5, 6, 7, 8, 9, 3, 10, 
    4571             :                     // Src: (st (X86shrd:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 50
    4572             :                     // Dst: (SHRD64mri8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src2, (imm:{ *:[i8] }):$src3)
    4573             : /*  9864*/        /*Scope*/ 38, /*->9903*/
    4574             : /*  9865*/          OPC_CheckPredicate, 7, // Predicate_loadi16
    4575             : /*  9867*/          OPC_MoveParent,
    4576             : /*  9868*/          OPC_RecordChild1, // #3 = $src2
    4577             : /*  9869*/          OPC_RecordChild2, // #4 = physreg input CL
    4578             : /*  9870*/          OPC_CheckChild2Type, MVT::i8,
    4579             : /*  9872*/          OPC_CheckType, MVT::i16,
    4580             : /*  9874*/          OPC_MoveParent,
    4581             : /*  9875*/          OPC_CheckChild2Same, 2,
    4582             : /*  9877*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4583             : /*  9879*/          OPC_CheckPredicate, 1, // Predicate_store
    4584             : /*  9881*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4585             : /*  9884*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4586             : /*  9888*/          OPC_EmitCopyToReg, 4, X86::CL,
    4587             : /*  9891*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHRD16mrCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4588             :                         MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4589             :                     // Src: (st (X86shrd:{ *:[i16] } (ld:{ *:[i16] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi16>>, GR16:{ *:[i16] }:$src2, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4590             :                     // Dst: (SHRD16mrCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src2)
    4591             : /*  9903*/        /*Scope*/ 38, /*->9942*/
    4592             : /*  9904*/          OPC_CheckPredicate, 8, // Predicate_loadi32
    4593             : /*  9906*/          OPC_MoveParent,
    4594             : /*  9907*/          OPC_RecordChild1, // #3 = $src2
    4595             : /*  9908*/          OPC_RecordChild2, // #4 = physreg input CL
    4596             : /*  9909*/          OPC_CheckChild2Type, MVT::i8,
    4597             : /*  9911*/          OPC_CheckType, MVT::i32,
    4598             : /*  9913*/          OPC_MoveParent,
    4599             : /*  9914*/          OPC_CheckChild2Same, 2,
    4600             : /*  9916*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4601             : /*  9918*/          OPC_CheckPredicate, 1, // Predicate_store
    4602             : /*  9920*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4603             : /*  9923*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4604             : /*  9927*/          OPC_EmitCopyToReg, 4, X86::CL,
    4605             : /*  9930*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHRD32mrCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4606             :                         MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4607             :                     // Src: (st (X86shrd:{ *:[i32] } (ld:{ *:[i32] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_loadi32>>, GR32:{ *:[i32] }:$src2, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4608             :                     // Dst: (SHRD32mrCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src2)
    4609             : /*  9942*/        /*Scope*/ 38, /*->9981*/
    4610             : /*  9943*/          OPC_CheckPredicate, 9, // Predicate_load
    4611             : /*  9945*/          OPC_MoveParent,
    4612             : /*  9946*/          OPC_RecordChild1, // #3 = $src2
    4613             : /*  9947*/          OPC_RecordChild2, // #4 = physreg input CL
    4614             : /*  9948*/          OPC_CheckChild2Type, MVT::i8,
    4615             : /*  9950*/          OPC_CheckType, MVT::i64,
    4616             : /*  9952*/          OPC_MoveParent,
    4617             : /*  9953*/          OPC_CheckChild2Same, 2,
    4618             : /*  9955*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4619             : /*  9957*/          OPC_CheckPredicate, 1, // Predicate_store
    4620             : /*  9959*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #5 #6 #7 #8 #9
    4621             : /*  9962*/          OPC_EmitMergeInputChains, 2, 0, 1, 
    4622             : /*  9966*/          OPC_EmitCopyToReg, 4, X86::CL,
    4623             : /*  9969*/          OPC_MorphNodeTo1, TARGET_VAL(X86::SHRD64mrCL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    4624             :                         MVT::i32, 6/*#Ops*/, 5, 6, 7, 8, 9, 3, 
    4625             :                     // Src: (st (X86shrd:{ *:[i64] } (ld:{ *:[i64] } addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedload>><<P:Predicate_load>>, GR64:{ *:[i64] }:$src2, CL:{ *:[i8] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 47
    4626             :                     // Dst: (SHRD64mrCL:{ *:[i32] } addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src2)
    4627             : /*  9981*/        0, /*End of Scope*/
    4628             : /*  9982*/      /*SwitchOpcode*/ 4|128,8/*1028*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->11014
    4629             : /*  9986*/        OPC_Scope, 72|128,4/*584*/, /*->10573*/ // 2 children in Scope
    4630             : /*  9989*/          OPC_MoveChild0,
    4631             : /*  9990*/          OPC_SwitchOpcode /*4 cases */, 32|128,1/*160*/, TARGET_VAL(X86ISD::UNPCKH),// ->10155
    4632             : /*  9995*/            OPC_Scope, 84, /*->10081*/ // 2 children in Scope
    4633             : /*  9997*/              OPC_MoveChild0,
    4634             : /*  9998*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    4635             : /* 10001*/              OPC_RecordChild0, // #1 = $src
    4636             : /* 10002*/              OPC_CheckChild0Type, MVT::v4f32,
    4637             : /* 10004*/              OPC_MoveParent,
    4638             : /* 10005*/              OPC_MoveChild1,
    4639             : /* 10006*/              OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    4640             : /* 10009*/              OPC_CheckChild0Same, 1,
    4641             : /* 10011*/              OPC_MoveParent,
    4642             : /* 10012*/              OPC_CheckType, MVT::v2f64,
    4643             : /* 10014*/              OPC_MoveParent,
    4644             : /* 10015*/              OPC_CheckChild1Integer, 0, 
    4645             : /* 10017*/              OPC_CheckType, MVT::f64,
    4646             : /* 10019*/              OPC_MoveParent,
    4647             : /* 10020*/              OPC_RecordChild2, // #2 = $dst
    4648             : /* 10021*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4649             : /* 10023*/              OPC_CheckPredicate, 1, // Predicate_store
    4650             : /* 10025*/              OPC_Scope, 17, /*->10044*/ // 3 children in Scope
    4651             : /* 10027*/                OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    4652             : /* 10029*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4653             : /* 10032*/                OPC_EmitMergeInputChains1_0,
    4654             : /* 10033*/                OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVHPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    4655             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4656             :                           // Src: (st (extractelt:{ *:[f64] } (X86Unpckh:{ *:[v2f64] } (bitconvert:{ *:[v2f64] } VR128:{ *:[v4f32] }:$src), (bitconvert:{ *:[v2f64] } VR128:{ *:[v4f32] }:$src)), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 39
    4657             :                           // Dst: (VMOVHPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
    4658             : /* 10044*/              /*Scope*/ 17, /*->10062*/
    4659             : /* 10045*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    4660             : /* 10047*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4661             : /* 10050*/                OPC_EmitMergeInputChains1_0,
    4662             : /* 10051*/                OPC_MorphNodeTo0, TARGET_VAL(X86::MOVHPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    4663             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4664             :                           // Src: (st (extractelt:{ *:[f64] } (X86Unpckh:{ *:[v2f64] } (bitconvert:{ *:[v2f64] } VR128:{ *:[v4f32] }:$src), (bitconvert:{ *:[v2f64] } VR128:{ *:[v4f32] }:$src)), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 39
    4665             :                           // Dst: (MOVHPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
    4666             : /* 10062*/              /*Scope*/ 17, /*->10080*/
    4667             : /* 10063*/                OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    4668             : /* 10065*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4669             : /* 10068*/                OPC_EmitMergeInputChains1_0,
    4670             : /* 10069*/                OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVHPSZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    4671             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4672             :                           // Src: (st (extractelt:{ *:[f64] } (X86Unpckh:{ *:[v2f64] } (bitconvert:{ *:[v2f64] } VR128X:{ *:[v4f32] }:$src), (bitconvert:{ *:[v2f64] } VR128X:{ *:[v4f32] }:$src)), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 39
    4673             :                           // Dst: (VMOVHPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
    4674             : /* 10080*/              0, /*End of Scope*/
    4675             : /* 10081*/            /*Scope*/ 72, /*->10154*/
    4676             : /* 10082*/              OPC_RecordChild0, // #1 = $src
    4677             : /* 10083*/              OPC_CheckChild1Same, 1,
    4678             : /* 10085*/              OPC_CheckType, MVT::v2f64,
    4679             : /* 10087*/              OPC_MoveParent,
    4680             : /* 10088*/              OPC_CheckChild1Integer, 0, 
    4681             : /* 10090*/              OPC_CheckType, MVT::f64,
    4682             : /* 10092*/              OPC_MoveParent,
    4683             : /* 10093*/              OPC_RecordChild2, // #2 = $dst
    4684             : /* 10094*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4685             : /* 10096*/              OPC_CheckPredicate, 1, // Predicate_store
    4686             : /* 10098*/              OPC_Scope, 17, /*->10117*/ // 3 children in Scope
    4687             : /* 10100*/                OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    4688             : /* 10102*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4689             : /* 10105*/                OPC_EmitMergeInputChains1_0,
    4690             : /* 10106*/                OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVHPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    4691             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4692             :                           // Src: (st (extractelt:{ *:[f64] } (X86Unpckh:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src, VR128:{ *:[v2f64] }:$src), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 33
    4693             :                           // Dst: (VMOVHPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
    4694             : /* 10117*/              /*Scope*/ 17, /*->10135*/
    4695             : /* 10118*/                OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
    4696             : /* 10120*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4697             : /* 10123*/                OPC_EmitMergeInputChains1_0,
    4698             : /* 10124*/                OPC_MorphNodeTo0, TARGET_VAL(X86::MOVHPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    4699             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4700             :                           // Src: (st (extractelt:{ *:[f64] } (X86Unpckh:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src, VR128:{ *:[v2f64] }:$src), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 33
    4701             :                           // Dst: (MOVHPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
    4702             : /* 10135*/              /*Scope*/ 17, /*->10153*/
    4703             : /* 10136*/                OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    4704             : /* 10138*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4705             : /* 10141*/                OPC_EmitMergeInputChains1_0,
    4706             : /* 10142*/                OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVHPDZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    4707             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4708             :                           // Src: (st (extractelt:{ *:[f64] } (X86Unpckh:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, VR128X:{ *:[v2f64] }:$src), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 33
    4709             :                           // Dst: (VMOVHPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
    4710             : /* 10153*/              0, /*End of Scope*/
    4711             : /* 10154*/            0, /*End of Scope*/
    4712             : /* 10155*/          /*SwitchOpcode*/ 54, TARGET_VAL(X86ISD::VPERMILPI),// ->10212
    4713             : /* 10158*/            OPC_RecordChild0, // #1 = $src
    4714             : /* 10159*/            OPC_CheckChild1Integer, 1, 
    4715             : /* 10161*/            OPC_CheckType, MVT::v2f64,
    4716             : /* 10163*/            OPC_MoveParent,
    4717             : /* 10164*/            OPC_CheckChild1Integer, 0, 
    4718             : /* 10166*/            OPC_CheckType, MVT::f64,
    4719             : /* 10168*/            OPC_MoveParent,
    4720             : /* 10169*/            OPC_RecordChild2, // #2 = $dst
    4721             : /* 10170*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4722             : /* 10172*/            OPC_CheckPredicate, 1, // Predicate_store
    4723             : /* 10174*/            OPC_Scope, 17, /*->10193*/ // 2 children in Scope
    4724             : /* 10176*/              OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    4725             : /* 10178*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4726             : /* 10181*/              OPC_EmitMergeInputChains1_0,
    4727             : /* 10182*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVHPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    4728             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4729             :                         // Src: (st (extractelt:{ *:[f64] } (X86VPermilpi:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src, 1:{ *:[i8] }), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 38
    4730             :                         // Dst: (VMOVHPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
    4731             : /* 10193*/            /*Scope*/ 17, /*->10211*/
    4732             : /* 10194*/              OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    4733             : /* 10196*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4734             : /* 10199*/              OPC_EmitMergeInputChains1_0,
    4735             : /* 10200*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVHPDZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    4736             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4737             :                         // Src: (st (extractelt:{ *:[f64] } (X86VPermilpi:{ *:[v2f64] } VR128X:{ *:[v2f64] }:$src, 1:{ *:[i8] }), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 38
    4738             :                         // Dst: (VMOVHPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
    4739             : /* 10211*/            0, /*End of Scope*/
    4740             : /* 10212*/          /*SwitchOpcode*/ 35, TARGET_VAL(X86ISD::SHUFP),// ->10250
    4741             : /* 10215*/            OPC_RecordChild0, // #1 = $src
    4742             : /* 10216*/            OPC_CheckChild1Same, 1,
    4743             : /* 10218*/            OPC_CheckChild2Integer, 1, 
    4744             : /* 10220*/            OPC_CheckType, MVT::v2f64,
    4745             : /* 10222*/            OPC_MoveParent,
    4746             : /* 10223*/            OPC_CheckChild1Integer, 0, 
    4747             : /* 10225*/            OPC_CheckType, MVT::f64,
    4748             : /* 10227*/            OPC_MoveParent,
    4749             : /* 10228*/            OPC_RecordChild2, // #2 = $dst
    4750             : /* 10229*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4751             : /* 10231*/            OPC_CheckPredicate, 1, // Predicate_store
    4752             : /* 10233*/            OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
    4753             : /* 10235*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4754             : /* 10238*/            OPC_EmitMergeInputChains1_0,
    4755             : /* 10239*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOVHPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    4756             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4757             :                       // Src: (st (extractelt:{ *:[f64] } (X86Shufp:{ *:[v2f64] } VR128:{ *:[v2f64] }:$src, VR128:{ *:[v2f64] }:$src, 1:{ *:[i8] }), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 38
    4758             :                       // Dst: (MOVHPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
    4759             : /* 10250*/          /*SwitchOpcode*/ 62|128,2/*318*/, TARGET_VAL(ISD::BITCAST),// ->10572
    4760             : /* 10254*/            OPC_Scope, 127, /*->10383*/ // 2 children in Scope
    4761             : /* 10256*/              OPC_MoveChild0,
    4762             : /* 10257*/              OPC_CheckOpcode, TARGET_VAL(X86ISD::CVTPS2PH),
    4763             : /* 10260*/              OPC_RecordChild0, // #1 = $src1
    4764             : /* 10261*/              OPC_CheckChild0Type, MVT::v4f32,
    4765             : /* 10263*/              OPC_RecordChild1, // #2 = $src2
    4766             : /* 10264*/              OPC_CheckType, MVT::v8i16,
    4767             : /* 10266*/              OPC_MoveParent,
    4768             : /* 10267*/              OPC_SwitchType /*2 cases */, 55, MVT::v2f64,// ->10325
    4769             : /* 10270*/                OPC_MoveParent,
    4770             : /* 10271*/                OPC_CheckChild1Integer, 0, 
    4771             : /* 10273*/                OPC_CheckType, MVT::f64,
    4772             : /* 10275*/                OPC_MoveParent,
    4773             : /* 10276*/                OPC_RecordChild2, // #3 = $dst
    4774             : /* 10277*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4775             : /* 10279*/                OPC_CheckPredicate, 1, // Predicate_store
    4776             : /* 10281*/                OPC_Scope, 20, /*->10303*/ // 2 children in Scope
    4777             : /* 10283*/                  OPC_CheckPatternPredicate, 12, // (Subtarget->hasF16C()) && (!Subtarget->hasVLX())
    4778             : /* 10285*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    4779             : /* 10288*/                  OPC_EmitMergeInputChains1_0,
    4780             : /* 10289*/                  OPC_EmitConvertToTarget, 2,
    4781             : /* 10291*/                  OPC_MorphNodeTo0, TARGET_VAL(X86::VCVTPS2PHmr), 0|OPFL_Chain|OPFL_MemRefs,
    4782             :                                 7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    4783             :                             // Src: (st (extractelt:{ *:[f64] } (bitconvert:{ *:[v2f64] } (X86cvtps2ph:{ *:[v8i16] } VR128:{ *:[v4f32] }:$src1, i32:{ *:[i32] }:$src2)), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 36
    4784             :                             // Dst: (VCVTPS2PHmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src1, (imm:{ *:[i32] }):$src2)
    4785             : /* 10303*/                /*Scope*/ 20, /*->10324*/
    4786             : /* 10304*/                  OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    4787             : /* 10306*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    4788             : /* 10309*/                  OPC_EmitMergeInputChains1_0,
    4789             : /* 10310*/                  OPC_EmitConvertToTarget, 2,
    4790             : /* 10312*/                  OPC_MorphNodeTo0, TARGET_VAL(X86::VCVTPS2PHZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    4791             :                                 7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    4792             :                             // Src: (st (extractelt:{ *:[f64] } (bitconvert:{ *:[v2f64] } (X86cvtps2ph:{ *:[v8i16] } VR128X:{ *:[v4f32] }:$src1, i32:{ *:[i32] }:$src2)), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 36
    4793             :                             // Dst: (VCVTPS2PHZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src1, (imm:{ *:[i32] }):$src2)
    4794             : /* 10324*/                0, /*End of Scope*/
    4795             : /* 10325*/              /*SwitchType*/ 55, MVT::v2i64,// ->10382
    4796             : /* 10327*/                OPC_MoveParent,
    4797             : /* 10328*/                OPC_CheckChild1Integer, 0, 
    4798             : /* 10330*/                OPC_CheckType, MVT::i64,
    4799             : /* 10332*/                OPC_MoveParent,
    4800             : /* 10333*/                OPC_RecordChild2, // #3 = $dst
    4801             : /* 10334*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4802             : /* 10336*/                OPC_CheckPredicate, 1, // Predicate_store
    4803             : /* 10338*/                OPC_Scope, 20, /*->10360*/ // 2 children in Scope
    4804             : /* 10340*/                  OPC_CheckPatternPredicate, 12, // (Subtarget->hasF16C()) && (!Subtarget->hasVLX())
    4805             : /* 10342*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    4806             : /* 10345*/                  OPC_EmitMergeInputChains1_0,
    4807             : /* 10346*/                  OPC_EmitConvertToTarget, 2,
    4808             : /* 10348*/                  OPC_MorphNodeTo0, TARGET_VAL(X86::VCVTPS2PHmr), 0|OPFL_Chain|OPFL_MemRefs,
    4809             :                                 7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    4810             :                             // Src: (st (extractelt:{ *:[i64] } (bitconvert:{ *:[v2i64] } (X86cvtps2ph:{ *:[v8i16] } VR128:{ *:[v4f32] }:$src1, i32:{ *:[i32] }:$src2)), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 36
    4811             :                             // Dst: (VCVTPS2PHmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src1, (imm:{ *:[i32] }):$src2)
    4812             : /* 10360*/                /*Scope*/ 20, /*->10381*/
    4813             : /* 10361*/                  OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    4814             : /* 10363*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    4815             : /* 10366*/                  OPC_EmitMergeInputChains1_0,
    4816             : /* 10367*/                  OPC_EmitConvertToTarget, 2,
    4817             : /* 10369*/                  OPC_MorphNodeTo0, TARGET_VAL(X86::VCVTPS2PHZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    4818             :                                 7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    4819             :                             // Src: (st (extractelt:{ *:[i64] } (bitconvert:{ *:[v2i64] } (X86cvtps2ph:{ *:[v8i16] } VR128X:{ *:[v4f32] }:$src1, i32:{ *:[i32] }:$src2)), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 36
    4820             :                             // Dst: (VCVTPS2PHZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src1, (imm:{ *:[i32] }):$src2)
    4821             : /* 10381*/                0, /*End of Scope*/
    4822             : /* 10382*/              0, // EndSwitchType
    4823             : /* 10383*/            /*Scope*/ 58|128,1/*186*/, /*->10571*/
    4824             : /* 10385*/              OPC_RecordChild0, // #1 = $src
    4825             : /* 10386*/              OPC_CheckChild0Type, MVT::v4f32,
    4826             : /* 10388*/              OPC_SwitchType /*3 cases */, 67, MVT::v2f64,// ->10458
    4827             : /* 10391*/                OPC_MoveParent,
    4828             : /* 10392*/                OPC_CheckChild1Integer, 0, 
    4829             : /* 10394*/                OPC_CheckType, MVT::f64,
    4830             : /* 10396*/                OPC_MoveParent,
    4831             : /* 10397*/                OPC_RecordChild2, // #2 = $dst
    4832             : /* 10398*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4833             : /* 10400*/                OPC_CheckPredicate, 1, // Predicate_store
    4834             : /* 10402*/                OPC_Scope, 17, /*->10421*/ // 3 children in Scope
    4835             : /* 10404*/                  OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    4836             : /* 10406*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4837             : /* 10409*/                  OPC_EmitMergeInputChains1_0,
    4838             : /* 10410*/                  OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVLPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    4839             :                                 6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4840             :                             // Src: (st (extractelt:{ *:[f64] } (bitconvert:{ *:[v2f64] } VR128:{ *:[v4f32] }:$src), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 33
    4841             :                             // Dst: (VMOVLPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
    4842             : /* 10421*/                /*Scope*/ 17, /*->10439*/
    4843             : /* 10422*/                  OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    4844             : /* 10424*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4845             : /* 10427*/                  OPC_EmitMergeInputChains1_0,
    4846             : /* 10428*/                  OPC_MorphNodeTo0, TARGET_VAL(X86::MOVLPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    4847             :                                 6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4848             :                             // Src: (st (extractelt:{ *:[f64] } (bitconvert:{ *:[v2f64] } VR128:{ *:[v4f32] }:$src), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 33
    4849             :                             // Dst: (MOVLPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
    4850             : /* 10439*/                /*Scope*/ 17, /*->10457*/
    4851             : /* 10440*/                  OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    4852             : /* 10442*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4853             : /* 10445*/                  OPC_EmitMergeInputChains1_0,
    4854             : /* 10446*/                  OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVLPSZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    4855             :                                 6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4856             :                             // Src: (st (extractelt:{ *:[f64] } (bitconvert:{ *:[v2f64] } VR128X:{ *:[v4f32] }:$src), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 33
    4857             :                             // Dst: (VMOVLPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
    4858             : /* 10457*/                0, /*End of Scope*/
    4859             : /* 10458*/              /*SwitchType*/ 28, MVT::v2i64,// ->10488
    4860             : /* 10460*/                OPC_MoveParent,
    4861             : /* 10461*/                OPC_CheckChild1Integer, 0, 
    4862             : /* 10463*/                OPC_CheckType, MVT::i64,
    4863             : /* 10465*/                OPC_MoveParent,
    4864             : /* 10466*/                OPC_RecordChild2, // #2 = $src1
    4865             : /* 10467*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4866             : /* 10469*/                OPC_CheckPredicate, 1, // Predicate_store
    4867             : /* 10471*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    4868             : /* 10473*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$src1 #3 #4 #5 #6 #7
    4869             : /* 10476*/                OPC_EmitMergeInputChains1_0,
    4870             : /* 10477*/                OPC_MorphNodeTo0, TARGET_VAL(X86::MOVLPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    4871             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4872             :                           // Src: (st (extractelt:{ *:[i64] } (bitconvert:{ *:[v2i64] } VR128:{ *:[v4f32] }:$src2), 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$src1)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 33
    4873             :                           // Dst: (MOVLPSmr addr:{ *:[iPTR] }:$src1, VR128:{ *:[v4f32] }:$src2)
    4874             : /* 10488*/              /*SwitchType*/ 80, MVT::v4i32,// ->10570
    4875             : /* 10490*/                OPC_MoveParent,
    4876             : /* 10491*/                OPC_RecordChild1, // #2 = $src2
    4877             : /* 10492*/                OPC_MoveChild1,
    4878             : /* 10493*/                OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4879             : /* 10496*/                OPC_MoveParent,
    4880             : /* 10497*/                OPC_CheckType, MVT::i32,
    4881             : /* 10499*/                OPC_MoveParent,
    4882             : /* 10500*/                OPC_RecordChild2, // #3 = $dst
    4883             : /* 10501*/                OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4884             : /* 10503*/                OPC_CheckPredicate, 1, // Predicate_store
    4885             : /* 10505*/                OPC_Scope, 20, /*->10527*/ // 3 children in Scope
    4886             : /* 10507*/                  OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    4887             : /* 10509*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    4888             : /* 10512*/                  OPC_EmitMergeInputChains1_0,
    4889             : /* 10513*/                  OPC_EmitConvertToTarget, 2,
    4890             : /* 10515*/                  OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    4891             :                                 7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    4892             :                             // Src: (st (extractelt:{ *:[i32] } (bitconvert:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src1), (imm:{ *:[iPTR] }):$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 31
    4893             :                             // Dst: (VEXTRACTPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src1, (imm:{ *:[i8] }):$src2)
    4894             : /* 10527*/                /*Scope*/ 20, /*->10548*/
    4895             : /* 10528*/                  OPC_CheckPatternPredicate, 13, // (Subtarget->hasSSE41() && !Subtarget->hasAVX())
    4896             : /* 10530*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    4897             : /* 10533*/                  OPC_EmitMergeInputChains1_0,
    4898             : /* 10534*/                  OPC_EmitConvertToTarget, 2,
    4899             : /* 10536*/                  OPC_MorphNodeTo0, TARGET_VAL(X86::EXTRACTPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    4900             :                                 7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    4901             :                             // Src: (st (extractelt:{ *:[i32] } (bitconvert:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src1), (imm:{ *:[iPTR] }):$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 31
    4902             :                             // Dst: (EXTRACTPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src1, (imm:{ *:[i8] }):$src2)
    4903             : /* 10548*/                /*Scope*/ 20, /*->10569*/
    4904             : /* 10549*/                  OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    4905             : /* 10551*/                  OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    4906             : /* 10554*/                  OPC_EmitMergeInputChains1_0,
    4907             : /* 10555*/                  OPC_EmitConvertToTarget, 2,
    4908             : /* 10557*/                  OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTPSZmr), 0|OPFL_Chain|OPFL_MemRefs,
    4909             :                                 7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    4910             :                             // Src: (st (extractelt:{ *:[i32] } (bitconvert:{ *:[v4i32] } VR128X:{ *:[v4f32] }:$src1), (imm:{ *:[iPTR] }):$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 31
    4911             :                             // Dst: (VEXTRACTPSZmr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src1, (imm:{ *:[i8] }):$src2)
    4912             : /* 10569*/                0, /*End of Scope*/
    4913             : /* 10570*/              0, // EndSwitchType
    4914             : /* 10571*/            0, /*End of Scope*/
    4915             : /* 10572*/          0, // EndSwitchOpcode
    4916             : /* 10573*/        /*Scope*/ 54|128,3/*438*/, /*->11013*/
    4917             : /* 10575*/          OPC_RecordChild0, // #1 = $src
    4918             : /* 10576*/          OPC_Scope, 68, /*->10646*/ // 4 children in Scope
    4919             : /* 10578*/            OPC_CheckChild0Type, MVT::v2f64,
    4920             : /* 10580*/            OPC_CheckChild1Integer, 0, 
    4921             : /* 10582*/            OPC_CheckType, MVT::f64,
    4922             : /* 10584*/            OPC_MoveParent,
    4923             : /* 10585*/            OPC_RecordChild2, // #2 = $dst
    4924             : /* 10586*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4925             : /* 10588*/            OPC_CheckPredicate, 1, // Predicate_store
    4926             : /* 10590*/            OPC_Scope, 17, /*->10609*/ // 3 children in Scope
    4927             : /* 10592*/              OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    4928             : /* 10594*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4929             : /* 10597*/              OPC_EmitMergeInputChains1_0,
    4930             : /* 10598*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVLPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    4931             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4932             :                         // Src: (st (extractelt:{ *:[f64] } VR128:{ *:[v2f64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    4933             :                         // Dst: (VMOVLPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
    4934             : /* 10609*/            /*Scope*/ 17, /*->10627*/
    4935             : /* 10610*/              OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
    4936             : /* 10612*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4937             : /* 10615*/              OPC_EmitMergeInputChains1_0,
    4938             : /* 10616*/              OPC_MorphNodeTo0, TARGET_VAL(X86::MOVLPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    4939             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4940             :                         // Src: (st (extractelt:{ *:[f64] } VR128:{ *:[v2f64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    4941             :                         // Dst: (MOVLPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
    4942             : /* 10627*/            /*Scope*/ 17, /*->10645*/
    4943             : /* 10628*/              OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    4944             : /* 10630*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4945             : /* 10633*/              OPC_EmitMergeInputChains1_0,
    4946             : /* 10634*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVLPDZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    4947             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4948             :                         // Src: (st (extractelt:{ *:[f64] } VR128X:{ *:[v2f64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    4949             :                         // Dst: (VMOVLPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
    4950             : /* 10645*/            0, /*End of Scope*/
    4951             : /* 10646*/          /*Scope*/ 2|128,1/*130*/, /*->10778*/
    4952             : /* 10648*/            OPC_CheckChild0Type, MVT::v4i32,
    4953             : /* 10650*/            OPC_Scope, 66, /*->10718*/ // 2 children in Scope
    4954             : /* 10652*/              OPC_CheckChild1Integer, 0, 
    4955             : /* 10654*/              OPC_CheckType, MVT::i32,
    4956             : /* 10656*/              OPC_MoveParent,
    4957             : /* 10657*/              OPC_RecordChild2, // #2 = $dst
    4958             : /* 10658*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4959             : /* 10660*/              OPC_CheckPredicate, 1, // Predicate_store
    4960             : /* 10662*/              OPC_Scope, 17, /*->10681*/ // 3 children in Scope
    4961             : /* 10664*/                OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    4962             : /* 10666*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4963             : /* 10669*/                OPC_EmitMergeInputChains1_0,
    4964             : /* 10670*/                OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVPDI2DImr), 0|OPFL_Chain|OPFL_MemRefs,
    4965             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4966             :                           // Src: (st (extractelt:{ *:[i32] } VR128:{ *:[v4i32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    4967             :                           // Dst: (VMOVPDI2DImr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
    4968             : /* 10681*/              /*Scope*/ 17, /*->10699*/
    4969             : /* 10682*/                OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
    4970             : /* 10684*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4971             : /* 10687*/                OPC_EmitMergeInputChains1_0,
    4972             : /* 10688*/                OPC_MorphNodeTo0, TARGET_VAL(X86::MOVPDI2DImr), 0|OPFL_Chain|OPFL_MemRefs,
    4973             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4974             :                           // Src: (st (extractelt:{ *:[i32] } VR128:{ *:[v4i32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    4975             :                           // Dst: (MOVPDI2DImr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
    4976             : /* 10699*/              /*Scope*/ 17, /*->10717*/
    4977             : /* 10700*/                OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    4978             : /* 10702*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    4979             : /* 10705*/                OPC_EmitMergeInputChains1_0,
    4980             : /* 10706*/                OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVPDI2DIZmr), 0|OPFL_Chain|OPFL_MemRefs,
    4981             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    4982             :                           // Src: (st (extractelt:{ *:[i32] } VR128X:{ *:[v4i32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    4983             :                           // Dst: (VMOVPDI2DIZmr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
    4984             : /* 10717*/              0, /*End of Scope*/
    4985             : /* 10718*/            /*Scope*/ 58, /*->10777*/
    4986             : /* 10719*/              OPC_RecordChild1, // #2 = $src2
    4987             : /* 10720*/              OPC_MoveChild1,
    4988             : /* 10721*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    4989             : /* 10724*/              OPC_MoveParent,
    4990             : /* 10725*/              OPC_CheckType, MVT::i32,
    4991             : /* 10727*/              OPC_MoveParent,
    4992             : /* 10728*/              OPC_RecordChild2, // #3 = $dst
    4993             : /* 10729*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    4994             : /* 10731*/              OPC_CheckPredicate, 1, // Predicate_store
    4995             : /* 10733*/              OPC_Scope, 20, /*->10755*/ // 2 children in Scope
    4996             : /* 10735*/                OPC_CheckPatternPredicate, 14, // (Subtarget->hasAVX()) && (!Subtarget->hasDQI())
    4997             : /* 10737*/                OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    4998             : /* 10740*/                OPC_EmitMergeInputChains1_0,
    4999             : /* 10741*/                OPC_EmitConvertToTarget, 2,
    5000             : /* 10743*/                OPC_MorphNodeTo0, TARGET_VAL(X86::VPEXTRDmr), 0|OPFL_Chain|OPFL_MemRefs,
    5001             :                               7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5002             :                           // Src: (st (extractelt:{ *:[i32] } VR128:{ *:[v4i32] }:$src1, (imm:{ *:[iPTR] }):$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    5003             :                           // Dst: (VPEXTRDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, (imm:{ *:[i8] }):$src2)
    5004             : /* 10755*/              /*Scope*/ 20, /*->10776*/
    5005             : /* 10756*/                OPC_CheckPatternPredicate, 13, // (Subtarget->hasSSE41() && !Subtarget->hasAVX())
    5006             : /* 10758*/                OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    5007             : /* 10761*/                OPC_EmitMergeInputChains1_0,
    5008             : /* 10762*/                OPC_EmitConvertToTarget, 2,
    5009             : /* 10764*/                OPC_MorphNodeTo0, TARGET_VAL(X86::PEXTRDmr), 0|OPFL_Chain|OPFL_MemRefs,
    5010             :                               7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5011             :                           // Src: (st (extractelt:{ *:[i32] } VR128:{ *:[v4i32] }:$src1, (imm:{ *:[iPTR] }):$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    5012             :                           // Dst: (PEXTRDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src1, (imm:{ *:[i8] }):$src2)
    5013             : /* 10776*/              0, /*End of Scope*/
    5014             : /* 10777*/            0, /*End of Scope*/
    5015             : /* 10778*/          /*Scope*/ 2|128,1/*130*/, /*->10910*/
    5016             : /* 10780*/            OPC_CheckChild0Type, MVT::v2i64,
    5017             : /* 10782*/            OPC_Scope, 66, /*->10850*/ // 2 children in Scope
    5018             : /* 10784*/              OPC_CheckChild1Integer, 0, 
    5019             : /* 10786*/              OPC_CheckType, MVT::i64,
    5020             : /* 10788*/              OPC_MoveParent,
    5021             : /* 10789*/              OPC_RecordChild2, // #2 = $dst
    5022             : /* 10790*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5023             : /* 10792*/              OPC_CheckPredicate, 1, // Predicate_store
    5024             : /* 10794*/              OPC_Scope, 17, /*->10813*/ // 3 children in Scope
    5025             : /* 10796*/                OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    5026             : /* 10798*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5027             : /* 10801*/                OPC_EmitMergeInputChains1_0,
    5028             : /* 10802*/                OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVPQI2QImr), 0|OPFL_Chain|OPFL_MemRefs,
    5029             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    5030             :                           // Src: (st (extractelt:{ *:[i64] } VR128:{ *:[v2i64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5031             :                           // Dst: (VMOVPQI2QImr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
    5032             : /* 10813*/              /*Scope*/ 17, /*->10831*/
    5033             : /* 10814*/                OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
    5034             : /* 10816*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5035             : /* 10819*/                OPC_EmitMergeInputChains1_0,
    5036             : /* 10820*/                OPC_MorphNodeTo0, TARGET_VAL(X86::MOVPQI2QImr), 0|OPFL_Chain|OPFL_MemRefs,
    5037             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    5038             :                           // Src: (st (extractelt:{ *:[i64] } VR128:{ *:[v2i64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5039             :                           // Dst: (MOVPQI2QImr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
    5040             : /* 10831*/              /*Scope*/ 17, /*->10849*/
    5041             : /* 10832*/                OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    5042             : /* 10834*/                OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5043             : /* 10837*/                OPC_EmitMergeInputChains1_0,
    5044             : /* 10838*/                OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVPQI2QIZmr), 0|OPFL_Chain|OPFL_MemRefs,
    5045             :                               6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    5046             :                           // Src: (st (extractelt:{ *:[i64] } VR128X:{ *:[v2i64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5047             :                           // Dst: (VMOVPQI2QIZmr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
    5048             : /* 10849*/              0, /*End of Scope*/
    5049             : /* 10850*/            /*Scope*/ 58, /*->10909*/
    5050             : /* 10851*/              OPC_RecordChild1, // #2 = $src2
    5051             : /* 10852*/              OPC_MoveChild1,
    5052             : /* 10853*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5053             : /* 10856*/              OPC_MoveParent,
    5054             : /* 10857*/              OPC_CheckType, MVT::i64,
    5055             : /* 10859*/              OPC_MoveParent,
    5056             : /* 10860*/              OPC_RecordChild2, // #3 = $dst
    5057             : /* 10861*/              OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5058             : /* 10863*/              OPC_CheckPredicate, 1, // Predicate_store
    5059             : /* 10865*/              OPC_Scope, 20, /*->10887*/ // 2 children in Scope
    5060             : /* 10867*/                OPC_CheckPatternPredicate, 14, // (Subtarget->hasAVX()) && (!Subtarget->hasDQI())
    5061             : /* 10869*/                OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    5062             : /* 10872*/                OPC_EmitMergeInputChains1_0,
    5063             : /* 10873*/                OPC_EmitConvertToTarget, 2,
    5064             : /* 10875*/                OPC_MorphNodeTo0, TARGET_VAL(X86::VPEXTRQmr), 0|OPFL_Chain|OPFL_MemRefs,
    5065             :                               7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5066             :                           // Src: (st (extractelt:{ *:[i64] } VR128:{ *:[v2i64] }:$src1, (imm:{ *:[iPTR] }):$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    5067             :                           // Dst: (VPEXTRQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, (imm:{ *:[i8] }):$src2)
    5068             : /* 10887*/              /*Scope*/ 20, /*->10908*/
    5069             : /* 10888*/                OPC_CheckPatternPredicate, 13, // (Subtarget->hasSSE41() && !Subtarget->hasAVX())
    5070             : /* 10890*/                OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    5071             : /* 10893*/                OPC_EmitMergeInputChains1_0,
    5072             : /* 10894*/                OPC_EmitConvertToTarget, 2,
    5073             : /* 10896*/                OPC_MorphNodeTo0, TARGET_VAL(X86::PEXTRQmr), 0|OPFL_Chain|OPFL_MemRefs,
    5074             :                               7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5075             :                           // Src: (st (extractelt:{ *:[i64] } VR128:{ *:[v2i64] }:$src1, (imm:{ *:[iPTR] }):$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    5076             :                           // Dst: (PEXTRQmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src1, (imm:{ *:[i8] }):$src2)
    5077             : /* 10908*/              0, /*End of Scope*/
    5078             : /* 10909*/            0, /*End of Scope*/
    5079             : /* 10910*/          /*Scope*/ 101, /*->11012*/
    5080             : /* 10911*/            OPC_CheckChild0Type, MVT::v4f32,
    5081             : /* 10913*/            OPC_CheckChild1Integer, 0, 
    5082             : /* 10915*/            OPC_CheckType, MVT::f32,
    5083             : /* 10917*/            OPC_MoveParent,
    5084             : /* 10918*/            OPC_RecordChild2, // #2 = $dst
    5085             : /* 10919*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5086             : /* 10921*/            OPC_CheckPredicate, 1, // Predicate_store
    5087             : /* 10923*/            OPC_Scope, 28, /*->10953*/ // 3 children in Scope
    5088             : /* 10925*/              OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    5089             : /* 10927*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5090             : /* 10930*/              OPC_EmitMergeInputChains1_0,
    5091             : /* 10931*/              OPC_EmitInteger, MVT::i32, X86::FR32RegClassID,
    5092             : /* 10934*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
    5093             :                             MVT::f32, 2/*#Ops*/, 1, 8,  // Results = #9
    5094             : /* 10942*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVSSmr), 0|OPFL_Chain|OPFL_MemRefs,
    5095             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5096             :                         // Src: (st (extractelt:{ *:[f32] } VR128:{ *:[v4f32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5097             :                         // Dst: (VMOVSSmr addr:{ *:[iPTR] }:$dst, (COPY_TO_REGCLASS:{ *:[f32] } VR128:{ *:[v4f32] }:$src, FR32:{ *:[i32] }))
    5098             : /* 10953*/            /*Scope*/ 28, /*->10982*/
    5099             : /* 10954*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    5100             : /* 10956*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5101             : /* 10959*/              OPC_EmitMergeInputChains1_0,
    5102             : /* 10960*/              OPC_EmitInteger, MVT::i32, X86::FR32RegClassID,
    5103             : /* 10963*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
    5104             :                             MVT::f32, 2/*#Ops*/, 1, 8,  // Results = #9
    5105             : /* 10971*/              OPC_MorphNodeTo0, TARGET_VAL(X86::MOVSSmr), 0|OPFL_Chain|OPFL_MemRefs,
    5106             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5107             :                         // Src: (st (extractelt:{ *:[f32] } VR128:{ *:[v4f32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5108             :                         // Dst: (MOVSSmr addr:{ *:[iPTR] }:$dst, (COPY_TO_REGCLASS:{ *:[f32] } VR128:{ *:[v4f32] }:$src, FR32:{ *:[i32] }))
    5109             : /* 10982*/            /*Scope*/ 28, /*->11011*/
    5110             : /* 10983*/              OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    5111             : /* 10985*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5112             : /* 10988*/              OPC_EmitMergeInputChains1_0,
    5113             : /* 10989*/              OPC_EmitInteger, MVT::i32, X86::FR32XRegClassID,
    5114             : /* 10992*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
    5115             :                             MVT::f32, 2/*#Ops*/, 1, 8,  // Results = #9
    5116             : /* 11000*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVSSZmr), 0|OPFL_Chain|OPFL_MemRefs,
    5117             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5118             :                         // Src: (st (extractelt:{ *:[f32] } VR128X:{ *:[v4f32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5119             :                         // Dst: (VMOVSSZmr addr:{ *:[iPTR] }:$dst, (COPY_TO_REGCLASS:{ *:[f32] } VR128X:{ *:[v4f32] }:$src, FR32X:{ *:[i32] }))
    5120             : /* 11011*/            0, /*End of Scope*/
    5121             : /* 11012*/          0, /*End of Scope*/
    5122             : /* 11013*/        0, /*End of Scope*/
    5123             : /* 11014*/      /*SwitchOpcode*/ 49|128,2/*305*/, TARGET_VAL(ISD::TRUNCATE),// ->11323
    5124             : /* 11018*/        OPC_MoveChild0,
    5125             : /* 11019*/        OPC_SwitchOpcode /*3 cases */, 2|128,1/*130*/, TARGET_VAL(ISD::SRL),// ->11154
    5126             : /* 11024*/          OPC_RecordChild0, // #1 = $src
    5127             : /* 11025*/          OPC_CheckChild1Integer, 8, 
    5128             : /* 11027*/          OPC_CheckChild1Type, MVT::i8,
    5129             : /* 11029*/          OPC_CheckPredicate, 17, // Predicate_srl_su
    5130             : /* 11031*/          OPC_SwitchType /*3 cases */, 37, MVT::i64,// ->11071
    5131             : /* 11034*/            OPC_MoveParent,
    5132             : /* 11035*/            OPC_CheckPredicate, 17, // Predicate_trunc_su
    5133             : /* 11037*/            OPC_CheckType, MVT::i8,
    5134             : /* 11039*/            OPC_MoveParent,
    5135             : /* 11040*/            OPC_RecordChild2, // #2 = $dst
    5136             : /* 11041*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5137             : /* 11043*/            OPC_CheckPredicate, 1, // Predicate_store
    5138             : /* 11045*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5139             : /* 11048*/            OPC_EmitMergeInputChains1_0,
    5140             : /* 11049*/            OPC_EmitInteger, MVT::i32, X86::sub_8bit_hi,
    5141             : /* 11052*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5142             :                           MVT::i8, 2/*#Ops*/, 1, 8,  // Results = #9
    5143             : /* 11060*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOV8mr_NOREX), 0|OPFL_Chain|OPFL_MemRefs,
    5144             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5145             :                       // Src: (st (trunc:{ *:[i8] } (srl:{ *:[i64] } GR64:{ *:[i64] }:$src, 8:{ *:[i8] })<<P:Predicate_srl_su>>)<<P:Predicate_trunc_su>>, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 35
    5146             :                       // Dst: (MOV8mr_NOREX addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[i8] } GR64:{ *:[i64] }:$src, sub_8bit_hi:{ *:[i32] }))
    5147             : /* 11071*/          /*SwitchType*/ 39, MVT::i32,// ->11112
    5148             : /* 11073*/            OPC_MoveParent,
    5149             : /* 11074*/            OPC_CheckPredicate, 17, // Predicate_trunc_su
    5150             : /* 11076*/            OPC_CheckType, MVT::i8,
    5151             : /* 11078*/            OPC_MoveParent,
    5152             : /* 11079*/            OPC_RecordChild2, // #2 = $dst
    5153             : /* 11080*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5154             : /* 11082*/            OPC_CheckPredicate, 1, // Predicate_store
    5155             : /* 11084*/            OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    5156             : /* 11086*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5157             : /* 11089*/            OPC_EmitMergeInputChains1_0,
    5158             : /* 11090*/            OPC_EmitInteger, MVT::i32, X86::sub_8bit_hi,
    5159             : /* 11093*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5160             :                           MVT::i8, 2/*#Ops*/, 1, 8,  // Results = #9
    5161             : /* 11101*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOV8mr_NOREX), 0|OPFL_Chain|OPFL_MemRefs,
    5162             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5163             :                       // Src: (st (trunc:{ *:[i8] } (srl:{ *:[i32] } GR32:{ *:[i32] }:$src, 8:{ *:[i8] })<<P:Predicate_srl_su>>)<<P:Predicate_trunc_su>>, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 35
    5164             :                       // Dst: (MOV8mr_NOREX addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[i8] } GR32:{ *:[i32] }:$src, sub_8bit_hi:{ *:[i32] }))
    5165             : /* 11112*/          /*SwitchType*/ 39, MVT::i16,// ->11153
    5166             : /* 11114*/            OPC_MoveParent,
    5167             : /* 11115*/            OPC_CheckPredicate, 17, // Predicate_trunc_su
    5168             : /* 11117*/            OPC_CheckType, MVT::i8,
    5169             : /* 11119*/            OPC_MoveParent,
    5170             : /* 11120*/            OPC_RecordChild2, // #2 = $dst
    5171             : /* 11121*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5172             : /* 11123*/            OPC_CheckPredicate, 1, // Predicate_store
    5173             : /* 11125*/            OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    5174             : /* 11127*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5175             : /* 11130*/            OPC_EmitMergeInputChains1_0,
    5176             : /* 11131*/            OPC_EmitInteger, MVT::i32, X86::sub_8bit_hi,
    5177             : /* 11134*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5178             :                           MVT::i8, 2/*#Ops*/, 1, 8,  // Results = #9
    5179             : /* 11142*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOV8mr_NOREX), 0|OPFL_Chain|OPFL_MemRefs,
    5180             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5181             :                       // Src: (st (trunc:{ *:[i8] } (srl:{ *:[i16] } GR16:{ *:[i16] }:$src, 8:{ *:[i8] })<<P:Predicate_srl_su>>)<<P:Predicate_trunc_su>>, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 35
    5182             :                       // Dst: (MOV8mr_NOREX addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[i8] } GR16:{ *:[i16] }:$src, sub_8bit_hi:{ *:[i32] }))
    5183             : /* 11153*/          0, // EndSwitchType
    5184             : /* 11154*/        /*SwitchOpcode*/ 81, TARGET_VAL(X86ISD::PEXTRB),// ->11238
    5185             : /* 11157*/          OPC_RecordChild0, // #1 = $src1
    5186             : /* 11158*/          OPC_RecordChild1, // #2 = $src2
    5187             : /* 11159*/          OPC_MoveChild1,
    5188             : /* 11160*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5189             : /* 11163*/          OPC_MoveParent,
    5190             : /* 11164*/          OPC_MoveParent,
    5191             : /* 11165*/          OPC_CheckType, MVT::i8,
    5192             : /* 11167*/          OPC_MoveParent,
    5193             : /* 11168*/          OPC_RecordChild2, // #3 = $dst
    5194             : /* 11169*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5195             : /* 11171*/          OPC_CheckPredicate, 1, // Predicate_store
    5196             : /* 11173*/          OPC_Scope, 20, /*->11195*/ // 3 children in Scope
    5197             : /* 11175*/            OPC_CheckPatternPredicate, 15, // (Subtarget->hasAVX()) && (!Subtarget->hasBWI())
    5198             : /* 11177*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    5199             : /* 11180*/            OPC_EmitMergeInputChains1_0,
    5200             : /* 11181*/            OPC_EmitConvertToTarget, 2,
    5201             : /* 11183*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPEXTRBmr), 0|OPFL_Chain|OPFL_MemRefs,
    5202             :                           7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5203             :                       // Src: (st (trunc:{ *:[i8] } (X86pextrb:{ *:[i32] } VR128:{ *:[v16i8] }:$src1, (imm:{ *:[iPTR] }):$src2)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 31
    5204             :                       // Dst: (VPEXTRBmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src1, (imm:{ *:[i8] }):$src2)
    5205             : /* 11195*/          /*Scope*/ 20, /*->11216*/
    5206             : /* 11196*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasSSE41() && !Subtarget->hasAVX())
    5207             : /* 11198*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    5208             : /* 11201*/            OPC_EmitMergeInputChains1_0,
    5209             : /* 11202*/            OPC_EmitConvertToTarget, 2,
    5210             : /* 11204*/            OPC_MorphNodeTo0, TARGET_VAL(X86::PEXTRBmr), 0|OPFL_Chain|OPFL_MemRefs,
    5211             :                           7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5212             :                       // Src: (st (trunc:{ *:[i8] } (X86pextrb:{ *:[i32] } VR128:{ *:[v16i8] }:$src1, (imm:{ *:[iPTR] }):$src2)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 31
    5213             :                       // Dst: (PEXTRBmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v16i8] }:$src1, (imm:{ *:[i8] }):$src2)
    5214             : /* 11216*/          /*Scope*/ 20, /*->11237*/
    5215             : /* 11217*/            OPC_CheckPatternPredicate, 16, // (Subtarget->hasBWI())
    5216             : /* 11219*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    5217             : /* 11222*/            OPC_EmitMergeInputChains1_0,
    5218             : /* 11223*/            OPC_EmitConvertToTarget, 2,
    5219             : /* 11225*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPEXTRBZmr), 0|OPFL_Chain|OPFL_MemRefs,
    5220             :                           7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5221             :                       // Src: (st (trunc:{ *:[i8] } (X86pextrb:{ *:[i32] } VR128X:{ *:[v16i8] }:$src1, (imm:{ *:[iPTR] }):$src2)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 31
    5222             :                       // Dst: (VPEXTRBZmr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v16i8] }:$src1, (imm:{ *:[i8] }):$src2)
    5223             : /* 11237*/          0, /*End of Scope*/
    5224             : /* 11238*/        /*SwitchOpcode*/ 81, TARGET_VAL(X86ISD::PEXTRW),// ->11322
    5225             : /* 11241*/          OPC_RecordChild0, // #1 = $src1
    5226             : /* 11242*/          OPC_RecordChild1, // #2 = $src2
    5227             : /* 11243*/          OPC_MoveChild1,
    5228             : /* 11244*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5229             : /* 11247*/          OPC_MoveParent,
    5230             : /* 11248*/          OPC_MoveParent,
    5231             : /* 11249*/          OPC_CheckType, MVT::i16,
    5232             : /* 11251*/          OPC_MoveParent,
    5233             : /* 11252*/          OPC_RecordChild2, // #3 = $dst
    5234             : /* 11253*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5235             : /* 11255*/          OPC_CheckPredicate, 1, // Predicate_store
    5236             : /* 11257*/          OPC_Scope, 20, /*->11279*/ // 3 children in Scope
    5237             : /* 11259*/            OPC_CheckPatternPredicate, 15, // (Subtarget->hasAVX()) && (!Subtarget->hasBWI())
    5238             : /* 11261*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    5239             : /* 11264*/            OPC_EmitMergeInputChains1_0,
    5240             : /* 11265*/            OPC_EmitConvertToTarget, 2,
    5241             : /* 11267*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPEXTRWmr), 0|OPFL_Chain|OPFL_MemRefs,
    5242             :                           7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5243             :                       // Src: (st (trunc:{ *:[i16] } (X86pextrw:{ *:[i32] } VR128:{ *:[v8i16] }:$src1, (imm:{ *:[iPTR] }):$src2)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 31
    5244             :                       // Dst: (VPEXTRWmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src1, (imm:{ *:[i8] }):$src2)
    5245             : /* 11279*/          /*Scope*/ 20, /*->11300*/
    5246             : /* 11280*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasSSE41() && !Subtarget->hasAVX())
    5247             : /* 11282*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    5248             : /* 11285*/            OPC_EmitMergeInputChains1_0,
    5249             : /* 11286*/            OPC_EmitConvertToTarget, 2,
    5250             : /* 11288*/            OPC_MorphNodeTo0, TARGET_VAL(X86::PEXTRWmr), 0|OPFL_Chain|OPFL_MemRefs,
    5251             :                           7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5252             :                       // Src: (st (trunc:{ *:[i16] } (X86pextrw:{ *:[i32] } VR128:{ *:[v8i16] }:$src1, (imm:{ *:[iPTR] }):$src2)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 31
    5253             :                       // Dst: (PEXTRWmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src1, (imm:{ *:[i8] }):$src2)
    5254             : /* 11300*/          /*Scope*/ 20, /*->11321*/
    5255             : /* 11301*/            OPC_CheckPatternPredicate, 16, // (Subtarget->hasBWI())
    5256             : /* 11303*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    5257             : /* 11306*/            OPC_EmitMergeInputChains1_0,
    5258             : /* 11307*/            OPC_EmitConvertToTarget, 2,
    5259             : /* 11309*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPEXTRWZmr), 0|OPFL_Chain|OPFL_MemRefs,
    5260             :                           7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5261             :                       // Src: (st (trunc:{ *:[i16] } (X86pextrw:{ *:[i32] } VR128X:{ *:[v8i16] }:$src1, (imm:{ *:[iPTR] }):$src2)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 31
    5262             :                       // Dst: (VPEXTRWZmr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v8i16] }:$src1, (imm:{ *:[i8] }):$src2)
    5263             : /* 11321*/          0, /*End of Scope*/
    5264             : /* 11322*/        0, // EndSwitchOpcode
    5265             : /* 11323*/      /*SwitchOpcode*/ 75, TARGET_VAL(ISD::BITCAST),// ->11401
    5266             : /* 11326*/        OPC_MoveChild0,
    5267             : /* 11327*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    5268             : /* 11330*/        OPC_MoveChild0,
    5269             : /* 11331*/        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    5270             : /* 11334*/        OPC_RecordChild0, // #1 = $src1
    5271             : /* 11335*/        OPC_CheckChild0Type, MVT::v4f32,
    5272             : /* 11337*/        OPC_CheckType, MVT::v4i32,
    5273             : /* 11339*/        OPC_MoveParent,
    5274             : /* 11340*/        OPC_RecordChild1, // #2 = $src2
    5275             : /* 11341*/        OPC_MoveChild1,
    5276             : /* 11342*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    5277             : /* 11345*/        OPC_MoveParent,
    5278             : /* 11346*/        OPC_CheckType, MVT::i32,
    5279             : /* 11348*/        OPC_MoveParent,
    5280             : /* 11349*/        OPC_CheckType, MVT::f32,
    5281             : /* 11351*/        OPC_MoveParent,
    5282             : /* 11352*/        OPC_RecordChild2, // #3 = $dst
    5283             : /* 11353*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5284             : /* 11355*/        OPC_CheckPredicate, 1, // Predicate_store
    5285             : /* 11357*/        OPC_Scope, 20, /*->11379*/ // 2 children in Scope
    5286             : /* 11359*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasAVX())
    5287             : /* 11361*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    5288             : /* 11364*/          OPC_EmitMergeInputChains1_0,
    5289             : /* 11365*/          OPC_EmitConvertToTarget, 2,
    5290             : /* 11367*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    5291             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5292             :                     // Src: (st (bitconvert:{ *:[f32] } (extractelt:{ *:[i32] } (bitconvert:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src1), (imm:{ *:[iPTR] }):$src2)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 34
    5293             :                     // Dst: (VEXTRACTPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src1, (imm:{ *:[i8] }):$src2)
    5294             : /* 11379*/        /*Scope*/ 20, /*->11400*/
    5295             : /* 11380*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasSSE41() && !Subtarget->hasAVX())
    5296             : /* 11382*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    5297             : /* 11385*/          OPC_EmitMergeInputChains1_0,
    5298             : /* 11386*/          OPC_EmitConvertToTarget, 2,
    5299             : /* 11388*/          OPC_MorphNodeTo0, TARGET_VAL(X86::EXTRACTPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    5300             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    5301             :                     // Src: (st (bitconvert:{ *:[f32] } (extractelt:{ *:[i32] } (bitconvert:{ *:[v4i32] } VR128:{ *:[v4f32] }:$src1), (imm:{ *:[iPTR] }):$src2)), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 34
    5302             :                     // Dst: (EXTRACTPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src1, (imm:{ *:[i8] }):$src2)
    5303             : /* 11400*/        0, /*End of Scope*/
    5304             : /* 11401*/      /*SwitchOpcode*/ 50|128,3/*434*/, TARGET_VAL(X86ISD::SETCC),// ->11839
    5305             : /* 11405*/        OPC_Scope, 26, /*->11433*/ // 16 children in Scope
    5306             : /* 11407*/          OPC_CheckChild0Integer, 13, 
    5307             : /* 11409*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5308             : /* 11410*/          OPC_MoveParent,
    5309             : /* 11411*/          OPC_RecordChild2, // #2 = $dst
    5310             : /* 11412*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5311             : /* 11414*/          OPC_CheckPredicate, 1, // Predicate_store
    5312             : /* 11416*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5313             : /* 11419*/          OPC_EmitMergeInputChains1_0,
    5314             : /* 11420*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5315             : /* 11423*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETOm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5316             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5317             :                     // Src: (st (X86setcc:{ *:[i8] } 13:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5318             :                     // Dst: (SETOm addr:{ *:[iPTR] }:$dst)
    5319             : /* 11433*/        /*Scope*/ 26, /*->11460*/
    5320             : /* 11434*/          OPC_CheckChild0Integer, 10, 
    5321             : /* 11436*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5322             : /* 11437*/          OPC_MoveParent,
    5323             : /* 11438*/          OPC_RecordChild2, // #2 = $dst
    5324             : /* 11439*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5325             : /* 11441*/          OPC_CheckPredicate, 1, // Predicate_store
    5326             : /* 11443*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5327             : /* 11446*/          OPC_EmitMergeInputChains1_0,
    5328             : /* 11447*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5329             : /* 11450*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETNOm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5330             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5331             :                     // Src: (st (X86setcc:{ *:[i8] } 10:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5332             :                     // Dst: (SETNOm addr:{ *:[iPTR] }:$dst)
    5333             : /* 11460*/        /*Scope*/ 26, /*->11487*/
    5334             : /* 11461*/          OPC_CheckChild0Integer, 2, 
    5335             : /* 11463*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5336             : /* 11464*/          OPC_MoveParent,
    5337             : /* 11465*/          OPC_RecordChild2, // #2 = $dst
    5338             : /* 11466*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5339             : /* 11468*/          OPC_CheckPredicate, 1, // Predicate_store
    5340             : /* 11470*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5341             : /* 11473*/          OPC_EmitMergeInputChains1_0,
    5342             : /* 11474*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5343             : /* 11477*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETBm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5344             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5345             :                     // Src: (st (X86setcc:{ *:[i8] } 2:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5346             :                     // Dst: (SETBm addr:{ *:[iPTR] }:$dst)
    5347             : /* 11487*/        /*Scope*/ 26, /*->11514*/
    5348             : /* 11488*/          OPC_CheckChild0Integer, 1, 
    5349             : /* 11490*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5350             : /* 11491*/          OPC_MoveParent,
    5351             : /* 11492*/          OPC_RecordChild2, // #2 = $dst
    5352             : /* 11493*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5353             : /* 11495*/          OPC_CheckPredicate, 1, // Predicate_store
    5354             : /* 11497*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5355             : /* 11500*/          OPC_EmitMergeInputChains1_0,
    5356             : /* 11501*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5357             : /* 11504*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETAEm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5358             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5359             :                     // Src: (st (X86setcc:{ *:[i8] } 1:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5360             :                     // Dst: (SETAEm addr:{ *:[iPTR] }:$dst)
    5361             : /* 11514*/        /*Scope*/ 26, /*->11541*/
    5362             : /* 11515*/          OPC_CheckChild0Integer, 4, 
    5363             : /* 11517*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5364             : /* 11518*/          OPC_MoveParent,
    5365             : /* 11519*/          OPC_RecordChild2, // #2 = $dst
    5366             : /* 11520*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5367             : /* 11522*/          OPC_CheckPredicate, 1, // Predicate_store
    5368             : /* 11524*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5369             : /* 11527*/          OPC_EmitMergeInputChains1_0,
    5370             : /* 11528*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5371             : /* 11531*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETEm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5372             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5373             :                     // Src: (st (X86setcc:{ *:[i8] } 4:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5374             :                     // Dst: (SETEm addr:{ *:[iPTR] }:$dst)
    5375             : /* 11541*/        /*Scope*/ 26, /*->11568*/
    5376             : /* 11542*/          OPC_CheckChild0Integer, 9, 
    5377             : /* 11544*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5378             : /* 11545*/          OPC_MoveParent,
    5379             : /* 11546*/          OPC_RecordChild2, // #2 = $dst
    5380             : /* 11547*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5381             : /* 11549*/          OPC_CheckPredicate, 1, // Predicate_store
    5382             : /* 11551*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5383             : /* 11554*/          OPC_EmitMergeInputChains1_0,
    5384             : /* 11555*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5385             : /* 11558*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETNEm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5386             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5387             :                     // Src: (st (X86setcc:{ *:[i8] } 9:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5388             :                     // Dst: (SETNEm addr:{ *:[iPTR] }:$dst)
    5389             : /* 11568*/        /*Scope*/ 26, /*->11595*/
    5390             : /* 11569*/          OPC_CheckChild0Integer, 3, 
    5391             : /* 11571*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5392             : /* 11572*/          OPC_MoveParent,
    5393             : /* 11573*/          OPC_RecordChild2, // #2 = $dst
    5394             : /* 11574*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5395             : /* 11576*/          OPC_CheckPredicate, 1, // Predicate_store
    5396             : /* 11578*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5397             : /* 11581*/          OPC_EmitMergeInputChains1_0,
    5398             : /* 11582*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5399             : /* 11585*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETBEm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5400             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5401             :                     // Src: (st (X86setcc:{ *:[i8] } 3:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5402             :                     // Dst: (SETBEm addr:{ *:[iPTR] }:$dst)
    5403             : /* 11595*/        /*Scope*/ 26, /*->11622*/
    5404             : /* 11596*/          OPC_CheckChild0Integer, 0, 
    5405             : /* 11598*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5406             : /* 11599*/          OPC_MoveParent,
    5407             : /* 11600*/          OPC_RecordChild2, // #2 = $dst
    5408             : /* 11601*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5409             : /* 11603*/          OPC_CheckPredicate, 1, // Predicate_store
    5410             : /* 11605*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5411             : /* 11608*/          OPC_EmitMergeInputChains1_0,
    5412             : /* 11609*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5413             : /* 11612*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETAm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5414             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5415             :                     // Src: (st (X86setcc:{ *:[i8] } 0:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5416             :                     // Dst: (SETAm addr:{ *:[iPTR] }:$dst)
    5417             : /* 11622*/        /*Scope*/ 26, /*->11649*/
    5418             : /* 11623*/          OPC_CheckChild0Integer, 15, 
    5419             : /* 11625*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5420             : /* 11626*/          OPC_MoveParent,
    5421             : /* 11627*/          OPC_RecordChild2, // #2 = $dst
    5422             : /* 11628*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5423             : /* 11630*/          OPC_CheckPredicate, 1, // Predicate_store
    5424             : /* 11632*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5425             : /* 11635*/          OPC_EmitMergeInputChains1_0,
    5426             : /* 11636*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5427             : /* 11639*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETSm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5428             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5429             :                     // Src: (st (X86setcc:{ *:[i8] } 15:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5430             :                     // Dst: (SETSm addr:{ *:[iPTR] }:$dst)
    5431             : /* 11649*/        /*Scope*/ 26, /*->11676*/
    5432             : /* 11650*/          OPC_CheckChild0Integer, 12, 
    5433             : /* 11652*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5434             : /* 11653*/          OPC_MoveParent,
    5435             : /* 11654*/          OPC_RecordChild2, // #2 = $dst
    5436             : /* 11655*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5437             : /* 11657*/          OPC_CheckPredicate, 1, // Predicate_store
    5438             : /* 11659*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5439             : /* 11662*/          OPC_EmitMergeInputChains1_0,
    5440             : /* 11663*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5441             : /* 11666*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETNSm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5442             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5443             :                     // Src: (st (X86setcc:{ *:[i8] } 12:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5444             :                     // Dst: (SETNSm addr:{ *:[iPTR] }:$dst)
    5445             : /* 11676*/        /*Scope*/ 26, /*->11703*/
    5446             : /* 11677*/          OPC_CheckChild0Integer, 14, 
    5447             : /* 11679*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5448             : /* 11680*/          OPC_MoveParent,
    5449             : /* 11681*/          OPC_RecordChild2, // #2 = $dst
    5450             : /* 11682*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5451             : /* 11684*/          OPC_CheckPredicate, 1, // Predicate_store
    5452             : /* 11686*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5453             : /* 11689*/          OPC_EmitMergeInputChains1_0,
    5454             : /* 11690*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5455             : /* 11693*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETPm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5456             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5457             :                     // Src: (st (X86setcc:{ *:[i8] } 14:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5458             :                     // Dst: (SETPm addr:{ *:[iPTR] }:$dst)
    5459             : /* 11703*/        /*Scope*/ 26, /*->11730*/
    5460             : /* 11704*/          OPC_CheckChild0Integer, 11, 
    5461             : /* 11706*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5462             : /* 11707*/          OPC_MoveParent,
    5463             : /* 11708*/          OPC_RecordChild2, // #2 = $dst
    5464             : /* 11709*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5465             : /* 11711*/          OPC_CheckPredicate, 1, // Predicate_store
    5466             : /* 11713*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5467             : /* 11716*/          OPC_EmitMergeInputChains1_0,
    5468             : /* 11717*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5469             : /* 11720*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETNPm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5470             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5471             :                     // Src: (st (X86setcc:{ *:[i8] } 11:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5472             :                     // Dst: (SETNPm addr:{ *:[iPTR] }:$dst)
    5473             : /* 11730*/        /*Scope*/ 26, /*->11757*/
    5474             : /* 11731*/          OPC_CheckChild0Integer, 7, 
    5475             : /* 11733*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5476             : /* 11734*/          OPC_MoveParent,
    5477             : /* 11735*/          OPC_RecordChild2, // #2 = $dst
    5478             : /* 11736*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5479             : /* 11738*/          OPC_CheckPredicate, 1, // Predicate_store
    5480             : /* 11740*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5481             : /* 11743*/          OPC_EmitMergeInputChains1_0,
    5482             : /* 11744*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5483             : /* 11747*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETLm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5484             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5485             :                     // Src: (st (X86setcc:{ *:[i8] } 7:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5486             :                     // Dst: (SETLm addr:{ *:[iPTR] }:$dst)
    5487             : /* 11757*/        /*Scope*/ 26, /*->11784*/
    5488             : /* 11758*/          OPC_CheckChild0Integer, 6, 
    5489             : /* 11760*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5490             : /* 11761*/          OPC_MoveParent,
    5491             : /* 11762*/          OPC_RecordChild2, // #2 = $dst
    5492             : /* 11763*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5493             : /* 11765*/          OPC_CheckPredicate, 1, // Predicate_store
    5494             : /* 11767*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5495             : /* 11770*/          OPC_EmitMergeInputChains1_0,
    5496             : /* 11771*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5497             : /* 11774*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETGEm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5498             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5499             :                     // Src: (st (X86setcc:{ *:[i8] } 6:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5500             :                     // Dst: (SETGEm addr:{ *:[iPTR] }:$dst)
    5501             : /* 11784*/        /*Scope*/ 26, /*->11811*/
    5502             : /* 11785*/          OPC_CheckChild0Integer, 8, 
    5503             : /* 11787*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5504             : /* 11788*/          OPC_MoveParent,
    5505             : /* 11789*/          OPC_RecordChild2, // #2 = $dst
    5506             : /* 11790*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5507             : /* 11792*/          OPC_CheckPredicate, 1, // Predicate_store
    5508             : /* 11794*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5509             : /* 11797*/          OPC_EmitMergeInputChains1_0,
    5510             : /* 11798*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5511             : /* 11801*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETLEm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5512             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5513             :                     // Src: (st (X86setcc:{ *:[i8] } 8:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5514             :                     // Dst: (SETLEm addr:{ *:[iPTR] }:$dst)
    5515             : /* 11811*/        /*Scope*/ 26, /*->11838*/
    5516             : /* 11812*/          OPC_CheckChild0Integer, 5, 
    5517             : /* 11814*/          OPC_RecordChild1, // #1 = physreg input EFLAGS
    5518             : /* 11815*/          OPC_MoveParent,
    5519             : /* 11816*/          OPC_RecordChild2, // #2 = $dst
    5520             : /* 11817*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5521             : /* 11819*/          OPC_CheckPredicate, 1, // Predicate_store
    5522             : /* 11821*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5523             : /* 11824*/          OPC_EmitMergeInputChains1_0,
    5524             : /* 11825*/          OPC_EmitCopyToReg, 1, X86::EFLAGS,
    5525             : /* 11828*/          OPC_MorphNodeTo0, TARGET_VAL(X86::SETGm), 0|OPFL_Chain|OPFL_GlueInput|OPFL_MemRefs,
    5526             :                         5/*#Ops*/, 3, 4, 5, 6, 7, 
    5527             :                     // Src: (st (X86setcc:{ *:[i8] } 5:{ *:[i8] }, EFLAGS:{ *:[i32] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5528             :                     // Dst: (SETGm addr:{ *:[iPTR] }:$dst)
    5529             : /* 11838*/        0, /*End of Scope*/
    5530             : /* 11839*/      /*SwitchOpcode*/ 57|128,13/*1721*/, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),// ->13564
    5531             : /* 11843*/        OPC_RecordChild0, // #1 = $src
    5532             : /* 11844*/        OPC_Scope, 8|128,1/*136*/, /*->11983*/ // 13 children in Scope
    5533             : /* 11847*/          OPC_CheckChild0Type, MVT::v4f64,
    5534             : /* 11849*/          OPC_CheckChild1Integer, 0, 
    5535             : /* 11851*/          OPC_CheckChild1Type, MVT::iPTR,
    5536             : /* 11853*/          OPC_CheckType, MVT::v2f64,
    5537             : /* 11855*/          OPC_MoveParent,
    5538             : /* 11856*/          OPC_RecordChild2, // #2 = $dst
    5539             : /* 11857*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5540             : /* 11859*/          OPC_CheckPredicate, 1, // Predicate_store
    5541             : /* 11861*/          OPC_Scope, 30, /*->11893*/ // 4 children in Scope
    5542             : /* 11863*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5543             : /* 11865*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5544             : /* 11867*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5545             : /* 11870*/            OPC_EmitMergeInputChains1_0,
    5546             : /* 11871*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5547             : /* 11874*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5548             :                           MVT::v2f64, 2/*#Ops*/, 1, 8,  // Results = #9
    5549             : /* 11882*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    5550             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5551             :                       // Src: (st (extract_subvector:{ *:[v2f64] } VR256X:{ *:[v4f64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5552             :                       // Dst: (VMOVAPDmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2f64] } VR256X:{ *:[v4f64] }:$src, sub_xmm:{ *:[i32] }))
    5553             : /* 11893*/          /*Scope*/ 28, /*->11922*/
    5554             : /* 11894*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5555             : /* 11896*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5556             : /* 11899*/            OPC_EmitMergeInputChains1_0,
    5557             : /* 11900*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5558             : /* 11903*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5559             :                           MVT::v2f64, 2/*#Ops*/, 1, 8,  // Results = #9
    5560             : /* 11911*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    5561             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5562             :                       // Src: (st (extract_subvector:{ *:[v2f64] } VR256X:{ *:[v4f64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5563             :                       // Dst: (VMOVUPDmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2f64] } VR256X:{ *:[v4f64] }:$src, sub_xmm:{ *:[i32] }))
    5564             : /* 11922*/          /*Scope*/ 30, /*->11953*/
    5565             : /* 11923*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5566             : /* 11925*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5567             : /* 11927*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5568             : /* 11930*/            OPC_EmitMergeInputChains1_0,
    5569             : /* 11931*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5570             : /* 11934*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5571             :                           MVT::v2f64, 2/*#Ops*/, 1, 8,  // Results = #9
    5572             : /* 11942*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPDZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5573             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5574             :                       // Src: (st (extract_subvector:{ *:[v2f64] } VR256X:{ *:[v4f64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5575             :                       // Dst: (VMOVAPDZ128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2f64] } VR256X:{ *:[v4f64] }:$src, sub_xmm:{ *:[i32] }))
    5576             : /* 11953*/          /*Scope*/ 28, /*->11982*/
    5577             : /* 11954*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5578             : /* 11956*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5579             : /* 11959*/            OPC_EmitMergeInputChains1_0,
    5580             : /* 11960*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5581             : /* 11963*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5582             :                           MVT::v2f64, 2/*#Ops*/, 1, 8,  // Results = #9
    5583             : /* 11971*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPDZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5584             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5585             :                       // Src: (st (extract_subvector:{ *:[v2f64] } VR256X:{ *:[v4f64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5586             :                       // Dst: (VMOVUPDZ128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2f64] } VR256X:{ *:[v4f64] }:$src, sub_xmm:{ *:[i32] }))
    5587             : /* 11982*/          0, /*End of Scope*/
    5588             : /* 11983*/        /*Scope*/ 8|128,1/*136*/, /*->12121*/
    5589             : /* 11985*/          OPC_CheckChild0Type, MVT::v8f32,
    5590             : /* 11987*/          OPC_CheckChild1Integer, 0, 
    5591             : /* 11989*/          OPC_CheckChild1Type, MVT::iPTR,
    5592             : /* 11991*/          OPC_CheckType, MVT::v4f32,
    5593             : /* 11993*/          OPC_MoveParent,
    5594             : /* 11994*/          OPC_RecordChild2, // #2 = $dst
    5595             : /* 11995*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5596             : /* 11997*/          OPC_CheckPredicate, 1, // Predicate_store
    5597             : /* 11999*/          OPC_Scope, 30, /*->12031*/ // 4 children in Scope
    5598             : /* 12001*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5599             : /* 12003*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5600             : /* 12005*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5601             : /* 12008*/            OPC_EmitMergeInputChains1_0,
    5602             : /* 12009*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5603             : /* 12012*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5604             :                           MVT::v4f32, 2/*#Ops*/, 1, 8,  // Results = #9
    5605             : /* 12020*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    5606             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5607             :                       // Src: (st (extract_subvector:{ *:[v4f32] } VR256X:{ *:[v8f32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5608             :                       // Dst: (VMOVAPSmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4f32] } VR256X:{ *:[v8f32] }:$src, sub_xmm:{ *:[i32] }))
    5609             : /* 12031*/          /*Scope*/ 28, /*->12060*/
    5610             : /* 12032*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5611             : /* 12034*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5612             : /* 12037*/            OPC_EmitMergeInputChains1_0,
    5613             : /* 12038*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5614             : /* 12041*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5615             :                           MVT::v4f32, 2/*#Ops*/, 1, 8,  // Results = #9
    5616             : /* 12049*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    5617             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5618             :                       // Src: (st (extract_subvector:{ *:[v4f32] } VR256X:{ *:[v8f32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5619             :                       // Dst: (VMOVUPSmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4f32] } VR256X:{ *:[v8f32] }:$src, sub_xmm:{ *:[i32] }))
    5620             : /* 12060*/          /*Scope*/ 30, /*->12091*/
    5621             : /* 12061*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5622             : /* 12063*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5623             : /* 12065*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5624             : /* 12068*/            OPC_EmitMergeInputChains1_0,
    5625             : /* 12069*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5626             : /* 12072*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5627             :                           MVT::v4f32, 2/*#Ops*/, 1, 8,  // Results = #9
    5628             : /* 12080*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5629             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5630             :                       // Src: (st (extract_subvector:{ *:[v4f32] } VR256X:{ *:[v8f32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5631             :                       // Dst: (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4f32] } VR256X:{ *:[v8f32] }:$src, sub_xmm:{ *:[i32] }))
    5632             : /* 12091*/          /*Scope*/ 28, /*->12120*/
    5633             : /* 12092*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5634             : /* 12094*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5635             : /* 12097*/            OPC_EmitMergeInputChains1_0,
    5636             : /* 12098*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5637             : /* 12101*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5638             :                           MVT::v4f32, 2/*#Ops*/, 1, 8,  // Results = #9
    5639             : /* 12109*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5640             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5641             :                       // Src: (st (extract_subvector:{ *:[v4f32] } VR256X:{ *:[v8f32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5642             :                       // Dst: (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4f32] } VR256X:{ *:[v8f32] }:$src, sub_xmm:{ *:[i32] }))
    5643             : /* 12120*/          0, /*End of Scope*/
    5644             : /* 12121*/        /*Scope*/ 8|128,1/*136*/, /*->12259*/
    5645             : /* 12123*/          OPC_CheckChild0Type, MVT::v4i64,
    5646             : /* 12125*/          OPC_CheckChild1Integer, 0, 
    5647             : /* 12127*/          OPC_CheckChild1Type, MVT::iPTR,
    5648             : /* 12129*/          OPC_CheckType, MVT::v2i64,
    5649             : /* 12131*/          OPC_MoveParent,
    5650             : /* 12132*/          OPC_RecordChild2, // #2 = $dst
    5651             : /* 12133*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5652             : /* 12135*/          OPC_CheckPredicate, 1, // Predicate_store
    5653             : /* 12137*/          OPC_Scope, 30, /*->12169*/ // 4 children in Scope
    5654             : /* 12139*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5655             : /* 12141*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5656             : /* 12143*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5657             : /* 12146*/            OPC_EmitMergeInputChains1_0,
    5658             : /* 12147*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5659             : /* 12150*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5660             :                           MVT::v2i64, 2/*#Ops*/, 1, 8,  // Results = #9
    5661             : /* 12158*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQAmr), 0|OPFL_Chain|OPFL_MemRefs,
    5662             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5663             :                       // Src: (st (extract_subvector:{ *:[v2i64] } VR256X:{ *:[v4i64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5664             :                       // Dst: (VMOVDQAmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2i64] } VR256X:{ *:[v4i64] }:$src, sub_xmm:{ *:[i32] }))
    5665             : /* 12169*/          /*Scope*/ 28, /*->12198*/
    5666             : /* 12170*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5667             : /* 12172*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5668             : /* 12175*/            OPC_EmitMergeInputChains1_0,
    5669             : /* 12176*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5670             : /* 12179*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5671             :                           MVT::v2i64, 2/*#Ops*/, 1, 8,  // Results = #9
    5672             : /* 12187*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQUmr), 0|OPFL_Chain|OPFL_MemRefs,
    5673             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5674             :                       // Src: (st (extract_subvector:{ *:[v2i64] } VR256X:{ *:[v4i64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5675             :                       // Dst: (VMOVDQUmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2i64] } VR256X:{ *:[v4i64] }:$src, sub_xmm:{ *:[i32] }))
    5676             : /* 12198*/          /*Scope*/ 30, /*->12229*/
    5677             : /* 12199*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5678             : /* 12201*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5679             : /* 12203*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5680             : /* 12206*/            OPC_EmitMergeInputChains1_0,
    5681             : /* 12207*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5682             : /* 12210*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5683             :                           MVT::v2i64, 2/*#Ops*/, 1, 8,  // Results = #9
    5684             : /* 12218*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5685             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5686             :                       // Src: (st (extract_subvector:{ *:[v2i64] } VR256X:{ *:[v4i64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5687             :                       // Dst: (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2i64] } VR256X:{ *:[v4i64] }:$src, sub_xmm:{ *:[i32] }))
    5688             : /* 12229*/          /*Scope*/ 28, /*->12258*/
    5689             : /* 12230*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5690             : /* 12232*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5691             : /* 12235*/            OPC_EmitMergeInputChains1_0,
    5692             : /* 12236*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5693             : /* 12239*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5694             :                           MVT::v2i64, 2/*#Ops*/, 1, 8,  // Results = #9
    5695             : /* 12247*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5696             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5697             :                       // Src: (st (extract_subvector:{ *:[v2i64] } VR256X:{ *:[v4i64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5698             :                       // Dst: (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2i64] } VR256X:{ *:[v4i64] }:$src, sub_xmm:{ *:[i32] }))
    5699             : /* 12258*/          0, /*End of Scope*/
    5700             : /* 12259*/        /*Scope*/ 8|128,1/*136*/, /*->12397*/
    5701             : /* 12261*/          OPC_CheckChild0Type, MVT::v8i32,
    5702             : /* 12263*/          OPC_CheckChild1Integer, 0, 
    5703             : /* 12265*/          OPC_CheckChild1Type, MVT::iPTR,
    5704             : /* 12267*/          OPC_CheckType, MVT::v4i32,
    5705             : /* 12269*/          OPC_MoveParent,
    5706             : /* 12270*/          OPC_RecordChild2, // #2 = $dst
    5707             : /* 12271*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5708             : /* 12273*/          OPC_CheckPredicate, 1, // Predicate_store
    5709             : /* 12275*/          OPC_Scope, 30, /*->12307*/ // 4 children in Scope
    5710             : /* 12277*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5711             : /* 12279*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5712             : /* 12281*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5713             : /* 12284*/            OPC_EmitMergeInputChains1_0,
    5714             : /* 12285*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5715             : /* 12288*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5716             :                           MVT::v4i32, 2/*#Ops*/, 1, 8,  // Results = #9
    5717             : /* 12296*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQAmr), 0|OPFL_Chain|OPFL_MemRefs,
    5718             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5719             :                       // Src: (st (extract_subvector:{ *:[v4i32] } VR256X:{ *:[v8i32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5720             :                       // Dst: (VMOVDQAmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4i32] } VR256X:{ *:[v8i32] }:$src, sub_xmm:{ *:[i32] }))
    5721             : /* 12307*/          /*Scope*/ 28, /*->12336*/
    5722             : /* 12308*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5723             : /* 12310*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5724             : /* 12313*/            OPC_EmitMergeInputChains1_0,
    5725             : /* 12314*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5726             : /* 12317*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5727             :                           MVT::v4i32, 2/*#Ops*/, 1, 8,  // Results = #9
    5728             : /* 12325*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQUmr), 0|OPFL_Chain|OPFL_MemRefs,
    5729             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5730             :                       // Src: (st (extract_subvector:{ *:[v4i32] } VR256X:{ *:[v8i32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5731             :                       // Dst: (VMOVDQUmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4i32] } VR256X:{ *:[v8i32] }:$src, sub_xmm:{ *:[i32] }))
    5732             : /* 12336*/          /*Scope*/ 30, /*->12367*/
    5733             : /* 12337*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5734             : /* 12339*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5735             : /* 12341*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5736             : /* 12344*/            OPC_EmitMergeInputChains1_0,
    5737             : /* 12345*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5738             : /* 12348*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5739             :                           MVT::v4i32, 2/*#Ops*/, 1, 8,  // Results = #9
    5740             : /* 12356*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5741             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5742             :                       // Src: (st (extract_subvector:{ *:[v4i32] } VR256X:{ *:[v8i32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5743             :                       // Dst: (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4i32] } VR256X:{ *:[v8i32] }:$src, sub_xmm:{ *:[i32] }))
    5744             : /* 12367*/          /*Scope*/ 28, /*->12396*/
    5745             : /* 12368*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5746             : /* 12370*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5747             : /* 12373*/            OPC_EmitMergeInputChains1_0,
    5748             : /* 12374*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5749             : /* 12377*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5750             :                           MVT::v4i32, 2/*#Ops*/, 1, 8,  // Results = #9
    5751             : /* 12385*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5752             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5753             :                       // Src: (st (extract_subvector:{ *:[v4i32] } VR256X:{ *:[v8i32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5754             :                       // Dst: (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4i32] } VR256X:{ *:[v8i32] }:$src, sub_xmm:{ *:[i32] }))
    5755             : /* 12396*/          0, /*End of Scope*/
    5756             : /* 12397*/        /*Scope*/ 8|128,1/*136*/, /*->12535*/
    5757             : /* 12399*/          OPC_CheckChild0Type, MVT::v16i16,
    5758             : /* 12401*/          OPC_CheckChild1Integer, 0, 
    5759             : /* 12403*/          OPC_CheckChild1Type, MVT::iPTR,
    5760             : /* 12405*/          OPC_CheckType, MVT::v8i16,
    5761             : /* 12407*/          OPC_MoveParent,
    5762             : /* 12408*/          OPC_RecordChild2, // #2 = $dst
    5763             : /* 12409*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5764             : /* 12411*/          OPC_CheckPredicate, 1, // Predicate_store
    5765             : /* 12413*/          OPC_Scope, 30, /*->12445*/ // 4 children in Scope
    5766             : /* 12415*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5767             : /* 12417*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5768             : /* 12419*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5769             : /* 12422*/            OPC_EmitMergeInputChains1_0,
    5770             : /* 12423*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5771             : /* 12426*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5772             :                           MVT::v8i16, 2/*#Ops*/, 1, 8,  // Results = #9
    5773             : /* 12434*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQAmr), 0|OPFL_Chain|OPFL_MemRefs,
    5774             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5775             :                       // Src: (st (extract_subvector:{ *:[v8i16] } VR256X:{ *:[v16i16] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5776             :                       // Dst: (VMOVDQAmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v8i16] } VR256X:{ *:[v16i16] }:$src, sub_xmm:{ *:[i32] }))
    5777             : /* 12445*/          /*Scope*/ 28, /*->12474*/
    5778             : /* 12446*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5779             : /* 12448*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5780             : /* 12451*/            OPC_EmitMergeInputChains1_0,
    5781             : /* 12452*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5782             : /* 12455*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5783             :                           MVT::v8i16, 2/*#Ops*/, 1, 8,  // Results = #9
    5784             : /* 12463*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQUmr), 0|OPFL_Chain|OPFL_MemRefs,
    5785             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5786             :                       // Src: (st (extract_subvector:{ *:[v8i16] } VR256X:{ *:[v16i16] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5787             :                       // Dst: (VMOVDQUmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v8i16] } VR256X:{ *:[v16i16] }:$src, sub_xmm:{ *:[i32] }))
    5788             : /* 12474*/          /*Scope*/ 30, /*->12505*/
    5789             : /* 12475*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5790             : /* 12477*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5791             : /* 12479*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5792             : /* 12482*/            OPC_EmitMergeInputChains1_0,
    5793             : /* 12483*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5794             : /* 12486*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5795             :                           MVT::v8i16, 2/*#Ops*/, 1, 8,  // Results = #9
    5796             : /* 12494*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5797             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5798             :                       // Src: (st (extract_subvector:{ *:[v8i16] } VR256X:{ *:[v16i16] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5799             :                       // Dst: (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v8i16] } VR256X:{ *:[v16i16] }:$src, sub_xmm:{ *:[i32] }))
    5800             : /* 12505*/          /*Scope*/ 28, /*->12534*/
    5801             : /* 12506*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5802             : /* 12508*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5803             : /* 12511*/            OPC_EmitMergeInputChains1_0,
    5804             : /* 12512*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5805             : /* 12515*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5806             :                           MVT::v8i16, 2/*#Ops*/, 1, 8,  // Results = #9
    5807             : /* 12523*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5808             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5809             :                       // Src: (st (extract_subvector:{ *:[v8i16] } VR256X:{ *:[v16i16] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5810             :                       // Dst: (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v8i16] } VR256X:{ *:[v16i16] }:$src, sub_xmm:{ *:[i32] }))
    5811             : /* 12534*/          0, /*End of Scope*/
    5812             : /* 12535*/        /*Scope*/ 8|128,1/*136*/, /*->12673*/
    5813             : /* 12537*/          OPC_CheckChild0Type, MVT::v32i8,
    5814             : /* 12539*/          OPC_CheckChild1Integer, 0, 
    5815             : /* 12541*/          OPC_CheckChild1Type, MVT::iPTR,
    5816             : /* 12543*/          OPC_CheckType, MVT::v16i8,
    5817             : /* 12545*/          OPC_MoveParent,
    5818             : /* 12546*/          OPC_RecordChild2, // #2 = $dst
    5819             : /* 12547*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5820             : /* 12549*/          OPC_CheckPredicate, 1, // Predicate_store
    5821             : /* 12551*/          OPC_Scope, 30, /*->12583*/ // 4 children in Scope
    5822             : /* 12553*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5823             : /* 12555*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5824             : /* 12557*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5825             : /* 12560*/            OPC_EmitMergeInputChains1_0,
    5826             : /* 12561*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5827             : /* 12564*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5828             :                           MVT::v16i8, 2/*#Ops*/, 1, 8,  // Results = #9
    5829             : /* 12572*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQAmr), 0|OPFL_Chain|OPFL_MemRefs,
    5830             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5831             :                       // Src: (st (extract_subvector:{ *:[v16i8] } VR256X:{ *:[v32i8] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5832             :                       // Dst: (VMOVDQAmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v16i8] } VR256X:{ *:[v32i8] }:$src, sub_xmm:{ *:[i32] }))
    5833             : /* 12583*/          /*Scope*/ 28, /*->12612*/
    5834             : /* 12584*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    5835             : /* 12586*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5836             : /* 12589*/            OPC_EmitMergeInputChains1_0,
    5837             : /* 12590*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5838             : /* 12593*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5839             :                           MVT::v16i8, 2/*#Ops*/, 1, 8,  // Results = #9
    5840             : /* 12601*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQUmr), 0|OPFL_Chain|OPFL_MemRefs,
    5841             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5842             :                       // Src: (st (extract_subvector:{ *:[v16i8] } VR256X:{ *:[v32i8] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5843             :                       // Dst: (VMOVDQUmr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v16i8] } VR256X:{ *:[v32i8] }:$src, sub_xmm:{ *:[i32] }))
    5844             : /* 12612*/          /*Scope*/ 30, /*->12643*/
    5845             : /* 12613*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5846             : /* 12615*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5847             : /* 12617*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5848             : /* 12620*/            OPC_EmitMergeInputChains1_0,
    5849             : /* 12621*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5850             : /* 12624*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5851             :                           MVT::v16i8, 2/*#Ops*/, 1, 8,  // Results = #9
    5852             : /* 12632*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5853             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5854             :                       // Src: (st (extract_subvector:{ *:[v16i8] } VR256X:{ *:[v32i8] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5855             :                       // Dst: (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v16i8] } VR256X:{ *:[v32i8] }:$src, sub_xmm:{ *:[i32] }))
    5856             : /* 12643*/          /*Scope*/ 28, /*->12672*/
    5857             : /* 12644*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5858             : /* 12646*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5859             : /* 12649*/            OPC_EmitMergeInputChains1_0,
    5860             : /* 12650*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5861             : /* 12653*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5862             :                           MVT::v16i8, 2/*#Ops*/, 1, 8,  // Results = #9
    5863             : /* 12661*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5864             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5865             :                       // Src: (st (extract_subvector:{ *:[v16i8] } VR256X:{ *:[v32i8] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5866             :                       // Dst: (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v16i8] } VR256X:{ *:[v32i8] }:$src, sub_xmm:{ *:[i32] }))
    5867             : /* 12672*/          0, /*End of Scope*/
    5868             : /* 12673*/        /*Scope*/ 76, /*->12750*/
    5869             : /* 12674*/          OPC_CheckChild0Type, MVT::v8f64,
    5870             : /* 12676*/          OPC_CheckChild1Integer, 0, 
    5871             : /* 12678*/          OPC_CheckChild1Type, MVT::iPTR,
    5872             : /* 12680*/          OPC_CheckType, MVT::v2f64,
    5873             : /* 12682*/          OPC_MoveParent,
    5874             : /* 12683*/          OPC_RecordChild2, // #2 = $dst
    5875             : /* 12684*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5876             : /* 12686*/          OPC_CheckPredicate, 1, // Predicate_store
    5877             : /* 12688*/          OPC_Scope, 30, /*->12720*/ // 2 children in Scope
    5878             : /* 12690*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5879             : /* 12692*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5880             : /* 12694*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5881             : /* 12697*/            OPC_EmitMergeInputChains1_0,
    5882             : /* 12698*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5883             : /* 12701*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5884             :                           MVT::v2f64, 2/*#Ops*/, 1, 8,  // Results = #9
    5885             : /* 12709*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPDZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5886             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5887             :                       // Src: (st (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5888             :                       // Dst: (VMOVAPDZ128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, sub_xmm:{ *:[i32] }))
    5889             : /* 12720*/          /*Scope*/ 28, /*->12749*/
    5890             : /* 12721*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5891             : /* 12723*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5892             : /* 12726*/            OPC_EmitMergeInputChains1_0,
    5893             : /* 12727*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5894             : /* 12730*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5895             :                           MVT::v2f64, 2/*#Ops*/, 1, 8,  // Results = #9
    5896             : /* 12738*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPDZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5897             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5898             :                       // Src: (st (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5899             :                       // Dst: (VMOVUPDZ128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src, sub_xmm:{ *:[i32] }))
    5900             : /* 12749*/          0, /*End of Scope*/
    5901             : /* 12750*/        /*Scope*/ 76, /*->12827*/
    5902             : /* 12751*/          OPC_CheckChild0Type, MVT::v16f32,
    5903             : /* 12753*/          OPC_CheckChild1Integer, 0, 
    5904             : /* 12755*/          OPC_CheckChild1Type, MVT::iPTR,
    5905             : /* 12757*/          OPC_CheckType, MVT::v4f32,
    5906             : /* 12759*/          OPC_MoveParent,
    5907             : /* 12760*/          OPC_RecordChild2, // #2 = $dst
    5908             : /* 12761*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5909             : /* 12763*/          OPC_CheckPredicate, 1, // Predicate_store
    5910             : /* 12765*/          OPC_Scope, 30, /*->12797*/ // 2 children in Scope
    5911             : /* 12767*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5912             : /* 12769*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5913             : /* 12771*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5914             : /* 12774*/            OPC_EmitMergeInputChains1_0,
    5915             : /* 12775*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5916             : /* 12778*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5917             :                           MVT::v4f32, 2/*#Ops*/, 1, 8,  // Results = #9
    5918             : /* 12786*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5919             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5920             :                       // Src: (st (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5921             :                       // Dst: (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, sub_xmm:{ *:[i32] }))
    5922             : /* 12797*/          /*Scope*/ 28, /*->12826*/
    5923             : /* 12798*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5924             : /* 12800*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5925             : /* 12803*/            OPC_EmitMergeInputChains1_0,
    5926             : /* 12804*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5927             : /* 12807*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5928             :                           MVT::v4f32, 2/*#Ops*/, 1, 8,  // Results = #9
    5929             : /* 12815*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5930             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5931             :                       // Src: (st (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5932             :                       // Dst: (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src, sub_xmm:{ *:[i32] }))
    5933             : /* 12826*/          0, /*End of Scope*/
    5934             : /* 12827*/        /*Scope*/ 76, /*->12904*/
    5935             : /* 12828*/          OPC_CheckChild0Type, MVT::v8i64,
    5936             : /* 12830*/          OPC_CheckChild1Integer, 0, 
    5937             : /* 12832*/          OPC_CheckChild1Type, MVT::iPTR,
    5938             : /* 12834*/          OPC_CheckType, MVT::v2i64,
    5939             : /* 12836*/          OPC_MoveParent,
    5940             : /* 12837*/          OPC_RecordChild2, // #2 = $dst
    5941             : /* 12838*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5942             : /* 12840*/          OPC_CheckPredicate, 1, // Predicate_store
    5943             : /* 12842*/          OPC_Scope, 30, /*->12874*/ // 2 children in Scope
    5944             : /* 12844*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5945             : /* 12846*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5946             : /* 12848*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5947             : /* 12851*/            OPC_EmitMergeInputChains1_0,
    5948             : /* 12852*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5949             : /* 12855*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5950             :                           MVT::v2i64, 2/*#Ops*/, 1, 8,  // Results = #9
    5951             : /* 12863*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5952             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5953             :                       // Src: (st (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5954             :                       // Dst: (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, sub_xmm:{ *:[i32] }))
    5955             : /* 12874*/          /*Scope*/ 28, /*->12903*/
    5956             : /* 12875*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5957             : /* 12877*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5958             : /* 12880*/            OPC_EmitMergeInputChains1_0,
    5959             : /* 12881*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5960             : /* 12884*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5961             :                           MVT::v2i64, 2/*#Ops*/, 1, 8,  // Results = #9
    5962             : /* 12892*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5963             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5964             :                       // Src: (st (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5965             :                       // Dst: (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src, sub_xmm:{ *:[i32] }))
    5966             : /* 12903*/          0, /*End of Scope*/
    5967             : /* 12904*/        /*Scope*/ 76, /*->12981*/
    5968             : /* 12905*/          OPC_CheckChild0Type, MVT::v16i32,
    5969             : /* 12907*/          OPC_CheckChild1Integer, 0, 
    5970             : /* 12909*/          OPC_CheckChild1Type, MVT::iPTR,
    5971             : /* 12911*/          OPC_CheckType, MVT::v4i32,
    5972             : /* 12913*/          OPC_MoveParent,
    5973             : /* 12914*/          OPC_RecordChild2, // #2 = $dst
    5974             : /* 12915*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    5975             : /* 12917*/          OPC_CheckPredicate, 1, // Predicate_store
    5976             : /* 12919*/          OPC_Scope, 30, /*->12951*/ // 2 children in Scope
    5977             : /* 12921*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    5978             : /* 12923*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5979             : /* 12925*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5980             : /* 12928*/            OPC_EmitMergeInputChains1_0,
    5981             : /* 12929*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5982             : /* 12932*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5983             :                           MVT::v4i32, 2/*#Ops*/, 1, 8,  // Results = #9
    5984             : /* 12940*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5985             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5986             :                       // Src: (st (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    5987             :                       // Dst: (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, sub_xmm:{ *:[i32] }))
    5988             : /* 12951*/          /*Scope*/ 28, /*->12980*/
    5989             : /* 12952*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    5990             : /* 12954*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    5991             : /* 12957*/            OPC_EmitMergeInputChains1_0,
    5992             : /* 12958*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    5993             : /* 12961*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    5994             :                           MVT::v4i32, 2/*#Ops*/, 1, 8,  // Results = #9
    5995             : /* 12969*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    5996             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    5997             :                       // Src: (st (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    5998             :                       // Dst: (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src, sub_xmm:{ *:[i32] }))
    5999             : /* 12980*/          0, /*End of Scope*/
    6000             : /* 12981*/        /*Scope*/ 76, /*->13058*/
    6001             : /* 12982*/          OPC_CheckChild0Type, MVT::v32i16,
    6002             : /* 12984*/          OPC_CheckChild1Integer, 0, 
    6003             : /* 12986*/          OPC_CheckChild1Type, MVT::iPTR,
    6004             : /* 12988*/          OPC_CheckType, MVT::v8i16,
    6005             : /* 12990*/          OPC_MoveParent,
    6006             : /* 12991*/          OPC_RecordChild2, // #2 = $dst
    6007             : /* 12992*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6008             : /* 12994*/          OPC_CheckPredicate, 1, // Predicate_store
    6009             : /* 12996*/          OPC_Scope, 30, /*->13028*/ // 2 children in Scope
    6010             : /* 12998*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    6011             : /* 13000*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6012             : /* 13002*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6013             : /* 13005*/            OPC_EmitMergeInputChains1_0,
    6014             : /* 13006*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    6015             : /* 13009*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6016             :                           MVT::v8i16, 2/*#Ops*/, 1, 8,  // Results = #9
    6017             : /* 13017*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6018             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6019             :                       // Src: (st (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    6020             :                       // Dst: (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, sub_xmm:{ *:[i32] }))
    6021             : /* 13028*/          /*Scope*/ 28, /*->13057*/
    6022             : /* 13029*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6023             : /* 13031*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6024             : /* 13034*/            OPC_EmitMergeInputChains1_0,
    6025             : /* 13035*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    6026             : /* 13038*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6027             :                           MVT::v8i16, 2/*#Ops*/, 1, 8,  // Results = #9
    6028             : /* 13046*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6029             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6030             :                       // Src: (st (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    6031             :                       // Dst: (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src, sub_xmm:{ *:[i32] }))
    6032             : /* 13057*/          0, /*End of Scope*/
    6033             : /* 13058*/        /*Scope*/ 76, /*->13135*/
    6034             : /* 13059*/          OPC_CheckChild0Type, MVT::v64i8,
    6035             : /* 13061*/          OPC_CheckChild1Integer, 0, 
    6036             : /* 13063*/          OPC_CheckChild1Type, MVT::iPTR,
    6037             : /* 13065*/          OPC_CheckType, MVT::v16i8,
    6038             : /* 13067*/          OPC_MoveParent,
    6039             : /* 13068*/          OPC_RecordChild2, // #2 = $dst
    6040             : /* 13069*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6041             : /* 13071*/          OPC_CheckPredicate, 1, // Predicate_store
    6042             : /* 13073*/          OPC_Scope, 30, /*->13105*/ // 2 children in Scope
    6043             : /* 13075*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    6044             : /* 13077*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6045             : /* 13079*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6046             : /* 13082*/            OPC_EmitMergeInputChains1_0,
    6047             : /* 13083*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    6048             : /* 13086*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6049             :                           MVT::v16i8, 2/*#Ops*/, 1, 8,  // Results = #9
    6050             : /* 13094*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6051             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6052             :                       // Src: (st (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    6053             :                       // Dst: (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, sub_xmm:{ *:[i32] }))
    6054             : /* 13105*/          /*Scope*/ 28, /*->13134*/
    6055             : /* 13106*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6056             : /* 13108*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6057             : /* 13111*/            OPC_EmitMergeInputChains1_0,
    6058             : /* 13112*/            OPC_EmitInteger, MVT::i32, X86::sub_xmm,
    6059             : /* 13115*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6060             :                           MVT::v16i8, 2/*#Ops*/, 1, 8,  // Results = #9
    6061             : /* 13123*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6062             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6063             :                       // Src: (st (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    6064             :                       // Dst: (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src, sub_xmm:{ *:[i32] }))
    6065             : /* 13134*/          0, /*End of Scope*/
    6066             : /* 13135*/        /*Scope*/ 42|128,3/*426*/, /*->13563*/
    6067             : /* 13137*/          OPC_CheckChild1Integer, 0, 
    6068             : /* 13139*/          OPC_CheckChild1Type, MVT::iPTR,
    6069             : /* 13141*/          OPC_SwitchType /*6 cases */, 68, MVT::v4f64,// ->13212
    6070             : /* 13144*/            OPC_MoveParent,
    6071             : /* 13145*/            OPC_RecordChild2, // #2 = $dst
    6072             : /* 13146*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6073             : /* 13148*/            OPC_CheckPredicate, 1, // Predicate_store
    6074             : /* 13150*/            OPC_Scope, 30, /*->13182*/ // 2 children in Scope
    6075             : /* 13152*/              OPC_CheckPredicate, 18, // Predicate_alignedstore
    6076             : /* 13154*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6077             : /* 13156*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6078             : /* 13159*/              OPC_EmitMergeInputChains1_0,
    6079             : /* 13160*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6080             : /* 13163*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6081             :                             MVT::v4f64, 2/*#Ops*/, 1, 8,  // Results = #9
    6082             : /* 13171*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPDZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6083             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6084             :                         // Src: (st (extract_subvector:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    6085             :                         // Dst: (VMOVAPDZ256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }))
    6086             : /* 13182*/            /*Scope*/ 28, /*->13211*/
    6087             : /* 13183*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6088             : /* 13185*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6089             : /* 13188*/              OPC_EmitMergeInputChains1_0,
    6090             : /* 13189*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6091             : /* 13192*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6092             :                             MVT::v4f64, 2/*#Ops*/, 1, 8,  // Results = #9
    6093             : /* 13200*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPDZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6094             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6095             :                         // Src: (st (extract_subvector:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    6096             :                         // Dst: (VMOVUPDZ256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src, sub_ymm:{ *:[i32] }))
    6097             : /* 13211*/            0, /*End of Scope*/
    6098             : /* 13212*/          /*SwitchType*/ 68, MVT::v8f32,// ->13282
    6099             : /* 13214*/            OPC_MoveParent,
    6100             : /* 13215*/            OPC_RecordChild2, // #2 = $dst
    6101             : /* 13216*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6102             : /* 13218*/            OPC_CheckPredicate, 1, // Predicate_store
    6103             : /* 13220*/            OPC_Scope, 30, /*->13252*/ // 2 children in Scope
    6104             : /* 13222*/              OPC_CheckPredicate, 18, // Predicate_alignedstore
    6105             : /* 13224*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6106             : /* 13226*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6107             : /* 13229*/              OPC_EmitMergeInputChains1_0,
    6108             : /* 13230*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6109             : /* 13233*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6110             :                             MVT::v8f32, 2/*#Ops*/, 1, 8,  // Results = #9
    6111             : /* 13241*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6112             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6113             :                         // Src: (st (extract_subvector:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    6114             :                         // Dst: (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }))
    6115             : /* 13252*/            /*Scope*/ 28, /*->13281*/
    6116             : /* 13253*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6117             : /* 13255*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6118             : /* 13258*/              OPC_EmitMergeInputChains1_0,
    6119             : /* 13259*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6120             : /* 13262*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6121             :                             MVT::v8f32, 2/*#Ops*/, 1, 8,  // Results = #9
    6122             : /* 13270*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6123             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6124             :                         // Src: (st (extract_subvector:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    6125             :                         // Dst: (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src, sub_ymm:{ *:[i32] }))
    6126             : /* 13281*/            0, /*End of Scope*/
    6127             : /* 13282*/          /*SwitchType*/ 68, MVT::v4i64,// ->13352
    6128             : /* 13284*/            OPC_MoveParent,
    6129             : /* 13285*/            OPC_RecordChild2, // #2 = $dst
    6130             : /* 13286*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6131             : /* 13288*/            OPC_CheckPredicate, 1, // Predicate_store
    6132             : /* 13290*/            OPC_Scope, 30, /*->13322*/ // 2 children in Scope
    6133             : /* 13292*/              OPC_CheckPredicate, 18, // Predicate_alignedstore
    6134             : /* 13294*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6135             : /* 13296*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6136             : /* 13299*/              OPC_EmitMergeInputChains1_0,
    6137             : /* 13300*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6138             : /* 13303*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6139             :                             MVT::v4i64, 2/*#Ops*/, 1, 8,  // Results = #9
    6140             : /* 13311*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6141             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6142             :                         // Src: (st (extract_subvector:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    6143             :                         // Dst: (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }))
    6144             : /* 13322*/            /*Scope*/ 28, /*->13351*/
    6145             : /* 13323*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6146             : /* 13325*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6147             : /* 13328*/              OPC_EmitMergeInputChains1_0,
    6148             : /* 13329*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6149             : /* 13332*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6150             :                             MVT::v4i64, 2/*#Ops*/, 1, 8,  // Results = #9
    6151             : /* 13340*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6152             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6153             :                         // Src: (st (extract_subvector:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    6154             :                         // Dst: (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src, sub_ymm:{ *:[i32] }))
    6155             : /* 13351*/            0, /*End of Scope*/
    6156             : /* 13352*/          /*SwitchType*/ 68, MVT::v8i32,// ->13422
    6157             : /* 13354*/            OPC_MoveParent,
    6158             : /* 13355*/            OPC_RecordChild2, // #2 = $dst
    6159             : /* 13356*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6160             : /* 13358*/            OPC_CheckPredicate, 1, // Predicate_store
    6161             : /* 13360*/            OPC_Scope, 30, /*->13392*/ // 2 children in Scope
    6162             : /* 13362*/              OPC_CheckPredicate, 18, // Predicate_alignedstore
    6163             : /* 13364*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6164             : /* 13366*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6165             : /* 13369*/              OPC_EmitMergeInputChains1_0,
    6166             : /* 13370*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6167             : /* 13373*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6168             :                             MVT::v8i32, 2/*#Ops*/, 1, 8,  // Results = #9
    6169             : /* 13381*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6170             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6171             :                         // Src: (st (extract_subvector:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    6172             :                         // Dst: (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }))
    6173             : /* 13392*/            /*Scope*/ 28, /*->13421*/
    6174             : /* 13393*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6175             : /* 13395*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6176             : /* 13398*/              OPC_EmitMergeInputChains1_0,
    6177             : /* 13399*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6178             : /* 13402*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6179             :                             MVT::v8i32, 2/*#Ops*/, 1, 8,  // Results = #9
    6180             : /* 13410*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6181             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6182             :                         // Src: (st (extract_subvector:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    6183             :                         // Dst: (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src, sub_ymm:{ *:[i32] }))
    6184             : /* 13421*/            0, /*End of Scope*/
    6185             : /* 13422*/          /*SwitchType*/ 68, MVT::v16i16,// ->13492
    6186             : /* 13424*/            OPC_MoveParent,
    6187             : /* 13425*/            OPC_RecordChild2, // #2 = $dst
    6188             : /* 13426*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6189             : /* 13428*/            OPC_CheckPredicate, 1, // Predicate_store
    6190             : /* 13430*/            OPC_Scope, 30, /*->13462*/ // 2 children in Scope
    6191             : /* 13432*/              OPC_CheckPredicate, 18, // Predicate_alignedstore
    6192             : /* 13434*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6193             : /* 13436*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6194             : /* 13439*/              OPC_EmitMergeInputChains1_0,
    6195             : /* 13440*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6196             : /* 13443*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6197             :                             MVT::v16i16, 2/*#Ops*/, 1, 8,  // Results = #9
    6198             : /* 13451*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6199             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6200             :                         // Src: (st (extract_subvector:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    6201             :                         // Dst: (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }))
    6202             : /* 13462*/            /*Scope*/ 28, /*->13491*/
    6203             : /* 13463*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6204             : /* 13465*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6205             : /* 13468*/              OPC_EmitMergeInputChains1_0,
    6206             : /* 13469*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6207             : /* 13472*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6208             :                             MVT::v16i16, 2/*#Ops*/, 1, 8,  // Results = #9
    6209             : /* 13480*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6210             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6211             :                         // Src: (st (extract_subvector:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    6212             :                         // Dst: (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src, sub_ymm:{ *:[i32] }))
    6213             : /* 13491*/            0, /*End of Scope*/
    6214             : /* 13492*/          /*SwitchType*/ 68, MVT::v32i8,// ->13562
    6215             : /* 13494*/            OPC_MoveParent,
    6216             : /* 13495*/            OPC_RecordChild2, // #2 = $dst
    6217             : /* 13496*/            OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6218             : /* 13498*/            OPC_CheckPredicate, 1, // Predicate_store
    6219             : /* 13500*/            OPC_Scope, 30, /*->13532*/ // 2 children in Scope
    6220             : /* 13502*/              OPC_CheckPredicate, 18, // Predicate_alignedstore
    6221             : /* 13504*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6222             : /* 13506*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6223             : /* 13509*/              OPC_EmitMergeInputChains1_0,
    6224             : /* 13510*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6225             : /* 13513*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6226             :                             MVT::v32i8, 2/*#Ops*/, 1, 8,  // Results = #9
    6227             : /* 13521*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6228             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6229             :                         // Src: (st (extract_subvector:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 30
    6230             :                         // Dst: (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }))
    6231             : /* 13532*/            /*Scope*/ 28, /*->13561*/
    6232             : /* 13533*/              OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6233             : /* 13535*/              OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6234             : /* 13538*/              OPC_EmitMergeInputChains1_0,
    6235             : /* 13539*/              OPC_EmitInteger, MVT::i32, X86::sub_ymm,
    6236             : /* 13542*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
    6237             :                             MVT::v32i8, 2/*#Ops*/, 1, 8,  // Results = #9
    6238             : /* 13550*/              OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6239             :                             6/*#Ops*/, 3, 4, 5, 6, 7, 9, 
    6240             :                         // Src: (st (extract_subvector:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, 0:{ *:[iPTR] }), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
    6241             :                         // Dst: (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, (EXTRACT_SUBREG:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src, sub_ymm:{ *:[i32] }))
    6242             : /* 13561*/            0, /*End of Scope*/
    6243             : /* 13562*/          0, // EndSwitchType
    6244             : /* 13563*/        0, /*End of Scope*/
    6245             : /* 13564*/      0, // EndSwitchOpcode
    6246             : /* 13565*/    /*Scope*/ 124|128,7/*1020*/, /*->14587*/
    6247             : /* 13567*/      OPC_RecordChild1, // #1 = $ext
    6248             : /* 13568*/      OPC_MoveChild1,
    6249             : /* 13569*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
    6250             : /* 13572*/      OPC_RecordChild0, // #2 = $src1
    6251             : /* 13573*/      OPC_Scope, 38, /*->13613*/ // 22 children in Scope
    6252             : /* 13575*/        OPC_CheckChild0Type, MVT::v8f32,
    6253             : /* 13577*/        OPC_MoveChild1,
    6254             : /* 13578*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6255             : /* 13581*/        OPC_CheckType, MVT::iPTR,
    6256             : /* 13583*/        OPC_MoveParent,
    6257             : /* 13584*/        OPC_CheckType, MVT::v4f32,
    6258             : /* 13586*/        OPC_MoveParent,
    6259             : /* 13587*/        OPC_RecordChild2, // #3 = $dst
    6260             : /* 13588*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6261             : /* 13590*/        OPC_CheckPredicate, 1, // Predicate_store
    6262             : /* 13592*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    6263             : /* 13594*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6264             : /* 13597*/        OPC_EmitMergeInputChains1_0,
    6265             : /* 13598*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6266             : /* 13601*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6267             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6268             :                   // Src: (st (extract_subvector:{ *:[v4f32] } VR256:{ *:[v8f32] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6269             :                   // Dst: (VEXTRACTF128mr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128:{ *:[v4f32] }:$ext))
    6270             : /* 13613*/      /*Scope*/ 38, /*->13652*/
    6271             : /* 13614*/        OPC_CheckChild0Type, MVT::v4f64,
    6272             : /* 13616*/        OPC_MoveChild1,
    6273             : /* 13617*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6274             : /* 13620*/        OPC_CheckType, MVT::iPTR,
    6275             : /* 13622*/        OPC_MoveParent,
    6276             : /* 13623*/        OPC_CheckType, MVT::v2f64,
    6277             : /* 13625*/        OPC_MoveParent,
    6278             : /* 13626*/        OPC_RecordChild2, // #3 = $dst
    6279             : /* 13627*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6280             : /* 13629*/        OPC_CheckPredicate, 1, // Predicate_store
    6281             : /* 13631*/        OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    6282             : /* 13633*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6283             : /* 13636*/        OPC_EmitMergeInputChains1_0,
    6284             : /* 13637*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6285             : /* 13640*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6286             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6287             :                   // Src: (st (extract_subvector:{ *:[v2f64] } VR256:{ *:[v4f64] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6288             :                   // Dst: (VEXTRACTF128mr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128:{ *:[v2f64] }:$ext))
    6289             : /* 13652*/      /*Scope*/ 63, /*->13716*/
    6290             : /* 13653*/        OPC_CheckChild0Type, MVT::v4i64,
    6291             : /* 13655*/        OPC_MoveChild1,
    6292             : /* 13656*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6293             : /* 13659*/        OPC_CheckType, MVT::iPTR,
    6294             : /* 13661*/        OPC_MoveParent,
    6295             : /* 13662*/        OPC_CheckType, MVT::v2i64,
    6296             : /* 13664*/        OPC_MoveParent,
    6297             : /* 13665*/        OPC_RecordChild2, // #3 = $dst
    6298             : /* 13666*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6299             : /* 13668*/        OPC_CheckPredicate, 1, // Predicate_store
    6300             : /* 13670*/        OPC_Scope, 21, /*->13693*/ // 2 children in Scope
    6301             : /* 13672*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasAVX() && !Subtarget->hasAVX2())
    6302             : /* 13674*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6303             : /* 13677*/          OPC_EmitMergeInputChains1_0,
    6304             : /* 13678*/          OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6305             : /* 13681*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6306             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6307             :                     // Src: (st (extract_subvector:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6308             :                     // Dst: (VEXTRACTF128mr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128:{ *:[v2i64] }:$ext))
    6309             : /* 13693*/        /*Scope*/ 21, /*->13715*/
    6310             : /* 13694*/          OPC_CheckPatternPredicate, 19, // (Subtarget->hasAVX2()) && (!Subtarget->hasVLX())
    6311             : /* 13696*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6312             : /* 13699*/          OPC_EmitMergeInputChains1_0,
    6313             : /* 13700*/          OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6314             : /* 13703*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6315             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6316             :                     // Src: (st (extract_subvector:{ *:[v2i64] } VR256:{ *:[v4i64] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6317             :                     // Dst: (VEXTRACTI128mr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128:{ *:[v2i64] }:$ext))
    6318             : /* 13715*/        0, /*End of Scope*/
    6319             : /* 13716*/      /*Scope*/ 63, /*->13780*/
    6320             : /* 13717*/        OPC_CheckChild0Type, MVT::v8i32,
    6321             : /* 13719*/        OPC_MoveChild1,
    6322             : /* 13720*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6323             : /* 13723*/        OPC_CheckType, MVT::iPTR,
    6324             : /* 13725*/        OPC_MoveParent,
    6325             : /* 13726*/        OPC_CheckType, MVT::v4i32,
    6326             : /* 13728*/        OPC_MoveParent,
    6327             : /* 13729*/        OPC_RecordChild2, // #3 = $dst
    6328             : /* 13730*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6329             : /* 13732*/        OPC_CheckPredicate, 1, // Predicate_store
    6330             : /* 13734*/        OPC_Scope, 21, /*->13757*/ // 2 children in Scope
    6331             : /* 13736*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasAVX() && !Subtarget->hasAVX2())
    6332             : /* 13738*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6333             : /* 13741*/          OPC_EmitMergeInputChains1_0,
    6334             : /* 13742*/          OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6335             : /* 13745*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6336             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6337             :                     // Src: (st (extract_subvector:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6338             :                     // Dst: (VEXTRACTF128mr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128:{ *:[v4i32] }:$ext))
    6339             : /* 13757*/        /*Scope*/ 21, /*->13779*/
    6340             : /* 13758*/          OPC_CheckPatternPredicate, 19, // (Subtarget->hasAVX2()) && (!Subtarget->hasVLX())
    6341             : /* 13760*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6342             : /* 13763*/          OPC_EmitMergeInputChains1_0,
    6343             : /* 13764*/          OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6344             : /* 13767*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6345             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6346             :                     // Src: (st (extract_subvector:{ *:[v4i32] } VR256:{ *:[v8i32] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6347             :                     // Dst: (VEXTRACTI128mr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128:{ *:[v4i32] }:$ext))
    6348             : /* 13779*/        0, /*End of Scope*/
    6349             : /* 13780*/      /*Scope*/ 63, /*->13844*/
    6350             : /* 13781*/        OPC_CheckChild0Type, MVT::v16i16,
    6351             : /* 13783*/        OPC_MoveChild1,
    6352             : /* 13784*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6353             : /* 13787*/        OPC_CheckType, MVT::iPTR,
    6354             : /* 13789*/        OPC_MoveParent,
    6355             : /* 13790*/        OPC_CheckType, MVT::v8i16,
    6356             : /* 13792*/        OPC_MoveParent,
    6357             : /* 13793*/        OPC_RecordChild2, // #3 = $dst
    6358             : /* 13794*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6359             : /* 13796*/        OPC_CheckPredicate, 1, // Predicate_store
    6360             : /* 13798*/        OPC_Scope, 21, /*->13821*/ // 2 children in Scope
    6361             : /* 13800*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasAVX() && !Subtarget->hasAVX2())
    6362             : /* 13802*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6363             : /* 13805*/          OPC_EmitMergeInputChains1_0,
    6364             : /* 13806*/          OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6365             : /* 13809*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6366             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6367             :                     // Src: (st (extract_subvector:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6368             :                     // Dst: (VEXTRACTF128mr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128:{ *:[v8i16] }:$ext))
    6369             : /* 13821*/        /*Scope*/ 21, /*->13843*/
    6370             : /* 13822*/          OPC_CheckPatternPredicate, 19, // (Subtarget->hasAVX2()) && (!Subtarget->hasVLX())
    6371             : /* 13824*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6372             : /* 13827*/          OPC_EmitMergeInputChains1_0,
    6373             : /* 13828*/          OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6374             : /* 13831*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6375             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6376             :                     // Src: (st (extract_subvector:{ *:[v8i16] } VR256:{ *:[v16i16] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6377             :                     // Dst: (VEXTRACTI128mr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128:{ *:[v8i16] }:$ext))
    6378             : /* 13843*/        0, /*End of Scope*/
    6379             : /* 13844*/      /*Scope*/ 63, /*->13908*/
    6380             : /* 13845*/        OPC_CheckChild0Type, MVT::v32i8,
    6381             : /* 13847*/        OPC_MoveChild1,
    6382             : /* 13848*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6383             : /* 13851*/        OPC_CheckType, MVT::iPTR,
    6384             : /* 13853*/        OPC_MoveParent,
    6385             : /* 13854*/        OPC_CheckType, MVT::v16i8,
    6386             : /* 13856*/        OPC_MoveParent,
    6387             : /* 13857*/        OPC_RecordChild2, // #3 = $dst
    6388             : /* 13858*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6389             : /* 13860*/        OPC_CheckPredicate, 1, // Predicate_store
    6390             : /* 13862*/        OPC_Scope, 21, /*->13885*/ // 2 children in Scope
    6391             : /* 13864*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasAVX() && !Subtarget->hasAVX2())
    6392             : /* 13866*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6393             : /* 13869*/          OPC_EmitMergeInputChains1_0,
    6394             : /* 13870*/          OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6395             : /* 13873*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6396             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6397             :                     // Src: (st (extract_subvector:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6398             :                     // Dst: (VEXTRACTF128mr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128:{ *:[v16i8] }:$ext))
    6399             : /* 13885*/        /*Scope*/ 21, /*->13907*/
    6400             : /* 13886*/          OPC_CheckPatternPredicate, 19, // (Subtarget->hasAVX2()) && (!Subtarget->hasVLX())
    6401             : /* 13888*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6402             : /* 13891*/          OPC_EmitMergeInputChains1_0,
    6403             : /* 13892*/          OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6404             : /* 13895*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI128mr), 0|OPFL_Chain|OPFL_MemRefs,
    6405             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6406             :                     // Src: (st (extract_subvector:{ *:[v16i8] } VR256:{ *:[v32i8] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6407             :                     // Dst: (VEXTRACTI128mr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128:{ *:[v16i8] }:$ext))
    6408             : /* 13907*/        0, /*End of Scope*/
    6409             : /* 13908*/      /*Scope*/ 38, /*->13947*/
    6410             : /* 13909*/        OPC_CheckChild0Type, MVT::v16f32,
    6411             : /* 13911*/        OPC_MoveChild1,
    6412             : /* 13912*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6413             : /* 13915*/        OPC_CheckType, MVT::iPTR,
    6414             : /* 13917*/        OPC_MoveParent,
    6415             : /* 13918*/        OPC_CheckType, MVT::v4f32,
    6416             : /* 13920*/        OPC_MoveParent,
    6417             : /* 13921*/        OPC_RecordChild2, // #3 = $dst
    6418             : /* 13922*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6419             : /* 13924*/        OPC_CheckPredicate, 1, // Predicate_store
    6420             : /* 13926*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6421             : /* 13928*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6422             : /* 13931*/        OPC_EmitMergeInputChains1_0,
    6423             : /* 13932*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6424             : /* 13935*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF32x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6425             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6426             :                   // Src: (st (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$idx, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6427             :                   // Dst: (VEXTRACTF32x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } (extract_subvector:{ *:[v4f32] } VR512:{ *:[v16f32] }:$src1, (imm:{ *:[iPTR] })):$idx))
    6428             : /* 13947*/      /*Scope*/ 36, /*->13984*/
    6429             : /* 13948*/        OPC_MoveChild1,
    6430             : /* 13949*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6431             : /* 13952*/        OPC_CheckType, MVT::iPTR,
    6432             : /* 13954*/        OPC_MoveParent,
    6433             : /* 13955*/        OPC_CheckType, MVT::v4f64,
    6434             : /* 13957*/        OPC_MoveParent,
    6435             : /* 13958*/        OPC_RecordChild2, // #3 = $dst
    6436             : /* 13959*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6437             : /* 13961*/        OPC_CheckPredicate, 1, // Predicate_store
    6438             : /* 13963*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6439             : /* 13965*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6440             : /* 13968*/        OPC_EmitMergeInputChains1_0,
    6441             : /* 13969*/        OPC_EmitNodeXForm, 1, 1, // EXTRACT_get_vextract256_imm
    6442             : /* 13972*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF64x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6443             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6444             :                   // Src: (st (extract_subvector:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract256_imm>>:$idx, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6445             :                   // Dst: (VEXTRACTF64x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src1, (EXTRACT_get_vextract256_imm:{ *:[i8] } (extract_subvector:{ *:[v4f64] } VR512:{ *:[v8f64] }:$src1, (imm:{ *:[iPTR] })):$idx))
    6446             : /* 13984*/      /*Scope*/ 38, /*->14023*/
    6447             : /* 13985*/        OPC_CheckChild0Type, MVT::v8f32,
    6448             : /* 13987*/        OPC_MoveChild1,
    6449             : /* 13988*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6450             : /* 13991*/        OPC_CheckType, MVT::iPTR,
    6451             : /* 13993*/        OPC_MoveParent,
    6452             : /* 13994*/        OPC_CheckType, MVT::v4f32,
    6453             : /* 13996*/        OPC_MoveParent,
    6454             : /* 13997*/        OPC_RecordChild2, // #3 = $dst
    6455             : /* 13998*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6456             : /* 14000*/        OPC_CheckPredicate, 1, // Predicate_store
    6457             : /* 14002*/        OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6458             : /* 14004*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6459             : /* 14007*/        OPC_EmitMergeInputChains1_0,
    6460             : /* 14008*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6461             : /* 14011*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF32x4Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6462             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6463             :                   // Src: (st (extract_subvector:{ *:[v4f32] } VR256X:{ *:[v8f32] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$idx, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6464             :                   // Dst: (VEXTRACTF32x4Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } (extract_subvector:{ *:[v4f32] } VR256X:{ *:[v8f32] }:$src1, (imm:{ *:[iPTR] })):$idx))
    6465             : /* 14023*/      /*Scope*/ 38, /*->14062*/
    6466             : /* 14024*/        OPC_CheckChild0Type, MVT::v16i32,
    6467             : /* 14026*/        OPC_MoveChild1,
    6468             : /* 14027*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6469             : /* 14030*/        OPC_CheckType, MVT::iPTR,
    6470             : /* 14032*/        OPC_MoveParent,
    6471             : /* 14033*/        OPC_CheckType, MVT::v4i32,
    6472             : /* 14035*/        OPC_MoveParent,
    6473             : /* 14036*/        OPC_RecordChild2, // #3 = $dst
    6474             : /* 14037*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6475             : /* 14039*/        OPC_CheckPredicate, 1, // Predicate_store
    6476             : /* 14041*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6477             : /* 14043*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6478             : /* 14046*/        OPC_EmitMergeInputChains1_0,
    6479             : /* 14047*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6480             : /* 14050*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI32x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6481             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6482             :                   // Src: (st (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$idx, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6483             :                   // Dst: (VEXTRACTI32x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } (extract_subvector:{ *:[v4i32] } VR512:{ *:[v16i32] }:$src1, (imm:{ *:[iPTR] })):$idx))
    6484             : /* 14062*/      /*Scope*/ 36, /*->14099*/
    6485             : /* 14063*/        OPC_MoveChild1,
    6486             : /* 14064*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6487             : /* 14067*/        OPC_CheckType, MVT::iPTR,
    6488             : /* 14069*/        OPC_MoveParent,
    6489             : /* 14070*/        OPC_CheckType, MVT::v4i64,
    6490             : /* 14072*/        OPC_MoveParent,
    6491             : /* 14073*/        OPC_RecordChild2, // #3 = $dst
    6492             : /* 14074*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6493             : /* 14076*/        OPC_CheckPredicate, 1, // Predicate_store
    6494             : /* 14078*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6495             : /* 14080*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6496             : /* 14083*/        OPC_EmitMergeInputChains1_0,
    6497             : /* 14084*/        OPC_EmitNodeXForm, 1, 1, // EXTRACT_get_vextract256_imm
    6498             : /* 14087*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI64x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6499             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6500             :                   // Src: (st (extract_subvector:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract256_imm>>:$idx, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6501             :                   // Dst: (VEXTRACTI64x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src1, (EXTRACT_get_vextract256_imm:{ *:[i8] } (extract_subvector:{ *:[v4i64] } VR512:{ *:[v8i64] }:$src1, (imm:{ *:[iPTR] })):$idx))
    6502             : /* 14099*/      /*Scope*/ 38, /*->14138*/
    6503             : /* 14100*/        OPC_CheckChild0Type, MVT::v8i32,
    6504             : /* 14102*/        OPC_MoveChild1,
    6505             : /* 14103*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6506             : /* 14106*/        OPC_CheckType, MVT::iPTR,
    6507             : /* 14108*/        OPC_MoveParent,
    6508             : /* 14109*/        OPC_CheckType, MVT::v4i32,
    6509             : /* 14111*/        OPC_MoveParent,
    6510             : /* 14112*/        OPC_RecordChild2, // #3 = $dst
    6511             : /* 14113*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6512             : /* 14115*/        OPC_CheckPredicate, 1, // Predicate_store
    6513             : /* 14117*/        OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6514             : /* 14119*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6515             : /* 14122*/        OPC_EmitMergeInputChains1_0,
    6516             : /* 14123*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6517             : /* 14126*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI32x4Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6518             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6519             :                   // Src: (st (extract_subvector:{ *:[v4i32] } VR256X:{ *:[v8i32] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$idx, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6520             :                   // Dst: (VEXTRACTI32x4Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } (extract_subvector:{ *:[v4i32] } VR256X:{ *:[v8i32] }:$src1, (imm:{ *:[iPTR] })):$idx))
    6521             : /* 14138*/      /*Scope*/ 38, /*->14177*/
    6522             : /* 14139*/        OPC_CheckChild0Type, MVT::v8f64,
    6523             : /* 14141*/        OPC_MoveChild1,
    6524             : /* 14142*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6525             : /* 14145*/        OPC_CheckType, MVT::iPTR,
    6526             : /* 14147*/        OPC_MoveParent,
    6527             : /* 14148*/        OPC_CheckType, MVT::v2f64,
    6528             : /* 14150*/        OPC_MoveParent,
    6529             : /* 14151*/        OPC_RecordChild2, // #3 = $dst
    6530             : /* 14152*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6531             : /* 14154*/        OPC_CheckPredicate, 1, // Predicate_store
    6532             : /* 14156*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6533             : /* 14158*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6534             : /* 14161*/        OPC_EmitMergeInputChains1_0,
    6535             : /* 14162*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6536             : /* 14165*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF32x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6537             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6538             :                   // Src: (st (extract_subvector:{ *:[v2f64] } VR512:{ *:[v8f64] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6539             :                   // Dst: (VEXTRACTF32x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8f64] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128X:{ *:[v2f64] }:$ext))
    6540             : /* 14177*/      /*Scope*/ 38, /*->14216*/
    6541             : /* 14178*/        OPC_CheckChild0Type, MVT::v8i64,
    6542             : /* 14180*/        OPC_MoveChild1,
    6543             : /* 14181*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6544             : /* 14184*/        OPC_CheckType, MVT::iPTR,
    6545             : /* 14186*/        OPC_MoveParent,
    6546             : /* 14187*/        OPC_CheckType, MVT::v2i64,
    6547             : /* 14189*/        OPC_MoveParent,
    6548             : /* 14190*/        OPC_RecordChild2, // #3 = $dst
    6549             : /* 14191*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6550             : /* 14193*/        OPC_CheckPredicate, 1, // Predicate_store
    6551             : /* 14195*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6552             : /* 14197*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6553             : /* 14200*/        OPC_EmitMergeInputChains1_0,
    6554             : /* 14201*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6555             : /* 14204*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI32x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6556             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6557             :                   // Src: (st (extract_subvector:{ *:[v2i64] } VR512:{ *:[v8i64] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6558             :                   // Dst: (VEXTRACTI32x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v8i64] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128X:{ *:[v2i64] }:$ext))
    6559             : /* 14216*/      /*Scope*/ 67, /*->14284*/
    6560             : /* 14217*/        OPC_MoveChild1,
    6561             : /* 14218*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6562             : /* 14221*/        OPC_CheckType, MVT::iPTR,
    6563             : /* 14223*/        OPC_MoveParent,
    6564             : /* 14224*/        OPC_SwitchType /*2 cases */, 27, MVT::v8f32,// ->14254
    6565             : /* 14227*/          OPC_MoveParent,
    6566             : /* 14228*/          OPC_RecordChild2, // #3 = $dst
    6567             : /* 14229*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6568             : /* 14231*/          OPC_CheckPredicate, 1, // Predicate_store
    6569             : /* 14233*/          OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6570             : /* 14235*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6571             : /* 14238*/          OPC_EmitMergeInputChains1_0,
    6572             : /* 14239*/          OPC_EmitNodeXForm, 1, 1, // EXTRACT_get_vextract256_imm
    6573             : /* 14242*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF64x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6574             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6575             :                     // Src: (st (extract_subvector:{ *:[v8f32] } VR512:{ *:[v16f32] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract256_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6576             :                     // Dst: (VEXTRACTF64x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src1, (EXTRACT_get_vextract256_imm:{ *:[i8] } VR256X:{ *:[v8f32] }:$ext))
    6577             : /* 14254*/        /*SwitchType*/ 27, MVT::v8i32,// ->14283
    6578             : /* 14256*/          OPC_MoveParent,
    6579             : /* 14257*/          OPC_RecordChild2, // #3 = $dst
    6580             : /* 14258*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6581             : /* 14260*/          OPC_CheckPredicate, 1, // Predicate_store
    6582             : /* 14262*/          OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6583             : /* 14264*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6584             : /* 14267*/          OPC_EmitMergeInputChains1_0,
    6585             : /* 14268*/          OPC_EmitNodeXForm, 1, 1, // EXTRACT_get_vextract256_imm
    6586             : /* 14271*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI64x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6587             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6588             :                     // Src: (st (extract_subvector:{ *:[v8i32] } VR512:{ *:[v16i32] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract256_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6589             :                     // Dst: (VEXTRACTI64x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16i32] }:$src1, (EXTRACT_get_vextract256_imm:{ *:[i8] } VR256X:{ *:[v8i32] }:$ext))
    6590             : /* 14283*/        0, // EndSwitchType
    6591             : /* 14284*/      /*Scope*/ 38, /*->14323*/
    6592             : /* 14285*/        OPC_CheckChild0Type, MVT::v4f64,
    6593             : /* 14287*/        OPC_MoveChild1,
    6594             : /* 14288*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6595             : /* 14291*/        OPC_CheckType, MVT::iPTR,
    6596             : /* 14293*/        OPC_MoveParent,
    6597             : /* 14294*/        OPC_CheckType, MVT::v2f64,
    6598             : /* 14296*/        OPC_MoveParent,
    6599             : /* 14297*/        OPC_RecordChild2, // #3 = $dst
    6600             : /* 14298*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6601             : /* 14300*/        OPC_CheckPredicate, 1, // Predicate_store
    6602             : /* 14302*/        OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6603             : /* 14304*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6604             : /* 14307*/        OPC_EmitMergeInputChains1_0,
    6605             : /* 14308*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6606             : /* 14311*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTF32x4Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6607             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6608             :                   // Src: (st (extract_subvector:{ *:[v2f64] } VR256X:{ *:[v4f64] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6609             :                   // Dst: (VEXTRACTF32x4Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128X:{ *:[v2f64] }:$ext))
    6610             : /* 14323*/      /*Scope*/ 38, /*->14362*/
    6611             : /* 14324*/        OPC_CheckChild0Type, MVT::v4i64,
    6612             : /* 14326*/        OPC_MoveChild1,
    6613             : /* 14327*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6614             : /* 14330*/        OPC_CheckType, MVT::iPTR,
    6615             : /* 14332*/        OPC_MoveParent,
    6616             : /* 14333*/        OPC_CheckType, MVT::v2i64,
    6617             : /* 14335*/        OPC_MoveParent,
    6618             : /* 14336*/        OPC_RecordChild2, // #3 = $dst
    6619             : /* 14337*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6620             : /* 14339*/        OPC_CheckPredicate, 1, // Predicate_store
    6621             : /* 14341*/        OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6622             : /* 14343*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6623             : /* 14346*/        OPC_EmitMergeInputChains1_0,
    6624             : /* 14347*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6625             : /* 14350*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI32x4Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6626             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6627             :                   // Src: (st (extract_subvector:{ *:[v2i64] } VR256X:{ *:[v4i64] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6628             :                   // Dst: (VEXTRACTI32x4Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128X:{ *:[v2i64] }:$ext))
    6629             : /* 14362*/      /*Scope*/ 38, /*->14401*/
    6630             : /* 14363*/        OPC_CheckChild0Type, MVT::v16i16,
    6631             : /* 14365*/        OPC_MoveChild1,
    6632             : /* 14366*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6633             : /* 14369*/        OPC_CheckType, MVT::iPTR,
    6634             : /* 14371*/        OPC_MoveParent,
    6635             : /* 14372*/        OPC_CheckType, MVT::v8i16,
    6636             : /* 14374*/        OPC_MoveParent,
    6637             : /* 14375*/        OPC_RecordChild2, // #3 = $dst
    6638             : /* 14376*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6639             : /* 14378*/        OPC_CheckPredicate, 1, // Predicate_store
    6640             : /* 14380*/        OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6641             : /* 14382*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6642             : /* 14385*/        OPC_EmitMergeInputChains1_0,
    6643             : /* 14386*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6644             : /* 14389*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI32x4Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6645             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6646             :                   // Src: (st (extract_subvector:{ *:[v8i16] } VR256X:{ *:[v16i16] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6647             :                   // Dst: (VEXTRACTI32x4Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128X:{ *:[v8i16] }:$ext))
    6648             : /* 14401*/      /*Scope*/ 38, /*->14440*/
    6649             : /* 14402*/        OPC_CheckChild0Type, MVT::v32i8,
    6650             : /* 14404*/        OPC_MoveChild1,
    6651             : /* 14405*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6652             : /* 14408*/        OPC_CheckType, MVT::iPTR,
    6653             : /* 14410*/        OPC_MoveParent,
    6654             : /* 14411*/        OPC_CheckType, MVT::v16i8,
    6655             : /* 14413*/        OPC_MoveParent,
    6656             : /* 14414*/        OPC_RecordChild2, // #3 = $dst
    6657             : /* 14415*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6658             : /* 14417*/        OPC_CheckPredicate, 1, // Predicate_store
    6659             : /* 14419*/        OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    6660             : /* 14421*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6661             : /* 14424*/        OPC_EmitMergeInputChains1_0,
    6662             : /* 14425*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6663             : /* 14428*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI32x4Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    6664             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6665             :                   // Src: (st (extract_subvector:{ *:[v16i8] } VR256X:{ *:[v32i8] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6666             :                   // Dst: (VEXTRACTI32x4Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128X:{ *:[v16i8] }:$ext))
    6667             : /* 14440*/      /*Scope*/ 38, /*->14479*/
    6668             : /* 14441*/        OPC_CheckChild0Type, MVT::v32i16,
    6669             : /* 14443*/        OPC_MoveChild1,
    6670             : /* 14444*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6671             : /* 14447*/        OPC_CheckType, MVT::iPTR,
    6672             : /* 14449*/        OPC_MoveParent,
    6673             : /* 14450*/        OPC_CheckType, MVT::v8i16,
    6674             : /* 14452*/        OPC_MoveParent,
    6675             : /* 14453*/        OPC_RecordChild2, // #3 = $dst
    6676             : /* 14454*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6677             : /* 14456*/        OPC_CheckPredicate, 1, // Predicate_store
    6678             : /* 14458*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6679             : /* 14460*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6680             : /* 14463*/        OPC_EmitMergeInputChains1_0,
    6681             : /* 14464*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6682             : /* 14467*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI32x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6683             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6684             :                   // Src: (st (extract_subvector:{ *:[v8i16] } VR512:{ *:[v32i16] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6685             :                   // Dst: (VEXTRACTI32x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128X:{ *:[v8i16] }:$ext))
    6686             : /* 14479*/      /*Scope*/ 38, /*->14518*/
    6687             : /* 14480*/        OPC_CheckChild0Type, MVT::v64i8,
    6688             : /* 14482*/        OPC_MoveChild1,
    6689             : /* 14483*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6690             : /* 14486*/        OPC_CheckType, MVT::iPTR,
    6691             : /* 14488*/        OPC_MoveParent,
    6692             : /* 14489*/        OPC_CheckType, MVT::v16i8,
    6693             : /* 14491*/        OPC_MoveParent,
    6694             : /* 14492*/        OPC_RecordChild2, // #3 = $dst
    6695             : /* 14493*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6696             : /* 14495*/        OPC_CheckPredicate, 1, // Predicate_store
    6697             : /* 14497*/        OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6698             : /* 14499*/        OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6699             : /* 14502*/        OPC_EmitMergeInputChains1_0,
    6700             : /* 14503*/        OPC_EmitNodeXForm, 0, 1, // EXTRACT_get_vextract128_imm
    6701             : /* 14506*/        OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI32x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6702             :                       7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6703             :                   // Src: (st (extract_subvector:{ *:[v16i8] } VR512:{ *:[v64i8] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract128_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6704             :                   // Dst: (VEXTRACTI32x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src1, (EXTRACT_get_vextract128_imm:{ *:[i8] } VR128X:{ *:[v16i8] }:$ext))
    6705             : /* 14518*/      /*Scope*/ 67, /*->14586*/
    6706             : /* 14519*/        OPC_MoveChild1,
    6707             : /* 14520*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6708             : /* 14523*/        OPC_CheckType, MVT::iPTR,
    6709             : /* 14525*/        OPC_MoveParent,
    6710             : /* 14526*/        OPC_SwitchType /*2 cases */, 27, MVT::v16i16,// ->14556
    6711             : /* 14529*/          OPC_MoveParent,
    6712             : /* 14530*/          OPC_RecordChild2, // #3 = $dst
    6713             : /* 14531*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6714             : /* 14533*/          OPC_CheckPredicate, 1, // Predicate_store
    6715             : /* 14535*/          OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6716             : /* 14537*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6717             : /* 14540*/          OPC_EmitMergeInputChains1_0,
    6718             : /* 14541*/          OPC_EmitNodeXForm, 1, 1, // EXTRACT_get_vextract256_imm
    6719             : /* 14544*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI64x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6720             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6721             :                     // Src: (st (extract_subvector:{ *:[v16i16] } VR512:{ *:[v32i16] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract256_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6722             :                     // Dst: (VEXTRACTI64x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v32i16] }:$src1, (EXTRACT_get_vextract256_imm:{ *:[i8] } VR256X:{ *:[v16i16] }:$ext))
    6723             : /* 14556*/        /*SwitchType*/ 27, MVT::v32i8,// ->14585
    6724             : /* 14558*/          OPC_MoveParent,
    6725             : /* 14559*/          OPC_RecordChild2, // #3 = $dst
    6726             : /* 14560*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6727             : /* 14562*/          OPC_CheckPredicate, 1, // Predicate_store
    6728             : /* 14564*/          OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    6729             : /* 14566*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6730             : /* 14569*/          OPC_EmitMergeInputChains1_0,
    6731             : /* 14570*/          OPC_EmitNodeXForm, 1, 1, // EXTRACT_get_vextract256_imm
    6732             : /* 14573*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VEXTRACTI64x4Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    6733             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 2, 9, 
    6734             :                     // Src: (st (extract_subvector:{ *:[v32i8] } VR512:{ *:[v64i8] }:$src1, (imm:{ *:[iPTR] }))<<X:EXTRACT_get_vextract256_imm>>:$ext, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6735             :                     // Dst: (VEXTRACTI64x4Zmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v64i8] }:$src1, (EXTRACT_get_vextract256_imm:{ *:[i8] } VR256X:{ *:[v32i8] }:$ext))
    6736             : /* 14585*/        0, // EndSwitchType
    6737             : /* 14586*/      0, /*End of Scope*/
    6738             : /* 14587*/    /*Scope*/ 9|128,2/*265*/, /*->14854*/
    6739             : /* 14589*/      OPC_MoveChild1,
    6740             : /* 14590*/      OPC_SwitchOpcode /*2 cases */, 77, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->14671
    6741             : /* 14594*/        OPC_RecordChild0, // #1 = $src1
    6742             : /* 14595*/        OPC_Scope, 36, /*->14633*/ // 2 children in Scope
    6743             : /* 14597*/          OPC_CheckChild0Type, MVT::v4i32,
    6744             : /* 14599*/          OPC_RecordChild1, // #2 = $src2
    6745             : /* 14600*/          OPC_MoveChild1,
    6746             : /* 14601*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6747             : /* 14604*/          OPC_MoveParent,
    6748             : /* 14605*/          OPC_CheckType, MVT::i32,
    6749             : /* 14607*/          OPC_MoveParent,
    6750             : /* 14608*/          OPC_RecordChild2, // #3 = $dst
    6751             : /* 14609*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6752             : /* 14611*/          OPC_CheckPredicate, 1, // Predicate_store
    6753             : /* 14613*/          OPC_CheckPatternPredicate, 20, // (Subtarget->hasDQI())
    6754             : /* 14615*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6755             : /* 14618*/          OPC_EmitMergeInputChains1_0,
    6756             : /* 14619*/          OPC_EmitConvertToTarget, 2,
    6757             : /* 14621*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VPEXTRDZmr), 0|OPFL_Chain|OPFL_MemRefs,
    6758             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    6759             :                     // Src: (st (extractelt:{ *:[i32] } VR128X:{ *:[v4i32] }:$src1, (imm:{ *:[iPTR] }):$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6760             :                     // Dst: (VPEXTRDZmr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src1, (imm:{ *:[i8] }):$src2)
    6761             : /* 14633*/        /*Scope*/ 36, /*->14670*/
    6762             : /* 14634*/          OPC_CheckChild0Type, MVT::v2i64,
    6763             : /* 14636*/          OPC_RecordChild1, // #2 = $src2
    6764             : /* 14637*/          OPC_MoveChild1,
    6765             : /* 14638*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6766             : /* 14641*/          OPC_MoveParent,
    6767             : /* 14642*/          OPC_CheckType, MVT::i64,
    6768             : /* 14644*/          OPC_MoveParent,
    6769             : /* 14645*/          OPC_RecordChild2, // #3 = $dst
    6770             : /* 14646*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6771             : /* 14648*/          OPC_CheckPredicate, 1, // Predicate_store
    6772             : /* 14650*/          OPC_CheckPatternPredicate, 20, // (Subtarget->hasDQI())
    6773             : /* 14652*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    6774             : /* 14655*/          OPC_EmitMergeInputChains1_0,
    6775             : /* 14656*/          OPC_EmitConvertToTarget, 2,
    6776             : /* 14658*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VPEXTRQZmr), 0|OPFL_Chain|OPFL_MemRefs,
    6777             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    6778             :                     // Src: (st (extractelt:{ *:[i64] } VR128X:{ *:[v2i64] }:$src1, (imm:{ *:[iPTR] }):$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6779             :                     // Dst: (VPEXTRQZmr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src1, (imm:{ *:[i8] }):$src2)
    6780             : /* 14670*/        0, /*End of Scope*/
    6781             : /* 14671*/      /*SwitchOpcode*/ 50|128,1/*178*/, TARGET_VAL(X86ISD::Wrapper),// ->14853
    6782             : /* 14675*/        OPC_RecordChild0, // #1 = $src
    6783             : /* 14676*/        OPC_MoveChild0,
    6784             : /* 14677*/        OPC_SwitchOpcode /*6 cases */, 26, TARGET_VAL(ISD::TargetConstantPool),// ->14707
    6785             : /* 14681*/          OPC_MoveParent,
    6786             : /* 14682*/          OPC_CheckType, MVT::i64,
    6787             : /* 14684*/          OPC_MoveParent,
    6788             : /* 14685*/          OPC_RecordChild2, // #2 = $dst
    6789             : /* 14686*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6790             : /* 14688*/          OPC_CheckPredicate, 1, // Predicate_store
    6791             : /* 14690*/          OPC_CheckPatternPredicate, 21, // (!TM.isPositionIndependent()) && (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel)
    6792             : /* 14692*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6793             : /* 14695*/          OPC_EmitMergeInputChains1_0,
    6794             : /* 14696*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    6795             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    6796             :                     // Src: (st (X86Wrapper:{ *:[i64] } (tconstpool:{ *:[i64] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6797             :                     // Dst: (MOV64mi32 addr:{ *:[iPTR] }:$dst, (tconstpool:{ *:[i64] }):$src)
    6798             : /* 14707*/        /*SwitchOpcode*/ 26, TARGET_VAL(ISD::TargetJumpTable),// ->14736
    6799             : /* 14710*/          OPC_MoveParent,
    6800             : /* 14711*/          OPC_CheckType, MVT::i64,
    6801             : /* 14713*/          OPC_MoveParent,
    6802             : /* 14714*/          OPC_RecordChild2, // #2 = $dst
    6803             : /* 14715*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6804             : /* 14717*/          OPC_CheckPredicate, 1, // Predicate_store
    6805             : /* 14719*/          OPC_CheckPatternPredicate, 21, // (!TM.isPositionIndependent()) && (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel)
    6806             : /* 14721*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6807             : /* 14724*/          OPC_EmitMergeInputChains1_0,
    6808             : /* 14725*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    6809             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    6810             :                     // Src: (st (X86Wrapper:{ *:[i64] } (tjumptable:{ *:[i64] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6811             :                     // Dst: (MOV64mi32 addr:{ *:[iPTR] }:$dst, (tjumptable:{ *:[i64] }):$src)
    6812             : /* 14736*/        /*SwitchOpcode*/ 26, TARGET_VAL(ISD::TargetGlobalAddress),// ->14765
    6813             : /* 14739*/          OPC_MoveParent,
    6814             : /* 14740*/          OPC_CheckType, MVT::i64,
    6815             : /* 14742*/          OPC_MoveParent,
    6816             : /* 14743*/          OPC_RecordChild2, // #2 = $dst
    6817             : /* 14744*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6818             : /* 14746*/          OPC_CheckPredicate, 1, // Predicate_store
    6819             : /* 14748*/          OPC_CheckPatternPredicate, 21, // (!TM.isPositionIndependent()) && (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel)
    6820             : /* 14750*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6821             : /* 14753*/          OPC_EmitMergeInputChains1_0,
    6822             : /* 14754*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    6823             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    6824             :                     // Src: (st (X86Wrapper:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6825             :                     // Dst: (MOV64mi32 addr:{ *:[iPTR] }:$dst, (tglobaladdr:{ *:[i64] }):$src)
    6826             : /* 14765*/        /*SwitchOpcode*/ 26, TARGET_VAL(ISD::TargetExternalSymbol),// ->14794
    6827             : /* 14768*/          OPC_MoveParent,
    6828             : /* 14769*/          OPC_CheckType, MVT::i64,
    6829             : /* 14771*/          OPC_MoveParent,
    6830             : /* 14772*/          OPC_RecordChild2, // #2 = $dst
    6831             : /* 14773*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6832             : /* 14775*/          OPC_CheckPredicate, 1, // Predicate_store
    6833             : /* 14777*/          OPC_CheckPatternPredicate, 21, // (!TM.isPositionIndependent()) && (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel)
    6834             : /* 14779*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6835             : /* 14782*/          OPC_EmitMergeInputChains1_0,
    6836             : /* 14783*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    6837             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    6838             :                     // Src: (st (X86Wrapper:{ *:[i64] } (texternalsym:{ *:[i64] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6839             :                     // Dst: (MOV64mi32 addr:{ *:[iPTR] }:$dst, (texternalsym:{ *:[i64] }):$src)
    6840             : /* 14794*/        /*SwitchOpcode*/ 26, TARGET_VAL(ISD::MCSymbol),// ->14823
    6841             : /* 14797*/          OPC_MoveParent,
    6842             : /* 14798*/          OPC_CheckType, MVT::i64,
    6843             : /* 14800*/          OPC_MoveParent,
    6844             : /* 14801*/          OPC_RecordChild2, // #2 = $dst
    6845             : /* 14802*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6846             : /* 14804*/          OPC_CheckPredicate, 1, // Predicate_store
    6847             : /* 14806*/          OPC_CheckPatternPredicate, 21, // (!TM.isPositionIndependent()) && (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel)
    6848             : /* 14808*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6849             : /* 14811*/          OPC_EmitMergeInputChains1_0,
    6850             : /* 14812*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    6851             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    6852             :                     // Src: (st (X86Wrapper:{ *:[i64] } (mcsym:{ *:[i64] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6853             :                     // Dst: (MOV64mi32 addr:{ *:[iPTR] }:$dst, (mcsym:{ *:[i64] }):$src)
    6854             : /* 14823*/        /*SwitchOpcode*/ 26, TARGET_VAL(ISD::TargetBlockAddress),// ->14852
    6855             : /* 14826*/          OPC_MoveParent,
    6856             : /* 14827*/          OPC_CheckType, MVT::i64,
    6857             : /* 14829*/          OPC_MoveParent,
    6858             : /* 14830*/          OPC_RecordChild2, // #2 = $dst
    6859             : /* 14831*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6860             : /* 14833*/          OPC_CheckPredicate, 1, // Predicate_store
    6861             : /* 14835*/          OPC_CheckPatternPredicate, 21, // (!TM.isPositionIndependent()) && (TM.getCodeModel() == CodeModel::Small ||TM.getCodeModel() == CodeModel::Kernel)
    6862             : /* 14837*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6863             : /* 14840*/          OPC_EmitMergeInputChains1_0,
    6864             : /* 14841*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    6865             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    6866             :                     // Src: (st (X86Wrapper:{ *:[i64] } (tblockaddress:{ *:[i64] }):$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 28
    6867             :                     // Dst: (MOV64mi32 addr:{ *:[iPTR] }:$dst, (tblockaddress:{ *:[i64] }):$src)
    6868             : /* 14852*/        0, // EndSwitchOpcode
    6869             : /* 14853*/      0, // EndSwitchOpcode
    6870             : /* 14854*/    /*Scope*/ 97, /*->14952*/
    6871             : /* 14855*/      OPC_CheckChild1Integer, 0, 
    6872             : /* 14857*/      OPC_Scope, 30, /*->14889*/ // 3 children in Scope
    6873             : /* 14859*/        OPC_CheckChild1Type, MVT::i16,
    6874             : /* 14861*/        OPC_RecordChild2, // #1 = $dst
    6875             : /* 14862*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6876             : /* 14864*/        OPC_CheckPredicate, 1, // Predicate_store
    6877             : /* 14866*/        OPC_CheckPredicate, 19, // Predicate_nonvolatile_store
    6878             : /* 14868*/        OPC_CheckPatternPredicate, 22, // (MF->getFunction().optForMinSize())
    6879             : /* 14870*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // selectAddr:$dst #2 #3 #4 #5 #6
    6880             : /* 14873*/        OPC_EmitMergeInputChains1_0,
    6881             : /* 14874*/        OPC_EmitInteger, MVT::i16, 0, 
    6882             : /* 14877*/        OPC_MorphNodeTo1, TARGET_VAL(X86::AND16mi8), 0|OPFL_Chain|OPFL_MemRefs,
    6883             :                       MVT::i32, 6/*#Ops*/, 2, 3, 4, 5, 6, 7, 
    6884             :                   // Src: (st 0:{ *:[i16] }, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nonvolatile_store>> - Complexity = 27
    6885             :                   // Dst: (AND16mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, 0:{ *:[i16] })
    6886             : /* 14889*/      /*Scope*/ 30, /*->14920*/
    6887             : /* 14890*/        OPC_CheckChild1Type, MVT::i32,
    6888             : /* 14892*/        OPC_RecordChild2, // #1 = $dst
    6889             : /* 14893*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6890             : /* 14895*/        OPC_CheckPredicate, 1, // Predicate_store
    6891             : /* 14897*/        OPC_CheckPredicate, 19, // Predicate_nonvolatile_store
    6892             : /* 14899*/        OPC_CheckPatternPredicate, 22, // (MF->getFunction().optForMinSize())
    6893             : /* 14901*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // selectAddr:$dst #2 #3 #4 #5 #6
    6894             : /* 14904*/        OPC_EmitMergeInputChains1_0,
    6895             : /* 14905*/        OPC_EmitInteger, MVT::i32, 0, 
    6896             : /* 14908*/        OPC_MorphNodeTo1, TARGET_VAL(X86::AND32mi8), 0|OPFL_Chain|OPFL_MemRefs,
    6897             :                       MVT::i32, 6/*#Ops*/, 2, 3, 4, 5, 6, 7, 
    6898             :                   // Src: (st 0:{ *:[i32] }, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nonvolatile_store>> - Complexity = 27
    6899             :                   // Dst: (AND32mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, 0:{ *:[i32] })
    6900             : /* 14920*/      /*Scope*/ 30, /*->14951*/
    6901             : /* 14921*/        OPC_CheckChild1Type, MVT::i64,
    6902             : /* 14923*/        OPC_RecordChild2, // #1 = $dst
    6903             : /* 14924*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6904             : /* 14926*/        OPC_CheckPredicate, 1, // Predicate_store
    6905             : /* 14928*/        OPC_CheckPredicate, 19, // Predicate_nonvolatile_store
    6906             : /* 14930*/        OPC_CheckPatternPredicate, 22, // (MF->getFunction().optForMinSize())
    6907             : /* 14932*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // selectAddr:$dst #2 #3 #4 #5 #6
    6908             : /* 14935*/        OPC_EmitMergeInputChains1_0,
    6909             : /* 14936*/        OPC_EmitInteger, MVT::i64, 0, 
    6910             : /* 14939*/        OPC_MorphNodeTo1, TARGET_VAL(X86::AND64mi8), 0|OPFL_Chain|OPFL_MemRefs,
    6911             :                       MVT::i32, 6/*#Ops*/, 2, 3, 4, 5, 6, 7, 
    6912             :                   // Src: (st 0:{ *:[i64] }, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nonvolatile_store>> - Complexity = 27
    6913             :                   // Dst: (AND64mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, 0:{ *:[i64] })
    6914             : /* 14951*/      0, /*End of Scope*/
    6915             : /* 14952*/    /*Scope*/ 5|128,1/*133*/, /*->15087*/
    6916             : /* 14954*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    6917             : /* 14965*/      OPC_Scope, 39, /*->15006*/ // 3 children in Scope
    6918             : /* 14967*/        OPC_CheckChild1Type, MVT::i16,
    6919             : /* 14969*/        OPC_RecordChild2, // #1 = $dst
    6920             : /* 14970*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6921             : /* 14972*/        OPC_CheckPredicate, 1, // Predicate_store
    6922             : /* 14974*/        OPC_CheckPredicate, 19, // Predicate_nonvolatile_store
    6923             : /* 14976*/        OPC_CheckPatternPredicate, 22, // (MF->getFunction().optForMinSize())
    6924             : /* 14978*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // selectAddr:$dst #2 #3 #4 #5 #6
    6925             : /* 14981*/        OPC_EmitMergeInputChains1_0,
    6926             : /* 14982*/        OPC_EmitInteger, MVT::i16, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    6927             : /* 14994*/        OPC_MorphNodeTo1, TARGET_VAL(X86::OR16mi8), 0|OPFL_Chain|OPFL_MemRefs,
    6928             :                       MVT::i32, 6/*#Ops*/, 2, 3, 4, 5, 6, 7, 
    6929             :                   // Src: (st -1:{ *:[i16] }, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nonvolatile_store>> - Complexity = 27
    6930             :                   // Dst: (OR16mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, -1:{ *:[i16] })
    6931             : /* 15006*/      /*Scope*/ 39, /*->15046*/
    6932             : /* 15007*/        OPC_CheckChild1Type, MVT::i32,
    6933             : /* 15009*/        OPC_RecordChild2, // #1 = $dst
    6934             : /* 15010*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6935             : /* 15012*/        OPC_CheckPredicate, 1, // Predicate_store
    6936             : /* 15014*/        OPC_CheckPredicate, 19, // Predicate_nonvolatile_store
    6937             : /* 15016*/        OPC_CheckPatternPredicate, 22, // (MF->getFunction().optForMinSize())
    6938             : /* 15018*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // selectAddr:$dst #2 #3 #4 #5 #6
    6939             : /* 15021*/        OPC_EmitMergeInputChains1_0,
    6940             : /* 15022*/        OPC_EmitInteger, MVT::i32, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    6941             : /* 15034*/        OPC_MorphNodeTo1, TARGET_VAL(X86::OR32mi8), 0|OPFL_Chain|OPFL_MemRefs,
    6942             :                       MVT::i32, 6/*#Ops*/, 2, 3, 4, 5, 6, 7, 
    6943             :                   // Src: (st -1:{ *:[i32] }, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nonvolatile_store>> - Complexity = 27
    6944             :                   // Dst: (OR32mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, -1:{ *:[i32] })
    6945             : /* 15046*/      /*Scope*/ 39, /*->15086*/
    6946             : /* 15047*/        OPC_CheckChild1Type, MVT::i64,
    6947             : /* 15049*/        OPC_RecordChild2, // #1 = $dst
    6948             : /* 15050*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6949             : /* 15052*/        OPC_CheckPredicate, 1, // Predicate_store
    6950             : /* 15054*/        OPC_CheckPredicate, 19, // Predicate_nonvolatile_store
    6951             : /* 15056*/        OPC_CheckPatternPredicate, 22, // (MF->getFunction().optForMinSize())
    6952             : /* 15058*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // selectAddr:$dst #2 #3 #4 #5 #6
    6953             : /* 15061*/        OPC_EmitMergeInputChains1_0,
    6954             : /* 15062*/        OPC_EmitInteger, MVT::i64, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
    6955             : /* 15074*/        OPC_MorphNodeTo1, TARGET_VAL(X86::OR64mi8), 0|OPFL_Chain|OPFL_MemRefs,
    6956             :                       MVT::i32, 6/*#Ops*/, 2, 3, 4, 5, 6, 7, 
    6957             :                   // Src: (st -1:{ *:[i64] }, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nonvolatile_store>> - Complexity = 27
    6958             :                   // Dst: (OR64mi8:{ *:[i32] } addr:{ *:[iPTR] }:$dst, -1:{ *:[i64] })
    6959             : /* 15086*/      0, /*End of Scope*/
    6960             : /* 15087*/    /*Scope*/ 122, /*->15210*/
    6961             : /* 15088*/      OPC_RecordChild1, // #1 = $src
    6962             : /* 15089*/      OPC_MoveChild1,
    6963             : /* 15090*/      OPC_SwitchType /*4 cases */, 32, MVT::i64,// ->15125
    6964             : /* 15093*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    6965             : /* 15096*/        OPC_CheckPredicate, 15, // Predicate_i64immSExt32
    6966             : /* 15098*/        OPC_CheckPredicate, 14, // Predicate_i64immSExt32_su
    6967             : /* 15100*/        OPC_MoveParent,
    6968             : /* 15101*/        OPC_RecordChild2, // #2 = $dst
    6969             : /* 15102*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6970             : /* 15104*/        OPC_CheckPredicate, 1, // Predicate_store
    6971             : /* 15106*/        OPC_CheckPatternPredicate, 8, // (Subtarget->is64Bit())
    6972             : /* 15108*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    6973             : /* 15111*/        OPC_EmitMergeInputChains1_0,
    6974             : /* 15112*/        OPC_EmitConvertToTarget, 1,
    6975             : /* 15114*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOV64mi32), 0|OPFL_Chain|OPFL_MemRefs,
    6976             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 8, 
    6977             :                   // Src: (st (imm:{ *:[i64] })<<P:Predicate_i64immSExt32>><<P:Predicate_i64immSExt32_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 26
    6978             :                   // Dst: (MOV64mi32 addr:{ *:[iPTR] }:$dst, (imm:{ *:[i64] }):$src)
    6979             : /* 15125*/      /*SwitchType*/ 26, MVT::i8,// ->15153
    6980             : /* 15127*/        OPC_CheckPredicate, 16, // Predicate_imm8_su
    6981             : /* 15129*/        OPC_MoveParent,
    6982             : /* 15130*/        OPC_RecordChild2, // #2 = $dst
    6983             : /* 15131*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6984             : /* 15133*/        OPC_CheckPredicate, 1, // Predicate_store
    6985             : /* 15135*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #3
    6986             : /* 15138*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    6987             : /* 15141*/        OPC_EmitMergeInputChains1_0,
    6988             : /* 15142*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOV8mi), 0|OPFL_Chain|OPFL_MemRefs,
    6989             :                       6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    6990             :                   // Src: (st relocImm:{ *:[i8] }<<P:Predicate_imm8_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    6991             :                   // Dst: (MOV8mi addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i8] }:$src)
    6992             : /* 15153*/      /*SwitchType*/ 26, MVT::i16,// ->15181
    6993             : /* 15155*/        OPC_CheckPredicate, 16, // Predicate_imm16_su
    6994             : /* 15157*/        OPC_MoveParent,
    6995             : /* 15158*/        OPC_RecordChild2, // #2 = $dst
    6996             : /* 15159*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    6997             : /* 15161*/        OPC_CheckPredicate, 1, // Predicate_store
    6998             : /* 15163*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #3
    6999             : /* 15166*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    7000             : /* 15169*/        OPC_EmitMergeInputChains1_0,
    7001             : /* 15170*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOV16mi), 0|OPFL_Chain|OPFL_MemRefs,
    7002             :                       6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    7003             :                   // Src: (st relocImm:{ *:[i16] }<<P:Predicate_imm16_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7004             :                   // Dst: (MOV16mi addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i16] }:$src)
    7005             : /* 15181*/      /*SwitchType*/ 26, MVT::i32,// ->15209
    7006             : /* 15183*/        OPC_CheckPredicate, 16, // Predicate_imm32_su
    7007             : /* 15185*/        OPC_MoveParent,
    7008             : /* 15186*/        OPC_RecordChild2, // #2 = $dst
    7009             : /* 15187*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7010             : /* 15189*/        OPC_CheckPredicate, 1, // Predicate_store
    7011             : /* 15191*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // selectRelocImm:$src #3
    7012             : /* 15194*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #4 #5 #6 #7 #8
    7013             : /* 15197*/        OPC_EmitMergeInputChains1_0,
    7014             : /* 15198*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOV32mi), 0|OPFL_Chain|OPFL_MemRefs,
    7015             :                       6/*#Ops*/, 4, 5, 6, 7, 8, 3, 
    7016             :                   // Src: (st relocImm:{ *:[i32] }<<P:Predicate_imm32_su>>:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7017             :                   // Dst: (MOV32mi addr:{ *:[iPTR] }:$dst, relocImm:{ *:[i32] }:$src)
    7018             : /* 15209*/      0, // EndSwitchType
    7019             : /* 15210*/    /*Scope*/ 59|128,2/*315*/, /*->15527*/
    7020             : /* 15212*/      OPC_MoveChild1,
    7021             : /* 15213*/      OPC_SwitchOpcode /*3 cases */, 78, TARGET_VAL(ISD::BSWAP),// ->15295
    7022             : /* 15217*/        OPC_RecordChild0, // #1 = $src
    7023             : /* 15218*/        OPC_SwitchType /*3 cases */, 23, MVT::i16,// ->15244
    7024             : /* 15221*/          OPC_MoveParent,
    7025             : /* 15222*/          OPC_RecordChild2, // #2 = $dst
    7026             : /* 15223*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7027             : /* 15225*/          OPC_CheckPredicate, 1, // Predicate_store
    7028             : /* 15227*/          OPC_CheckPatternPredicate, 23, // (Subtarget->hasMOVBE())
    7029             : /* 15229*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7030             : /* 15232*/          OPC_EmitMergeInputChains1_0,
    7031             : /* 15233*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVBE16mr), 0|OPFL_Chain|OPFL_MemRefs,
    7032             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7033             :                     // Src: (st (bswap:{ *:[i16] } GR16:{ *:[i16] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7034             :                     // Dst: (MOVBE16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    7035             : /* 15244*/        /*SwitchType*/ 23, MVT::i32,// ->15269
    7036             : /* 15246*/          OPC_MoveParent,
    7037             : /* 15247*/          OPC_RecordChild2, // #2 = $dst
    7038             : /* 15248*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7039             : /* 15250*/          OPC_CheckPredicate, 1, // Predicate_store
    7040             : /* 15252*/          OPC_CheckPatternPredicate, 23, // (Subtarget->hasMOVBE())
    7041             : /* 15254*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7042             : /* 15257*/          OPC_EmitMergeInputChains1_0,
    7043             : /* 15258*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVBE32mr), 0|OPFL_Chain|OPFL_MemRefs,
    7044             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7045             :                     // Src: (st (bswap:{ *:[i32] } GR32:{ *:[i32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7046             :                     // Dst: (MOVBE32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    7047             : /* 15269*/        /*SwitchType*/ 23, MVT::i64,// ->15294
    7048             : /* 15271*/          OPC_MoveParent,
    7049             : /* 15272*/          OPC_RecordChild2, // #2 = $dst
    7050             : /* 15273*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7051             : /* 15275*/          OPC_CheckPredicate, 1, // Predicate_store
    7052             : /* 15277*/          OPC_CheckPatternPredicate, 23, // (Subtarget->hasMOVBE())
    7053             : /* 15279*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7054             : /* 15282*/          OPC_EmitMergeInputChains1_0,
    7055             : /* 15283*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVBE64mr), 0|OPFL_Chain|OPFL_MemRefs,
    7056             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7057             :                     // Src: (st (bswap:{ *:[i64] } GR64:{ *:[i64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7058             :                     // Dst: (MOVBE64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    7059             : /* 15294*/        0, // EndSwitchType
    7060             : /* 15295*/      /*SwitchOpcode*/ 7|128,1/*135*/, TARGET_VAL(ISD::BITCAST),// ->15434
    7061             : /* 15299*/        OPC_RecordChild0, // #1 = $src
    7062             : /* 15300*/        OPC_SwitchType /*2 cases */, 64, MVT::i64,// ->15367
    7063             : /* 15303*/          OPC_CheckChild0Type, MVT::f64,
    7064             : /* 15305*/          OPC_MoveParent,
    7065             : /* 15306*/          OPC_RecordChild2, // #2 = $dst
    7066             : /* 15307*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7067             : /* 15309*/          OPC_CheckPredicate, 1, // Predicate_store
    7068             : /* 15311*/          OPC_Scope, 17, /*->15330*/ // 3 children in Scope
    7069             : /* 15313*/            OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    7070             : /* 15315*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7071             : /* 15318*/            OPC_EmitMergeInputChains1_0,
    7072             : /* 15319*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVSDto64mr), 0|OPFL_Chain|OPFL_MemRefs,
    7073             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7074             :                       // Src: (st (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7075             :                       // Dst: (VMOVSDto64mr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
    7076             : /* 15330*/          /*Scope*/ 17, /*->15348*/
    7077             : /* 15331*/            OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
    7078             : /* 15333*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7079             : /* 15336*/            OPC_EmitMergeInputChains1_0,
    7080             : /* 15337*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOVSDto64mr), 0|OPFL_Chain|OPFL_MemRefs,
    7081             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7082             :                       // Src: (st (bitconvert:{ *:[i64] } FR64:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7083             :                       // Dst: (MOVSDto64mr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
    7084             : /* 15348*/          /*Scope*/ 17, /*->15366*/
    7085             : /* 15349*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    7086             : /* 15351*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7087             : /* 15354*/            OPC_EmitMergeInputChains1_0,
    7088             : /* 15355*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVSDto64Zmr), 0|OPFL_Chain|OPFL_MemRefs,
    7089             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7090             :                       // Src: (st (bitconvert:{ *:[i64] } FR64X:{ *:[f64] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7091             :                       // Dst: (VMOVSDto64Zmr addr:{ *:[iPTR] }:$dst, FR64X:{ *:[f64] }:$src)
    7092             : /* 15366*/          0, /*End of Scope*/
    7093             : /* 15367*/        /*SwitchType*/ 64, MVT::i32,// ->15433
    7094             : /* 15369*/          OPC_CheckChild0Type, MVT::f32,
    7095             : /* 15371*/          OPC_MoveParent,
    7096             : /* 15372*/          OPC_RecordChild2, // #2 = $dst
    7097             : /* 15373*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7098             : /* 15375*/          OPC_CheckPredicate, 1, // Predicate_store
    7099             : /* 15377*/          OPC_Scope, 17, /*->15396*/ // 3 children in Scope
    7100             : /* 15379*/            OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    7101             : /* 15381*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7102             : /* 15384*/            OPC_EmitMergeInputChains1_0,
    7103             : /* 15385*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVSS2DImr), 0|OPFL_Chain|OPFL_MemRefs,
    7104             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7105             :                       // Src: (st (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7106             :                       // Dst: (VMOVSS2DImr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
    7107             : /* 15396*/          /*Scope*/ 17, /*->15414*/
    7108             : /* 15397*/            OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
    7109             : /* 15399*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7110             : /* 15402*/            OPC_EmitMergeInputChains1_0,
    7111             : /* 15403*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOVSS2DImr), 0|OPFL_Chain|OPFL_MemRefs,
    7112             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7113             :                       // Src: (st (bitconvert:{ *:[i32] } FR32:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7114             :                       // Dst: (MOVSS2DImr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
    7115             : /* 15414*/          /*Scope*/ 17, /*->15432*/
    7116             : /* 15415*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    7117             : /* 15417*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7118             : /* 15420*/            OPC_EmitMergeInputChains1_0,
    7119             : /* 15421*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVSS2DIZmr), 0|OPFL_Chain|OPFL_MemRefs,
    7120             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7121             :                       // Src: (st (bitconvert:{ *:[i32] } FR32X:{ *:[f32] }:$src), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7122             :                       // Dst: (VMOVSS2DIZmr addr:{ *:[iPTR] }:$dst, FR32X:{ *:[f32] }:$src)
    7123             : /* 15432*/          0, /*End of Scope*/
    7124             : /* 15433*/        0, // EndSwitchType
    7125             : /* 15434*/      /*SwitchOpcode*/ 89, TARGET_VAL(X86ISD::CVTPS2PH),// ->15526
    7126             : /* 15437*/        OPC_RecordChild0, // #1 = $src1
    7127             : /* 15438*/        OPC_SwitchType /*2 cases */, 53, MVT::v8i16,// ->15494
    7128             : /* 15441*/          OPC_CheckChild0Type, MVT::v8f32,
    7129             : /* 15443*/          OPC_RecordChild1, // #2 = $src2
    7130             : /* 15444*/          OPC_MoveParent,
    7131             : /* 15445*/          OPC_RecordChild2, // #3 = $dst
    7132             : /* 15446*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7133             : /* 15448*/          OPC_CheckPredicate, 1, // Predicate_store
    7134             : /* 15450*/          OPC_Scope, 20, /*->15472*/ // 2 children in Scope
    7135             : /* 15452*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasF16C()) && (!Subtarget->hasVLX())
    7136             : /* 15454*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    7137             : /* 15457*/            OPC_EmitMergeInputChains1_0,
    7138             : /* 15458*/            OPC_EmitConvertToTarget, 2,
    7139             : /* 15460*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VCVTPS2PHYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7140             :                           7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    7141             :                       // Src: (st (X86cvtps2ph:{ *:[v8i16] } VR256:{ *:[v8f32] }:$src1, i32:{ *:[i32] }:$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7142             :                       // Dst: (VCVTPS2PHYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src1, (imm:{ *:[i32] }):$src2)
    7143             : /* 15472*/          /*Scope*/ 20, /*->15493*/
    7144             : /* 15473*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    7145             : /* 15475*/            OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    7146             : /* 15478*/            OPC_EmitMergeInputChains1_0,
    7147             : /* 15479*/            OPC_EmitConvertToTarget, 2,
    7148             : /* 15481*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VCVTPS2PHZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7149             :                           7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    7150             :                       // Src: (st (X86cvtps2ph:{ *:[v8i16] } VR256X:{ *:[v8f32] }:$src1, i32:{ *:[i32] }:$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7151             :                       // Dst: (VCVTPS2PHZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src1, (imm:{ *:[i32] }):$src2)
    7152             : /* 15493*/          0, /*End of Scope*/
    7153             : /* 15494*/        /*SwitchType*/ 29, MVT::v16i16,// ->15525
    7154             : /* 15496*/          OPC_CheckChild0Type, MVT::v16f32,
    7155             : /* 15498*/          OPC_RecordChild1, // #2 = $src2
    7156             : /* 15499*/          OPC_MoveParent,
    7157             : /* 15500*/          OPC_RecordChild2, // #3 = $dst
    7158             : /* 15501*/          OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7159             : /* 15503*/          OPC_CheckPredicate, 1, // Predicate_store
    7160             : /* 15505*/          OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    7161             : /* 15507*/          OPC_CheckComplexPat, /*CP*/0, /*#*/3, // selectAddr:$dst #4 #5 #6 #7 #8
    7162             : /* 15510*/          OPC_EmitMergeInputChains1_0,
    7163             : /* 15511*/          OPC_EmitConvertToTarget, 2,
    7164             : /* 15513*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VCVTPS2PHZmr), 0|OPFL_Chain|OPFL_MemRefs,
    7165             :                         7/*#Ops*/, 4, 5, 6, 7, 8, 1, 9, 
    7166             :                     // Src: (st (X86cvtps2ph:{ *:[v16i16] } VR512:{ *:[v16f32] }:$src1, i32:{ *:[i32] }:$src2), addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 25
    7167             :                     // Dst: (VCVTPS2PHZmr addr:{ *:[iPTR] }:$dst, VR512:{ *:[v16f32] }:$src1, (imm:{ *:[i32] }):$src2)
    7168             : /* 15525*/        0, // EndSwitchType
    7169             : /* 15526*/      0, // EndSwitchOpcode
    7170             : /* 15527*/    /*Scope*/ 58|128,20/*2618*/, /*->18147*/
    7171             : /* 15529*/      OPC_RecordChild1, // #1 = $src
    7172             : /* 15530*/      OPC_Scope, 82, /*->15614*/ // 32 children in Scope
    7173             : /* 15532*/        OPC_CheckChild1Type, MVT::f32,
    7174             : /* 15534*/        OPC_RecordChild2, // #2 = $op
    7175             : /* 15535*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7176             : /* 15537*/        OPC_CheckPredicate, 1, // Predicate_store
    7177             : /* 15539*/        OPC_Scope, 18, /*->15559*/ // 4 children in Scope
    7178             : /* 15541*/          OPC_CheckPatternPredicate, 24, // (!Subtarget->hasSSE1())
    7179             : /* 15543*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$op #3 #4 #5 #6 #7
    7180             : /* 15546*/          OPC_EmitMergeInputChains1_0,
    7181             : /* 15547*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ST_Fp32m), 0|OPFL_Chain|OPFL_MemRefs,
    7182             :                         MVT::i16, 6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7183             :                     // Src: (st RFP32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7184             :                     // Dst: (ST_Fp32m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP32:{ *:[f32] }:$src)
    7185             : /* 15559*/        /*Scope*/ 17, /*->15577*/
    7186             : /* 15560*/          OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    7187             : /* 15562*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7188             : /* 15565*/          OPC_EmitMergeInputChains1_0,
    7189             : /* 15566*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVSSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7190             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7191             :                     // Src: (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7192             :                     // Dst: (VMOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
    7193             : /* 15577*/        /*Scope*/ 17, /*->15595*/
    7194             : /* 15578*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    7195             : /* 15580*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7196             : /* 15583*/          OPC_EmitMergeInputChains1_0,
    7197             : /* 15584*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVSSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7198             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7199             :                     // Src: (st FR32:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7200             :                     // Dst: (MOVSSmr addr:{ *:[iPTR] }:$dst, FR32:{ *:[f32] }:$src)
    7201             : /* 15595*/        /*Scope*/ 17, /*->15613*/
    7202             : /* 15596*/          OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    7203             : /* 15598*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7204             : /* 15601*/          OPC_EmitMergeInputChains1_0,
    7205             : /* 15602*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVSSZmr), 0|OPFL_Chain|OPFL_MemRefs,
    7206             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7207             :                     // Src: (st FR32X:{ *:[f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7208             :                     // Dst: (VMOVSSZmr addr:{ *:[iPTR] }:$dst, FR32X:{ *:[f32] }:$src)
    7209             : /* 15613*/        0, /*End of Scope*/
    7210             : /* 15614*/      /*Scope*/ 108, /*->15723*/
    7211             : /* 15615*/        OPC_CheckChild1Type, MVT::f64,
    7212             : /* 15617*/        OPC_RecordChild2, // #2 = $op
    7213             : /* 15618*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7214             : /* 15620*/        OPC_Scope, 22, /*->15644*/ // 2 children in Scope
    7215             : /* 15622*/          OPC_CheckPredicate, 20, // Predicate_truncstore
    7216             : /* 15624*/          OPC_CheckPredicate, 21, // Predicate_truncstoref32
    7217             : /* 15626*/          OPC_CheckPatternPredicate, 25, // (!Subtarget->hasSSE2())
    7218             : /* 15628*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$op #3 #4 #5 #6 #7
    7219             : /* 15631*/          OPC_EmitMergeInputChains1_0,
    7220             : /* 15632*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ST_Fp64m32), 0|OPFL_Chain|OPFL_MemRefs,
    7221             :                         MVT::i16, 6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7222             :                     // Src: (st RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstoref32>> - Complexity = 22
    7223             :                     // Dst: (ST_Fp64m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
    7224             : /* 15644*/        /*Scope*/ 77, /*->15722*/
    7225             : /* 15645*/          OPC_CheckPredicate, 1, // Predicate_store
    7226             : /* 15647*/          OPC_Scope, 18, /*->15667*/ // 4 children in Scope
    7227             : /* 15649*/            OPC_CheckPatternPredicate, 25, // (!Subtarget->hasSSE2())
    7228             : /* 15651*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$op #3 #4 #5 #6 #7
    7229             : /* 15654*/            OPC_EmitMergeInputChains1_0,
    7230             : /* 15655*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ST_Fp64m), 0|OPFL_Chain|OPFL_MemRefs,
    7231             :                           MVT::i16, 6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7232             :                       // Src: (st RFP64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7233             :                       // Dst: (ST_Fp64m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP64:{ *:[f64] }:$src)
    7234             : /* 15667*/          /*Scope*/ 17, /*->15685*/
    7235             : /* 15668*/            OPC_CheckPatternPredicate, 11, // (Subtarget->hasAVX() && !Subtarget->hasAVX512())
    7236             : /* 15670*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7237             : /* 15673*/            OPC_EmitMergeInputChains1_0,
    7238             : /* 15674*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVSDmr), 0|OPFL_Chain|OPFL_MemRefs,
    7239             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7240             :                       // Src: (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7241             :                       // Dst: (VMOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
    7242             : /* 15685*/          /*Scope*/ 17, /*->15703*/
    7243             : /* 15686*/            OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
    7244             : /* 15688*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7245             : /* 15691*/            OPC_EmitMergeInputChains1_0,
    7246             : /* 15692*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOVSDmr), 0|OPFL_Chain|OPFL_MemRefs,
    7247             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7248             :                       // Src: (st FR64:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7249             :                       // Dst: (MOVSDmr addr:{ *:[iPTR] }:$dst, FR64:{ *:[f64] }:$src)
    7250             : /* 15703*/          /*Scope*/ 17, /*->15721*/
    7251             : /* 15704*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasAVX512())
    7252             : /* 15706*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7253             : /* 15709*/            OPC_EmitMergeInputChains1_0,
    7254             : /* 15710*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVSDZmr), 0|OPFL_Chain|OPFL_MemRefs,
    7255             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7256             :                       // Src: (st FR64X:{ *:[f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7257             :                       // Dst: (VMOVSDZmr addr:{ *:[iPTR] }:$dst, FR64X:{ *:[f64] }:$src)
    7258             : /* 15721*/          0, /*End of Scope*/
    7259             : /* 15722*/        0, /*End of Scope*/
    7260             : /* 15723*/      /*Scope*/ 69, /*->15793*/
    7261             : /* 15724*/        OPC_CheckChild1Type, MVT::f80,
    7262             : /* 15726*/        OPC_RecordChild2, // #2 = $op
    7263             : /* 15727*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7264             : /* 15729*/        OPC_Scope, 42, /*->15773*/ // 2 children in Scope
    7265             : /* 15731*/          OPC_CheckPredicate, 20, // Predicate_truncstore
    7266             : /* 15733*/          OPC_Scope, 18, /*->15753*/ // 2 children in Scope
    7267             : /* 15735*/            OPC_CheckPredicate, 21, // Predicate_truncstoref32
    7268             : /* 15737*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$op #3 #4 #5 #6 #7
    7269             : /* 15740*/            OPC_EmitMergeInputChains1_0,
    7270             : /* 15741*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ST_Fp80m32), 0|OPFL_Chain|OPFL_MemRefs,
    7271             :                           MVT::i16, 6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7272             :                       // Src: (st RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstoref32>> - Complexity = 22
    7273             :                       // Dst: (ST_Fp80m32:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
    7274             : /* 15753*/          /*Scope*/ 18, /*->15772*/
    7275             : /* 15754*/            OPC_CheckPredicate, 22, // Predicate_truncstoref64
    7276             : /* 15756*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$op #3 #4 #5 #6 #7
    7277             : /* 15759*/            OPC_EmitMergeInputChains1_0,
    7278             : /* 15760*/            OPC_MorphNodeTo1, TARGET_VAL(X86::ST_Fp80m64), 0|OPFL_Chain|OPFL_MemRefs,
    7279             :                           MVT::i16, 6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7280             :                       // Src: (st RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstoref64>> - Complexity = 22
    7281             :                       // Dst: (ST_Fp80m64:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
    7282             : /* 15772*/          0, /*End of Scope*/
    7283             : /* 15773*/        /*Scope*/ 18, /*->15792*/
    7284             : /* 15774*/          OPC_CheckPredicate, 1, // Predicate_store
    7285             : /* 15776*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$op #3 #4 #5 #6 #7
    7286             : /* 15779*/          OPC_EmitMergeInputChains1_0,
    7287             : /* 15780*/          OPC_MorphNodeTo1, TARGET_VAL(X86::ST_FpP80m), 0|OPFL_Chain|OPFL_MemRefs,
    7288             :                         MVT::i16, 6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7289             :                     // Src: (st RFP80:{ *:[f80] }:$src, addr:{ *:[iPTR] }:$op)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7290             :                     // Dst: (ST_FpP80m:{ *:[i16] } addr:{ *:[iPTR] }:$op, RFP80:{ *:[f80] }:$src)
    7291             : /* 15792*/        0, /*End of Scope*/
    7292             : /* 15793*/      /*Scope*/ 22, /*->15816*/
    7293             : /* 15794*/        OPC_CheckChild1Type, MVT::i8,
    7294             : /* 15796*/        OPC_RecordChild2, // #2 = $dst
    7295             : /* 15797*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7296             : /* 15799*/        OPC_CheckPredicate, 1, // Predicate_store
    7297             : /* 15801*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7298             : /* 15804*/        OPC_EmitMergeInputChains1_0,
    7299             : /* 15805*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOV8mr), 0|OPFL_Chain|OPFL_MemRefs,
    7300             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7301             :                   // Src: (st GR8:{ *:[i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7302             :                   // Dst: (MOV8mr addr:{ *:[iPTR] }:$dst, GR8:{ *:[i8] }:$src)
    7303             : /* 15816*/      /*Scope*/ 22, /*->15839*/
    7304             : /* 15817*/        OPC_CheckChild1Type, MVT::i16,
    7305             : /* 15819*/        OPC_RecordChild2, // #2 = $dst
    7306             : /* 15820*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7307             : /* 15822*/        OPC_CheckPredicate, 1, // Predicate_store
    7308             : /* 15824*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7309             : /* 15827*/        OPC_EmitMergeInputChains1_0,
    7310             : /* 15828*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOV16mr), 0|OPFL_Chain|OPFL_MemRefs,
    7311             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7312             :                   // Src: (st GR16:{ *:[i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7313             :                   // Dst: (MOV16mr addr:{ *:[iPTR] }:$dst, GR16:{ *:[i16] }:$src)
    7314             : /* 15839*/      /*Scope*/ 22, /*->15862*/
    7315             : /* 15840*/        OPC_CheckChild1Type, MVT::i32,
    7316             : /* 15842*/        OPC_RecordChild2, // #2 = $dst
    7317             : /* 15843*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7318             : /* 15845*/        OPC_CheckPredicate, 1, // Predicate_store
    7319             : /* 15847*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7320             : /* 15850*/        OPC_EmitMergeInputChains1_0,
    7321             : /* 15851*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOV32mr), 0|OPFL_Chain|OPFL_MemRefs,
    7322             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7323             :                   // Src: (st GR32:{ *:[i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7324             :                   // Dst: (MOV32mr addr:{ *:[iPTR] }:$dst, GR32:{ *:[i32] }:$src)
    7325             : /* 15862*/      /*Scope*/ 22, /*->15885*/
    7326             : /* 15863*/        OPC_CheckChild1Type, MVT::i64,
    7327             : /* 15865*/        OPC_RecordChild2, // #2 = $dst
    7328             : /* 15866*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7329             : /* 15868*/        OPC_CheckPredicate, 1, // Predicate_store
    7330             : /* 15870*/        OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7331             : /* 15873*/        OPC_EmitMergeInputChains1_0,
    7332             : /* 15874*/        OPC_MorphNodeTo0, TARGET_VAL(X86::MOV64mr), 0|OPFL_Chain|OPFL_MemRefs,
    7333             :                       6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7334             :                   // Src: (st GR64:{ *:[i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7335             :                   // Dst: (MOV64mr addr:{ *:[iPTR] }:$dst, GR64:{ *:[i64] }:$src)
    7336             : /* 15885*/      /*Scope*/ 123, /*->16009*/
    7337             : /* 15886*/        OPC_CheckChild1Type, MVT::v4f32,
    7338             : /* 15888*/        OPC_RecordChild2, // #2 = $dst
    7339             : /* 15889*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7340             : /* 15891*/        OPC_CheckPredicate, 1, // Predicate_store
    7341             : /* 15893*/        OPC_Scope, 19, /*->15914*/ // 6 children in Scope
    7342             : /* 15895*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7343             : /* 15897*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7344             : /* 15899*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7345             : /* 15902*/          OPC_EmitMergeInputChains1_0,
    7346             : /* 15903*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7347             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7348             :                     // Src: (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7349             :                     // Dst: (VMOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
    7350             : /* 15914*/        /*Scope*/ 17, /*->15932*/
    7351             : /* 15915*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7352             : /* 15917*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7353             : /* 15920*/          OPC_EmitMergeInputChains1_0,
    7354             : /* 15921*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7355             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7356             :                     // Src: (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7357             :                     // Dst: (VMOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
    7358             : /* 15932*/        /*Scope*/ 19, /*->15952*/
    7359             : /* 15933*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7360             : /* 15935*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    7361             : /* 15937*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7362             : /* 15940*/          OPC_EmitMergeInputChains1_0,
    7363             : /* 15941*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVAPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7364             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7365             :                     // Src: (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7366             :                     // Dst: (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
    7367             : /* 15952*/        /*Scope*/ 17, /*->15970*/
    7368             : /* 15953*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    7369             : /* 15955*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7370             : /* 15958*/          OPC_EmitMergeInputChains1_0,
    7371             : /* 15959*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVUPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7372             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7373             :                     // Src: (st VR128:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7374             :                     // Dst: (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4f32] }:$src)
    7375             : /* 15970*/        /*Scope*/ 19, /*->15990*/
    7376             : /* 15971*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7377             : /* 15973*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7378             : /* 15975*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7379             : /* 15978*/          OPC_EmitMergeInputChains1_0,
    7380             : /* 15979*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7381             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7382             :                     // Src: (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7383             :                     // Dst: (VMOVAPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
    7384             : /* 15990*/        /*Scope*/ 17, /*->16008*/
    7385             : /* 15991*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7386             : /* 15993*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7387             : /* 15996*/          OPC_EmitMergeInputChains1_0,
    7388             : /* 15997*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7389             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7390             :                     // Src: (st VR128X:{ *:[v4f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7391             :                     // Dst: (VMOVUPSZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4f32] }:$src)
    7392             : /* 16008*/        0, /*End of Scope*/
    7393             : /* 16009*/      /*Scope*/ 123, /*->16133*/
    7394             : /* 16010*/        OPC_CheckChild1Type, MVT::v2f64,
    7395             : /* 16012*/        OPC_RecordChild2, // #2 = $dst
    7396             : /* 16013*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7397             : /* 16015*/        OPC_CheckPredicate, 1, // Predicate_store
    7398             : /* 16017*/        OPC_Scope, 19, /*->16038*/ // 6 children in Scope
    7399             : /* 16019*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7400             : /* 16021*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7401             : /* 16023*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7402             : /* 16026*/          OPC_EmitMergeInputChains1_0,
    7403             : /* 16027*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    7404             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7405             :                     // Src: (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7406             :                     // Dst: (VMOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
    7407             : /* 16038*/        /*Scope*/ 17, /*->16056*/
    7408             : /* 16039*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7409             : /* 16041*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7410             : /* 16044*/          OPC_EmitMergeInputChains1_0,
    7411             : /* 16045*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    7412             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7413             :                     // Src: (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7414             :                     // Dst: (VMOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
    7415             : /* 16056*/        /*Scope*/ 19, /*->16076*/
    7416             : /* 16057*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7417             : /* 16059*/          OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
    7418             : /* 16061*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7419             : /* 16064*/          OPC_EmitMergeInputChains1_0,
    7420             : /* 16065*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVAPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    7421             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7422             :                     // Src: (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7423             :                     // Dst: (MOVAPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
    7424             : /* 16076*/        /*Scope*/ 17, /*->16094*/
    7425             : /* 16077*/          OPC_CheckPatternPredicate, 3, // (Subtarget->hasSSE2() && !Subtarget->hasAVX())
    7426             : /* 16079*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7427             : /* 16082*/          OPC_EmitMergeInputChains1_0,
    7428             : /* 16083*/          OPC_MorphNodeTo0, TARGET_VAL(X86::MOVUPDmr), 0|OPFL_Chain|OPFL_MemRefs,
    7429             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7430             :                     // Src: (st VR128:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7431             :                     // Dst: (MOVUPDmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2f64] }:$src)
    7432             : /* 16094*/        /*Scope*/ 19, /*->16114*/
    7433             : /* 16095*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7434             : /* 16097*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7435             : /* 16099*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7436             : /* 16102*/          OPC_EmitMergeInputChains1_0,
    7437             : /* 16103*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPDZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7438             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7439             :                     // Src: (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7440             :                     // Dst: (VMOVAPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
    7441             : /* 16114*/        /*Scope*/ 17, /*->16132*/
    7442             : /* 16115*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7443             : /* 16117*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7444             : /* 16120*/          OPC_EmitMergeInputChains1_0,
    7445             : /* 16121*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPDZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7446             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7447             :                     // Src: (st VR128X:{ *:[v2f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7448             :                     // Dst: (VMOVUPDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2f64] }:$src)
    7449             : /* 16132*/        0, /*End of Scope*/
    7450             : /* 16133*/      /*Scope*/ 85, /*->16219*/
    7451             : /* 16134*/        OPC_CheckChild1Type, MVT::v8f32,
    7452             : /* 16136*/        OPC_RecordChild2, // #2 = $dst
    7453             : /* 16137*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7454             : /* 16139*/        OPC_CheckPredicate, 1, // Predicate_store
    7455             : /* 16141*/        OPC_Scope, 19, /*->16162*/ // 4 children in Scope
    7456             : /* 16143*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7457             : /* 16145*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7458             : /* 16147*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7459             : /* 16150*/          OPC_EmitMergeInputChains1_0,
    7460             : /* 16151*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7461             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7462             :                     // Src: (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7463             :                     // Dst: (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
    7464             : /* 16162*/        /*Scope*/ 17, /*->16180*/
    7465             : /* 16163*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7466             : /* 16165*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7467             : /* 16168*/          OPC_EmitMergeInputChains1_0,
    7468             : /* 16169*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7469             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7470             :                     // Src: (st VR256:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7471             :                     // Dst: (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8f32] }:$src)
    7472             : /* 16180*/        /*Scope*/ 19, /*->16200*/
    7473             : /* 16181*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7474             : /* 16183*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7475             : /* 16185*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7476             : /* 16188*/          OPC_EmitMergeInputChains1_0,
    7477             : /* 16189*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7478             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7479             :                     // Src: (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7480             :                     // Dst: (VMOVAPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
    7481             : /* 16200*/        /*Scope*/ 17, /*->16218*/
    7482             : /* 16201*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7483             : /* 16203*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7484             : /* 16206*/          OPC_EmitMergeInputChains1_0,
    7485             : /* 16207*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7486             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7487             :                     // Src: (st VR256X:{ *:[v8f32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7488             :                     // Dst: (VMOVUPSZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8f32] }:$src)
    7489             : /* 16218*/        0, /*End of Scope*/
    7490             : /* 16219*/      /*Scope*/ 85, /*->16305*/
    7491             : /* 16220*/        OPC_CheckChild1Type, MVT::v4f64,
    7492             : /* 16222*/        OPC_RecordChild2, // #2 = $dst
    7493             : /* 16223*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7494             : /* 16225*/        OPC_CheckPredicate, 1, // Predicate_store
    7495             : /* 16227*/        OPC_Scope, 19, /*->16248*/ // 4 children in Scope
    7496             : /* 16229*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7497             : /* 16231*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7498             : /* 16233*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7499             : /* 16236*/          OPC_EmitMergeInputChains1_0,
    7500             : /* 16237*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPDYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7501             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7502             :                     // Src: (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7503             :                     // Dst: (VMOVAPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
    7504             : /* 16248*/        /*Scope*/ 17, /*->16266*/
    7505             : /* 16249*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7506             : /* 16251*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7507             : /* 16254*/          OPC_EmitMergeInputChains1_0,
    7508             : /* 16255*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPDYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7509             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7510             :                     // Src: (st VR256:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7511             :                     // Dst: (VMOVUPDYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4f64] }:$src)
    7512             : /* 16266*/        /*Scope*/ 19, /*->16286*/
    7513             : /* 16267*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7514             : /* 16269*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7515             : /* 16271*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7516             : /* 16274*/          OPC_EmitMergeInputChains1_0,
    7517             : /* 16275*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPDZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7518             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7519             :                     // Src: (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7520             :                     // Dst: (VMOVAPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
    7521             : /* 16286*/        /*Scope*/ 17, /*->16304*/
    7522             : /* 16287*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7523             : /* 16289*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7524             : /* 16292*/          OPC_EmitMergeInputChains1_0,
    7525             : /* 16293*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPDZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7526             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7527             :                     // Src: (st VR256X:{ *:[v4f64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7528             :                     // Dst: (VMOVUPDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4f64] }:$src)
    7529             : /* 16304*/        0, /*End of Scope*/
    7530             : /* 16305*/      /*Scope*/ 25|128,1/*153*/, /*->16460*/
    7531             : /* 16307*/        OPC_CheckChild1Type, MVT::v4i64,
    7532             : /* 16309*/        OPC_RecordChild2, // #2 = $dst
    7533             : /* 16310*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7534             : /* 16312*/        OPC_Scope, 80, /*->16394*/ // 2 children in Scope
    7535             : /* 16314*/          OPC_CheckPredicate, 1, // Predicate_store
    7536             : /* 16316*/          OPC_Scope, 19, /*->16337*/ // 4 children in Scope
    7537             : /* 16318*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7538             : /* 16320*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7539             : /* 16322*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7540             : /* 16325*/            OPC_EmitMergeInputChains1_0,
    7541             : /* 16326*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7542             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7543             :                       // Src: (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7544             :                       // Dst: (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
    7545             : /* 16337*/          /*Scope*/ 17, /*->16355*/
    7546             : /* 16338*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7547             : /* 16340*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7548             : /* 16343*/            OPC_EmitMergeInputChains1_0,
    7549             : /* 16344*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7550             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7551             :                       // Src: (st VR256:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7552             :                       // Dst: (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v4i64] }:$src)
    7553             : /* 16355*/          /*Scope*/ 19, /*->16375*/
    7554             : /* 16356*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7555             : /* 16358*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7556             : /* 16360*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7557             : /* 16363*/            OPC_EmitMergeInputChains1_0,
    7558             : /* 16364*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7559             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7560             :                       // Src: (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7561             :                       // Dst: (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
    7562             : /* 16375*/          /*Scope*/ 17, /*->16393*/
    7563             : /* 16376*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7564             : /* 16378*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7565             : /* 16381*/            OPC_EmitMergeInputChains1_0,
    7566             : /* 16382*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7567             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7568             :                       // Src: (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7569             :                       // Dst: (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
    7570             : /* 16393*/          0, /*End of Scope*/
    7571             : /* 16394*/        /*Scope*/ 64, /*->16459*/
    7572             : /* 16395*/          OPC_CheckPredicate, 20, // Predicate_truncstore
    7573             : /* 16397*/          OPC_Scope, 19, /*->16418*/ // 3 children in Scope
    7574             : /* 16399*/            OPC_CheckPredicate, 23, // Predicate_truncstorevi8
    7575             : /* 16401*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7576             : /* 16403*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7577             : /* 16406*/            OPC_EmitMergeInputChains1_0,
    7578             : /* 16407*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPMOVQBZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7579             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7580             :                       // Src: (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 22
    7581             :                       // Dst: (VPMOVQBZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
    7582             : /* 16418*/          /*Scope*/ 19, /*->16438*/
    7583             : /* 16419*/            OPC_CheckPredicate, 24, // Predicate_truncstorevi16
    7584             : /* 16421*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7585             : /* 16423*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7586             : /* 16426*/            OPC_EmitMergeInputChains1_0,
    7587             : /* 16427*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPMOVQWZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7588             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7589             :                       // Src: (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 22
    7590             :                       // Dst: (VPMOVQWZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
    7591             : /* 16438*/          /*Scope*/ 19, /*->16458*/
    7592             : /* 16439*/            OPC_CheckPredicate, 25, // Predicate_truncstorevi32
    7593             : /* 16441*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7594             : /* 16443*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7595             : /* 16446*/            OPC_EmitMergeInputChains1_0,
    7596             : /* 16447*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPMOVQDZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7597             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7598             :                       // Src: (st VR256X:{ *:[v4i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi32>> - Complexity = 22
    7599             :                       // Dst: (VPMOVQDZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v4i64] }:$src)
    7600             : /* 16458*/          0, /*End of Scope*/
    7601             : /* 16459*/        0, /*End of Scope*/
    7602             : /* 16460*/      /*Scope*/ 5|128,1/*133*/, /*->16595*/
    7603             : /* 16462*/        OPC_CheckChild1Type, MVT::v8i32,
    7604             : /* 16464*/        OPC_RecordChild2, // #2 = $dst
    7605             : /* 16465*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7606             : /* 16467*/        OPC_Scope, 80, /*->16549*/ // 2 children in Scope
    7607             : /* 16469*/          OPC_CheckPredicate, 1, // Predicate_store
    7608             : /* 16471*/          OPC_Scope, 19, /*->16492*/ // 4 children in Scope
    7609             : /* 16473*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7610             : /* 16475*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7611             : /* 16477*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7612             : /* 16480*/            OPC_EmitMergeInputChains1_0,
    7613             : /* 16481*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7614             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7615             :                       // Src: (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7616             :                       // Dst: (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
    7617             : /* 16492*/          /*Scope*/ 17, /*->16510*/
    7618             : /* 16493*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7619             : /* 16495*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7620             : /* 16498*/            OPC_EmitMergeInputChains1_0,
    7621             : /* 16499*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7622             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7623             :                       // Src: (st VR256:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7624             :                       // Dst: (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v8i32] }:$src)
    7625             : /* 16510*/          /*Scope*/ 19, /*->16530*/
    7626             : /* 16511*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7627             : /* 16513*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    7628             : /* 16515*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7629             : /* 16518*/            OPC_EmitMergeInputChains1_0,
    7630             : /* 16519*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7631             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7632             :                       // Src: (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7633             :                       // Dst: (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
    7634             : /* 16530*/          /*Scope*/ 17, /*->16548*/
    7635             : /* 16531*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    7636             : /* 16533*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7637             : /* 16536*/            OPC_EmitMergeInputChains1_0,
    7638             : /* 16537*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7639             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7640             :                       // Src: (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7641             :                       // Dst: (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
    7642             : /* 16548*/          0, /*End of Scope*/
    7643             : /* 16549*/        /*Scope*/ 44, /*->16594*/
    7644             : /* 16550*/          OPC_CheckPredicate, 20, // Predicate_truncstore
    7645             : /* 16552*/          OPC_Scope, 19, /*->16573*/ // 2 children in Scope
    7646             : /* 16554*/            OPC_CheckPredicate, 23, // Predicate_truncstorevi8
    7647             : /* 16556*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7648             : /* 16558*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7649             : /* 16561*/            OPC_EmitMergeInputChains1_0,
    7650             : /* 16562*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPMOVDBZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7651             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7652             :                       // Src: (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 22
    7653             :                       // Dst: (VPMOVDBZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
    7654             : /* 16573*/          /*Scope*/ 19, /*->16593*/
    7655             : /* 16574*/            OPC_CheckPredicate, 24, // Predicate_truncstorevi16
    7656             : /* 16576*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7657             : /* 16578*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7658             : /* 16581*/            OPC_EmitMergeInputChains1_0,
    7659             : /* 16582*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPMOVDWZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7660             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7661             :                       // Src: (st VR256X:{ *:[v8i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 22
    7662             :                       // Dst: (VPMOVDWZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v8i32] }:$src)
    7663             : /* 16593*/          0, /*End of Scope*/
    7664             : /* 16594*/        0, /*End of Scope*/
    7665             : /* 16595*/      /*Scope*/ 110, /*->16706*/
    7666             : /* 16596*/        OPC_CheckChild1Type, MVT::v16i16,
    7667             : /* 16598*/        OPC_RecordChild2, // #2 = $dst
    7668             : /* 16599*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7669             : /* 16601*/        OPC_Scope, 80, /*->16683*/ // 2 children in Scope
    7670             : /* 16603*/          OPC_CheckPredicate, 1, // Predicate_store
    7671             : /* 16605*/          OPC_Scope, 19, /*->16626*/ // 4 children in Scope
    7672             : /* 16607*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7673             : /* 16609*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7674             : /* 16611*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7675             : /* 16614*/            OPC_EmitMergeInputChains1_0,
    7676             : /* 16615*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7677             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7678             :                       // Src: (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7679             :                       // Dst: (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
    7680             : /* 16626*/          /*Scope*/ 17, /*->16644*/
    7681             : /* 16627*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7682             : /* 16629*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7683             : /* 16632*/            OPC_EmitMergeInputChains1_0,
    7684             : /* 16633*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7685             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7686             :                       // Src: (st VR256:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7687             :                       // Dst: (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v16i16] }:$src)
    7688             : /* 16644*/          /*Scope*/ 19, /*->16664*/
    7689             : /* 16645*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7690             : /* 16647*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    7691             : /* 16649*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7692             : /* 16652*/            OPC_EmitMergeInputChains1_0,
    7693             : /* 16653*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7694             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7695             :                       // Src: (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7696             :                       // Dst: (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
    7697             : /* 16664*/          /*Scope*/ 17, /*->16682*/
    7698             : /* 16665*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    7699             : /* 16667*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7700             : /* 16670*/            OPC_EmitMergeInputChains1_0,
    7701             : /* 16671*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7702             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7703             :                       // Src: (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7704             :                       // Dst: (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
    7705             : /* 16682*/          0, /*End of Scope*/
    7706             : /* 16683*/        /*Scope*/ 21, /*->16705*/
    7707             : /* 16684*/          OPC_CheckPredicate, 20, // Predicate_truncstore
    7708             : /* 16686*/          OPC_CheckPredicate, 23, // Predicate_truncstorevi8
    7709             : /* 16688*/          OPC_CheckPatternPredicate, 26, // (Subtarget->hasBWI()) && (Subtarget->hasVLX())
    7710             : /* 16690*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7711             : /* 16693*/          OPC_EmitMergeInputChains1_0,
    7712             : /* 16694*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VPMOVWBZ256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7713             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7714             :                     // Src: (st VR256X:{ *:[v16i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 22
    7715             :                     // Dst: (VPMOVWBZ256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v16i16] }:$src)
    7716             : /* 16705*/        0, /*End of Scope*/
    7717             : /* 16706*/      /*Scope*/ 85, /*->16792*/
    7718             : /* 16707*/        OPC_CheckChild1Type, MVT::v32i8,
    7719             : /* 16709*/        OPC_RecordChild2, // #2 = $dst
    7720             : /* 16710*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7721             : /* 16712*/        OPC_CheckPredicate, 1, // Predicate_store
    7722             : /* 16714*/        OPC_Scope, 19, /*->16735*/ // 4 children in Scope
    7723             : /* 16716*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7724             : /* 16718*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7725             : /* 16720*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7726             : /* 16723*/          OPC_EmitMergeInputChains1_0,
    7727             : /* 16724*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVAPSYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7728             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7729             :                     // Src: (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7730             :                     // Dst: (VMOVAPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
    7731             : /* 16735*/        /*Scope*/ 17, /*->16753*/
    7732             : /* 16736*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7733             : /* 16738*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7734             : /* 16741*/          OPC_EmitMergeInputChains1_0,
    7735             : /* 16742*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVUPSYmr), 0|OPFL_Chain|OPFL_MemRefs,
    7736             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7737             :                     // Src: (st VR256:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7738             :                     // Dst: (VMOVUPSYmr addr:{ *:[iPTR] }:$dst, VR256:{ *:[v32i8] }:$src)
    7739             : /* 16753*/        /*Scope*/ 19, /*->16773*/
    7740             : /* 16754*/          OPC_CheckPredicate, 18, // Predicate_alignedstore
    7741             : /* 16756*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    7742             : /* 16758*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7743             : /* 16761*/          OPC_EmitMergeInputChains1_0,
    7744             : /* 16762*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7745             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7746             :                     // Src: (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7747             :                     // Dst: (VMOVDQA64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
    7748             : /* 16773*/        /*Scope*/ 17, /*->16791*/
    7749             : /* 16774*/          OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    7750             : /* 16776*/          OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7751             : /* 16779*/          OPC_EmitMergeInputChains1_0,
    7752             : /* 16780*/          OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z256mr), 0|OPFL_Chain|OPFL_MemRefs,
    7753             :                         6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7754             :                     // Src: (st VR256X:{ *:[v32i8] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7755             :                     // Dst: (VMOVDQU64Z256mr addr:{ *:[iPTR] }:$dst, VR256X:{ *:[v32i8] }:$src)
    7756             : /* 16791*/        0, /*End of Scope*/
    7757             : /* 16792*/      /*Scope*/ 63|128,1/*191*/, /*->16985*/
    7758             : /* 16794*/        OPC_CheckChild1Type, MVT::v2i64,
    7759             : /* 16796*/        OPC_RecordChild2, // #2 = $dst
    7760             : /* 16797*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7761             : /* 16799*/        OPC_Scope, 118, /*->16919*/ // 2 children in Scope
    7762             : /* 16801*/          OPC_CheckPredicate, 1, // Predicate_store
    7763             : /* 16803*/          OPC_Scope, 19, /*->16824*/ // 6 children in Scope
    7764             : /* 16805*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7765             : /* 16807*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    7766             : /* 16809*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7767             : /* 16812*/            OPC_EmitMergeInputChains1_0,
    7768             : /* 16813*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOVAPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7769             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7770             :                       // Src: (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7771             :                       // Dst: (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
    7772             : /* 16824*/          /*Scope*/ 17, /*->16842*/
    7773             : /* 16825*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    7774             : /* 16827*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7775             : /* 16830*/            OPC_EmitMergeInputChains1_0,
    7776             : /* 16831*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOVUPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7777             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7778             :                       // Src: (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7779             :                       // Dst: (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
    7780             : /* 16842*/          /*Scope*/ 19, /*->16862*/
    7781             : /* 16843*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7782             : /* 16845*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7783             : /* 16847*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7784             : /* 16850*/            OPC_EmitMergeInputChains1_0,
    7785             : /* 16851*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQAmr), 0|OPFL_Chain|OPFL_MemRefs,
    7786             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7787             :                       // Src: (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7788             :                       // Dst: (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
    7789             : /* 16862*/          /*Scope*/ 17, /*->16880*/
    7790             : /* 16863*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7791             : /* 16865*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7792             : /* 16868*/            OPC_EmitMergeInputChains1_0,
    7793             : /* 16869*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQUmr), 0|OPFL_Chain|OPFL_MemRefs,
    7794             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7795             :                       // Src: (st VR128:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7796             :                       // Dst: (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v2i64] }:$src)
    7797             : /* 16880*/          /*Scope*/ 19, /*->16900*/
    7798             : /* 16881*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7799             : /* 16883*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7800             : /* 16885*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7801             : /* 16888*/            OPC_EmitMergeInputChains1_0,
    7802             : /* 16889*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7803             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7804             :                       // Src: (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7805             :                       // Dst: (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
    7806             : /* 16900*/          /*Scope*/ 17, /*->16918*/
    7807             : /* 16901*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7808             : /* 16903*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7809             : /* 16906*/            OPC_EmitMergeInputChains1_0,
    7810             : /* 16907*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7811             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7812             :                       // Src: (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7813             :                       // Dst: (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
    7814             : /* 16918*/          0, /*End of Scope*/
    7815             : /* 16919*/        /*Scope*/ 64, /*->16984*/
    7816             : /* 16920*/          OPC_CheckPredicate, 20, // Predicate_truncstore
    7817             : /* 16922*/          OPC_Scope, 19, /*->16943*/ // 3 children in Scope
    7818             : /* 16924*/            OPC_CheckPredicate, 23, // Predicate_truncstorevi8
    7819             : /* 16926*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7820             : /* 16928*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7821             : /* 16931*/            OPC_EmitMergeInputChains1_0,
    7822             : /* 16932*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPMOVQBZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7823             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7824             :                       // Src: (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 22
    7825             :                       // Dst: (VPMOVQBZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
    7826             : /* 16943*/          /*Scope*/ 19, /*->16963*/
    7827             : /* 16944*/            OPC_CheckPredicate, 24, // Predicate_truncstorevi16
    7828             : /* 16946*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7829             : /* 16948*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7830             : /* 16951*/            OPC_EmitMergeInputChains1_0,
    7831             : /* 16952*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPMOVQWZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7832             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7833             :                       // Src: (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 22
    7834             :                       // Dst: (VPMOVQWZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
    7835             : /* 16963*/          /*Scope*/ 19, /*->16983*/
    7836             : /* 16964*/            OPC_CheckPredicate, 25, // Predicate_truncstorevi32
    7837             : /* 16966*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7838             : /* 16968*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7839             : /* 16971*/            OPC_EmitMergeInputChains1_0,
    7840             : /* 16972*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPMOVQDZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7841             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7842             :                       // Src: (st VR128X:{ *:[v2i64] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi32>> - Complexity = 22
    7843             :                       // Dst: (VPMOVQDZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v2i64] }:$src)
    7844             : /* 16983*/          0, /*End of Scope*/
    7845             : /* 16984*/        0, /*End of Scope*/
    7846             : /* 16985*/      /*Scope*/ 43|128,1/*171*/, /*->17158*/
    7847             : /* 16987*/        OPC_CheckChild1Type, MVT::v4i32,
    7848             : /* 16989*/        OPC_RecordChild2, // #2 = $dst
    7849             : /* 16990*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7850             : /* 16992*/        OPC_Scope, 118, /*->17112*/ // 2 children in Scope
    7851             : /* 16994*/          OPC_CheckPredicate, 1, // Predicate_store
    7852             : /* 16996*/          OPC_Scope, 19, /*->17017*/ // 6 children in Scope
    7853             : /* 16998*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7854             : /* 17000*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    7855             : /* 17002*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7856             : /* 17005*/            OPC_EmitMergeInputChains1_0,
    7857             : /* 17006*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOVAPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7858             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7859             :                       // Src: (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7860             :                       // Dst: (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
    7861             : /* 17017*/          /*Scope*/ 17, /*->17035*/
    7862             : /* 17018*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    7863             : /* 17020*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7864             : /* 17023*/            OPC_EmitMergeInputChains1_0,
    7865             : /* 17024*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOVUPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7866             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7867             :                       // Src: (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7868             :                       // Dst: (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
    7869             : /* 17035*/          /*Scope*/ 19, /*->17055*/
    7870             : /* 17036*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7871             : /* 17038*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7872             : /* 17040*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7873             : /* 17043*/            OPC_EmitMergeInputChains1_0,
    7874             : /* 17044*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQAmr), 0|OPFL_Chain|OPFL_MemRefs,
    7875             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7876             :                       // Src: (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7877             :                       // Dst: (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
    7878             : /* 17055*/          /*Scope*/ 17, /*->17073*/
    7879             : /* 17056*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7880             : /* 17058*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7881             : /* 17061*/            OPC_EmitMergeInputChains1_0,
    7882             : /* 17062*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQUmr), 0|OPFL_Chain|OPFL_MemRefs,
    7883             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7884             :                       // Src: (st VR128:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7885             :                       // Dst: (VMOVDQUmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v4i32] }:$src)
    7886             : /* 17073*/          /*Scope*/ 19, /*->17093*/
    7887             : /* 17074*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7888             : /* 17076*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    7889             : /* 17078*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7890             : /* 17081*/            OPC_EmitMergeInputChains1_0,
    7891             : /* 17082*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQA64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7892             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7893             :                       // Src: (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7894             :                       // Dst: (VMOVDQA64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
    7895             : /* 17093*/          /*Scope*/ 17, /*->17111*/
    7896             : /* 17094*/            OPC_CheckPatternPredicate, 5, // (Subtarget->hasVLX())
    7897             : /* 17096*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7898             : /* 17099*/            OPC_EmitMergeInputChains1_0,
    7899             : /* 17100*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQU64Z128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7900             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7901             :                       // Src: (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7902             :                       // Dst: (VMOVDQU64Z128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
    7903             : /* 17111*/          0, /*End of Scope*/
    7904             : /* 17112*/        /*Scope*/ 44, /*->17157*/
    7905             : /* 17113*/          OPC_CheckPredicate, 20, // Predicate_truncstore
    7906             : /* 17115*/          OPC_Scope, 19, /*->17136*/ // 2 children in Scope
    7907             : /* 17117*/            OPC_CheckPredicate, 23, // Predicate_truncstorevi8
    7908             : /* 17119*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7909             : /* 17121*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7910             : /* 17124*/            OPC_EmitMergeInputChains1_0,
    7911             : /* 17125*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPMOVDBZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7912             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7913             :                       // Src: (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi8>> - Complexity = 22
    7914             :                       // Dst: (VPMOVDBZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
    7915             : /* 17136*/          /*Scope*/ 19, /*->17156*/
    7916             : /* 17137*/            OPC_CheckPredicate, 24, // Predicate_truncstorevi16
    7917             : /* 17139*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasAVX512()) && (Subtarget->hasVLX())
    7918             : /* 17141*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7919             : /* 17144*/            OPC_EmitMergeInputChains1_0,
    7920             : /* 17145*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VPMOVDWZ128mr), 0|OPFL_Chain|OPFL_MemRefs,
    7921             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7922             :                       // Src: (st VR128X:{ *:[v4i32] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorevi16>> - Complexity = 22
    7923             :                       // Dst: (VPMOVDWZ128mr addr:{ *:[iPTR] }:$dst, VR128X:{ *:[v4i32] }:$src)
    7924             : /* 17156*/          0, /*End of Scope*/
    7925             : /* 17157*/        0, /*End of Scope*/
    7926             : /* 17158*/      /*Scope*/ 20|128,1/*148*/, /*->17308*/
    7927             : /* 17160*/        OPC_CheckChild1Type, MVT::v8i16,
    7928             : /* 17162*/        OPC_RecordChild2, // #2 = $dst
    7929             : /* 17163*/        OPC_CheckPredicate, 0, // Predicate_unindexedstore
    7930             : /* 17165*/        OPC_Scope, 118, /*->17285*/ // 2 children in Scope
    7931             : /* 17167*/          OPC_CheckPredicate, 1, // Predicate_store
    7932             : /* 17169*/          OPC_Scope, 19, /*->17190*/ // 6 children in Scope
    7933             : /* 17171*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7934             : /* 17173*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    7935             : /* 17175*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7936             : /* 17178*/            OPC_EmitMergeInputChains1_0,
    7937             : /* 17179*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOVAPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7938             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7939             :                       // Src: (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7940             :                       // Dst: (MOVAPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
    7941             : /* 17190*/          /*Scope*/ 17, /*->17208*/
    7942             : /* 17191*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasSSE1() && !Subtarget->hasAVX())
    7943             : /* 17193*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7944             : /* 17196*/            OPC_EmitMergeInputChains1_0,
    7945             : /* 17197*/            OPC_MorphNodeTo0, TARGET_VAL(X86::MOVUPSmr), 0|OPFL_Chain|OPFL_MemRefs,
    7946             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7947             :                       // Src: (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 22
    7948             :                       // Dst: (MOVUPSmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
    7949             : /* 17208*/          /*Scope*/ 19, /*->17228*/
    7950             : /* 17209*/            OPC_CheckPredicate, 18, // Predicate_alignedstore
    7951             : /* 17211*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7952             : /* 17213*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7953             : /* 17216*/            OPC_EmitMergeInputChains1_0,
    7954             : /* 17217*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQAmr), 0|OPFL_Chain|OPFL_MemRefs,
    7955             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7956             :                       // Src: (st VR128:{ *:[v8i16] }:$src, addr:{ *:[iPTR] }:$dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_alignedstore>> - Complexity = 22
    7957             :                       // Dst: (VMOVDQAmr addr:{ *:[iPTR] }:$dst, VR128:{ *:[v8i16] }:$src)
    7958             : /* 17228*/          /*Scope*/ 17, /*->17246*/
    7959             : /* 17229*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasAVX()) && (!Subtarget->hasVLX())
    7960             : /* 17231*/            OPC_CheckComplexPat, /*CP*/0, /*#*/2, // selectAddr:$dst #3 #4 #5 #6 #7
    7961             : /* 17234*/            OPC_EmitMergeInputChains1_0,
    7962             : /* 17235*/            OPC_MorphNodeTo0, TARGET_VAL(X86::VMOVDQUmr), 0|OPFL_Chain|OPFL_MemRefs,
    7963             :                           6/*#Ops*/, 3, 4, 5, 6, 7, 1, 
    7964             :                       // Src: (st VR128:{ *:[v8i16] }:$src, addr:{